From e7aa6c9d0389becaf6e6187b521e99a0f2e83984 Mon Sep 17 00:00:00 2001 From: ikun <2879883051@qq.com> Date: Sun, 10 Sep 2023 20:33:35 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=BE=E8=AE=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: ikun <2879883051@qq.com> --- 源码/.classpath | 29 + 源码/.project | 37 + 源码/.settings/.jsdtscope | 13 + .../org.eclipse.core.resources.prefs | 3 + 源码/.settings/org.eclipse.jdt.core.prefs | 9 + 源码/.settings/org.eclipse.m2e.core.prefs | 4 + .../org.eclipse.wst.common.component | 11 + ...se.wst.common.project.facet.core.prefs.xml | 12 + ....eclipse.wst.common.project.facet.core.xml | 9 + ...rg.eclipse.wst.jsdt.ui.superType.container | 1 + .../org.eclipse.wst.jsdt.ui.superType.name | 1 + .../org.eclipse.wst.validation.prefs | 2 + 源码/pom.xml | 260 + .../com/kwxy/hyt/base/BaseController.java | 83 + .../main/java/com/kwxy/hyt/base/BaseDao.java | 191 + .../java/com/kwxy/hyt/base/BaseService.java | 180 + .../com/kwxy/hyt/base/BaseServiceImpl.java | 319 + .../com/kwxy/hyt/controller/BjController.java | 180 + .../kwxy/hyt/controller/FdyController.java | 239 + .../kwxy/hyt/controller/LoginController.java | 196 + .../kwxy/hyt/controller/ManageController.java | 526 + .../com/kwxy/hyt/controller/QjController.java | 326 + .../kwxy/hyt/controller/RecordController.java | 422 + .../kwxy/hyt/controller/SignController.java | 338 + .../hyt/controller/StudentController.java | 254 + .../hyt/controller/TeacherBjController.java | 526 + .../hyt/controller/TeacherController.java | 312 + .../kwxy/hyt/filter/SystemContextFilter.java | 56 + .../java/com/kwxy/hyt/mapper/BjMapper.java | 27 + .../java/com/kwxy/hyt/mapper/BjMapper.xml | 343 + .../java/com/kwxy/hyt/mapper/FdyMapper.java | 27 + .../java/com/kwxy/hyt/mapper/FdyMapper.xml | 379 + .../com/kwxy/hyt/mapper/ManageMapper.java | 27 + .../java/com/kwxy/hyt/mapper/ManageMapper.xml | 330 + .../java/com/kwxy/hyt/mapper/QjMapper.java | 27 + .../java/com/kwxy/hyt/mapper/QjMapper.xml | 405 + .../com/kwxy/hyt/mapper/RecordMapper.java | 27 + .../java/com/kwxy/hyt/mapper/RecordMapper.xml | 371 + .../java/com/kwxy/hyt/mapper/SignMapper.java | 27 + .../java/com/kwxy/hyt/mapper/SignMapper.xml | 373 + .../com/kwxy/hyt/mapper/StudentMapper.java | 27 + .../com/kwxy/hyt/mapper/StudentMapper.xml | 370 + .../com/kwxy/hyt/mapper/TeacherBjMapper.java | 27 + .../com/kwxy/hyt/mapper/TeacherBjMapper.xml | 332 + .../com/kwxy/hyt/mapper/TeacherMapper.java | 27 + .../com/kwxy/hyt/mapper/TeacherMapper.xml | 369 + 源码/src/main/java/com/kwxy/hyt/po/Bj.java | 100 + 源码/src/main/java/com/kwxy/hyt/po/Fdy.java | 136 + .../src/main/java/com/kwxy/hyt/po/Manage.java | 74 + 源码/src/main/java/com/kwxy/hyt/po/Qj.java | 182 + .../src/main/java/com/kwxy/hyt/po/Record.java | 136 + .../src/main/java/com/kwxy/hyt/po/Sign.java | 147 + .../main/java/com/kwxy/hyt/po/Student.java | 127 + .../main/java/com/kwxy/hyt/po/Teacher.java | 116 + .../main/java/com/kwxy/hyt/po/TeacherBj.java | 94 + .../java/com/kwxy/hyt/service/BjService.java | 19 + .../java/com/kwxy/hyt/service/FdyService.java | 19 + .../com/kwxy/hyt/service/ManageService.java | 19 + .../java/com/kwxy/hyt/service/QjService.java | 19 + .../com/kwxy/hyt/service/RecordService.java | 19 + .../com/kwxy/hyt/service/SignService.java | 19 + .../com/kwxy/hyt/service/StudentService.java | 19 + .../kwxy/hyt/service/TeacherBjService.java | 19 + .../com/kwxy/hyt/service/TeacherService.java | 19 + .../kwxy/hyt/service/impl/BjServiceImpl.java | 39 + .../kwxy/hyt/service/impl/FdyServiceImpl.java | 39 + .../hyt/service/impl/ManageServiceImpl.java | 39 + .../kwxy/hyt/service/impl/QjServiceImpl.java | 39 + .../hyt/service/impl/RecordServiceImpl.java | 39 + .../hyt/service/impl/SignServiceImpl.java | 39 + .../hyt/service/impl/StudentServiceImpl.java | 39 + .../service/impl/TeacherBjServiceImpl.java | 39 + .../hyt/service/impl/TeacherServiceImpl.java | 39 + .../java/com/kwxy/hyt/utils/DateUtil.java | 579 + .../com/kwxy/hyt/utils/HttpConstants.java | 27 + .../java/com/kwxy/hyt/utils/JsonUtil.java | 109 + .../main/java/com/kwxy/hyt/utils/Pager.java | 73 + .../com/kwxy/hyt/utils/SystemContext.java | 80 + .../java/com/kwxy/hyt/utils/UUIDUtils.java | 99 + 源码/src/main/resources/db.properties | 6 + 源码/src/main/resources/log4j.properties | 10 + .../main/resources/mybatis/sqlMapConfig.xml | 45 + .../spring/applicationContext-dao.xml | 46 + .../spring/applicationContext-service.xml | 18 + .../spring/applicationContext-transaction.xml | 44 + .../src/main/resources/spring/springmvc.xml | 58 + 源码/src/main/webapp/META-INF/MANIFEST.MF | 3 + .../com/kwxy/hyt/base/BaseController.class | Bin 0 -> 3068 bytes .../classes/com/kwxy/hyt/base/BaseDao.class | Bin 0 -> 2220 bytes .../com/kwxy/hyt/base/BaseService.class | Bin 0 -> 2492 bytes .../com/kwxy/hyt/base/BaseServiceImpl.class | Bin 0 -> 8567 bytes .../kwxy/hyt/controller/BjController.class | Bin 0 -> 4643 bytes .../kwxy/hyt/controller/FdyController.class | Bin 0 -> 6925 bytes .../kwxy/hyt/controller/LoginController.class | Bin 0 -> 5236 bytes .../hyt/controller/ManageController.class | Bin 0 -> 10916 bytes .../kwxy/hyt/controller/QjController.class | Bin 0 -> 8314 bytes .../hyt/controller/RecordController.class | Bin 0 -> 9777 bytes .../kwxy/hyt/controller/SignController.class | Bin 0 -> 9340 bytes .../hyt/controller/StudentController.class | Bin 0 -> 7163 bytes .../hyt/controller/TeacherBjController.class | Bin 0 -> 11056 bytes .../hyt/controller/TeacherController.class | Bin 0 -> 9554 bytes .../kwxy/hyt/filter/SystemContextFilter.class | Bin 0 -> 2562 bytes .../com/kwxy/hyt/mapper/BjMapper.class | Bin 0 -> 240 bytes .../classes/com/kwxy/hyt/mapper/BjMapper.xml | 343 + .../com/kwxy/hyt/mapper/FdyMapper.class | Bin 0 -> 243 bytes .../classes/com/kwxy/hyt/mapper/FdyMapper.xml | 379 + .../com/kwxy/hyt/mapper/ManageMapper.class | Bin 0 -> 252 bytes .../com/kwxy/hyt/mapper/ManageMapper.xml | 330 + .../com/kwxy/hyt/mapper/QjMapper.class | Bin 0 -> 240 bytes .../classes/com/kwxy/hyt/mapper/QjMapper.xml | 405 + .../com/kwxy/hyt/mapper/RecordMapper.class | Bin 0 -> 252 bytes .../com/kwxy/hyt/mapper/RecordMapper.xml | 371 + .../com/kwxy/hyt/mapper/SignMapper.class | Bin 0 -> 246 bytes .../com/kwxy/hyt/mapper/SignMapper.xml | 373 + .../com/kwxy/hyt/mapper/StudentMapper.class | Bin 0 -> 255 bytes .../com/kwxy/hyt/mapper/StudentMapper.xml | 370 + .../com/kwxy/hyt/mapper/TeacherBjMapper.class | Bin 0 -> 261 bytes .../com/kwxy/hyt/mapper/TeacherBjMapper.xml | 332 + .../com/kwxy/hyt/mapper/TeacherMapper.class | Bin 0 -> 255 bytes .../com/kwxy/hyt/mapper/TeacherMapper.xml | 369 + .../WEB-INF/classes/com/kwxy/hyt/po/Bj.class | Bin 0 -> 1999 bytes .../WEB-INF/classes/com/kwxy/hyt/po/Fdy.class | Bin 0 -> 2764 bytes .../classes/com/kwxy/hyt/po/Manage.class | Bin 0 -> 1603 bytes .../WEB-INF/classes/com/kwxy/hyt/po/Qj.class | Bin 0 -> 3764 bytes .../classes/com/kwxy/hyt/po/Record.class | Bin 0 -> 2960 bytes .../classes/com/kwxy/hyt/po/Sign.class | Bin 0 -> 3117 bytes .../classes/com/kwxy/hyt/po/Student.class | Bin 0 -> 2607 bytes .../classes/com/kwxy/hyt/po/Teacher.class | Bin 0 -> 2348 bytes .../classes/com/kwxy/hyt/po/TeacherBj.class | Bin 0 -> 2114 bytes .../com/kwxy/hyt/service/BjService.class | Bin 0 -> 251 bytes .../com/kwxy/hyt/service/FdyService.class | Bin 0 -> 254 bytes .../com/kwxy/hyt/service/ManageService.class | Bin 0 -> 263 bytes .../com/kwxy/hyt/service/QjService.class | Bin 0 -> 251 bytes .../com/kwxy/hyt/service/RecordService.class | Bin 0 -> 263 bytes .../com/kwxy/hyt/service/SignService.class | Bin 0 -> 257 bytes .../com/kwxy/hyt/service/StudentService.class | Bin 0 -> 266 bytes .../kwxy/hyt/service/TeacherBjService.class | Bin 0 -> 272 bytes .../com/kwxy/hyt/service/TeacherService.class | Bin 0 -> 266 bytes .../kwxy/hyt/service/impl/BjServiceImpl.class | Bin 0 -> 867 bytes .../hyt/service/impl/FdyServiceImpl.class | Bin 0 -> 876 bytes .../hyt/service/impl/ManageServiceImpl.class | Bin 0 -> 903 bytes .../kwxy/hyt/service/impl/QjServiceImpl.class | Bin 0 -> 867 bytes .../hyt/service/impl/RecordServiceImpl.class | Bin 0 -> 903 bytes .../hyt/service/impl/SignServiceImpl.class | Bin 0 -> 885 bytes .../hyt/service/impl/StudentServiceImpl.class | Bin 0 -> 912 bytes .../service/impl/TeacherBjServiceImpl.class | Bin 0 -> 930 bytes .../hyt/service/impl/TeacherServiceImpl.class | Bin 0 -> 912 bytes .../classes/com/kwxy/hyt/utils/DateUtil.class | Bin 0 -> 7955 bytes .../com/kwxy/hyt/utils/HttpConstants.class | Bin 0 -> 819 bytes .../classes/com/kwxy/hyt/utils/JsonUtil.class | Bin 0 -> 2616 bytes .../classes/com/kwxy/hyt/utils/Pager.class | Bin 0 -> 1969 bytes .../com/kwxy/hyt/utils/SystemContext.class | Bin 0 -> 2221 bytes .../com/kwxy/hyt/utils/UUIDUtils.class | Bin 0 -> 2357 bytes .../main/webapp/WEB-INF/classes/db.properties | 6 + .../webapp/WEB-INF/classes/log4j.properties | 10 + .../WEB-INF/classes/mybatis/sqlMapConfig.xml | 45 + .../classes/spring/applicationContext-dao.xml | 46 + .../spring/applicationContext-service.xml | 18 + .../spring/applicationContext-transaction.xml | 44 + .../WEB-INF/classes/spring/springmvc.xml | 58 + 源码/src/main/webapp/WEB-INF/jsp/bj/add.jsp | 115 + 源码/src/main/webapp/WEB-INF/jsp/bj/bj.jsp | 141 + .../src/main/webapp/WEB-INF/jsp/bj/update.jsp | 118 + .../src/main/webapp/WEB-INF/jsp/fdy/add.jsp | 153 + .../src/main/webapp/WEB-INF/jsp/fdy/fdy.jsp | 153 + .../src/main/webapp/WEB-INF/jsp/fdy/pass.jsp | 164 + .../main/webapp/WEB-INF/jsp/fdy/update.jsp | 157 + .../main/webapp/WEB-INF/jsp/login/index.jsp | 268 + .../main/webapp/WEB-INF/jsp/login/login.jsp | 91 + .../main/webapp/WEB-INF/jsp/login/mLogin.jsp | 83 + .../main/webapp/WEB-INF/jsp/login/message.jsp | 64 + .../main/webapp/WEB-INF/jsp/login/welcome.jsp | 64 + 源码/src/main/webapp/WEB-INF/jsp/qj/add.jsp | 115 + .../src/main/webapp/WEB-INF/jsp/qj/myadd.jsp | 155 + .../src/main/webapp/WEB-INF/jsp/qj/myqj.jsp | 161 + 源码/src/main/webapp/WEB-INF/jsp/qj/qj.jsp | 165 + .../src/main/webapp/WEB-INF/jsp/qj/qjSign.jsp | 160 + .../src/main/webapp/WEB-INF/jsp/qj/update.jsp | 155 + .../src/main/webapp/WEB-INF/jsp/qj/view.jsp | 174 + .../webapp/WEB-INF/jsp/record/fdyRecord.jsp | 162 + .../main/webapp/WEB-INF/jsp/record/mysign.jsp | 186 + .../main/webapp/WEB-INF/jsp/record/record.jsp | 168 + .../main/webapp/WEB-INF/jsp/record/view.jsp | 109 + .../src/main/webapp/WEB-INF/jsp/sign/add.jsp | 110 + .../main/webapp/WEB-INF/jsp/sign/fdySign.jsp | 156 + .../src/main/webapp/WEB-INF/jsp/sign/mybj.jsp | 111 + .../main/webapp/WEB-INF/jsp/sign/mybj2.jsp | 112 + .../src/main/webapp/WEB-INF/jsp/sign/sign.jsp | 177 + .../main/webapp/WEB-INF/jsp/sign/update.jsp | 110 + .../main/webapp/WEB-INF/jsp/student/add.jsp | 129 + .../main/webapp/WEB-INF/jsp/student/pass.jsp | 164 + .../webapp/WEB-INF/jsp/student/student.jsp | 150 + .../webapp/WEB-INF/jsp/student/update.jsp | 133 + .../main/webapp/WEB-INF/jsp/teacher/add.jsp | 163 + .../main/webapp/WEB-INF/jsp/teacher/pass.jsp | 164 + .../webapp/WEB-INF/jsp/teacher/teacher.jsp | 150 + .../webapp/WEB-INF/jsp/teacher/update.jsp | 165 + .../webapp/WEB-INF/lib/commons-codec-1.9.jar | Bin 0 -> 263965 bytes .../webapp/WEB-INF/lib/httpclient-4.2.5.jar | Bin 0 -> 433368 bytes .../webapp/WEB-INF/lib/httpcore-4.2.4.jar | Bin 0 -> 227275 bytes 源码/src/main/webapp/WEB-INF/lib/json.jar | Bin 0 -> 46252 bytes 源码/src/main/webapp/WEB-INF/lib/ojdbc6.jar | Bin 0 -> 2152137 bytes .../main/webapp/WEB-INF/lib/ueditor-1.1.2.jar | Bin 0 -> 30725 bytes 源码/src/main/webapp/WEB-INF/tlds/c.tld | 572 + 源码/src/main/webapp/WEB-INF/tlds/fmt.tld | 671 + 源码/src/main/webapp/WEB-INF/tlds/fn.tld | 207 + .../main/webapp/WEB-INF/tlds/pager-taglib.tld | 276 + 源码/src/main/webapp/WEB-INF/web.xml | 58 + 源码/src/main/webapp/common/footer.jsp | 68 + 源码/src/main/webapp/common/menu.jsp | 20 + 源码/src/main/webapp/common/taglibs.jsp | 8 + 源码/src/main/webapp/common/top.jsp | 19 + 源码/src/main/webapp/common/ufooter.jsp | 81 + 源码/src/main/webapp/common/utop.jsp | 64 + 源码/src/main/webapp/index.jsp | 20 + 源码/src/main/webapp/js/jquery-1.4.4.min.js | 167 + .../webapp/resource/assets/css/bui-min.css | 1 + .../webapp/resource/assets/css/dpl-min.css | 1 + .../webapp/resource/assets/css/main-min.css | 1 + .../main/webapp/resource/assets/css/main.css | 524 + .../webapp/resource/assets/css/page-min.css | 1 + .../main/webapp/resource/assets/css/page.css | 13 + .../webapp/resource/assets/css/prettify.css | 31 + .../webapp/resource/assets/img/hide_list.png | Bin 0 -> 953 bytes .../main/webapp/resource/assets/img/icon1.png | Bin 0 -> 8138 bytes .../main/webapp/resource/assets/img/icon2.png | Bin 0 -> 9928 bytes .../webapp/resource/assets/img/left-slib.gif | Bin 0 -> 132 bytes .../resource/assets/img/main-nav-bg.png | Bin 0 -> 7414 bytes .../resource/assets/img/main-nav-bg1.png | Bin 0 -> 164 bytes .../resource/assets/img/main-nav-bg2.png | Bin 0 -> 9145 bytes .../main/webapp/resource/assets/img/menu.jpg | Bin 0 -> 11922 bytes .../main/webapp/resource/assets/img/nav.jpg | Bin 0 -> 9522 bytes .../resource/assets/img/nav_selected.png | Bin 0 -> 229 bytes .../webapp/resource/assets/img/resource.jpg | Bin 0 -> 15588 bytes .../main/webapp/resource/assets/img/top.png | Bin 0 -> 6455 bytes .../main/webapp/resource/assets/js/bui-min.js | 13 + .../src/main/webapp/resource/assets/js/bui.js | 34895 ++++++++++++++++ .../resource/assets/js/common/build.xml | 45 + .../resource/assets/js/common/main-min.js | 1 + .../webapp/resource/assets/js/common/main.js | 721 + .../resource/assets/js/common/page-min.js | 1 + .../webapp/resource/assets/js/common/page.js | 43 + .../resource/assets/js/common/search-min.js | 1 + .../resource/assets/js/common/search.js | 213 + .../webapp/resource/assets/js/config-min.js | 1 + .../main/webapp/resource/assets/js/config.js | 55 + .../webapp/resource/assets/js/editor-min.js | 4 + .../resource/assets/js/jquery-1.8.1.min.js | 2 + .../resource/assets/js/module/build.xml | 45 + .../webapp/resource/assets/js/prettify.js | 28 + .../webapp/resource/assets/js/toolbar-min.js | 4 + .../webapp/resource/assets/js/tree-min.js | 4 + .../resource/boot/css/bootstrap-theme.css | 457 + .../resource/boot/css/bootstrap-theme.css.map | 1 + .../resource/boot/css/bootstrap-theme.min.css | 5 + .../webapp/resource/boot/css/bootstrap.css | 6358 +++ .../resource/boot/css/bootstrap.css.map | 1 + .../resource/boot/css/bootstrap.min.css | 5 + .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20335 bytes .../fonts/glyphicons-halflings-regular.svg | 229 + .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 41280 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23320 bytes .../main/webapp/resource/boot/js/bootstrap.js | 2276 + .../webapp/resource/boot/js/bootstrap.min.js | 7 + .../src/main/webapp/resource/boot/js/npm.js | 13 + 源码/src/main/webapp/resource/calendar.css | 291 + 源码/src/main/webapp/resource/calendar.js | 267 + 源码/src/main/webapp/resource/css/app.css | 165 + 源码/src/main/webapp/resource/css/base.css | 247 + .../resource/css/bootstrap-responsive.css | 1109 + .../resource/css/bootstrap-responsive.min.css | 9 + .../main/webapp/resource/css/bootstrap.css | 6167 +++ .../webapp/resource/css/bootstrap.min.css | 9 + .../main/webapp/resource/css/doysu.min.css | 1 + 源码/src/main/webapp/resource/css/style.css | 574 + .../webapp/resource/fonts/FontAwesome.otf | Bin 0 -> 93888 bytes .../resource/fonts/fontawesome-webfont.eot | Bin 0 -> 60767 bytes .../resource/fonts/fontawesome-webfont.svg | 565 + .../resource/fonts/fontawesome-webfont.ttf | Bin 0 -> 122092 bytes .../resource/fonts/fontawesome-webfont.woff | Bin 0 -> 71508 bytes .../resource/fonts/fontawesome-webfont.woff2 | Bin 0 -> 56780 bytes .../webapp/resource/front/Css/mobile_web.css | 245 + .../webapp/resource/front/Image/home4.jpg | Bin 0 -> 37376 bytes .../resource/front/Image/icon-address.png | Bin 0 -> 3518 bytes .../resource/front/Image/icon-author.png | Bin 0 -> 3573 bytes 源码/src/main/webapp/resource/images/1.png | Bin 0 -> 67740 bytes 源码/src/main/webapp/resource/images/2.png | Bin 0 -> 32417 bytes .../main/webapp/resource/images/avatar.png | Bin 0 -> 83981 bytes .../src/main/webapp/resource/images/bg1.gif | Bin 0 -> 124 bytes .../src/main/webapp/resource/images/bg3.gif | Bin 0 -> 52 bytes .../src/main/webapp/resource/images/bg4.gif | Bin 0 -> 818 bytes .../webapp/resource/images/check-icon.png | Bin 0 -> 606 bytes .../main/webapp/resource/images/icon-pwd.png | Bin 0 -> 1576 bytes .../main/webapp/resource/images/icon-user.gif | Bin 0 -> 1847 bytes .../main/webapp/resource/images/logo(1).png | Bin 0 -> 8365 bytes .../src/main/webapp/resource/images/logo.png | Bin 0 -> 15480 bytes .../src/main/webapp/resource/images/pic.png | Bin 0 -> 8550 bytes 源码/src/main/webapp/resource/images/qq.png | Bin 0 -> 4110 bytes .../src/main/webapp/resource/images/qq2.png | Bin 0 -> 4575 bytes .../main/webapp/resource/images/spirit.png | Bin 0 -> 919 bytes 源码/src/main/webapp/resource/images/xl.png | Bin 0 -> 5651 bytes .../src/main/webapp/resource/images/zhuji.png | Bin 0 -> 37531 bytes .../webapp/resource/images/未标题-2.png | Bin 0 -> 1258 bytes .../main/webapp/resource/js/TouchSlide.1.1.js | 14 + .../main/webapp/resource/js/_notes/dwsync.xml | 1 + 源码/src/main/webapp/resource/js/app.js | 12 + .../webapp/resource/js/artDialog/artDialog.js | 10 + .../resource/js/artDialog/artDialog.source.js | 2078 + .../webapp/resource/js/artDialog/index.html | 162 + .../resource/js/artDialog/jquery.artDialog.js | 10 + .../js/artDialog/jquery.artDialog.source.js | 1261 + .../webapp/resource/js/artDialog/license.txt | 165 + .../js/artDialog/plugins/iframeTools.js | 10 + .../artDialog/plugins/iframeTools.source.js | 468 + .../resource/js/artDialog/skins/aero.css | 61 + .../js/artDialog/skins/aero/aero_s.png | Bin 0 -> 2381 bytes .../js/artDialog/skins/aero/aero_s2.png | Bin 0 -> 188 bytes .../skins/aero/ie6/aui_close.hover.png | Bin 0 -> 190 bytes .../js/artDialog/skins/aero/ie6/aui_close.png | Bin 0 -> 190 bytes .../js/artDialog/skins/aero/ie6/aui_e.png | Bin 0 -> 1352 bytes .../js/artDialog/skins/aero/ie6/aui_n.png | Bin 0 -> 2043 bytes .../js/artDialog/skins/aero/ie6/aui_ne.png | Bin 0 -> 601 bytes .../js/artDialog/skins/aero/ie6/aui_nw.png | Bin 0 -> 528 bytes .../js/artDialog/skins/aero/ie6/aui_s.png | Bin 0 -> 971 bytes .../js/artDialog/skins/aero/ie6/aui_se.png | Bin 0 -> 471 bytes .../js/artDialog/skins/aero/ie6/aui_sw.png | Bin 0 -> 470 bytes .../skins/aero/ie6/aui_title_icon.png | Bin 0 -> 233 bytes .../js/artDialog/skins/aero/ie6/aui_w.png | Bin 0 -> 1361 bytes .../resource/js/artDialog/skins/black.css | 79 + .../resource/js/artDialog/skins/black/bg.png | Bin 0 -> 2971 bytes .../resource/js/artDialog/skins/black/bg2.png | Bin 0 -> 186 bytes .../js/artDialog/skins/black/bg_css3.png | Bin 0 -> 2163 bytes .../js/artDialog/skins/black/bg_css3_2.png | Bin 0 -> 119 bytes .../artDialog/skins/black/ie6/close.hover.png | Bin 0 -> 961 bytes .../js/artDialog/skins/black/ie6/close.png | Bin 0 -> 687 bytes .../js/artDialog/skins/black/ie6/e.png | Bin 0 -> 822 bytes .../js/artDialog/skins/black/ie6/n.png | Bin 0 -> 1125 bytes .../js/artDialog/skins/black/ie6/ne.png | Bin 0 -> 565 bytes .../js/artDialog/skins/black/ie6/nw.png | Bin 0 -> 489 bytes .../js/artDialog/skins/black/ie6/s.png | Bin 0 -> 776 bytes .../js/artDialog/skins/black/ie6/se.png | Bin 0 -> 360 bytes .../js/artDialog/skins/black/ie6/sw.png | Bin 0 -> 364 bytes .../js/artDialog/skins/black/ie6/w.png | Bin 0 -> 829 bytes .../resource/js/artDialog/skins/blue.css | 79 + .../resource/js/artDialog/skins/blue/bg.png | Bin 0 -> 2924 bytes .../resource/js/artDialog/skins/blue/bg2.png | Bin 0 -> 209 bytes .../js/artDialog/skins/blue/bg_css3.png | Bin 0 -> 2237 bytes .../js/artDialog/skins/blue/bg_css3_2.png | Bin 0 -> 133 bytes .../artDialog/skins/blue/ie6/close.hover.png | Bin 0 -> 1000 bytes .../js/artDialog/skins/blue/ie6/close.png | Bin 0 -> 701 bytes .../js/artDialog/skins/blue/ie6/e.png | Bin 0 -> 878 bytes .../js/artDialog/skins/blue/ie6/n.png | Bin 0 -> 947 bytes .../js/artDialog/skins/blue/ie6/ne.png | Bin 0 -> 514 bytes .../js/artDialog/skins/blue/ie6/nw.png | Bin 0 -> 459 bytes .../js/artDialog/skins/blue/ie6/s.png | Bin 0 -> 1429 bytes .../js/artDialog/skins/blue/ie6/se.png | Bin 0 -> 363 bytes .../js/artDialog/skins/blue/ie6/sw.png | Bin 0 -> 365 bytes .../js/artDialog/skins/blue/ie6/w.png | Bin 0 -> 866 bytes .../resource/js/artDialog/skins/chrome.css | 61 + .../js/artDialog/skins/chrome/border.png | Bin 0 -> 260 bytes .../js/artDialog/skins/chrome/chrome_s.png | Bin 0 -> 1202 bytes .../resource/js/artDialog/skins/default.css | 67 + .../resource/js/artDialog/skins/green.css | 79 + .../resource/js/artDialog/skins/green/bg.png | Bin 0 -> 3062 bytes .../resource/js/artDialog/skins/green/bg2.png | Bin 0 -> 201 bytes .../js/artDialog/skins/green/bg_css3.png | Bin 0 -> 2358 bytes .../js/artDialog/skins/green/bg_css3_2.png | Bin 0 -> 119 bytes .../js/artDialog/skins/green/color_bg.png | Bin 0 -> 3062 bytes .../artDialog/skins/green/ie6/close.hover.png | Bin 0 -> 1079 bytes .../js/artDialog/skins/green/ie6/close.png | Bin 0 -> 814 bytes .../js/artDialog/skins/green/ie6/e.png | Bin 0 -> 828 bytes .../js/artDialog/skins/green/ie6/n.png | Bin 0 -> 925 bytes .../js/artDialog/skins/green/ie6/ne.png | Bin 0 -> 495 bytes .../js/artDialog/skins/green/ie6/nw.png | Bin 0 -> 435 bytes .../js/artDialog/skins/green/ie6/s.png | Bin 0 -> 771 bytes .../js/artDialog/skins/green/ie6/se.png | Bin 0 -> 355 bytes .../js/artDialog/skins/green/ie6/sw.png | Bin 0 -> 357 bytes .../js/artDialog/skins/green/ie6/w.png | Bin 0 -> 762 bytes .../js/artDialog/skins/icons/error.png | Bin 0 -> 2149 bytes .../js/artDialog/skins/icons/face-sad.png | Bin 0 -> 6790 bytes .../js/artDialog/skins/icons/face-smile.png | Bin 0 -> 6881 bytes .../js/artDialog/skins/icons/loading.gif | Bin 0 -> 381 bytes .../js/artDialog/skins/icons/question.png | Bin 0 -> 2148 bytes .../js/artDialog/skins/icons/succeed.png | Bin 0 -> 2182 bytes .../js/artDialog/skins/icons/warning.png | Bin 0 -> 1728 bytes .../resource/js/artDialog/skins/idialog.css | 71 + .../js/artDialog/skins/idialog/idialog_s.png | Bin 0 -> 3811 bytes .../js/artDialog/skins/idialog/idialog_s2.png | Bin 0 -> 184 bytes .../skins/idialog/ie6/aui_close.hover.png | Bin 0 -> 1847 bytes .../artDialog/skins/idialog/ie6/aui_close.png | Bin 0 -> 1876 bytes .../js/artDialog/skins/idialog/ie6/aui_e.png | Bin 0 -> 766 bytes .../js/artDialog/skins/idialog/ie6/aui_n.png | Bin 0 -> 399 bytes .../js/artDialog/skins/idialog/ie6/aui_ne.png | Bin 0 -> 266 bytes .../js/artDialog/skins/idialog/ie6/aui_nw.png | Bin 0 -> 248 bytes .../js/artDialog/skins/idialog/ie6/aui_s.png | Bin 0 -> 527 bytes .../js/artDialog/skins/idialog/ie6/aui_se.png | Bin 0 -> 301 bytes .../js/artDialog/skins/idialog/ie6/aui_sw.png | Bin 0 -> 295 bytes .../js/artDialog/skins/idialog/ie6/aui_w.png | Bin 0 -> 767 bytes .../resource/js/artDialog/skins/opera.css | 62 + .../skins/opera/ie6/aui_close.hover.png | Bin 0 -> 429 bytes .../artDialog/skins/opera/ie6/aui_close.png | Bin 0 -> 429 bytes .../js/artDialog/skins/opera/ie6/aui_e.png | Bin 0 -> 800 bytes .../js/artDialog/skins/opera/ie6/aui_n.png | Bin 0 -> 2369 bytes .../js/artDialog/skins/opera/ie6/aui_ne.png | Bin 0 -> 700 bytes .../js/artDialog/skins/opera/ie6/aui_nw.png | Bin 0 -> 659 bytes .../js/artDialog/skins/opera/ie6/aui_s.png | Bin 0 -> 556 bytes .../js/artDialog/skins/opera/ie6/aui_se.png | Bin 0 -> 464 bytes .../js/artDialog/skins/opera/ie6/aui_sw.png | Bin 0 -> 464 bytes .../js/artDialog/skins/opera/ie6/aui_w.png | Bin 0 -> 796 bytes .../resource/js/artDialog/skins/opera/s1.png | Bin 0 -> 2818 bytes .../resource/js/artDialog/skins/opera/s2.png | Bin 0 -> 177 bytes .../resource/js/artDialog/skins/simple.css | 55 + .../resource/js/artDialog/skins/twitter.css | 59 + .../resource/js/bootstrap.file-input.js | 122 + .../src/main/webapp/resource/js/bootstrap.js | 2280 + .../main/webapp/resource/js/bootstrap.min.js | 6 + 源码/src/main/webapp/resource/js/browser.js | 73 + 源码/src/main/webapp/resource/js/ckform.js | 381 + 源码/src/main/webapp/resource/js/common.js | 29 + .../main/webapp/resource/js/doysu.legacy.js | 7317 ++++ .../src/main/webapp/resource/js/doysu.min.js | 8 + 源码/src/main/webapp/resource/js/echarts.js | 26 + .../webapp/resource/js/echarts/echarts-all.js | 35 + .../main/webapp/resource/js/formValidator.js | 886 + .../webapp/resource/js/formValidatorRegex.js | 83 + .../webapp/resource/js/jquery-1.8.3.min.js | 2 + .../resource/js/jquery.SuperSlide.2.1.1.js | 15 + 源码/src/main/webapp/resource/js/jquery.js | 5 + .../src/main/webapp/resource/js/jquery.min.js | 4 + .../main/webapp/resource/js/jquery.qqFace.js | 106 + .../webapp/resource/js/polyfill/rem.min.js | 7 + .../resource/js/polyfill/respond.min.js | 6 + .../resource/la/css/bootstrap-table.css | 232 + .../resource/la/css/bootstrap-theme.css | 442 + .../resource/la/css/bootstrap-theme.css.map | 1 + .../resource/la/css/bootstrap-theme.min.css | 5 + .../main/webapp/resource/la/css/bootstrap.css | 6156 +++ .../webapp/resource/la/css/bootstrap.css.map | 1 + .../webapp/resource/la/css/bootstrap.min.css | 5 + .../webapp/resource/la/css/datepicker.css | 514 + .../webapp/resource/la/css/datepicker3.css | 792 + .../main/webapp/resource/la/css/styles.css | 867 + .../la/fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20335 bytes .../la/fonts/glyphicons-halflings-regular.svg | 229 + .../la/fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 41280 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23320 bytes .../resource/la/js/bootstrap-datepicker.js | 1671 + .../webapp/resource/la/js/bootstrap-table.js | 1462 + .../main/webapp/resource/la/js/bootstrap.js | 2114 + .../webapp/resource/la/js/bootstrap.min.js | 6 + .../main/webapp/resource/la/js/chart-data.js | 123 + .../main/webapp/resource/la/js/chart.min.js | 11 + .../resource/la/js/easypiechart-data.js | 30 + .../webapp/resource/la/js/easypiechart.js | 359 + .../webapp/resource/la/js/html5shiv.min.js | 4 + .../resource/la/js/jquery-1.11.1.min.js | 4 + .../main/webapp/resource/la/js/respond.min.js | 6 + .../main/webapp/resource/la/tables/data1.json | 107 + .../main/webapp/resource/la/tables/data2.json | 37 + .../main/webapp/resource/layui/css/layui.css | 2 + .../resource/layui/css/layui.mobile.css | 2 + .../resource/layui/css/modules/code.css | 2 + .../css/modules/laydate/default/laydate.css | 2 + .../css/modules/layer/default/icon-ext.png | Bin 0 -> 5911 bytes .../layui/css/modules/layer/default/icon.png | Bin 0 -> 11493 bytes .../layui/css/modules/layer/default/layer.css | 2 + .../css/modules/layer/default/loading-0.gif | Bin 0 -> 5793 bytes .../css/modules/layer/default/loading-1.gif | Bin 0 -> 701 bytes .../css/modules/layer/default/loading-2.gif | Bin 0 -> 1787 bytes .../webapp/resource/layui/font/iconfont.eot | Bin 0 -> 40844 bytes .../webapp/resource/layui/font/iconfont.svg | 473 + .../webapp/resource/layui/font/iconfont.ttf | Bin 0 -> 40668 bytes .../webapp/resource/layui/font/iconfont.woff | Bin 0 -> 26744 bytes .../webapp/resource/layui/images/face/0.gif | Bin 0 -> 2689 bytes .../webapp/resource/layui/images/face/1.gif | Bin 0 -> 5514 bytes .../webapp/resource/layui/images/face/10.gif | Bin 0 -> 2797 bytes .../webapp/resource/layui/images/face/11.gif | Bin 0 -> 4121 bytes .../webapp/resource/layui/images/face/12.gif | Bin 0 -> 3361 bytes .../webapp/resource/layui/images/face/13.gif | Bin 0 -> 7425 bytes .../webapp/resource/layui/images/face/14.gif | Bin 0 -> 2375 bytes .../webapp/resource/layui/images/face/15.gif | Bin 0 -> 1793 bytes .../webapp/resource/layui/images/face/16.gif | Bin 0 -> 6721 bytes .../webapp/resource/layui/images/face/17.gif | Bin 0 -> 4439 bytes .../webapp/resource/layui/images/face/18.gif | Bin 0 -> 3017 bytes .../webapp/resource/layui/images/face/19.gif | Bin 0 -> 3040 bytes .../webapp/resource/layui/images/face/2.gif | Bin 0 -> 3222 bytes .../webapp/resource/layui/images/face/20.gif | Bin 0 -> 5144 bytes .../webapp/resource/layui/images/face/21.gif | Bin 0 -> 5191 bytes .../webapp/resource/layui/images/face/22.gif | Bin 0 -> 9823 bytes .../webapp/resource/layui/images/face/23.gif | Bin 0 -> 3792 bytes .../webapp/resource/layui/images/face/24.gif | Bin 0 -> 8096 bytes .../webapp/resource/layui/images/face/25.gif | Bin 0 -> 3127 bytes .../webapp/resource/layui/images/face/26.gif | Bin 0 -> 3291 bytes .../webapp/resource/layui/images/face/27.gif | Bin 0 -> 4377 bytes .../webapp/resource/layui/images/face/28.gif | Bin 0 -> 2793 bytes .../webapp/resource/layui/images/face/29.gif | Bin 0 -> 4854 bytes .../webapp/resource/layui/images/face/3.gif | Bin 0 -> 4017 bytes .../webapp/resource/layui/images/face/30.gif | Bin 0 -> 2555 bytes .../webapp/resource/layui/images/face/31.gif | Bin 0 -> 2002 bytes .../webapp/resource/layui/images/face/32.gif | Bin 0 -> 3481 bytes .../webapp/resource/layui/images/face/33.gif | Bin 0 -> 2454 bytes .../webapp/resource/layui/images/face/34.gif | Bin 0 -> 3700 bytes .../webapp/resource/layui/images/face/35.gif | Bin 0 -> 1800 bytes .../webapp/resource/layui/images/face/36.gif | Bin 0 -> 2331 bytes .../webapp/resource/layui/images/face/37.gif | Bin 0 -> 1513 bytes .../webapp/resource/layui/images/face/38.gif | Bin 0 -> 3615 bytes .../webapp/resource/layui/images/face/39.gif | Bin 0 -> 6495 bytes .../webapp/resource/layui/images/face/4.gif | Bin 0 -> 5689 bytes .../webapp/resource/layui/images/face/40.gif | Bin 0 -> 3154 bytes .../webapp/resource/layui/images/face/41.gif | Bin 0 -> 3644 bytes .../webapp/resource/layui/images/face/42.gif | Bin 0 -> 5305 bytes .../webapp/resource/layui/images/face/43.gif | Bin 0 -> 2674 bytes .../webapp/resource/layui/images/face/44.gif | Bin 0 -> 4126 bytes .../webapp/resource/layui/images/face/45.gif | Bin 0 -> 3417 bytes .../webapp/resource/layui/images/face/46.gif | Bin 0 -> 3007 bytes .../webapp/resource/layui/images/face/47.gif | Bin 0 -> 2333 bytes .../webapp/resource/layui/images/face/48.gif | Bin 0 -> 2689 bytes .../webapp/resource/layui/images/face/49.gif | Bin 0 -> 2315 bytes .../webapp/resource/layui/images/face/5.gif | Bin 0 -> 4567 bytes .../webapp/resource/layui/images/face/50.gif | Bin 0 -> 5866 bytes .../webapp/resource/layui/images/face/51.gif | Bin 0 -> 2785 bytes .../webapp/resource/layui/images/face/52.gif | Bin 0 -> 777 bytes .../webapp/resource/layui/images/face/53.gif | Bin 0 -> 2127 bytes .../webapp/resource/layui/images/face/54.gif | Bin 0 -> 2196 bytes .../webapp/resource/layui/images/face/55.gif | Bin 0 -> 1971 bytes .../webapp/resource/layui/images/face/56.gif | Bin 0 -> 2034 bytes .../webapp/resource/layui/images/face/57.gif | Bin 0 -> 2705 bytes .../webapp/resource/layui/images/face/58.gif | Bin 0 -> 2258 bytes .../webapp/resource/layui/images/face/59.gif | Bin 0 -> 10311 bytes .../webapp/resource/layui/images/face/6.gif | Bin 0 -> 2213 bytes .../webapp/resource/layui/images/face/60.gif | Bin 0 -> 3245 bytes .../webapp/resource/layui/images/face/61.gif | Bin 0 -> 2495 bytes .../webapp/resource/layui/images/face/62.gif | Bin 0 -> 2017 bytes .../webapp/resource/layui/images/face/63.gif | Bin 0 -> 5871 bytes .../webapp/resource/layui/images/face/64.gif | Bin 0 -> 6448 bytes .../webapp/resource/layui/images/face/65.gif | Bin 0 -> 3576 bytes .../webapp/resource/layui/images/face/66.gif | Bin 0 -> 3029 bytes .../webapp/resource/layui/images/face/67.gif | Bin 0 -> 2701 bytes .../webapp/resource/layui/images/face/68.gif | Bin 0 -> 1424 bytes .../webapp/resource/layui/images/face/69.gif | Bin 0 -> 2431 bytes .../webapp/resource/layui/images/face/7.gif | Bin 0 -> 3398 bytes .../webapp/resource/layui/images/face/70.gif | Bin 0 -> 4590 bytes .../webapp/resource/layui/images/face/71.gif | Bin 0 -> 5304 bytes .../webapp/resource/layui/images/face/8.gif | Bin 0 -> 4050 bytes .../webapp/resource/layui/images/face/9.gif | Bin 0 -> 4221 bytes .../resource/layui/lay/modules/carousel.js | 2 + .../webapp/resource/layui/lay/modules/code.js | 2 + .../resource/layui/lay/modules/colorpicker.js | 2 + .../resource/layui/lay/modules/element.js | 2 + .../webapp/resource/layui/lay/modules/flow.js | 2 + .../webapp/resource/layui/lay/modules/form.js | 2 + .../resource/layui/lay/modules/jquery.js | 5 + .../resource/layui/lay/modules/laydate.js | 2 + .../resource/layui/lay/modules/layedit.js | 2 + .../resource/layui/lay/modules/layer.js | 2 + .../resource/layui/lay/modules/laypage.js | 2 + .../resource/layui/lay/modules/laytpl.js | 2 + .../resource/layui/lay/modules/mobile.js | 2 + .../webapp/resource/layui/lay/modules/rate.js | 2 + .../resource/layui/lay/modules/slider.js | 2 + .../resource/layui/lay/modules/table.js | 2 + .../webapp/resource/layui/lay/modules/tree.js | 2 + .../resource/layui/lay/modules/upload.js | 2 + .../webapp/resource/layui/lay/modules/util.js | 2 + .../main/webapp/resource/layui/layui.all.js | 5 + .../src/main/webapp/resource/layui/layui.js | 2 + .../resource/lib/Hui-iconfont/1.0.7/demo.html | 1586 + .../lib/Hui-iconfont/1.0.7/iconfont.css | 318 + .../lib/Hui-iconfont/1.0.7/iconfont.eot | Bin 0 -> 134712 bytes .../lib/Hui-iconfont/1.0.7/iconfont.svg | 1305 + .../lib/Hui-iconfont/1.0.7/iconfont.ttf | Bin 0 -> 134408 bytes .../lib/Hui-iconfont/1.0.7/iconfont.woff | Bin 0 -> 85720 bytes .../lib/My97DatePicker/WdatePicker.js | 57 + .../resource/lib/My97DatePicker/calendar.js | 5 + .../resource/lib/My97DatePicker/lang/en.js | 14 + .../resource/lib/My97DatePicker/lang/zh-cn.js | 14 + .../resource/lib/My97DatePicker/lang/zh-tw.js | 14 + .../lib/My97DatePicker/skin/Thumbs.db | Bin 0 -> 3072 bytes .../lib/My97DatePicker/skin/WdatePicker.css | 9 + .../lib/My97DatePicker/skin/datePicker.gif | Bin 0 -> 1043 bytes .../skin/default/datepicker.css | 1 + .../lib/My97DatePicker/skin/default/img.gif | Bin 0 -> 1578 bytes .../skin/twoer/datepicker-dev.css | 339 + .../My97DatePicker/skin/twoer/datepicker.css | 1 + .../lib/My97DatePicker/skin/twoer/img.gif | Bin 0 -> 475 bytes .../lib/My97DatePicker/skin/twoer/img.png | Bin 0 -> 49301 bytes .../lib/My97DatePicker/skin/whyGreen/bg.jpg | Bin 0 -> 307 bytes .../skin/whyGreen/datepicker.css | 256 + .../lib/My97DatePicker/skin/whyGreen/img.gif | Bin 0 -> 1679 bytes .../main/webapp/resource/lib/icheck/Thumbs.db | Bin 0 -> 18432 bytes .../main/webapp/resource/lib/icheck/aero.png | Bin 0 -> 1151 bytes .../webapp/resource/lib/icheck/aero@2x.png | Bin 0 -> 1409 bytes .../main/webapp/resource/lib/icheck/blue.png | Bin 0 -> 1132 bytes .../webapp/resource/lib/icheck/blue@2x.png | Bin 0 -> 1410 bytes .../main/webapp/resource/lib/icheck/green.png | Bin 0 -> 1143 bytes .../webapp/resource/lib/icheck/green@2x.png | Bin 0 -> 1408 bytes .../main/webapp/resource/lib/icheck/grey.png | Bin 0 -> 1142 bytes .../webapp/resource/lib/icheck/grey@2x.png | Bin 0 -> 1407 bytes .../webapp/resource/lib/icheck/icheck.css | 182 + .../resource/lib/icheck/jquery.icheck.min.js | 9 + .../webapp/resource/lib/icheck/minimal.png | Bin 0 -> 1114 bytes .../webapp/resource/lib/icheck/minimal@2x.png | Bin 0 -> 1410 bytes .../webapp/resource/lib/icheck/orange.png | Bin 0 -> 1139 bytes .../webapp/resource/lib/icheck/orange@2x.png | Bin 0 -> 1407 bytes .../main/webapp/resource/lib/icheck/pink.png | Bin 0 -> 1150 bytes .../webapp/resource/lib/icheck/pink@2x.png | Bin 0 -> 1409 bytes .../webapp/resource/lib/icheck/purple.png | Bin 0 -> 1132 bytes .../webapp/resource/lib/icheck/purple@2x.png | Bin 0 -> 1409 bytes .../main/webapp/resource/lib/icheck/red.png | Bin 0 -> 1130 bytes .../webapp/resource/lib/icheck/red@2x.png | Bin 0 -> 1410 bytes .../webapp/resource/lib/icheck/yellow.png | Bin 0 -> 1135 bytes .../webapp/resource/lib/icheck/yellow@2x.png | Bin 0 -> 1406 bytes .../1.14.0/additional-methods.js | 998 + .../1.14.0/additional-methods.min.js | 4 + .../1.14.0/jquery.validate.js | 1398 + .../1.14.0/jquery.validate.min.js | 4 + .../jquery.validation/1.14.0/messages_zh.js | 33 + .../1.14.0/messages_zh.min.js | 4 + .../1.14.0/validate-methods.js | 228 + .../resource/lib/jquery/1.9.1/jquery.js | 9597 +++++ .../resource/lib/jquery/1.9.1/jquery.min.js | 5 + .../webapp/resource/lib/layer/1.9.3/demo.html | 105 + .../lib/layer/1.9.3/doc/jquery下载.url | 6 + .../lib/layer/1.9.3/doc/layer交流.url | 8 + .../lib/layer/1.9.3/doc/layer官网.url | 6 + .../lib/layer/1.9.3/extend/layer.ext.js | 2 + .../webapp/resource/lib/layer/1.9.3/layer.js | 2 + .../lib/layer/1.9.3/skin/default/icon-ext.png | Bin 0 -> 5911 bytes .../lib/layer/1.9.3/skin/default/icon.png | Bin 0 -> 12527 bytes .../layer/1.9.3/skin/default/loading-0.gif | Bin 0 -> 5793 bytes .../layer/1.9.3/skin/default/loading-1.gif | Bin 0 -> 701 bytes .../layer/1.9.3/skin/default/loading-2.gif | Bin 0 -> 1787 bytes .../resource/lib/layer/1.9.3/skin/layer.css | 7 + .../lib/layer/1.9.3/skin/layer.ext.css | 8 + .../lib/layer/1.9.3/skin/mono/default.png | Bin 0 -> 7563 bytes .../lib/layer/1.9.3/skin/mono/style.css | 142 + .../resource/lib/layer/1.9.3/更新日志.txt | 73 + .../webapp/resource/lib/layer/2.1/demo.html | 105 + .../lib/layer/2.1/doc/jquery下载.url | 6 + .../lib/layer/2.1/doc/layer交流.url | 8 + .../lib/layer/2.1/doc/layer官网.url | 6 + .../lib/layer/2.1/extend/layer.ext.js | 2 + .../webapp/resource/lib/layer/2.1/layer.js | 2 + .../lib/layer/2.1/skin/default/icon-ext.png | Bin 0 -> 5911 bytes .../lib/layer/2.1/skin/default/icon.png | Bin 0 -> 11493 bytes .../lib/layer/2.1/skin/default/loading-0.gif | Bin 0 -> 5793 bytes .../lib/layer/2.1/skin/default/loading-1.gif | Bin 0 -> 701 bytes .../lib/layer/2.1/skin/default/loading-2.gif | Bin 0 -> 1787 bytes .../resource/lib/layer/2.1/skin/layer.css | 7 + .../resource/lib/layer/2.1/skin/layer.ext.css | 8 + .../resource/lib/layer/2.1/更新日志.txt | 26 + .../resource/lib/laypage/1.2/laypage.js | 2 + .../resource/lib/laypage/1.2/skin/laypage.css | 21 + .../lib/webuploader/0.1.5/Uploader.swf | Bin 0 -> 143099 bytes .../lib/webuploader/0.1.5/cropper/cropper.js | 778 + .../lib/webuploader/0.1.5/cropper/index.html | 26 + .../lib/webuploader/0.1.5/cropper/uploader.js | 268 + .../lib/webuploader/0.1.5/expressInstall.swf | Bin 0 -> 756 bytes .../webuploader/0.1.5/image-upload/index.html | 29 + .../webuploader/0.1.5/image-upload/upload.js | 573 + .../lib/webuploader/0.1.5/images/Thumbs.db | Bin 0 -> 10752 bytes .../lib/webuploader/0.1.5/images/bg.png | Bin 0 -> 2851 bytes .../lib/webuploader/0.1.5/images/icons.png | Bin 0 -> 2678 bytes .../lib/webuploader/0.1.5/images/icons.psd | Bin 0 -> 38456 bytes .../lib/webuploader/0.1.5/images/image.png | Bin 0 -> 1672 bytes .../lib/webuploader/0.1.5/images/progress.png | Bin 0 -> 1269 bytes .../lib/webuploader/0.1.5/images/progress.psd | Bin 0 -> 25941 bytes .../lib/webuploader/0.1.5/images/success.png | Bin 0 -> 1621 bytes .../lib/webuploader/0.1.5/md5-demo/index.html | 20 + .../lib/webuploader/0.1.5/md5-demo/script.js | 57 + .../lib/webuploader/0.1.5/requirejs/app.js | 430 + .../webuploader/0.1.5/requirejs/index.html | 37 + .../webuploader/0.1.5/requirejs/require.js | 36 + .../webuploader/0.1.5/server/crossdomain.xml | 4 + .../webuploader/0.1.5/server/fileupload.php | 177 + .../webuploader/0.1.5/server/fileupload2.php | 172 + .../lib/webuploader/0.1.5/server/preview.php | 63 + .../lib/webuploader/0.1.5/webuploader.css | 95 + .../webuploader/0.1.5/webuploader.custom.js | 6502 +++ .../0.1.5/webuploader.custom.min.js | 2 + .../lib/webuploader/0.1.5/webuploader.fis.js | 8083 ++++ .../0.1.5/webuploader.flashonly.js | 4622 ++ .../0.1.5/webuploader.flashonly.min.js | 2 + .../0.1.5/webuploader.html5only.js | 6030 +++ .../0.1.5/webuploader.html5only.min.js | 2 + .../lib/webuploader/0.1.5/webuploader.js | 8106 ++++ .../lib/webuploader/0.1.5/webuploader.min.js | 3 + .../webuploader/0.1.5/webuploader.noimage.js | 5026 +++ .../0.1.5/webuploader.noimage.min.js | 2 + .../webuploader/0.1.5/webuploader.nolog.js | 8012 ++++ .../0.1.5/webuploader.nolog.min.js | 3 + .../0.1.5/webuploader.withoutimage.js | 4993 +++ .../0.1.5/webuploader.withoutimage.min.js | 2 + .../static/h-ui.admin/css/H-ui.admin.css | 127 + .../static/h-ui.admin/css/H-ui.login.css | 40 + .../resource/static/h-ui.admin/css/style.css | 3 + .../images/acrossTab/acrossTab-2.png | Bin 0 -> 5710 bytes .../h-ui.admin/images/admin-login-bg.jpg | Bin 0 -> 54018 bytes .../h-ui.admin/images/admin-loginform-bg.png | Bin 0 -> 3783 bytes .../static/h-ui.admin/images/loading.gif | Bin 0 -> 8476 bytes .../static/h-ui.admin/images/logo.png | Bin 0 -> 21293 bytes .../static/h-ui.admin/js/H-ui.admin.js | 244 + .../resource/static/h-ui.admin/js/de_DE.txt | 18 + .../static/h-ui.admin/skin/blue/Thumbs.db | Bin 0 -> 12800 bytes .../h-ui.admin/skin/blue/acrossTab-bg.png | Bin 0 -> 1020 bytes .../static/h-ui.admin/skin/blue/acrossTab.png | Bin 0 -> 11635 bytes .../h-ui.admin/skin/blue/icon_arrow.png | Bin 0 -> 3287 bytes .../static/h-ui.admin/skin/blue/skin.css | 23 + .../static/h-ui.admin/skin/default/Thumbs.db | Bin 0 -> 12800 bytes .../h-ui.admin/skin/default/acrossTab-bg.png | Bin 0 -> 1020 bytes .../h-ui.admin/skin/default/acrossTab.png | Bin 0 -> 11635 bytes .../h-ui.admin/skin/default/icon_arrow.png | Bin 0 -> 1484 bytes .../static/h-ui.admin/skin/default/skin.css | 21 + .../static/h-ui.admin/skin/green/Thumbs.db | Bin 0 -> 12800 bytes .../h-ui.admin/skin/green/acrossTab-bg.png | Bin 0 -> 1020 bytes .../h-ui.admin/skin/green/acrossTab.png | Bin 0 -> 11635 bytes .../h-ui.admin/skin/green/icon_arrow.png | Bin 0 -> 3289 bytes .../static/h-ui.admin/skin/green/skin.css | 23 + .../static/h-ui.admin/skin/orange/Thumbs.db | Bin 0 -> 12800 bytes .../h-ui.admin/skin/orange/acrossTab-bg.png | Bin 0 -> 1020 bytes .../h-ui.admin/skin/orange/acrossTab.png | Bin 0 -> 11635 bytes .../h-ui.admin/skin/orange/icon_arrow.png | Bin 0 -> 3279 bytes .../static/h-ui.admin/skin/orange/skin.css | 23 + .../static/h-ui.admin/skin/red/Thumbs.db | Bin 0 -> 12800 bytes .../h-ui.admin/skin/red/acrossTab-bg.png | Bin 0 -> 1020 bytes .../static/h-ui.admin/skin/red/acrossTab.png | Bin 0 -> 11635 bytes .../static/h-ui.admin/skin/red/icon_arrow.png | Bin 0 -> 3285 bytes .../static/h-ui.admin/skin/red/skin.css | 23 + .../static/h-ui.admin/skin/yellow/Thumbs.db | Bin 0 -> 12800 bytes .../h-ui.admin/skin/yellow/acrossTab-bg.png | Bin 0 -> 1020 bytes .../h-ui.admin/skin/yellow/acrossTab.png | Bin 0 -> 11635 bytes .../h-ui.admin/skin/yellow/icon_arrow.png | Bin 0 -> 3278 bytes .../static/h-ui.admin/skin/yellow/skin.css | 23 + .../webapp/resource/static/h-ui/css/H-ui.css | 3494 ++ .../resource/static/h-ui/css/H-ui.ie.css | 65 + .../resource/static/h-ui/css/H-ui.min.css | 12 + .../resource/static/h-ui/css/H-ui.reset.css | 62 + .../resource/static/h-ui/css/csshover.htc | 76 + .../resource/static/h-ui/css/ie-css3.htc | 323 + .../static/h-ui/images/Hui-tags/empty.png | Bin 0 -> 137 bytes .../resource/static/h-ui/images/Thumbs.db | Bin 0 -> 13824 bytes .../h-ui/images/acrossTab/acrossTab-bg.png | Bin 0 -> 1020 bytes .../h-ui/images/acrossTab/acrossTab-close.png | Bin 0 -> 1541 bytes .../h-ui/images/acrossTab/acrossTab.png | Bin 0 -> 11635 bytes .../h-ui/images/acrossTab/unslider-arrow.png | Bin 0 -> 1196 bytes .../h-ui/images/acrossTab/unslider-arrow2.png | Bin 0 -> 2324 bytes .../resource/static/h-ui/images/backdrop.png | Bin 0 -> 921 bytes .../static/h-ui/images/dataTable/sort_asc.png | Bin 0 -> 1118 bytes .../h-ui/images/dataTable/sort_both.png | Bin 0 -> 1136 bytes .../h-ui/images/dataTable/sort_desc.png | Bin 0 -> 1127 bytes .../static/h-ui/images/dropDown/icon-jt.png | Bin 0 -> 1250 bytes .../resource/static/h-ui/images/face/201.gif | Bin 0 -> 1706 bytes .../resource/static/h-ui/images/face/202.gif | Bin 0 -> 1313 bytes .../resource/static/h-ui/images/face/203.gif | Bin 0 -> 2105 bytes .../resource/static/h-ui/images/face/204.gif | Bin 0 -> 1668 bytes .../resource/static/h-ui/images/face/205.gif | Bin 0 -> 3468 bytes .../resource/static/h-ui/images/face/206.gif | Bin 0 -> 1733 bytes .../resource/static/h-ui/images/face/207.gif | Bin 0 -> 1788 bytes .../resource/static/h-ui/images/face/208.gif | Bin 0 -> 1018 bytes .../resource/static/h-ui/images/face/209.gif | Bin 0 -> 1129 bytes .../resource/static/h-ui/images/face/210.gif | Bin 0 -> 1336 bytes .../resource/static/h-ui/images/face/QQ/0.gif | Bin 0 -> 4116 bytes .../resource/static/h-ui/images/face/QQ/1.gif | Bin 0 -> 1582 bytes .../static/h-ui/images/face/QQ/10.gif | Bin 0 -> 3834 bytes .../static/h-ui/images/face/QQ/100.gif | Bin 0 -> 1629 bytes .../static/h-ui/images/face/QQ/101.gif | Bin 0 -> 2192 bytes .../static/h-ui/images/face/QQ/102.gif | Bin 0 -> 1780 bytes .../static/h-ui/images/face/QQ/103.gif | Bin 0 -> 2443 bytes .../static/h-ui/images/face/QQ/104.gif | Bin 0 -> 1446 bytes .../static/h-ui/images/face/QQ/105.gif | Bin 0 -> 2166 bytes .../static/h-ui/images/face/QQ/106.gif | Bin 0 -> 2169 bytes .../static/h-ui/images/face/QQ/11.gif | Bin 0 -> 8033 bytes .../static/h-ui/images/face/QQ/12.gif | Bin 0 -> 2247 bytes .../static/h-ui/images/face/QQ/13.gif | Bin 0 -> 1736 bytes .../static/h-ui/images/face/QQ/14.gif | Bin 0 -> 1810 bytes .../static/h-ui/images/face/QQ/15.gif | Bin 0 -> 1562 bytes .../static/h-ui/images/face/QQ/16.gif | Bin 0 -> 1413 bytes .../static/h-ui/images/face/QQ/18.gif | Bin 0 -> 8137 bytes .../static/h-ui/images/face/QQ/19.gif | Bin 0 -> 8135 bytes .../resource/static/h-ui/images/face/QQ/2.gif | Bin 0 -> 1804 bytes .../static/h-ui/images/face/QQ/20.gif | Bin 0 -> 1808 bytes .../static/h-ui/images/face/QQ/21.gif | Bin 0 -> 1864 bytes .../static/h-ui/images/face/QQ/22.gif | Bin 0 -> 3045 bytes .../static/h-ui/images/face/QQ/23.gif | Bin 0 -> 1950 bytes .../static/h-ui/images/face/QQ/24.gif | Bin 0 -> 2257 bytes .../static/h-ui/images/face/QQ/25.gif | Bin 0 -> 2446 bytes .../static/h-ui/images/face/QQ/26.gif | Bin 0 -> 4013 bytes .../static/h-ui/images/face/QQ/27.gif | Bin 0 -> 2653 bytes .../static/h-ui/images/face/QQ/28.gif | Bin 0 -> 3376 bytes .../static/h-ui/images/face/QQ/29.gif | Bin 0 -> 4907 bytes .../resource/static/h-ui/images/face/QQ/3.gif | Bin 0 -> 1852 bytes .../static/h-ui/images/face/QQ/30.gif | Bin 0 -> 1780 bytes .../static/h-ui/images/face/QQ/31.gif | Bin 0 -> 5725 bytes .../static/h-ui/images/face/QQ/32.gif | Bin 0 -> 7369 bytes .../static/h-ui/images/face/QQ/33.gif | Bin 0 -> 4454 bytes .../static/h-ui/images/face/QQ/34.gif | Bin 0 -> 2140 bytes .../static/h-ui/images/face/QQ/35.gif | Bin 0 -> 13392 bytes .../static/h-ui/images/face/QQ/36.gif | Bin 0 -> 1417 bytes .../static/h-ui/images/face/QQ/37.gif | Bin 0 -> 1195 bytes .../static/h-ui/images/face/QQ/38.gif | Bin 0 -> 1674 bytes .../static/h-ui/images/face/QQ/39.gif | Bin 0 -> 1798 bytes .../resource/static/h-ui/images/face/QQ/4.gif | Bin 0 -> 1977 bytes .../static/h-ui/images/face/QQ/40.gif | Bin 0 -> 1119 bytes .../static/h-ui/images/face/QQ/41.gif | Bin 0 -> 2553 bytes .../static/h-ui/images/face/QQ/42.gif | Bin 0 -> 1377 bytes .../static/h-ui/images/face/QQ/43.gif | Bin 0 -> 1260 bytes .../static/h-ui/images/face/QQ/44.gif | Bin 0 -> 1565 bytes .../static/h-ui/images/face/QQ/45.gif | Bin 0 -> 4472 bytes .../static/h-ui/images/face/QQ/46.gif | Bin 0 -> 1015 bytes .../static/h-ui/images/face/QQ/47.gif | Bin 0 -> 1162 bytes .../static/h-ui/images/face/QQ/48.gif | Bin 0 -> 991 bytes .../static/h-ui/images/face/QQ/49.gif | Bin 0 -> 3679 bytes .../resource/static/h-ui/images/face/QQ/5.gif | Bin 0 -> 4668 bytes .../static/h-ui/images/face/QQ/50.gif | Bin 0 -> 2454 bytes .../static/h-ui/images/face/QQ/51.gif | Bin 0 -> 2667 bytes .../static/h-ui/images/face/QQ/52.gif | Bin 0 -> 1136 bytes .../static/h-ui/images/face/QQ/53.gif | Bin 0 -> 971 bytes .../static/h-ui/images/face/QQ/54.gif | Bin 0 -> 988 bytes .../static/h-ui/images/face/QQ/55.gif | Bin 0 -> 1159 bytes .../static/h-ui/images/face/QQ/56.gif | Bin 0 -> 2746 bytes .../static/h-ui/images/face/QQ/57.gif | Bin 0 -> 1151 bytes .../static/h-ui/images/face/QQ/58.gif | Bin 0 -> 1012 bytes .../static/h-ui/images/face/QQ/59.gif | Bin 0 -> 1211 bytes .../resource/static/h-ui/images/face/QQ/6.gif | Bin 0 -> 3222 bytes .../static/h-ui/images/face/QQ/60.gif | Bin 0 -> 1222 bytes .../static/h-ui/images/face/QQ/61.gif | Bin 0 -> 1518 bytes .../static/h-ui/images/face/QQ/62.gif | Bin 0 -> 1537 bytes .../static/h-ui/images/face/QQ/63.gif | Bin 0 -> 1591 bytes .../static/h-ui/images/face/QQ/64.gif | Bin 0 -> 1547 bytes .../static/h-ui/images/face/QQ/65.gif | Bin 0 -> 654 bytes .../static/h-ui/images/face/QQ/66.gif | Bin 0 -> 3572 bytes .../static/h-ui/images/face/QQ/67.gif | Bin 0 -> 1170 bytes .../static/h-ui/images/face/QQ/68.gif | Bin 0 -> 3113 bytes .../static/h-ui/images/face/QQ/69.gif | Bin 0 -> 10446 bytes .../resource/static/h-ui/images/face/QQ/7.gif | Bin 0 -> 3952 bytes .../static/h-ui/images/face/QQ/70.gif | Bin 0 -> 3368 bytes .../static/h-ui/images/face/QQ/71.gif | Bin 0 -> 13367 bytes .../static/h-ui/images/face/QQ/72.gif | Bin 0 -> 4323 bytes .../static/h-ui/images/face/QQ/73.gif | Bin 0 -> 1571 bytes .../static/h-ui/images/face/QQ/74.gif | Bin 0 -> 4692 bytes .../static/h-ui/images/face/QQ/75.gif | Bin 0 -> 5162 bytes .../static/h-ui/images/face/QQ/76.gif | Bin 0 -> 3820 bytes .../static/h-ui/images/face/QQ/77.gif | Bin 0 -> 1755 bytes .../static/h-ui/images/face/QQ/78.gif | Bin 0 -> 6361 bytes .../static/h-ui/images/face/QQ/79.gif | Bin 0 -> 3073 bytes .../resource/static/h-ui/images/face/QQ/8.gif | Bin 0 -> 4993 bytes .../static/h-ui/images/face/QQ/80.gif | Bin 0 -> 3731 bytes .../static/h-ui/images/face/QQ/81.gif | Bin 0 -> 1532 bytes .../static/h-ui/images/face/QQ/82.gif | Bin 0 -> 2085 bytes .../static/h-ui/images/face/QQ/83.gif | Bin 0 -> 2381 bytes .../static/h-ui/images/face/QQ/84.gif | Bin 0 -> 2406 bytes .../static/h-ui/images/face/QQ/85.gif | Bin 0 -> 5002 bytes .../static/h-ui/images/face/QQ/86.gif | Bin 0 -> 2596 bytes .../static/h-ui/images/face/QQ/87.gif | Bin 0 -> 1533 bytes .../static/h-ui/images/face/QQ/88.gif | Bin 0 -> 1369 bytes .../static/h-ui/images/face/QQ/89.gif | Bin 0 -> 2195 bytes .../resource/static/h-ui/images/face/QQ/9.gif | Bin 0 -> 3408 bytes .../static/h-ui/images/face/QQ/90.gif | Bin 0 -> 1591 bytes .../static/h-ui/images/face/QQ/91.gif | Bin 0 -> 3424 bytes .../static/h-ui/images/face/QQ/92.gif | Bin 0 -> 1581 bytes .../static/h-ui/images/face/QQ/93.gif | Bin 0 -> 1519 bytes .../static/h-ui/images/face/QQ/94.gif | Bin 0 -> 1558 bytes .../static/h-ui/images/face/QQ/95.gif | Bin 0 -> 2134 bytes .../static/h-ui/images/face/QQ/96.gif | Bin 0 -> 1220 bytes .../static/h-ui/images/face/QQ/97.gif | Bin 0 -> 3011 bytes .../static/h-ui/images/face/QQ/98.gif | Bin 0 -> 1796 bytes .../static/h-ui/images/face/QQ/99.gif | Bin 0 -> 5300 bytes .../static/h-ui/images/face/Thumbs.db | Bin 0 -> 5632 bytes .../static/h-ui/images/icon-arrow.png | Bin 0 -> 221 bytes .../images/jselect/iconpic-arrow-down2.png | Bin 0 -> 1207 bytes .../resource/static/h-ui/images/loading-b.gif | Bin 0 -> 3992 bytes .../resource/static/h-ui/images/loading-s.gif | Bin 0 -> 763 bytes .../h-ui/images/steps/step_arrow-active.png | Bin 0 -> 2525 bytes .../static/h-ui/images/steps/step_arrow.png | Bin 0 -> 2126 bytes .../h-ui/images/steps/step_bg-active.png | Bin 0 -> 1099 bytes .../static/h-ui/images/steps/step_bg.png | Bin 0 -> 1116 bytes .../static/h-ui/images/ucnter/Thumbs.db | Bin 0 -> 3584 bytes .../h-ui/images/ucnter/avatar-default-S.gif | Bin 0 -> 1071 bytes .../h-ui/images/ucnter/avatar-default.jpg | Bin 0 -> 723 bytes .../static/h-ui/images/ucnter/avatar.png | Bin 0 -> 4006 bytes .../h-ui/images/validform/iconpic-error.png | Bin 0 -> 1686 bytes .../h-ui/images/validform/iconpic-right.png | Bin 0 -> 1930 bytes .../h-ui/images/validform/iconpic-warning.png | Bin 0 -> 1704 bytes .../h-ui/images/verticalTab/tabNav-active.png | Bin 0 -> 4419 bytes .../h-ui/images/verticalTab/tabNav-hover.png | Bin 0 -> 4074 bytes .../static/h-ui/images/verticalTab/tabNav.png | Bin 0 -> 4021 bytes .../verticalTab/tabNav_right-active.png | Bin 0 -> 3524 bytes .../images/verticalTab/tabNav_right-hover.png | Bin 0 -> 3757 bytes .../h-ui/images/verticalTab/tabNav_right.png | Bin 0 -> 1795 bytes .../static/h-ui/images/verticalTab/tab_bg.png | Bin 0 -> 990 bytes .../webapp/resource/static/h-ui/js/H-ui.js | 777 + .../web-resources/META-INF/MANIFEST.MF | 5 + .../ssm_xsktsign/ssm_xsktsign/pom.properties | 7 + .../maven/ssm_xsktsign/ssm_xsktsign/pom.xml | 260 + 第26组_软件工程导论_课设报告-.zip | Bin 0 -> 1318742 bytes 895 files changed, 186240 insertions(+) create mode 100644 源码/.classpath create mode 100644 源码/.project create mode 100644 源码/.settings/.jsdtscope create mode 100644 源码/.settings/org.eclipse.core.resources.prefs create mode 100644 源码/.settings/org.eclipse.jdt.core.prefs create mode 100644 源码/.settings/org.eclipse.m2e.core.prefs create mode 100644 源码/.settings/org.eclipse.wst.common.component create mode 100644 源码/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml create mode 100644 源码/.settings/org.eclipse.wst.common.project.facet.core.xml create mode 100644 源码/.settings/org.eclipse.wst.jsdt.ui.superType.container create mode 100644 源码/.settings/org.eclipse.wst.jsdt.ui.superType.name create mode 100644 源码/.settings/org.eclipse.wst.validation.prefs create mode 100644 源码/pom.xml create mode 100644 源码/src/main/java/com/kwxy/hyt/base/BaseController.java create mode 100644 源码/src/main/java/com/kwxy/hyt/base/BaseDao.java create mode 100644 源码/src/main/java/com/kwxy/hyt/base/BaseService.java create mode 100644 源码/src/main/java/com/kwxy/hyt/base/BaseServiceImpl.java create mode 100644 源码/src/main/java/com/kwxy/hyt/controller/BjController.java create mode 100644 源码/src/main/java/com/kwxy/hyt/controller/FdyController.java create mode 100644 源码/src/main/java/com/kwxy/hyt/controller/LoginController.java create mode 100644 源码/src/main/java/com/kwxy/hyt/controller/ManageController.java create mode 100644 源码/src/main/java/com/kwxy/hyt/controller/QjController.java create mode 100644 源码/src/main/java/com/kwxy/hyt/controller/RecordController.java create mode 100644 源码/src/main/java/com/kwxy/hyt/controller/SignController.java create mode 100644 源码/src/main/java/com/kwxy/hyt/controller/StudentController.java create mode 100644 源码/src/main/java/com/kwxy/hyt/controller/TeacherBjController.java create mode 100644 源码/src/main/java/com/kwxy/hyt/controller/TeacherController.java create mode 100644 源码/src/main/java/com/kwxy/hyt/filter/SystemContextFilter.java create mode 100644 源码/src/main/java/com/kwxy/hyt/mapper/BjMapper.java create mode 100644 源码/src/main/java/com/kwxy/hyt/mapper/BjMapper.xml create mode 100644 源码/src/main/java/com/kwxy/hyt/mapper/FdyMapper.java create mode 100644 源码/src/main/java/com/kwxy/hyt/mapper/FdyMapper.xml create mode 100644 源码/src/main/java/com/kwxy/hyt/mapper/ManageMapper.java create mode 100644 源码/src/main/java/com/kwxy/hyt/mapper/ManageMapper.xml create mode 100644 源码/src/main/java/com/kwxy/hyt/mapper/QjMapper.java create mode 100644 源码/src/main/java/com/kwxy/hyt/mapper/QjMapper.xml create mode 100644 源码/src/main/java/com/kwxy/hyt/mapper/RecordMapper.java create mode 100644 源码/src/main/java/com/kwxy/hyt/mapper/RecordMapper.xml create mode 100644 源码/src/main/java/com/kwxy/hyt/mapper/SignMapper.java create mode 100644 源码/src/main/java/com/kwxy/hyt/mapper/SignMapper.xml create mode 100644 源码/src/main/java/com/kwxy/hyt/mapper/StudentMapper.java create mode 100644 源码/src/main/java/com/kwxy/hyt/mapper/StudentMapper.xml create mode 100644 源码/src/main/java/com/kwxy/hyt/mapper/TeacherBjMapper.java create mode 100644 源码/src/main/java/com/kwxy/hyt/mapper/TeacherBjMapper.xml create mode 100644 源码/src/main/java/com/kwxy/hyt/mapper/TeacherMapper.java create mode 100644 源码/src/main/java/com/kwxy/hyt/mapper/TeacherMapper.xml create mode 100644 源码/src/main/java/com/kwxy/hyt/po/Bj.java create mode 100644 源码/src/main/java/com/kwxy/hyt/po/Fdy.java create mode 100644 源码/src/main/java/com/kwxy/hyt/po/Manage.java create mode 100644 源码/src/main/java/com/kwxy/hyt/po/Qj.java create mode 100644 源码/src/main/java/com/kwxy/hyt/po/Record.java create mode 100644 源码/src/main/java/com/kwxy/hyt/po/Sign.java create mode 100644 源码/src/main/java/com/kwxy/hyt/po/Student.java create mode 100644 源码/src/main/java/com/kwxy/hyt/po/Teacher.java create mode 100644 源码/src/main/java/com/kwxy/hyt/po/TeacherBj.java create mode 100644 源码/src/main/java/com/kwxy/hyt/service/BjService.java create mode 100644 源码/src/main/java/com/kwxy/hyt/service/FdyService.java create mode 100644 源码/src/main/java/com/kwxy/hyt/service/ManageService.java create mode 100644 源码/src/main/java/com/kwxy/hyt/service/QjService.java create mode 100644 源码/src/main/java/com/kwxy/hyt/service/RecordService.java create mode 100644 源码/src/main/java/com/kwxy/hyt/service/SignService.java create mode 100644 源码/src/main/java/com/kwxy/hyt/service/StudentService.java create mode 100644 源码/src/main/java/com/kwxy/hyt/service/TeacherBjService.java create mode 100644 源码/src/main/java/com/kwxy/hyt/service/TeacherService.java create mode 100644 源码/src/main/java/com/kwxy/hyt/service/impl/BjServiceImpl.java create mode 100644 源码/src/main/java/com/kwxy/hyt/service/impl/FdyServiceImpl.java create mode 100644 源码/src/main/java/com/kwxy/hyt/service/impl/ManageServiceImpl.java create mode 100644 源码/src/main/java/com/kwxy/hyt/service/impl/QjServiceImpl.java create mode 100644 源码/src/main/java/com/kwxy/hyt/service/impl/RecordServiceImpl.java create mode 100644 源码/src/main/java/com/kwxy/hyt/service/impl/SignServiceImpl.java create mode 100644 源码/src/main/java/com/kwxy/hyt/service/impl/StudentServiceImpl.java create mode 100644 源码/src/main/java/com/kwxy/hyt/service/impl/TeacherBjServiceImpl.java create mode 100644 源码/src/main/java/com/kwxy/hyt/service/impl/TeacherServiceImpl.java create mode 100644 源码/src/main/java/com/kwxy/hyt/utils/DateUtil.java create mode 100644 源码/src/main/java/com/kwxy/hyt/utils/HttpConstants.java create mode 100644 源码/src/main/java/com/kwxy/hyt/utils/JsonUtil.java create mode 100644 源码/src/main/java/com/kwxy/hyt/utils/Pager.java create mode 100644 源码/src/main/java/com/kwxy/hyt/utils/SystemContext.java create mode 100644 源码/src/main/java/com/kwxy/hyt/utils/UUIDUtils.java create mode 100644 源码/src/main/resources/db.properties create mode 100644 源码/src/main/resources/log4j.properties create mode 100644 源码/src/main/resources/mybatis/sqlMapConfig.xml create mode 100644 源码/src/main/resources/spring/applicationContext-dao.xml create mode 100644 源码/src/main/resources/spring/applicationContext-service.xml create mode 100644 源码/src/main/resources/spring/applicationContext-transaction.xml create mode 100644 源码/src/main/resources/spring/springmvc.xml create mode 100644 源码/src/main/webapp/META-INF/MANIFEST.MF create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/base/BaseController.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/base/BaseDao.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/base/BaseService.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/base/BaseServiceImpl.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/BjController.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/FdyController.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/LoginController.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/ManageController.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/QjController.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/RecordController.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/SignController.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/StudentController.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/TeacherBjController.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/TeacherController.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/filter/SystemContextFilter.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/BjMapper.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/BjMapper.xml create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/FdyMapper.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/FdyMapper.xml create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/ManageMapper.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/ManageMapper.xml create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/QjMapper.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/QjMapper.xml create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/RecordMapper.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/RecordMapper.xml create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/SignMapper.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/SignMapper.xml create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/StudentMapper.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/StudentMapper.xml create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/TeacherBjMapper.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/TeacherBjMapper.xml create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/TeacherMapper.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/TeacherMapper.xml create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/po/Bj.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/po/Fdy.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/po/Manage.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/po/Qj.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/po/Record.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/po/Sign.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/po/Student.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/po/Teacher.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/po/TeacherBj.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/BjService.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/FdyService.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/ManageService.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/QjService.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/RecordService.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/SignService.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/StudentService.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/TeacherBjService.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/TeacherService.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/impl/BjServiceImpl.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/impl/FdyServiceImpl.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/impl/ManageServiceImpl.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/impl/QjServiceImpl.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/impl/RecordServiceImpl.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/impl/SignServiceImpl.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/impl/StudentServiceImpl.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/impl/TeacherBjServiceImpl.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/impl/TeacherServiceImpl.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/utils/DateUtil.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/utils/HttpConstants.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/utils/JsonUtil.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/utils/Pager.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/utils/SystemContext.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/utils/UUIDUtils.class create mode 100644 源码/src/main/webapp/WEB-INF/classes/db.properties create mode 100644 源码/src/main/webapp/WEB-INF/classes/log4j.properties create mode 100644 源码/src/main/webapp/WEB-INF/classes/mybatis/sqlMapConfig.xml create mode 100644 源码/src/main/webapp/WEB-INF/classes/spring/applicationContext-dao.xml create mode 100644 源码/src/main/webapp/WEB-INF/classes/spring/applicationContext-service.xml create mode 100644 源码/src/main/webapp/WEB-INF/classes/spring/applicationContext-transaction.xml create mode 100644 源码/src/main/webapp/WEB-INF/classes/spring/springmvc.xml create mode 100644 源码/src/main/webapp/WEB-INF/jsp/bj/add.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/bj/bj.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/bj/update.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/fdy/add.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/fdy/fdy.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/fdy/pass.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/fdy/update.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/login/index.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/login/login.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/login/mLogin.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/login/message.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/login/welcome.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/qj/add.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/qj/myadd.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/qj/myqj.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/qj/qj.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/qj/qjSign.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/qj/update.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/qj/view.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/record/fdyRecord.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/record/mysign.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/record/record.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/record/view.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/sign/add.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/sign/fdySign.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/sign/mybj.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/sign/mybj2.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/sign/sign.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/sign/update.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/student/add.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/student/pass.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/student/student.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/student/update.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/teacher/add.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/teacher/pass.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/teacher/teacher.jsp create mode 100644 源码/src/main/webapp/WEB-INF/jsp/teacher/update.jsp create mode 100644 源码/src/main/webapp/WEB-INF/lib/commons-codec-1.9.jar create mode 100644 源码/src/main/webapp/WEB-INF/lib/httpclient-4.2.5.jar create mode 100644 源码/src/main/webapp/WEB-INF/lib/httpcore-4.2.4.jar create mode 100644 源码/src/main/webapp/WEB-INF/lib/json.jar create mode 100644 源码/src/main/webapp/WEB-INF/lib/ojdbc6.jar create mode 100644 源码/src/main/webapp/WEB-INF/lib/ueditor-1.1.2.jar create mode 100644 源码/src/main/webapp/WEB-INF/tlds/c.tld create mode 100644 源码/src/main/webapp/WEB-INF/tlds/fmt.tld create mode 100644 源码/src/main/webapp/WEB-INF/tlds/fn.tld create mode 100644 源码/src/main/webapp/WEB-INF/tlds/pager-taglib.tld create mode 100644 源码/src/main/webapp/WEB-INF/web.xml create mode 100644 源码/src/main/webapp/common/footer.jsp create mode 100644 源码/src/main/webapp/common/menu.jsp create mode 100644 源码/src/main/webapp/common/taglibs.jsp create mode 100644 源码/src/main/webapp/common/top.jsp create mode 100644 源码/src/main/webapp/common/ufooter.jsp create mode 100644 源码/src/main/webapp/common/utop.jsp create mode 100644 源码/src/main/webapp/index.jsp create mode 100644 源码/src/main/webapp/js/jquery-1.4.4.min.js create mode 100644 源码/src/main/webapp/resource/assets/css/bui-min.css create mode 100644 源码/src/main/webapp/resource/assets/css/dpl-min.css create mode 100644 源码/src/main/webapp/resource/assets/css/main-min.css create mode 100644 源码/src/main/webapp/resource/assets/css/main.css create mode 100644 源码/src/main/webapp/resource/assets/css/page-min.css create mode 100644 源码/src/main/webapp/resource/assets/css/page.css create mode 100644 源码/src/main/webapp/resource/assets/css/prettify.css create mode 100644 源码/src/main/webapp/resource/assets/img/hide_list.png create mode 100644 源码/src/main/webapp/resource/assets/img/icon1.png create mode 100644 源码/src/main/webapp/resource/assets/img/icon2.png create mode 100644 源码/src/main/webapp/resource/assets/img/left-slib.gif create mode 100644 源码/src/main/webapp/resource/assets/img/main-nav-bg.png create mode 100644 源码/src/main/webapp/resource/assets/img/main-nav-bg1.png create mode 100644 源码/src/main/webapp/resource/assets/img/main-nav-bg2.png create mode 100644 源码/src/main/webapp/resource/assets/img/menu.jpg create mode 100644 源码/src/main/webapp/resource/assets/img/nav.jpg create mode 100644 源码/src/main/webapp/resource/assets/img/nav_selected.png create mode 100644 源码/src/main/webapp/resource/assets/img/resource.jpg create mode 100644 源码/src/main/webapp/resource/assets/img/top.png create mode 100644 源码/src/main/webapp/resource/assets/js/bui-min.js create mode 100644 源码/src/main/webapp/resource/assets/js/bui.js create mode 100644 源码/src/main/webapp/resource/assets/js/common/build.xml create mode 100644 源码/src/main/webapp/resource/assets/js/common/main-min.js create mode 100644 源码/src/main/webapp/resource/assets/js/common/main.js create mode 100644 源码/src/main/webapp/resource/assets/js/common/page-min.js create mode 100644 源码/src/main/webapp/resource/assets/js/common/page.js create mode 100644 源码/src/main/webapp/resource/assets/js/common/search-min.js create mode 100644 源码/src/main/webapp/resource/assets/js/common/search.js create mode 100644 源码/src/main/webapp/resource/assets/js/config-min.js create mode 100644 源码/src/main/webapp/resource/assets/js/config.js create mode 100644 源码/src/main/webapp/resource/assets/js/editor-min.js create mode 100644 源码/src/main/webapp/resource/assets/js/jquery-1.8.1.min.js create mode 100644 源码/src/main/webapp/resource/assets/js/module/build.xml create mode 100644 源码/src/main/webapp/resource/assets/js/prettify.js create mode 100644 源码/src/main/webapp/resource/assets/js/toolbar-min.js create mode 100644 源码/src/main/webapp/resource/assets/js/tree-min.js create mode 100644 源码/src/main/webapp/resource/boot/css/bootstrap-theme.css create mode 100644 源码/src/main/webapp/resource/boot/css/bootstrap-theme.css.map create mode 100644 源码/src/main/webapp/resource/boot/css/bootstrap-theme.min.css create mode 100644 源码/src/main/webapp/resource/boot/css/bootstrap.css create mode 100644 源码/src/main/webapp/resource/boot/css/bootstrap.css.map create mode 100644 源码/src/main/webapp/resource/boot/css/bootstrap.min.css create mode 100644 源码/src/main/webapp/resource/boot/fonts/glyphicons-halflings-regular.eot create mode 100644 源码/src/main/webapp/resource/boot/fonts/glyphicons-halflings-regular.svg create mode 100644 源码/src/main/webapp/resource/boot/fonts/glyphicons-halflings-regular.ttf create mode 100644 源码/src/main/webapp/resource/boot/fonts/glyphicons-halflings-regular.woff create mode 100644 源码/src/main/webapp/resource/boot/js/bootstrap.js create mode 100644 源码/src/main/webapp/resource/boot/js/bootstrap.min.js create mode 100644 源码/src/main/webapp/resource/boot/js/npm.js create mode 100644 源码/src/main/webapp/resource/calendar.css create mode 100644 源码/src/main/webapp/resource/calendar.js create mode 100644 源码/src/main/webapp/resource/css/app.css create mode 100644 源码/src/main/webapp/resource/css/base.css create mode 100644 源码/src/main/webapp/resource/css/bootstrap-responsive.css create mode 100644 源码/src/main/webapp/resource/css/bootstrap-responsive.min.css create mode 100644 源码/src/main/webapp/resource/css/bootstrap.css create mode 100644 源码/src/main/webapp/resource/css/bootstrap.min.css create mode 100644 源码/src/main/webapp/resource/css/doysu.min.css create mode 100644 源码/src/main/webapp/resource/css/style.css create mode 100644 源码/src/main/webapp/resource/fonts/FontAwesome.otf create mode 100644 源码/src/main/webapp/resource/fonts/fontawesome-webfont.eot create mode 100644 源码/src/main/webapp/resource/fonts/fontawesome-webfont.svg create mode 100644 源码/src/main/webapp/resource/fonts/fontawesome-webfont.ttf create mode 100644 源码/src/main/webapp/resource/fonts/fontawesome-webfont.woff create mode 100644 源码/src/main/webapp/resource/fonts/fontawesome-webfont.woff2 create mode 100644 源码/src/main/webapp/resource/front/Css/mobile_web.css create mode 100644 源码/src/main/webapp/resource/front/Image/home4.jpg create mode 100644 源码/src/main/webapp/resource/front/Image/icon-address.png create mode 100644 源码/src/main/webapp/resource/front/Image/icon-author.png create mode 100644 源码/src/main/webapp/resource/images/1.png create mode 100644 源码/src/main/webapp/resource/images/2.png create mode 100644 源码/src/main/webapp/resource/images/avatar.png create mode 100644 源码/src/main/webapp/resource/images/bg1.gif create mode 100644 源码/src/main/webapp/resource/images/bg3.gif create mode 100644 源码/src/main/webapp/resource/images/bg4.gif create mode 100644 源码/src/main/webapp/resource/images/check-icon.png create mode 100644 源码/src/main/webapp/resource/images/icon-pwd.png create mode 100644 源码/src/main/webapp/resource/images/icon-user.gif create mode 100644 源码/src/main/webapp/resource/images/logo(1).png create mode 100644 源码/src/main/webapp/resource/images/logo.png create mode 100644 源码/src/main/webapp/resource/images/pic.png create mode 100644 源码/src/main/webapp/resource/images/qq.png create mode 100644 源码/src/main/webapp/resource/images/qq2.png create mode 100644 源码/src/main/webapp/resource/images/spirit.png create mode 100644 源码/src/main/webapp/resource/images/xl.png create mode 100644 源码/src/main/webapp/resource/images/zhuji.png create mode 100644 源码/src/main/webapp/resource/images/未标题-2.png create mode 100644 源码/src/main/webapp/resource/js/TouchSlide.1.1.js create mode 100644 源码/src/main/webapp/resource/js/_notes/dwsync.xml create mode 100644 源码/src/main/webapp/resource/js/app.js create mode 100644 源码/src/main/webapp/resource/js/artDialog/artDialog.js create mode 100644 源码/src/main/webapp/resource/js/artDialog/artDialog.source.js create mode 100644 源码/src/main/webapp/resource/js/artDialog/index.html create mode 100644 源码/src/main/webapp/resource/js/artDialog/jquery.artDialog.js create mode 100644 源码/src/main/webapp/resource/js/artDialog/jquery.artDialog.source.js create mode 100644 源码/src/main/webapp/resource/js/artDialog/license.txt create mode 100644 源码/src/main/webapp/resource/js/artDialog/plugins/iframeTools.js create mode 100644 源码/src/main/webapp/resource/js/artDialog/plugins/iframeTools.source.js create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/aero.css create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/aero/aero_s.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/aero/aero_s2.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_close.hover.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_close.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_e.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_n.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_ne.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_nw.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_s.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_se.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_sw.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_title_icon.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_w.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/black.css create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/black/bg.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/black/bg2.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/black/bg_css3.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/black/bg_css3_2.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/black/ie6/close.hover.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/black/ie6/close.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/black/ie6/e.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/black/ie6/n.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/black/ie6/ne.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/black/ie6/nw.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/black/ie6/s.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/black/ie6/se.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/black/ie6/sw.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/black/ie6/w.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/blue.css create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/blue/bg.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/blue/bg2.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/blue/bg_css3.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/blue/bg_css3_2.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/blue/ie6/close.hover.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/blue/ie6/close.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/blue/ie6/e.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/blue/ie6/n.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/blue/ie6/ne.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/blue/ie6/nw.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/blue/ie6/s.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/blue/ie6/se.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/blue/ie6/sw.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/blue/ie6/w.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/chrome.css create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/chrome/border.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/chrome/chrome_s.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/default.css create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/green.css create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/green/bg.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/green/bg2.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/green/bg_css3.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/green/bg_css3_2.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/green/color_bg.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/close.hover.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/close.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/e.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/n.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/ne.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/nw.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/s.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/se.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/sw.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/w.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/icons/error.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/icons/face-sad.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/icons/face-smile.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/icons/loading.gif create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/icons/question.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/icons/succeed.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/icons/warning.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/idialog.css create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/idialog/idialog_s.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/idialog/idialog_s2.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/idialog/ie6/aui_close.hover.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/idialog/ie6/aui_close.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/idialog/ie6/aui_e.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/idialog/ie6/aui_n.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/idialog/ie6/aui_ne.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/idialog/ie6/aui_nw.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/idialog/ie6/aui_s.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/idialog/ie6/aui_se.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/idialog/ie6/aui_sw.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/idialog/ie6/aui_w.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/opera.css create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/opera/ie6/aui_close.hover.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/opera/ie6/aui_close.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/opera/ie6/aui_e.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/opera/ie6/aui_n.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/opera/ie6/aui_ne.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/opera/ie6/aui_nw.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/opera/ie6/aui_s.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/opera/ie6/aui_se.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/opera/ie6/aui_sw.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/opera/ie6/aui_w.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/opera/s1.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/opera/s2.png create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/simple.css create mode 100644 源码/src/main/webapp/resource/js/artDialog/skins/twitter.css create mode 100644 源码/src/main/webapp/resource/js/bootstrap.file-input.js create mode 100644 源码/src/main/webapp/resource/js/bootstrap.js create mode 100644 源码/src/main/webapp/resource/js/bootstrap.min.js create mode 100644 源码/src/main/webapp/resource/js/browser.js create mode 100644 源码/src/main/webapp/resource/js/ckform.js create mode 100644 源码/src/main/webapp/resource/js/common.js create mode 100644 源码/src/main/webapp/resource/js/doysu.legacy.js create mode 100644 源码/src/main/webapp/resource/js/doysu.min.js create mode 100644 源码/src/main/webapp/resource/js/echarts.js create mode 100644 源码/src/main/webapp/resource/js/echarts/echarts-all.js create mode 100644 源码/src/main/webapp/resource/js/formValidator.js create mode 100644 源码/src/main/webapp/resource/js/formValidatorRegex.js create mode 100644 源码/src/main/webapp/resource/js/jquery-1.8.3.min.js create mode 100644 源码/src/main/webapp/resource/js/jquery.SuperSlide.2.1.1.js create mode 100644 源码/src/main/webapp/resource/js/jquery.js create mode 100644 源码/src/main/webapp/resource/js/jquery.min.js create mode 100644 源码/src/main/webapp/resource/js/jquery.qqFace.js create mode 100644 源码/src/main/webapp/resource/js/polyfill/rem.min.js create mode 100644 源码/src/main/webapp/resource/js/polyfill/respond.min.js create mode 100644 源码/src/main/webapp/resource/la/css/bootstrap-table.css create mode 100644 源码/src/main/webapp/resource/la/css/bootstrap-theme.css create mode 100644 源码/src/main/webapp/resource/la/css/bootstrap-theme.css.map create mode 100644 源码/src/main/webapp/resource/la/css/bootstrap-theme.min.css create mode 100644 源码/src/main/webapp/resource/la/css/bootstrap.css create mode 100644 源码/src/main/webapp/resource/la/css/bootstrap.css.map create mode 100644 源码/src/main/webapp/resource/la/css/bootstrap.min.css create mode 100644 源码/src/main/webapp/resource/la/css/datepicker.css create mode 100644 源码/src/main/webapp/resource/la/css/datepicker3.css create mode 100644 源码/src/main/webapp/resource/la/css/styles.css create mode 100644 源码/src/main/webapp/resource/la/fonts/glyphicons-halflings-regular.eot create mode 100644 源码/src/main/webapp/resource/la/fonts/glyphicons-halflings-regular.svg create mode 100644 源码/src/main/webapp/resource/la/fonts/glyphicons-halflings-regular.ttf create mode 100644 源码/src/main/webapp/resource/la/fonts/glyphicons-halflings-regular.woff create mode 100644 源码/src/main/webapp/resource/la/js/bootstrap-datepicker.js create mode 100644 源码/src/main/webapp/resource/la/js/bootstrap-table.js create mode 100644 源码/src/main/webapp/resource/la/js/bootstrap.js create mode 100644 源码/src/main/webapp/resource/la/js/bootstrap.min.js create mode 100644 源码/src/main/webapp/resource/la/js/chart-data.js create mode 100644 源码/src/main/webapp/resource/la/js/chart.min.js create mode 100644 源码/src/main/webapp/resource/la/js/easypiechart-data.js create mode 100644 源码/src/main/webapp/resource/la/js/easypiechart.js create mode 100644 源码/src/main/webapp/resource/la/js/html5shiv.min.js create mode 100644 源码/src/main/webapp/resource/la/js/jquery-1.11.1.min.js create mode 100644 源码/src/main/webapp/resource/la/js/respond.min.js create mode 100644 源码/src/main/webapp/resource/la/tables/data1.json create mode 100644 源码/src/main/webapp/resource/la/tables/data2.json create mode 100644 源码/src/main/webapp/resource/layui/css/layui.css create mode 100644 源码/src/main/webapp/resource/layui/css/layui.mobile.css create mode 100644 源码/src/main/webapp/resource/layui/css/modules/code.css create mode 100644 源码/src/main/webapp/resource/layui/css/modules/laydate/default/laydate.css create mode 100644 源码/src/main/webapp/resource/layui/css/modules/layer/default/icon-ext.png create mode 100644 源码/src/main/webapp/resource/layui/css/modules/layer/default/icon.png create mode 100644 源码/src/main/webapp/resource/layui/css/modules/layer/default/layer.css create mode 100644 源码/src/main/webapp/resource/layui/css/modules/layer/default/loading-0.gif create mode 100644 源码/src/main/webapp/resource/layui/css/modules/layer/default/loading-1.gif create mode 100644 源码/src/main/webapp/resource/layui/css/modules/layer/default/loading-2.gif create mode 100644 源码/src/main/webapp/resource/layui/font/iconfont.eot create mode 100644 源码/src/main/webapp/resource/layui/font/iconfont.svg create mode 100644 源码/src/main/webapp/resource/layui/font/iconfont.ttf create mode 100644 源码/src/main/webapp/resource/layui/font/iconfont.woff create mode 100644 源码/src/main/webapp/resource/layui/images/face/0.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/1.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/10.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/11.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/12.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/13.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/14.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/15.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/16.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/17.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/18.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/19.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/2.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/20.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/21.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/22.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/23.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/24.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/25.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/26.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/27.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/28.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/29.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/3.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/30.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/31.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/32.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/33.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/34.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/35.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/36.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/37.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/38.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/39.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/4.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/40.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/41.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/42.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/43.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/44.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/45.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/46.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/47.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/48.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/49.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/5.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/50.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/51.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/52.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/53.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/54.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/55.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/56.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/57.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/58.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/59.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/6.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/60.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/61.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/62.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/63.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/64.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/65.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/66.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/67.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/68.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/69.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/7.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/70.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/71.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/8.gif create mode 100644 源码/src/main/webapp/resource/layui/images/face/9.gif create mode 100644 源码/src/main/webapp/resource/layui/lay/modules/carousel.js create mode 100644 源码/src/main/webapp/resource/layui/lay/modules/code.js create mode 100644 源码/src/main/webapp/resource/layui/lay/modules/colorpicker.js create mode 100644 源码/src/main/webapp/resource/layui/lay/modules/element.js create mode 100644 源码/src/main/webapp/resource/layui/lay/modules/flow.js create mode 100644 源码/src/main/webapp/resource/layui/lay/modules/form.js create mode 100644 源码/src/main/webapp/resource/layui/lay/modules/jquery.js create mode 100644 源码/src/main/webapp/resource/layui/lay/modules/laydate.js create mode 100644 源码/src/main/webapp/resource/layui/lay/modules/layedit.js create mode 100644 源码/src/main/webapp/resource/layui/lay/modules/layer.js create mode 100644 源码/src/main/webapp/resource/layui/lay/modules/laypage.js create mode 100644 源码/src/main/webapp/resource/layui/lay/modules/laytpl.js create mode 100644 源码/src/main/webapp/resource/layui/lay/modules/mobile.js create mode 100644 源码/src/main/webapp/resource/layui/lay/modules/rate.js create mode 100644 源码/src/main/webapp/resource/layui/lay/modules/slider.js create mode 100644 源码/src/main/webapp/resource/layui/lay/modules/table.js create mode 100644 源码/src/main/webapp/resource/layui/lay/modules/tree.js create mode 100644 源码/src/main/webapp/resource/layui/lay/modules/upload.js create mode 100644 源码/src/main/webapp/resource/layui/lay/modules/util.js create mode 100644 源码/src/main/webapp/resource/layui/layui.all.js create mode 100644 源码/src/main/webapp/resource/layui/layui.js create mode 100644 源码/src/main/webapp/resource/lib/Hui-iconfont/1.0.7/demo.html create mode 100644 源码/src/main/webapp/resource/lib/Hui-iconfont/1.0.7/iconfont.css create mode 100644 源码/src/main/webapp/resource/lib/Hui-iconfont/1.0.7/iconfont.eot create mode 100644 源码/src/main/webapp/resource/lib/Hui-iconfont/1.0.7/iconfont.svg create mode 100644 源码/src/main/webapp/resource/lib/Hui-iconfont/1.0.7/iconfont.ttf create mode 100644 源码/src/main/webapp/resource/lib/Hui-iconfont/1.0.7/iconfont.woff create mode 100644 源码/src/main/webapp/resource/lib/My97DatePicker/WdatePicker.js create mode 100644 源码/src/main/webapp/resource/lib/My97DatePicker/calendar.js create mode 100644 源码/src/main/webapp/resource/lib/My97DatePicker/lang/en.js create mode 100644 源码/src/main/webapp/resource/lib/My97DatePicker/lang/zh-cn.js create mode 100644 源码/src/main/webapp/resource/lib/My97DatePicker/lang/zh-tw.js create mode 100644 源码/src/main/webapp/resource/lib/My97DatePicker/skin/Thumbs.db create mode 100644 源码/src/main/webapp/resource/lib/My97DatePicker/skin/WdatePicker.css create mode 100644 源码/src/main/webapp/resource/lib/My97DatePicker/skin/datePicker.gif create mode 100644 源码/src/main/webapp/resource/lib/My97DatePicker/skin/default/datepicker.css create mode 100644 源码/src/main/webapp/resource/lib/My97DatePicker/skin/default/img.gif create mode 100644 源码/src/main/webapp/resource/lib/My97DatePicker/skin/twoer/datepicker-dev.css create mode 100644 源码/src/main/webapp/resource/lib/My97DatePicker/skin/twoer/datepicker.css create mode 100644 源码/src/main/webapp/resource/lib/My97DatePicker/skin/twoer/img.gif create mode 100644 源码/src/main/webapp/resource/lib/My97DatePicker/skin/twoer/img.png create mode 100644 源码/src/main/webapp/resource/lib/My97DatePicker/skin/whyGreen/bg.jpg create mode 100644 源码/src/main/webapp/resource/lib/My97DatePicker/skin/whyGreen/datepicker.css create mode 100644 源码/src/main/webapp/resource/lib/My97DatePicker/skin/whyGreen/img.gif create mode 100644 源码/src/main/webapp/resource/lib/icheck/Thumbs.db create mode 100644 源码/src/main/webapp/resource/lib/icheck/aero.png create mode 100644 源码/src/main/webapp/resource/lib/icheck/aero@2x.png create mode 100644 源码/src/main/webapp/resource/lib/icheck/blue.png create mode 100644 源码/src/main/webapp/resource/lib/icheck/blue@2x.png create mode 100644 源码/src/main/webapp/resource/lib/icheck/green.png create mode 100644 源码/src/main/webapp/resource/lib/icheck/green@2x.png create mode 100644 源码/src/main/webapp/resource/lib/icheck/grey.png create mode 100644 源码/src/main/webapp/resource/lib/icheck/grey@2x.png create mode 100644 源码/src/main/webapp/resource/lib/icheck/icheck.css create mode 100644 源码/src/main/webapp/resource/lib/icheck/jquery.icheck.min.js create mode 100644 源码/src/main/webapp/resource/lib/icheck/minimal.png create mode 100644 源码/src/main/webapp/resource/lib/icheck/minimal@2x.png create mode 100644 源码/src/main/webapp/resource/lib/icheck/orange.png create mode 100644 源码/src/main/webapp/resource/lib/icheck/orange@2x.png create mode 100644 源码/src/main/webapp/resource/lib/icheck/pink.png create mode 100644 源码/src/main/webapp/resource/lib/icheck/pink@2x.png create mode 100644 源码/src/main/webapp/resource/lib/icheck/purple.png create mode 100644 源码/src/main/webapp/resource/lib/icheck/purple@2x.png create mode 100644 源码/src/main/webapp/resource/lib/icheck/red.png create mode 100644 源码/src/main/webapp/resource/lib/icheck/red@2x.png create mode 100644 源码/src/main/webapp/resource/lib/icheck/yellow.png create mode 100644 源码/src/main/webapp/resource/lib/icheck/yellow@2x.png create mode 100644 源码/src/main/webapp/resource/lib/jquery.validation/1.14.0/additional-methods.js create mode 100644 源码/src/main/webapp/resource/lib/jquery.validation/1.14.0/additional-methods.min.js create mode 100644 源码/src/main/webapp/resource/lib/jquery.validation/1.14.0/jquery.validate.js create mode 100644 源码/src/main/webapp/resource/lib/jquery.validation/1.14.0/jquery.validate.min.js create mode 100644 源码/src/main/webapp/resource/lib/jquery.validation/1.14.0/messages_zh.js create mode 100644 源码/src/main/webapp/resource/lib/jquery.validation/1.14.0/messages_zh.min.js create mode 100644 源码/src/main/webapp/resource/lib/jquery.validation/1.14.0/validate-methods.js create mode 100644 源码/src/main/webapp/resource/lib/jquery/1.9.1/jquery.js create mode 100644 源码/src/main/webapp/resource/lib/jquery/1.9.1/jquery.min.js create mode 100644 源码/src/main/webapp/resource/lib/layer/1.9.3/demo.html create mode 100644 源码/src/main/webapp/resource/lib/layer/1.9.3/doc/jquery下载.url create mode 100644 源码/src/main/webapp/resource/lib/layer/1.9.3/doc/layer交流.url create mode 100644 源码/src/main/webapp/resource/lib/layer/1.9.3/doc/layer官网.url create mode 100644 源码/src/main/webapp/resource/lib/layer/1.9.3/extend/layer.ext.js create mode 100644 源码/src/main/webapp/resource/lib/layer/1.9.3/layer.js create mode 100644 源码/src/main/webapp/resource/lib/layer/1.9.3/skin/default/icon-ext.png create mode 100644 源码/src/main/webapp/resource/lib/layer/1.9.3/skin/default/icon.png create mode 100644 源码/src/main/webapp/resource/lib/layer/1.9.3/skin/default/loading-0.gif create mode 100644 源码/src/main/webapp/resource/lib/layer/1.9.3/skin/default/loading-1.gif create mode 100644 源码/src/main/webapp/resource/lib/layer/1.9.3/skin/default/loading-2.gif create mode 100644 源码/src/main/webapp/resource/lib/layer/1.9.3/skin/layer.css create mode 100644 源码/src/main/webapp/resource/lib/layer/1.9.3/skin/layer.ext.css create mode 100644 源码/src/main/webapp/resource/lib/layer/1.9.3/skin/mono/default.png create mode 100644 源码/src/main/webapp/resource/lib/layer/1.9.3/skin/mono/style.css create mode 100644 源码/src/main/webapp/resource/lib/layer/1.9.3/更新日志.txt create mode 100644 源码/src/main/webapp/resource/lib/layer/2.1/demo.html create mode 100644 源码/src/main/webapp/resource/lib/layer/2.1/doc/jquery下载.url create mode 100644 源码/src/main/webapp/resource/lib/layer/2.1/doc/layer交流.url create mode 100644 源码/src/main/webapp/resource/lib/layer/2.1/doc/layer官网.url create mode 100644 源码/src/main/webapp/resource/lib/layer/2.1/extend/layer.ext.js create mode 100644 源码/src/main/webapp/resource/lib/layer/2.1/layer.js create mode 100644 源码/src/main/webapp/resource/lib/layer/2.1/skin/default/icon-ext.png create mode 100644 源码/src/main/webapp/resource/lib/layer/2.1/skin/default/icon.png create mode 100644 源码/src/main/webapp/resource/lib/layer/2.1/skin/default/loading-0.gif create mode 100644 源码/src/main/webapp/resource/lib/layer/2.1/skin/default/loading-1.gif create mode 100644 源码/src/main/webapp/resource/lib/layer/2.1/skin/default/loading-2.gif create mode 100644 源码/src/main/webapp/resource/lib/layer/2.1/skin/layer.css create mode 100644 源码/src/main/webapp/resource/lib/layer/2.1/skin/layer.ext.css create mode 100644 源码/src/main/webapp/resource/lib/layer/2.1/更新日志.txt create mode 100644 源码/src/main/webapp/resource/lib/laypage/1.2/laypage.js create mode 100644 源码/src/main/webapp/resource/lib/laypage/1.2/skin/laypage.css create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/Uploader.swf create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/cropper/cropper.js create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/cropper/index.html create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/cropper/uploader.js create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/expressInstall.swf create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/image-upload/index.html create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/image-upload/upload.js create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/images/Thumbs.db create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/images/bg.png create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/images/icons.png create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/images/icons.psd create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/images/image.png create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/images/progress.png create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/images/progress.psd create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/images/success.png create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/md5-demo/index.html create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/md5-demo/script.js create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/requirejs/app.js create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/requirejs/index.html create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/requirejs/require.js create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/server/crossdomain.xml create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/server/fileupload.php create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/server/fileupload2.php create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/server/preview.php create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/webuploader.css create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/webuploader.custom.js create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/webuploader.custom.min.js create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/webuploader.fis.js create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/webuploader.flashonly.js create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/webuploader.flashonly.min.js create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/webuploader.html5only.js create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/webuploader.html5only.min.js create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/webuploader.js create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/webuploader.min.js create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/webuploader.noimage.js create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/webuploader.noimage.min.js create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/webuploader.nolog.js create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/webuploader.nolog.min.js create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/webuploader.withoutimage.js create mode 100644 源码/src/main/webapp/resource/lib/webuploader/0.1.5/webuploader.withoutimage.min.js create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/css/H-ui.admin.css create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/css/H-ui.login.css create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/css/style.css create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/images/acrossTab/acrossTab-2.png create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/images/admin-login-bg.jpg create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/images/admin-loginform-bg.png create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/images/loading.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/images/logo.png create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/js/H-ui.admin.js create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/js/de_DE.txt create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/blue/Thumbs.db create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/blue/acrossTab-bg.png create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/blue/acrossTab.png create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/blue/icon_arrow.png create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/blue/skin.css create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/default/Thumbs.db create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/default/acrossTab-bg.png create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/default/acrossTab.png create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/default/icon_arrow.png create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/default/skin.css create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/green/Thumbs.db create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/green/acrossTab-bg.png create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/green/acrossTab.png create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/green/icon_arrow.png create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/green/skin.css create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/orange/Thumbs.db create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/orange/acrossTab-bg.png create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/orange/acrossTab.png create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/orange/icon_arrow.png create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/orange/skin.css create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/red/Thumbs.db create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/red/acrossTab-bg.png create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/red/acrossTab.png create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/red/icon_arrow.png create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/red/skin.css create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/yellow/Thumbs.db create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/yellow/acrossTab-bg.png create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/yellow/acrossTab.png create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/yellow/icon_arrow.png create mode 100644 源码/src/main/webapp/resource/static/h-ui.admin/skin/yellow/skin.css create mode 100644 源码/src/main/webapp/resource/static/h-ui/css/H-ui.css create mode 100644 源码/src/main/webapp/resource/static/h-ui/css/H-ui.ie.css create mode 100644 源码/src/main/webapp/resource/static/h-ui/css/H-ui.min.css create mode 100644 源码/src/main/webapp/resource/static/h-ui/css/H-ui.reset.css create mode 100644 源码/src/main/webapp/resource/static/h-ui/css/csshover.htc create mode 100644 源码/src/main/webapp/resource/static/h-ui/css/ie-css3.htc create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/Hui-tags/empty.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/Thumbs.db create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/acrossTab/acrossTab-bg.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/acrossTab/acrossTab-close.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/acrossTab/acrossTab.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/acrossTab/unslider-arrow.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/acrossTab/unslider-arrow2.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/backdrop.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/dataTable/sort_asc.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/dataTable/sort_both.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/dataTable/sort_desc.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/dropDown/icon-jt.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/201.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/202.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/203.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/204.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/205.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/206.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/207.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/208.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/209.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/210.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/0.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/1.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/10.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/100.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/101.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/102.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/103.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/104.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/105.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/106.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/11.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/12.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/13.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/14.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/15.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/16.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/18.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/19.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/2.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/20.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/21.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/22.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/23.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/24.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/25.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/26.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/27.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/28.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/29.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/3.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/30.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/31.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/32.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/33.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/34.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/35.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/36.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/37.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/38.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/39.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/4.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/40.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/41.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/42.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/43.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/44.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/45.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/46.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/47.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/48.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/49.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/5.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/50.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/51.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/52.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/53.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/54.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/55.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/56.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/57.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/58.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/59.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/6.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/60.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/61.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/62.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/63.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/64.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/65.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/66.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/67.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/68.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/69.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/7.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/70.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/71.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/72.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/73.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/74.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/75.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/76.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/77.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/78.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/79.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/8.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/80.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/81.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/82.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/83.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/84.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/85.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/86.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/87.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/88.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/89.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/9.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/90.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/91.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/92.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/93.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/94.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/95.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/96.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/97.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/98.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/QQ/99.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/face/Thumbs.db create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/icon-arrow.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/jselect/iconpic-arrow-down2.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/loading-b.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/loading-s.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/steps/step_arrow-active.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/steps/step_arrow.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/steps/step_bg-active.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/steps/step_bg.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/ucnter/Thumbs.db create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/ucnter/avatar-default-S.gif create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/ucnter/avatar-default.jpg create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/ucnter/avatar.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/validform/iconpic-error.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/validform/iconpic-right.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/validform/iconpic-warning.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/verticalTab/tabNav-active.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/verticalTab/tabNav-hover.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/verticalTab/tabNav.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/verticalTab/tabNav_right-active.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/verticalTab/tabNav_right-hover.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/verticalTab/tabNav_right.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/images/verticalTab/tab_bg.png create mode 100644 源码/src/main/webapp/resource/static/h-ui/js/H-ui.js create mode 100644 源码/target/m2e-wtp/web-resources/META-INF/MANIFEST.MF create mode 100644 源码/target/m2e-wtp/web-resources/META-INF/maven/ssm_xsktsign/ssm_xsktsign/pom.properties create mode 100644 源码/target/m2e-wtp/web-resources/META-INF/maven/ssm_xsktsign/ssm_xsktsign/pom.xml create mode 100644 第26组_软件工程导论_课设报告-.zip diff --git a/源码/.classpath b/源码/.classpath new file mode 100644 index 0000000..2df430f --- /dev/null +++ b/源码/.classpath @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/源码/.project b/源码/.project new file mode 100644 index 0000000..b55ab72 --- /dev/null +++ b/源码/.project @@ -0,0 +1,37 @@ + + + ssm_xsktsign + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + org.eclipse.wst.validation.validationbuilder + + + + + + org.eclipse.jem.workbench.JavaEMFNature + org.eclipse.wst.common.modulecore.ModuleCoreNature + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.wst.jsdt.core.jsNature + + diff --git a/源码/.settings/.jsdtscope b/源码/.settings/.jsdtscope new file mode 100644 index 0000000..2418123 --- /dev/null +++ b/源码/.settings/.jsdtscope @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/源码/.settings/org.eclipse.core.resources.prefs b/源码/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..e9441bb --- /dev/null +++ b/源码/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding/=UTF-8 diff --git a/源码/.settings/org.eclipse.jdt.core.prefs b/源码/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..4e4a3ad --- /dev/null +++ b/源码/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,9 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/源码/.settings/org.eclipse.m2e.core.prefs b/源码/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/源码/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/源码/.settings/org.eclipse.wst.common.component b/源码/.settings/org.eclipse.wst.common.component new file mode 100644 index 0000000..1702cee --- /dev/null +++ b/源码/.settings/org.eclipse.wst.common.component @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/源码/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml b/源码/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml new file mode 100644 index 0000000..6d59853 --- /dev/null +++ b/源码/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/源码/.settings/org.eclipse.wst.common.project.facet.core.xml b/源码/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 0000000..e9fd478 --- /dev/null +++ b/源码/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/源码/.settings/org.eclipse.wst.jsdt.ui.superType.container b/源码/.settings/org.eclipse.wst.jsdt.ui.superType.container new file mode 100644 index 0000000..3bd5d0a --- /dev/null +++ b/源码/.settings/org.eclipse.wst.jsdt.ui.superType.container @@ -0,0 +1 @@ +org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file diff --git a/源码/.settings/org.eclipse.wst.jsdt.ui.superType.name b/源码/.settings/org.eclipse.wst.jsdt.ui.superType.name new file mode 100644 index 0000000..05bd71b --- /dev/null +++ b/源码/.settings/org.eclipse.wst.jsdt.ui.superType.name @@ -0,0 +1 @@ +Window \ No newline at end of file diff --git a/源码/.settings/org.eclipse.wst.validation.prefs b/源码/.settings/org.eclipse.wst.validation.prefs new file mode 100644 index 0000000..04cad8c --- /dev/null +++ b/源码/.settings/org.eclipse.wst.validation.prefs @@ -0,0 +1,2 @@ +disabled=06target +eclipse.preferences.version=1 diff --git a/源码/pom.xml b/源码/pom.xml new file mode 100644 index 0000000..6ddb98e --- /dev/null +++ b/源码/pom.xml @@ -0,0 +1,260 @@ + + 4.0.0 + ssm_xsktsign + ssm_xsktsign + 0.0.1-SNAPSHOT + war + + + + UTF-8 + 4.1.4.RELEASE + + 3.2.8 + + 1.7.7 + 1.2.17 + + + + junit + junit + 4.11 + + test + + + + + org.testng + testng + 6.3.1 + test + + + + + + + + org.springframework + spring-core + ${spring.version} + + + org.springframework + spring-web + ${spring.version} + + + org.springframework + spring-oxm + ${spring.version} + + + org.springframework + spring-tx + ${spring.version} + + + org.springframework + spring-jdbc + ${spring.version} + + + org.springframework + spring-webmvc + ${spring.version} + + + org.springframework + spring-aop + ${spring.version} + + + org.springframework + spring-context-support + ${spring.version} + + + org.springframework + spring-test + ${spring.version} + + + + org.springframework + spring-orm + ${spring.version} + + + + org.aspectj + aspectjweaver + 1.8.5 + + + + cglib + cglib + 3.1 + + + + + org.hibernate + hibernate-validator + 5.1.0.Final + + + + + javax.validation + validation-api + 1.1.0.Final + + + + + + + com.fasterxml.jackson.core + jackson-annotations + 2.6.3 + + + com.fasterxml.jackson.core + jackson-core + 2.6.3 + + + com.fasterxml.jackson.core + jackson-databind + 2.6.3 + + + com.alibaba + fastjson + 1.2.11 + + + + org.mybatis + mybatis + ${mybatis.version} + + + + org.mybatis + mybatis-spring + 1.2.2 + + + + + com.github.miemiedev + mybatis-paginator + 1.2.15 + + + + + javax + javaee-api + 7.0 + + + + + + + commons-dbcp + commons-dbcp + 1.2.2 + + + + + jstl + jstl + 1.2 + + + + + + log4j + log4j + ${log4j.version} + + + + mysql + mysql-connector-java + 5.1.6 + + + + commons-fileupload + commons-fileupload + 1.3.1 + + + commons-io + commons-io + 2.4 + + + + + commons-logging + commons-logging + 1.1.1 + + + + com.github.pagehelper + pagehelper + 4.2.1 + + + + jsptags + pager-taglib + 2.0 + + + + + ${basedir}/src/main/java + ${basedir}/src/main/webapp/WEB-INF/classes + + + ${basedir}/resources + + **/*.java + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.8 + 1.8 + + + + org.apache.maven.plugins + maven-war-plugin + 2.6 + + false + + + + + \ No newline at end of file diff --git a/源码/src/main/java/com/kwxy/hyt/base/BaseController.java b/源码/src/main/java/com/kwxy/hyt/base/BaseController.java new file mode 100644 index 0000000..bb28e00 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/base/BaseController.java @@ -0,0 +1,83 @@ +package com.kwxy.hyt.base; +import java.io.Serializable; +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.alibaba.fastjson.JSONObject; + +/** + * Controller基类 + */ +public class BaseController { + + protected Logger logger = LoggerFactory.getLogger(this.getClass()); + + protected final static String DATE_FORMATE = "yyyy-MM-dd"; + + /** + * 返回服务端处理结果 + * + * @param obj + * 服务端输出对象 + * @return 输出处理结果给前段JSON格式数据 + */ + public String responseResult(Object obj) { + String jsonObj = null; + if (obj != null) { + logger.info("后端返回对象:{}", obj); + jsonObj = JSONObject.toJSONString(obj); + logger.info("后端返回数据:" + jsonObj); + } + logger.info("输出结果:{}", jsonObj); + return jsonObj; + } + + + // 下面是判断null的操作 + + public boolean isEmpty(String str) { + return (null == str) || (str.trim().length() <= 0); + } + + public boolean isEmpty(Character cha) { + return (null == cha) || cha.equals(' '); + } + + public boolean isEmpty(Object obj) { + return (null == obj); + } + + public boolean isEmpty(Object[] objs) { + return (null == objs) || (objs.length <= 0); + } + + public boolean isEmpty(Collection obj) { + return (null == obj) || obj.isEmpty(); + } + + public boolean isEmpty(Set set) { + return (null == set) || set.isEmpty(); + } + + public boolean isEmpty(Serializable obj) { + return null == obj; + } + + public boolean isEmpty(Map map) { + return (null == map) || map.isEmpty(); + } + + /** + * + * 获得map + * @return + */ + public Map getMap(){ + return new HashMap(); + } +} diff --git a/源码/src/main/java/com/kwxy/hyt/base/BaseDao.java b/源码/src/main/java/com/kwxy/hyt/base/BaseDao.java new file mode 100644 index 0000000..164e553 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/base/BaseDao.java @@ -0,0 +1,191 @@ +package com.kwxy.hyt.base; + +import java.io.Serializable; +import java.util.List; +import java.util.Map; + +import org.apache.ibatis.annotations.Param; + +import com.kwxy.hyt.utils.Pager; + + +/** + * 基础dao封装一些简单的方法 + * @author + * + */ +public interface BaseDao{ + /** + * 插入一个实体 + * @param entity + */ + int insert(T entity) ; + + T save(T entity) ; + + /** + * 根据实体主键删除一个实体 + * @param primaryKey + */ + void deleteById(Serializable id); + + /** + * 通过实体删除 + * @param entity + */ + void deleteByEntity(T entity); + + /** + * 通过map删除 + * @param params + */ + void deleteByMap(Map params); + + /** + * 更新一个实体 + * @param entity + */ + void update(T entity); + + /** + * 通过id进行修改 + * @param id + */ + void updateById(T entity); + + + /** + * 根据参数查询 + * @param clz + * @param params + * @return + */ + public List listByMap(Map params); + + /** + * 查询所有实体 + * @return + */ + List listAll(); + + /** + * 查询所有实体,根据实体属性值为判断条件查询所有实体, + * @param entity + * @return + */ + List listAllByEntity(T entity); + + /** + * 根据主键获取一个实体 + * @param primaryKey + * @return + */ + T load(Serializable id); + + /** + * 根据主键获取一个实体 + * @param id + * @return + */ + T getById(Serializable id); + + /** + * 通过map查询 + * @param params + * @return + */ + T getByMap(Map params); + + /** + * 通过对象查询 + * @param entity + * @return + */ + T getByEntity(T entity); + + + //=======================一下是分页方法================================ + /** + * 默认 sqlId find是分页 + * @param sqlId + * @param params + * @return + */ + public List findByMap(Map params); + + + /** + * 通过对象查询分页 + * @param entity + * @return + */ + public List findByEntity(T entity); + /** + * 需要自己写count的分页 + * @param sqlId + * @param params + * @return + */ + public List findByCount(Map params); + + /** + * 批量新增 + * @param list + */ + public void insertBatch(List list); + + /** + * 批量修改 + * @param list + */ + public void updateBatch(List list); + + //==============================封装纯sql语法================================ + + /** + * 查询一个对象返回map + * @param sql + * @return + */ + public Map getBySqlReturnMap(@Param("sql")String sql); + + /** + * 查询一个对象返回实体类 + * @param sql + * @return + */ + public T getBySqlReturnEntity(@Param("sql")String sql); + + /** + * 查询列表返回map + * @param sql + * @return + */ + public List> listBySqlReturnMap(@Param("sql")String sql); + + /** + * 查询列表返回实体 + * @param sql + * @return + */ + public List listBySqlReturnEntity(@Param("sql")String sql); + + /** + * 查询分页 + * @param sql + * @return + */ + public List findBySqlRerturnEntity(@Param("sql")String sql); + + /** + * 通过sql修改 + * @param sql + */ + public void updateBysql(@Param("sql")String sql); + + /** + * 通过sql删除 + * @param sql + */ + public void deleteBySql(@Param("sql")String sql); +} diff --git a/源码/src/main/java/com/kwxy/hyt/base/BaseService.java b/源码/src/main/java/com/kwxy/hyt/base/BaseService.java new file mode 100644 index 0000000..f835023 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/base/BaseService.java @@ -0,0 +1,180 @@ +package com.kwxy.hyt.base; + +import java.io.Serializable; +import java.util.List; +import java.util.Map; + +import org.apache.ibatis.annotations.Param; + +import com.kwxy.hyt.utils.Pager; + + +public interface BaseService { + /** + * 插入一个实体 + * @param entity + */ + int insert(T entity) ; + + + + /** + * 根据实体主键删除一个实体 + * @param primaryKey + */ + void deleteById(Serializable id); + + /** + * 更新一个实体 + * @param entity + */ + void update(T entity); + + /** + * 通过id进行修改 + * @param id + */ + void updateById(T entity); + + /** + * 通过实体删除 + * @param entity + */ + void deleteByEntity(T entity); + + /** + * 通过map删除 + * @param params + */ + void deleteByMap(Map params); + + /** + * 根据参数查询 + * @param clz + * @param params + * @return + */ + public List listByMap(Map params); + + /** + * 查询所有实体 + * @return + */ + List listAll(); + + /** + * 查询所有实体,根据实体属性值为判断条件查询所有实体, + * @param entity + * @return + */ + List listAllByEntity(T entity); + + /** + * 根据主键获取一个实体 + * @param primaryKey + * @return + */ + T load(Serializable id); + + /** + * 根据主键获取一个实体 + * @param id + * @return + */ + T getById(Serializable id); + + /** + * 通过map查询 + * @param params + * @return + */ + T getByMap(Map params); + + /** + * 通过对象查询 + * @param entity + * @return + */ + T getByEntity(T entity); + + + //=======================一下是分页方法================================ + /** + * 默认 sqlId find是分页 + * @param sqlId + * @param params + * @return + */ + public Pager findByMap(Map params); + + + /** + * 通过对象查询分页 + * @param entity + * @return + */ + public Pager findByEntity(T entity); + + /** + * 批量新增 + * @param list + */ + public void insertBatch(List list); + + /** + * 批量修改 + * @param list + */ + public void updateBatch(List list); + + + //============================通过sql========================================= + + /** + * 查询一个对象返回map + * @param sql + * @return + */ + public Map getBySql(@Param("sql")String sql); + + /** + * 查询一个对象返回实体类 + * @param sql + * @return + */ + public T getBySqlReturnEntity(@Param("sql")String sql); + + /** + * 查询列表返回map + * @param sql + * @return + */ + public List> listBySqlReturnMap(@Param("sql")String sql); + + /** + * 查询列表返回实体 + * @param sql + * @return + */ + public List listBySqlReturnEntity(@Param("sql")String sql); + + /** + * 查询分页 + * @param sql + * @return + */ + public Pager findBySqlRerturnEntity(@Param("sql")String sql); + + /** + * 通过sql修改 + * @param sql + */ + public void updateBysql(@Param("sql")String sql); + + /** + * 通过sql删除 + * @param sql + */ + public void deleteBySql(@Param("sql")String sql); + +} diff --git a/源码/src/main/java/com/kwxy/hyt/base/BaseServiceImpl.java b/源码/src/main/java/com/kwxy/hyt/base/BaseServiceImpl.java new file mode 100644 index 0000000..422445f --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/base/BaseServiceImpl.java @@ -0,0 +1,319 @@ +package com.kwxy.hyt.base; + + +import java.io.Serializable; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.ibatis.session.SqlSession; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.github.pagehelper.PageHelper; +import com.kwxy.hyt.utils.Pager; +import com.kwxy.hyt.utils.SystemContext; + + +public abstract class BaseServiceImpl implements BaseService{ + + private BaseDao baseDao; + public abstract BaseDao getBaseDao(); + + /** + * 插入一个实体 + * @param entity + */ + public int insert(T entity) { + return this.getBaseDao().insert(entity); + } + + /** + * 根据实体主键删除一个实体 + * @param primaryKey + */ + public void deleteById(Serializable id) { + this.getBaseDao().deleteById(id); + } + + + /** + * 通过实体删除 + */ + public void deleteByEntity(T entity) { + this.getBaseDao().deleteByEntity(entity); + } + + /** + * 通过map删除 + */ + public void deleteByMap(Map params) { + this.getBaseDao().deleteByMap(params); + } + + /** + * 更新一个实体 + * @param entity + */ + public void update(T entity) { + this.getBaseDao().update(entity); + } + + + /** + * 通过id进行修改 + * @param id + */ + public void updateById(T entity) { + this.getBaseDao().updateById(entity); + } + + /** + * 根据参数查询 + * @param clz + * @param params + * @return + */ + public List listByMap(Map params) { + return this.getBaseDao().listByMap(params); + } + + /** + * 查询所有实体 + * @return + */ + public List listAll() { + return this.getBaseDao().listAll(); + } + + /** + * 查询所有实体,根据实体属性值为判断条件查询所有实体, + * @param entity + * @return + */ + public List listAllByEntity(T entity) { + return this.getBaseDao().listAllByEntity(entity); + } + + /** + * 根据主键获取一个实体 + * @param primaryKey + * @return + */ + public T load(Serializable id) { + return this.getBaseDao().load(id); + } + + /** + * 根据主键获取一个实体 + * @param id + * @return + */ + public T getById(Serializable id) { + return this.getBaseDao().getById(id); + } + + /** + * 通过map查询 + * @param params + * @return + */ + public T getByMap(Map params) { + return this.getBaseDao().getByMap(params); + } + + /** + * 通过对象查询 + * @param entity + * @return + */ + public T getByEntity(T entity) { + return this.getBaseDao().getByEntity(entity); + } + + /** + * 默认 sqlId find是分页 + * @param sqlId + * @param params + * @return + */ + public Pager findByMap(Map params) { + /** + * 执行分页 + */ + Integer pageSize = SystemContext.getPageSize(); + Integer pageOffset = SystemContext.getPageOffset(); + if(pageOffset==null||pageOffset<0) pageOffset = 0; + if(pageSize==null||pageSize<0) pageSize = 15; + String order = SystemContext.getOrder(); + String sort = SystemContext.getSort(); + Integer pageNum = null; + if(pageOffset == 0){ + pageNum = 1; + }else{ + pageNum = pageOffset/pageSize+1; + } + PageHelper.startPage(pageNum, pageSize); + Pager pages = new Pager(this.getBaseDao().findByMap(params)); + return pages; + } + + /** + * 通过对象查询分页 + * @param entity + * @return + */ + public Pager findByEntity(T entity){ + /** + * 执行分页 + */ + Integer pageSize = SystemContext.getPageSize(); + Integer pageOffset = SystemContext.getPageOffset(); + if(pageOffset==null||pageOffset<0) pageOffset = 0; + if(pageSize==null||pageSize<0) pageSize = 15; + String order = SystemContext.getOrder(); + String sort = SystemContext.getSort(); + Integer pageNum = null; + if(pageOffset == 0){ + pageNum = 1; + }else{ + pageNum = pageOffset/pageSize+1; + } + PageHelper.startPage(pageNum, pageSize); + Pager pages = new Pager(this.getBaseDao().findByEntity(entity)); + return pages; + } + + + /** + * 批量新增 + */ + public void insertBatch(List list) { + this.getBaseDao().insertBatch(list); + } + + /** + * 批量删除 + */ + public void updateBatch(List list) { + this.getBaseDao().updateBatch(list); + } + + //=====================自定义sql========================================= + + /** + * 查询一个对象返回map + * @param sql + * @return + */ + public Map getBySql(String sql) { + + return this.getBaseDao().getBySqlReturnMap(sql); + } + + /** + * 查询一个对象返回实体类 + * @param sql + * @return + */ + public T getBySqlReturnEntity(String sql) { + return this.getBaseDao().getBySqlReturnEntity(sql); + } + + /** + * 查询列表返回map + * @param sql + * @return + */ + public List> listBySqlReturnMap(String sql) { + return this.getBaseDao().listBySqlReturnMap(sql); + } + + + /** + * 查询列表返回实体 + * @param sql + * @return + */ + public List listBySqlReturnEntity(String sql) { + return this.getBaseDao().listBySqlReturnEntity(sql); + } + + /** + * 查询分页 + * @param sql + * @return + */ + public Pager findBySqlRerturnEntity(String sql) { + /** + * 执行分页 + */ + Integer pageSize = SystemContext.getPageSize(); + Integer pageOffset = SystemContext.getPageOffset(); + if(pageOffset==null||pageOffset<0) pageOffset = 0; + if(pageSize==null||pageSize<0) pageSize = 15; + String order = SystemContext.getOrder(); + String sort = SystemContext.getSort(); + Integer pageNum = null; + if(pageOffset == 0){ + pageNum = 1; + }else{ + pageNum = pageOffset/pageSize+1; + } + PageHelper.startPage(pageNum, pageSize); + Pager pages = new Pager(this.getBaseDao().findBySqlRerturnEntity(sql)); + return pages; + } + + + /** + * 通过sql修改 + * @param sql + */ + public void updateBysql(String sql) { + this.getBaseDao().updateBysql(sql); + } + + /** + * 通过sql删除 + * @param sql + */ + public void deleteBySql(String sql) { + this.getBaseDao().deleteBySql(sql); + } + + //判断空 + public boolean isEmpty(String str) { + return (null == str) || (str.trim().length() <= 0); + } + + public boolean isEmpty(Character cha) { + return (null == cha) || cha.equals(' '); + } + + public boolean isEmpty(Object obj) { + return (null == obj); + } + + public boolean isEmpty(Object[] objs) { + return (null == objs) || (objs.length <= 0); + } + + public boolean isEmpty(Collection obj) { + return (null == obj) || obj.isEmpty(); + } + + public boolean isEmpty(Set set) { + return (null == set) || set.isEmpty(); + } + + public boolean isEmpty(Serializable obj) { + return null == obj; + } + + public boolean isEmpty(Map map) { + return (null == map) || map.isEmpty(); + } +} diff --git a/源码/src/main/java/com/kwxy/hyt/controller/BjController.java b/源码/src/main/java/com/kwxy/hyt/controller/BjController.java new file mode 100644 index 0000000..3bcc434 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/controller/BjController.java @@ -0,0 +1,180 @@ +package com.kwxy.hyt.controller; +import java.io.File; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.commons.CommonsMultipartFile; + +import com.alibaba.fastjson.JSONObject; +import com.kwxy.hyt.base.BaseController; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.utils.Pager; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分23秒 + */ + + +@Controller +@RequestMapping("/bj") +public class BjController extends BaseController { + + + /** + * 依赖注入 start dao/service/=== + */ + @Autowired + private BjService bjService; + + // --------------------------------------- 华丽分割线 ------------------------------ + /** + * 分页查询 返回list对象(通过对By Sql) + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/findBySql") + public String findBySql(Bj bj, Model model, HttpServletRequest request, HttpServletResponse response) { + //分页查询 + String sql = "SELECT * FROM bj WHERE isDelete = 0 "; + if(!isEmpty(bj.getName())){ + sql += " and name like '%"+bj.getName()+"%'"; + } + if(!isEmpty(bj.getZy())){ + sql += " and zy like '%"+bj.getZy()+"%'"; + } + if(!isEmpty(bj.getIsDelete())){ + sql += " and isDelete like '%"+bj.getIsDelete()+"%'"; + } + sql += " ORDER BY ID DESC "; + Pager pagers = bjService.findBySqlRerturnEntity(sql); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", bj); + return "bj/bj"; + } + + + /** + * 分页查询 返回list对象(通过Map) + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/findByMap") + public String findByMap(Bj bj, Model model, HttpServletRequest request, HttpServletResponse response) { + //通过map查询 + Map params = new HashMap(); + if(!isEmpty(bj.getName())){ + params.put("name", bj.getName()); + } + if(!isEmpty(bj.getZy())){ + params.put("zy", bj.getZy()); + } + if(!isEmpty(bj.getIsDelete())){ + params.put("isDelete", bj.getIsDelete()); + } + //分页查询 + Pager pagers = bjService.findByMap(params); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", bj); + return "bj/bj"; + } + + /**********************************【增删改】******************************************************/ + + /** + * 跳至添加页面 + * @return + */ + @RequestMapping(value = "/add") + public String add() { + return "bj/add"; + } + + /** + * 跳至详情页面 + * @return + */ + @RequestMapping(value = "/view") + public String view(Integer id,Model model) { + Bj obj = bjService.load(id); + model.addAttribute("obj",obj); + return "bj/view"; + } + + /** + * 添加执行 + * @return + */ + @RequestMapping(value = "/exAdd") + public String exAdd(Bj bj, Model model, HttpServletRequest request, HttpServletResponse response) { + bj.setIsDelete(0); + bjService.insert(bj); + return "redirect:/bj/findBySql.action"; + } + + + /** + * 跳至修改页面 + * @return + */ + @RequestMapping(value = "/update") + public String update(Integer id,Model model) { + Bj obj = bjService.load(id); + model.addAttribute("obj",obj); + return "bj/update"; + } + + /** + * 添加修改 + * @return + */ + @RequestMapping(value = "/exUpdate") + public String exUpdate(Bj bj, Model model, HttpServletRequest request, HttpServletResponse response) { + //1.通过实体类修改,可以多传修改条件 + bjService.updateById(bj); + //2.通过主键id修改 + //bjService.updateById(bj); + return "redirect:/bj/findBySql.action"; + } + + /** + * 删除通过主键 + * @return + */ + @RequestMapping(value = "/delete") + public String delete(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) { + Bj load = bjService.load(id); + load.setIsDelete(1); + bjService.updateById(load); + return "redirect:/bj/findBySql.action"; + } + + + +} diff --git a/源码/src/main/java/com/kwxy/hyt/controller/FdyController.java b/源码/src/main/java/com/kwxy/hyt/controller/FdyController.java new file mode 100644 index 0000000..d255848 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/controller/FdyController.java @@ -0,0 +1,239 @@ +package com.kwxy.hyt.controller; +import java.io.File; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.commons.CommonsMultipartFile; + +import com.alibaba.fastjson.JSONObject; +import com.kwxy.hyt.base.BaseController; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.utils.Pager; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分23秒 + */ + + +@Controller +@RequestMapping("/fdy") +public class FdyController extends BaseController { + + + /** + * 依赖注入 start dao/service/=== + */ + @Autowired + private FdyService fdyService; + + @Autowired + private BjService bjService; + + + // --------------------------------------- 华丽分割线 ------------------------------ + + /** + * 分页查询 返回list对象(通过对By Sql) + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/findBySql") + public String findBySql(Fdy fdy, Model model, HttpServletRequest request, HttpServletResponse response) { + //分页查询 + String sql = "SELECT * FROM fdy WHERE isDelete = 0 "; + if(!isEmpty(fdy.getUsername())){ + sql += " and username like '%"+fdy.getUsername()+"%'"; + } + if(!isEmpty(fdy.getPassword())){ + sql += " and password like '%"+fdy.getPassword()+"%'"; + } + if(!isEmpty(fdy.getCode())){ + sql += " and code like '%"+fdy.getCode()+"%'"; + } + if(!isEmpty(fdy.getSex())){ + sql += " and sex like '%"+fdy.getSex()+"%'"; + } + if(!isEmpty(fdy.getBjId())){ + sql += " and bjId like '%"+fdy.getBjId()+"%'"; + } + sql += " ORDER BY ID DESC "; + Pager pagers = fdyService.findBySqlRerturnEntity(sql); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", fdy); + return "fdy/fdy"; + } + + + /** + * 分页查询 返回list对象(通过Map) + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/findByMap") + public String findByMap(Fdy fdy, Model model, HttpServletRequest request, HttpServletResponse response) { + //通过map查询 + Map params = new HashMap(); + if(!isEmpty(fdy.getUsername())){ + params.put("username", fdy.getUsername()); + } + if(!isEmpty(fdy.getPassword())){ + params.put("password", fdy.getPassword()); + } + if(!isEmpty(fdy.getCode())){ + params.put("code", fdy.getCode()); + } + if(!isEmpty(fdy.getSex())){ + params.put("sex", fdy.getSex()); + } + if(!isEmpty(fdy.getBjId())){ + params.put("bjId", fdy.getBjId()); + } + //分页查询 + Pager pagers = fdyService.findByMap(params); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", fdy); + return "fdy/fdy"; + } + + /**********************************【增删改】******************************************************/ + + /** + * 跳至添加页面 + * @return + */ + @RequestMapping(value = "/add") + public String add(Model model) { + // 查询班级列表 + Bj b = new Bj(); + b.setIsDelete(0); + List listAllByEntity = bjService.listAllByEntity(b); + model.addAttribute("bjs", listAllByEntity); + return "fdy/add"; + } + + /** + * 跳至详情页面 + * @return + */ + @RequestMapping(value = "/view") + public String view(Integer id,Model model) { + Fdy obj = fdyService.load(id); + model.addAttribute("obj",obj); + return "fdy/view"; + } + + @RequestMapping(value = "/pass") + public String pass(Integer id,HttpServletRequest request,Model model) { + Object attribute = request.getSession().getAttribute("userId"); + + if (attribute == null){ + return "redirect:/login/uLogin"; + } + Integer userId = Integer.valueOf(attribute.toString()); + Fdy obj = fdyService.load(userId); + model.addAttribute("obj",obj); + return "fdy/pass"; + } + + + @RequestMapping("/upass") + @ResponseBody + public String upass(HttpServletRequest request,String password){ + Object attribute = request.getSession().getAttribute("userId"); + JSONObject j = new JSONObject(); + if (attribute == null){ + j.put("res", 0); + return j.toString(); + } + Integer userId = Integer.valueOf(attribute.toString()); + Fdy byId = fdyService.getById(userId); + byId.setPassword(password); + fdyService.updateById(byId); + j.put("res", 1); + return j.toString(); + + } + + /** + * 添加执行 + * @return + */ + @RequestMapping(value = "/exAdd") + public String exAdd(Fdy fdy, Model model, HttpServletRequest request, HttpServletResponse response) { + fdy.setIsDelete(0); + fdyService.insert(fdy); + return "redirect:/fdy/findBySql.action"; + } + + + /** + * 跳至修改页面 + * @return + */ + @RequestMapping(value = "/update") + public String update(Integer id,Model model) { + Bj b = new Bj(); + b.setIsDelete(0); + List listAllByEntity = bjService.listAllByEntity(b); + model.addAttribute("bjs", listAllByEntity); + + Fdy obj = fdyService.load(id); + model.addAttribute("obj",obj); + return "fdy/update"; + } + + /** + * 添加修改 + * @return + */ + @RequestMapping(value = "/exUpdate") + public String exUpdate(Fdy fdy, Model model, HttpServletRequest request, HttpServletResponse response) { + //1.通过实体类修改,可以多传修改条件 + fdyService.updateById(fdy); + //2.通过主键id修改 + //fdyService.updateById(fdy); + return "redirect:/fdy/findBySql.action"; + } + + /** + * 删除通过主键 + * @return + */ + @RequestMapping(value = "/delete") + public String delete(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) { + Fdy load = fdyService.load(id); + load.setIsDelete(1); + fdyService.updateById(load); + return "redirect:/fdy/findBySql.action"; + } + + + +} diff --git a/源码/src/main/java/com/kwxy/hyt/controller/LoginController.java b/源码/src/main/java/com/kwxy/hyt/controller/LoginController.java new file mode 100644 index 0000000..60daf5b --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/controller/LoginController.java @@ -0,0 +1,196 @@ +package com.kwxy.hyt.controller; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.RequestMapping; + +import com.kwxy.hyt.base.BaseController; +import com.kwxy.hyt.po.Fdy; +import com.kwxy.hyt.po.Manage; +import com.kwxy.hyt.po.Student; +import com.kwxy.hyt.po.Teacher; +import com.kwxy.hyt.service.FdyService; +import com.kwxy.hyt.service.ManageService; +import com.kwxy.hyt.service.StudentService; +import com.kwxy.hyt.service.TeacherService; + +@Controller +@RequestMapping("/login") +public class LoginController extends BaseController{ + + @Autowired + private ManageService manageService; + @Autowired + private FdyService fdyService; + @Autowired + private TeacherService teacherService; + @Autowired + private StudentService studentService; + + /** + * 跳转登陆 管理员 + * @return + */ + @RequestMapping("/mLogin") + public String login(){ + return "login/mLogin"; + } + + /** + * 除了管理员意外的登陆 + * @return + */ + @RequestMapping("/uLogin") + public String uLogin(){ + return "login/login"; + } + + @RequestMapping("/message") + public String message(Integer type,Model model){ + if (type == 1){ + model.addAttribute("mess", "该辅导员并没有负责的班级。"); + } + return "login/message"; + } + + + /** + * 管理员退出 + * @param request + * @return + */ + @RequestMapping("/mtuichu") + public String mtuichu(HttpServletRequest request){ + //request.getSession().invalidate(); + return "login/mLogin"; + } + + /** + * 欢迎页 + * @return + */ + @RequestMapping("/welcome") + private String welcome(){ + return "login/welcome"; + } + + /** + * 管理员登陆 + * @param manage + * @param request + * @param response + * @return + */ + @RequestMapping("/toMlogin") + public String toLogin(Manage manage, HttpServletRequest request, HttpServletResponse response){ + Manage byEntity = manageService.getByEntity(manage); + if(byEntity == null){ + return "redirect:/login/mtuichu"; + }else{ + request.getSession().setAttribute("role", 1); + request.getSession().setAttribute("username", byEntity.getUsername()); + request.getSession().setAttribute("userId", byEntity.getId()); + } + return "login/index"; + } + + + /** + * 除了管理员意外的登陆 + * @param code + * @param password + * @param role + * @param request + * @param response + * @return + */ + @RequestMapping("/tologin") + public String toLogin(String code,String password,Integer role, HttpServletRequest request, HttpServletResponse response){ + + // 4 学生,3 任课教师 ,2辅导员 + + if (role == 4){ + Student s = new Student(); + s.setIsDelete(0); + s.setCode(code); + s.setPassword(password); + Student byEntity = studentService.getByEntity(s); + if(byEntity == null){ + return "redirect:/login/uLogin.action"; + }else{ + request.getSession().setAttribute("role",role); + request.getSession().setAttribute("username", byEntity.getUsername()); + request.getSession().setAttribute("userId", byEntity.getId()); + } + } + if (role == 3){ + Teacher s = new Teacher(); + s.setIsDelete(0); + s.setCode(code); + s.setPassword(password); + Teacher byEntity = teacherService.getByEntity(s); + if(byEntity == null){ + return "redirect:/login/uLogin.action"; + }else{ + request.getSession().setAttribute("role",role); + request.getSession().setAttribute("username", byEntity.getUsername()); + request.getSession().setAttribute("userId", byEntity.getId()); + } + } + if (role == 2){ + Fdy s = new Fdy(); + s.setCode(code); + s.setPassword(password); + Fdy byEntity = fdyService.getByEntity(s); + if(byEntity == null){ + return "redirect:/login/uLogin.action"; + }else{ + request.getSession().setAttribute("role",role); + request.getSession().setAttribute("username", byEntity.getUsername()); + request.getSession().setAttribute("userId", byEntity.getId()); + } + + } + return "login/index"; + } + + /** + * 退出 + * @param request + * @param response + * @return + */ + @RequestMapping("/tuichu") + public String tuichu( HttpServletRequest request, HttpServletResponse response){ + HttpSession session = request.getSession(); + session.invalidate(); + return "login/uLogin"; + } + + /* + * 其他角色退出 + */ + @RequestMapping("/uTui") + public String uTui( HttpServletRequest request, HttpServletResponse response){ + HttpSession session = request.getSession(); + session.invalidate(); + return "redirect:/login/uLogin"; + } + + + @RequestMapping("/head") + private String head(){ + return "inc/head"; + } + + @RequestMapping("/left") + private String left(){ + return "inc/left"; + } + +} diff --git a/源码/src/main/java/com/kwxy/hyt/controller/ManageController.java b/源码/src/main/java/com/kwxy/hyt/controller/ManageController.java new file mode 100644 index 0000000..ede6a54 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/controller/ManageController.java @@ -0,0 +1,526 @@ +package com.kwxy.hyt.controller; +import java.io.File; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.commons.CommonsMultipartFile; + +import com.alibaba.fastjson.JSONObject; +import com.kwxy.hyt.base.BaseController; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.utils.Pager; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ + + +@Controller +@RequestMapping("/manage") +public class ManageController extends BaseController { + + + /** + * 依赖注入 start dao/service/=== + */ + @Autowired + private ManageService manageService; + + // --------------------------------------- 华丽分割线 ------------------------------ + + /*********************************查询列表【不分页】***********************************************/ + + /** + * 【不分页 => 查询列表 => 无条件】 + * @Title: listAll + * @Description: TODO(这里用一句话描述这个方法的作用) + * @param @return 设定文件 + * @author + * @return String 返回类型 + * @throws + */ + @RequestMapping(value = "/listAll") + public String listAll(Manage manage, Model model, HttpServletRequest request, HttpServletResponse response){ + List listAll = manageService.listAll(); + model.addAttribute("list", listAll); + return "manage/manage"; + } + + /** + * 【不分页=》查询列表=>有条件】 + * @Title: listByEntity + * @Description: TODO(这里用一句话描述这个方法的作用) + * @param @return 设定文件 + * @author + * @return String 返回类型 + * @throws + */ + @RequestMapping(value = "/listByEntity") + public String listByEntity(Manage manage, Model model, HttpServletRequest request, HttpServletResponse response){ + List listAll = manageService.listAllByEntity(manage); + model.addAttribute("list", listAll); + return "manage/manage"; + } + + /** + * 【不分页=》查询列表=>有条件】 + * @Title: listByMap + * @Description: TODO(这里用一句话描述这个方法的作用) + * @param @return 设定文件 + * @author + * @return String 返回类型 + * @throws + */ + @RequestMapping(value = "/listByMap") + public String listByMap(Manage manage, Model model, HttpServletRequest request, HttpServletResponse response){ + //通过map查询 + Map params = new HashMap(); + if(!isEmpty(manage.getUsername())){ + params.put("username", manage.getUsername()); + } + if(!isEmpty(manage.getPassword())){ + params.put("password", manage.getPassword()); + } + List listAll = manageService.listByMap(params); + model.addAttribute("list", listAll); + return "manage/manage"; + } + + + /*********************************查询列表【分页】***********************************************/ + + + + /** + * 分页查询 返回list对象(通过对象) + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/findByObj") + public String findByObj(Manage manage, Model model, HttpServletRequest request, HttpServletResponse response) { + //分页查询 + Pager pagers = manageService.findByEntity(manage); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", manage); + return "manage/manage"; + } + + /** + * 分页查询 返回list对象(通过对By Sql) + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/findBySql") + public String findBySql(Manage manage, Model model, HttpServletRequest request, HttpServletResponse response) { + //分页查询 + String sql = "SELECT * FROM manage WHERE 1=1 "; + if(!isEmpty(manage.getUsername())){ + sql += " and username like '%"+manage.getUsername()+"%'"; + } + if(!isEmpty(manage.getPassword())){ + sql += " and password like '%"+manage.getPassword()+"%'"; + } + sql += " ORDER BY ID DESC "; + Pager pagers = manageService.findBySqlRerturnEntity(sql); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", manage); + return "manage/manage"; + } + + + /** + * 分页查询 返回list对象(通过Map) + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/findByMap") + public String findByMap(Manage manage, Model model, HttpServletRequest request, HttpServletResponse response) { + //通过map查询 + Map params = new HashMap(); + if(!isEmpty(manage.getUsername())){ + params.put("username", manage.getUsername()); + } + if(!isEmpty(manage.getPassword())){ + params.put("password", manage.getPassword()); + } + //分页查询 + Pager pagers = manageService.findByMap(params); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", manage); + return "manage/manage"; + } + + /**********************************【增删改】******************************************************/ + + /** + * 跳至添加页面 + * @return + */ + @RequestMapping(value = "/add") + public String add() { + return "manage/add"; + } + + /** + * 跳至详情页面 + * @return + */ + @RequestMapping(value = "/view") + public String view(Integer id,Model model) { + Manage obj = manageService.load(id); + model.addAttribute("obj",obj); + return "manage/view"; + } + + /** + * 添加执行 + * @return + */ + @RequestMapping(value = "/exAdd") + public String exAdd(Manage manage, Model model, HttpServletRequest request, HttpServletResponse response) { + manageService.insert(manage); + return "redirect:/manage/findBySql.action"; + } + + + /** + * 跳至修改页面 + * @return + */ + @RequestMapping(value = "/update") + public String update(Integer id,Model model) { + Manage obj = manageService.load(id); + model.addAttribute("obj",obj); + return "manage/update"; + } + + /** + * 添加修改 + * @return + */ + @RequestMapping(value = "/exUpdate") + public String exUpdate(Manage manage, Model model, HttpServletRequest request, HttpServletResponse response) { + //1.通过实体类修改,可以多传修改条件 + manageService.updateById(manage); + //2.通过主键id修改 + //manageService.updateById(manage); + return "redirect:/manage/findBySql.action"; + } + + /** + * 删除通过主键 + * @return + */ + @RequestMapping(value = "/delete") + public String delete(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) { + ///1.通过主键删除 + manageService.deleteById(id); + /*以下是多种删除方式*/ +// //2.通过实体条件删除 +// manageService.deleteByEntity(manage); +// //3.通过参数删除 +// //通过map查询 +// Map params = new HashMap(); +// +// if(!isEmpty(manage.getUsername())){ +// params.put("username", manage.getUsername()); +// } +// +// if(!isEmpty(manage.getPassword())){ +// params.put("password", manage.getPassword()); +// } +// +// manageService.deleteByMap(params); +// //4.状态删除 +// Manage load = manageService.getById(manage.getId()) +// load.setIsDelete(1); +// manageService.update(load); + //5.状态删除 + //Manage load = manageService.load(id); + //load.setIsDelete(1); + //manageService.updateById(load); + return "redirect:/manage/findBySql.action"; + } + + // --------------------------------------- 华丽分割线 ------------------------------ + // --------------------------------------- 【下面是ajax操作的方法。】 ------------------------------ + + /*********************************查询列表【不分页】***********************************************/ + + /** + * 【不分页 => 查询列表 => 无条件】 + * @Title: listAll + * @Description: TODO(这里用一句话描述这个方法的作用) + * @param @return 设定文件 + * @author + * @return String 返回类型 + * @throws + */ + @RequestMapping(value = "/listAllJson", method = RequestMethod.POST) + @ResponseBody + public String listAllJson(Manage manage, HttpServletRequest request, HttpServletResponse response){ + List listAll = manageService.listAll(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("list", listAll); + jsonObject.put("obj", manage); + return jsonObject.toString(); + } + + /** + * 【不分页=》查询列表=>有条件】 + * @Title: listByEntity + * @Description: TODO(这里用一句话描述这个方法的作用) + * @param @return 设定文件 + * @author + * @return String 返回类型 + * @throws + */ + @RequestMapping(value = "/listByEntityJson", method = RequestMethod.POST) + @ResponseBody + public String listByEntityJson(Manage manage, HttpServletRequest request, HttpServletResponse response){ + List listAll = manageService.listAllByEntity(manage); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("list", listAll); + jsonObject.put("obj", manage); + return jsonObject.toString(); + } + + /** + * 【不分页=》查询列表=>有条件】 + * @Title: listByMap + * @Description: TODO(这里用一句话描述这个方法的作用) + * @param @return 设定文件 + * @author + * @return String 返回类型 + * @throws + */ + @RequestMapping(value = "/listByMapJson", method = RequestMethod.POST) + @ResponseBody + public String listByMapJson(Manage manage,HttpServletRequest request, HttpServletResponse response){ + //通过map查询 + Map params = new HashMap(); + if(!isEmpty(manage.getUsername())){ + params.put("username", manage.getUsername()); + } + if(!isEmpty(manage.getPassword())){ + params.put("password", manage.getPassword()); + } + List listAll = manageService.listByMap(params); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("list", listAll); + jsonObject.put("obj", manage); + return jsonObject.toString(); + } + + + /** + * 分页查询 返回list json(通过对象) + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/findByObjJson", method = RequestMethod.POST) + @ResponseBody + public String findByObjByEntityJson(Manage manage, HttpServletRequest request, HttpServletResponse response) { + //分页查询 + Pager pagers = manageService.findByEntity(manage); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("pagers", pagers); + jsonObject.put("obj", manage); + return jsonObject.toString(); + } + + + /** + * 分页查询 返回list json(通过Map) + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/findByMapJson", method = RequestMethod.POST) + @ResponseBody + public String findByMapJson(Manage manage,HttpServletRequest request, HttpServletResponse response) { + //通过map查询 + Map params = new HashMap(); + if(!isEmpty(manage.getUsername())){ + params.put("username", manage.getUsername()); + } + if(!isEmpty(manage.getPassword())){ + params.put("password", manage.getPassword()); + } + //分页查询 + Pager pagers = manageService.findByMap(params); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("pagers", pagers); + jsonObject.put("obj", manage); + return jsonObject.toString(); + } + + + /** + * ajax 添加 + * @param + * @return + */ + @RequestMapping(value = "/exAddJson", method = RequestMethod.POST) + @ResponseBody + public String exAddJson(Manage manage, Model model, HttpServletRequest request, HttpServletResponse response) { + manageService.insert(manage); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("message", "添加成功"); + return jsonObject.toString(); + } + + + /** + * ajax 修改 + * @param + * @return + */ + @RequestMapping(value = "/exUpdate.json", method = RequestMethod.POST) + @ResponseBody + public String exUpdateJson(Manage manage, Model model, HttpServletRequest request, HttpServletResponse response) { + //1.通过实体类修改,可以多传修改条件 + manageService.updateById(manage); + //2.通过主键id修改 + //manageService.updateById(manage); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("message", "修改成功"); + return jsonObject.toString(); + } + + /** + * ajax 删除 + * @return + */ + @RequestMapping(value = "/delete.json", method = RequestMethod.POST) + @ResponseBody + public String exDeleteJson(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) { + ///1.通过主键删除 + manageService.deleteById(id); + /*以下是多种删除方式*/ +// //2.通过实体条件删除 +// manageService.deleteByEntity(manage); +// //3.通过参数删除 +// //通过map查询 +// Map params = new HashMap(); +// +// if(!isEmpty(manage.getUsername())){ +// params.put("username", manage.getUsername()); +// } +// +// if(!isEmpty(manage.getPassword())){ +// params.put("password", manage.getPassword()); +// } +// +// manageService.deleteByMap(params); +// //4.状态删除 +// Manage load = manageService.getById(manage.getId()) +// load.setIsDelete(1); +// manageService.updateById(load); + //5.状态删除 + //Manage load = manageService.load(id); + //load.setIsDelete(1); + //manageService.updateById(load); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("message", "删除成功"); + return jsonObject.toString(); + } + /** + * 单文件上传 + * @param file + * @param request + * @param model + * @return + */ + @RequestMapping(value = "/saveFile") + public String saveFile(@RequestParam(value = "file", required = false) MultipartFile file, HttpServletRequest request, Model model) { + + System.out.println("开始"); + String path = request.getSession().getServletContext().getRealPath("/upload"); + String fileName = file.getOriginalFilename(); + System.out.println(path); + File targetFile = new File(path, fileName); + if(!targetFile.exists()){ + targetFile.mkdirs(); + } + //保存 + try { + file.transferTo(targetFile); + } catch (Exception e) { + e.printStackTrace(); + } + + return ""; + } + + + /** + * springMvc多文件上传 + * @param files + * @param id + * @return + */ + @RequestMapping(value = "/saveFiles") + public String saveFiles(@RequestParam("file") CommonsMultipartFile[] files,Integer id,HttpServletRequest request){ + for(int i = 0;i" + files[i].getOriginalFilename()); + if(!files[i].isEmpty()){ + int pre = (int) System.currentTimeMillis(); + try { + //拿到输出流,同时重命名上传的文件 + String filePath = request.getRealPath("/upload"); + File f=new File(filePath); + if(!f.exists()){ + f.mkdirs(); + } + String fileNmae=new Date().getTime() + files[i].getOriginalFilename(); + File file=new File(filePath+"/"+pre + files[i].getOriginalFilename()); + if(!file.exists()){ + file.createNewFile(); + } + files[i].transferTo(file); + } catch (Exception e) { + e.printStackTrace(); + System.out.println("上传出错"); + } + } + } + return ""; + } + // --------------------------------------- 华丽分割线 ------------------------------ + + +} diff --git a/源码/src/main/java/com/kwxy/hyt/controller/QjController.java b/源码/src/main/java/com/kwxy/hyt/controller/QjController.java new file mode 100644 index 0000000..5b8c382 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/controller/QjController.java @@ -0,0 +1,326 @@ +package com.kwxy.hyt.controller; +import java.io.File; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.commons.CommonsMultipartFile; + +import com.alibaba.fastjson.JSONObject; +import com.kwxy.hyt.base.BaseController; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.utils.Pager; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ + + +@Controller +@RequestMapping("/qj") +public class QjController extends BaseController { + + + /** + * 依赖注入 start dao/service/=== + */ + @Autowired + private QjService qjService; + + @Autowired + private StudentService studentService; + + @Autowired + private FdyService fdyService; + + /** + * 分页查询 返回list对象(通过对By Sql) + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/findBySql") + public String findBySql(Qj qj, Model model, HttpServletRequest request, HttpServletResponse response) { + + Object attribute = request.getSession().getAttribute("userId"); + + if (attribute == null){ + return "redirect:/login/uLogin"; + } + Integer userId = Integer.valueOf(attribute.toString()); + + + //分页查询 + String sql = "SELECT * FROM qj WHERE fdyId = "+userId; + if(!isEmpty(qj.getBjId())){ + sql += " and bjId like '%"+qj.getBjId()+"%'"; + } + if(!isEmpty(qj.getStudentId())){ + sql += " and studentId like '%"+qj.getStudentId()+"%'"; + } + if(!isEmpty(qj.getFdyId())){ + sql += " and fdyId like '%"+qj.getFdyId()+"%'"; + } + if(!isEmpty(qj.getStartTime())){ + sql += " and startTime like '%"+qj.getStartTime()+"%'"; + } + if(!isEmpty(qj.getEndTime())){ + sql += " and endTime like '%"+qj.getEndTime()+"%'"; + } + if(!isEmpty(qj.getStatus())){ + sql += " and status like '%"+qj.getStatus()+"%'"; + } + sql += " ORDER BY ID DESC "; + Pager pagers = qjService.findBySqlRerturnEntity(sql); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", qj); + return "qj/qj"; + } + + //findBySqlSign + @RequestMapping(value = "/findBySqlSign") + public String findBySqlSign(Qj qj, Model model, HttpServletRequest request, HttpServletResponse response) { + + //分页查询 + String sql = "SELECT * FROM qj WHERE bjId = "+qj.getBjId(); + if(!isEmpty(qj.getBjId())){ + sql += " and bjId like '%"+qj.getBjId()+"%'"; + } + if(!isEmpty(qj.getStudentId())){ + sql += " and studentId like '%"+qj.getStudentId()+"%'"; + } + if(!isEmpty(qj.getFdyId())){ + sql += " and fdyId like '%"+qj.getFdyId()+"%'"; + } + if(!isEmpty(qj.getStartTime())){ + sql += " and startTime like '%"+qj.getStartTime()+"%'"; + } + if(!isEmpty(qj.getEndTime())){ + sql += " and endTime like '%"+qj.getEndTime()+"%'"; + } + if(!isEmpty(qj.getStatus())){ + sql += " and status like '%"+qj.getStatus()+"%'"; + } + sql += " ORDER BY ID DESC "; + Pager pagers = qjService.findBySqlRerturnEntity(sql); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", qj); + model.addAttribute("bjId", qj.getBjId()); + return "qj/qjSign"; + } + + + /** + * 我的请假 + * @param qj + * @param model + * @param request + * @param response + * @return + */ + //myqj + //findBySqlSign + @RequestMapping(value = "/myqj") + public String myqj(Qj qj, Model model, HttpServletRequest request, HttpServletResponse response) { + + //分页查询 + + Object attribute = request.getSession().getAttribute("userId"); + + if (attribute == null){ + return "redirect:/login/uLogin"; + } + Integer userId = Integer.valueOf(attribute.toString()); + + String sql = "SELECT * FROM qj WHERE studentId = "+userId; + + if(!isEmpty(qj.getBjId())){ + sql += " and bjId like '%"+qj.getBjId()+"%'"; + } + if(!isEmpty(qj.getStudentId())){ + sql += " and studentId like '%"+qj.getStudentId()+"%'"; + } + if(!isEmpty(qj.getFdyId())){ + sql += " and fdyId like '%"+qj.getFdyId()+"%'"; + } + if(!isEmpty(qj.getStartTime())){ + sql += " and startTime like '%"+qj.getStartTime()+"%'"; + } + if(!isEmpty(qj.getEndTime())){ + sql += " and endTime like '%"+qj.getEndTime()+"%'"; + } + if(!isEmpty(qj.getStatus())){ + sql += " and status like '%"+qj.getStatus()+"%'"; + } + sql += " ORDER BY ID DESC "; + Pager pagers = qjService.findBySqlRerturnEntity(sql); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", qj); + return "qj/myqj"; + } + + /** + * 分页查询 返回list对象(通过Map) + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/findByMap") + public String findByMap(Qj qj, Model model, HttpServletRequest request, HttpServletResponse response) { + //通过map查询 + Map params = new HashMap(); + if(!isEmpty(qj.getBjId())){ + params.put("bjId", qj.getBjId()); + } + if(!isEmpty(qj.getStudentId())){ + params.put("studentId", qj.getStudentId()); + } + if(!isEmpty(qj.getFdyId())){ + params.put("fdyId", qj.getFdyId()); + } + if(!isEmpty(qj.getStartTime())){ + params.put("startTime", qj.getStartTime()); + } + if(!isEmpty(qj.getEndTime())){ + params.put("endTime", qj.getEndTime()); + } + if(!isEmpty(qj.getStatus())){ + params.put("status", qj.getStatus()); + } + //分页查询 + Pager pagers = qjService.findByMap(params); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", qj); + return "qj/qj"; + } + + /**********************************【增删改】******************************************************/ + + /** + * 跳至添加页面 + * @return + */ + @RequestMapping(value = "/add") + public String add() { + return "qj/add"; + } + + @RequestMapping(value = "/myadd") + public String myadd() { + return "qj/myadd"; + } + + /** + * 跳至详情页面 + * @return + */ + @RequestMapping(value = "/view") + public String view(Integer id,Model model) { + Qj obj = qjService.load(id); + model.addAttribute("obj",obj); + return "qj/view"; + } + + /** + * 添加执行 + * @return + */ + @RequestMapping(value = "/exAdd") + public String exAdd(Qj qj, Model model, HttpServletRequest request, HttpServletResponse response) { + + Object attribute = request.getSession().getAttribute("userId"); + + if (attribute == null){ + return "redirect:/login/uLogin"; + } + Integer userId = Integer.valueOf(attribute.toString()); + qj.setStatus(0); + + Student byId = studentService.getById(userId); + Integer bjId = byId.getBjId(); + Fdy f = new Fdy(); + f.setBjId(bjId); + List listAllByEntity = fdyService.listAllByEntity(f); + + qj.setBjId(bjId); + qj.setFdyId(listAllByEntity.get(0).getId()); + qj.setStudentId(userId); + + qjService.insert(qj); + return "redirect:/qj/myqj.action"; + } + + + /** + * 跳至修改页面 + * @return + */ + @RequestMapping(value = "/update") + public String update(Integer id,Model model) { + Qj obj = qjService.load(id); + model.addAttribute("obj",obj); + return "qj/update"; + } + + /** + * 添加修改 + * @return + */ + @RequestMapping(value = "/exUpdate") + public String exUpdate(Qj qj, Model model, HttpServletRequest request, HttpServletResponse response) { + //1.通过实体类修改,可以多传修改条件 + qjService.updateById(qj); + //2.通过主键id修改 + //qjService.updateById(qj); + return "redirect:/qj/myqj.action"; + } + + @RequestMapping(value = "/sp") + public String sp(Qj qj, Model model, HttpServletRequest request, HttpServletResponse response) { + //1.通过实体类修改,可以多传修改条件 + Qj byId = qjService.getById(qj.getId()); + byId.setStatus(qj.getStatus()); + byId.setContent(qj.getContent()); + qjService.updateById(byId); + return "redirect:/qj/findBySql.action"; + } + + /** + * 删除通过主键 + * @return + */ + @RequestMapping(value = "/delete") + public String delete(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) { + ///1.通过主键删除 + qjService.deleteById(id); + return "redirect:/qj/myqj.action"; + } + + +} diff --git a/源码/src/main/java/com/kwxy/hyt/controller/RecordController.java b/源码/src/main/java/com/kwxy/hyt/controller/RecordController.java new file mode 100644 index 0000000..b8cb951 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/controller/RecordController.java @@ -0,0 +1,422 @@ +package com.kwxy.hyt.controller; +import java.io.File; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.commons.CommonsMultipartFile; + +import com.alibaba.fastjson.JSONObject; +import com.kwxy.hyt.base.BaseController; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.utils.Pager; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ + + +@Controller +@RequestMapping("/record") +public class RecordController extends BaseController { + @Autowired + private SignService signService; + + /** + * 依赖注入 start dao/service/=== + */ + @Autowired + private RecordService recordService; + + // --------------------------------------- 华丽分割线 ------------------------------ + + /** + * 分页查询 返回list对象(通过对By Sql) + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/findBySql") + public String findBySql(Record record, Model model, HttpServletRequest request, HttpServletResponse response) { + //分页查询 + String sql = "SELECT * FROM record WHERE signId="+record.getSignId(); + if(!isEmpty(record.getSignId())){ + sql += " and signId like '%"+record.getSignId()+"%'"; + } + if(!isEmpty(record.getStudentId())){ + sql += " and studentId like '%"+record.getStudentId()+"%'"; + } + if(!isEmpty(record.getIp())){ + sql += " and ip like '%"+record.getIp()+"%'"; + } + if(!isEmpty(record.getCreateTime())){ + sql += " and createTime like '%"+record.getCreateTime()+"%'"; + } + if(!isEmpty(record.getStatus())){ + sql += " and status like '%"+record.getStatus()+"%'"; + } + sql += " ORDER BY ID DESC "; + Pager pagers = recordService.findBySqlRerturnEntity(sql); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", record); + model.addAttribute("signId", record.getSignId()); + return "record/record"; + } + + /** + * 辅导员查看签到记录 + * @param record + * @param model + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/fdyRecord") + public String fdyRecord(Record record, Model model, HttpServletRequest request, HttpServletResponse response) { + //分页查询 + String sql = "SELECT * FROM record WHERE signId="+record.getSignId(); + if(!isEmpty(record.getSignId())){ + sql += " and signId like '%"+record.getSignId()+"%'"; + } + if(!isEmpty(record.getStudentId())){ + sql += " and studentId like '%"+record.getStudentId()+"%'"; + } + if(!isEmpty(record.getIp())){ + sql += " and ip like '%"+record.getIp()+"%'"; + } + if(!isEmpty(record.getCreateTime())){ + sql += " and createTime like '%"+record.getCreateTime()+"%'"; + } + if(!isEmpty(record.getStatus())){ + sql += " and status like '%"+record.getStatus()+"%'"; + } + sql += " ORDER BY ID DESC "; + Pager pagers = recordService.findBySqlRerturnEntity(sql); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", record); + model.addAttribute("signId", record.getSignId()); + return "record/fdyRecord"; + } + + + //mysign + /** + * 查询学生自己可以签到列表 + * @param record + * @param model + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/mysign") + public String mysign(Record record, Model model, HttpServletRequest request, HttpServletResponse response) { + + Object attribute = request.getSession().getAttribute("userId"); + + if (attribute == null){ + return "redirect:/login/uLogin"; + } + Integer userId = Integer.valueOf(attribute.toString()); + + + //分页查询 + String sql = "SELECT * FROM record WHERE studentId="+userId; + if(!isEmpty(record.getSignId())){ + sql += " and signId like '%"+record.getSignId()+"%'"; + } + if(!isEmpty(record.getStudentId())){ + sql += " and studentId like '%"+record.getStudentId()+"%'"; + } + if(!isEmpty(record.getIp())){ + sql += " and ip like '%"+record.getIp()+"%'"; + } + if(!isEmpty(record.getCreateTime())){ + sql += " and createTime like '%"+record.getCreateTime()+"%'"; + } + if(!isEmpty(record.getStatus())){ + sql += " and status like '%"+record.getStatus()+"%'"; + } + sql += " ORDER BY ID DESC "; + Pager pagers = recordService.findBySqlRerturnEntity(sql); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", record); + model.addAttribute("signId", record.getSignId()); + return "record/mysign"; + } + + /** + * 分页查询 返回list对象(通过Map) + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/findByMap") + public String findByMap(Record record, Model model, HttpServletRequest request, HttpServletResponse response) { + //通过map查询 + Map params = new HashMap(); + if(!isEmpty(record.getSignId())){ + params.put("signId", record.getSignId()); + } + if(!isEmpty(record.getStudentId())){ + params.put("studentId", record.getStudentId()); + } + if(!isEmpty(record.getIp())){ + params.put("ip", record.getIp()); + } + if(!isEmpty(record.getCreateTime())){ + params.put("createTime", record.getCreateTime()); + } + if(!isEmpty(record.getStatus())){ + params.put("status", record.getStatus()); + } + //分页查询 + Pager pagers = recordService.findByMap(params); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", record); + return "record/record"; + } + + /**********************************【增删改】******************************************************/ + + /** + * 跳至添加页面 + * @return + */ + @RequestMapping(value = "/add") + public String add() { + return "record/add"; + } + + /** + * 跳至详情页面 + * @return + */ + @RequestMapping(value = "/view") + public String view(Integer id,Model model) { + Record obj = recordService.load(id); + model.addAttribute("obj",obj); + return "record/view"; + } + + /** + * 添加执行 + * @return + */ + @RequestMapping(value = "/exAdd") + @ResponseBody + public String exAdd(Record record, Model model, HttpServletRequest request, HttpServletResponse response) { + String ipAdrress = getIp(request); + Record obj = recordService.load(record.getId()); + + JSONObject j = new JSONObject(); + //查看是否有ip冲突 0 未签到 1 已签到 2 请假 + Record r = new Record(); + r.setSignId(obj.getSignId()); + r.setIp(ipAdrress); + + Integer status = obj.getSign().getStatus(); + if (status == 1){ + j.put("res",3); + return j.toString(); + } + + if (obj.getStatus() == 2){ + j.put("res", 2); + return j.toString(); + } + List listAllByEntity = recordService.listAllByEntity(r); + + if (!CollectionUtils.isEmpty(listAllByEntity)){ + j.put("res", 0); + return j.toString(); + }else{ + obj.setCreateTime(new Date()); + obj.setIp(ipAdrress); + obj.setStatus(1); + j.put("res", 1); + recordService.updateById(obj); + return j.toString(); + } + + + } + + private static String getIpAdrress(HttpServletRequest request) { + String Xip = request.getHeader("X-Real-IP"); + String XFor = request.getHeader("X-Forwarded-For"); + if(!StringUtils.isEmpty(XFor) && !"unKnown".equalsIgnoreCase(XFor)){ + //多次反向代理后会有多个ip值,第一个ip才是真实ip + int index = XFor.indexOf(","); + if(index != -1){ + return XFor.substring(0,index); + }else{ + return XFor; + } + } + XFor = Xip; + if(!StringUtils.isEmpty(XFor) && !"unKnown".equalsIgnoreCase(XFor)){ + return XFor; + } + if (!StringUtils.isEmpty(XFor) || "unknown".equalsIgnoreCase(XFor)) { + XFor = request.getHeader("Proxy-Client-IP"); + } + if (!StringUtils.isEmpty(XFor) || "unknown".equalsIgnoreCase(XFor)) { + XFor = request.getHeader("WL-Proxy-Client-IP"); + } + if (!StringUtils.isEmpty(XFor) || "unknown".equalsIgnoreCase(XFor)) { + XFor = request.getHeader("HTTP_CLIENT_IP"); + } + if (!StringUtils.isEmpty(XFor) || "unknown".equalsIgnoreCase(XFor)) { + XFor = request.getHeader("HTTP_X_FORWARDED_FOR"); + } + if (!StringUtils.isEmpty(XFor) || "unknown".equalsIgnoreCase(XFor)) { + XFor = request.getRemoteAddr(); + } + return XFor; + } + + private String getIp(HttpServletRequest request){ + String ip = request.getHeader("X-Forwarded-For"); + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("WL-Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_CLIENT_IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_X_FORWARDED_FOR"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getRemoteAddr(); + } + } else if (ip.length() > 15) { + String[] ips = ip.split(","); + for (int index = 0; index < ips.length; index++) { + String strIp = ips[index]; + if (!("unknown".equalsIgnoreCase(strIp))) { + ip = strIp; + break; + } + } + } + return ip; + } + + /** + * 跳至修改页面 + * @return + */ + @RequestMapping(value = "/update") + public String update(Integer id,Model model) { + Record obj = recordService.load(id); + model.addAttribute("obj",obj); + return "record/update"; + } + + /** + * 添加修改 + * @return + */ + + @RequestMapping(value = "/setQd") + public String setQd(Record record, Model model, HttpServletRequest request, HttpServletResponse response) { + Record obj = recordService.load(record.getId()); + //1.通过实体类修改,可以多传修改条件 + obj.setStatus(2); + recordService.updateById(obj); + //2.通过主键id修改 + //recordService.updateById(record); + return "redirect:/record/findBySql.action?signId="+obj.getSignId(); + } + + + @RequestMapping(value = "/exUpdate") + public String exUpdate(Record record, Model model, HttpServletRequest request, HttpServletResponse response) { + //1.通过实体类修改,可以多传修改条件 + recordService.updateById(record); + //2.通过主键id修改 + //recordService.updateById(record); + return "redirect:/record/findBySql.action"; + } + + /** + * 删除通过主键 + * @return + */ + @RequestMapping(value = "/delete") + public String delete(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) { + ///1.通过主键删除 + recordService.deleteById(id); + /*以下是多种删除方式*/ +// //2.通过实体条件删除 +// recordService.deleteByEntity(record); +// //3.通过参数删除 +// //通过map查询 +// Map params = new HashMap(); +// +// if(!isEmpty(record.getSignId())){ +// params.put("signId", record.getSignId()); +// } +// +// if(!isEmpty(record.getStudentId())){ +// params.put("studentId", record.getStudentId()); +// } +// +// if(!isEmpty(record.getIp())){ +// params.put("ip", record.getIp()); +// } +// +// if(!isEmpty(record.getCreateTime())){ +// params.put("createTime", record.getCreateTime()); +// } +// +// if(!isEmpty(record.getStatus())){ +// params.put("status", record.getStatus()); +// } +// +// recordService.deleteByMap(params); +// //4.状态删除 +// Record load = recordService.getById(record.getId()) +// load.setIsDelete(1); +// recordService.update(load); + //5.状态删除 + //Record load = recordService.load(id); + //load.setIsDelete(1); + //recordService.updateById(load); + return "redirect:/record/findBySql.action"; + } + + +} diff --git a/源码/src/main/java/com/kwxy/hyt/controller/SignController.java b/源码/src/main/java/com/kwxy/hyt/controller/SignController.java new file mode 100644 index 0000000..7fbaa7e --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/controller/SignController.java @@ -0,0 +1,338 @@ +package com.kwxy.hyt.controller; +import java.io.File; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.commons.CommonsMultipartFile; + +import com.alibaba.fastjson.JSONObject; +import com.kwxy.hyt.base.BaseController; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.utils.Pager; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ + + +@Controller +@RequestMapping("/sign") +public class SignController extends BaseController { + + /** + * 依赖注入 start dao/service/=== + */ + @Autowired + private RecordService recordService; + + @Autowired + private SignService signService; + + + @Autowired + private TeacherBjService teacherBjService; + + @Autowired + private FdyService fdyService; + + @Autowired + private StudentService studentService; + + /** + * 教师查看自己所教学的班级 + * mybj + */ + + @RequestMapping(value = "/mybj") + public String mybj(Sign sign, Model model, HttpServletRequest request, HttpServletResponse response) { + + Object attribute = request.getSession().getAttribute("userId"); + + if (attribute == null){ + return "redirect:/login/uLogin"; + } + Integer userId = Integer.valueOf(attribute.toString()); + TeacherBj b = new TeacherBj(); + b.setTeacherId(userId); + List listAllByEntity = teacherBjService.listAllByEntity(b); + model.addAttribute("bjs", listAllByEntity); + return "sign/mybj"; + } + + @RequestMapping(value = "/mybj2") + public String mybj2(Sign sign, Model model, HttpServletRequest request, HttpServletResponse response) { + + Object attribute = request.getSession().getAttribute("userId"); + + if (attribute == null){ + return "redirect:/login/uLogin"; + } + Integer userId = Integer.valueOf(attribute.toString()); + TeacherBj b = new TeacherBj(); + b.setTeacherId(userId); + List listAllByEntity = teacherBjService.listAllByEntity(b); + model.addAttribute("bjs", listAllByEntity); + return "sign/mybj2"; + } + + + //${ctx}/sign/mySign.do?bjId=${data.bjId} + + @RequestMapping(value = "/findBySql") + public String findBySql(Sign sign, Model model, HttpServletRequest request, HttpServletResponse response) { + //分页查询 + Object attribute = request.getSession().getAttribute("userId"); + + if (attribute == null){ + return "redirect:/login/uLogin"; + } + Integer userId = Integer.valueOf(attribute.toString()); + + String sql = "SELECT * FROM sign WHERE bjId= "+sign.getBjId() + " and teacherId="+userId; + if(!isEmpty(sign.getBjId())){ + sql += " and bjId like '%"+sign.getBjId()+"%'"; + } + if(!isEmpty(sign.getTeacherId())){ + sql += " and teacherId like '%"+sign.getTeacherId()+"%'"; + } + if(!isEmpty(sign.getName())){ + sql += " and name like '%"+sign.getName()+"%'"; + } + if(!isEmpty(sign.getStatus())){ + sql += " and status like '%"+sign.getStatus()+"%'"; + } + if(!isEmpty(sign.getFdyId())){ + sql += " and fdyId like '%"+sign.getFdyId()+"%'"; + } + sql += " ORDER BY ID DESC "; + Pager pagers = signService.findBySqlRerturnEntity(sql); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", sign); + model.addAttribute("bjId", sign.getBjId()); + return "sign/sign"; + } + + /** + * 辅导员列表 + * @param sign + * @param model + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/fdySign") + public String fdySign(Sign sign, Model model, HttpServletRequest request, HttpServletResponse response) { + //分页查询 + Object attribute = request.getSession().getAttribute("userId"); + + if (attribute == null){ + return "redirect:/login/uLogin"; + } + Integer userId = Integer.valueOf(attribute.toString()); + + String sql = "SELECT * FROM sign WHERE fdyId= "+userId; + + if(!isEmpty(sign.getBjId())){ + sql += " and bjId like '%"+sign.getBjId()+"%'"; + } + if(!isEmpty(sign.getTeacherId())){ + sql += " and teacherId like '%"+sign.getTeacherId()+"%'"; + } + if(!isEmpty(sign.getName())){ + sql += " and name like '%"+sign.getName()+"%'"; + } + if(!isEmpty(sign.getStatus())){ + sql += " and status like '%"+sign.getStatus()+"%'"; + } + if(!isEmpty(sign.getFdyId())){ + sql += " and fdyId like '%"+sign.getFdyId()+"%'"; + } + sql += " ORDER BY ID DESC "; + Pager pagers = signService.findBySqlRerturnEntity(sql); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", sign); + return "sign/fdySign"; + } + + + + + /** + * 分页查询 返回list对象(通过Map) + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/findByMap") + public String findByMap(Sign sign, Model model, HttpServletRequest request, HttpServletResponse response) { + //通过map查询 + Map params = new HashMap(); + if(!isEmpty(sign.getBjId())){ + params.put("bjId", sign.getBjId()); + } + if(!isEmpty(sign.getTeacherId())){ + params.put("teacherId", sign.getTeacherId()); + } + if(!isEmpty(sign.getName())){ + params.put("name", sign.getName()); + } + if(!isEmpty(sign.getStatus())){ + params.put("status", sign.getStatus()); + } + if(!isEmpty(sign.getFdyId())){ + params.put("fdyId", sign.getFdyId()); + } + //分页查询 + Pager pagers = signService.findByMap(params); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", sign); + return "sign/sign"; + } + + /**********************************【增删改】******************************************************/ + + /** + * 跳至添加页面 + * @return + */ + @RequestMapping(value = "/add") + public String add(Integer bjId,Model model) { + model.addAttribute("bjId", bjId); + return "sign/add"; + } + + /** + * 跳至详情页面 + * @return + */ + @RequestMapping(value = "/view") + public String view(Integer id,Model model) { + Sign obj = signService.load(id); + model.addAttribute("obj",obj); + return "sign/view"; + } + + /** + * 添加执行 + * @return + */ + @RequestMapping(value = "/exAdd") + public String exAdd(Sign sign, Model model, HttpServletRequest request, HttpServletResponse response) { + Object attribute = request.getSession().getAttribute("userId"); + + if (attribute == null){ + return "redirect:/login/uLogin"; + } + Integer userId = Integer.valueOf(attribute.toString()); + sign.setTeacherId(userId); + sign.setStatus(0); + signService.insert(sign); + //查询学生,插入记录表 + Student s = new Student(); + s.setBjId(sign.getBjId()); + s.setIsDelete(0); + List listAllByEntity = studentService.listAllByEntity(s); + if (!CollectionUtils.isEmpty(listAllByEntity)){ + + for (Student ss : listAllByEntity){ + Record re = new Record(); + // re.setCreateTime(new Date()); + re.setSignId(sign.getId()); + //0 未签到 1 已签到 2 请假 + re.setStatus(0); + re.setStudentId(ss.getId()); + recordService.insert(re); + } + } + return "redirect:/sign/findBySql.action?bjId="+sign.getBjId(); + } + + + /** + * 跳至修改页面 + * @return + */ + @RequestMapping(value = "/update") + public String update(Integer id,Model model) { + Sign obj = signService.load(id); + model.addAttribute("obj",obj); + return "sign/update"; + } + + /** + * 添加修改 + * @return + */ + @RequestMapping(value = "/sp") + public String sp(Sign sign, Model model, HttpServletRequest request, HttpServletResponse response) { + //1.通过实体类修改,可以多传修改条件 + Sign obj = signService.load(sign.getId()); + + if (sign.getStatus() == 2){ + Fdy f = new Fdy(); + f.setBjId(obj.getBjId()); + Fdy byEntity = null; + try { + byEntity = fdyService.listAllByEntity(f).get(0); + obj.setFdyId(byEntity.getId()); + obj.setStatus(sign.getStatus()); + signService.updateById(obj); + } catch (Exception e) { + + } + + } + + + //2.通过主键id修改 + //signService.updateById(sign); + return "redirect:/sign/findBySql.action?bjId="+obj.getBjId(); + } + + @RequestMapping(value = "/exUpdate") + public String exUpdate(Sign sign, Model model, HttpServletRequest request, HttpServletResponse response) { + Sign obj = signService.load(sign.getId()); + signService.updateById(sign); + return "redirect:/sign/findBySql?bjId="+obj.getBjId(); + } + + /** + * 删除通过主键 + * @return + */ + @RequestMapping(value = "/delete") + public String delete(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) { + Sign obj = signService.load(id); + ///1.通过主键删除 + signService.deleteById(id); + return "redirect:/sign/findBySql?bjId="+obj.getBjId(); + } + + +} diff --git a/源码/src/main/java/com/kwxy/hyt/controller/StudentController.java b/源码/src/main/java/com/kwxy/hyt/controller/StudentController.java new file mode 100644 index 0000000..8379b49 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/controller/StudentController.java @@ -0,0 +1,254 @@ +package com.kwxy.hyt.controller; +import java.io.File; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.commons.CommonsMultipartFile; + +import com.alibaba.fastjson.JSONObject; +import com.kwxy.hyt.base.BaseController; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.utils.Pager; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ + + +@Controller +@RequestMapping("/student") +public class StudentController extends BaseController { + + @Autowired + private BjService bjService; + /** + * 依赖注入 start dao/service/=== + */ + @Autowired + private StudentService studentService; + + @Autowired + private FdyService fdyService; + + @Autowired + private RecordService recordService; + + // --------------------------------------- 华丽分割线 ------------------------------ + + + /** + * 分页查询 返回list对象(通过对By Sql) + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/findBySql") + public String findBySql(Student student, Model model, HttpServletRequest request, HttpServletResponse response) { + + Object attribute = request.getSession().getAttribute("userId"); + + if (attribute == null){ + return "redirect:/login/uLogin"; + } + Integer userId = Integer.valueOf(attribute.toString()); + Fdy byId = fdyService.getById(userId); + if (byId== null || byId.getBjId() == null){ + return "redirect:/login/message?type=1"; + } + //分页查询 + String sql = "SELECT * FROM student WHERE isDelete = 0 and bjId = "+ byId.getBjId(); + if(!isEmpty(student.getCode())){ + sql += " and code like '%"+student.getCode()+"%'"; + } + if(!isEmpty(student.getUsername())){ + sql += " and username like '%"+student.getUsername()+"%'"; + } + if(!isEmpty(student.getPassword())){ + sql += " and password like '%"+student.getPassword()+"%'"; + } + if(!isEmpty(student.getBjId())){ + sql += " and bjId like '%"+student.getBjId()+"%'"; + } + if(!isEmpty(student.getIsDelete())){ + sql += " and isDelete like '%"+student.getIsDelete()+"%'"; + } + sql += " ORDER BY ID DESC "; + Pager pagers = studentService.findBySqlRerturnEntity(sql); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", student); + return "student/student"; + } + + @RequestMapping(value = "/pass") + public String pass(Integer id,HttpServletRequest request,Model model) { + Object attribute = request.getSession().getAttribute("userId"); + + if (attribute == null){ + return "redirect:/login/uLogin"; + } + Integer userId = Integer.valueOf(attribute.toString()); + Student obj = studentService.load(userId); + model.addAttribute("obj",obj); + return "student/pass"; + } + + + @RequestMapping("/upass") + @ResponseBody + public String upass(HttpServletRequest request,String password){ + Object attribute = request.getSession().getAttribute("userId"); + JSONObject j = new JSONObject(); + if (attribute == null){ + j.put("res", 0); + return j.toString(); + } + Integer userId = Integer.valueOf(attribute.toString()); + Student byId = studentService.getById(userId); + byId.setPassword(password); + studentService.updateById(byId); + j.put("res", 1); + return j.toString(); + + } + + /** + * 分页查询 返回list对象(通过Map) + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/findByMap") + public String findByMap(Student student, Model model, HttpServletRequest request, HttpServletResponse response) { + //通过map查询 + Map params = new HashMap(); + if(!isEmpty(student.getCode())){ + params.put("code", student.getCode()); + } + if(!isEmpty(student.getUsername())){ + params.put("username", student.getUsername()); + } + if(!isEmpty(student.getPassword())){ + params.put("password", student.getPassword()); + } + if(!isEmpty(student.getBjId())){ + params.put("bjId", student.getBjId()); + } + if(!isEmpty(student.getIsDelete())){ + params.put("isDelete", student.getIsDelete()); + } + //分页查询 + Pager pagers = studentService.findByMap(params); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", student); + return "student/student"; + } + + /**********************************【增删改】******************************************************/ + + /** + * 跳至添加页面 + * @return + */ + @RequestMapping(value = "/add") + public String add() { + return "student/add"; + } + + /** + * 跳至详情页面 + * @return + */ + @RequestMapping(value = "/view") + public String view(Integer id,Model model) { + Student obj = studentService.load(id); + model.addAttribute("obj",obj); + return "student/view"; + } + + /** + * 添加执行 + * @return + */ + @RequestMapping(value = "/exAdd") + public String exAdd(Student student, Model model, HttpServletRequest request, HttpServletResponse response) { + + Object attribute = request.getSession().getAttribute("userId"); + + if (attribute == null){ + return "redirect:/login/uLogin"; + } + Integer userId = Integer.valueOf(attribute.toString()); + Fdy byId = fdyService.getById(userId); + if (byId== null || byId.getBjId() == null){ + return "redirect:/login/message?type=1"; + } + student.setBjId(byId.getBjId()); + student.setIsDelete(0); + studentService.insert(student); + return "redirect:/student/findBySql.action"; + } + + + /** + * 跳至修改页面 + * @return + */ + @RequestMapping(value = "/update") + public String update(Integer id,Model model) { + Student obj = studentService.load(id); + model.addAttribute("obj",obj); + return "student/update"; + } + + /** + * 添加修改 + * @return + */ + @RequestMapping(value = "/exUpdate") + public String exUpdate(Student student, Model model, HttpServletRequest request, HttpServletResponse response) { + //1.通过实体类修改,可以多传修改条件 + studentService.updateById(student); + //2.通过主键id修改 + //studentService.updateById(student); + return "redirect:/student/findBySql.action"; + } + + /** + * 删除通过主键 + * @return + */ + @RequestMapping(value = "/delete") + public String delete(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) { + Student load = studentService.load(id); + load.setIsDelete(1); + studentService.updateById(load); + return "redirect:/student/findBySql.action"; + } + + +} diff --git a/源码/src/main/java/com/kwxy/hyt/controller/TeacherBjController.java b/源码/src/main/java/com/kwxy/hyt/controller/TeacherBjController.java new file mode 100644 index 0000000..ba8362a --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/controller/TeacherBjController.java @@ -0,0 +1,526 @@ +package com.kwxy.hyt.controller; +import java.io.File; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.commons.CommonsMultipartFile; + +import com.alibaba.fastjson.JSONObject; +import com.kwxy.hyt.base.BaseController; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.utils.Pager; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ + + +@Controller +@RequestMapping("/teacherBj") +public class TeacherBjController extends BaseController { + + + /** + * 依赖注入 start dao/service/=== + */ + @Autowired + private TeacherBjService teacherBjService; + + // --------------------------------------- 华丽分割线 ------------------------------ + + /*********************************查询列表【不分页】***********************************************/ + + /** + * 【不分页 => 查询列表 => 无条件】 + * @Title: listAll + * @Description: TODO(这里用一句话描述这个方法的作用) + * @param @return 设定文件 + * @author + * @return String 返回类型 + * @throws + */ + @RequestMapping(value = "/listAll") + public String listAll(TeacherBj teacherBj, Model model, HttpServletRequest request, HttpServletResponse response){ + List listAll = teacherBjService.listAll(); + model.addAttribute("list", listAll); + return "teacherBj/teacherBj"; + } + + /** + * 【不分页=》查询列表=>有条件】 + * @Title: listByEntity + * @Description: TODO(这里用一句话描述这个方法的作用) + * @param @return 设定文件 + * @author + * @return String 返回类型 + * @throws + */ + @RequestMapping(value = "/listByEntity") + public String listByEntity(TeacherBj teacherBj, Model model, HttpServletRequest request, HttpServletResponse response){ + List listAll = teacherBjService.listAllByEntity(teacherBj); + model.addAttribute("list", listAll); + return "teacherBj/teacherBj"; + } + + /** + * 【不分页=》查询列表=>有条件】 + * @Title: listByMap + * @Description: TODO(这里用一句话描述这个方法的作用) + * @param @return 设定文件 + * @author + * @return String 返回类型 + * @throws + */ + @RequestMapping(value = "/listByMap") + public String listByMap(TeacherBj teacherBj, Model model, HttpServletRequest request, HttpServletResponse response){ + //通过map查询 + Map params = new HashMap(); + if(!isEmpty(teacherBj.getTeacherId())){ + params.put("teacherId", teacherBj.getTeacherId()); + } + if(!isEmpty(teacherBj.getBjId())){ + params.put("bjId", teacherBj.getBjId()); + } + List listAll = teacherBjService.listByMap(params); + model.addAttribute("list", listAll); + return "teacherBj/teacherBj"; + } + + + /*********************************查询列表【分页】***********************************************/ + + + + /** + * 分页查询 返回list对象(通过对象) + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/findByObj") + public String findByObj(TeacherBj teacherBj, Model model, HttpServletRequest request, HttpServletResponse response) { + //分页查询 + Pager pagers = teacherBjService.findByEntity(teacherBj); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", teacherBj); + return "teacherBj/teacherBj"; + } + + /** + * 分页查询 返回list对象(通过对By Sql) + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/findBySql") + public String findBySql(TeacherBj teacherBj, Model model, HttpServletRequest request, HttpServletResponse response) { + //分页查询 + String sql = "SELECT * FROM teacherBj WHERE 1=1 "; + if(!isEmpty(teacherBj.getTeacherId())){ + sql += " and teacherId like '%"+teacherBj.getTeacherId()+"%'"; + } + if(!isEmpty(teacherBj.getBjId())){ + sql += " and bjId like '%"+teacherBj.getBjId()+"%'"; + } + sql += " ORDER BY ID DESC "; + Pager pagers = teacherBjService.findBySqlRerturnEntity(sql); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", teacherBj); + return "teacherBj/teacherBj"; + } + + + /** + * 分页查询 返回list对象(通过Map) + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/findByMap") + public String findByMap(TeacherBj teacherBj, Model model, HttpServletRequest request, HttpServletResponse response) { + //通过map查询 + Map params = new HashMap(); + if(!isEmpty(teacherBj.getTeacherId())){ + params.put("teacherId", teacherBj.getTeacherId()); + } + if(!isEmpty(teacherBj.getBjId())){ + params.put("bjId", teacherBj.getBjId()); + } + //分页查询 + Pager pagers = teacherBjService.findByMap(params); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", teacherBj); + return "teacherBj/teacherBj"; + } + + /**********************************【增删改】******************************************************/ + + /** + * 跳至添加页面 + * @return + */ + @RequestMapping(value = "/add") + public String add() { + return "teacherBj/add"; + } + + /** + * 跳至详情页面 + * @return + */ + @RequestMapping(value = "/view") + public String view(Integer id,Model model) { + TeacherBj obj = teacherBjService.load(id); + model.addAttribute("obj",obj); + return "teacherBj/view"; + } + + /** + * 添加执行 + * @return + */ + @RequestMapping(value = "/exAdd") + public String exAdd(TeacherBj teacherBj, Model model, HttpServletRequest request, HttpServletResponse response) { + teacherBjService.insert(teacherBj); + return "redirect:/teacherBj/findBySql.action"; + } + + + /** + * 跳至修改页面 + * @return + */ + @RequestMapping(value = "/update") + public String update(Integer id,Model model) { + TeacherBj obj = teacherBjService.load(id); + model.addAttribute("obj",obj); + return "teacherBj/update"; + } + + /** + * 添加修改 + * @return + */ + @RequestMapping(value = "/exUpdate") + public String exUpdate(TeacherBj teacherBj, Model model, HttpServletRequest request, HttpServletResponse response) { + //1.通过实体类修改,可以多传修改条件 + teacherBjService.updateById(teacherBj); + //2.通过主键id修改 + //teacherBjService.updateById(teacherBj); + return "redirect:/teacherBj/findBySql.action"; + } + + /** + * 删除通过主键 + * @return + */ + @RequestMapping(value = "/delete") + public String delete(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) { + ///1.通过主键删除 + teacherBjService.deleteById(id); + /*以下是多种删除方式*/ +// //2.通过实体条件删除 +// teacherBjService.deleteByEntity(teacherBj); +// //3.通过参数删除 +// //通过map查询 +// Map params = new HashMap(); +// +// if(!isEmpty(teacherBj.getTeacherId())){ +// params.put("teacherId", teacherBj.getTeacherId()); +// } +// +// if(!isEmpty(teacherBj.getBjId())){ +// params.put("bjId", teacherBj.getBjId()); +// } +// +// teacherBjService.deleteByMap(params); +// //4.状态删除 +// TeacherBj load = teacherBjService.getById(teacherBj.getId()) +// load.setIsDelete(1); +// teacherBjService.update(load); + //5.状态删除 + //TeacherBj load = teacherBjService.load(id); + //load.setIsDelete(1); + //teacherBjService.updateById(load); + return "redirect:/teacherBj/findBySql.action"; + } + + // --------------------------------------- 华丽分割线 ------------------------------ + // --------------------------------------- 【下面是ajax操作的方法。】 ------------------------------ + + /*********************************查询列表【不分页】***********************************************/ + + /** + * 【不分页 => 查询列表 => 无条件】 + * @Title: listAll + * @Description: TODO(这里用一句话描述这个方法的作用) + * @param @return 设定文件 + * @author + * @return String 返回类型 + * @throws + */ + @RequestMapping(value = "/listAllJson", method = RequestMethod.POST) + @ResponseBody + public String listAllJson(TeacherBj teacherBj, HttpServletRequest request, HttpServletResponse response){ + List listAll = teacherBjService.listAll(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("list", listAll); + jsonObject.put("obj", teacherBj); + return jsonObject.toString(); + } + + /** + * 【不分页=》查询列表=>有条件】 + * @Title: listByEntity + * @Description: TODO(这里用一句话描述这个方法的作用) + * @param @return 设定文件 + * @author + * @return String 返回类型 + * @throws + */ + @RequestMapping(value = "/listByEntityJson", method = RequestMethod.POST) + @ResponseBody + public String listByEntityJson(TeacherBj teacherBj, HttpServletRequest request, HttpServletResponse response){ + List listAll = teacherBjService.listAllByEntity(teacherBj); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("list", listAll); + jsonObject.put("obj", teacherBj); + return jsonObject.toString(); + } + + /** + * 【不分页=》查询列表=>有条件】 + * @Title: listByMap + * @Description: TODO(这里用一句话描述这个方法的作用) + * @param @return 设定文件 + * @author + * @return String 返回类型 + * @throws + */ + @RequestMapping(value = "/listByMapJson", method = RequestMethod.POST) + @ResponseBody + public String listByMapJson(TeacherBj teacherBj,HttpServletRequest request, HttpServletResponse response){ + //通过map查询 + Map params = new HashMap(); + if(!isEmpty(teacherBj.getTeacherId())){ + params.put("teacherId", teacherBj.getTeacherId()); + } + if(!isEmpty(teacherBj.getBjId())){ + params.put("bjId", teacherBj.getBjId()); + } + List listAll = teacherBjService.listByMap(params); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("list", listAll); + jsonObject.put("obj", teacherBj); + return jsonObject.toString(); + } + + + /** + * 分页查询 返回list json(通过对象) + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/findByObjJson", method = RequestMethod.POST) + @ResponseBody + public String findByObjByEntityJson(TeacherBj teacherBj, HttpServletRequest request, HttpServletResponse response) { + //分页查询 + Pager pagers = teacherBjService.findByEntity(teacherBj); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("pagers", pagers); + jsonObject.put("obj", teacherBj); + return jsonObject.toString(); + } + + + /** + * 分页查询 返回list json(通过Map) + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/findByMapJson", method = RequestMethod.POST) + @ResponseBody + public String findByMapJson(TeacherBj teacherBj,HttpServletRequest request, HttpServletResponse response) { + //通过map查询 + Map params = new HashMap(); + if(!isEmpty(teacherBj.getTeacherId())){ + params.put("teacherId", teacherBj.getTeacherId()); + } + if(!isEmpty(teacherBj.getBjId())){ + params.put("bjId", teacherBj.getBjId()); + } + //分页查询 + Pager pagers = teacherBjService.findByMap(params); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("pagers", pagers); + jsonObject.put("obj", teacherBj); + return jsonObject.toString(); + } + + + /** + * ajax 添加 + * @param + * @return + */ + @RequestMapping(value = "/exAddJson", method = RequestMethod.POST) + @ResponseBody + public String exAddJson(TeacherBj teacherBj, Model model, HttpServletRequest request, HttpServletResponse response) { + teacherBjService.insert(teacherBj); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("message", "添加成功"); + return jsonObject.toString(); + } + + + /** + * ajax 修改 + * @param + * @return + */ + @RequestMapping(value = "/exUpdate.json", method = RequestMethod.POST) + @ResponseBody + public String exUpdateJson(TeacherBj teacherBj, Model model, HttpServletRequest request, HttpServletResponse response) { + //1.通过实体类修改,可以多传修改条件 + teacherBjService.updateById(teacherBj); + //2.通过主键id修改 + //teacherBjService.updateById(teacherBj); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("message", "修改成功"); + return jsonObject.toString(); + } + + /** + * ajax 删除 + * @return + */ + @RequestMapping(value = "/delete.json", method = RequestMethod.POST) + @ResponseBody + public String exDeleteJson(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) { + ///1.通过主键删除 + teacherBjService.deleteById(id); + /*以下是多种删除方式*/ +// //2.通过实体条件删除 +// teacherBjService.deleteByEntity(teacherBj); +// //3.通过参数删除 +// //通过map查询 +// Map params = new HashMap(); +// +// if(!isEmpty(teacherBj.getTeacherId())){ +// params.put("teacherId", teacherBj.getTeacherId()); +// } +// +// if(!isEmpty(teacherBj.getBjId())){ +// params.put("bjId", teacherBj.getBjId()); +// } +// +// teacherBjService.deleteByMap(params); +// //4.状态删除 +// TeacherBj load = teacherBjService.getById(teacherBj.getId()) +// load.setIsDelete(1); +// teacherBjService.updateById(load); + //5.状态删除 + //TeacherBj load = teacherBjService.load(id); + //load.setIsDelete(1); + //teacherBjService.updateById(load); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("message", "删除成功"); + return jsonObject.toString(); + } + /** + * 单文件上传 + * @param file + * @param request + * @param model + * @return + */ + @RequestMapping(value = "/saveFile") + public String saveFile(@RequestParam(value = "file", required = false) MultipartFile file, HttpServletRequest request, Model model) { + + System.out.println("开始"); + String path = request.getSession().getServletContext().getRealPath("/upload"); + String fileName = file.getOriginalFilename(); + System.out.println(path); + File targetFile = new File(path, fileName); + if(!targetFile.exists()){ + targetFile.mkdirs(); + } + //保存 + try { + file.transferTo(targetFile); + } catch (Exception e) { + e.printStackTrace(); + } + + return ""; + } + + + /** + * springMvc多文件上传 + * @param files + * @param id + * @return + */ + @RequestMapping(value = "/saveFiles") + public String saveFiles(@RequestParam("file") CommonsMultipartFile[] files,Integer id,HttpServletRequest request){ + for(int i = 0;i" + files[i].getOriginalFilename()); + if(!files[i].isEmpty()){ + int pre = (int) System.currentTimeMillis(); + try { + //拿到输出流,同时重命名上传的文件 + String filePath = request.getRealPath("/upload"); + File f=new File(filePath); + if(!f.exists()){ + f.mkdirs(); + } + String fileNmae=new Date().getTime() + files[i].getOriginalFilename(); + File file=new File(filePath+"/"+pre + files[i].getOriginalFilename()); + if(!file.exists()){ + file.createNewFile(); + } + files[i].transferTo(file); + } catch (Exception e) { + e.printStackTrace(); + System.out.println("上传出错"); + } + } + } + return ""; + } + // --------------------------------------- 华丽分割线 ------------------------------ + + +} diff --git a/源码/src/main/java/com/kwxy/hyt/controller/TeacherController.java b/源码/src/main/java/com/kwxy/hyt/controller/TeacherController.java new file mode 100644 index 0000000..1aa6b81 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/controller/TeacherController.java @@ -0,0 +1,312 @@ +package com.kwxy.hyt.controller; +import java.io.File; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.commons.CommonsMultipartFile; + +import com.alibaba.fastjson.JSONObject; +import com.kwxy.hyt.base.BaseController; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.utils.Pager; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ + + +@Controller +@RequestMapping("/teacher") +public class TeacherController extends BaseController { + + + /** + * 依赖注入 start dao/service/=== + */ + @Autowired + private TeacherService teacherService; + + @Autowired + private BjService bjService; + + @Autowired + private TeacherBjService teacherBjService; + + + // --------------------------------------- 华丽分割线 ------------------------------ + + + + + /** + * 分页查询 返回list对象(通过对象) + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/findByObj") + public String findByObj(Teacher teacher, Model model, HttpServletRequest request, HttpServletResponse response) { + //分页查询 + Pager pagers = teacherService.findByEntity(teacher); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", teacher); + return "teacher/teacher"; + } + + /** + * 分页查询 返回list对象(通过对By Sql) + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/findBySql") + public String findBySql(Teacher teacher, Model model, HttpServletRequest request, HttpServletResponse response) { + //分页查询 + String sql = "SELECT * FROM teacher WHERE isDelete = 0 "; + if(!isEmpty(teacher.getCode())){ + sql += " and code like '%"+teacher.getCode()+"%'"; + } + if(!isEmpty(teacher.getUsername())){ + sql += " and username like '%"+teacher.getUsername()+"%'"; + } + if(!isEmpty(teacher.getPassword())){ + sql += " and password like '%"+teacher.getPassword()+"%'"; + } + if(!isEmpty(teacher.getKc())){ + sql += " and kc like '%"+teacher.getKc()+"%'"; + } + if(!isEmpty(teacher.getIsDelete())){ + sql += " and isDelete like '%"+teacher.getIsDelete()+"%'"; + } + sql += " ORDER BY ID DESC "; + Pager pagers = teacherService.findBySqlRerturnEntity(sql); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", teacher); + return "teacher/teacher"; + } + + + /** + * 分页查询 返回list对象(通过Map) + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/findByMap") + public String findByMap(Teacher teacher, Model model, HttpServletRequest request, HttpServletResponse response) { + //通过map查询 + Map params = new HashMap(); + if(!isEmpty(teacher.getCode())){ + params.put("code", teacher.getCode()); + } + if(!isEmpty(teacher.getUsername())){ + params.put("username", teacher.getUsername()); + } + if(!isEmpty(teacher.getPassword())){ + params.put("password", teacher.getPassword()); + } + if(!isEmpty(teacher.getKc())){ + params.put("kc", teacher.getKc()); + } + if(!isEmpty(teacher.getIsDelete())){ + params.put("isDelete", teacher.getIsDelete()); + } + //分页查询 + Pager pagers = teacherService.findByMap(params); + model.addAttribute("pagers", pagers); + //存储查询条件 + model.addAttribute("obj", teacher); + return "teacher/teacher"; + } + + /**********************************【增删改】******************************************************/ + + /** + * 跳至添加页面 + * @return + */ + @RequestMapping(value = "/add") + public String add(Model model) { + // 查询班级列表 + Bj b = new Bj(); + b.setIsDelete(0); + List listAllByEntity = bjService.listAllByEntity(b); + model.addAttribute("bjs", listAllByEntity); + return "teacher/add"; + } + + @RequestMapping(value = "/pass") + public String pass(Integer id,HttpServletRequest request,Model model) { + Object attribute = request.getSession().getAttribute("userId"); + + if (attribute == null){ + return "redirect:/login/uLogin"; + } + Integer userId = Integer.valueOf(attribute.toString()); + Teacher obj = teacherService.load(userId); + model.addAttribute("obj",obj); + return "teacher/pass"; + } + + + @RequestMapping("/upass") + @ResponseBody + public String upass(HttpServletRequest request,String password){ + Object attribute = request.getSession().getAttribute("userId"); + JSONObject j = new JSONObject(); + if (attribute == null){ + j.put("res", 0); + return j.toString(); + } + Integer userId = Integer.valueOf(attribute.toString()); + Teacher byId = teacherService.getById(userId); + byId.setPassword(password); + teacherService.updateById(byId); + j.put("res", 1); + return j.toString(); + + } + + /** + * 跳至详情页面 + * @return + */ + @RequestMapping(value = "/view") + public String view(Integer id,Model model) { + Teacher obj = teacherService.load(id); + model.addAttribute("obj",obj); + return "teacher/view"; + } + + /** + * 添加执行 + * @return + */ + @RequestMapping(value = "/exAdd") + public String exAdd(Teacher teacher,@RequestParam(value = "ids") Integer[] ids, Model model, HttpServletRequest request, HttpServletResponse response) { + + if (ids != null && ids.length > 0){ + teacher.setIsDelete(0); + teacherService.insert(teacher); + for (Integer bId : ids){ + TeacherBj tb = new TeacherBj(); + tb.setBjId(bId); + tb.setTeacherId(teacher.getId()); + teacherBjService.insert(tb); + } + } + + + return "redirect:/teacher/findBySql.action"; + } + + + /** + * 跳至修改页面 + * @return + */ + @RequestMapping(value = "/update") + public String update(Integer id,Model model) { + Teacher obj = teacherService.load(id); + // 查询班级列表 + Bj b = new Bj(); + b.setIsDelete(0); + List listAllByEntity = bjService.listAllByEntity(b); + //查看教师已经选中的 + TeacherBj t = new TeacherBj(); + t.setTeacherId(id); + List select = teacherBjService.listAllByEntity(t); + + List ids = new ArrayList(); + + if (!CollectionUtils.isEmpty(select)){ + for (TeacherBj b2 : select){ + ids.add(b2.getBjId()); + } + } + + if (!CollectionUtils.isEmpty(listAllByEntity)){ + + for (Bj bj : listAllByEntity){ + + if (!CollectionUtils.isEmpty(ids) && ids.contains(bj.getId())){ + bj.setIsCheck(1); + }else{ + bj.setIsCheck(0); + } + } + } + + + model.addAttribute("bjs", listAllByEntity); + model.addAttribute("obj",obj); + return "teacher/update"; + } + + /** + * 添加修改 + * @return + */ + @RequestMapping(value = "/exUpdate") + public String exUpdate(Teacher teacher,@RequestParam(value = "ids") Integer[] ids, Model model, HttpServletRequest request, HttpServletResponse response) { + teacherService.updateById(teacher); + if (ids != null && ids.length > 0){ + teacher.setIsDelete(0); + //删除 + TeacherBj t = new TeacherBj(); + t.setTeacherId(teacher.getId()); + teacherBjService.deleteByEntity(t); + for (Integer bId : ids){ + TeacherBj tb = new TeacherBj(); + tb.setBjId(bId); + tb.setTeacherId(teacher.getId()); + teacherBjService.insert(tb); + } + } + return "redirect:/teacher/findBySql.action"; + } + + /** + * 删除通过主键 + * @return + */ + @RequestMapping(value = "/delete") + public String delete(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) { + Teacher load = teacherService.load(id); + TeacherBj t = new TeacherBj(); + t.setTeacherId(id); + teacherBjService.deleteByEntity(t); + load.setIsDelete(1); + teacherService.updateById(load); + return "redirect:/teacher/findBySql.action"; + } + + +} diff --git a/源码/src/main/java/com/kwxy/hyt/filter/SystemContextFilter.java b/源码/src/main/java/com/kwxy/hyt/filter/SystemContextFilter.java new file mode 100644 index 0000000..c105abb --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/filter/SystemContextFilter.java @@ -0,0 +1,56 @@ +package com.kwxy.hyt.filter; + +import java.io.IOException; + +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; + +import com.kwxy.hyt.utils.SystemContext; + + + + + +public class SystemContextFilter implements Filter{ + private Integer pageSize; + + public void destroy() { + + } + + public void doFilter(ServletRequest req, ServletResponse resp, + FilterChain chain) throws IOException, ServletException { + Integer offset = 0; + try { + offset = Integer.parseInt(req.getParameter("pager.offset")); + } catch (NumberFormatException e) {} + try { + SystemContext.setOrder(req.getParameter("order")); + SystemContext.setSort(req.getParameter("sort")); + SystemContext.setPageOffset(offset); + SystemContext.setPageSize(pageSize); + SystemContext.setRealPath(((HttpServletRequest)req).getSession().getServletContext().getRealPath("/")); + chain.doFilter(req,resp); + } finally { + SystemContext.removeOrder(); + SystemContext.removeSort(); + SystemContext.removePageOffset(); + SystemContext.removePageSize(); + SystemContext.removeRealPath(); + } + } + + public void init(FilterConfig cfg) throws ServletException { + try { + pageSize = Integer.parseInt(cfg.getInitParameter("pageSize")); + } catch (NumberFormatException e) { + pageSize = 15; + } + } + +} diff --git a/源码/src/main/java/com/kwxy/hyt/mapper/BjMapper.java b/源码/src/main/java/com/kwxy/hyt/mapper/BjMapper.java new file mode 100644 index 0000000..2ed8e2d --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/mapper/BjMapper.java @@ -0,0 +1,27 @@ +package com.kwxy.hyt.mapper; +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分23秒 + */ +import com.kwxy.hyt.base.BaseDao; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.utils.Pager; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分23秒 + */ + + +public interface BjMapper extends BaseDao{ + +} diff --git a/源码/src/main/java/com/kwxy/hyt/mapper/BjMapper.xml b/源码/src/main/java/com/kwxy/hyt/mapper/BjMapper.xml new file mode 100644 index 0000000..e03ac88 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/mapper/BjMapper.xml @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + id, + name, + zy, + isDelete + + + + + #{id} , + #{name} , + #{zy} , + #{isDelete} + + + + + + name = #{name} , + + + zy = #{zy} , + + + isDelete = #{isDelete} + + + + + + + and id =#{id} + + + and name =#{name} + + + and zy =#{zy} + + + and isDelete =#{isDelete} + + + + + + + + + + + + INSERT INTO bj ( + + ) VALUES ( + + ) + + + + + + + delete from bj where id=#{id} + + + + + + delete from bj + WHERE 1=1 + + + + + + + delete from bj + WHERE 1=1 + + + + + + + + UPDATE bj + + + + WHERE 1=1 + + + + + + UPDATE bj + + + + WHERE 1=1 + and id=#{id} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO bj ( + + ) VALUES + + ( + + #{item.name} , + #{item.zy} , + #{item.isDelete} + + ) + + + + + + + + UPDATE + bj + + + name = #{item.name}, + + + zy = #{item.zy}, + + + isDelete = #{item.isDelete} + + + WHERE + 1=1 + + + + + + + + + + + + + + + + + + + + + + + ${sql} + + + + ${sql} + + + + diff --git a/源码/src/main/java/com/kwxy/hyt/mapper/FdyMapper.java b/源码/src/main/java/com/kwxy/hyt/mapper/FdyMapper.java new file mode 100644 index 0000000..d7410a7 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/mapper/FdyMapper.java @@ -0,0 +1,27 @@ +package com.kwxy.hyt.mapper; +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分23秒 + */ +import com.kwxy.hyt.base.BaseDao; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.utils.Pager; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分23秒 + */ + + +public interface FdyMapper extends BaseDao{ + +} diff --git a/源码/src/main/java/com/kwxy/hyt/mapper/FdyMapper.xml b/源码/src/main/java/com/kwxy/hyt/mapper/FdyMapper.xml new file mode 100644 index 0000000..38e2501 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/mapper/FdyMapper.xml @@ -0,0 +1,379 @@ + + + + + + + + + + + + + + + + + + + + + id, + username, + password, + code, + sex, + bjId, + isDelete + + + + + #{id} , + #{username} , + #{password} , + #{code} , + #{sex} , + #{bjId} , + #{isDelete} + + + + + + username = #{username} , + + + password = #{password} , + + + code = #{code} , + + + sex = #{sex} , + + + bjId = #{bjId} , + + + isDelete = #{isDelete} + + + + + + + and id =#{id} + + + and username =#{username} + + + and password =#{password} + + + and code =#{code} + + + and sex =#{sex} + + + and bjId =#{bjId} + + + and isDelete =#{isDelete} + + + + + + + + + + + + INSERT INTO fdy ( + + ) VALUES ( + + ) + + + + + + + delete from fdy where id=#{id} + + + + + + delete from fdy + WHERE 1=1 + + + + + + + delete from fdy + WHERE 1=1 + + + + + + + + UPDATE fdy + + + + WHERE 1=1 + + + + + + UPDATE fdy + + + + WHERE 1=1 + and id=#{id} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO fdy ( + + ) VALUES + + ( + + #{item.username} , + #{item.password} , + #{item.code} , + #{item.sex} , + #{item.bjId} + + ) + + + + + + + + UPDATE + fdy + + + username = #{item.username}, + + + password = #{item.password}, + + + code = #{item.code}, + + + sex = #{item.sex}, + + + bjId = #{item.bjId} + + + WHERE + 1=1 + + + + + + + + + + + + + + + + + + + + + + + ${sql} + + + + ${sql} + + + + diff --git a/源码/src/main/java/com/kwxy/hyt/mapper/ManageMapper.java b/源码/src/main/java/com/kwxy/hyt/mapper/ManageMapper.java new file mode 100644 index 0000000..e22725b --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/mapper/ManageMapper.java @@ -0,0 +1,27 @@ +package com.kwxy.hyt.mapper; +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分24秒 + */ +import com.kwxy.hyt.base.BaseDao; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.utils.Pager; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ + + +public interface ManageMapper extends BaseDao{ + +} diff --git a/源码/src/main/java/com/kwxy/hyt/mapper/ManageMapper.xml b/源码/src/main/java/com/kwxy/hyt/mapper/ManageMapper.xml new file mode 100644 index 0000000..7c489fd --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/mapper/ManageMapper.xml @@ -0,0 +1,330 @@ + + + + + + + + + + + + + + + + id, + username, + password + + + + + #{id} , + #{username} , + #{password} + + + + + + username = #{username} , + + + password = #{password} + + + + + + + and id =#{id} + + + and username =#{username} + + + and password =#{password} + + + + + + + + + + + + INSERT INTO manage ( + + ) VALUES ( + + ) + + + + + + + delete from manage where id=#{id} + + + + + + delete from manage + WHERE 1=1 + + + + + + + delete from manage + WHERE 1=1 + + + + + + + + UPDATE manage + + + + WHERE 1=1 + + + + + + UPDATE manage + + + + WHERE 1=1 + and id=#{id} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO manage ( + + ) VALUES + + ( + + #{item.username} , + #{item.password} + + ) + + + + + + + + UPDATE + manage + + + username = #{item.username}, + + + password = #{item.password} + + + WHERE + 1=1 + + + + + + + + + + + + + + + + + + + + + + + ${sql} + + + + ${sql} + + + + diff --git a/源码/src/main/java/com/kwxy/hyt/mapper/QjMapper.java b/源码/src/main/java/com/kwxy/hyt/mapper/QjMapper.java new file mode 100644 index 0000000..d43a2e4 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/mapper/QjMapper.java @@ -0,0 +1,27 @@ +package com.kwxy.hyt.mapper; +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分24秒 + */ +import com.kwxy.hyt.base.BaseDao; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.utils.Pager; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ + + +public interface QjMapper extends BaseDao{ + +} diff --git a/源码/src/main/java/com/kwxy/hyt/mapper/QjMapper.xml b/源码/src/main/java/com/kwxy/hyt/mapper/QjMapper.xml new file mode 100644 index 0000000..9f38985 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/mapper/QjMapper.xml @@ -0,0 +1,405 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + id, + bjId, + studentId, + fdyId, + startTime, + endTime, + status, + reason, + content + + + + + #{id} , + #{bjId} , + #{studentId} , + #{fdyId} , + #{startTime} , + #{endTime} , + #{status} , + #{reason} , + #{content} + + + + + + bjId = #{bjId} , + + + studentId = #{studentId} , + + + fdyId = #{fdyId} , + + + startTime = #{startTime} , + + + endTime = #{endTime} , + + + status = #{status} , + + + reason = #{reason} , + + + content = #{content} + + + + + + + and id =#{id} + + + and bjId =#{bjId} + + + and studentId =#{studentId} + + + and fdyId =#{fdyId} + + + and startTime =#{startTime} + + + and endTime =#{endTime} + + + and status =#{status} + + + and reason = #{reason} + + + and content = #{content} + + + + + + + + + + + + INSERT INTO qj ( + + ) VALUES ( + + ) + + + + + + + delete from qj where id=#{id} + + + + + + delete from qj + WHERE 1=1 + + + + + + + delete from qj + WHERE 1=1 + + + + + + + + UPDATE qj + + + + WHERE 1=1 + + + + + + UPDATE qj + + + + WHERE 1=1 + and id=#{id} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO qj ( + + ) VALUES + + ( + + #{item.bjId} , + #{item.studentId} , + #{item.fdyId} , + #{item.startTime} , + #{item.endTime} , + #{item.status} + + ) + + + + + + + + UPDATE + qj + + + bjId = #{item.bjId}, + + + studentId = #{item.studentId}, + + + fdyId = #{item.fdyId}, + + + startTime = #{item.startTime}, + + + endTime = #{item.endTime}, + + + status = #{item.status} + + + WHERE + 1=1 + + + + + + + + + + + + + + + + + + + + + + + ${sql} + + + + ${sql} + + + + diff --git a/源码/src/main/java/com/kwxy/hyt/mapper/RecordMapper.java b/源码/src/main/java/com/kwxy/hyt/mapper/RecordMapper.java new file mode 100644 index 0000000..614d132 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/mapper/RecordMapper.java @@ -0,0 +1,27 @@ +package com.kwxy.hyt.mapper; +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分24秒 + */ +import com.kwxy.hyt.base.BaseDao; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.utils.Pager; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ + + +public interface RecordMapper extends BaseDao{ + +} diff --git a/源码/src/main/java/com/kwxy/hyt/mapper/RecordMapper.xml b/源码/src/main/java/com/kwxy/hyt/mapper/RecordMapper.xml new file mode 100644 index 0000000..e98cc2d --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/mapper/RecordMapper.xml @@ -0,0 +1,371 @@ + + + + + + + + + + + + + + + + + + + + + id, + signId, + studentId, + ip, + createTime, + status + + + + + #{id} , + #{signId} , + #{studentId} , + #{ip} , + #{createTime} , + #{status} + + + + + + signId = #{signId} , + + + studentId = #{studentId} , + + + ip = #{ip} , + + + createTime = #{createTime} , + + + status = #{status} + + + + + + + and id =#{id} + + + and signId =#{signId} + + + and studentId =#{studentId} + + + and ip =#{ip} + + + and createTime =#{createTime} + + + and status =#{status} + + + + + + + + + + + + INSERT INTO record ( + + ) VALUES ( + + ) + + + + + + + delete from record where id=#{id} + + + + + + delete from record + WHERE 1=1 + + + + + + + delete from record + WHERE 1=1 + + + + + + + + UPDATE record + + + + WHERE 1=1 + + + + + + UPDATE record + + + + WHERE 1=1 + and id=#{id} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO record ( + + ) VALUES + + ( + + #{item.signId} , + #{item.studentId} , + #{item.ip} , + #{item.createTime} , + #{item.status} + + ) + + + + + + + + UPDATE + record + + + signId = #{item.signId}, + + + studentId = #{item.studentId}, + + + ip = #{item.ip}, + + + createTime = #{item.createTime}, + + + status = #{item.status} + + + WHERE + 1=1 + + + + + + + + + + + + + + + + + + + + + + + ${sql} + + + + ${sql} + + + + diff --git a/源码/src/main/java/com/kwxy/hyt/mapper/SignMapper.java b/源码/src/main/java/com/kwxy/hyt/mapper/SignMapper.java new file mode 100644 index 0000000..a80cd4f --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/mapper/SignMapper.java @@ -0,0 +1,27 @@ +package com.kwxy.hyt.mapper; +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分24秒 + */ +import com.kwxy.hyt.base.BaseDao; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.utils.Pager; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ + + +public interface SignMapper extends BaseDao{ + +} diff --git a/源码/src/main/java/com/kwxy/hyt/mapper/SignMapper.xml b/源码/src/main/java/com/kwxy/hyt/mapper/SignMapper.xml new file mode 100644 index 0000000..d956445 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/mapper/SignMapper.xml @@ -0,0 +1,373 @@ + + + + + + + + + + + + + + + + + + + + + + + id, + bjId, + teacherId, + name, + status, + fdyId + + + + + #{id} , + #{bjId} , + #{teacherId} , + #{name} , + #{status} , + #{fdyId} + + + + + + bjId = #{bjId} , + + + teacherId = #{teacherId} , + + + name = #{name} , + + + status = #{status} , + + + fdyId = #{fdyId} + + + + + + + and id =#{id} + + + and bjId =#{bjId} + + + and teacherId =#{teacherId} + + + and name =#{name} + + + and status =#{status} + + + and fdyId =#{fdyId} + + + + + + + + + + + + INSERT INTO sign ( + + ) VALUES ( + + ) + + + + + + + delete from sign where id=#{id} + + + + + + delete from sign + WHERE 1=1 + + + + + + + delete from sign + WHERE 1=1 + + + + + + + + UPDATE sign + + + + WHERE 1=1 + + + + + + UPDATE sign + + + + WHERE 1=1 + and id=#{id} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO sign ( + + ) VALUES + + ( + + #{item.bjId} , + #{item.teacherId} , + #{item.name} , + #{item.status} , + #{item.fdyId} + + ) + + + + + + + + UPDATE + sign + + + bjId = #{item.bjId}, + + + teacherId = #{item.teacherId}, + + + name = #{item.name}, + + + status = #{item.status}, + + + fdyId = #{item.fdyId} + + + WHERE + 1=1 + + + + + + + + + + + + + + + + + + + + + + + ${sql} + + + + ${sql} + + + + diff --git a/源码/src/main/java/com/kwxy/hyt/mapper/StudentMapper.java b/源码/src/main/java/com/kwxy/hyt/mapper/StudentMapper.java new file mode 100644 index 0000000..7dd8909 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/mapper/StudentMapper.java @@ -0,0 +1,27 @@ +package com.kwxy.hyt.mapper; +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分24秒 + */ +import com.kwxy.hyt.base.BaseDao; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.utils.Pager; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ + + +public interface StudentMapper extends BaseDao{ + +} diff --git a/源码/src/main/java/com/kwxy/hyt/mapper/StudentMapper.xml b/源码/src/main/java/com/kwxy/hyt/mapper/StudentMapper.xml new file mode 100644 index 0000000..a07e132 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/mapper/StudentMapper.xml @@ -0,0 +1,370 @@ + + + + + + + + + + + + + + + + + + + + id, + code, + username, + password, + bjId, + isDelete + + + + + #{id} , + #{code} , + #{username} , + #{password} , + #{bjId} , + #{isDelete} + + + + + + code = #{code} , + + + username = #{username} , + + + password = #{password} , + + + bjId = #{bjId} , + + + isDelete = #{isDelete} + + + + + + + and id =#{id} + + + and code =#{code} + + + and username =#{username} + + + and password =#{password} + + + and bjId =#{bjId} + + + and isDelete =#{isDelete} + + + + + + + + + + + + INSERT INTO student ( + + ) VALUES ( + + ) + + + + + + + delete from student where id=#{id} + + + + + + delete from student + WHERE 1=1 + + + + + + + delete from student + WHERE 1=1 + + + + + + + + UPDATE student + + + + WHERE 1=1 + + + + + + UPDATE student + + + + WHERE 1=1 + and id=#{id} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO student ( + + ) VALUES + + ( + + #{item.code} , + #{item.username} , + #{item.password} , + #{item.bjId} , + #{item.isDelete} + + ) + + + + + + + + UPDATE + student + + + code = #{item.code}, + + + username = #{item.username}, + + + password = #{item.password}, + + + bjId = #{item.bjId}, + + + isDelete = #{item.isDelete} + + + WHERE + 1=1 + + + + + + + + + + + + + + + + + + + + + + + ${sql} + + + + ${sql} + + + + diff --git a/源码/src/main/java/com/kwxy/hyt/mapper/TeacherBjMapper.java b/源码/src/main/java/com/kwxy/hyt/mapper/TeacherBjMapper.java new file mode 100644 index 0000000..525d431 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/mapper/TeacherBjMapper.java @@ -0,0 +1,27 @@ +package com.kwxy.hyt.mapper; +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分24秒 + */ +import com.kwxy.hyt.base.BaseDao; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.utils.Pager; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ + + +public interface TeacherBjMapper extends BaseDao{ + +} diff --git a/源码/src/main/java/com/kwxy/hyt/mapper/TeacherBjMapper.xml b/源码/src/main/java/com/kwxy/hyt/mapper/TeacherBjMapper.xml new file mode 100644 index 0000000..bafb13e --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/mapper/TeacherBjMapper.xml @@ -0,0 +1,332 @@ + + + + + + + + + + + + + + + + + + id, + teacherId, + bjId + + + + + #{id} , + #{teacherId} , + #{bjId} + + + + + + teacherId = #{teacherId} , + + + bjId = #{bjId} + + + + + + + and id =#{id} + + + and teacherId =#{teacherId} + + + and bjId =#{bjId} + + + + + + + + + + + + INSERT INTO teacher_bj ( + + ) VALUES ( + + ) + + + + + + + delete from teacher_bj where id=#{id} + + + + + + delete from teacher_bj + WHERE 1=1 + + + + + + + delete from teacher_bj + WHERE 1=1 + + + + + + + + UPDATE teacher_bj + + + + WHERE 1=1 + + + + + + UPDATE teacher_bj + + + + WHERE 1=1 + and id=#{id} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO teacher_bj ( + + ) VALUES + + ( + + #{item.teacherId} , + #{item.bjId} + + ) + + + + + + + + UPDATE + teacher_bj + + + teacherId = #{item.teacherId}, + + + bjId = #{item.bjId} + + + WHERE + 1=1 + + + + + + + + + + + + + + + + + + + + + + + ${sql} + + + + ${sql} + + + + diff --git a/源码/src/main/java/com/kwxy/hyt/mapper/TeacherMapper.java b/源码/src/main/java/com/kwxy/hyt/mapper/TeacherMapper.java new file mode 100644 index 0000000..9f25cc2 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/mapper/TeacherMapper.java @@ -0,0 +1,27 @@ +package com.kwxy.hyt.mapper; +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分24秒 + */ +import com.kwxy.hyt.base.BaseDao; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.utils.Pager; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ + + +public interface TeacherMapper extends BaseDao{ + +} diff --git a/源码/src/main/java/com/kwxy/hyt/mapper/TeacherMapper.xml b/源码/src/main/java/com/kwxy/hyt/mapper/TeacherMapper.xml new file mode 100644 index 0000000..a332eb2 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/mapper/TeacherMapper.xml @@ -0,0 +1,369 @@ + + + + + + + + + + + + + + + + + + + id, + code, + username, + password, + kc, + isDelete + + + + + #{id} , + #{code} , + #{username} , + #{password} , + #{kc} , + #{isDelete} + + + + + + code = #{code} , + + + username = #{username} , + + + password = #{password} , + + + kc = #{kc} , + + + isDelete = #{isDelete} + + + + + + + and id =#{id} + + + and code =#{code} + + + and username =#{username} + + + and password =#{password} + + + and kc =#{kc} + + + and isDelete =#{isDelete} + + + + + + + + + + + + INSERT INTO teacher ( + + ) VALUES ( + + ) + + + + + + + delete from teacher where id=#{id} + + + + + + delete from teacher + WHERE 1=1 + + + + + + + delete from teacher + WHERE 1=1 + + + + + + + + UPDATE teacher + + + + WHERE 1=1 + + + + + + UPDATE teacher + + + + WHERE 1=1 + and id=#{id} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO teacher ( + + ) VALUES + + ( + + #{item.code} , + #{item.username} , + #{item.password} , + #{item.kc} , + #{item.isDelete} + + ) + + + + + + + + UPDATE + teacher + + + code = #{item.code}, + + + username = #{item.username}, + + + password = #{item.password}, + + + kc = #{item.kc}, + + + isDelete = #{item.isDelete} + + + WHERE + 1=1 + + + + + + + + + + + + + + + + + + + + + + + ${sql} + + + + ${sql} + + + + diff --git a/源码/src/main/java/com/kwxy/hyt/po/Bj.java b/源码/src/main/java/com/kwxy/hyt/po/Bj.java new file mode 100644 index 0000000..85282c1 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/po/Bj.java @@ -0,0 +1,100 @@ +package com.kwxy.hyt.po; +import java.util.*; +import java.io.Serializable; + +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分23秒 + */ +public class Bj implements Serializable { + private static final long serialVersionUID = 3148176768559230877L; + + + /** + * @Fields Id : id + * + * */ + private Integer id; + /** + * @Fields Name : name + * + * */ + private String name; + /** + * @Fields Zy : 专业 + * + * */ + private String zy; + + + private Integer isCheck; + + /** + * @Fields IsDelete : 是否删除 0 否 1 是 + * + * */ + private Integer isDelete; + + public Integer getId() { + return this.id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return this.name; + } + + public void setName(String name) { + this.name = name; + } + + public String getZy() { + return this.zy; + } + + public void setZy(String zy) { + this.zy = zy; + } + + public Integer getIsDelete() { + return this.isDelete; + } + + public void setIsDelete(Integer isDelete) { + this.isDelete = isDelete; + } + + + public Bj() { + + } + + public Bj(Integer id ,String name ,String zy ,Integer isDelete ){ + super(); + this.id=id; + this.name=name; + this.zy=zy; + this.isDelete=isDelete; + } + + @Override + public String toString() { + return "Bj [id="+ id + ",name="+ name + ",zy="+ zy + ",isDelete="+ isDelete + "]"; + } + + public Integer getIsCheck() { + return isCheck; + } + + public void setIsCheck(Integer isCheck) { + this.isCheck = isCheck; + } + + +} + diff --git a/源码/src/main/java/com/kwxy/hyt/po/Fdy.java b/源码/src/main/java/com/kwxy/hyt/po/Fdy.java new file mode 100644 index 0000000..ac2029a --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/po/Fdy.java @@ -0,0 +1,136 @@ +package com.kwxy.hyt.po; +import java.util.*; +import java.io.Serializable; + +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分23秒 + */ +public class Fdy implements Serializable { + private static final long serialVersionUID = 3148176768559230877L; + + + /** + * @Fields Id : id + * + * */ + private Integer id; + /** + * @Fields Username : username + * + * */ + private String username; + /** + * @Fields Password : password + * + * */ + private String password; + /** + * @Fields Code : code + * + * */ + private String code; + /** + * @Fields Sex : sex + * + * */ + private String sex; + /** + * @Fields BjId : 班级id + * + * */ + private Integer bjId; + + private Bj bj; + + private Integer isDelete; + + public Integer getId() { + return this.id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getUsername() { + return this.username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return this.password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getCode() { + return this.code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getSex() { + return this.sex; + } + + public void setSex(String sex) { + this.sex = sex; + } + + public Integer getBjId() { + return this.bjId; + } + + public void setBjId(Integer bjId) { + this.bjId = bjId; + } + + + public Fdy() { + + } + + public Fdy(Integer id ,String username ,String password ,String code ,String sex ,Integer bjId ){ + super(); + this.id=id; + this.username=username; + this.password=password; + this.code=code; + this.sex=sex; + this.bjId=bjId; + } + + @Override + public String toString() { + return "Fdy [id="+ id + ",username="+ username + ",password="+ password + ",code="+ code + ",sex="+ sex + ",bjId="+ bjId + "]"; + } + + public Integer getIsDelete() { + return isDelete; + } + + public void setIsDelete(Integer isDelete) { + this.isDelete = isDelete; + } + + public Bj getBj() { + return bj; + } + + public void setBj(Bj bj) { + this.bj = bj; + } + + +} + diff --git a/源码/src/main/java/com/kwxy/hyt/po/Manage.java b/源码/src/main/java/com/kwxy/hyt/po/Manage.java new file mode 100644 index 0000000..0236940 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/po/Manage.java @@ -0,0 +1,74 @@ +package com.kwxy.hyt.po; +import java.util.*; +import java.io.Serializable; + +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分24秒 + */ +public class Manage implements Serializable { + private static final long serialVersionUID = 3148176768559230877L; + + + /** + * @Fields Id : id + * + * */ + private Integer id; + /** + * @Fields Username : username + * + * */ + private String username; + /** + * @Fields Password : password + * + * */ + private String password; + + public Integer getId() { + return this.id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getUsername() { + return this.username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return this.password; + } + + public void setPassword(String password) { + this.password = password; + } + + + public Manage() { + + } + + public Manage(Integer id ,String username ,String password ){ + super(); + this.id=id; + this.username=username; + this.password=password; + } + + @Override + public String toString() { + return "Manage [id="+ id + ",username="+ username + ",password="+ password + "]"; + } + + +} + diff --git a/源码/src/main/java/com/kwxy/hyt/po/Qj.java b/源码/src/main/java/com/kwxy/hyt/po/Qj.java new file mode 100644 index 0000000..724fdde --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/po/Qj.java @@ -0,0 +1,182 @@ +package com.kwxy.hyt.po; +import java.util.*; +import java.io.Serializable; + +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分24秒 + */ +public class Qj implements Serializable { + private static final long serialVersionUID = 3148176768559230877L; + + + /** + * @Fields Id : id + * + * */ + private Integer id; + /** + * @Fields BjId : bjId + * + * */ + private Integer bjId; + /** + * @Fields StudentId : studentId + * + * */ + private Integer studentId; + + private Student student; + + private Bj bj; + /** + * @Fields FdyId : fdyId + * + * */ + private Integer fdyId; + + private Fdy fdy; + + + /** + * @Fields StartTime : startTime + * + * */ + private String startTime; + /** + * @Fields EndTime : endTime + * + * */ + private String endTime; + /** + * @Fields Status : 是否通过 0 待审核 1 通过 2 不通过 + * + * */ + private Integer status; + + private String reason; + + private String content; + + public String getReason() { + return reason; + } + + public void setReason(String reason) { + this.reason = reason; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public Integer getId() { + return this.id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getBjId() { + return this.bjId; + } + + public void setBjId(Integer bjId) { + this.bjId = bjId; + } + + public Integer getStudentId() { + return this.studentId; + } + + public void setStudentId(Integer studentId) { + this.studentId = studentId; + } + + public Integer getFdyId() { + return this.fdyId; + } + + public void setFdyId(Integer fdyId) { + this.fdyId = fdyId; + } + + public String getStartTime() { + return this.startTime; + } + + public void setStartTime(String startTime) { + this.startTime = startTime; + } + + public String getEndTime() { + return this.endTime; + } + + public void setEndTime(String endTime) { + this.endTime = endTime; + } + + public Integer getStatus() { + return this.status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + + public Qj() { + + } + + public Qj(Integer id ,Integer bjId ,Integer studentId ,Integer fdyId ,String startTime ,String endTime ,Integer status ){ + super(); + this.id=id; + this.bjId=bjId; + this.studentId=studentId; + this.fdyId=fdyId; + this.startTime=startTime; + this.endTime=endTime; + this.status=status; + } + + @Override + public String toString() { + return "Qj [id="+ id + ",bjId="+ bjId + ",studentId="+ studentId + ",fdyId="+ fdyId + ",startTime="+ startTime + ",endTime="+ endTime + ",status="+ status + "]"; + } + + public Student getStudent() { + return student; + } + + public void setStudent(Student student) { + this.student = student; + } + + public Bj getBj() { + return bj; + } + + public void setBj(Bj bj) { + this.bj = bj; + } + + public Fdy getFdy() { + return fdy; + } + + public void setFdy(Fdy fdy) { + this.fdy = fdy; + } + + +} + diff --git a/源码/src/main/java/com/kwxy/hyt/po/Record.java b/源码/src/main/java/com/kwxy/hyt/po/Record.java new file mode 100644 index 0000000..1063291 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/po/Record.java @@ -0,0 +1,136 @@ +package com.kwxy.hyt.po; +import java.util.*; +import java.io.Serializable; + +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分24秒 + */ +public class Record implements Serializable { + private static final long serialVersionUID = 3148176768559230877L; + + + /** + * @Fields Id : id + * + * */ + private Integer id; + /** + * @Fields SignId : signId + * + * */ + private Integer signId; + + private Sign sign; + + private Student student; + + /** + * @Fields StudentId : studentId + * + * */ + private Integer studentId; + /** + * @Fields Ip : ip + * + * */ + private String ip; + /** + * @Fields CreateTime : createTime + * + * */ + private java.util.Date createTime; + /** + * @Fields Status : 0 未签到 1 已签到 2 请假 + * + * */ + private Integer status; + + public Integer getId() { + return this.id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getSignId() { + return this.signId; + } + + public void setSignId(Integer signId) { + this.signId = signId; + } + + public Integer getStudentId() { + return this.studentId; + } + + public void setStudentId(Integer studentId) { + this.studentId = studentId; + } + + public String getIp() { + return this.ip; + } + + public void setIp(String ip) { + this.ip = ip; + } + + public java.util.Date getCreateTime() { + return this.createTime; + } + + public void setCreateTime(java.util.Date createTime) { + this.createTime = createTime; + } + + public Integer getStatus() { + return this.status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + + public Record() { + + } + + public Record(Integer id ,Integer signId ,Integer studentId ,String ip ,java.util.Date createTime ,Integer status ){ + super(); + this.id=id; + this.signId=signId; + this.studentId=studentId; + this.ip=ip; + this.createTime=createTime; + this.status=status; + } + + @Override + public String toString() { + return "Record [id="+ id + ",signId="+ signId + ",studentId="+ studentId + ",ip="+ ip + ",createTime="+ createTime + ",status="+ status + "]"; + } + + public Sign getSign() { + return sign; + } + + public void setSign(Sign sign) { + this.sign = sign; + } + + public Student getStudent() { + return student; + } + + public void setStudent(Student student) { + this.student = student; + } + +} + diff --git a/源码/src/main/java/com/kwxy/hyt/po/Sign.java b/源码/src/main/java/com/kwxy/hyt/po/Sign.java new file mode 100644 index 0000000..10b5720 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/po/Sign.java @@ -0,0 +1,147 @@ +package com.kwxy.hyt.po; +import java.util.*; +import java.io.Serializable; + +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分24秒 + */ +public class Sign implements Serializable { + private static final long serialVersionUID = 3148176768559230877L; + + + /** + * @Fields Id : id + * + * */ + private Integer id; + /** + * @Fields BjId : bjId + * + * */ + private Integer bjId; + /** + * @Fields TeacherId : teacherId + * + * */ + private Integer teacherId; + /** + * @Fields Name : 0 新建 1 结束 2 上报 + * + * */ + private String name; + /** + * @Fields Status : status + * + * */ + private Integer status; + /** + * @Fields FdyId : fdyId + * + * */ + private Integer fdyId; + + private Teacher teacher; + + private Fdy fdy; + + private Bj bj; + + + public Bj getBj() { + return bj; + } + + public void setBj(Bj bj) { + this.bj = bj; + } + + public Integer getId() { + return this.id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getBjId() { + return this.bjId; + } + + public void setBjId(Integer bjId) { + this.bjId = bjId; + } + + public Integer getTeacherId() { + return this.teacherId; + } + + public void setTeacherId(Integer teacherId) { + this.teacherId = teacherId; + } + + public String getName() { + return this.name; + } + + public void setName(String name) { + this.name = name; + } + + public Integer getStatus() { + return this.status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public Integer getFdyId() { + return this.fdyId; + } + + public void setFdyId(Integer fdyId) { + this.fdyId = fdyId; + } + + + public Sign() { + + } + + public Sign(Integer id ,Integer bjId ,Integer teacherId ,String name ,Integer status ,Integer fdyId ){ + super(); + this.id=id; + this.bjId=bjId; + this.teacherId=teacherId; + this.name=name; + this.status=status; + this.fdyId=fdyId; + } + + @Override + public String toString() { + return "Sign [id="+ id + ",bjId="+ bjId + ",teacherId="+ teacherId + ",name="+ name + ",status="+ status + ",fdyId="+ fdyId + "]"; + } + + public Teacher getTeacher() { + return teacher; + } + + public void setTeacher(Teacher teacher) { + this.teacher = teacher; + } + + public Fdy getFdy() { + return fdy; + } + + public void setFdy(Fdy fdy) { + this.fdy = fdy; + } + + +} + diff --git a/源码/src/main/java/com/kwxy/hyt/po/Student.java b/源码/src/main/java/com/kwxy/hyt/po/Student.java new file mode 100644 index 0000000..cc2543a --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/po/Student.java @@ -0,0 +1,127 @@ +package com.kwxy.hyt.po; +import java.util.*; +import java.io.Serializable; + +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分24秒 + */ +public class Student implements Serializable { + private static final long serialVersionUID = 3148176768559230877L; + + + /** + * @Fields Id : id + * + * */ + private Integer id; + /** + * @Fields Code : code + * + * */ + private String code; + /** + * @Fields Username : username + * + * */ + private String username; + /** + * @Fields Password : password + * + * */ + private String password; + /** + * @Fields BjId : bjId + * + * */ + private Integer bjId; + + private Bj bj; + + /** + * @Fields IsDelete : isDelete + * + * */ + private Integer isDelete; + + public Integer getId() { + return this.id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getCode() { + return this.code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getUsername() { + return this.username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return this.password; + } + + public void setPassword(String password) { + this.password = password; + } + + public Integer getBjId() { + return this.bjId; + } + + public void setBjId(Integer bjId) { + this.bjId = bjId; + } + + public Integer getIsDelete() { + return this.isDelete; + } + + public void setIsDelete(Integer isDelete) { + this.isDelete = isDelete; + } + + + public Student() { + + } + + public Student(Integer id ,String code ,String username ,String password ,Integer bjId ,Integer isDelete ){ + super(); + this.id=id; + this.code=code; + this.username=username; + this.password=password; + this.bjId=bjId; + this.isDelete=isDelete; + } + + @Override + public String toString() { + return "Student [id="+ id + ",code="+ code + ",username="+ username + ",password="+ password + ",bjId="+ bjId + ",isDelete="+ isDelete + "]"; + } + + public Bj getBj() { + return bj; + } + + public void setBj(Bj bj) { + this.bj = bj; + } + + +} + diff --git a/源码/src/main/java/com/kwxy/hyt/po/Teacher.java b/源码/src/main/java/com/kwxy/hyt/po/Teacher.java new file mode 100644 index 0000000..2aa50af --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/po/Teacher.java @@ -0,0 +1,116 @@ +package com.kwxy.hyt.po; +import java.util.*; +import java.io.Serializable; + +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分24秒 + */ +public class Teacher implements Serializable { + private static final long serialVersionUID = 3148176768559230877L; + + + /** + * @Fields Id : id + * + * */ + private Integer id; + /** + * @Fields Code : code + * + * */ + private String code; + /** + * @Fields Username : username + * + * */ + private String username; + /** + * @Fields Password : password + * + * */ + private String password; + /** + * @Fields Kc : 课程名 + * + * */ + private String kc; + /** + * @Fields IsDelete : isDelete + * + * */ + private Integer isDelete; + + public Integer getId() { + return this.id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getCode() { + return this.code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getUsername() { + return this.username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return this.password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getKc() { + return this.kc; + } + + public void setKc(String kc) { + this.kc = kc; + } + + public Integer getIsDelete() { + return this.isDelete; + } + + public void setIsDelete(Integer isDelete) { + this.isDelete = isDelete; + } + + + public Teacher() { + + } + + public Teacher(Integer id ,String code ,String username ,String password ,String kc ,Integer isDelete ){ + super(); + this.id=id; + this.code=code; + this.username=username; + this.password=password; + this.kc=kc; + this.isDelete=isDelete; + } + + @Override + public String toString() { + return "Teacher [id="+ id + ",code="+ code + ",username="+ username + ",password="+ password + ",kc="+ kc + ",isDelete="+ isDelete + "]"; + } + + +} + diff --git a/源码/src/main/java/com/kwxy/hyt/po/TeacherBj.java b/源码/src/main/java/com/kwxy/hyt/po/TeacherBj.java new file mode 100644 index 0000000..d3253e7 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/po/TeacherBj.java @@ -0,0 +1,94 @@ +package com.kwxy.hyt.po; +import java.util.*; +import java.io.Serializable; + +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分24秒 + */ +public class TeacherBj implements Serializable { + private static final long serialVersionUID = 3148176768559230877L; + + + /** + * @Fields Id : id + * + * */ + private Integer id; + /** + * @Fields TeacherId : teacherId + * + * */ + private Integer teacherId; + /** + * @Fields BjId : bjId + * + * */ + private Integer bjId; + + private Bj bj; + + private Teacher teacher; + + public Integer getId() { + return this.id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getTeacherId() { + return this.teacherId; + } + + public void setTeacherId(Integer teacherId) { + this.teacherId = teacherId; + } + + public Integer getBjId() { + return this.bjId; + } + + public void setBjId(Integer bjId) { + this.bjId = bjId; + } + + + public TeacherBj() { + + } + + public TeacherBj(Integer id ,Integer teacherId ,Integer bjId ){ + super(); + this.id=id; + this.teacherId=teacherId; + this.bjId=bjId; + } + + @Override + public String toString() { + return "TeacherBj [id="+ id + ",teacherId="+ teacherId + ",bjId="+ bjId + "]"; + } + + public Bj getBj() { + return bj; + } + + public void setBj(Bj bj) { + this.bj = bj; + } + + public Teacher getTeacher() { + return teacher; + } + + public void setTeacher(Teacher teacher) { + this.teacher = teacher; + } + + +} + diff --git a/源码/src/main/java/com/kwxy/hyt/service/BjService.java b/源码/src/main/java/com/kwxy/hyt/service/BjService.java new file mode 100644 index 0000000..1d0609e --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/service/BjService.java @@ -0,0 +1,19 @@ +package com.kwxy.hyt.service; +import com.kwxy.hyt.base.BaseService; +import com.kwxy.hyt.po.*; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分23秒 + */ +public interface BjService extends BaseService{ + + +} diff --git a/源码/src/main/java/com/kwxy/hyt/service/FdyService.java b/源码/src/main/java/com/kwxy/hyt/service/FdyService.java new file mode 100644 index 0000000..bdc2e92 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/service/FdyService.java @@ -0,0 +1,19 @@ +package com.kwxy.hyt.service; +import com.kwxy.hyt.base.BaseService; +import com.kwxy.hyt.po.*; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分23秒 + */ +public interface FdyService extends BaseService{ + + +} diff --git a/源码/src/main/java/com/kwxy/hyt/service/ManageService.java b/源码/src/main/java/com/kwxy/hyt/service/ManageService.java new file mode 100644 index 0000000..e4f457b --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/service/ManageService.java @@ -0,0 +1,19 @@ +package com.kwxy.hyt.service; +import com.kwxy.hyt.base.BaseService; +import com.kwxy.hyt.po.*; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ +public interface ManageService extends BaseService{ + + +} diff --git a/源码/src/main/java/com/kwxy/hyt/service/QjService.java b/源码/src/main/java/com/kwxy/hyt/service/QjService.java new file mode 100644 index 0000000..df59e40 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/service/QjService.java @@ -0,0 +1,19 @@ +package com.kwxy.hyt.service; +import com.kwxy.hyt.base.BaseService; +import com.kwxy.hyt.po.*; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ +public interface QjService extends BaseService{ + + +} diff --git a/源码/src/main/java/com/kwxy/hyt/service/RecordService.java b/源码/src/main/java/com/kwxy/hyt/service/RecordService.java new file mode 100644 index 0000000..9982902 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/service/RecordService.java @@ -0,0 +1,19 @@ +package com.kwxy.hyt.service; +import com.kwxy.hyt.base.BaseService; +import com.kwxy.hyt.po.*; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ +public interface RecordService extends BaseService{ + + +} diff --git a/源码/src/main/java/com/kwxy/hyt/service/SignService.java b/源码/src/main/java/com/kwxy/hyt/service/SignService.java new file mode 100644 index 0000000..ed536fd --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/service/SignService.java @@ -0,0 +1,19 @@ +package com.kwxy.hyt.service; +import com.kwxy.hyt.base.BaseService; +import com.kwxy.hyt.po.*; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ +public interface SignService extends BaseService{ + + +} diff --git a/源码/src/main/java/com/kwxy/hyt/service/StudentService.java b/源码/src/main/java/com/kwxy/hyt/service/StudentService.java new file mode 100644 index 0000000..aecd387 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/service/StudentService.java @@ -0,0 +1,19 @@ +package com.kwxy.hyt.service; +import com.kwxy.hyt.base.BaseService; +import com.kwxy.hyt.po.*; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ +public interface StudentService extends BaseService{ + + +} diff --git a/源码/src/main/java/com/kwxy/hyt/service/TeacherBjService.java b/源码/src/main/java/com/kwxy/hyt/service/TeacherBjService.java new file mode 100644 index 0000000..eab9115 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/service/TeacherBjService.java @@ -0,0 +1,19 @@ +package com.kwxy.hyt.service; +import com.kwxy.hyt.base.BaseService; +import com.kwxy.hyt.po.*; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ +public interface TeacherBjService extends BaseService{ + + +} diff --git a/源码/src/main/java/com/kwxy/hyt/service/TeacherService.java b/源码/src/main/java/com/kwxy/hyt/service/TeacherService.java new file mode 100644 index 0000000..d50e4f0 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/service/TeacherService.java @@ -0,0 +1,19 @@ +package com.kwxy.hyt.service; +import com.kwxy.hyt.base.BaseService; +import com.kwxy.hyt.po.*; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ +public interface TeacherService extends BaseService{ + + +} diff --git a/源码/src/main/java/com/kwxy/hyt/service/impl/BjServiceImpl.java b/源码/src/main/java/com/kwxy/hyt/service/impl/BjServiceImpl.java new file mode 100644 index 0000000..6be16fd --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/service/impl/BjServiceImpl.java @@ -0,0 +1,39 @@ +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分23秒 + */ +package com.kwxy.hyt.service.impl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; +import com.kwxy.hyt.base.*; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.service.BjService; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分23秒 + */ + +@Service +public class BjServiceImpl extends BaseServiceImpl implements BjService{ + + + @Autowired + private BjMapper bjMapper; + @Override + public BaseDao getBaseDao() { + return bjMapper; + } + +} diff --git a/源码/src/main/java/com/kwxy/hyt/service/impl/FdyServiceImpl.java b/源码/src/main/java/com/kwxy/hyt/service/impl/FdyServiceImpl.java new file mode 100644 index 0000000..43e52f3 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/service/impl/FdyServiceImpl.java @@ -0,0 +1,39 @@ +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分23秒 + */ +package com.kwxy.hyt.service.impl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; +import com.kwxy.hyt.base.*; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.service.FdyService; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分23秒 + */ + +@Service +public class FdyServiceImpl extends BaseServiceImpl implements FdyService{ + + + @Autowired + private FdyMapper fdyMapper; + @Override + public BaseDao getBaseDao() { + return fdyMapper; + } + +} diff --git a/源码/src/main/java/com/kwxy/hyt/service/impl/ManageServiceImpl.java b/源码/src/main/java/com/kwxy/hyt/service/impl/ManageServiceImpl.java new file mode 100644 index 0000000..7b4d88f --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/service/impl/ManageServiceImpl.java @@ -0,0 +1,39 @@ +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分24秒 + */ +package com.kwxy.hyt.service.impl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; +import com.kwxy.hyt.base.*; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.service.ManageService; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ + +@Service +public class ManageServiceImpl extends BaseServiceImpl implements ManageService{ + + + @Autowired + private ManageMapper manageMapper; + @Override + public BaseDao getBaseDao() { + return manageMapper; + } + +} diff --git a/源码/src/main/java/com/kwxy/hyt/service/impl/QjServiceImpl.java b/源码/src/main/java/com/kwxy/hyt/service/impl/QjServiceImpl.java new file mode 100644 index 0000000..0535deb --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/service/impl/QjServiceImpl.java @@ -0,0 +1,39 @@ +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分24秒 + */ +package com.kwxy.hyt.service.impl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; +import com.kwxy.hyt.base.*; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.service.QjService; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ + +@Service +public class QjServiceImpl extends BaseServiceImpl implements QjService{ + + + @Autowired + private QjMapper qjMapper; + @Override + public BaseDao getBaseDao() { + return qjMapper; + } + +} diff --git a/源码/src/main/java/com/kwxy/hyt/service/impl/RecordServiceImpl.java b/源码/src/main/java/com/kwxy/hyt/service/impl/RecordServiceImpl.java new file mode 100644 index 0000000..a4e8774 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/service/impl/RecordServiceImpl.java @@ -0,0 +1,39 @@ +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分24秒 + */ +package com.kwxy.hyt.service.impl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; +import com.kwxy.hyt.base.*; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.service.RecordService; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ + +@Service +public class RecordServiceImpl extends BaseServiceImpl implements RecordService{ + + + @Autowired + private RecordMapper recordMapper; + @Override + public BaseDao getBaseDao() { + return recordMapper; + } + +} diff --git a/源码/src/main/java/com/kwxy/hyt/service/impl/SignServiceImpl.java b/源码/src/main/java/com/kwxy/hyt/service/impl/SignServiceImpl.java new file mode 100644 index 0000000..abebedf --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/service/impl/SignServiceImpl.java @@ -0,0 +1,39 @@ +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分24秒 + */ +package com.kwxy.hyt.service.impl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; +import com.kwxy.hyt.base.*; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.service.SignService; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ + +@Service +public class SignServiceImpl extends BaseServiceImpl implements SignService{ + + + @Autowired + private SignMapper signMapper; + @Override + public BaseDao getBaseDao() { + return signMapper; + } + +} diff --git a/源码/src/main/java/com/kwxy/hyt/service/impl/StudentServiceImpl.java b/源码/src/main/java/com/kwxy/hyt/service/impl/StudentServiceImpl.java new file mode 100644 index 0000000..f7c7096 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/service/impl/StudentServiceImpl.java @@ -0,0 +1,39 @@ +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分24秒 + */ +package com.kwxy.hyt.service.impl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; +import com.kwxy.hyt.base.*; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.service.StudentService; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ + +@Service +public class StudentServiceImpl extends BaseServiceImpl implements StudentService{ + + + @Autowired + private StudentMapper studentMapper; + @Override + public BaseDao getBaseDao() { + return studentMapper; + } + +} diff --git a/源码/src/main/java/com/kwxy/hyt/service/impl/TeacherBjServiceImpl.java b/源码/src/main/java/com/kwxy/hyt/service/impl/TeacherBjServiceImpl.java new file mode 100644 index 0000000..4ae8cef --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/service/impl/TeacherBjServiceImpl.java @@ -0,0 +1,39 @@ +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分24秒 + */ +package com.kwxy.hyt.service.impl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; +import com.kwxy.hyt.base.*; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.service.TeacherBjService; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ + +@Service +public class TeacherBjServiceImpl extends BaseServiceImpl implements TeacherBjService{ + + + @Autowired + private TeacherBjMapper teacherBjMapper; + @Override + public BaseDao getBaseDao() { + return teacherBjMapper; + } + +} diff --git a/源码/src/main/java/com/kwxy/hyt/service/impl/TeacherServiceImpl.java b/源码/src/main/java/com/kwxy/hyt/service/impl/TeacherServiceImpl.java new file mode 100644 index 0000000..47cb4d1 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/service/impl/TeacherServiceImpl.java @@ -0,0 +1,39 @@ +/** + * @ClassName: + * @Description: + * @author administrator + * @date - 2018年10月27日 09时48分24秒 + */ +package com.kwxy.hyt.service.impl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; +import com.kwxy.hyt.base.*; +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.service.TeacherService; +import java.util.*; + +import com.kwxy.hyt.po.*; +import com.kwxy.hyt.mapper.*; +import com.kwxy.hyt.service.*; + +/** + * @ClassName: + * @Description: + * @author - - admin + * @date - 2018年10月27日 09时48分24秒 + */ + +@Service +public class TeacherServiceImpl extends BaseServiceImpl implements TeacherService{ + + + @Autowired + private TeacherMapper teacherMapper; + @Override + public BaseDao getBaseDao() { + return teacherMapper; + } + +} diff --git a/源码/src/main/java/com/kwxy/hyt/utils/DateUtil.java b/源码/src/main/java/com/kwxy/hyt/utils/DateUtil.java new file mode 100644 index 0000000..9346a09 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/utils/DateUtil.java @@ -0,0 +1,579 @@ +package com.kwxy.hyt.utils; + +import java.sql.Timestamp; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.ParsePosition; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.GregorianCalendar; + +/** + * 日期格式化类 + */ +public class DateUtil extends java.util.Date { + private static final long serialVersionUID = 1L; + + private static final DateFormat datetimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + private static final DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + private static final String strFormat1 = "yyyy-MM-dd HH:mm"; + + /** + M 年中的月份 Month July; Jul; 07 + w 年中的周数 Number 27 + W 月份中的周数 Number 2 + D 年中的天数 Number 189 + d 月份中的天数 Number 10 + F 月份中的星期 Number 2 + E 星期中的天数 Text Tuesday; Tue + a Am/pm 标记 Text PM + H 一天中的小时数(0-23) Number 0 + k 一天中的小时数(1-24) Number 24 + K am/pm 中的小时数(0-11) Number 0 + h am/pm 中的小时数(1-12) Number 12 + m 小时中的分钟数 Number 30 + s 分钟中的秒数 Number 55 + S 毫秒数 Number 978 + z 时区 General time zone Pacific Standard Time; PST; GMT-08:00 + Z 时区 RFC 822 time zone -0800 + */ + + /** + * 构造函数 + */ + public DateUtil() { + super(getSystemDate().getTime().getTime()); + } + + /** + * 当前时间 + * + * @return 时间Timestamp + */ + public java.sql.Timestamp parseTime() { + return new java.sql.Timestamp(this.getTime()); + } + + /** + * 将Date类型转换为字符串 yyyy-MM-dd HH:mm:ss + * + * @param Date + * @return String + */ + public static String format(Date date) { + return format(date, null); + } + + /** + * 将Date类型转换为字符串 + * + * @param Date + * @param pattern 字符串格式 + * @return String + */ + public static String format(Date date, String pattern) { + if (date == null) { + return ""; + + } else if (pattern == null || pattern.equals("") || pattern.equals("null")) { + return datetimeFormat.format(date); + + } else { + return new SimpleDateFormat(pattern).format(date); + } + } + + /** + * 将Date类型转换为字符串 yyyy-MM-dd + * + * @param Date + * @return String + */ + public static String formatDate(Date date) { + if (date == null) { + return ""; + } + return dateFormat.format(date); + } + + /** + * 将字符串转换为Date类型 + * + * @param sDate yyyy-MM-dd HH:mm:ss + * @return + */ + public static Date convert(String sDate) { + + try { + if (sDate != null) { + if (sDate.length() == 10) { + return dateFormat.parse(sDate); + } else if (sDate.length() == 19) { + return datetimeFormat.parse(sDate); + } + } + } catch (ParseException pe) { + } + return convert(sDate, null); + } + + /** + * 将字符串转换为Date类型 + * + * @param sDate + * @param pattern 格式 + * @return + */ + public static Date convert(String sDate, String pattern) { + Date date = null; + try { + if (sDate == null || sDate.equals("") || sDate.equals("null")) { + return null; + + } else if (pattern == null || pattern.equals("") || pattern.equals("null")) { + return datetimeFormat.parse(sDate); + + } else { + return new SimpleDateFormat(pattern).parse(sDate); + } + } catch (ParseException pe) { + } + return date; + } + + /** + * String转换为Date + * + * @param sDate 日期"yyyy-MM-dd" + * @return 日期Date + */ + public static Date convertDate(String dateStr) { + return convert(dateStr, "yyyy-MM-dd"); + } + + /** + * String转换为Timestamp + * + * @param sDate 日期 "yyyy-MM-dd" / "yyyy-MM-dd HH:mm:ss" + * @return 日期Timestamp + */ + public static Timestamp convertTimestamp(String sDate) { + if (sDate.length() == 10) { + sDate = sDate + " 00:00:00"; + } + if (sDate.length() == 16) { + sDate = sDate + ":00"; + } + return Timestamp.valueOf(sDate); + } + + /** + * Date转换为Timestamp + */ + public static Timestamp convert(Date date) { + return new Timestamp(date.getTime()); + } + + /** + * 取当前日期(yyyy-mm-dd) + * + * @return 时间Timestamp + */ + public static String getTodayDate() { + return formatDate(new Date()); + } + + /** + * 取当前日期(yyyy-mm-dd hh:mm:ss) + * + * @return 时间Timestamp + */ + public static String getTodayDateTime() { + return format(new Date()); + } + + /** + * 取得n分钟后的时间 + * + * @param date 日期 + * @param afterMins + * @return 时间Timestamp + */ + public static Date getAfterMinute(Date date, long afterMins) { + if (date == null) + date = new Date(); + + long longTime = date.getTime() + afterMins * 60 * 1000; + + return new Date(longTime); + } + + + /** + * add by yinshengming start 2016-4-7 + * 取得n秒后的时间 + * + * @param date 日期 + * @param afterMins + * @return 时间Timestamp + */ + public static Date getAfterSecond(Date date, long afterMins) { + if (date == null) + date = new Date(); + + long longTime = date.getTime() + afterMins * 1000; + + return new Date(longTime); + } + // public static void main(String[] arg) { + // System.err.println(format((new Date()))); + // System.err.println(format(getAfterMinute(new Date(), 3))); + // } + + /** + * 取得指定日期几天后的日期 + * + * @param date 日期 + * @param afterDays 天数 + * @return 日期 + */ + public static Date getAfterDay(Date date, int afterDays) { + if (date == null) + date = new Date(); + + GregorianCalendar cal = new GregorianCalendar(); + cal.setTime(date); + cal.add(java.util.Calendar.DATE, afterDays); + return cal.getTime(); + } + + /** + * 取得指定日期几天后的日期 + * + * @param sDate 日期 yyyy-MM-dd + * @param afterDays 天数 + * @return 日期 + */ + public static String getAfterDay(String sDate, int afterDays) { + Date date = convertDate(sDate); + + date = getAfterDay(date, afterDays); + return formatDate(date); + } + + /** + * 取得指定日期几天前的日期 + * + * @param date 日期 + * @param beforeDays 天数(大于0) + * @return 日期 + */ + public static Date getBeforeDay(Date date, int beforeDays) { + if (date == null) + date = new Date(); + + GregorianCalendar cal = new GregorianCalendar(); + cal.setTime(date); + cal.add(java.util.Calendar.DATE, 0 - Math.abs(beforeDays)); + return cal.getTime(); + } + + /** + * 取得指定日期几天前的日期 + * + * @param sDate 日期 yyyy-MM-dd + * @param beforeDays 天数(大于0) + * @return 日期 + */ + public static String getBeforeDay(String sDate, int beforeDays) { + Date date = convertDate(sDate); + + date = getBeforeDay(date, beforeDays); + return formatDate(date); + } + + /** + * 获得几个月后的日期 + * + * @param date 日期 + * @param afterMonth 月数 + * @return 日期Date + */ + public static Date getAfterMonth(Date date, int afterMonth) { + if (date == null) + date = new Date(); + + GregorianCalendar cal = new GregorianCalendar(); + cal.setTime(date); + + cal.add(java.util.Calendar.MONTH, afterMonth); + return cal.getTime(); + } + + /** + * 获得几个月后的日期 + * + * @param sDate 日期 + * @param afterMonth 月数 + * @return 日期"yyyy-MM-dd" + */ + public static String getAfterMonth(String sDate, int afterMonth) { + Date date = convertDate(sDate); + + date = getAfterMonth(date, afterMonth); + return formatDate(date); + } + + /** + * 获得几年后的日期 + * + * @param date 日期 + * @param afterYear 年数 + * @return 日期Date + */ + public static Date getAfterYear(Date date, int afterYear) { + if (date == null) + date = new Date(); + + GregorianCalendar cal = new GregorianCalendar(); + cal.setTime(date); + + cal.add(java.util.Calendar.YEAR, afterYear); + return cal.getTime(); + } + + /** + * 获得几年后的日期 + * + * @param date 日期 + * @param afterYear 年数 + * @return 日期Date + */ + public static String getAfterYear(String sDate, int afterYear) { + Date date = convertDate(sDate); + + date = getAfterYear(date, afterYear); + return formatDate(date); + } + + /** + * 取得月份第一天日期 + * + * @param sDate(yyyy-mm-dd) : 如为Null,默认取当前系统时间 + * @return yyyy-mm-dd + */ + public static String getMonthFirstDay(String sDate) { + Date date = null; + if (sDate != null && sDate.length() > 0) { + date = convertDate(sDate); + } + Calendar gc = Calendar.getInstance(); + if (date != null) { + gc.setTime(date); + } + gc.set(Calendar.DATE, 1); + + return formatDate(gc.getTime()); + } + + /** + * 取得月份最后一天日期 + * + * @param sDate(yyyy-mm-dd) : 如为Null,默认取当前系统时间 + * @return yyyy-mm-dd + */ + public static String getMonthLastDay(String sDate) { + Date date = null; + + if (sDate != null && sDate.length() > 0) { + date = convertDate(sDate); + } + Calendar gc = Calendar.getInstance(); + if (date != null) { + gc.setTime(date); + } + gc.add(Calendar.MONTH, 1); + gc.add(Calendar.DATE, -gc.get(Calendar.DAY_OF_MONTH)); + + return formatDate(gc.getTime()); + } + + /** + * 取得日期,星期几 + * + * @param dateTime : dateTime + * @return "星期日","星期一","星期二","星期三","星期四","星期五","星期六" + */ + public static String getWeekDayName(String dateTime) throws ParseException { + + String dayNames[] = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" }; + Date d = convertDate(dateTime); + Calendar cal = Calendar.getInstance(); + cal.setTime(d); + int day = cal.get(Calendar.DAY_OF_WEEK); + String week_day_name = dayNames[day - 1]; + return week_day_name; + } + + /** + * 传入的日期格式是否是yyyy-MM-dd + * + * @param in 被检查的日期 + * @return 是指定的日期格式:true,否则:false + */ + public static boolean isFormatDate(String in) { + return isFormatDate(in, "yyyy-MM-dd"); + } + + /** + * 传入的日期格式是否是指定的日期格式 + * + * @param in 被检查的日期 + * @param format 指定的日期格式 + * @return 是指定的日期格式:true,否则:false + */ + private static boolean isFormatDate(String in, String format) { + if (format != null & format.length() > 0) { + return false; + } + + final SimpleDateFormat sdFormat = new SimpleDateFormat(format); + Date dateCompare = null; + String sDate = ""; + + try { + dateCompare = sdFormat.parse(in, new ParsePosition(0)); + sDate = sdFormat.format(dateCompare); + } catch (final Exception e) { + return false; + } + + if (dateCompare == null) { + return false; + } else { + return sDate.equals(in); + } + } + + /** + * 比较两个日期先后 + * + * @param date1 : yyyy-MM-dd + * @param date1 : yyyy-MM-dd + * @return date1 > date2 : true, else : false + */ + public static boolean compareDate(String date1, String date2) { + if (isFormatDate(date1, "yyyy-MM-dd") && isFormatDate(date2, "yyyy-MM-dd")) { + if (date1.compareTo(date2) > 0) { + return false; + } else { + return true; + } + } else { + return false; + } + } + + /** + * 取当前系统时间 + * + * @return 时间Calendar + */ + public static Calendar getSystemDate() { + return Calendar.getInstance(); + } + + /** + * 转换类型 + * + * @param sDate 日期"yyyy-MM-dd HH:mm" + * @return 日期Date + * @throws Exception + */ + public static java.util.Date convertDate1(String sDate) throws Exception { + SimpleDateFormat sFormat1 = new SimpleDateFormat(strFormat1); + return sFormat1.parse(sDate); + } + + /** + * 取得输入时间n分钟前的时间 + * + * @param date 日期 + * @param lminute + * @return 时间Timestamp + */ + public static Timestamp gettimebefore(java.util.Date date, long lminute) { + + long lngTime = date.getTime() - lminute * 60 * 1000; + + return new Timestamp(lngTime); + + } + + /** + * 取得日期,星期几 + * + * @param dateTime + * : dateTime + * @return "周日","周一","周二","周三","周四","周五","周六" + */ + public static String getWeekDays(Date dateTime){ + String dayNames[] = { "周日", "周一", "周二", "周三", "周四", "周五", "周六" }; + + int day = getWeekDay(dateTime); + String week_day_name = dayNames[day - 1]; + return week_day_name; + } + /** + * 取得日期,星期几 + * + * @param dateTime + * : dateTime + * @return "周日","周一","周二","周三","周四","周五","周六" + */ + public static String getWeekOfDate(Date dateTime){ + String dayNames[] = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}; + + int day = getWeekDay(dateTime); + String week_day_name = dayNames[day - 1]; + return week_day_name; + } + + /** + * 取得日期是星期的第几天 + * + * @param dateTime + * : dateTime + * @return :1: "星期日",2:"星期一", 3:"星期二",,4:"星期三", 5:"星期四", 6:"星期五", 7:"星期六" + */ + public static int getWeekDay(Date dateTime) { + + Calendar cal = Calendar.getInstance(); + cal.setTime(dateTime); + return cal.get(Calendar.DAY_OF_WEEK); + } + /** + * 求2个日期之间的天数 + * + * @param StartDay 开始日期 + * @param endDay 结束日期 + * @param IncludeEndFlag 是否把结束当天算在内,Y:是,N:否 + * @return + * @throws Exception + */ + public static long DayCountBetweenDays(String StartDay, String endDay, + String IncludeEndFlag) throws Exception { + long DAY = 24L * 60L * 60L * 1000L; + long countBetweenDay = 0; + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); + Date d1 = df.parse(StartDay); + Date d2 = df.parse(endDay); + countBetweenDay = (d2.getTime() - d1.getTime()) / DAY; + if (IncludeEndFlag == "Y") { + countBetweenDay++; + } + return countBetweenDay; + + } +} diff --git a/源码/src/main/java/com/kwxy/hyt/utils/HttpConstants.java b/源码/src/main/java/com/kwxy/hyt/utils/HttpConstants.java new file mode 100644 index 0000000..00da5f8 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/utils/HttpConstants.java @@ -0,0 +1,27 @@ +package com.kwxy.hyt.utils; + +public class HttpConstants { + + public static final String SYSTEM_ERROR_MSG = "系统错误"; + + public static final String REQUEST_PARAMS_NULL = "请求参数为空"; + + public static final String SERVICE_RESPONSE_NULL = "服务端返回结果为空"; + + // 服务端返回成功的标志 + public static final String SERVICE_RESPONSE_SUCCESS_CODE = "AMS00000"; + + // 服务端返回结果的标志 + public static final String SERVICE_RESPONSE_RESULT_FLAG = "returnCode"; + + // 服务端返回结果失败的标志 + public static final String SERVICE_RESPONSE_RESULT_MSG = "errorMsg"; + + // 返回给前段页面成功或失败的标志 + public static final String RESPONSE_RESULT_FLAG_ISERROR = "isError"; + + // 执行删除操作 + public static final String OPERATION_TYPE_DELETE = "D"; + + +} diff --git a/源码/src/main/java/com/kwxy/hyt/utils/JsonUtil.java b/源码/src/main/java/com/kwxy/hyt/utils/JsonUtil.java new file mode 100644 index 0000000..3917dfe --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/utils/JsonUtil.java @@ -0,0 +1,109 @@ +package com.kwxy.hyt.utils; +import java.io.IOException; +import java.util.List; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.serializer.SerializeConfig; +import com.alibaba.fastjson.serializer.SerializerFeature; +import com.alibaba.fastjson.serializer.SimpleDateFormatSerializer; + +@SuppressWarnings("unused") +public class JsonUtil { + + private static final String[] DATE_FORMAT = { "yyyy-MM-dd HH:mm:ss" }; + + private static SerializeConfig config = new SerializeConfig(); + static { + String dateFormat = "yyyy-MM-dd HH:mm:ss"; + config.put(java.util.Date.class, new SimpleDateFormatSerializer(dateFormat)); + } + + public static String toJson(Object obj) { + String json = null; + + try { + if (obj != null) { + json = JSON.toJSONString(obj, SerializerFeature.WriteDateUseDateFormat); + } + } catch (Exception e) { + e.printStackTrace(); + } + return json; + } + + public static T toBean(String json, Class clazz) { + T bean = null; + + try { + if (json != null) { + bean = JSON.parseObject(json, clazz); + } + } catch (Exception e) { + e.printStackTrace(); + } + return bean; + } + + public static List toBeanList(String json, Class clazz) { + List beanList = null; + + try { + if (json != null) { + beanList = JSON.parseArray(json, clazz); + } + } catch (Exception e) { + e.printStackTrace(); + } + return beanList; + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + public static void main(String[] args) throws IOException { + +// { +// +// Map map = new HashMap(); +// map.put("total", 0); +// map.put("rows", new Object[0]); +// map.put("sessionStatus", 0); +// map.put("null", null); +// map.put("date", new Date()); +// map.put("time", new Timestamp(System.currentTimeMillis())); +// +// String json = toJson(map); +// System.out.println(json); +// +// Map toMap = toBean(json, Map.class); +// System.out.println(toMap); +// } + +// { +// List heatInfoList = new ArrayList(); +// +// HeatInfoVO heatInfoVO = new HeatInfoVO(); +// heatInfoVO.setErrMsg("err"); +// heatInfoList.add(heatInfoVO); +// +// List heatInfoDetailList = new ArrayList(); +// +// for (int i = 0; i < 3; i++) { +// HeatInfoDetailVO heatInfoDetailVO = new HeatInfoDetailVO(); +// heatInfoDetailVO.setAreaType("type" + i); +// heatInfoDetailList.add(heatInfoDetailVO); +// } +// +// heatInfoVO.setHeatInfoDetailList(heatInfoDetailList); +// +// String json = JsonUtil.toJson(heatInfoList); +// System.out.println(json); +// +// List heatInfoList2 = JsonUtil.toBeanList(json, HeatInfoVO.class); +// System.out.println(heatInfoList2.get(0).getErrMsg()); +// System.out.println(heatInfoList2.get(0).getHeatInfoDetailList().get(0).getAreaType()); +// System.out.println(JsonUtil.toJson(heatInfoList2)); +// +// } + + + } +} \ No newline at end of file diff --git a/源码/src/main/java/com/kwxy/hyt/utils/Pager.java b/源码/src/main/java/com/kwxy/hyt/utils/Pager.java new file mode 100644 index 0000000..4d73dd9 --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/utils/Pager.java @@ -0,0 +1,73 @@ +package com.kwxy.hyt.utils; +import java.util.List; + +import com.github.pagehelper.Page; + + +/** + * 分页对象 + * @author Administrator + * + * @param + */ +public class Pager { + /** + * 分页的大小 + */ + private int size; + /** + * 分页的起始页 + */ + private int offset; + /** + * 总记录数 + */ + private long total; + /** + * 分页的数据 + */ + private List datas; + + public int getSize() { + return size; + } + public void setSize(int size) { + this.size = size; + } + public int getOffset() { + return offset; + } + public void setOffset(int offset) { + this.offset = offset; + } + public long getTotal() { + return total; + } + public void setTotal(long total) { + this.total = total; + } + public List getDatas() { + return datas; + } + public void setDatas(List datas) { + this.datas = datas; + } + /** + * 构造方法里面求数据 + * @param datas + */ + public Pager(List datas) { + if(datas instanceof Page){ + Page page = (Page)datas; + setOffset(page.getPageNum()); + setSize(page.getPageSize()); + setTotal(page.getTotal()); + setDatas(datas); + } + + } + public Pager() { + } + + +} diff --git a/源码/src/main/java/com/kwxy/hyt/utils/SystemContext.java b/源码/src/main/java/com/kwxy/hyt/utils/SystemContext.java new file mode 100644 index 0000000..78ec20b --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/utils/SystemContext.java @@ -0,0 +1,80 @@ +package com.kwxy.hyt.utils; +/** + * 用来传递列表对象的ThreadLocal数据 + * @author Administrator + * + */ +public class SystemContext { + /** + * 分页大小 + */ + private static ThreadLocal pageSize = new ThreadLocal(); + /** + * 分页的起始页 + */ + private static ThreadLocal pageOffset = new ThreadLocal(); + /** + * 列表的排序字段 + */ + private static ThreadLocal sort = new ThreadLocal(); + /** + * 列表的排序方式 + */ + private static ThreadLocal order = new ThreadLocal(); + + private static ThreadLocal realPath = new ThreadLocal(); + + + + public static String getRealPath() { + return realPath.get(); + } + public static void setRealPath(String _realPath) { + SystemContext.realPath.set(_realPath); + } + public static Integer getPageSize() { + return pageSize.get(); + } + public static void setPageSize(Integer _pageSize) { + pageSize.set(_pageSize); + } + public static Integer getPageOffset() { + return pageOffset.get(); + } + public static void setPageOffset(Integer _pageOffset) { + pageOffset.set(_pageOffset); + } + public static String getSort() { + return sort.get(); + } + public static void setSort(String _sort) { + SystemContext.sort.set(_sort); + } + public static String getOrder() { + return order.get(); + } + public static void setOrder(String _order) { + SystemContext.order.set(_order); + } + + public static void removePageSize() { + pageSize.remove(); + } + + public static void removePageOffset() { + pageOffset.remove(); + } + + public static void removeSort() { + sort.remove(); + } + + public static void removeOrder() { + order.remove(); + } + + public static void removeRealPath() { + realPath.remove(); + } + +} diff --git a/源码/src/main/java/com/kwxy/hyt/utils/UUIDUtils.java b/源码/src/main/java/com/kwxy/hyt/utils/UUIDUtils.java new file mode 100644 index 0000000..9b5e5bb --- /dev/null +++ b/源码/src/main/java/com/kwxy/hyt/utils/UUIDUtils.java @@ -0,0 +1,99 @@ +package com.kwxy.hyt.utils; + + + + + +import java.math.BigInteger; +import java.security.SecureRandom; +import java.util.Random; +import java.util.UUID; +import java.util.concurrent.locks.ReentrantLock; + +/** + * Helper for creating random and Type 1 (time-based) UUIDs. + * + * @author xuan.chen + */ +public class UUIDUtils { + + private static boolean IS_THREADLOCALRANDOM_AVAILABLE = false; + private static Random random; + private static final long leastSigBits; + private static final ReentrantLock lock = new ReentrantLock(); + private static long lastTime; + + static { + try { + IS_THREADLOCALRANDOM_AVAILABLE = null != UUIDUtils.class.getClassLoader().loadClass( + "java.util.concurrent.ThreadLocalRandom"); + } catch (ClassNotFoundException e) { + } + + byte[] seed = new SecureRandom().generateSeed(8); + leastSigBits = new BigInteger(seed).longValue(); + if (!IS_THREADLOCALRANDOM_AVAILABLE) { + random = new Random(leastSigBits); + } + } + + private UUIDUtils() { + } + + /** + * Create a new random UUID. + * + * @return the new UUID + */ + public static String random() { + byte[] randomBytes = new byte[16]; + if (IS_THREADLOCALRANDOM_AVAILABLE) { + java.util.concurrent.ThreadLocalRandom.current().nextBytes(randomBytes); + } else { + random.nextBytes(randomBytes); + } + + long mostSigBits = 0; + for (int i = 0; i < 8; i++) { + mostSigBits = (mostSigBits << 8) | (randomBytes[i] & 0xff); + } + long leastSigBits = 0; + for (int i = 8; i < 16; i++) { + leastSigBits = (leastSigBits << 8) | (randomBytes[i] & 0xff); + } + + return new UUID(mostSigBits, leastSigBits).toString().replaceAll("-", ""); + } + + /** + * Create a new time-based UUID. + * + * @return the new UUID + */ + public static String create() { + long timeMillis = (System.currentTimeMillis() * 10000) + 0x01B21DD213814000L; + + lock.lock(); + try { + if (timeMillis > lastTime) { + lastTime = timeMillis; + } else { + timeMillis = ++lastTime; + } + } finally { + lock.unlock(); + } + + // time low + long mostSigBits = timeMillis << 32; + + // time mid + mostSigBits |= (timeMillis & 0xFFFF00000000L) >> 16; + + // time hi and version + mostSigBits |= 0x1000 | ((timeMillis >> 48) & 0x0FFF); // version 1 + + return new UUID(mostSigBits, leastSigBits).toString().replaceAll("-", ""); + } + +} diff --git a/源码/src/main/resources/db.properties b/源码/src/main/resources/db.properties new file mode 100644 index 0000000..657c6c7 --- /dev/null +++ b/源码/src/main/resources/db.properties @@ -0,0 +1,6 @@ +jdbc.driver=com.mysql.jdbc.Driver +jdbc.url=jdbc:mysql://127.0.0.1:3306/ssm_xsktsign?useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true +jdbc.username=root +jdbc.password=123456 + + diff --git a/源码/src/main/resources/log4j.properties b/源码/src/main/resources/log4j.properties new file mode 100644 index 0000000..041a464 --- /dev/null +++ b/源码/src/main/resources/log4j.properties @@ -0,0 +1,10 @@ +log4j.rootLogger=DEBUG, Console +#Console +log4j.appender.Console=org.apache.log4j.ConsoleAppender +log4j.appender.Console.layout=org.apache.log4j.PatternLayout +log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n +log4j.logger.java.sql.ResultSet=INFO +log4j.logger.org.apache=INFO +log4j.logger.java.sql.Connection=DEBUG +log4j.logger.java.sql.Statement=DEBUG +log4j.logger.java.sql.PreparedStatement=DEBUG \ No newline at end of file diff --git a/源码/src/main/resources/mybatis/sqlMapConfig.xml b/源码/src/main/resources/mybatis/sqlMapConfig.xml new file mode 100644 index 0000000..8cccb93 --- /dev/null +++ b/源码/src/main/resources/mybatis/sqlMapConfig.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/源码/src/main/resources/spring/applicationContext-dao.xml b/源码/src/main/resources/spring/applicationContext-dao.xml new file mode 100644 index 0000000..6cd31ac --- /dev/null +++ b/源码/src/main/resources/spring/applicationContext-dao.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/源码/src/main/resources/spring/applicationContext-service.xml b/源码/src/main/resources/spring/applicationContext-service.xml new file mode 100644 index 0000000..4324c91 --- /dev/null +++ b/源码/src/main/resources/spring/applicationContext-service.xml @@ -0,0 +1,18 @@ + + + + + \ No newline at end of file diff --git a/源码/src/main/resources/spring/applicationContext-transaction.xml b/源码/src/main/resources/spring/applicationContext-transaction.xml new file mode 100644 index 0000000..ce340e7 --- /dev/null +++ b/源码/src/main/resources/spring/applicationContext-transaction.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/源码/src/main/resources/spring/springmvc.xml b/源码/src/main/resources/spring/springmvc.xml new file mode 100644 index 0000000..29b80ed --- /dev/null +++ b/源码/src/main/resources/spring/springmvc.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + application/json;charset=UTF-8 + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/源码/src/main/webapp/META-INF/MANIFEST.MF b/源码/src/main/webapp/META-INF/MANIFEST.MF new file mode 100644 index 0000000..254272e --- /dev/null +++ b/源码/src/main/webapp/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/base/BaseController.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/base/BaseController.class new file mode 100644 index 0000000000000000000000000000000000000000..0873a32b50b2995d2b97c510abb49e149145e621 GIT binary patch literal 3068 zcmah~-*XdH7(JVWCZyXoO-lhmsK}4DX-UNjXlsRrR*EeZ0#!i7O}b6DY_lcV00j{h z6<>6mL0`~eMqgzFX0-fr@J(m@KMK704>*qJ-rXdd5QaQ#cEA1hob#RgefR$T-@OL_ z`tW5CJ_YS*Yc78B%-Mzb%z_` zf;!X6Wb~YZ=$Mtu#PjBK-)wwL#`+bgdv+fhJ~1+JaGd`lrwov^b4E79oCcEQZ7pk0 zYGy$XpaiIeL2Ti&R@DKAqgLB+c`Lj9-36i-YGoP@U}ONlh|FpjBs567uMKUL67&Oyb}xo&hGrKa?Z z#p13lg z=b1aao`~B`gZ)8##xXAYw^z&05HXBPi14gRT7_I%A2GyE-%@#KZWSNl1s)E5p0z#% z#0kN>wFn}_=yDkiqn`IX%Xn>MWQdsx|07+u(bUzoh~_(3@f+6MlG)Gm+9>fN#EYT{ z5v*fOb-uxRwDUjoF^C*}$ML1jGlCwjVm#hU1gvAfvhN9+z_<05b$y+@+kZlkYz z5jz&qe;04~ATxJ&%gpYZMDRnfucLZ#^^vQNY*BKpBwH^wVgQ?@ns$fLRYPthu!nkl z%ot|vK8z599{h{mAa^8%3wfai^U?AT5+ETGE{;Lx$d}-qPS6f;6e&p1Y`phhhq7E~jcf~U-DNuha>X6D2Rt0jC5~olKS>Ca5Ka$@$XuDV zNwQ{3tX54{4tZ_XT~A@n!>(e@qfpIyngKCV&svr}9+JvsIa7vomgQ`zkcFCsoO@a! zdp#Up`!3+4szNT{VwqLg_c1;xv3@F9xA9p_K+=7^Oq*W- literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/base/BaseDao.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/base/BaseDao.class new file mode 100644 index 0000000000000000000000000000000000000000..a063c4f9d7c4e4aec07b319095cc5d8583117021 GIT binary patch literal 2220 zcma)7+foxj5bZ%o2#MV9c;jk<%6dUX5`$ULDym{>5sDX|Cdn8EmtEMMpzEjk;0O3o zmc6qVcPESHA*netr+d0jcklfA{o^M9Y{Nko1_&&)taI(l*Ke+N>I$t%9j58{cR;Ny z3=$YWqgPZjsM*mzG|yN|5Xf-TVKy#iigoq0TskC>Yw(UqMb~CXE*>At%|VA=A>K%{ z>2*V3SQ?@+fsr;dm|(hl*v5DR2i(#c%;wbK-)Yle<;xGIRat3#V?#dgN z73bxW?@LBdM;@kMS2+C!pm?gFmQ{3@^{%fOhL>*2ZF4=Fq2X9ysJo%OYe8hO_DD-$ zQI_(Wa0U&FVp%r>S3PCz)t120b!6Et*$zW_y1g7E<$OiBldtTl3YvLW{gVyrRCu9tb zOXG;){F#Z=WvW5P#tZK?I)TIBihr>BRD;0E5oX5E*$HWvVtKbRw z6o1bg*hY)z@FHToOl9oAtBA3i$|%Pel~l&-|1zquhe4%9_$K`XW2(ve>p_0|e*kE& BFns_3 literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/base/BaseService.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/base/BaseService.class new file mode 100644 index 0000000000000000000000000000000000000000..c0b1d7a1e94400db115bd187f17c69b62325b4d4 GIT binary patch literal 2492 zcma)7TT|0O6h4bUDMdi;7g4#|f)W)}q!pzK%1j*@%JAaTwq46&NHIy#`qO;y2l%5L z&u+47vQ3>nw3F}bIp4YO{{Hjx7XWO-`xNvLSg1BGtuNocx2*G)Z&j$rtRnuEnS0Hv zECsy;Mla|!wQTCtt&f!pR`m(=bH`&YeoSUd=4n26L?B(}b%***m!Wd@^i&E5Ys_Xo zE4Gem1ZG1^-muUar#AmVD>lpL&d{QHRii$dCejN9Nr@kWfo4ECtoRQcpZhHW8725Y zuLz8V9-BV5EtE)CJBF|j$*1hQ+^Odyk|6*5o-|F{-1Cbq$-QXM^0^Z9-)@5*ij;s!l6mWRV^xB`_ze-XWY`yFsz7>mgNJ zTidHhV7`+wricmF8J1Vf%7FZmgbBIzLM=i#eYe+T8};kyAB&CBZ#SvF+mn9GPGCK5Poe3O8vr5+L zvY-T(PMUa&T(UFnalDs~sY@^M@^bebr{PndHyn?^YN_GYEqX<(=gi_26nhr^r+{rm zD-5jfn%Ygg&u(}knF%>ynAZuz8`4odiA`EO`uL#_U*jy|9IR`+f%pMD)OZuIW#C8f7%LFe;R$SEJ%&V~ zw(*9CozEi$slG$ZL&4qQ=XJ#$KYvD|oFr_7gRV@CJiQitugn3GyAt{vL+; Gz55F;mzgL4 literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/base/BaseServiceImpl.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/base/BaseServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..ae2a3076af4e1d4e21a0e0f7872bdf1d0bddfa99 GIT binary patch literal 8567 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 D@Bf}O literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/BjController.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/BjController.class new file mode 100644 index 0000000000000000000000000000000000000000..30843f1a11d708a64f0087a402aa5ca806a02596 GIT binary patch literal 4643 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 Zl8zAmNHih*$!UBEzP-=y+A;Cx{{TMbZ2|xQ literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/FdyController.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/FdyController.class new file mode 100644 index 0000000000000000000000000000000000000000..83d99e031cbb4eb7e363aca407fe82375af87ed2 GIT binary patch literal 6925 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 OHC%nccm7!X>wf{h^BDjD literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/ManageController.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/ManageController.class new file mode 100644 index 0000000000000000000000000000000000000000..d8764390f7a26d19d551260ee05c6c558e289a26 GIT binary patch literal 10916 zcmcIq3w%^png70IX6|Hi6Cfc#LQAI*N=QgXD5WK#)P$r4nvjq{5U|KiauX&@X408E zK+w8WyK5I*i*0>`-L1G*@lln!HIUM6tKCPf`|9eh)vBxttaaCQ*T<^0rTahU+ zCL`@e+!!=BxC0vbn8F#edySMCX~M_kET*Di`C_-3+#l^TnJU{d-btx(dwF|S15h@@+`;n<2`lBAp5-#5Aid8aFqmhkMQB zRs;Jom9!=Lj98D6jEZ}E&}Z$9LXhfAU1mTFTWhgs%4&?on8vCy-y2ET>NjLnEFF!s zL(Eu1+mNx}I2aL-#Y`)**Rn<;t@seAVW7*rD{ZE%%TG&<07kQ6xm+(2Gvb4hZcBg( zDYIjH!0e6mM&tcnSnciFjgb-cs(-%`O9QcB#MZQcm=@^dr$8Z9&@~z@WLkWA>+4iP z*8=z|TfnpxjYZl3UPF+sgU!V1g>*eF(P%N#HQBh}K&DeAEoIV;{{BV_D)y!=2-sXT zU31S!NAHl?X91p>R)#FgTyjSg$3ZXWVnHqoGx>*wF_{+4ygmq%R0d^Qc7>J)_DNG& z7oL3Cmuwy|%~sk^0?jlpllG${4)v?2%w3mD)AeAJE^O5_+5%U$Mgf;(hI21Su|}tx z=@$5%O&RAI;)K^ou1SOkM7(kqs2#vUrjWfnZZulQG-q;ltC8A^;Se=YQHXA%MvdMG zB{RtAx}i=@w1KH`(6qL}+2V*WOmiJNdi^B?hPUW+JG}|!il$nIM}(SXUeRsOTD~(# z8)2WcyT=ZRG*T%9 z$^Ia1g$yJ1oiIR;PHSm9)AjaN5?jdOLpW800C+}h zxdlOrx-Fw`AJ(t~Yrz1bOw%Z42y?nOLejVDw1*6EN{u?4s>_1W@=Q(&9a51_q^~60 zwhwMPBCbJpCPQ(@0MiXw z;hFkcLx^IO7CCT#4*K>4=^!43jd*|9;cz$>-DifEEfp^x(&=sVc0h}CV8;8IYP}mf zPT(Pd8nQKlS>C~vw{)3U>ab4t2;v5xKMUW_-!EmJUj=CqPE>H8yM zJt6CuPRHp_MUqVz*r(dwAexAv$cP%T=pj)BIl;jja)R{d2${B!O1!)%mMHb0<%ozR zXdY}7iUcC^LTvp}ogSf&VJM2?B#G#k5k{R@w=qa35v@?op`z=v>h08PhYHxZ4h0~} zM68n@={H2W*COgFNS~g}*v`YCd2pLOuK=>BYa!0(bUH=pR%_MbJi`8`*4T0{vb6dTv+G@XHBYDg(op3BfsuF%fSn^FSSx8*KgMO67cE22BK zr4lAEY+8F0FwD(aSwBm_E1(}^@*d9vG z_SRtvx;YuOm>Mf`iz#(qJXuhwfigEEJB6Av(S2aAr0x*`GbgwM1=8=;!;lIB;wDI6 zgToG+sT4AFkp2zn{^IGg7ml2`c;B%LM?Q>O$48xYo%^~W`T938<^0p1z4*|C=Z$9R zo$3wUb_IL>cQF6LeJ5TXd&HR^Od0#l+oPiQJ5rUC6~pP66-7N{McSP!@y_L&FS|#Z zvA4(?qzfXGf-TPMjypwNhWL}rXp^so(o!n9jBtqosXcm$yV9a>&d2!xN`oKJ4>fu@ zv*;L2S>~`#|4IKPDk)L3mMPXEV|1dWw7_oD7)E~oZ$!xpPaeK-@@RhC(jjLXB~(5y?h35gl{TSZ7^SV5QKq zBN-ix#*LU@x9Eg4E{4mQ>yb^E(0yhgXj`b zwc<=>r+6@5=LPb?@IGYulu)BW=Y@O?>}n-($}@n|nFNe5nY5(uEyuEpIIJ;F2^6&? z8Z8I=%n?x&=zP6A&?vm1E^@5B8q^#j5 zsgPt-n0sW)fa3v>JUimxbsDyhi7n8HWUO`qIgy8Mn6L zT(CVFL$Z>b*@PIueh`P!8l&wmmgJO;YcmSK5R0Cl8~8Sz-zb*RU>>mq+9+;9!^B{E zS=FX2S_ioWCX1jc;Wweb;Z`_n)yC-)oi0X@cazR{2=W&7A@Et|X7hkBy-=tk$eTrW zI&Hm>)~P|lc3KN zM}qj)a3{Wl_@0k%oWSC<5O)!L!zamKeVX*gaFIvF_!N_gmeVYJ>S_Ybra8DnS4O3n zC6+A4-CX>X?IKRmJh|Zg*gAk`<<*bV{0S;&s`sxbSyb+ypm08IFS+3q9_GtUilvl| zc&!O9Z;+dY#xSD-=VlH$dB!crFB1BdajN zbYl*IS4)A9VI?7Og%G%Af^N#YoWxtOLl%+EL zD{ZsxR%Y#Wh`6GpAI1((p=1fjM07U{{0UT@@=`BQF4S z10GuHBt`}$E%)Y-KPrvfY#Vv3WXNmZrDrL&quhUn;-|?fIWSJ6%JicpcjJ1T{yy`L=l z03iGz&Sl1Mb=~{y;lU*4InYmC-C`6IMt`%RFA@`J_DyZ1xI)cPW6{`Cq3=~ zYL5%l9v7%RE>L@1p!T?qwcT|r#XqlOiD$~O6ce*J*832PvjzAEq+`_rR1uH!OCA)V z+?y|+mQt&Hk#9@QFxv;RF84vX+&)-9_}oI$u7Qee12N2>9gRjFGT;1wy-E>#CvT3@hXG*uPqkis@SgE>d$i-^N#cIgKYRJZ_fD9S*eMlmT5q{cYqvj3& zV%APDLd_D@=Cr!%A9BF?kJI5q?owXhP(@T(8C2=L5;rhGl>ty?5LDRd?zmRo)4z zybDyh_qU{qs!uOR6;-oNqsj|z>c|Y3|1up;6k>`hPC+hmtK&Q(V1BjaUo+yQDlB9{ z&c_fZ-v=NbK%9KgLyoI0$mhbBRE%W$dJfrN%p&_yTlOWBNib9NZ{!sH1hUdcsgxhV zU)p@kBl;58t(UlNy~ItCOWYK>#7>c=9?@TNlVv9C-?{?PkvcO)|8`E%PeJrAL-gk% z`d4y@?j+VL75yAa6cvFp4-dXe-$PU`6D8XBMcz%(dAhKZE@DvTTb>X96~`C5KTrQr z@}qJ3@rnuh8Pf#4f)g@)bDju2H4_{ZCk~h-0?&`na?y@*U%CG@&#Fg+9_NzdR3N_R zZLdL7!{vE&l0x-bxi-$%mh$3L*uRxJshbx;OmPxYC$c?%or3%#VE6|9$myH##Fwa^ zzeP>_ZFu8%sgu7)+xYvmlP^k`x|F1@g?H0=uEffa-VNNlrLFVnT53cIa1`1trL`yo zM1xaLl`M*Z0Bs{bFXw8cEa7{llz)j@(b$OpT(n8!ML4M88eWkNQ?8Ym&Q_S>lty4G z{t1PChHXUGb}oO7?I~U@(kZ}-x`0d#Ct99 z4oG|hr@3B1DA5I!^WfRB9cLNG6MXA9uRp_$Q`fBzig#uE8BpD9DK}%wGXFT=o*{u) zy`a3nwjI7VZWqtRNZUy&Rd&4=8kBN7q`lY2WxkrHKJt2AXgV_!55q{W^UP)z%llt*7$x>DfFVJ(uUF z7x4Z|c?HteBeEJi=i2%lcOaz;Tc4ASh$z<1+1{K_FY*>7dmoOZ9_DUb`B4xZM%q6L zTW_Q^Z-dn}Iz-JV0gi%2CvggK9%BXcEEP*8sDAAx3cLyxE`fTA3$M|g>f&|C6VM31 p%Gj>)n>8HRqFn<~UZGie__NcU5GRj!$r`8xS8u_+dxXb#{y!2c?6&{_ literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/QjController.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/QjController.class new file mode 100644 index 0000000000000000000000000000000000000000..7fba256fbe38ba804ee4d82f8fd3c44f829ff91a GIT binary patch literal 8314 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 QdDRT_t&ZQ_>!z6hAN~jtq5uE@ literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/RecordController.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/RecordController.class new file mode 100644 index 0000000000000000000000000000000000000000..d98b170414edcc8702844353808da12bc3666c28 GIT binary patch literal 9777 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 literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/SignController.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/SignController.class new file mode 100644 index 0000000000000000000000000000000000000000..d558e2e997e5ea9afb82a30c81ad5296978612a4 GIT binary patch literal 9340 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 VnzDwKv(^VOJ`M3ZICjh7p8|6(4JH5p literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/StudentController.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/StudentController.class new file mode 100644 index 0000000000000000000000000000000000000000..61e8c759f3cc537152a7567cdabee9edff0128ec GIT binary patch literal 7163 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 I?j*wh171%_-2eap literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/TeacherBjController.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/controller/TeacherBjController.class new file mode 100644 index 0000000000000000000000000000000000000000..a2c96026cc5c1b86e7e92d12081b1dc43d2ab8bf GIT binary patch literal 11056 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 literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/filter/SystemContextFilter.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/filter/SystemContextFilter.class new file mode 100644 index 0000000000000000000000000000000000000000..baec5c60c4bda4b767753ab81817b01bc05c90ac GIT binary patch literal 2562 zcmbtWYj;yc6y1|YCnOgrDX;QufkM+jBT`WtK%{_FTUrTJ0a0$#Npc~{4fo!@P#!8i z{t2I1OP8r1)X)AQzo~ofy={|{uH{;;t|T*i&N*{t&pv1R=ik5n24Dm~N<;)s6zy8> z;o{PAuCnaqN>N*FCl5UG*`Em_YXfbHU72&3ZXEHTysnJ&7)Xof=)r zxyo6nDlZq<3nUt5Srx3uN}y+A-Eo{j%gV_Mbe*&6mUlrQI+&Reh>h8EDv2nz8rXuQ z!1f8NuCCA5W|ec(oUJlWdcrQ6)fv;V^gIM(Ud3_+G86ytB-~lfDc5uCWhOaiujYGq z(9d%HAcf#SH`Jqfn&&rLbsKiwRU4OssACn=s^|6Tl2?|Bs^M9*mDoc{d`2ugH$Jtt zBGD^wsGZF)i8Y%f_T!+$0f8N_acbZY4)b&iW_4aol>~MVj%PYhpFqEWp|8gowo4^f zc_|#lfW$F@10A;yIWTY>C+J#M-n8kMHAS%q91n;KbW!jet6t8xZW}^6^NfKZWPNQo zuA&qKc6IU|PvDe5+;--alSB@uCEgI|YrElj&#JoZQZ?`<&M-PpG^JfPi9VCSThyCt zJDv{ywt;uFo1|MI#6}I|aZX?>v1t-D<vNfXJorF$xklHWN)~Zs4XCO^Q3+P-b=7^eUR9 z83Uha)-_41cnY_1SK^L9Z#z>h)nuRtp9x(2f7P0q(K&o>;0xVpQjV(G3(D7w#!UmW z8czoJswn0RC=GW9@VYLvPuW04FK%03)c3BJ9vFDovb1_yiJHLS^(qcp-BsJEnciBx zvpYKK5wCNz_7gNG%GptFgYh=A3)>W{s;HZi!2S)EEgb9S95e=2K*2MM4=2rr-)ETif-L#n!>{lqo#LbBSjH``R~a zH8t?HR#rEaHO{~-Eh$c~H-NEYmQr>M9y9rkv38;5m@ z=w}az@)PGLqFVu9*%-%s%lMt*EXQBL-}ulkFkW#G!8U$(`Ct#Wb8G|#=*AAt_~NZO zXZ<;`jgEU;97#s#*n^!6zsnCF!EWr;8Hge?>>~Ce+Qh!mST^0af+G<$G3d`4$t<+ns|5UC!BBMz3d;jw1Ue5E4aoKudiTQ$GCMWOV3ZEc!@ou@h0vy zaleUT6Qw4s-uUkukXOvFi<$MJ%9r6j|G?}tA$N!Z2e^8Oqr+V7=fiUZr};{q#W9@6 z0B#YvhZC&RK^A3(wKv2f%c72xc!X2%h%XXN9j1>jSU zXABl)h`yn0`l}T@S!MlaoPUX}lSAFxc?F!j@)Jq(>Z&0fX>Ja_Y-yY!9U~;gsK_Dx! zEKxrvF)v-;KPf9UxrCj8jgdhTMPE{4ajL!(kZ?)NXJp_C&Mz%WPIb%7No8c + + + + + + + + + + + + + + + + id, + name, + zy, + isDelete + + + + + #{id} , + #{name} , + #{zy} , + #{isDelete} + + + + + + name = #{name} , + + + zy = #{zy} , + + + isDelete = #{isDelete} + + + + + + + and id =#{id} + + + and name =#{name} + + + and zy =#{zy} + + + and isDelete =#{isDelete} + + + + + + + + + + + + INSERT INTO bj ( + + ) VALUES ( + + ) + + + + + + + delete from bj where id=#{id} + + + + + + delete from bj + WHERE 1=1 + + + + + + + delete from bj + WHERE 1=1 + + + + + + + + UPDATE bj + + + + WHERE 1=1 + + + + + + UPDATE bj + + + + WHERE 1=1 + and id=#{id} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO bj ( + + ) VALUES + + ( + + #{item.name} , + #{item.zy} , + #{item.isDelete} + + ) + + + + + + + + UPDATE + bj + + + name = #{item.name}, + + + zy = #{item.zy}, + + + isDelete = #{item.isDelete} + + + WHERE + 1=1 + + + + + + + + + + + + + + + + + + + + + + + ${sql} + + + + ${sql} + + + + diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/FdyMapper.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/FdyMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..92b3d9af65b3d1910838ee33c13bcfeac4f6ae46 GIT binary patch literal 243 zcmX^0Z`VEs1_l!bZgvJHMh4mB{9OI)@`_6RjLH)I+{A){)FOSiluBPPi=BamkwG9U zu`E$PCowNw-#;lUHMxYHfsK(t5=CQDVsWaz6OeF8%x7fa3eGPrN=|jl%t>Wr;Dei{ z2Qr9}fipNWJuk7OvN J44hz^3jogHM0WrH literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/FdyMapper.xml b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/FdyMapper.xml new file mode 100644 index 0000000..38e2501 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/FdyMapper.xml @@ -0,0 +1,379 @@ + + + + + + + + + + + + + + + + + + + + + id, + username, + password, + code, + sex, + bjId, + isDelete + + + + + #{id} , + #{username} , + #{password} , + #{code} , + #{sex} , + #{bjId} , + #{isDelete} + + + + + + username = #{username} , + + + password = #{password} , + + + code = #{code} , + + + sex = #{sex} , + + + bjId = #{bjId} , + + + isDelete = #{isDelete} + + + + + + + and id =#{id} + + + and username =#{username} + + + and password =#{password} + + + and code =#{code} + + + and sex =#{sex} + + + and bjId =#{bjId} + + + and isDelete =#{isDelete} + + + + + + + + + + + + INSERT INTO fdy ( + + ) VALUES ( + + ) + + + + + + + delete from fdy where id=#{id} + + + + + + delete from fdy + WHERE 1=1 + + + + + + + delete from fdy + WHERE 1=1 + + + + + + + + UPDATE fdy + + + + WHERE 1=1 + + + + + + UPDATE fdy + + + + WHERE 1=1 + and id=#{id} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO fdy ( + + ) VALUES + + ( + + #{item.username} , + #{item.password} , + #{item.code} , + #{item.sex} , + #{item.bjId} + + ) + + + + + + + + UPDATE + fdy + + + username = #{item.username}, + + + password = #{item.password}, + + + code = #{item.code}, + + + sex = #{item.sex}, + + + bjId = #{item.bjId} + + + WHERE + 1=1 + + + + + + + + + + + + + + + + + + + + + + + ${sql} + + + + ${sql} + + + + diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/ManageMapper.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/ManageMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..438138beba3332cec4ebf577ad5a956fbe57d3e0 GIT binary patch literal 252 zcmX^0Z`VEs1_l!bZgvJHMh1oC{9OI)@`_6RjLH)I+{A){)FOS~#Jt4xR9`TMoq>gs zK_Dx!EKxrvF)v-;KPf9UxrCj8jgdhTMQ>7KajL!(kZ?)NXJp_C&Mz%WPIb%7No8aZ zL^eXK-eEUSdgU5m4UU2i<&YADm{}ph^|wL!E1FXAN`{BLg!KvjTm{z`(@7 M4kkGmIKea*0OOWN@&Et; literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/ManageMapper.xml b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/ManageMapper.xml new file mode 100644 index 0000000..7c489fd --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/ManageMapper.xml @@ -0,0 +1,330 @@ + + + + + + + + + + + + + + + + id, + username, + password + + + + + #{id} , + #{username} , + #{password} + + + + + + username = #{username} , + + + password = #{password} + + + + + + + and id =#{id} + + + and username =#{username} + + + and password =#{password} + + + + + + + + + + + + INSERT INTO manage ( + + ) VALUES ( + + ) + + + + + + + delete from manage where id=#{id} + + + + + + delete from manage + WHERE 1=1 + + + + + + + delete from manage + WHERE 1=1 + + + + + + + + UPDATE manage + + + + WHERE 1=1 + + + + + + UPDATE manage + + + + WHERE 1=1 + and id=#{id} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO manage ( + + ) VALUES + + ( + + #{item.username} , + #{item.password} + + ) + + + + + + + + UPDATE + manage + + + username = #{item.username}, + + + password = #{item.password} + + + WHERE + 1=1 + + + + + + + + + + + + + + + + + + + + + + + ${sql} + + + + ${sql} + + + + diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/QjMapper.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/QjMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..cdaf116bab623342fd3cdbe1d6f86995d375863a GIT binary patch literal 240 zcmX^0Z`VEs1_l!bZgvJHMh2PW{9OI)@`_6RjLH)I+{A){)FS=BEMG8#oq>gsK_Dx! zEKxrvF)v-;KPf9UxrCj8jgdhTMPE{4ajL!(kZ?)NXJp_C&Mz%WPIb%7No8c + + + + + + + + + + + + + + + + + + + + + + + + + + id, + bjId, + studentId, + fdyId, + startTime, + endTime, + status, + reason, + content + + + + + #{id} , + #{bjId} , + #{studentId} , + #{fdyId} , + #{startTime} , + #{endTime} , + #{status} , + #{reason} , + #{content} + + + + + + bjId = #{bjId} , + + + studentId = #{studentId} , + + + fdyId = #{fdyId} , + + + startTime = #{startTime} , + + + endTime = #{endTime} , + + + status = #{status} , + + + reason = #{reason} , + + + content = #{content} + + + + + + + and id =#{id} + + + and bjId =#{bjId} + + + and studentId =#{studentId} + + + and fdyId =#{fdyId} + + + and startTime =#{startTime} + + + and endTime =#{endTime} + + + and status =#{status} + + + and reason = #{reason} + + + and content = #{content} + + + + + + + + + + + + INSERT INTO qj ( + + ) VALUES ( + + ) + + + + + + + delete from qj where id=#{id} + + + + + + delete from qj + WHERE 1=1 + + + + + + + delete from qj + WHERE 1=1 + + + + + + + + UPDATE qj + + + + WHERE 1=1 + + + + + + UPDATE qj + + + + WHERE 1=1 + and id=#{id} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO qj ( + + ) VALUES + + ( + + #{item.bjId} , + #{item.studentId} , + #{item.fdyId} , + #{item.startTime} , + #{item.endTime} , + #{item.status} + + ) + + + + + + + + UPDATE + qj + + + bjId = #{item.bjId}, + + + studentId = #{item.studentId}, + + + fdyId = #{item.fdyId}, + + + startTime = #{item.startTime}, + + + endTime = #{item.endTime}, + + + status = #{item.status} + + + WHERE + 1=1 + + + + + + + + + + + + + + + + + + + + + + + ${sql} + + + + ${sql} + + + + diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/RecordMapper.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/RecordMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..c12a5f85a3550144e46213a6019f3b3523589e3f GIT binary patch literal 252 zcmX^0Z`VEs1_l!bZgvJHMh1oC{9OI)@`_6RjLH)I+{A){)FS<$)a3l46kjlhoq>gs zK_Dx!EKxrvF)v-;KPf9UxrCj8jgdhTMQ>7KajL!(kZ?)NXJp_C&Mz%WPIb%7No8aZ zL^eXK-eEUSdgU5m4UU2i<&YADm{}ph^|wL!E1FXAN`{BLg!KvjTm{z`(@7 M4kkGmIKea*00fvwGynhq literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/RecordMapper.xml b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/RecordMapper.xml new file mode 100644 index 0000000..e98cc2d --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/RecordMapper.xml @@ -0,0 +1,371 @@ + + + + + + + + + + + + + + + + + + + + + id, + signId, + studentId, + ip, + createTime, + status + + + + + #{id} , + #{signId} , + #{studentId} , + #{ip} , + #{createTime} , + #{status} + + + + + + signId = #{signId} , + + + studentId = #{studentId} , + + + ip = #{ip} , + + + createTime = #{createTime} , + + + status = #{status} + + + + + + + and id =#{id} + + + and signId =#{signId} + + + and studentId =#{studentId} + + + and ip =#{ip} + + + and createTime =#{createTime} + + + and status =#{status} + + + + + + + + + + + + INSERT INTO record ( + + ) VALUES ( + + ) + + + + + + + delete from record where id=#{id} + + + + + + delete from record + WHERE 1=1 + + + + + + + delete from record + WHERE 1=1 + + + + + + + + UPDATE record + + + + WHERE 1=1 + + + + + + UPDATE record + + + + WHERE 1=1 + and id=#{id} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO record ( + + ) VALUES + + ( + + #{item.signId} , + #{item.studentId} , + #{item.ip} , + #{item.createTime} , + #{item.status} + + ) + + + + + + + + UPDATE + record + + + signId = #{item.signId}, + + + studentId = #{item.studentId}, + + + ip = #{item.ip}, + + + createTime = #{item.createTime}, + + + status = #{item.status} + + + WHERE + 1=1 + + + + + + + + + + + + + + + + + + + + + + + ${sql} + + + + ${sql} + + + + diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/SignMapper.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/SignMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..7ff8e4daffefd95b6f8a2b5ddada2053a0a89aa3 GIT binary patch literal 246 zcmX^0Z`VEs1_l!bZgvJHMh3a${9OI)@`_6RjLH)I+{A){)FS=h%=A28Fq55ug^@uZ zE3qt5KPNFSUEe<`D>b=&!K@vr0Qettcz7vpeNz7+t;0n$!ElN&x%gjk-WZ*{_ zrw1~Lk%1E=l2}q&1eA64K{wsn2dBw4s8R*_V5eH!Sp(g}$iNK5tU$jpFfcK&gGmks IPB6^{0OS%y!~g&Q literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/SignMapper.xml b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/SignMapper.xml new file mode 100644 index 0000000..d956445 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/SignMapper.xml @@ -0,0 +1,373 @@ + + + + + + + + + + + + + + + + + + + + + + + id, + bjId, + teacherId, + name, + status, + fdyId + + + + + #{id} , + #{bjId} , + #{teacherId} , + #{name} , + #{status} , + #{fdyId} + + + + + + bjId = #{bjId} , + + + teacherId = #{teacherId} , + + + name = #{name} , + + + status = #{status} , + + + fdyId = #{fdyId} + + + + + + + and id =#{id} + + + and bjId =#{bjId} + + + and teacherId =#{teacherId} + + + and name =#{name} + + + and status =#{status} + + + and fdyId =#{fdyId} + + + + + + + + + + + + INSERT INTO sign ( + + ) VALUES ( + + ) + + + + + + + delete from sign where id=#{id} + + + + + + delete from sign + WHERE 1=1 + + + + + + + delete from sign + WHERE 1=1 + + + + + + + + UPDATE sign + + + + WHERE 1=1 + + + + + + UPDATE sign + + + + WHERE 1=1 + and id=#{id} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO sign ( + + ) VALUES + + ( + + #{item.bjId} , + #{item.teacherId} , + #{item.name} , + #{item.status} , + #{item.fdyId} + + ) + + + + + + + + UPDATE + sign + + + bjId = #{item.bjId}, + + + teacherId = #{item.teacherId}, + + + name = #{item.name}, + + + status = #{item.status}, + + + fdyId = #{item.fdyId} + + + WHERE + 1=1 + + + + + + + + + + + + + + + + + + + + + + + ${sql} + + + + ${sql} + + + + diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/StudentMapper.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/StudentMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..0c4cd05905f9c2b836fd486c587b92008706dfc8 GIT binary patch literal 255 zcmX^0Z`VEs1_l!bZgvJHMh3;?{9OI)@`_6RjLH)I+{A){)FS=hlG2payb@n9kDY;q zkwG9Uu`E$PCowNw-#;lUHMxYHfsK(t5=C=TVsWaz6OeF8%x7fa3eGPrN=|jl%t>Wr z5JE9g4`di417~n%dR}5lX%SF?hYz|1);>55w?UOE$cH)D+Rhs2Dn + + + + + + + + + + + + + + + + + + + id, + code, + username, + password, + bjId, + isDelete + + + + + #{id} , + #{code} , + #{username} , + #{password} , + #{bjId} , + #{isDelete} + + + + + + code = #{code} , + + + username = #{username} , + + + password = #{password} , + + + bjId = #{bjId} , + + + isDelete = #{isDelete} + + + + + + + and id =#{id} + + + and code =#{code} + + + and username =#{username} + + + and password =#{password} + + + and bjId =#{bjId} + + + and isDelete =#{isDelete} + + + + + + + + + + + + INSERT INTO student ( + + ) VALUES ( + + ) + + + + + + + delete from student where id=#{id} + + + + + + delete from student + WHERE 1=1 + + + + + + + delete from student + WHERE 1=1 + + + + + + + + UPDATE student + + + + WHERE 1=1 + + + + + + UPDATE student + + + + WHERE 1=1 + and id=#{id} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO student ( + + ) VALUES + + ( + + #{item.code} , + #{item.username} , + #{item.password} , + #{item.bjId} , + #{item.isDelete} + + ) + + + + + + + + UPDATE + student + + + code = #{item.code}, + + + username = #{item.username}, + + + password = #{item.password}, + + + bjId = #{item.bjId}, + + + isDelete = #{item.isDelete} + + + WHERE + 1=1 + + + + + + + + + + + + + + + + + + + + + + + ${sql} + + + + ${sql} + + + + diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/TeacherBjMapper.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/TeacherBjMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..3125b73436aba51ae994d17eb71717d6126f84e8 GIT binary patch literal 261 zcmX^0Z`VEs1_l!bZgvJHMh4~N{9OI)@`_6RjLH)I+{A){)FSURGgA*_93ul~aAta5Vo7NcP>Gihx)s(wIE}YKl`6 + + + + + + + + + + + + + + + + + id, + teacherId, + bjId + + + + + #{id} , + #{teacherId} , + #{bjId} + + + + + + teacherId = #{teacherId} , + + + bjId = #{bjId} + + + + + + + and id =#{id} + + + and teacherId =#{teacherId} + + + and bjId =#{bjId} + + + + + + + + + + + + INSERT INTO teacher_bj ( + + ) VALUES ( + + ) + + + + + + + delete from teacher_bj where id=#{id} + + + + + + delete from teacher_bj + WHERE 1=1 + + + + + + + delete from teacher_bj + WHERE 1=1 + + + + + + + + UPDATE teacher_bj + + + + WHERE 1=1 + + + + + + UPDATE teacher_bj + + + + WHERE 1=1 + and id=#{id} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO teacher_bj ( + + ) VALUES + + ( + + #{item.teacherId} , + #{item.bjId} + + ) + + + + + + + + UPDATE + teacher_bj + + + teacherId = #{item.teacherId}, + + + bjId = #{item.bjId} + + + WHERE + 1=1 + + + + + + + + + + + + + + + + + + + + + + + ${sql} + + + + ${sql} + + + + diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/TeacherMapper.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/mapper/TeacherMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..bbe56683d034ab57250e22ae1bb59350028e183c GIT binary patch literal 255 zcmX^0Z`VEs1_l!bZgvJHMh3;?{9OI)@`_6RjLH)I+{A){)FSWr z5JE9g4`di417~n%dR}5lX%SF?hYz|1);>55w?UOE$cH)D+Rhs2Dn + + + + + + + + + + + + + + + + + + id, + code, + username, + password, + kc, + isDelete + + + + + #{id} , + #{code} , + #{username} , + #{password} , + #{kc} , + #{isDelete} + + + + + + code = #{code} , + + + username = #{username} , + + + password = #{password} , + + + kc = #{kc} , + + + isDelete = #{isDelete} + + + + + + + and id =#{id} + + + and code =#{code} + + + and username =#{username} + + + and password =#{password} + + + and kc =#{kc} + + + and isDelete =#{isDelete} + + + + + + + + + + + + INSERT INTO teacher ( + + ) VALUES ( + + ) + + + + + + + delete from teacher where id=#{id} + + + + + + delete from teacher + WHERE 1=1 + + + + + + + delete from teacher + WHERE 1=1 + + + + + + + + UPDATE teacher + + + + WHERE 1=1 + + + + + + UPDATE teacher + + + + WHERE 1=1 + and id=#{id} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO teacher ( + + ) VALUES + + ( + + #{item.code} , + #{item.username} , + #{item.password} , + #{item.kc} , + #{item.isDelete} + + ) + + + + + + + + UPDATE + teacher + + + code = #{item.code}, + + + username = #{item.username}, + + + password = #{item.password}, + + + kc = #{item.kc}, + + + isDelete = #{item.isDelete} + + + WHERE + 1=1 + + + + + + + + + + + + + + + + + + + + + + + ${sql} + + + + ${sql} + + + + diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/po/Bj.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/po/Bj.class new file mode 100644 index 0000000000000000000000000000000000000000..73a88c511c2b0d6c18a968bbfec187536729f2eb GIT binary patch literal 1999 zcmaKsZF3V<7>4hY=8dow3~iB!62xkgrd@%8KuM7nswtsWt8oMw+@?F}mUOq1Y?1Vn zzrpYR2b{5G24?&L{wT-$IlC>(vgO0>dD-W=&-J{V{rA6@{{Wc5N)9Q7V%ys?pZxZ0 zU~UY2bK5iLH*-iUoZPgYT4vXBJLbyTrrq{)$SREJUB@$5?Ve+Gon33KYty)|mo2;3 zcRcsU#vKKhehU?oMyEm(lcC9Tc z79$^5{hs4?_${?NP{=v`g$=v?L?Q3=@7P`2r+KDh`weQ2PE;a}5!D56-983|(*_I- zE1YOLuD!gowPyEz2x2HUy|&eDS&WM@g_~)A!|5~Z=G$2!Po^K7IyRATXr)C~VlC@< zM&1AmBNCwV2HwL7no=t;9gV7mmLeuGJ{XA4X9iA+kDUL2DLF3Dhq;jNRRcu{^0@FF z<|up9aUFk7VQ8Y#Dqskvff}Y1?ne(i$XO(!kl~#>2W|qI_r1U+hs(_P>naDk^E*y= z-R|Xag;CFMmLEFn^#U&8OToDyv+D+Kfcec@+uOFwvQ9+_gLa&a7Wxh0**xm>tw|$k z;aej2RZJxe>Rl@H?8e&epq>Z&xllXkHm(=h-;ad!8v_?{j$d^JbYDsV?iqMr3Q*7m z2-~%=>h1K}_M#&fac9uFXE+JF7P+0kl#{S|g z1@RUbV2YU2T45}(3Kc|MQ03r{aW2$~f|TPR7ZX7~!G$D{avbCeL9QMFBDoTfPZL4L z;~>`)K|W6g8IOb12{LyCh!jgeCK5|iiG$ou1er`OO(hO;mmrHrfJm1J2yZ*zQs&Eg zEj{uA({ZT=(zurhQ^Oab!0)VohC(F~(7jTv?V((q+QWGDOnMIyz!JLySf=U9W3YUH^&b+`? z>HU3NE8g749Oq>Y#oNJrT;>bGydpMtIp4?E@p}9eNkKh?Q)na>b1ClpFyfp!bZ#aW ab17bd$IQsDTH)<`CRbmId7rsRVflYo#y&d$ literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/po/Fdy.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/po/Fdy.class new file mode 100644 index 0000000000000000000000000000000000000000..a9a4e057990f62ba9c3122391e8c30443aa114b8 GIT binary patch literal 2764 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 ac-I7ST?e^GkY8JX$d`kFyvGcR;MTu#rChQA literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/po/Record.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/po/Record.class new file mode 100644 index 0000000000000000000000000000000000000000..6c71730f17c217131f9e06530eb47e6ffc170c70 GIT binary patch literal 2960 zcmaKtZC4vr5Xb*FBm{7=H9QqXtyPeOz*>!3;ih z{qG+=ws#)~cCBjPc8k?|DT%ni**)hw$F4Yj*}k!}=N5w`x&;R1u2;3!+`8vfydRvM zic883`MT-W8(!7l$gc>9YXbetRlgB9ez56Onr>q1>F*=kWA+~cF|Q;rP-wfz`+-|_ z>vIC#4X^Cy>F+oT#8`+zuF*azCL2Msik-FzS-wPH6x+c?`edxlc z7Ur=a@NJm$sAz_CzIaOqsFd1lhC__o6I9iKB$fq6+E-rfE;YSM$*uR`Gl7>>vCrT2 zN(+5h!sm>Ak)^zaYxshi!>QF=pYGpuI1<&LbKx6#!uVVdz9f(=H&kAkzQG1>M(pUo zUS#JsQD%=@YM}?~)TmjnMiRwpW!rs3J9ng0SrmHvnr6a14rbfJ6--kD>kCWQp6-RQ z%elf2ES$kv?ss*Qsoy8f+MMpb_8k{^&16@P1~&cB!YfG8q4xb37&BPcXQYF*YO`K+ zuX;T9bj4=4s(6bmcF`|^Uc8DVdPwf2X&XZy{b(9UnYvQ06q8&DK(5q?a;3(SD|Lii z>2}jPK(<57^y1ahSV27V~5O<^X3_>Z~(18ft!#5fxJh|>i4?hYWP8=V0u%i#3Xpj5R3jRnL u_(@tgJ-K+;a`B5O89>}9$S+2aGImWMZWQEK0{N{22v2(k@u*la?EMegwE2+$ literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/po/Sign.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/po/Sign.class new file mode 100644 index 0000000000000000000000000000000000000000..26ba34d40572e33f6fa0a3a621f8743f8a31050f GIT binary patch literal 3117 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 S`1f=oA#6Usd|E_H;oiT3DuBHJ literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/po/TeacherBj.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/po/TeacherBj.class new file mode 100644 index 0000000000000000000000000000000000000000..90cd233d12b62eed6bc2c0693822b9d616b00d4a GIT binary patch literal 2114 zcmZ{kZ&Mpp6vm$$5)yD}D@}v7sHvh&LSTzUZ4FQx5SyB|wzQe4)fby&2R5czCRx<_ zF?{cLs53%mbjASxXH>cTk zX*|%c4Yxn={NB^rmV&ycFth3R27%KH8cz4XO)b9qeeQ>O`wxYL*H*Y#AEv1F0(aN# zR}`j#5TizmWV0hnqS;~QdYre~p?NwoXFX#EQ9-my?YeP6{lO{L)wmSudcPv<# zQ8-`sdhUaR7frYSBrI{Z?zfz7!(rJhIXX-Rd)`3d%2}y3Vrmd3&lL>0iwy;fbP;Q< zEfiNRoD&L*o+p2>R@znB5i$AL!g(=C(?re`CfB^47i=g@6pD>$OrT`p8VU+)ro09e z!;#Qs0)Hpyd%a!G;8gp<(@Gk)!rX9_;c@lA>$cr~1}h5Zq8h55{By6pK8GpwKVla|>VKCd+d6_uU@rTN*VDC0QAr=Bd1u48Bx&s~jAQNoQS?nCr1n$63cf zq7oSDHZjVg#q|vCP})BV;HHH#mO^b+DbO67W00r}>l+If@HS2Lu-L7F$x@mfi%nw%?bb`MWCh;!P$Z$W! zPeuaM{PAMwJ*BBv>QApMO|N9(Izyi9*AcL|8MzyJke7IlPNXca|}=z=PVKQMyi;~-@t$cJW- zd>rIDK~~NHkzNVNM@Eo^ILN9IRj)XCR6b}95f8C*6R z9AnA{P>(e$-#M*H-nJ<7bNvpi{Db9Zv)5naQ<2vZKAXLDgbMe0*>8mV1=)Ya{Sm71 ze%D4yTscwT7V*aAyB&AFKjNG^alVUMtNIi=BamkwG9U zu`E$PCowNw-#;lUHMxYHfsK(t7DZ=LVlhw~kbr7rWZ(+UFD*(=b<502Wn|!ko2Ume zjFEveI5Ryjv81#JDCzElZh^HAUc+rrr3>b=&!K^8@8Qettcz7vpuYGh>K3eGPrN=|jl%t>Wr;71s# z2QrP3fipNWJuk7OvN J44hz^3jo+hNk9Mq literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/ManageService.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/ManageService.class new file mode 100644 index 0000000000000000000000000000000000000000..540c40951b5b971eb2c133301aea26d27dae4939 GIT binary patch literal 263 zcmX^0Z`VEs1_l!bZgvJHMh2zi{9OI)@`_6RjLH)I;?$zD%;Z#k-^9Gc^weMokDY;q zkwG9Uu`E$PCowNw-#;lUHMxYHfsK(t7DabbVsWaz6Oe#vWMtq9&Mz%WPIb%7No8aZ zLNQejWFR90XK-eEUSdgU5m14*54t7RK6ov#L6t7ZhdSKa&Kl@AMh0deW(9hdfq{vE M9ZYgCaDr(r02TU7y8r+H literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/QjService.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/QjService.class new file mode 100644 index 0000000000000000000000000000000000000000..75bf79ad0534d9cf40c07271bbc6a462d0795fb9 GIT binary patch literal 251 zcmX^0Z`VEs1_l!bZgvJHMh3a${9OI)@`_6RjLH)I;?$zD%;Z%4z^q^hi=BamkwG9U zu`E$PCowNw-#;lUHMxYHfsK(t7DZ=LVsWaz6Oe#vWMtq9&Mz%WPIb%7No8c_RG22PMrVo7NcP}z=z{J1~COH^5 H!88{D`_W2` literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/StudentService.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/StudentService.class new file mode 100644 index 0000000000000000000000000000000000000000..1bf246b0a3b19218361f738f952a369ef6578739 GIT binary patch literal 266 zcmX^0Z`VEs1_l!bZgvJHMh4~N{9OI)@`_6RjLH)I;?$zD%;Z%4;F8jm)Vz{l2$!9K zg^@uZE3qt5KPNFSUEe<`D>b=&!K^8@OQettcz7vpuYGh>K3eGPrN=|jl%t>Wr z5Jojt4`d=E17~n%dR}5lX%SF`j}N*n);@S`utAkB$cH)I+Rhs2JVpj)AZ7*nmw|za NfgMb8FmQrtE&z}uPM81y literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/TeacherBjService.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/TeacherBjService.class new file mode 100644 index 0000000000000000000000000000000000000000..b23ba87f5d0ce9b7d800f3f6624e931ebe596f00 GIT binary patch literal 272 zcmX^0Z`VEs1_l!bZgvJHMh4a7{9OI)@`_6RjLH)I;?$zD%;Z%4kkrKFjMO5htYC-$ zI|Bb=&!K^8@OQettcz7vpuYGh>K3eGPrN=|jl%t>Wr z5Jojt4`d=E17~n%dR}5lX%SF`j}N*n);@S`utAkB$cH)I+Rhs2JVpj)AZ7*nmw|za NfgMb8FmQrtE&xmVP8R?G literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/impl/BjServiceImpl.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/impl/BjServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..8a77f58f2acd621778f817bb41f1d16747428a93 GIT binary patch literal 867 zcmaJherWwjp&*$0;5^s|A*IkNLLvHKB;e!h_BNd~JG0ErHs)U` z2n8Sf0sbiI-EFeEwfZpk?45h&+^_xl>-!G?yVz==BJeDDC*2!&m3VSw{VXOq zPtwCS*IebZ#HW&#&e-H%w$9jMtT6J9*xqJOG783}=NGv1H4ooqn~{MI?y=3NOu#DE o7zNg`!6NthyMhPTM80A3OCIOV literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/impl/FdyServiceImpl.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/impl/FdyServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..ae5be59e9a007ba185e21ed3cdbfae40958d4814 GIT binary patch literal 876 zcmaJ<%T60H6g^Ht(uA~7DD;_DNGt-2dcy)K2#FRURSI1+RW@BY6DPQ2?2*SqI)4Qc zQl&2X0sW|o>ySrXrCs>mx%Ro|+{gU-{o^Nq1H7)Fz|f3L%rD2^a(8qzgWV>Y$&WizJbj(Cq*oPp-ZCJ)p(# z{8Of#ie*=&syC7+S{o;vGCE~AY#Te|X=0Tg4y=gf*w{EgvbZ+%ZG3xz}YVy*GVXLlJ9rtfJ1a)>c}6%;KK3p9SeMY_v@zMqOc*kEfR< zccG||{jiN$*Goo8(zT&zSGd#f-k!;g<0Z;!Txy7^V$-{zVcL_-mFD9s$Q<_)v3LC&3MM3CS literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/impl/ManageServiceImpl.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/impl/ManageServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..aab1e948303f07c2de67a70af892139d13ea46a5 GIT binary patch literal 903 zcmaJ}+HHm4YDn z&>zqrCEnd`q9dUXbI;D5bI<+S^WVSD0KCNG7HR^|BAdvQ+1I%|o_m>*JJk_MoupHF zpp1%Xbm98Io)#JcTS34?WhCFQ3204$?SQt>4I~A+Ntxn6r71a%83sW~>8{GS;0y%r zf69&535|88CsW!t#(L$oHJQNcp>?s$Qm0LPrUi^l*#0gioA7msg?n9KlgT~ z9UZc4b5|Sf_XO(wov}dUtv#d;>R9jMD!KyeLv83|o=nJnR-9L0V`w8a9V@4cd*y8S zW6gy;4?9`3zj~~ky%Uo!rua@-fnI+n3||hJpPAeq>DVZrJ1*kYW!&9RCbiWp2YZ7y zc#>VTaD|hPZ0;g@uZylWgB2B9fAK|~DghOWEo=H`@t5QagBSA%a&c$TuK`L}K|b{K1nyf?Pj_$C}vVNyfC^YSZ^PmqxN};w0LKHL-@Nu%eO()IHth2LC^RE;H z!3Tdpf0TH4o2+iFKFmFP=bkzDYcGF({{i4RHfksdYzH=!XOoMmJe_(OlRMV|NgYOG z`EJy^a$mDoLq%Y-Kpv==c2t0hB z7_UR>>sSxQbYP72%4=(4ffrrthBA(vHp3IALYi22CI_TUEKgM6t(!`fKadBBw-fE? zm}RSb+GxKoP;T$^1uBR3m>MW!sfk-?3M_TCp|?pmAooFWUV+uF4b-@=oKF4OWyPOr zE@Y?J#k}Re$HwXZ$Rhst3l*L!+slusNN@a%uwyL`Om&=ANB9=brnuzkdJt3E&l;G*A(E9@$u)&c4p&$=u77+?kF@>NuIo zBZ{mW4=!CF*wa8wU^@sHsg&d!HUX_JuoKW0x`CuX+Z8E3sw5%DG5sJYF5G1qmzV&w*;^Cx`4rzNE70lghT+R0^D~p113fXyXO4^5yNbIX$|Sa&W$&QZ z1W&S!2Ci}Pfz4b*?{(hQRo32kGbNxxv1LvFEdGjoVen!eK`!pByK;Z2Cr8%L z6Ov`J9=5suDxWnzmAnncCjZuT#uj6Rk@v>-2Hzy3U|f54ft%lp=UZ%ZGSIYx15PeS4goHq$wB<91N*of9@CBqwsVWr^5>ntmP;MNY?KCyb+AFWOA^!>_ zBqR>~0sT=`XSYd+QQ+X29sA9jnKyfW@%s$GOFXWjB+!X$EKerirt)~|WlHW;M&`6p7gGv%|jPC^radBNVaE0g! z-2apruVWhMR1e2=V2t(3Yim-0-JW$LnI=w~(UDUzO{_bSLsBM{M=J8xO{H2S$b-z= ziFS0zwADRrwBHvfw>txY${Tw~4V1Co#C0?U)_dB}$1EO_`>eRGz(&tTYCKR*=ke^a z;*T{q@;sblKKLp*xprejK3DIpvI4DkCrn<5%g+q1=jth+Id0+A|FC-@O=1fjyZhZb zSj8r4xW=XXHggfZ)A>Z3ON+@j{o<=SRRUi^qD4PT%l>DrFme@*Cr8## z6Oyw+UF>k@Wj--Z}**Dmi*z>m7-rz{G7wp%b{ld*3#q%w;IT&c+HrpJ^ s0Bqn6dsYBjOtQ`2CEWdsHBnhDI?vP&Fn0-|4I`R z6CeBm{3ycRwp$$oJj^{icg{WcYcDQ;{{ip@&ub_NypC)v&nDld@^tEDO72`oBz2sO zWzT0rGQKzW9kZ*3ioi|~F;FSVw`>AhRp3QHD}+N$fwgp=r@ZMbYzV6%4=&no6(6=F-@#HlLJyFl_x6l)=i~a2FRn# z+lh8GWZCM0HrgKwl-s*~fyz5Oqz1}ZZ(Ox!%(wqkQJLiv8QT2cb-2i)nTa zJ9Y3Zo2cOqXYbj}Mf5@EeQkw%%6Gr_Rh=t=D3n`P_0Rfm%NRx%GYPYCckOGJn0j(# z{WKxDNY}v*w@~J@!l#sX!dU13yUN&LEHU!(*sk$SG783(SHE!g$L#qY+nfxvaGz~X tWdb(vfKlKfHd*8mf0wZJpU6*af1f@46?u7$NEuINtfvc^XUhs(z!j8@_+J13 literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/impl/TeacherBjServiceImpl.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/impl/TeacherBjServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..5dea170b9d4d3d5105db1447dcd580eb275e6d64 GIT binary patch literal 930 zcmaJYx15PeS4qzQr2@>w8Al|V{4)Eqb7@bf|+Rhp9H%x;jHOvB55 zE@2&k?a#UKI-$PK^k77X##pbswk8vJ-L)>3S?aWjPn}9=Y~8sWkTRJ(Rgt%DBGn>6 z9_HSTwWAZJt?p~1{eeKaz1tV4ytOCPKp7iN+(45X?rKAy@?=2nSaDr}t*(vKsIQzZ z&a+^}4>dRPG8|^E!+#~_1{yK>LeY213bfk0A;Us&zGiT}r(>gh?zoRP*J1ZVn$#{8 z?HqLKU_G0tVV&#uZ0;g@uZ!8XS6{672YYAgLJ7nn<)X8HzQXlY!~D56s}*_5_La|> zd2(d^Bqcd3*})DEQs%YBt5nRxzRo|s%D%zA#Gap#?M*&O_JaM|iyyf4ZF+s1Z2<;a x*koHk8GtR^VJ~nO_n729?@M^FLh>CCzfLcfB+srODdW);^>{|}WYJ*@_zNV@{Q3X@ literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/impl/TeacherServiceImpl.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/service/impl/TeacherServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..9052afd0d8ed654d44dadb7277e20c17b4a55a07 GIT binary patch literal 912 zcmaJHBoKv?JY_&Fn0t|4I`Q z5+D2l{wU+!wp$&8Jj^{icg{WcYk&Uw{sX{kyr`ihuou}_o=+~Pay0caC3m4Ck~&Vt z@`O}0BG;SyKCr8XiokXdF;FSVH*5l0RbVHe6~dvWz?z>Y`KXeF97lD7uz2P!Dw&fy z0#80?#_O2+I@NWP^O8~W_adQOcU$Q<$#n)<(Z1SbyKO90rEKW zcA_1fvTXHG8|{w-%I)30K;^AHr3T7aZ{iM`0_$CE=u;LC$ek$8E3nzMks9}v)A@bj ztoV`ULiWQ}iV6H@w4A;%B%e?6ow5S0_HG!z95g>Ox!%)5qkQJLii6v@hoMYji)nU_ zI(6_Yo2X%xv-fP~B6_d$zP7?W<-6biqArv`6v{2D`fL5SWelT>nS|N6yY`JsOg%ZW zewvV6r0ZatTPX8c;Zw>xVXX82U1e-AmKb??Y}fcE83p6Yt83i-HhaFuHYWouY_QF# tOu#1YGYUMwLl$|&-z9AQBXWhuUuO@0L|)z?QpVF6>)Ar)`Le9m@-=U0J)b zQ6EVNfd&F0q@=-^U^giwrKV9xA}e-)&?eBPNoks-Y15V_t)Va4q|K`j7xJGwGrJ?L z?44P{5VZa;p2W7Q74oAf zAW3og)QHoY9UDpH6>9sn$h>n$UW;_^Z%~NJOn+81mmhP-YZPMcl5`?7+!fD{r82`C zEL0N91b;dQ20D|;rt7co85vQqHV&mznN)tWLa3$nph9>@HtCqCQD`XYji*LN(~b~z zby!%aP&HdxPc9clHR^3NV39)EMo(}}ODUe#gXK_IY$J+!7M7AtQJOqiX2Zrjg^K=E z#@RDIa>yCmpE#6ugj{xr_Ds;Kyw*3PTyT|*6mL%1{2r$KxaG<;$2a6V=c{n*bA6u z&)k}@#_Cxh7!R^?i;a!gs<5tP!5sc7y+xi$ZQ{y+fwevhjB2wr(u+PL^h3aBZiYhl8g~uidy?u1r zXd<6?#xjhAcs?<7`#@sU3!JEHAX&y~L)pwRXN>vfn=1fsLoj4CBjNH(HU@DMQ8R>w z^GCGX`vlo7Hr@`VPDDFWEPJbs1Nh~lWrMOy4Oybi#36;cBGY{mAiM4uaz^v4AykwT zP(t_?g?Szmk5`gUnDaEccfSxt3N3RbqKjunSTWviQ&>3LYum?D>7+9zwn*C;0g;%; zq|+jn6p*Ckx9bn;C={u^H#QAk0LSOpuOOj@$VH9jB3fW|0!gWCicS_R7 z#Ort2*pE%Ld~k}GUmh|v7x4bJ!wk-WRAyX)@XC_J+g%b1{?@S38-)Ierb~EIm^xNE zn;CYCM?rqvq3>zKdA`D(3EHJpTVIJb6CdIxryZ{?@s=@XILk_#@k?VA58+Pv_^^%N z!bcbZIlo9&m9S|&C^JvkcoZjT@f;nvb}5*b0lJ`;e4ax+)k8x60%E13neON;ZI2MwMS09_SmV{ zKJtWxuN5vYOuyU0%f-uc_gnaS@pAfJ3*RVQzIyVcg>MxuFPwYW!nX^TuipJM6F@4S zn*bbYD0ErX&84-6F~$H4aT1+&oXBtG@YamRZl`kYUgDO~85@#ceQpv@eb2@#`1`qo zuvBF$_X{JHG4ZNjPjw%s3;MonE+zFmiVOHhDI&~li8MxQHU35Rlz&y&G)JtvYDxu_ zZd)e)jixBp@q&YBwp`LBtk4(`IJ?thILs3R@5qjDccYUP|7rq63nFDE8y%VDmd0NE z*v3!rQ@YE$zdt)`tM@I-fubK9XrsRqj#W_o{#V>pHp-)Q4s<1njcvWTIn8B(n|Ngy}in?P7Q)T;e9=6m1 z@BZCSGiFq!t*%fpCP+~i-BMaEX$B!DaP}T{1F?$PwIe&8$!~Y^4A~4X8Qs@iGAe>q zBH$(8(7W|65?OHzELBfu4$`u0lg8XqQ^uW_3Ygk`nW6M}(%F?s_NEiVOq!kBIJIJE zCKASWl3Tx#q*sh2ofeH}$H#`8-jp=z^M%0ycHOHa0I`h86XF>s%t()*j8`VF3|PG8 zA%NosY5Dc{d@LwDuRt^BT!9$xRPpIHEd{7QkLtl#?OD`)290{WM30+3t;H_q=K?)7 zMzK|>V^UqIpYWJPRlc~5oWo`n3)-g9JcX7itU8M|MHx{-1Xf`_y7YS6osDa7E$_3% z!+L%Suyv#+lI-*79&DRJ&sl7ksUEB5&%3?bv+h0UYdu+!Pc0CHaJ$3^JCou0BG!oswq}Z&T zCga6hMN>%Qtfg~+esUS0gZ5%E_TehTwdPt^x~G|X@HXwJI9EgvGHXo2VGHEJ+3k_3 z@ZdayCat)j%k|GYsOwhhN(9(dcsfKf{UdS@;Gie>0m>Dcooz2-1ts2C89gnuMEcE> z`bO1h*e=hTC;P>g@0ip}s(DCEpoWa(+hx2&2jU1(Wa#BApN?V)j&epGD{(A z&8h;Ci>NaZQZ;73uq&7L$s@OhlO#CJw%8JF(V4ORNWfAi4r@!5V;D!g<#!Q*EZ^e0 zY~gvN2AOuZpG7t{I)$+*9J@h3tUQew4}ZmfIE`PM9jYHA#*Z^hpP<8@L=PLfVv21E zI4lffaiezDJ3Thg^iwO1sjzT&t=s24Ab!j(;U}oaPq7sL6#x^o#z*luHCCe%r*PU!63-eB;+evsQ3GccDVOLp@ zFwcI!IN|W62=61|w~}z2g!hy1K@z?(fFT&ypSv{S&t8V`)SQG5k#LfPoq)2Shh1es z!qfP?NBE?d$epU6J7$HH|HolTBK1$>+yGk`tD}7i&vsbhDLlt?Zt)T;u>Gkl-_4I= zzB-DS%Ar=}(V)i3{y45u69G{E25z8TM>}5+vk<+2Kkzbp0gQ`?ar?Un+vI__9Di5< z`jnS|-9Ha#gh0R4VRcwj_;Ox`voWurT&TN<`EFvqhnU|-%=Z%WeZ+h}F+ae!$`1x` zcY8&`z`6qN<(I|%N5pO5k6AFJDNX1G^?8n^{@qY%K8xPLQ0y!5!Eo%W@xe&!Pve7S zu|JCsnz28R4_dKr#s@3QVt*0u*9DD!*waZC&vsUtT$kbKE-b6v?jCJRgb^ay+Ip~1b>C^5MCD=@z=Tsxtcx9DY_$s zt*nB7!ypZ_Qwia3xgtWdy~5qY-3DhiBi}tkUV%niJ*5@8jkd|HM%uQhoZQ{zY7xbW zE#eF?GyDmJLku!To;!Z$2}D9?{04bI?TPK^33s%e$A!VrS-dudf8Nv4$+o$NE6pBG z?R-fV)Q1_qyUtKW8@7qNesO4f3-f%+U%a*F>L`8*5nIjm6UX{+aGqvx?jeUWd> zUqG+=5?_mdnXkQH3fL>|!I!>sBZ=^pH7)k<_&y1*Kqr1cO(AM*)j<+wcWB^0xXDHI z*1Z;%wUz&IdQ%K!qL;r6JQaD9Ya{NpiE4(tJYb{!dPwa2L*G#BiQQ(qNjH7pJ%PG* z>HavVXrsw~^tccYp9zTrT(ORpX}845mi43VDsx%l;QEew6P$%i2w5t-Nd`ne957y*l;;)xVoj`3bc=|^oyua zZ)oZ6o>N!YWb5z-W${c+`EPO*LOIF$N2d?b8gh=(pRkwde6l)9{>x}u>Xe`jE+FUKn$nDg&hUXtQ zBiHd%A=zgz;tZXAg0HH8@BJRW_5Ytza%o_7XfqnnWh}zAMq>cjdJkAz0a#Z7*tG#* ze7oW~sGoPW+Zi(2;m@|~qE)O9x)n285H?ufjkX!Ccg+xHx=InE>y`9MvqS4gBp;=@ zwpFXz?d9tug_jRKX1ysf)??M1%#CDEd3`zKq@Fv$Drecq`bbBWs(TXUwUKCIeWW(> zG=;c1qqhWOJwbKDG_FI;=s|q@a0EE1bx`9+~O9QG@N NG@eQ==cl2r{267GRnt(O|45)Py20ApaH8W`8XZR=l zs&uWk%P#%s2Y-}x-2`Zl_#m0j6nBhvSyNY zEVHze5NOVqOWWp-!0n{Wpcl-Xp3}8$-F9{vUb79$q}Zy5^Oj=}MAwV<6C_W3uFN=ZuO5cCeEiblRQbaQqL)>3o|(45po`_49+R!&lx4>WjMTI7 z@Fk+Bqbs<{wrVK!QCC?DhVJZHMk^+8OT}$`ED%|@OvkOls$EwMfjbR#t0`8En+WqV z-B)l=pzlmjOX-zm6_fZxKqXb~yv`NaID_!!e?V}CNMXb=rGWBw*UB^hB5zb2vs_Z~ zsqE|a3U8~EcJ%!7jHTyU?qE5$d%UF8I_0|=|kI7VRZm5)AsrCsg`_Rzo zG+9ryIwR_0%ocRpK2~Z!YiruvDY^9%n4QYR>%6Kq(-(+6mB}Qg6Hz{8u^y>d!aV0# zMYn9j3nS2!FX#scoEdc~JYeLWb7@45Uk2W@D$&SEA1@*GWJ(23D0Qt0Zcu@+Cr;9| zd6Dm3fW(nN?!=L9RDAXSO5y?cLwdNSNb4%T2FH8Y6=}w@^nDIyse^~OsHmH4jL7I2Uk^F)!+u}c3UWtXY?if0EB+hSMYnc1VZ!P1o|QKiOgXXI zjy_*ErR2EAp&jH0FMxjeE#N9FCpdqb`E2EmjliA3w}QW8q2HlqgI$-?FVXQ9UD?;@ zd5QPBEU=kZu;%;OfL+#!#<=Jp3>%fat)Ea?lKwUPPUym*>Z)tmJ`UkeIl?$(*TTr01U%v@c;k- literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/utils/Pager.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/utils/Pager.class new file mode 100644 index 0000000000000000000000000000000000000000..501bb9ecb5c51a8e8b72c811b090595dfbd496f9 GIT binary patch literal 1969 zcma)6+foxj5IvKGMB*Zdil`{yb(0_q-Ze3b7Zi+_DpEZ7w!}58MnWYU75~J4&?>Ex zSmlGI<(nU+o}LL&mc-&^XQt;&_v!A_`}5bAuK>=WkU&IXxKw@NJb(3i%~@UxoJQbR z>dqs#?9~#8DGWSwU%F1kT`4;cm!5g0Kp|H5-*^gYP9a`>`n2xR))Q0%w?gAQ_fOow zt@CL?zZH*8!LJ8dh290fyy6Cp8sF~=UFV9$Y@V1z*$WnQgs7cjjM&ZU6R#HvgBE%a zSLiSJE8c^~izTmCbeAf0HCU*Y+{&U`^X1$!#)4&^EDjdB<;PeuPF;j>@;3mKK9sQ7ZPMRY&AaQDxULK{2-r16pn?{m{K6=#RSf< zrc%gLMn{t7IkL9`i%eQdZUMZ3xQjDe&1cyl1bpM z!miDlWfBY3My=${`XaQX9*jxBDA>8;6;srI#v_~GYQi|#M>%paL`1^eMMNEXW&8EY zh7o1yeIMILD(L5TfR-7qifd2$6L!DjCW<}$#x&SxT$reTFG+RCfG*yAr0d6Wb(9eYVL)b))0y(RGZ6$vPxE)rG9c zpflMMI7yO57^k+#!Tt~;eP)}aIZAD}6WZ-#o{cOr>#)P*&y)OxF651NMHYW0BeD?5 zB+dAS+6#6EuCp%MtH@v z{Ezb231oT7adxgUhdjl2jlI1Nn=^A7w=~}|6QwQVN%=YIh8@ODVj^15e^G|HpoIAV y1a+IJSw`bT{-)zd0xE$!G)Q7o8U}(k#*_(#>vx+xXSdax27zYH7`OQSn!KNifmG z_}L$2d}n97J8LJgAKG(f&U>CSXU_EZpYJ~b%wjW%4g+T@js4=A_a6?6dxu`}z;kNN zV)?M?+54-Fx@Ujzk~n7I_-pH(RjgU{YH?%dwO#QHq~2OpyX<_l4Gfo}?H7BlZS9sC z6|1&jAYFE6JBfY+L)tTB(1$@2L&zHFTJ)u9 z@Wdt(=n~cm6KQFkG?9_kDHEo&PMhdKmw{}_soT#E_IGUeg|$;-H~Re+ZCS1(e19>6 zP7JanZ_jBOm?-`4X4s_es_i`wPdAvKR2md?LYyFPViEdmF(R zax*Zywu8~^b?yDeJ6q%yPf0ZLk%@JG+T<25C5mYgGjd6yx}_7O4l+hpmMJ$5+={*C z_)`~q+S8(kILj&Sr zFJRGUFX`ALdUio!FYDMNI`$Q^r(^6p0sF45=cD?bUsc#Ex}J~f*fV6$#@P3Qp0DcI zV|wC**r-6F#NzStvAUi^sO{7wB|>H~;_u literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/utils/UUIDUtils.class b/源码/src/main/webapp/WEB-INF/classes/com/kwxy/hyt/utils/UUIDUtils.class new file mode 100644 index 0000000000000000000000000000000000000000..13d265243b2e21630be77dbf6c222fcd450526b9 GIT binary patch literal 2357 zcmaJ?%TrTl6#soB;fCuKE)eih3E(rJ5*1Vg6cQd42%rQ~DOSCN+i)c$G`Un#+gdu> z$G)3((HU24E6fC^blT~ri!S?Tbh_)-mj1q*AgCR}gzs^_^E>DK&LhA7`{U05+VHi4 z5`iP}^g?j{!E!D*m$QRQww25VCnpE{Cgo0nTR^{Wd}sudMk)~;o4IesZ2|va^zOv< z@%~U>WUMz784r#2jg8z5#X^ITP&m>rAl?-y%^0cK^nyTD#6ghQ!ExuVQ$S0aM%Ip6 ziLhm7sW2qqPNw7Y0?oUg$J43!QYK@j?4T58gX1Rm1hykQ62_Y(%7nFGa@!S8S}DuE zCg2J*#faCNo;Axr2Q+w4s=y}@*l}fVY!%h0)o=h6jHJuKl~9K??1QG_Ez~JEB2ckI zPA^@_YVf08pgdvP&N-4cX3Y%s0!@Xm93FRxI=yHVI4NOTBttDbZnaFzWlUq1ks8SY zZz_)Ago5J&HLuw%*wJtjrv%E9wCdOpI1$)oH)?0BRHE|@S2`6m2^@AXvnCn0>|8J^ zH|DnC0BThPa7M#fv@m@MGi7EB+l-p#tbivl*fbqha8AJIpez{nTrg}U22-|~Ff%HG zxFFeVm2aoRO)+_MQNtx%cKl5xVn%X_S!C*lB+*wiltER%92W|3SNW*uz*ULHRJ#L1 zO);s^qd|dJL0F*SHF8GN_CR_mHQT=&Hy3Ryonqc1R>~Y*T9`326UI!EhN~Q&V@Af3 z=i;S1>x5S_P1OBS+lbGP7>kZfg$uPbZ_imQUw>q;Hew9ESMp!XgNhN1DHtv0-|4>K zPX2>$|{@1h$PFK+Zx`(Fni5T7h>?@E}QqP7lr^-#9=C6J?xqpg?Ad>M?yf&n2Sjx zZibRcf%g9?&Ap4Y$eX}EjsVUUCj_1r(z{2AMUMs*46t$IY#`fIk;VrK7GL!%m$l6W z4H;R1l|@G7BpI=iNh|B&jO6E(?h$Kse^jsZFuH0i%l5C3<@S+={ZQrI#~MC?oDxeZ zIisk!wIx-H2>SM>VvF(HFAXU8LZEu5Qkm@ZgF-2)(ezR#ZVp(oF3Vp|;}-cCjWq6Z z;8i)*xKm}}b3H6O##uR{oO^o6)lF$RDyXOP^efNI6=JS+RBobrY6CUvI9Mg}I9%0` z$I;)QxL4tpVlKm*2=Ga>?#<&g55cMC4V=%TZ5{1vsQeE4COW3p(7u7Lb#y-?b~&fi zNrdQSFYUCDF~CQw2Pip0!s<}N^%y7RDMr(VqX_eK9mg?Ay*|Fyh|)$`KL&Vuo8Nu# z)c1&fg|KH)La6OU8hZt-s2` zy7!W26*Y}gUgIe~2tW3S8jr3&-THGAv8npT4cy9Oy6R5Vy*y@qpv?k99pnW#Pwy@; z&Q?@0_8MFyNA2Y33c2Z^^a}rX@$V|*yM}SDw@HR%tBsl-%wx`B%TJlbybCn2BJT6v zMXffcHeBc-s=V_!tk$9Q1!@!|OaDQsTj*Q##Lc6dKl`Yp%EC5H_?t!Krm@U(qa-jyl51&5L^@l5= z1|L52>*pT&@cE;am5`*V!KtNJh~jW&8MVAd*bvJkLdht@93xRTSTHwn8d3hTOpv}w zT;_Tew^&}&9Da95*gc1^S{8>KNROTN2;-bXSV^(aTrbe*jwpEIC5K + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/源码/src/main/webapp/WEB-INF/classes/spring/applicationContext-dao.xml b/源码/src/main/webapp/WEB-INF/classes/spring/applicationContext-dao.xml new file mode 100644 index 0000000..6cd31ac --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/classes/spring/applicationContext-dao.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/源码/src/main/webapp/WEB-INF/classes/spring/applicationContext-service.xml b/源码/src/main/webapp/WEB-INF/classes/spring/applicationContext-service.xml new file mode 100644 index 0000000..4324c91 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/classes/spring/applicationContext-service.xml @@ -0,0 +1,18 @@ + + + + + \ No newline at end of file diff --git a/源码/src/main/webapp/WEB-INF/classes/spring/applicationContext-transaction.xml b/源码/src/main/webapp/WEB-INF/classes/spring/applicationContext-transaction.xml new file mode 100644 index 0000000..ce340e7 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/classes/spring/applicationContext-transaction.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/源码/src/main/webapp/WEB-INF/classes/spring/springmvc.xml b/源码/src/main/webapp/WEB-INF/classes/spring/springmvc.xml new file mode 100644 index 0000000..29b80ed --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/classes/spring/springmvc.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + application/json;charset=UTF-8 + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/源码/src/main/webapp/WEB-INF/jsp/bj/add.jsp b/源码/src/main/webapp/WEB-INF/jsp/bj/add.jsp new file mode 100644 index 0000000..7486f90 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/bj/add.jsp @@ -0,0 +1,115 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/bj/bj.jsp b/源码/src/main/webapp/WEB-INF/jsp/bj/bj.jsp new file mode 100644 index 0000000..9863a4b --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/bj/bj.jsp @@ -0,0 +1,141 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + +管理员列表 + + +
+
+
+ + +
+
+
+
+ + + 添加 + +
+ + + 共${pagers.total}记录,共${pageNumber}页, + + 当前第${curPage}页 + + + 首页 + + + 上一页 + + + + + + [${pageNumber }] + + + ${pageNumber} + + + + + + 下一页 + + + + + 尾页 + + + 尾页 + + + + + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + +
列表
编号名称专业操作
${data.id}${data.name}${data.zy} + +
+
+
+ + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/bj/update.jsp b/源码/src/main/webapp/WEB-INF/jsp/bj/update.jsp new file mode 100644 index 0000000..0945ea3 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/bj/update.jsp @@ -0,0 +1,118 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + +
+ +
+ +
+
+
+ +
+ +
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/fdy/add.jsp b/源码/src/main/webapp/WEB-INF/jsp/fdy/add.jsp new file mode 100644 index 0000000..41b9f8e --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/fdy/add.jsp @@ -0,0 +1,153 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+ +
+ + +
+
+
+ +
+ + +
+
+ + +
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/fdy/fdy.jsp b/源码/src/main/webapp/WEB-INF/jsp/fdy/fdy.jsp new file mode 100644 index 0000000..96a1d94 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/fdy/fdy.jsp @@ -0,0 +1,153 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + +管理员列表 + + +
+
+
+ + +
+
+
+
+ + + 添加 + +
+ + + 共${pagers.total}记录,共${pageNumber}页, + + 当前第${curPage}页 + + + 首页 + + + 上一页 + + + + + + [${pageNumber }] + + + ${pageNumber} + + + + + + 下一页 + + + + + 尾页 + + + 尾页 + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
列表
编号工号姓名性别负责班级操作
${data.id}${data.code}${data.username}${data.sex}${data.bj.name} + +
+
+
+ + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/fdy/pass.jsp b/源码/src/main/webapp/WEB-INF/jsp/fdy/pass.jsp new file mode 100644 index 0000000..4c68e78 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/fdy/pass.jsp @@ -0,0 +1,164 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ + + + + +
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/fdy/update.jsp b/源码/src/main/webapp/WEB-INF/jsp/fdy/update.jsp new file mode 100644 index 0000000..3a671b0 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/fdy/update.jsp @@ -0,0 +1,157 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+ +
+ + +
+
+
+ +
+ + +
+
+ + +
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/login/index.jsp b/源码/src/main/webapp/WEB-INF/jsp/login/index.jsp new file mode 100644 index 0000000..2db474f --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/login/index.jsp @@ -0,0 +1,268 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + +首页 + + + + +
+ +
+
+ + +
+
+
+ + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/login/login.jsp b/源码/src/main/webapp/WEB-INF/jsp/login/login.jsp new file mode 100644 index 0000000..b1329d9 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/login/login.jsp @@ -0,0 +1,91 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + +后台登陆 + + + + +
考勤管理系统
+
考勤管理系统
+
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+ +
+
+
+
+ + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/login/mLogin.jsp b/源码/src/main/webapp/WEB-INF/jsp/login/mLogin.jsp new file mode 100644 index 0000000..563be5c --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/login/mLogin.jsp @@ -0,0 +1,83 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> +<%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + +后台登陆 + + + + +
考勤管理系统
+
考勤管理系统
+
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+
+
+ + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/login/message.jsp b/源码/src/main/webapp/WEB-INF/jsp/login/message.jsp new file mode 100644 index 0000000..a06408d --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/login/message.jsp @@ -0,0 +1,64 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> +<%@include file="/common/taglibs.jsp"%> + + + + + 后台管理系统 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+  

${mess}

+

+

+ <%--

部门管理

+

人员管理

+

考勤记录

--%> +
+ diff --git a/源码/src/main/webapp/WEB-INF/jsp/login/welcome.jsp b/源码/src/main/webapp/WEB-INF/jsp/login/welcome.jsp new file mode 100644 index 0000000..8b0594f --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/login/welcome.jsp @@ -0,0 +1,64 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> +<%@include file="/common/taglibs.jsp"%> + + + + + 后台管理系统 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+  

欢迎使用课堂考勤管理系统

+

+

+ <%--

部门管理

+

人员管理

+

考勤记录

--%> +
+ diff --git a/源码/src/main/webapp/WEB-INF/jsp/qj/add.jsp b/源码/src/main/webapp/WEB-INF/jsp/qj/add.jsp new file mode 100644 index 0000000..7486f90 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/qj/add.jsp @@ -0,0 +1,115 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/qj/myadd.jsp b/源码/src/main/webapp/WEB-INF/jsp/qj/myadd.jsp new file mode 100644 index 0000000..579242c --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/qj/myadd.jsp @@ -0,0 +1,155 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ +
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +

0/200

+
+
+ + + + + +
+
+ +
+
+
+
+
+ + + + + + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/qj/myqj.jsp b/源码/src/main/webapp/WEB-INF/jsp/qj/myqj.jsp new file mode 100644 index 0000000..e857b4d --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/qj/myqj.jsp @@ -0,0 +1,161 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + +管理员列表 + + +
+
+
+
+
+ + + 添加 + +
+ + + 共${pagers.total}记录,共${pageNumber}页, + + 当前第${curPage}页 + + + 首页 + + + 上一页 + + + + + + [${pageNumber }] + + + ${pageNumber} + + + + + + 下一页 + + + + + 尾页 + + + 尾页 + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
列表
编号班级姓名开始时间结束时间状态操作
${data.id}${data.bj.name}${data.student.username}${data.startTime}${data.endTime} + 待审核 + 通过 + 不通过 + + + + + + +
+
+
+ + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/qj/qj.jsp b/源码/src/main/webapp/WEB-INF/jsp/qj/qj.jsp new file mode 100644 index 0000000..b8b5aa1 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/qj/qj.jsp @@ -0,0 +1,165 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + +管理员列表 + + +
+
+ +
+
+
+ + <%-- + 添加 --%> + +
+ + + 共${pagers.total}记录,共${pageNumber}页, + + 当前第${curPage}页 + + + 首页 + + + 上一页 + + + + + + [${pageNumber }] + + + ${pageNumber} + + + + + + 下一页 + + + + + 尾页 + + + 尾页 + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
列表
编号班级姓名开始时间结束时间状态操作
${data.id}${data.bj.name}${data.student.username}${data.startTime}${data.endTime} + 待审核 + 通过 + 不通过 + + + + + + +
+
+
+ + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/qj/qjSign.jsp b/源码/src/main/webapp/WEB-INF/jsp/qj/qjSign.jsp new file mode 100644 index 0000000..8c6f9b6 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/qj/qjSign.jsp @@ -0,0 +1,160 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + +管理员列表 + + +
+
+ +
+
+
+ + <%-- + 添加 --%> + +
+ + + + 共${pagers.total}记录,共${pageNumber}页, + + 当前第${curPage}页 + + + 首页 + + + 上一页 + + + + + + [${pageNumber }] + + + ${pageNumber} + + + + + + 下一页 + + + + + 尾页 + + + 尾页 + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
列表
编号班级姓名开始时间结束时间状态
${data.id}${data.bj.name}${data.student.username}${data.startTime}${data.endTime} + 待审核 + 通过 + 不通过 +
+
+
+ + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/qj/update.jsp b/源码/src/main/webapp/WEB-INF/jsp/qj/update.jsp new file mode 100644 index 0000000..873cffe --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/qj/update.jsp @@ -0,0 +1,155 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ +
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +

0/200

+
+
+ + + + + +
+
+ +
+
+
+
+
+ + + + + + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/qj/view.jsp b/源码/src/main/webapp/WEB-INF/jsp/qj/view.jsp new file mode 100644 index 0000000..66f9be2 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/qj/view.jsp @@ -0,0 +1,174 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +

0/200

+
+
+ +
+ +
+ +

0/200

+
+
+
+ +
+ + +
+
+ + +
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/record/fdyRecord.jsp b/源码/src/main/webapp/WEB-INF/jsp/record/fdyRecord.jsp new file mode 100644 index 0000000..46df19f --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/record/fdyRecord.jsp @@ -0,0 +1,162 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + +管理员列表 + + +
+ <%--
+ +
+ + +
+
--%> +
+
+ <%-- + + 添加 --%> + +
+ + + + 共${pagers.total}记录,共${pageNumber}页, + + 当前第${curPage}页 + + + 首页 + + + 上一页 + + + + + + [${pageNumber }] + + + ${pageNumber} + + + + + + 下一页 + + + + + 尾页 + + + 尾页 + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
列表
编号姓名班级教师ip签到时间签到名称状态
${data.id}${data.student.username}${data.sign.bj.name}${data.sign.teacher.username}${data.ip}${data.sign.name} + 缺勤 + 已签到 + 已请假 +
+
+
+ + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/record/mysign.jsp b/源码/src/main/webapp/WEB-INF/jsp/record/mysign.jsp new file mode 100644 index 0000000..0a81fa0 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/record/mysign.jsp @@ -0,0 +1,186 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + +管理员列表 + + +
+ <%--
+ +
+ + +
+
--%> +
+
+ <%-- + + 添加 --%> + +
+ + + 共${pagers.total}记录,共${pageNumber}页, + + 当前第${curPage}页 + + + 首页 + + + 上一页 + + + + + + [${pageNumber }] + + + ${pageNumber} + + + + + + 下一页 + + + + + 尾页 + + + 尾页 + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
列表
编号姓名签到名称状态操作
${data.id}${data.student.username}${data.sign.name} + 缺勤 + 已签到 + 已请假 + + + + 签到 + + 查看签到明细 + +
+
+
+ + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/record/record.jsp b/源码/src/main/webapp/WEB-INF/jsp/record/record.jsp new file mode 100644 index 0000000..b84b26f --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/record/record.jsp @@ -0,0 +1,168 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + +管理员列表 + + +
+ <%--
+ +
+ + +
+
--%> +
+
+ <%-- + + 添加 --%> + +
+ + + + 共${pagers.total}记录,共${pageNumber}页, + + 当前第${curPage}页 + + + 首页 + + + 上一页 + + + + + + [${pageNumber }] + + + ${pageNumber} + + + + + + 下一页 + + + + + 尾页 + + + 尾页 + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
列表
编号姓名班级教师ip签到时间签到名称状态操作
${data.id}${data.student.username}${data.sign.bj.name}${data.sign.teacher.username}${data.ip}${data.sign.name} + 缺勤 + 已签到 + 已请假 + + + + 设置为已请假 + + +
+
+
+ + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/record/view.jsp b/源码/src/main/webapp/WEB-INF/jsp/record/view.jsp new file mode 100644 index 0000000..367f62f --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/record/view.jsp @@ -0,0 +1,109 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + +管理员列表 + + +
+ <%--
+ +
+ + +
+
--%> +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
列表
编号姓名班级教师ip签到时间签到名称状态
${obj.id}${obj.student.username}${obj.sign.bj.name}${obj.sign.teacher.username}${obj.ip}${obj.sign.name} + 缺勤 + 已签到 + 已请假 +
+
+
+ + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/sign/add.jsp b/源码/src/main/webapp/WEB-INF/jsp/sign/add.jsp new file mode 100644 index 0000000..12e6b9a --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/sign/add.jsp @@ -0,0 +1,110 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+ +
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/sign/fdySign.jsp b/源码/src/main/webapp/WEB-INF/jsp/sign/fdySign.jsp new file mode 100644 index 0000000..1e2c1be --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/sign/fdySign.jsp @@ -0,0 +1,156 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + +管理员列表 + + +
+
+ +
+ + +
+
+
+
+ <%-- + + 添加 + --%> +
+ + + + 共${pagers.total}记录,共${pageNumber}页, + + 当前第${curPage}页 + + + 首页 + + + 上一页 + + + + + + [${pageNumber }] + + + ${pageNumber} + + + + + + 下一页 + + + + + 尾页 + + + 尾页 + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
列表
编号班级名称操作
${data.id}${data.bj.name}${data.name} + + + 查看签到记录 +
+
+
+ + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/sign/mybj.jsp b/源码/src/main/webapp/WEB-INF/jsp/sign/mybj.jsp new file mode 100644 index 0000000..6f40d32 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/sign/mybj.jsp @@ -0,0 +1,111 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + +管理员列表 + + +
+
+ +
+
+
+ + <%-- + 添加 --%> + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
列表
编号班级教师操作
${data.id}${data.bj.name}${data.teacher.username} + +
+
+
+ + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/sign/mybj2.jsp b/源码/src/main/webapp/WEB-INF/jsp/sign/mybj2.jsp new file mode 100644 index 0000000..3667b46 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/sign/mybj2.jsp @@ -0,0 +1,112 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + +管理员列表 + + +
+
+ +
+
+
+ + <%-- + 添加 --%> + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
列表
编号班级教师操作
${data.id}${data.bj.name}${data.teacher.username} + + 查看请假 +
+
+
+ + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/sign/sign.jsp b/源码/src/main/webapp/WEB-INF/jsp/sign/sign.jsp new file mode 100644 index 0000000..a3a80f3 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/sign/sign.jsp @@ -0,0 +1,177 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + +管理员列表 + + +
+
+ +
+ + +
+
+
+
+ + + 添加 + +
+ + + + 共${pagers.total}记录,共${pageNumber}页, + + 当前第${curPage}页 + + + 首页 + + + 上一页 + + + + + + [${pageNumber }] + + + ${pageNumber} + + + + + + 下一页 + + + + + 尾页 + + + 尾页 + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
列表
编号班级名称状态操作
${data.id}${data.bj.name}${data.name} + 进行中 + 已结束 + 已上报 + + + + + + + 结束签到 + + + 上报 + + + + + + + 上报 + + + 查看签到记录 + +
+
+
+ + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/sign/update.jsp b/源码/src/main/webapp/WEB-INF/jsp/sign/update.jsp new file mode 100644 index 0000000..4c9ded5 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/sign/update.jsp @@ -0,0 +1,110 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+ +
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/student/add.jsp b/源码/src/main/webapp/WEB-INF/jsp/student/add.jsp new file mode 100644 index 0000000..08ea0d6 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/student/add.jsp @@ -0,0 +1,129 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/student/pass.jsp b/源码/src/main/webapp/WEB-INF/jsp/student/pass.jsp new file mode 100644 index 0000000..ee9892e --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/student/pass.jsp @@ -0,0 +1,164 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ + + + + +
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/student/student.jsp b/源码/src/main/webapp/WEB-INF/jsp/student/student.jsp new file mode 100644 index 0000000..f4179b4 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/student/student.jsp @@ -0,0 +1,150 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + +管理员列表 + + +
+
+
+ + +
+
+
+
+ + + 添加 + +
+ + + 共${pagers.total}记录,共${pageNumber}页, + + 当前第${curPage}页 + + + 首页 + + + 上一页 + + + + + + [${pageNumber }] + + + ${pageNumber} + + + + + + 下一页 + + + + + 尾页 + + + 尾页 + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
列表
编号学号姓名班级操作
${data.id}${data.code}${data.username}${data.bj.name} + +
+
+
+ + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/student/update.jsp b/源码/src/main/webapp/WEB-INF/jsp/student/update.jsp new file mode 100644 index 0000000..4319ad3 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/student/update.jsp @@ -0,0 +1,133 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/teacher/add.jsp b/源码/src/main/webapp/WEB-INF/jsp/teacher/add.jsp new file mode 100644 index 0000000..4ae48f3 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/teacher/add.jsp @@ -0,0 +1,163 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+
+
+
+ +
+
+
+
+ + + + +
+
+
+
+
+
+ + + + +
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/teacher/pass.jsp b/源码/src/main/webapp/WEB-INF/jsp/teacher/pass.jsp new file mode 100644 index 0000000..ab6e359 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/teacher/pass.jsp @@ -0,0 +1,164 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ + + + + +
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/teacher/teacher.jsp b/源码/src/main/webapp/WEB-INF/jsp/teacher/teacher.jsp new file mode 100644 index 0000000..4fab955 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/teacher/teacher.jsp @@ -0,0 +1,150 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + +管理员列表 + + +
+
+
+ + +
+
+
+
+ + + 添加 + +
+ + + 共${pagers.total}记录,共${pageNumber}页, + + 当前第${curPage}页 + + + 首页 + + + 上一页 + + + + + + [${pageNumber }] + + + ${pageNumber} + + + + + + 下一页 + + + + + 尾页 + + + 尾页 + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
列表
编号工号姓名课程操作
${data.id}${data.code}${data.username}${data.kc} + +
+
+
+ + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/jsp/teacher/update.jsp b/源码/src/main/webapp/WEB-INF/jsp/teacher/update.jsp new file mode 100644 index 0000000..123f7e8 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/jsp/teacher/update.jsp @@ -0,0 +1,165 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+
+
+
+ +
+
+
+
+ + + + +
+
+
+
+
+
+ + + + +
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + diff --git a/源码/src/main/webapp/WEB-INF/lib/commons-codec-1.9.jar b/源码/src/main/webapp/WEB-INF/lib/commons-codec-1.9.jar new file mode 100644 index 0000000000000000000000000000000000000000..ef35f1c50d7c41278bc31f4b9fcfc8fbd708d55d GIT binary patch literal 263965 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 literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/lib/httpclient-4.2.5.jar b/源码/src/main/webapp/WEB-INF/lib/httpclient-4.2.5.jar new file mode 100644 index 0000000000000000000000000000000000000000..5310588ef28621d9dc30d809ae6e928f74fdf529 GIT binary patch literal 433368 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�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

pw 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

7@)TTnH#Yy+lT&t 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 z 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%0A+!7p$u-qCPx_l3UjoqyGmW=XD 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

Zbbe=&Js&#rw*)2%kMAMMPdt(Q^5 z^`QA(rop&Wn#~MtiTvBFzE4X+uxMWt$A@{P%^QGd6 z4)Me~n=bxkajjhE(K;fWYJY=LK-g3^uGM%)zh$}{nV76kcJ3L9y82d{0^5B$H1DqA zslde8Dg6j@FjX0eUQQaqx1g}PF5%{6{Gm%G|0e9!aj7LJ^}`xPf9S*>0b^%;o{+gPXhXH>`Joa!)m z=g%~%+1%2#d;5aVULp^6U0J%tq5B3>k;+T}LU(}|I5EmDl2Z6mgnRZYnh{kLX-@0? z@qM{g=^rOg#l+W`mAzl#PIC7;r0CV7)$sV$i_25Kn@*4)v%JaCsDwMams%r*1+s8T zu?p`{hDN+XEi8@hL*=Pn;ghs=EQpHL+Xz$}w(G>=wn4YqI1!uTMDBCbV7Js+tOHJ* zAg2@0KND{WOLWH$&G+p(l2;p`=n%UXNV?U3T8}DR534xv(;@G0B+l5Qy#}#Mgsc~@ zS%E02fFK=GXp({(AIC!u@1&wO&ZtRCFChY$5Ni|erlTKcKOk+>^CSMcZ`!7-myF;k zdy%|s8rw-IKbldmznS0ILb-!D*iGx764W9Xp z20h`<6SyL6#V@8)@%ieC!6dUzgWXe?L$W(tq{@OaCb36^_0_xc> z;Qe1a54eAB9f^7vn>x5y+S~nm55hL?s~nIVDD>yp*fzFs00_LfRs?RL)-L*>Y_3v4 zk`(;ZD_P}azKQOWzz>a&XmPFE?>s05O^k&;)a~C*e)sR;QLLPEgGaT`>zdt{bLJ)&8 zq6;c4UW+Jwyk{XI;TD=C3G~n*_1!HG+*_oa`~?aOq*TRY9Q*;JI5k4@{R6eFP&Iz0 zB#!1JrvroVXIm;-`2;`l&=OE6!)`2>HqyQr$Lz?qM;+1N`osKsk5LEXKVTL*vt%LJ_&yY`=n~LbJ;k{DsJc;0 z^jE(WPfpqwKXJ7N*piufe#1(N6AxgXFj0PS!U8l@ULilZaB`dQ4r~cExrMD-@4b$e z*e;5ip)$_Q&CiB_e=*1>vNq9}psa|mU$;6(r;e`p0!(wqU1ZHG)+ex+^$GUciL0&K zaUEJFX+W#Zoj&Tn#>P}2RT~WI204a?q6)7tR?p1*nsNVxpxIL3Ueopexz_|#8UV3( zGN-q4wzs2KaI$wWb#n3i4-=HiS2+|#R9#3a;faqeFcgvbpKS9`(Q57x?gEQ)MHRL} zz1|0%%P?nQKcV^elB3AV#H3^9_+0Y8K%>xqgQGwB4*O-fUcotJ~X?J!_dbO&wg*P4;WK#WC9PR$}vwl5i5pdnu9GFb6PD zj!Hv?kJyVkBS>)27G|W%R2|xz9NA^uBQ9`ztpet4)8yt!Bx(47p$rX^N-IgO(7^bM zUMM+B4oU|K2Eh@EVK6S5r|~INQ%S8%$wtL$$;`&k1#gy#4uEA9wTdGiv`p=2y9-Vb zI%cft19{2b8!>BaA%L<_qCv;>!KGJ}KhwY$b%U8JYvjt+7BdgHfrV z+VnkHycUOyEd5d1A%|G%iw>Cda|bc!)&fFdi?w_l@G+n)<80`6 zkp%&a-3|c?kX}w;6$_MRjvkUij*BPFoiq&qd%leOnS_sMM%a1`kDH*V+|icWK$)$n_$bPJ)AM&&#i9n z(qPhXQ=IoT9G@nT__Lzj(F7&8$Efi>_QG!@fIg|V+0LUaO=j>pTDTHWJ_B&NCK{dJ z;==44gnU`PD9IS)3mbQTEI=TrK1NK9R^`}1S83T4SA=s4YU(Iov67vlyRM@(z~Cr0 zu-fqvwl~qgtzg-u8B*J8CSCZ@7Qa5X_QNbMQ+`m}xPslKB|nQG@Da;8(YLfI5&nw} zmJ2XQu~-R~PEE3~nkD;6Th$xxa**Rh{?GyUquQxB#r|OUImfTO*y^R#=a5Tv25Kw( z$OQ@p?IXnc=SSy!)l0k!zhJ!Ar=nW|a^it{K=`v#4y`clwn0X@OF z?)*Ai=tsVfei1OpCo~aSEc0i%Hp7B$8wL z-b<=1fm*JdbX@wS#t}+Hb3wx&@8GsdP7wm^BT?X$B9fo~C2C4rB6XV$e6_XzrTy^k zJt_z)2ow|)2$D^qNWK62i(i$uUtD{rAVB8%f0(SOiXg3|oEW{Vpq!+bsIm&3tk~Q5 zuK@8kiZd`ofO4a6p8^>iae+&7Z|(#g81dhe^sddgjiAQ z@n-~nRFJ@%`Bl^U+lqjz(7zz0Ep7j27k<}}#r%6P@Cu#$xADJR5Oi`f{LixGPcMEK zRr)1s@waJl{ekk2_P;-Iei#1uCBgK!#ftxi^S2<=p8&rrZ~Sv^nPqB#Syz^@GNZ#ymeZTv4s{>by4uQc*$7fwDXF IHNSrPe|J|32LJ#7 literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/lib/ojdbc6.jar b/源码/src/main/webapp/WEB-INF/lib/ojdbc6.jar new file mode 100644 index 0000000000000000000000000000000000000000..d20359ea41f802bada6ca226754948adeddbc673 GIT binary patch literal 2152137 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

04W-tBS&ZY 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�~F^O)d-ySMgD)K2ZI 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�rH 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 z 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

;3bt3PvBo})+h|a4 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 z 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¨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�Zqhy>+&`R>&H!I%tngK$g2!C~`p#-Nh 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%0D!^FVLz7n<;a|zwY@M5Q+Aia-+ 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

ww4ZWXw4Et*X5+Ijwxzx4vdD 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±U$&~T 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�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

#hcnL1x`-OS~TY+P}_S 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¨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

SwHaFvbsdCSCG6m*?&R%8tg${W}%g()T< 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%0Aq`RCzhfnBzQ(OCFVw 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 z z;2yRrHR@_XR}BLI-uE6}%CHEI+dNNco+TR4X>g>>Lo-H`TU3_8IaIR& zRx?p_7kVyTv_Rnvq^w>jYrH^aKW-+0OdvN4K6S+hs&ehPn4Z;>5D0EKCf#s6 z1xv|8b;=UA$V!n}gA72aTuWoBl_rVKNv85SGk|(;=zW6 zCO%_HjBHsH^O|z8vviP0BB}*}{IO2d=^S}2o7B`)KBS>g{rDx#))8NA*;hrJFQ5EG zqJC5ToHE{S$|~+ry9h8y9hjXvI(K1=+%9<08lLu&Tu4>=2FeEY5`K!?9k2^OvhA;> z(~9L(WS!EFf=GkE$R!_aA=r|;P1Vp7f_8ddVk&|USQp>M$vK^tk*0#X>jl*yd1GSH zS|!@7p)~?qb|a+Xj_v7)wG6}38I^=P%%MHxtb7)hedhoACuq|vDrdB$Ol(MNL>85T zR=*C6;X=@1j^7o_f;*ZLKv_ z`|_8g`JcK3TgXNnxHYUHTV$cUcX=ZNYbS%O#VcE@_NcXgzsq>Yn*Q+Vy~7_bnXHU*3L?D2&^tnXo=}?WrB?fB z4awezc?JA`B2h$!Y2OU@Ltu4K!SDJnQR|*R{>Oyoht#EO%YWSMKi;VS;cowb8<+p( zL$xtBbTYU7FL!&Cs-+SV0Nn=`4J}1@K<36D$O1-!;qNk3DGRZD9YUAD^gTEfEtR>yrB3ITq89*hFx`d5uQTtYi=z#7)p4v*<{6R+f>s84+hjN) zr#Pxpm=c`%PtjNnnpzQ8f}?48GRZ8`CT-KrYPhmBwRX&(9U}@fB};cA8|3-uG*`#y zlUeOjz|LhjKN(ez?CRk`dVhzyTh|r{CwgszhhI02@Y0@`1Gn~m4d6mpgB(bMG(KWjH77HT~nZ?b%NLd(T$BGk|;T-;~1BG=GtbojMxa@i=z_DYhguvpsp&LlsxLKw5KpDNqi zByXk|9hv&Y4$ReCZ7?2t3yJ;C_u>5pBKn;kKjWR9$j%E58mYmd#Q^mPeF4fw#p3|+ z3LaMJugYD;Kn}lN32>iMg$Rwtq(#9=V;qzr(STurX;Yh9c#4maS}u)Y<*7)8D5ke_ z{ZD8^C0eA!$QXwa)j#yb-$z=q%J>+YM>N^h9x^5=c(a^3&T!>$A^xzHsmUzXo-JG= z#0BT;Zs27qWY5am?wn$-S^XVsm+tTSN!%Hg@g~#pBBMs$k^LsL^b@rX4&9t=8)cSVO-hfTK$S?n0=vc zp=BW2o-%(!ws20;i2}D%;1?v=obsX)>VKb)RJTq{?(@gW1U|_+mBt~QHLh+)f1C9 zzpPZm*dbUmM*wvD)J2y|+K*+X4c?>ioLZLX6apXdfl8Z)^E?YNMOB87-#|$f=F=XC zONX*7@W6`D`T^AKs&9(k?XPNt&`WuX*WG7RQ^wvuNrfVH>793j`axGGms@PHr0G5G z#8+U9PE?fnhke7u0{C5*5dWqVyJ1B0HQ!`JA#=_7Foh+~l%n|G=(eI!L*ypLgNn>7 z7_v+O+5<;GMqzAVNdrxzb#9jRK1RC@d?`~bNe+`x{7fD|zii-7{7PSswE@^{|C89X zPw^+*y6;}zr{vl9@T5=4Ob+hY!#98xa+<33SKh9Hri!fL9RO(L;HX1^Vr0SBn#0$A zMao$F$%C~$yk@Scd*IQwIfVyD>;J@h{HM5Yv?zsDfc*8#67h!`{(l$uKlAe9oVxK6u{T+5#)?5+&15+3tMe4~+|58mRU zIA68I^CdN-W~r%yGxNd(N^`ujYI?-wcyl6)DTa&p*nR=W*+wbmo@K2|S5S}vmkoB) zv*+9U^T!m5=bQa@m}mG)b|e8d(=P%?El5T%2;^ZM=URTh!tv;P_N=|XsDG^ z?UtXQFbZ^OD95g_R&VZKDP&@7bV0@5+R$rwyRyGokS<|K6Nd*8uwD=;P_2T!NkF23 z_DS*ps8-Ql8UVw_1%*~3*X6ZgDfvu{21ojyg>}I%a z`AahSR`IUOJvg3jA5NhEa{Ij|=EZXLwV4&Z{NLOgNk>lrSl_g=Wo{MK57mte3u}F2 z88IB#x^Fld#+k;F3+7+5bDxPnRm=MJ;^G=QF|u*Wd3(vS)l!@qvAPsJfOea|mU-}f z0K`;^7}W*~_Y{WAKX047MvcnzT!g>IY7KQAK?4s{6@3`J{1F6n`}IYS>WpLGyhR%FiB&W0Fy zS?09u^%m-t6l0IxXzV6@IBbY1q;V8Gkr2%7YP208#-2CG0U^6gH323jrbd?=k*ynk zBMErbAm4d7%5ah#tTL-rC}WX0u9z5G2t?S_-{U?8m9PD$ARY;sE`34MMx z;BT-8v$@&u8fG_5j;VfAFwbi4o{g8-fX?N@jrJwlIWEleJ}-<4f|qdRono)K|+m;ik@4|aqWsw}+p7iHXAcCf-`&EESi7R_|pRJ!8L z-(bAmpELa3Vog8luf|%arAgw@aSZdKev>~K%THn&j3Ll4=!aS_=G+&AA|@O~Df@(`( zf>KcLaH{FW2Bzd9NfA9zgnBhoH8CeQ5>D44MIilhxPE@9iyR$oXep!Qs;B zB4b}}0g4rjv;JZMIlVRDPeutk2~CuY`{$w*^dt4N8yiQ}K^L}fNSosZE0(jkS`wKu zPtFy-`*jOGhHdPJL<{a&RinSSOKqvYtTc^}IF>H5z6Np46v!H_$8L zDtv-IFg0smp?HFhk&$<(y^}4^bl5Ry)}WTOcpxi^)|J$f{V4^jUny3-Ws{e)DA+&B z#bomIpx3*|+5P*k22vkGOXOWOSi}4;z%#dSQ#PE@MZO5-6dFi{HQ zSi=Q-xGcr9{$}?>u;6;8mp-!32hQwMjLI*EGbGC1S8EQ_d%m?eLua3LEX-qdgN0Ez z@Ub#_t)A1dzHhc~sBOb-DN#3G9k)9Db6Ge&v~1r1F?td^T%~*)PK}avjdw4p}=IOAj}yvXOYBZf7}bIBzbTQRNN3`(elr zY4Q4n=Ze+QXHTq-yWtvQ9lS=O@P7Ksw9prg_bn7okcOaYw1na0M6DoiC9@tW1|b^K zcE}q{AHhpPoQ zJOR1~aBir+gAvfWLym4xzWttVxH-F^^?M|g{S(U3J+p$Hk`uRV zGx88TazziAQ+cjtyxziO>6MMMhlL5!xEe+p;w3j60#NeIV4B42}nh)mAFk&k=hwp2d(tG?SUhylFB0X zH|K*V0O*IxHgqpkRP89A->G$2WYoH7HPh?ewZqkJDcbj)%YyTmt=X)K%*EC-y+Q?Y z6zjn5C*37w0r9-X$XL!3xQQ8-ca9a#7r2RxuB3)}HXFcfOvP0k&c<-qKiJ1Bk>mpQ zwv9?EB=#alpro_ywp6UV&(xVbF6w88i8`h$-7}4DxTme?vAHoe?s9ck^sMF&*_W8! zi7G=05y+DElw$cJ%|H#(L>8&FK#l3d)f&mY#sCbK=d+K`?{f!Kbnm}Z&&=K3D)e&} zYG>4Djej_o^l1TlBrN&i%X`p}dN5f54P_`w)j3Xa$QQz>6_L$j4+aCfEg4Zkazy?s{|ydHBx!PnZ{bc8Syt zA;}FS;1!E`62+HdyEyBG%{z|j&7pdq>J$VsPqIC{{1lTjp}NSTJv#XGPnq_W_BnA2 zlS(*a)&#erDH@uWf1Bu2b;*1TyCp;xxC!Z1=HwuYyJ@6mdw@O~tI^@H>7jDkB$66~ z(i?8@$=A&MeDut~E5?~hT8O`;1SHj#u6Um-TFeRXG4PsHIw+GR&d~%%u=+!(y&97l zD%R=naAaCg?10?*pYFx5w3EkpOb8%w5P^)wI3xKXdN z=aey{R%bF}8nupPS|mzMm9$AXfI<$As3sjlRjW^FK=Ka?967CpNDC&Z8@DVUjW0S(wgKK4Bi-OQ~ zZrJuv+XHU4b6ElN6crshKEi;GI&$Mi&5OZ=;dy@Ai6NKH6~ zZw*8mfiviZ2fBnHSX=6LZ$)3P`@6-6qft4iCQYPELG|w z!6<`&>V0nS1qP}qM^e7OJDw!DXKn9E_5nPKd71-29z}kBZnF+)F7dB8WFr~Vn~?`2 z?vyMsVp}WiZVSy>SR}8{R%4d*E%j?G&zn4DHb;33RAc;f^t0)KArS6ceHO^(K#*b| zCQ9tvn;iJ4;SolHtR#x0iHW_>dgbY`Qyg`5cLKv7kT*rsND{+ZvqTdxN7W+vbe>6< zA<7Y2HPR#M=f|8#h|NXlQ7mhYiP0PxEGQQv&}4rR$*~_S?rK7G`&^ns)A;k0^a-fT z1Iv}1bPmHk>c19M>qCfwRx=w=>p$ihY}4u3q#9-DXsx+M3wr;8&ehr)jZ`avipo+r z^nh(D&6F!b-tkCxDNN|q>nF$K6*8rjXa-*M2g>OHI+cf0!hRf9HM#1!Lt2~b)N zWKj^jgoY4(gYyu6`0GKX;rFe%`x`IO;UhQN%e3Wg*b|h0av>g;@7G!@h1(cy)o${9My;GPrIWN30t-q97Y`LJ!;w4>NNYOD1V?UoNGn1_acC? z5|+O}=%~)kIKN_L#-K0ncLvx_^5+J1j4@eitYF1l20ERbL`p91i%LH!HF#D;EU1ha zPZ-;>1}TzHrJj(<+Om_hfhA1EUFEB%HyvNP6KILy^yAQ5s*{$I#WNVdI zlgl&W@b2i!dl9LS*UB}|n`{^>IPkFHPMbv>%`v(IX7IvWS{qZ&&t;{|5kcqy6wYvFv&fr{Aley1|iaI$T$?wXvpGBH~H}D-$ zTJ`co6Chrwgl81#zCV*eH$#Vx;%Su8ttxSu2WXDjR%7$pv@3jdBffn6+Yp@P+^Y`u zuL;KAH2e_f!5K?K9GH6@b5NzRQ>49D0Bc8(QKrUi_^EZ_c2&w{+ukyd^hL=|e|&i7 zX!n`Jtp-&iU~%vWo4YiY#9t^{3a%wt9A8Y^Y*sKf-Al2)*ozITMmuIoY~ zE`SRu*+QPsf&VE)SBQ%yZ)G=5w7QohCa}Zu#;E_x4rV))iW*dl^jTpjQIx{^~YBj0!-@;xedm>ojZC8>!v#Q0N~7w_r$rb2{f)HY!2ae0-j%) z>qwa&SopU-_@9UPv2zHn!!72lkd2P*ybvVV28XjcoP8CIOOFFTV zYLqT~M$e#6r>yI{rNIkK%MSE|u0hv{i>J9w%b8_53Z^-IUN_rou~% zXW5M32Zh(17+({i?fvA`8%)5UwWB0Bds@@t6lSz=sg}zb)H9Q3!-pu>ZyJPC+(%Yd zSAJXue9hZjNl_;{FTi>`3ylzNKsrI3IlX+*s@%iY&)-6nDmOzLpvBunc{<5Pv3+6wIBN84yb* z=m_SH&s^kbh>Hon;5I(Qyt&WJZGg&akLpwRH)|i;1_9*~Nd+7J#6HC>GCQFl<9dT3 zgE%)O-3CSXVzVb)_WOp?#Y1)P&J&RLwxr^;xKpS-h&RZH^8lhTl;AX~v`UaIn&K7= zf8g>u_6_vkdtAVe+EM_~cdq>dk+}L%T>ghkM)IdSsjH-{s3N5Nzc;xJM5bE!Oj(7{G?2@NVejlM>6Ym4=HQsm#pTclF$#vNELY)8d}I`YVIw+gyWq9XwG zEPj2_ZM)&`Q84VDgg|C%L6Q{5*QXBOp8KrN_ni=5pwkf?1iAwmUTl=PFhdwOsJW>| zOw^xk>8}C;&@lU}^)&tTm_4s_s2doBYz8tzkU0VY_K6o0kO?TU2s6>q00i$$*v$d4 zZr6mnoPF5>412)y%egmi=25^Tjqgt+GW`sEqS)l7vD5@DyMr&gms)mnVq^8Vf_922 z$5OJXie^*tQsm^W95v;Hq&Ohbiu_D1Jr2hRK16O1iGc%ECW?_cI`u!mRi=_t_oWc# z05TRVoIJ71#)$dff39Oq%%&BBZ~6PF)1lVTeuzgoE(YaU&5fCc8UZAR9|#mIi;V?o z!@FseXvHUJVVtWhBfGc^Oq2u3fhMI&uSM=lk`(ux3WIY}<}4#3*1s`=2e3A{nY30Y z+4h_#!zQ^w8);@$E!a57i2n;YPEBe?HmnX{X zL0csl%#W)YIg4+_(@FCk6*$t;c^Kk3M~g_Dh(<$d13}GzP)RaFX!Rk2e<=yVqM@e) zU}C7A{0FiQ1d~Cqq64{;Nwfw@AX4muK9cNE@FZVCsXo;DS-c4MIC+z9FnCQ*wVXYL z0al*lPQ#O(ab-qndDc9l!T0Ie3N$v%{k2`)T7^peXsrZ$Qd)60D0tO-#ep?#N{2UW ztt5MzxLej#iLA(2geJhLRCAl)N$q6=~~Nyf!+ZZX$_X{pfNi=ulc2(YHQ`tdIXH|$RDhIHR z7*;QITPb=EziLw$4#jxj(U`3&C5vz^jivr4jk4Y<+zg1veO3FfC8$j>NCq@-U-A{- zE(Gds)(4Dr41T5s;`Knvu2vt473p4&UDWj{-A~vYat>51;ng-7yeE{|$L}g(&#}*6 znuOUda=&HBHh5y%#BDn~K{d7Um-a$Km{=Zp1n^`#dyHdFpnd50YR8E69mBSbNq^OC^r1{ zr)zXAbO9zazvG#@8h%7&zg5=5CZQNhxGN0r?ED?0m<4UC*4GL^cTTyAT%=$ z`ERQQcE9Mf_H|yTrV2W3?{lGzmP+12^~%EU?)2)+WLBMt_sr`|@273koU`-Kn4MPe zT;Lv;T#S&*muO&P_QPJ_m+DY35pLz7=8&SN&_!I7+tl3yMNh%O1VY#dH_5?;pS+dZ z%2S-Ubp?c(Fm}>?cZ89ljj+3g1$pe$VJKLmoBYNsYCdo1a2&d|+j`)Nn{eQjgC$Dl zy+oWH$67C$!Do>Ve(KNJXgrG2O za&_GCyD;u&qYx=)`VAKCfojTyyR5Zf70K-+TeHH0I093c!5r8aKe}V)Na$2V3VMW-i4ybWQ`@PlaK~T9Fg^vd-1L~M-VK`@5 ze$lO4V`*=bQu7gm7Ir%9$ePj(s;t?oh0!KCJ8$ebV68frWi>$>XV!2If@pPayPJT$ zG^F32W)&p{EToVH2YY@#owrEDAJU@BQ&5Qjz?~S{{t=8TCCo-)=LF~3d6nBiHLDr6 z07(fXq|MU>ZCp}Gi_}oclpKnYfs)9TA%?u_5swhuJcuP_2AtMqn2rk`HMF*Wx`nr_ zC>r^`7>(yRVuDzv=EhiUonnV#W#^G#;#AEOS63@_E}`xCDvfhxBeY>_WifqG_&lV2 z%pbg(+Jej;JHM&HSvjI8s`z{fBXZ_CVcM)|5e!@YDN4@0h9{Y(v^SNPOMBfgp;tW2 z7@X|5a0VC@-@p_i1<<2UjFr|kLK|>v} zH$5tdwrpZaju6%$An-$_Fd}3SttJz+2e`nY(99Yco3dwbfWrDR7KAi)r?wrNaI;M` zE5`Nng0esbG#x~Suh^>&abyA*0@P86%v2acpeV0;vnWMHK0s_sSHrX^T_Reg)~}K^ zebHQenqIL&)RRpoc+BV#vjbhPshHaYf(Z#cAzDOO?pk5KWYPN=4Hrvs)&Gfeo|cArQ+GOIphF--1oJkoA^>TtxK zj5???Og7{=ZZb^Ph#qk~$mi&SNWeM-(o>I-NPczOKkO1mW{2P+xt5m9qM@3UBg@S< zh8@2+p2#THGGfII^t&{b{sY@~SRa6lHz`Nl$rV#S$C2o%Nok^QSvQrRPv}r9McKTZ ztWNEr_s6A7c{-O8zzNv}z{&R05M1KO8X~EZlDu3(Hvc0P5zbUf)4RmfT5L4i#4+H! z+&AG6HK93!e9SWx_zUh<>7Tyx0m9;*0`oqD4-wxq2yb82H*w2@zRg%k>r(ddvRm+& zZ?cqo;DkeBnQt@)S1_;}?#`e+c0Yth>TxLA>KoyaL}zfy3u9NLdS^e_fyxg`BAJ_R z#3y>1b{bvk72Cq1?XQRJh5M={R*`;m9kh5!}wnf)pluv8Z$)hBW%0t8e zTuM9Ch_j+-TOFd(KsI~e?S6osPq@x7Bv-e_{;TDS$MikI)nCYDP4mv~9vSW$Y7bmB zqU;qd#Xp$Q`Snr7V8`~Kr`)PhicJ=<73#|OJtkAwHmhb8Ehq(+d$Rk}d5_QNTed$3 z#@03Z*7Ym!5nL;RZy=KIe&1IE#+gB)F;N$E2+mIJ;0At-745cbD%seg+k`ti?J~2m zA7^zG;y3l@c#dfcOc@s@>cRCba zZwTYGd?`CgFsaOp*Uw1mBwtp|b&TAvl~|BWs8)RPR@F*PU?73T_3*+bi1C&>^B&>o z>mZ=PFk)hIMu~j=NiPr5Q6*9eh}w2km_dp#6a~e6M436{GkYNO8q^>QUEc*`z_W(~ z86@veBq6;%SBccU&B$;R{VLo$|JNER89V&&|Nm>H5_RPkU@_igvE4Y&fz;XhT_x9go~e9t7d_!WnzbaE^0p zL(8P|em-(s_jI0J^YQuqUhR*LhGcbCbF1D93Z{YCfL`L^dst|JHXisGl;;R-)k|&p zl<&lQ&_=-Hu;DMnyvZAQhfbecvrWtL{`0vti$qq27Zetpa*`aVud2ZqW3+uj2hB7% zsrtt)C4rulnw!KSh&oHPgydore`uY=43En+8iied#-gMS?`a!3OkEgS2E%^*w#+1r zQG)2tK&x_p=TnXL8cdU`YBaHCzu z$*9%CQN%R&XT`^FGJVXDM7tTN;flPL0)fjgAzfO*tz)4L*9}5mq}yU>MIn^*U;s;J z@Ng~mP&67i6$ebE1l>Tt$T-|p-HjRhqko#dxluyl=iIcbGz2!s2Yz@^<9w)bo>{Im zmTZOSMYlMciimAP;qvL&DaXPG>{Ap7&BiGH-k$;Di@{`0~#oE*^~lK%P?EB*gz6#TCjM%m2# zzee=BJU#VLmTtc%*BUz5o^9g0*w$jD5W#K51?77!v3^5H#Oevg5)1N^5U}y%6Ei@d zdZDm*uWIO4smT9Ez_PYhspO|p+;}TpU$67dYk?&>iL=h46@1rdn80G@FH*^x0Wx? zNIiX(_x|))J!4}_0w1V8nqbemv1!%%Z?366H1|3q+HKhzs*<+5hoZqdM~9w2;N_kf zYBtM^Qc&8he(H?2#-IdEj<%`6jR5(OCQ=)ie#T}!8k+;uW~R=71f0xG^ZjZ3?I1qz ze#lFR{VlhcFh1zr7$CPF11xrLPO4i@*mK6qFTvb=r?JiX@be;Ywdh!_`Q`PsrP+07 zn;#$pX%rD~AAa@`3CSQs2t}wKV^MoyU>^T0Ml#bZxBLjdNB$Ay8E(1K=nW=?Yu;HO zC)yvafmYQ$Vz?D|_R!cuyD%|u_rP)k-rE;Rl<}K(wex=cY>xY5nXGB{1;cE%7zO4$9e3x} zkn#!)V-n~SU+K}O#A(ymgC$i}no{ILqNxxTa1dLW`TCuOm<) zd!>f)&#R6~njokS9p$(sy6n^L$GSz0aF$%)SwCcrvSQ~f)e^1NVbXM2)%gL{lO&WS znwu2eAQ zP8~5HeX#G=b#Cp$vFMs&vf^)Jol!{IY^#eG#dI4Su0atkhO3*;isznd&PGGcC=v z*=jYjFXEm=Ycng0Yl~tCCIZ2rUlFa0(w16X$^NNk37tB_fZ;Owxe>%`LP^9rYARjT zX_q!(i;B?D5!V~H@xr{$*by370$vcNs-Z@ojMfOHQ)e_R<1(q@&2(UYrcSAG1>P7_4JC-e2{#FC+I2_YP_KHM(e@ZL~XeD_mkbS zp?U$~X}%!y$~a0}HwDd!;80lZl$Tz|_#f zqWM6h`eN(0-1kJq?fq7Bga4lCf4&8V;xl?d`xx~v*!=viFOT7vyFr42+hayDH-bGt zfP$Sv?+dw!3lavEBkS2zu@8&DxeBb_*TQa|GZ$5 ziUVs&ZD2zXB!@K)OcaewdEJ*84m^ws)iN{7dbAV2*ii~!WOjZ_5Md(@@`%f!;17kl6 zFtI4i!bZ%}TxDr{YF2K}^_yy{%f!*L(_Cn2T!406er<7yKY3m-RXTZ+Y)*Kj$H@Wd z=(d3#Ll{Y|q?`(A;`5?tIMCYhniT4_t*TP%mI=yyh2#7)QA*ur+ptVypt5<}Fc z6kbwPXzgtY7!l1$_Dc>7E%7J6=<35T=p%rV-lx1UJ2i@yAX{~2ZmK@lsA5H9My4Q^ z@3h(DZ0TlV*eP|HIXBZ-TAtgSUB|Pu5^3XfXJLJ$(-orj1U5)q43@C7aTGHJm=6q> zCq-nWFSke8Q*779A#Vhh1O6Yb&M~;Ns9EfkSkP@MIG6Y0?FpfFKRN-((c5VumaR}7pl?7X2V|Qk*3Qgzqj2sOiZ_~t& zXh*^lGz1?cf^S(X=V|H<3}T#GRXq#0><+o&y;LT-R2=3uaj!48B{{e}3>TZFL+kDY zU(#Vi7E!$8U`K{w zqe??kV_A*x-v*n)I4Vd$KZbs%I6Ih%!XQa0Y8!RSdhfpUD>qi#J3 zdctotyxl?eV)(t8_GG+Yl?T$^ZjXX{&j+(0_4fufkb5S=I-&fg!+Pakargmp0~#N< zZIFH&VRb|RJc6FoTNi$BzC9f8SMhKr(`W+$$Er7v0_t9QKYm#PG|_&msUHesBufe|QtR_roRq9w2@X&D;BN<<#G%mtj}dPDl1@C3o^Mk>XRZ= z+{lWiGNe`=?kq-(A+zZ5C*5)P{H<2;``t;~aF0_*Rbp&0E2-0}#2r%xRTpkKBvqG< zyrwl}<;>1C?Ltv`LDxaNQ^G_4;JW#-kM(tmGBN!M)b+Oy3?`ird0TI0eAKfWJ#h7Q z>5=t+Pj^17_SW4?&$Vv{BiSH1T3tSWf6rL^UBI}}s(o%2LQ#AT`e7JvvZnX%#s3bb z(xNV_1FY29y1SLF31Wn$DjMY>;I}Jmzs>K(!XCT8HAEEbw^kDVWkB1M1PpHJrLiY4e^}JaA7E4>im^J(7hc?%YQTC`iKZ8F*fKd^EZ3~f24=+zX22b(^+7U_B4hgn^2fP_tTclcC(r}1o>UL zFs=P1?^5C=RZO$IzPR-RTQmNS;Ki+a=I@)rr$>xtUw)~JW0>1;>~6%< zG6hcY0DtklUoWKwl^1%LFqxhww5>9pW>4L5p_%S_IE2>5s}xnA2x}l9CM4;{Nh#kV z&#S-IoSk{s9P??`4!Zzdf#aS1g%odJ0RyM7$TJQhD$7CR4^@tmQBrhf7ECHpWR?x_ z=uP#MZ-$Z;P3AWNi^Mol17IH~#1xtME~+l9Pg3Rt=}99j5G1%7#q}4LJY6VDgP>-vKV7YC~JTT1%Ed^;LfIkFwMpkyln`dA{(PJ zTN|6H9tBJ+1B8d^$JmHFVa@i5d)eQ&uM`YuME z2*vJ>@KOTGet71$g2hsfPOWUvGWK3bv%7mQMgL@Tt zMKM>V<4UtlsMgrUkt8G5g{D}HMB8M-j?`@v_@d@WMM${LnK&cQ*J2^12VZ3=g^2P}l}Pgw4jX}OfW%e>xP<@+V_>e*BW+<> zdalYT78fC9*o)w}e?8g2A`ppuuo8$-AmsC}G>ZmSy3`{Rv9OyRAdB>NZE^-f!ytt99A?2$G9D-4WK=X;GC2eO-BGlCIB>=-I!|Ir0Q7y+>3b@av?n? zm0*;yq8IG&c#F}8AzR#uF$IOO6-Pd9z4}CEYUklh$cjb~_{?XKp%aZkY4BM$@5}es z3quim%7-hi5yut&FN&a0mA*a|La4I9kOd+%g`y-$SX=<};XW2)=(B+sCxMwE*;Kz% zKJDF-oLde6dso~}fQUODZvV}^r8$fIuq`J_+s}VQJlxVF^>q$g01{rAw`t6F6^1h0 zdo^PbB2wCavmWR>bg(cyd-#|#Nr8{e7Q0{2v+?OU&BymHhaf7jCWb2J~lmbLoL4*5K?c^aOm*)%FLiySxUt()bo$^@*(Wy;eM<;xB#qk2VV!)je1Ky0RCxu!oZK zlE7T|8d&5<1)>sD6c=rrLZkWa=HtW>p@Y_S3M@kLpFI zm?H|#Gpb$ZyR==nS5K#8hqkA7hsth|0F~o{A)M|VXJ7r(*0J-eV71bZwiQQt(=dHs zeh`T#Mt06P8s!BWW!Ptg_0FG3<&s%?IB0}-0A>i^IAYbh8c~2{S#g^lpJ_QtA_i_> zV}$(9y688r*(M=AM-N3VyB%6Di|0_&h}|8;0n?qtLEFCA0oxtL0o`5W9Z(GQmCccl zgAfDWKay*q!0%DRF@47ZZVvc^x;o}FKkZX5!}&XJcU*l26Ce1jh&f;Ji^KIKiWNOp zH)RG`oS`U@htksExOqn?mbg9!@)YF~)NaI(=5M;meN~>#A=(~CPARDAl)hv@aAWm1 z!o;N{Lv*Mi1zE_Y)qjI`$BXqwMlgOIXFlCaknJWXS$PdRZpvCNt5P`?i zw7|f%5pM#LY|c-J1Ql7`)su8nrmPO7)gR>dX$i@`)V(x{lj8n~r(b^XwRHSgdD8Vf z75nGG3(>{l=kf^`UZa9*Fdr4QDFOH=WsS1FNpi3MMmWb)@djQ>_PAO0qRcf)Ekl)r|ncUeuqidd=N(4@j|V= zvGezI*aL2fTG!&}EIQDpfste$!m#Im{qE|Telc!0s__UzgYG_2e?6V9=$$iQ+CqVejV8|?1?#q5D(RhT2Rq%Zp9$Xu~Vy6aBT%5QXp{U%H_whJ?{ zVkVE#;@c#0e#G6Mb#j)dREJ?*ukh6H0ZW{`)+Mlgovt36dbPsJOF+w566Pjuk_5YY zERm{ZKR2f=x#Vv&3MJ_XMFnkV=BJ^6&8kRjO4W*mZBNcWhNelPps->vw|+5MH{c#`b4PA7071se2<#@QNN6BK)nXbvzhJI*p}{cez_mN z2JYGV>bBjLh_}dPz)2gUD_WygZ19n+iN&vJ7qRYkDG25*q zT^7h#SVRt;g(3K3)x4cP)jI1CJrq&mOHs_Dd_!?N?9`?sUI!jG zWOCm=h~ZNZbahVFQDD{x^V^wzM}YGEt;c|(*wRg?)|JEKJ&aNJ11Z^3fE?i)RNdl5 zsOs7Oe2xSVu8)f^mK^X0wj;U!y%&Tj^X@c6v17_ zztIk&oHF>{HTTV4MZWP@YySs^m|F2}kmX4Hk?EX^F_%-v@aG>Gy3j&op3X zSDy5&N4{JikjI%h#}z0}AS^d!i)$FpcXY|f&{Ka`biAYL%`HX+JTnk2H)T;NX%)N< zEM`gZYiETC@g2vk*zw%+`*b6k(qGU+9zAEN-C1Y96ljYU`SOw)@j{tkaxmG#Vxu20 zCez2$L_uvs`MP^!$UhL=9gq&=tKj`hKf~nrAS_eA1?pQ~4AY;1#5Thig+9WMH@=k@ z@dBG#1|4EuL9LpN70Z0U<&X_yQ2)`B=}^PH=EC;5Vg+^ zb>5ZB0Q!#4xDA+67g6aGz|DrQzy(QM$)h9&6YYrr>neSig|r0X;UrH+o`8XCugr-K zxt7GPn?p_!;(KjlpX{!NgIUF(WVYo&S4?Z|XB^<~4!^OpM19EnMWe4fYPZL;-gGm2 zQuH_X;FPC1ODBU6L~?R=4G!(OWW%HKaFA!bDpIY|h(XmZ;6W#MZo@D%noQ}69WzN` zlimf#L{vn+o+muArgfvxOiw2Kk-s>zyDl!ofMCUJbR8N3j|O)32G@B_&``7t0G4G5 z98e`Cuilx?OJBowzaYFA-{OYDdg3dB%ag}_K4l{Qc{}T%%|9b zgO1LnByliN-sH!SUGztXrW^wPx!ZZ)wdbQI?XXls)B)2*!_{d{d?O4xm#bm1=Ley0 z8oo?R8M5^`efe51$bK@{4|MUNMTV0C-EqMCA@N4kopV(Ay3(N|`_}nf89{T)@G|zF zW>??kM!&PNajQ|nlS<2(eB{3LxxCt-=|WXS^A^(>zV_$Aqx|f{yHY2X+40FOoPb-Z zo-M+oAftf939_5&&x{rikkbNOgCIh1wm;skQS3^>yH@9}4uy;M)UJ%DapvEI&dkE! zLjyJ=M(2;j6UaHO9ShG;+|xR-Ij7D4^*C#~+)2o%ce>L=%TtDP2k6!ZSKre9zSI`4 z%Og2>kL@?S2nn7ezze`0t*5XlTVgiYNSnMmH_|zAi$B|l)th&6t|2+om5<8A9*v32 zu+ZMw3{mI{VI?~ZiU-S|6owq5ilJq4`aG_#$<>x$jpW+n_Od5 zNfnI9hA|&+GU%xeE@_0GNrNfSTNX^yflZq%aR}j!J8pv6h3~-iGy&ly)ab+SK+a9B z+I4FL%T24f#qc2NB4G%8IU>7F=z@(Mn`9#Gl@8mLVTS{ch~P}>f~n4nuFvmcB)x^mCh4BbiHxFdf90RVNQAxwDP8or5aGTe-o z9nyPCU5~6B;d@J54=WrE4#dYrqQ13|o?F<>fmDDp6# z?!l1K{E&0*XZMNsyH$IL*~fb$tBx-AKkjWC)Otv+6TXoZ#$Se7nj#*OO-F`w)NvLhM@qJhmrKW|$3*pR$PTy=sONVhF1xr z7JT8*M^P_)-;z84DaZqXaMFw&!%90Bed9dIPM`B?j2&1LJrVglX{831FnDI{v4_kH zm!nfxKV{jCbPU)vg!F^KkG00%B~YFQc})CxLVjkVT0uMLWNhm+xU*gyE5e{W5wQ zR!}Ry0V4Cpac0_V$X7=>{MpbcIUAKY@KE&bt5=e<3x8*&>X!I7>2-9sC-DpuU>s4d zu3o-lx<`i4dv?@qH}k@DxX=@3839oRzE|_eD>V!Ah+BH{>vjtw+}Tqc>5GR?W4n2pzVYUc1-Zqwh&I$9h0=lu_HDk^I$s&|f7?-wIvlBSE2$BxmaP~x1Kgu~We zy9U6?$nM6J7wRg*Do~7ZeLbL>61zR1r=<19lyBgb?c6{!#13cq`iJDBT%49S5(y(& zy?bI6u~IUCGpGWn7C_Q67`E}~em9{h07wMcTu18D?I95hYQHy|MtP8__JDbx_-2m>d>JtHARpQG{4 zbE4P&aM#S3b=x$06e60}dv$DdGzJ(D!vvPcBHyn;`Q7PA-D4^{3Nm8(3UxFZo&Kvx z5;TTIw2?{11k*fHXJQnmX_&M~RF*|rY>HE6iv2hO`M^fWR5gOzxPWuE9GxZxd(MUy zJ!b^jF`+@$hIs}>18Z{FMO?>*J#)xbyy-QdL44D=8U+FC$|%pVzmzjRq`QQ)T)@rdSmWD-9OjWbvNL#bzNLvf>0k&=H9iDBEV~x70P8}Ub zPgQJ?hLA5qa>YS@C-wdJHH4v+*5MM8d4@ZAACfyeDzuhF#W^FVkpn)oDJ=QZowoW| zqbf2tv|8~#qe+zUt!at2@P424b56fiZa9e#6&*}g|eV^8Ft+?Eyp4<(gkb(n^s4T8Drlg@dYXyBzZJ zULIw5{?W>Xn_2wR&M-v+O6(VZyG@w!5uaU5gg%EL_!DmiV_x8gXo)?$118; zh5?3%8>s_0_ic9=J=QNEd#sy2iDUxyuMmT-sPPe;bTeGlfE0*jrk+LW;UWia{D7sf zeq^908ld?ZS}-a`alBASC2wQQzQ&=GmVn`NdPHEY=S2wv(;Tzwg$vfs_E!1zkQNv2 z>1G%3l*)_4-OLHmnA(?>}~&g7*90Es82eIQD%571yL~NA%?QUyV{}F-b=#CluX!6`x=-*?Qdp zUh*kp;nhbJ$*YRZ$qF4bEFHF#s!}JlOlvW&v;~(sS(~Vg-B-woW7t6jNq2*E58RYY z4YdrrhldVam)}(;>?QW?arxXCrjIC!T($2ZqY$Bd!Z&rw z*y4Ymvj>lK+Wsi%A5jt*BB6+9`2x3eh5uGpGuBb5+7eV^5?gHW6llqWIsoSPB%MI#;gxg;mr{2ZfF7MdUB@o zjyAY#^7#T|nk3fQOFEw2r6tx-sPJqR3Z0|n$2EDP<{e#K;o`iQOHeLVr77;s-=0Z% za^`t?V&=VtHUEs4I>0{B9{tNZvvzH9sV)v7!YXIjeYvsmvFXXJ@RR;kGO zfR-&Bj2bQclSu8@EvRoeCwLB$-Hax9;;3%Arne18L$%lkq_8Q@WSuz24LGAWCJ&X9 zllHPr924;r>6ubw*s0QNl3OB|}H<5Z6BTsb~Ojnf=dlG+n^L*JfV zCWwBgh_F+I*%W@6Zw$VGReY;8bE+zR$52BfQ)jfQi3ueti_wRxYB(mZs^OAZ{;Z5- za5TPR<;hs(%<2g$YPlAtN=|8Ub;snxpA}ueDz{WxwWwqn$`>(jSeb2kqJmv=A5>47 zul@rjudnxmdtlVk8JrWS^Mk9Bl06AM8;ytv+F<<9PZ|co_q|U!6yPrCXQJfbVop7c z=*tiHMx1G-d*U~3_j47VMni5IuUkO%%@MEcRTx*jQ6UP8s?aN=I(LDt^dB!avw1+` zMzly!TTB|WV&qBf^hn?CL8* z3PteX9KbxjgFK+(C2Wp5L4rEq{$rZ|ji9=S;CB3*nJd0V0fCmK6vB?xm!N$o8~-(< zgYY)p!*`d;$$S^#m;sm}X-KC9jQisIe?X}Iqj>FwSlj>jQB!XGOd0-f#jD-_Q@o}m z>)J0cqK3wet|!B-f=A!f-DM1D8hG3HiLu3Vs|lC8U8(K=%_-Y8ab&*VXy1jnEkYb^ z7$*#iLZX_u7`^d`!;^Tsd)RRMwHo|_Z{u~FD#W91ifM`Z)xLuFf=TO5*&*qaL3!2B z1D@-6E6Q_YGLRpncT#KCqAGtxR2i$1)k=z7g60Cb;-xMN>L!e@O*F9>X_>t$OK)r4z z13$ZO`6IIek%1y+BG&RE4R}7xm^`79ulWf2yk&&lSDX$s%#~u>z<-kPk-oT+<65@; zEV||_mRDM!Hr?b=M-!tj>C@O^yEzqzWDcnL{WUYE9Xa(2;OV+~H#X7mo9Ab|z9Gt- zSvE2{DvlW)79FAzcg$k&(WpMrgeXodA7Q^wo>7xud!)=l-+{M#2^wqR_96ePdE*!C zai7i?Zx9M&+yQ#*R8!0lNihfoj!A$!Iuw^!r98@?P*pmlM%gjwaV{C&6G$$FF=`!) z_^2VLi1^9k4>aLgh<{M**v7E$Hp$1`AUkBn_!L-~R`X|CtzAhFw66Y+Nv<3)MMFxPcJGV6T^(MOO}y!4r%cA@75CHk>-HKr%&w5g-`N zy#P2Djs{pP@(~Sh%oepth?odt29lU=0XdqNAABUjD)b#4Y`48b!f%GOz$+s$7l&qU zJkTp%kgj5W7O(?{5c9NroQmSX^0bBB68m-L<+43IeZOUfpL6*dCv)lCCUOdp|Csx9 zc5D?pH+J_#xmbUf^T1~mkNGCg*Wgt}5+@<=7tx=YKN5&V8ecd!IJT!MTKX?6FxE+k z#x4&bNgCqPdBdr#umojay%zj=OZ{h@Wk2con-i~AT!-%Bm}|`6REP%Rrq8H;muBP1 zos08!LZTb?7(VU2f9-(2XOEYOB|Xk2)0w}OLV_6Sa-;iiU3=?3)&fiju7akM6OF)-us+yn0Cs`)2#y?+Mxi2j$h|GzT# zKQdra8#{MLgWgW9 zrC59HfxIfxzd)IX`Ru8^fAUE+but6qJ}x+ZRrk03dflxekoGNyE?+@0r&y2tg@p32 z8ZGC~umd&MU~MM94t%qbnsoefv6bY7GXMNfaa*cX#x|3wDXgd7C%G15OLi*90AuTx zJT64T0s#SW3>im!%!`sGL0gA4f`YNOlO;|`b1Xp9Va0`+dWe!GEwB zuCsrtCwhMET)8utGXCKiV zEJF^UdEX7z_y-t`Q?8nodmD%0qsy(&Y{>};=B$Go#~P=yZcwI8H~Oo4M9155VicHs zP0*@>I)A=!GD5TMIuU?(E5f+klc&9~yw1T*#hm_fLg60UjP@Pc474+~6KP{{%je1H z{I@m5cdB>HuPX5H%QM~sl5dJP5Z@GEB#uQPpCY5|-@+8jsn#*qBku#SXMzV*_Y|&h z9b;YLO8Uwi&Q#VZ-LdT>`~&?v(*w#Q{)5UR{{zdT(=p?_zm|wZI>Ma9l+q)U6YOW; z8=1CwY!S+olyl@8XpY%Te$$WjI_?9_Bi4iUBhGQ#soT`e96`E3p#T%kDX$Zd&x}o> z0E>P;Lk1l{mBe0pbNzlV;y2Nb`GbHEz+oqLLk3_E(B=OV29APUMCQ!w zV**7_iYBAhmoA=!q%Au%rt$y_Ifq=NIeN(hdsN^$d=`IS5gn(A_~HZ}Mfs$L&Jip? zfyx#orMLi~_GBVjQ~pgAE>k{bh5i(wnr#{m^zRG*BW+LUz#YH>D#%)S&oZn{nxEVR znJw2iOXNTw@Bj%&YR;}pp8XT7G!F(!|9I=dUA>3l@jA@?jnNxSoQB*kdy@7bp2Bg) z7*t15AJB&uyixuj*Ok#{_QSG_NxY>i_M{204Q`(wtRtRBPtmU#^yZJ~>tzF7L2OU$ za{;ZTZ~zIwfwG}+KncJDwIg?c3HS|lN$P+TpbKh8;Q$f91GOo(YX{s3wJDOH(${UW z>_gp~N9*ZNjG%n~<8@tnN&<>sa_YwmVDjX@-cvw)N&fn2yRn;%@7Z+;jSHh91a6wux_B zCt4HB-BiD7mGzDoX=rMw>gp;w&BF@?3J)b}f3qu7<((Ir<+%dd^WM#2RXy<>!^~$r z(sT=w(>lw?A>@z<2<{i$Ci-YVdSl;PP0N+Hcf?{k+*fMaCS<%QgGT-GJ^)K}CDI

xAC53?dQ_-hh9YZ=4Qo`KHwfMf-j-*-D>ffeqO4+446UQv+0=Jy zn8s_Eu4(L_8#4Kw@w2Vl%u&LkIG^|_3uth8b+3n`H)p9-*>XXN4 zj9hwIeNr&w&?YYjFfC3f!Tq>aS1XRtOTSvqLap6U*OV|NzvS!Jwwo<^O{|*ddbbjK zJjh935MsFO9uIea;QGCSn{NJl^XcvJn@N$r0Af;gpRfDl2nF7WqQu2PluRqblLikt1?PRCe zit0uQ&nt-E;V4iEt zEa!2m&y?jL-Nk&}vNBJa*_~3^DX)*IrbK)nWlKC{5xI;upV7UVSxOX!Z0_Bh3X$)c zW_TB+k{hx#J&)B51!@#OZqxe}4OP6_X85QA`Bf@ir!BSa6sZRR-<$4_9;}jPd}NV~ zr?Rduv)QT?DKBPqy$)}Y%z176s+{{4c>{wrx0m!Z+0Qy=kI6c>cZhFhbxXYKd02N( zcQf_4wjDKU@0F!Es!s2ui5-=<59)8hBLe1l36lxMGT`?Mi9de~RcEa7l9cV+*CD+XrGRnT#mT9gB+0%t)b5ndKicCpamX$DP|hSH zk~BK4*eg>@A3UURlJX^I@u5T5xcuY_m5pI)YVKX?QrB=bPVl9gY!3dwK&uM{hdEch zeQ+)&(&aP;o*pwX)2FUswpJ=l|820Phl{k~c~+YlrxS)sJtc`NFVex89#>1-PsZYz z8!t={%fm*I};r=gj;3f)U`I{g4Ciy`+7Z|O>1?wvCTbOsk>bcWxjpsBP` z?ExuK6;f*fXKYUk8ub0d(*i~Sq=Pg4ox9UuWyj%LS2rm1ak^kd5l0a6kg1R7iRj!*L;pQS5x<+^`wch?Tg<8Csoa2$Il1eDgwPKk=xkR}!v zJ(V*Ad;ym|4fIaFe9)=)63R%cB?1HordyQnBvh^IRa^Jk1~A-4Lj*>bnTOI^5o|kY zkn?D2B!_G*m}LTI_P@w60l+lh0G_wgyUSGwj#R@nXY z_L!Hppa6-;9+5dWsIH+_Yyia<7sw?2`(I;>mn`4YV)wAZ`#iWWn4Ku}TYWhAORu2M zsUG%Me$|PdLCRS|#>6=0_Ao@f$Um?RbT%|WyNzf|4;U+}fsX!IOrF>g!YoC=u(^`X z8)M)(tMEisO-PU<5}1L;*Q-(CXo13YM&aG!Lx#Tj)TAO~z*1^@R=0CQhXsL{LkNt) zBM7YS{#oD%_n<*Io1=uiHMVg24TbN)cQPbwRi)L{d5s33G1M-1yg0lOm-UGC92N2W zgty!QFG!GhEsbg8=^B(_Hnl`u0|uu!kaApRR;Vfo8iRs_cIFGj5ZrbJoLzV*aTWnOyUqh$>K`lX~Z+)LBtHuM$y*(k9**t zm%X>pF(keQ=P(6)K3l-p9-5OekjP;qFSzAZWOoe{7d6}*%!TqJx({r^Y%Q~>J}?+4 zG!!aQVY(nxfG_Af3Z|d|VSqAl5G1Z3q3o_8Fa#2&Y<_fKzp94_C2MjYBWPFjfsC!I z?_9+%cqVuF8_V!NjYgbv6RJq#xRb`gr$Hn~(Pu@lOo@TCvxr4Q79!C|#&dgTw01)i zU@%tdm`2%{3I>5hC$r|aL-I)WlA4-6Jc1FG|+IP>|+S~ zL2yht*y`LRrpiG+ag{j>i1seOr|=p%OtTRUtnR#ptp>bK%{rw2ZZ1Q>7i zA9PAJj!MC?<&U!ao&jH8r!rJEfvEfLNa^ZXSF3izZ)Ig7Q7k5LFdS|8G`U?To*P@0 z{>_%BC0A@RZn9R7AN7ySRt%-_{AxsF`$T8ZTCyhv-)Eq(($Z8B=qRnN^)!UbU@qJc z8ay}aDgxXdu~IJecR=lJ)^tsYvPcZ6KkNpcb!(kT9H zu*}`=XZ~NSbt?=wEjA@rSyHE{`P41T*S6@Fqm6etne&z7Y)?x?|L_I_K%01gu#C|B z{t;l0ZwXtjnA9t>KFXZi@b)mBvRsxO{#7V5B2a6}_dGJ1l2`U^gEsQ8&XX?5wRl+X z-hRZUy|8kQy4siESj|7L*8SUP=Sc@wvi)vK(tx(c*SruOPu?(%FI@OrPNcG})$aZN z{EaR7(4DubBL8A@E!4pWbQCL@M7}cGxQowq1-G-&(^0qV-C=_t>b@|?g-t&0Y^t7m zL>7k)#VdDhMzGhpe_t#?(?RTaeeLs*=IzjM0_H`!(%?b=T+x2NCEA_A(P8Ui!rkte zqiz3$yTeeiyMrfA|DvUBKl}Rl!G^_#vV>e5#OQSNTBn1DE{<)M>A^&eyER@$j@LXB}3kNWwFM@wSXu3RfyUN+zo&$s)`5>3rB(oUHNCr>9E zgN*R&+N}|&+v%+9)?0U+tJPRF3D9+hORW_4HeamgZsXKNp4u&&&W*%-TZw->ZvBy_ zGDa5aAZs=toxqqIkYw@F`0z79D&s*7c^ZvXh$}{QoH{Xger-|uL3h?0!*zqNPgg$; zB*2L4-4$kUg|0Wmh`k*~FW5m_Yt+rqtL@c(C!?=d=PMp&Z<8*7K6+=1z6a;vr8%n2 z2(ayX_rd7vR|eqwNB>1QLSTjAhj|d^JRq=6|3wfjuuT8OIg)3A;fH+SwW`v4-&2|*E z1L;vW{}R;2Ywy}H1WUPiQRg45bWk|5A^6-CumTcz^OdVy;(UMsVYT=j8>TiW`l2v` zCU8bQtfvs(p$OkRE(Am$6eFtopo8Y*R}?NkqE|r}G+j?OqQNDOcH|Iwe6YG7P8&Cj z(~#v>L%!lB`1`ZFI+_)ogD(Vob{vPUBd$CHaqUzg zriM~>Rd{=2%@jE#y4Ig;xmab=Y*SN0IhI4svzT4FWa;TlGs(vJ0WNiUlJd^JP9F@+ zjT)OYYM6>hBh`$Y3dQAhv$3}MEW(vUsw6SuVrZEW?52t%hnsk-r&3Rn1j)_G39G2nrbGam zP*+<`9uT78%eF4r{|GisX@XL%03$_`w==X>6n{rgH-ZrhKuXRs4dI4v8IJ#l2-RYm z#SBgMM9I-qG)AnNDr`jZL^_q4d@cQsr}sKBQChuhTvF&yO+%Bqr-gxBr{8^DNxSAgUbqhv%oHgiMonXnA_iT8pcnkFU~JCfJf% zg+iBt@FT9Pa*=0RhN+b~`=#sult`*^&Pl^kDEZE`-6BE#R#&tN{nY~@6_To@y#@>( z5=FUbAdZt*sQ!l}IAL`iyvcTd2(w|S$_kG;oe7-hnz2PR?~mp?pcasNDx+>evPj5> zo=Y~sZMjINTUi)d6V{!oXYnRe6$vj{)s}c&pry;OyXpnbANBtx> zRf=xx4_}JCKKx6izTeY|%(0%r8H$Hb?P!8y@zm_4(Iqxl*O{tdB>hA|Z z+Mb~7w9C$!`Ap8wc&nQ4Y@!US6qa+!bV6pLVW-om-5+|Uz;YxDZ*a9 zBBtoip&FBt2c9UIWESBDKJ7>Rj3UAK#PA+a9?=rizLyHxwe1n>p2gyZ?79`s%7%{O z+P|#GArWfW<`5t=L6M~DT%_L`H_x>}$$eua9jK$PlMaHtxXyjV0Z;LeID}ZO!jP>( z+?(NgeXgfa90fd%1n?IK{lDBX@%Bdzpm_uIW|9~oa>XGIJv1R1`n27lSQ@{L-r)Ru~-9$1}pYtI)lO0xl6=W z+=i!1MOWag{^k0?)w4?nS1x6}xa5sB+}0$uJy8>W?uF6(pssA6{_|D8wL9F^2pzLB zhn$*Y{?<^6M)2GL`IECt*xX_E2VPgSS@Z8719?|`Gmbmv)}T0}w)+ShiaLX~J1iTF zyg|E@hc!HJpw29UY1fCA>Xf{3{Ns~GiC3{prR_2Nlj%#So)o_EIzz8lxl5{^D8A_% zli9nE)dzsqGq_(u_xO&9{hixdCjjLc|2w;Tw%3&4mSA<%o8Utfbk$Fc_(Q(9{zgpU zx$1QKIRY3REr=5X!igx};)d$_BxK)EkM#N0=#KV=L2nOa=)ybSJuWR0!9&x# z9|6_t4N>aWFmWbKhM!-U`Aw24A}&$+jgu-!A=UE%y25`p@%@fVIej)I^p@HZH;)2u z;zTBeml$sbL)z(eZr-~`v+_u$80D4u47NvyJBxruw=XV@{)j>n=QUz}31D(Y?i=Y0 zqffWhKbvs9cOrvu=Q3XeAU-qo&3GiUPxRfpDDm+QntDZR9O4+)>k*sTqq{fot>*GG`Jaw~B-`G#^Y-XqZyAV4NCke8;v&oHKcpLX

eUFnBS=O9P?*Agt6|N) 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%0A=%StoZ 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/g-(+W}ZB97!Uayt)K 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

KFnN!S#by@IN5eL#p#OwMX*}_`Cl=@$M76 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 Znu2_DK-<{ilC5R7fMQuxTD+uE{U3Dpij@EW literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/lib/ueditor-1.1.2.jar b/源码/src/main/webapp/WEB-INF/lib/ueditor-1.1.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..4819fe011f588977914d7e4b0794dc7609d9bc16 GIT binary patch literal 30725 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 OY literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/tlds/c.tld b/源码/src/main/webapp/WEB-INF/tlds/c.tld new file mode 100644 index 0000000..8c447f5 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/tlds/c.tld @@ -0,0 +1,572 @@ + + + + + JSTL 1.1 core library + JSTL core + 1.1 + c + http://java.sun.com/jsp/jstl/core + + + + Provides core validation features for JSTL tags. + + + org.apache.taglibs.standard.tlv.JstlCoreTLV + + + + + + Catches any Throwable that occurs in its body and optionally + exposes it. + + catch + org.apache.taglibs.standard.tag.common.core.CatchTag + JSP + + +Name of the exported scoped variable for the +exception thrown from a nested action. The type of the +scoped variable is the type of the exception thrown. + + var + false + false + + + + + + Simple conditional tag that establishes a context for + mutually exclusive conditional operations, marked by + <when> and <otherwise> + + choose + org.apache.taglibs.standard.tag.common.core.ChooseTag + JSP + + + + + Simple conditional tag, which evalutes its body if the + supplied condition is true and optionally exposes a Boolean + scripting variable representing the evaluation of this condition + + if + org.apache.taglibs.standard.tag.rt.core.IfTag + JSP + + +The test condition that determines whether or +not the body content should be processed. + + test + true + true + boolean + + + +Name of the exported scoped variable for the +resulting value of the test condition. The type +of the scoped variable is Boolean. + + var + false + false + + + +Scope for var. + + scope + false + false + + + + + + Retrieves an absolute or relative URL and exposes its contents + to either the page, a String in 'var', or a Reader in 'varReader'. + + import + org.apache.taglibs.standard.tag.rt.core.ImportTag + org.apache.taglibs.standard.tei.ImportTEI + JSP + + +The URL of the resource to import. + + url + true + true + + + +Name of the exported scoped variable for the +resource's content. The type of the scoped +variable is String. + + var + false + false + + + +Scope for var. + + scope + false + false + + + +Name of the exported scoped variable for the +resource's content. The type of the scoped +variable is Reader. + + varReader + false + false + + + +Name of the context when accessing a relative +URL resource that belongs to a foreign +context. + + context + false + true + + + +Character encoding of the content at the input +resource. + + charEncoding + false + true + + + + + + The basic iteration tag, accepting many different + collection types and supporting subsetting and other + functionality + + forEach + org.apache.taglibs.standard.tag.rt.core.ForEachTag + org.apache.taglibs.standard.tei.ForEachTEI + JSP + + +Collection of items to iterate over. + + items + false + true + java.lang.Object + + java.lang.Object + + + + +If items specified: +Iteration begins at the item located at the +specified index. First item of the collection has +index 0. +If items not specified: +Iteration begins with index set at the value +specified. + + begin + false + true + int + + + +If items specified: +Iteration ends at the item located at the +specified index (inclusive). +If items not specified: +Iteration ends when index reaches the value +specified. + + end + false + true + int + + + +Iteration will only process every step items of +the collection, starting with the first one. + + step + false + true + int + + + +Name of the exported scoped variable for the +current item of the iteration. This scoped +variable has nested visibility. Its type depends +on the object of the underlying collection. + + var + false + false + + + +Name of the exported scoped variable for the +status of the iteration. Object exported is of type +javax.servlet.jsp.jstl.core.LoopTagStatus. This scoped variable has nested +visibility. + + varStatus + false + false + + + + + + Iterates over tokens, separated by the supplied delimeters + + forTokens + org.apache.taglibs.standard.tag.rt.core.ForTokensTag + JSP + + +String of tokens to iterate over. + + items + true + true + java.lang.String + + java.lang.String + + + + +The set of delimiters (the characters that +separate the tokens in the string). + + delims + true + true + java.lang.String + + + +Iteration begins at the token located at the +specified index. First token has index 0. + + begin + false + true + int + + + +Iteration ends at the token located at the +specified index (inclusive). + + end + false + true + int + + + +Iteration will only process every step tokens +of the string, starting with the first one. + + step + false + true + int + + + +Name of the exported scoped variable for the +current item of the iteration. This scoped +variable has nested visibility. + + var + false + false + + + +Name of the exported scoped variable for the +status of the iteration. Object exported is of +type +javax.servlet.jsp.jstl.core.LoopTag +Status. This scoped variable has nested +visibility. + + varStatus + false + false + + + + + + Like <%= ... >, but for expressions. + + out + org.apache.taglibs.standard.tag.rt.core.OutTag + JSP + + +Expression to be evaluated. + + value + true + true + + + +Default value if the resulting value is null. + + default + false + true + + + +Determines whether characters <,>,&,'," in the +resulting string should be converted to their +corresponding character entity codes. Default value is +true. + + escapeXml + false + true + + + + + + + Subtag of <choose> that follows <when> tags + and runs only if all of the prior conditions evaluated to + 'false' + + otherwise + org.apache.taglibs.standard.tag.common.core.OtherwiseTag + JSP + + + + + Adds a parameter to a containing 'import' tag's URL. + + param + org.apache.taglibs.standard.tag.rt.core.ParamTag + JSP + + +Name of the query string parameter. + + name + true + true + + + +Value of the parameter. + + value + false + true + + + + + + Redirects to a new URL. + + redirect + org.apache.taglibs.standard.tag.rt.core.RedirectTag + JSP + + +The URL of the resource to redirect to. + + url + false + true + + + +Name of the context when redirecting to a relative URL +resource that belongs to a foreign context. + + context + false + true + + + + + + Removes a scoped variable (from a particular scope, if specified). + + remove + org.apache.taglibs.standard.tag.common.core.RemoveTag + empty + + +Name of the scoped variable to be removed. + + var + true + false + + + +Scope for var. + + scope + false + false + + + + + + Sets the result of an expression evaluation in a 'scope' + + set + org.apache.taglibs.standard.tag.rt.core.SetTag + JSP + + +Name of the exported scoped variable to hold the value +specified in the action. The type of the scoped variable is +whatever type the value expression evaluates to. + + var + false + false + + + +Expression to be evaluated. + + value + false + true + + java.lang.Object + + + + +Target object whose property will be set. Must evaluate to +a JavaBeans object with setter property property, or to a +java.util.Map object. + + target + false + true + + + +Name of the property to be set in the target object. + + property + false + true + + + +Scope for var. + + scope + false + false + + + + + + Creates a URL with optional query parameters. + + url + org.apache.taglibs.standard.tag.rt.core.UrlTag + JSP + + +Name of the exported scoped variable for the +processed url. The type of the scoped variable is +String. + + var + false + false + + + +Scope for var. + + scope + false + false + + + +URL to be processed. + + value + false + true + + + +Name of the context when specifying a relative URL +resource that belongs to a foreign context. + + context + false + true + + + + + + Subtag of <choose> that includes its body if its + condition evalutes to 'true' + + when + org.apache.taglibs.standard.tag.rt.core.WhenTag + JSP + + +The test condition that determines whether or not the +body content should be processed. + + test + true + true + boolean + + + + diff --git a/源码/src/main/webapp/WEB-INF/tlds/fmt.tld b/源码/src/main/webapp/WEB-INF/tlds/fmt.tld new file mode 100644 index 0000000..3b9a54a --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/tlds/fmt.tld @@ -0,0 +1,671 @@ + + + + + JSTL 1.1 i18n-capable formatting library + JSTL fmt + 1.1 + fmt + http://java.sun.com/jsp/jstl/fmt + + + + Provides core validation features for JSTL tags. + + + org.apache.taglibs.standard.tlv.JstlFmtTLV + + + + + + Sets the request character encoding + + requestEncoding + org.apache.taglibs.standard.tag.rt.fmt.RequestEncodingTag + empty + + +Name of character encoding to be applied when +decoding request parameters. + + value + false + true + + + + + + Stores the given locale in the locale configuration variable + + setLocale + org.apache.taglibs.standard.tag.rt.fmt.SetLocaleTag + empty + + +A String value is interpreted as the +printable representation of a locale, which +must contain a two-letter (lower-case) +language code (as defined by ISO-639), +and may contain a two-letter (upper-case) +country code (as defined by ISO-3166). +Language and country codes must be +separated by hyphen (-) or underscore +(_). + + value + true + true + + + +Vendor- or browser-specific variant. +See the java.util.Locale javadocs for +more information on variants. + + variant + false + true + + + +Scope of the locale configuration variable. + + scope + false + false + + + + + + Specifies the time zone for any time formatting or parsing actions + nested in its body + + timeZone + org.apache.taglibs.standard.tag.rt.fmt.TimeZoneTag + JSP + + +The time zone. A String value is interpreted as +a time zone ID. This may be one of the time zone +IDs supported by the Java platform (such as +"America/Los_Angeles") or a custom time zone +ID (such as "GMT-8"). See +java.util.TimeZone for more information on +supported time zone formats. + + value + true + true + + + + + + Stores the given time zone in the time zone configuration variable + + setTimeZone + org.apache.taglibs.standard.tag.rt.fmt.SetTimeZoneTag + empty + + +The time zone. A String value is interpreted as +a time zone ID. This may be one of the time zone +IDs supported by the Java platform (such as +"America/Los_Angeles") or a custom time zone +ID (such as "GMT-8"). See java.util.TimeZone for +more information on supported time zone +formats. + + value + true + true + + + +Name of the exported scoped variable which +stores the time zone of type +java.util.TimeZone. + + var + false + false + + + +Scope of var or the time zone configuration +variable. + + scope + false + false + + + + + + Loads a resource bundle to be used by its tag body + + bundle + org.apache.taglibs.standard.tag.rt.fmt.BundleTag + JSP + + +Resource bundle base name. This is the bundle's +fully-qualified resource name, which has the same +form as a fully-qualified class name, that is, it uses +"." as the package component separator and does not +have any file type (such as ".class" or ".properties") +suffix. + + basename + true + true + + + +Prefix to be prepended to the value of the message +key of any nested <fmt:message> action. + + prefix + false + true + + + + + + Loads a resource bundle and stores it in the named scoped variable or + the bundle configuration variable + + setBundle + org.apache.taglibs.standard.tag.rt.fmt.SetBundleTag + empty + + +Resource bundle base name. This is the bundle's +fully-qualified resource name, which has the same +form as a fully-qualified class name, that is, it uses +"." as the package component separator and does not +have any file type (such as ".class" or ".properties") +suffix. + + basename + true + true + + + +Name of the exported scoped variable which stores +the i18n localization context of type +javax.servlet.jsp.jstl.fmt.LocalizationC +ontext. + + var + false + false + + + +Scope of var or the localization context +configuration variable. + + scope + false + false + + + + + + Maps key to localized message and performs parametric replacement + + message + org.apache.taglibs.standard.tag.rt.fmt.MessageTag + JSP + + +Message key to be looked up. + + key + false + true + + + +Localization context in whose resource +bundle the message key is looked up. + + bundle + false + true + + + +Name of the exported scoped variable +which stores the localized message. + + var + false + false + + + +Scope of var. + + scope + false + false + + + + + + Supplies an argument for parametric replacement to a containing + <message> tag + + param + org.apache.taglibs.standard.tag.rt.fmt.ParamTag + JSP + + +Argument used for parametric replacement. + + value + false + true + + + + + + Formats a numeric value as a number, currency, or percentage + + formatNumber + org.apache.taglibs.standard.tag.rt.fmt.FormatNumberTag + JSP + + +Numeric value to be formatted. + + value + false + true + + + +Specifies whether the value is to be +formatted as number, currency, or +percentage. + + type + false + true + + + +Custom formatting pattern. + + pattern + false + true + + + +ISO 4217 currency code. Applied only +when formatting currencies (i.e. if type is +equal to "currency"); ignored otherwise. + + currencyCode + false + true + + + +Currency symbol. Applied only when +formatting currencies (i.e. if type is equal +to "currency"); ignored otherwise. + + currencySymbol + false + true + + + +Specifies whether the formatted output +will contain any grouping separators. + + groupingUsed + false + true + + + +Maximum number of digits in the integer +portion of the formatted output. + + maxIntegerDigits + false + true + + + +Minimum number of digits in the integer +portion of the formatted output. + + minIntegerDigits + false + true + + + +Maximum number of digits in the +fractional portion of the formatted output. + + maxFractionDigits + false + true + + + +Minimum number of digits in the +fractional portion of the formatted output. + + minFractionDigits + false + true + + + +Name of the exported scoped variable +which stores the formatted result as a +String. + + var + false + false + + + +Scope of var. + + scope + false + false + + + + + + Parses the string representation of a number, currency, or percentage + + parseNumber + org.apache.taglibs.standard.tag.rt.fmt.ParseNumberTag + JSP + + +String to be parsed. + + value + false + true + + + +Specifies whether the string in the value +attribute should be parsed as a number, +currency, or percentage. + + type + false + true + + + +Custom formatting pattern that determines +how the string in the value attribute is to be +parsed. + + pattern + false + true + + + +Locale whose default formatting pattern (for +numbers, currencies, or percentages, +respectively) is to be used during the parse +operation, or to which the pattern specified +via the pattern attribute (if present) is +applied. + + parseLocale + false + true + + + +Specifies whether just the integer portion of +the given value should be parsed. + + integerOnly + false + true + + + +Name of the exported scoped variable which +stores the parsed result (of type +java.lang.Number). + + var + false + false + + + +Scope of var. + + scope + false + false + + + + + + Formats a date and/or time using the supplied styles and pattern + + formatDate + org.apache.taglibs.standard.tag.rt.fmt.FormatDateTag + empty + + +Date and/or time to be formatted. + + value + true + true + + + +Specifies whether the time, the date, or both +the time and date components of the given +date are to be formatted. + + type + false + true + + + +Predefined formatting style for dates. Follows +the semantics defined in class +java.text.DateFormat. Applied only +when formatting a date or both a date and +time (i.e. if type is missing or is equal to +"date" or "both"); ignored otherwise. + + dateStyle + false + true + + + +Predefined formatting style for times. Follows +the semantics defined in class +java.text.DateFormat. Applied only +when formatting a time or both a date and +time (i.e. if type is equal to "time" or "both"); +ignored otherwise. + + timeStyle + false + true + + + +Custom formatting style for dates and times. + + pattern + false + true + + + +Time zone in which to represent the formatted +time. + + timeZone + false + true + + + +Name of the exported scoped variable which +stores the formatted result as a String. + + var + false + false + + + +Scope of var. + + scope + false + false + + + + + + Parses the string representation of a date and/or time + + parseDate + org.apache.taglibs.standard.tag.rt.fmt.ParseDateTag + JSP + + +Date string to be parsed. + + value + false + true + + + +Specifies whether the date string in the +value attribute is supposed to contain a +time, a date, or both. + + type + false + true + + + +Predefined formatting style for days +which determines how the date +component of the date string is to be +parsed. Applied only when formatting a +date or both a date and time (i.e. if type +is missing or is equal to "date" or "both"); +ignored otherwise. + + dateStyle + false + true + + + +Predefined formatting styles for times +which determines how the time +component in the date string is to be +parsed. Applied only when formatting a +time or both a date and time (i.e. if type +is equal to "time" or "both"); ignored +otherwise. + + timeStyle + false + true + + + +Custom formatting pattern which +determines how the date string is to be +parsed. + + pattern + false + true + + + +Time zone in which to interpret any time +information in the date string. + + timeZone + false + true + + + +Locale whose predefined formatting styles +for dates and times are to be used during +the parse operation, or to which the +pattern specified via the pattern +attribute (if present) is applied. + + parseLocale + false + true + + + +Name of the exported scoped variable in +which the parsing result (of type +java.util.Date) is stored. + + var + false + false + + + +Scope of var. + + scope + false + false + + + + diff --git a/源码/src/main/webapp/WEB-INF/tlds/fn.tld b/源码/src/main/webapp/WEB-INF/tlds/fn.tld new file mode 100644 index 0000000..12d4ca8 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/tlds/fn.tld @@ -0,0 +1,207 @@ + + + + + JSTL 1.1 functions library + JSTL functions + 1.1 + fn + http://java.sun.com/jsp/jstl/functions + + + + Tests if an input string contains the specified substring. + + contains + org.apache.taglibs.standard.functions.Functions + boolean contains(java.lang.String, java.lang.String) + + <c:if test="${fn:contains(name, searchString)}"> + + + + + + Tests if an input string contains the specified substring in a case insensitive way. + + containsIgnoreCase + org.apache.taglibs.standard.functions.Functions + boolean containsIgnoreCase(java.lang.String, java.lang.String) + + <c:if test="${fn:containsIgnoreCase(name, searchString)}"> + + + + + + Tests if an input string ends with the specified suffix. + + endsWith + org.apache.taglibs.standard.functions.Functions + boolean endsWith(java.lang.String, java.lang.String) + + <c:if test="${fn:endsWith(filename, ".txt")}"> + + + + + + Escapes characters that could be interpreted as XML markup. + + escapeXml + org.apache.taglibs.standard.functions.Functions + java.lang.String escapeXml(java.lang.String) + + ${fn:escapeXml(param:info)} + + + + + + Returns the index withing a string of the first occurrence of a specified substring. + + indexOf + org.apache.taglibs.standard.functions.Functions + int indexOf(java.lang.String, java.lang.String) + + ${fn:indexOf(name, "-")} + + + + + + Joins all elements of an array into a string. + + join + org.apache.taglibs.standard.functions.Functions + java.lang.String join(java.lang.String[], java.lang.String) + + ${fn:join(array, ";")} + + + + + + Returns the number of items in a collection, or the number of characters in a string. + + length + org.apache.taglibs.standard.functions.Functions + int length(java.lang.Object) + + You have ${fn:length(shoppingCart.products)} in your shopping cart. + + + + + + Returns a string resulting from replacing in an input string all occurrences + of a "before" string into an "after" substring. + + replace + org.apache.taglibs.standard.functions.Functions + java.lang.String replace(java.lang.String, java.lang.String, java.lang.String) + + ${fn:replace(text, "-", "•")} + + + + + + Splits a string into an array of substrings. + + split + org.apache.taglibs.standard.functions.Functions + java.lang.String[] split(java.lang.String, java.lang.String) + + ${fn:split(customerNames, ";")} + + + + + + Tests if an input string starts with the specified prefix. + + startsWith + org.apache.taglibs.standard.functions.Functions + boolean startsWith(java.lang.String, java.lang.String) + + <c:if test="${fn:startsWith(product.id, "100-")}"> + + + + + + Returns a subset of a string. + + substring + org.apache.taglibs.standard.functions.Functions + java.lang.String substring(java.lang.String, int, int) + + P.O. Box: ${fn:substring(zip, 6, -1)} + + + + + + Returns a subset of a string following a specific substring. + + substringAfter + org.apache.taglibs.standard.functions.Functions + java.lang.String substringAfter(java.lang.String, java.lang.String) + + P.O. Box: ${fn:substringAfter(zip, "-")} + + + + + + Returns a subset of a string before a specific substring. + + substringBefore + org.apache.taglibs.standard.functions.Functions + java.lang.String substringBefore(java.lang.String, java.lang.String) + + Zip (without P.O. Box): ${fn:substringBefore(zip, "-")} + + + + + + Converts all of the characters of a string to lower case. + + toLowerCase + org.apache.taglibs.standard.functions.Functions + java.lang.String toLowerCase(java.lang.String) + + Product name: ${fn.toLowerCase(product.name)} + + + + + + Converts all of the characters of a string to upper case. + + toUpperCase + org.apache.taglibs.standard.functions.Functions + java.lang.String toUpperCase(java.lang.String) + + Product name: ${fn.UpperCase(product.name)} + + + + + + Removes white spaces from both ends of a string. + + trim + org.apache.taglibs.standard.functions.Functions + java.lang.String trim(java.lang.String) + + Name: ${fn.trim(name)} + + + + diff --git a/源码/src/main/webapp/WEB-INF/tlds/pager-taglib.tld b/源码/src/main/webapp/WEB-INF/tlds/pager-taglib.tld new file mode 100644 index 0000000..db0a696 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/tlds/pager-taglib.tld @@ -0,0 +1,276 @@ + + + + + 1.0 + 1.1 + pg + http://jsptags.com/tags/navigation/pager + + The Pager Tag Library is the easy and flexible way to implement paging of + large data sets in JavaServer Pages (JSP). It can emulate all currently + known paging styles with minimal effort. It also includes re-usable index + styles that emulate the search result navigators of popular web sites + such as Google[sm], AltaVista® and Yahoo!. The Pager Tag Library does most + of the work for you by dynamically organizing your data set into pages and + generating a browsable index with virtually any look desired. + + + + pager + com.jsptags.navigation.pager.PagerTag + com.jsptags.navigation.pager.PagerTagExtraInfo + JSP + + id + false + true + + + url + false + true + + + items + false + true + + + maxItems + false + true + + + maxPageItems + false + true + + + maxIndexPages + false + true + + + isOffset + false + true + + + index + false + true + + + export + false + true + + + scope + false + true + + + + + param + com.jsptags.navigation.pager.ParamTag + empty + + id + false + true + + + name + true + true + + + value + false + true + + + + + item + com.jsptags.navigation.pager.ItemTag + JSP + + id + false + true + + + + + index + com.jsptags.navigation.pager.IndexTag + com.jsptags.navigation.pager.IndexTagExtraInfo + JSP + + id + false + true + + + export + false + false + + + + + first + com.jsptags.navigation.pager.FirstTag + com.jsptags.navigation.pager.JumpTagExtraInfo + JSP + + id + false + true + + + export + false + false + + + unless + false + true + + + + + prev + com.jsptags.navigation.pager.PrevTag + com.jsptags.navigation.pager.PageTagExtraInfo + JSP + + id + false + true + + + export + false + false + + + ifnull + false + true + + + + + page + com.jsptags.navigation.pager.PageTag + com.jsptags.navigation.pager.JumpTagExtraInfo + JSP + + id + false + true + + + export + false + false + + + + + pages + com.jsptags.navigation.pager.PagesTag + com.jsptags.navigation.pager.PageTagExtraInfo + JSP + + id + false + true + + + export + false + false + + + + + next + com.jsptags.navigation.pager.NextTag + com.jsptags.navigation.pager.PageTagExtraInfo + JSP + + id + false + true + + + export + false + false + + + ifnull + false + true + + + + + last + com.jsptags.navigation.pager.LastTag + com.jsptags.navigation.pager.JumpTagExtraInfo + JSP + + id + false + true + + + export + false + false + + + unless + false + true + + + + + skip + com.jsptags.navigation.pager.SkipTag + com.jsptags.navigation.pager.PageTagExtraInfo + JSP + + id + false + true + + + export + false + false + + + ifnull + false + true + + + pages + true + true + + + + diff --git a/源码/src/main/webapp/WEB-INF/web.xml b/源码/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..9bd2719 --- /dev/null +++ b/源码/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,58 @@ + + + + + index.jsp + + + contextConfigLocation + /WEB-INF/classes/spring/applicationContext-*.xml + + + org.springframework.web.context.ContextLoaderListener + + + characterEncodingFilter + org.springframework.web.filter.CharacterEncodingFilter + + encoding + UTF-8 + + + forceEncoding + true + + + + characterEncodingFilter + /* + + + + + springmvc + org.springframework.web.servlet.DispatcherServlet + + contextConfigLocation + classpath:spring/springmvc.xml + + + + springmvc + / + + + + + SystemContextFilter + com.kwxy.hyt.filter.SystemContextFilter + + pageSize + 15 + + + + SystemContextFilter + /* + + \ No newline at end of file diff --git a/源码/src/main/webapp/common/footer.jsp b/源码/src/main/webapp/common/footer.jsp new file mode 100644 index 0000000..5a7b6dc --- /dev/null +++ b/源码/src/main/webapp/common/footer.jsp @@ -0,0 +1,68 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> +

+ +
+
+ × +
+

咨询反馈

+
+ +
+
+ +
+
+ 确认 +
+
+
+
+ + + \ No newline at end of file diff --git a/源码/src/main/webapp/common/menu.jsp b/源码/src/main/webapp/common/menu.jsp new file mode 100644 index 0000000..927675c --- /dev/null +++ b/源码/src/main/webapp/common/menu.jsp @@ -0,0 +1,20 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + \ No newline at end of file diff --git a/源码/src/main/webapp/common/taglibs.jsp b/源码/src/main/webapp/common/taglibs.jsp new file mode 100644 index 0000000..42875a8 --- /dev/null +++ b/源码/src/main/webapp/common/taglibs.jsp @@ -0,0 +1,8 @@ +<%@ taglib prefix="c" uri="/WEB-INF/tlds/c.tld" %> +<%@ taglib prefix="fn" uri="/WEB-INF/tlds/fn.tld" %> +<%@ taglib prefix="fmt" uri="/WEB-INF/tlds/fmt.tld" %> +<%@ taglib prefix="pg" uri="/WEB-INF/tlds/pager-taglib.tld" %> + + diff --git a/源码/src/main/webapp/common/top.jsp b/源码/src/main/webapp/common/top.jsp new file mode 100644 index 0000000..dda38ff --- /dev/null +++ b/源码/src/main/webapp/common/top.jsp @@ -0,0 +1,19 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> +
+
+ +
+ +
+
+
\ No newline at end of file diff --git a/源码/src/main/webapp/common/ufooter.jsp b/源码/src/main/webapp/common/ufooter.jsp new file mode 100644 index 0000000..203fe1d --- /dev/null +++ b/源码/src/main/webapp/common/ufooter.jsp @@ -0,0 +1,81 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + +
+ + +
+ \ No newline at end of file diff --git a/源码/src/main/webapp/common/utop.jsp b/源码/src/main/webapp/common/utop.jsp new file mode 100644 index 0000000..905f1cd --- /dev/null +++ b/源码/src/main/webapp/common/utop.jsp @@ -0,0 +1,64 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + <%@include file="/common/taglibs.jsp"%> + +
+
+
+ +
+
+ + + + + + + + + + + + + +
+
+
+
+
+ +
+
+
+
+ +
商品
+
+ + +
+
+
+
+
+
+
+ + \ No newline at end of file diff --git a/源码/src/main/webapp/index.jsp b/源码/src/main/webapp/index.jsp new file mode 100644 index 0000000..6acf4e2 --- /dev/null +++ b/源码/src/main/webapp/index.jsp @@ -0,0 +1,20 @@ +<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> +<%@include file="/common/taglibs.jsp"%> +<% +String path = request.getContextPath(); +String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; +%> + + + + + + My JSP 'index.jsp' starting page + + + + + + + + diff --git a/源码/src/main/webapp/js/jquery-1.4.4.min.js b/源码/src/main/webapp/js/jquery-1.4.4.min.js new file mode 100644 index 0000000..8f3ca2e --- /dev/null +++ b/源码/src/main/webapp/js/jquery-1.4.4.min.js @@ -0,0 +1,167 @@ +/*! + * jQuery JavaScript Library v1.4.4 + * http://jquery.com/ + * + * Copyright 2010, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2010, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Thu Nov 11 19:04:53 2010 -0500 + */ +(function(E,B){function ka(a,b,d){if(d===B&&a.nodeType===1){d=a.getAttribute("data-"+b);if(typeof d==="string"){try{d=d==="true"?true:d==="false"?false:d==="null"?null:!c.isNaN(d)?parseFloat(d):Ja.test(d)?c.parseJSON(d):d}catch(e){}c.data(a,b,d)}else d=B}return d}function U(){return false}function ca(){return true}function la(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function Ka(a){var b,d,e,f,h,l,k,o,x,r,A,C=[];f=[];h=c.data(this,this.nodeType?"events":"__events__");if(typeof h==="function")h= +h.events;if(!(a.liveFired===this||!h||!h.live||a.button&&a.type==="click")){if(a.namespace)A=RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)");a.liveFired=this;var J=h.live.slice(0);for(k=0;kd)break;a.currentTarget=f.elem;a.data=f.handleObj.data;a.handleObj=f.handleObj;A=f.handleObj.origHandler.apply(f.elem,arguments);if(A===false||a.isPropagationStopped()){d=f.level;if(A===false)b=false;if(a.isImmediatePropagationStopped())break}}return b}}function Y(a,b){return(a&&a!=="*"?a+".":"")+b.replace(La, +"`").replace(Ma,"&")}function ma(a,b,d){if(c.isFunction(b))return c.grep(a,function(f,h){return!!b.call(f,h,f)===d});else if(b.nodeType)return c.grep(a,function(f){return f===b===d});else if(typeof b==="string"){var e=c.grep(a,function(f){return f.nodeType===1});if(Na.test(b))return c.filter(b,e,!d);else b=c.filter(b,e)}return c.grep(a,function(f){return c.inArray(f,b)>=0===d})}function na(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var e=c.data(a[d++]),f=c.data(this, +e);if(e=e&&e.events){delete f.handle;f.events={};for(var h in e)for(var l in e[h])c.event.add(this,h,e[h][l],e[h][l].data)}}})}function Oa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function oa(a,b,d){var e=b==="width"?a.offsetWidth:a.offsetHeight;if(d==="border")return e;c.each(b==="width"?Pa:Qa,function(){d||(e-=parseFloat(c.css(a,"padding"+this))||0);if(d==="margin")e+=parseFloat(c.css(a, +"margin"+this))||0;else e-=parseFloat(c.css(a,"border"+this+"Width"))||0});return e}function da(a,b,d,e){if(c.isArray(b)&&b.length)c.each(b,function(f,h){d||Ra.test(a)?e(a,h):da(a+"["+(typeof h==="object"||c.isArray(h)?f:"")+"]",h,d,e)});else if(!d&&b!=null&&typeof b==="object")c.isEmptyObject(b)?e(a,""):c.each(b,function(f,h){da(a+"["+f+"]",h,d,e)});else e(a,b)}function S(a,b){var d={};c.each(pa.concat.apply([],pa.slice(0,b)),function(){d[this]=a});return d}function qa(a){if(!ea[a]){var b=c("<"+ +a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d==="")d="block";ea[a]=d}return ea[a]}function fa(a){return c.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var t=E.document,c=function(){function a(){if(!b.isReady){try{t.documentElement.doScroll("left")}catch(j){setTimeout(a,1);return}b.ready()}}var b=function(j,s){return new b.fn.init(j,s)},d=E.jQuery,e=E.$,f,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,l=/\S/,k=/^\s+/,o=/\s+$/,x=/\W/,r=/\d/,A=/^<(\w+)\s*\/?>(?:<\/\1>)?$/, +C=/^[\],:{}\s]*$/,J=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,w=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,I=/(?:^|:|,)(?:\s*\[)+/g,L=/(webkit)[ \/]([\w.]+)/,g=/(opera)(?:.*version)?[ \/]([\w.]+)/,i=/(msie) ([\w.]+)/,n=/(mozilla)(?:.*? rv:([\w.]+))?/,m=navigator.userAgent,p=false,q=[],u,y=Object.prototype.toString,F=Object.prototype.hasOwnProperty,M=Array.prototype.push,N=Array.prototype.slice,O=String.prototype.trim,D=Array.prototype.indexOf,R={};b.fn=b.prototype={init:function(j, +s){var v,z,H;if(!j)return this;if(j.nodeType){this.context=this[0]=j;this.length=1;return this}if(j==="body"&&!s&&t.body){this.context=t;this[0]=t.body;this.selector="body";this.length=1;return this}if(typeof j==="string")if((v=h.exec(j))&&(v[1]||!s))if(v[1]){H=s?s.ownerDocument||s:t;if(z=A.exec(j))if(b.isPlainObject(s)){j=[t.createElement(z[1])];b.fn.attr.call(j,s,true)}else j=[H.createElement(z[1])];else{z=b.buildFragment([v[1]],[H]);j=(z.cacheable?z.fragment.cloneNode(true):z.fragment).childNodes}return b.merge(this, +j)}else{if((z=t.getElementById(v[2]))&&z.parentNode){if(z.id!==v[2])return f.find(j);this.length=1;this[0]=z}this.context=t;this.selector=j;return this}else if(!s&&!x.test(j)){this.selector=j;this.context=t;j=t.getElementsByTagName(j);return b.merge(this,j)}else return!s||s.jquery?(s||f).find(j):b(s).find(j);else if(b.isFunction(j))return f.ready(j);if(j.selector!==B){this.selector=j.selector;this.context=j.context}return b.makeArray(j,this)},selector:"",jquery:"1.4.4",length:0,size:function(){return this.length}, +toArray:function(){return N.call(this,0)},get:function(j){return j==null?this.toArray():j<0?this.slice(j)[0]:this[j]},pushStack:function(j,s,v){var z=b();b.isArray(j)?M.apply(z,j):b.merge(z,j);z.prevObject=this;z.context=this.context;if(s==="find")z.selector=this.selector+(this.selector?" ":"")+v;else if(s)z.selector=this.selector+"."+s+"("+v+")";return z},each:function(j,s){return b.each(this,j,s)},ready:function(j){b.bindReady();if(b.isReady)j.call(t,b);else q&&q.push(j);return this},eq:function(j){return j=== +-1?this.slice(j):this.slice(j,+j+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(N.apply(this,arguments),"slice",N.call(arguments).join(","))},map:function(j){return this.pushStack(b.map(this,function(s,v){return j.call(s,v,s)}))},end:function(){return this.prevObject||b(null)},push:M,sort:[].sort,splice:[].splice};b.fn.init.prototype=b.fn;b.extend=b.fn.extend=function(){var j,s,v,z,H,G=arguments[0]||{},K=1,Q=arguments.length,ga=false; +if(typeof G==="boolean"){ga=G;G=arguments[1]||{};K=2}if(typeof G!=="object"&&!b.isFunction(G))G={};if(Q===K){G=this;--K}for(;K0))if(q){var s=0,v=q;for(q=null;j=v[s++];)j.call(t,b);b.fn.trigger&&b(t).trigger("ready").unbind("ready")}}},bindReady:function(){if(!p){p=true;if(t.readyState==="complete")return setTimeout(b.ready,1);if(t.addEventListener){t.addEventListener("DOMContentLoaded",u,false);E.addEventListener("load",b.ready,false)}else if(t.attachEvent){t.attachEvent("onreadystatechange",u);E.attachEvent("onload", +b.ready);var j=false;try{j=E.frameElement==null}catch(s){}t.documentElement.doScroll&&j&&a()}}},isFunction:function(j){return b.type(j)==="function"},isArray:Array.isArray||function(j){return b.type(j)==="array"},isWindow:function(j){return j&&typeof j==="object"&&"setInterval"in j},isNaN:function(j){return j==null||!r.test(j)||isNaN(j)},type:function(j){return j==null?String(j):R[y.call(j)]||"object"},isPlainObject:function(j){if(!j||b.type(j)!=="object"||j.nodeType||b.isWindow(j))return false;if(j.constructor&& +!F.call(j,"constructor")&&!F.call(j.constructor.prototype,"isPrototypeOf"))return false;for(var s in j);return s===B||F.call(j,s)},isEmptyObject:function(j){for(var s in j)return false;return true},error:function(j){throw j;},parseJSON:function(j){if(typeof j!=="string"||!j)return null;j=b.trim(j);if(C.test(j.replace(J,"@").replace(w,"]").replace(I,"")))return E.JSON&&E.JSON.parse?E.JSON.parse(j):(new Function("return "+j))();else b.error("Invalid JSON: "+j)},noop:function(){},globalEval:function(j){if(j&& +l.test(j)){var s=t.getElementsByTagName("head")[0]||t.documentElement,v=t.createElement("script");v.type="text/javascript";if(b.support.scriptEval)v.appendChild(t.createTextNode(j));else v.text=j;s.insertBefore(v,s.firstChild);s.removeChild(v)}},nodeName:function(j,s){return j.nodeName&&j.nodeName.toUpperCase()===s.toUpperCase()},each:function(j,s,v){var z,H=0,G=j.length,K=G===B||b.isFunction(j);if(v)if(K)for(z in j){if(s.apply(j[z],v)===false)break}else for(;H
a";var f=d.getElementsByTagName("*"),h=d.getElementsByTagName("a")[0],l=t.createElement("select"), +k=l.appendChild(t.createElement("option"));if(!(!f||!f.length||!h)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(h.getAttribute("style")),hrefNormalized:h.getAttribute("href")==="/a",opacity:/^0.55$/.test(h.style.opacity),cssFloat:!!h.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:k.selected,deleteExpando:true,optDisabled:false,checkClone:false, +scriptEval:false,noCloneEvent:true,boxModel:null,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableHiddenOffsets:true};l.disabled=true;c.support.optDisabled=!k.disabled;b.type="text/javascript";try{b.appendChild(t.createTextNode("window."+e+"=1;"))}catch(o){}a.insertBefore(b,a.firstChild);if(E[e]){c.support.scriptEval=true;delete E[e]}try{delete b.test}catch(x){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function r(){c.support.noCloneEvent= +false;d.detachEvent("onclick",r)});d.cloneNode(true).fireEvent("onclick")}d=t.createElement("div");d.innerHTML="";a=t.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var r=t.createElement("div");r.style.width=r.style.paddingLeft="1px";t.body.appendChild(r);c.boxModel=c.support.boxModel=r.offsetWidth===2;if("zoom"in r.style){r.style.display="inline";r.style.zoom= +1;c.support.inlineBlockNeedsLayout=r.offsetWidth===2;r.style.display="";r.innerHTML="
";c.support.shrinkWrapBlocks=r.offsetWidth!==2}r.innerHTML="
t
";var A=r.getElementsByTagName("td");c.support.reliableHiddenOffsets=A[0].offsetHeight===0;A[0].style.display="";A[1].style.display="none";c.support.reliableHiddenOffsets=c.support.reliableHiddenOffsets&&A[0].offsetHeight===0;r.innerHTML="";t.body.removeChild(r).style.display= +"none"});a=function(r){var A=t.createElement("div");r="on"+r;var C=r in A;if(!C){A.setAttribute(r,"return;");C=typeof A[r]==="function"}return C};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=f=h=null}})();var ra={},Ja=/^(?:\{.*\}|\[.*\])$/;c.extend({cache:{},uuid:0,expando:"jQuery"+c.now(),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},data:function(a,b,d){if(c.acceptData(a)){a=a==E?ra:a;var e=a.nodeType,f=e?a[c.expando]:null,h= +c.cache;if(!(e&&!f&&typeof b==="string"&&d===B)){if(e)f||(a[c.expando]=f=++c.uuid);else h=a;if(typeof b==="object")if(e)h[f]=c.extend(h[f],b);else c.extend(h,b);else if(e&&!h[f])h[f]={};a=e?h[f]:h;if(d!==B)a[b]=d;return typeof b==="string"?a[b]:a}}},removeData:function(a,b){if(c.acceptData(a)){a=a==E?ra:a;var d=a.nodeType,e=d?a[c.expando]:a,f=c.cache,h=d?f[e]:e;if(b){if(h){delete h[b];d&&c.isEmptyObject(h)&&c.removeData(a)}}else if(d&&c.support.deleteExpando)delete a[c.expando];else if(a.removeAttribute)a.removeAttribute(c.expando); +else if(d)delete f[e];else for(var l in a)delete a[l]}},acceptData:function(a){if(a.nodeName){var b=c.noData[a.nodeName.toLowerCase()];if(b)return!(b===true||a.getAttribute("classid")!==b)}return true}});c.fn.extend({data:function(a,b){var d=null;if(typeof a==="undefined"){if(this.length){var e=this[0].attributes,f;d=c.data(this[0]);for(var h=0,l=e.length;h-1)return true;return false},val:function(a){if(!arguments.length){var b=this[0];if(b){if(c.nodeName(b,"option")){var d=b.attributes.value;return!d||d.specified?b.value:b.text}if(c.nodeName(b,"select")){var e=b.selectedIndex;d=[];var f=b.options;b=b.type==="select-one"; +if(e<0)return null;var h=b?e:0;for(e=b?e+1:f.length;h=0;else if(c.nodeName(this,"select")){var A=c.makeArray(r);c("option",this).each(function(){this.selected=c.inArray(c(this).val(),A)>=0});if(!A.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true}, +attr:function(a,b,d,e){if(!a||a.nodeType===3||a.nodeType===8)return B;if(e&&b in c.attrFn)return c(a)[b](d);e=a.nodeType!==1||!c.isXMLDoc(a);var f=d!==B;b=e&&c.props[b]||b;var h=Ta.test(b);if((b in a||a[b]!==B)&&e&&!h){if(f){b==="type"&&Ua.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");if(d===null)a.nodeType===1&&a.removeAttribute(b);else a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&& +b.specified?b.value:Va.test(a.nodeName)||Wa.test(a.nodeName)&&a.href?0:B;return a[b]}if(!c.support.style&&e&&b==="style"){if(f)a.style.cssText=""+d;return a.style.cssText}f&&a.setAttribute(b,""+d);if(!a.attributes[b]&&a.hasAttribute&&!a.hasAttribute(b))return B;a=!c.support.hrefNormalized&&e&&h?a.getAttribute(b,2):a.getAttribute(b);return a===null?B:a}});var X=/\.(.*)$/,ia=/^(?:textarea|input|select)$/i,La=/\./g,Ma=/ /g,Xa=/[^\w\s.|`]/g,Ya=function(a){return a.replace(Xa,"\\$&")},ua={focusin:0,focusout:0}; +c.event={add:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(c.isWindow(a)&&a!==E&&!a.frameElement)a=E;if(d===false)d=U;else if(!d)return;var f,h;if(d.handler){f=d;d=f.handler}if(!d.guid)d.guid=c.guid++;if(h=c.data(a)){var l=a.nodeType?"events":"__events__",k=h[l],o=h.handle;if(typeof k==="function"){o=k.handle;k=k.events}else if(!k){a.nodeType||(h[l]=h=function(){});h.events=k={}}if(!o)h.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem, +arguments):B};o.elem=a;b=b.split(" ");for(var x=0,r;l=b[x++];){h=f?c.extend({},f):{handler:d,data:e};if(l.indexOf(".")>-1){r=l.split(".");l=r.shift();h.namespace=r.slice(0).sort().join(".")}else{r=[];h.namespace=""}h.type=l;if(!h.guid)h.guid=d.guid;var A=k[l],C=c.event.special[l]||{};if(!A){A=k[l]=[];if(!C.setup||C.setup.call(a,e,r,o)===false)if(a.addEventListener)a.addEventListener(l,o,false);else a.attachEvent&&a.attachEvent("on"+l,o)}if(C.add){C.add.call(a,h);if(!h.handler.guid)h.handler.guid= +d.guid}A.push(h);c.event.global[l]=true}a=null}}},global:{},remove:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(d===false)d=U;var f,h,l=0,k,o,x,r,A,C,J=a.nodeType?"events":"__events__",w=c.data(a),I=w&&w[J];if(w&&I){if(typeof I==="function"){w=I;I=I.events}if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(f in I)c.event.remove(a,f+b)}else{for(b=b.split(" ");f=b[l++];){r=f;k=f.indexOf(".")<0;o=[];if(!k){o=f.split(".");f=o.shift();x=RegExp("(^|\\.)"+ +c.map(o.slice(0).sort(),Ya).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(A=I[f])if(d){r=c.event.special[f]||{};for(h=e||0;h=0){a.type=f=f.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[f]&&c.each(c.cache,function(){this.events&&this.events[f]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType=== +8)return B;a.result=B;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(e=d.nodeType?c.data(d,"handle"):(c.data(d,"__events__")||{}).handle)&&e.apply(d,b);e=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+f]&&d["on"+f].apply(d,b)===false){a.result=false;a.preventDefault()}}catch(h){}if(!a.isPropagationStopped()&&e)c.event.trigger(a,b,e,true);else if(!a.isDefaultPrevented()){var l;e=a.target;var k=f.replace(X,""),o=c.nodeName(e,"a")&&k=== +"click",x=c.event.special[k]||{};if((!x._default||x._default.call(d,a)===false)&&!o&&!(e&&e.nodeName&&c.noData[e.nodeName.toLowerCase()])){try{if(e[k]){if(l=e["on"+k])e["on"+k]=null;c.event.triggered=true;e[k]()}}catch(r){}if(l)e["on"+k]=l;c.event.triggered=false}}},handle:function(a){var b,d,e,f;d=[];var h=c.makeArray(arguments);a=h[0]=c.event.fix(a||E.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;if(!b){e=a.type.split(".");a.type=e.shift();d=e.slice(0).sort();e=RegExp("(^|\\.)"+ +d.join("\\.(?:.*\\.)?")+"(\\.|$)")}a.namespace=a.namespace||d.join(".");f=c.data(this,this.nodeType?"events":"__events__");if(typeof f==="function")f=f.events;d=(f||{})[a.type];if(f&&d){d=d.slice(0);f=0;for(var l=d.length;f-1?c.map(a.options,function(e){return e.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},Z=function(a,b){var d=a.target,e,f;if(!(!ia.test(d.nodeName)||d.readOnly)){e=c.data(d,"_change_data");f=xa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",f);if(!(e===B||f===e))if(e!=null||f){a.type="change";a.liveFired= +B;return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:Z,beforedeactivate:Z,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return Z.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return Z.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,"_change_data",xa(a))}},setup:function(){if(this.type=== +"file")return false;for(var a in V)c.event.add(this,a+".specialChange",V[a]);return ia.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return ia.test(this.nodeName)}};V=c.event.special.change.filters;V.focus=V.beforeactivate}t.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.trigger(e,null,e.target)}c.event.special[b]={setup:function(){ua[b]++===0&&t.addEventListener(a,d,true)},teardown:function(){--ua[b]=== +0&&t.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,e,f){if(typeof d==="object"){for(var h in d)this[b](h,e,d[h],f);return this}if(c.isFunction(e)||e===false){f=e;e=B}var l=b==="one"?c.proxy(f,function(o){c(this).unbind(o,l);return f.apply(this,arguments)}):f;if(d==="unload"&&b!=="one")this.one(d,e,f);else{h=0;for(var k=this.length;h0?this.bind(b,d,e):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});E.attachEvent&&!E.addEventListener&&c(E).bind("unload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}}); +(function(){function a(g,i,n,m,p,q){p=0;for(var u=m.length;p0){F=y;break}}y=y[g]}m[p]=F}}}var d=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,h=false,l=true;[0,0].sort(function(){l=false;return 0});var k=function(g,i,n,m){n=n||[];var p=i=i||t;if(i.nodeType!==1&&i.nodeType!==9)return[];if(!g||typeof g!=="string")return n;var q,u,y,F,M,N=true,O=k.isXML(i),D=[],R=g;do{d.exec("");if(q=d.exec(R)){R=q[3];D.push(q[1]);if(q[2]){F=q[3]; +break}}}while(q);if(D.length>1&&x.exec(g))if(D.length===2&&o.relative[D[0]])u=L(D[0]+D[1],i);else for(u=o.relative[D[0]]?[i]:k(D.shift(),i);D.length;){g=D.shift();if(o.relative[g])g+=D.shift();u=L(g,u)}else{if(!m&&D.length>1&&i.nodeType===9&&!O&&o.match.ID.test(D[0])&&!o.match.ID.test(D[D.length-1])){q=k.find(D.shift(),i,O);i=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]}if(i){q=m?{expr:D.pop(),set:C(m)}:k.find(D.pop(),D.length===1&&(D[0]==="~"||D[0]==="+")&&i.parentNode?i.parentNode:i,O);u=q.expr?k.filter(q.expr, +q.set):q.set;if(D.length>0)y=C(u);else N=false;for(;D.length;){q=M=D.pop();if(o.relative[M])q=D.pop();else M="";if(q==null)q=i;o.relative[M](y,q,O)}}else y=[]}y||(y=u);y||k.error(M||g);if(f.call(y)==="[object Array]")if(N)if(i&&i.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&k.contains(i,y[g])))n.push(u[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&n.push(u[g]);else n.push.apply(n,y);else C(y,n);if(F){k(F,p,n,m);k.uniqueSort(n)}return n};k.uniqueSort=function(g){if(w){h= +l;g.sort(w);if(h)for(var i=1;i0};k.find=function(g,i,n){var m;if(!g)return[];for(var p=0,q=o.order.length;p":function(g,i){var n,m=typeof i==="string",p=0,q=g.length;if(m&&!/\W/.test(i))for(i=i.toLowerCase();p=0))n||m.push(u);else if(n)i[q]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var i=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=i[1]+(i[2]||1)-0;g[3]=i[3]-0}g[0]=e++;return g},ATTR:function(g,i,n, +m,p,q){i=g[1].replace(/\\/g,"");if(!q&&o.attrMap[i])g[1]=o.attrMap[i];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,i,n,m,p){if(g[1]==="not")if((d.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,i);else{g=k.filter(g[3],i,n,true^p);n||m.push.apply(m,g);return false}else if(o.match.POS.test(g[0])||o.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled=== +true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,i,n){return!!k(n[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"=== +g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,i){return i===0},last:function(g,i,n,m){return i===m.length-1},even:function(g,i){return i%2===0},odd:function(g,i){return i%2===1},lt:function(g,i,n){return in[3]-0},nth:function(g,i,n){return n[3]- +0===i},eq:function(g,i,n){return n[3]-0===i}},filter:{PSEUDO:function(g,i,n,m){var p=i[1],q=o.filters[p];if(q)return q(g,n,i,m);else if(p==="contains")return(g.textContent||g.innerText||k.getText([g])||"").indexOf(i[3])>=0;else if(p==="not"){i=i[3];n=0;for(m=i.length;n=0}},ID:function(g,i){return g.nodeType===1&&g.getAttribute("id")===i},TAG:function(g,i){return i==="*"&&g.nodeType===1||g.nodeName.toLowerCase()=== +i},CLASS:function(g,i){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(i)>-1},ATTR:function(g,i){var n=i[1];n=o.attrHandle[n]?o.attrHandle[n](g):g[n]!=null?g[n]:g.getAttribute(n);var m=n+"",p=i[2],q=i[4];return n==null?p==="!=":p==="="?m===q:p==="*="?m.indexOf(q)>=0:p==="~="?(" "+m+" ").indexOf(q)>=0:!q?m&&n!==false:p==="!="?m!==q:p==="^="?m.indexOf(q)===0:p==="$="?m.substr(m.length-q.length)===q:p==="|="?m===q||m.substr(0,q.length+1)===q+"-":false},POS:function(g,i,n,m){var p=o.setFilters[i[2]]; +if(p)return p(g,n,i,m)}}},x=o.match.POS,r=function(g,i){return"\\"+(i-0+1)},A;for(A in o.match){o.match[A]=RegExp(o.match[A].source+/(?![^\[]*\])(?![^\(]*\))/.source);o.leftMatch[A]=RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[A].source.replace(/\\(\d+)/g,r))}var C=function(g,i){g=Array.prototype.slice.call(g,0);if(i){i.push.apply(i,g);return i}return g};try{Array.prototype.slice.call(t.documentElement.childNodes,0)}catch(J){C=function(g,i){var n=0,m=i||[];if(f.call(g)==="[object Array]")Array.prototype.push.apply(m, +g);else if(typeof g.length==="number")for(var p=g.length;n";n.insertBefore(g,n.firstChild);if(t.getElementById(i)){o.find.ID=function(m,p,q){if(typeof p.getElementById!=="undefined"&&!q)return(p=p.getElementById(m[1]))?p.id===m[1]||typeof p.getAttributeNode!=="undefined"&&p.getAttributeNode("id").nodeValue===m[1]?[p]:B:[]};o.filter.ID=function(m,p){var q=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&q&&q.nodeValue===p}}n.removeChild(g); +n=g=null})();(function(){var g=t.createElement("div");g.appendChild(t.createComment(""));if(g.getElementsByTagName("*").length>0)o.find.TAG=function(i,n){var m=n.getElementsByTagName(i[1]);if(i[1]==="*"){for(var p=[],q=0;m[q];q++)m[q].nodeType===1&&p.push(m[q]);m=p}return m};g.innerHTML="";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")o.attrHandle.href=function(i){return i.getAttribute("href",2)};g=null})();t.querySelectorAll&& +function(){var g=k,i=t.createElement("div");i.innerHTML="

";if(!(i.querySelectorAll&&i.querySelectorAll(".TEST").length===0)){k=function(m,p,q,u){p=p||t;m=m.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!u&&!k.isXML(p))if(p.nodeType===9)try{return C(p.querySelectorAll(m),q)}catch(y){}else if(p.nodeType===1&&p.nodeName.toLowerCase()!=="object"){var F=p.getAttribute("id"),M=F||"__sizzle__";F||p.setAttribute("id",M);try{return C(p.querySelectorAll("#"+M+" "+m),q)}catch(N){}finally{F|| +p.removeAttribute("id")}}return g(m,p,q,u)};for(var n in g)k[n]=g[n];i=null}}();(function(){var g=t.documentElement,i=g.matchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.msMatchesSelector,n=false;try{i.call(t.documentElement,"[test!='']:sizzle")}catch(m){n=true}if(i)k.matchesSelector=function(p,q){q=q.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(p))try{if(n||!o.match.PSEUDO.test(q)&&!/!=/.test(q))return i.call(p,q)}catch(u){}return k(q,null,null,[p]).length>0}})();(function(){var g= +t.createElement("div");g.innerHTML="
";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){o.order.splice(1,0,"CLASS");o.find.CLASS=function(i,n,m){if(typeof n.getElementsByClassName!=="undefined"&&!m)return n.getElementsByClassName(i[1])};g=null}}})();k.contains=t.documentElement.contains?function(g,i){return g!==i&&(g.contains?g.contains(i):true)}:t.documentElement.compareDocumentPosition? +function(g,i){return!!(g.compareDocumentPosition(i)&16)}:function(){return false};k.isXML=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false};var L=function(g,i){for(var n,m=[],p="",q=i.nodeType?[i]:i;n=o.match.PSEUDO.exec(g);){p+=n[0];g=g.replace(o.match.PSEUDO,"")}g=o.relative[g]?g+"*":g;n=0;for(var u=q.length;n0)for(var h=d;h0},closest:function(a,b){var d=[],e,f,h=this[0];if(c.isArray(a)){var l,k={},o=1;if(h&&a.length){e=0;for(f=a.length;e-1:c(h).is(e))d.push({selector:l,elem:h,level:o})}h= +h.parentNode;o++}}return d}l=cb.test(a)?c(a,b||this.context):null;e=0;for(f=this.length;e-1:c.find.matchesSelector(h,a)){d.push(h);break}else{h=h.parentNode;if(!h||!h.ownerDocument||h===b)break}d=d.length>1?c.unique(d):d;return this.pushStack(d,"closest",a)},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var d=typeof a==="string"?c(a,b||this.context): +c.makeArray(a),e=c.merge(this.get(),d);return this.pushStack(!d[0]||!d[0].parentNode||d[0].parentNode.nodeType===11||!e[0]||!e[0].parentNode||e[0].parentNode.nodeType===11?e:c.unique(e))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a, +2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a, +b){c.fn[a]=function(d,e){var f=c.map(this,b,d);Za.test(a)||(e=d);if(e&&typeof e==="string")f=c.filter(e,f);f=this.length>1?c.unique(f):f;if((this.length>1||ab.test(e))&&$a.test(a))f=f.reverse();return this.pushStack(f,a,bb.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return b.length===1?c.find.matchesSelector(b[0],a)?[b[0]]:[]:c.find.matches(a,b)},dir:function(a,b,d){var e=[];for(a=a[b];a&&a.nodeType!==9&&(d===B||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&& +e.push(a);a=a[b]}return e},nth:function(a,b,d){b=b||1;for(var e=0;a;a=a[d])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var za=/ jQuery\d+="(?:\d+|null)"/g,$=/^\s+/,Aa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Ba=/<([\w:]+)/,db=/\s]+\/)>/g,P={option:[1, +""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};P.optgroup=P.option;P.tbody=P.tfoot=P.colgroup=P.caption=P.thead;P.th=P.td;if(!c.support.htmlSerialize)P._default=[1,"div
","
"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d= +c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==B)return this.empty().append((this[0]&&this[0].ownerDocument||t).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this}, +wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})}, +prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b, +this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,e;(e=this[d])!=null;d++)if(!a||c.filter(a,[e]).length){if(!b&&e.nodeType===1){c.cleanData(e.getElementsByTagName("*"));c.cleanData([e])}e.parentNode&&e.parentNode.removeChild(e)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild); +return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,e=this.ownerDocument;if(!d){d=e.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(za,"").replace(fb,'="$1">').replace($,"")],e)[0]}else return this.cloneNode(true)});if(a===true){na(this,b);na(this.find("*"),b.find("*"))}return b},html:function(a){if(a===B)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(za,""):null; +else if(typeof a==="string"&&!Ca.test(a)&&(c.support.leadingWhitespace||!$.test(a))&&!P[(Ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Aa,"<$1>");try{for(var b=0,d=this.length;b0||e.cacheable||this.length>1?h.cloneNode(true):h)}k.length&&c.each(k,Oa)}return this}});c.buildFragment=function(a,b,d){var e,f,h;b=b&&b[0]?b[0].ownerDocument||b[0]:t;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===t&&!Ca.test(a[0])&&(c.support.checkClone||!Da.test(a[0]))){f=true;if(h=c.fragments[a[0]])if(h!==1)e=h}if(!e){e=b.createDocumentFragment();c.clean(a,b,e,d)}if(f)c.fragments[a[0]]=h?e:1;return{fragment:e,cacheable:f}};c.fragments={};c.each({appendTo:"append", +prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var e=[];d=c(d);var f=this.length===1&&this[0].parentNode;if(f&&f.nodeType===11&&f.childNodes.length===1&&d.length===1){d[b](this[0]);return this}else{f=0;for(var h=d.length;f0?this.clone(true):this).get();c(d[f])[b](l);e=e.concat(l)}return this.pushStack(e,a,d.selector)}}});c.extend({clean:function(a,b,d,e){b=b||t;if(typeof b.createElement==="undefined")b=b.ownerDocument|| +b[0]&&b[0].ownerDocument||t;for(var f=[],h=0,l;(l=a[h])!=null;h++){if(typeof l==="number")l+="";if(l){if(typeof l==="string"&&!eb.test(l))l=b.createTextNode(l);else if(typeof l==="string"){l=l.replace(Aa,"<$1>");var k=(Ba.exec(l)||["",""])[1].toLowerCase(),o=P[k]||P._default,x=o[0],r=b.createElement("div");for(r.innerHTML=o[1]+l+o[2];x--;)r=r.lastChild;if(!c.support.tbody){x=db.test(l);k=k==="table"&&!x?r.firstChild&&r.firstChild.childNodes:o[1]===""&&!x?r.childNodes:[];for(o=k.length- +1;o>=0;--o)c.nodeName(k[o],"tbody")&&!k[o].childNodes.length&&k[o].parentNode.removeChild(k[o])}!c.support.leadingWhitespace&&$.test(l)&&r.insertBefore(b.createTextNode($.exec(l)[0]),r.firstChild);l=r.childNodes}if(l.nodeType)f.push(l);else f=c.merge(f,l)}}if(d)for(h=0;f[h];h++)if(e&&c.nodeName(f[h],"script")&&(!f[h].type||f[h].type.toLowerCase()==="text/javascript"))e.push(f[h].parentNode?f[h].parentNode.removeChild(f[h]):f[h]);else{f[h].nodeType===1&&f.splice.apply(f,[h+1,0].concat(c.makeArray(f[h].getElementsByTagName("script")))); +d.appendChild(f[h])}return f},cleanData:function(a){for(var b,d,e=c.cache,f=c.event.special,h=c.support.deleteExpando,l=0,k;(k=a[l])!=null;l++)if(!(k.nodeName&&c.noData[k.nodeName.toLowerCase()]))if(d=k[c.expando]){if((b=e[d])&&b.events)for(var o in b.events)f[o]?c.event.remove(k,o):c.removeEvent(k,o,b.handle);if(h)delete k[c.expando];else k.removeAttribute&&k.removeAttribute(c.expando);delete e[d]}}});var Ea=/alpha\([^)]*\)/i,gb=/opacity=([^)]*)/,hb=/-([a-z])/ig,ib=/([A-Z])/g,Fa=/^-?\d+(?:px)?$/i, +jb=/^-?\d/,kb={position:"absolute",visibility:"hidden",display:"block"},Pa=["Left","Right"],Qa=["Top","Bottom"],W,Ga,aa,lb=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){if(arguments.length===2&&b===B)return this;return c.access(this,a,b,true,function(d,e,f){return f!==B?c.style(d,e,f):c.css(d,e)})};c.extend({cssHooks:{opacity:{get:function(a,b){if(b){var d=W(a,"opacity","opacity");return d===""?"1":d}else return a.style.opacity}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true, +zoom:true,lineHeight:true},cssProps:{"float":c.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,d,e){if(!(!a||a.nodeType===3||a.nodeType===8||!a.style)){var f,h=c.camelCase(b),l=a.style,k=c.cssHooks[h];b=c.cssProps[h]||h;if(d!==B){if(!(typeof d==="number"&&isNaN(d)||d==null)){if(typeof d==="number"&&!c.cssNumber[h])d+="px";if(!k||!("set"in k)||(d=k.set(a,d))!==B)try{l[b]=d}catch(o){}}}else{if(k&&"get"in k&&(f=k.get(a,false,e))!==B)return f;return l[b]}}},css:function(a,b,d){var e,f=c.camelCase(b), +h=c.cssHooks[f];b=c.cssProps[f]||f;if(h&&"get"in h&&(e=h.get(a,true,d))!==B)return e;else if(W)return W(a,b,f)},swap:function(a,b,d){var e={},f;for(f in b){e[f]=a.style[f];a.style[f]=b[f]}d.call(a);for(f in b)a.style[f]=e[f]},camelCase:function(a){return a.replace(hb,lb)}});c.curCSS=c.css;c.each(["height","width"],function(a,b){c.cssHooks[b]={get:function(d,e,f){var h;if(e){if(d.offsetWidth!==0)h=oa(d,b,f);else c.swap(d,kb,function(){h=oa(d,b,f)});if(h<=0){h=W(d,b,b);if(h==="0px"&&aa)h=aa(d,b,b); +if(h!=null)return h===""||h==="auto"?"0px":h}if(h<0||h==null){h=d.style[b];return h===""||h==="auto"?"0px":h}return typeof h==="string"?h:h+"px"}},set:function(d,e){if(Fa.test(e)){e=parseFloat(e);if(e>=0)return e+"px"}else return e}}});if(!c.support.opacity)c.cssHooks.opacity={get:function(a,b){return gb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var d=a.style;d.zoom=1;var e=c.isNaN(b)?"":"alpha(opacity="+b*100+")",f= +d.filter||"";d.filter=Ea.test(f)?f.replace(Ea,e):d.filter+" "+e}};if(t.defaultView&&t.defaultView.getComputedStyle)Ga=function(a,b,d){var e;d=d.replace(ib,"-$1").toLowerCase();if(!(b=a.ownerDocument.defaultView))return B;if(b=b.getComputedStyle(a,null)){e=b.getPropertyValue(d);if(e===""&&!c.contains(a.ownerDocument.documentElement,a))e=c.style(a,d)}return e};if(t.documentElement.currentStyle)aa=function(a,b){var d,e,f=a.currentStyle&&a.currentStyle[b],h=a.style;if(!Fa.test(f)&&jb.test(f)){d=h.left; +e=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;h.left=b==="fontSize"?"1em":f||0;f=h.pixelLeft+"px";h.left=d;a.runtimeStyle.left=e}return f===""?"auto":f};W=Ga||aa;if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetHeight;return a.offsetWidth===0&&b===0||!c.support.reliableHiddenOffsets&&(a.style.display||c.css(a,"display"))==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var mb=c.now(),nb=/)<[^<]*)*<\/script>/gi, +ob=/^(?:select|textarea)/i,pb=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,qb=/^(?:GET|HEAD)$/,Ra=/\[\]$/,T=/\=\?(&|$)/,ja=/\?/,rb=/([?&])_=[^&]*/,sb=/^(\w+:)?\/\/([^\/?#]+)/,tb=/%20/g,ub=/#.*$/,Ha=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!=="string"&&Ha)return Ha.apply(this,arguments);else if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var f=a.slice(e,a.length);a=a.slice(0,e)}e="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b=== +"object"){b=c.param(b,c.ajaxSettings.traditional);e="POST"}var h=this;c.ajax({url:a,type:e,dataType:"html",data:b,complete:function(l,k){if(k==="success"||k==="notmodified")h.html(f?c("
").append(l.responseText.replace(nb,"")).find(f):l.responseText);d&&h.each(d,[l.responseText,k,l])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&& +!this.disabled&&(this.checked||ob.test(this.nodeName)||pb.test(this.type))}).map(function(a,b){var d=c(this).val();return d==null?null:c.isArray(d)?c.map(d,function(e){return{name:b.name,value:e}}):{name:b.name,value:d}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:e})}, +getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:e})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return new E.XMLHttpRequest},accepts:{xml:"application/xml, text/xml",html:"text/html", +script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},ajax:function(a){var b=c.extend(true,{},c.ajaxSettings,a),d,e,f,h=b.type.toUpperCase(),l=qb.test(h);b.url=b.url.replace(ub,"");b.context=a&&a.context!=null?a.context:b;if(b.data&&b.processData&&typeof b.data!=="string")b.data=c.param(b.data,b.traditional);if(b.dataType==="jsonp"){if(h==="GET")T.test(b.url)||(b.url+=(ja.test(b.url)?"&":"?")+(b.jsonp||"callback")+"=?");else if(!b.data|| +!T.test(b.data))b.data=(b.data?b.data+"&":"")+(b.jsonp||"callback")+"=?";b.dataType="json"}if(b.dataType==="json"&&(b.data&&T.test(b.data)||T.test(b.url))){d=b.jsonpCallback||"jsonp"+mb++;if(b.data)b.data=(b.data+"").replace(T,"="+d+"$1");b.url=b.url.replace(T,"="+d+"$1");b.dataType="script";var k=E[d];E[d]=function(m){if(c.isFunction(k))k(m);else{E[d]=B;try{delete E[d]}catch(p){}}f=m;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);r&&r.removeChild(A)}}if(b.dataType==="script"&&b.cache===null)b.cache= +false;if(b.cache===false&&l){var o=c.now(),x=b.url.replace(rb,"$1_="+o);b.url=x+(x===b.url?(ja.test(b.url)?"&":"?")+"_="+o:"")}if(b.data&&l)b.url+=(ja.test(b.url)?"&":"?")+b.data;b.global&&c.active++===0&&c.event.trigger("ajaxStart");o=(o=sb.exec(b.url))&&(o[1]&&o[1].toLowerCase()!==location.protocol||o[2].toLowerCase()!==location.host);if(b.dataType==="script"&&h==="GET"&&o){var r=t.getElementsByTagName("head")[0]||t.documentElement,A=t.createElement("script");if(b.scriptCharset)A.charset=b.scriptCharset; +A.src=b.url;if(!d){var C=false;A.onload=A.onreadystatechange=function(){if(!C&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){C=true;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);A.onload=A.onreadystatechange=null;r&&A.parentNode&&r.removeChild(A)}}}r.insertBefore(A,r.firstChild);return B}var J=false,w=b.xhr();if(w){b.username?w.open(h,b.url,b.async,b.username,b.password):w.open(h,b.url,b.async);try{if(b.data!=null&&!l||a&&a.contentType)w.setRequestHeader("Content-Type", +b.contentType);if(b.ifModified){c.lastModified[b.url]&&w.setRequestHeader("If-Modified-Since",c.lastModified[b.url]);c.etag[b.url]&&w.setRequestHeader("If-None-Match",c.etag[b.url])}o||w.setRequestHeader("X-Requested-With","XMLHttpRequest");w.setRequestHeader("Accept",b.dataType&&b.accepts[b.dataType]?b.accepts[b.dataType]+", */*; q=0.01":b.accepts._default)}catch(I){}if(b.beforeSend&&b.beforeSend.call(b.context,w,b)===false){b.global&&c.active--===1&&c.event.trigger("ajaxStop");w.abort();return false}b.global&& +c.triggerGlobal(b,"ajaxSend",[w,b]);var L=w.onreadystatechange=function(m){if(!w||w.readyState===0||m==="abort"){J||c.handleComplete(b,w,e,f);J=true;if(w)w.onreadystatechange=c.noop}else if(!J&&w&&(w.readyState===4||m==="timeout")){J=true;w.onreadystatechange=c.noop;e=m==="timeout"?"timeout":!c.httpSuccess(w)?"error":b.ifModified&&c.httpNotModified(w,b.url)?"notmodified":"success";var p;if(e==="success")try{f=c.httpData(w,b.dataType,b)}catch(q){e="parsererror";p=q}if(e==="success"||e==="notmodified")d|| +c.handleSuccess(b,w,e,f);else c.handleError(b,w,e,p);d||c.handleComplete(b,w,e,f);m==="timeout"&&w.abort();if(b.async)w=null}};try{var g=w.abort;w.abort=function(){w&&Function.prototype.call.call(g,w);L("abort")}}catch(i){}b.async&&b.timeout>0&&setTimeout(function(){w&&!J&&L("timeout")},b.timeout);try{w.send(l||b.data==null?null:b.data)}catch(n){c.handleError(b,w,null,n);c.handleComplete(b,w,e,f)}b.async||L();return w}},param:function(a,b){var d=[],e=function(h,l){l=c.isFunction(l)?l():l;d[d.length]= +encodeURIComponent(h)+"="+encodeURIComponent(l)};if(b===B)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){e(this.name,this.value)});else for(var f in a)da(f,a[f],b,e);return d.join("&").replace(tb,"+")}});c.extend({active:0,lastModified:{},etag:{},handleError:function(a,b,d,e){a.error&&a.error.call(a.context,b,d,e);a.global&&c.triggerGlobal(a,"ajaxError",[b,a,e])},handleSuccess:function(a,b,d,e){a.success&&a.success.call(a.context,e,d,b);a.global&&c.triggerGlobal(a,"ajaxSuccess", +[b,a])},handleComplete:function(a,b,d){a.complete&&a.complete.call(a.context,b,d);a.global&&c.triggerGlobal(a,"ajaxComplete",[b,a]);a.global&&c.active--===1&&c.event.trigger("ajaxStop")},triggerGlobal:function(a,b,d){(a.context&&a.context.url==null?c(a.context):c.event).trigger(b,d)},httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"), +e=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(e)c.etag[b]=e;return a.status===304},httpData:function(a,b,d){var e=a.getResponseHeader("content-type")||"",f=b==="xml"||!b&&e.indexOf("xml")>=0;a=f?a.responseXML:a.responseText;f&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&e.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&e.indexOf("javascript")>=0)c.globalEval(a);return a}}); +if(E.ActiveXObject)c.ajaxSettings.xhr=function(){if(E.location.protocol!=="file:")try{return new E.XMLHttpRequest}catch(a){}try{return new E.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}};c.support.ajax=!!c.ajaxSettings.xhr();var ea={},vb=/^(?:toggle|show|hide)$/,wb=/^([+\-]=)?([\d+.\-]+)(.*)$/,ba,pa=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b,d){if(a||a===0)return this.animate(S("show", +3),a,b,d);else{d=0;for(var e=this.length;d=0;e--)if(d[e].elem===this){b&&d[e](true);d.splice(e,1)}});b||this.dequeue();return this}});c.each({slideDown:S("show",1),slideUp:S("hide",1),slideToggle:S("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){c.fn[a]=function(d,e,f){return this.animate(b, +d,e,f)}});c.extend({speed:function(a,b,d){var e=a&&typeof a==="object"?c.extend({},a):{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};e.duration=c.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in c.fx.speeds?c.fx.speeds[e.duration]:c.fx.speeds._default;e.old=e.complete;e.complete=function(){e.queue!==false&&c(this).dequeue();c.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,d,e){return d+e*a},swing:function(a,b,d,e){return(-Math.cos(a* +Math.PI)/2+0.5)*e+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a=parseFloat(c.css(this.elem,this.prop));return a&&a>-1E4?a:0},custom:function(a,b,d){function e(l){return f.step(l)} +var f=this,h=c.fx;this.startTime=c.now();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;e.elem=this.elem;if(e()&&c.timers.push(e)&&!ba)ba=setInterval(h.tick,h.interval)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true; +this.custom(this.cur(),0)},step:function(a){var b=c.now(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var e in this.options.curAnim)if(this.options.curAnim[e]!==true)d=false;if(d){if(this.options.overflow!=null&&!c.support.shrinkWrapBlocks){var f=this.elem,h=this.options;c.each(["","X","Y"],function(k,o){f.style["overflow"+o]=h.overflow[k]})}this.options.hide&&c(this.elem).hide();if(this.options.hide|| +this.options.show)for(var l in this.options.curAnim)c.style(this.elem,l,this.options.orig[l]);this.options.complete.call(this.elem)}return false}else{a=b-this.startTime;this.state=a/this.options.duration;b=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||b](this.state,a,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a= +c.timers,b=0;b-1;e={};var x={};if(o)x=f.position();l=o?x.top:parseInt(l,10)||0;k=o?x.left:parseInt(k,10)||0;if(c.isFunction(b))b=b.call(a,d,h);if(b.top!=null)e.top=b.top-h.top+l;if(b.left!=null)e.left=b.left-h.left+k;"using"in b?b.using.call(a, +e):f.css(e)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),e=Ia.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.css(a,"marginTop"))||0;d.left-=parseFloat(c.css(a,"marginLeft"))||0;e.top+=parseFloat(c.css(b[0],"borderTopWidth"))||0;e.left+=parseFloat(c.css(b[0],"borderLeftWidth"))||0;return{top:d.top-e.top,left:d.left-e.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||t.body;a&&!Ia.test(a.nodeName)&& +c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(e){var f=this[0],h;if(!f)return null;if(e!==B)return this.each(function(){if(h=fa(this))h.scrollTo(!a?e:c(h).scrollLeft(),a?e:c(h).scrollTop());else this[d]=e});else return(h=fa(f))?"pageXOffset"in h?h[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&h.document.documentElement[d]||h.document.body[d]:f[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase(); +c.fn["inner"+b]=function(){return this[0]?parseFloat(c.css(this[0],d,"padding")):null};c.fn["outer"+b]=function(e){return this[0]?parseFloat(c.css(this[0],d,e?"margin":"border")):null};c.fn[d]=function(e){var f=this[0];if(!f)return e==null?null:this;if(c.isFunction(e))return this.each(function(l){var k=c(this);k[d](e.call(this,l,k[d]()))});if(c.isWindow(f))return f.document.compatMode==="CSS1Compat"&&f.document.documentElement["client"+b]||f.document.body["client"+b];else if(f.nodeType===9)return Math.max(f.documentElement["client"+ +b],f.body["scroll"+b],f.documentElement["scroll"+b],f.body["offset"+b],f.documentElement["offset"+b]);else if(e===B){f=c.css(f,d);var h=parseFloat(f);return c.isNaN(h)?f:h}else return this.css(d,typeof e==="string"?e:e+"px")}})})(window); diff --git a/源码/src/main/webapp/resource/assets/css/bui-min.css b/源码/src/main/webapp/resource/assets/css/bui-min.css new file mode 100644 index 0000000..6341126 --- /dev/null +++ b/源码/src/main/webapp/resource/assets/css/bui-min.css @@ -0,0 +1 @@ +.clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";}.clearfix:after{clear:both;}.hide-text{overflow:hidden;text-indent:100%;white-space:nowrap;}.input-block-level{display:block;width:100%;min-height:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;}.bui-menu{list-style:none;margin:0;}.bui-menu .bui-menu-item{cursor:pointer;}.bui-side-menu{height:100%;text-align:left;overflow-y:auto;overflow-x:hidden;padding:0 3px;}.bui-side-menu .bui-menu-title,.bui-side-menu .bui-menu-title s,.bui-side-menu .menu-second a,.bui-side-menu .menu-second em{background:url("http://img04.taobaocdn.com/tps/i4/T1GgTxXm4qXXaGyjny-500-188.png") -9999px -9999px no-repeat;}.bui-side-menu a{color:#5c637b;outline:none;}.bui-side-menu a:hover{color:#414da7;text-decoration:none;}.bui-side-menu a:active{color:#5c637b;}.bui-side-menu .bui-menu-item-collapsed .bui-menu{display:none;}.bui-side-menu .bui-menu-item-collapsed .bui-menu-title s{background-position:0 -30px;}.bui-side-menu .menu-second{padding-top:1px;outline:0;}.bui-side-menu .menu-second .bui-menu{margin-top:5px;}.bui-side-menu .menu-second .bui-menu-item{outline:0;line-height:20px;}.bui-side-menu .menu-second .bui-menu-item a{height:20px;text-indent:24px;overflow:hidden;margin-bottom:5px;display:block;}.bui-side-menu .menu-second .bui-menu-item a em{display:block;margin:0 1px;font-style:normal;text-align:left;overflow:hidden;height:19px;line-height:22px;cursor:pointer;_line-height:20px;}.bui-side-menu .menu-second .bui-menu-item-selected a{color:#fff;background-position:0 -130px;}.bui-side-menu .menu-second .bui-menu-item-selected a em{background-position:right -100px;}.bui-side-menu .bui-menu-title-text{float:left;overflow:hidden;height:14px;line-height:14px;display:block;_margin-top:-2px;}.bui-side-menu .bui-menu-title{margin:0 1px;background-position:0 15px;height:17px;color:#636775;font-weight:bold;overflow:hidden;line-height:25px;vertical-align:middle;padding:8px 0 5px 5px;}.bui-side-menu .bui-menu-title s{width:10px;height:10px;overflow:hidden;display:block;float:left;margin-right:5px;margin-top:1px;background-position:0 -71px;}.bui-pop-menu{border:1px solid #c3c3d6;background-color:#fff;padding:2px 0;}.bui-pop-menu .bui-menu-item{padding:3px 15px;}.bui-pop-menu .bui-menu-item-hover{background-color:#36c;color:#fff;}.bui-context-menu{position:absolute;border:1px solid #c3c3d6;background-color:#e8e9ef;padding:2px;z-index:1100;background:url("http://img04.taobaocdn.com/tps/i4/T1J_T4XjRfXXaZ8J6X-2-340.gif") repeat-y 28px 0 #e8e9ef;}.bui-context-menu .bui-menu-item{white-space:nowrap;overflow:hidden;position:relative;padding:0;}.bui-context-menu .bui-menu-item .x-caret{position:absolute;right:10px;top:10px;}.bui-context-menu .bui-menu-item-sparator{border-top:1px solid #c3c3d6;height:1px;background-color:white;margin-left:27px;}.bui-context-menu .bui-menu-item-link{cursor:default;display:block;*zoom:1;width:134px;height:24px;margin:1px;padding:0 2px;text-decoration:none;border:1px solid transparent;_border-color:tomato;_filter:chroma(color=#ff6347);}.bui-context-menu .bui-menu-item-icon{display:inline-block;*display:inline;*zoom:1;width:16px;height:16px;margin:0 11px 0 2px;border:0 solid white;}.bui-context-menu .bui-menu-item-hover{background-color:#e8e9ef;}.bui-context-menu .bui-menu-item-open .bui-menu-item-link,.bui-context-menu .bui-menu-item-hover .bui-menu-item-link{background-color:#E0E6FC;border:1px solid #A9B9F5;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;cursor:pointer;overflow:hidden;}.bui-context-menu .bui-menu-item-text{color:#333;font-size:11px;_font-size:12px;line-height:20px;*zoom:1;}.bui-context-menu .bui-menu-item-disabled{outline:none;}.bui-context-menu .bui-menu-item-disabled .bui-menu-item-text{color:#999;}.bui-context-menu .bui-menu-item-disabled .bui-menu-item-icon{opacity:.5;filter:alpha(opacity=50);}.button-tabs .bui-tab-item-selected{color:#fff;font-weight:bold;background-color:#6c8ffc;background-image:-moz-linear-gradient(top,#6c9dfc,#6c79fc);background-image:-ms-linear-gradient(top,#6c9dfc,#6c79fc);background-image:-webkit-gradient(linear,0 0,0 100%,from(#6c9dfc),to(#6c79fc));background-image:-webkit-linear-gradient(top,#6c9dfc,#6c79fc);background-image:-o-linear-gradient(top,#6c9dfc,#6c79fc);background-image:linear-gradient(top,#6c9dfc,#6c79fc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#6c9dfc',endColorstr='#6c79fc',GradientType=0);border-color:#6c79fc #6c79fc #2135fa;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border:1px solid #5984de;}.button-tabs .bui-tab-item-selected:hover,.button-tabs .bui-tab-item-selected:active,.button-tabs .bui-tab-item-selected.active,.button-tabs .bui-tab-item-selected.disabled{background-color:#6c79fc;}.button-tabs .bui-tab-item-selected[disabled]{background-color:#6c79fc;}.button-tabs .bui-tab-item-selected:active,.button-tabs .bui-tab-item-selected.active{background-color:#3a4bfb \9;}.nav-tabs .bui-tab-item{border:1px solid #c3c3d6;border-bottom-color:transparent;margin-bottom:-1px;margin-right:3px;}.nav-tabs .bui-tab-item-text,.nav-tabs a{padding:5px 15px;background-color:#eee;position:relative;display:inline-block;*display:inline;*zoom:1;}.nav-tabs .bui-tab-item-selected{background-color:#fff;-webkit-border-radius:2px 2px 0 0;-moz-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;}.nav-tabs .bui-tab-item-selected .bui-tab-item-text,.nav-tabs .bui-tab-item-selected a{background-color:#fff;position:relative;border-bottom:-1px;z-index:10;}.link-tabs .bui-tab-item-selected a{color:#36c;}.tab-nav-bar,.tab-nav-arrow,.tab-nav-wrapper,.tab-nav-inner,.bui-nav-tab-item,.tab-item-close{background:url("http://img03.taobaocdn.com/tps/i3/T1SLHBXaXmXXXF.Nbe-140-120.gif") -9999px -9999px no-repeat;}.tab-nav-bar{position:relative;width:100%;z-index:1;overflow:hidden;height:21px;background-position:0 20px;background-repeat:repeat-x;}.tab-content-container{width:100%;}.tab-content-container iframe{border:none;}.tab-content{height:100%;}.tab-nav-arrow{display:block;position:absolute;text-decoration:none;overflow:hidden;width:13px;height:13px;text-indent:-99px;top:4px;}.arrow-left{background-position:0 -60px;left:5px;}.arrow-left-active .arrow-left{background-position:-40px -60px;cursor:pointer;}.arrow-right{background-position:-20px -60px;right:5px;}.arrow-right-active .arrow-right{background-position:-100px -60px;cursor:pointer;}.tab-nav-wrapper{margin:0 23px;background-position:0 -100px;background-repeat:repeat-x;}.tab-nav-inner{background-position:0 20px;background-repeat:repeat-x;background-color:#e2eaf4;margin:0 2px;overflow:hidden;position:relative;}.tab-nav-list{position:relative;left:0;padding:0;margin:0;*zoom:1;}.tab-nav-list:before,.tab-nav-list:after{display:table;content:"";}.tab-nav-list:after{clear:both;}.bui-nav-tab-item{background-position:0 -4px;color:#263e74;float:left;width:87px;height:21px;margin-right:-12px;position:relative;cursor:pointer;padding:0 33px 0 20px;z-index:1;overflow:hidden;}.tab-item-title{cursor:pointer;}.tab-nav-actived{background-position:0 -29px;z-index:2;}.tab-item-close{display:block;position:absolute;text-decoration:none;overflow:hidden;cursor:pointer;width:13px;height:13px;text-indent:-99px;top:4px;right:17px;background-position:0 -80px;}.tab-item-close:hover{background-position:-20px -80px;}.bui-select-list{border:1px solid #c3c3d6;background-color:#fff;overflow:auto;}.bui-select-list .bui-list-item{padding:2px 4px 2px 8px;-webkit-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none;cursor:pointer;border:1px solid #fff;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;margin:1px;padding-left:8px;*zoom:1;}.bui-select-list .bui-list-item-hover{background:#dee5ff;border:1px solid #ccd7ff;}.bui-select-list .bui-list-item-selected{background:#ccd7ff;border:1px solid #99afff;}.bui-select-list .bui-list-item-disabled{background:none;color:#ccc;cursor:default;}.bui-select-list .bui-list-item-disabled a{color:#ccc;cursor:default;}.bui-select-list .bui-list-item-disabled a:hover{text-decoration:none;}.bui-select{display:inline-block;*display:inline;*zoom:1;}.bui-select .bui-select-input{_border:1px solid #c3c3d6;border-right:none;vertical-align:middle;outline:none;_height:22px;_padding:1px 4px;width:118px;}.bui-select .x-icon{vertical-align:middle;cursor:pointer;height:20px;width:20px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.bui-select .x-caret{vertical-align:middle;}.bui-overlay{position:absolute;left:-9999px;top:-9999px;}.bui-dialog{background-color:#fff;border:1px solid #c3c3d6;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;-webkit-box-shadow:inset 0 0 0 1px #fff;-moz-box-shadow:inset 0 0 0 1px #fff;box-shadow:inset 0 0 0 1px #fff;position:absolute;background-color:#e8e9ef;z-index:1070;}.bui-picker{z-index:1200;}.bui-dialog .bui-contentbox{background-color:#e8e9ef;margin:1px;}.bui-dialog .bui-stdmod-header{height:22px;line-height:22px;font-size:12px;font-weight:bold;padding-left:4px;color:#333;cursor:move;-webkit-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none;}.bui-dialog .bui-stdmod-body{background-color:#fff;border:1px solid #c3c3d6;margin:0 4px;padding:20px;}.bui-dialog .bui-stdmod-footer{margin:4px 0;text-align:center;-webkit-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none;}.bui-dialog .bui-stdmod-footer .button{margin-right:15px;vertical-align:baseline;}.bui-dialog .bui-stdmod-footer .button:last-child{margin-right:0;}.bui-dialog a.bui-ext-close{position:absolute;right:6px;top:4px;width:16px;height:16px;text-decoration:none;outline:none;overflow:hidden;cursor:pointer;text-decoration:none;z-index:1;}.bui-dialog .bui-ext-close-x{display:block;font-size:17px;*font-size:16px;height:14px;width:14px;line-height:14px;cursor:pointer;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;}.bui-message{padding-bottom:10px;}.bui-message .bui-stdmod-body{padding:0 35px 20px;background-color:transparent;border:none;}.bui-message .bui-stdmod-body .x-icon{float:left;}.bui-message .bui-message-content{margin:5px 0 0 40px;line-height:24px;font-weight:bold;font-size:14px;}.bui-message .bui-message-content p{font-weight:normal;}.bui-pagingbar button,.bui-pagingbar .bui-bar-item-button,.bui-pagingbar .bui-pb-page{background:url("http://img03.taobaocdn.com/tps/i3/T1k1v5XhNdXXb0_tkB-191-450.gif") no-repeat -999px -999px transparent;overflow:hidden;}.bui-pagingbar button{height:16px;width:16px;margin:0;text-indent:-100px;*text-indent:0;*font-size:0;border:none;overfow:hidden;}.bui-pagingbar .bui-button-disabled{opacity:1;filter:alpha(opacity=100);}.bui-pagingbar .bui-pb-first button{background-position:3px 2px;}.bui-pagingbar .bui-pb-first .bui-button-disabled{background-position:3px -18px;}.bui-pagingbar .bui-pb-prev button{background-position:-57px 2px;}.bui-pagingbar .bui-pb-prev .bui-button-disabled{background-position:-57px -18px;}.bui-pagingbar .bui-pb-next button{background-position:-37px 2px;}.bui-pagingbar .bui-pb-next .bui-button-disabled{background-position:-37px -18px;}.bui-pagingbar .bui-pb-last button{background-position:-17px 2px;}.bui-pagingbar .bui-pb-last .bui-button-disabled{background-position:-17px -18px;}.bui-pagingbar .bui-bar-item{outline:none;margin:0 2px;vertical-align:middle;}.bui-pagingbar .bui-bar-item-button{padding:1px;}.bui-pagingbar .bui-bar-item-button-hover{background-position:-130px 2px;}.bui-pagingbar .bui-bar-item-button-disabled{background-position:-999px -999px;}.bui-pagingbar .bui-pb-page{color:#9d261d;font:11px tahoma,arial,verdana,sans-serif;height:14px;margin:0;width:20px;vertical-align:baseline;*vertical-align:middle;background-color:white;padding:0 2px;}.bui-pagingbar .bui-bar-item-text{vertical-align:middle;}.bui-pagingbar .bui-pb-skip{background-position:-999px -999px;}.bui-pagingbar .bui-pb-skip button{text-indent:0;background-position:-80px -20px;height:20px;font-size:11px;width:41px;}.bui-pagingbar .bui-pb-skip button:hover{background-position:-150px -20px;}.bui-pagingbar .bui-bar-item-separator{margin:0 5px;}.pagination .bui-bar-item{float:left;margin:0;}.pagination .disabled{_background-color:#fff;}.pagination .disabled a:hover{text-decoration:none;}.bar-btn-add,.bar-btn-del,.bar-btn-edit,.bar-btn-close,.bar-btn-import,.bar-btn-export,.bar-btn-save,.bar-btn-create,.bui-bar-item-separator{background:url("http://img03.taobaocdn.com/tps/i3/T1k1v5XhNdXXb0_tkB-191-450.gif") no-repeat -999px -999px transparent;}.bui-bar-item-separator{height:14px;margin:0 3px 0 2px;width:2px;background-position:-80px 0;vertical-align:middle;}.bui-grid-button-bar{float:left;}.bui-grid-button-bar .bui-bar-item{margin-right:10px;}.bui-grid-button-bar .bar-btn-add,.bui-grid-button-bar .bar-btn-edit,.bui-grid-button-bar .bar-btn-del,.bui-grid-button-bar .bar-btn-close,.bui-grid-button-bar .bar-btn-import,.bui-grid-button-bar .bar-btn-export,.bui-grid-button-bar .bar-btn-save,.bui-grid-button-bar .bar-btn-create{padding-left:18px;}.bui-grid-button-bar .bar-btn-edit{background-position:2px -307px;}.bui-grid-button-bar .bar-btn-add{background-position:-48px -137px;}.bui-grid-button-bar .bar-btn-del{background-position:2px -247px;}.bui-grid-button-bar .bar-btn-close{background-position:-48px -157px;}.bui-grid-button-bar .bar-btn-import{background-position:2px -187px;}.bui-grid-button-bar .bar-btn-export{background-position:2px -217px;}.bui-grid-button-bar .bar-btn-save{background-position:2px -277px;}.bui-grid-button-bar .bar-btn-create{background-position:2px -307px;}.bui-grid-button-bar .button-small [class^="icon-"]{margin:-2px 2px 0 -5px;}.bui-grid-table .sort-asc .bui-grid-sort-icon,.bui-grid-table .sort-desc .bui-grid-sort-icon,.bui-grid-table .bui-grid-hd-menu-trigger,.bui-grid-table .bui-grid-cascade-icon{background-image:url("http://img03.taobaocdn.com/tps/i3/T1k1v5XhNdXXb0_tkB-191-450.gif");background-repeat:no-repeat;}.bui-simple-grid .bui-grid-table{border:1px solid #ddd;}.bui-grid-header{border-top:1px solid #ddd;height:25px;}.bui-grid-body,.bui-grid-height .bui-grid-body .bui-grid-table{border-bottom:1px solid #ddd;}.bui-grid-body,.bui-grid-header{border-right:1px solid #ddd;border-left:1px solid #ddd;}.bui-grid-header{overflow:hidden;*position:relative;}.bui-grid-header .table{margin:0;}.bui-grid-header .bui-grid-table{*position:absolute;*top:0;*left:0;*z-index:100;}.bui-grid-table{width:100%;table-layout:fixed;border-collapse:separate;}.bui-grid,.bui-simple-grid{background-color:#fff;}.bui-grid th.left,.bui-simple-grid th.left,.bui-grid td.left,.bui-simple-grid td.left{text-align:left;}.bui-grid th.right,.bui-simple-grid th.right,.bui-grid td.right,.bui-simple-grid td.right{text-align:right;}.bui-grid th.center,.bui-simple-grid th.center,.bui-grid td.center,.bui-simple-grid td.center{text-align:center;}.bui-grid-border .bui-grid-hd,.bui-grid-border .bui-grid-cell,.bui-grid-border .bui-grid-header-row td{border-left:1px solid #c5c5c5;}.bui-grid-border .bui-grid-cell-empty,.bui-grid-border .bui-grid-hd-empty{border-left:none;}.bui-grid-header-row td,.bui-grid-header-row th{padding:0;margin:0;}th.bui-grid-hd-empty,td.bui-grid-cell-empty{padding:0;margin:0;border-left:none;}.bui-grid-table .bui-grid-hd{border-bottom:1px solid #c5c5c5;text-align:left;cursor:default;}.bui-grid-table tr td:first-child,.bui-grid-table tr th:first-child{border-left-width:0;}.bui-grid-table .bui-grid-hd-inner{background-color:#f4f4f4;background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e4e4e4));background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#e4e4e4',GradientType=0);}.bui-grid-table .bui-grid-hd-inner{height:24px;overflow:hidden;font-weight:normal;background-position:0 0;position:relative;}.bui-grid-table .bui-grid-hd-title{line-height:22px;font-size:12px;padding:0 4px 0 4px;}.bui-grid-table .bui-grid-sort-icon{display:inline-block;*display:inline;*zoom:1;height:15px;width:15px;}.bui-grid-table .bui-grid-hd-menu-trigger{cursor:pointer;display:none;position:absolute;right:0;top:0;width:14px;height:24px;background-position:0 -140px;}.bui-grid-table th.sortable{cursor:pointer;}.bui-grid-table .bui-grid-hd-hover .bui-grid-hd-inner,.bui-grid-table .bui-grid-hd-open .bui-grid-hd-inner{background-color:#e0e6fc;background-image:-moz-linear-gradient(top,#e0e6fc,#e0e6fc);background-image:-ms-linear-gradient(top,#e0e6fc,#e0e6fc);background-image:-webkit-gradient(linear,0 0,0 100%,from(#e0e6fc),to(#e0e6fc));background-image:-webkit-linear-gradient(top,#e0e6fc,#e0e6fc);background-image:-o-linear-gradient(top,#e0e6fc,#e0e6fc);background-image:linear-gradient(top,#e0e6fc,#e0e6fc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e0e6fc',endColorstr='#e0e6fc',GradientType=0);}.bui-grid-table .bui-grid-hd-hover .bui-grid-hd-menu-trigger,.bui-grid-table .bui-grid-hd-open .bui-grid-hd-menu-trigger{display:block;}.bui-grid-table .sort-asc .bui-grid-sort-icon{background-position:5px -52px;}.bui-grid-table .sort-asc:hover .bui-grid-sort-icon{background-position:5px -92px;}.bui-grid-table .sort-desc .bui-grid-sort-icon{background-position:5px -72px;}.bui-grid-table .sort-desc:hover .bui-grid-sort-icon{background-position:5px -112px;}.bui-grid-table .grid-header-checked-column,.bui-grid-table .bui-grid-row-checked-column{text-align:center;width:30px;vertical-align:middle;border-left-width:0;}.bui-grid-table .grid-header-checked-column .bui-grid-hd-inner,.bui-grid-table .bui-grid-row-checked-column .bui-grid-cell-inner{width:30px;}.bui-grid-table .bui-grid-cell{overflow:hidden;border-top:1px solid #ededed;position:relative;}.bui-grid-table .bui-grid-cell-empty{border-top:1px solid #ededed;}.bui-grid-table .bui-grid-body .bui-grid-row-first td{border-top:none;}.bui-grid-table .bui-grid-body .bui-grid-table{border-bottom:1px solid #ededed;}.bui-grid-table .bui-grid-header-row .bui-grid-cell-empty{line-height:0;border:none;}.bui-grid-table .bui-grid-cell-inner{padding:2px 0;position:relative;overflow:hidden;}.bui-grid-table .bui-grid-cell-text{padding:0 4px;display:block;min-height:20px;min-width:25px;_height:20px;}.bui-grid-table .bui-grid-error-cell .bui-grid-cell-text{padding-right:20px;}.bui-grid-table .bui-grid-error-cell{position:relative;}.bui-grid-table .bui-grid-cell,.bui-grid-table .bui-grid-cell-empty{word-break:break-all;word-wrap:break-word;}.bui-grid-table .grid-command{color:#36c;cursor:pointer;display:inline-block;margin-right:5px;}.bui-grid-table .grid-command:hover{color:#f60;}.bui-grid-table .grid-command.disable{color:#ccc;}td.bui-grid-cell-empty{height:0;line-height:0;}.bui-grid-height .bui-grid-body{overflow-x:auto;overflow-y:scroll;position:relative;}.bui-grid-strip .bui-grid-row-odd{background-color:#fff;}.bui-grid-strip .bui-grid-row-even{background-color:#fafafa;}.bui-simple-grid .bui-grid-table .bui-grid-row-hover,.bui-grid .bui-grid-table .bui-grid-row-hover{background-color:#dee5ff;}.bui-simple-grid .bui-grid-table .bui-grid-row-selected,.bui-grid .bui-grid-table .bui-grid-row-selected{background-color:#ccd7ff;}.bui-grid .bui-pagingbar{float:right;margin-top:3px;}.bui-grid-tbar,.bui-grid-bbar{*zoom:1;}.bui-grid-tbar:before,.bui-grid-bbar:before,.bui-grid-tbar:after,.bui-grid-bbar:after{display:table;content:"";}.bui-grid-tbar:after,.bui-grid-bbar:after{clear:both;}.bui-grid-tbar{height:34px;line-height:34px;}.bui-grid-bbar{background-color:#f4f4f4;background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e4e4e4));background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#e4e4e4',GradientType=0);border:1px solid #ddd;border-top:none;}.bui-grid-radio-container,.bui-grid-checkBox-container{text-align:center;}.bui-grid .x-grid-checkbox{background:url("http://img04.taobaocdn.com/tps/i4/T1YTNJFadfXXX6DYsb-100-100.gif") no-repeat 0 3px transparent;width:13px;height:20px;display:inline-block;*display:inline;*zoom:1;}.x-grid-checkbox:hover{background-position:-16px 3px;}.bui-grid-row-selected .x-grid-checkbox,.checked .x-grid-checkbox{background-position:0 -18px;}.bui-grid-row-disabled .x-grid-checkbox{background-position:-48px 3px;}.bui-grid-row-selected.bui-grid-row-disabled .x-grid-checkbox{background-position:-48px -18px;}.bui-grid-cascade{vertical-align:middle;}.bui-grid-cascade-icon{cursor:pointer;display:inline-block;*display:inline;*zoom:1;height:10px;width:10px;background-position:0 -440px;}.bui-grid-cascade-expand .bui-grid-cascade-icon{background-position:-30px -440px;}.bui-grid-cascade-collapse{display:none;}.grid-column-menu .bui-menu-item-selected .icon{background-position:-144px -72px;}.bui-grid-cell-error{position:absolute;right:10px;top:6px;}.bui-grid-header .table{height:auto;}.bui-grid-summary-row{font-weight:bold;}.bui-grid-summary-row:first-child td{border-top:1px solid #c5c5c5;}.lp-ext-mask,.lp-el-mask,.bui-ext-mask{height:100%;left:0;opacity:.25;filter:alpha(opacity=25);position:absolute;top:0;width:100%;z-index:1040;background-color:#333;}.x-masked SELECT{_visibility:hidden;}.x-masked .bui-dialog SELECT{_visibility:visible;}.x-masked-relative{position:relative!important;}.lp-el-mask-msg,.bui-ext-mask-msg{background:none repeat-x scroll 0 -16px #e8e9ef;border:1px solid #c3c3d6;left:0;padding:2px;position:absolute;top:0;z-index:1050;}.lp-el-mask-msg div{border:1px solid;cursor:wait;padding:5px 10px;background-color:#fff;border-color:#c3c3d6;color:#333;}.x-mask-loading div{background:none no-repeat scroll 5px 5px #fff;line-height:16px;padding:5px 10px 5px 25px;background-image:url("http://img01.taobaocdn.com/tps/i1/T1BHtLFbFdXXaHNz_X-16-16.gif");}.node-info-container,.node-title-container{position:absolute;}.node-info-container{border:1px dashed #c3c3d6;padding:5px;line-height:14px;font-size:11px;z-index:10;opacity:.9;filter:alpha(opacity=90);background-color:#fff;}.node-info-container li{line-height:14px;}.node-info-container .bui-caret{position:absolute;top:-7px;*top:-12px;left:2px;}.node-info-container .table{border:1px solid #c3c3d6;border-left:0;border-bottom:0;border-collapse:separate;border-spacing:0;}.node-info-container .table td,.node-info-container .table th{border-left:1px solid #c3c3d6;border-bottom:1px solid #c3c3d6;}.node-info-container-selected{z-index:11;}.node-pos-top .bui-caret{top:auto;left:auto;bottom:-7px;left:2px;}input.bui-form-field-error,textarea.bui-form-field-error,.bui-form-field-error input[type="text"]{border:1px dotted red;}.x-field-error{margin-left:5px;}.x-field-error .x-field-error-text{padding-left:5px;color:#fe0000;}.bui-form-field-disabled.calendar{background-color:#ebebe4;}.bui-form-tip-container{position:relative;}.bui-form-tip{padding-left:5px;color:#999;}.bui-form-tip .tip-text{margin-left:5px;*white-space:nowrap;}.bui-form-tip .icon{opacity:.5;filter:alpha(opacity=50);}.calendar{background:url("http://img04.taobaocdn.com/tps/i4/T1kBv5XbRbXXb.nqL4-200-300.gif") no-repeat right -130px #fff;}.bui-calendar{border:1px solid #c3c3d6;background-color:#fff;position:relative;}.x-datepicker-arrow .icon{margin-top:2px;*overflow:hidden;}.x-datepicker-arrow .icon-caret-right{margin-left:2px;}.x-datepicker-header{position:relative;height:26px;line-height:26px;background-color:#36c;}.x-datepicker-month{text-align:center;}.month-text-container{display:inline-block;*display:inline;*zoom:1;cursor:pointer;font-weight:bold;color:#fff;}.month-text-container .bui-caret{border-top-color:#fff;margin-left:5px;}.x-datepicker-arrow{line-height:14px;text-align:center;display:inline-block;cursor:pointer;}.x-datepicker-prev,.x-datepicker-next{position:absolute;top:5px;width:14px;height:14px;border:1px solid #3340cc;}.x-datepicker-prev{left:5px;}.x-datepicker-next{right:5px;}.bui-calendar-panel{outline:none;}table.x-datepicker-inner{width:100%;table-layout:fixed;}.x-datepicker-inner,.x-datepicker-inner td,.x-datepicker-inner th{border-collapse:separate;}table.x-datepicker-inner tr{height:20px;}table.x-datepicker-inner th{width:25px;height:19px;padding:0;color:#333;font:normal 10px tahoma,arial,verdana,sans-serif;text-align:right;background-color:#f4f4f4;background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e4e4e4));background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#e4e4e4',GradientType=0);border-bottom:1px solid #c3c3d6;cursor:default;}table.x-datepicker-inner th span{display:block;padding-right:7px;}.x-datepicker-date{border:1px solid;height:17px;border-color:white;text-align:right;padding:0;}.x-datepicker-date a{outline:none;padding-right:4px;display:block;zoom:1;font:normal 11px tahoma,arial,verdana,sans-serif;color:#333;text-decoration:none;text-align:right;border:1px solid #fff;}.x-datepicker-prevday a,.x-datepicker-nextday a,.x-datepicker-disabled a{text-decoration:none!important;color:#aaa;}.x-datepicker-date a:hover{text-decoration:none!important;color:#333;background-color:#dee5ff;border:1px solid #ccd7ff;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.x-datepicker-today a{border:1px solid;color:#36c;border:1px solid #99afff;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.x-datepicker-active{cursor:pointer;color:#333;}.x-datepicker-disabled a:hover{color:#aaa;border-color:#fff;background:none;}.x-datepicker-selected a{background:repeat-x left top;background-color:#ccd7ff;border:1px solid #99afff;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}input.x-datepicker-time{width:15px;height:15px;cursor:pointer;}.x-datepicker-second{margin-right:5px;}.bui-calendar-footer,.x-monthpicker-footer{height:30px;line-height:30px;border-top:1px solid #c3c3d6;text-align:center;background-color:#f4f4f4;background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e4e4e4));background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#e4e4e4',GradientType=0);}.bui-calendar-footer .button,.x-monthpicker-footer .button{margin-right:10px;}.bui-calendar-footer button.last,.x-monthpicker-footer button.last{margin-right:0;}.bui-calendar-footer .bui-bar-item-button,.x-monthpicker-footer .bui-bar-item-button{*margin-top:4px;}.bui-monthpicker,.x-monthpicker{border:1px solid #c3c3d6;position:absolute;background-color:#fff;top:0;left:0;}.bui-calendar .bui-monthpicker{top:-1px;left:-1px;}.x-monthpicker-yearnav .icon{margin-top:2px;*margin-left:2px;*overflow:hidden;}.x-monthpicker-months,.x-monthpicker-years{height:167px;width:88px;}.x-monthpicker-months{float:left;border-right:1px solid #c3c3d6;width:87px;}.x-monthpicker-years{margin-left:88px;}.x-monthpicker-item,.x-timepicker .bui-list-item{float:left;margin:4px 0 5px 0;font:normal 11px tahoma,arial,verdana,sans-serif;text-align:center;vertical-align:middle;height:18px;width:43px;border:0 none;}.x-monthpicker-item a,.x-timepicker .bui-list-item a{display:block;margin:0 2px;text-decoration:none;color:#333;border:1px solid white;line-height:17px;}.x-monthpicker-item-selected a,.x-timepicker .bui-list-item-selected a{background-color:#ccd7ff;border:1px solid #99afff;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.x-monthpicker-item-hover a,.x-timepicker .bui-list-item-hover a{color:black;background-color:#dee5ff;border:1px solid #ccd7ff;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.x-monthpicker-yearnav{height:28px;}.x-monthpicker-yearnav .x-icon{margin:6px 12px 5px 13px;cursor:pointer;opacity:.7;filter:alpha(opacity=70);}.x-monthpicker-yearnav .x-icon:hover{opacity:.8;filter:alpha(opacity=80);}.x-timepicker{width:180px;background-color:#fff;border:1px solid #c3c3d6;border-bottom-color:#c3c3d6;}.x-timepicker ul{*zoom:1;}.x-timepicker ul:before,.x-timepicker ul:after{display:table;content:"";}.x-timepicker ul:after{clear:both;}.x-timepicker .bui-list-item{height:15px;width:20px;}.x-editor-tips{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;border:1px solid #e5a098;background-color:#fff;padding:4px;}.bui-record-editor{padding:3px 0 3px 3px;border:1px solid #c3c3d6;background-color:white;}.bui-record-editor .button{*margin-top:5px;}.bui-record-editor .bui-bar{width:150px;position:absolute;left:40%;background-color:white;border:1px solid #c3c3d6;border-top:none;border-radius:0 0 3px 3px;bottom:-37px;}.bui-record-editor .bui-form-field{padding-right:3px;}.bui-record-editor .x-form-text{background-color:#fff;display:inline-block;height:18px;padding:1px 4px;border:1px solid #c3c3d6;}.bui-tree-list{border:1px solid #c3c3d6;overflow:auto;background-color:#fff;}.bui-tree-list ul{overflow:hidden;}.bui-tree-item{height:20px;cursor:pointer;}.bui-tree-item-hover{background-color:#dee5ff;}.bui-tree-item-selected{background-color:#ccd7ff;}.bui-tree-item-disabled{color:#ccc;}.x-tree-icon{display:inline-block;*display:inline;*zoom:1;vertical-align:top;height:20px;width:16px;}.x-tree-elbow-expander,.x-tree-elbow-dir,.x-tree-elbow-leaf,.x-tree-elbow-line,.x-tree-elbow,.x-tree-elbow-expander-end,.x-tree-elbow-end{background:url("http://img04.taobaocdn.com/tps/i4/T1rbpNFaJXXXbylH7R-80-100.gif") no-repeat -999px -999px transparent;}.x-tree-icon-checkbox{background:url("http://img04.taobaocdn.com/tps/i4/T1YTNJFadfXXX6DYsb-100-100.gif") no-repeat 0 0 transparent;}.x-tree-elbow-expander{background-position:0 0;}.bui-tree-item-expanded .x-tree-elbow-expander{background-position:-16px 0;}.x-tree-elbow-expander:hover{background-position:-32px 0;}.bui-tree-item-expanded .x-tree-elbow-expander:hover{background-position:-48px 0;}.x-tree-elbow-dir,.x-tree-elbow-leaf{margin:2px 3px 0 0;}.x-tree-elbow-dir{background-position:0 -80px;}.bui-tree-item-expanded .x-tree-elbow-dir{background-position:-20px -80px;}.x-tree-elbow-leaf{background-position:-40px -80px;}.x-tree-show-line .x-tree-elbow{background-position:0 -20px;}.x-tree-show-line .x-tree-elbow-end{background-position:-20px -20px;}.x-tree-show-line .x-tree-elbow-line{background-position:-40px -20px;}.x-tree-show-line .x-tree-elbow-expander,.x-tree-show-line .x-tree-elbow-expander:hover{background-position:-60px -40px;}.x-tree-show-line .x-tree-elbow-expander-end{background-position:-20px -40px;}.x-tree-show-line .bui-tree-item-expanded .x-tree-elbow-expander{background-position:-40px -40px;}.x-tree-show-line .bui-tree-item-expanded .x-tree-elbow-expander-end{background-position:0 -40px;}.bui-tree-list .bui-tree-item-loading .x-tree-elbow-expander{background:url("http://img01.taobaocdn.com/tps/i1/T1BHtLFbFdXXaHNz_X-16-16.gif") no-repeat 0 0 transparent;}.bui-tree-item-checked{font-style:italic;}.x-tree-icon-checkbox:hover{background-position:-16px 0;}.bui-tree-item-checked .x-tree-icon-checkbox{background-position:0 -20px;}.bui-tree-item-checked .x-tree-icon-checkbox:hover{background-position:-16px -20px;}.bui-tree-item-partial-checked .x-tree-icon-checkbox{background-position:0 -40px;}.bui-tree-item-partial-checked .x-tree-icon-checkbox:hover{background-position:-16px -40px;}.bui-tree-item-disabled .x-tree-icon-checkbox{background-position:-48px 0;}.bui-tree-item-checked.bui-tree-item-disabled .x-tree-icon-checkbox{background-position:-48px -20px;}.x-align-arrow,.x-align-arrow-inner{border:6px solid transparent;_border-color:tomato;_filter:chroma(color=#ff6347);position:absolute;}.x-align-top .x-align-arrow,.x-align-top-left .x-align-arrow,.x-align-top-right .x-align-arrow{border-top:8px solid #c3c3d6;bottom:-15px;}.x-align-top .x-align-arrow-inner,.x-align-top-left .x-align-arrow-inner,.x-align-top-right .x-align-arrow-inner{border-top:8px solid #fff;top:-9px;left:-6px;}.x-align-top .x-align-arrow,.x-align-bottom .x-align-arrow{left:50%;}.x-align-top-left .x-align-arrow,.x-align-bottom-left .x-align-arrow{left:10px;}.x-align-top-right .x-align-arrow,.x-align-bottom-right .x-align-arrow{right:10px;}.x-align-right .x-align-arrow{border-right:8px solid #c3c3d6;top:50%;left:-15px;}.x-align-right .x-align-arrow-inner{border-right:8px solid #fff;top:-6px;left:-4px;}.x-align-left .x-align-arrow{border-left:8px solid #c3c3d6;top:50%;right:-15px;}.x-align-left .x-align-arrow-inner{border-left:8px solid #fff;top:-6px;left:-9px;}.x-align-bottom .x-align-arrow,.x-align-bottom-left .x-align-arrow,.x-align-bottom-right .x-align-arrow{border-bottom:8px solid #c3c3d6;top:-15px;}.x-align-bottom .x-align-arrow-inner,.x-align-bottom-left .x-align-arrow-inner,.x-align-bottom-right .x-align-arrow-inner{border-bottom:8px solid #fff;top:-5px;left:-6px;}.tips[class^="x-align-top"] .x-align-arrow,.tips[class*=" x-align-top"] .x-align-arrow{border-top-color:#e5e5e5;}.tips[class^="x-align-top"] .x-align-arrow-inner,.tips[class*=" x-align-top"] .x-align-arrow-inner{border-top-color:#fafafa;}.tips.x-align-right .x-align-arrow{border-right-color:#e5e5e5;}.tips.x-align-right .x-align-arrow-inner{border-right-color:#fafafa;}.tips.x-align-left .x-align-arrow{border-left-color:#e5e5e5;}.tips.x-align-left .x-align-arrow-inner{border-left-color:#fafafa;}.tips[class^="x-align-bottom"] .x-align-arrow,.tips[class*=" x-align-bottom"] .x-align-arrow{border-bottom-color:#e5e5e5;}.tips[class^="x-align-bottom"] .x-align-arrow-inner,.tips[class*=" x-align-bottom"] .x-align-arrow-inner{border-bottom-color:#fafafa;}.tips-success[class^="x-align-top"] .x-align-arrow,.tips-success[class*=" x-align-top"] .x-align-arrow{border-top-color:#aae77f;}.tips-success[class^="x-align-top"] .x-align-arrow-inner,.tips-success[class*=" x-align-top"] .x-align-arrow-inner{border-top-color:#f0ffe5;}.tips-success.x-align-right .x-align-arrow{border-right-color:#aae77f;}.tips-success.x-align-right .x-align-arrow-inner{border-right-color:#f0ffe5;}.tips-success.x-align-left .x-align-arrow{border-left-color:#aae77f;}.tips-success.x-align-left .x-align-arrow-inner{border-left-color:#f0ffe5;}.tips-success[class^="x-align-bottom"] .x-align-arrow,.tips-success[class*=" x-align-bottom"] .x-align-arrow{border-bottom-color:#aae77f;}.tips-success[class^="x-align-bottom"] .x-align-arrow-inner,.tips-success[class*=" x-align-bottom"] .x-align-arrow-inner{border-bottom-color:#f0ffe5;}.tips-warning[class^="x-align-top"] .x-align-arrow,.tips-warning[class*=" x-align-top"] .x-align-arrow{border-top-color:#ffb2b2;}.tips-warning[class^="x-align-top"] .x-align-arrow-inner,.tips-warning[class*=" x-align-top"] .x-align-arrow-inner{border-top-color:#fff3f3;}.tips-warning.x-align-right .x-align-arrow{border-right-color:#ffb2b2;}.tips-warning.x-align-right .x-align-arrow-inner{border-right-color:#fff3f3;}.tips-warning.x-align-left .x-align-arrow{border-left-color:#ffb2b2;}.tips-warning.x-align-left .x-align-arrow-inner{border-left-color:#fff3f3;}.tips-warning[class^="x-align-bottom"] .x-align-arrow,.tips-warning[class*=" x-align-bottom"] .x-align-arrow{border-bottom-color:#ffb2b2;}.tips-warning[class^="x-align-bottom"] .x-align-arrow-inner,.tips-warning[class*=" x-align-bottom"] .x-align-arrow-inner{border-bottom-color:#fff3f3;}.tips-info[class^="x-align-top"] .x-align-arrow,.tips-info[class*=" x-align-top"] .x-align-arrow{border-top-color:#acd5ff;}.tips-info[class^="x-align-top"] .x-align-arrow-inner,.tips-info[class*=" x-align-top"] .x-align-arrow-inner{border-top-color:#e6f2ff;}.tips-info.x-align-right .x-align-arrow{border-right-color:#acd5ff;}.tips-info.x-align-right .x-align-arrow-inner{border-right-color:#e6f2ff;}.tips-info.x-align-left .x-align-arrow{border-left-color:#acd5ff;}.tips-info.x-align-left .x-align-arrow-inner{border-left-color:#e6f2ff;}.tips-info[class^="x-align-bottom"] .x-align-arrow,.tips-info[class*=" x-align-bottom"] .x-align-arrow{border-bottom-color:#acd5ff;}.tips-info[class^="x-align-bottom"] .x-align-arrow-inner,.tips-info[class*=" x-align-bottom"] .x-align-arrow-inner{border-bottom-color:#e6f2ff;}.tips-notice[class^="x-align-top"] .x-align-arrow,.tips-notice[class*=" x-align-top"] .x-align-arrow{border-top-color:#ffcc7f;}.tips-notice[class^="x-align-top"] .x-align-arrow-inner,.tips-notice[class*=" x-align-top"] .x-align-arrow-inner{border-top-color:#ffffe5;}.tips-notice.x-align-right .x-align-arrow{border-right-color:#ffcc7f;}.tips-notice.x-align-right .x-align-arrow-inner{border-right-color:#ffffe5;}.tips-notice.x-align-left .x-align-arrow{border-left-color:#ffcc7f;}.tips-notice.x-align-left .x-align-arrow-inner{border-left-color:#ffffe5;}.tips-notice[class^="x-align-bottom"] .x-align-arrow,.tips-notice[class*=" x-align-bottom"] .x-align-arrow{border-bottom-color:#ffcc7f;}.tips-notice[class^="x-align-bottom"] .x-align-arrow-inner,.tips-notice[class*=" x-align-bottom"] .x-align-arrow-inner{border-bottom-color:#ffffe5;}.pull-right{float:right;}.pull-left{float:left;}.pull-none{float:none;}.hide{display:none;}.show{display:block;}.invisible{visibility:hidden;}.bordered{border:1px solid #c3c3d6;}.bordered-radius{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.centered{text-align:center;}.pull-right{float:right;}.pull-left{float:left;}.pull-none{float:none;}.hide{display:none;}.show{display:block;}.invisible{visibility:hidden;}.bui-inline-block{display:inline-block;*display:inline;*zoom:1;}.bui-ext-mask{background-color:#333;opacity:.5;filter:alpha(opacity=50);}.bui-overlay{position:absolute;left:-9999px;top:-9999px;}.bui-clear{*zoom:1;}.bui-clear:before,.bui-clear:after{display:table;content:"";}.bui-clear:after{clear:both;}.bui-hidden{display:none;} \ No newline at end of file diff --git a/源码/src/main/webapp/resource/assets/css/dpl-min.css b/源码/src/main/webapp/resource/assets/css/dpl-min.css new file mode 100644 index 0000000..91f632c --- /dev/null +++ b/源码/src/main/webapp/resource/assets/css/dpl-min.css @@ -0,0 +1 @@ +/*!* LP.DPL * * Copyright 2012 alibaba * Licensed under the Apache License v2.0 * http://www.apache.org/licenses/LICENSE-2.0 * * Remixed by lp-ued team. */ /*!* Bootstrap v2.0.2 * * Copyright 2012 Twitter,Inc * Licensed under the Apache License v2.0 * http://www.apache.org/licenses/LICENSE-2.0 * * Designed and built with all the love in the world @twitter by @mdo and @fat. */ .clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";}.clearfix:after{clear:both;}.hide-text{overflow:hidden;text-indent:100%;white-space:nowrap;}.input-block-level{display:block;width:100%;min-height:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;}body{margin:0;font-family:"SimSun","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;line-height:18px;color:#333;background-color:#fff;}p{margin:9px 0;font-family:"SimSun","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;line-height:18px;}p small{font-size:10px;color:#999;}.lead{margin-bottom:18px;font-size:14px;font-weight:200;line-height:27px;}h1,h2,h3,h4,h5,h6{margin:0;font-family:inherit;font-weight:bold;color:inherit;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;color:#999;}h1{font-size:16px;line-height:24px;}h1 small{font-size:14px;}h2{font-size:14px;line-height:21px;}h2 small{font-size:12px;}h3{line-height:18px;font-size:12px;}h3 small{font-size:12px;}h4,h5,h6{line-height:18px;}h4{font-size:12px;}h4 small{font-size:12px;}h5{font-size:12px;}h6{font-size:11px;color:#999;text-transform:uppercase;}.page-header{padding-bottom:17px;margin:18px 0;border-bottom:1px solid #eee;}.page-header h1{line-height:1;}.auxiliary-text{color:#999;}.number-text,.letter-text{font-family:"Tahoma","SimSun";}ul,ol{padding:0;margin:0 0 9px 25px;}ul ul,ul ol,ol ol,ol ul{margin-bottom:0;}ul{list-style:disc;}ol{list-style:decimal;}li{line-height:22px;}ul.unstyled,ol.unstyled{margin-left:0;list-style:none;}dl{margin-bottom:18px;}dt,dd{line-height:18px;}dt{font-weight:bold;line-height:17px;}dd{margin-left:9px;}.dl-horizontal dt{float:left;clear:left;width:120px;text-align:right;}.dl-horizontal dd{margin-left:130px;}hr{margin:18px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff;}strong{font-weight:bold;}em{font-style:italic;}.muted{color:#999;}abbr[title]{border-bottom:1px dotted #ddd;cursor:help;}abbr.initialism{font-size:90%;text-transform:uppercase;}blockquote{padding:0 0 0 15px;margin:0 0 18px;border-left:5px solid #eee;}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:22.5px;}blockquote small{display:block;line-height:18px;color:#999;}blockquote small:before{content:'\2014 \00A0';}blockquote.pull-right{float:right;padding-left:0;padding-right:15px;border-left:0;border-right:5px solid #eee;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;}q:before,q:after,blockquote:before,blockquote:after{content:"";}address{display:block;margin-bottom:18px;line-height:18px;font-style:normal;}small{font-size:100%;}cite{font-style:normal;}a{color:#36c;text-decoration:none;}a:hover{color:#f60;text-decoration:underline;}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;}audio,canvas,video{display:inline-block;*display:inline;*zoom:1;}audio:not([controls]){display:none;}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}a:hover,a:active{outline:0;}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;}sup{top:-0.5em;}sub{bottom:-0.25em;}img{height:auto;border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;}ul{list-style:none;margin:0;}button,input,select,textarea{margin:0;font-family:"SimSun","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:100%;}button,input{*overflow:visible;line-height:normal;}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0;}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;}textarea{overflow:auto;vertical-align:top;}em{font-style:normal;}s{text-decoration:none;}.span1,.span2,.span3,.span4,.span5,.span6,.span7,.span8,.span9,.span10,.span11,.span12,.span13,.span14,.span15,.span16,.span17,.span18,.span19,.span20,.span21,.span22,.span23,.span24{_float:left;_margin-left:10px;_display:inline;_zoom:1;}.row{margin-left:-10px;*zoom:1;}.row:before,.row:after{display:table;content:"";}.row:after{clear:both;}[class*="span"]{float:left;margin-left:10px;}.container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:950px;}.span24{width:950px;}.span23{width:910px;}.span22{width:870px;}.span21{width:830px;}.span20{width:790px;}.span19{width:750px;}.span18{width:710px;}.span17{width:670px;}.span16{width:630px;}.span15{width:590px;}.span14{width:550px;}.span13{width:510px;}.span12{width:470px;}.span11{width:430px;}.span10{width:390px;}.span9{width:350px;}.span8{width:310px;}.span7{width:270px;}.span6{width:230px;}.span5{width:190px;}.span4{width:150px;}.span3{width:110px;}.span2{width:70px;}.span1{width:30px;}.offset24{margin-left:970px;}.offset23{margin-left:930px;}.offset22{margin-left:890px;}.offset21{margin-left:850px;}.offset20{margin-left:810px;}.offset19{margin-left:770px;}.offset18{margin-left:730px;}.offset17{margin-left:690px;}.offset16{margin-left:650px;}.offset15{margin-left:610px;}.offset14{margin-left:570px;}.offset13{margin-left:530px;}.offset12{margin-left:490px;}.offset11{margin-left:450px;}.offset10{margin-left:410px;}.offset9{margin-left:370px;}.offset8{margin-left:330px;}.offset7{margin-left:290px;}.offset6{margin-left:250px;}.offset5{margin-left:210px;}.offset4{margin-left:170px;}.offset3{margin-left:130px;}.offset2{margin-left:90px;}.offset1{margin-left:50px;}.row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";}.row-fluid:after{clear:both;}.row-fluid>[class*="span"]{float:left;margin-left:1.0526315789%;}.row-fluid>[class*="span"]:first-child{margin-left:0;}.row-fluid .span24{width:99.9999999979%;}.row-fluid .span23{width:95.7894736822%;}.row-fluid .span22{width:91.57894736649999%;}.row-fluid .span21{width:87.3684210508%;}.row-fluid .span20{width:83.1578947351%;}.row-fluid .span19{width:78.9473684194%;}.row-fluid .span18{width:74.7368421037%;}.row-fluid .span17{width:70.526315788%;}.row-fluid .span16{width:66.3157894723%;}.row-fluid .span15{width:62.105263156599996%;}.row-fluid .span14{width:57.8947368409%;}.row-fluid .span13{width:53.6842105252%;}.row-fluid .span12{width:49.4736842095%;}.row-fluid .span11{width:45.2631578938%;}.row-fluid .span10{width:41.0526315781%;}.row-fluid .span9{width:36.8421052624%;}.row-fluid .span8{width:32.6315789467%;}.row-fluid .span7{width:28.421052631000002%;}.row-fluid .span6{width:24.2105263153%;}.row-fluid .span5{width:19.9999999996%;}.row-fluid .span4{width:15.789473683899999%;}.row-fluid .span3{width:11.5789473682%;}.row-fluid .span2{width:7.3684210525%;}.row-fluid .span1{width:3.1578947368%;}[class*="span"]>[class*="span"]:first-child{margin-left:0;}.row-fluid{_margin-left:-10px;}.span-first{margin-left:0;}.span-width{margin-left:0;float:none;}.container{margin-left:auto;margin-right:auto;*zoom:1;}.container:before,.container:after{display:table;content:"";}.container:after{clear:both;}.container-fluid{padding-left:10px;padding-right:10px;*zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";}.container-fluid:after{clear:both;}.label{display:inline-block;*display:inline;*zoom:1;padding:1px 4px 2px;font-size:10.152px;font-weight:bold;line-height:15px;color:#fff;vertical-align:middle;white-space:nowrap;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#999;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.label:hover{color:#fff;text-decoration:none;}.label-important{background-color:#fe0000;}.label-important:hover{background-color:#cb0000;}.label-warning{background-color:#f89406;}.label-warning:hover{background-color:#c67605;}.label-success{background-color:#468847;}.label-success:hover{background-color:#356635;}.label-info{background-color:#3a87ad;}.label-info:hover{background-color:#2d6987;}.label-inverse{background-color:#333;}.label-inverse:hover{background-color:#1a1a1a;}.badge{padding:1px 9px 2px;font-size:11.100000000000001px;font-weight:bold;white-space:nowrap;color:#fff;background-color:#999;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px;}.badge:hover{color:#fff;text-decoration:none;cursor:pointer;}.badge-error{background-color:#fe0000;}.badge-error:hover{background-color:#cb0000;}.badge-warning{background-color:#f89406;}.badge-warning:hover{background-color:#c67605;}.badge-success{background-color:#468847;}.badge-success:hover{background-color:#356635;}.badge-info{background-color:#3a87ad;}.badge-info:hover{background-color:#2d6987;}.badge-inverse{background-color:#333;}.badge-inverse:hover{background-color:#1a1a1a;}.x-icon{display:inline-block;*display:inline;*zoom:1;font-size:20px;font-weight:bold;font-family:"Arial";text-align:center;height:22px;width:22px;line-height:22px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;text-shadow:0 -1px 0 rgba(0,0,0,0.25);border:1px solid transparent;*position:relative;cursor:inherit;}.x-icon i{vertical-align:baseline;*position:absolute;*top:4px;*left:2px;}.x-icon-normal{text-shadow:none;color:#9ca0b1;background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-ms-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(top,#fff,#e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#e6e6e6',GradientType=0);border-color:#e6e6e6 #e6e6e6 #c0c0c0;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border:1px solid #b3b3b3;}.x-icon-normal:hover,.x-icon-normal:active,.x-icon-normal.active,.x-icon-normal.disabled{background-color:#e6e6e6;}.x-icon-normal[disabled]{background-color:#e6e6e6;}.x-icon-normal:active,.x-icon-normal.active{background-color:#cdcdcd \9;}.x-icon-small{font-size:17px;*font-size:15px;height:14px;width:14px;line-height:14px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;}.x-icon-small i{*position:absolute;*top:0;*left:0;}.x-icon-mini{font-size:14px;*font-size:12px;height:12px;width:12px;line-height:12px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;}.x-icon-mini i{*position:absolute;*top:0;*left:0;}.x-icon-disable{background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#fff,#ececec);background-image:-ms-linear-gradient(top,#fff,#ececec);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#ececec));background-image:-webkit-linear-gradient(top,#fff,#ececec);background-image:-o-linear-gradient(top,#fff,#ececec);background-image:linear-gradient(top,#fff,#ececec);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#ececec',GradientType=0);border-color:#ececec #ececec #c6c6c6;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);color:#d5d5d5;border:1px solid #dfdfdf;}.x-icon-disable:hover,.x-icon-disable:active,.x-icon-disable.active,.x-icon-disable.disabled{background-color:#ececec;}.x-icon-disable[disabled]{background-color:#ececec;}.x-icon-disable:active,.x-icon-disable.active{background-color:#d3d3d3 \9;}.x-icon-hover,.x-icon-normal:hover{background-color:#f2f2f2;background-image:-moz-linear-gradient(top,#fff,#dedede);background-image:-ms-linear-gradient(top,#fff,#dedede);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#dedede));background-image:-webkit-linear-gradient(top,#fff,#dedede);background-image:-o-linear-gradient(top,#fff,#dedede);background-image:linear-gradient(top,#fff,#dedede);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#dedede',GradientType=0);border-color:#dedede #dedede #b8b8b8;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);color:#73787d;border:1px solid #a6a6c1;}.x-icon-hover:hover,.x-icon-normal:hover:hover,.x-icon-hover:active,.x-icon-normal:hover:active,.x-icon-hover.active,.x-icon-normal:hover.active,.x-icon-hover.disabled,.x-icon-normal:hover.disabled{background-color:#dedede;}.x-icon-hover[disabled],.x-icon-normal:hover[disabled]{background-color:#dedede;}.x-icon-hover:active,.x-icon-normal:hover:active,.x-icon-hover.active,.x-icon-normal:hover.active{background-color:#c5c5c5 \9;}.x-icon-success{color:#fff;background-color:#5bb75b;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-ms-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(top,#62c462,#51a351);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462',endColorstr='#51a351',GradientType=0);border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);}.x-icon-success:hover,.x-icon-success:active,.x-icon-success.active,.x-icon-success.disabled{background-color:#51a351;}.x-icon-success[disabled]{background-color:#51a351;}.x-icon-success:active,.x-icon-success.active{background-color:#408140 \9;}.x-icon-warning{color:#fff;background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-ms-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(top,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450',endColorstr='#f89406',GradientType=0);border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);}.x-icon-warning:hover,.x-icon-warning:active,.x-icon-warning.active,.x-icon-warning.disabled{background-color:#f89406;}.x-icon-warning[disabled]{background-color:#f89406;}.x-icon-warning:active,.x-icon-warning.active{background-color:#c67605 \9;}.x-icon-error{color:#fff;background-color:#da4f49;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-ms-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(top,#ee5f5b,#bd362f);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b',endColorstr='#bd362f',GradientType=0);border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);}.x-icon-error:hover,.x-icon-error:active,.x-icon-error.active,.x-icon-error.disabled{background-color:#bd362f;}.x-icon-error[disabled]{background-color:#bd362f;}.x-icon-error:active,.x-icon-error.active{background-color:#942a25 \9;}.x-icon-info,.x-icon-question{color:#fff;background-color:#0087e8;background-image:-moz-linear-gradient(top,#0096e8,#0071e7);background-image:-ms-linear-gradient(top,#0096e8,#0071e7);background-image:-webkit-gradient(linear,0 0,0 100%,from(#0096e8),to(#0071e7));background-image:-webkit-linear-gradient(top,#0096e8,#0071e7);background-image:-o-linear-gradient(top,#0096e8,#0071e7);background-image:linear-gradient(top,#0096e8,#0071e7);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0096e8',endColorstr='#0071e7',GradientType=0);border-color:#0071e7 #0071e7 #004c9b;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);}.x-icon-info:hover,.x-icon-question:hover,.x-icon-info:active,.x-icon-question:active,.x-icon-info.active,.x-icon-question.active,.x-icon-info.disabled,.x-icon-question.disabled{background-color:#0071e7;}.x-icon-info[disabled],.x-icon-question[disabled]{background-color:#0071e7;}.x-icon-info:active,.x-icon-question:active,.x-icon-info.active,.x-icon-question.active{background-color:#0058b4 \9;}.x-caret{display:inline-block;*display:inline;*zoom:1;width:0;height:0;border:4px solid transparent;line-height:0;_border-color:tomato;_filter:chroma(color=#ff6347);}.x-caret-down{border-top:4px solid #000;border-bottom:0;}.x-caret-up{border-top:0;border-bottom:4px solid #000;*border-width:5px;}.x-caret-left{border-left:4px solid #000;border-right:0;*border-width:5px;}.x-caret-right{border-right:4px solid #000;border-left:0;*border-width:5px;}.x-caret-left-top{border-top:none;border-right:none;border-left:6px solid #000;border-width:6px;}.x-caret-right-top{border-top:none;border-right:6px solid #000;border-left:none;border-width:6px;}.button .x-caret{vertical-align:middle;margin-left:3px;}.icon-caret{width:8px;height:8px;display:inline-block;}.icon{display:inline-block;*display:inline;*zoom:1;width:14px;height:14px;line-height:14px;vertical-align:text-top;background-image:url("http://img04.taobaocdn.com/tps/i4/T1SMojXedaXXXCL3TD-469-300.png");background-position:14px 14px;background-repeat:no-repeat;*margin-right:.3em;}.icon:last-child{*margin-left:0;}.icon-mini{width:12px;height:12px;line-height:12px;}.icon-caret{width:8px;height:8px;display:inline-block;}[class^="icon-"],[class*=" icon-"]{display:inline-block;*display:inline;*zoom:1;width:14px;height:14px;line-height:14px;vertical-align:text-top;background-image:url("http://img04.taobaocdn.com/tps/i4/T1SMojXedaXXXCL3TD-469-300.png");background-position:14px 14px;background-repeat:no-repeat;*margin-right:.3em;}[class^="icon-"]:last-child,[class*=" icon-"]:last-child{*margin-left:0;}[class^="icon-mini"],[class*=" icon-mini"]{width:12px;height:12px;line-height:12px;}[class^="icon-caret"],[class*=" icon-caret"]{width:8px;height:8px;display:inline-block;width:8px;height:8px;display:inline-block;}.icon-white{background-image:url("http://img01.taobaocdn.com/tps/i1/T1qXIiXgXgXXXCL3TD-469-300.png");}.icon-glass{background-position:0 0;}.icon-music{background-position:-24px 0;}.icon-search{background-position:-48px 0;}.icon-envelope{background-position:-72px 0;}.icon-heart{background-position:-96px 0;}.icon-star{background-position:-120px 0;}.icon-star-empty{background-position:-144px 0;}.icon-user{background-position:-168px 0;}.icon-film{background-position:-192px 0;}.icon-th-large{background-position:-216px 0;}.icon-th{background-position:-240px 0;}.icon-th-list{background-position:-264px 0;}.icon-ok{background-position:-288px 0;}.icon-remove{background-position:-312px 0;}.icon-zoom-in{background-position:-336px 0;}.icon-zoom-out{background-position:-360px 0;}.icon-off{background-position:-384px 0;}.icon-signal{background-position:-408px 0;}.icon-cog{background-position:-432px 0;}.icon-trash{background-position:-456px 0;}.icon-home{background-position:0 -24px;}.icon-file{background-position:-24px -24px;}.icon-time{background-position:-48px -24px;}.icon-road{background-position:-72px -24px;}.icon-download-alt{background-position:-96px -24px;}.icon-download{background-position:-120px -24px;}.icon-upload{background-position:-144px -24px;}.icon-inbox{background-position:-168px -24px;}.icon-play-circle{background-position:-192px -24px;}.icon-repeat{background-position:-216px -24px;}.icon-refresh{background-position:-240px -24px;}.icon-list-alt{background-position:-264px -24px;}.icon-lock{background-position:-287px -24px;}.icon-flag{background-position:-312px -24px;}.icon-headphones{background-position:-336px -24px;}.icon-volume-off{background-position:-360px -24px;}.icon-volume-down{background-position:-384px -24px;}.icon-volume-up{background-position:-408px -24px;}.icon-qrcode{background-position:-432px -24px;}.icon-barcode{background-position:-456px -24px;}.icon-tag{background-position:0 -48px;}.icon-tags{background-position:-25px -48px;}.icon-book{background-position:-48px -48px;}.icon-bookmark{background-position:-72px -48px;}.icon-print{background-position:-96px -48px;}.icon-camera{background-position:-120px -48px;}.icon-font{background-position:-144px -48px;}.icon-bold{background-position:-167px -48px;}.icon-italic{background-position:-192px -48px;}.icon-text-height{background-position:-216px -48px;}.icon-text-width{background-position:-240px -48px;}.icon-align-left{background-position:-264px -48px;}.icon-align-center{background-position:-288px -48px;}.icon-align-right{background-position:-312px -48px;}.icon-align-justify{background-position:-336px -48px;}.icon-list{background-position:-360px -48px;}.icon-indent-left{background-position:-384px -48px;}.icon-indent-right{background-position:-408px -48px;}.icon-facetime-video{background-position:-432px -48px;}.icon-picture{background-position:-456px -48px;}.icon-pencil{background-position:0 -72px;}.icon-map-marker{background-position:-24px -72px;}.icon-adjust{background-position:-48px -72px;}.icon-tint{background-position:-72px -72px;}.icon-edit{background-position:-96px -72px;}.icon-share{background-position:-120px -72px;}.icon-check{background-position:-144px -72px;}.icon-move{background-position:-168px -72px;}.icon-step-backward{background-position:-192px -72px;}.icon-fast-backward{background-position:-216px -72px;}.icon-backward{background-position:-240px -72px;}.icon-play{background-position:-264px -72px;}.icon-pause{background-position:-288px -72px;}.icon-stop{background-position:-312px -72px;}.icon-forward{background-position:-336px -72px;}.icon-fast-forward{background-position:-360px -72px;}.icon-step-forward{background-position:-384px -72px;}.icon-eject{background-position:-408px -72px;}.icon-chevron-left{background-position:-432px -72px;}.icon-chevron-right{background-position:-456px -72px;}.icon-plus-sign{background-position:0 -96px;}.icon-minus-sign{background-position:-24px -96px;}.icon-remove-sign{background-position:-48px -96px;}.icon-ok-sign{background-position:-72px -96px;}.icon-question-sign{background-position:-96px -96px;}.icon-info-sign{background-position:-120px -96px;}.icon-screenshot{background-position:-144px -96px;}.icon-remove-circle{background-position:-168px -96px;}.icon-ok-circle{background-position:-192px -96px;}.icon-ban-circle{background-position:-216px -96px;}.icon-arrow-left{background-position:-240px -96px;}.icon-arrow-right{background-position:-264px -96px;}.icon-arrow-up{background-position:-289px -96px;}.icon-arrow-down{background-position:-312px -96px;}.icon-share-alt{background-position:-336px -96px;}.icon-resize-full{background-position:-360px -96px;}.icon-resize-small{background-position:-384px -96px;}.icon-plus{background-position:-408px -96px;}.icon-minus{background-position:-433px -96px;}.icon-asterisk{background-position:-456px -96px;}.icon-exclamation-sign{background-position:0 -120px;}.icon-gift{background-position:-24px -120px;}.icon-leaf{background-position:-48px -120px;}.icon-fire{background-position:-72px -120px;}.icon-eye-open{background-position:-96px -120px;}.icon-eye-close{background-position:-120px -120px;}.icon-warning-sign{background-position:-144px -120px;}.icon-plane{background-position:-168px -120px;}.icon-calendar{background-position:-192px -120px;}.icon-random{background-position:-216px -120px;}.icon-comment{background-position:-240px -120px;}.icon-magnet{background-position:-264px -120px;}.icon-chevron-up{background-position:-288px -120px;}.icon-chevron-down{background-position:-313px -119px;}.icon-retweet{background-position:-336px -120px;}.icon-shopping-cart{background-position:-360px -120px;}.icon-folder-close{background-position:-384px -120px;}.icon-folder-open{background-position:-408px -120px;}.icon-resize-vertical{background-position:-432px -119px;}.icon-resize-horizontal{background-position:-456px -118px;}.icon-hdd{background-position:0 -144px;}.icon-bullhorn{background-position:-24px -144px;}.icon-bell{background-position:-48px -144px;}.icon-certificate{background-position:-72px -144px;}.icon-thumbs-up{background-position:-96px -144px;}.icon-thumbs-down{background-position:-120px -144px;}.icon-hand-right{background-position:-144px -144px;}.icon-hand-left{background-position:-168px -144px;}.icon-hand-up{background-position:-192px -144px;}.icon-hand-down{background-position:-216px -144px;}.icon-circle-arrow-right{background-position:-240px -144px;}.icon-circle-arrow-left{background-position:-264px -144px;}.icon-circle-arrow-up{background-position:-288px -144px;}.icon-circle-arrow-down{background-position:-312px -144px;}.icon-globe{background-position:-336px -144px;}.icon-wrench{background-position:-360px -144px;}.icon-tasks{background-position:-384px -144px;}.icon-filter{background-position:-408px -144px;}.icon-briefcase{background-position:-432px -144px;}.icon-fullscreen{background-position:-456px -144px;}.icon-warning{background-position:0 -168px;}.icon-info{background-position:-24px -168px;}.icon-question{background-position:-48px -168px;}.icon-warning-mini{background-position:-1px -188px;}.icon-info-mini{background-position:-25px -188px;}.icon-ok-mini{background-position:-49px -188px;}.icon-remove-mini{background-position:-73px -188px;}.icon-plus-mini{background-position:-97px -188px;}.icon-minus-mini{background-position:-120px -189px;}.icon-caret-up{background-position:-1px -209px;}.icon-caret-down{background-position:-1px -218px;}.icon-caret-left{background-position:-1px -227px;}.icon-caret-right{background-position:-1px -235px;}.icon-caret-left-top{background-position:-1px -244px;}.icon-caret-right-top{background-position:-1px -253px;}.icon-caret-left-down{background-position:-1px -273px;}.icon-caret-right-down{background-position:-1px -264px;}.breadcrumb{padding:7px 14px;margin:0 0 18px;list-style:none;background-color:#fbfbfb;background-image:-moz-linear-gradient(top,#fff,#f5f5f5);background-image:-ms-linear-gradient(top,#fff,#f5f5f5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f5f5f5));background-image:-webkit-linear-gradient(top,#fff,#f5f5f5);background-image:-o-linear-gradient(top,#fff,#f5f5f5);background-image:linear-gradient(top,#fff,#f5f5f5);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#f5f5f5',GradientType=0);border:1px solid #ddd;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;}.breadcrumb li{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 0 #fff;}.breadcrumb .divider{padding:0 5px;color:#999;}.breadcrumb .active a{color:#333;}table{border-collapse:collapse;border-spacing:0;background-color:transparent;}.table{width:100%;margin-bottom:9px;border-collapse:separate;border-spacing:0;}.table th,.table td{padding:9px;line-height:18px;text-align:left;vertical-align:top;border-top:1px solid #ddd;}.table th{font-weight:bold;}.table thead tr{vertical-align:bottom;}.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0;}.table tbody+tbody{border-top:2px solid #ddd;}.table-head-bordered thead tr{vertical-align:bottom;background-color:#fbfbfb;background-image:-moz-linear-gradient(top,#fff,#f4f4f4);background-image:-ms-linear-gradient(top,#fff,#f4f4f4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f4f4f4));background-image:-webkit-linear-gradient(top,#fff,#f4f4f4);background-image:-o-linear-gradient(top,#fff,#f4f4f4);background-image:linear-gradient(top,#fff,#f4f4f4);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#f4f4f4',GradientType=0);}.table-head-bordered colgroup+thead tr:first-child th,.table-head-bordered colgroup+thead tr:first-child td,.table-head-bordered thead:first-child tr:first-child th,.table-head-bordered thead:first-child tr:first-child td{border-top:1px solid #ddd;}.table-head-bordered thead:first-child tr th:first-child,.table-head-bordered thead tr td:first-child{border-left:1px solid #ddd;}.table-head-bordered thead tr:first-child th:first-child{-webkit-border-top-left-radius:4px;-moz-border-top-left-radius:4px;border-top-left-radius:4px;}.table-head-bordered thead tr:last-child th:first-child{-webkit-border-bottom-left-radius:4px;-moz-border-bottom-left-radius:4px;border-bottom-left-radius:4px;}.table-head-bordered thead tr th:last-child,.table-head-bordered thead tr td:last-child{border-right:1px solid #ddd;}.table-head-bordered thead tr:first-child th:last-child{-webkit-border-top-right-radius:4px;-moz-border-top-right-radius:4px;border-top-right-radius:4px;}.table-head-bordered thead tr:last-child th:last-child{-webkit-border-bottom-right-radius:4px;-moz-border-bottom-right-radius:4px;border-bottom-right-radius:4px;}.table-head-bordered thead tr:last-child th{border-bottom:1px solid #ddd;}.table-head-bordered tbody tr:first-child td{border-top:0;}.table-condensed th,.table-condensed td{padding:4px 5px;}.table-bordered{border:1px solid #ddd;border-left:0;border-collapse:separate;*border-collapse:collapsed;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.table-bordered thead tr{background-color:#f4f4f4;background-image:-moz-linear-gradient(top,#f8f8f8,#eee);background-image:-ms-linear-gradient(top,#f8f8f8,#eee);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f8f8f8),to(#eee));background-image:-webkit-linear-gradient(top,#f8f8f8,#eee);background-image:-o-linear-gradient(top,#f8f8f8,#eee);background-image:linear-gradient(top,#f8f8f8,#eee);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8',endColorstr='#eeeeee',GradientType=0);}.table-bordered thead tr th:last-child,.table-bordered thead tr td:last-child{border-right:none;}.table-bordered th,.table-bordered td{border-left:1px solid #ddd;}.table-bordered thead th,.table-bordered thead td{padding-top:0;padding-bottom:0;height:38px;line-height:38px;}.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0;}.table-bordered thead:first-child tr:first-child th:first-child,.table-bordered tbody:first-child tr:first-child td:first-child{-webkit-border-radius:3px 0 0 0;-moz-border-radius:3px 0 0 0;border-radius:3px 0 0 0;}.table-bordered thead:first-child tr:first-child th:last-child,.table-bordered tbody:first-child tr:first-child td:last-child{-webkit-border-radius:0 3px 0 0;-moz-border-radius:0 3px 0 0;border-radius:0 3px 0 0;}.table-bordered thead:last-child tr:last-child th:first-child,.table-bordered tbody:last-child tr:last-child td:first-child{-webkit-border-radius:0 0 0 3px;-moz-border-radius:0 0 0 3px;border-radius:0 0 0 3px;}.table-bordered thead:last-child tr:last-child th:last-child,.table-bordered tbody:last-child tr:last-child td:last-child{-webkit-border-radius:0 0 3px 0;-moz-border-radius:0 0 3px 0;border-radius:0 0 3px 0;}.table-striped tbody tr:nth-child(odd) td,.table-striped tbody tr:nth-child(odd) th{background-color:#f2f2f2;}.table tbody tr:hover td,.table tbody tr:hover th{background-color:#f0f0f0;}table .span1{float:none;width:14px;margin-left:0;}table .span2{float:none;width:54px;margin-left:0;}table .span3{float:none;width:94px;margin-left:0;}table .span4{float:none;width:134px;margin-left:0;}table .span5{float:none;width:174px;margin-left:0;}table .span6{float:none;width:214px;margin-left:0;}table .span7{float:none;width:254px;margin-left:0;}table .span8{float:none;width:294px;margin-left:0;}table .span9{float:none;width:334px;margin-left:0;}table .span10{float:none;width:374px;margin-left:0;}table .span11{float:none;width:414px;margin-left:0;}table .span12{float:none;width:454px;margin-left:0;}table .span13{float:none;width:494px;margin-left:0;}table .span14{float:none;width:534px;margin-left:0;}table .span15{float:none;width:574px;margin-left:0;}table .span16{float:none;width:614px;margin-left:0;}table .span17{float:none;width:654px;margin-left:0;}table .span18{float:none;width:694px;margin-left:0;}table .span19{float:none;width:734px;margin-left:0;}table .span20{float:none;width:774px;margin-left:0;}table .span21{float:none;width:814px;margin-left:0;}table .span22{float:none;width:854px;margin-left:0;}table .span23{float:none;width:894px;margin-left:0;}table .span24{float:none;width:934px;margin-left:0;}.panel{border:1px solid #c3c3d6;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.panel .panel-header{padding:9px;line-height:18px;background-color:#f4f4f4;background-image:-moz-linear-gradient(top,#f8f8f8,#eee);background-image:-ms-linear-gradient(top,#f8f8f8,#eee);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f8f8f8),to(#eee));background-image:-webkit-linear-gradient(top,#f8f8f8,#eee);background-image:-o-linear-gradient(top,#f8f8f8,#eee);background-image:linear-gradient(top,#f8f8f8,#eee);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8',endColorstr='#eeeeee',GradientType=0);}.panel .panel-body{padding:9px;}.panel-small .panel-header{padding:2px;}.panel-small .panel-body{padding:0;}.panel-head-borded{border:none;}.panel-head-borded .panel-header{-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;border:1px solid #c3c3d6;border-bottom:none;}.panel-head-borded .panel-body{padding:0;}.form-page,.search-page,.detail-page{padding:25px 0 0 20px;}.search-grid-container{margin-top:5px;}select,textarea{width:140px;border:1px solid #c3c3d6;}select{width:150px;}.control-text{width:140px;display:inline-block;height:18px;padding:1px 4px;border:1px solid #c3c3d6;height:18px;}label.control-text,span.control-text{width:auto;height:auto;border:none;padding:0;display:inline;vertical-align:middle;}input[type="text"],input[type="password"],input[type="email"]{width:140px;height:18px;}input,textarea,.uneditable-input{margin-left:0;}input.span24,textarea.span24,.uneditable-input.span24{width:940px;}input.span23,textarea.span23,.uneditable-input.span23{width:900px;}input.span22,textarea.span22,.uneditable-input.span22{width:860px;}input.span21,textarea.span21,.uneditable-input.span21{width:820px;}input.span20,textarea.span20,.uneditable-input.span20{width:780px;}input.span19,textarea.span19,.uneditable-input.span19{width:740px;}input.span18,textarea.span18,.uneditable-input.span18{width:700px;}input.span17,textarea.span17,.uneditable-input.span17{width:660px;}input.span16,textarea.span16,.uneditable-input.span16{width:620px;}input.span15,textarea.span15,.uneditable-input.span15{width:580px;}input.span14,textarea.span14,.uneditable-input.span14{width:540px;}input.span13,textarea.span13,.uneditable-input.span13{width:500px;}input.span12,textarea.span12,.uneditable-input.span12{width:460px;}input.span11,textarea.span11,.uneditable-input.span11{width:420px;}input.span10,textarea.span10,.uneditable-input.span10{width:380px;}input.span9,textarea.span9,.uneditable-input.span9{width:340px;}input.span8,textarea.span8,.uneditable-input.span8{width:300px;}input.span7,textarea.span7,.uneditable-input.span7{width:260px;}input.span6,textarea.span6,.uneditable-input.span6{width:220px;}input.span5,textarea.span5,.uneditable-input.span5{width:180px;}input.span4,textarea.span4,.uneditable-input.span4{width:140px;}input.span3,textarea.span3,.uneditable-input.span3{width:100px;}input.span2,textarea.span2,.uneditable-input.span2{width:60px;}input.span1,textarea.span1,.uneditable-input.span1{width:20px;}input[type="text"],input[type="password"],textarea,select{display:inline-block;height:18px;padding:1px 4px;border:1px solid #c3c3d6;}select{height:22px;padding:0;}textarea{height:54px;}input,select,textarea,select{font-family:"SimSun","Helvetica Neue",Helvetica,Arial,sans-serif;line-height:18px;}input.input-normal,select.input-normal,textarea.input-normal,select.input-normal{width:140px;}input.input-small,select.input-small,textarea.input-small,select.input-small{width:80px;}input.input-large,select.input-large,textarea.input-large,select.input-large{width:300px;}input.calendar{width:80px;}input.calendar-time{width:140px;}.checkbox input,.radio input{vertical-align:middle;margin-right:5px;margin-top:-4px;}fieldset{padding:0;margin:0;border:0;}legend{display:block;width:100%;padding:0;margin-bottom:18px;font-size:14px;line-height:40px;border:0;border-bottom:1px solid #c3c3d6;}.form-vertical label{display:block;margin-bottom:5px;}.form-horizontal .control-group{*zoom:1;}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;content:"";}.form-horizontal .control-group:after{clear:both;}.form-horizontal .control-label{float:left;text-align:right;line-height:22px;display:inline-block;*display:inline;*zoom:1;width:110px;}.form-horizontal .control-label s{color:red;padding-right:5px;text-decoration:none;}.form-horizontal .control-label-small{width:70px;}.form-horizontal .control-label-auto{width:auto;}.form-horizontal .controls{margin-left:10px;float:left;display:inline;*zoom:1;height:40px;}.form-horizontal input[class*="span"],.form-horizontal select[class*="span"]{float:none;margin:0;}.form-horizontal .control-row1{height:22px;}.form-horizontal .control-row2{height:40px;}.form-horizontal .control-row3{height:58px;}.form-horizontal .control-row4{height:76px;}.form-horizontal .control-row-auto{height:auto;padding-bottom:18px;}.form-horizontal .control-row-auto .well{margin-bottom:0;}.form-horizontal .valid-text{display:block;}.form-horizontal .valid-text .x-icon{margin-right:5px;}.form-horizontal .valid-text em{font-style:normal;}.form-horizontal .valid-text em{line-height:16px;line-height:16px;background-color:transparent;font-style:normal;color:red;}.form-horizontal .form-link{margin-left:20px;vertical-align:bottom;}.form-horizontal fieldset{border:none;padding:0;}.form-horizontal .detail-row{margin-bottom:5px;}.valid-text .label{font-weight:normal;color:red;vertical-align:baseline;text-shadow:none;background-color:transparent;}.form-panel{background-color:#eee;margin-bottom:18px;border:1px solid #ddd;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.form-panel input,.form-panel select{width:100px;}.form-panel .panel-title{background-color:#e8e9ef;padding:0 15px;height:36px;line-height:36px;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;border-bottom:1px solid #ddd;}.form-panel .panel-title label{font-weight:bold;}.form-panel .panel-content{padding:7px 12px;}.form-panel .panel-content li{height:36px;line-height:36px;}.actions-bar{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#e8e9ef;border-top:1px solid #c3c3d6;}.actions-bar-small{padding:10px;margin-top:10px;margin-bottom:10px;}.form-links{border-bottom:2px solid #c3c3d6;margin-bottom:18px;}.form-links .nav-tabs{margin:0 5px;background-color:#e8e9ef;-webkit-border-radius:2px 2px 0 0;-moz-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;}.form-links .nav-tabs .active,.form-links .nav-tabs .active a{background-color:#c3c3d6;color:#fff;}form.form-horizontal{padding-left:0;padding-right:0;*padding:0;border:none;}.show-grid .controls{text-align:left;line-height:20px;}form h2,form h3{margin-bottom:20px;}.form-horizontal hr{margin-top:0;margin-bottom:18px;}.button{display:inline-block;*display:inline;*zoom:1;padding:4px 15px;margin-bottom:0;font-size:14px;line-height:18px;font-weight:bold;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#f4f4f4;background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e4e4e4));background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#e4e4e4',GradientType=0);border-color:#e4e4e4 #e4e4e4 #bebebe;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border:1px solid #ccc;border-bottom-color:#b3b3b3;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);cursor:pointer;*margin-left:.3em;}.button:hover,.button:active,.button.active,.button.disabled{background-color:#e4e4e4;}.button[disabled]{background-color:#e4e4e4;}.button:active,.button.active{background-color:#cbcbcb \9;}.button:first-child{*margin-left:0;}.button:hover,.button-hover{color:#333;text-decoration:none;background-color:#e6e6e6;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-ms-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear;}.button:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}.button.active,.button-checked,.button:active{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);background-color:#e6e6e6;background-color:#d9d9d9 \9;outline:0;}.button-disabled,.button[disabled]{cursor:default;outline-width:0;background-image:none;background-color:#e6e6e6;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}.button-large{padding:7px 20px;font-size:14px;line-height:normal;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.button-large [class^="icon-"]{margin-top:1px;}.button-small{padding:2px 10px;font-size:12px;font-weight:normal;line-height:16px;}.button-mini{padding:1px 6px;font-weight:normal;font-size:10px;line-height:14px;}.button-primary,.button-primary:hover,.button-warning,.button-warning:hover,.button-danger,.button-danger:hover,.button-success,.button-success:hover,.button-info,.button-info:hover,.button-inverse,.button-inverse:hover{text-shadow:0 -1px 0 rgba(0,0,0,0.25);color:#fff;}.button-primary.active,.button-warning.active,.button-danger.active,.button-success.active,.button-info.active,.button-inverse.active{color:rgba(255,255,255,0.75);}.button-primary{background-color:#3357cc;background-image:-moz-linear-gradient(top,#36c,#3340cc);background-image:-ms-linear-gradient(top,#36c,#3340cc);background-image:-webkit-gradient(linear,0 0,0 100%,from(#36c),to(#3340cc));background-image:-webkit-linear-gradient(top,#36c,#3340cc);background-image:-o-linear-gradient(top,#36c,#3340cc);background-image:linear-gradient(top,#36c,#3340cc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#3366cc',endColorstr='#3340cc',GradientType=0);border-color:#3340cc #3340cc #242d8f;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);}.button-primary:hover,.button-primary:active,.button-primary.active,.button-primary.disabled{background-color:#3340cc;}.button-primary[disabled]{background-color:#3340cc;}.button-primary:active,.button-primary.active{background-color:#2933a3 \9;}.button-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-ms-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(top,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450',endColorstr='#f89406',GradientType=0);border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);}.button-warning:hover,.button-warning:active,.button-warning.active,.button-warning.disabled{background-color:#f89406;}.button-warning[disabled]{background-color:#f89406;}.button-warning:active,.button-warning.active{background-color:#c67605 \9;}.button-danger{background-color:#da4f49;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-ms-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(top,#ee5f5b,#bd362f);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b',endColorstr='#bd362f',GradientType=0);border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);}.button-danger:hover,.button-danger:active,.button-danger.active,.button-danger.disabled{background-color:#bd362f;}.button-danger[disabled]{background-color:#bd362f;}.button-danger:active,.button-danger.active{background-color:#942a25 \9;}.button-success{background-color:#5bb75b;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-ms-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(top,#62c462,#51a351);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462',endColorstr='#51a351',GradientType=0);border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);}.button-success:hover,.button-success:active,.button-success.active,.button-success.disabled{background-color:#51a351;}.button-success[disabled]{background-color:#51a351;}.button-success:active,.button-success.active{background-color:#408140 \9;}.button-info{background-color:#49afcd;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-ms-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(top,#5bc0de,#2f96b4);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de',endColorstr='#2f96b4',GradientType=0);border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);}.button-info:hover,.button-info:active,.button-info.active,.button-info.disabled{background-color:#2f96b4;}.button-info[disabled]{background-color:#2f96b4;}.button-info:active,.button-info.active{background-color:#24748c \9;}.button-inverse{background-color:#414141;background-image:-moz-linear-gradient(top,#555,#222);background-image:-ms-linear-gradient(top,#555,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#555),to(#222));background-image:-webkit-linear-gradient(top,#555,#222);background-image:-o-linear-gradient(top,#555,#222);background-image:linear-gradient(top,#555,#222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#555555',endColorstr='#222222',GradientType=0);border-color:#222 #222222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);}.button-inverse:hover,.button-inverse:active,.button-inverse.active,.button-inverse.disabled{background-color:#222;}.button-inverse[disabled]{background-color:#222;}.button-inverse:active,.button-inverse.active{background-color:#080808 \9;}.ie-button{*padding-top:1px;*padding-bottom:1px;}.ie-button::-moz-focus-inner{padding:0;border:0;}.ie-button.button-large{*padding-top:6px;*padding-bottom:6px;}.ie-button.button-small{*padding-top:1px;*padding-bottom:1px;}.ie-button.button-mini{*padding-top:1px;*padding-bottom:1px;}button.button{*padding-top:1px;*padding-bottom:1px;}button.button::-moz-focus-inner{padding:0;border:0;}button.button.button-large{*padding-top:6px;*padding-bottom:6px;}button.button.button-small{*padding-top:1px;*padding-bottom:1px;}button.button.button-mini{*padding-top:1px;*padding-bottom:1px;}input[type="submit"].button{*padding-top:1px;*padding-bottom:1px;}input[type="submit"].button::-moz-focus-inner{padding:0;border:0;}input[type="submit"].button.button-large{*padding-top:6px;*padding-bottom:6px;}input[type="submit"].button.button-small{*padding-top:1px;*padding-bottom:1px;}input[type="submit"].button.button-mini{*padding-top:1px;*padding-bottom:1px;}.button-group{position:relative;*zoom:1;*margin-left:.3em;}.button-group:before,.button-group:after{display:table;content:"";}.button-group:after{clear:both;}.button-group:first-child{*margin-left:0;}.button-group+.button-group{margin-left:5px;}.button-toolbar{margin-top:9px;margin-bottom:9px;}.button-toolbar .button-group{display:inline-block;*display:inline;*zoom:1;}.button-group .button{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.button-group-focused{outline:none;}.button-group .button:first-child{margin-left:0;-webkit-border-top-left-radius:4px;-moz-border-top-left-radius:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-bottom-left-radius:4px;border-bottom-left-radius:4px;}.button-group .button:last-child,.button-group .dropdown-toggle{-webkit-border-top-right-radius:4px;-moz-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-bottom-right-radius:4px;border-bottom-right-radius:4px;}.button-group .button.large:first-child{margin-left:0;-webkit-border-top-left-radius:6px;-moz-border-top-left-radius:6px;border-top-left-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-bottom-left-radius:6px;border-bottom-left-radius:6px;}.button-group .button.large:last-child,.button-group .large.dropdown-toggle{-webkit-border-top-right-radius:6px;-moz-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-bottom-right-radius:6px;border-bottom-right-radius:6px;}.button-group .button:hover,.button-group .button:focus,.button-group .button:active,.button-group .button.active{z-index:2;}.button-group .dropdown-toggle:active,.button-group.open .dropdown-toggle{outline:0;}.button-group .dropdown-toggle{padding-left:8px;padding-right:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);*padding-top:3px;*padding-bottom:3px;}.button-group .button-mini.dropdown-toggle{padding-left:5px;padding-right:5px;*padding-top:1px;*padding-bottom:1px;}.button-group .button-small.dropdown-toggle{*padding-top:4px;*padding-bottom:4px;}.button-group .button-large.dropdown-toggle{padding-left:12px;padding-right:12px;}.button-group.open{*z-index:1000;}.button-group.open .dropdown-menu{display:block;margin-top:1px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}.button-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 1px 6px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 6px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 6px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);}.button .ks-menu-button-dropdown{margin-top:7px;margin-left:0;}.button:hover .ks-menu-button-dropdown,.open.button-group .ks-menu-button-dropdown{opacity:1;filter:alpha(opacity=100);}.button-mini .ks-menu-button-dropdown{margin-top:5px;}.button-small .ks-menu-button-dropdown{margin-top:6px;}.button-large .ks-menu-button-dropdown{margin-top:6px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000;}.button-primary .ks-menu-button-dropdown,.button-warning .ks-menu-button-dropdown,.button-danger .ks-menu-button-dropdown,.button-info .ks-menu-button-dropdown,.button-success .ks-menu-button-dropdown,.button-inverse .ks-menu-button-dropdown{border-top-color:#fff;border-bottom-color:#fff;opacity:.75;filter:alpha(opacity=75);}.pagination{height:36px;}.pagination ul{display:inline-block;*display:inline;*zoom:1;margin-left:0;margin-bottom:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05);}.pagination li{display:inline;}.pagination a{float:left;padding:0 14px;line-height:34px;text-decoration:none;border:1px solid #ddd;border-left-width:0;}.pagination a:hover,.pagination .active a{background-color:#f5f5f5;}.pagination .active a{color:#999;cursor:default;}.pagination .disabled span,.pagination .disabled a,.pagination .disabled a:hover{color:#999;background-color:transparent;cursor:default;}.pagination li:first-child a{border-left-width:1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}.pagination li:last-child a{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}.pagination-centered{text-align:center;}.pagination-right{text-align:right;}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0;}to{background-position:0 0;}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0;}to{background-position:0 0;}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0;}to{background-position:0 0;}}@-o-keyframes progress-bar-stripes{from{background-position:0 0;}to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:40px 0;}to{background-position:0 0;}}.progress{overflow:hidden;height:18px;margin-bottom:18px;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-ms-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(top,#f5f5f5,#f9f9f9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5',endColorstr='#f9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.progress .bar{width:0;height:100%;color:#fff;float:left;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-ms-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(top,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#149bdf',endColorstr='#0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-ms-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease;}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,.15),inset 0 -1px 0 rgba(0,0,0,.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,.15),inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 1px 0 0 rgba(0,0,0,.15),inset 0 -1px 0 rgba(0,0,0,.15);}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px;}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite;}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-ms-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(top,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b',endColorstr='#c43c35',GradientType=0);}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-ms-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(top,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462',endColorstr='#57a957',GradientType=0);}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-ms-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(top,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de',endColorstr='#339bb9',GradientType=0);}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-ms-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(top,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450',endColorstr='#f89406',GradientType=0);}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);}.toolbar{height:36px;font-weight:normal;}.toolbar li,.toolbar .toolbar-item{line-height:36px;display:inline-block;*display:inline;*zoom:1;}.toolbar li+li,.toolbar .toolbar-item+.toolbar-item{margin-left:5px;*margin-left:10px;}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0,0,0,0.05);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15);}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.well-simple{padding:19px 0;*padding:0;border:none;margin-bottom:20px;}.button-tabs .tab-item,.nav-tabs .tab-item,.link-tabs .tab-item,.button-tabs li,.nav-tabs li,.link-tabs li{display:inline-block;*display:inline;*zoom:1;font-size:12px;cursor:pointer;line-height:18px;color:#333;}.button-tabs{margin-bottom:10px;}.button-tabs .tab-item,.button-tabs li{padding:1px 15px;margin-right:5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.button-tabs .tab-item-hover,.button-tabs .tab-item:hover,.button-tabs li:hover{background-color:#dadada;}.button-tabs .tab-item-active,.button-tabs .active{color:#fff;font-weight:bold;background-color:#6c8ffc;background-image:-moz-linear-gradient(top,#6c9dfc,#6c79fc);background-image:-ms-linear-gradient(top,#6c9dfc,#6c79fc);background-image:-webkit-gradient(linear,0 0,0 100%,from(#6c9dfc),to(#6c79fc));background-image:-webkit-linear-gradient(top,#6c9dfc,#6c79fc);background-image:-o-linear-gradient(top,#6c9dfc,#6c79fc);background-image:linear-gradient(top,#6c9dfc,#6c79fc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#6c9dfc',endColorstr='#6c79fc',GradientType=0);border-color:#6c79fc #6c79fc #2135fa;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border:1px solid #5984de;}.button-tabs .tab-item-active:hover,.button-tabs .active:hover,.button-tabs .tab-item-active:active,.button-tabs .active:active,.button-tabs .tab-item-active.active,.button-tabs .active.active,.button-tabs .tab-item-active.disabled,.button-tabs .active.disabled{background-color:#6c79fc;}.button-tabs .tab-item-active[disabled],.button-tabs .active[disabled]{background-color:#6c79fc;}.button-tabs .tab-item-active:active,.button-tabs .active:active,.button-tabs .tab-item-active.active,.button-tabs .active.active{background-color:#3a4bfb \9;}.nav-tabs .tab-item{border:1px solid #c3c3d6;}.nav-tabs .tab-item,.nav-tabs li{border-bottom-color:transparent;margin-bottom:-1px;margin-right:3px;}.nav-tabs .tab-item-text,.nav-tabs a{padding:5px 15px;background-color:#eee;position:relative;display:inline-block;*display:inline;*zoom:1;}.nav-tabs a{background-color:transparent;}.nav-tabs .tab-item-active,.nav-tabs .active{background-color:#fff;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;}.nav-tabs .tab-item-active .tab-item-text,.nav-tabs .active .tab-item-text,.nav-tabs .tab-item-active a,.nav-tabs .active a{background-color:#fff;position:relative;border-bottom:-1px;z-index:10;}.nav-tabs li.active{border:1px solid #c3c3d6;border-bottom-color:transparent;}.link-tabs .tab-item,.link-tabs li{display:inline-block;*display:inline;*zoom:1;padding:3px 5px;}.link-tabs .tab-item a,.link-tabs li a{color:#333;}.link-tabs .tab-item a:hover,.link-tabs li a:hover{color:#36c;}.link-tabs .tab-item-active a,.link-tabs .active a{color:#36c;}.flow-steps{overflow:hidden;padding-bottom:20px;}.flow-steps ol,.flow-steps ul{list-style:none;margin:0;}.flow-steps .num3 li{width:301px;}.flow-steps .num4 li{width:222px;}.flow-steps .num5 li{width:175px;}.flow-steps .num6 li{width:143px;}.flow-steps li{float:left;background:#e8e9ef url("http://img02.taobaocdn.com/tps/i2/T1rPjKXXJrXXXVYvLb-15-188.png") no-repeat 100% 0;height:23px;line-height:23px;text-align:center;color:#666;padding-right:15px;overflow:hidden;}.flow-steps li span{display:block;}.flow-steps li.first{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}.flow-steps li.last{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;background-position:-9999px -9999px;}.flow-steps .current{background-color:#36c;background-position:100% 0;color:#fff;}.flow-steps .current-prev{background-color:#e8e9ef;background-position:100% -23px;color:#666;}.flow-steps li.done{background-color:#e8e9ef;background-position:100% -46px;color:#666;}.detail-row{margin-bottom:20px;}.detail-page h2{margin-top:20px;margin-bottom:20px;}.detail-page h3{margin-bottom:20px;}.detail-page .detail-link{margin-left:20px;vertical-align:bottom;}.detail-page .detail-actions{margin-left:10px;}.detail-section-icon{margin-left:10px;display:inline-block;height:15px;width:15px;border:1px solid #adbce2;margin-bottom:-4px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background-color:#e4ecf6;background-image:-moz-linear-gradient(top,#f4f8f4,#cddaf8);background-image:-ms-linear-gradient(top,#f4f8f4,#cddaf8);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f4f8f4),to(#cddaf8));background-image:-webkit-linear-gradient(top,#f4f8f4,#cddaf8);background-image:-o-linear-gradient(top,#f4f8f4,#cddaf8);background-image:linear-gradient(top,#f4f8f4,#cddaf8);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f4f8f4',endColorstr='#cddaf8',GradientType=0);border-color:#cddaf8 #cddaf8 #8aa8ef;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);cursor:pointer;position:relative;}.detail-section-icon:hover,.detail-section-icon:active,.detail-section-icon.active,.detail-section-icon.disabled{background-color:#cddaf8;}.detail-section-icon[disabled]{background-color:#cddaf8;}.detail-section-icon:active,.detail-section-icon.active{background-color:#a0b9f2 \9;}.detail-section-icon:hover .arrow{border-top-color:#475a85;border-bottom-color:#475a85;}.detail-section-icon .arrow{border:5px solid #5970a6;border-left-color:transparent;border-right-color:transparent;height:0;width:0;display:inline-block;*display:inline;*zoom:1;line-height:0;_border-color:tomato;_filter:chroma(color=#ff6347);position:absolute;top:5px;left:2px;}.detail-section-icon .expand{border-bottom:none;*border-width:4px;border-top-color:#5970a6;}.detail-section-icon .collapse{border-top:none;border-bottom-color:#5970a6;}.pull-right{float:right;}.pull-left{float:left;}.pull-none{float:none;}.hide{display:none;}.show{display:block;}.invisible{visibility:hidden;}.bordered{border:1px solid #c3c3d6;}.bordered-radius{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.centered{text-align:center;}.tips{padding:12px;border:1px solid;border-color:#e5e5e5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background-color:#fafafa;}.tips-small{padding:3px;}.tips-warning{border-color:#ffb2b2;background-color:#fff3f3;}.tips-notice{border-color:#ffcc7f;background-color:#ffffe5;}.tips-info{border-color:#acd5ff;background-color:#e6f2ff;}.tips .x-icon{float:left;}.tips .tips-content{line-height:18px;color:#333;margin-left:31px;}.tips-small .tips-content{margin-left:21px;}.tips-success{border-color:#aae77f;background-color:#f0ffe5;}.tips-no-icon .tips-content{margin-left:3px;}.tips h2{padding:0;line-height:24px;}.tips p{margin:5px 0 0;} \ No newline at end of file diff --git a/源码/src/main/webapp/resource/assets/css/main-min.css b/源码/src/main/webapp/resource/assets/css/main-min.css new file mode 100644 index 0000000..506354f --- /dev/null +++ b/源码/src/main/webapp/resource/assets/css/main-min.css @@ -0,0 +1 @@ +.clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";}.clearfix:after{clear:both;}.hide-text{overflow:hidden;text-indent:100%;white-space:nowrap;}.input-block-level{display:block;width:100%;min-height:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;}.pull-right{float:right;}.pull-left{float:left;}.hide{display:none;}.show{display:block;}.invisible{visibility:hidden;}.ks-inline-block{display:inline-block;*display:inline;*zoom:1;}.ks-ext-mask{background-color:#333;opacity:.5;filter:Alpha(opacity=50);}.ks-clear{*zoom:1;}.ks-clear:before,.ks-clear:after{display:table;content:"";}.ks-clear:after{clear:both;}.ks-hidden{display:none;}html{*overflow:hidden;}body{overflow:hidden;background-color:white;}iframe{border:none;padding:none;}.header,.dl-main-nav{background:url('../img/main-nav-bg.png') repeat-x 0 0 #204077;}.header{background-color:#1B3160;height:30px;width:100%;overflow:hidden;}.dl-title{float:left;color:#c1d5ec;font-family:"Microsoft YaHei";margin-left:12px;font-size:18px;line-height:36px;}.dl-title a{color:#c1d5ec;}.dl-log{color:#C1D5EC;float:right;padding:10px 16px 0 0;}.dl-log-user{font-style:bold;}.dl-log-quit{color:#c1d5ec;padding-left:8px;}.content{width:100%;}.dl-main-nav{height:40px;background-position:center -30px;overflow:hidden;position:relative;}.dl-main-nav .nav-list{border-bottom:1px solid #FFF;overflow:hidden;border-width:0;}.nav-item{overflow:hidden;font-size:14px;color:white;position:relative;width:130px;padding:6px 0 0 8px;cursor:pointer;}.nav-list .nav-item{float:left;color:#D4D4D4;}.nav-item-inner,.dl4-hide-list .dl-hover{background:url('../img/icon1.png') no-repeat 0 0 transparent;}.nav-list .dl-hover{background-position:0x -50px;}.dl4-hide-list .dl-hover{background-position:8px -40px;}.nav-item-inner{padding:4px 0 0 31px;height:30px;border:1px solid transparent;_border:none;}.nav-item-mask{display:none;width:128px;height:25px;position:absolute;background-color:white;top:8px;opacity:.15;filter:alpha(opacity=15);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;border:1px solid #333;}.dl-hide-list{position:absolute;width:160px;overflow:hidden;z-index:10;border:1px solid #C3C3D6;border-top:none;padding:10px 0 0;background-color:#E8E9EE;}.dl-hide-list .nav-item{float:none;padding:0;width:158px;border:1px solid white;border-width:0 1px;}.dl-hide-list .dl-item-inner{background-color:#E8E9EE;font-size:12px;color:#666;height:23px;margin:0 5px;}.dl-hide-list .nav-item:last-child{-webkit-border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 4px;border-radius:0 0 2px 2px;padding-bottom:10px;border-bottom:1px solid white;}.dl-hide-list .dl-last{padding-top:6px;background-color:transparent;}.dl-hide-list .dl-last{display:none;}.dl-hide-list .nav-item-inner{background-color:#E8E9EE;font-size:12px;color:#666;height:23px;margin:0 5px;}.dl-hide-list .nav-item:hover .nav-item-inner{background-color:#e0e6fc;border:1px solid #a9b9f5;border-radius:2px;}.nav-list .dl-hover .nav-item-mask,.nav-list .dl-last .nav-item-mask{display:block;}.nav-list .dl-selected .nav-item-inner{-webkit-border-radius:2px 2px 0 0;-moz-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;border:1px solid #FFF;background-color:#E8E9EE;color:#43478e;font-weight:bold;height:30px;}.nav-list .dl-selected .nav-item-mask{display:none;}.dl4-hide-list .nav-permission,.dl-selected .nav-permission{background-position:4px -124px;}.nav-permission{background-position:4px -174px;}.dl4-hide-list .nav-storage,.dl-selected .nav-storage{background-position:-444px -127px;}.nav-storage{background-position:-444px -176px;}.dl-selected .nav-inventory,.dl4-hide-list .nav-inventory{background-position:-443px -324px;}.nav-inventory{background-position:-444px -375px;}.dl-selected .nav-user,.dl4-hide-list .nav-user{background-position:-144px -224px;}.nav-user{background-position:-144px -274px;}.dl-selected .nav-order,.dl4-hide-list .nav-order{background-position:-144px -126px;}.nav-order{background-position:-144px -176px;}.dl-selected .nav-product,.dl4-hide-list .nav-product{background-position:-444px -427px;}.nav-product{background-position:-444px -477px;}.dl-selected .nav-supplier,.dl4-hide-list .nav-supplier{background-position:-594px -427px;}.nav-supplier{background-position:-594px -476px;}.dl-selected .nav-cost,.dl4-hide-list .nav-cost{background-position:-294px -324px;}.nav-cost{background-position:-294px -374px;}.dl-selected .nav-monitor,.dl4-hide-list .nav-monitor{background-position:-144px -324px;}.nav-monitor{background-position:-144px -374px;}.dl-selected .nav-gather,.dl4-hide-list .nav-gather{background-position:4px -224px;}.nav-gather{background-position:4px -274px;}.dl-selected .nav-distribution,.dl4-hide-list .nav-distribution{background-position:-444px -224px;}.nav-distribution{background-position:-444px -274px;}.dl-selected .nav-goods,.dl4-hide-list .nav-goods{background-position:-594px -124px;}.nav-goods{background-position:-594px -174px;}.dl-selected .nav-register,.dl4-hide-list .nav-register{background-position:-594px -224px;}.nav-register{background-position:-594px -274px;}.dl-selected .nav-marketing,.dl4-hide-list .nav-marketing{background-position:4px -324px;}.nav-marketing{background-position:4px -374px;}.dl-selected .nav-package,.dl4-hide-list .nav-package{background-position:-594px -324px;}.nav-package{background-position:-594px -374px;}.dl-selected .nav-home,.dl4-hide-list .nav-home{background-position:4px -424px;}.nav-home{background-position:4px -474px;}.dl-selected .nav-product-certified,.dl4-hide-list .nav-product-certified{background-position:4px -524px;}.nav-product-certified{background-position:4px -574px;}.dl-selected .nav-quality-certified,.dl4-hide-list .nav-quality-certified{background-position:-144px -524px;}.nav-quality-certified{background-position:-144px -574px;}.dl-selected .nav-supplier-certified,.dl4-hide-list .nav-supplier-certified{background-position:-294px -524px;}.nav-supplier-certified{background-position:-294px -574px;}.dl-selected .nav-certification,.dl4-hide-list .nav-certification{background-position:-444px -524px;}.nav-certification{background-position:-444px -574px;}.dl-selected .nav-sample,.dl4-hide-list .nav-sample{background-position:-594px -524px;}.nav-sample{background-position:-594px -575px;}.dl-selected .nav-supplychain,.dl4-hide-list .nav-supplychain{background-position:-747px -125px;}.nav-supplychain{background-position:-747px -178px;}.dl-inform{width:135px;float:right;padding-top:10px;cursor:pointer;display:none;}.dl-hide-current{margin-left:5px;}.dl-selected .dl-hide-current{background-image:url('../img/icon2.png');}.dl-tab-content{width:100%;height:100%;}.dl-tab-item{width:100%;}.dl-tab-item-inner{width:100%;height:430px;}.dl-second-nav,.dl-second-tree,.dl-inner-tab{height:100%;}.dl-second-tree{width:150px;float:left;}.dl-second-nav{float:left;width:150px;position:relative;padding-top:5px;background-color:#E8E9EE;}.dl-inner-tab .dl-tab-nav{background-color:#E8E9EE;}.dl-second-nav .menu-container{background-color:transparent;}.dl-collapse .dl-second-nav{width:10px;}.dl-collapse .dl-second-tree{width:3px;}.dl-collapse .menu-container{display:none;}.dl-inner-tab{margin-left:150px;}.dl-collapse .dl-inner-tab{margin-left:10px;}.dl-second-slib-con{position:absolute;top:0;right:-6px;height:100%;width:7px;overflow:hidden;}.dl-second-slib{position:absolute;height:100%;width:6px;cursor:pointer;top:25px;border-left:1px solid #C3C3D6;border-radius:2px;background:url('../img/left-slib.gif') no-repeat 0 center transparent;}.dl-collapse .dl-second-slib{background-position:-6px center;}.dl-inner-tab .bui-nav-tab{padding-top:5px;}.dl-inner-tab .bui-nav-tab,.dl-inner-tab .tab-nav-inner{background-color:#E8E9EE;}.dl-inner-tab .tab-content-container{background-color:#fff;} diff --git a/源码/src/main/webapp/resource/assets/css/main.css b/源码/src/main/webapp/resource/assets/css/main.css new file mode 100644 index 0000000..7eb3724 --- /dev/null +++ b/源码/src/main/webapp/resource/assets/css/main.css @@ -0,0 +1,524 @@ +.clearfix { + *zoom: 1; +} +.clearfix:before, +.clearfix:after { + display: table; + content: ""; +} +.clearfix:after { + clear: both; +} +.hide-text { + overflow: hidden; + text-indent: 100%; + white-space: nowrap; +} +.input-block-level { + display: block; + width: 100%; + min-height: 28px; + /* Make inputs at least the height of their button counterpart */ + + /* Makes inputs behave like true block-level elements */ + + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.hide { + display: none; +} +.show { + display: block; +} +.invisible { + visibility: hidden; +} +/* inline block */ +.ks-inline-block { + display: inline-block; + *display: inline; + *zoom: 1; +} +.ks-ext-mask { + background-color: #333333; + opacity: 0.5; + filter:Alpha(opacity=50); +} +.ks-clear { + *zoom: 1; +} +.ks-clear:before, +.ks-clear:after { + display: table; + content: ""; +} +.ks-clear:after { + clear: both; +} +.ks-hidden { + display: none; +} +html { + *overflow: hidden; +} +body { + overflow: hidden; + background-color: white; +} +iframe { + border: none; + padding: none; +} +.header,.dl-main-nav{ + background: url('../img/main-nav-bg.png') repeat-x 0 0 #204077; +} +.header { + background-color: #1B3160; + height: 30px; + width: 100%; + overflow: hidden; +} +.dl-title { + float: left; + color: #c1d5ec; + font-family: "Microsoft YaHei"; + margin-left: 12px; + font-size: 18px; + line-height: 36px; +} +.dl-title a{ + color:#c1d5ec; +} +.dl-log { + color: #C1D5EC; + float: right; + padding: 10px 16px 0 0; +} +.dl-log-user { + font-style: bold; +} +.dl-log-quit { + color: #c1d5ec; + padding-left: 8px; +} +.content { + width: 100%; +} +.dl-main-nav { + height: 40px; + background-position: center -30px; + overflow: hidden; + position: relative; +} +.dl-main-nav .nav-list { + border-bottom: 1px solid #FFF; + overflow: hidden; + border-width: 0; +} +.nav-item { + overflow: hidden; + font-size: 14px; + color: white; + position: relative; + width: 130px; + padding: 6px 0 0 8px; + cursor: pointer; +} +.nav-list .nav-item { + float: left; + color: #D4D4D4; +} + +.nav-item-inner,.dl4-hide-list .dl-hover{ + background:url('../img/icon1.png') no-repeat 0 0 transparent; +} + +.nav-list .dl-hover{ + background-position:0x -50px; +} +.dl4-hide-list .dl-hover{ + background-position:8px -40px; +} + +.nav-item-inner{ + padding: 4px 0 0 31px; + height: 30px; + border:1px solid transparent; + _border:none; +} + +.nav-item-mask { + display: none; + width: 128px; + height: 25px; + position: absolute; + background-color: white; + top: 8px; + opacity: .15; + filter: alpha(opacity=15); + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; + border: 1px solid #333; +} +.dl-hide-list { + position:absolute; + width: 160px; + overflow: hidden; + z-index:10; + border:1px solid #C3C3D6; + border-top:none; + padding:10px 0 0; + background-color:#E8E9EE; +} +.dl-hide-list .nav-item { + float:none; + padding:0; + width:158px; + + border: 1px solid white; + border-width: 0 1px; +} + +.dl-hide-list .dl-item-inner{ + background-color:#E8E9EE; + font-size:12px; + color:#666; + height:23px; + margin: 0 5px; +} + +.dl-hide-list .nav-item:last-child{ + -webkit-border-radius: 0 0 2px 2px ; + -moz-border-radius: 0 0 2px 4px; + border-radius: 0 0 2px 2px; + padding-bottom:10px; + border-bottom: 1px solid white; +} +.dl-hide-list .dl-last{ + padding-top:6px; + background-color:transparent; + +} + +.dl-hide-list .dl-last{ + display:none; +} +.dl-hide-list .nav-item-inner{ + background-color: #E8E9EE; + font-size: 12px; + color: #666; + height: 23px; + margin: 0 5px; +} + +.dl-hide-list .nav-item:hover .nav-item-inner{ + background-color: #e0e6fc; + border: 1px solid #a9b9f5; + border-radius: 2px; +} + +.nav-list .dl-hover .nav-item-mask,.nav-list .dl-last .nav-item-mask{ + display:block; +} +.nav-list .dl-selected .nav-item-inner{ + -webkit-border-radius: 2px 2px 0 0; + -moz-border-radius: 2px 2px 0 0; + border-radius: 2px 2px 0 0; + border:1px solid #FFF; + background-color:#E8E9EE; + color:#43478e; + font-weight:bold; + height:30px; +} + +.nav-list .dl-selected .nav-item-mask{ + display:none; +} +/**一级类目**/ + +/** 权限 **/ +.dl4-hide-list .nav-permission,.dl-selected .nav-permission{ + background-position:4px -124px; +} + +.nav-permission{ + background-position:4px -174px; +} + +/**仓库**/ +.dl4-hide-list .nav-storage,.dl-selected .nav-storage{ + background-position:-444px -127px; +} +.nav-storage{ + background-position:-444px -176px; +} + +/**库存**/ +.dl-selected .nav-inventory,.dl4-hide-list .nav-inventory{ + background-position:-443px -324px; +} +.nav-inventory{ + background-position:-444px -375px; +} + +/**用户**/ +.dl-selected .nav-user,.dl4-hide-list .nav-user{ + background-position:-144px -224px; +} +.nav-user{ + background-position:-144px -274px; +} + + +/**订单**/ +.dl-selected .nav-order,.dl4-hide-list .nav-order{ + background-position:-144px -126px; +} +.nav-order{ + background-position:-144px -176px; +} + +/**商品**/ +.dl-selected .nav-product,.dl4-hide-list .nav-product{ + background-position:-444px -427px; +} +.nav-product{ + background-position:-444px -477px; +} +/**供应商,商家**/ +.dl-selected .nav-supplier, .dl4-hide-list .nav-supplier{ + background-position:-594px -427px; +} +.nav-supplier{ + background-position:-594px -476px; +} + +/**费用**/ +.dl-selected .nav-cost,.dl4-hide-list .nav-cost{ + background-position:-294px -324px; +} +.nav-cost{ + background-position:-294px -374px; +} + +/**监控**/ +.dl-selected .nav-monitor,.dl4-hide-list .nav-monitor{ + background-position:-144px -324px; +} +.nav-monitor{ + background-position:-144px -374px; +} +/**聚划算**/ +.dl-selected .nav-gather,.dl4-hide-list .nav-gather{ + background-position:4px -224px; +} +.nav-gather{ + background-position:4px -274px; +} +/**铺货**/ +.dl-selected .nav-distribution,.dl4-hide-list .nav-distribution{ + background-position:-444px -224px; +} +.nav-distribution{ + background-position:-444px -274px; +} + +/**货品**/ +.dl-selected .nav-goods,.dl4-hide-list .nav-goods{ + background-position:-594px -124px; +} + +.nav-goods{ + background-position:-594px -174px; +} + +/**报名**/ +.dl-selected .nav-register,.dl4-hide-list .nav-register{ + background-position:-594px -224px; +} +.nav-register{ + background-position:-594px -274px; +} + +/**营销看板**/ +.dl-selected .nav-marketing,.dl4-hide-list .nav-marketing{ + background-position:4px -324px; +} +.nav-marketing{ + background-position:4px -374px; +} + +/**包裹**/ +.dl-selected .nav-package,.dl4-hide-list .nav-package{ + background-position:-594px -324px; +} +.nav-package{ + background-position:-594px -374px; +} + +/**首页**/ +.dl-selected .nav-home,.dl4-hide-list .nav-home{ + background-position:4px -424px; +} +.nav-home{ + background-position:4px -474px; +} + +/**商品认证**/ +.dl-selected .nav-product-certified,.dl4-hide-list .nav-product-certified{ + background-position:4px -524px; +} +.nav-product-certified{ + background-position:4px -574px; +} + +/**QC认证**/ +.dl-selected .nav-quality-certified,.dl4-hide-list .nav-quality-certified{ + background-position:-144px -524px; +} +.nav-quality-certified{ + background-position:-144px -574px; +} + +/**商家认证**/ +.dl-selected .nav-supplier-certified,.dl4-hide-list .nav-supplier-certified{ + background-position:-294px -524px; +} +.nav-supplier-certified{ + background-position:-294px -574px; +} + +/**认证公司**/ +.dl-selected .nav-certification,.dl4-hide-list .nav-certification{ + background-position:-444px -524px; +} +.nav-certification{ + background-position:-444px -574px; +} + +/**样品**/ +.dl-selected .nav-sample,.dl4-hide-list .nav-sample{ + background-position:-594px -524px; +} +.nav-sample{ + background-position:-594px -575px; +} + +/**供应链**/ +.dl-selected .nav-supplychain,.dl4-hide-list .nav-supplychain{ + background-position:-747px -125px; +} +.nav-supplychain{ + background-position:-747px -178px; +} +.dl-inform { + width: 135px; + float: right; + padding-top: 10px; + cursor: pointer; + display: none; +} + +.dl-hide-current { + margin-left:5px; +} + +.dl-selected .dl-hide-current { + background-image: url('../img/icon2.png'); +} + +.dl-tab-content { + width: 100%; + height: 100%; +} +.dl-tab-item { + width: 100%; +} +.dl-tab-item-inner { + width: 100%; + height: 430px; +} +.dl-second-nav, +.dl-second-tree, +.dl-inner-tab { + height: 100%; +} +.dl-second-tree { + width: 150px; + float: left; +} +.dl-second-nav { + float: left; + width: 150px; + position:relative; + padding-top: 5px; + background-color:#E8E9EE; +} +.dl-inner-tab .dl-tab-nav { + background-color: #E8E9EE; +} +.dl-second-nav .menu-container{ + background-color:transparent; +} + +.dl-collapse .dl-second-nav { + width: 10px; +} +.dl-collapse .dl-second-tree { + width: 3px; +} +.dl-collapse .menu-container { + display: none; +} +.dl-inner-tab { + margin-left: 150px; + +} +.dl-collapse .dl-inner-tab { + margin-left: 10px; +} + +.dl-second-slib-con { + position: absolute; + top: 0; + right: -6px; + height: 100%; + width: 7px; + overflow: hidden; +} + +/** tab 样式 **/ +.dl-second-slib { + position: absolute; + height: 100%; + width: 6px; + cursor: pointer; + top: 25px; + border-left: 1px solid #C3C3D6; + border-radius: 2px; + background: url('../img/left-slib.gif') no-repeat 0 center transparent; +} +.dl-collapse .dl-second-slib { + background-position: -6px center; +} + +.dl-inner-tab .bui-nav-tab{ + padding-top:5px; +} +.dl-inner-tab .bui-nav-tab,.dl-inner-tab .tab-nav-inner{ + background-color: #E8E9EE; +} + +.dl-inner-tab .tab-content-container{ + background-color: #fff; +} \ No newline at end of file diff --git a/源码/src/main/webapp/resource/assets/css/page-min.css b/源码/src/main/webapp/resource/assets/css/page-min.css new file mode 100644 index 0000000..b08fa3f --- /dev/null +++ b/源码/src/main/webapp/resource/assets/css/page-min.css @@ -0,0 +1 @@ +.container{margin-left:0;margin-top:0;width:auto;padding:20px 20px 0 20px;}.detail-page,.form-page,.search-page{padding:0;} diff --git a/源码/src/main/webapp/resource/assets/css/page.css b/源码/src/main/webapp/resource/assets/css/page.css new file mode 100644 index 0000000..8920c77 --- /dev/null +++ b/源码/src/main/webapp/resource/assets/css/page.css @@ -0,0 +1,13 @@ + +.container { + margin-left: 0px; + margin-top: 0px; + width: auto; + padding: 20px 20px 0px 20px; +} + +.detail-page,.form-page,.search-page{ + padding:0; +} + + diff --git a/源码/src/main/webapp/resource/assets/css/prettify.css b/源码/src/main/webapp/resource/assets/css/prettify.css new file mode 100644 index 0000000..e430a4c --- /dev/null +++ b/源码/src/main/webapp/resource/assets/css/prettify.css @@ -0,0 +1,31 @@ +.com { color: #93a1a1; } +.lit { color: #195f91; } +.pun, .opn, .clo { color: #93a1a1; } +.fun { color: #dc322f; } +.str, .atv { color: #D14; } +.kwd, .linenums .tag { color: #1e347b; } +.typ, .atn, .dec, .var { color: teal; } +.pln { color: #48484c; } + +.prettyprint { + padding: 8px; + background-color: #f7f7f9; + border: 1px solid #e1e1e8; + margin-top:8px; +} +.prettyprint.linenums { + -webkit-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; + -moz-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; + box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; +} + +/* Specify class=linenums on a pre to get line numbering */ +ol.linenums { + margin: 0 0 0 33px; /* IE indents via margin-left */ +} +ol.linenums li { + padding-left: 12px; + color: #bebec5; + line-height: 18px; + text-shadow: 0 1px 0 #fff; +} \ No newline at end of file diff --git a/源码/src/main/webapp/resource/assets/img/hide_list.png b/源码/src/main/webapp/resource/assets/img/hide_list.png new file mode 100644 index 0000000000000000000000000000000000000000..2ee48bf4e627c13c83de6586f0796733e28c6a7a GIT binary patch literal 953 zcmeAS@N?(olHy`uVBq!ia0vp^6B!s7CvY$US&9=yQ-Ksqx}&cn1H<|g=B!;Wfqcml z*NBqf{Irtt#G+IN$CUh}R0Yr6#Prml)Wnp^!jq{s3=GWPo-U3d6}R5pvh`vP6lr^S za)PW&cZAjq-Ww4dk*&Q6sp-1A*taLB?hxXZ)~*(HVP ze7_eMz4xEv$IAr;kt+_C?$Vwtf6I8o+PSvHnMLaE?ZVr_*6+8MiJ3cJPTK2p^z9q( zN~WJ)WYo1{)&0$aF#&H^if@_Ys(n_W@cf#{h}6)JT~?CX>B;Y;k8G-J&Y1UorfB!> z3wxxS_pe-eRA-j0_nz|=N8d(1&ETnS61n$l=lv^c4`)YxzO(t%`*nx(Osb#RUA|u% z?9BaZ**Ej^TV9`;r}}Q@Zk=y-#$7AQAAgx*(miMM#IRe+M{Y_~n>n2}`dlsW-tBDl zd994dXtUqZXJ$m++5It@MfdI9A3u-kyuE87CGC1{cVS}Y*Ow39y!&|7Kxx(9TidUT zfAydJy8GD0KV{vEzRkLqZvH)AZBo$Bf1h%=9IwXxd#_b+zNca4j7~{oLt*2zB(=0N zM|{rA=p;@As0B?Ic9CQ?WRpQ^u!|h?f!PjIgI%O&rl0}T5Rif%m}|kt5)c8oBnd?g zb`g+E5GKRik10ZQSQ#_H3;}6@c@PocxJ9rB0wkJXx?ny+n2cTIP5f8g0}O$$Te@l* SFJuGr9)qW=pUXO@geCye+o+5H literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/assets/img/icon1.png b/源码/src/main/webapp/resource/assets/img/icon1.png new file mode 100644 index 0000000000000000000000000000000000000000..2e602b0c4edc59e3e89f7c6514bfd46c61322284 GIT binary patch literal 8138 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 X*+26qy$~e)-@K}lmSUxX&4>R3iqcJ? literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/assets/img/main-nav-bg1.png b/源码/src/main/webapp/resource/assets/img/main-nav-bg1.png new file mode 100644 index 0000000000000000000000000000000000000000..f17d0c1941c21ed956bd711e39a8ec8fa2815e7a GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^j6iJ6!2~349{pMYq$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~-c6}fr3IEGZ*O1e<6CMoI1|M@TNnVE%|CH}WxIw7I)O+NVF z|NsA2B)zCn_$wbPKTC?oIN*xH%EL-}N=uKOIiSe-?Ejx{q6!BXG@DeKW~O_+1e(a; M>FVdQ&MBb@0KXYK-2eap literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/assets/img/main-nav-bg2.png b/源码/src/main/webapp/resource/assets/img/main-nav-bg2.png new file mode 100644 index 0000000000000000000000000000000000000000..f381fe8f3de52275b8a8c58020df11f976ab9b68 GIT binary patch literal 9145 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 literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/assets/img/menu.jpg b/源码/src/main/webapp/resource/assets/img/menu.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b371e21de32706ff3b3f26d210a5f3c5c4f5c71d GIT binary patch literal 11922 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 literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/assets/img/nav.jpg b/源码/src/main/webapp/resource/assets/img/nav.jpg new file mode 100644 index 0000000000000000000000000000000000000000..47306969e3960272458bb536ac24d1c50360599e GIT binary patch literal 9522 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 C8DpOS literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/assets/img/nav_selected.png b/源码/src/main/webapp/resource/assets/img/nav_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..456b4a71a57d0dabf3383612429235bf194617dc GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^JwR;C!3-pengrGWDVB6cUq=Rp^(V|(yIunMk|nMY zCBgY=CFO}lsSJ)O`AMk?p1FzXsX?iUDV2pMQ*D5XcmjMvTpzspE}|a#=FOY`|Nm=l zJg)^ZtR%=U7|3OC&|3Kg$oKbjaSW-r_2%3`-Ub5!<_+9$_8Twg;*HYeuVy+Qn*s!7 zX+aOpKhc^n^<+p#4;FA{qR+{vw|&k&y=%k7!*HOPKcDaBzSBUX89ZJ6T-G@yGywo| CI999x literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/assets/img/resource.jpg b/源码/src/main/webapp/resource/assets/img/resource.jpg new file mode 100644 index 0000000000000000000000000000000000000000..30d33825ec109c988f79ffc080310550d6364727 GIT binary patch literal 15588 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 literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/assets/img/top.png b/源码/src/main/webapp/resource/assets/img/top.png new file mode 100644 index 0000000000000000000000000000000000000000..1f78b96f41654e4db4ba3b94893e17f97e20511a GIT binary patch literal 6455 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.replace(":80/","/")),e)}function l(e){if(e.charAt(0)==="#")return e.substring(1);var n=t.alias;if(n&&y(e)){var r=e.split("/"),i=r[0];n.hasOwnProperty(i)&&(r[0]=n[i],e=r.join("/"))}return e}function h(n){var r=t.map||[];if(!r.length)return n;var i=n;for(var s=0;s-1||e.isRegExp(f)&&f.test(i))i=i.replace(f,o[1])}else e.isFunction(o)&&(i=o(i))}return v(i)||(i=a(u(E)+i)),i!==n&&(c[i]=n),i}function p(e){return c[e]||e}function d(e,n){if(!e)return"";e=l(e),n||(n=E);var r;return v(e)?r=e:m(e)?(e.indexOf("./")===0&&(e=e.substring(2)),r=u(n)+e):g(e)?r=n.match(o)[1]+e:r=t.base+"/"+e,f(r)}function v(e){return e.indexOf("://")>0||e.indexOf("//")===0}function m(e){return e.indexOf("./")===0||e.indexOf("../")===0}function g(e){return e.charAt(0)==="/"&&e.charAt(1)!=="/"}function y(e){var t=e.charAt(0);return e.indexOf("://")===-1&&t!=="."&&t!=="/"}function b(e){return e.charAt(0)!=="/"&&(e="/"+e),e}var r=/.*(?=\/.*$)/,i=/([^:\/])\/\/+/g,s=/\.(?:css|js)$/,o=/^(.*?\w)(?:\/|$)/,c={},w=n.location,E=w.protocol+"//"+w.host+b(w.pathname);E.indexOf("\\")>0&&(E=E.replace(/\\/g,"/")),e.dirname=u,e.realpath=a,e.normalize=f,e.parseAlias=l,e.parseMap=h,e.unParseMap=p,e.id2Uri=d,e.isAbsolute=v,e.isRoot=g,e.isTopLevel=y,e.pageUri=E}(seajs._util,seajs._config,this),function(e,t){function f(e,t){e.nodeName==="SCRIPT"?l(e,t):c(e,t)}function l(e,n){e.onload=e.onerror=e.onreadystatechange=function(){o.test(e.readyState)&&(e.onload=e.onerror=e.onreadystatechange=null,e.parentNode&&!t.debug&&r.removeChild(e),e=undefined,n())}}function c(t,n){v||m?(e.log("Start poll to fetch css"),setTimeout(function(){h(t,n)},1)):t.onload=t.onerror=function(){t.onload=t.onerror=null,t=undefined,n()}}function h(e,t){var n;if(v)e.sheet&&(n=!0);else if(e.sheet)try{e.sheet.cssRules&&(n=!0)}catch(r){r.name==="NS_ERROR_DOM_SECURITY_ERR"&&(n=!0)}setTimeout(function(){n?t():h(e,t)},1)}function p(){}var n=document,r=n.head||n.getElementsByTagName("head")[0]||n.documentElement,i=r.getElementsByTagName("base")[0],s=/\.css(?:\?|$)/i,o=/loaded|complete|undefined/,u,a;e.fetch=function(t,n,o){var a=s.test(t),l=document.createElement(a?"link":"script");if(o){var c=e.isFunction(o)?o(t):o;c&&(l.charset=c)}f(l,n||p),a?(l.rel="stylesheet",l.href=t):(l.async="async",l.src=t),u=l,i?r.insertBefore(l,i):r.appendChild(l),u=null},e.getCurrentScript=function(){if(u)return u;if(a&&a.readyState==="interactive")return a;var e=r.getElementsByTagName("script");for(var t=0;t0&&!("onload"in document.createElement("link"))}(seajs._util,seajs._config,this),function(e){function n(e){return e.replace(/^\s*\/\*[\s\S]*?\*\/\s*$/mg,"").replace(/^\s*\/\/.*$/mg,"")}var t=/(?:^|[^.$])\brequire\s*\(\s*(["'])([^"'\s\)]+)\1\s*\)/g;e.parseDependencies=function(r){var i=[],s;r=n(r),t.lastIndex=0;while(s=t.exec(r))s[2]&&i.push(s[2]);return e.unique(i)}}(seajs._util),function(e,t,n){function u(e,t){this.uri=e,this.status=t||0}function d(e,n){return t.isString(e)?u._resolve(e,n):t.map(e,function(e){return d(e,n)})}function v(e,i){var s=t.parseMap(e);if(f[s]){r[e]=r[s],i();return}if(a[s]){l[s].push(i);return}a[s]=!0,l[s]=[i],u._fetch(s,function(){f[s]=!0;var n=r[e];n.status===o.FETCHING&&(n.status=o.FETCHED),c&&(u._save(e,c),c=null),h&&n.status===o.FETCHED&&(r[e]=h,h.realUri=e),h=null,a[s]&&delete a[s];var i=l[s];i&&(delete l[s],t.forEach(i,function(e){e()}))},n.charset)}function m(e,n){var i=r[e]||(r[e]=new u(e));return i.status "),n)}function x(e,n){var r=e.concat(n);return r.length>t.unique(r).length}function T(e){var t=n.preload.slice();n.preload=[],t.length?N._use(t,e):e()}var r={},i={},s=[],o={FETCHING:1,FETCHED:2,SAVED:3,READY:4,COMPILING:5,COMPILED:6};u.prototype._use=function(e,n){t.isString(e)&&(e=[e]);var i=d(e,this.uri);this._load(i,function(){T(function(){var e=t.map(i,function(e){return e?r[e]._compile():null});n&&n.apply(null,e)})})},u.prototype._load=function(e,n){function l(e){(e||{}).status=o.SAVED){var n=w(t);n.length?u.prototype._load(n,function(){l(t)}):l(t)}else l()}var t=r[e]||(r[e]=new u(e,o.FETCHING));t.status>=o.FETCHED?n():v(e,n)})(i[f])},u.prototype._compile=function(){function n(t){var n=d(t,e.uri),i=r[n];return i?i.status===o.COMPILING?i.exports:(i.parent=e,i._compile()):null}var e=this;if(e.status===o.COMPILED)return e.exports;if(e.status-1||t.isRegExp(e)&&e.test(i)){var s=r[i];s.exports&&n.push(s.exports)}}),n},u._modify=function(t,n){var s=d(t),u=r[s];return u&&u.status===o.COMPILED?g(n,u):(i[s]||(i[s]=[]),i[s].push(n)),e},u.STATUS=o,u._resolve=t.id2Uri,u._fetch=t.fetch,u._save=m;var a={},f={},l={},c=null,h=null,p=[],N=new u(t.pageUri,o.COMPILED);e.use=function(t,n){return T(function(){N._use(t,n)}),e},e.define=u._define,e.cache=u.cache=r,e.find=u._find,e.modify=u._modify,u.fetchedList=f,e.pluginSDK={Module:u,util:t,config:n}}(seajs,seajs._util,seajs._config),function(e,t,n){function l(){n.debug&&(e.debug=!!n.debug)}function c(e){if(e.indexOf("??")===-1)return e;var n=e.split("??"),r=n[0],i=t.filter(n[1].split(","),function(e){return e.indexOf("sea.js")!==-1});return r+i[0]}function h(e,n,r){e&&e!==n&&t.log("The alias config is conflicted:","key =",'"'+r+'"',"previous =",'"'+e+'"',"current =",'"'+n+'"',"warn")}var r="seajs-ts=",i=r+t.now(),s=document.getElementById("seajsnode");if(!s){var o=document.getElementsByTagName("script");s=o[o.length-1]}var u=s&&t.getScriptAbsoluteSrc(s)||t.pageUri,a=t.dirname(c(u));t.loaderDir=a;var f=a.match(/^(.+\/)seajs\/[\.\d]+(?:-dev)?\/$/);f&&(a=f[1]),n.base=a,n.main=s&&s.getAttribute("data-main"),n.charset="utf-8",e.config=function(s){for(var o in s){if(!s.hasOwnProperty(o))continue;var u=n[o],a=s[o];if(u&&o==="alias"){for(var f in a)if(a.hasOwnProperty(f)){var c=u[f],p=a[f];/^\d+\.\d+\.\d+$/.test(p)&&(p=f+"/"+p+"/"+f),h(c,p,f),u[f]=p}}else!u||o!=="map"&&o!=="preload"?n[o]=a:(t.isString(a)&&(a=[a]),t.forEach(a,function(e){e&&u.push(e)}))}var d=n.base;return d&&!t.isAbsolute(d)&&(n.base=t.id2Uri((t.isRoot(d)?"":"./")+d+"/")),n.debug===2&&(n.debug=1,e.config({map:[[/^.*$/,function(e){return e.indexOf(r)===-1&&(e+=(e.indexOf("?")===-1?"?":"&")+i),e}]]})),l(),this},l()}(seajs,seajs._util,seajs._config),function(e,t,n){function r(){var e=[],r=n.location.search;return r=r.replace(/(seajs-\w+)(&|$)/g,"$1=1$2"),r+=" "+document.cookie,r.replace(/seajs-(\w+)=[1-9]/g,function(t,n){e.push(n)}),t.unique(e)}e.log=t.log,e.importStyle=t.importStyle,e.config({alias:{seajs:t.loaderDir}}),t.forEach(r(),function(t){e.use("seajs/plugin-"+t),t==="debug"&&(e._use=e.use,e._useArgs=[],e.use=function(){return e._useArgs.push(arguments),e})})}(seajs,seajs._util,this),function(e,t,n){var r=e._seajs;if(r&&!r.args){n.seajs=e._seajs;return}n.define=e.define,t.main&&e.use(t.main),function(t){if(t){var n={0:"config",1:"use",2:"define"};for(var r=0;ro+r?!1:ns+i?!1:!0},isInVerticalView:function(e){var t=BUI.viewportHeight(),n=BUI.scrollTop();return en+t?!1:!0},isInHorizontalView:function(e){var t=BUI.viewportWidth(),n=BUI.scrollLeft();return en+t?!1:!0},viewportWidth:function(){return $(window).width()},viewportHeight:function(){return $(window).height()},scrollLeft:function(){return $(window).scrollLeft()},scrollTop:function(){return $(window).scrollTop()},docWidth:function(){var e=document.documentElement||document.body;return $(e).width()},docHeight:function(){var e=document.documentElement||document.body;return $(e).height()},each:function(e,t){if(!e)return;$.each(e,function(e,n){return t(n,e)})},wrapBehavior:function(e,t){return e["__bui_wrap_"+t]=function(n){e.get("disabled")||e[t](n)}},getWrapBehavior:function(e,t){return e["__bui_wrap_"+t]}});var u=BUI.FormHelper={serializeToObject:function(e){var t=$(e).serializeArray(),n={};return BUI.each(t,function(e){var t=e.name;n[t]?(BUI.isArray(n[t])||(n[t]=[n[t]]),n[t].push(e.value)):n[t]=e.value}),n},setFields:function(e,t){for(var n in t)t.hasOwnProperty(n)&&BUI.FormHelper.setField(e,n,t[n])},clear:function(e){var t=$.makeArray(e.elements);BUI.each(t,function(e){e.type==="checkbox"||e.type==="radio"?$(e).attr("checked",!1):$(e).val(""),$(e).change()})},setField:function(e,t,n){var r=e.elements[t];BUI.isArray(r)?BUI.each(r,function(e){e.type==="checkbox"?(e.value===n||BUI.Array.indexOf(e.value,n)!==-1)&&$(e).attr("checked",!0):e.type==="radio"&&e.value===n?$(e).attr("checked",!0):$(e).val(n)}):$(r).val(n)},getField:function(e,t){return BUI.FormHelper.serializeToObject(e)[t]}};return BUI}),define("bui/array",["bui/util"],function(e){var t=e("bui/util");return t.Array={peek:function(e){return e[e.length-1]},indexOf:function(e,t,n){var r=n==null?0:n<0?Math.max(0,t.length+n):n;for(var i=r;i=0},each:t.each,equals:function(e,t){if(e==t)return!0;if(!e||!t)return!1;if(e.length!=t.length)return!1;var n=!0;for(var r=0;r=0;t--)delete e[t];e.length=0},remove:function(e,n){var r=t.Array.indexOf(n,e),i;return(i=r>=0)&&t.Array.removeAt(e,r),i},removeAt:function(e,n){return t.Array.splice(e,n,1).length==1},slice:function(e,t,n){return arguments.length<=2?Array.prototype.slice.call(e,t):Array.prototype.slice.call(e,t,n)},splice:function(e,n,r,i){return Array.prototype.splice.apply(e,t.Array.slice(arguments,1))}},t.Array}),define("bui/observable",["bui/util"],function(e){function r(){return new n}var t=e("bui/util"),n=function(){this._init()};t.augment(n,{_functions:null,_init:function(){var e=this;e._functions=[]},add:function(e){this._functions.push(e)},remove:function(e){var n=this._functions;index=t.Array.indexOf(e,n),index>=0&&n.splice(index,1)},empty:function(){var e=this._functions.length;this._functions.splice(0,e)},fireWith:function(e,n){var r=this,i;return t.each(r._functions,function(t){i=t.apply(e,n);if(i===!1)return!1}),i}});var i=function(e){this._events=[],this._eventMap={},this._bubblesEvents=[],this._initEvents(e)};return t.augment(i,{_events:[],_eventMap:{},_bubblesEvents:[],_bubbleTarget:null,_getCallbacks:function(e){var t=this,n=t._eventMap;return n[e]},_initEvents:function(e){var t=this,n=null;if(!e)return;n=e.listeners||{},e.handler&&(n.click=e.handler);if(n)for(var r in n)n.hasOwnProperty(r)&&t.on(r,n[r])},_isBubbles:function(e){return t.Array.indexOf(e,this._bubblesEvents)>=0},addTarget:function(e){this._bubbleTarget=e},addEvents:function(e){function o(e){t.Array.indexOf(e,i)===-1&&(s[e]=r(),i.push(e))}var n=this,i=n._events,s=n._eventMap;t.isArray(e)?$.each(e,function(e,t){o(t)}):o(e)},clearListeners:function(){var e=this,t=e._eventMap;for(var n in t)t.hasOwnProperty(n)&&t[n].empty()},fire:function(e,t){var n=this,r=n._getCallbacks(e),i=$.makeArray(arguments),s;t||(t={},i.push(t)),t.target||(t.target=n),r&&(s=r.fireWith(n,Array.prototype.slice.call(i,1)));if(n._isBubbles(e)){var o=n._bubbleTarget;o&&o.fire&&o.fire(e,t)}return s},on:function(e,n){var r=e.split(" "),i=this,s=null;return r.length>1?t.each(r,function(e){i.on(e,n)}):(s=i._getCallbacks(e),s?s.add(n):(i.addEvents(e),i.on(e,n))),i},off:function(e,t){if(!e&&!t)return this.clearListeners(),this;var n=this,r=n._getCallbacks(e);return r&&r.remove(t),n},publish:function(e,n){var r=this,i=r._bubblesEvents;if(n.bubbles)t.Array.indexOf(e,i)===-1&&i.push(e);else{var s=t.Array.indexOf(e,i);s!==-1&&i.splice(s,1)}}}),i}),define("bui/ua",function(){function e(e){var t=0;return parseFloat(e.replace(/\./g,function(){return t++===0?".":""}))}var t=$.UA||function(){var t=$.browser,n=e(t.version),r={ie:t.msie&&n,webkit:t.webkit&&n,opera:t.opera&&n,mozilla:t.mozilla&&n};return r}();return t}),define("bui/json",["bui/ua"],function(e){function i(e){return e<10?"0"+e:e}function c(e){return o.lastIndex=0,o.test(e)?'"'+e.replace(o,function(e){var t=f[e];return typeof t=="string"?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'}function h(e,t){var n,r,i,s,o=u,f,p=t[e];p&&typeof p=="object"&&typeof p.toJSON=="function"&&(p=p.toJSON(e)),typeof l=="function"&&(p=l.call(t,e,p));switch(typeof p){case"string":return c(p);case"number":return isFinite(p)?String(p):"null";case"boolean":case"null":return String(p);case"object":if(!p)return"null";u+=a,f=[];if(Object.prototype.toString.apply(p)==="[object Array]"){s=p.length;for(n=0;n99?Math.round(g/10):g,undefined),t:d<12?"a":"p",tt:d<12?"am":"pm",T:d<12?"A":"P",TT:d<12?"AM":"PM",Z:a?"UTC":(String(o).match(t)||[""]).pop().replace(n,""),o:(y>0?"-":"+")+r(Math.floor(Math.abs(y)/60)*100+Math.abs(y)%60,4),S:["th","st","nd","rd"][l%10>3?0:(l%100-l%10!==10)*l%10]};return u.replace(e,function(e){return e in b?b[e]:e.slice(1,e.length-1)})}}(),i={add:function(e,t,r){return n(e,t,r)},addHour:function(e,t){return n("h",e,t)},addMinute:function(e,t){return n("n",e,t)},addSecond:function(e,t){return n("s",e,t)},addDay:function(e,t){return n("d",e,t)},addWeek:function(e,t){return n("w",e,t)},addMonths:function(e,t){return n("m",e,t)},addYear:function(e,t){return n("y",e,t)},isDateEquals:function(e,t){return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()},isEquals:function(e,t){return e==t?!0:!e||!t?!1:!e.getTime||!t.getTime?!1:e.getTime()==t.getTime()},isDateString:function(t){return e.test(t)},format:function(e,t,n){return r(e,t,n)},parse:function(e,n){return t(e,n)},today:function(){var e=new Date;return new Date(e.getFullYear(),e.getMonth(),e.getDate())},getDate:function(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate())}};return i}),define("bui/base",["bui/observable"],function(e){function r(e,t,n){var r=e[t]||{};return n&&(e[t]=r),r}function i(e,t){return BUI.isString(t)?e[t]:t}function s(e,t,n,r,i){var s=n;return e.fire(t+BUI.ucfirst(n)+"Change",{attrName:s,prevVal:r,newVal:i})}function o(e,t,n,r,i){r=r||{};var o,u,a;return a=e.get(t),!$.isPlainObject(n)&&!BUI.isArray(n)&&a===n?undefined:!r.silent&&!1===s(e,"before",t,a,n)?!1:(o=e._set(t,n,r),o===!1?o:(r.silent||(n=e.getAttrVals()[t],s(e,"after",t,a,n)),e))}var t={},n=e("bui/observable"),u=function(e){var t=this,r=t.constructor,i=[];n.apply(this,arguments);while(r)i.push(r),r=r.superclass?r.superclass.constructor:null;for(var s=i.length-1;s>=0;s--)t.addAttrs(i[s].ATTRS,!0);t._initAttrs(e)};return u.INVALID=t,BUI.extend(u,n),BUI.augment(u,{addAttr:function(e,t,n){var r=this,i=r.getAttrs(),s=BUI.cloneObject(t);return i[e]?n&&BUI.mix(!0,i[e],s):i[e]=s,r},addAttrs:function(e,t,n){var r=this;return e?(typeof t=="boolean"&&(n=t,t=null),BUI.each(e,function(e,t){r.addAttr(t,e,n)}),t&&r.set(t),r):r},hasAttr:function(e){return e&&this.getAttrs().hasOwnProperty(e)},getAttrs:function(){return r(this,"__attrs",!0)},getAttrVals:function(){return r(this,"__attrVals",!0)},get:function(e){var t=this,n=t.hasAttr(e),s=t.getAttrVals(),o,u,a;return o=r(t.getAttrs(),e),u=o.getter,a=e in s?s[e]:t._getDefAttrVal(e),u&&(u=i(t,u))&&(a=u.call(t,a,e)),a},clearAttrVals:function(){this.__attrVals={}},removeAttr:function(e){var t=this;return t.hasAttr(e)&&(delete t.getAttrs()[e],delete t.getAttrVals()[e]),t},set:function(e,t,n){var r=this;if($.isPlainObject(e)){n=t;var i=Object(e),s=[];for(e in i)i.hasOwnProperty(e)&&o(r,e,i[e],n);return r}return o(r,e,t,n)},setInternal:function(e,t,n){return this._set(e,t,n)},_getDefAttrVal:function(e){var t=this,n=t.getAttrs(),s=r(n,e),o=s.valueFn,u;return o&&(o=i(t,o))&&(u=o.call(t),u!==undefined&&(s.value=u),delete s.valueFn,n[e]=s),s.value},_set:function(e,n,s){var o=this,u,a=r(o.getAttrs(),e,!0),f=a.setter;f&&(f=i(o,f))&&(u=f.call(o,n,e));if(u===t)return!1;u!==undefined&&(n=u),o.getAttrVals()[e]=n},_initAttrs:function(e){var t=this;if(e)for(var n in e)e.hasOwnProperty(n)&&t._set(n,e[n])}}),u}),define("bui/component",["bui/component/manage","bui/component/uibase","bui/component/view","bui/component/controller"],function(e){function n(e,n){var r,i;return e&&(i=e.xclass)&&(n&&!e.prefixCls&&(e.prefixCls=n.get("prefixCls")),r=t.Manager.getConstructorByXClass(i),r||BUI.error("can not find class by xclass desc : "+i),e=new r(e)),e}var t={};return BUI.mix(t,{Manager:e("bui/component/manage"),UIBase:e("bui/component/uibase"),View:e("bui/component/view"),Controller:e("bui/component/controller")}),t.create=n,t}),define("bui/component/manage",function(e){function n(e){var n=e.split(/\s+/),r=-1,i,s=null;for(var o=0;or&&(r=i,s=u.constructor)}return s}function r(e){for(var n in t){var r=t[n];if(r.constructor==e)return n}return 0}function i(e,n){BUI.isFunction(n)?t[e]={constructor:n,priority:0}:(n.priority=n.priority||0,t[e]=n)}function s(e){var t=$.trim(e).split(/\s+/);for(var n=0;n=0;f--)i[f]&&i[f].call(e)}function f(e){var t=e.constructor,n,r,i;while(t){t.prototype.hasOwnProperty("destructor")&&t.prototype.destructor.apply(e);if(n=t.mixins)for(i=n.length-1;i>=0;i--)r=n[i]&&n[i].prototype.__destructor,r&&r.apply(e);t=t.superclass&&t.superclass.constructor}}function l(e){if(!e)return;BUI.each(e,function(t,n){BUI.isFunction(t)&&(e[n]=new t)})}function c(e,t,n){if(!t)return;BUI.each(t,function(t,r){t[n]&&t[n](e)})}function h(e){var t=e.getAttrs(),r,s;for(r in t)t.hasOwnProperty(r)&&(s=n+i(r),e[s]&&function(t,n){e.on("after"+i(t)+"Change",function(t){t.target===e&&e[n](t.newVal,t)})}(r,s))}function p(e){var t,r,s=e.getAttrs();for(var o in s)if(s.hasOwnProperty(o)){var u=n+i(o);(r=e[u])&&s[o].sync!==!1&&(t=e.get(o))!==undefined&&r.call(e,t)}}var t=e("bui/component/manage"),n="_uiSet",r="ATTRS",i=BUI.ucfirst,s=$.noop,o=e("bui/base"),d=function(e){var t=this,n;o.apply(t,arguments),t.setInternal("userConfig",e),u(t,e);var r,i,s=t.get("plugins"),a=t.get("listeners");l(s);var f=t.get("xclass");f&&(t.__xclass=f),c(t,s,"initializer"),e&&e.autoRender&&t.render()};return d.ATTRS={userConfig:{},autoRender:{value:!1},listeners:{value:{}},plugins:{value:[]},rendered:{value:!1},xclass:{valueFn:function(){return t.getXClassByConstructor(this.constructor)}}},BUI.extend(d,o),BUI.augment(d,{create:function(){var e=this;return e.get("created")||(e.fire("beforeCreateDom"),a(e,"createDom","__createDom"),e._set("created",!0),e.fire("afterCreateDom"),c(e,e.get("plugins"),"createDom")),e},render:function(){var e=this;if(!e.get("rendered")){var t=e.get("plugins");e.create(undefined),e.fire("beforeRenderUI"),a(e,"renderUI","__renderUI"),e.fire("afterRenderUI"),c(e,t,"renderUI"),e.fire("beforeBindUI"),h(e),a(e,"bindUI","__bindUI"),e.fire("afterBindUI"),c(e,t,"bindUI"),e.fire("beforeSyncUI"),p(e),a(e,"syncUI","__syncUI"),e.fire("afterSyncUI"),c(e,t,"syncUI"),e._set("rendered",!0)}return e},createDom:s,renderUI:s,bindUI:s,syncUI:s,destroy:function(){var e=this;return e.fire("beforeDestroy"),c(e,e.get("plugins"),"destructor"),f(e),e.fire("afterDestroy"),e.off(),e.clearAttrVals(),e.destroyed=!0,e}}),BUI.mix(d,{define:function(e,t,n,r){function i(){d.apply(this,arguments)}return $.isPlainObject(t)&&(r=n,n=t,t=[]),BUI.extend(i,e,n,r),BUI.mixin(i,t),i},extend:function v(e,n,r){var i=$.makeArray(arguments),s,o=i[i.length-1];i.unshift(this),o.xclass&&(i.pop(),i.push(o.xclass)),s=d.define.apply(d,i);if(o.xclass){var u=o.priority||(this.priority?this.priority+1:1);t.setConstructorByXClass(o.xclass,{constructor:s,priority:u}),s.__xclass=o.xclass,s.priority=u,s.toString=function(){return o.xclass}}return s.extend=v,s}}),d}),define("bui/component/uibase/align",["bui/ua"],function(e){function i(e){var t=e.ownerDocument,n=t.body,r,i=$(e).css("position"),s=i=="fixed"||i=="absolute";if(!s)return e.nodeName.toLowerCase()=="html"?null:e.parentNode;for(r=e.parentNode;r&&r!=n;r=r.parentNode){i=$(r).css("position");if(i!="static")return r}return null}function s(e){var n={left:0,right:Infinity,top:0,bottom:Infinity},s,o,u,a,f=e.ownerDocument,l=f.body,c=f.documentElement;for(s=e;s=i(s);)if((!t.ie||s.clientWidth!=0)&&s!=l&&s!=c&&$(s).css("overflow")!="visible"){var h=$(s).offset();h.left+=s.clientLeft,h.top+=s.clientTop,n.top=Math.max(n.top,h.top),n.right=Math.min(n.right,h.left+s.clientWidth),n.bottom=Math.min(n.bottom,h.top+s.clientHeight),n.left=Math.max(n.left,h.left)}return o=$(r).scrollLeft(),u=$(r).scrollTop(),n.left=Math.max(n.left,o),n.top=Math.max(n.top,u),a={width:BUI.viewportWidth(),height:BUI.viewportHeight()},n.right=Math.min(n.right,o+a.width),n.bottom=Math.min(n.bottom,u+a.height),n.top>=0&&n.left>=0&&n.bottom>n.top&&n.right>n.left?n:null}function o(e,t,n,r){var i,s,o,u;return i={left:e.left,top:e.top},o=d(t,n[0]),u=d(e,n[1]),s=[u.left-o.left,u.top-o.top],{left:i.left-s[0]+ +r[0],top:i.top-s[1]+ +r[1]}}function u(e,t,n){return e.leftn.right}function a(e,t,n){return e.topn.bottom}function f(e,t,n,r){var i=BUI.cloneObject(e),s={width:t.width,height:t.height};return r.adjustX&&i.left=n.left&&i.left+s.width>n.right&&(s.width-=i.left+s.width-n.right),r.adjustX&&i.left+s.width>n.right&&(i.left=Math.max(n.right-s.width,n.left)),r.adjustY&&i.top=n.top&&i.top+s.height>n.bottom&&(s.height-=i.top+s.height-n.bottom),r.adjustY&&i.top+s.height>n.bottom&&(i.top=Math.max(n.bottom-s.height,n.top)),BUI.mix(i,s)}function l(e,t,n){var r=[];return $.each(e,function(e,i){r.push(i.replace(t,function(e){return n[e]}))}),r}function c(e,t){return e[t]=-e[t],e}function h(){}function p(e){var t,n,r;return e.length&&!$.isWindow(e[0])?(t=e.offset(),n=e.outerWidth(),r=e.outerHeight()):(t={left:BUI.scrollLeft(),top:BUI.scrollTop()},n=BUI.viewportWidth(),r=BUI.viewportHeight()),t.width=n,t.height=r,t}function d(e,t){var n=t.charAt(0),r=t.charAt(1),i=e.width,s=e.height,o,u;return o=e.left,u=e.top,n==="c"?u+=s/2:n==="b"&&(u+=s),r==="c"?o+=i/2:r==="r"&&(o+=i),{left:o,top:u}}function v(e){var t=e.attr("class"),r=new RegExp("s?"+n+"[a-z]{2}-[a-z]{2}","ig"),i=r.exec(t);i&&e.removeClass(i.join(" "))}var t=e("bui/ua"),n="x-align-",r=window;return h.__getOffsetParent=i,h.__getVisibleRectForElement=s,h.ATTRS={align:{value:{}}},h.prototype={_uiSetAlign:function(e,t){var r="",i,s;e&&e.points&&(this.align(e.node,e.points,e.offset,e.overflow),this.set("cachePosition",null),i=this.get("el"),v(i),s=e.points.join("-"),r=n+s,i.addClass(r))},align:function(e,t,n,i){e=$(e||r),n=n&&[].concat(n)||[0,0],i=i||{};var h=this,d=h.get("el"),v=0,m=s(d[0]),g=p(d),y=p(e),b=o(g,y,t,n),w=BUI.merge(g,b);if(m&&(i.adjustX||i.adjustY)){u(b,g,m)&&(v=1,t=l(t,/[lr]/ig,{l:"r",r:"l"}),n=c(n,0)),a(b,g,m)&&(v=1,t=l(t,/[tb]/ig,{t:"b",b:"t"}),n=c(n,1)),v&&(b=o(g,y,t,n),BUI.mix(w,b));var E={};E.adjustX=i.adjustX&&u(b,g,m),E.adjustY=i.adjustY&&a(b,g,m);if(E.adjustX||E.adjustY)w=f(b,g,m,E)}return w.left!=g.left&&(h.setInternal("x",null),h.get("view").setInternal("x",null),h.set("x",w.left)),w.top!=g.top&&(h.setInternal("y",null),h.get("view").setInternal("y",null),h.set("y",w.top)),w.width!=g.width&&d.width(d.width()+w.width-g.width),w.height!=g.height&&d.height(d.height()+w.height-g.height),h},center:function(e){var t=this;return t.set("align",{node:e,points:["cc","cc"],offset:[0,0]}),t}},h}),define("bui/component/uibase/autoshow",function(){function e(){}return e.ATTRS={trigger:{},delegateTigger:{value:!1},autoAlign:{value:!0},curTrigger:{},triggerCallback:{value:function(e){}},triggerEvent:{value:"click"},triggerHideEvent:{},events:{value:{triggerchange:!1}}},e.prototype={__createDom:function(){this._setTrigger()},_setTrigger:function(){function u(t){var n=e.get("curTrigger"),i=s?$(t.currentTarget):$(this),o=e.get("align");if(!n||n[0]!=i[0])e.set("curTrigger",i),e.fire("triggerchange",{prevTrigger:n,curTrigger:i});e.get("autoAlign")&&(o.node=i),e.set("align",o),e.show(),r&&r(t)}function a(t){var n=t.toElement||t.relatedTarget;(!n||!e.containsElement(n))&&e.hide()}var e=this,t=e.get("triggerEvent"),n=e.get("triggerHideEvent"),r=e.get("triggerCallback"),i=e.get("trigger"),s=e.get("delegateTigger"),o=$(i);t&&(s&&BUI.isString(i)?$(document).delegate(i,t,u):o.on(t,u)),n&&(s&&BUI.isString(i)?$(document).delegate(i,n,a):o.on(n,a))},__renderUI:function(){var e=this,t=e.get("align");t&&!t.node&&(t.node=e.get("render")||e.get("trigger"))}},e}),define("bui/component/uibase/autohide",function(){function n(e,t){var n=e.get("hideExceptNode");return n&&n.length?$.contains(n[0],t):!1}function r(){}var e=BUI.wrapBehavior,t=BUI.getWrapBehavior;return r.ATTRS={autoHideType:{value:"click"},autoHide:{value:!1},hideExceptNode:{},events:{value:{autohide:!1}}},r.prototype={__bindUI:function(){var e=this;e.on("afterVisibleChange",function(t){var n=t.newVal;e.get("autoHide")&&(n?e._bindHideEvent():e._clearHideEvent())})},handleMoveOuter:function(e){var t=this,r=e.toElement||e.relatedTarget;!t.containsElement(r)&&!n(t,r)&&t.fire("autohide")!==!1&&t.hide()},handleDocumentClick:function(e){var t=this,r=e.target;!t.containsElement(r)&&!n(t,r)&&t.fire("autohide")!==!1&&t.hide()},_bindHideEvent:function(){var t=this,n=t.get("curTrigger"),r=t.get("autoHideType");r==="click"?$(document).on("mousedown",e(t,"handleDocumentClick")):(t.get("el").on("mouseleave",e(t,"handleMoveOuter")),n&&$(n).on("mouseleave",e(t,"handleMoveOuter")))},_clearHideEvent:function(){var e=this,n=e.get("curTrigger"),r=e.get("autoHideType");r==="click"?$(document).off("mousedown",t(e,"handleDocumentClick")):(e.get("el").off("mouseleave",t(e,"handleMoveOuter")),n&&$(n).off("mouseleave",t(e,"handleMoveOuter")))}},r}),define("bui/component/uibase/close",function(){function t(e){return $(e.get("closeTpl"))}function n(){}function r(){}var e=BUI.prefix+"ext-";n.ATTRS={closeTpl:{value:''+'\u5173\u95ed<'+"/span>"+"<"+"/a>"},closable:{value:!0},closeBtn:{}},n.prototype={_uiSetClosable:function(e){var n=this,r=n.get("closeBtn");e?(r||n.setInternal("closeBtn",r=t(n)),r.appendTo(n.get("el"),undefined)):r&&r.remove()}};var i="hide";r.ATTRS={closeTpl:{view:!0},closable:{view:1},closeBtn:{view:1},closeAction:{value:i}};var s={hide:i,destroy:"destroy"};return r.prototype={_uiSetClosable:function(e){var t=this;e&&!t.__bindCloseEvent&&(t.__bindCloseEvent=1,t.get("closeBtn").on("click",function(e){t.fire("closeclick",{domTarget:e.target})!==!1&&t.close(),e.preventDefault()}))},__destructor:function(){var e=this.get("closeBtn");e&&e.detach()},close:function(){var e=this,t=s[e.get("closeAction")||i];e.fire("closing",{action:t})!==!1&&(e[t](),e.fire("closed",{action:t}))}},r.View=n,r}),define("bui/component/uibase/drag",function(){function r(){var e=$(n).css("opacity",0).prependTo("body");return e}var e=BUI.guid("drag"),t=function(){};t.ATTRS={dragNode:{},draging:{setter:function(e){if(e===!0)return{}},value:null},constraint:{},dragBackEl:{getter:function(){return $("#"+e)}}};var n='

';return t.prototype={__bindUI:function(){function r(n){var r=e.get("draging");r&&(n.preventDefault(),e._dragMoveTo(n.pageX,n.pageY,r,t))}function i(t){if(t.which==1){e.set("draging",!1);var n=e.get("dragBackEl");n&&n.hide(),o()}}function s(){$(document).on("mousemove",r),$(document).on("mouseup",i)}function o(){$(document).off("mousemove",r),$(document).off("mouseup",i)}var e=this,t=e.get("constraint"),n=e.get("dragNode");if(!n)return;n.on("mousedown",function(t){t.which==1&&(t.preventDefault(),e.set("draging",{elX:e.get("x"),elY:e.get("y"),startX:t.pageX,startY:t.pageY}),s())})},_dragMoveTo:function(e,t,n,i){var s=this,o=s.get("dragBackEl"),n=n||s.get("draging"),u=n.startX-e,a=n.startY-t;o.length||(o=r()),o.css({cursor:"move",display:"block"}),s.set("xy",[s._getConstrainX(n.elX-u,i),s._getConstrainY(n.elY-a,i)])},_getConstrainX:function(e,t){var n=this,r=n.get("el").outerWidth(),i=e+r,s=n.get("x");if(t){var o=t.offset();return o.left>=e?o.left:o.left+t.width()e?o.top:o.top+t.height()'+(r?'':"")+"
").prependTo("body");return t.on("mousedown",function(e){e.preventDefault()}),t}function a(){}function f(){}var t=e("bui/ua"),n={},r=t.ie==6;return a.ATTRS={maskShared:{value:!0}},a.prototype={_maskExtShow:function(){var e=this,t,r=i(e),s=n[r],o=e.get("maskShared"),a=e.get("maskNode");a||(o?s?a=s.node:(a=u(r),s=n[r]={num:0,node:a}):a=u(r),e.setInternal("maskNode",a)),(t=e.get("zIndex"))&&a.css("z-index",t-1),o&&s.num++,(!o||s.num==1)&&a.show()},_maskExtHide:function(){var e=this,t=i(e),r=n[t],s=e.get("maskShared"),o=e.get("maskNode");s&&r?(r.num=Math.max(r.num-1,0),r.num==0&&o.hide()):o&&o.hide()},__destructor:function(){var e=this,t=e.get("maskShared"),n=e.get("maskNode");e.get("maskNode")&&(t?e.get("visible")&&e._maskExtHide():n.remove())}},f.ATTRS={mask:{value:!1},maskNode:{view:1},maskShared:{view:1}},f.prototype={__bindUI:function(){var e=this,t=e.get("view"),n=t._maskExtShow,r=t._maskExtHide;e.get("mask")&&(e.on("show",function(){t._maskExtShow()}),e.on("hide",function(){t._maskExtHide()}))}},f=f,f.View=a,f}),define("bui/component/uibase/position",function(){function e(){}function t(){}return e.ATTRS={x:{valueFn:function(){var e=this;return e.get("el")&&e.get("el").offset().left}},y:{valueFn:function(){var e=this;return e.get("el")&&e.get("el").offset().top}},zIndex:{},visibleMode:{value:"visibility"}},e.prototype={__createDom:function(){this.get("el").addClass(BUI.prefix+"ext-position")},_uiSetZIndex:function(e){this.get("el").css("z-index",e)},_uiSetX:function(e){e!=null&&this.get("el").offset({left:e})},_uiSetY:function(e){e!=null&&this.get("el").offset({top:e})},_uiSetLeft:function(e){e!=null&&this.get("el").css({left:e})},_uiSetTop:function(e){e!=null&&this.get("el").css({top:e})}},t.ATTRS={x:{view:1},y:{view:1},left:{view:1},top:{view:1},xy:{setter:function(e){var t=this,n=$.makeArray(e);return n.length&&(n[0]&&t.set("x",n[0]),n[1]&&t.set("y",n[1])),e},getter:function(){return[this.get("x"),this.get("y")]}},zIndex:{view:1},visible:{view:!0,value:!0}},t.prototype={move:function(e,t){var n=this;return BUI.isArray(e)&&(t=e[1],e=e[0]),n.set("xy",[e,t]),n},_uiSetX:function(e){if(e!=null){var t=this,n=t.get("el");t.setInternal("left",n.position().left),e!=-999&&this.set("cachePosition",null)}},_uiSetY:function(e){if(e!=null){var t=this,n=t.get("el");t.setInternal("top",n.position().top),e!=-999&&this.set("cachePosition",null)}},_uiSetLeft:function(e){var t=this,n=t.get("el");e!=null&&t.setInternal("x",n.offset().left)},_uiSetTop:function(e){var t=this,n=t.get("el");e!=null&&t.setInternal("y",n.offset().top)}},t.View=e,t}),define("bui/component/uibase/listitem",function(){function e(){}function t(){}return e.ATTRS={selected:{}},e.prototype={_uiSetSelected:function(e){var t=this,n=t.getStatusCls("selected"),r=t.get("el");e?r.addClass(n):r.removeClass(n)}},t.ATTRS={selectable:{value:!0},selected:{view:!0,sync:!1,value:!1}},t.prototype={},t.View=e,t}),define("bui/component/uibase/stdmod",function(){function t(){}function n(t,n){var r=t.get("contentEl"),i=t.get(n);i||(i=$('
"+"
"),i.appendTo(r),t.setInternal(n,i))}function r(e,t,n){t=e.get(t),BUI.isString(n)?t.html(n):t.html("").append(n)}function i(){}var e=BUI.prefix+"stdmod-";return t.ATTRS={header:{},body:{},footer:{},bodyStyle:{},footerStyle:{},headerStyle:{},headerContent:{},bodyContent:{},footerContent:{}},t.PARSER={header:function(t){return t.one("."+e+"header")},body:function(t){return t.one("."+e+"body")},footer:function(t){return t.one("."+e+"footer")}},t.prototype={__createDom:function(){n(this,"header"),n(this,"body"),n(this,"footer")},_uiSetBodyStyle:function(e){this.get("body").css(e)},_uiSetHeaderStyle:function(e){this.get("header").css(e)},_uiSetFooterStyle:function(e){this.get("footer").css(e)},_uiSetBodyContent:function(e){r(this,"body",e)},_uiSetHeaderContent:function(e){r(this,"header",e)},_uiSetFooterContent:function(e){r(this,"footer",e)}},i.ATTRS={header:{view:1},body:{view:1},footer:{view:1},bodyStyle:{view:1},footerStyle:{view:1},headerStyle:{view:1},headerContent:{view:1},bodyContent:{view:1},footerContent:{view:1}},i.View=t,i}),define("bui/component/uibase/decorate",["bui/array","bui/json","bui/component/manage"],function(e){function s(e,t){if(t[e])return!0;var n=new RegExp("^"+i);return e!==FIELD_CFG&&n.test(e)?!0:!1}function o(e){var t=[],n=e.constructor;while(n)t.push(n),n=n.superclass&&n.superclass.constructor;return t}function u(e){return e=$.trim(e),regx.test(e)&&(e=n.looseParse(e)),e}function a(e,t){var n=e.userConfig||{};for(var r in t)r in n||e.setInternal(r,t[r])}function f(e,t){var n=this,r,i,s=n.userConfig||{};for(r in t)r in s||(i=t[r],BUI.isFunction(i)?n.setInternal(r,i.call(n,e)):typeof i=="string"?n.setInternal(r,e.find(i)):BUI.isArray(i)&&i[0]&&n.setInternal(r,e.find(i[0])))}function l(e,t){var n=e.constructor,r,i,s;s=o(e);for(r=s.length-1;r>=0;r--)n=s[r],(i=n[PARSER])&&f.call(e,t,i)}function c(e){var t=e,n=t.get("srcNode"),r,i;n&&(n=$(n),t.setInternal("el",n),t.setInternal("srcNode",n),r=t.get("userConfig"),i=t.getDecorateConfig(n),a(e,i),t.get("isDecorateChild")&&t.decorateInternal&&t.decorateInternal(n),l(e,n))}function h(){c(this)}var t=e("bui/array"),n=e("bui/json"),r=BUI.prefix,i="data-";return FIELD_CFG=i+"cfg",PARSER="PARSER",Manager=e("bui/component/manage"),regx=/^[\{\[]/,h.ATTRS={srcNode:{view:!0},isDecorateChild:{value:!1},decorateCfgFields:{value:{id:!0,name:!0,value:!0,title:!0}}},h.prototype={getDecorateConfig:function(e){if(!e.length)return null;var t=this,n=e[0],r=n.attributes,o=t.get("decorateCfgFields"),a={};return BUI.each(r,function(e){var t=e.nodeName;try{if(t===FIELD_CFG){var n=u(e.nodeValue);BUI.mix(a,n)}else s(t,o)&&(t=t.replace(i,""),a[t]=u(e.nodeValue))}catch(r){BUI.log("parse field error,the attribute is:"+t)}}),a},getDecorateElments:function(){var e=this,t=e.get("el"),n=e.get("contentContainer");return n?t.find(n).children():t.children()},decorateInternal:function(e){var t=this;t.decorateChildren(e)},findXClassByNode:function(e,t){var n=this,i=e.attr("class")||"",s=n.get("defaultChildClass");i=i.replace(new RegExp("\\b"+r,"ig"),"");var o=Manager.getConstructorByXClass(i)||Manager.getConstructorByXClass(s);return!o&&!t&&(BUI.log(e),BUI.error("can not find ui "+i+" from this markup")),Manager.getXClassByConstructor(o)},decorateChildrenInternal:function(e,t){var n=this,r=n.get("children");r.push({xclass:e,srcNode:t})},decorateChildren:function(e){var t=this,n=t.getDecorateElments();BUI.each(n,function(e){var n=t.findXClassByNode($(e));t.decorateChildrenInternal(n,$(e))})}},h}),define("bui/component/uibase/tpl",function(){function e(){}function t(){}return e.ATTRS={tpl:{}},e.prototype={__renderUI:function(){var e=this,t=e.get("childContainer"),n;t&&(n=e.get("el").find(t),n.length&&e.set("contentEl",n))},getTpl:function(e){var t=this,n=t.get("tpl"),r=t.get("tplRender");return e=e||t.getAttrVals(),r?r(e):n?BUI.substitute(n,e):""},setTplContent:function(e){var t=this,n=t.get("el"),r=t.get("content"),i=t.getTpl(e);!r&&i&&(n.empty(),n.html(i))}},t.ATTRS={tpl:{view:!0,sync:!1},tplRender:{view:!0,value:null},childContainer:{view:!0}},t.prototype={__renderUI:function(){this.get("srcNode")||this.setTplContent()},setTplContent:function(){var e=this,t=e.getAttrVals();e.get("view").setTplContent(t)},_uiSetTpl:function(){this.setTplContent()}},t.View=e,t}),define("bui/component/uibase/collapseable",function(){var e=function(){};e.ATTRS={collapsed:{}},e.prototype={_uiSetCollapsed:function(e){var t=this,n=t.getStatusCls("collapsed"),r=t.get("el");e?r.addClass(n):r.removeClass(n)}};var t=function(){};return t.ATTRS={collapseable:{value:!1},collapsed:{view:!0,value:!1},events:{value:{expanded:!0,collapsed:!0}}},t.prototype={_uiSetCollapsed:function(e){var t=this;e?t.fire("collapsed"):t.fire("expanded")}},t.View=e,t}),define("bui/component/uibase/selection",function(){var e="single",t=function(){};return t.ATTRS={selectedEvent:{value:"click"},events:{value:{selectedchange:!1,beforeselectedchange:!1,itemselected:!1,itemunselected:!1}},idField:{value:"id"},multipleSelect:{value:!1}},t.prototype={clearSelection:function(){var e=this,t=e.getSelection();BUI.each(t,function(t){e.clearSelected(t)})},getSelection:function(){},getSelected:function(){return this.getSelection()[0]},getSelectedValue:function(){var e=this,t=e.get("idField"),n=e.getSelected();return e.getValueByField(n,t)},getSelectionValues:function(){var e=this,t=e.get("idField"),n=e.getSelection();return $.map(n,function(n){return e.getValueByField(n,t)})},getSelectionText:function(){var e=this,t=e.getSelection();return $.map(t,function(t){return e.getItemText(t)})},clearSelected:function(e){var t=this;e=e||t.getSelected(),e&&t.setItemSelected(e,!1)},getSelectedText:function(){var e=this,t=e.getSelected();return e.getItemText(t)},setSelection:function(e){var t=this;e=BUI.isArray(e)?e:[e],BUI.each(e,function(e){t.setSelected(e)})},setSelected:function(e){var t=this,n=t.get("multipleSelect");if(!n){var r=t.getSelected();e!=r&&t.clearSelected(r)}t.setItemSelected(e,!0)},isItemSelected:function(e){},setItemSelected:function(e,t){var n=this,r;if(e){r=n.isItemSelected(e);if(r==t)return}n.fire("beforeselectedchange")!==!1&&n.setItemSelectedStatus(e,t)},setItemSelectedStatus:function(e,t){},setAllSelection:function(){},setSelectedByField:function(e,t){t||(t=e,e=this.get("idField"));var n=this,r=n.findItemByField(e,t);n.setSelected(r)},setSelectionByField:function(e,t){t||(t=e,e=this.get("idField"));var n=this;BUI.each(t,function(t){n.setSelectedByField(e,t)})},afterSelected:function(e,t,n){var r=this;t?(r.fire("itemselected",{item:e,domTarget:n}),r.fire("selectedchange",{item:e,domTarget:n,selected:t})):(r.fire("itemunselected",{item:e,domTarget:n}),r.get("multipleSelect")&&r.fire("selectedchange",{item:e,domTarget:n,selected:t}))}},t}),define("bui/component/uibase/list",["bui/component/uibase/selection"],function(e){function r(e){e.selected&&(e.selected=!1),e.set&&e.set("selected",!1)}function i(e,t){var n=t.isController?t.getAttrVals():t,r=e.get("itemTpl"),i=e.get("itemStatusCls"),o=e.get("itemTplRender");r&&!n.tpl&&s(t,"tpl",r),o&&!n.tplRender&&s(t,"tplRender",o);if(i){var u=n.statusCls||t.isController?t.get("statusCls"):{};BUI.each(i,function(e,t){e&&!u[t]&&(u[t]=e)}),s(t,"statusCls",u)}}function s(e,t,n){e.isController?e.set(t,n):e[t]=n}var t=e("bui/component/uibase/selection"),n=function(){};n.ATTRS={items:{view:!0},idField:{value:"id"},itemTpl:{view:!0},itemTplRender:{view:!0},itemStatusCls:{view:!0,value:{}},events:{value:{itemclick:!0}}},n.prototype={getItemCount:function(){return this.getItems().length},getValueByField:function(e,t){},getItems:function(){},getFirstItem:function(){return this.getItemAt(0)},getLastItem:function(){return this.getItemAt(this.getItemCount()-1)},getItemAt:function(e){return this.getItems()[e]||null},getItem:function(e){var t=this.get("idField");return this.findItemByField(t,e)},indexOfItem:function(e){return BUI.Array.indexOf(e,this.getItems())},addItems:function(e){var t=this;BUI.each(e,function(e){t.addItem(e)})},addItemsAt:function(e,t){var n=this;BUI.each(e,function(e,r){n.addItemAt(e,t+r)})},updateItem:function(e){},addItem:function(e){return this.addItemAt(e,this.getItemCount())},addItemAt:function(e,t){},findItemByField:function(e,t){},getItemText:function(e){},clearItems:function(){var e=this,t=e.getItems();t.splice(0),e.clearControl()},removeItem:function(e){},removeItems:function(e){var t=this;BUI.each(e,function(e){t.removeItem(e)})},removeItemAt:function(e){this.removeItem(this.getItemAt(e))},clearControl:function(){}};var o=function(){this.__init()};return o.ATTRS=BUI.merge(!0,n.ATTRS,t.ATTRS,{items:{sync:!1},autoInitItems:{value:!0},defaultLoaderCfg:{value:{property:"children",dataType:"json"}}}),BUI.augment(o,n,t,{__init:function(){var e=this,t=e.get("items");t&&e.get("autoInitItems")&&e.addItems(t),e.on("beforeRenderUI",function(){e._beforeRenderUI()})},_uiSetItems:function(e){var t=this;t.clearControl(),t.addItems(e)},_beforeRenderUI:function(){var e=this,t=e.get("children"),n=e.get("items");BUI.each(t,function(t){i(e,t)})},__bindUI:function(){var e=this,t=e.get("selectedEvent");e.on(t,function(t){var n=t.target;n.get("selectable")&&(n.get("selected")?e.get("multipleSelect")&&e.clearSelected(n):e.setSelected(n))}),e.on("click",function(t){t.target!==e&&e.fire("itemclick",{item:t.target,domTarget:t.domTarget,domEvent:t})}),e.on("beforeAddChild",function(t){i(e,t.child)}),e.on("beforeRemoveChild",function(t){var n=t.child,r=n.get("selected");r&&(e.get("multipleSelect")?e.clearSelected(n):e.setSelected(null)),n.set("selected",!1)})},clearControl:function(){this.removeChildren(!0)},getItems:function(){return this.get("children")},updateItem:function(e){var t=this,n=t.get("idField"),r=t.findItemByField(n,e[n]);return r&&r.setTplContent(),r},removeItem:function(e){var t=this,n=t.get("idField");e instanceof BUI.Component.Controller||(e=t.findItemByField(n,e[n])),this.removeChild(e,!0)},addItemAt:function(e,t){return this.addChild(e,t)},findItemByField:function(e,t,n){n=n||this;var r=this,i=n.get("children"),s=null;return $(i).each(function(n,i){i.get(e)==t?s=i:i.get("children").length&&(s=r.findItemByField(e,t,i));if(s)return!1}),s},getItemText:function(e){return e.get("el").text()},getValueByField:function(e,t){return e&&e.get(t)},setItemSelectedStatus:function(e,t){var n=this,r=t?"addClass":"removeClass",i=null;e&&(e.set("selected",t),i=e.get("el")),n.afterSelected(e,t,i)},isItemSelected:function(e){return e?e.get("selected"):!1},setAllSelection:function(){var e=this,t=e.getItems();e.setSelection(t)},getSelection:function(){var e=this,t=e.getItems(),n=[];return BUI.each(t,function(t){e.isItemSelected(t)&&n.push(t)}),n}}),n.ChildList=o,n}),define("bui/component/uibase/childcfg",function(e){var t=function(e){this._init()};return t.ATTRS={defaultChildCfg:{}},t.prototype={_init:function(){var e=this,t=e.get("defaultChildCfg");t&&e.on("beforeAddChild",function(e){var n=e.child;$.isPlainObject(n)&&BUI.each(t,function(e,t){n[t]||(n[t]=e)})})}},t}),define("bui/component/uibase/depends",["bui/component/manage"],function(e){function r(e){var n=t.exec(e),r=n[1],i=n[2],s=o(r);return{source:s,eventType:i}}function i(e,t,n){var i=r(t),s=i.source,o=i.eventType,u;return s&&n&&o&&(BUI.isFunction(n)?u=n:BUI.isArray(n)&&(u=function(){BUI.each(n,function(t){e[t]&&e[t]()})})),u?(i.callbak=u,s.on(o,u),i):null}function s(e){var t=e.source,n=e.eventType,r=e.callbak;t.off(n,r)}function o(e){var t=n.getComponent(e);return t||(t=$("#"+e),t.length||(t=null)),t}function u(){}var t=/^#(.*):(.*)$/,n=e("bui/component/manage");return u.ATTRS={depends:{value:{}},dependencesMap:{value:{}}},u.prototype={__syncUI:function(){this.initDependences()},initDependences:function(){var e=this,t=e.get("depends");BUI.each(t,function(t,n){e.addDependence(n,t)})},addDependence:function(e,t){var n=this,r=n.get("dependencesMap"),s;n.removeDependence(e),s=i(n,e,t),s&&(r[e]=s)},removeDependence:function(e){var t=this,n=t.get("dependencesMap"),r=n[e];r&&(s(r),delete n[e])},clearDependences:function(){var e=this,t=e.get("dependencesMap");BUI.each(t,function(e,t){s(e)}),e.set("dependencesMap",{})},__destructor:function(){this.clearDependences()}},u}),define("bui/component/uibase/bindable",function(){function e(){}return e.ATTRS={store:{},loadMask:{value:!1}},BUI.augment(e,{__bindUI:function(){var e=this,t=e.get("store"),n=e.get("loadMask");if(!t)return;t.on("beforeload",function(t){e.onBeforeLoad(t),n&&n.show&&n.show()}),t.on("load",function(t){e.onLoad(t),n&&n.hide&&n.hide()}),t.on("exception",function(t){e.onException(t),n&&n.hide&&n.hide()}),t.on("add",function(t){e.onAdd(t)}),t.on("remove",function(t){e.onRemove(t)}),t.on("update",function(t){e.onUpdate(t)}),t.on("localsort",function(t){e.onLocalSort(t)})},__syncUI:function(){var e=this,t=e.get("store");if(!t)return;t.hasData()&&e.onLoad()},onBeforeLoad:function(e){},onLoad:function(e){},onException:function(e){},onAdd:function(e){},onRemove:function(e){},onUpdate:function(e){},onLocalSort:function(e){}}),e}),define("bui/component/view",["bui/component/manage","bui/component/uibase"],function(e){var t=window,n=e("bui/component/manage"),r=e("bui/component/uibase"),i=document,s=r.extend([r.TplView],{getComponentCssClassWithState:function(e){var t=this,n=t.get("ksComponentCss");return e=e||"",t.getCssClassWithPrefix(n.split(/\s+/).join(e+" ")+e)},getCssClassWithPrefix:n.getCssClassWithPrefix,getKeyEventTarget:function(){return this.get("el")},getContentElement:function(){return this.get("contentEl")||this.get("el")},getStatusCls:function(e){var t=this,n=t.get("statusCls"),r=n[e];return r||(r=t.getComponentCssClassWithState("-"+e)),r},renderUI:function(){var e=this;if(!e.get("srcNode")){var t=e.get("render"),n=e.get("el"),r=e.get("elBefore");r?n.insertBefore(r,undefined):t?n.appendTo(t,undefined):n.appendTo(i.body,undefined)}},createDom:function(){var e=this,t=e.get("contentEl"),n=e.get("el");e.get("srcNode")||(n=$("<"+e.get("elTagName")+">"),t&&n.append(t),e.setInternal("el",n)),n.addClass(e.getComponentCssClassWithState()),t||e.setInternal("contentEl",n)},_uiSetHighlighted:function(e){var t=this,n=t.getStatusCls("hover"),r=t.get("el");r[e?"addClass":"removeClass"](n)},_uiSetDisabled:function(e){var t=this,n=t.getStatusCls("disabled"),r=t.get("el");r[e?"addClass":"removeClass"](n).attr("aria-disabled",e),e&&t.get("highlighted")&&t.set("highlighted",!1),t.get("focusable")&&t.getKeyEventTarget().attr("tabIndex",e?-1:0)},_uiSetActive:function(e){var t=this,n=t.getStatusCls("active");t.get("el")[e?"addClass":"removeClass"](n).attr("aria-pressed",!!e)},_uiSetFocused:function(e){var t=this,n=t.get("el"),r=t.getStatusCls("focused");n[e?"addClass":"removeClass"](r)},_uiSetElAttrs:function(e){this.get("el").attr(e)},_uiSetElCls:function(e){this.get("el").addClass(e)},_uiSetElStyle:function(e){this.get("el").css(e)},_uiSetWidth:function(e){this.get("el").width(e)},_uiSetHeight:function(e){var t=this;t.get("el").height(e)},_uiSetContent:function(e){var t=this,n;if(!t.get("srcNode")||!!t.get("rendered"))n=t.get("contentEl"),typeof e=="string"?n.html(e):e&&n.empty().append(e)},_uiSetVisible:function(e){var t=this,n=t.get("el"),r=t.get("visibleMode");r==="visibility"?n.css("visibility",e?"visible":"hidden"):n.css("display",e?"":"none")},destructor:function(){var e=this.get("el");e&&e.remove()}},{xclass:"view",priority:0});return s.ATTRS={el:{setter:function(e){return $(e)}},elCls:{},elStyle:{},width:{},height:{},statusCls:{value:{}},elTagName:{value:"div"},elAttrs:{},content:{},elBefore:{},render:{},visible:{value:!0},visibleMode:{value:"display"},cachePosition:{},contentEl:{valueFn:function(){return this.get("el")}},prefixCls:{value:BUI.prefix},focusable:{value:!0},focused:{},active:{},disabled:{},highlighted:{}},s}),define("bui/component/loader",["bui/util"],function(e){"use strict";var t=e("bui/util"),n=e("bui/base"),r=function(e){r.superclass.constructor.call(this,e),this._init()};return r.ATTRS={url:{},target:{},hasLoad:{value:!1},autoLoad:{},lazyLoad:{},property:{},renderer:{value:function(e){return e}},loadMask:{value:!1},dataType:{value:"text"},ajaxOptions:{value:{method:"get",cache:!1}},params:{},appendParams:{},lastParams:{value:{}},callback:{},failure:{}},t.extend(r,n),t.augment(r,{isLoader:!0,_init:function(){var e=this,t=e.get("autoLoad"),n=e.get("params");e._initMask(),t?e.load(n):(e._initParams(),e._initLazyLoad())},_initLazyLoad:function(){var e=this,t=e.get("target"),n=e.get("lazyLoad");t&&n&&n.event&&t.on(n.event,function(){(!e.get("hasLoad")||n.repeat)&&e.load()})},_initMask:function(){var e=this,n=e.get("target"),r=e.get("loadMask");n&&r&&t.use("bui/mask",function(i){var s=$.isPlainObject(r)?r:{};r=new i.LoadMask +(t.mix({el:n.get("el")},s)),e.set("loadMask",r)})},_initParams:function(){var e=this,n=e.get("lastParams"),r=e.get("params");t.mix(n,r)},load:function(e){var n=this,r=n.get("url"),i=n.get("ajaxOptions"),s=n.get("lastParams"),o=n.get("appendParams");t.mix(!0,s,o,e),e=t.cloneObject(s);if(!r)return;n.onBeforeLoad(),n.set("hasLoad",!0),$.ajax(t.mix({dataType:n.get("dataType"),data:e,url:r,success:function(t){n.onload(t,e)},error:function(t,r,i){n.onException({jqXHR:t,textStatus:r,errorThrown:i},e)}},i))},onBeforeLoad:function(){var e=this,t=e.get("loadMask");t&&t.show&&t.show()},onload:function(e,t){var n=this,r=n.get("loadMask"),i=n.get("property"),s=n.get("callback"),o=n.get("renderer"),u=n.get("target");u.set(i,o.call(n,e)),r&&r.hide&&r.hide(),s&&s.call(this,e,t)},onException:function(e,t){var n=this,r=n.get("failure");r&&r.call(this,e,t)}}),r}),define("bui/component/controller",["bui/component/uibase","bui/component/manage","bui/component/view","bui/component/loader"],function(e){"use strict";function u(e){return function(t){var n=this;if(n===t.target){var r=t.newVal,i=n.get("view");i&&i.set(e,r)}}}function a(e){return function(t){var n=this,r=n.get("view");return t===undefined?r.get(e):t}}function f(e,t,n){e.create();var r=e.getContentElement(),i=e.get("defaultChildClass");return!t.xclass&&!(t instanceof p)&&(t.xtype?t.xclass=i+"-"+t.xtype:t.xclass=i),t=BUI.Component.create(t,e),t.setInternal("parent",e),t.set("render",r),t.set("elBefore",n),t.create(undefined),t}function l(e){var t,n,r,i={},s,o=e.get("xview");t=e.getAttrs();for(r in t)t.hasOwnProperty(r)&&(n=t[r],n.view&&((s=e.get(r))!==undefined&&(i[r]=s),e.on("after"+BUI.ucfirst(r)+"Change",u(r)),n.getter=a(r)));return delete i.autoRender,i.ksComponentCss=c(e),new o(i)}function c(e){var t=e.constructor,r,i=[];while(t&&t!==p)r=n.getXClassByConstructor(t),r&&i.push(r),t=t.superclass&&t.superclass.constructor;return i.join(" ")}function h(e,t){var n=e.relatedTarget;return n&&(n===t[0]||$.contains(t,n))}var t=e("bui/component/uibase"),n=e("bui/component/manage"),r=e("bui/component/view"),i=e("bui/component/loader"),s=BUI.wrapBehavior,o=BUI.getWrapBehavior,p=t.extend([t.Decorate,t.Tpl,t.ChildCfg,t.KeyNav,t.Depends],{isController:!0,getCssClassWithPrefix:n.getCssClassWithPrefix,initializer:function(){var e=this;e.get("id")||e.set("id",e.getNextUniqueId()),n.addComponent(e.get("id"),e),e.setInternal("view",l(e))},getNextUniqueId:function(){var e=this,t=n.getXClassByConstructor(e.constructor);return BUI.guid(t)},createDom:function(){var e=this,t=e.get("view");t.create(undefined)},renderUI:function(){var e=this,t=e.get("loader");e.get("view").render(),e._initChildren(),t&&e.setInternal("loader",t)},_initChildren:function(e){var t=this,n,e,r;e=e||t.get("children").concat(),t.get("children").length=0;for(n=0;nt?1:e===t?0:-1}},sortField:{},sortDirection:{value:"ASC"},sortInfo:{getter:function(){var e=this,t=e.get("sortField");return{field:t,direction:e.get("sortDirection")}},setter:function(e){var t=this;t.set("sortField",e.field),t.set("sortDirection",e.direction)}}},BUI.augment(n,{compare:function(t,n,r,i){var s=this,o;return r=r||s.get("sortField"),i=i||s.get("sortDirection"),!r||!i?1:(o=i===e?1:-1,s.get("compareFunction")(t[r],n[r])*o)},getSortData:function(){},sortData:function(e,t,n){var r=this,n=n||r.getSortData();return BUI.isArray(e)&&(n=e,e=null),e=e||r.get("sortField"),t=t||r.get("sortDirection"),r.set("sortField",e),r.set("sortDirection",t),!e||!t?n:(n.sort(function(n,i){return r.compare(n,i,e,t)}),n)}}),n}),define("bui/data/proxy",["bui/data/sortable"],function(e){var t=e("bui/data/sortable"),n=function(e){n.superclass.constructor.call(this,e)};n.ATTRS={},BUI.extend(n,BUI.Base),BUI.augment(n,{_read:function(e,t){},read:function(e,t,n){var r=this;n=n||r,r._read(e,function(e){t.call(n,e)})},update:function(e,t,n){}});var r=function(e){r.superclass.constructor.call(this,e)};r.ATTRS=BUI.mix(!0,n.ATTRS,{limitParam:{value:"limit"},startParam:{value:"start"},pageIndexParam:{value:"pageIndex"},dataType:{value:"json"},method:{value:"GET"},cache:{value:!1},url:{}}),BUI.extend(r,n),BUI.augment(r,{_processParams:function(e){var t=this,n=["start","limit","pageIndex"];BUI.each(n,function(n){var r=t.get(n+"Param");r!==n&&(e[r]=e[n],delete e[n])})},_read:function(e,t){var n=this;e=BUI.cloneObject(e),n._processParams(e),$.ajax({url:n.get("url"),type:n.get("method"),dataType:n.get("dataType"),data:e,cache:n.get("cache"),success:function(e){t(e)},error:function(e,n,r){var i={exception:{status:n,errorThrown:r,jqXHR:e}};t(i)}})}});var i=function(e){i.superclass.constructor.call(this,e)};return BUI.extend(i,n),BUI.mixin(i,[t]),BUI.augment(i,{_read:function(e,t){var n=this,r=e.pageable,i=e.start,s=e.sortField,o=e.sortDirection,u=e.limit,a=n.get("data"),f=[];n.sortData(s,o),u?(f=a.slice(i,i+u),t({rows:f,results:a.length})):(f=a.slice(i),t(f))}}),n.Ajax=r,n.Memery=i,n}),define("bui/data/abstractstore",["bui/common","bui/data/proxy"],function(e){function r(e){r.superclass.constructor.call(this,e),this._init()}var t=e("bui/common"),n=e("bui/data/proxy");return r.ATTRS={autoLoad:{value:!1},lastParams:{value:{}},params:{},proxy:{value:{}},url:{},events:{value:["acceptchanges","load","beforeload","beforeProcessLoad","add","exception","remove","update","localsort"]},data:{setter:function(e){var t=this,n=t.get("proxy");n.set?n.set("data",e):n.data=e,t.set("autoLoad",!0)}}},t.extend(r,t.Base),t.augment(r,{isStore:!0,_init:function(){var e=this;e.beforeInit(),e._initParams(),e._initProxy(),e._initData()},beforeInit:function(){},_initData:function(){var e=this,t=e.get("autoLoad");t&&e.load()},_initParams:function(){var e=this,n=e.get("lastParams"),r=e.get("params");t.mix(n,r)},_initProxy:function(){var e=this,t=e.get("url"),r=e.get("proxy");r instanceof n||(t&&(r.url=t),r.type==="ajax"||r.url?r=new n.Ajax(r):r=new n.Memery(r),e.set("proxy",r))},load:function(e,n){var r=this,i=r.get("proxy"),s=r.get("lastParams");t.mix(!0,s,r.getAppendParams(),e),r.fire("beforeload",{params:s}),e=t.cloneObject(s),i.read(s,function(t){r.onLoad(t,e),n&&n(t,e)},r)},onLoad:function(e,t){var n=this,r=n.processLoad(e,t);r&&n.afterProcessLoad(e,t)},processLoad:function(e,t){var n=this,r=n.get("hasErrorProperty");return n.fire("beforeProcessLoad",e),e[r]||e.exception?(n.onException(e),!1):!0},afterProcessLoad:function(e,t){},onException:function(e){var t=this,n=t.get("errorProperty"),r={};e.exception?(r.type="exception",r[n]=e.exception):(r.type="error",r[n]=e[n]),t.fire("exception",r)},hasData:function(){},getAppendParams:function(){return{}}}),r}),define("bui/data/node",["bui/common"],function(e){function n(e,n){var r={};return n?(t.each(e,function(e,t){var i=n[t]||t;r[i]=e}),r.record=e):r=e,r}function r(e,r){var i=this;e=n(e,r),t.mix(this,e)}var t=e("bui/common");return t.augment(r,{root:!1,leaf:!1,text:"",id:null,loaded:!1,path:null,parent:null,level:0,record:null,children:null,isNode:!0}),r}),define("bui/data/treestore",["bui/common","bui/data/node","bui/data/abstractstore","bui/data/proxy"],function(e){function s(e){s.superclass.constructor.call(this,e)}var t=e("bui/common"),n=e("bui/data/node"),r=e("bui/data/proxy"),i=e("bui/data/abstractstore");return s.ATTRS={root:{},map:{},dataProperty:{value:"nodes"},events:{value:["add","update","remove","load"]}},t.extend(s,i),t.augment(s,{beforeInit:function(){this.initRoot()},_initData:function(){var e=this,t=e.get("autoLoad"),n=e.get("root");t&&!n.children&&(params=n.id?{id:n.id}:{},e.load(params))},initRoot:function(){var e=this,t=e.get("map"),r=e.get("root");r||(r={}),r.isNode||(r=new n(r,t)),r.path=[r.id],r.level=0,r.children&&e.setChildren(r,r.children),e.set("root",r)},add:function(e,t,n){var r=this;return e=r._add(e,t,n),r.fire("add",{node:e,index:n}),e},_add:function(e,r,i){r=r||this.get("root");var s=this,o=s.get("map"),u=r.children,a=e.children||[];return a.length==0&&e.leaf==null&&(e.leaf=!0),r&&(r.leaf=!1),e.isNode||(e=new n(e,o)),e.parent=r,e.level=r.level+1,e.path=r.path.concat(e.id),i=i==null?r.children.length:i,t.Array.addAt(u,e,i),s.setChildren(e,a),e},remove:function(e){var n=e.parent||_self.get("root"),r=t.Array.indexOf(e,n.children);return t.Array.remove(n.children,e),n.children.length===0&&(n.leaf=!0),this.fire("remove",{node:e,index:r}),e.parent=null,e},update:function(e){this.fire("update",{node:e})},getResult:function(){return this.get("root").children},setResult:function(e){var t=this,n=t.get("proxy"),i=t.get("root");n instanceof r.Memery?(t.set("data",e),t.load({id:i.id})):t.setChildren(i,e)},setChildren:function(e,n){var r=this;e.children=[];if(!n.length)return;t.each(n,function(t){r._add(t,e)})},findNode:function(e,n,r){var i=this;r=r==null?!0:r;if(!n){var s=i.get("root");return s.id===e?s:i.findNode(e,s)}var o=n.children,u=null;return t.each(o,function(t){t.id===e?u=t:r&&(u=i.findNode(e,t));if(u)return!1}),u},findNodesBy:function(e,n){var r=this,i,s=[];return n||(n=r.get("root")),t.each(n.children,function(t){e(t)&&s.push(t),s=s.concat(r.findNodesBy(e,t))}),s},findNodeByPath:function(e){if(!e)return null;var t=this,n=t.get("root"),r=e.split(","),i,s,o=r[0];if(!o)return null;n.id==o?i=n:i=t.findNode(o,n,!1);if(!i)return;for(s=1;s=0&&i(n,t)}function o(e,t){return BUI.Array.indexOf(e,t)!==-1}var t=e("bui/data/proxy"),n=e("bui/data/abstractstore"),r=e("bui/data/sortable"),u=function(e){u.superclass.constructor.call(this,e)};return u.ATTRS={currentPage:{value:0},deletedRecords:{value:[]},errorProperty:{value:"error"},hasErrorProperty:{value:"hasError"},matchFunction:{value:function(e,t){return e==t}},modifiedRecords:{value:[]},newRecords:{value:[]},remoteSort:{value:!1},resultMap:{value:{}},root:{value:"rows"},rowCount:{value:0},totalProperty:{value:"results"},start:{value:0},pageSize:{}},BUI.extend(u,n),BUI.mixin(u,[r]),BUI.augment(u,{add:function(e,t,n){var r=this,i=r.getCount();r.addAt(e,i,t,n)},addAt:function(e,t,n,r){var i=this;r=r||i._getDefaultMatch(),BUI.isArray(e)||(e=[e]),$.each(e,function(e,o){if(!n||!i.contains(o,r))i._addRecord(o,e+t),i.get("newRecords").push(o),s(o,i.get("deletedRecords")),s(o,i.get("modifiedRecords"))})},contains:function(e,t){return this.findIndexBy(e,t)!==-1},find:function(e,t){var n=this,r=null,i=n.getResult();return $.each(i,function(n,i){if(i[e]===t)return r=i,!1}),r},findAll:function(e,t){var n=this,r=[],i=n.getResult();return $.each(i,function(n,i){i[e]===t&&r.push(i)}),r},findByIndex:function(e){return this.getResult()[e]},findIndexBy:function(e,t){var n=this,r=-1,i=n.getResult();return t=t||n._getDefaultMatch(),e===null||e===undefined?-1:($.each(i,function(n,i){if(t(e,i))return r=n,!1}),r)},findNextRecord:function(e){var t=this,n=t.findIndexBy(e);if(n>=0)return t.findByIndex(n+1);return},getCount:function(){return this.getResult().length},getTotalCount:function(){var e=this,t=e.get("resultMap"),n=e.get("totalProperty");return t[n]||0},getResult:function(){var e=this,t=e.get("resultMap"),n=e.get("root");return t[n]},hasData:function(){return this.getCount()!==0},setResult:function(e){var n=this,r=n.get("proxy");r instanceof t.Memery?(n.set("data",e),n.load({start:0})):n._setResult(e)},remove:function(e,t){var n=this,r=[];t=t||n._getDefaultMatch(),BUI.isArray(e)||(e=[e]),$.each(e,function(e,r){var e=n.findIndexBy(r,t),u=i(e,n.getResult());!o(u,n.get("newRecords"))&&!o(u,n.get("deletedRecords"))&&n.get("deletedRecords").push(u),s(u,n.get("newRecords")),s(u,n.get("modifiedRecords")),n.fire("remove",{record:u})})},sort:function(e,t){var n=this,r=n.get("remoteSort");r?(n.set("sortField",e),n.set("sortDirection",t),n.load(n.get("sortInfo"))):n._localSort(e,t)},sum:function(e,t){var n=this,r=t||n.getResult(),i=0;return BUI.each(r,function(t){var n=t[e];isNaN(n)||(i+=parseFloat(n))}),i},setValue:function(e,t,n){var r=e,i=this;r[t]=n,!o(r,i.get("newRecords"))&&!o(r,i.get("modifiedRecords"))&&i.get("modifiedRecords").push(r),i.fire("update",{record:r,field:t,value:n})},update:function(e,t){var n=e,r=this,i=null,s=null;t&&(i=r._getDefaultMatch(),s=r.findIndexBy(e,i),s>=0&&(n=r.getResult()[s])),n=BUI.mix(n,e),!o(n,r.get("newRecords"))&&!o(n,r.get("modifiedRecords"))&&r.get("modifiedRecords").push(n),r.fire("update",{record:n})},_addRecord:function(e,t){var n=this.getResult();t==undefined&&(t=n.length),n.splice(t,0,e),this.fire("add",{record:e,index:t})},_clearChanges:function(){var e=this;e.get("newRecords").splice(0),e.get("modifiedRecords").splice(0),e.get("deletedRecords").splice(0)},_getDefaultMatch:function(){return this.get("matchFunction")},_getPageParams:function(){var e=this,t=e.get("sortInfo"),n=e.get("start"),r=e.get("pageSize"),i=e.get("pageIndex")||(r?n/r:0);return params={start:n,limit:r,pageIndex:i},e.get("remoteSort")&&BUI.mix(params,t),params},getAppendParams:function(){return this._getPageParams()},beforeInit:function(){this._setResult([])},_localSort:function(e,t){var n=this;n._sortData(e,t),n.fire("localsort")},_sortData:function(e,t,n){var r=this;n=n||r.getResult(),r.sortData(e,t,n)},afterProcessLoad:function(e,t){var n=this,r=n.get("root"),i=t.start,s=t.limit,o=n.get("totalProperty");BUI.isArray(e)?n._setResult(e):n._setResult(e[r],e[o]),n.set("start",i),s&&n.set("pageIndex",i/s),n.get("remoteSort")||n._sortData(),n.fire("load",{params:t})},_setResult:function(e,t){var n=this,r=n.get("resultMap");t=t||e.length,r[n.get("root")]=e,r[n.get("totalProperty")]=t,n._clearChanges()}}),u}),define("bui/overlay",["bui/common","bui/overlay/overlay","bui/overlay/dialog","bui/overlay/message"],function(e){var t=e("bui/common"),n=t.namespace("Overlay");return t.mix(n,{Overlay:e("bui/overlay/overlay"),Dialog:e("bui/overlay/dialog"),Message:e("bui/overlay/message")}),t.mix(n,{OverlayView:n.Overlay.View,DialogView:n.Dialog.View}),t.Message=t.Overlay.Message,n}),define("bui/overlay/overlay",["bui/common"],function(e){var t=e("bui/common"),n=t.Component,r="x-align-arrow",i=n.UIBase,s=n.View.extend([i.PositionView,i.CloseView]),o=n.Controller.extend([i.Position,i.Align,i.Close,i.AutoShow,i.AutoHide],{renderUI:function(){var e=this,t=e.get("el"),n=e.get("arrowContainer"),r=n?t.one(n):t;e.get("showArrow")&&$(e.get("arrowTpl")).appendTo(r)},show:function(){function u(){e.set("visible",!0),t.callback&&t.callback.call(e)}var e=this,t=e.get("effect"),n=e.get("el"),r=e.get("visibleMode"),i=t.effect,s=t.duration;if(r==="visibility"){o.superclass.show.call(e),t.callback&&t.callback.call(e);return}e.get("rendered")||(e.set("visible",!0),e.render(),e.set("visible",!1),n=e.get("el"));switch(i){case"linear":n.show(s,u);break;case"fade":n.fadeIn(s,u);break;case"slide":n.slideDown(s,u);break;default:u()}},hide:function(){function s(){e.set("visible",!1),t.callback&&t.callback.call(e)}var e=this,t=e.get("effect"),n=e.get("el"),r=t.effect,i=t.duration;if(e.get("visibleMode")==="visibility"){s();return}switch(r){case"linear":n.hide(i,s);break;case"fade":n.fadeOut(i,s);break;case"slide":n.slideUp(i,s);break;default:s()}}},{ATTRS:{effect:{value:{effect:"none",duration:0,callback:null}},closable:{value:!1},showArrow:{value:!1},arrowContainer:{view:!0},arrowTpl:{value:''},visibleMode:{value:"visibility"},visible:{value:!1},xview:{value:s}}},{xclass:"overlay"});return o.View=s,o}),define("bui/overlay/dialog",["bui/overlay/overlay"],function(e){var t=e("bui/overlay/overlay"),n=BUI.Component.UIBase,r="header-title",i=BUI.prefix,s=20,o=t.View.extend([n.StdModView,n.MaskView],{_uiSetTitle:function(e){var t=this,n=t.get("el");n.find("."+r).html(e)},_uiSetContentId:function(e){var t=this,n=t.get("body"),r=$("#"+e).children();r.appendTo(n)},_uiSetHeight:function(e){var t=this,n=e,r=t.get("header"),i=t.get("body"),o=t.get("footer");n-=r.outerHeight()+o.outerHeight(),n-=s*2,i.height(n)},_removeContent:function(){var e=this,t=e.get("body"),n=e.get("contentId");n?t.children().appendTo($("#"+n)):t.children().remove()}},{xclass:"dialog-view"}),u=t.extend([n.StdMod,n.Mask,n.Drag],{show:function(){var e=this;u.superclass.show.call(this),e.center()},bindUI:function(){var e=this;e.on("closeclick",function(){return e.onCancel()})},onCancel:function(){var e=this,t=e.get("cancel");return t.call(this)},_uiSetButtons:function(e){var t=this,n=t.get("footer");n.children().remove(),BUI.each(e,function(e){t._createButton(e,n)})},_createButton:function(e,t){var n=this,r='",i=$(r).appendTo(t);i.on("click",function(){e.handler.call(n,n,this)})},destructor:function(){var e=this,t=e.get("contentId"),n=e.get("body"),r=e.get("closeAction");r=="destroy"&&(e.hide(),t&&n.children().appendTo("#"+t))}},{ATTRS:{closeTpl:{view:!0,value:'
\u00d7'},buttons:{value:[{text:"\u786e\u5b9a",elCls:"button button-primary",handler:function(){var e=this,t=e.get("success");t&&t.call(e)}},{text:"\u53d6\u6d88",elCls:"button button-primary",handler:function(e,t){this.onCancel()!==!1&&this.close()}}]},contentId:{view:!0},success:{value:function(){this.close()}},cancel:{value:function(){}},dragNode:{valueFn:function(){return this.get("header")}},defaultLoaderCfg:{valueFn:function(){var e=this;return{property:"bodyContent",autoLoad:!1,lazyLoad:{event:"show"},loadMask:{el:e.get("body")}}}},title:{view:!0,value:""},mask:{value:!0},maskShared:{value:!1},headerContent:{value:'
\u6807\u9898
'},footerContent:{},closable:{value:!0},xview:{value:o}}},{xclass:"dialog"});return u.View=o,u}),define("bui/overlay/message",["bui/overlay/dialog"],function(e){function o(e,t){return function(n,r,i){BUI.isString(r)&&(i=r,r=null),i=i||t,r=r||f,u({buttons:e,icon:i,msg:n,success:r})}}function u(e){s.set(e),s.show()}function a(){var e=this,t=e.get("success");t&&(t.call(e),e.hide())}function f(){this.hide()}var t=e("bui/overlay/dialog"),n=BUI.prefix,r={info:"i",error:"\u00d7",success:'',question:"?",warning:"!"},i=t.extend({renderUI:function(){this._setContent()},bindUI:function(){var e=this,t=e.get("body");e.on("afterVisibleChange",function(n){if(n.newVal&&BUI.UA.ie<8){var r=t.outerWidth();BUI.UA.ie==6&&(r=r>350?350:r),e.get("header").width(r-20),e.get("footer").width(r)}})},_setContent:function(){var e=this,t=e.get("body"),n=BUI.substitute(e.get("contentTpl"),{msg:e.get("msg"),iconTpl:e.get("iconTpl")});t.empty(),$(n).appendTo(t)},_uiSetIcon:function(e){if(!this.get("rendered"))return;this._setContent()},_uiSetMsg:function(e){if(!this.get("rendered"))return;this._setContent()}},{ATTRS:{icon:{},msg:{},iconTpl:{getter:function(){var e=this,t=e.get("icon");return'
'+r[t]+"
"}},contentTpl:{value:'{iconTpl}
{msg}
'}}},{xclass:"message",priority:0}),s=new i({icon:"info",title:""}),l=o([{text:"\u786e\u5b9a",elCls:"button button-primary",handler:a}],"info"),c=o([{text:"\u786e\u5b9a",elCls:"button button-primary",handler:a},{text:"\u53d6\u6d88",elCls:"button button-primary",handler:f}],"question");return i.Alert=l,i.Confirm=c,i.Show=u,i}),function(){var e="bui/list/";define("bui/list",["bui/common",e+"list",e+"listitem",e+"simplelist",e+"listbox"],function(t){var n=t("bui/common"),r=n.namespace("List");return n.mix(r,{List:t(e+"list"),ListItem:t(e+"listitem"),SimpleList:t(e+"simplelist"),Listbox:t(e+"listbox")}),n.mix(r,{ListItemView:r.ListItem.View,SimpleListView:r.SimpleList.View}),r})}(),define("bui/list/domlist",["bui/common"],function(e){"use strict";function s(e,t){var n=t,r=n.get("itemCls"),i=n.get("itemStatusCls");return i&&i[e]?i[e]:r+"-"+e}function u(e,n){var i=e.attributes,o=n.get("itemStatusFields"),u={};return t.each(i,function(e){var t=e.nodeName;t.indexOf(r)!==-1&&(t=t.replace(r,""),u[t]=e.nodeValue)}),u.text=$(e).text(),t.each(o,function(t,r){var i=s(r,n);$(e).hasClass(i)&&(u[t]=!0)}),u}var t=e("bui/common"),n=t.Component.UIBase.Selection,r="data-",i=t.Component.UIBase.List,o=function(){};o.ATTRS={items:{}},o.prototype={clearControl:function(){var e=this,t=e.getItemContainer(),n=e.get("itemCls");t.find("."+n).remove()},addItem:function(e,t){return this._createItem(e,t)},getItems:function(){var e=this,n=e.getAllElements(),r=[];return t.each(n,function(t){r.push(e.getItemByElement(t))}),r},updateItem:function(e){var n=this,r=n.getItems(),i=t.Array.indexOf(e,r),s=null,o;return i>=0&&(s=n.findElement(e),o=n.getItemTpl(e,i),s&&$(s).html($(o).html())),s},removeItem:function(e,t){t=t||this.findElement(e),$(t).remove()},getItemContainer:function(){return this.get("itemContainer")||this.get("el")},getItemTpl:function(e,n){var r=this,i=r.get("itemTplRender"),s=r.get("itemTpl");return i?i(e,n):t.substitute(s,e)},_createItem:function(e,t){var n=this,r=n.getItemContainer(),i=n.get("itemCls"),s=n.get("dataField"),o=n.getItemTpl(e,t),u=$(o);if(t!==undefined){var a=r.find("."+i)[t];a?u.insertBefore(a):u.appendTo(r)}else u.appendTo(r);return u.addClass(i),u.data(s,e),u},getItemStatusCls:function(e){return s(e,this)},setItemStatusCls:function(e,t,n){var r=this,i=r.getItemStatusCls(e),s=n?"addClass":"removeClass";t&&$(t)[s](i)},hasStatus:function(e,t){var n=this,r=n.getItemStatusCls(e);return $(t).hasClass(r)},setItemSelected:function(e,t,n){var r=this;n=n||r.findElement(e),r.setItemStatusCls("selected",n,t)},getAllElements:function(){var e=this,t=e.get("itemCls"),n=e.get("el");return n.find("."+t)},getItemByElement:function(e){var t=this,n=t.get("dataField");return $(e).data(n)},getFirstElementByStatus:function(e){var t=this,n=t.getItemStatusCls(e),r=t.get("el");return r.find("."+n)[0]},getElementsByStatus:function(e){var t=this,n=t.getItemStatusCls(e),r=t.get("el");return r.find("."+n)},getSelectedElements:function(){var e=this,t=e.getItemStatusCls("selected"),n=e.get("el");return n.find("."+t)},findElement:function(e){var n=this,r=n.getAllElements(),i=null;return t.each(r,function(t){if(n.getItemByElement(t)==e)return i=t,!1}),i},isElementSelected:function(e){var t=this,n=t.getItemStatusCls("selected");return e&&$(e).hasClass(n)}};var a=function(){};return a.ATTRS=t.merge(!0,i.ATTRS,n.ATTRS,{dataField:{view:!0,value:"data-item"},itemContainer:{view:!0},itemStatusFields:{value:{}},itemCls:{view:!0},textGetter:{},defaultLoaderCfg:{value:{property:"items",dataType:"json"}},events:{value:{itemrendered:!0,itemremoved:!0,itemupdated:!0,itemsshow:!1,beforeitemsshow:!1,itemsclear:!1,beforeitemsclear:!1}}}),a.PARSER={items:function(e){var n=this,r=[],i=n.get("itemCls"),s=n.get("dataField"),o=e.find("."+i);return t.each(o,function(e){var t=u(e,n);r.push(t),$(e).data(s,t)}),r}},t.augment(a,i,n,{_uiSetItems:function(e){var t=this;if(t.get("srcNode")&&!t.get("rendered"))return;this.setItems(e)},__bindUI:function(){function i(t,n){var r=e.get("multipleSelect"),i;i=e.isItemSelected(t,n),i?r&&e.setItemSelected(t,!1,n):(r||e.clearSelected(),e.setItemSelected(t,!0,n))}var e=this,t=e.get("selectedEvent"),n=e.get("itemCls"),r=e.get("view").getItemContainer();r.delegate("."+n,"click",function(n){var r=$(n.currentTarget),s=e.getItemByElement(r);if(e.isItemDisabled(s,r))return;var o=e.fire("itemclick",{item:s,element:r[0],domTarget:n.target});o!==!1&&t=="click"&&i(s,r)}),t!=="click"&&r.delegate("."+n,t,function(t){var n=$(t.currentTarget),r=e.getItemByElement(n);if(e.isItemDisabled(r,n))return;i(r,n)}),r.delegate("."+n,"dblclick",function(t){var n=$(t.currentTarget),r=e.getItemByElement(n);if(e.isItemDisabled(r,n))return;e.fire("itemdblclick",{item:r,element:n[0],domTarget:t.target})}),e.on("itemrendered itemupdated",function(t){var n=t.item,r=t.element;e._syncItemStatus(n,r)})},getValueByField:function(e,t){return e&&e[t]},_syncItemStatus:function(e,n){var r=this,i=r.get("itemStatusFields");t.each(i,function(t,i){r.get("view").setItemStatusCls(i,n,e[t])}) +},getStatusValue:function(e,t){var n=this,r=n.get("itemStatusFields"),i=r[t];return e[i]},getCount:function(){var e=this.getItems();return e?e.length:0},getStatusField:function(e){var t=this,n=t.get("itemStatusFields");return n[e]},setStatusValue:function(e,t,n){var r=this,i=r.get("itemStatusFields"),s=i[t];s&&(e[s]=n)},getItemText:function(e){var t=this,n=t.get("textGetter");return e?n?n(e):$(t.findElement(e)).text():""},removeItem:function(e){var n=this,r=n.get("items"),i=n.findElement(e),s;s=t.Array.indexOf(e,r),s!==-1&&r.splice(s,1),n.get("view").removeItem(e,i),n.fire("itemremoved",{item:e,domTarget:$(i)[0],element:i})},addItemAt:function(e,t){var n=this,r=n.get("items");return t===undefined&&(t=r.length),r.splice(t,0,e),n.addItemToView(e,t),e},addItemToView:function(e,t){var n=this,r=n.get("view").addItem(e,t);n.fire("itemrendered",{item:e,domTarget:$(r)[0],element:r})},updateItem:function(e){var t=this,n=t.get("view").updateItem(e);t.fire("itemupdated",{item:e,domTarget:$(n)[0],element:n})},setItems:function(e){var n=this;n.clearControl(),n.fire("beforeitemsshow"),t.each(e,function(e,t){n.addItemToView(e,t)}),n.fire("itemsshow")},getItems:function(){return this.get("items")},getItemByElement:function(e){return this.get("view").getItemByElement(e)},getSelected:function(){var e=this,t=e.get("view").getFirstElementByStatus("selected");return e.getItemByElement(t)||null},getItemsByStatus:function(e){var n=this,r=n.get("view").getElementsByStatus(e),i=[];return t.each(r,function(e){i.push(n.getItemByElement(e))}),i},findElement:function(e){var n=this;return t.isString(e)&&(e=n.getItem(e)),this.get("view").findElement(e)},findItemByField:function(e,n){var r=this,i=r.get("items"),s=null;return t.each(i,function(t){if(t[e]===n)return s=t,!1}),s},setItemSelectedStatus:function(e,t,n){var r=this;n=n||r.findElement(e),r.setItemStatus(e,"selected",t,n)},setAllSelection:function(){var e=this,t=e.getItems();e.setSelection(t)},isItemSelected:function(e,t){var n=this;return t=t||n.findElement(e),n.get("view").isElementSelected(t)},isItemDisabled:function(e,t){return this.hasStatus(e,"disabled",t)},setItemDisabled:function(e,t){var n=this;n.setItemStatus(e,"disabled",t)},getSelection:function(){var e=this,n=e.get("view").getSelectedElements(),r=[];return t.each(n,function(t){r.push(e.getItemByElement(t))}),r},clearControl:function(){this.fire("beforeitemsclear"),this.get("view").clearControl(),this.fire("itemsclear")},hasStatus:function(e,t,n){if(!e)return!1;var r=this;return n=n||r.findElement(e),r.get("view").hasStatus(t,n)},setItemStatus:function(e,t,n,r){var i=this;e&&(r=r||i.findElement(e));if(!i.isItemDisabled(e,r)||t==="disabled")e&&(t==="disabled"&&n&&i.clearItemStatus(e),i.setStatusValue(e,t,n),i.get("view").setItemStatusCls(t,r,n),i.fire("itemstatuschange",{item:e,status:t,value:n,element:r})),t==="selected"&&i.afterSelected(e,n,r)},clearItemStatus:function(e,n,r){var i=this,s=i.get("itemStatusFields");r=r||i.findElement(e),n?i.setItemStatus(e,n,!1,r):(t.each(s,function(t,n){i.setItemStatus(e,n,!1,r)}),s.selected||i.setItemSelected(e,!1),i.setItemStatus(e,"hover",!1))}}),a.View=o,a}),define("bui/list/keynav",function(){"use strict";var e=function(){};return e.ATTRS={highlightedStatus:{value:"hover"}},BUI.augment(e,{setHighlighted:function(e,t){if(this.hasStatus(e,"hover",t))return;var n=this,r=n.get("highlightedStatus"),i=n._getHighLightedElement(),s=i?n.getItemByElement(i):null;s!==e&&(s&&this.setItemStatus(s,r,!1,i),this.setItemStatus(e,r,!0,t))},_getHighLightedElement:function(){var e=this,t=e.get("highlightedStatus"),n=e.get("view").getFirstElementByStatus(t);return n},getHighlighted:function(){var e=this,t=e.get("highlightedStatus"),n=e.get("view").getFirstElementByStatus(t);return e.getItemByElement(n)||null},getColumnCount:function(){var e=this,t=e.getFirstItem(),n=e.findElement(t),r=$(n);return n?parseInt(r.parent().width()/r.outerWidth(),10):1},getRowCount:function(e){var t=this;return e=e||t.getColumnCount(),(this.getCount()+e-1)/e},_getNextItem:function(e,t,n){var r=this,i=r._getCurrentIndex(),s=r.getCount(),o=e?1:-1,u;return i===-1?e?r.getFirstItem():r.getLastItem():(e||(t*=o),u=(i+t+n)%n,u>s-1&&(e?u-=s-1:u+=t),r.getItemAt(u))},_getLeftItem:function(){var e=this,t=e.getCount(),n=e.getColumnCount();return!t||n<=1?null:e._getNextItem(!1,1,t)},_getCurrentItem:function(){return this.getHighlighted()},_getCurrentIndex:function(){var e=this,t=e._getCurrentItem();return this.indexOfItem(t)},_getRightItem:function(){var e=this,t=e.getCount(),n=e.getColumnCount();return!t||n<=1?null:this._getNextItem(!0,1,t)},_getDownItem:function(){var e=this,t=e.getColumnCount(),n=e.getRowCount(t);return n<=1?null:this._getNextItem(!0,t,t*n)},_getUpperItem:function(){var e=this,t=e.getColumnCount(),n=e.getRowCount(t);return n<=1?null:this._getNextItem(!1,t,t*n)},handleNavUp:function(e){var t=this,n=t._getUpperItem();t.setHighlighted(n)},handleNavDown:function(e){this.setHighlighted(this._getDownItem())},handleNavLeft:function(e){this.setHighlighted(this._getLeftItem())},handleNavRight:function(e){this.setHighlighted(this._getRightItem())},handleNavEnter:function(e){var t=this,n=t._getCurrentItem();n&&t.setSelected(n)},handleNavEsc:function(e){this.setHighlighted(null)},handleNavTab:function(e){this.setHighlighted(this._getRightItem())}}),e}),define("bui/list/simplelist",["bui/common","bui/list/domlist","bui/list/keynav"],function(e){var t=e("bui/common"),n=t.Component.UIBase,r=e("bui/list/domlist"),i=e("bui/list/keynav"),s=t.prefix+"list-item",o=t.Component.View.extend([r.View],{setElementHover:function(e,t){var n=this;n.setItemStatusCls("hover",e,t)}},{ATTRS:{itemContainer:{valueFn:function(){return this.get("el").find(this.get("listSelector"))}}}},{xclass:"simple-list-view"}),u=t.Component.Controller.extend([r,n.Bindable,i],{bindUI:function(){var e=this,t=e.get("itemCls"),n=e.get("view").getItemContainer();n.delegate("."+t,"mouseover",function(t){var n=t.currentTarget,r=e.getItemByElement(n);if(e.isItemDisabled(t.item,t.currentTarget))return;e.get("highlightedStatus")==="hover"?e.setHighlighted(r,n):e.setItemStatus(r,"hover",!0,n)}).delegate("."+t,"mouseout",function(t){var n=$(t.currentTarget);e.get("view").setElementHover(n,!1)})},onAdd:function(e){var t=this,n=e.record;t.addItemToView(n,e.index)},onRemove:function(e){var t=this,n=e.record;t.removeItem(n)},onUpdate:function(e){this.updateItem(e.record)},onLocalSort:function(e){this.onLoad(e)},onLoad:function(){var e=this,t=e.get("store"),n=t.getResult();e.set("items",n)}},{ATTRS:{items:{view:!0,value:[]},itemCls:{view:!0,value:s},idField:{value:"value"},listSelector:{view:!0,value:"ul"},itemTpl:{view:!0,value:'
  • {text}
  • '},tpl:{value:"
      "},xview:{value:o}}},{xclass:"simple-list",prority:0});return u.View=o,u}),define("bui/list/listbox",["bui/list/simplelist"],function(e){var t=e("bui/list/simplelist"),n=t.extend({bindUI:function(){var e=this;e.on("selectedchange",function(e){var t=e.item,n=$(e.domTarget),r=n.find("input");t&&r.attr("checked",e.selected)})}},{ATTRS:{itemTpl:{value:'
    • {text}
    • '},multipleSelect:{value:!0}}},{xclass:"listbox"});return n}),define("bui/list/listitem",function(e){var t=BUI.Component,n=t.UIBase,r=t.View.extend([n.ListItemView],{}),i=t.Controller.extend([n.ListItem],{},{ATTRS:{elTagName:{view:!0,value:"li"},xview:{value:r},tpl:{view:!0,value:"{text}"}}},{xclass:"list-item"});return i.View=r,i}),define("bui/list/list",function(e){var t=BUI.Component,n=t.UIBase,r=t.Controller.extend([n.ChildList],{},{ATTRS:{elTagName:{view:!0,value:"ul"},idField:{value:"id"},defaultChildClass:{value:"list-item"}}},{xclass:"list"});return r}),define("bui/picker",["bui/common","bui/picker/picker","bui/picker/listpicker"],function(e){var t=e("bui/common"),n=t.namespace("Picker");return t.mix(n,{Picker:e("bui/picker/picker"),ListPicker:e("bui/picker/listpicker")}),n}),define("bui/picker/picker",["bui/overlay"],function(e){var t=e("bui/overlay").Overlay,n=t.extend({bindUI:function(){var e=this,t=e.get("innerControl"),n=e.get("hideEvent"),r=$(e.get("trigger"));r.on(e.get("triggerEvent"),function(t){if(e.get("autoSetValue")){var n=e.get("valueField")||e.get("textField")||this,r=$(n).val();e.setSelectedValue(r)}}),t.on(e.get("changeEvent"),function(t){var n=e.get("curTrigger"),r=e.get("textField")||n,i=e.get("valueField"),s=e.getSelectedValue(),o=!1;if(r){var u=e.getSelectedText(),a=$(r).val();u!=a&&($(r).val(u),o=!0)}if(i){var f=$(i).val();i!=f&&($(i).val(s),o=!0)}o&&e.onChange(u,s,t)}),n&&t.on(e.get("hideEvent"),function(){var t=e.get("curTrigger");try{t&&t.focus()}catch(n){BUI.log(n)}e.hide()})},setSelectedValue:function(e){},getSelectedValue:function(){},getSelectedText:function(){},onChange:function(e,t,n){var r=this,i=r.get("curTrigger");r.fire("selectedchange",{value:t,text:e,curTrigger:i})},_uiSetValueField:function(e){var t=this;e&&t.setSelectedValue($(e).val())},_getTextField:function(){var e=this;return e.get("textField")||e.get("curTrigger")}},{ATTRS:{innerControl:{getter:function(){return this.get("children")[0]}},triggerEvent:{value:"click"},autoSetValue:{value:!0},changeEvent:{value:"selectedchange"},autoHide:{value:!0},hideEvent:{value:"itemclick"},textField:{},align:{value:{points:["bl","tl"],offset:[0,0]}},valueField:{}}},{xclass:"picker"});return n}),define("bui/picker/listpicker",["bui/picker/picker","bui/list"],function(e){var t=e("bui/list"),n=e("bui/picker/picker"),r=n.extend({initializer:function(){var e=this,t=e.get("children"),n=e.get("list");n||t.push({})},setSelectedValue:function(e){e=e?e.toString():"";var t=this,n=t.get("list"),r=t.getSelectedValue();e!==r&&n.getCount()&&(n.get("multipleSelect")&&n.clearSelection(),n.setSelectionByField(e.split(",")))},onChange:function(e,t,n){var r=this,i=r.get("curTrigger");r.fire("selectedchange",{value:t,text:e,curTrigger:i,item:n.item})},getSelectedValue:function(){return this.get("list").getSelectionValues().join(",")},getSelectedText:function(){return this.get("list").getSelectionText().join(",")}},{ATTRS:{defaultChildClass:{value:"simple-list"},list:{getter:function(){return this.get("children")[0]}}}},{xclass:"list-picker"});return r}),function(){var e="bui/form/";define("bui/form",["bui/common",e+"fieldcontainer",e+"form",e+"row",e+"fieldgroup",e+"horizontal",e+"rules",e+"field",e+"fieldgroup"],function(t){var n=t("bui/common"),r=n.namespace("Form"),i=t(e+"tips");return n.mix(r,{Tips:i,TipItem:i.Item,FieldContainer:t(e+"fieldcontainer"),Form:t(e+"form"),Row:t(e+"row"),Group:t(e+"fieldgroup"),HForm:t(e+"horizontal"),Rules:t(e+"rules"),Field:t(e+"field"),FieldGroup:t(e+"fieldgroup")}),r})}(),define("bui/form/tips",["bui/common","bui/overlay"],function(e){var t=e("bui/common"),n=t.prefix,r=e("bui/overlay").Overlay,i="data-tip",s=n+"form-tip-container",o=r.extend({initializer:function(){var e=this,t=e.get("render");if(!t){var n=$(e.get("trigger")).parent();e.set("render",n)}},renderUI:function(){var e=this;e.resetVisible()},resetVisible:function(){var e=this,t=$(e.get("trigger"));t.val()?e.set("visible",!1):(e.set("align",{node:$(e.get("trigger")),points:["cl","cl"]}),e.set("visible",!0))},bindUI:function(){var e=this,t=$(e.get("trigger"));e.get("el").on("click",function(){e.hide(),t.focus()}),t.on("click focus",function(){e.hide()}),t.on("blur",function(){e.resetVisible()})}},{ATTRS:{trigger:{},text:{},iconCls:{},tpl:{value:'{text}'}}},{xclass:"form-tip"}),u=function(e){if(this.constructor!==u)return new u(e);u.superclass.constructor.call(this,e),this._init()};return u.ATTRS={form:{},items:{value:[]}},t.extend(u,t.Base),t.augment(u,{_init:function(){var e=this,n=$(e.get("form"));n.length&&(t.each($.makeArray(n[0].elements),function(t){var n=$(t).attr(i);n&&e._initFormElement(t,$.parseJSON(n))}),n.addClass(s))},_initFormElement:function(e,t){t&&(t.trigger=e);var n=this,r=n.get("items"),i=new o(t);r.push(i)},getItem:function(e){var n=this,r=n.get("items"),i=null;return t.each(r,function(t){if($(t.get("trigger")).attr("name")===e)return i=t,!1}),i},resetVisible:function(){var e=this,n=e.get("items");t.each(n,function(e){e.resetVisible()})},render:function(){var e=this,n=e.get("items");t.each(n,function(e){e.render()})},destroy:function(){var e=this,n=e.get(n);t.each(n,function(e){e.destroy()})}}),u.Item=o,u}),define("bui/form/basefield",["bui/common","bui/form/tips","bui/form/valid","bui/form/remote"],function(e){var t=e("bui/common"),n=t.Component,r=e("bui/form/tips").Item,i=e("bui/form/valid"),s=e("bui/form/remote"),o=t.prefix+"form-field-error",u="data-error",a=n.View.extend([s.View,i.View],{renderUI:function(){var e=this,t=e.get("control");if(!t){var n=e.get("controlTpl"),r=e.getControlContainer();if(n){var t=$(n).appendTo(r);e.set("control",t)}}else e.set("controlContainer",t.parent())},clearErrors:function(){var e=this,t=e.get("msgEl");t&&(t.remove(),e.set("msgEl",null)),e.get("el").removeClass(o)},showError:function(e,n){var r=this,i=r.get("control"),s=t.substitute(n,{error:e}),u=$(s);u.appendTo(i.parent()),r.set("msgEl",u),r.get("el").addClass(o)},getControlContainer:function(){var e=this,n=e.get("el"),r=e.get("controlContainer");return r?t.isString(r)?n.find(r):r:n},getLoadingContainer:function(){return this.getControlContainer()},_uiSetName:function(e){var t=this;t.get("control").attr("name",e)}},{ATTRS:{error:{},controlContainer:{},msgEl:{},control:{}}}),f=n.Controller.extend([s,i],{initializer:function(){var e=this;e.on("afterRenderUI",function(){var t=e.get("tip");t&&(t.trigger=e.getTipTigger(),t.autoRender=!0,t=new r(t),e.set("tip",t))})},bindUI:function(){var e=this,t=e.get("validEvent"),n=e.get("changeEvent"),r=e.getInnerControl();r.is("select")&&(t="change"),r.on(t,function(){var t=e.getControlValue(r);e.validControl(t)}),r.on("focus",function(){if(!e.get("hasValid")){var t=e.getControlValue(r);e.validControl(t)}}),e.on(n,function(){e.onValid()}),e.on("remotecomplete",function(t){e._setError(t.error)})},onValid:function(){var e=this,t=e.getControlValue();t=e.parseValue(t),e.isCurrentValue(t)||(e.setInternal("value",t),e.onChange())},onChange:function(){this.fire("change")},isCurrentValue:function(e){return e==this.get("value")},_clearError:function(){this.set("error",null),this.get("view").clearErrors()},_setError:function(e){this.set("error",e),this.showErrors()},getControlValue:function(e){var t=this;return e=e||t.getInnerControl(),e.val()},getControlContainer:function(){return this.get("view").getControlContainer()},getRemoteParams:function(){var e=this,t={};return t[e.get("name")]=e.get("value"),t},setControlValue:function(e){var t=this,n=t.getInnerControl();n.val(e)},parseValue:function(e){return e},valid:function(){var e=this;e.validControl()},validControl:function(e){var t=this,n;return e=e||t.getControlValue(),preError=t.get("error"),n=t.getValidError(e),t.setInternal("hasValid",!0),n?(t._setError(n),t.fire("error",{msg:n,value:e}),preError!==n&&t.fire("validchange",{valid:!1})):(t._clearError(),t.fire("valid"),preError&&t.fire("validchange",{valid:!0})),!n},focus:function(){this.getInnerControl().focus()},change:function(){var e=this.getInnerControl();e.change()},blur:function(){this.getInnerControl().blur()},isValid:function(){var e=this;return e.get("hasValid")||e.validControl(),!e.get("error")},getError:function(){return this.get("error")},getErrors:function(){var e=this.getError();return e?[e]:[]},clearErrors:function(){var e=this;e._clearError(),e.getControlValue()!=e.get("value")&&e.setControlValue(e.get("value"))},getInnerControl:function(){return this.get("view").get("control")},getTipTigger:function(){return this.getInnerControl()},destructor:function(){var e=this,t=e.get("tip");t&&t.destroy&&t.destroy()},setInnerWidth:function(e){var t=this,n=t.getInnerControl(),r=n.outerWidth()-n.width();n.width(e-r)},_resetTip:function(){var e=this,t=e.get("tip");t&&t.resetVisible()},resetTip:function(){this._resetTip()},_uiSetValue:function(e){var t=this;t.setControlValue(e),t.get("rendered")&&(t.validControl(),t.onChange()),t._resetTip()},_uiSetDisabled:function(e){var t=this,n=t.getInnerControl();n.attr("disabled",e),t.get("rendered")&&(e&&t.clearErrors(),e||t.valid())},_uiSetWidth:function(e){var t=this;e!=null&&t.get("forceFit")&&t.setInnerWidth(e)}},{ATTRS:{hasValid:{value:!1},forceFit:{value:!1},tip:{},changeEvent:{value:"valid"},validEvent:{value:"keyup change"},name:{view:!0},showError:{view:!0,value:!0},value:{view:!0},label:{},controlContainer:{view:!0},control:{view:!0},controlTpl:{view:!0,value:''},events:{value:{error:!1,valid:!1,change:!0,validchange:!0}},tpl:{value:""},xview:{value:a}},PARSER:{control:function(e){var t=e.find("input,select,textarea");return t.length?t:e},disabled:function(e){return!!e.attr("disabled")},value:function(e){var t=this,n="select,input,textarea",r=t.get("value");return r||(e.is(n)?r=e.val():r=e.find(n).val()),r},name:function(e){var t=this,n="select,input,textarea",r=t.get("name");return r||(e.is(n)?r=e.attr("name"):r=e.find(n).attr("name")),r}}},{xclass:"form-field"});return f.View=a,f}),define("bui/form/textfield",["bui/form/basefield"],function(e){var t=e("bui/form/basefield"),n=t.extend({},{xclass:"form-field-text"});return n}),define("bui/form/numberfield",["bui/form/basefield"],function(e){var t=e("bui/form/basefield"),n=t.extend({parseValue:function(e){if(e==""||e==null)return null;if(BUI.isNumber(e))return e;var t=this,n=t.get("allowDecimals");return e=e.replace(/\,/g,""),n?parseFloat(parseFloat(e).toFixed(t.get("decimalPrecision"))):parseInt(e)},_uiSetMax:function(e){this.addRule("max",e)},_uiSetMin:function(e){this.addRule("min",e)}},{ATTRS:{max:{},min:{},decorateCfgFields:{value:{min:!0,max:!0}},validEvent:{value:"keyup change"},defaultRules:{value:{number:!0}},allowDecimals:{value:!0},decimalPrecision:{value:2},step:{value:1}}},{xclass:"form-field-number"});return n}),define("bui/form/hiddenfield",["bui/form/basefield"],function(e){var t=e("bui/form/basefield"),n=t.extend({},{ATTRS:{controlTpl:{value:''},tpl:{value:""}}},{xclass:"form-field-hidden"});return n}),define("bui/form/readonlyfield",["bui/form/basefield"],function(e){var t=e("bui/form/basefield"),n=t.extend({},{ATTRS:{controlTpl:{value:''}}},{xclass:"form-field-readonly"});return n}),define("bui/form/selectfield",["bui/common","bui/form/basefield"],function(e){function r(e,n,r){e.children().remove();var s=r.get("emptyText");s&&i("",s,e),t.each(n,function(t){i(t.value,t.text,e)})}function i(e,t,n){var r='";$(r).appendTo(n)}var t=e("bui/common"),n=e("bui/form/basefield"),s=n.extend({renderUI:function(){var e=this,t=e.getInnerControl(),n=e.get("select");if(e.get("srcNode")&&t.is("select"))return;$.isPlainObject(n)&&e._initSelect(n)},_initSelect:function(e){var n=this,r=n.get("items");t.use("bui/select",function(t){e.render=n.getControlContainer(),e.valueField=n.getInnerControl(),e.autoRender=!0,e=new t.Select(e),n.set("select",e),n.set("isCreate",!0),n.get("children").push(e),e.on("change",function(t){var r=e.getSelectedValue();n.set("value",r)})})},setItems:function(e){var n=this,i=n.get("select");if($.isPlainObject(e)){var s=[];t.each(e,function(e,t){s.push({value:t,text:e})}),e=s}var o=n.getInnerControl();o.is("select")&&(r(o,e,n),n.setControlValue(n.get("value")),n.getControlValue()||n.setInternal("value","")),i&&(i.set?i.set("items",e):i.items=e)},setControlValue:function(e){var t=this,n=t.get("select"),r=t.getInnerControl();r.val(e),n&&n.set&&n.getSelectedValue()!==e&&n.setSelectedValue(e)},getTipTigger:function(){var e=this,t=e.get("select");return t&&t.rendered?t.get("el").find("input"):e.get("el")},_uiSetItems:function(e){e&&this.setItems(e)},setInnerWidth:function(e){var t=this,n=t.getInnerControl(),r=t.get("select"),i=n.outerWidth()-n.width();n.width(e-i),r&&r.set&&r.set("width",e)}},{ATTRS:{items:{},controlTpl:{value:''},showBlank:{value:!0},emptyText:{value:"\u8bf7\u9009\u62e9"},select:{value:{}}},PARSER:{emptyText:function(e){if(!this.get("showBlank"))return"";var t=e.find("option"),n=this.get("emptyText");return t.length&&(n=$(t[0]).text()),n}}},{xclass:"form-field-select"});return s}),define("bui/form/datefield",["bui/common","bui/form/basefield","bui/calendar"],function(e){var t=e("bui/common"),n=e("bui/form/basefield"),r=t.Date,i=e("bui/calendar").DatePicker,s=n.extend({renderUI:function(){var e=this,t=e.get("datePicker");$.isPlainObject(t)&&(t.trigger=e.getInnerControl(),t.autoRender=!0,t=new i(t),e.set("datePicker",t),e.set("isCreatePicker",!0),e.get("children").push(t)),t.get("showTime")&&e.getInnerControl().addClass("calendar-time")},bindUI:function(){var e=this,t=e.get("datePicker");t.on("selectedchange",function(t){var n=t.curTrigger;n[0]==e.getInnerControl()[0]&&e.set("value",t.value)})},setControlValue:function(e){var n=this,i=n.getInnerControl();t.isDate(e)&&(e=r.format(e,n._getFormatMask())),i.val(e)},_getFormatMask:function(){var e=this,t=e.get("datePicker");return t.get("showTime")?"yyyy-mm-dd HH:MM:ss":"yyyy-mm-dd"},parseValue:function(e){return t.isNumber(e)?new Date(e):r.parse(e)},isCurrentValue:function(e){return r.isEquals(e,this.get("value"))},_uiSetMax:function(e){this.addRule("max",e);var t=this,n=t.get("datePicker");n&&n.set&&n.set("maxDate",e)},_uiSetMin:function(e){this.addRule("min",e);var t=this,n=t.get("datePicker");n&&n.set&&n.set("minDate",e)}},{ATTRS:{controlTpl:{value:''},defaultRules:{value:{date:!0}},max:{},min:{},value:{setter:function(e){return t.isNumber(e)?new Date(e):e}},datePicker:{value:{}},isCreatePicker:{value:!0}},PARSER:{datePicker:function(e){return e.hasClass("calendar-time")?{showTime:!0}:{}}}},{xclass:"form-field-date"});return s}),define("bui/form/checkfield",["bui/form/basefield"],function(e){var t=e("bui/form/basefield"),n=t.extend({onValid:function(){var e=this,t=e._getControlChecked();e.setInternal("checked",t),e.fire("change"),t?e.fire("checked"):e.fire("unchecked")},_setControlChecked:function(e){var t=this,n=t.getInnerControl();n.attr("checked",!!e)},_getControlChecked:function(){var e=this,t=e.getInnerControl();return!!t.attr("checked")},_uiSetValue:function(e){},_uiSetChecked:function(e){var t=this;t._setControlChecked(e),t.get("rendered")&&t.onValid()}},{ATTRS:{validEvent:{value:"click"},checked:{value:!1},events:{value:{checked:!1,unchecked:!1}}},PARSER:{checked:function(e){return!!e.attr("checked")}}},{xclass:"form-check-field"});return n}),define("bui/form/checkboxfield",["bui/form/checkfield"],function(e){var t=e("bui/form/checkfield"),n=t.extend({},{ATTRS:{controlTpl:{view:!0,value:''},controlContainer:{value:".checkbox"},tpl:{value:''}}},{xclass:"form-field-checkbox"});return n}),define("bui/form/radiofield",["bui/form/checkfield"],function(e){var t=e("bui/form/checkfield"),n=t.extend({bindUI:function(){var e=this,t=e.get("parent"),n=e.get("name");t&&e.getInnerControl().on("click",function(r){var i=t.getFields(n);BUI.each(i,function(t){t!=e&&t.set("checked",!1)})})}},{ATTRS:{controlTpl:{view:!0,value:''},controlContainer:{value:".radio"},tpl:{value:''}}},{xclass:"form-field-radio"});return n}),define("bui/form/plainfield",["bui/form/basefield"],function(e){var t=e("bui/form/basefield"),n=t.View.extend({_uiSetValue:function(e){var t=this,n=t.get("textEl"),r=t.getControlContainer(),i=t.get("renderer"),s=i?i(e):e,o=t.get("width"),u=0,a;n&&n.remove(),s=s||" ",a=BUI.substitute(t.get("textTpl"),{text:s}),n=$(a).appendTo(r),u=n.outerWidth()-n.width(),n.width(o-u),t.set("textEl",n)}},{ATTRS:{textEl:{},value:{}}},{xclass:"form-field-plain-view"}),r=t.extend({},{ATTRS:{controlTpl:{value:''},textTpl:{view:!0,value:'{text}'},renderer:{view:!0,value:function(e){return e}},tpl:{value:""},xview:{value:n}}},{xclass:"form-field-plain"});return r}),define("bui/form/listfield",["bui/common","bui/form/basefield","bui/list"],function(e){var t=e("bui/common"),n=e("bui/list"),r=e("bui/form/basefield"),n=r.extend({initializer:function(){var e=this;e._initList()},_getList:function(){var e=this,t=e.get("children");return t[0]},bindUI:function(){var e=this,t=e._getList();t&&t.on("selectedchange",function(){var n=e._getListValue(t);e.set("value",n)})},_getListValue:function(e){var t=this;return e=e||t._getList(),e.getSelectionValues().join(",")},setControlValue:function(e){var t=this,n=t.getInnerControl(),r=t._getList();n.val(e),t._getListValue(r)!==e&&r.getCount()&&(r.get("multipleSelect")&&r.clearSelection(),r.setSelectionByField(e.split(",")))},syncUI:function(){this.set("list",this._getList())},_initList:function(){var e=this,t=e.get("children"),n=e.get("list")||{};if(t[0])return;$.isPlainObject(n)&&(n.xclass=n.xclass||"simple-list"),t.push(n)},setItems:function(e){var t=this,n=t.get("value"),r=t._getList();r.set("items",e),r.setSelectionByField(n.split(","))},_uiSetItems:function(e){e&&this.setItems(e)}},{ATTRS:{controlTpl:{value:''},items:{setter:function(e){if($.isPlainObject(e)){var n=[];t.each(e,function(e,t){n.push({value:t,text:e})}),e=n}return e}},list:{}}},{xclass:"form-field-list"});return n}),function(){var e="bui/form/";define(e+"field",["bui/common",e+"textfield",e+"datefield",e+"selectfield",e+"hiddenfield",e+"numberfield",e+"checkfield",e+"radiofield",e+"checkboxfield",e+"plainfield"],function(t){var n=t("bui/common"),r=t(e+"basefield");return n.mix(r,{Text:t(e+"textfield"),Date:t(e+"datefield"),Select:t(e+"selectfield"),Hidden:t(e+"hiddenfield"),Number:t(e+"numberfield"),Check:t(e+"checkfield"),Radio:t(e+"radiofield"),Checkbox:t(e+"checkboxfield"),Plain:t(e+"plainfield"),List:t(e+"listfield")}),r})}(),define("bui/form/valid",["bui/common","bui/form/rules"],function(e){var t=e("bui/common"),n=e("bui/form/rules"),r=function(){};r.prototype={getErrorsContainer:function(){var e=this,n=e.get("errorContainer");return n?t.isString(n)?e.get("el").find(n):n:e.getContentElement()},showErrors:function(e){var n=this,r=n.getErrorsContainer(),i=n.get("errorTpl");n.clearErrors();if(!n.get("showError"))return;if(n.get("showOneError")){e&&e.length&&n.showError(e[0],i,r);return}t.each(e,function(e){e&&n.showError(e,i,r)})},showError:function(e,t,n){},clearErrors:function(){}};var i=function(){};return i.ATTRS={defaultRules:{value:{}},defaultMessages:{value:{}},rules:{value:{}},messages:{value:{}},validator:{},errorContainer:{view:!0},errorTpl:{view:!0,value:'!'},showError:{view:!0,value:!0},showOneError:{},error:{}},i.prototype={isValid:function(){},valid:function(){},validControl:function(){},validRules:function(e,t){var r=this,i=r._getValidMessages(),s=null;for(var o in e)if(e.hasOwnProperty(o)){var u=e[o];s=n.valid(o,t,u,i[o],r);if(s)break}return s},_getValidMessages:function(){var e=this,n=e.get("defaultMessages"),r=e.get("messages");return t.merge(n,r)},getValidError:function(e){var t=this,n=t.get("validator"),r=null;return r=t.validRules(t.get("defaultRules"),e)||t.validRules(t.get("rules"),e),r||(t.parseValue&&(e=t.parseValue(e)),r=n?n.call(this,e):""),r},getErrors:function(){},showErrors:function(e){var t=this,e=e||t.getErrors();t.get("view").showErrors(e)},clearErrors:function(){var e=this,n=e.get("children");t.each(n,function(e){e.clearErrors&&e.clearErrors()}),e.set("error",null),e.get("view").clearErrors()},addRule:function(e,t,n){var r=this,i=r.get("rules"),s=r.get("messages");i[e]=t,n&&(s[e]=n)},addRules:function(e,n){var r=this;t.each(e,function(e,t){var i=n?n[t]:null;r.addRule(t,e,i)})},removeRule:function(e){var t=this,n=t.get("rules");delete n[e]},clearRules:function(){var e=this;e.set("rules",{})}},i.View=r,i}),define("bui/form/groupvalid",["bui/form/valid"],function(e){function r(){}function i(){}var t="x-form-error",n=e("bui/form/valid");return BUI.augment(r,n.View,{showError:function(e,n,r){var i=BUI.substitute(n,{error:e}),s=$(i);s.appendTo(r),s.addClass(t)},clearErrors:function(){var e=this,n=e.getErrorsContainer();n.children("."+t).remove()}}),i.ATTRS=ATTRS=BUI.merge(!0,n.ATTRS,{events:{value:{validchange:!0,change:!0}}}),BUI.augment(i,n,{__bindUI:function(){var e=this,t="validchange change";e.on(t,function(t){var n=t.target;if(n!=this&&e.get("showError")){var r=e.isChildrenValid();r&&(e.validControl(e.getRecord()),r=e.isSelfValid()),r?e.clearErrors():e.showErrors()}})},isValid:function(){var e=this,t=e.isChildrenValid();return t&&e.isSelfValid()},valid:function(){var e=this,t=e.get("children");BUI.each(t,function(e){e.valid()})},isChildrenValid:function(){var e=this,t=e.get("children"),n=!0;return BUI.each(t,function(e){if(!e.isValid())return n=!1,!1}),n},isSelfValid:function(){return!this.get("error")},validControl:function(e){var t=this,n=t.getValidError(e);t.set("error",n)},getErrors:function(){var e=this,t=e.get("children"),n=e.get("showChildError"),r=null,i=[];return n&&BUI.each(t,function(e){e.getErrors&&(i=i.concat(e.getErrors()))}),e.isChildrenValid()&&(r=e.get("error"),r&&i.push(r)),i},_uiSetErrorTpl:function(e){var t=this,n=t.get("children");BUI.each(n,function(t){t.set("errorTpl",e)})}}),i.View=r,i}),define("bui/form/fieldcontainer",["bui/common","bui/form/field","bui/form/groupvalid"],function(e){function f(e){return e.is(a)}function l(e,n){if(e!=n){if(f(e))return[e];var r=e.attr("class");if(r&&(r.indexOf(u)!==-1||r.indexOf(o)!==-1))return[e]}var i=[],s=e.children();return t.each(s,function(e){i=i.concat(l($(e),n))}),i}var t=e("bui/common"),n=e("bui/form/field"),r=e("bui/form/groupvalid"),i=t.prefix,s="form-field",o=i+s,u=i+"form-group",a="input,select,textarea",c=t.Component.View.extend([r.View]),h=t.Component.Controller.extend([r],{syncUI:function(){var e=this,n=e.getFields(),r=e.get("validators");t.each(n,function(e){var t=e.get("name");r[t]&&e.set("validator",r[t])}),t.each(r,function(t,n){if(n.indexOf("#")==0){var r=n.replace("#",""),i=e.getChild(r,!0);i&&i.set("validator",t)}})},getDecorateElments:function(){var e=this,t=e.get("el"),n=l(t,t);return n},findXClassByNode:function(e,n){return e.attr("type")==="checkbox"?s+"-checkbox":e.attr("type")==="radio"?s+"-radio":e.attr("type")==="number"?s+"-number":e.hasClass("calendar")?s+"-date":e[0].tagName=="SELECT"?s+"-select":f(e)?s:t.Component.Controller.prototype.findXClassByNode.call(this,e,n)},getRecord:function(){var e=this,n={},r=e.getFields();return t.each(r,function(r){var i=r.get("name"),s=e._getFieldValue(r);if(!n[i])n[i]=s;else if(t.isArray(n[i])&&s!=null)n[i].push(s);else if(s!=null){var o=[n[i]];o.push(s),n[i]=o}}),n},getFields:function(e){var r=this,i=[],s=r.get("children");return t.each(s,function(t){t instanceof n?(!e||t.get("name")==e)&&i.push(t):t.getFields&&(i=i.concat(t.getFields(e)))}),i},getField:function(e){var n=this,r=n.getFields(),i=null;return t.each(r,function(t){if(t.get("name")===e)return i=t,!1}),i},getFieldAt:function(e){return this.getFields()[e]},setFieldValue:function(e,n){var r=this,i=r.getFields(e);t.each(i,function(e){r._setFieldValue(e,n)})},_setFieldValue:function(e,r){if(e.get("disabled"))return;if(e instanceof n.Check){var i=e.get("value");r&&(i===r||t.isArray(r)&&t.Array.contains(i,r))?e.set("checked",!0):e.set("checked",!1)}else r==null&&(r=""),e.set("value",r)},getFieldValue:function(e){var n=this,r=n.getFields(e),i=[];return t.each(r,function(e){var t=n._getFieldValue(e);t&&i.push(t)}),i.length===0?null:i.length===1?i[0]:i},_getFieldValue:function(e){return e instanceof n.Check&&!e.get("checked")?null:e.get("value")},clearFields:function(){this.clearErrors(),this.setRecord({})},setRecord:function(e){var n=this,r=n.getFields();t.each(r,function(t){var r=t.get("name");n._setFieldValue(t,e[r])})},updateRecord:function(e){var n=this,r=n.getFields();t.each(r,function(t){var r=t.get("name");e.hasOwnProperty(r)&&n._setFieldValue(t,e[r])})},focus:function(){var e=this,t=e.getFields(),n=t[0];n&&n.focus()},_uiSetDisabled:function(e){var n=this,r=n.get("children");t.each(r,function(t){t.set("disabled",e)})}},{ATTRS:{record:{setter:function(e){this.setRecord(e)},getter:function(){return this.getRecord()}},validators:{value:{}},defaultLoaderCfg:{value:{property:"children",dataType:"json"}},disabled:{sync:!1},isDecorateChild:{value:!0},xview:{value:c}}},{xclass:"form-field-container"});return h.View=c,h}),define("bui/form/group/base",["bui/common","bui/form/fieldcontainer"],function(e){var t=e("bui/common"),n=e +("bui/form/fieldcontainer"),r=n.extend({},{ATTRS:{label:{view:!0},defaultChildClass:{value:"form-field"}}},{xclass:"form-group"});return r}),define("bui/form/group/range",["bui/form/group/base"],function(e){function n(e,t,n){var r=e.get("allowEqual");return r?n<=t:n=u?e._setFieldsEnable(r,!1):e._setFieldsEnable(r,!0)})},_setFieldsEnable:function(e,t){var n=this,r=n.getFields(e);BUI.each(r,function(e){t?e.enable():e.get("checked")||e.disable()})},_uiSetRange:function(e){this.addRule("checkRange",e)}},{ATTRS:{range:{setter:function(e){if(BUI.isString(e)||BUI.isNumber(e))e=[parseInt(e)];return e}}}},{xclass:"form-group-check"});return r}),define("bui/form/group/select",["bui/form/group/base","bui/data"],function(e){function i(e){var t=[];return BUI.each(e,function(e){t.push({text:e.text,value:e.id})}),t}var t=e("bui/form/group/base"),n=e("bui/data"),r=BUI.Component.UIBase.Bindable,s=t.extend([r],{initializer:function(){var e=this,t=e.get("url"),r=e.get("store")||e._getStore();r.isStore||(r.autoLoad=!0,t&&(r.url=t),r=new n.TreeStore(r),e.set("store",r))},bindUI:function(){var e=this;e.on("change",function(t){var n=t.target;if(n!=e){var r=n,i=r.get("value"),s=e._getFieldIndex(r)+1;e._valueChange(i,s)}})},onLoad:function(e){var t=this,n=e?e.node:t.get("store").get("root");t._setFieldItems(n.level,n.children)},_getStore:function(){var e=this,t=e.get("type");return t&&o[t]?o[t]:{}},_valueChange:function(e,t){var n=this,r=n.get("store");if(e){var i=r.findNode(e);if(!i)return;r.isLoaded(i)?n._setFieldItems(t,i.children):r.loadNode(i)}else n._setFieldItems(t,[])},_setFieldItems:function(e,t){var n=this,r=n.getFieldAt(e),s=i(t);r&&(r.setItems(s),n._valueChange(r.get("value"),e+1))},_getFieldIndex:function(e){var t=this,n=t.getFields();return BUI.Array.indexOf(e,n)}},{ATTRS:{type:{},store:{}}},{xclass:"form-group-select"}),o={};return s.addType=function(e,t){o[e]=t},s.addType("city",{proxy:{url:"http://lp.taobao.com/go/rgn/citydistrictdata.php",dataType:"jsonp"},map:{isleaf:"leaf",value:"text"}}),s}),define("bui/form/fieldgroup",["bui/common","bui/form/group/base","bui/form/group/range","bui/form/group/check","bui/form/group/select"],function(e){var t=e("bui/common"),n=e("bui/form/group/base");return t.mix(n,{Range:e("bui/form/group/range"),Check:e("bui/form/group/check"),Select:e("bui/form/group/select")}),n}),define("bui/form/form",["bui/common","bui/toolbar","bui/form/fieldcontainer"],function(e){var t=e("bui/common"),n=e("bui/toolbar").Bar,r=e("bui/form/fieldcontainer"),i=t.Component,s=r.View.extend({_uiSetMethod:function(e){this.get("el").attr("method",e)},_uiSetAction:function(e){this.get("el").attr("action",e)}},{ATTRS:{method:{},action:{}}},{xclass:"form-view"}),o=r.extend({renderUI:function(){var e=this,r=e.get("buttonBar"),i;$.isPlainObject(r)&&e.get("buttons")&&(i=t.merge(e.getDefaultButtonBarCfg(),r),r=new n(i),e.set("buttonBar",r))},bindUI:function(){var e=this,t=e.get("el");t.on("submit",function(t){e.valid(),(!e.isValid()||e.onBeforeSubmit()===!1)&&t.preventDefault()})},getDefaultButtonBarCfg:function(){var e=this,t=e.get("buttons");return{autoRender:!0,elCls:"toolbar",render:e.get("el"),items:t,defaultChildClass:"bar-item-button"}},submit:function(e){var t=this;t.valid();if(t.isValid()){if(t.onBeforeSubmit()==0)return;e||t.get("el")[0].submit()}},serializeToObject:function(){return t.FormHelper.serializeToObject(this.get("el")[0])},onBeforeSubmit:function(){return this.fire("beforesubmit")},reset:function(){var e=this,t=e.get("initRecord");e.setRecord(t)},resetTips:function(){var e=this,n=e.getFields();t.each(n,function(e){e.resetTip()})},destructor:function(){var e=this,t=e.get("buttonBar");t&&t.destroy&&t.destroy()},_uiSetInitRecord:function(e){this.setRecord(e)}},{ATTRS:{action:{view:!0,value:""},allowTextSelection:{value:!0},events:{value:{beforesubmit:!1}},method:{view:!0,value:"get"},decorateCfgFields:{value:{method:!0,action:!0}},defaultChildClass:{value:"form-field"},elTagName:{value:"form"},buttons:{},buttonBar:{value:{}},childContainer:{value:".x-form-fields"},initRecord:{},showError:{value:!1},xview:{value:s},tpl:{value:'
      '}}},{xclass:"form"});return o.View=s,o}),define("bui/form/horizontal",["bui/common","bui/form/form"],function(e){var t=e("bui/common"),n=e("bui/form/form"),r=n.extend({getDefaultButtonBarCfg:function(){var e=this,t=e.get("buttons");return{autoRender:!0,elCls:"actions-bar toolbar row",tpl:'
      ',childContainer:".form-actions",render:e.get("el"),items:t,defaultChildClass:"bar-item-button"}}},{ATTRS:{defaultChildClass:{value:"form-row"},errorTpl:{value:'!{error}'},elCls:{value:"form-horizontal"}},PARSER:{}},{xclass:"form-horizontal"});return r}),define("bui/form/row",["bui/common","bui/form/fieldcontainer"],function(e){var t=e("bui/common"),n=e("bui/form/fieldcontainer"),r=n.extend({},{ATTRS:{elCls:{value:"row"},defaultChildCfg:{value:{tpl:'
      ',childContainer:".controls",showOneError:!0,controlContainer:".controls",elCls:"control-group span8",errorTpl:'!{error}'}},defaultChildClass:{value:"form-field-text"}}},{xclass:"form-row"});return r}),define("bui/form/rule",["bui/common"],function(e){function r(e,t,n,r,i){var o=e,u=o.get("validator"),a=s(e,n,r),f=!0;return t=t==null?"":t,u.call(o,t,n,a,i)}function i(e){if(e==null)return{};if($.isPlainObject(e))return e;var n=e,r={};if(t.isArray(e)){for(var i=0;in)return!1}else{var i=t[0],s=t[1];if(i>n||sn(t))return r}}),l=s.add({name:"length",msg:"\u8f93\u5165\u503c\u957f\u5ea6\u4e3a{0}\uff01",validator:function(e,t,n){if(e!=null){e=$.trim(e.toString());if(t!=e.length)return n}}}),c=s.add({name:"minlength",msg:"\u8f93\u5165\u503c\u957f\u5ea6\u4e0d\u5c0f\u4e8e{0}\uff01",validator:function(e,t,n){if(e!=null){e=$.trim(e.toString());var r=e.length;if(rt)return n}}}),p=s.add({name:"regexp",msg:"\u8f93\u5165\u503c\u4e0d\u7b26\u5408{0}\uff01",validator:function(e,t,n){if(t)return t.test(e)?undefined:n}}),d=s.add({name:"email",msg:"\u4e0d\u662f\u6709\u6548\u7684\u90ae\u7bb1\u5730\u5740\uff01",validator:function(e,t,n){e=$.trim(e);if(e)return/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(e)?undefined:n}}),v=s.add({name:"date",msg:"\u4e0d\u662f\u6709\u6548\u7684\u65e5\u671f\uff01",validator:function(e,t,n){if(BUI.isNumber(e))return;if(BUI.isDate(e))return;e=$.trim(e);if(e)return BUI.Date.isDateString(e)?undefined:n}}),m=s.add({name:"minDate",msg:"\u8f93\u5165\u65e5\u671f\u4e0d\u80fd\u5c0f\u4e8e{0}\uff01",validator:function(e,t,n){if(e){var i=r(e);if(i&&ir(t))return n}}}),y=s.add({name:"number",msg:"\u4e0d\u662f\u6709\u6548\u7684\u6570\u5b57\uff01",validator:function(e,t,n){if(BUI.isNumber(e))return;return e=e.replace(/\,/g,""),isNaN(e)?n:undefined}}),S=s.add({name:"dateRange",msg:"\u7ed3\u675f\u65e5\u671f\u4e0d\u80fd\u5c0f\u4e8e\u8d77\u59cb\u65e5\u671f\uff01",validator:E}),x=s.add({name:"numberRange",msg:"\u7ed3\u675f\u6570\u5b57\u4e0d\u80fd\u5c0f\u4e8e\u5f00\u59cb\u6570\u5b57\uff01",validator:E}),C=s.add({name:"checkRange",msg:"\u5fc5\u987b\u9009\u4e2d{0}\u9879\uff01",validator:function(e,t,n,r){var i=T(r),s,o=t;if(i&&o){s=e[i];if(!N(s,o))return n}return null}});return s}),define("bui/form/remote",["bui/common"],function(e){var t=e("bui/common"),n=function(){};n.ATTRS={isLoading:{},loadingEl:{}},n.prototype={getLoadingContainer:function(){},_setLoading:function(){var e=this,t=e.get("loadingEl"),n=e.get("loadingTpl");t||(t=$(n).appendTo(e.getLoadingContainer()),e.setInternal("loadingEl",t))},_clearLoading:function(){var e=this,t=e.get("loadingEl");t&&(t.remove(),e.setInternal("loadingEl",null))},_uiSetIsLoading:function(e){var t=this;e?t._setLoading():t._clearLoading()}};var r=function(){};return r.ATTRS={defaultRemote:{value:{method:"GET",cache:!0,callback:function(e){return e}}},remoteDaly:{value:500},loadingTpl:{view:!0,value:'loading'},isLoading:{view:!0,value:!1},remote:{setter:function(e){return t.isString(e)&&(e={url:e}),e}},remoteHandler:{},events:{value:{remotecomplete:!1,remotestart:!1}}},r.prototype={__bindUI:function(){var e=this;e.on("change",function(t){if(e.get("remote")&&e.isValid()){var n=e.getRemoteParams();e._startRemote(n)}}),e.on("error",function(t){e.get("remote")&&e._cancelRemote()})},_startRemote:function(e){function i(){t._remoteValid(e,n),t.set("isLoading",!0)}var t=this,n=t.get("remoteHandler"),r=t.get("remoteDaly");n&&t._cancelRemote(n),n=setTimeout(i,r),t.setInternal("remoteHandler",n)},_remoteValid:function(e,n){function u(e,t){n==r.get("remoteHandler")&&(r.fire("remotecomplete",{error:e,data:t}),r.set("isLoading",!1),r.setInternal("remoteHandler",null))}var r=this,i=r.get("remote"),s=r.get("defaultRemote"),o=t.merge(s,i,{data:e});o.success=function(e){var t=o.callback,n=t(e);u(n,e)},o.error=function(e,t,n){u(n)},r.fire("remotestart",{data:e}),$.ajax(o)},getRemoteParams:function(){},_cancelRemote:function(e){var t=this;e=e||t.get("remoteHandler"),e&&(clearTimeout(e),t.setInternal("remoteHandler",null)),t.set("isLoading",!1)}},r.View=n,r}),define("bui/select",["bui/common","bui/select/select","bui/select/combox","bui/select/suggest"],function(e){var t=e("bui/common"),n=t.namespace("Select");return t.mix(n,{Select:e("bui/select/select"),Combox:e("bui/select/combox"),Suggest:e("bui/select/suggest")}),n}),define("bui/select/select",["bui/common","bui/picker"],function(e){"use strict";function i(e){if($.isPlainObject(e)){var n=[];return t.each(e,function(e,t){n.push({value:t,text:e})}),n}var r=[];return t.each(e,function(e,n){t.isString(e)?r.push({value:e,text:e}):r.push(e)}),r}var t=e("bui/common"),n=e("bui/picker").ListPicker,r=t.prefix,s=t.Component,o=n,u=r+"select-input",a=s.Controller.extend({initializer:function(){var e=this,t=e.get("multipleSelect"),n,s=e.get("picker");s?e.get("valueField")&&s.set("valueField",e.get("valueField")):(n=t?"listbox":"simple-list",s=new o({children:[{xclass:n,elCls:r+"select-list",store:e.get("store"),items:i(e.get("items"))}],valueField:e.get("valueField")}),e.set("picker",s)),t&&s.set("hideEvent","")},renderUI:function(){var e=this,t=e.get("picker"),n=e.get("el"),r=n.find("."+e.get("inputCls"));t.set("trigger",n),t.set("triggerEvent",e.get("triggerEvent")),t.set("autoSetValue",e.get("autoSetValue")),t.set("textField",r),e.get("forceFit")&&t.set("width",n.outerWidth()),t.render()},bindUI:function(){var e=this,t=e.get("picker"),n=t.get("list"),r=n.get("store");t.on("selectedchange",function(t){e.fire("change",{text:t.text,value:t.value,item:t.item})}),n.on("itemsshow",function(){e._syncValue()})},containsElement:function(e){var t=this,n=t.get("picker");return s.Controller.prototype.containsElement.call(this,e)||n.containsElement(e)},_uiSetItems:function(e){if(!e)return;var t=this,n=t.get("picker"),r=n.get("list");r.set("items",i(e)),t._syncValue()},_syncValue:function(){var e=this,t=e.get("picker"),n=e.get("valueField");n&&t.setSelectedValue($(n).val())},_uiSetName:function(e){var t=this,n=t._getTextEl();e&&n.attr("name",e)},_uiSetWidth:function(e){var t=this;if(e!=null){var n=t._getTextEl(),r=t.get("el").find(".x-icon"),i=n.outerWidth()-n.width(),s=t.get("picker"),o=e-r.outerWidth()-i;n.width(o),t.get("forceFit")&&s.set("width",e)}},_getTextEl:function(){var e=this,t=e.get("el");return t.find("."+e.get("inputCls"))},destructor:function(){var e=this,t=e.get("picker");t&&t.destroy()},_getList:function(){var e=this,t=e.get("picker"),n=t.get("list");return n},getSelectedValue:function(){return this.get("picker").getSelectedValue()},setSelectedValue:function(e){var t=this,n=t.get("picker");n.setSelectedValue(e)},getSelectedText:function(){return this.get("picker").getSelectedText()}},{ATTRS:{picker:{},valueField:{},store:{},focusable:{value:!0},multipleSelect:{value:!1},name:{},items:{sync:!1},inputCls:{value:u},forceFit:{value:!0},events:{value:{change:!1}},tpl:{view:!0,value:''},triggerEvent:{value:"click"}}},{xclass:"select"});return a}),define("bui/select/combox",["bui/common","bui/select/select"],function(e){function i(e,t,n){var r=n.get("list"),i=n.getSelectedText();i&&$(e).val(i)}var t=e("bui/common"),n=e("bui/select/select"),r=t.prefix+"combox-input",s=n.extend({renderUI:function(){var e=this,t=e.get("picker");t.get("getFunction",i)},_uiSetItems:function(e){var n=this;for(var r=0;r'},inputCls:{value:r}}},{xclass:"combox"});return s}),define("bui/select/suggest",["bui/common","bui/select/combox"],function(e){"use strict";var t=e("bui/common"),n=e("bui/select/combox"),r=200,i="",s=n.extend({bindUI:function(){var e=this,t=e.get("el").find("input"),n=e.get("triggerEvent")==="keyup"?"keyup":"keyup click";t.on(n,function(){e._start()})},_start:function(){var e=this;e._timer=e.later(function(){e._updateContent()},r)},_updateContent:function(){var e=this,t=e.get("data"),n=e.get("el").find("input"),r;if(!t&&n.val()===e.get("query"))return;e.set("query",n.val()),r=n.val();if(!t&&!r)return;var i=e.get("cacheable"),s=e.get("url"),o=e.get("data");if(i&&s){var u=e.get("dataCache");u[r]!==undefined?e._handleResponse(u[r]):e._requestData()}else s?e._requestData():o&&e._handleResponse(o,!0)},_getStore:function(){var e=this,t=e.get("picker"),n=t.get("list");if(n)return n.get("store")},_requestData:function(){var e=this,t=e.get("el").find("input"),n=e.get("callback"),r=e.get("store"),i={};i[t.attr("name")]=t.val(),r?(i.start=0,r.load(i,n)):$.ajax({url:e.get("url"),type:"post",dataType:e.get("dataType"),data:i,success:function(t){e._handleResponse(t),n&&n(t)}})},_handleResponse:function(e,t){var n=this,r=t?n._getFilterItems(e):e;n.set("items",r),n.get("cacheable")&&(n.get("dataCache")[n.get("query")]=r)},_getItemText:function(e){var t=this,n=t.get("picker"),r=n.get("list");return r?r.getItemText(e):""},_getFilterItems:function(e){function u(e,n){t.isString(n)?r.push(e):r.push(n)}var n=this,r=[],i=n.get("el").find("input"),s=i.val(),o=n.get("data");return e=e||[],t.each(e,function(e){var r=t.isString(e)?e:n._getItemText(e);o?r.indexOf($.trim(s))!==-1&&u(r,e):u(r,e)}),r},later:function(e,t,n){t=t||0;var r=n?setInterval(e,t):setTimeout(e,t);return{id:r,interval:n,cancel:function(){this.interval?clearInterval(r):clearTimeout(r)}}}},{ATTRS:{data:{value:null},query:{value:i},cacheable:{value:!1},dataCache:{value:{}},dataType:{value:"jsonp"},url:{},callback:{},triggerEvent:{valueFn:function(){return this.get("data")?"click":"keyup"}},autoSetValue:{value:!1}}},{xclass:"suggest"});return s}),define("bui/mask",["bui/common","bui/mask/mask","bui/mask/loadmask"],function(e){var t=e("bui/common"),n=e("bui/mask/mask");return n.LoadMask=e("bui/mask/loadmask"),n}),define("bui/mask/mask",["bui/common"],function(e){var t=e("bui/common"),n=t.namespace("Mask"),r=t.UA,i=t.prefix+"ext-mask",s=i+"-msg";return t.mix(n,{maskElement:function(e,n,o){var u=$(e),a=$("."+i,u),f=null,l=null,c=null,h=null;if(!a.length){a=$('
      ').appendTo(u),u.addClass("x-masked-relative x-masked"),r.ie===6&&a.height(u.height());if(n){f=['
      ',n,"
      "].join(""),l=$(f).appendTo(u),o&&l.addClass(o);try{c=(u.height()-l.height())/2,h=(u.width()-l.width())/2,l.css({left:h,top:c})}catch(p){t.log("mask error occurred")}}}return a},unmaskElement:function(e){var t=$(e),n=t.children("."+s),r=t.children("."+i);n&&n.remove(),r&&r.remove(),t.removeClass("x-masked-relative x-masked")}}),n}),define("bui/mask/loadmask",["bui/mask/mask"],function(e){function n(e){var t=this;n.superclass.constructor.call(t,e)}var t=e("bui/mask/mask");return BUI.extend(n,BUI.Base),n.ATTRS={el:{},msg:{value:"Loading..."},msgCls:{value:"x-mask-loading"},disabled:{value:!1}},BUI.augment(n,{disable:function(){this.set("disabled",!0)},onLoad:function(){t.unmaskElement(this.get("el"))},onBeforeLoad:function(){var e=this;e.get("disabled")||t.maskElement(e.get("el"),e.get("msg"),this.get("msgCls"))},show:function(){this.onBeforeLoad()},hide:function(){this.onLoad()},destroy:function(){this.hide(),this.clearAttrVals(),this.off()}}),n}),define("bui/menu",["bui/common","bui/menu/menu","bui/menu/menuitem","bui/memu/contextmenu","bui/menu/popmenu","bui/menu/sidemenu"],function(e){var t=e("bui/common"),n=t.namespace("Menu");return t.mix(n,{Menu:e("bui/menu/menu"),MenuItem:e("bui/menu/menuitem"),ContextMenu:e("bui/memu/contextmenu"),PopMenu:e("bui/menu/popmenu"),SideMenu:e("bui/menu/sidemenu")}),n.ContextMenuItem=n.ContextMenu.Item,n}),define("bui/menu/menuitem",["bui/common"],function(e){var t=e("bui/common"),n=t.Component,r=n.UIBase,i=t.prefix,s=i+"menu-item-open",o="x-caret",u=i+"menu-item-collapsed",a="data-id",f=n.View.extend([r.ListItemView,r.CollapseableView],{_uiSetOpen:function(e){var t=this,n=t.getStatusCls("open");e?t.get("el").addClass(n):t.get("el").removeClass(n)}},{ATTRS:{}},{xclass:"menu-item-view"}),l=n.Controller.extend([r.ListItem,r.Collapseable],{renderUI:function(){var e=this,n=e.get("el"),r=e.get("id"),i=null;r||(r=t.guid("menu-item"),e.set("id",r)),n.attr(a,r)},handleMouseEnter:function(e){var t=this;this.get("subMenu")&&this.set("open",!0),l.superclass.handleMouseEnter.call(this,e)},handleMouseLeave:function(e){var t=this,n=t.get("subMenu"),r=e.toElement;r&&n&&n.containsElement(r)?t.set("open",!0):t.set("open",!1),l.superclass.handleMouseLeave.call(this,e)},containsElement:function(e){var t=this,n,r=l.superclass.containsElement.call(t,e);return r||(n=t.get("subMenu"),r=n&&n.containsElement(e)),r},_uiSetOpen:function(e){var t=this,n=t.get("subMenu"),r=t.get("subMenuAlign");if(n)if(e)r.node=t.get("el"),n.set("align",r),n.show();else{var i=n.get("align");(!i||i.node==t.get("el"))&&n.hide()}},_uiSetSubMenu:function(e){if(e){var t=this,n=t.get("el"),r=t.get("parent");e.get("parentMenu")||(e.set("parentMenu",r),r.get("autoHide")&&e.set("autoHide",!1)),$(t.get("arrowTpl")).appendTo(n)}},destructor:function(){var e=this,t=e.get("subMenu");t&&t.destroy()}},{ATTRS:{elTagName:{value:"li"},xview:{value:f},open:{view:!0,value:!1},subMenu:{view:!0},subMenuAlign:{valueFn:function(e){return{points:["tr","tl"],offset:[-5,0]}}},arrowTpl:{value:''},events:{value:{afterOpenChange:!0}}}},{xclass:"menu-item",priority:0}),c=l.extend({},{ATTRS:{focusable:{value:!1},selectable:{value:!1},handleMouseEvents:{value:!1}}},{xclass:"menu-item-sparator"});return l.View=f,l.Separator=c,l}),define("bui/menu/menu",["bui/common"],function(e){var t=e("bui/common"),n=t.Component,r=n.UIBase,i=n.Controller.extend([r.ChildList],{bindUI:function(){var e=this;e.on("click",function(t){var n=t.target,r=e.get("multipleSelect");e!=n&&!r&&e.get("clickHide")&&!n.get("subMenu")&&e.getTopAutoHideMenu().hide()}),e.on("afterOpenChange",function(n){var r=n.target,i=n.newVal,s=e.get("children");i&&t.each(s,function(e){e!==r&&e.get("open")&&e.set("open",!1)})}),e.on("afterVisibleChange",function(t){var n=t.newVal,r=e.get("parentMenu");e._clearOpen()})},getTopAutoHideMenu:function(){var e=this,t=e.get("parentMenu"),n;return t&&t.get("autoHide")?t.getTopAutoHideMenu():e.get("autoHide")?e:null},_clearOpen:function(){var e=this,n=e.get("children");t.each(n,function(e){e.set&&e.set("open",!1)})},findItemById:function(e){return this.findItemByField("id",e)},_uiSetSelectedItem:function(e){e&&_self.setSelected(e)}},{ATTRS:{elTagName:{view:!0,value:"ul"},idField:{value:"id"},defaultChildClass:{value:"menu-item"},selectedItem:{},parentMenu:{}}},{xclass:"menu",priority:0});return i}),define("bui/menu/popmenu",["bui/common","bui/menu/menu"],function(e){var t=e("bui/common"),n=t.Component.UIBase,r=e("bui/menu/menu"),i=t.Component.View.extend([n.PositionView],{}),s=r.extend([n.Position,n.Align,n.AutoShow,,n.AutoHide],{},{ATTRS:{clickHide:{value:!0},align:{value:{points:["bl","tl"],offset:[0,0]}},visibleMode:{value:"visibility"},autoHide:{value:!0},visible:{value:!1},xview:{value:i}}},{xclass:"pop-menu"});return s}),define("bui/memu/contextmenu",["bui/common","bui/menu/menuitem","bui/menu/popmenu"],function(e){var t=e("bui/common"),n=e("bui/menu/menuitem"),r=e("bui/menu/popmenu"),i=t.prefix,s=i+"menu-item-link",o=i+"menu-item-icon",u=t.Component,a=u.UIBase,f=n.extend({bindUI:function(){var e=this;e.get("el").delegate("."+s,"click",function(e){e.preventDefault()})},_uiSetIconCls:function(e,t){var n=this,r=t.prevVal,i=n.get("el").find("."+o);i.removeClass(r),i.addClass(e)}},{ATTRS:{text:{veiw:!0,value:""},iconCls:{sync:!1,value:""},tpl:{value:' {text}'}}},{xclass:"context-menu-item"}),l=r.extend({},{ATTRS:{defaultChildClass:{value:"context-menu-item"},align:{value:null}}},{xclass:"context-menu"});return l.Item=f,l}),define("bui/menu/sidemenu",["bui/common","bui/menu/menu"],function(e){var t=e("bui/common"),n=e("bui/menu/menu"),r=t.Component,i=t.prefix+"menu-title",s="menu-leaf",o=n.extend({initializer:function(){var e=this,n=e.get("items"),r=e.get("children");t.each(n,function(t){var n=e._initMenuCfg(t);r.push(n)})},bindUI:function(){var e=this,n=e.get("children");t.each(n,function(e){var t=e.get("children")[0];t&&t.publish("click",{bubbles:1})}),e.get("el").delegate("a","click",function(e){e.preventDefault()}),e.on("itemclick",function(t){var n=t.item,r=$(t.domTarget).closest("."+i);if(r.length){var o=n.get("collapsed");n.set("collapsed",!o)}else n.get("el").hasClass(s)&&(e.fire("menuclick",{item:n}),e.clearSelection(),e.setSelected(n))})},getItems:function(){var e=this,n=[],r=e.get("children");return t.each(r,function(e){var t=e.get("children")[0];n=n.concat(t.get("children"))}),n},_initMenuCfg:function(e){var n=this,r=e.items,s=[],o={xclass:"menu-item",elCls:"menu-second",collapsed:e.collapsed,selectable:!1,children:[{xclass:"menu",children:s}],content:'
      '+e.text+"
      "};return t.each(r,function(e){var t=n._initSubMenuCfg(e);s.push(t)}),o},_initSubMenuCfg:function(e){var n=this,r={xclass:"menu-item",elCls:"menu-leaf",tpl:'{text}'};return t.mix(r,e)}},{ATTRS:{autoInitItems:{value:!1},events:{value:{menuclick:!1}}}},{xclass:"side-menu"});return o}),define("bui/tab",["bui/common","bui/tab/tab","bui/tab/tabitem","bui/tab/navtabitem","bui/tab/navtab","bui/tab/tabpanel","bui/tab/tabpanelitem"],function(e){var t=e("bui/common"),n=t.namespace("Tab");return t.mix(n,{Tab:e("bui/tab/tab"),TabItem:e("bui/tab/tabitem"),NavTabItem:e("bui/tab/navtabitem"),NavTab:e("bui/tab/navtab"),TabPanel:e("bui/tab/tabpanel"),TabPanelItem:e("bui/tab/tabpanelitem")}),n}),define("bui/tab/navtabitem",["bui/common"],function(e){var t=e("bui/common"),n=t.Component,r="tab-item-title",i="tab-item-close",s="tab-nav-actived",o="tab-content",u=n.View.extend({renderUI:function(){var e=this,t=e.get("tabContentContainer"),n=e.get("tabContentTpl");if(t){var r=$(n).appendTo(t);e.set("tabContentEl",r)}},_uiSetHref:function(e){this._setHref(e)},_setHref:function(e){var t=this,n=t.get("tabContentEl");e=e||t.get("href"),n&&$("iframe",n).attr("src",e)},resetHref:function(){this._setHref()},_uiSetTitle:function(e){var t=this,n=t.get("el");n.attr("title",e),$("."+r,n).text(e)},_uiSetActived:function(e){var t=this,n=t.get("el");t.setTabContentVisible(e),e?n.addClass(s):n.removeClass(s)},destructor:function(){var e=this,t=e.get("tabContentEl");t&&t.remove()},setTabContentVisible:function(e){var t=this,n=t.get("tabContentEl");n&&(e?n.show():n.hide())}},{ATTRS:{tabContentContainer:{},tabContentEl:{},title:{},href:{}}}),a=n.Controller.extend({createDom:function(){var e=this,t=e.get("parent");t&&e.set("tabContentContainer",t.getTabContentContainer())},bindUI:function(){var e=this,t=e.get("el"),n=e.get("events");t.on("click",function(t){var n=$(t.target);n.hasClass(i)&&e.fire("closing")!==!1&&e.close()})},handleDblClick:function(e){var t=this;t.fire("closing")!==!1&&t.close(),t.fire("dblclick",{domTarget:e.target,domEvent:e})},handleContextMenu:function(e){e.preventDefault(),this.fire("showmenu",{position:{x:e.pageX,y:e.pageY}})},setTitle:function(e){this.set("title",e)},close:function(){this.fire("closed")},reload:function(){this.get("view").resetHref()},show:function(){var e=this;e.get("el").show(500,function(){e.set("visible",!0)})},hide:function(e){var t=this;this.get("el").hide(500,function(){t.set("visible",!1),e&&e()})},_uiSetActived:function(e){var t=this,n=t.get("parent");n&&e&&n._setItemActived(t)},_uiSetCloseable:function(e){var t=this,n=t.get("el"),r=n.find("."+i);e?r.show():r.hide()}},{ATTRS:{elTagName:{value:"li"},actived:{view:!0,value:!1},closeable:{value:!0},allowTextSelection:{view:!1,value:!1},events:{value:{click:!0,closing:!0,closed:!0,showmenu:!0,afterVisibleChange:!0}},tabContentContainer:{view:!0},tabContentTpl:{view:!0,value:''},href:{view:!0,value:""},visible:{view:!0,value:!0},title:{view:!0,value:""},tpl:{view:!0,value:''},xview:{value:u}}},{xclass:"nav-tab-item",priority:0});return a.View=u,a}),define("bui/tab/navtab",["bui/common","bui/menu"],function(e){var t=e("bui/common"),n=e("bui/menu"),r=t.Component,i="tab-nav-list",s="arrow-left",o="arrow-right",u="m_close",a=140,f=r.View.extend({renderUI:function(){var e=this,t=e.get("el"),n=null;n=t.find("."+i),e.setInternal("listEl",n)},getContentElement:function(){return this.get("listEl")},getTabContentContainer:function(){return this.get("el").find(".tab-content-container")},_uiSetHeight:function(e){var t=this,n=t.get("el"),r=n.find(".tab-nav-bar"),i=t.getTabContentContainer();e&&i.height(e-r.height()),n.height(e)}},{},{xclass:"nav-tab-view",priority:0}),l=r.Controller.extend({addTab:function(e,n){var r=this,i=e.id||t.guid("tab-item"),s=r.getItemById(i);if(s){var o=!1;e.href&&s.get("href")!=e.href&&(s.set("href",e.href),o=!0),r._setItemActived(s),n&&!o&&s.reload()}else e=t.mix({id:i,visible:!1,actived:!0,xclass:"nav-tab-item"},e),s=r.addChild(e),s.show(),r._resetItemList();return s},getTabContentContainer:function(){return this.get("view").getTabContentContainer()},bindUI:function(){var e=this;e._bindScrollEvent(),e.on("click",function(t){var n=t.target;n!=e&&(e._setItemActived(n),e.fire("itemclick",{item:n}))}),e.on("closed",function(t){var n=t.target;e._closeItem(n)}),e.on("showmenu",function(t){e._showMenu(t.target,t.position)}),e.on("afterVisibleChange",function(t){var n=t.target;n.get("actived")&&e._scrollToItem(n)})},_bindScrollEvent:function(){var e=this,t=e.get("el");t.find(".arrow-left").on("click",function(){t.hasClass(s+"-active")&&e._scrollLeft()}),t.find(".arrow-right").on("click",function(){t.hasClass(o+"-active")&&e._scrllRight()})},_showMenu:function(e,t){var n=this,r=n._getMenu(),i=e.get("closeable"),s;n.set("showMenuItem",e),r.set("xy",[t.x,t.y]),r.show(),s=r.getItem(u),s&&s.set("disabled",!i)},setActived:function(e){var t=this,n=t.getItemById(e);t._setItemActived(n)},getActivedItem:function(){var e=this,n=e.get("children"),r=null;return t.each(n,function(e){if(e.get("actived"))return r=e,!1}),r},getItemById:function(e){var n=this,r=n.get("children"),i=null;return t.each(r,function(t){if(t.get("id")===e)return i=t,!1}),i},_getMenu:function(){var e=this;return e.get("menu")||e._initMenu()},_initMenu:function(){var e=this,t=new n.ContextMenu({children:[{xclass:"context-menu-item",iconCls:"icon icon-refresh",text:"\u5237\u65b0",listeners:{click:function(){var t=e.get("showMenuItem");t&&t.reload()}}},{id:u,xclass:"context-menu-item",iconCls:"icon icon-remove",text:"\u5173\u95ed",listeners:{click:function(){var t=e.get("showMenuItem");t&&t.close()}}},{xclass:"context-menu-item",iconCls:"icon icon-remove-sign",text:"\u5173\u95ed\u5176\u4ed6",listeners:{click:function(){var t=e.get("showMenuItem");t&&e.closeOther(t)}}},{xclass:"context-menu-item",iconCls:"icon icon-remove-sign",text:"\u5173\u95ed\u6240\u6709",listeners:{click:function(){e.closeAll()}}}]});return e.set("menu",t),t},_closeItem:function(e){var t=this,n=t._getIndex(e),r=t.getActivedItem(),i=t._getItemByIndex(n-1),s=t._getItemByIndex(n+1);e.hide(function(){t.removeChild(e,!0),t._resetItemList(),r===e?i?t._setItemActived(i):t._setItemActived(s):t._scrollToItem(r)})},closeAll:function(){var e=this,n=e.get("children");t.each(n,function(e){e.close()})},closeOther:function(e){var n=this,r=n.get("children");t.each(r,function(t){e!==t&&t.close()})},_getItemByIndex:function(e){var t=this,n=t.get("children");return n[e]},_getIndex:function(e){var n=this,r=n.get("children");return t.Array.indexOf(e,r)},_resetItemList:function(){var e=this,t=e.get("children"),n=e.getContentElement(),r=t.length*a;n.width(r)},_scrollToItem:function(e){var t=this,n=t.getContentElement(),r=n.position(),i=t._getDistanceToEnd(e,n,r),s=t._getDistanceToBegin(e,r);if(n.width()0)t._scrollTo(n,r.left+i*-1);else if(r.left<0){var o=t._getLastDistance(n,r),u=0;o<0&&(u=r.left-o,u=u<0?u:0,t._scrollTo(n,u))}},_getDistanceToBegin:function(e,t){var n=e.get("el").position();return n.left+t.left},_getDistanceToEnd:function(e,t,n){var r=this,t=t||r.getContentElement(),i=t.parent().width(),n=n||t.position(),s=r._getDistanceToBegin(e,n),o=s+a-i;return o},_getLastDistance:function(e,t){var n=this,r=n.get("children"),i=r[r.length-1];return i?n._getDistanceToEnd(i,e,t):0},_scrollTo:function(e,t,n){var r=this;e.animate({left:t},500,function(){r._setArrowStatus(e)})},_scrollLeft:function(){var e=this,t=e.getContentElement(),n=t.position(),r=e._getLastDistance(t,n),i;r>0&&(i=r>a?a:r,e._scrollTo(t,n.left-i))},_scrllRight:function(){var e=this,t=e.getContentElement(),n=t.position(),r;n.left<0&&(r=n.left+a,r=r<0?r:0,e._scrollTo(t,r))},_setArrowStatus:function(e,t){e=e||this.getContentElement();var n=this,r=n.get("el"),i=t||e.position(),u=n._getLastDistance(e,t);i.left<0?r.addClass(o+"-active"):r.removeClass(o+"-active"),u>0?r.addClass(s+"-active"):r.removeClass(s+"-active")},_setItemActived +:function(e){var t=this,n=t.getActivedItem();if(e===n)return;n&&n.set("actived",!1),e&&(e.get("actived")||e.set("actived",!0),e.get("visible")&&t._scrollToItem(e),t.fire("activeChange",{item:e}))}},{ATTRS:{defaultChildClass:{value:"nav-tab-item"},menu:{},tpl:{view:!0,value:'
        '+"
        "+'
        '},xview:{value:f},events:{value:{itemclick:!1}}}},{xclass:"nav-tab",priority:0});return l}),define("bui/tab/tabitem",["bui/common"],function(e){var t=e("bui/common"),n=t.Component,r=n.UIBase,i=n.View.extend([r.ListItemView],{},{xclass:"tab-item-view"}),s=n.Controller.extend([r.ListItem],{},{ATTRS:{elTagName:{view:!0,value:"li"},xview:{value:i},tpl:{view:!0,value:'{text}'}}},{xclass:"tab-item"});return s.View=i,s}),define("bui/tab/tab",["bui/common"],function(e){var t=e("bui/common"),n=t.Component,r=n.UIBase,i=n.Controller.extend([r.ChildList],{},{ATTRS:{elTagName:{view:!0,value:"ul"},defaultChildClass:{value:"tab-item"}}},{xclass:"tab"});return i}),define("bui/tab/tabpanelitem",["bui/common","bui/tab/tabitem"],function(e){var t=e("bui/common"),n=e("bui/tab/tabitem"),r=t.Component,i=n.View.extend({},{xclass:"tab-panel-item-view"}),s=n.extend({renderUI:function(){var e=this,t=e.get("selected");e._setPanelVisible(t)},_setPanelVisible:function(e){var t=this,n=t.get("panel"),r=e?"show":"hide";n&&$(n)[r]()},_uiSetSelected:function(e){this._setPanelVisible(e)},destructor:function(){var e=this,t=e.get("panel");t&&e.get("panelDestroyable")&&$(t).remove()},_uiSetPanelContent:function(e){var t=this,n=t.get("panel");$(n).html(e)}},{ATTRS:{panel:{},panelContent:{},defaultLoaderCfg:{valueFn:function(){var e=this;return{property:"panelContent",autoLoad:!1,lazyLoad:{event:"afterSelectedChange"},loadMask:{el:e.get("panel")}}}},panelDestroyable:{value:!0},xview:{value:i}}},{xclass:"tab-panel-item"});return s.View=i,s}),define("bui/tab/tabpanel",["bui/common","bui/tab/tab"],function(e){var t=e("bui/common"),n=e("bui/tab/tab"),r=n.extend({initializer:function(){var e=this,n=e.get("children"),r=$(e.get("panelContainer")),i=e.get("panelCls"),s=i?r.find("."+s):r.children();t.each(n,function(e,t){e.set?e.set("panel",s[t]):e.panel=s[t]})}},{ATTRS:{defaultChildClass:{value:"tab-panel-item"},panelContainer:{},panelCls:{}}},{xclass:"tab-panel"});return r}),define("bui/toolbar",["bui/common","bui/toolbar/baritem","bui/toolbar/bar","bui/toolbar/pagingbar","bui/toolbar/numberpagingbar"],function(e){var t=e("bui/common"),n=t.namespace("Toolbar");return t.mix(n,{BarItem:e("bui/toolbar/baritem"),Bar:e("bui/toolbar/bar"),PagingBar:e("bui/toolbar/pagingbar"),NumberPagingBar:e("bui/toolbar/numberpagingbar")}),n}),define("bui/toolbar/baritem",function(){var e=BUI.prefix,t=BUI.Component,n=t.UIBase,r=t.View.extend([n.ListItemView]),i=t.Controller.extend([n.ListItem],{renderUI:function(){var t=this.get("el");t.addClass(e+"inline-block"),t.attr("id")||t.attr("id",this.get("id"))}},{ATTRS:{elTagName:{view:!0,value:"li"},selectable:{value:!1},focusable:{value:!1},xview:{value:r}}},{xclass:"bar-item",priority:1}),s=i.extend({_uiSetDisabled:function(t){var n=this,r=n.get("el"),i=t?"addClass":"removeClass";r.find("button").attr("disabled",t)[i](e+"button-disabled")},_uiSetChecked:function(t){var n=this,r=n.get("el"),i=t?"addClass":"removeClass";r.find("button")[i](e+"button-checked")},_uiSetText:function(e){var t=this,n=t.get("el");n.find("button").text(e)},_uiSetbtnCls:function(e){var t=this,n=t.get("el");n.find("button").addClass(e)}},{ATTRS:{checked:{value:!1},tpl:{view:!0,value:''},btnCls:{sync:!1},text:{sync:!1,value:""}}},{xclass:"bar-item-button",priority:2}),o=i.extend({renderUI:function(){var e=this.get("el");e.attr("role","separator")}},{xclass:"bar-item-separator",priority:2}),u=i.extend({},{ATTRS:{width:{view:!0,value:2}}},{xclass:"bar-item-spacer",priority:2}),a=i.extend({_uiSetText:function(e){var t=this,n=t.get("el");n.html(e)}},{ATTRS:{text:{value:""}}},{xclass:"bar-item-text",priority:2});return i.types={button:s,separator:o,spacer:u,text:a},i}),define("bui/toolbar/bar",function(){var e=BUI.Component,t=e.UIBase,n=e.View.extend({renderUI:function(){var e=this.get("el");e.attr("role","toolbar"),e.attr("id")||e.attr("id",BUI.guid("bar"))}}),r=e.Controller.extend([t.ChildList],{getItem:function(e){return this.getChild(e)}},{ATTRS:{elTagName:{view:!0,value:"ul"},defaultChildClass:{value:"bar-item"},focusable:{value:!1},xview:{value:n}}},{xclass:"bar",priority:1});return r}),define("bui/toolbar/pagingbar",["bui/toolbar/bar"],function(e){var t=e("bui/toolbar/bar"),n=BUI.Component,r=n.UIBase.Bindable,i=BUI.prefix,s="first",o="prev",u="next",a="last",f="skip",l="totalPage",c="curPage",h="totalCount",p=t.extend([r],{initializer:function(){var e=this,t=e.get("children"),n=e.get("items"),r=e.get("store");if(!n||n.length)n=e._getItems(),BUI.each(n,function(e){t.push(e)});r&&r.get("pageSize")&&e.set("pageSize",r.get("pageSize"))},bindUI:function(){var e=this;e._bindButtonEvent()},jumpToPage:function(e){if(e<=0||e>this.get("totalPage"))return;var t=this,n=t.get("store"),r=t.get("pageSize"),i=e-1,s=i*r,o=t.fire("beforepagechange",{from:t.get("curPage"),to:e});n&&o!==!1&&n.load({start:s,limit:r,pageIndex:i})},_afterStoreLoad:function(e,t){var n=this,r=n.get("pageSize"),i=0,s,o,u,a;i=e.get("start"),o=e.getTotalCount(),s=o-i>r?i+e.getCount():o,a=parseInt((o+r-1)/r,10),a=a>0?a:1,u=parseInt(i/r,10)+1,n.set("start",i),n.set("end",s),n.set("totalCount",o),n.set("curPage",u),n.set("totalPage",a),n._setAllButtonsState(),n._setNumberPages()},_bindButtonEvent:function(){function n(){var t=parseInt(e._getCurrentPageValue(),10);e._isPageAllowRedirect(t)?e.jumpToPage(t):e._setCurrentPageValue(e.get("curPage"))}var e=this;e._bindButtonItemEvent(s,function(){e.jumpToPage(1)}),e._bindButtonItemEvent(o,function(){e.jumpToPage(e.get("curPage")-1)}),e._bindButtonItemEvent(u,function(){e.jumpToPage(e.get("curPage")+1)}),e._bindButtonItemEvent(a,function(){e.jumpToPage(e.get("totalPage"))}),e._bindButtonItemEvent(f,function(){n()});var t=e.getItem(c);t&&t.get("el").on("keyup",function(e){e.stopPropagation(),e.keyCode===13&&n()})},_bindButtonItemEvent:function(e,t){var n=this,r=n.getItem(e);r&&r.on("click",t)},onLoad:function(e){var t=this,n=t.get("store");t._afterStoreLoad(n,e)},_getItems:function(){var e=this,t=e.get("items");return t&&t.length?t:(t=[],t.push(e._getButtonItem(s)),t.push(e._getButtonItem(o)),t.push(e._getSeparator()),t.push(e._getTextItem(l)),t.push(e._getTextItem(c)),t.push(e._getButtonItem(f)),t.push(e._getSeparator()),t.push(e._getButtonItem(u)),t.push(e._getButtonItem(a)),t.push(e._getSeparator()),t.push(e._getTextItem(h)),t)},_getButtonItem:function(e){var t=this;return{id:e,xclass:"bar-item-button",text:t.get(e+"Text"),disabled:!0,elCls:t.get(e+"Cls")}},_getSeparator:function(){return{xclass:"bar-item-separator"}},_getTextItem:function(e){var t=this;return{id:e,xclass:"bar-item-text",text:t._getTextItemTpl(e)}},_getTextItemTpl:function(e){var t=this,n={};return n[e]=t.get(e),BUI.substitute(this.get(e+"Tpl"),n)},_isPageAllowRedirect:function(e){var t=this;return e&&e>0&&e<=t.get("totalPage")&&e!==t.get("curPage")},_setAllButtonsState:function(){var e=this,t=e.get("store");t&&e._setButtonsState([o,u,s,a,f],!0),e.get("curPage")===1&&e._setButtonsState([o,s],!1),e.get("curPage")===e.get("totalPage")&&e._setButtonsState([u,a],!1)},_setButtonsState:function(e,t){var n=this,r=n.get("children");BUI.each(r,function(n){BUI.Array.indexOf(n.get("id"),e)!==-1&&n.set("disabled",!t)})},_setNumberPages:function(){var e=this,t=e.getItem(l),n=e.getItem(h);t&&t.set("content",e._getTextItemTpl(l)),e._setCurrentPageValue(e.get(c)),n&&n.set("content",e._getTextItemTpl(h))},_getCurrentPageValue:function(e){var t=this;e=e||t.getItem(c);var n=e.get("el").find("input");return n.val()},_setCurrentPageValue:function(e,t){var n=this;t=t||n.getItem(c);var r=t.get("el").find("input");r.val(e)}},{ATTRS:{firstText:{value:"\u9996 \u9875"},firstCls:{value:i+"pb-first"},prevText:{value:"\u4e0a\u4e00\u9875"},prevCls:{value:i+"pb-prev"},nextText:{value:"\u4e0b\u4e00\u9875"},nextCls:{value:i+"pb-next"},lastText:{value:"\u672b \u9875"},lastCls:{value:i+"pb-last"},skipText:{value:"\u786e\u5b9a"},skipCls:{value:i+"pb-skip"},totalPageTpl:{value:"\u5171 {totalPage} \u9875"},curPageTpl:{value:'\u7b2c \u9875'},totalCountTpl:{value:"\u5171{totalCount}\u6761\u8bb0\u5f55"},curPage:{value:0},totalPage:{value:0},totalCount:{value:0},pageSize:{value:30},store:{}},ID_FIRST:s,ID_PREV:o,ID_NEXT:u,ID_LAST:a,ID_SKIP:f,ID_TOTAL_PAGE:l,ID_CURRENT_PAGE:c,ID_TOTAL_COUNT:h},{xclass:"pagingbar",priority:2});return p}),define("bui/toolbar/numberpagingbar",["bui/toolbar/pagingbar"],function(e){var t=BUI.Component,n=e("bui/toolbar/pagingbar"),r=BUI.prefix,i="numberContainer",s=r+"button-number",o=n.extend({_getItems:function(){var e=this,t=e.get("items");return t?t:(t=[],t.push(e._getButtonItem(n.ID_PREV)),t.push(e._getButtonItem(n.ID_NEXT)),t)},_getButtonItem:function(e){var t=this;return{id:e,content:''+t.get(e+"Text")+"",disabled:!0}},_bindButtonEvent:function(){var e=this,t=e.get("numberButtonCls");e.constructor.superclass._bindButtonEvent.call(this),e.get("el").delegate("a","click",function(e){e.preventDefault()}),e.on("click",function(n){var r=n.target;if(r&&r.get("el").hasClass(t)){var i=r.get("id");e.jumpToPage(i)}})},_setNumberPages:function(){var e=this;e._setNumberButtons()},_setNumberButtons:function(){var e=this,t=e.get("curPage"),n=e.get("totalPage"),r=e._getNumberItems(t,n),i;e._clearNumberButtons(),BUI.each(r,function(t){e._appendNumberButton(t)}),i=e.getItem(t),i&&i.set("selected",!0)},_appendNumberButton:function(e){var t=this,n=t.getItemCount(),r=t.addItemAt(e,n-1)},_clearNumberButtons:function(){var e=this,t=e.getItems(),n=e.getItemCount();while(n>2)e.removeItemAt(n-2),n=e.getItemCount()},_getNumberItems:function(e,t){function u(e,t){for(var i=e;i<=t;i++)r.push(n._getNumberItem(i))}function a(){r.push(n._getEllipsisItem())}var n=this,r=[],i=n.get("maxLimitCount"),s=n.get("showRangeCount"),o;if(ti?l:i:t;f>1&&(u(1,1),f>2&&a()),o=c,u(f,c)}return o{id}'},prevText:{value:"<<"},nextText:{value:">>"},maxLimitCount:{value:4},showRangeCount:{value:1},numberButtonCls:{value:s},ellipsisTpl:{value:'...'}}},{xclass:"pagingbar-number",priority:3});return o}),define("bui/progressbar",["bui/common","bui/progressbar/base","bui/progressbar/load"],function(e){var t=e("bui/common"),n=t.namespace("ProgressBar");return t.mix(n,{Base:e("bui/progressbar/base"),Load:e("bui/progressbar/load")}),n}),define("bui/progressbar/base",["bui/common"],function(e){var t=e("bui/common"),n=t.Component.View.extend({_uiSetPercent:function(e){var n=this,r=n.get("el").children();t.isArray(e)||(e=[e]),t.each(r,function(t,n){$(t).width(e[n]+"%")})}},{ATTRS:{percent:{}}}),r=t.Component.Controller.extend({},{ATTRS:{percent:{view:!0,value:0},tpl:{value:'
        '},xview:{value:n}}},{xclass:"progress-bar"});return r}),define("bui/progressbar/load",["bui/progressbar/base"],function(e){var t=e("bui/progressbar/base"),n=0,r=1,i=2,s=t.extend({bindUI:function(){var e=this;e.on("afterPercentChange",function(t){if(e.isLoading()){var n=e.get("percent");n==100&&e.onCompleted(),e.onChange()}})},start:function(){var e=this;e.isLoading()||e.onstart()},complete:function(){var e=this;clearTimeout(e.get("t")),e.set("percent",100)},cancel:function(){var e=this;clearTimeout(e.get("t")),e.get("percent")&&e.set("percent",0),e.set("status",n)},onstart:function(){var e=this,t=e.get("cfg");e.set("percent",0),e.set("status",r),e.fire("start",t),e._startLoad()},onChange:function(){var e=this;e.fire("loadchange")},onCompleted:function(){var e=this;e.set("status",i),e.fire("completed")},isLoading:function(){return this.get("status")===r},isCompleted:function(){return this.get("status")===i},_startLoad:function(){var e=this,t=e.get("ajaxCfg"),n=e.get("interval"),r;t.success=function(i){var s=i.percent;e.set("percent",s),s<100&&e.isLoading()&&(r=setTimeout(function(){$.ajax(t)},n),e.set("t",r))},$.ajax(t)}},{ATTRS:{status:{value:0},ajaxCfg:{},interval:{value:500},events:{value:["start","loadchange","completed"]}}},{xclass:"progress-bar-load"});return s}),define("bui/calendar",["bui/common","bui/calendar/calendar","bui/calendar/monthpicker","bui/calendar/datepicker"],function(e){var t=e("bui/common"),n=t.namespace("Calendar");return t.mix(n,{Calendar:e("bui/calendar/calendar"),MonthPicker:e("bui/calendar/monthpicker"),DatePicker:e("bui/calendar/datepicker")}),n}),define("bui/calendar/monthpicker",["bui/common","bui/overlay","bui/list","bui/toolbar"],function(e){function v(){return $.map(d,function(e,t){return{text:e,value:t}})}var t=e("bui/common"),n=t.Component,r=e("bui/overlay").Overlay,i=e("bui/list").SimpleList,s=e("bui/toolbar"),o=t.prefix,u="x-monthpicker-month",a="data-month",f="data-year",l="x-monthpicker-year",c="x-monthpicker-yearnav",h="x-monthpicker-selected",p="x-monthpicker-item",d=["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708"],m=i.extend({bindUI:function(){var e=this;e.get("el").delegate("a","click",function(e){e.preventDefault()}).delegate("."+u,"dblclick",function(){e.fire("dblclick")})}},{ATTRS:{itemTpl:{view:!0,value:'
      • {text}
      • '},itemCls:{value:p},items:{view:!0,value:v()},elCls:{view:!0,value:"x-monthpicker-months"}}},{xclass:"calendar-month-panel"}),g=i.extend({bindUI:function(){var e=this,t=e.get("el");t.delegate("a","click",function(e){e.preventDefault()}),t.delegate("."+l,"dblclick",function(){e.fire("dblclick")}),t.delegate(".x-icon","click",function(t){var n=$(t.currentTarget);n.hasClass(c+"-prev")?e._prevPage():n.hasClass(c+"-next")&&e._nextPage()}),e.on("itemselected",function(t){t.item&&e.setInternal("year",t.item.value)})},_prevPage:function(){var e=this,t=e.get("start"),n=e.get("yearCount");e.set("start",t-n)},_nextPage:function(){var e=this,t=e.get("start"),n=e.get("yearCount");e.set("start",t+n)},_uiSetStart:function(){var e=this;e._setYearsContent()},_uiSetYear:function(e){var t=this,n=t.findItemByField("value",e);n?t.setSelectedByField(e):t.set("start",e)},_setYearsContent:function(){var e=this,t=e.get("year"),n=e.get("start"),r=e.get("yearCount"),i=[];for(var s=n;s{text}'},tpl:{view:!0,value:'
        '+''+''+"
        "+"
          "}}},{xclass:"calendar-year-panel"}),y=r.extend({initializer:function(){var e=this,t=e.get("children"),n=new m,r=new g,i=e._createFooter();t.push(n),t.push(r),t.push(i),e.set("yearPanel",r),e.set("monthPanel",n)},bindUI:function(){var e=this;e.get("monthPanel").on("itemselected",function(t){t.item&&e.setInternal("month",t.item.value)}).on("dblclick",function(){e._successCall()}),e.get("yearPanel").on("itemselected",function(t){t.item&&e.setInternal("year",t.item.value)}).on("dblclick",function(){e._successCall()})},_successCall:function(){var e=this,t=e.get("success");t&&t.call(e)},_createFooter:function(){var e=this;return new s.Bar({elCls:o+"clear x-monthpicker-footer",children:[{xclass:"bar-item-button",text:"\u786e\u5b9a",btnCls:"button button-small button-primary",handler:function(){e._successCall()}},{xclass:"bar-item-button",text:"\u53d6\u6d88",btnCls:"button button-small last",handler:function(){var t=e.get("cancel");t&&t.call(e)}}]})},_uiSetYear:function(e){this.get("yearPanel").set("year",e)},_uiSetMonth:function(e){this.get("monthPanel").setSelectedByField(e)}},{ATTRS:{footer:{},align:{value:{}},year:{},success:{value:function(){}},cancel:{value:function(){}},width:{value:180},month:{},yearPanel:{},monthPanel:{}}},{xclass:"monthpicker"});return y}),define("bui/calendar/header",["bui/common"],function(e){var t=e("bui/common"),n=t.prefix,r=t.Component,i="year-text",s="month-text",o="x-datepicker-arrow",u="x-datepicker-prev",a="x-datepicker-next",f=r.Controller.extend({bindUI:function(){var e=this,t=e.get("el");t.delegate("."+o,"click",function(t){t.preventDefault();var n=$(t.currentTarget);n.hasClass(a)?e.nextMonth():n.hasClass(u)&&e.prevMonth()}),t.delegate(".x-datepicker-month","click",function(){e.fire("headerclick")})},setMonth:function(e,t){var n=this,r=n.get("year"),i=n.get("month");if(e!==r||t!==i)n.set("year",e),n.set("month",t),n.fire("monthchange",{year:e,month:t})},nextMonth:function(){var e=this,t=new Date(e.get("year"),e.get("month")+1);e.setMonth(t.getFullYear(),t.getMonth())},prevMonth:function(){var e=this,t=new Date(e.get("year"),e.get("month")-1);e.setMonth(t.getFullYear(),t.getMonth())},_uiSetYear:function(e){var t=this;t.get("el").find("."+i).text(e)},_uiSetMonth:function(e){var t=this;t.get("el").find("."+s).text(e+1)}},{ATTRS:{year:{sync:!1},month:{sync:!1,setter:function(e){this.set("monthText",e+1)}},monthText:{},tpl:{view:!0,value:'
          '+'
          '+'
          '+'{year}\u5e74 {monthText}\u6708'+''+"
          "+"
          "+'
          '},elCls:{view:!0,value:"x-datepicker-header"},events:{value:{monthchange:!0}}}},{xclass:"calendar-header"});return f}),define("bui/calendar/panel",["bui/common"],function(e){var t=e("bui/common"),n=t.Component,r=t.Date,i="x-datepicker-date",s="x-datepicker-today",o="x-datepicker-disabled",u="x-datepicker-active",a="data-date",f="isoDate",l="x-datepicker-selected",c=6,h={deactive:"prevday",active:"active",disabled:"disabled"},p=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],d=n.View.extend({renderUI:function(){this.updatePanel()},updatePanel:function(){var e=this,t=e.get("el"),n=t.find("tbody"),r=e._getPanelInnerTpl();n.empty(),$(r).appendTo(n)},_getPanelInnerTpl:function(){var e=this,t=e._getFirstDate(),n=[];for(var i=0;in?!1:!0},_clearSelectedDate:function(){var e=this;e.get("el").find("."+l).removeClass(l)},_findDateElement:function(e){var t=this,n=r.format(e,f),s=t.get("el").find("."+i),o=null;return n&&s.each(function(e,t){if($(t).attr("title")===n)return o=$(t),!1}),o},_setSelectedDate:function(e){var t=this,n=t._findDateElement(e);t._clearSelectedDate(),n&&n.addClass(l)}},{ATTRS:{}}),v=n.Controller.extend({initializer:function(){var e=this,t=new Date;e.get("year")||e.set("year",t.getFullYear()),e.get("month")||e.set("month",t.getMonth())},bindUI:function(){var e=this,t=e.get("el");t.delegate("."+i,"click",function(e){e.preventDefault()}),t.delegate("."+o,"mouseup",function(e){e.stopPropagation()})},performActionInternal:function(e){var t=this,n=$(e.target).closest("."+i);if(n){var s=n.attr("title");s&&(s=r.parse(s),t.get("view")._isInRange(s)&&t.set("selected",s))}},setMonth:function(e,t){var n=this,r=n.get("year"),i=n.get("month");if(e!==r||t!==i)n.set("year",e),n.set("month",t),n.get("view").updatePanel()},_uiSetSelected:function(e,t){var n=this;t&&t.prevVal&&r.isDateEquals(e,t.prevVal)||(n.setMonth(e.getFullYear(),e.getMonth()),n.get("view")._setSelectedDate(e),n.fire("selectedchange",{date:e}))},_uiSetMaxDate:function(e){e&&this.get("view").updatePanel()},_uiSetMinDate:function(e){e&&this.get("view").updatePanel()}},{ATTRS:{year:{view:!0},month:{view:!0},selected:{},focusable:{value:!0},dayTpl:{view:!0,value:'
          '},events:{value:{click:!1,selectedchange:!1}},maxDate:{view:!0,setter:function(e){if(e)return t.isString(e)?r.parse(e):e}},minDate:{view:!0,setter:function(e){if(e)return t.isString(e)?r.parse(e):e}},weekTpl:{view:!0,value:"{daysTpl}"},tpl:{view:!0,value:'
          {dateNumber}
          \u65e5\u4e00\u4e8c\u4e09\u56db\u4e94\u516d
          '},xview:{value:d}}},{xclass:"calendar-panel",priority:0});return v}),define("bui/calendar/calendar",["bui/picker","bui/calendar/monthpicker","bui/calendar/header","bui/calendar/panel","bui/toolbar"],function(e){function v(){var e=new Date;return new Date(e.getFullYear(),e.getMonth(),e.getDate())}function m(e){return e<10?"0"+e:e.toString()}function g(e){var t=[];for(var n=0;n{text}'}],autoAlign:!1,align:{node:e.get("el"),points:["bl","bl"],offset:[0,-30]},trigger:e.get("el").find("."+r)});return t.render(),e._initTimePickerEvent(t),t},_initTimePickerEvent:function(e){var t=this,e=t.get("timepicker");if(!e)return;e.get("el").delegate("a","click",function(e){e.preventDefault()}),e.on("triggerchange",function(t){var n=t.curTrigger;n.hasClass(i)?e.get("list").set("items",g(24)):e.get("list").set("items",g(60))}),e.on("selectedchange",function(e){var n=e.curTrigger,r=e.value;n.hasClass(i)?t.setInternal("hour",r):n.hasClass(s)?t.setInternal("minute",r):t.setInternal("second",r)})},_setYearMonth:function(e,t){var n=this,r=n.get("selectedDate"),i=r.getDate();(e!==r.getFullYear()||t!==r.getMonth())&&n.set("selectedDate",new Date(e,t,i))},_createMonthPicker:function(){var e=this;return new f({effect:{effect:"slide",duration:300},visibleMode:"display",success:function(){var t=this;e._setYearMonth(t.get("year"),t.get("month")),t.hide()},cancel:function(){this.hide()}})},_createFooter:function(){var e=this,t=this.get("showTime"),r=[];return t?(r.push({content:e.get("timeTpl")}),r.push({xclass:"bar-item-button",text:"\u786e\u5b9a",btnCls:"button button-small button-primary",listeners:{click:function(){e.fire("accept")}}})):r.push({xclass:"bar-item-button",text:"\u4eca\u5929",btnCls:"button button-small",listeners:{click:function(){var t=v();e.set("selectedDate",t),e.fire("accept")}}}),new h.Bar({elCls:n+"calendar-footer",children:r})},_uiSetSelectedDate:function(e){var t=this,n=e.getFullYear(),r=e.getMonth();t.get("header").setMonth(n,r),t.get("panel").set("selected",e),t.fire("datechange",{date:e})},_uiSetHour:function(e){b(this,i,e)},_uiSetMinute:function(e){b(this,s,e)},_uiSetSecond:function(e){b(this,o,e)},_uiSetMaxDate:function(e){var t=this;t.get("panel").set("maxDate",e)},_uiSetMinDate:function(e){var t=this;t.get("panel").set("minDate",e)}},{ATTRS:{header:{},panel:{},maxDate:{},minDate:{},monthPicker:{},timepicker:{},width:{value:180},events:{value:{click:!1,accept:!1,datechange:!1,monthchange:!1}},showTime:{value:!1},timeTpl:{value:'::'},selectedDate:{value:v()},hour:{value:(new Date).getHours()},minute:{value:(new Date).getMinutes()},second:{value:0}}},{xclass:"calendar",priority:0});return w}),define("bui/calendar/datepicker",["bui/common","bui/picker","bui/calendar/calendar"],function(e){var t=e("bui/common"),n=e("bui/picker").Picker,r=e("bui/calendar/calendar"),i=t.Date,s=n.extend({initializer:function(){var e=this,t=e.get("children"),n=new r({showTime:e.get("showTime")});t.push(n),e.set("calendar",n)},setSelectedValue:function(e){var t=this,n=this.get("calendar"),r=i.parse(e);r=r||new Date((new Date).setSeconds(0)),n.set("selectedDate",i.getDate(r)),t.get("showTime")&&(n.set("hour",r.getHours()),n.set("minute",r.getMinutes()),n.set("second",r.getSeconds()))},getSelectedValue:function(){var e=this,t=e.get("calendar"),n=i.getDate(t.get("selectedDate"));return e.get("showTime")&&(n=i.addHour(t.get("hour"),n),n=i.addMinute(t.get("minute"),n),n=i.addSecond(t.get("second"),n)),n},getSelectedText:function(){return i.format(this.getSelectedValue(),this._getFormatType())},_getFormatType:function(){return this.get("showTime")?"yyyy-mm-dd HH:MM:ss":"yyyy-mm-dd"},_uiSetMaxDate:function(e){var t=this;t.get("calendar").set("maxDate",e)},_uiSetMinDate:function(e){var t=this;t.get("calendar").set("minDate",e)}},{ATTRS:{showTime:{value:!1},maxDate:{},minDate:{},changeEvent:{value:"accept"},hideEvent:{value:"accept"},calendar:{}}},{xclass:"datepicker",priority:0});return s}),define("bui/editor",["bui/common","bui/form","bui/editor/editor","bui/editor/record","bui/editor/dialog"],function(e){var t=e("bui/common"),n=e("bui/form"),r=t.namespace("Editor");return t.mix(r,{Editor:e("bui/editor/editor"),RecordEditor:e("bui/editor/record"),DialogEditor:e("bui/editor/dialog")}),r}),define("bui/editor/mixin",function(e){function t(e){var t=e,n=t.get("controlCfgField"),r=t.get(n),i=t.addChild(r);t.setInternal(n,i)}var n=function(){t(this)};return n.ATTRS={acceptEvent:{value:"autohide"},preventHide:{value:!0},changeSourceEvent:{value:"show triggerchange"},ignoreInputFields:{value:!1},innerValueField:{},emptyValue:{},controlCfgField:{},autoUpdate:{value:!0},events:{value:{accept:!1,cancel:!1}}},n.prototype={__bindUI:function(){var e=this,t=e.get("acceptEvent"),n=e.get("changeSourceEvent");t&&e.on(t,function(){if(e.accept())return;if(e.get("preventHide"))return!1;e.cancel()}),n&&e.on(n,function(){e.setValue(e.getSourceValue()),e.get("visible")&&e.focus()})},getInnerControl:function(){var e=this,t=e.get("children");return t[0]},setValue:function(e){var t=this,n=t.getInnerControl();t.set("editValue",e),t.clearControlValue(),n.set(t.get("innerValueField"),e),e||t.valid()},getValue:function(){var e=this,t=e.getInnerControl();return t.get(e.get("innerValueField"))},isValid:function(){var e=this,t=e.getInnerControl();return t.isValid?t.isValid():!0},valid:function(){var e=this,t=e.getInnerControl();t.valid&&t.valid()},getErrors:function(){var e=this,t=e.getInnerControl();return t.getErrors?t.getErrors():[]},isChange:function(){var e=this,t=e.get("editValue"),n=e.getValue();return t!==n},clearValue:function(){this.clearControlValue(),this.clearErrors()},clearControlValue:function(){var e=this,t=e.getInnerControl();t.set(e.get("innerValueField"),e.get("emptyValue"))},clearErrors:function(){var e=this,t=e.getInnerControl();t.clearErrors()},getSourceValue:function(){},updateSource:function(){},handleNavEsc:function(){this.cancel()},handleNavEnter:function(e){var t=e.target;if(t.tagName==="TEXTAREA")return;t.tagName==="BUTTON"&&$(t).trigger("click"),this.accept()},focus:function(){var e=this,t=e.getInnerControl();t.focus&&t.focus()},accept:function(){var e=this,t;e.valid();if(!e.isValid())return!1;t=e.getValue(),e.get("autoUpdate")&&e.updateSource(t);if(e.fire("beforeaccept",{value:t})==0)return;return e.fire("accept",{value:t,editValue:e.get("editValue")}),e.hide(),!0},cancel:function(){this.fire("cancel"),this.clearValue(),this.close()}},n}),define("bui/editor/editor",["bui/common","bui/overlay","bui/editor/mixin"],function(e){var t=e("bui/common"),n=e("bui/overlay").Overlay;CLS_TIPS="x-editor-tips",Mixin=e("bui/editor/mixin");var r=n.extend([Mixin],{bindUI:function(){var e=this,t=e.getInnerControl();e.on("validchange",function(t){!e.isValid()&&e.get("visible")?e._showError(e.getErrors()):e._hideError()}),e.on("hide",function(){e._hideError()}),e.on("show",function(){e.isValid()||e._showError(e.getErrors())})},_initOverlay:function(){var e=this,t=new n({children:[{xclass:"simple-list",itemTpl:'
        • ! {error}
        • '}],elCls:CLS_TIPS,autoRender:!0});return e.set("overlay",t),t},_getErrorList:function(){var e=this,t=e.get("overlay");return t&&t.get("children")[0]},_showError:function(e){var n=this,r=n.get("overlay")||n._initOverlay(),i=n._getErrorList(),s=n.get("errorAlign"),o=t.Array.map(e,function(e){return{error:e}});i.set("items",o),s.node=n.get("el"),r.set("align",s),r.show()},_hideError:function(){var e=this,t=e.get("overlay");t&&t.hide()},getSourceValue:function(){var e=this,t=e.get("curTrigger");return t.text()},updateSource:function(e){var t=this,n=t.get("curTrigger");n&&n.length&&n.text(e)},_uiSetWidth:function(e){var t=this;if(e!=null){var n=t.getInnerControl();n.set&&n.set("width",e)}}},{ATTRS:{innerValueField:{value:"value"},emptyValue:{value:""},autoHide:{value:!0},controlCfgField:{value:"field"},defaultChildCfg:{value:{tpl:"",forceFit:!0,errorTpl:""}},defaultChildClass:{value:"form-field"},align:{value:{points:["tl","tl"]}},errorAlign:{value:{points:["bl","tl"],offset:[0,10]}},overlay:{},field:{value:{}}}},{xclass:"editor"});return r}),define("bui/editor/record",["bui/common","bui/editor/editor"],function(e){var t=e("bui/common"),n=e("bui/editor/editor"),r=n.extend({getSourceValue:function(){return this.get("record")},updateSource:function(e){var n=this,r=n.get("record");t.mix(r,e)},_uiSetRecord:function(e){this.setValue(e)}},{ATTRS:{innerValueField:{value:"record"},acceptEvent:{value:""},emptyValue:{value:{}},autoHide:{value:!1},record:{value:{}},controlCfgField:{value:"form"},form:{value:{}},errorAlign:{value:{points:["tr","tl"],offset:[10,0]}},defaultChildCfg +:{valueFn:function(){var e=this;return{xclass:"form",errorTpl:"",showError:!0,showChildError:!0,defaultChildCfg:{elCls:"bui-inline-block",tpl:"",forceFit:!0},buttons:[{btnCls:"button button-primary",text:"\u786e\u5b9a",handler:function(){e.accept()}},{btnCls:"button",text:"\u53d6\u6d88",handler:function(){e.cancel()}}]}}}}},{xclass:"record-editor"});return r}),define("bui/editor/dialog",["bui/overlay","bui/editor/mixin"],function(e){var t=e("bui/overlay").Dialog,n=e("bui/editor/mixin"),r=t.extend([n],{getSourceValue:function(){return this.get("record")},handleNavEnter:function(e){var t=this,n=t.get("success"),r=e.target;if(r.tagName==="TEXTAREA")return;r.tagName==="BUTTON"&&$(r).trigger("click"),n?n.call(t):this.accept()},cancel:function(){this.onCancel()!==!1&&(this.fire("cancel"),this.clearValue(),this.close())},updateSource:function(e){var t=this,n=t.get("record");BUI.mix(n,e)},_uiSetRecord:function(e){this.setValue(e)}},{ATTRS:{innerValueField:{value:"record"},acceptEvent:{value:""},record:{value:{}},emptyValue:{value:{}},controlCfgField:{value:"form"},changeSourceEvent:{value:""},defaultChildCfg:{value:{xclass:"form-horizontal"}},focusable:{value:!0},success:{value:function(){this.accept()}},form:{value:{}}}},{xclass:"dialog-editor"});return r}),define("bui/grid",["bui/common","bui/grid/simplegrid","bui/grid/grid","bui/grid/column","bui/grid/header","bui/grid/format","bui/grid/plugins"],function(e){var t=e("bui/common"),n=t.namespace("Grid");return t.mix(n,{SimpleGrid:e("bui/grid/simplegrid"),Grid:e("bui/grid/grid"),Column:e("bui/grid/column"),Header:e("bui/grid/header"),Format:e("bui/grid/format"),Plugins:e("bui/grid/plugins")}),n}),define("bui/grid/simplegrid",["bui/common","bui/list"],function(e){var t=e("bui/common"),n=e("bui/list"),r=t.Component,i=r.UIBase,s=t.prefix,o=s+"grid",u=o+"-row",a=s+"grid-row-odd",f=s+"grid-row-even",l=s+"grid-border",c=s+"grid-row-first",h=n.SimpleListView.extend({setColumns:function(e){var n=this,r=n.get("headerRowEl");e=e||n.get("columns"),r.empty(),t.each(e,function(e){n._createColumn(e,r)})},_createColumn:function(e,n){var r=this,i=t.substitute(r.get("columnTpl"),e);$(i).appendTo(n)},getItemTpl:function(e,n){var r=this,i=r.get("columns"),s=r.get("rowTpl"),o=n%2===0?a:f,u=[],l;return t.each(i,function(t){var n=t.dataIndex;u.push(r._getCellTpl(t,n,e))}),s=t.substitute(s,{cellsTpl:u.join(""),oddCls:o}),s},_getCellTpl:function(e,n,r){var i=this,s=e.renderer,o=s?s(r[n],r):r[n],u=i.get("cellTpl");return t.substitute(u,{elCls:e.elCls,text:o})},clearData:function(){var e=this,t=e.get("itemContainer");t.empty()},showData:function(e){var n=this;t.each(e,function(e,t){n._createRow(e,t)})},_uiSetInnerBorder:function(e){var t=this,n=t.get("el");e?n.addClass(l):n.removeClass(l)},_uiSetTableCls:function(e){var t=this,n=t.get("el").find("table");n.attr("class",e)}},{ATTRS:{headerRowEl:{valueFn:function(){var e=this,t=e.get("el").find("thead");return t.children("tr")}},itemContainer:{valueFn:function(){return this.get("el").find("tbody")}},tableCls:{}}},{xclass:"simple-grid-veiw"}),p=t.List.SimpleList.extend({renderUI:function(){this.get("view").setColumns()},bindUI:function(){var e=this,t=e.get("itemCls"),n=t+"-hover",r=e.get("el");r.delegate("."+t,"mouseover",function(e){var t=$(e.currentTarget);t.addClass(n)}).delegate("."+t,"mouseout",function(e){var t=$(e.currentTarget);t.removeClass(n)})},showData:function(e){this.clearData(),this.set("items",e)},clearData:function(){this.get("view").clearData()},_uiSetColumns:function(e){var t=this;t.clearData(),t.get("view").setColumns(e)}},{ATTRS:{itemCls:{view:!0,value:u},tableCls:{view:!0,value:o+"-table"},columns:{view:!0,sync:!1,value:[]},tpl:{view:!0,value:'
          '},innerBorder:{view:!0,value:!0},rowTpl:{view:!0,value:'{cellsTpl}'},cellTpl:{view:!0,value:'
          {text}
          '},columnTpl:{view:!0,value:'
          {title}
          '},events:{value:{}},xview:{value:h}}},{xclass:"simple-grid"});return p.View=h,p}),define("bui/grid/column",["bui/common"],function(e){var t=e("bui/common"),n=t.prefix,r=n+"grid-hd-title",i=n+"grid-hd-open",s="sort-",o="ASC",u="DESC",a=n+"grid-hd-menu-trigger",f="grid-hd-menu-trigger",l=t.Component.View.extend({setTplContent:function(e){var t=this,n=t.get("sortTpl"),i=t.get("triggerTpl"),s=t.get("el"),o;l.superclass.setTplContent.call(t,e),o=s.find("."+r),$(n).insertAfter(o),$(i).insertAfter(o)},_setContent:function(){this.setTplContent()},_uiSetShowMenu:function(e){var t=this,n=t.get("triggerTpl"),i=t.get("el"),s=i.find("."+r);e?$(n).insertAfter(s):i.find("."+a).remove()},_uiSetTitle:function(e){if(!this.get("rendered"))return;this._setContent()},_uiSetDraggable:function(e){if(!this.get("rendered"))return;this._setContent()},_uiSetSortable:function(e){if(!this.get("rendered"))return;this._setContent()},_uiSetTpl:function(e){if(!this.get("rendered"))return;this._setContent()},_uiSetSortState:function(e){var t=this,n=t.get("el"),r=e?"addClass":"removeClass",i=s+"asc",o=s+"desc";n.removeClass(i+" "+o),e==="ASC"?n.addClass(i):e==="DESC"&&n.addClass(o)},_uiSetOpen:function(e){var t=this,n=t.get("el");e?n.addClass(i):n.removeClass(i)}},{ATTRS:{sortTpl:{view:!0,getter:function(){var e=this,t=e.get("sortable");return t?' ':""}},tpl:{}}}),c=t.Component.Controller.extend({_toggleSortState:function(){var e=this,t=e.get("sortState"),n=t?t===o?u:o:o;e.set("sortState",n)},performActionInternal:function(e){var t=this,n=$(e.target),r=t.get("prefixCls");n.hasClass(r+f)||t.get("sortable")&&t._toggleSortState()},_uiSetWidth:function(e){e&&this.set("originWidth",e)}},{ATTRS:{elTagName:{value:"th"},open:{view:!0,value:!1},dataIndex:{view:!0,value:""},draggable:{sync:!1,view:!0,value:!0},editor:{},focusable:{value:!1},fixed:{value:!1},id:{},renderer:{},resizable:{value:!0},sortable:{sync:!1,view:!0,value:!0},sortState:{view:!0,value:null},title:{sync:!1,view:!0,value:" "},width:{value:100},showMenu:{view:!0,value:!1},triggerTpl:{view:!0,value:''},tpl:{sync:!1,view:!0,value:'
          '+'{title}'+"
          "},cellTpl:{value:""},events:{value:{afterWidthChange:!0,afterSortStateChange:!0,afterVisibleChange:!0,click:!0,resize:!0,move:!0}},xview:{value:l}}},{xclass:"grid-hd",priority:1});return c.Empty=c.extend({},{ATTRS:{type:{value:"empty"},sortable:{view:!0,value:!1},width:{view:!0,value:null},tpl:{view:!0,value:'
          '}}},{xclass:"grid-hd-empty",priority:1}),c}),define("bui/grid/header",["bui/common","bui/grid/column"],function(e){var t=e("bui/common"),n=t.prefix,r=t.namespace("Grid"),i=e("bui/grid/column"),s=t.Component.View,o=t.Component.Controller,u=17,a=t.UA,f=s.extend({getContentElement:function(){return this.get("el").find("tr")},scrollTo:function(e){var t=this,n=t.get("el");e.top!==undefined&&n.scrollTop(e.top),e.left!==undefined&&n.scrollLeft(e.left)},_uiSetTableCls:function(e){var t=this,n=t.get("el").find("table");n.attr("class",e)}},{ATTRS:{emptyCellEl:{},tableCls:{}}},{xclass:"header-view"}),l=o.extend({addColumn:function(e,t){var n=this,r=0,i=n.get("columns");return e=n._createColumn(e),t===undefined&&(t=i.length,r=n.get("children").length-1),i.splice(t,0,e),n.addChild(e,r),n.fire("add",{column:e,index:t}),e},removeColumn:function(e){var n=this,r=n.get("columns"),i;return e=t.isNumber(e)?r[e]:e,i=t.Array.indexOf(e,r),r.splice(i,1),n.fire("remove",{column:e,index:i}),n.removeChild(e,!0)},bindUI:function(){var e=this;e._bindColumnsEvent()},initializer:function(){var e=this,t=e.get("children"),n=e.get("columns"),r=e._createEmptyColumn();$.each(n,function(r,i){var s=e._createColumn(i);t[r]=s,n[r]=s}),t.push(r),e.set("emptyColumn",r)},getColumns:function(){return this.get("columns")},getColumnsWidth:function(){var e=this,t=e.getColumns(),n=0;return $.each(t,function(e,t){t.get("visible")&&(n+=t.get("el").outerWidth())}),n},getColumnOriginWidth:function(){var e=this,t=e.getColumns(),n=0;return $.each(t,function(e,t){if(t.get("visible")){var r=t.get("originWidth")||t.get("width");n+=r}}),n},getColumnByIndex:function(e){var t=this,n=t.getColumns(),r=n[e];return r},getColumn:function(e){var t=this,n=t.getColumns(),r=null;return $.each(n,function(t,n){if(e(n))return r=n,!1}),r},getColumnById:function(e){var t=this;return t.getColumn(function(t){return t.get("id")===e})},getColumnIndex:function(e){var n=this,r=n.getColumns();return t.Array.indexOf(e,r)},scrollTo:function(e){this.get("view").scrollTo(e)},_bindColumnsEvent:function(){var e=this;e.on("afterWidthChange",function(t){var n=t.target;n!==e&&e.setTableWidth()}),e.on("afterVisibleChange",function(t){var n=t.target;n!==e&&e.setTableWidth()}),e.on("afterSortStateChange",function(t){var n=t.target,r=e.getColumns(),i=t.newVal;i&&$.each(r,function(e,t){t!==n&&t.set("sortState","")})}),e.on("add",function(){e.setTableWidth()}),e.on("remove",function(){e.setTableWidth()})},_createColumn:function(e){return e instanceof i?e:(e.id||(e.id=t.guid("col")),new i(e))},_createEmptyColumn:function(){return new i.Empty},_isAllowScrollLeft:function(){var e=this,t=e.get("parent");return t&&!!t.get("height")},forceFitColumns:function(){function l(e,t){var n=e.get("el");e.set("width",t,{silent:1}),n.width(t)}var e=this,t=e.getColumns(),n=e.get("width"),r=n,i=e.getColumnOriginWidth(),s=0,o=0,a=null,f=e._isAllowScrollLeft();if(n){f&&(n-=u,r=n);var c=0;$.each(t,function(e,t){t.get("visible")&&t.get("resizable")&&c++;if(t.get("visible")&&!t.get("resizable")){var n=t.get("el").outerWidth();r-=n,i-=n}});var h=Math.floor(r/c),p=r/i;if(p===1)return;$.each(t,function(t,n){if(n.get("visible")&&n.get("resizable")){var r=e._getColumnBorderWith(n,t),i=n.get("originWidth");i||(n.set("originWidth",n.get("width")),i=n.get("width")),h=Math.floor((i+r)*p),l(n,h-r),s+=h,a=n}}),a&&(o=r-s,l(a,a.get("width")+o)),e.fire("forceFitWidth")}},_getColumnBorderWith:function(e,t){var n=e.get("el"),r=Math.round(parseFloat(n.css("border-left-width"))||0)+Math.round(parseFloat(n.css("border-right-width"))||0);return r=a.ie&&a.ie<8?t===0?1:r:r,r},setTableWidth:function(){var e=this,t=e.get("width"),n=0,r=null;if(t=="auto")return;e.get("forceFit")?e.forceFitColumns():e._isAllowScrollLeft()&&(n=e.getColumnsWidth(),r=e.get("emptyColumn"),t'+""+""},tableCls:{view:!0},xview:{value:f},events:{value:{add:!1,remove:!1}}}},{xclass:"grid-header",priority:1});return l}),define("bui/grid/grid",["bui/common","bui/mask","bui/toolbar","bui/list","bui/grid/header","bui/grid/column"],function(e){function f(e){return t.isString(e)?e.indexOf("%")!==-1:!1}function H(e){var n=this;return t.isNumber(e)&&(e-=D),e}var t=e("bui/common"),n=e("bui/mask"),r=t.UA,i=t.Component,s=e("bui/toolbar"),o=e("bui/list"),u=e("bui/grid/header"),a=e("bui/grid/column"),l=t.prefix,c=l+"grid-header-container",h=l+"grid-body",p=l+"grid-width",d=l+"grid-height",v=l+"grid-border",m=l+"grid-tbar",g=l+"grid-bbar",y=l+"grid-button-bar",b=l+"grid-strip",w=l+"grid-row",E=l+"grid-row-odd",x=l+"grid-row-even",T=l+"grid-row-first",N=l+"grid-cell",C=l+"grid-cell-inner",k="grid-td-",L=l+"grid-cell-text",A=l+"grid-cell-empty",O="17",M=l+"hidden",_="data-column-field",D=2,P=1,B=o.SimpleListView.extend({renderUI:function(){var e=this,t=e.get("el"),n=t.find("."+h);e.set("bodyEl",n),e._setTableTpl()},getItemTpl:function(e,n){var r=this,i=r._getColumns(),s=r.get("tbodyEl"),o=r.get("rowTpl"),u=n%2===0?E:x,a=[],f;return $.each(i,function(t,n){var i=n.get("dataIndex");a.push(r._getCellTpl(n,i,e))}),r.get("useEmptyCell")&&a.push(r._getEmptyCellTpl()),o=t.substitute(o,{cellsTpl:a.join(""),oddCls:u}),o},findRow:function(e){var t=this;return $(t.findElement(e))},findCell:function(e,t){var n=k+e;return t.find("."+n)},resetHeaderRow:function(){if(!this.get("useHeaderRow"))return;var e=this,t=e.get("headerRowEl"),n=e.get("tbodyEl");t&&t.remove(),t=e._createHeaderRow(),t.prependTo(n),e.set("headerRowEl",t)},resetColumnsWidth:function(e,t){var n=this,r=n.get("headerRowEl"),i=n.findCell(e.get("id"),r);t=t||e.get("width"),i&&i.width(t),n.setTableWidth()},setTableWidth:function(e){if(!e&&f(this.get("width"))){this.get("tableEl").width("100%");return}var t=this,n=t._getInnerWidth(),i=t.get("height"),s=t.get("tableEl"),o=t.get("forceFit"),u=t.get("headerRowEl");if(!f(e)){e=e||t._getColumnsWidth();if(!n)return;if(n>=e){e=n;if(i){var a=r.ie==6||r.ie==7?O+2:O;e=n-a}}}s.width(e)},setBodyWidth:function(e){var t=this,n=t.get("bodyEl");e=e||t._getInnerWidth(),n.width(e)},setBodyHeight:function(e){var n=this,r=n.get("bodyEl"),i=e,s=r.siblings();t.each(s,function(e){$(e).css("display")!=="none"&&(i-=$(e).outerHeight())}),r.height(i)},setColumnVisible:function(e){var t=this,n=!e.get("visible"),r=e.get("id"),i=t.get("tbodyEl"),s=$("."+k+r,i);n?s.hide():s.show()},updateItem:function(e){var n=this,r=n.getItems(),i=t.Array.indexOf(e,r),s=n._getColumns(),o=null,u;if(i>=0)return o=n.findElement(e),t.each(s,function(t){var r=n.findCell(t.get("id"),$(o)),i=r.find("."+C),s=n._getCellText(t,e);i.html(s)}),o},showEmptyText:function(){var e=this,t=e.get("bodyEl"),n=e.get("emptyDataTpl"),r=e.get("emptyEl");r&&r.remove();var r=$(n).appendTo(t);e.set("emptyEl",r)},clearEmptyText:function(){var e=this,t=e.get("emptyEl");t&&t.remove()},_createHeaderRow:function(){var e=this,n=e._getColumns(),r=e.get("tbodyEl"),i=e.get("headerRowTpl"),s,o=[];return $.each(n,function(t,n){o.push(e._getHeaderCellTpl(n))}),e.get("useEmptyCell")&&o.push(e._getEmptyCellTpl()),i=t.substitute(i,{cellsTpl:o.join("")}),s=$(i).appendTo(r),s},_getColumnsWidth:function(){var e=this,n=e.get("columns"),r=0;return t.each(n,function(e){e.get("visible")&&(r+=e.get("el").outerWidth())}),r},_getColumns:function(){return this.get("columns")},_getCellText:function(e,n){var r=this,i=e.get("dataIndex"),s=e.get("cellTpl")||r.get("cellTextTpl"),o=r._getCellInnerText(e,i,n);return t.substitute(s,{text:o,tips:r._getTips(e,i,n)})},_getCellInnerText:function(e,t,n){try{var r=this,i=e.get("renderer"),s=i?i(n[t],n):n[t];return s==null?"":s}catch(o){throw"column:"+e.get("title")+" fomat error!"}},_getCellTpl:function(e,n,r){var i=this,s=i._getCellText(e,r),o=i.get("cellTpl");return t.substitute(o,{elCls:e.get("elCls"),id:e.get("id"),dataIndex:n,cellText:s,hideCls:e.get("visible")?"":M})},_getEmptyCellTpl:function(){return' '},_getHeaderCellTpl:function(e){var n=this,r=n.get("headerCellTpl");return t.substitute(r,{id:e.get("id"),width:e.get("width"),hideCls:e.get("visible")?"":M})},_getInnerWidth:function(){return H(this.get("width"))},_getTips:function(e,n,r){var i=e.get("showTip"),s="";return i&&(s=r[n],t.isFunction(i)&&(s=i(s,r))),s},_uiSetInnerBorder:function(e){var t=this,n=t.get("el");e?n.addClass(v):n.removeClass(v)},_setTableTpl:function(e){var t=this,n=t.get("bodyEl");e=e||t.get("tableTpl"),$(e).appendTo(n);var r=n.find("table"),i=n.find("tbody");t.set("tableEl",r),t.set("tbodyEl",i),t.set("itemContainer",i),t._setTableCls(t.get("tableCls"))},_uiSetTableCls:function(e){this._setTableCls(e)},_uiSetHeight:function(e){var t=this,n=t.get("bodyEl");t.get("el").height(e),t.get("el").addClass(d)},_uiSetWidth:function(e){var t=this;t.get("el").width(e),t.setBodyWidth(t._getInnerWidth(e)),t.get("el").addClass(p)},_uiSetStripeRows:function(e){var t=this,n=e?"addClass":"removeClass";t.get("el")[n](b)},_setTableCls:function(e){var t=this,n=t.get("tableEl");n.attr("class",e)}},{ATTRS:{tableCls:{},bodyEl:{},tbodyEl:{},headerRowEl:{},tableEl:{},emptyEl:{}}},{xclass:"grid-view"}),j=o.SimpleList.extend({initializer:function(){var e=this,t=e.get("render"),n=e.get("width");n||e.set("width",$(t).width())},createDom:function(){var e=this;e.get("width")&&e.get("el").addClass(p),e.get("height")&&e.get("el").addClass(d),e.get("innerBorder")&&e.get("el").addClass(v)},renderUI:function(){var e=this;e._initHeader(),e._initBars(),e._initLoadMask(),e.get("view").resetHeaderRow()},bindUI:function(){var e=this;e._bindHeaderEvent(),e._bindBodyEvent(),e._bindItemsEvent()},addColumn:function(e,t){var n=this,r=n.get("header");return r?e=r.addColumn(e,t):(e=new a(e),n.get("columns").splice(t,0,e)),e},clearData:function(){this.clearItems()},getRecords:function(){return this.getItems()},findColumn:function(e){var n=this,r=n.get("header");return t.isNumber(e)?r.getColumnByIndex(e):r.getColumnById(e)},findColumnByField:function(e){var t=this,n=t.get("header");return n.getColumn(function(t){return t.get("dataIndex")===e})},findCell:function(e,t){var n=this,r=null;return t instanceof $?r=t:r=n.findRow(t),r?n.get("view").findCell(e,r):null},findRow:function(e){var t=this;return t.get("view").findRow(e)},removeColumn:function(e){var t=this;t.get("header").removeColumn(e)},showData:function(e){var t=this;t.set("items",e)},resetColumns:function(){var e=this,t=e.get("store");e.get("view").resetHeaderRow(),t&&e.onLoad()},_bindScrollEvent:function(){var e=this,t=e.get("el"),n=t.find("."+h),r=e.get("header");n.on("scroll",function(){var t=n.scrollLeft(),i=n.scrollTop();r.scrollTo({left:t,top:i}),e.fire("scroll",{scrollLeft:t,scrollTop:i,bodyWidth:n.width(),bodyHeight:n.height()})})},_bindHeaderEvent:function(){var e=this,t=e.get("header"),n=e.get("view"),r=e.get("store");t.on("afterWidthChange",function(e){var r=e.target;r!==t&&n.resetColumnsWidth(r)}),t.on("afterSortStateChange",function(e){var t=e.target,n=e.newVal;n&&r&&r.sort(t.get("dataIndex"),t.get("sortState"))}),t.on("afterVisibleChange",function(r){var i=r.target;i!==t&&(n.setColumnVisible(i),e.fire("columnvisiblechange",{column:i}))}),t.on("click",function(n){var r=n.target;r!==t&&e.fire("columnclick",{column:r,domTarget:n.domTarget})}),t.on("forceFitWidth",function(){e.get("rendered")&&e.resetColumns()}),t.on("add",function(t){e.get("rendered")&&(e.fire("columnadd",{column:t.column,index:t.index}),e.resetColumns())}),t.on("remove",function(t){e.get("rendered")&&(e.resetColumns(),e.fire("columnremoved",{column:t.column,index:t.index}))})},_bindBodyEvent:function(){var e=this;e._bindScrollEvent()},_bindItemsEvent:function(){function n(e){return{record:e.item,row:e.domTarget,domTarget:e.domTarget}}var e=this,t=e.get("store");e.on("itemsshow",function(){e.fire("aftershow"),e.get("emptyDataTpl")&&(t&&t.getCount()==0?e.get("view").showEmptyText():e.get("view").clearEmptyText())}),e.on("itemsclear",function(){e.fire("clear")}),e.on("itemclick",function(t){var n=t.domTarget,r=t.item,i=$(n).closest("."+N),s=$(n).closest("."+w),o;return i.length&&(o=e.fire("cellclick",{record:r,row:s[0],cell:i[0],field:i.attr(_),domTarget:n,domEvent:t.domEvent})),o===!1?o:e.fire("rowclick",{record:r,row:s[0],domTarget:n})}),e.on("itemunselected",function(t){e.fire("rowunselected",n(t))}),e.on("itemselected",function(t){e.fire("rowselected",n(t))}),e.on("itemrendered",function(t){e.fire("rowcreated",n(t))}),e.on("itemremoved",function(t){e.fire("rowremoved",n(t))}),e.on("itemupdated",function(t){e.fire("rowupdated",n(t))})},_getInnerWidth:function(e){return e=e||this.get("width"),H(e)},_initHeader:function(){var e=this,t=e.get("header"),n=e.get("el").find("."+c);t||(t=(new u({columns:e.get("columns"),tableCls:e.get("tableCls"),forceFit:e.get("forceFit"),width:e._getInnerWidth(),render:n,parent:e})).render(),e.set("header",t))},_initBars:function(){var e=this,t=e.get("bbar"),n=e.get("tbar");e._initBar(t,g,"bbar"),e._initBar(n,m,"tbar")},_initBar:function(e,t,n){var r=this,s=null,o=null;if(e){!e.xclass&&!(e instanceof i.Controller)&&(e.xclass="bar",e.children=e.children||[],e.items&&(e.children.push({xclass:"bar",defaultChildClass:"bar-item-button",elCls:y,children:e.items}),e.items=null),e.pagingBar&&(s=r.get("store"),o={xclass:"pagingbar",store:s,pageSize:s.pageSize},e.pagingBar!==!0&&(o=S.merge(o,e.pagingBar)),e.children.push(o)));if(e.xclass){var u=r.get("el").find("."+t);u.show(),e.render=u,e.elTagName="div",e.autoRender=!0,e=r.addChild(e)}r.set(n,e)}return e},_initLoadMask:function(){var e=this,n=e.get("loadMask");n&&!n.show&&(n=new t.Mask.LoadMask({el:e.get("el")}),e.set("loadMask",n))},_uiSetWidth:function(e){var t=this;t.get("rendered")&&(f(e)?t.get("header").set("width","100%"):t.get("header").set("width",t._getInnerWidth(e))),t.get("view").setTableWidth()},_uiSetForceFit:function(e){var t=this;t.get("header").set("forceFit",e)},_uiSetHeight:function(e,t){var n=this,r=n.get("header");n.get("view").setBodyHeight(e),n.get("rendered")&&(n.get("forceFit")&&!t.prevVal&&(r.forceFitColumns(),n.get("view").setTableWidth()),r.setTableWidth())}},{ATTRS:{header:{},bbar:{},itemCls:{value:w},columns:{view:!0,value:[]},forceFit:{sync:!1,value:!1},emptyDataTpl:{view:!0},headerRowTpl:{view:!0,value:'{cellsTpl}'},headerCellTpl:{view:!0,value:''},rowTpl:{view:!0,value:'{cellsTpl}'},cellTpl:{view:!0,value:''+'
          {cellText}
          '+""},cellTextTpl:{view:!0,value:'{text}'},events:{value:{aftershow:!1,clear:!1,cellclick:!1,columnclick:!1,rowclick:!1,rowcreated:!1,rowremoved:!1,rowselected:!1,rowunselected:!1,scroll:!1}},stripeRows:{view:!0,value:!0},tbar:{},tableCls:{view:!0,sync:!1,value:l+"grid-table"},tableTpl:{view:!0,value:'
          '},tpl:{value:'
          '},innerBorder:{sync:!1,value:!0},useEmptyCell:{view:!0,value:!0},useHeaderRow:{view:!0,value:!0},xview:{value:B}}},{xclass:"grid"});return j}),define("bui/grid/format",function(e){function t(e){return e<10?"0"+e:e}var n={dateRenderer:function(e){if(!e)return"";if(BUI.isString(e))return e;var n=null;try{n=new Date(e)}catch(r){return""}return!n||!n.getFullYear?"":n.getFullYear()+"-"+t(n.getMonth()+1)+"-"+t(n.getDate())},datetimeRenderer:function(e){if(!e)return"";if(BUI.isString(e))return e;var n=null;try{n=new Date(e)}catch(r){return""}return!n||!n.getFullYear?"":n.getFullYear()+"-"+t(n.getMonth()+1)+"-"+t(n.getDate())+" "+t(n.getHours())+":"+t(n.getMinutes())+":"+t(n.getSeconds())},cutTextRenderer:function(e){return function(t){return t=t||"",t.toString().length>e?t.toString().substring(0,e)+"...":t}},enumRenderer:function(e){return function(t){return e[t]||""}},multipleItemsRenderer:function(e){var t=n.enumRenderer(e);return function(e){var n=[];return e?(BUI.isArray(e)||(e=e.toString().split(",")),$.each(e,function(e,r){n.push(t(r))}),n.join(",")):""}},moneyCentRenderer:function(e){return BUI.isString(e)&&(e=parseFloat(e)),$.isNumberic(e)?(e*.01).toFixed(2):e}};return n}),function(){var e="bui/grid/plugins/";define("bui/grid/plugins",["bui/common",e+"selection",e+"cascade",e+"cellediting",e+"rowediting",e+"dialogediting",e+"menu",e+"summary"],function(t){var n=t("bui/common"),r=t(e+"selection"),i={};return n.mix(i,{CheckSelection:r.CheckSelection,RadioSelection:r.RadioSelection,Cascade:t(e+"cascade"),CellEditing:t(e+"cellediting"),RowEditing:t(e+"rowediting"),DialogEditing:t(e+"dialogediting"),GridMenu:t(e+"menu"),Summary:t(e+"summary")}),i})}(),define("bui/grid/plugins/menu",["bui/common","bui/menu"],function(e){var t=e("bui/common"),n=e("bui/menu"),r=t.prefix,i="sort-asc",s="sort-desc",o="column-setting",u="icon-check",a=function(e){a.superclass.constructor.call(this,e)};return t.extend(a,t.Base),a.ATTRS={menu:{},activedColumn:{},triggerCls:{value:r+"grid-hd-menu-trigger"},items:{value:[{id:i,text:"\u5347\u5e8f",iconCls:"icon-arrow-up"},{id:s,text:"\u964d\u5e8f",iconCls:"icon-arrow-down"},{xclass:"menu-item-sparator"},{id:o,text:"\u8bbe\u7f6e\u5217",iconCls:"icon-list-alt"}]}},t.augment(a,{initializer:function(e){var t=this;t.set("grid",e)},renderUI:function(e){var n=this,r=e.get("columns");t.each(r,function(e){n._addShowMenu(e)})},bindUI:function(e){var t=this;e.on("columnadd",function(e){t._addShowMenu(e.column)}),e.on("columnclick",function(e){var n=$(e.domTarget),r=e.column,i;t.set("activedColumn",r),n.hasClass(t.get("triggerCls"))&&(i=t.get("menu")||t._initMenu(),i.set("align",{node:n,points:["bl","tl"],offset:[0,0]}),i.show(),t._afterShow(r,i))})},_addShowMenu:function(e){e.get("fixed")||e.set("showMenu",!0)},_afterShow:function(e,t){var n=this,r=n.get("grid");t=t||n.get("menu"),n._resetSortMenuItems(e,t),n._resetColumnsVisible(t)},_resetColumnsVisible:function(e){var t=this,n=e.findItemById(o),r=n.get("subMenu")||t._initColumnsMenu(n),i=t.get("grid").get("columns");r.removeChildren(!0),$.each(i,function(e,t){if(!t.get("fixed")){var n={xclass:"context-menu-item",text:t.get("title"),column:t,iconCls:"icon"},i=r.addChild(n);t.get("visible")&&i.set("selected",!0)}})},_resetSortMenuItems:function(e,t){var n=t.findItemById(i),r=t.findItemById(s);e.get("sortable")?(n.set("disabled",!1),r.set("disabled",!1)):(n.set("disabled",!0),r.set("disabled",!0))},_initMenu:function(){var e=this,t=e.get("menu"),r;return t||(r=e.get("items"),$.each(r,function(e,t){t.xclass||(t.xclass="context-menu-item")}),t=new n.ContextMenu({children:r,elCls:"grid-menu"}),e._initMenuEvent(t),e.set("menu",t)),t},_initMenuEvent:function(e){var t=this;e.on("itemclick",function(e){var n=e.item,r=n.get("id"),o=t.get("activedColumn");r===i?o.set("sortState","ASC"):r===s&&o.set("sortState","DESC")}),e.on("afterVisibleChange",function(e){var n=e.newVal,r=t.get("activedColumn");n&&r?r.set("open",!0):r.set("open",!1)})},_initColumnsMenu:function(e){var t=new n.ContextMenu({multipleSelect:!0,elCls:"grid-column-menu"});return e.set("subMenu",t),t.on("itemclick",function(e){var t=e.item,n=t.get("column"),r=t.get("selected");r?n.set("visible",!0):n.set("visible",!1)}),t},destructor:function(){var e=this,t=e.get("menu");t&&t.destroy(),e.off(),e.clearAttrVals()}}),a}),define("bui/grid/plugins/cascade",["bui/common"],function(e){var t=e("bui/common"),n=t.prefix,r="",i="data-record",s=n+"grid-cascade",o=s+"-expand",u=s+"-row",a=s+"-cell",f=s+"-collapse",l=function(e){l.superclass.constructor.call(this,e)};return t.extend(l,t.Base),l.ATTRS={width:{value:40},cellInner:{value:''},rowTpl:{value:''},renderer:{},events:["expand","collapse","removed"]},t.augment(l,{initializer:function(e){var t=this,n={title:"",elCls:"center",width:t.get("width"),resizable:!1,fixed:!0,sortable:!1,cellTpl:t.get("cellInner")},r=e.addColumn(n,0);e.set("innerBorder",!1),t.set("grid",e)},bindUI:function(e){var t=this;e.on("cellclick",function(e){var n=$(e.domTarget),r=n.closest("."+s);r.length&&(r.hasClass(o)?t._onCollapse(e.record,e.row,r):t._onExpand(e.record,e.row,r))}),e.on("columnvisiblechange",function(){t._resetColspan()}),e.on("rowremoved",function(e){t.remove(e.record)}),e.on("clear",function(){t.removeAll()})},expandAll:function(){var e=this,t=e.get("grid"),n=t.getRecords();$.each(n,function(t,n){e.expand(n)})},expand:function(e){var t=this,n=t.get("grid"),r=n.findRow(e);r&&t._onExpand(e,r)},collapse:function(e){var t=this,n=t.get("grid"),r=n.findRow(e);r&&t._onCollapse(e,r)},removeAll:function(){var e=this,t=e._getAllCascadeRows();t.each(function(t,n){e._removeCascadeRow(n)})},remove:function(e){var t=this,n=t._findCascadeRow(e);n&&t._removeCascadeRow(n)},collapseAll:function(){var e=this,t=e.get("grid"),n=t.getRecords();$.each(n,function(t,n){e.collapse(n)})},_getRowRecord:function(e){return $(e).data(i)},_removeCascadeRow:function(e){this.fire("removed",{record:$(e).data(i),row:e}),$(e).remove()},_findCascadeRow:function(e){var t=this,n=t._getAllCascadeRows(),r=null;return $.each(n,function(n,i){if(t._getRowRecord(i)===e)return r=i,!1}),r},_getAllCascadeRows:function(){var e=this,t=e.get("grid");return t.get("el").find("."+u)},_getCascadeRow:function(e){var t=$(e).next();return t.hasClass(u)?t:null},_getRowContent:function(e){var t=this,n=t.get("renderer"),r=n?n(e):"";return r},_createCascadeRow:function(e,t){var n=this,r=n.get("rowTpl"),s=n._getRowContent(e),o=$(r).insertAfter(t);return o.find("."+a).append($(s)),o.data(i,e),o},_onExpand:function(e,t,n){var r=this,i=r._getCascadeRow(t),u=r._getColumnCount(t);n=n||$(t).find("."+s),n.addClass(o);if(!i||!i.length)i=r._createCascadeRow(e,t);$(i).removeClass(f),r._setColSpan(i,t),r.fire("expand",{record:e,row:i[0]})},_onCollapse:function(e,t,n){var r=this,i=r._getCascadeRow(t);n=n||$(t).find("."+s),n.removeClass(o);if(i||!i.length)$(i).addClass(f),r.fire("collapse",{record:e,row:i[0]})},_getColumnCount:function(e){return $(e).children().filter(function(){return $(this).css("display")!=="none"}).length},_setColSpan:function(e,t){t=t||$(e).prev();var n=this,r=n._getColumnCount(t);$(e).find("."+a).attr("colspan",r)},_resetColspan:function(){var e=this,t=e._getAllCascadeRows();$.each(t,function(t,n){e._setColSpan(n)})},destructor:function(){var e=this;e.removeAll(),e.off(),e.clearAttrVals()}}),l}),define("bui/grid/plugins/selection",["bui/common"],function(e){function o(e){o.superclass.constructor.call(this,e)}var t=e("bui/common"),n=t.prefix,r=n+"grid-checkBox",i="x-grid-checkbox",s=n+"grid-radio";t.extend(o,t.Base),o.ATTRS={width:{value:40},column:{},cellInner:{value:'
          '}},t.augment(o,{createDom:function(e){var t=this,r={title:"",width:t.get("width"),fixed:!0,resizable:!1,sortable:!1,tpl:'
          '+t.get("cellInner")+"",cellTpl:t.get("cellInner")},i=e.addColumn(r,0);e.set("multipleSelect",!0),t.set("column",i)},bindUI:function(e){var t=this,n=t.get("column"),r=n.get("el"),s=r.find("."+i);s.on("click",function(){var t=r.hasClass("checked");t?(e.clearSelection(),r.removeClass("checked")):(e.setAllSelection(),r.addClass("checked"))}),e.on("rowunselected",function(e){r.removeClass("checked")}),e.on("clear",function(){r.removeClass("checked")})}});var u=function(e){u.superclass.constructor.call(this,e)};t.extend(u,t.Base),u.ATTRS={width:{value:40},column:{},cellInner:{value:'
          '}},t.augment(u,{createDom:function(e){var t=this,n={title:"",width:t.get("width"),resizable:!1,fixed:!0,sortable:!1,cellTpl:t.get("cellInner")},r=e.addColumn(n,0);e.set("multipleSelect",!1),t.set("column",r)},bindUI:function(e){var t=this;e.on("rowselected",function(e){t._setRowChecked(e.row,!0)}),e.on("rowunselected",function(e){t._setRowChecked(e.row,!1)})},_setRowChecked:function(e,t){var n=$(e),r=n.find("."+s);r.attr("checked",t)}});var a={CheckSelection:o,RadioSelection:u};return a}),define("bui/grid/plugins/summary",["bui/common"],function(e){function l(e){return e>0?' ':""}function c(e,t){return''+h(e)+""}function h(e){return'
          '+''+e+""+"
          "}function p(){return' '}var t=e("bui/common"),n=t.prefix,r=n+"grid-row",i=n+"grid-body",s=n+"grid-summary-row",o=n+"grid-cell-inner",u="grid-td-",a=n+"grid-cell-text",f=n+"grid-cell",d=function(e){d.superclass.constructor.call(this,e)};return d.ATTRS={footerTpl:{value:""},footerEl:{},summaryTitle:{value:"\u67e5\u8be2\u5408\u8ba1"},pageSummaryTitle:{value:"\u672c\u9875\u5408\u8ba1"},field:{value:"summary"},pageSummaryField:{value:"pageSummary"},summaryField:{value:"summary"},pageSummary:{},summary:{}},t.extend(d,t.Base),t.augment(d,{initializer:function(e){var t=this;t.set("grid",e)},renderUI:function(e){var t=this,n=e.get("el").find("."+i),r=n.find("table"),s=$(t.get("footerTpl")).appendTo(r);t.set("footerEl",s)},bindUI:function(e){var t=this,n=e.get("store");n&&(n.on("beforeProcessLoad",function(e){t._processSummary(e)}),n.on("add",function(){t.resetPageSummary()}),n.on("remove",function(){t.resetPageSummary()}),n.on("update",function(){t.resetPageSummary()})),e.on("aftershow",function(){t.resetSummary()}),e.get("header").on("afterVisibleChange",function(){t.resetSummary()})},_processSummary:function(e){var t=this,n=t.get("footerEl");n.empty();if(!e)return;var r= +e[t.get("pageSummaryField")],i=e[t.get("summaryField")];t.set("pageSummary",r),t.set("summary",i)},resetPageSummary:function(){var e=this,n=e.get("grid"),r=n.get("columns"),i=e._calculatePageSummary(),s=e.get("pageEl");e.set("pageSummary",i),s&&(t.each(r,function(t){if(t.get("summary")&&t.get("visible")){var n=t.get("id"),r=s.find("."+u+n),o=e._getSummaryCellText(t,i);r.find("."+a).text(o)}}),e._updateFirstRow(s,e.get("pageSummaryTitle")))},resetSummary:function(e,t){var n=this,r=n.get("footerEl"),i=null;r.empty(),e=e||n.get("pageSummary"),e||(e=n._calculatePageSummary(),n.set("pageSummary",e)),t=t||n.get("summary"),i=n._creatSummaryRow(e,n.get("pageSummaryTitle")),n.set("pageEl",i),n._creatSummaryRow(t,n.get("summaryTitle"))},_creatSummaryRow:function(e,t){if(!e)return null;var n=this,r=n.get("footerEl"),i=n._getSummaryTpl(e),s=$(i).appendTo(r);return n._updateFirstRow(s,t),s},_updateFirstRow:function(e,t){var n=e.find("td").first(),r=n.find("."+o);if(r.length){var i=t+": ";text=r.text(),text.indexOf(i)===-1&&(text=i+text),n.html(h(text))}else n.html(h(t+":"))},_getSummaryTpl:function(e){var t=this,n=t.get("grid"),i=n.get("columns"),o=[],u=-1,a=-1,f=null;return $.each(i,function(n,r){if(r.get("visible")){a+=1;if(r.get("summary")){o.push(l(a-u-1));var i=t._getSummaryCellText(r,e),s=c(i,r.get("id"));o.push(s),u=a}}}),u!==a&&o.push(l(a-u)),f=['',o.join(""),p(),""].join(""),f},_getSummaryCellText:function(e,t){var n=this,r=t[e.get("dataIndex")],i=r==null?"":r,s=e.get("renderer"),o=s?s(i,t):i;return o},_calculatePageSummary:function(){var e=this,n=e.get("grid"),r=n.get("store"),i=n.get("columns"),s={};return t.each(i,function(e){if(e.get("summary")){var t=e.get("dataIndex");s[t]=r.sum(t)}}),s}}),d}),define("bui/grid/plugins/editing",function(e){function r(e){r.superclass.constructor.call(this,e)}var t=BUI.prefix+"grid-cell-inner",n=BUI.prefix+"grid-cell-error";return BUI.extend(r,BUI.Base),r.ATTRS={align:{value:{points:["cl","cl"]}},showError:{value:!0},errorTpl:{value:'!'},isInitEditors:{value:!1},record:{},curEditor:{},hasValid:{},editors:{value:[]},triggerCls:{},triggerSelected:{value:!0}},BUI.augment(r,{initializer:function(e){var t=this;t.set("grid",e),t.initEditing(e)},renderUI:function(){var e=this,t=e.get("grid");BUI.use("bui/editor",function(n){e.initEditors(n),e._initGridEvent(t),e.set("isInitEditors",!0)})},initEditing:function(e){},_getCurEditor:function(){return this.get("curEditor")},_initGridEvent:function(e){function r(e,n){t.get("hasValid")&&t.validRecord(e,t.getFields(),$(n))}var t=this,n=e.get("header");e.on("cellclick",function(e){var n=null,r=e.domTarget,i=t.get("triggerCls"),s=t._getCurEditor();s&&s.get("acceptEvent")?(s.accept(),s.hide()):s&&s.cancel(),n=t.getEditor(e.field);if(n&&$(r).closest("."+i).length){t.showEditor(n,e);if(!t.get("triggerSelected"))return!1}}),e.on("rowcreated",function(e){r(e.record,e.row)}),e.on("rowremoved",function(e){t.get("record")==e.record&&t.cancel()}),e.on("rowupdated",function(e){r(e.record,e.row)}),e.on("scroll",function(e){var n=t._getCurEditor();if(n){var r=n.get("align"),i=r.node,s=i.position();s.top<0||s.top>e.bodyHeight?n.hide():(n.set("align",r),n.show())}}),n.on("afterVisibleChange",function(e){if(e.target&&e.target!=n){var r=e.target;t.onColumnVisibleChange(r)}})},initEditors:function(e){var t=this,n=t.get("grid"),r=[],i=n.get("columns");BUI.each(i,function(e){var n=t.getFieldConfig(e);n&&(n.name=e.get("dataIndex"),n.id=e.get("id"),n.validator&&(n.validator=t.wrapValidator(n.validator)),r.push(n))});var s=t.getEditorCfgs(r);BUI.each(s,function(n){t.initEidtor(n,e)})},getFieldConfig:function(e){return e.get("editor")},wrapValidator:function(e){var t=this;return function(n){var r=t.get("record");return e(n,r)}},onColumnVisibleChange:function(e){},getEditorCfgs:function(e){},getEditorConstructor:function(e){return e.Editor},initEidtor:function(e,t){var n=this,r=n.getEditorConstructor(t),i=new r(e);return i.render(),n.get("editors").push(i),n.bindEidtor(i),i},bindEidtor:function(e){var t=this,n=t.get("grid"),r=n.get("store");e.on("accept",function(){var n=t.get("record");t.updateRecord(r,n,e),t.set("curEditor",null)}),e.on("cancel",function(){t.set("curEditor",null)})},getEditor:function(e){},getAlignNode:function(e){},getEditValue:function(e){},showEditor:function(e,t){var n=this,r=n.getEditValue(t),i=n.getAlignNode(t);n.beforeShowEditor(e,t),n.set("record",t.record),e.setValue(r);if(i){var s=n.get("align");s.node=i,e.set("align",s)}e.show(),n.focusEditor(e,t.field),n.set("curEditor",e)},focusEditor:function(e,t){e.focus()},beforeShowEditor:function(e,t){},_createEditOptions:function(e,t){var n=this,r=n.get("grid"),i=r.findRow(e),s=r.findColumnByField(t),o=r.findCell(s.get("id"),i);return{record:e,field:t,cell:o[0],row:i[0]}},valid:function(){var e=this,t=e.get("grid"),n=t.get("store");if(n){var r=n.getResult();BUI.each(r,function(t){e.validRecord(t,e.getFields())})}e.set("hasValid",!0)},isValid:function(){var e=this,t=e.get("grid");return e.get("hasValid")||e.valid(),!t.get("el").find("."+n).length},clearErrors:function(){var e=this,t=e.get("grid");t.get("el").find("."+n).remove()},getFields:function(e){},validRecord:function(e,t,n){var r=this,i=[];r.setInternal("record",e),t=t||r.getFields(),BUI.each(t,function(t){var n=t.get("name"),r=e[n]||"",s=t.getValidError(r);s&&i.push({name:n,error:s,id:t.get("id")})}),r.showRecordError(e,i,n)},showRecordError:function(e,t,n){var r=this,i=r.get("grid");n=n||i.findRow(e),n&&(r._clearRowError(n),BUI.each(t,function(e){var t=i.findCell(e.id,n);r._showCellError(t,e.error)}))},updateRecord:function(e,t,n){},_clearRowError:function(e){e.find("."+n).remove()},_showCellError:function(e,n){var r=this,i=BUI.substitute(r.get("errorTpl"),{error:n}),s=e.find("."+t);$(i).appendTo(s)},edit:function(e,t){var n=this,r=n._createEditOptions(e,t),i=n.getEditor(t);n.showEditor(i,r)},cancel:function(){var e=this,t=e.get("editors");BUI.each(t,function(e){e.get("visible")&&e.cancel()}),e.set("curEditor",null),e.set("record",null)},destructor:function(){var e=this,t=e.get("editors");BUI.each(t,function(e){e.destroy||e.destroy()}),e.off(),e.clearAttrVals()}}),r}),define("bui/grid/plugins/cellediting",["bui/grid/plugins/editing"],function(e){var t=e("bui/grid/plugins/editing"),n=BUI.prefix+"grid-body",r=BUI.prefix+"grid-cell",i=function(e){i.superclass.constructor.call(this,e)};return i.ATTRS={triggerCls:{value:r}},BUI.extend(i,t),BUI.augment(i,{getEditorCfgs:function(e){var t=this,r=t.get("grid"),i=r.get("el").find("."+n),s=[];return BUI.each(e,function(e){s.push({field:e,changeSourceEvent:null,hideExceptNode:i,autoUpdate:!1,preventHide:!1})}),s},getEditor:function(e){if(!e)return null;var t=this,n=t.get("editors"),r=null;return BUI.each(n,function(t){if(t.get("field").get("name")===e)return r=t,!1}),r},beforeShowEditor:function(e,t){var n=this,r=$(t.cell);n.resetWidth(e,r.outerWidth())},resetWidth:function(e,t){e.set("width",t)},updateRecord:function(e,t,n){var r=this,i=n.getValue(),s=n.get("field").get("name"),o=t[s];i=BUI.isDate(i)?i.getTime():i,o!==i&&e.setValue(t,s,i)},getAlignNode:function(e){return $(e.cell)},getFields:function(){var e=[],t=this,n=t.get("editors");return BUI.each(n,function(t){e.push(t.get("field"))}),e},getEditValue:function(e){if(e.record&&e.field){var t=e.record[e.field];return t==null?"":t}return""}}),i}),define("bui/grid/plugins/rowediting",["bui/common","bui/grid/plugins/editing"],function(e){var t=e("bui/common"),n=e("bui/grid/plugins/editing"),r=t.prefix+"grid-row",i=function(e){i.superclass.constructor.call(this,e)};return i.ATTRS={align:{value:{points:["tl","tl"],offset:[-2,0]}},triggerCls:{value:r}},t.extend(i,n),t.augment(i,{getEditorCfgs:function(e){var t=[];return t.push({changeSourceEvent:null,autoUpdate:!1,form:{children:e,buttonBar:{elCls:"centered toolbar"}}}),t},wrapValidator:function(e){var t=this;return function(n){var r=t.get("curEditor"),i=r?r.getValue():t.get("record");if(i)return e(n,i)}},focusEditor:function(e,t){var n=e.get("form"),r=n.getField(t);r&&r.focus()},getFieldConfig:function(e){var t=e.get("editor");if(t)return t;var n={xtype:"plain"};return e.get("dataIndex")&&e.get("renderer")&&(n.renderer=e.get("renderer")),n},updateRecord:function(e,n,r){var i=this,s=r.getValue();t.each(s,function(e,n){t.isDate(e)&&(s[n]=e.getTime())}),t.mix(n,s),e.update(n)},getEditor:function(e){var t=this,n=t.get("editors");return n[0]},onColumnVisibleChange:function(e){var t=this,n=e.get("id"),r=t.getEditor(),i=r.getChild(n,!0);i&&i.set("visible",e.get("visible"))},beforeShowEditor:function(e,n){var r=this,i=r.get("grid"),s=i.get("columns"),o=e.get("form"),u=$(n.row);e.set("width",u.width()),t.each(s,function(e){if(!e.get("visible"))n.set("visible",!1);else{var t=e.get("dataIndex"),n=o.getField(t),r=e.get("el").outerWidth()-n.getAppendWidth();n.set("width",r)}})},getEditValue:function(e){return e.record},getEditorConstructor:function(e){return e.RecordEditor},getAlignNode:function(e){return $(e.row)},getFields:function(){var e=this,t=e.get("editors");return t[0].get("form").get("children")}}),i}),define("bui/grid/plugins/dialogediting",["bui/common"],function(e){function i(e){i.superclass.constructor.call(this,e)}var t=e("bui/common"),n="add",r="edit";return i.ATTRS={record:{},curIndex:{},contentId:{},editor:{},form:{},events:{value:{recordchange:!1}},editType:{}},t.extend(i,t.Base),t.augment(i,{initializer:function(e){var n=this;n.set("grid",e),t.use("bui/editor",function(e){n._initEditor(e)})},bindUI:function(e){var t=this,n=t.get("triggerCls");n&&e.on("cellclick",function(r){var i=$(r.domTarget),s=t.get("editor");if(i.hasClass(n)&&s){t.edit(r.record);if(e.get("multipleSelect"))return!1}})},_initEditor:function(e){var n=this,r=n.get("contentId"),i=$("#"+r).find("form"),s=n.get("editor"),o=t.merge(s,{contentId:r,form:{srcNode:i}});s=new e.DialogEditor(o),n._bindEditor(s),n.set("editor",s),n.set("form",s.get("form"))},_bindEditor:function(e){var t=this;e.on("accept",function(){var n=e.get("form"),r=n.serializeToObject();t.saveRecord(r)})},edit:function(e){var t=this;t.set("editType",r),t.showEditor(e)},add:function(e,t){var r=this;r.set("editType",n),r.set("curIndex",t),r.showEditor(e)},saveRecord:function(e){var r=this,i=r.get("grid"),s=r.get("editType"),o=r.get("curIndex"),u=i.get("store"),a=r.get("record");t.mix(a,e),s==n?o!=null?u.addAt(a,o):u.add(a):u.update(a)},showEditor:function(e){var t=this,n=t.get("editor");n.show(),n.setValue(e),t.set("record",e),t.fire("recordchange",{record:e,editType:t.get("editType")})},cancel:function(){var e=this,t=e.get("editor");t.cancel()},destructor:function(){var e=this,t=e.get("editor");t&&t.destroy(),e.off(),e.clearAttrVals()}}),i}),define("bui/tree",["bui/common","bui/tree/treemixin","bui/tree/treelist"],function(e){var t=e("bui/common"),n=t.namespace("Tree");return t.mix(n,{TreeList:e("bui/tree/treelist"),Mixin:e("bui/tree/treemixin")}),n}),define("bui/tree/treemixin",["bui/common","bui/data"],function(e){function t(e,t){return n.isString(t)&&(t=e.getItem(t)),t}var n=e("bui/common"),r=e("bui/data"),i="expanded",s="loading",o="checked",u="partial-checked",a={NONE:"none",ALL:"all",CUSTOM:"custom",ONLY_LEAF:"onlyLeaf"},f="x-tree-icon",l="x-tree-elbow",c="x-tree-show-line",h=l+"-",p=f+"-wraper",d=h+"line",v=h+"end",m=h+"empty",g=h+"expander",y=f+"-checkbox",b=g+"-end",w=function(){};return w.ATTRS={store:{getter:function(e){if(!e){var t=this,n=new r.TreeStore({root:t.get("root"),data:t.get("nodes")});return t.setInternal("store",n),n}return e}},root:{},nodes:{sync:!1},iconContainer:{},iconWraperTpl:{value:'{icons}'},showLine:{value:!1},iconTpl:{value:''},leafCls:{value:h+"leaf"},dirCls:{value:h+"dir"},checkType:{value:"custom"},checkedField:{valueFn:function(){return this.getStatusField("checked")}},itemStatusFields:{value:{expanded:"expanded",disabled:"disabled",checked:"checked"}},dirSelectable:{value:!0},showRoot:{value:!1},events:{value:{expanded:!1,collapsed:!1,checkchange:!1}},startLevel:{value:1}},n.augment(w,{collapseAll:function(){var e=this,t=e.get("view").getAllElements();n.each(t,function(t){var n=e.getItemByElement(t);n&&e._collapseNode(n,t,!0)})},collapseNode:function(e){var t=this,r;n.isString(e)&&(e=t.findNode(e)),r=t.findElement(e),t._collapseNode(e,r)},expandAll:function(){var e=this,t=e.get("view").getAllElements();n.each(t,function(t){var n=e.getItemByElement(t);e._expandNode(n,t,!0)})},expandNode:function(e,t){var r=this,i;n.isString(e)&&(e=r.findNode(e)),e.parent&&!r.isExpanded(e.parent)&&r.expandNode(e.parent),i=r.findElement(e),r._expandNode(e,i,t)},expandPath:function(e,t,n){if(!e)return;n=n||0;var r=this,i=r.get("store"),s,o,u,a,f=e.split(",");s=r.findNode(f[n]);for(u=n+1;u0&&(s=r.children[t-1],n._updateIcons(s))),n._updateIcons(r)):(u=n._getInsetIndex(e),n.addItemAt(e,u),s=n.get("nodes")[t-1],n._updateIcons(s))},_getInsetIndex:function(e){var t=this,n,r=null;return n=t._getNextItem(e),n?t.indexOfItem(n):t.getItemCount()},_getNextItem:function(e){var t=this,r=e.parent,i,s,o=null;return r?(i=r.children,s=n.Array.indexOf(e,i),o=i[s+1],o||t._getNextItem(r)):null},onAdd:function(e){var t=this,n=e.node,r=e.index;t._addNode(n,r)},_updateNode:function(e){var t=this;t.updateItem(e),t._updateIcons(e)},onUpdate:function(e){var t=this,n=e.node;t._updateNode(n)},_removeNode:function(e,t){var n=this,r=e.parent,i,s;n.collapseNode(e);if(!r)return;n.removeItem(e),n.isExpanded(r)&&(i=r.children.length,i==t&&t!==0&&(s=r.children[t-1],n._updateIcons(s))),n._updateIcons(r),n._resetParentChecked(r)},onRemove:function(e){var t=this,n=e.node,r=e.index;t._removeNode(n,r)},_loadNode:function(e){var t=this;t.expandNode(e),t._updateIcons(e),t.setItemStatus(e,s,!1)},onLoad:function(e){var t=this,n=t.get("store"),r=n.get("root"),i;(!e||e.node==r)&&t._initRoot(),e&&e.node&&t._loadNode(e.node)},_isExpanded:function(e,t){return this.hasStatus(e,i,t)},_getIconsTpl:function(e){var t=this,r=e.level,i=t.get("startLevel"),s=t.get("iconWraperTpl"),o=[],u;for(u=i;ut)r=r.parent,i-=1;return r},_getIcon:function(e){var t=this,r=t.get("iconTpl");return n.substitute(r,{cls:e})},_isLastNode:function(e){if(!e)return!1;if(e==this.get("root"))return!0;var t=this,n=e.parent,r=n?n.children:t.get("nodes"),i;return i=r.length,r[i-1]===e},_initNodes:function(e,t,r){var i=this;n.each(e,function(e){e.level=t,e.leaf==null&&(e.leaf=e.children?!1:!0),r&&!e.parent&&(e.parent=r),i._initChecked(e),e.children&&i._initNodes(e.children,t+1,e)})},_collapseNode:function(e,t,n){var r=this;if(e.leaf)return;r.hasStatus(e,i,t)&&(r.setItemStatus(e,i,!1,t),n?(r._collapseChildren(e,n),r.removeItems(e.children)):r._hideChildrenNodes(e),r.fire("collapsed",{node:e,element:t}))},_hideChildrenNodes:function(e){var t=this,r=e.children;n.each(r,function(e){t.removeItem(e),t._hideChildrenNodes(e)})},_collapseChildren:function(e,t){var r=this,i=e.children;n.each(i,function(e){r.collapseNode(e,t)})},_expandNode:function(e,t,r){var s=this,o=s.get("store");if(e.leaf)return;s.hasStatus(e,i,t)||(o&&!o.isLoaded(e)?s._isLoading(e,t)||o.loadNode(e):t&&(s.setItemStatus(e,i,!0,t),s._showChildren(e),s.fire("expanded",{node:e,element:t}))),n.each(e.children,function(e){(r||s.isExpanded(e))&&s.expandNode(e,r)})},_showChildren:function(e){if(!e||!e.children)return;var t=this,n=t.indexOfItem(e),r=e.children.length,i,s;for(s=r-1;s>=0;s--)i=e.children[s],t.getItem(i)||t.addItemAt(i,n+1)},_isLoading:function(e,t){var n=this;return n.hasStatus(e,s,t)},_resetIcons:function(e,t){var n=this,r=n.get("iconContainer"),i,s=n._getIconsTpl(e);$(t).find("."+p).remove(),i=$(t).find("."+r),r&&i.length?$(s).appendTo(i):$(t).prepend($(s))},_toggleExpand:function(e,t){var n=this;n._isExpanded(e,t)?n._collapseNode(e,t):n._expandNode(e,t)},_updateIcons:function(e){var t=this,r=t.findElement(e);r&&(t._resetIcons(e,r),t._isExpanded(e,r)&&!e.leaf&&n.each(e.children,function(e){t._updateIcons(e)}))},_uiSetShowRoot:function(e){var t=this,n=this.get("showRoot")?0:1;t.set("startLevel",n)},_uiSetNodes:function(e){var t=this,n=t.get("store");n.setResult(e)},_uiSetShowLine:function(e){var t=this,n=t.get("el");e?n.addClass(c):n.removeClass(c)}}),w}),define("bui/tree/treelist",["bui/common","bui/list","bui/tree/treemixin"],function(e){var t=e("bui/common"),n=e("bui/list"),r=e("bui/tree/treemixin"),i=n.SimpleList.extend([r],{},{ATTRS:{itemCls:{value:t.prefix+"tree-item"},itemTpl:{value:"
        • {text}
        • "},idField:{value:"id"}}},{xclass:"tree-list"});return i}),define("bui/tooltip",["bui/common","bui/tooltip/tip","bui/tooltip/tips"],function(e){var t=e("bui/common"),n=t.namespace("Tooltip"),r=e("bui/tooltip/tip"),i=e("bui/tooltip/tips");return t.mix(n,{Tip:r,Tips:i}),n}),define("bui/tooltip/tip",["bui/common","bui/overlay"],function(e){function s(e,t){if(e==="left")return[-1*t,-4];if(e==="right")return[t,-4];if(e.indexOf("top"))return[0,t];if(e.indexOf("bottom"))return[0,-1*t]}var t=e("bui/common"),n=e("bui/overlay"),r="x-align-",i={left:["cl","cr"],right:["cr","cl"],top:["tc","bc"],bottom:["bc","tc"],"top-left":["tl","bl"],"top-right":["tr","br"],"bottom-left":["bl","tl"],"bottom-right":["br","tr"]},o=n.OverlayView.extend({renderUI:function(){},_getTitleContainer:function(){return this.get("el")},_uiSetTitle:function(e){var n=this,r=n.get("titleTpl"),i=n._getTitleContainer(),s=n.get("titleEl"),o;s&&s.remove(),e=e||"",t.isString(e)&&(e={title:e}),o=t.substitute(r,e),s=$(o).appendTo(i),n.set("titleEl",s)},_uiSetAlignType:function(e,t){var n=this;t&&t.prevVal&&n.get("el").removeClass(r+t.prevVal),e&&n.get("el").addClass(r+e)}},{ATTRS:{title:{},titleEl:{},alignType:{}}},{xclass:"tooltip-view"}),u=n.Overlay.extend({_uiSetAlignType:function(e){var t=this,n=t.get("offset"),r=t.get("align")||{},o=i[e];o&&(r.points=o,n&&(r.offset=s(e,n)),t.set("align",r))}},{ATTRS:{delegateTigger:{value:!0},alignType:{view:!0},title:{view:!0},showArrow:{value:!0},arrowContainer:{view:!0},autoHide:{value:!0},autoHideType:{value:"leave"},offset:{value:0},triggerEvent:{value:"mouseover"},titleTpl:{view:!0,value:"{title}"},xview:{value:o}}},{xclass:"tooltip"});return u.View=o,u}),define("bui/tooltip/tips",["bui/common","bui/tooltip/tip"],function(e){function t(e){return/^{.*}$/.test(e)}var n=e("bui/common"),r=e("bui/tooltip/tip"),i=function(e){i.superclass.constructor.call(this,e)};return i.ATTRS={tip:{},defaultAlignType:{}},n.extend(i,n.Base),n.augment(i,{_init:function(){this._initDom(),this._initEvent()},_initDom:function(){var e=this,t=e.get("tip"),n;t&&!t.isController&&(n=t.alignType,t=new r(t),t.render(),e.set("tip",t),n&&e.set("defaultAlignType",n))},_initEvent:function(){var e=this,t=e.get("tip");t.on("triggerchange",function(n){var r=n.curTrigger;e._replaceTitle(r),e._setTitle(r,t)})},_replaceTitle:function(e){var t=e.attr("title");t&&(e.attr("data-title",t),e[0].removeAttribute("title"))},_setTitle:function(e,r){var i=this,s=e.attr("data-title"),o=e.attr("data-align")||i.get("defaultAlignType");t(s)&&(s=n.JSON.looseParse(s)),r.set("title",s),o&&r.set("alignType",o)},render:function(){return this._init(),this}}),i}),BUI.use(["bui/common","bui/data","bui/list","bui/picker","bui/menu","bui/toolbar","bui/progressbar","bui/cookie","bui/form","bui/mask","bui/select","bui/tab","bui/calendar","bui/overlay","bui/editor","bui/grid","bui/tree","bui/tooltip"]); diff --git a/源码/src/main/webapp/resource/assets/js/bui.js b/源码/src/main/webapp/resource/assets/js/bui.js new file mode 100644 index 0000000..d2e98ca --- /dev/null +++ b/源码/src/main/webapp/resource/assets/js/bui.js @@ -0,0 +1,34895 @@ +/** + * @preserve SeaJS - A Module Loader for the Web + * v1.3.0 | seajs.org | MIT Licensed + */ + + +/** + * Base namespace for the framework. + */ +this.seajs = { _seajs: this.seajs } + + +/** + * The version of the framework. It will be replaced with "major.minor.patch" + * when building. + */ +seajs.version = '1.3.0' + + +/** + * The private utilities. Internal use only. + */ +seajs._util = {} + + +/** + * The private configuration data. Internal use only. + */ +seajs._config = { + + /** + * Debug mode. It will be turned off automatically when compressing. + */ + debug: '%DEBUG%', + + /** + * Modules that are needed to load before all other modules. + */ + preload: [] +} + +/** + * The minimal language enhancement + */ +;(function(util) { + + var toString = Object.prototype.toString + var AP = Array.prototype + + + util.isString = function(val) { + return toString.call(val) === '[object String]' + } + + + util.isFunction = function(val) { + return toString.call(val) === '[object Function]' + } + + + util.isRegExp = function(val) { + return toString.call(val) === '[object RegExp]' + } + + + util.isObject = function(val) { + return val === Object(val) + } + + + util.isArray = Array.isArray || function(val) { + return toString.call(val) === '[object Array]' + } + + + util.indexOf = AP.indexOf ? + function(arr, item) { + return arr.indexOf(item) + } : + function(arr, item) { + for (var i = 0; i < arr.length; i++) { + if (arr[i] === item) { + return i + } + } + return -1 + } + + + var forEach = util.forEach = AP.forEach ? + function(arr, fn) { + arr.forEach(fn) + } : + function(arr, fn) { + for (var i = 0; i < arr.length; i++) { + fn(arr[i], i, arr) + } + } + + + util.map = AP.map ? + function(arr, fn) { + return arr.map(fn) + } : + function(arr, fn) { + var ret = [] + forEach(arr, function(item, i, arr) { + ret.push(fn(item, i, arr)) + }) + return ret + } + + + util.filter = AP.filter ? + function(arr, fn) { + return arr.filter(fn) + } : + function(arr, fn) { + var ret = [] + forEach(arr, function(item, i, arr) { + if (fn(item, i, arr)) { + ret.push(item) + } + }) + return ret + } + + + var keys = util.keys = Object.keys || function(o) { + var ret = [] + + for (var p in o) { + if (o.hasOwnProperty(p)) { + ret.push(p) + } + } + + return ret + } + + + util.unique = function(arr) { + var o = {} + + forEach(arr, function(item) { + o[item] = 1 + }) + + return keys(o) + } + + + util.now = Date.now || function() { + return new Date().getTime() + } + +})(seajs._util) + +/** + * The tiny console + */ +;(function(util) { + + /** + * The safe wrapper of console.log/error/... + */ + util.log = function() { + if (typeof console === 'undefined') return + + var args = Array.prototype.slice.call(arguments) + + var type = 'log' + var last = args[args.length - 1] + console[last] && (type = args.pop()) + + // Only show log info in debug mode + if (type === 'log' && !seajs.debug) return + + if (console[type].apply) { + console[type].apply(console, args) + return + } + + // See issue#349 + var length = args.length + if (length === 1) { + console[type](args[0]) + } + else if (length === 2) { + console[type](args[0], args[1]) + } + else if (length === 3) { + console[type](args[0], args[1], args[2]) + } + else { + console[type](args.join(' ')) + } + } + +})(seajs._util) + +/** + * Path utilities + */ +;(function(util, config, global) { + + var DIRNAME_RE = /.*(?=\/.*$)/ + var MULTIPLE_SLASH_RE = /([^:\/])\/\/+/g + var FILE_EXT_RE = /\.(?:css|js)$/ + var ROOT_RE = /^(.*?\w)(?:\/|$)/ + + + /** + * Extracts the directory portion of a path. + * dirname('a/b/c.js') ==> 'a/b/' + * dirname('d.js') ==> './' + * @see http://jsperf.com/regex-vs-split/2 + */ + function dirname(path) { + var s = path.match(DIRNAME_RE) + return (s ? s[0] : '.') + '/' + } + + + /** + * Canonicalizes a path. + * realpath('./a//b/../c') ==> 'a/c' + */ + function realpath(path) { + MULTIPLE_SLASH_RE.lastIndex = 0 + + // 'file:///a//b/c' ==> 'file:///a/b/c' + // 'http://a//b/c' ==> 'http://a/b/c' + if (MULTIPLE_SLASH_RE.test(path)) { + path = path.replace(MULTIPLE_SLASH_RE, '$1\/') + } + + // 'a/b/c', just return. + if (path.indexOf('.') === -1) { + return path + } + + var original = path.split('/') + var ret = [], part + + for (var i = 0; i < original.length; i++) { + part = original[i] + + if (part === '..') { + if (ret.length === 0) { + throw new Error('The path is invalid: ' + path) + } + ret.pop() + } + else if (part !== '.') { + ret.push(part) + } + } + + return ret.join('/') + } + + + /** + * Normalizes an uri. + */ + function normalize(uri) { + uri = realpath(uri) + var lastChar = uri.charAt(uri.length - 1) + + if (lastChar === '/') { + return uri + } + + // Adds the default '.js' extension except that the uri ends with #. + // ref: http://jsperf.com/get-the-last-character + if (lastChar === '#') { + uri = uri.slice(0, -1) + } + else if (uri.indexOf('?') === -1 && !FILE_EXT_RE.test(uri)) { + uri += '.js' + } + + // Remove ':80/' for bug in IE + if (uri.indexOf(':80/') > 0) { + uri = uri.replace(':80/', '/') + } + + return uri + } + + + /** + * Parses alias in the module id. Only parse the first part. + */ + function parseAlias(id) { + // #xxx means xxx is already alias-parsed. + if (id.charAt(0) === '#') { + return id.substring(1) + } + + var alias = config.alias + + // Only top-level id needs to parse alias. + if (alias && isTopLevel(id)) { + var parts = id.split('/') + var first = parts[0] + + if (alias.hasOwnProperty(first)) { + parts[0] = alias[first] + id = parts.join('/') + } + } + + return id + } + + + var mapCache = {} + + /** + * Converts the uri according to the map rules. + */ + function parseMap(uri) { + // map: [[match, replace], ...] + var map = config.map || [] + if (!map.length) return uri + + var ret = uri + + // Apply all matched rules in sequence. + for (var i = 0; i < map.length; i++) { + var rule = map[i] + + if (util.isArray(rule) && rule.length === 2) { + var m = rule[0] + + if (util.isString(m) && ret.indexOf(m) > -1 || + util.isRegExp(m) && m.test(ret)) { + ret = ret.replace(m, rule[1]) + } + } + else if (util.isFunction(rule)) { + ret = rule(ret) + } + } + + if (!isAbsolute(ret)) { + ret = realpath(dirname(pageUri) + ret) + } + + if (ret !== uri) { + mapCache[ret] = uri + } + + return ret + } + + + /** + * Gets the original uri. + */ + function unParseMap(uri) { + return mapCache[uri] || uri + } + + + /** + * Converts id to uri. + */ + function id2Uri(id, refUri) { + if (!id) return '' + + id = parseAlias(id) + refUri || (refUri = pageUri) + + var ret + + // absolute id + if (isAbsolute(id)) { + ret = id + } + // relative id + else if (isRelative(id)) { + // Converts './a' to 'a', to avoid unnecessary loop in realpath. + if (id.indexOf('./') === 0) { + id = id.substring(2) + } + ret = dirname(refUri) + id + } + // root id + else if (isRoot(id)) { + ret = refUri.match(ROOT_RE)[1] + id + } + // top-level id + else { + ret = config.base + '/' + id + } + + return normalize(ret) + } + + + function isAbsolute(id) { + return id.indexOf('://') > 0 || id.indexOf('//') === 0 + } + + + function isRelative(id) { + return id.indexOf('./') === 0 || id.indexOf('../') === 0 + } + + + function isRoot(id) { + return id.charAt(0) === '/' && id.charAt(1) !== '/' + } + + + function isTopLevel(id) { + var c = id.charAt(0) + return id.indexOf('://') === -1 && c !== '.' && c !== '/' + } + + + /** + * Normalizes pathname to start with '/' + * Ref: https://groups.google.com/forum/#!topic/seajs/9R29Inqk1UU + */ + function normalizePathname(pathname) { + if (pathname.charAt(0) !== '/') { + pathname = '/' + pathname + } + return pathname + } + + + var loc = global['location'] + var pageUri = loc.protocol + '//' + loc.host + + normalizePathname(loc.pathname) + + // local file in IE: C:\path\to\xx.js + if (pageUri.indexOf('\\') > 0) { + pageUri = pageUri.replace(/\\/g, '/') + } + + + util.dirname = dirname + util.realpath = realpath + util.normalize = normalize + + util.parseAlias = parseAlias + util.parseMap = parseMap + util.unParseMap = unParseMap + + util.id2Uri = id2Uri + util.isAbsolute = isAbsolute + util.isRoot = isRoot + util.isTopLevel = isTopLevel + + util.pageUri = pageUri + +})(seajs._util, seajs._config, this) + +/** + * Utilities for fetching js and css files + */ +;(function(util, config) { + + var doc = document + var head = doc.head || + doc.getElementsByTagName('head')[0] || + doc.documentElement + + var baseElement = head.getElementsByTagName('base')[0] + + var IS_CSS_RE = /\.css(?:\?|$)/i + var READY_STATE_RE = /loaded|complete|undefined/ + + var currentlyAddingScript + var interactiveScript + + + util.fetch = function(url, callback, charset) { + var isCSS = IS_CSS_RE.test(url) + var node = document.createElement(isCSS ? 'link' : 'script') + + if (charset) { + var cs = util.isFunction(charset) ? charset(url) : charset + cs && (node.charset = cs) + } + + assetOnload(node, callback || noop) + + if (isCSS) { + node.rel = 'stylesheet' + node.href = url + } else { + node.async = 'async' + node.src = url + } + + // For some cache cases in IE 6-9, the script executes IMMEDIATELY after + // the end of the insertBefore execution, so use `currentlyAddingScript` + // to hold current node, for deriving url in `define`. + currentlyAddingScript = node + + // ref: #185 & http://dev.jquery.com/ticket/2709 + baseElement ? + head.insertBefore(node, baseElement) : + head.appendChild(node) + + currentlyAddingScript = null + } + + function assetOnload(node, callback) { + if (node.nodeName === 'SCRIPT') { + scriptOnload(node, callback) + } else { + styleOnload(node, callback) + } + } + + function scriptOnload(node, callback) { + + node.onload = node.onerror = node.onreadystatechange = function() { + if (READY_STATE_RE.test(node.readyState)) { + + // Ensure only run once and handle memory leak in IE + node.onload = node.onerror = node.onreadystatechange = null + + // Remove the script to reduce memory leak + if (node.parentNode && !config.debug) { + head.removeChild(node) + } + + // Dereference the node + node = undefined + + callback() + } + } + + } + + function styleOnload(node, callback) { + + // for Old WebKit and Old Firefox + if (isOldWebKit || isOldFirefox) { + util.log('Start poll to fetch css') + + setTimeout(function() { + poll(node, callback) + }, 1) // Begin after node insertion + } + else { + node.onload = node.onerror = function() { + node.onload = node.onerror = null + node = undefined + callback() + } + } + + } + + function poll(node, callback) { + var isLoaded + + // for WebKit < 536 + if (isOldWebKit) { + if (node['sheet']) { + isLoaded = true + } + } + // for Firefox < 9.0 + else if (node['sheet']) { + try { + if (node['sheet'].cssRules) { + isLoaded = true + } + } catch (ex) { + // The value of `ex.name` is changed from + // 'NS_ERROR_DOM_SECURITY_ERR' to 'SecurityError' since Firefox 13.0 + // But Firefox is less than 9.0 in here, So it is ok to just rely on + // 'NS_ERROR_DOM_SECURITY_ERR' + if (ex.name === 'NS_ERROR_DOM_SECURITY_ERR') { + isLoaded = true + } + } + } + + setTimeout(function() { + if (isLoaded) { + // Place callback in here due to giving time for style rendering. + callback() + } else { + poll(node, callback) + } + }, 1) + } + + function noop() { + } + + + util.getCurrentScript = function() { + if (currentlyAddingScript) { + return currentlyAddingScript + } + + // For IE6-9 browsers, the script onload event may not fire right + // after the the script is evaluated. Kris Zyp found that it + // could query the script nodes and the one that is in "interactive" + // mode indicates the current script. + // Ref: http://goo.gl/JHfFW + if (interactiveScript && + interactiveScript.readyState === 'interactive') { + return interactiveScript + } + + var scripts = head.getElementsByTagName('script') + + for (var i = 0; i < scripts.length; i++) { + var script = scripts[i] + if (script.readyState === 'interactive') { + interactiveScript = script + return script + } + } + } + + util.getScriptAbsoluteSrc = function(node) { + return node.hasAttribute ? // non-IE6/7 + node.src : + // see http://msdn.microsoft.com/en-us/library/ms536429(VS.85).aspx + node.getAttribute('src', 4) + } + + + util.importStyle = function(cssText, id) { + // Don't add multi times + if (id && doc.getElementById(id)) return + + var element = doc.createElement('style') + id && (element.id = id) + + // Adds to DOM first to avoid the css hack invalid + head.appendChild(element) + + // IE + if (element.styleSheet) { + element.styleSheet.cssText = cssText + } + // W3C + else { + element.appendChild(doc.createTextNode(cssText)) + } + } + + + var UA = navigator.userAgent + + // `onload` event is supported in WebKit since 535.23 + // Ref: + // - https://bugs.webkit.org/show_activity.cgi?id=38995 + var isOldWebKit = Number(UA.replace(/.*AppleWebKit\/(\d+)\..*/, '$1')) < 536 + + // `onload/onerror` event is supported since Firefox 9.0 + // Ref: + // - https://bugzilla.mozilla.org/show_bug.cgi?id=185236 + // - https://developer.mozilla.org/en/HTML/Element/link#Stylesheet_load_events + var isOldFirefox = UA.indexOf('Firefox') > 0 && + !('onload' in document.createElement('link')) + + + /** + * References: + * - http://unixpapa.com/js/dyna.html + * - ../test/research/load-js-css/test.html + * - ../test/issues/load-css/test.html + * - http://www.blaze.io/technical/ies-premature-execution-problem/ + */ + +})(seajs._util, seajs._config, this) + +/** + * The parser for dependencies + */ +;(function(util) { + + var REQUIRE_RE = /(?:^|[^.$])\brequire\s*\(\s*(["'])([^"'\s\)]+)\1\s*\)/g + + + util.parseDependencies = function(code) { + // Parse these `requires`: + // var a = require('a'); + // someMethod(require('b')); + // require('c'); + // ... + // Doesn't parse: + // someInstance.require(...); + var ret = [], match + + code = removeComments(code) + REQUIRE_RE.lastIndex = 0 + + while ((match = REQUIRE_RE.exec(code))) { + if (match[2]) { + ret.push(match[2]) + } + } + + return util.unique(ret) + } + + // See: research/remove-comments-safely + function removeComments(code) { + return code + .replace(/^\s*\/\*[\s\S]*?\*\/\s*$/mg, '') // block comments + .replace(/^\s*\/\/.*$/mg, '') // line comments + } + +})(seajs._util) + +/** + * The core of loader + */ +;(function(seajs, util, config) { + + var cachedModules = {} + var cachedModifiers = {} + var compileStack = [] + + var STATUS = { + 'FETCHING': 1, // The module file is fetching now. + 'FETCHED': 2, // The module file has been fetched. + 'SAVED': 3, // The module info has been saved. + 'READY': 4, // All dependencies and self are ready to compile. + 'COMPILING': 5, // The module is in compiling now. + 'COMPILED': 6 // The module is compiled and module.exports is available. + } + + + function Module(uri, status) { + this.uri = uri + this.status = status || 0 + + // this.id is set when saving + // this.dependencies is set when saving + // this.factory is set when saving + // this.exports is set when compiling + // this.parent is set when compiling + // this.require is set when compiling + } + + + Module.prototype._use = function(ids, callback) { + util.isString(ids) && (ids = [ids]) + var uris = resolve(ids, this.uri) + + this._load(uris, function() { + // Loads preload files introduced in modules before compiling. + preload(function() { + var args = util.map(uris, function(uri) { + return uri ? cachedModules[uri]._compile() : null + }) + + if (callback) { + callback.apply(null, args) + } + }) + }) + } + + + Module.prototype._load = function(uris, callback) { + var unLoadedUris = util.filter(uris, function(uri) { + return uri && (!cachedModules[uri] || + cachedModules[uri].status < STATUS.READY) + }) + + var length = unLoadedUris.length + if (length === 0) { + callback() + return + } + + var remain = length + + for (var i = 0; i < length; i++) { + (function(uri) { + var module = cachedModules[uri] || + (cachedModules[uri] = new Module(uri, STATUS.FETCHING)) + + module.status >= STATUS.FETCHED ? onFetched() : fetch(uri, onFetched) + + function onFetched() { + // cachedModules[uri] is changed in un-correspondence case + module = cachedModules[uri] + + if (module.status >= STATUS.SAVED) { + var deps = getPureDependencies(module) + + if (deps.length) { + Module.prototype._load(deps, function() { + cb(module) + }) + } + else { + cb(module) + } + } + // Maybe failed to fetch successfully, such as 404 or non-module. + // In these cases, just call cb function directly. + else { + cb() + } + } + + })(unLoadedUris[i]) + } + + function cb(module) { + (module || {}).status < STATUS.READY && (module.status = STATUS.READY) + --remain === 0 && callback() + } + } + + + Module.prototype._compile = function() { + var module = this + if (module.status === STATUS.COMPILED) { + return module.exports + } + + // Just return null when: + // 1. the module file is 404. + // 2. the module file is not written with valid module format. + // 3. other error cases. + if (module.status < STATUS.SAVED && !hasModifiers(module)) { + return null + } + + module.status = STATUS.COMPILING + + + function require(id) { + var uri = resolve(id, module.uri) + var child = cachedModules[uri] + + // Just return null when uri is invalid. + if (!child) { + return null + } + + // Avoids circular calls. + if (child.status === STATUS.COMPILING) { + return child.exports + } + + child.parent = module + return child._compile() + } + + require.async = function(ids, callback) { + module._use(ids, callback) + } + + require.resolve = function(id) { + return resolve(id, module.uri) + } + + require.cache = cachedModules + + + module.require = require + module.exports = {} + var factory = module.factory + + if (util.isFunction(factory)) { + compileStack.push(module) + runInModuleContext(factory, module) + compileStack.pop() + } + else if (factory !== undefined) { + module.exports = factory + } + + module.status = STATUS.COMPILED + execModifiers(module) + return module.exports + } + + + Module._define = function(id, deps, factory) { + var argsLength = arguments.length + + // define(factory) + if (argsLength === 1) { + factory = id + id = undefined + } + // define(id || deps, factory) + else if (argsLength === 2) { + factory = deps + deps = undefined + + // define(deps, factory) + if (util.isArray(id)) { + deps = id + id = undefined + } + } + + // Parses dependencies. + if (!util.isArray(deps) && util.isFunction(factory)) { + deps = util.parseDependencies(factory.toString()) + } + + var meta = { id: id, dependencies: deps, factory: factory } + var derivedUri + + // Try to derive uri in IE6-9 for anonymous modules. + if (document.attachEvent) { + // Try to get the current script. + var script = util.getCurrentScript() + if (script) { + derivedUri = util.unParseMap(util.getScriptAbsoluteSrc(script)) + } + + if (!derivedUri) { + util.log('Failed to derive URI from interactive script for:', + factory.toString(), 'warn') + + // NOTE: If the id-deriving methods above is failed, then falls back + // to use onload event to get the uri. + } + } + + // Gets uri directly for specific module. + var resolvedUri = id ? resolve(id) : derivedUri + + if (resolvedUri) { + // For IE: + // If the first module in a package is not the cachedModules[derivedUri] + // self, it should assign to the correct module when found. + if (resolvedUri === derivedUri) { + var refModule = cachedModules[derivedUri] + if (refModule && refModule.realUri && + refModule.status === STATUS.SAVED) { + cachedModules[derivedUri] = null + } + } + + var module = Module._save(resolvedUri, meta) + + // For IE: + // Assigns the first module in package to cachedModules[derivedUrl] + if (derivedUri) { + // cachedModules[derivedUri] may be undefined in combo case. + if ((cachedModules[derivedUri] || {}).status === STATUS.FETCHING) { + cachedModules[derivedUri] = module + module.realUri = derivedUri + } + } + else { + firstModuleInPackage || (firstModuleInPackage = module) + } + } + else { + // Saves information for "memoizing" work in the onload event. + anonymousModuleMeta = meta + } + + } + + + Module._getCompilingModule = function() { + return compileStack[compileStack.length - 1] + } + + + Module._find = function(selector) { + var matches = [] + + util.forEach(util.keys(cachedModules), function(uri) { + if (util.isString(selector) && uri.indexOf(selector) > -1 || + util.isRegExp(selector) && selector.test(uri)) { + var module = cachedModules[uri] + module.exports && matches.push(module.exports) + } + }) + + return matches + } + + + Module._modify = function(id, modifier) { + var uri = resolve(id) + var module = cachedModules[uri] + + if (module && module.status === STATUS.COMPILED) { + runInModuleContext(modifier, module) + } + else { + cachedModifiers[uri] || (cachedModifiers[uri] = []) + cachedModifiers[uri].push(modifier) + } + + return seajs + } + + + // For plugin developers + Module.STATUS = STATUS + Module._resolve = util.id2Uri + Module._fetch = util.fetch + Module._save = save + + + // Helpers + // ------- + + var fetchingList = {} + var fetchedList = {} + var callbackList = {} + var anonymousModuleMeta = null + var firstModuleInPackage = null + var circularCheckStack = [] + + function resolve(ids, refUri) { + if (util.isString(ids)) { + return Module._resolve(ids, refUri) + } + + return util.map(ids, function(id) { + return resolve(id, refUri) + }) + } + + function fetch(uri, callback) { + var requestUri = util.parseMap(uri) + + if (fetchedList[requestUri]) { + // See test/issues/debug-using-map + cachedModules[uri] = cachedModules[requestUri] + callback() + return + } + + if (fetchingList[requestUri]) { + callbackList[requestUri].push(callback) + return + } + + fetchingList[requestUri] = true + callbackList[requestUri] = [callback] + + // Fetches it + Module._fetch( + requestUri, + + function() { + fetchedList[requestUri] = true + + // Updates module status + var module = cachedModules[uri] + if (module.status === STATUS.FETCHING) { + module.status = STATUS.FETCHED + } + + // Saves anonymous module meta data + if (anonymousModuleMeta) { + Module._save(uri, anonymousModuleMeta) + anonymousModuleMeta = null + } + + // Assigns the first module in package to cachedModules[uri] + // See: test/issues/un-correspondence + if (firstModuleInPackage && module.status === STATUS.FETCHED) { + cachedModules[uri] = firstModuleInPackage + firstModuleInPackage.realUri = uri + } + firstModuleInPackage = null + + // Clears + if (fetchingList[requestUri]) { + delete fetchingList[requestUri] + } + + // Calls callbackList + var fns = callbackList[requestUri] + if (fns) { + delete callbackList[requestUri] + util.forEach(fns, function(fn) { + fn() + }) + } + + }, + + config.charset + ) + } + + function save(uri, meta) { + var module = cachedModules[uri] || (cachedModules[uri] = new Module(uri)) + + // Don't override already saved module + if (module.status < STATUS.SAVED) { + // Lets anonymous module id equal to its uri + module.id = meta.id || uri + + module.dependencies = resolve( + util.filter(meta.dependencies || [], function(dep) { + return !!dep + }), uri) + + module.factory = meta.factory + + // Updates module status + module.status = STATUS.SAVED + } + + return module + } + + function runInModuleContext(fn, module) { + var ret = fn(module.require, module.exports, module) + if (ret !== undefined) { + module.exports = ret + } + } + + function hasModifiers(module) { + return !!cachedModifiers[module.realUri || module.uri] + } + + function execModifiers(module) { + var uri = module.realUri || module.uri + var modifiers = cachedModifiers[uri] + + if (modifiers) { + util.forEach(modifiers, function(modifier) { + runInModuleContext(modifier, module) + }) + + delete cachedModifiers[uri] + } + } + + function getPureDependencies(module) { + var uri = module.uri + + return util.filter(module.dependencies, function(dep) { + circularCheckStack = [uri] + + var isCircular = isCircularWaiting(cachedModules[dep]) + if (isCircular) { + circularCheckStack.push(uri) + printCircularLog(circularCheckStack) + } + + return !isCircular + }) + } + + function isCircularWaiting(module) { + if (!module || module.status !== STATUS.SAVED) { + return false + } + + circularCheckStack.push(module.uri) + var deps = module.dependencies + + if (deps.length) { + if (isOverlap(deps, circularCheckStack)) { + return true + } + + for (var i = 0; i < deps.length; i++) { + if (isCircularWaiting(cachedModules[deps[i]])) { + return true + } + } + } + + circularCheckStack.pop() + return false + } + + function printCircularLog(stack, type) { + util.log('Found circular dependencies:', stack.join(' --> '), type) + } + + function isOverlap(arrA, arrB) { + var arrC = arrA.concat(arrB) + return arrC.length > util.unique(arrC).length + } + + function preload(callback) { + var preloadMods = config.preload.slice() + config.preload = [] + preloadMods.length ? globalModule._use(preloadMods, callback) : callback() + } + + + // Public API + // ---------- + + var globalModule = new Module(util.pageUri, STATUS.COMPILED) + + seajs.use = function(ids, callback) { + // Loads preload modules before all other modules. + preload(function() { + globalModule._use(ids, callback) + }) + + // Chain + return seajs + } + + + // For normal users + seajs.define = Module._define + seajs.cache = Module.cache = cachedModules + seajs.find = Module._find + seajs.modify = Module._modify + + + // For plugin developers + Module.fetchedList = fetchedList + seajs.pluginSDK = { + Module: Module, + util: util, + config: config + } + +})(seajs, seajs._util, seajs._config) + +/** + * The configuration + */ +;(function(seajs, util, config) { + + var noCachePrefix = 'seajs-ts=' + var noCacheTimeStamp = noCachePrefix + util.now() + + + // Async inserted script + var loaderScript = document.getElementById('seajsnode') + + // Static script + if (!loaderScript) { + var scripts = document.getElementsByTagName('script') + loaderScript = scripts[scripts.length - 1] + } + + var loaderSrc = (loaderScript && util.getScriptAbsoluteSrc(loaderScript)) || + util.pageUri // When sea.js is inline, set base to pageUri. + + var base = util.dirname(getLoaderActualSrc(loaderSrc)) + util.loaderDir = base + + // When src is "http://test.com/libs/seajs/1.0.0/sea.js", redirect base + // to "http://test.com/libs/" + var match = base.match(/^(.+\/)seajs\/[\.\d]+(?:-dev)?\/$/) + if (match) base = match[1] + + config.base = base + config.main = loaderScript && loaderScript.getAttribute('data-main') + config.charset = 'utf-8' + + + /** + * The function to configure the framework + * config({ + * 'base': 'path/to/base', + * 'alias': { + * 'app': 'biz/xx', + * 'jquery': 'jquery-1.5.2', + * 'cart': 'cart?t=20110419' + * }, + * 'map': [ + * ['test.cdn.cn', 'localhost'] + * ], + * preload: [], + * charset: 'utf-8', + * debug: false + * }) + * + */ + seajs.config = function(o) { + for (var k in o) { + if (!o.hasOwnProperty(k)) continue + + var previous = config[k] + var current = o[k] + + if (previous && k === 'alias') { + for (var p in current) { + if (current.hasOwnProperty(p)) { + + var prevValue = previous[p] + var currValue = current[p] + + // Converts {jquery: '1.7.2'} to {jquery: 'jquery/1.7.2/jquery'} + if (/^\d+\.\d+\.\d+$/.test(currValue)) { + currValue = p + '/' + currValue + '/' + p + } + + checkAliasConflict(prevValue, currValue, p) + previous[p] = currValue + + } + } + } + else if (previous && (k === 'map' || k === 'preload')) { + // for config({ preload: 'some-module' }) + if (util.isString(current)) { + current = [current] + } + + util.forEach(current, function(item) { + if (item) { + previous.push(item) + } + }) + } + else { + config[k] = current + } + } + + // Makes sure config.base is an absolute path. + var base = config.base + if (base && !util.isAbsolute(base)) { + config.base = util.id2Uri((util.isRoot(base) ? '' : './') + base + '/') + } + + // Uses map to implement nocache. + if (config.debug === 2) { + config.debug = 1 + seajs.config({ + map: [ + [/^.*$/, function(url) { + if (url.indexOf(noCachePrefix) === -1) { + url += (url.indexOf('?') === -1 ? '?' : '&') + noCacheTimeStamp + } + return url + }] + ] + }) + } + + debugSync() + + return this + } + + + function debugSync() { + if (config.debug) { + // For convenient reference + seajs.debug = !!config.debug + } + } + + debugSync() + + + function getLoaderActualSrc(src) { + if (src.indexOf('??') === -1) { + return src + } + + // Such as: http://cdn.com/??seajs/1.2.0/sea.js,jquery/1.7.2/jquery.js + // Only support nginx combo style rule. If you use other combo rule, please + // explicitly config the base path and the alias for plugins. + var parts = src.split('??') + var root = parts[0] + var paths = util.filter(parts[1].split(','), function(str) { + return str.indexOf('sea.js') !== -1 + }) + + return root + paths[0] + } + + function checkAliasConflict(previous, current, key) { + if (previous && previous !== current) { + util.log('The alias config is conflicted:', + 'key =', '"' + key + '"', + 'previous =', '"' + previous + '"', + 'current =', '"' + current + '"', + 'warn') + } + } + +})(seajs, seajs._util, seajs._config) + +/** + * Prepare for bootstrapping + */ +;(function(seajs, util, global) { + + // The safe and convenient version of console.log + seajs.log = util.log + + + // Creates a stylesheet from a text blob of rules. + seajs.importStyle = util.importStyle + + + // Sets a alias to `sea.js` directory for loading plugins. + seajs.config({ + alias: { seajs: util.loaderDir } + }) + + + // Uses `seajs-xxx` flag to load plugin-xxx. + util.forEach(getStartupPlugins(), function(name) { + seajs.use('seajs/plugin-' + name) + + // Delays `seajs.use` calls to the onload of `mapfile` in debug mode. + if (name === 'debug') { + seajs._use = seajs.use + seajs._useArgs = [] + seajs.use = function() { seajs._useArgs.push(arguments); return seajs } + } + }) + + + // Helpers + // ------- + + function getStartupPlugins() { + var ret = [] + var str = global.location.search + + // Converts `seajs-xxx` to `seajs-xxx=1` + str = str.replace(/(seajs-\w+)(&|$)/g, '$1=1$2') + + // Add cookie string + str += ' ' + document.cookie + + // Excludes seajs-xxx=0 + str.replace(/seajs-(\w+)=[1-9]/g, function(m, name) { + ret.push(name) + }) + + return util.unique(ret) + } + +})(seajs, seajs._util, this) + +/** + * The bootstrap and entrances + */ +;(function(seajs, config, global) { + + var _seajs = seajs._seajs + + // Avoids conflicting when sea.js is loaded multi times. + if (_seajs && !_seajs['args']) { + global.seajs = seajs._seajs + return + } + + + // Assigns to global define. + global.define = seajs.define + + + // Loads the data-main module automatically. + config.main && seajs.use(config.main) + + + // Parses the pre-call of seajs.config/seajs.use/define. + // Ref: test/bootstrap/async-3.html + ;(function(args) { + if (args) { + var hash = { + 0: 'config', + 1: 'use', + 2: 'define' + } + for (var i = 0; i < args.length; i += 2) { + seajs[hash[args[i]]].apply(seajs, args[i + 1]) + } + } + })((_seajs || 0)['args']) + + + // Add define.amd property for clear indicator. + global.define.cmd = {} + + + // Keeps clean! + delete seajs.define + delete seajs._util + delete seajs._config + delete seajs._seajs + +})(seajs, seajs._config, this) + + +var loaderPath = seajs.pluginSDK.util.loaderDir; +seajs.config({ + map : [ + ['.js', '-min.js'] + ], + alias : { + 'bui' : loaderPath + }, + charset: 'utf-8' +}); + +var BUI = BUI || {}; + +BUI.use = seajs.use; + +BUI.config = seajs.config; + +BUI.setDebug = function (debug) { + BUI.debug = debug; + if(debug){ + seajs.config({ + map : [ + ['-min.js', '.js'] + ] + }); + }else{ + seajs.config({ + map : [ + ['.js', '-min.js'] + ] + }); + } +} +define('bui/common',['bui/ua','bui/json','bui/date','bui/array','bui/keycode','bui/observable','bui/observable','bui/base','bui/component'],function(require){ + + var BUI = require('bui/util'); + + BUI.mix(BUI,{ + UA : require('bui/ua'), + JSON : require('bui/json'), + Date : require('bui/date'), + Array : require('bui/array'), + KeyCode : require('bui/keycode'), + Observable : require('bui/observable'), + Base : require('bui/base'), + Component : require('bui/component') + }); + return BUI; +}); +/** + * @class BUI.Util + * \u63a7\u4ef6\u5e93\u7684\u5de5\u5177\u65b9\u6cd5\uff0c\u8fd9\u4e9b\u5de5\u5177\u65b9\u6cd5\u76f4\u63a5\u7ed1\u5b9a\u5230BUI\u5bf9\u8c61\u4e0a + *
          
          + *     BUI.isString(str);
          + *
          + *     BUI.extend(A,B);
          + *
          + *     BUI.mix(A,{a:'a'});
          + * 
          + * @singleton + */ +var BUI = BUI || {}; + +define('bui/util',function(){ + + //\u517c\u5bb9jquery 1.6\u4ee5\u4e0b + (function($){ + if($.fn){ + $.fn.on = $.fn.on || $.fn.bind; + $.fn.off = $.fn.off || $.fn.unbind; + } + + })(jQuery); + + var win = window, + doc = document, + objectPrototype = Object.prototype, + toString = objectPrototype.toString, + ATTRS = 'ATTRS', + PARSER = 'PARSER', + GUID_DEFAULT = 'guid'; + + $.extend(BUI, + { + /** + * \u7248\u672c\u53f7 + * @memberOf BUI + * @type {Number} + */ + version:1.0, + + /** + * \u5b50\u7248\u672c\u53f7 + * @type {String} + */ + subVersion : 2, + + /** + * \u662f\u5426\u4e3a\u51fd\u6570 + * @param {*} fn \u5bf9\u8c61 + * @return {Boolean} \u662f\u5426\u51fd\u6570 + */ + isFunction : function(fn){ + return typeof(fn) === 'function'; + }, + /** + * \u662f\u5426\u6570\u7ec4 + * @method + * @param {*} obj \u662f\u5426\u6570\u7ec4 + * @return {Boolean} \u662f\u5426\u6570\u7ec4 + */ + isArray : ('isArray' in Array) ? Array.isArray : function(value) { + return toString.call(value) === '[object Array]'; + }, + /** + * \u662f\u5426\u65e5\u671f + * @param {*} value \u5bf9\u8c61 + * @return {Boolean} \u662f\u5426\u65e5\u671f + */ + isDate: function(value) { + return toString.call(value) === '[object Date]'; + }, + /** + * \u662f\u5426\u662fjavascript\u5bf9\u8c61 + * @param {Object} value The value to test + * @return {Boolean} + * @method + */ + isObject: (toString.call(null) === '[object Object]') ? + function(value) { + // check ownerDocument here as well to exclude DOM nodes + return value !== null && value !== undefined && toString.call(value) === '[object Object]' && value.ownerDocument === undefined; + } : + function(value) { + return toString.call(value) === '[object Object]'; + }, + /** + * \u5c06\u6307\u5b9a\u7684\u65b9\u6cd5\u6216\u5c5e\u6027\u653e\u5230\u6784\u9020\u51fd\u6570\u7684\u539f\u578b\u94fe\u4e0a\uff0c + * \u51fd\u6570\u652f\u6301\u591a\u4e8e2\u4e2a\u53d8\u91cf\uff0c\u540e\u9762\u7684\u53d8\u91cf\u540cs1\u4e00\u6837\u5c06\u5176\u6210\u5458\u590d\u5236\u5230\u6784\u9020\u51fd\u6570\u7684\u539f\u578b\u94fe\u4e0a\u3002 + * @param {Function} r \u6784\u9020\u51fd\u6570 + * @param {Object} s1 \u5c06s1 \u7684\u6210\u5458\u590d\u5236\u5230\u6784\u9020\u51fd\u6570\u7684\u539f\u578b\u94fe\u4e0a + * @example + * BUI.augment(class1,{ + * method1: function(){ + * + * } + * }); + */ + augment : function(r,s1){ + if(!BUI.isFunction(r)) + { + return r; + } + for (var i = 1; i < arguments.length; i++) { + BUI.mix(r.prototype,arguments[i].prototype || arguments[i]); + }; + return r; + }, + /** + * \u62f7\u8d1d\u5bf9\u8c61 + * @param {Object} obj \u8981\u62f7\u8d1d\u7684\u5bf9\u8c61 + * @return {Object} \u62f7\u8d1d\u751f\u6210\u7684\u5bf9\u8c61 + */ + cloneObject : function(obj){ + var result = BUI.isArray(obj) ? [] : {}; + + return BUI.mix(true,result,obj); + }, + /** + * \u629b\u51fa\u9519\u8bef + */ + error : function(msg){ + if(BUI.debug){ + throw msg; + } + }, + /** + * \u5b9e\u73b0\u7c7b\u7684\u7ee7\u627f\uff0c\u901a\u8fc7\u7236\u7c7b\u751f\u6210\u5b50\u7c7b + * @param {Function} subclass + * @param {Function} superclass \u7236\u7c7b\u6784\u9020\u51fd\u6570 + * @param {Object} overrides \u5b50\u7c7b\u7684\u5c5e\u6027\u6216\u8005\u65b9\u6cd5 + * @return {Function} \u8fd4\u56de\u7684\u5b50\u7c7b\u6784\u9020\u51fd\u6570 + * \u793a\u4f8b: + * @example + * //\u7236\u7c7b + * function base(){ + * + * } + * + * function sub(){ + * + * } + * //\u5b50\u7c7b + * BUI.extend(sub,base,{ + * method : function(){ + * + * } + * }); + * + * //\u6216\u8005 + * var sub = BUI.extend(base,{}); + */ + extend : function(subclass,superclass,overrides, staticOverrides){ + //\u5982\u679c\u53ea\u63d0\u4f9b\u7236\u7c7b\u6784\u9020\u51fd\u6570\uff0c\u5219\u81ea\u52a8\u751f\u6210\u5b50\u7c7b\u6784\u9020\u51fd\u6570 + if(!BUI.isFunction(superclass)) + { + + overrides = superclass; + superclass = subclass; + subclass = function(){}; + } + + var create = Object.create ? + function (proto, c) { + return Object.create(proto, { + constructor: { + value: c + } + }); + } : + function (proto, c) { + function F() { + } + + F.prototype = proto; + + var o = new F(); + o.constructor = c; + return o; + }; + var superObj = create(superclass.prototype,subclass);//new superclass(),//\u5b9e\u4f8b\u5316\u7236\u7c7b\u4f5c\u4e3a\u5b50\u7c7b\u7684prototype + subclass.prototype = BUI.mix(superObj,subclass.prototype); //\u6307\u5b9a\u5b50\u7c7b\u7684prototype + subclass.superclass = create(superclass.prototype,superclass); + BUI.mix(superObj,overrides); + BUI.mix(subclass,staticOverrides); + return subclass; + }, + /** + * \u751f\u6210\u552f\u4e00\u7684Id + * @method + * @param {String} prefix \u524d\u7f00 + * @default 'bui-guid' + * @return {String} \u552f\u4e00\u7684\u7f16\u53f7 + */ + guid : (function(){ + var map = {}; + return function(prefix){ + prefix = prefix || BUI.prefix + GUID_DEFAULT; + if(!map[prefix]){ + map[prefix] = 1; + }else{ + map[prefix] += 1; + } + return prefix + map[prefix]; + }; + })(), + /** + * \u5224\u65ad\u662f\u5426\u662f\u5b57\u7b26\u4e32 + * @return {Boolean} \u662f\u5426\u662f\u5b57\u7b26\u4e32 + */ + isString : function(value){ + return typeof value === 'string'; + }, + /** + * \u5224\u65ad\u662f\u5426\u6570\u5b57\uff0c\u7531\u4e8e$.isNumberic\u65b9\u6cd5\u4f1a\u628a '123'\u8ba4\u4e3a\u6570\u5b57 + * @return {Boolean} \u662f\u5426\u6570\u5b57 + */ + isNumber : function(value){ + return typeof value === 'number'; + }, + /** + * \u63a7\u5236\u53f0\u8f93\u51fa\u65e5\u5fd7 + * @param {Object} obj \u8f93\u51fa\u7684\u6570\u636e + */ + log : function(obj){ + if(BUI.debug && win.console && win.console.log){ + win.console.log(obj); + } + }, + /** + * \u5c06\u591a\u4e2a\u5bf9\u8c61\u7684\u5c5e\u6027\u590d\u5236\u5230\u4e00\u4e2a\u65b0\u7684\u5bf9\u8c61 + */ + merge : function(){ + var args = $.makeArray(arguments); + args.unshift({}); + return BUI.mix.apply(null,args); + + }, + /** + * \u5c01\u88c5 jQuery.extend \u65b9\u6cd5\uff0c\u5c06\u591a\u4e2a\u5bf9\u8c61\u7684\u5c5e\u6027merge\u5230\u7b2c\u4e00\u4e2a\u5bf9\u8c61\u4e2d + * @return {Object} + */ + mix : function(){ + return $.extend.apply(null,arguments); + }, + /** + * \u521b\u9020\u9876\u5c42\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u9644\u52a0\u5230window\u5bf9\u8c61\u4e0a, + * \u5305\u542bnamespace\u65b9\u6cd5 + */ + app : function(name){ + if(!window[name]){ + window[name] = { + namespace :function(nsName){ + return BUI.namespace(nsName,window[name]); + } + }; + } + return window[name]; + }, + /** + * \u5c06\u5176\u4ed6\u7c7b\u4f5c\u4e3amixin\u96c6\u6210\u5230\u6307\u5b9a\u7c7b\u4e0a\u9762 + * @param {Function} c \u6784\u9020\u51fd\u6570 + * @param {Array} mixins \u6269\u5c55\u7c7b + * @param {Array} attrs \u6269\u5c55\u7684\u9759\u6001\u5c5e\u6027\uff0c\u9ed8\u8ba4\u4e3a['ATTRS'] + * @return {Function} \u4f20\u5165\u7684\u6784\u9020\u51fd\u6570 + */ + mixin : function(c,mixins,attrs){ + attrs = attrs || [ATTRS,PARSER]; + var extensions = mixins; + if (extensions) { + c.mixins = extensions; + + var desc = { + // ATTRS: + // HTML_PARSER: + }, constructors = extensions['concat'](c); + + // [ex1,ex2]\uff0c\u6269\u5c55\u7c7b\u540e\u9762\u7684\u4f18\u5148\uff0cex2 \u5b9a\u4e49\u7684\u8986\u76d6 ex1 \u5b9a\u4e49\u7684 + // \u4e3b\u7c7b\u6700\u4f18\u5148 + BUI.each(constructors, function (ext) { + if (ext) { + // \u5408\u5e76 ATTRS/HTML_PARSER \u5230\u4e3b\u7c7b + BUI.each(attrs, function (K) { + if (ext[K]) { + desc[K] = desc[K] || {}; + // \u4e0d\u8986\u76d6\u4e3b\u7c7b\u4e0a\u7684\u5b9a\u4e49\uff0c\u56e0\u4e3a\u7ee7\u627f\u5c42\u6b21\u4e0a\u6269\u5c55\u7c7b\u6bd4\u4e3b\u7c7b\u5c42\u6b21\u9ad8 + // \u4f46\u662f\u503c\u662f\u5bf9\u8c61\u7684\u8bdd\u4f1a\u6df1\u5ea6\u5408\u5e76 + // \u6ce8\u610f\uff1a\u6700\u597d\u503c\u662f\u7b80\u5355\u5bf9\u8c61\uff0c\u81ea\u5b9a\u4e49 new \u51fa\u6765\u7684\u5bf9\u8c61\u5c31\u4f1a\u6709\u95ee\u9898(\u7528 function return \u51fa\u6765)! + BUI.mix(true,desc[K], ext[K]); + } + }); + } + }); + + BUI.each(desc, function (v,k) { + c[k] = v; + }); + + var prototype = {}; + + // \u4e3b\u7c7b\u6700\u4f18\u5148 + BUI.each(constructors, function (ext) { + if (ext) { + var proto = ext.prototype; + // \u5408\u5e76\u529f\u80fd\u4ee3\u7801\u5230\u4e3b\u7c7b\uff0c\u4e0d\u8986\u76d6 + for (var p in proto) { + // \u4e0d\u8986\u76d6\u4e3b\u7c7b\uff0c\u4f46\u662f\u4e3b\u7c7b\u7684\u7236\u7c7b\u8fd8\u662f\u8986\u76d6\u5427 + if (proto.hasOwnProperty(p)) { + prototype[p] = proto[p]; + } + } + } + }); + + BUI.each(prototype, function (v,k) { + c.prototype[k] = v; + }); + } + return c; + }, + /** + * \u751f\u6210\u547d\u540d\u7a7a\u95f4 + * @param {String} name \u547d\u540d\u7a7a\u95f4\u7684\u540d\u79f0 + * @param {Object} baseNS \u5728\u5df2\u6709\u7684\u547d\u540d\u7a7a\u95f4\u4e0a\u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u201cBUI\u201d + * @return {Object} \u8fd4\u56de\u7684\u547d\u540d\u7a7a\u95f4\u5bf9\u8c61 + * @example + * BUI.namespace("Grid"); // BUI.Grid + */ + namespace : function(name,baseNS){ + baseNS = baseNS || BUI; + if(!name){ + return baseNS; + } + var list = name.split('.'), + //firstNS = win[list[0]], + curNS = baseNS; + + for (var i = 0; i < list.length; i++) { + var nsName = list[i]; + if(!curNS[nsName]){ + curNS[nsName] = {}; + } + curNS = curNS[nsName]; + }; + return curNS; + }, + /** + * BUI \u63a7\u4ef6\u7684\u516c\u7528\u524d\u7f00 + * @type {String} + */ + prefix : 'bui-', + /** + * \u66ff\u6362\u5b57\u7b26\u4e32\u4e2d\u7684\u5b57\u6bb5. + * @param {String} str \u6a21\u7248\u5b57\u7b26\u4e32 + * @param {Object} o json data + * @param {RegExp} [regexp] \u5339\u914d\u5b57\u7b26\u4e32\u7684\u6b63\u5219\u8868\u8fbe\u5f0f + */ + substitute: function (str, o, regexp) { + if (!BUI.isString(str) + || (!BUI.isObject(o)) && !BUI.isArray(o)) { + return str; + } + + return str.replace(regexp || /\\?\{([^{}]+)\}/g, function (match, name) { + if (match.charAt(0) === '\\') { + return match.slice(1); + } + return (o[name] === undefined) ? '' : o[name]; + }); + }, + /** + * \u4f7f\u7b2c\u4e00\u4e2a\u5b57\u6bcd\u53d8\u6210\u5927\u5199 + * @param {String} s \u5b57\u7b26\u4e32 + * @return {String} \u9996\u5b57\u6bcd\u5927\u5199\u540e\u7684\u5b57\u7b26\u4e32 + */ + ucfirst : function(s){ + s += ''; + return s.charAt(0).toUpperCase() + s.substring(1); + }, + /** + * \u9875\u9762\u4e0a\u7684\u4e00\u70b9\u662f\u5426\u5728\u7528\u6237\u7684\u89c6\u56fe\u5185 + * @param {Object} offset \u5750\u6807\uff0cleft,top + * @return {Boolean} \u662f\u5426\u5728\u89c6\u56fe\u5185 + */ + isInView : function(offset){ + var left = offset.left, + top = offset.top, + viewWidth = BUI.viewportWidth(), + wiewHeight = BUI.viewportHeight(), + scrollTop = BUI.scrollTop(), + scrollLeft = BUI.scrollLeft(); + //\u5224\u65ad\u6a2a\u5750\u6807 + if(left < scrollLeft ||left > scrollLeft + viewWidth){ + return false; + } + //\u5224\u65ad\u7eb5\u5750\u6807 + if(top < scrollTop || top > scrollTop + wiewHeight){ + return false; + } + return true; + }, + /** + * \u9875\u9762\u4e0a\u7684\u4e00\u70b9\u7eb5\u5411\u5750\u6807\u662f\u5426\u5728\u7528\u6237\u7684\u89c6\u56fe\u5185 + * @param {Object} top \u7eb5\u5750\u6807 + * @return {Boolean} \u662f\u5426\u5728\u89c6\u56fe\u5185 + */ + isInVerticalView : function(top){ + var wiewHeight = BUI.viewportHeight(), + scrollTop = BUI.scrollTop(); + + //\u5224\u65ad\u7eb5\u5750\u6807 + if(top < scrollTop || top > scrollTop + wiewHeight){ + return false; + } + return true; + }, + /** + * \u9875\u9762\u4e0a\u7684\u4e00\u70b9\u6a2a\u5411\u5750\u6807\u662f\u5426\u5728\u7528\u6237\u7684\u89c6\u56fe\u5185 + * @param {Object} left \u6a2a\u5750\u6807 + * @return {Boolean} \u662f\u5426\u5728\u89c6\u56fe\u5185 + */ + isInHorizontalView : function(left){ + var viewWidth = BUI.viewportWidth(), + scrollLeft = BUI.scrollLeft(); + //\u5224\u65ad\u6a2a\u5750\u6807 + if(left < scrollLeft ||left > scrollLeft + viewWidth){ + return false; + } + return true; + }, + /** + * \u83b7\u53d6\u7a97\u53e3\u53ef\u89c6\u8303\u56f4\u5bbd\u5ea6 + * @return {Number} \u53ef\u89c6\u533a\u5bbd\u5ea6 + */ + viewportWidth : function(){ + return $(window).width(); + }, + /** + * \u83b7\u53d6\u7a97\u53e3\u53ef\u89c6\u8303\u56f4\u9ad8\u5ea6 + * @return {Number} \u53ef\u89c6\u533a\u9ad8\u5ea6 + */ + viewportHeight:function(){ + return $(window).height(); + }, + /** + * \u6eda\u52a8\u5230\u7a97\u53e3\u7684left\u4f4d\u7f6e + */ + scrollLeft : function(){ + return $(window).scrollLeft(); + }, + /** + * \u6eda\u52a8\u5230\u6a2a\u5411\u4f4d\u7f6e + */ + scrollTop : function(){ + return $(window).scrollTop(); + }, + /** + * \u7a97\u53e3\u5bbd\u5ea6 + * @return {Number} \u7a97\u53e3\u5bbd\u5ea6 + */ + docWidth : function(){ + var body = document.documentElement || document.body; + return $(body).width(); + }, + /** + * \u7a97\u53e3\u9ad8\u5ea6 + * @return {Number} \u7a97\u53e3\u9ad8\u5ea6 + */ + docHeight : function(){ + var body = document.documentElement || document.body; + return $(body).height(); + }, + /** + * \u904d\u5386\u6570\u7ec4\u6216\u8005\u5bf9\u8c61 + * @param {Object|Array} element/Object \u6570\u7ec4\u4e2d\u7684\u5143\u7d20\u6216\u8005\u5bf9\u8c61\u7684\u503c + * @param {Function} func \u904d\u5386\u7684\u51fd\u6570 function(elememt,index){} \u6216\u8005 function(value,key){} + */ + each : function (elements,func) { + if(!elements){ + return; + } + $.each(elements,function(k,v){ + return func(v,k); + }); + }, + /** + * \u5c01\u88c5\u4e8b\u4ef6\uff0c\u4fbf\u4e8e\u4f7f\u7528\u4e0a\u4e0b\u6587this,\u548c\u4fbf\u4e8e\u89e3\u9664\u4e8b\u4ef6\u65f6\u4f7f\u7528 + * @protected + * @param {Object} self \u5bf9\u8c61 + * @param {String} action \u4e8b\u4ef6\u540d\u79f0 + */ + wrapBehavior : function(self, action) { + return self['__bui_wrap_' + action] = function (e) { + if (!self.get('disabled')) { + self[action](e); + } + }; + }, + /** + * \u83b7\u53d6\u5c01\u88c5\u7684\u4e8b\u4ef6 + * @protected + * @param {Object} self \u5bf9\u8c61 + * @param {String} action \u4e8b\u4ef6\u540d\u79f0 + */ + getWrapBehavior : function(self, action) { + return self['__bui_wrap_' + action]; + } + + }); + + /** + * \u8868\u5355\u5e2e\u52a9\u7c7b\uff0c\u5e8f\u5217\u5316\u3001\u53cd\u5e8f\u5217\u5316\uff0c\u8bbe\u7f6e\u503c + * @class BUI.FormHelper + * @singleton + */ + var formHelper = BUI.FormHelper = { + /** + * \u5c06\u8868\u5355\u683c\u5f0f\u5316\u6210\u952e\u503c\u5bf9\u5f62\u5f0f + * @param {HTMLElement} form \u8868\u5355 + * @return {Object} \u952e\u503c\u5bf9\u7684\u5bf9\u8c61 + */ + serializeToObject:function(form){ + var array = $(form).serializeArray(), + result = {}; + BUI.each(array,function(item){ + var name = item.name; + if(!result[name]){ //\u5982\u679c\u662f\u5355\u4e2a\u503c\uff0c\u76f4\u63a5\u8d4b\u503c + result[name] = item.value; + }else{ //\u591a\u503c\u4f7f\u7528\u6570\u7ec4 + if(!BUI.isArray(result[name])){ + result[name] = [result[name]]; + } + result[name].push(item.value); + } + }); + return result; + }, + /** + * \u8bbe\u7f6e\u8868\u5355\u7684\u503c + * @param {HTMLElement} form \u8868\u5355 + * @param {Object} obj \u952e\u503c\u5bf9 + */ + setFields : function(form,obj){ + for(var name in obj){ + if(obj.hasOwnProperty(name)){ + BUI.FormHelper.setField(form,name,obj[name]); + } + } + }, + /** + * \u6e05\u7a7a\u8868\u5355 + * @param {HTMLElement} form \u8868\u5355\u5143\u7d20 + */ + clear : function(form){ + var elements = $.makeArray(form.elements); + + BUI.each(elements,function(element){ + if(element.type === 'checkbox' || element.type === 'radio' ){ + $(element).attr('checked',false); + }else{ + $(element).val(''); + } + $(element).change(); + }); + }, + /** + * \u8bbe\u7f6e\u8868\u5355\u5b57\u6bb5 + * @param {HTMLElement} form \u8868\u5355\u5143\u7d20 + * @param {string} field \u5b57\u6bb5\u540d + * @param {string} value \u5b57\u6bb5\u503c + */ + setField:function(form,fieldName,value){ + var fields = form.elements[fieldName]; + if(BUI.isArray(fields)){ + BUI.each(fields,function(field){ + if(field.type === 'checkbox'){ + if(field.value === value || BUI.Array.indexOf(field.value,value) !== -1){ + $(field).attr('checked',true); + } + }else if(field.type === 'radio' && field.value === value){ + $(field).attr('checked',true); + }else{ + $(field).val(value); + } + + }); + }else{ + $(fields).val(value); + } + }, + /** + * \u83b7\u53d6\u8868\u5355\u5b57\u6bb5\u503c + * @param {HTMLElement} form \u8868\u5355\u5143\u7d20 + * @param {string} field \u5b57\u6bb5\u540d + * @return {String} \u5b57\u6bb5\u503c + */ + getField : function(form,fieldName){ + return BUI.FormHelper.serializeToObject(form)[fieldName]; + } + }; + + return BUI; +});/** + * @fileOverview \u6570\u7ec4\u5e2e\u52a9\u7c7b + * @ignore + */ + +/** + * @class BUI + * \u63a7\u4ef6\u5e93\u7684\u57fa\u7840\u547d\u540d\u7a7a\u95f4 + * @singleton + */ + +define('bui/array',['bui/util'],function (r) { + + var BUI = r('bui/util'); + /** + * @class BUI.Array + * \u6570\u7ec4\u5e2e\u52a9\u7c7b + */ + BUI.Array ={ + /** + * \u8fd4\u56de\u6570\u7ec4\u7684\u6700\u540e\u4e00\u4e2a\u5bf9\u8c61 + * @param {Array} array \u6570\u7ec4\u6216\u8005\u7c7b\u4f3c\u4e8e\u6570\u7ec4\u7684\u5bf9\u8c61. + * @return {*} \u6570\u7ec4\u7684\u6700\u540e\u4e00\u9879. + */ + peek : function(array) { + return array[array.length - 1]; + }, + /** + * \u67e5\u627e\u8bb0\u5f55\u6240\u5728\u7684\u4f4d\u7f6e + * @param {*} value \u503c + * @param {Array} array \u6570\u7ec4\u6216\u8005\u7c7b\u4f3c\u4e8e\u6570\u7ec4\u7684\u5bf9\u8c61 + * @param {Number} [fromIndex=0] \u8d77\u59cb\u9879\uff0c\u9ed8\u8ba4\u4e3a0 + * @return {Number} \u4f4d\u7f6e\uff0c\u5982\u679c\u4e3a -1\u5219\u4e0d\u5728\u6570\u7ec4\u5185 + */ + indexOf : function(value, array,opt_fromIndex){ + var fromIndex = opt_fromIndex == null ? + 0 : (opt_fromIndex < 0 ? + Math.max(0, array.length + opt_fromIndex) : opt_fromIndex); + + for (var i = fromIndex; i < array.length; i++) { + if (i in array && array[i] === value) + return i; + } + return -1; + }, + /** + * \u6570\u7ec4\u662f\u5426\u5b58\u5728\u6307\u5b9a\u503c + * @param {*} value \u503c + * @param {Array} array \u6570\u7ec4\u6216\u8005\u7c7b\u4f3c\u4e8e\u6570\u7ec4\u7684\u5bf9\u8c61 + * @return {Boolean} \u662f\u5426\u5b58\u5728\u4e8e\u6570\u7ec4\u4e2d + */ + contains : function(value,array){ + return BUI.Array.indexOf(value,array) >=0; + }, + /** + * \u904d\u5386\u6570\u7ec4\u6216\u8005\u5bf9\u8c61 + * @method + * @param {Object|Array} element/Object \u6570\u7ec4\u4e2d\u7684\u5143\u7d20\u6216\u8005\u5bf9\u8c61\u7684\u503c + * @param {Function} func \u904d\u5386\u7684\u51fd\u6570 function(elememt,index){} \u6216\u8005 function(value,key){} + */ + each : BUI.each, + /** + * 2\u4e2a\u6570\u7ec4\u5185\u90e8\u7684\u503c\u662f\u5426\u76f8\u7b49 + * @param {Array} a1 \u6570\u7ec41 + * @param {Array} a2 \u6570\u7ec42 + * @return {Boolean} 2\u4e2a\u6570\u7ec4\u76f8\u7b49\u6216\u8005\u5185\u90e8\u5143\u7d20\u662f\u5426\u76f8\u7b49 + */ + equals : function(a1,a2){ + if(a1 == a2){ + return true; + } + if(!a1 || !a2){ + return false; + } + + if(a1.length != a2.length){ + return false; + } + var rst = true; + for(var i = 0 ;i < a1.length; i++){ + if(a1[i] !== a2[i]){ + rst = false; + break; + } + } + return rst; + }, + + /** + * \u8fc7\u6ee4\u6570\u7ec4 + * @param {Object|Array} element/Object \u6570\u7ec4\u4e2d\u7684\u5143\u7d20\u6216\u8005\u5bf9\u8c61\u7684\u503c + * @param {Function} func \u904d\u5386\u7684\u51fd\u6570 function(elememt,index){} \u6216\u8005 function(value,key){},\u5982\u679c\u8fd4\u56detrue\u5219\u6dfb\u52a0\u5230\u7ed3\u679c\u96c6 + * @return {Array} \u8fc7\u6ee4\u7684\u7ed3\u679c\u96c6 + */ + filter : function(array,func){ + var result = []; + BUI.Array.each(array,function(value,index){ + if(func(value,index)){ + result.push(value); + } + }); + return result; + }, + /** + * \u8f6c\u6362\u6570\u7ec4\u6570\u7ec4 + * @param {Object|Array} element/Object \u6570\u7ec4\u4e2d\u7684\u5143\u7d20\u6216\u8005\u5bf9\u8c61\u7684\u503c + * @param {Function} func \u904d\u5386\u7684\u51fd\u6570 function(elememt,index){} \u6216\u8005 function(value,key){},\u5c06\u8fd4\u56de\u7684\u7ed3\u679c\u6dfb\u52a0\u5230\u7ed3\u679c\u96c6 + * @return {Array} \u8fc7\u6ee4\u7684\u7ed3\u679c\u96c6 + */ + map : function(array,func){ + var result = []; + BUI.Array.each(array,function(value,index){ + result.push(func(value,index)); + }); + return result; + }, + /** + * \u83b7\u53d6\u7b2c\u4e00\u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u6570\u636e + * @param {Array} array \u6570\u7ec4 + * @param {Function} func \u5339\u914d\u51fd\u6570 + * @return {*} \u7b26\u5408\u6761\u4ef6\u7684\u6570\u636e + */ + find : function(array,func){ + var i = BUI.Array.findIndex(array, func); + return i < 0 ? null : array[i]; + }, + /** + * \u83b7\u53d6\u7b2c\u4e00\u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u6570\u636e\u7684\u7d22\u5f15\u503c + * @param {Array} array \u6570\u7ec4 + * @param {Function} func \u5339\u914d\u51fd\u6570 + * @return {Number} \u7b26\u5408\u6761\u4ef6\u7684\u6570\u636e\u7684\u7d22\u5f15\u503c + */ + findIndex : function(array,func){ + var result = -1; + BUI.Array.each(array,function(value,index){ + if(func(value,index)){ + result = index; + return false; + } + }); + return result; + }, + /** + * \u6570\u7ec4\u662f\u5426\u4e3a\u7a7a + * @param {Array} array \u6570\u7ec4 + * @return {Boolean} \u662f\u5426\u4e3a\u7a7a + */ + isEmpty : function(array){ + return array.length == 0; + }, + /** + * \u63d2\u5165\u6570\u7ec4 + * @param {Array} array \u6570\u7ec4 + * @param {Number} index \u4f4d\u7f6e + * @param {*} value \u63d2\u5165\u7684\u6570\u636e + */ + add : function(array,value){ + array.push(value); + }, + /** + * \u5c06\u6570\u636e\u63d2\u5165\u6570\u7ec4\u6307\u5b9a\u7684\u4f4d\u7f6e + * @param {Array} array \u6570\u7ec4 + * @param {*} value \u63d2\u5165\u7684\u6570\u636e + * @param {Number} index \u4f4d\u7f6e + */ + addAt : function(array,value,index){ + BUI.Array.splice(array, index, 0, value); + }, + /** + * \u6e05\u7a7a\u6570\u7ec4 + * @param {Array} array \u6570\u7ec4 + * @return {Array} \u6e05\u7a7a\u540e\u7684\u6570\u7ec4 + */ + empty : function(array){ + if(!(array instanceof(Array))){ + for (var i = array.length - 1; i >= 0; i--) { + delete array[i]; + } + } + array.length = 0; + }, + /** + * \u79fb\u9664\u8bb0\u5f55 + * @param {Array} array \u6570\u7ec4 + * @param {*} value \u8bb0\u5f55 + * @return {Boolean} \u662f\u5426\u79fb\u9664\u6210\u529f + */ + remove : function(array,value){ + var i = BUI.Array.indexOf(value, array); + var rv; + if ((rv = i >= 0)) { + BUI.Array.removeAt(array, i); + } + return rv; + }, + /** + * \u79fb\u9664\u6307\u5b9a\u4f4d\u7f6e\u7684\u8bb0\u5f55 + * @param {Array} array \u6570\u7ec4 + * @param {Number} index \u7d22\u5f15\u503c + * @return {Boolean} \u662f\u5426\u79fb\u9664\u6210\u529f + */ + removeAt : function(array,index){ + return BUI.Array.splice(array, index, 1).length == 1; + }, + /** + * @private + */ + slice : function(arr, start, opt_end){ + if (arguments.length <= 2) { + return Array.prototype.slice.call(arr, start); + } else { + return Array.prototype.slice.call(arr, start, opt_end); + } + }, + /** + * @private + */ + splice : function(arr, index, howMany, var_args){ + return Array.prototype.splice.apply(arr, BUI.Array.slice(arguments, 1)) + } + + }; + return BUI.Array; +});/** + * @fileOverview \u89c2\u5bdf\u8005\u6a21\u5f0f\u5b9e\u73b0\u4e8b\u4ef6 + * @ignore + */ + +define('bui/observable',['bui/util'],function (r) { + + var BUI = r('bui/util'); + /** + * @private + * @class BUI.Observable.Callbacks + * jquery 1.7 \u65f6\u5b58\u5728 $.Callbacks,\u4f46\u662ffireWith\u7684\u8fd4\u56de\u7ed3\u679c\u662f$.Callbacks \u5bf9\u8c61\uff0c + * \u800c\u6211\u4eec\u60f3\u8981\u7684\u6548\u679c\u662f\uff1a\u5f53\u5176\u4e2d\u6709\u4e00\u4e2a\u51fd\u6570\u8fd4\u56de\u4e3afalse\u65f6\uff0c\u963b\u6b62\u540e\u9762\u7684\u6267\u884c\uff0c\u5e76\u8fd4\u56defalse + */ + var Callbacks = function(){ + this._init(); + }; + + BUI.augment(Callbacks,{ + + _functions : null, + + _init : function(){ + var _self = this; + + _self._functions = []; + }, + /** + * \u6dfb\u52a0\u56de\u8c03\u51fd\u6570 + * @param {Function} fn \u56de\u8c03\u51fd\u6570 + */ + add:function(fn){ + this._functions.push(fn); + }, + /** + * \u79fb\u9664\u56de\u8c03\u51fd\u6570 + * @param {Function} fn \u56de\u8c03\u51fd\u6570 + */ + remove : function(fn){ + var functions = this._functions; + index = BUI.Array.indexOf(fn,functions); + if(index>=0){ + functions.splice(index,1); + } + }, + empty : function(){ + var length = this._functions.length; //ie6,7\u4e0b\uff0c\u5fc5\u987b\u6307\u5b9a\u9700\u8981\u5220\u9664\u7684\u6570\u91cf + this._functions.splice(0,length); + }, + /** + * \u89e6\u53d1\u56de\u8c03 + * @param {Object} scope \u4e0a\u4e0b\u6587 + * @param {Array} args \u56de\u8c03\u51fd\u6570\u7684\u53c2\u6570 + * @return {Boolean|undefined} \u5f53\u5176\u4e2d\u6709\u4e00\u4e2a\u51fd\u6570\u8fd4\u56de\u4e3afalse\u65f6\uff0c\u963b\u6b62\u540e\u9762\u7684\u6267\u884c\uff0c\u5e76\u8fd4\u56defalse + */ + fireWith : function(scope,args){ + var _self = this, + rst; + + BUI.each(_self._functions,function(fn){ + rst = fn.apply(scope,args); + if(rst === false){ + return false; + } + }); + return rst; + } + }); + + function getCallbacks(){ + return new Callbacks(); + } + /** + * \u652f\u6301\u4e8b\u4ef6\u7684\u5bf9\u8c61\uff0c\u53c2\u8003\u89c2\u5bdf\u8005\u6a21\u5f0f + * - \u6b64\u7c7b\u63d0\u4f9b\u4e8b\u4ef6\u7ed1\u5b9a + * - \u63d0\u4f9b\u4e8b\u4ef6\u5192\u6ce1\u673a\u5236 + * + *
          
          +   *   var control = new Control();
          +   *   control.on('click',function(ev){
          +   *   
          +   *   });
          +   *
          +   *   control.off();  //\u79fb\u9664\u6240\u6709\u4e8b\u4ef6
          +   * 
          + * @class BUI.Observable + * @abstract + * @param {Object} config \u914d\u7f6e\u9879\u952e\u503c\u5bf9 + */ + var Observable = function(config){ + this._events = []; + this._eventMap = {}; + this._bubblesEvents = []; + this._initEvents(config); + }; + + BUI.augment(Observable, + { + + /** + * @cfg {Object} listeners + * \u521d\u59cb\u5316\u4e8b\u4ef6,\u5feb\u901f\u6ce8\u518c\u4e8b\u4ef6 + *
          
          +     *    var list = new BUI.List.SimpleList({
          +     *      listeners : {
          +     *        itemclick : function(ev){},
          +     *        itemrendered : function(ev){}
          +     *      },
          +     *      items : []
          +     *    });
          +     *    list.render();
          +     *  
          + */ + + /** + * @cfg {Function} handler + * \u70b9\u51fb\u4e8b\u4ef6\u7684\u5904\u7406\u51fd\u6570\uff0c\u5feb\u901f\u914d\u7f6e\u70b9\u51fb\u4e8b\u4ef6\u800c\u4e0d\u9700\u8981\u5199listeners\u5c5e\u6027 + *
          
          +     *    var list = new BUI.List.SimpleList({
          +     *      handler : function(ev){} //click \u4e8b\u4ef6
          +     *    });
          +     *    list.render();
          +     *  
          + */ + + /** + * \u652f\u6301\u7684\u4e8b\u4ef6\u540d\u5217\u8868 + * @private + */ + _events:[], + + /** + * \u7ed1\u5b9a\u7684\u4e8b\u4ef6 + * @private + */ + _eventMap : {}, + + _bubblesEvents : [], + + _bubbleTarget : null, + + //\u83b7\u53d6\u56de\u8c03\u96c6\u5408 + _getCallbacks : function(eventType){ + var _self = this, + eventMap = _self._eventMap; + return eventMap[eventType]; + }, + //\u521d\u59cb\u5316\u4e8b\u4ef6\u5217\u8868 + _initEvents : function(config){ + var _self = this, + listeners = null; + + if(!config){ + return; + } + listeners = config.listeners || {}; + if(config.handler){ + listeners.click = config.handler; + } + if(listeners){ + for (var name in listeners) { + if(listeners.hasOwnProperty(name)){ + _self.on(name,listeners[name]); + } + }; + } + }, + //\u4e8b\u4ef6\u662f\u5426\u652f\u6301\u5192\u6ce1 + _isBubbles : function (eventType) { + return BUI.Array.indexOf(eventType,this._bubblesEvents) >= 0; + }, + /** + * \u6dfb\u52a0\u5192\u6ce1\u7684\u5bf9\u8c61 + * @protected + * @param {Object} target \u5192\u6ce1\u7684\u4e8b\u4ef6\u6e90 + */ + addTarget : function(target) { + this._bubbleTarget = target; + }, + /** + * \u6dfb\u52a0\u652f\u6301\u7684\u4e8b\u4ef6 + * @protected + * @param {String|String[]} events \u4e8b\u4ef6 + */ + addEvents : function(events){ + var _self = this, + existEvents = _self._events, + eventMap = _self._eventMap; + + function addEvent(eventType){ + if(BUI.Array.indexOf(eventType,existEvents) === -1){ + eventMap[eventType] = getCallbacks(); + existEvents.push(eventType); + } + } + if(BUI.isArray(events)){ + $.each(events,function(index,eventType){ + addEvent(eventType); + }); + }else{ + addEvent(events); + } + }, + /** + * \u79fb\u9664\u6240\u6709\u7ed1\u5b9a\u7684\u4e8b\u4ef6 + * @protected + */ + clearListeners : function(){ + var _self = this, + eventMap = _self._eventMap; + for(var name in eventMap){ + if(eventMap.hasOwnProperty(name)){ + eventMap[name].empty(); + } + } + }, + /** + * \u89e6\u53d1\u4e8b\u4ef6 + *
          
          +     *   //\u7ed1\u5b9a\u4e8b\u4ef6
          +     *   list.on('itemclick',function(ev){
          +     *     alert('21');
          +     *   });
          +     *   //\u89e6\u53d1\u4e8b\u4ef6
          +     *   list.fire('itemclick');
          +     * 
          + * @param {String} eventType \u4e8b\u4ef6\u7c7b\u578b + * @param {Object} eventData \u4e8b\u4ef6\u89e6\u53d1\u65f6\u4f20\u9012\u7684\u6570\u636e + * @return {Boolean|undefined} \u5982\u679c\u5176\u4e2d\u4e00\u4e2a\u4e8b\u4ef6\u5904\u7406\u5668\u8fd4\u56de false , \u5219\u8fd4\u56de false, \u5426\u5219\u8fd4\u56de\u6700\u540e\u4e00\u4e2a\u4e8b\u4ef6\u5904\u7406\u5668\u7684\u8fd4\u56de\u503c + */ + fire : function(eventType,eventData){ + var _self = this, + callbacks = _self._getCallbacks(eventType), + args = $.makeArray(arguments), + result; + if(!eventData){ + eventData = {}; + args.push(eventData); + } + if(!eventData.target){ + eventData.target = _self; + } + if(callbacks){ + result = callbacks.fireWith(_self,Array.prototype.slice.call(args,1)); + } + if(_self._isBubbles(eventType)){ + var bubbleTarget = _self._bubbleTarget; + if(bubbleTarget && bubbleTarget.fire){ + bubbleTarget.fire(eventType,eventData); + } + } + return result; + }, + /** + * \u6dfb\u52a0\u7ed1\u5b9a\u4e8b\u4ef6 + *
          
          +     *   //\u7ed1\u5b9a\u5355\u4e2a\u4e8b\u4ef6
          +     *   list.on('itemclick',function(ev){
          +     *     alert('21');
          +     *   });
          +     *   //\u7ed1\u5b9a\u591a\u4e2a\u4e8b\u4ef6
          +     *   list.on('itemrendered itemupdated',function(){
          +     *     //\u5217\u8868\u9879\u521b\u5efa\u3001\u66f4\u65b0\u65f6\u89e6\u53d1\u64cd\u4f5c
          +     *   });
          +     * 
          + * @param {String} eventType \u4e8b\u4ef6\u7c7b\u578b + * @param {Function} fn \u56de\u8c03\u51fd\u6570 + */ + on : function(eventType,fn){ + //\u4e00\u6b21\u76d1\u542c\u591a\u4e2a\u4e8b\u4ef6 + var arr = eventType.split(' '), + _self = this, + callbacks =null; + if(arr.length > 1){ + BUI.each(arr,function(name){ + _self.on(name,fn); + }); + }else{ + callbacks = _self._getCallbacks(eventType); + if(callbacks){ + callbacks.add(fn); + }else{ + _self.addEvents(eventType); + _self.on(eventType,fn); + } + } + return _self; + }, + /** + * \u79fb\u9664\u7ed1\u5b9a\u7684\u4e8b\u4ef6 + *
          
          +     *  //\u79fb\u9664\u6240\u6709\u4e8b\u4ef6
          +     *  list.off();
          +     *  
          +     *  //\u79fb\u9664\u7279\u5b9a\u4e8b\u4ef6
          +     *  function callback(ev){}
          +     *  list.on('click',callback);
          +     *
          +     *  list.off('click',callback);//\u9700\u8981\u4fdd\u5b58\u56de\u8c03\u51fd\u6570\u7684\u5f15\u7528
          +     * 
          +     * 
          + * @param {String} eventType \u4e8b\u4ef6\u7c7b\u578b + * @param {Function} fn \u56de\u8c03\u51fd\u6570 + */ + off : function(eventType,fn){ + if(!eventType && !fn){ + this.clearListeners(); + return this; + } + var _self = this, + callbacks = _self._getCallbacks(eventType); + if(callbacks){ + callbacks.remove(fn); + } + return _self; + }, + /** + * \u914d\u7f6e\u4e8b\u4ef6\u662f\u5426\u5141\u8bb8\u5192\u6ce1 + * @protected + * @param {String} eventType \u652f\u6301\u5192\u6ce1\u7684\u4e8b\u4ef6 + * @param {Object} cfg \u914d\u7f6e\u9879 + * @param {Boolean} cfg.bubbles \u662f\u5426\u652f\u6301\u5192\u6ce1 + */ + publish : function(eventType, cfg){ + var _self = this, + bubblesEvents = _self._bubblesEvents; + + if(cfg.bubbles){ + if(BUI.Array.indexOf(eventType,bubblesEvents) === -1){ + bubblesEvents.push(eventType); + } + }else{ + var index = BUI.Array.indexOf(eventType,bubblesEvents); + if(index !== -1){ + bubblesEvents.splice(index,1); + } + } + } + }); + + return Observable; +});/** + * @fileOverview UA,jQuery\u7684 $.browser \u5bf9\u8c61\u975e\u5e38\u96be\u4f7f\u7528 + * @ignore + * @author dxq613@gmail.com + */ +define('bui/ua',function(){ + + function numberify(s) { + var c = 0; + // convert '1.2.3.4' to 1.234 + return parseFloat(s.replace(/\./g, function () { + return (c++ === 0) ? '.' : ''; + })); + }; + + var UA = $.UA || (function(){ + var browser = $.browser, + versionNumber = numberify(browser.version), + /** + * \u6d4f\u89c8\u5668\u7248\u672c\u68c0\u6d4b + * @class BUI.UA + * @singleton + */ + ua = + { + /** + * ie \u7248\u672c + * @type {Number} + */ + ie : browser.msie && versionNumber, + + /** + * webkit \u7248\u672c + * @type {Number} + */ + webkit : browser.webkit && versionNumber, + /** + * opera \u7248\u672c + * @type {Number} + */ + opera : browser.opera && versionNumber, + /** + * mozilla \u706b\u72d0\u7248\u672c + * @type {Number} + */ + mozilla : browser.mozilla && versionNumber + }; + return ua; + })(); + + return UA; +});/** + * @fileOverview \u7531\u4e8ejQuery\u53ea\u6709 parseJSON \uff0c\u6ca1\u6709stringify\u6240\u4ee5\u4f7f\u7528\u8fc7\u7a0b\u4e0d\u65b9\u4fbf + * @ignore + */ +define('bui/json',['bui/ua'],function (require) { + + var win = window, + UA = require('bui/ua'), + JSON = win.JSON; + + // ie 8.0.7600.16315@win7 json \u6709\u95ee\u9898 + if (!JSON || UA['ie'] < 9) { + JSON = win.JSON = {}; + } + + function f(n) { + // Format integers to have at least two digits. + return n < 10 ? '0' + n : n; + } + + if (typeof Date.prototype.toJSON !== 'function') { + + Date.prototype.toJSON = function (key) { + + return isFinite(this.valueOf()) ? + this.getUTCFullYear() + '-' + + f(this.getUTCMonth() + 1) + '-' + + f(this.getUTCDate()) + 'T' + + f(this.getUTCHours()) + ':' + + f(this.getUTCMinutes()) + ':' + + f(this.getUTCSeconds()) + 'Z' : null; + }; + + String.prototype.toJSON = + Number.prototype.toJSON = + Boolean.prototype.toJSON = function (key) { + return this.valueOf(); + }; + } + + + var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, + escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, + gap, + indent, + meta = { // table of character substitutions + '\b': '\\b', + '\t': '\\t', + '\n': '\\n', + '\f': '\\f', + '\r': '\\r', + '"' : '\\"', + '\\': '\\\\' + }, + rep; + + function quote(string) { + + // If the string contains no control characters, no quote characters, and no + // backslash characters, then we can safely slap some quotes around it. + // Otherwise we must also replace the offending characters with safe escape + // sequences. + + escapable['lastIndex'] = 0; + return escapable.test(string) ? + '"' + string.replace(escapable, function (a) { + var c = meta[a]; + return typeof c === 'string' ? c : + '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); + }) + '"' : + '"' + string + '"'; + } + + function str(key, holder) { + + // Produce a string from holder[key]. + + var i, // The loop counter. + k, // The member key. + v, // The member value. + length, + mind = gap, + partial, + value = holder[key]; + + // If the value has a toJSON method, call it to obtain a replacement value. + + if (value && typeof value === 'object' && + typeof value.toJSON === 'function') { + value = value.toJSON(key); + } + + // If we were called with a replacer function, then call the replacer to + // obtain a replacement value. + + if (typeof rep === 'function') { + value = rep.call(holder, key, value); + } + + // What happens next depends on the value's type. + + switch (typeof value) { + case 'string': + return quote(value); + + case 'number': + + // JSON numbers must be finite. Encode non-finite numbers as null. + + return isFinite(value) ? String(value) : 'null'; + + case 'boolean': + case 'null': + + // If the value is a boolean or null, convert it to a string. Note: + // typeof null does not produce 'null'. The case is included here in + // the remote chance that this gets fixed someday. + + return String(value); + + // If the type is 'object', we might be dealing with an object or an array or + // null. + + case 'object': + + // Due to a specification blunder in ECMAScript, typeof null is 'object', + // so watch out for that case. + + if (!value) { + return 'null'; + } + + // Make an array to hold the partial results of stringifying this object value. + + gap += indent; + partial = []; + + // Is the value an array? + + if (Object.prototype.toString.apply(value) === '[object Array]') { + + // The value is an array. Stringify every element. Use null as a placeholder + // for non-JSON values. + + length = value.length; + for (i = 0; i < length; i += 1) { + partial[i] = str(i, value) || 'null'; + } + + // Join all of the elements together, separated with commas, and wrap them in + // brackets. + + v = partial.length === 0 ? '[]' : + gap ? '[\n' + gap + + partial.join(',\n' + gap) + '\n' + + mind + ']' : + '[' + partial.join(',') + ']'; + gap = mind; + return v; + } + + // If the replacer is an array, use it to select the members to be stringified. + + if (rep && typeof rep === 'object') { + length = rep.length; + for (i = 0; i < length; i += 1) { + k = rep[i]; + if (typeof k === 'string') { + v = str(k, value); + if (v) { + partial.push(quote(k) + (gap ? ': ' : ':') + v); + } + } + } + } else { + + // Otherwise, iterate through all of the keys in the object. + + for (k in value) { + if (Object.hasOwnProperty.call(value, k)) { + v = str(k, value); + if (v) { + partial.push(quote(k) + (gap ? ': ' : ':') + v); + } + } + } + } + + // Join all of the member texts together, separated with commas, + // and wrap them in braces. + + v = partial.length === 0 ? '{}' : + gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + + mind + '}' : '{' + partial.join(',') + '}'; + gap = mind; + return v; + } + } + + if (typeof JSON.stringify !== 'function') { + JSON.stringify = function (value, replacer, space) { + + // The stringify method takes a value and an optional replacer, and an optional + // space parameter, and returns a JSON text. The replacer can be a function + // that can replace values, or an array of strings that will select the keys. + // A default replacer method can be provided. Use of the space parameter can + // produce text that is more easily readable. + + var i; + gap = ''; + indent = ''; + + // If the space parameter is a number, make an indent string containing that + // many spaces. + + if (typeof space === 'number') { + for (i = 0; i < space; i += 1) { + indent += ' '; + } + + // If the space parameter is a string, it will be used as the indent string. + + } else if (typeof space === 'string') { + indent = space; + } + + // If there is a replacer, it must be a function or an array. + // Otherwise, throw an error. + + rep = replacer; + if (replacer && typeof replacer !== 'function' && + (typeof replacer !== 'object' || + typeof replacer.length !== 'number')) { + throw new Error('JSON.stringify'); + } + + // Make a fake root object containing our value under the key of ''. + // Return the result of stringifying the value. + + return str('', {'': value}); + }; + } + + function looseParse(data){ + try{ + return new Function('return ' + data + ';')(); + }catch(e){ + throw 'Json parse error!'; + } + } + /** + * JSON \u683c\u5f0f\u5316 + * @class BUI.JSON + * @singleton + */ + var JSON = { + /** + * \u8f6c\u6210json \u7b49\u540c\u4e8e$.parseJSON + * @method + * @param {String} jsonstring \u5408\u6cd5\u7684json \u5b57\u7b26\u4e32 + */ + parse : $.parseJSON, + /** + * \u4e1a\u52a1\u4e2d\u6709\u4e9b\u5b57\u7b26\u4e32\u7ec4\u6210\u7684json\u6570\u636e\u4e0d\u662f\u4e25\u683c\u7684json\u6570\u636e\uff0c\u5982\u4f7f\u7528\u5355\u5f15\u53f7\uff0c\u6216\u8005\u5c5e\u6027\u540d\u4e0d\u662f\u5b57\u7b26\u4e32 + * \u5982 \uff1a {a:'abc'} + * @method + * @param {String} jsonstring + */ + looseParse : looseParse, + /** + * \u5c06Json\u8f6c\u6210\u5b57\u7b26\u4e32 + * @method + * @param {Object} json json \u5bf9\u8c61 + */ + stringify : JSON.stringify + } + + return JSON; +});/** + * @fileOverview \u952e\u76d8\u503c + * @ignore + */ + +define('bui/keycode',function () { + + /** + * \u952e\u76d8\u6309\u952e\u5bf9\u5e94\u7684\u6570\u5b57\u503c + * @class BUI.KeyCode + * @singleton + */ + var keyCode = { + /** Key constant @type Number */ + BACKSPACE: 8, + /** Key constant @type Number */ + TAB: 9, + /** Key constant @type Number */ + NUM_CENTER: 12, + /** Key constant @type Number */ + ENTER: 13, + /** Key constant @type Number */ + RETURN: 13, + /** Key constant @type Number */ + SHIFT: 16, + /** Key constant @type Number */ + CTRL: 17, + /** Key constant @type Number */ + ALT: 18, + /** Key constant @type Number */ + PAUSE: 19, + /** Key constant @type Number */ + CAPS_LOCK: 20, + /** Key constant @type Number */ + ESC: 27, + /** Key constant @type Number */ + SPACE: 32, + /** Key constant @type Number */ + PAGE_UP: 33, + /** Key constant @type Number */ + PAGE_DOWN: 34, + /** Key constant @type Number */ + END: 35, + /** Key constant @type Number */ + HOME: 36, + /** Key constant @type Number */ + LEFT: 37, + /** Key constant @type Number */ + UP: 38, + /** Key constant @type Number */ + RIGHT: 39, + /** Key constant @type Number */ + DOWN: 40, + /** Key constant @type Number */ + PRINT_SCREEN: 44, + /** Key constant @type Number */ + INSERT: 45, + /** Key constant @type Number */ + DELETE: 46, + /** Key constant @type Number */ + ZERO: 48, + /** Key constant @type Number */ + ONE: 49, + /** Key constant @type Number */ + TWO: 50, + /** Key constant @type Number */ + THREE: 51, + /** Key constant @type Number */ + FOUR: 52, + /** Key constant @type Number */ + FIVE: 53, + /** Key constant @type Number */ + SIX: 54, + /** Key constant @type Number */ + SEVEN: 55, + /** Key constant @type Number */ + EIGHT: 56, + /** Key constant @type Number */ + NINE: 57, + /** Key constant @type Number */ + A: 65, + /** Key constant @type Number */ + B: 66, + /** Key constant @type Number */ + C: 67, + /** Key constant @type Number */ + D: 68, + /** Key constant @type Number */ + E: 69, + /** Key constant @type Number */ + F: 70, + /** Key constant @type Number */ + G: 71, + /** Key constant @type Number */ + H: 72, + /** Key constant @type Number */ + I: 73, + /** Key constant @type Number */ + J: 74, + /** Key constant @type Number */ + K: 75, + /** Key constant @type Number */ + L: 76, + /** Key constant @type Number */ + M: 77, + /** Key constant @type Number */ + N: 78, + /** Key constant @type Number */ + O: 79, + /** Key constant @type Number */ + P: 80, + /** Key constant @type Number */ + Q: 81, + /** Key constant @type Number */ + R: 82, + /** Key constant @type Number */ + S: 83, + /** Key constant @type Number */ + T: 84, + /** Key constant @type Number */ + U: 85, + /** Key constant @type Number */ + V: 86, + /** Key constant @type Number */ + W: 87, + /** Key constant @type Number */ + X: 88, + /** Key constant @type Number */ + Y: 89, + /** Key constant @type Number */ + Z: 90, + /** Key constant @type Number */ + CONTEXT_MENU: 93, + /** Key constant @type Number */ + NUM_ZERO: 96, + /** Key constant @type Number */ + NUM_ONE: 97, + /** Key constant @type Number */ + NUM_TWO: 98, + /** Key constant @type Number */ + NUM_THREE: 99, + /** Key constant @type Number */ + NUM_FOUR: 100, + /** Key constant @type Number */ + NUM_FIVE: 101, + /** Key constant @type Number */ + NUM_SIX: 102, + /** Key constant @type Number */ + NUM_SEVEN: 103, + /** Key constant @type Number */ + NUM_EIGHT: 104, + /** Key constant @type Number */ + NUM_NINE: 105, + /** Key constant @type Number */ + NUM_MULTIPLY: 106, + /** Key constant @type Number */ + NUM_PLUS: 107, + /** Key constant @type Number */ + NUM_MINUS: 109, + /** Key constant @type Number */ + NUM_PERIOD: 110, + /** Key constant @type Number */ + NUM_DIVISION: 111, + /** Key constant @type Number */ + F1: 112, + /** Key constant @type Number */ + F2: 113, + /** Key constant @type Number */ + F3: 114, + /** Key constant @type Number */ + F4: 115, + /** Key constant @type Number */ + F5: 116, + /** Key constant @type Number */ + F6: 117, + /** Key constant @type Number */ + F7: 118, + /** Key constant @type Number */ + F8: 119, + /** Key constant @type Number */ + F9: 120, + /** Key constant @type Number */ + F10: 121, + /** Key constant @type Number */ + F11: 122, + /** Key constant @type Number */ + F12: 123 + }; + + return keyCode; +});/* + * @fileOverview Date Format 1.2.3 + * @ignore + * (c) 2007-2009 Steven Levithan + * MIT license + * + * Includes enhancements by Scott Trenda + * and Kris Kowal + * + * Accepts a date, a mask, or a date and a mask. + * Returns a formatted version of the given date. + * The date defaults to the current date/time. + * The mask defaults to dateFormat.masks.default. + * + * Last modified by jayli \u62d4\u8d64 2010-09-09 + * - \u589e\u52a0\u4e2d\u6587\u7684\u652f\u6301 + * - \u7b80\u5355\u7684\u672c\u5730\u5316\uff0c\u5bf9w\uff08\u661f\u671fx\uff09\u7684\u652f\u6301 + * + */ +define('bui/date',function () { + + var dateRegex = /^(?:(?!0000)[0-9]{4}([-/.]+)(?:(?:0?[1-9]|1[0-2])\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\1(?:29|30)|(?:0?[13578]|1[02])\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-/.]?)0?2\2(?:29))(\s+([01]|([01][0-9]|2[0-3])):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9]))?$/; + function dateParse(data, s) { + + var date = null; + s = s || '-'; + //Convert to date + if (!(date instanceof Date)) { + if(BUI.isString(data)){ + date = new Date(data.replace(/-/g,'/')); + }else{ + date = new Date(data); + } + + } + else { + return date; + } + + // Validate + if (date instanceof Date && (date != 'Invalid Date') && !isNaN(date)) { + return date; + } + else { + var arr = data.toString().split(s); + if (arr.length == 3) { + date = new Date(arr[0], (parseInt(arr[1], 10) - 1), arr[2]); + if (date instanceof Date && (date != 'Invalid Date') && !isNaN(date)) { + return date; + } + } + } + return null; + + } + + function DateAdd(strInterval, NumDay, dtDate) { + var dtTmp = new Date(dtDate); + if (isNaN(dtTmp)){ + dtTmp = new Date(); + } + switch (strInterval) { + case 's': + dtTmp = new Date(dtTmp.getTime() + (1000 * parseInt(NumDay))); + break; + case 'n': + dtTmp = new Date(dtTmp.getTime() + (60000 * parseInt(NumDay))); + break; + case 'h': + dtTmp = new Date(dtTmp.getTime() + (3600000 * parseInt(NumDay))); + break; + case 'd': + dtTmp = new Date(dtTmp.getTime() + (86400000 * parseInt(NumDay))); + break; + case 'w': + dtTmp = new Date(dtTmp.getTime() + ((86400000 * 7) * parseInt(NumDay))); + break; + case 'm': + dtTmp = new Date(dtTmp.getFullYear(), (dtTmp.getMonth())+parseInt(NumDay), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); + break; + case 'y': + //alert(dtTmp.getFullYear()); + dtTmp = new Date(dtTmp.getFullYear()+parseInt(NumDay), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); + //alert(dtTmp); + break; + } + return dtTmp; + } + + var dateFormat = function () { + var token = /w{1}|d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g, + timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g, + timezoneClip = /[^-+\dA-Z]/g, + pad = function (val, len) { + val = String(val); + len = len || 2; + while (val.length < len) { + val = '0' + val; + } + return val; + }, + // Some common format strings + masks = { + 'default':'ddd mmm dd yyyy HH:MM:ss', + shortDate:'m/d/yy', + //mediumDate: 'mmm d, yyyy', + longDate:'mmmm d, yyyy', + fullDate:'dddd, mmmm d, yyyy', + shortTime:'h:MM TT', + //mediumTime: 'h:MM:ss TT', + longTime:'h:MM:ss TT Z', + isoDate:'yyyy-mm-dd', + isoTime:'HH:MM:ss', + isoDateTime:"yyyy-mm-dd'T'HH:MM:ss", + isoUTCDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'", + + //added by jayli + localShortDate:'yy\u5e74mm\u6708dd\u65e5', + localShortDateTime:'yy\u5e74mm\u6708dd\u65e5 hh:MM:ss TT', + localLongDate:'yyyy\u5e74mm\u6708dd\u65e5', + localLongDateTime:'yyyy\u5e74mm\u6708dd\u65e5 hh:MM:ss TT', + localFullDate:'yyyy\u5e74mm\u6708dd\u65e5 w', + localFullDateTime:'yyyy\u5e74mm\u6708dd\u65e5 w hh:MM:ss TT' + + }, + + // Internationalization strings + i18n = { + dayNames:[ + 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', + 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', + '\u661f\u671f\u65e5', '\u661f\u671f\u4e00', '\u661f\u671f\u4e8c', '\u661f\u671f\u4e09', '\u661f\u671f\u56db', '\u661f\u671f\u4e94', '\u661f\u671f\u516d' + ], + monthNames:[ + 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', + 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' + ] + }; + + // Regexes and supporting functions are cached through closure + return function (date, mask, utc) { + + // You can't provide utc if you skip other args (use the "UTC:" mask prefix) + if (arguments.length === 1 && Object.prototype.toString.call(date) === '[object String]' && !/\d/.test(date)) { + mask = date; + date = undefined; + } + + // Passing date through Date applies Date.parse, if necessary + date = date ? new Date(date) : new Date(); + if (isNaN(date)) { + throw SyntaxError('invalid date'); + } + + mask = String(masks[mask] || mask || masks['default']); + + // Allow setting the utc argument via the mask + if (mask.slice(0, 4) === 'UTC:') { + mask = mask.slice(4); + utc = true; + } + + var _ = utc ? 'getUTC' : 'get', + d = date[_ + 'Date'](), + D = date[_ + 'Day'](), + m = date[_ + 'Month'](), + y = date[_ + 'FullYear'](), + H = date[_ + 'Hours'](), + M = date[_ + 'Minutes'](), + s = date[_ + 'Seconds'](), + L = date[_ + 'Milliseconds'](), + o = utc ? 0 : date.getTimezoneOffset(), + flags = { + d:d, + dd:pad(d, undefined), + ddd:i18n.dayNames[D], + dddd:i18n.dayNames[D + 7], + w:i18n.dayNames[D + 14], + m:m + 1, + mm:pad(m + 1, undefined), + mmm:i18n.monthNames[m], + mmmm:i18n.monthNames[m + 12], + yy:String(y).slice(2), + yyyy:y, + h:H % 12 || 12, + hh:pad(H % 12 || 12, undefined), + H:H, + HH:pad(H, undefined), + M:M, + MM:pad(M, undefined), + s:s, + ss:pad(s, undefined), + l:pad(L, 3), + L:pad(L > 99 ? Math.round(L / 10) : L, undefined), + t:H < 12 ? 'a' : 'p', + tt:H < 12 ? 'am' : 'pm', + T:H < 12 ? 'A' : 'P', + TT:H < 12 ? 'AM' : 'PM', + Z:utc ? 'UTC' : (String(date).match(timezone) || ['']).pop().replace(timezoneClip, ''), + o:(o > 0 ? '-' : '+') + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4), + S:['th', 'st', 'nd', 'rd'][d % 10 > 3 ? 0 : (d % 100 - d % 10 !== 10) * d % 10] + }; + + return mask.replace(token, function ($0) { + return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1); + }); + }; + }(); + + /** + * \u65e5\u671f\u7684\u5de5\u5177\u65b9\u6cd5 + * @class BUI.Date + */ + var DateUtil = { + /** + * \u65e5\u671f\u52a0\u6cd5 + * @param {String} strInterval \u52a0\u6cd5\u7684\u7c7b\u578b\uff0cs(\u79d2),n(\u5206),h(\u65f6),d(\u5929),w(\u5468),m(\u6708),y(\u5e74) + * @param {Number} Num \u6570\u91cf\uff0c\u5982\u679c\u4e3a\u8d1f\u6570\uff0c\u5219\u4e3a\u51cf\u6cd5 + * @param {Date} dtDate \u8d77\u59cb\u65e5\u671f\uff0c\u9ed8\u8ba4\u4e3a\u6b64\u65f6 + */ + add : function(strInterval,Num,dtDate){ + return DateAdd(strInterval,Num,dtDate); + }, + /** + * \u5c0f\u65f6\u7684\u52a0\u6cd5 + * @param {Number} hours \u5c0f\u65f6 + * @param {Date} date \u8d77\u59cb\u65e5\u671f + */ + addHour : function(hours,date){ + return DateAdd('h',hours,date); + }, + /** + * \u5206\u7684\u52a0\u6cd5 + * @param {Number} minutes \u5206 + * @param {Date} date \u8d77\u59cb\u65e5\u671f + */ + addMinute : function(minutes,date){ + return DateAdd('n',minutes,date); + }, + /** + * \u79d2\u7684\u52a0\u6cd5 + * @param {Number} seconds \u79d2 + * @param {Date} date \u8d77\u59cb\u65e5\u671f + */ + addSecond : function(seconds,date){ + return DateAdd('s',seconds,date); + }, + /** + * \u5929\u7684\u52a0\u6cd5 + * @param {Number} days \u5929\u6570 + * @param {Date} date \u8d77\u59cb\u65e5\u671f + */ + addDay : function(days,date){ + return DateAdd('d',days,date); + }, + /** + * \u589e\u52a0\u5468 + * @param {Number} weeks \u5468\u6570 + * @param {Date} date \u8d77\u59cb\u65e5\u671f + */ + addWeek : function(weeks,date){ + return DateAdd('w',weeks,date); + }, + /** + * \u589e\u52a0\u6708 + * @param {Number} months \u6708\u6570 + * @param {Date} date \u8d77\u59cb\u65e5\u671f + */ + addMonths : function(months,date){ + return DateAdd('m',months,date); + }, + /** + * \u589e\u52a0\u5e74 + * @param {Number} years \u5e74\u6570 + * @param {Date} date \u8d77\u59cb\u65e5\u671f + */ + addYear : function(years,date){ + return DateAdd('y',years,date); + }, + /** + * \u65e5\u671f\u662f\u5426\u76f8\u7b49\uff0c\u5ffd\u7565\u65f6\u95f4 + * @param {Date} d1 \u65e5\u671f\u5bf9\u8c61 + * @param {Date} d2 \u65e5\u671f\u5bf9\u8c61 + * @return {Boolean} \u662f\u5426\u76f8\u7b49 + */ + isDateEquals : function(d1,d2){ + + return d1.getFullYear() === d2.getFullYear() && d1.getMonth() === d2.getMonth() && d1.getDate() === d2.getDate(); + }, + /** + * \u65e5\u671f\u65f6\u95f4\u662f\u5426\u76f8\u7b49\uff0c\u5305\u542b\u65f6\u95f4 + * @param {Date} d1 \u65e5\u671f\u5bf9\u8c61 + * @param {Date} d2 \u65e5\u671f\u5bf9\u8c61 + * @return {Boolean} \u662f\u5426\u76f8\u7b49 + */ + isEquals : function (d1,d2) { + if(d1 == d2){ + return true; + } + if(!d1 || !d2){ + return false; + } + if(!d1.getTime || !d2.getTime){ + return false; + } + return d1.getTime() == d2.getTime(); + }, + /** + * \u5b57\u7b26\u4e32\u662f\u5426\u662f\u6709\u6548\u7684\u65e5\u671f\u7c7b\u578b + * @param {String} str \u5b57\u7b26\u4e32 + * @return \u5b57\u7b26\u4e32\u662f\u5426\u80fd\u8f6c\u6362\u6210\u65e5\u671f + */ + isDateString : function(str){ + return dateRegex.test(str); + }, + /** + * \u5c06\u65e5\u671f\u683c\u5f0f\u5316\u6210\u5b57\u7b26\u4e32 + * @param {Date} date \u65e5\u671f + * @param {String} mask \u683c\u5f0f\u5316\u65b9\u5f0f + * @param {Date} utc \u662f\u5426utc\u65f6\u95f4 + * @return {String} \u65e5\u671f\u7684\u5b57\u7b26\u4e32 + */ + format:function (date, mask, utc) { + return dateFormat(date, mask, utc); + }, + /** + * \u8f6c\u6362\u6210\u65e5\u671f + * @param {String|Date} date \u5b57\u7b26\u4e32\u6216\u8005\u65e5\u671f + * @param {String} s \u65f6\u95f4\u7684\u5206\u5272\u7b26\uff0c\u5982 2001-01-01\u4e2d\u7684 '-' + * @return {Date} \u65e5\u671f\u5bf9\u8c61 + */ + parse:function (date, s) { + return dateParse(date, s); + }, + /** + * \u5f53\u524d\u5929 + * @return {Date} \u5f53\u524d\u5929 00:00:00 + */ + today : function(){ + var now = new Date(); + return new Date(now.getFullYear(),now.getMonth(),now.getDate()); + }, + /** + * \u8fd4\u56de\u5f53\u524d\u65e5\u671f + * @return {Date} \u65e5\u671f\u7684 00:00:00 + */ + getDate : function(date){ + return new Date(date.getFullYear(),date.getMonth(),date.getDate()); + } + }; + + return DateUtil; +});/** + * @fileOverview Base UI\u63a7\u4ef6\u7684\u6700\u57fa\u7840\u7684\u7c7b + * @author yiminghe@gmail.com + * copied by dxq613@gmail.com + * @ignore + */ +define('bui/base',['bui/observable'],function(require){ + + var INVALID = {}, + Observable = require('bui/observable'); + + function ensureNonEmpty(obj, name, create) { + var ret = obj[name] || {}; + if (create) { + obj[name] = ret; + } + return ret; + } + + function normalFn(host, method) { + if (BUI.isString(method)) { + return host[method]; + } + return method; + } + + function __fireAttrChange(self, when, name, prevVal, newVal) { + var attrName = name; + return self.fire(when + BUI.ucfirst(name) + 'Change', { + attrName: attrName, + prevVal: prevVal, + newVal: newVal + }); + } + + function setInternal(self, name, value, opts, attrs) { + opts = opts || {}; + + var ret, + subVal, + prevVal; + + prevVal = self.get(name); + + //\u5982\u679c\u672a\u6539\u53d8\u503c\u4e0d\u8fdb\u884c\u4fee\u6539 + if(!$.isPlainObject(value) && !BUI.isArray(value) && prevVal === value){ + return undefined; + } + // check before event + if (!opts['silent']) { + if (false === __fireAttrChange(self, 'before', name, prevVal, value)) { + return false; + } + } + // set it + ret = self._set(name, value, opts); + + if (ret === false) { + return ret; + } + + // fire after event + if (!opts['silent']) { + value = self.getAttrVals()[name]; + __fireAttrChange(self, 'after', name, prevVal, value); + } + return self; + } + + /** + * \u57fa\u7840\u7c7b\uff0c\u6b64\u7c7b\u63d0\u4f9b\u4ee5\u4e0b\u529f\u80fd + * - \u63d0\u4f9b\u8bbe\u7f6e\u83b7\u53d6\u5c5e\u6027 + * - \u63d0\u4f9b\u4e8b\u4ef6\u652f\u6301 + * - \u5c5e\u6027\u53d8\u5316\u65f6\u4f1a\u89e6\u53d1\u5bf9\u5e94\u7684\u4e8b\u4ef6 + * - \u5c06\u914d\u7f6e\u9879\u81ea\u52a8\u8f6c\u6362\u6210\u5c5e\u6027 + * + * ** \u521b\u5efa\u7c7b\uff0c\u7ee7\u627fBUI.Base\u7c7b ** + *
          
          +   *   var Control = function(cfg){
          +   *     Control.superclass.constructor.call(this,cfg); //\u8c03\u7528BUI.Base\u7684\u6784\u9020\u65b9\u6cd5\uff0c\u5c06\u914d\u7f6e\u9879\u53d8\u6210\u5c5e\u6027
          +   *   };
          +   *
          +   *   BUI.extend(Control,BUI.Base);
          +   * 
          + * + * ** \u58f0\u660e\u9ed8\u8ba4\u5c5e\u6027 ** + *
          
          +   *   Control.ATTRS = {
          +   *     id : {
          +   *       value : 'id' //value \u662f\u6b64\u5c5e\u6027\u7684\u9ed8\u8ba4\u503c
          +   *     },
          +   *     renderTo : {
          +   *      
          +   *     },
          +   *     el : {
          +   *       valueFn : function(){                 //\u7b2c\u4e00\u6b21\u8c03\u7528\u7684\u65f6\u5019\u5c06renderTo\u7684DOM\u8f6c\u6362\u6210el\u5c5e\u6027
          +   *         return $(this.get('renderTo'));
          +   *       }
          +   *     },
          +   *     text : {
          +   *       getter : function(){ //getter \u7528\u4e8e\u83b7\u53d6\u503c\uff0c\u800c\u4e0d\u662f\u8bbe\u7f6e\u7684\u503c
          +   *         return this.get('el').val();
          +   *       },
          +   *       setter : function(v){ //\u4e0d\u4ec5\u4ec5\u662f\u8bbe\u7f6e\u503c\uff0c\u53ef\u4ee5\u8fdb\u884c\u76f8\u5e94\u7684\u64cd\u4f5c
          +   *         this.get('el').val(v);
          +   *       }
          +   *     }
          +   *   };
          +   * 
          + * + * ** \u58f0\u660e\u7c7b\u7684\u65b9\u6cd5 ** + *
          
          +   *   BUI.augment(Control,{
          +   *     getText : function(){
          +   *       return this.get('text');   //\u53ef\u4ee5\u7528get\u65b9\u6cd5\u83b7\u53d6\u5c5e\u6027\u503c
          +   *     },
          +   *     setText : function(txt){
          +   *       this.set('text',txt);      //\u4f7f\u7528set \u8bbe\u7f6e\u5c5e\u6027\u503c
          +   *     }
          +   *   });
          +   * 
          + * + * ** \u521b\u5efa\u5bf9\u8c61 ** + *
          
          +   *   var c = new Control({
          +   *     id : 'oldId',
          +   *     text : '\u6d4b\u8bd5\u6587\u672c',
          +   *     renderTo : '#t1'
          +   *   });
          +   *
          +   *   var el = c.get(el); //$(#t1);
          +   *   el.val(); //text\u7684\u503c \uff1a '\u6d4b\u8bd5\u6587\u672c'
          +   *   c.set('text','\u4fee\u6539\u7684\u503c');
          +   *   el.val();  //'\u4fee\u6539\u7684\u503c'
          +   *
          +   *   c.set('id','newId') //\u4f1a\u89e6\u53d12\u4e2a\u4e8b\u4ef6\uff1a beforeIdChange,afterIdChange 2\u4e2a\u4e8b\u4ef6 ev.newVal \u548cev.prevVal\u6807\u793a\u65b0\u65e7\u503c
          +   * 
          + * @class BUI.Base + * @abstract + * @extends BUI.Observable + * @param {Object} config \u914d\u7f6e\u9879 + */ + var Base = function(config){ + var _self = this, + c = _self.constructor, + constructors = []; + + Observable.apply(this,arguments); + // define + while (c) { + constructors.push(c); + //_self.addAttrs(c['ATTRS']); + c = c.superclass ? c.superclass.constructor : null; + } + //\u4ee5\u5f53\u524d\u5bf9\u8c61\u7684\u5c5e\u6027\u6700\u7ec8\u6dfb\u52a0\u5230\u5c5e\u6027\u4e2d\uff0c\u8986\u76d6\u4e4b\u524d\u7684\u5c5e\u6027 + for (var i = constructors.length - 1; i >= 0; i--) { + _self.addAttrs(constructors[i]['ATTRS'],true); + }; + _self._initAttrs(config); + + }; + + Base.INVALID = INVALID; + + BUI.extend(Base,Observable); + + BUI.augment(Base, + { + /** + * \u6dfb\u52a0\u5c5e\u6027\u5b9a\u4e49 + * @protected + * @param {String} name \u5c5e\u6027\u540d + * @param {Object} attrConfig \u5c5e\u6027\u5b9a\u4e49 + * @param {Boolean} overrides \u662f\u5426\u8986\u76d6\u5b57\u6bb5 + */ + addAttr: function (name, attrConfig,overrides) { + var _self = this, + attrs = _self.getAttrs(), + cfg = BUI.cloneObject(attrConfig);//;//$.clone(attrConfig); + + if (!attrs[name]) { + attrs[name] = cfg; + } else if(overrides){ + BUI.mix(true,attrs[name], cfg); + } + return _self; + }, + /** + * \u6dfb\u52a0\u5c5e\u6027\u5b9a\u4e49 + * @protected + * @param {Object} attrConfigs An object with attribute name/configuration pairs. + * @param {Object} initialValues user defined initial values + * @param {Boolean} overrides \u662f\u5426\u8986\u76d6\u5b57\u6bb5 + */ + addAttrs: function (attrConfigs, initialValues,overrides) { + var _self = this; + if(!attrConfigs) + { + return _self; + } + if(typeof(initialValues) === 'boolean'){ + overrides = initialValues; + initialValues = null; + } + BUI.each(attrConfigs, function (attrConfig, name) { + _self.addAttr(name, attrConfig,overrides); + }); + if (initialValues) { + _self.set(initialValues); + } + return _self; + }, + /** + * \u662f\u5426\u5305\u542b\u6b64\u5c5e\u6027 + * @protected + * @param {String} name \u503c + * @return {Boolean} \u662f\u5426\u5305\u542b + */ + hasAttr : function(name){ + return name && this.getAttrs().hasOwnProperty(name); + }, + /** + * \u83b7\u53d6\u9ed8\u8ba4\u7684\u5c5e\u6027\u503c + * @protected + * @return {Object} \u5c5e\u6027\u503c\u7684\u952e\u503c\u5bf9 + */ + getAttrs : function(){ + return ensureNonEmpty(this, '__attrs', true); + }, + /** + * \u83b7\u53d6\u5c5e\u6027\u540d/\u5c5e\u6027\u503c\u952e\u503c\u5bf9 + * @protected + * @return {Object} \u5c5e\u6027\u5bf9\u8c61 + */ + getAttrVals: function(){ + return ensureNonEmpty(this, '__attrVals', true); + }, + /** + * \u83b7\u53d6\u5c5e\u6027\u503c\uff0c\u6240\u6709\u7684\u914d\u7f6e\u9879\u548c\u5c5e\u6027\u90fd\u53ef\u4ee5\u901a\u8fc7get\u65b9\u6cd5\u83b7\u53d6 + *
          
          +     *  var control = new Control({
          +     *   text : 'control text'
          +     *  });
          +     *  control.get('text'); //control text
          +     *
          +     *  control.set('customValue','value'); //\u4e34\u65f6\u53d8\u91cf
          +     *  control.get('customValue'); //value
          +     * 
          + * ** \u5c5e\u6027\u503c/\u914d\u7f6e\u9879 ** + *
           
          +     *   Control.ATTRS = { //\u58f0\u660e\u5c5e\u6027\u503c
          +     *     text : {
          +     *       valueFn : function(){},
          +     *       value : 'value',
          +     *       getter : function(v){} 
          +     *     }
          +     *   };
          +     *   var c = new Control({
          +     *     text : 'text value'
          +     *   });
          +     *   //get \u51fd\u6570\u53d6\u7684\u987a\u5e8f\u4e3a\uff1a\u662f\u5426\u6709\u4fee\u6539\u503c\uff08\u914d\u7f6e\u9879\u3001set)\u3001\u9ed8\u8ba4\u503c\uff08\u7b2c\u4e00\u6b21\u8c03\u7528\u6267\u884cvalueFn)\uff0c\u5982\u679c\u6709getter\uff0c\u5219\u5c06\u503c\u4f20\u5165getter\u8fd4\u56de
          +     *
          +     *   c.get('text') //text value
          +     *   c.set('text','new text');//\u4fee\u6539\u503c
          +     *   c.get('text');//new text
          +     * 
          + * @param {String} name \u5c5e\u6027\u540d + * @return {Object} \u5c5e\u6027\u503c + */ + get : function(name){ + var _self = this, + declared = _self.hasAttr(name), + attrVals = _self.getAttrVals(), + attrConfig, + getter, + ret; + + attrConfig = ensureNonEmpty(_self.getAttrs(), name); + getter = attrConfig['getter']; + + // get user-set value or default value + //user-set value takes privilege + ret = name in attrVals ? + attrVals[name] : + _self._getDefAttrVal(name); + + // invoke getter for this attribute + if (getter && (getter = normalFn(_self, getter))) { + ret = getter.call(_self, ret, name); + } + + return ret; + }, + /** + * @\u6e05\u7406\u6240\u6709\u5c5e\u6027\u503c + * @protected + */ + clearAttrVals : function(){ + this.__attrVals = {}; + }, + /** + * \u79fb\u9664\u5c5e\u6027\u5b9a\u4e49 + * @protected + */ + removeAttr: function (name) { + var _self = this; + + if (_self.hasAttr(name)) { + delete _self.getAttrs()[name]; + delete _self.getAttrVals()[name]; + } + + return _self; + }, + /** + * \u8bbe\u7f6e\u5c5e\u6027\u503c\uff0c\u4f1a\u89e6\u53d1before+Name+Change,\u548c after+Name+Change\u4e8b\u4ef6 + *
          
          +     *  control.on('beforeTextChange',function(ev){
          +     *    var newVal = ev.newVal,
          +     *      attrName = ev.attrName,
          +     *      preVal = ev.prevVal;
          +     *
          +     *    //TO DO
          +     *  });
          +     *  control.set('text','new text');  //\u6b64\u65f6\u89e6\u53d1 beforeTextChange,afterTextChange
          +     *  control.set('text','modify text',{silent : true}); //\u6b64\u65f6\u4e0d\u89e6\u53d1\u4e8b\u4ef6
          +     * 
          + * @param {String|Object} name \u5c5e\u6027\u540d + * @param {Object} value \u503c + * @param {Object} opts \u914d\u7f6e\u9879 + * @param {Boolean} opts.silent \u914d\u7f6e\u5c5e\u6027\u65f6\uff0c\u662f\u5426\u4e0d\u89e6\u53d1\u4e8b\u4ef6 + */ + set : function(name,value,opts){ + var _self = this; + if ($.isPlainObject(name)) { + opts = value; + var all = Object(name), + attrs = []; + + for (name in all) { + if (all.hasOwnProperty(name)) { + setInternal(_self, name, all[name], opts); + } + } + return _self; + } + return setInternal(_self, name, value, opts); + }, + /** + * \u8bbe\u7f6e\u5c5e\u6027\uff0c\u4e0d\u89e6\u53d1\u4e8b\u4ef6 + *
          
          +     *  control.setInternal('text','text');//\u6b64\u65f6\u4e0d\u89e6\u53d1\u4e8b\u4ef6
          +     * 
          + * @param {String} name \u5c5e\u6027\u540d + * @param {Object} value \u5c5e\u6027\u503c + * @return {Boolean|undefined} \u5982\u679c\u503c\u65e0\u6548\u5219\u8fd4\u56defalse,\u5426\u5219\u8fd4\u56deundefined + */ + setInternal : function(name, value, opts){ + return this._set(name, value, opts); + }, + //\u83b7\u53d6\u5c5e\u6027\u9ed8\u8ba4\u503c + _getDefAttrVal : function(name){ + var _self = this, + attrs = _self.getAttrs(), + attrConfig = ensureNonEmpty(attrs, name), + valFn = attrConfig.valueFn, + val; + + if (valFn && (valFn = normalFn(_self, valFn))) { + val = valFn.call(_self); + if (val !== undefined) { + attrConfig.value = val; + } + delete attrConfig.valueFn; + attrs[name] = attrConfig; + } + + return attrConfig.value; + }, + //\u4ec5\u4ec5\u8bbe\u7f6e\u5c5e\u6027\u503c + _set : function(name, value, opts){ + var _self = this, + setValue, + // if host does not have meta info corresponding to (name,value) + // then register on demand in order to collect all data meta info + // \u4e00\u5b9a\u8981\u6ce8\u518c\u5c5e\u6027\u5143\u6570\u636e\uff0c\u5426\u5219\u5176\u4ed6\u6a21\u5757\u901a\u8fc7 _attrs \u4e0d\u80fd\u679a\u4e3e\u5230\u6240\u6709\u6709\u6548\u5c5e\u6027 + // \u56e0\u4e3a\u5c5e\u6027\u5728\u58f0\u660e\u6ce8\u518c\u524d\u53ef\u4ee5\u76f4\u63a5\u8bbe\u7f6e\u503c + attrConfig = ensureNonEmpty(_self.getAttrs(), name, true), + setter = attrConfig['setter']; + + // if setter has effect + if (setter && (setter = normalFn(_self, setter))) { + setValue = setter.call(_self, value, name); + } + + if (setValue === INVALID) { + return false; + } + + if (setValue !== undefined) { + value = setValue; + } + + // finally set + _self.getAttrVals()[name] = value; + }, + //\u521d\u59cb\u5316\u5c5e\u6027 + _initAttrs : function(config){ + var _self = this; + if (config) { + for (var attr in config) { + if (config.hasOwnProperty(attr)) { + // \u7528\u6237\u8bbe\u7f6e\u4f1a\u8c03\u7528 setter/validator \u7684\uff0c\u4f46\u4e0d\u4f1a\u89e6\u53d1\u5c5e\u6027\u53d8\u5316\u4e8b\u4ef6 + _self._set(attr, config[attr]); + } + + } + } + } + }); + + //BUI.Base = Base; + return Base; +});/** + * @fileOverview Component\u547d\u540d\u7a7a\u95f4\u7684\u5165\u53e3\u6587\u4ef6 + * @ignore + */ + +define('bui/component',['bui/component/manage','bui/component/uibase','bui/component/view','bui/component/controller'],function (require) { + /** + * @class BUI.Component + *

          + * + *

          + * \u63a7\u4ef6\u57fa\u7c7b\u7684\u547d\u540d\u7a7a\u95f4 + */ + var Component = {}; + + BUI.mix(Component,{ + Manager : require('bui/component/manage'), + UIBase : require('bui/component/uibase'), + View : require('bui/component/view'), + Controller : require('bui/component/controller') + }); + + function create(component, self) { + var childConstructor, xclass; + if (component && (xclass = component.xclass)) { + if (self && !component.prefixCls) { + component.prefixCls = self.get('prefixCls'); + } + childConstructor = Component.Manager.getConstructorByXClass(xclass); + if (!childConstructor) { + BUI.error('can not find class by xclass desc : ' + xclass); + } + component = new childConstructor(component); + } + return component; + } + + /** + * \u6839\u636eXclass\u521b\u5efa\u5bf9\u8c61 + * @method + * @static + * @param {Object} component \u63a7\u4ef6\u7684\u914d\u7f6e\u9879\u6216\u8005\u63a7\u4ef6 + * @param {Object} self \u7236\u7c7b\u5b9e\u4f8b + * @return {Object} \u5b9e\u4f8b\u5bf9\u8c61 + */ + Component.create = create; + + return Component; +});/** + * @fileOverview Base UI\u63a7\u4ef6\u7684\u7ba1\u7406\u7c7b + * @author yiminghe@gmail.com + * copied by dxq613@gmail.com + * @ignore + */ + + + +//\u63a7\u4ef6\u7c7b\u7684\u7ba1\u7406\u5668 +define('bui/component/manage',function(require){ + + var uis = { + // \u4e0d\u5e26\u524d\u7f00 prefixCls + /* + "menu" :{ + priority:0, + constructor:Menu + } + */ + }; + + function getConstructorByXClass(cls) { + var cs = cls.split(/\s+/), + p = -1, + t, + ui = null; + for (var i = 0; i < cs.length; i++) { + var uic = uis[cs[i]]; + if (uic && (t = uic.priority) > p) { + p = t; + ui = uic.constructor; + } + } + return ui; + } + + function getXClassByConstructor(constructor) { + for (var u in uis) { + var ui = uis[u]; + if (ui.constructor == constructor) { + return u; + } + } + return 0; + } + + function setConstructorByXClass(cls, uic) { + if (BUI.isFunction(uic)) { + uis[cls] = { + constructor:uic, + priority:0 + }; + } else { + uic.priority = uic.priority || 0; + uis[cls] = uic; + } + } + + + function getCssClassWithPrefix(cls) { + var cs = $.trim(cls).split(/\s+/); + for (var i = 0; i < cs.length; i++) { + if (cs[i]) { + cs[i] = this.get('prefixCls') + cs[i]; + } + } + return cs.join(' '); + } + + + + var componentInstances = {}; + + /** + * Manage component metadata. + * @class BUI.Component.Manager + * @singleton + */ + var Manager ={ + + __instances:componentInstances, + /** + * \u6bcf\u5b9e\u4f8b\u5316\u4e00\u4e2a\u63a7\u4ef6\uff0c\u5c31\u6ce8\u518c\u5230\u7ba1\u7406\u5668\u4e0a + * @param {String} id \u63a7\u4ef6 id + * @param {BUI.Component.Controller} component \u63a7\u4ef6\u5bf9\u8c61 + */ + addComponent:function (id, component) { + componentInstances[id] = component; + }, + /** + * \u79fb\u9664\u6ce8\u518c\u7684\u63a7\u4ef6 + * @param {String} id \u63a7\u4ef6 id + */ + removeComponent:function (id) { + delete componentInstances[id]; + }, + + /** + * \u6839\u636eId\u83b7\u53d6\u63a7\u4ef6 + * @param {String} id \u7f16\u53f7 + * @return {BUI.Component.UIBase} \u7ee7\u627f UIBase\u7684\u7c7b\u5bf9\u8c61 + */ + getComponent:function (id) { + return componentInstances[id]; + }, + + getCssClassWithPrefix:getCssClassWithPrefix, + /** + * \u901a\u8fc7\u6784\u9020\u51fd\u6570\u83b7\u53d6xclass. + * @param {Function} constructor \u63a7\u4ef6\u7684\u6784\u9020\u51fd\u6570. + * @type {Function} + * @return {String} + * @method + */ + getXClassByConstructor:getXClassByConstructor, + /** + * \u901a\u8fc7xclass\u83b7\u53d6\u63a7\u4ef6\u7684\u6784\u9020\u51fd\u6570 + * @param {String} classNames Class names separated by space. + * @type {Function} + * @return {Function} + * @method + */ + getConstructorByXClass:getConstructorByXClass, + /** + * \u5c06 xclass \u540c\u6784\u9020\u51fd\u6570\u76f8\u5173\u8054. + * @type {Function} + * @param {String} className \u63a7\u4ef6\u7684xclass\u540d\u79f0. + * @param {Function} componentConstructor \u6784\u9020\u51fd\u6570 + * @method + */ + setConstructorByXClass:setConstructorByXClass + }; + + return Manager; +});/** + * @fileOverview uibase\u7684\u5165\u53e3\u6587\u4ef6 + * @ignore + */ +;(function(){ +var BASE = 'bui/component/uibase/'; +define('bui/component/uibase',[BASE + 'base',BASE + 'align',BASE + 'autoshow',BASE + 'autohide', + BASE + 'close',BASE + 'collapseable',BASE + 'drag',BASE + 'keynav',BASE + 'list', + BASE + 'listitem',BASE + 'mask',BASE + 'position',BASE + 'selection',BASE + 'stdmod', + BASE + 'decorate',BASE + 'tpl',BASE + 'childcfg',BASE + 'bindable',BASE + 'depends'],function(r){ + + var UIBase = r(BASE + 'base'); + + BUI.mix(UIBase,{ + Align : r(BASE + 'align'), + AutoShow : r(BASE + 'autoshow'), + AutoHide : r(BASE + 'autohide'), + Close : r(BASE + 'close'), + Collapseable : r(BASE + 'collapseable'), + Drag : r(BASE + 'drag'), + KeyNav : r(BASE + 'keynav'), + List : r(BASE + 'list'), + ListItem : r(BASE + 'listitem'), + Mask : r(BASE + 'mask'), + Position : r(BASE + 'position'), + Selection : r(BASE + 'selection'), + StdMod : r(BASE + 'stdmod'), + Decorate : r(BASE + 'decorate'), + Tpl : r(BASE + 'tpl'), + ChildCfg : r(BASE + 'childcfg'), + Bindable : r(BASE + 'bindable'), + Depends : r(BASE + 'depends') + }); + + BUI.mix(UIBase,{ + CloseView : UIBase.Close.View, + CollapseableView : UIBase.Collapseable.View, + ChildList : UIBase.List.ChildList, + /*DomList : UIBase.List.DomList, + DomListView : UIBase.List.DomList.View,*/ + ListItemView : UIBase.ListItem.View, + MaskView : UIBase.Mask.View, + PositionView : UIBase.Position.View, + StdModView : UIBase.StdMod.View, + TplView : UIBase.Tpl.View + }); + return UIBase; +}); +})(); +/** + * @fileOverview UI\u63a7\u4ef6\u7684\u6d41\u7a0b\u63a7\u5236 + * @author yiminghe@gmail.com + * copied by dxq613@gmail.com + * @ignore + */ +define('bui/component/uibase/base',['bui/component/manage'],function(require){ + + var Manager = require('bui/component/manage'), + + UI_SET = '_uiSet', + ATTRS = 'ATTRS', + ucfirst = BUI.ucfirst, + noop = $.noop, + Base = require('bui/base'); + /** + * \u6a21\u62df\u591a\u7ee7\u627f + * init attr using constructors ATTRS meta info + * @ignore + */ + function initHierarchy(host, config) { + callMethodByHierarchy(host, 'initializer', 'constructor'); + } + + function callMethodByHierarchy(host, mainMethod, extMethod) { + var c = host.constructor, + extChains = [], + ext, + main, + exts, + t; + + // define + while (c) { + + // \u6536\u96c6\u6269\u5c55\u7c7b + t = []; + if (exts = c.mixins) { + for (var i = 0; i < exts.length; i++) { + ext = exts[i]; + if (ext) { + if (extMethod != 'constructor') { + //\u53ea\u8c03\u7528\u771f\u6b63\u81ea\u5df1\u6784\u9020\u5668\u539f\u578b\u7684\u5b9a\u4e49\uff0c\u7ee7\u627f\u539f\u578b\u94fe\u4e0a\u7684\u4e0d\u8981\u7ba1 + if (ext.prototype.hasOwnProperty(extMethod)) { + ext = ext.prototype[extMethod]; + } else { + ext = null; + } + } + ext && t.push(ext); + } + } + } + + // \u6536\u96c6\u4e3b\u7c7b + // \u53ea\u8c03\u7528\u771f\u6b63\u81ea\u5df1\u6784\u9020\u5668\u539f\u578b\u7684\u5b9a\u4e49\uff0c\u7ee7\u627f\u539f\u578b\u94fe\u4e0a\u7684\u4e0d\u8981\u7ba1 !important + // \u6240\u4ee5\u4e0d\u7528\u81ea\u5df1\u5728 renderUI \u4e2d\u8c03\u7528 superclass.renderUI \u4e86\uff0cUIBase \u6784\u9020\u5668\u81ea\u52a8\u641c\u5bfb + // \u4ee5\u53ca initializer \u7b49\u540c\u7406 + if (c.prototype.hasOwnProperty(mainMethod) && (main = c.prototype[mainMethod])) { + t.push(main); + } + + // \u539f\u5730 reverse + if (t.length) { + extChains.push.apply(extChains, t.reverse()); + } + + c = c.superclass && c.superclass.constructor; + } + + // \u521d\u59cb\u5316\u51fd\u6570 + // \u987a\u5e8f\uff1a\u7236\u7c7b\u7684\u6240\u6709\u6269\u5c55\u7c7b\u51fd\u6570 -> \u7236\u7c7b\u5bf9\u5e94\u51fd\u6570 -> \u5b50\u7c7b\u7684\u6240\u6709\u6269\u5c55\u51fd\u6570 -> \u5b50\u7c7b\u5bf9\u5e94\u51fd\u6570 + for (i = extChains.length - 1; i >= 0; i--) { + extChains[i] && extChains[i].call(host); + } + } + + /** + * \u9500\u6bc1\u7ec4\u4ef6\u987a\u5e8f\uff1a \u5b50\u7c7b destructor -> \u5b50\u7c7b\u6269\u5c55 destructor -> \u7236\u7c7b destructor -> \u7236\u7c7b\u6269\u5c55 destructor + * @ignore + */ + function destroyHierarchy(host) { + var c = host.constructor, + extensions, + d, + i; + + while (c) { + // \u53ea\u89e6\u53d1\u8be5\u7c7b\u771f\u6b63\u7684\u6790\u6784\u5668\uff0c\u548c\u7236\u4eb2\u6ca1\u5173\u7cfb\uff0c\u6240\u4ee5\u4e0d\u8981\u5728\u5b50\u7c7b\u6790\u6784\u5668\u4e2d\u8c03\u7528 superclass + if (c.prototype.hasOwnProperty('destructor')) { + c.prototype.destructor.apply(host); + } + + if ((extensions = c.mixins)) { + for (i = extensions.length - 1; i >= 0; i--) { + d = extensions[i] && extensions[i].prototype.__destructor; + d && d.apply(host); + } + } + + c = c.superclass && c.superclass.constructor; + } + } + + /** + * \u6784\u5efa \u63d2\u4ef6 + * @ignore + */ + function constructPlugins(plugins) { + if(!plugins){ + return; + } + BUI.each(plugins, function (plugin,i) { + if (BUI.isFunction(plugin)) { + plugins[i] = new plugin(); + } + }); + } + + /** + * \u8c03\u7528\u63d2\u4ef6\u7684\u65b9\u6cd5 + * @ignore + */ + function actionPlugins(self, plugins, action) { + if(!plugins){ + return; + } + BUI.each(plugins, function (plugin,i) { + if (plugin[action]) { + plugin[action](self); + } + }); + } + + /** + * \u6839\u636e\u5c5e\u6027\u53d8\u5316\u8bbe\u7f6e UI + * @ignore + */ + function bindUI(self) { + var attrs = self.getAttrs(), + attr, + m; + + for (attr in attrs) { + if (attrs.hasOwnProperty(attr)) { + m = UI_SET + ucfirst(attr); + if (self[m]) { + // \u81ea\u52a8\u7ed1\u5b9a\u4e8b\u4ef6\u5230\u5bf9\u5e94\u51fd\u6570 + (function (attr, m) { + self.on('after' + ucfirst(attr) + 'Change', function (ev) { + // fix! \u9632\u6b62\u5192\u6ce1\u8fc7\u6765\u7684 + if (ev.target === self) { + self[m](ev.newVal, ev); + } + }); + })(attr, m); + } + } + } + } + + /** + * \u6839\u636e\u5f53\u524d\uff08\u521d\u59cb\u5316\uff09\u72b6\u6001\u6765\u8bbe\u7f6e UI + * @ignore + */ + function syncUI(self) { + var v, + f, + attrs = self.getAttrs(); + for (var a in attrs) { + if (attrs.hasOwnProperty(a)) { + var m = UI_SET + ucfirst(a); + //\u5b58\u5728\u65b9\u6cd5\uff0c\u5e76\u4e14\u7528\u6237\u8bbe\u7f6e\u4e86\u521d\u59cb\u503c\u6216\u8005\u5b58\u5728\u9ed8\u8ba4\u503c\uff0c\u5c31\u540c\u6b65\u72b6\u6001 + if ((f = self[m]) + // \u7528\u6237\u5982\u679c\u8bbe\u7f6e\u4e86\u663e\u5f0f\u4e0d\u540c\u6b65\uff0c\u5c31\u4e0d\u540c\u6b65\uff0c\u6bd4\u5982\u4e00\u4e9b\u503c\u4ece html \u4e2d\u8bfb\u53d6\uff0c\u4e0d\u9700\u8981\u540c\u6b65\u518d\u6b21\u8bbe\u7f6e + && attrs[a].sync !== false + && (v = self.get(a)) !== undefined) { + f.call(self, v); + } + } + } + } + + /** + * \u63a7\u4ef6\u5e93\u7684\u57fa\u7c7b\uff0c\u5305\u62ec\u63a7\u4ef6\u7684\u751f\u547d\u5468\u671f,\u4e0b\u9762\u662f\u57fa\u672c\u7684\u6269\u5c55\u7c7b + *

          + * + *

          + * @class BUI.Component.UIBase + * @extends BUI.Base + * @param {Object} config \u914d\u7f6e\u9879 + */ + var UIBase = function(config){ + + var _self = this, + id; + + // \u8bfb\u53d6\u7528\u6237\u8bbe\u7f6e\u7684\u5c5e\u6027\u503c\u5e76\u8bbe\u7f6e\u5230\u81ea\u8eab + Base.apply(_self, arguments); + + //\u4fdd\u5b58\u7528\u6237\u4f20\u5165\u7684\u914d\u7f6e\u9879 + _self.setInternal('userConfig',config); + // \u6309\u7167\u7c7b\u5c42\u6b21\u6267\u884c\u521d\u59cb\u51fd\u6570\uff0c\u4e3b\u7c7b\u6267\u884c initializer \u51fd\u6570\uff0c\u6269\u5c55\u7c7b\u6267\u884c\u6784\u9020\u5668\u51fd\u6570 + initHierarchy(_self, config); + + var listener, + n, + plugins = _self.get('plugins'), + listeners = _self.get('listeners'); + + constructPlugins(plugins); + + var xclass= _self.get('xclass'); + if(xclass){ + _self.__xclass = xclass;//debug \u65b9\u4fbf + } + actionPlugins(_self, plugins, 'initializer'); + + // \u662f\u5426\u81ea\u52a8\u6e32\u67d3 + config && config.autoRender && _self.render(); + + }; + + UIBase.ATTRS = + { + + + /** + * \u7528\u6237\u4f20\u5165\u7684\u914d\u7f6e\u9879 + * @type {Object} + * @readOnly + * @protected + */ + userConfig : { + + }, + /** + * \u662f\u5426\u81ea\u52a8\u6e32\u67d3,\u5982\u679c\u4e0d\u81ea\u52a8\u6e32\u67d3\uff0c\u9700\u8981\u7528\u6237\u8c03\u7528 render()\u65b9\u6cd5 + *
          
          +     *  //\u9ed8\u8ba4\u72b6\u6001\u4e0b\u521b\u5efa\u5bf9\u8c61\uff0c\u5e76\u6ca1\u6709\u8fdb\u884crender
          +     *  var control = new Control();
          +     *  control.render(); //\u9700\u8981\u8c03\u7528render\u65b9\u6cd5
          +     *
          +     *  //\u8bbe\u7f6eautoRender\u540e\uff0c\u4e0d\u9700\u8981\u8c03\u7528render\u65b9\u6cd5
          +     *  var control = new Control({
          +     *   autoRender : true
          +     *  });
          +     * 
          + * @cfg {Boolean} autoRender + */ + /** + * \u662f\u5426\u81ea\u52a8\u6e32\u67d3,\u5982\u679c\u4e0d\u81ea\u52a8\u6e32\u67d3\uff0c\u9700\u8981\u7528\u6237\u8c03\u7528 render()\u65b9\u6cd5 + * @type {Boolean} + * @ignore + */ + autoRender : { + value : false + }, + /** + * @type {Object} + * \u4e8b\u4ef6\u5904\u7406\u51fd\u6570: + * { + * 'click':function(e){} + * } + * @ignore + */ + listeners: { + value: {} + }, + /** + * \u63d2\u4ef6\u96c6\u5408 + *
          
          +     *  var grid = new Grid({
          +     *    columns : [{},{}],
          +     *    plugins : [Grid.Plugins.RadioSelection]
          +     *  });
          +     * 
          + * @cfg {Array} plugins + */ + /** + * \u63d2\u4ef6\u96c6\u5408 + * @type {Array} + * @readOnly + */ + plugins : { + value : [] + }, + /** + * \u662f\u5426\u5df2\u7ecf\u6e32\u67d3\u5b8c\u6210 + * @type {Boolean} + * @default false + * @readOnly + */ + rendered : { + value : false + }, + /** + * \u83b7\u53d6\u63a7\u4ef6\u7684 xclass + * @readOnly + * @type {String} + * @protected + */ + xclass: { + valueFn: function () { + return Manager.getXClassByConstructor(this.constructor); + } + } + }; + + BUI.extend(UIBase,Base); + + BUI.augment(UIBase, + { + /** + * \u521b\u5efaDOM\u7ed3\u6784 + * @protected + */ + create : function(){ + var self = this; + // \u662f\u5426\u751f\u6210\u8fc7\u8282\u70b9 + if (!self.get('created')) { + /** + * @event beforeCreateDom + * fired before root node is created + * @param e + */ + self.fire('beforeCreateDom'); + callMethodByHierarchy(self, 'createDom', '__createDom'); + self._set('created', true); + /** + * @event afterCreateDom + * fired when root node is created + * @param e + */ + self.fire('afterCreateDom'); + actionPlugins(self, self.get('plugins'), 'createDom'); + } + return self; + }, + /** + * \u6e32\u67d3 + */ + render : function(){ + var _self = this; + // \u662f\u5426\u5df2\u7ecf\u6e32\u67d3\u8fc7 + if (!_self.get('rendered')) { + var plugins = _self.get('plugins'); + _self.create(undefined); + + /** + * @event beforeRenderUI + * fired when root node is ready + * @param e + */ + _self.fire('beforeRenderUI'); + callMethodByHierarchy(_self, 'renderUI', '__renderUI'); + + /** + * @event afterRenderUI + * fired after root node is rendered into dom + * @param e + */ + + _self.fire('afterRenderUI'); + actionPlugins(_self, plugins, 'renderUI'); + + /** + * @event beforeBindUI + * fired before UIBase 's internal event is bind. + * @param e + */ + + _self.fire('beforeBindUI'); + bindUI(_self); + callMethodByHierarchy(_self, 'bindUI', '__bindUI'); + + /** + * @event afterBindUI + * fired when UIBase 's internal event is bind. + * @param e + */ + + _self.fire('afterBindUI'); + actionPlugins(_self, plugins, 'bindUI'); + + /** + * @event beforeSyncUI + * fired before UIBase 's internal state is synchronized. + * @param e + */ + + _self.fire('beforeSyncUI'); + + syncUI(_self); + callMethodByHierarchy(_self, 'syncUI', '__syncUI'); + + /** + * @event afterSyncUI + * fired after UIBase 's internal state is synchronized. + * @param e + */ + + _self.fire('afterSyncUI'); + actionPlugins(_self, plugins, 'syncUI'); + _self._set('rendered', true); + } + return _self; + }, + /** + * \u5b50\u7c7b\u53ef\u7ee7\u627f\u6b64\u65b9\u6cd5\uff0c\u5f53DOM\u521b\u5efa\u65f6\u8c03\u7528 + * @protected + * @method + */ + createDom : noop, + /** + * \u5b50\u7c7b\u53ef\u7ee7\u627f\u6b64\u65b9\u6cd5\uff0c\u6e32\u67d3UI\u65f6\u8c03\u7528 + * @protected + * @method + */ + renderUI : noop, + /** + * \u5b50\u7c7b\u53ef\u7ee7\u627f\u6b64\u65b9\u6cd5,\u7ed1\u5b9a\u4e8b\u4ef6\u65f6\u8c03\u7528 + * @protected + * @method + */ + bindUI : noop, + /** + * \u540c\u6b65\u5c5e\u6027\u503c\u5230UI\u4e0a + * @protected + * @method + */ + syncUI : noop, + + /** + * \u6790\u6784\u51fd\u6570 + */ + destroy: function () { + var _self = this; + /** + * @event beforeDestroy + * fired before UIBase 's destroy. + * @param e + */ + _self.fire('beforeDestroy'); + + actionPlugins(_self, _self.get('plugins'), 'destructor'); + destroyHierarchy(_self); + /** + * @event afterDestroy + * fired before UIBase 's destroy. + * @param e + */ + _self.fire('afterDestroy'); + _self.off(); + _self.clearAttrVals(); + _self.destroyed = true; + return _self; + } + }); + + BUI.mix(UIBase, + { + /** + * \u5b9a\u4e49\u4e00\u4e2a\u7c7b + * @static + * @param {Function} base \u57fa\u7c7b\u6784\u9020\u51fd\u6570 + * @param {Array} extensions \u6269\u5c55 + * @param {Object} px \u539f\u578b\u94fe\u4e0a\u7684\u6269\u5c55 + * @param {Object} sx + * @return {Function} \u7ee7\u627f\u4e0e\u57fa\u7c7b\u7684\u6784\u9020\u51fd\u6570 + */ + define : function(base, extensions, px, sx){ + if ($.isPlainObject(extensions)) { + sx = px; + px = extensions; + extensions = []; + } + + function C() { + UIBase.apply(this, arguments); + } + + BUI.extend(C, base, px, sx); + BUI.mixin(C,extensions); + + return C; + }, + /** + * \u6269\u5c55\u4e00\u4e2a\u7c7b\uff0c\u57fa\u7c7b\u5c31\u662f\u7c7b\u672c\u8eab + * @static + * @param {Array} extensions \u6269\u5c55 + * @param {Object} px \u539f\u578b\u94fe\u4e0a\u7684\u6269\u5c55 + * @param {Object} sx + * @return {Function} \u7ee7\u627f\u4e0e\u57fa\u7c7b\u7684\u6784\u9020\u51fd\u6570 + */ + extend: function extend(extensions, px, sx) { + var args = $.makeArray(arguments), + ret, + last = args[args.length - 1]; + args.unshift(this); + if (last.xclass) { + args.pop(); + args.push(last.xclass); + } + ret = UIBase.define.apply(UIBase, args); + if (last.xclass) { + var priority = last.priority || (this.priority ? (this.priority + 1) : 1); + + Manager.setConstructorByXClass(last.xclass, { + constructor: ret, + priority: priority + }); + //\u65b9\u4fbf\u8c03\u8bd5 + ret.__xclass = last.xclass; + ret.priority = priority; + ret.toString = function(){ + return last.xclass; + } + } + ret.extend = extend; + return ret; + } + }); + + return UIBase; +}); +/** + * @fileOverview \u8ddf\u6307\u5b9a\u7684\u5143\u7d20\u9879\u5bf9\u9f50\u7684\u65b9\u5f0f + * @author yiminghe@gmail.com + * copied by dxq613@gmail.com + * @ignore + */ + + +define('bui/component/uibase/align',['bui/ua'],function (require) { + var UA = require('bui/ua'), + CLS_ALIGN_PREFIX ='x-align-', + win = window; + + // var ieMode = document.documentMode || UA.ie; + + /* + inspired by closure library by Google + see http://yiminghe.iteye.com/blog/1124720 + */ + + /** + * \u5f97\u5230\u4f1a\u5bfc\u81f4\u5143\u7d20\u663e\u793a\u4e0d\u5168\u7684\u7956\u5148\u5143\u7d20 + * @ignore + */ + function getOffsetParent(element) { + // ie \u8fd9\u4e2a\u4e5f\u4e0d\u662f\u5b8c\u5168\u53ef\u884c + /** +
          +
          + \u5143\u7d20 6 \u9ad8 100px \u5bbd 50px
          +
          +
          + @ignore + **/ + // element.offsetParent does the right thing in ie7 and below. Return parent with layout! + // In other browsers it only includes elements with position absolute, relative or + // fixed, not elements with overflow set to auto or scroll. + // if (UA.ie && ieMode < 8) { + // return element.offsetParent; + // } + // \u7edf\u4e00\u7684 offsetParent \u65b9\u6cd5 + var doc = element.ownerDocument, + body = doc.body, + parent, + positionStyle = $(element).css('position'), + skipStatic = positionStyle == 'fixed' || positionStyle == 'absolute'; + + if (!skipStatic) { + return element.nodeName.toLowerCase() == 'html' ? null : element.parentNode; + } + + for (parent = element.parentNode; parent && parent != body; parent = parent.parentNode) { + positionStyle = $(parent).css('position'); + if (positionStyle != 'static') { + return parent; + } + } + return null; + } + + /** + * \u83b7\u5f97\u5143\u7d20\u7684\u663e\u793a\u90e8\u5206\u7684\u533a\u57df + * @private + * @ignore + */ + function getVisibleRectForElement(element) { + var visibleRect = { + left:0, + right:Infinity, + top:0, + bottom:Infinity + }, + el, + scrollX, + scrollY, + winSize, + doc = element.ownerDocument, + body = doc.body, + documentElement = doc.documentElement; + + // Determine the size of the visible rect by climbing the dom accounting for + // all scrollable containers. + for (el = element; el = getOffsetParent(el);) { + // clientWidth is zero for inline block elements in ie. + if ((!UA.ie || el.clientWidth != 0) && + // body may have overflow set on it, yet we still get the entire + // viewport. In some browsers, el.offsetParent may be + // document.documentElement, so check for that too. + (el != body && el != documentElement && $(el).css('overflow') != 'visible')) { + var pos = $(el).offset(); + // add border + pos.left += el.clientLeft; + pos.top += el.clientTop; + + visibleRect.top = Math.max(visibleRect.top, pos.top); + visibleRect.right = Math.min(visibleRect.right, + // consider area without scrollBar + pos.left + el.clientWidth); + visibleRect.bottom = Math.min(visibleRect.bottom, + pos.top + el.clientHeight); + visibleRect.left = Math.max(visibleRect.left, pos.left); + } + } + + // Clip by window's viewport. + scrollX = $(win).scrollLeft(); + scrollY = $(win).scrollTop(); + visibleRect.left = Math.max(visibleRect.left, scrollX); + visibleRect.top = Math.max(visibleRect.top, scrollY); + winSize = { + width:BUI.viewportWidth(), + height:BUI.viewportHeight() + }; + visibleRect.right = Math.min(visibleRect.right, scrollX + winSize.width); + visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + winSize.height); + return visibleRect.top >= 0 && visibleRect.left >= 0 && + visibleRect.bottom > visibleRect.top && + visibleRect.right > visibleRect.left ? + visibleRect : null; + } + + function getElFuturePos(elRegion, refNodeRegion, points, offset) { + var xy, + diff, + p1, + p2; + + xy = { + left:elRegion.left, + top:elRegion.top + }; + + p1 = getAlignOffset(refNodeRegion, points[0]); + p2 = getAlignOffset(elRegion, points[1]); + + diff = [p2.left - p1.left, p2.top - p1.top]; + + return { + left:xy.left - diff[0] + (+offset[0]), + top:xy.top - diff[1] + (+offset[1]) + }; + } + + function isFailX(elFuturePos, elRegion, visibleRect) { + return elFuturePos.left < visibleRect.left || + elFuturePos.left + elRegion.width > visibleRect.right; + } + + function isFailY(elFuturePos, elRegion, visibleRect) { + return elFuturePos.top < visibleRect.top || + elFuturePos.top + elRegion.height > visibleRect.bottom; + } + + function adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) { + var pos = BUI.cloneObject(elFuturePos), + size = { + width:elRegion.width, + height:elRegion.height + }; + + if (overflow.adjustX && pos.left < visibleRect.left) { + pos.left = visibleRect.left; + } + + // Left edge inside and right edge outside viewport, try to resize it. + if (overflow['resizeWidth'] && + pos.left >= visibleRect.left && + pos.left + size.width > visibleRect.right) { + size.width -= (pos.left + size.width) - visibleRect.right; + } + + // Right edge outside viewport, try to move it. + if (overflow.adjustX && pos.left + size.width > visibleRect.right) { + // \u4fdd\u8bc1\u5de6\u8fb9\u754c\u548c\u53ef\u89c6\u533a\u57df\u5de6\u8fb9\u754c\u5bf9\u9f50 + pos.left = Math.max(visibleRect.right - size.width, visibleRect.left); + } + + // Top edge outside viewport, try to move it. + if (overflow.adjustY && pos.top < visibleRect.top) { + pos.top = visibleRect.top; + } + + // Top edge inside and bottom edge outside viewport, try to resize it. + if (overflow['resizeHeight'] && + pos.top >= visibleRect.top && + pos.top + size.height > visibleRect.bottom) { + size.height -= (pos.top + size.height) - visibleRect.bottom; + } + + // Bottom edge outside viewport, try to move it. + if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) { + // \u4fdd\u8bc1\u4e0a\u8fb9\u754c\u548c\u53ef\u89c6\u533a\u57df\u4e0a\u8fb9\u754c\u5bf9\u9f50 + pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top); + } + + return BUI.mix(pos, size); + } + + + function flip(points, reg, map) { + var ret = []; + $.each(points, function (index,p) { + ret.push(p.replace(reg, function (m) { + return map[m]; + })); + }); + return ret; + } + + function flipOffset(offset, index) { + offset[index] = -offset[index]; + return offset; + } + + + /** + * @class BUI.Component.UIBase.Align + * Align extension class. + * Align component with specified element. + * + */ + function Align() { + } + + + Align.__getOffsetParent = getOffsetParent; + + Align.__getVisibleRectForElement = getVisibleRectForElement; + + Align.ATTRS = + { + /** + * \u5bf9\u9f50\u914d\u7f6e\uff0c\u8be6\u7ec6\u8bf4\u660e\u8bf7\u53c2\u770b\uff1a JS\u63a7\u4ef6 \u5bf9\u9f50 + * @cfg {Object} align + *
          
          +         *  var overlay = new Overlay( {  
          +         *       align :{
          +         *         node: null,         // \u53c2\u8003\u5143\u7d20, falsy \u6216 window \u4e3a\u53ef\u89c6\u533a\u57df, 'trigger' \u4e3a\u89e6\u53d1\u5143\u7d20, \u5176\u4ed6\u4e3a\u6307\u5b9a\u5143\u7d20
          +         *         points: ['cc','cc'], // ['tr', 'tl'] \u8868\u793a overlay \u7684 tl \u4e0e\u53c2\u8003\u8282\u70b9\u7684 tr \u5bf9\u9f50
          +         *         offset: [0, 0]      // \u6709\u6548\u503c\u4e3a [n, m]
          +         *       }
          +         *     }); 
          +         * 
          + */ + + /** + * \u8bbe\u7f6e\u5bf9\u9f50\u5c5e\u6027 + * @type {Object} + * @field + * + * var align = { + * node: null, // \u53c2\u8003\u5143\u7d20, falsy \u6216 window \u4e3a\u53ef\u89c6\u533a\u57df, 'trigger' \u4e3a\u89e6\u53d1\u5143\u7d20, \u5176\u4ed6\u4e3a\u6307\u5b9a\u5143\u7d20 + * points: ['cc','cc'], // ['tr', 'tl'] \u8868\u793a overlay \u7684 tl \u4e0e\u53c2\u8003\u8282\u70b9\u7684 tr \u5bf9\u9f50 + * offset: [0, 0] // \u6709\u6548\u503c\u4e3a [n, m] + * }; + * overlay.set('align',align); + * + */ + align:{ + value:{} + } + }; + + function getRegion(node) { + var offset, w, h; + if (node.length && !$.isWindow(node[0])) { + offset = node.offset(); + w = node.outerWidth(); + h = node.outerHeight(); + } else { + offset = { left:BUI.scrollLeft(), top:BUI.scrollTop() }; + w = BUI.viewportWidth(); + h = BUI.viewportHeight(); + } + offset.width = w; + offset.height = h; + return offset; + } + + /** + * \u83b7\u53d6 node \u4e0a\u7684 align \u5bf9\u9f50\u70b9 \u76f8\u5bf9\u4e8e\u9875\u9762\u7684\u5750\u6807 + * @param region + * @param align + */ + function getAlignOffset(region, align) { + var V = align.charAt(0), + H = align.charAt(1), + w = region.width, + h = region.height, + x, y; + + x = region.left; + y = region.top; + + if (V === 'c') { + y += h / 2; + } else if (V === 'b') { + y += h; + } + + if (H === 'c') { + x += w / 2; + } else if (H === 'r') { + x += w; + } + + return { left:x, top:y }; + } + + //\u6e05\u9664\u5bf9\u9f50\u7684css\u6837\u5f0f + function clearAlignCls(el){ + var cls = el.attr('class'), + regex = new RegExp('\s?'+CLS_ALIGN_PREFIX+'[a-z]{2}-[a-z]{2}','ig'), + arr = regex.exec(cls); + if(arr){ + el.removeClass(arr.join(' ')); + } + } + + Align.prototype = + { + _uiSetAlign:function (v,ev) { + var alignCls = '', + el, + selfAlign; //points \u7684\u7b2c\u4e8c\u4e2a\u53c2\u6570\uff0c\u662f\u81ea\u5df1\u5bf9\u9f50\u4e8e\u5176\u4ed6\u8282\u70b9\u7684\u7684\u65b9\u5f0f + if (v && v.points) { + this.align(v.node, v.points, v.offset, v.overflow); + this.set('cachePosition',null); + el = this.get('el'); + clearAlignCls(el); + selfAlign = v.points.join('-'); + alignCls = CLS_ALIGN_PREFIX + selfAlign; + el.addClass(alignCls); + /**/ + } + }, + + /* + \u5bf9\u9f50 Overlay \u5230 node \u7684 points \u70b9, \u504f\u79fb offset \u5904 + @method + @ignore + @param {Element} node \u53c2\u7167\u5143\u7d20, \u53ef\u53d6\u914d\u7f6e\u9009\u9879\u4e2d\u7684\u8bbe\u7f6e, \u4e5f\u53ef\u662f\u4e00\u5143\u7d20 + @param {String[]} points \u5bf9\u9f50\u65b9\u5f0f + @param {Number[]} [offset] \u504f\u79fb + */ + align:function (refNode, points, offset, overflow) { + refNode = $(refNode || win); + offset = offset && [].concat(offset) || [0, 0]; + overflow = overflow || {}; + + var self = this, + el = self.get('el'), + fail = 0, + // \u5f53\u524d\u8282\u70b9\u53ef\u4ee5\u88ab\u653e\u7f6e\u7684\u663e\u793a\u533a\u57df + visibleRect = getVisibleRectForElement(el[0]), + // \u5f53\u524d\u8282\u70b9\u6240\u5360\u7684\u533a\u57df, left/top/width/height + elRegion = getRegion(el), + // \u53c2\u7167\u8282\u70b9\u6240\u5360\u7684\u533a\u57df, left/top/width/height + refNodeRegion = getRegion(refNode), + // \u5f53\u524d\u8282\u70b9\u5c06\u8981\u88ab\u653e\u7f6e\u7684\u4f4d\u7f6e + elFuturePos = getElFuturePos(elRegion, refNodeRegion, points, offset), + // \u5f53\u524d\u8282\u70b9\u5c06\u8981\u6240\u5904\u7684\u533a\u57df + newElRegion = BUI.merge(elRegion, elFuturePos); + + // \u5982\u679c\u53ef\u89c6\u533a\u57df\u4e0d\u80fd\u5b8c\u5168\u653e\u7f6e\u5f53\u524d\u8282\u70b9\u65f6\u5141\u8bb8\u8c03\u6574 + if (visibleRect && (overflow.adjustX || overflow.adjustY)) { + + // \u5982\u679c\u6a2a\u5411\u4e0d\u80fd\u653e\u4e0b + if (isFailX(elFuturePos, elRegion, visibleRect)) { + fail = 1; + // \u5bf9\u9f50\u4f4d\u7f6e\u53cd\u4e0b + points = flip(points, /[lr]/ig, { + l:'r', + r:'l' + }); + // \u504f\u79fb\u91cf\u4e5f\u53cd\u4e0b + offset = flipOffset(offset, 0); + } + + // \u5982\u679c\u7eb5\u5411\u4e0d\u80fd\u653e\u4e0b + if (isFailY(elFuturePos, elRegion, visibleRect)) { + fail = 1; + // \u5bf9\u9f50\u4f4d\u7f6e\u53cd\u4e0b + points = flip(points, /[tb]/ig, { + t:'b', + b:'t' + }); + // \u504f\u79fb\u91cf\u4e5f\u53cd\u4e0b + offset = flipOffset(offset, 1); + } + + // \u5982\u679c\u5931\u8d25\uff0c\u91cd\u65b0\u8ba1\u7b97\u5f53\u524d\u8282\u70b9\u5c06\u8981\u88ab\u653e\u7f6e\u7684\u4f4d\u7f6e + if (fail) { + elFuturePos = getElFuturePos(elRegion, refNodeRegion, points, offset); + BUI.mix(newElRegion, elFuturePos); + } + + var newOverflowCfg = {}; + + // \u68c0\u67e5\u53cd\u4e0b\u540e\u7684\u4f4d\u7f6e\u662f\u5426\u53ef\u4ee5\u653e\u4e0b\u4e86 + // \u5982\u679c\u4ecd\u7136\u653e\u4e0d\u4e0b\u53ea\u6709\u6307\u5b9a\u4e86\u53ef\u4ee5\u8c03\u6574\u5f53\u524d\u65b9\u5411\u624d\u8c03\u6574 + newOverflowCfg.adjustX = overflow.adjustX && + isFailX(elFuturePos, elRegion, visibleRect); + + newOverflowCfg.adjustY = overflow.adjustY && + isFailY(elFuturePos, elRegion, visibleRect); + + // \u786e\u5b9e\u8981\u8c03\u6574\uff0c\u751a\u81f3\u53ef\u80fd\u4f1a\u8c03\u6574\u9ad8\u5ea6\u5bbd\u5ea6 + if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) { + newElRegion = adjustForViewport(elFuturePos, elRegion, + visibleRect, newOverflowCfg); + } + } + + // \u65b0\u533a\u57df\u4f4d\u7f6e\u53d1\u751f\u4e86\u53d8\u5316 + if (newElRegion.left != elRegion.left) { + self.setInternal('x', null); + self.get('view').setInternal('x', null); + self.set('x', newElRegion.left); + } + + if (newElRegion.top != elRegion.top) { + // https://github.com/kissyteam/kissy/issues/190 + // \u76f8\u5bf9\u4e8e\u5c4f\u5e55\u4f4d\u7f6e\u6ca1\u53d8\uff0c\u800c left/top \u53d8\u4e86 + // \u4f8b\u5982
          + // el.align(div) + self.setInternal('y', null); + self.get('view').setInternal('y', null); + self.set('y', newElRegion.top); + } + + // \u65b0\u533a\u57df\u9ad8\u5bbd\u53d1\u751f\u4e86\u53d8\u5316 + if (newElRegion.width != elRegion.width) { + el.width(el.width() + newElRegion.width - elRegion.width); + } + if (newElRegion.height != elRegion.height) { + el.height(el.height() + newElRegion.height - elRegion.height); + } + + return self; + }, + + /** + * \u5bf9\u9f50\u5230\u5143\u7d20\u7684\u4e2d\u95f4\uff0c\u67e5\u770b\u5c5e\u6027 {@link BUI.Component.UIBase.Align#property-align} . + *
          
          +         *  control.center('#t1'); //\u63a7\u4ef6\u5904\u4e8e\u5bb9\u5668#t1\u7684\u4e2d\u95f4\u4f4d\u7f6e
          +         * 
          + * @param {undefined|String|HTMLElement|jQuery} node + * + */ + center:function (node) { + var self = this; + self.set('align', { + node:node, + points:['cc', 'cc'], + offset:[0, 0] + }); + return self; + } + }; + + return Align; +});/** + * @fileOverview click\uff0cfocus,hover\u7b49\u5f15\u8d77\u63a7\u4ef6\u663e\u793a\uff0c\u5e76\u4e14\u5b9a\u4f4d + * @ignore + */ + +define('bui/component/uibase/autoshow',function () { + + /** + * \u5904\u7406\u81ea\u52a8\u663e\u793a\u63a7\u4ef6\u7684\u6269\u5c55\uff0c\u4e00\u822c\u7528\u4e8e\u663e\u793amenu,picker,tip\u7b49 + * @class BUI.Component.UIBase.AutoShow + */ + function autoShow() { + + } + + autoShow.ATTRS = { + + /** + * \u89e6\u53d1\u663e\u793a\u63a7\u4ef6\u7684DOM\u9009\u62e9\u5668 + *
          
          +     *  var overlay = new Overlay({ //\u70b9\u51fb#t1\u65f6\u663e\u793a\uff0c\u70b9\u51fb#t1,overlay\u4e4b\u5916\u7684\u5143\u7d20\u9690\u85cf
          +     *    trigger : '#t1',
          +     *    autoHide : true,
          +     *    content : '\u60ac\u6d6e\u5185\u5bb9'
          +     *  });
          +     *  overlay.render();
          +     * 
          + * @cfg {HTMLElement|String|jQuery} trigger + */ + /** + * \u89e6\u53d1\u663e\u793a\u63a7\u4ef6\u7684DOM\u9009\u62e9\u5668 + * @type {HTMLElement|String|jQuery} + */ + trigger : { + + }, + /** + * \u662f\u5426\u4f7f\u7528\u4ee3\u7406\u7684\u65b9\u5f0f\u89e6\u53d1\u663e\u793a\u63a7\u4ef6,\u5982\u679ctigger\u4e0d\u662f\u5b57\u7b26\u4e32\uff0c\u6b64\u5c5e\u6027\u65e0\u6548 + *
          
          +     *  var overlay = new Overlay({ //\u70b9\u51fb.t1(\u65e0\u8bba\u521b\u5efa\u63a7\u4ef6\u65f6.t1\u662f\u5426\u5b58\u5728)\u65f6\u663e\u793a\uff0c\u70b9\u51fb.t1,overlay\u4e4b\u5916\u7684\u5143\u7d20\u9690\u85cf
          +     *    trigger : '.t1',
          +     *    autoHide : true,
          +     *    delegateTigger : true, //\u4f7f\u7528\u59d4\u6258\u7684\u65b9\u5f0f\u89e6\u53d1\u663e\u793a\u63a7\u4ef6
          +     *    content : '\u60ac\u6d6e\u5185\u5bb9'
          +     *  });
          +     *  overlay.render();
          +     * 
          + * @cfg {Boolean} [delegateTigger = false] + */ + /** + * \u662f\u5426\u4f7f\u7528\u4ee3\u7406\u7684\u65b9\u5f0f\u89e6\u53d1\u663e\u793a\u63a7\u4ef6,\u5982\u679ctigger\u4e0d\u662f\u5b57\u7b26\u4e32\uff0c\u6b64\u5c5e\u6027\u65e0\u6548 + * @type {Boolean} + * @ignore + */ + delegateTigger : { + value : false + }, + /** + * \u9009\u62e9\u5668\u662f\u5426\u59cb\u7ec8\u8ddf\u968f\u89e6\u53d1\u5668\u5bf9\u9f50 + * @cfg {Boolean} autoAlign + * @ignore + */ + /** + * \u9009\u62e9\u5668\u662f\u5426\u59cb\u7ec8\u8ddf\u968f\u89e6\u53d1\u5668\u5bf9\u9f50 + * @type {Boolean} + * @protected + */ + autoAlign :{ + value : true + }, + /** + * \u63a7\u4ef6\u663e\u793a\u65f6\u7531\u6b64trigger\u89e6\u53d1\uff0c\u5f53\u914d\u7f6e\u9879 trigger \u9009\u62e9\u5668\u4ee3\u8868\u591a\u4e2aDOM \u5bf9\u8c61\u65f6\uff0c + * \u63a7\u4ef6\u53ef\u7531\u591a\u4e2aDOM\u5bf9\u8c61\u89e6\u53d1\u663e\u793a\u3002 + *
          
          +     *  overlay.on('show',function(){
          +     *    var curTrigger = overlay.get('curTrigger');
          +     *    //TO DO
          +     *  });
          +     * 
          + * @type {jQuery} + * @readOnly + */ + curTrigger : { + + }, + /** + * \u89e6\u53d1\u663e\u793a\u65f6\u7684\u56de\u8c03\u51fd\u6570 + * @cfg {Function} triggerCallback + * @ignore + */ + /** + * \u89e6\u53d1\u663e\u793a\u65f6\u7684\u56de\u8c03\u51fd\u6570 + * @type {Function} + * @ignore + */ + triggerCallback : { + value : function (ev) { + + } + }, + /** + * \u663e\u793a\u83dc\u5355\u7684\u4e8b\u4ef6 + *
          
          +     *    var overlay = new Overlay({ //\u79fb\u52a8\u5230#t1\u65f6\u663e\u793a\uff0c\u79fb\u52a8\u51fa#t1,overlay\u4e4b\u5916\u63a7\u4ef6\u9690\u85cf
          +     *      trigger : '#t1',
          +     *      autoHide : true,
          +     *      triggerEvent :'mouseover',
          +     *      autoHideType : 'leave',
          +     *      content : '\u60ac\u6d6e\u5185\u5bb9'
          +     *    });
          +     *    overlay.render();
          +     * 
          +     *  
          + * @cfg {String} [triggerEvent='click'] + * @default 'click' + */ + /** + * \u663e\u793a\u83dc\u5355\u7684\u4e8b\u4ef6 + * @type {String} + * @default 'click' + * @ignore + */ + triggerEvent : { + value:'click' + }, + /** + * \u56e0\u4e3a\u89e6\u53d1\u5143\u7d20\u53d1\u751f\u6539\u53d8\u800c\u5bfc\u81f4\u63a7\u4ef6\u9690\u85cf + * @cfg {String} triggerHideEvent + * @ignore + */ + /** + * \u56e0\u4e3a\u89e6\u53d1\u5143\u7d20\u53d1\u751f\u6539\u53d8\u800c\u5bfc\u81f4\u63a7\u4ef6\u9690\u85cf + * @type {String} + * @ignore + */ + triggerHideEvent : { + + }, + events : { + value : { + /** + * \u5f53\u89e6\u53d1\u5668\uff08\u89e6\u53d1\u9009\u62e9\u5668\u51fa\u73b0\uff09\u53d1\u751f\u6539\u53d8\u65f6\uff0c\u7ecf\u5e38\u7528\u4e8e\u4e00\u4e2a\u9009\u62e9\u5668\u5bf9\u5e94\u591a\u4e2a\u89e6\u53d1\u5668\u7684\u60c5\u51b5 + *
          
          +         *  overlay.on('triggerchange',function(ev){
          +         *    var curTrigger = ev.curTrigger;
          +         *    overlay.set('content',curTrigger.html());
          +         *  });
          +         * 
          + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {jQuery} e.prevTrigger \u4e4b\u524d\u89e6\u53d1\u5668\uff0c\u53ef\u80fd\u4e3anull + * @param {jQuery} e.curTrigger \u5f53\u524d\u7684\u89e6\u53d1\u5668 + */ + 'triggerchange':false + } + } + }; + + autoShow.prototype = { + + __createDom : function () { + this._setTrigger(); + }, + _setTrigger : function () { + var _self = this, + triggerEvent = _self.get('triggerEvent'), + triggerHideEvent = _self.get('triggerHideEvent'), + triggerCallback = _self.get('triggerCallback'), + trigger = _self.get('trigger'), + isDelegate = _self.get('delegateTigger'), + triggerEl = $(trigger); + + //\u89e6\u53d1\u663e\u793a + function tiggerShow (ev) { + var prevTrigger = _self.get('curTrigger'), + curTrigger = isDelegate ?$(ev.currentTarget) : $(this), + align = _self.get('align'); + if(!prevTrigger || prevTrigger[0] != curTrigger[0]){ + + _self.set('curTrigger',curTrigger); + _self.fire('triggerchange',{prevTrigger : prevTrigger,curTrigger : curTrigger}); + } + if(_self.get('autoAlign')){ + align.node = curTrigger; + + } + _self.set('align',align); + _self.show(); + triggerCallback && triggerCallback(ev); + } + + //\u89e6\u53d1\u9690\u85cf + function tiggerHide (ev){ + var toElement = ev.toElement || ev.relatedTarget; + if(!toElement || !_self.containsElement(toElement)){ //mouseleave\u65f6\uff0c\u5982\u679c\u79fb\u52a8\u5230\u5f53\u524d\u63a7\u4ef6\u4e0a\uff0c\u53d6\u6d88\u6d88\u5931 + _self.hide(); + } + } + + if(triggerEvent){ + if(isDelegate && BUI.isString(trigger)){ + $(document).delegate(trigger,triggerEvent,tiggerShow); + }else{ + triggerEl.on(triggerEvent,tiggerShow); + } + + } + + if(triggerHideEvent){ + if(isDelegate && BUI.isString(trigger)){ + $(document).delegate(trigger,triggerHideEvent,tiggerHide); + }else{ + triggerEl.on(triggerHideEvent,tiggerHide); + } + } + }, + __renderUI : function () { + var _self = this, + align = _self.get('align'); + //\u5982\u679c\u63a7\u4ef6\u663e\u793a\u65f6\u4e0d\u662f\u7531trigger\u89e6\u53d1\uff0c\u5219\u540c\u7236\u5143\u7d20\u5bf9\u9f50 + if(align && !align.node){ + align.node = _self.get('render') || _self.get('trigger'); + } + } + }; + + return autoShow; +});/** + * @fileOverview \u70b9\u51fb\u6216\u79fb\u51fa\u63a7\u4ef6\u5916\u90e8\uff0c\u63a7\u4ef6\u9690\u85cf + * @author dxq613@gmail.com + * @ignore + */ +define('bui/component/uibase/autohide',function () { + + var wrapBehavior = BUI.wrapBehavior, + getWrapBehavior = BUI.getWrapBehavior; + + function isExcept(self,elem){ + var hideExceptNode = self.get('hideExceptNode'); + if(hideExceptNode && hideExceptNode.length){ + return $.contains(hideExceptNode[0],elem); + } + return false; + } + /** + * \u70b9\u51fb\u9690\u85cf\u63a7\u4ef6\u7684\u6269\u5c55 + * @class BUI.Component.UIBase.AutoHide + */ + function autoHide() { + + } + + autoHide.ATTRS = { + + /** + * \u63a7\u4ef6\u81ea\u52a8\u9690\u85cf\u7684\u4e8b\u4ef6\uff0c\u8fd9\u91cc\u652f\u63012\u79cd\uff1a + * - 'click' + * - 'leave' + *
          
          +     *    var overlay = new Overlay({ //\u70b9\u51fb#t1\u65f6\u663e\u793a\uff0c\u70b9\u51fb#t1\u4e4b\u5916\u7684\u5143\u7d20\u9690\u85cf
          +     *      trigger : '#t1',
          +     *      autoHide : true,
          +     *      content : '\u60ac\u6d6e\u5185\u5bb9'
          +     *    });
          +     *    overlay.render();
          +     *
          +     *    var overlay = new Overlay({ //\u79fb\u52a8\u5230#t1\u65f6\u663e\u793a\uff0c\u79fb\u52a8\u51fa#t1,overlay\u4e4b\u5916\u63a7\u4ef6\u9690\u85cf
          +     *      trigger : '#t1',
          +     *      autoHide : true,
          +     *      triggerEvent :'mouseover',
          +     *      autoHideType : 'leave',
          +     *      content : '\u60ac\u6d6e\u5185\u5bb9'
          +     *    });
          +     *    overlay.render();
          +     * 
          +     *  
          + * @cfg {String} [autoHideType = 'click'] + */ + /** + * \u63a7\u4ef6\u81ea\u52a8\u9690\u85cf\u7684\u4e8b\u4ef6\uff0c\u8fd9\u91cc\u652f\u63012\u79cd\uff1a + * 'click',\u548c'leave',\u9ed8\u8ba4\u4e3a'click' + * @type {String} + */ + autoHideType : { + value : 'click' + }, + /** + * \u662f\u5426\u81ea\u52a8\u9690\u85cf + *
          
          +     *  
          +     *  var overlay = new Overlay({ //\u70b9\u51fb#t1\u65f6\u663e\u793a\uff0c\u70b9\u51fb#t1,overlay\u4e4b\u5916\u7684\u5143\u7d20\u9690\u85cf
          +     *    trigger : '#t1',
          +     *    autoHide : true,
          +     *    content : '\u60ac\u6d6e\u5185\u5bb9'
          +     *  });
          +     *  overlay.render();
          +     * 
          + * @cfg {Object} autoHide + */ + /** + * \u662f\u5426\u81ea\u52a8\u9690\u85cf + * @type {Object} + * @ignore + */ + autoHide:{ + value : false + }, + /** + * \u70b9\u51fb\u6216\u8005\u79fb\u52a8\u5230\u6b64\u8282\u70b9\u65f6\u4e0d\u89e6\u53d1\u81ea\u52a8\u9690\u85cf + *
          
          +     *  
          +     *  var overlay = new Overlay({ //\u70b9\u51fb#t1\u65f6\u663e\u793a\uff0c\u70b9\u51fb#t1,#t2,overlay\u4e4b\u5916\u7684\u5143\u7d20\u9690\u85cf
          +     *    trigger : '#t1',
          +     *    autoHide : true,
          +     *    hideExceptNode : '#t2',
          +     *    content : '\u60ac\u6d6e\u5185\u5bb9'
          +     *  });
          +     *  overlay.render();
          +     * 
          + * @cfg {Object} hideExceptNode + */ + hideExceptNode :{ + + }, + events : { + value : { + /** + * @event autohide + * \u70b9\u51fb\u63a7\u4ef6\u5916\u90e8\u65f6\u89e6\u53d1\uff0c\u53ea\u6709\u5728\u63a7\u4ef6\u8bbe\u7f6e\u81ea\u52a8\u9690\u85cf(autoHide = true)\u6709\u6548 + * \u53ef\u4ee5\u963b\u6b62\u63a7\u4ef6\u9690\u85cf\uff0c\u901a\u8fc7\u5728\u4e8b\u4ef6\u76d1\u542c\u51fd\u6570\u4e2d return false + *
          
          +         *  overlay.on('autohide',function(){
          +         *    var curTrigger = overlay.curTrigger; //\u5f53\u524d\u89e6\u53d1\u7684\u9879
          +         *    if(condtion){
          +         *      return false; //\u963b\u6b62\u9690\u85cf
          +         *    }
          +         *  });
          +         * 
          + */ + autohide : false + } + } + }; + + autoHide.prototype = { + + __bindUI : function() { + var _self = this; + + _self.on('afterVisibleChange',function (ev) { + var visible = ev.newVal; + if(_self.get('autoHide')){ + if(visible){ + _self._bindHideEvent(); + }else{ + _self._clearHideEvent(); + } + } + }); + }, + /** + * \u5904\u7406\u9f20\u6807\u79fb\u51fa\u4e8b\u4ef6\uff0c\u4e0d\u5f71\u54cd{BUI.Component.Controller#handleMouseLeave}\u4e8b\u4ef6 + * @param {jQuery.Event} ev \u4e8b\u4ef6\u5bf9\u8c61 + */ + handleMoveOuter : function (ev) { + var _self = this, + target = ev.toElement || ev.relatedTarget; + if(!_self.containsElement(target) && !isExcept(_self,target)){ + if(_self.fire('autohide') !== false){ + _self.hide(); + } + } + }, + /** + * \u70b9\u51fb\u9875\u9762\u65f6\u7684\u5904\u7406\u51fd\u6570 + * @param {jQuery.Event} ev \u4e8b\u4ef6\u5bf9\u8c61 + * @protected + */ + handleDocumentClick : function (ev) { + var _self = this, + target = ev.target; + if(!_self.containsElement(target) && !isExcept(_self,target)){ + if(_self.fire('autohide') !== false){ + _self.hide(); + } + } + }, + _bindHideEvent : function() { + var _self = this, + trigger = _self.get('curTrigger'), + autoHideType = _self.get('autoHideType'); + if(autoHideType === 'click'){ + $(document).on('mousedown',wrapBehavior(_self,'handleDocumentClick')); + }else{ + _self.get('el').on('mouseleave',wrapBehavior(_self,'handleMoveOuter')); + if(trigger){ + $(trigger).on('mouseleave',wrapBehavior(_self,'handleMoveOuter')) + } + } + + }, + //\u6e05\u9664\u7ed1\u5b9a\u7684\u9690\u85cf\u4e8b\u4ef6 + _clearHideEvent : function() { + var _self = this, + trigger = _self.get('curTrigger'), + autoHideType = _self.get('autoHideType'); + if(autoHideType === 'click'){ + $(document).off('mousedown',getWrapBehavior(_self,'handleDocumentClick')); + }else{ + _self.get('el').off('mouseleave',getWrapBehavior(_self,'handleMoveOuter')); + if(trigger){ + $(trigger).off('mouseleave',getWrapBehavior(_self,'handleMoveOuter')) + } + } + } + }; + + return autoHide; + +}); + + + + +/** + * @fileOverview close \u5173\u95ed\u6216\u9690\u85cf\u63a7\u4ef6 + * @author yiminghe@gmail.com + * copied and modified by dxq613@gmail.com + * @ignore + */ + +define('bui/component/uibase/close',function () { + + var CLS_PREFIX = BUI.prefix + 'ext-'; + + function getCloseRenderBtn(self) { + return $(self.get('closeTpl')); + } + + /** + * \u5173\u95ed\u6309\u94ae\u7684\u89c6\u56fe\u7c7b + * @class BUI.Component.UIBase.CloseView + * @private + */ + function CloseView() { + } + + CloseView.ATTRS = { + closeTpl : { + value : '' + + '\u5173\u95ed<' + '/span>' + + '<' + '/a>' + }, + closable:{ + value:true + }, + closeBtn:{ + } + }; + + CloseView.prototype = { + _uiSetClosable:function (v) { + var self = this, + btn = self.get('closeBtn'); + if (v) { + if (!btn) { + self.setInternal('closeBtn', btn = getCloseRenderBtn(self)); + } + btn.appendTo(self.get('el'), undefined); + } else { + if (btn) { + btn.remove(); + } + } + } + }; + + /** + * @class BUI.Component.UIBase.Close + * Close extension class. + * Represent a close button. + */ + function Close() { + } + + var HIDE = 'hide'; + Close.ATTRS = + { + /** + * \u5173\u95ed\u6309\u94ae\u7684\u9ed8\u8ba4\u6a21\u7248 + *
          
          +      *   var overlay = new Overlay({
          +      *     closeTpl : 'x',
          +      *     closable : true,
          +      *     trigger : '#t1'
          +      *   });
          +      *   overlay.render();
          +      * 
          + * @cfg {String} closeTpl + */ + /** + * \u5173\u95ed\u6309\u94ae\u7684\u9ed8\u8ba4\u6a21\u7248 + * @type {String} + * @protected + */ + closeTpl:{ + view : true + }, + /** + * \u662f\u5426\u51fa\u73b0\u5173\u95ed\u6309\u94ae + * @cfg {Boolean} [closable = false] + */ + /** + * \u662f\u5426\u51fa\u73b0\u5173\u95ed\u6309\u94ae + * @type {Boolean} + */ + closable:{ + view:1 + }, + + /** + * \u5173\u95ed\u6309\u94ae. + * @protected + * @type {jQuery} + */ + closeBtn:{ + view:1 + }, + /** + * \u5173\u95ed\u65f6\u9690\u85cf\u8fd8\u662f\u79fb\u9664DOM\u7ed3\u6784
          + * default "hide". \u53ef\u4ee5\u8bbe\u7f6e "destroy" \uff0c\u5f53\u70b9\u51fb\u5173\u95ed\u6309\u94ae\u65f6\u79fb\u9664\uff08destroy)\u63a7\u4ef6 + * @cfg {String} [closeAction = 'hide'] + */ + /** + * \u5173\u95ed\u65f6\u9690\u85cf\u8fd8\u662f\u79fb\u9664DOM\u7ed3\u6784 + * default "hide".\u53ef\u4ee5\u8bbe\u7f6e "destroy" \uff0c\u5f53\u70b9\u51fb\u5173\u95ed\u6309\u94ae\u65f6\u79fb\u9664\uff08destroy)\u63a7\u4ef6 + * @type {String} + * @protected + */ + closeAction:{ + value:HIDE + } + + /** + * @event closing + * \u6b63\u5728\u5173\u95ed\uff0c\u53ef\u4ee5\u901a\u8fc7return false \u963b\u6b62\u5173\u95ed\u4e8b\u4ef6 + * @param {Object} e \u5173\u95ed\u4e8b\u4ef6 + * @param {String} e.action \u5173\u95ed\u6267\u884c\u7684\u884c\u4e3a\uff0chide,destroy + */ + + /** + * @event closed + * \u5df2\u7ecf\u5173\u95ed + * @param {Object} e \u5173\u95ed\u4e8b\u4ef6 + * @param {String} e.action \u5173\u95ed\u6267\u884c\u7684\u884c\u4e3a\uff0chide,destroy + */ + + /** + * @event closeclick + * \u89e6\u53d1\u70b9\u51fb\u5173\u95ed\u6309\u94ae\u7684\u4e8b\u4ef6,return false \u963b\u6b62\u5173\u95ed + * @param {Object} e \u5173\u95ed\u4e8b\u4ef6 + * @param {String} e.domTarget \u70b9\u51fb\u7684\u5173\u95ed\u6309\u94ae\u8282\u70b9 + */ + }; + + var actions = { + hide:HIDE, + destroy:'destroy' + }; + + Close.prototype = { + _uiSetClosable:function (v) { + var self = this; + if (v && !self.__bindCloseEvent) { + self.__bindCloseEvent = 1; + self.get('closeBtn').on('click', function (ev) { + if(self.fire('closeclick',{domTarget : ev.target}) !== false){ + self.close(); + } + ev.preventDefault(); + }); + } + }, + __destructor:function () { + var btn = this.get('closeBtn'); + btn && btn.detach(); + }, + /** + * \u5173\u95ed\u5f39\u51fa\u6846\uff0c\u5982\u679ccloseAction = 'hide'\u90a3\u4e48\u5c31\u662f\u9690\u85cf\uff0c\u5982\u679c closeAction = 'destroy'\u90a3\u4e48\u5c31\u662f\u91ca\u653e + */ + close : function(){ + var self = this, + action = actions[self.get('closeAction') || HIDE]; + if(self.fire('closing',{action : action}) !== false){ + self[action](); + self.fire('closed',{action : action}); + } + } + }; + + Close.View = CloseView; + + return Close; +}); +/** + * @fileOverview \u62d6\u62fd + * @author by dxq613@gmail.com + * @ignore + */ + +define('bui/component/uibase/drag',function(){ + + + var dragBackId = BUI.guid('drag'); + + /** + * \u62d6\u62fd\u63a7\u4ef6\u7684\u6269\u5c55 + *
          
          +     *  var Control = Overlay.extend([UIBase.Drag],{
          +     *      
          +     *  });
          +     *
          +     *  var c = new Contol({ //\u62d6\u52a8\u63a7\u4ef6\u65f6\uff0c\u5728#t2\u5185
          +     *      content : '
          ', + * dragNode : '#header', + * constraint : '#t2' + * }); + *
          + * @class BUI.Component.UIBase.Drag + */ + var drag = function(){ + + }; + + drag.ATTRS = + { + + /** + * \u70b9\u51fb\u62d6\u52a8\u7684\u8282\u70b9 + *
          
          +         *  var Control = Overlay.extend([UIBase.Drag],{
          +         *      
          +         *  });
          +         *
          +         *  var c = new Contol({ //\u62d6\u52a8\u63a7\u4ef6\u65f6\uff0c\u5728#t2\u5185
          +         *      content : '
          ', + * dragNode : '#header', + * constraint : '#t2' + * }); + *
          + * @cfg {jQuery} dragNode + */ + /** + * \u70b9\u51fb\u62d6\u52a8\u7684\u8282\u70b9 + * @type {jQuery} + * @ignore + */ + dragNode : { + + }, + /** + * \u662f\u5426\u6b63\u5728\u62d6\u52a8 + * @type {Boolean} + * @protected + */ + draging:{ + setter:function (v) { + if (v === true) { + return {}; + } + }, + value:null + }, + /** + * \u62d6\u52a8\u7684\u9650\u5236\u8303\u56f4 + *
          
          +         *  var Control = Overlay.extend([UIBase.Drag],{
          +         *      
          +         *  });
          +         *
          +         *  var c = new Contol({ //\u62d6\u52a8\u63a7\u4ef6\u65f6\uff0c\u5728#t2\u5185
          +         *      content : '
          ', + * dragNode : '#header', + * constraint : '#t2' + * }); + *
          + * @cfg {jQuery} constraint + */ + /** + * \u62d6\u52a8\u7684\u9650\u5236\u8303\u56f4 + * @type {jQuery} + * @ignore + */ + constraint : { + + }, + /** + * @private + * @type {jQuery} + */ + dragBackEl : { + /** @private **/ + getter:function(){ + return $('#'+dragBackId); + } + } + }; + var dragTpl = ''; + + function initBack(){ + var el = $(dragTpl).css('opacity', 0).prependTo('body'); + return el; + } + drag.prototype = { + + __bindUI : function(){ + var _self = this, + constraint = _self.get('constraint'), + dragNode = _self.get('dragNode'); + if(!dragNode){ + return; + } + dragNode.on('mousedown',function(e){ + + if(e.which == 1){ + e.preventDefault(); + _self.set('draging',{ + elX: _self.get('x'), + elY: _self.get('y'), + startX : e.pageX, + startY : e.pageY + }); + registEvent(); + } + }); + /** + * @private + */ + function mouseMove(e){ + var draging = _self.get('draging'); + if(draging){ + e.preventDefault(); + _self._dragMoveTo(e.pageX,e.pageY,draging,constraint); + } + } + /** + * @private + */ + function mouseUp(e){ + if(e.which == 1){ + _self.set('draging',false); + var dragBackEl = _self.get('dragBackEl'); + if(dragBackEl){ + dragBackEl.hide(); + } + unregistEvent(); + } + } + /** + * @private + */ + function registEvent(){ + $(document).on('mousemove',mouseMove); + $(document).on('mouseup',mouseUp); + } + /** + * @private + */ + function unregistEvent(){ + $(document).off('mousemove',mouseMove); + $(document).off('mouseup',mouseUp); + } + + }, + _dragMoveTo : function(x,y,draging,constraint){ + var _self = this, + dragBackEl = _self.get('dragBackEl'), + draging = draging || _self.get('draging'), + offsetX = draging.startX - x, + offsetY = draging.startY - y; + if(!dragBackEl.length){ + dragBackEl = initBack(); + } + dragBackEl.css({ + cursor: 'move', + display: 'block' + }); + _self.set('xy',[_self._getConstrainX(draging.elX - offsetX,constraint), + _self._getConstrainY(draging.elY - offsetY,constraint)]); + + }, + _getConstrainX : function(x,constraint){ + var _self = this, + width = _self.get('el').outerWidth(), + endX = x + width, + curX = _self.get('x'); + //\u5982\u679c\u5b58\u5728\u7ea6\u675f + if(constraint){ + var constraintOffset = constraint.offset(); + if(constraintOffset.left >= x){ + return constraintOffset.left; + } + if(constraintOffset.left + constraint.width() < endX){ + return constraintOffset.left + constraint.width() - width; + } + return x; + } + //\u5f53\u5de6\u53f3\u9876\u70b9\u90fd\u5728\u89c6\u56fe\u5185\uff0c\u79fb\u52a8\u5230\u6b64\u70b9 + if(BUI.isInHorizontalView(x) && BUI.isInHorizontalView(endX)){ + return x; + } + + return curX; + }, + _getConstrainY : function(y,constraint){ + var _self = this, + height = _self.get('el').outerHeight(), + endY = y + height, + curY = _self.get('y'); + //\u5982\u679c\u5b58\u5728\u7ea6\u675f + if(constraint){ + var constraintOffset = constraint.offset(); + if(constraintOffset.top > y){ + return constraintOffset.top; + } + if(constraintOffset.top + constraint.height() < endY){ + return constraintOffset.top + constraint.height() - height; + } + return y; + } + //\u5f53\u5de6\u53f3\u9876\u70b9\u90fd\u5728\u89c6\u56fe\u5185\uff0c\u79fb\u52a8\u5230\u6b64\u70b9 + if(BUI.isInVerticalView(y) && BUI.isInVerticalView(endY)){ + return y; + } + + return curY; + } + }; + + return drag; + +});/** + * @fileOverview \u4f7f\u7528\u952e\u76d8\u5bfc\u822a + * @ignore + */ + +define('bui/component/uibase/keynav',['bui/keycode'],function (require) { + + var KeyCode = require('bui/keycode'), + wrapBehavior = BUI.wrapBehavior, + getWrapBehavior = BUI.getWrapBehavior; + /** + * \u952e\u76d8\u5bfc\u822a + * @class BUI.Component.UIBase.KeyNav + */ + var keyNav = function () { + + }; + + keyNav.ATTRS = { + + /** + * \u662f\u5426\u5141\u8bb8\u952e\u76d8\u5bfc\u822a + * @cfg {Boolean} [allowKeyNav = true] + */ + allowKeyNav : { + value : true + }, + /** + * \u5bfc\u822a\u4f7f\u7528\u7684\u4e8b\u4ef6 + * @cfg {String} [navEvent = 'keydown'] + */ + navEvent : { + value : 'keydown' + }, + /** + * \u5f53\u83b7\u53d6\u4e8b\u4ef6\u7684DOM\u662f input,textarea,select\u7b49\u65f6\uff0c\u4e0d\u5904\u7406\u952e\u76d8\u5bfc\u822a + * @cfg {Object} [ignoreInputFields='true'] + */ + ignoreInputFields : { + value : true + } + + }; + + keyNav.prototype = { + + __bindUI : function () { + + }, + _uiSetAllowKeyNav : function(v){ + var _self = this, + eventName = _self.get('navEvent'), + el = _self.get('el'); + if(v){ + el.on(eventName,wrapBehavior(_self,'_handleKeyDown')); + }else{ + el.off(eventName,getWrapBehavior(_self,'_handleKeyDown')); + } + }, + /** + * \u5904\u7406\u952e\u76d8\u5bfc\u822a + * @private + */ + _handleKeyDown : function(ev){ + var _self = this, + code = ev.which; + switch(code){ + case KeyCode.UP : + _self.handleNavUp(ev); + break; + case KeyCode.DOWN : + _self.handleNavDown(ev); + break; + case KeyCode.RIGHT : + _self.handleNavRight(ev); + break; + case KeyCode.LEFT : + _self.handleNavLeft(ev); + break; + case KeyCode.ENTER : + _self.handleNavEnter(ev); + break; + case KeyCode.ESC : + _self.handleNavEsc(ev); + break; + case KeyCode.TAB : + _self.handleNavTab(ev); + break; + default: + break; + } + }, + /** + * \u5904\u7406\u5411\u4e0a\u5bfc\u822a + * @protected + * @param {jQuery.Event} ev \u4e8b\u4ef6\u5bf9\u8c61 + */ + handleNavUp : function (ev) { + // body... + }, + /** + * \u5904\u7406\u5411\u4e0b\u5bfc\u822a + * @protected + * @param {jQuery.Event} ev \u4e8b\u4ef6\u5bf9\u8c61 + */ + handleNavDown : function (ev) { + // body... + }, + /** + * \u5904\u7406\u5411\u5de6\u5bfc\u822a + * @protected + * @param {jQuery.Event} ev \u4e8b\u4ef6\u5bf9\u8c61 + */ + handleNavLeft : function (ev) { + // body... + }, + /** + * \u5904\u7406\u5411\u53f3\u5bfc\u822a + * @protected + * @param {jQuery.Event} ev \u4e8b\u4ef6\u5bf9\u8c61 + */ + handleNavRight : function (ev) { + // body... + }, + /** + * \u5904\u7406\u786e\u8ba4\u952e + * @protected + * @param {jQuery.Event} ev \u4e8b\u4ef6\u5bf9\u8c61 + */ + handleNavEnter : function (ev) { + // body... + }, + /** + * \u5904\u7406 esc \u952e + * @protected + * @param {jQuery.Event} ev \u4e8b\u4ef6\u5bf9\u8c61 + */ + handleNavEsc : function (ev) { + // body... + }, + /** + * \u5904\u7406Tab\u952e + * @param {jQuery.Event} ev \u4e8b\u4ef6\u5bf9\u8c61 + */ + handleNavTab : function(ev){ + + } + + }; + + return keyNav; +}); +/** + * @fileOverview mask \u906e\u7f69\u5c42 + * @author yiminghe@gmail.com + * copied and modified by dxq613@gmail.com + * @ignore + */ + +define('bui/component/uibase/mask',function (require) { + + var UA = require('bui/ua'), + + /** + * \u6bcf\u7ec4\u76f8\u540c prefixCls \u7684 position \u5171\u4eab\u4e00\u4e2a\u906e\u7f69 + * @ignore + */ + maskMap = { + /** + * @ignore + * { + * node: + * num: + * } + */ + + }, + ie6 = UA.ie == 6; + + function getMaskCls(self) { + return self.get('prefixCls') + 'ext-mask'; + } + + function docWidth() { + return ie6 ? BUI.docWidth() + 'px' : '100%'; + } + + function docHeight() { + return ie6 ? BUI.docHeight() + 'px' : '100%'; + } + + function initMask(maskCls) { + var mask = $('
          ' + + (ie6 ? '<' + 'iframe ' + + 'style="position:absolute;' + + 'left:' + '0' + ';' + + 'top:' + '0' + ';' + + 'background:white;' + + 'width: expression(this.parentNode.offsetWidth);' + + 'height: expression(this.parentNode.offsetHeight);' + + 'filter:alpha(opacity=0);' + + 'z-index:-1;">' : '') + + '
          ') + .prependTo('body'); + /** + * \u70b9 mask \u7126\u70b9\u4e0d\u8f6c\u79fb + * @ignore + */ + // mask.unselectable(); + mask.on('mousedown', function (e) { + e.preventDefault(); + }); + return mask; + } + + /** + * \u906e\u7f69\u5c42\u7684\u89c6\u56fe\u7c7b + * @class BUI.Component.UIBase.MaskView + * @private + */ + function MaskView() { + } + + MaskView.ATTRS = { + maskShared:{ + value:true + } + }; + + MaskView.prototype = { + + _maskExtShow:function () { + var self = this, + zIndex, + maskCls = getMaskCls(self), + maskDesc = maskMap[maskCls], + maskShared = self.get('maskShared'), + mask = self.get('maskNode'); + if (!mask) { + if (maskShared) { + if (maskDesc) { + mask = maskDesc.node; + } else { + mask = initMask(maskCls); + maskDesc = maskMap[maskCls] = { + num:0, + node:mask + }; + } + } else { + mask = initMask(maskCls); + } + self.setInternal('maskNode', mask); + } + if (zIndex = self.get('zIndex')) { + mask.css('z-index', zIndex - 1); + } + if (maskShared) { + maskDesc.num++; + } + if (!maskShared || maskDesc.num == 1) { + mask.show(); + } + }, + + _maskExtHide:function () { + var self = this, + maskCls = getMaskCls(self), + maskDesc = maskMap[maskCls], + maskShared = self.get('maskShared'), + mask = self.get('maskNode'); + if (maskShared && maskDesc) { + maskDesc.num = Math.max(maskDesc.num - 1, 0); + if (maskDesc.num == 0) { + mask.hide(); + } + } else if(mask){ + mask.hide(); + } + }, + + __destructor:function () { + var self = this, + maskShared = self.get('maskShared'), + mask = self.get('maskNode'); + if (self.get('maskNode')) { + if (maskShared) { + if (self.get('visible')) { + self._maskExtHide(); + } + } else { + mask.remove(); + } + } + } + + }; + + /** + * @class BUI.Component.UIBase.Mask + * Mask extension class. + * Make component to be able to show with mask. + */ + function Mask() { + } + + Mask.ATTRS = + { + /** + * \u63a7\u4ef6\u663e\u793a\u65f6\uff0c\u662f\u5426\u663e\u793a\u5c4f\u853d\u5c42 + *
          
          +         *   var overlay = new Overlay({ //\u663e\u793aoverlay\u65f6\uff0c\u5c4f\u853dbody
          +         *     mask : true,
          +         *     maskNode : 'body',
          +         *     trigger : '#t1'
          +         *   });
          +         *   overlay.render();
          +         * 
          + * @cfg {Boolean} [mask = false] + */ + /** + * \u63a7\u4ef6\u663e\u793a\u65f6\uff0c\u662f\u5426\u663e\u793a\u5c4f\u853d\u5c42 + * @type {Boolean} + * @protected + */ + mask:{ + value:false + }, + /** + * \u5c4f\u853d\u7684\u5185\u5bb9 + *
          
          +         *   var overlay = new Overlay({ //\u663e\u793aoverlay\u65f6\uff0c\u5c4f\u853dbody
          +         *     mask : true,
          +         *     maskNode : 'body',
          +         *     trigger : '#t1'
          +         *   });
          +         *   overlay.render();
          +         * 
          + * @cfg {jQuery} maskNode + */ + /** + * \u5c4f\u853d\u7684\u5185\u5bb9 + * @type {jQuery} + * @protected + */ + maskNode:{ + view:1 + }, + /** + * Whether to share mask with other overlays. + * @default true. + * @type {Boolean} + * @protected + */ + maskShared:{ + view:1 + } + }; + + Mask.prototype = { + + __bindUI:function () { + var self = this, + view = self.get('view'), + _maskExtShow = view._maskExtShow, + _maskExtHide = view._maskExtHide; + if (self.get('mask')) { + self.on('show',function(){ + view._maskExtShow(); + }); + self.on('hide',function(){ + view._maskExtHide(); + }); + } + } + }; + + Mask = Mask; + Mask.View = MaskView; + + return Mask; +}); + +/** + * @fileOverview \u4f4d\u7f6e\uff0c\u63a7\u4ef6\u7edd\u5bf9\u5b9a\u4f4d + * @author yiminghe@gmail.com + * copied by dxq613@gmail.com + * @ignore + */ +define('bui/component/uibase/position',function () { + + + /** + * \u5bf9\u9f50\u7684\u89c6\u56fe\u7c7b + * @class BUI.Component.UIBase.PositionView + * @private + */ + function PositionView() { + + } + + PositionView.ATTRS = { + x:{ + /** + * \u6c34\u5e73\u65b9\u5411\u7edd\u5bf9\u4f4d\u7f6e + * @private + * @ignore + */ + valueFn:function () { + var self = this; + // \u8bfb\u5230\u8fd9\u91cc\u65f6\uff0cel \u4e00\u5b9a\u662f\u5df2\u7ecf\u52a0\u5230 dom \u6811\u4e2d\u4e86\uff0c\u5426\u5219\u62a5\u672a\u77e5\u9519\u8bef + // el \u4e0d\u5728 dom \u6811\u4e2d offset \u62a5\u9519\u7684 + // \u6700\u65e9\u8bfb\u5c31\u662f\u5728 syncUI \u4e2d\uff0c\u4e00\u70b9\u91cd\u590d\u8bbe\u7f6e(\u8bfb\u53d6\u81ea\u8eab X \u518d\u8c03\u7528 _uiSetX)\u65e0\u6240\u8c13\u4e86 + return self.get('el') && self.get('el').offset().left; + } + }, + y:{ + /** + * \u5782\u76f4\u65b9\u5411\u7edd\u5bf9\u4f4d\u7f6e + * @private + * @ignore + */ + valueFn:function () { + var self = this; + return self.get('el') && self.get('el').offset().top; + } + }, + zIndex:{ + }, + /** + * @private + * see {@link BUI.Component.UIBase.Box#visibleMode}. + * @default "visibility" + * @ignore + */ + visibleMode:{ + value:'visibility' + } + }; + + + PositionView.prototype = { + + __createDom:function () { + this.get('el').addClass(BUI.prefix + 'ext-position'); + }, + + _uiSetZIndex:function (x) { + this.get('el').css('z-index', x); + }, + _uiSetX:function (x) { + if (x != null) { + this.get('el').offset({ + left:x + }); + } + }, + _uiSetY:function (y) { + if (y != null) { + this.get('el').offset({ + top:y + }); + } + }, + _uiSetLeft:function(left){ + if(left != null){ + this.get('el').css({left:left}); + } + }, + _uiSetTop : function(top){ + if(top != null){ + this.get('el').css({top:top}); + } + } + }; + + /** + * @class BUI.Component.UIBase.Position + * Position extension class. + * Make component positionable + */ + function Position() { + } + + Position.ATTRS = + /** + * @lends BUI.Component.UIBase.Position# + * @ignore + */ + { + /** + * \u6c34\u5e73\u5750\u6807 + * @cfg {Number} x + */ + /** + * \u6c34\u5e73\u5750\u6807 + *
          
          +         *     overlay.set('x',100);
          +         * 
          + * @type {Number} + */ + x:{ + view:1 + }, + /** + * \u5782\u76f4\u5750\u6807 + * @cfg {Number} y + */ + /** + * \u5782\u76f4\u5750\u6807 + *
          
          +         *     overlay.set('y',100);
          +         * 
          + * @type {Number} + */ + y:{ + view:1 + }, + /** + * \u76f8\u5bf9\u4e8e\u7236\u5143\u7d20\u7684\u6c34\u5e73\u4f4d\u7f6e + * @type {Number} + * @protected + */ + left : { + view:1 + }, + /** + * \u76f8\u5bf9\u4e8e\u7236\u5143\u7d20\u7684\u5782\u76f4\u4f4d\u7f6e + * @type {Number} + * @protected + */ + top : { + view:1 + }, + /** + * \u6c34\u5e73\u548c\u5782\u76f4\u5750\u6807 + *
          
          +         * var overlay = new Overlay({
          +         *   xy : [100,100],
          +         *   trigger : '#t1',
          +         *   srcNode : '#c1'
          +         * });
          +         * 
          + * @cfg {Number[]} xy + */ + /** + * \u6c34\u5e73\u548c\u5782\u76f4\u5750\u6807 + *
          
          +         *     overlay.set('xy',[100,100]);
          +         * 
          + * @type {Number[]} + */ + xy:{ + // \u76f8\u5bf9 page \u5b9a\u4f4d, \u6709\u6548\u503c\u4e3a [n, m], \u4e3a null \u65f6, \u9009 align \u8bbe\u7f6e + setter:function (v) { + var self = this, + xy = $.makeArray(v); + /* + \u5c5e\u6027\u5185\u5206\u53d1\u7279\u522b\u6ce8\u610f\uff1a + xy -> x,y + */ + if (xy.length) { + xy[0] && self.set('x', xy[0]); + xy[1] && self.set('y', xy[1]); + } + return v; + }, + /** + * xy \u7eaf\u4e2d\u8f6c\u4f5c\u7528 + * @ignore + */ + getter:function () { + return [this.get('x'), this.get('y')]; + } + }, + /** + * z-index value. + *
          
          +         *   var overlay = new Overlay({
          +         *       zIndex : '1000'
          +         *   });
          +         * 
          + * @cfg {Number} zIndex + */ + /** + * z-index value. + *
          
          +         *   overlay.set('zIndex','1200');
          +         * 
          + * @type {Number} + */ + zIndex:{ + view:1 + }, + /** + * Positionable element is by default visible false. + * For compatibility in overlay and PopupMenu. + * @default false + * @ignore + */ + visible:{ + view:true, + value:true + } + }; + + + Position.prototype = + /** + * @lends BUI.Component.UIBase.Position.prototype + * @ignore + */ + { + /** + * Move to absolute position. + * @param {Number|Number[]} x + * @param {Number} [y] + * @example + *
          
          +         * move(x, y);
          +         * move(x);
          +         * move([x,y])
          +         * 
          + */ + move:function (x, y) { + var self = this; + if (BUI.isArray(x)) { + y = x[1]; + x = x[0]; + } + self.set('xy', [x, y]); + return self; + }, + //\u8bbe\u7f6e x \u5750\u6807\u65f6\uff0c\u91cd\u7f6e left + _uiSetX : function(v){ + if(v != null){ + var _self = this, + el = _self.get('el'); + _self.setInternal('left',el.position().left); + if(v != -999){ + this.set('cachePosition',null); + } + + } + + }, + //\u8bbe\u7f6e y \u5750\u6807\u65f6\uff0c\u91cd\u7f6e top + _uiSetY : function(v){ + if(v != null){ + var _self = this, + el = _self.get('el'); + _self.setInternal('top',el.position().top); + if(v != -999){ + this.set('cachePosition',null); + } + } + }, + //\u8bbe\u7f6e left\u65f6\uff0c\u91cd\u7f6e x + _uiSetLeft : function(v){ + var _self = this, + el = _self.get('el'); + if(v != null){ + _self.setInternal('x',el.offset().left); + }/*else{ //\u5982\u679clef \u4e3anull,\u540c\u65f6\u8bbe\u7f6e\u8fc7left\u548ctop\uff0c\u90a3\u4e48\u53d6\u5bf9\u5e94\u7684\u503c + _self.setInternal('left',el.position().left); + }*/ + }, + //\u8bbe\u7f6etop \u65f6\uff0c\u91cd\u7f6ey + _uiSetTop : function(v){ + var _self = this, + el = _self.get('el'); + if(v != null){ + _self.setInternal('y',el.offset().top); + }/*else{ //\u5982\u679clef \u4e3anull,\u540c\u65f6\u8bbe\u7f6e\u8fc7left\u548ctop\uff0c\u90a3\u4e48\u53d6\u5bf9\u5e94\u7684\u503c + _self.setInternal('top',el.position().top); + }*/ + } + }; + + Position.View = PositionView; + return Position; +}); +/** + * @fileOverview \u53ef\u9009\u4e2d\u7684\u63a7\u4ef6,\u7236\u63a7\u4ef6\u652f\u6301selection\u6269\u5c55 + * @ignore + */ + +define('bui/component/uibase/listitem',function () { + + /** + * \u5217\u8868\u9879\u63a7\u4ef6\u7684\u89c6\u56fe\u5c42 + * @class BUI.Component.UIBase.ListItemView + * @private + */ + function listItemView () { + // body... + } + + listItemView.ATTRS = { + /** + * \u662f\u5426\u9009\u4e2d + * @type {Boolean} + */ + selected : { + + } + }; + + listItemView.prototype = { + _uiSetSelected : function(v){ + var _self = this, + cls = _self.getStatusCls('selected'), + el = _self.get('el'); + if(v){ + el.addClass(cls); + }else{ + el.removeClass(cls); + } + } + }; + /** + * \u5217\u8868\u9879\u7684\u6269\u5c55 + * @class BUI.Component.UIBase.ListItem + */ + function listItem() { + + } + + listItem.ATTRS = { + + /** + * \u662f\u5426\u53ef\u4ee5\u88ab\u9009\u4e2d + * @cfg {Boolean} [selectable=true] + */ + /** + * \u662f\u5426\u53ef\u4ee5\u88ab\u9009\u4e2d + * @type {Boolean} + */ + selectable : { + value : true + }, + + /** + * \u662f\u5426\u9009\u4e2d,\u53ea\u80fd\u901a\u8fc7\u8bbe\u7f6e\u7236\u7c7b\u7684\u9009\u4e2d\u65b9\u6cd5\u6765\u5b9e\u73b0\u9009\u4e2d + * @type {Boolean} + * @readOnly + */ + selected :{ + view : true, + sync : false, + value : false + } + }; + + listItem.prototype = { + + }; + + listItem.View = listItemView; + + return listItem; + +}); +/** + * @fileOverview + * \u63a7\u4ef6\u5305\u542b\u5934\u90e8\uff08head)\u3001\u5185\u5bb9(content)\u548c\u5c3e\u90e8\uff08foot) + * @ignore + */ +define('bui/component/uibase/stdmod',function () { + + var CLS_PREFIX = BUI.prefix + 'stdmod-'; + + + /** + * \u6807\u51c6\u6a21\u5757\u7ec4\u7ec7\u7684\u89c6\u56fe\u7c7b + * @class BUI.Component.UIBase.StdModView + * @private + */ + function StdModView() { + } + + StdModView.ATTRS = { + header:{ + }, + body:{ + }, + footer:{ + }, + bodyStyle:{ + }, + footerStyle:{ + }, + headerStyle:{ + }, + headerContent:{ + }, + bodyContent:{ + }, + footerContent:{ + } + }; + + StdModView.PARSER = { + header:function (el) { + return el.one("." + CLS_PREFIX + "header"); + }, + body:function (el) { + return el.one("." + CLS_PREFIX + "body"); + }, + footer:function (el) { + return el.one("." + CLS_PREFIX + "footer"); + } + };/**/ + + function createUI(self, part) { + var el = self.get('contentEl'), + partEl = self.get(part); + if (!partEl) { + partEl = $('
          ' + + '
          '); + partEl.appendTo(el); + self.setInternal(part, partEl); + } + } + + + function _setStdModRenderContent(self, part, v) { + part = self.get(part); + if (BUI.isString(v)) { + part.html(v); + } else { + part.html('') + .append(v); + } + } + + StdModView.prototype = { + + __createDom:function () { + createUI(this, 'header'); + createUI(this, 'body'); + createUI(this, 'footer'); + }, + + _uiSetBodyStyle:function (v) { + this.get('body').css(v); + }, + + _uiSetHeaderStyle:function (v) { + this.get('header').css(v); + }, + _uiSetFooterStyle:function (v) { + this.get('footer').css(v); + }, + + _uiSetBodyContent:function (v) { + _setStdModRenderContent(this, 'body', v); + }, + + _uiSetHeaderContent:function (v) { + _setStdModRenderContent(this, 'header', v); + }, + + _uiSetFooterContent:function (v) { + _setStdModRenderContent(this, 'footer', v); + } + }; + + /** + * @class BUI.Component.UIBase.StdMod + * StdMod extension class. + * Generate head, body, foot for component. + */ + function StdMod() { + } + + StdMod.ATTRS = + /** + * @lends BUI.Component.UIBase.StdMod# + * @ignore + */ + { + /** + * \u63a7\u4ef6\u7684\u5934\u90e8DOM. Readonly + * @readOnly + * @type {jQuery} + */ + header:{ + view:1 + }, + /** + * \u63a7\u4ef6\u7684\u5185\u5bb9DOM. Readonly + * @readOnly + * @type {jQuery} + */ + body:{ + view:1 + }, + /** + * \u63a7\u4ef6\u7684\u5e95\u90e8DOM. Readonly + * @readOnly + * @type {jQuery} + */ + footer:{ + view:1 + }, + /** + * \u5e94\u7528\u5230\u63a7\u4ef6\u5185\u5bb9\u7684css\u5c5e\u6027\uff0c\u952e\u503c\u5bf9\u5f62\u5f0f + * @cfg {Object} bodyStyle + */ + /** + * \u5e94\u7528\u5230\u63a7\u4ef6\u5185\u5bb9\u7684css\u5c5e\u6027\uff0c\u952e\u503c\u5bf9\u5f62\u5f0f + * @type {Object} + * @protected + */ + bodyStyle:{ + view:1 + }, + /** + * \u5e94\u7528\u5230\u63a7\u4ef6\u5e95\u90e8\u7684css\u5c5e\u6027\uff0c\u952e\u503c\u5bf9\u5f62\u5f0f + * @cfg {Object} footerStyle + */ + /** + * \u5e94\u7528\u5230\u63a7\u4ef6\u5e95\u90e8\u7684css\u5c5e\u6027\uff0c\u952e\u503c\u5bf9\u5f62\u5f0f + * @type {Object} + * @protected + */ + footerStyle:{ + view:1 + }, + /** + * \u5e94\u7528\u5230\u63a7\u4ef6\u5934\u90e8\u7684css\u5c5e\u6027\uff0c\u952e\u503c\u5bf9\u5f62\u5f0f + * @cfg {Object} headerStyle + */ + /** + * \u5e94\u7528\u5230\u63a7\u4ef6\u5934\u90e8\u7684css\u5c5e\u6027\uff0c\u952e\u503c\u5bf9\u5f62\u5f0f + * @type {Object} + * @protected + */ + headerStyle:{ + view:1 + }, + /** + * \u63a7\u4ef6\u5934\u90e8\u7684html + *
          
          +         * var dialog = new Dialog({
          +         *     headerContent: '<div class="header"></div>',
          +         *     bodyContent : '#c1',
          +         *     footerContent : '<div class="footer"></div>'
          +         * });
          +         * dialog.show();
          +         * 
          + * @cfg {jQuery|String} headerContent + */ + /** + * \u63a7\u4ef6\u5934\u90e8\u7684html + * @type {jQuery|String} + */ + headerContent:{ + view:1 + }, + /** + * \u63a7\u4ef6\u5185\u5bb9\u7684html + *
          
          +         * var dialog = new Dialog({
          +         *     headerContent: '<div class="header"></div>',
          +         *     bodyContent : '#c1',
          +         *     footerContent : '<div class="footer"></div>'
          +         * });
          +         * dialog.show();
          +         * 
          + * @cfg {jQuery|String} bodyContent + */ + /** + * \u63a7\u4ef6\u5185\u5bb9\u7684html + * @type {jQuery|String} + */ + bodyContent:{ + view:1 + }, + /** + * \u63a7\u4ef6\u5e95\u90e8\u7684html + *
          
          +         * var dialog = new Dialog({
          +         *     headerContent: '<div class="header"></div>',
          +         *     bodyContent : '#c1',
          +         *     footerContent : '<div class="footer"></div>'
          +         * });
          +         * dialog.show();
          +         * 
          + * @cfg {jQuery|String} footerContent + */ + /** + * \u63a7\u4ef6\u5e95\u90e8\u7684html + * @type {jQuery|String} + */ + footerContent:{ + view:1 + } + }; + + StdMod.View = StdModView; + return StdMod; +});/** + * @fileOverview \u4f7f\u7528wrapper + * @ignore + */ + +define('bui/component/uibase/decorate',['bui/array','bui/json','bui/component/manage'],function (require) { + + var ArrayUtil = require('bui/array'), + JSON = require('bui/json'), + prefixCls = BUI.prefix, + FIELD_PREFIX = 'data-' + FIELD_CFG = FIELD_PREFIX + 'cfg', + PARSER = 'PARSER', + Manager = require('bui/component/manage'), + regx = /^[\{\[]/; + + function isConfigField(name,cfgFields){ + if(cfgFields[name]){ + return true; + } + var reg = new RegExp("^"+FIELD_PREFIX); + if(name !== FIELD_CFG && reg.test(name)){ + return true; + } + return false; + } + + // \u6536\u96c6\u5355\u7ee7\u627f\u94fe\uff0c\u5b50\u7c7b\u5728\u524d\uff0c\u7236\u7c7b\u5728\u540e + function collectConstructorChains(self) { + var constructorChains = [], + c = self.constructor; + while (c) { + constructorChains.push(c); + c = c.superclass && c.superclass.constructor; + } + return constructorChains; + } + + //\u5982\u679c\u5c5e\u6027\u4e3a\u5bf9\u8c61\u6216\u8005\u6570\u7ec4\uff0c\u5219\u8fdb\u884c\u8f6c\u6362 + function parseFieldValue(value){ + value = $.trim(value); + if(regx.test(value)){ + value = JSON.looseParse(value); + } + return value; + } + + function setConfigFields(self,cfg){ + + var userConfig = self.userConfig || {}; + for (var p in cfg) { + // \u7528\u6237\u8bbe\u7f6e\u8fc7\u90a3\u4e48\u8fd9\u91cc\u4e0d\u4ece dom \u8282\u70b9\u53d6 + // \u7528\u6237\u8bbe\u7f6e > html parser > default value + if (!(p in userConfig)) { + self.setInternal(p,cfg[p]); + } + } + } + function applyParser(srcNode, parser) { + var self = this, + p, v, + userConfig = self.userConfig || {}; + + // \u4ece parser \u4e2d\uff0c\u9ed8\u9ed8\u8bbe\u7f6e\u5c5e\u6027\uff0c\u4e0d\u89e6\u53d1\u4e8b\u4ef6 + for (p in parser) { + // \u7528\u6237\u8bbe\u7f6e\u8fc7\u90a3\u4e48\u8fd9\u91cc\u4e0d\u4ece dom \u8282\u70b9\u53d6 + // \u7528\u6237\u8bbe\u7f6e > html parser > default value + if (!(p in userConfig)) { + v = parser[p]; + // \u51fd\u6570 + if (BUI.isFunction(v)) { + self.setInternal(p, v.call(self, srcNode)); + } + // \u5355\u9009\u9009\u62e9\u5668 + else if (typeof v == 'string') { + self.setInternal(p, srcNode.find(v)); + } + // \u591a\u9009\u9009\u62e9\u5668 + else if (BUI.isArray(v) && v[0]) { + self.setInternal(p, srcNode.find(v[0])) + } + } + } + } + + function initParser(self,srcNode){ + + var c = self.constructor, + len, + p, + constructorChains; + + constructorChains = collectConstructorChains(self); + + // \u4ece\u7236\u7c7b\u5230\u5b50\u7c7b\u5f00\u59cb\u4ece html \u8bfb\u53d6\u5c5e\u6027 + for (len = constructorChains.length - 1; len >= 0; len--) { + c = constructorChains[len]; + if (p = c[PARSER]) { + applyParser.call(self, srcNode, p); + } + } + } + + function initDecorate(self){ + var _self = self, + srcNode = _self.get('srcNode'), + userConfig, + decorateCfg; + if(srcNode){ + srcNode = $(srcNode); + _self.setInternal('el',srcNode); + _self.setInternal('srcNode',srcNode); + + userConfig = _self.get('userConfig'); + decorateCfg = _self.getDecorateConfig(srcNode); + setConfigFields(self,decorateCfg); + + //\u5982\u679c\u4eceDOM\u4e2d\u8bfb\u53d6\u5b50\u63a7\u4ef6 + if(_self.get('isDecorateChild') && _self.decorateInternal){ + _self.decorateInternal(srcNode); + } + initParser(self,srcNode); + } + } + + /** + * @class BUI.Component.UIBase.Decorate + * \u5c06DOM\u5bf9\u8c61\u5c01\u88c5\u6210\u63a7\u4ef6 + */ + function decorate(){ + initDecorate(this); + } + + decorate.ATTRS = { + + /** + * \u914d\u7f6e\u63a7\u4ef6\u7684\u6839\u8282\u70b9\u7684DOM + *
          
          +     * new Form.Form({
          +     *   srcNode : '#J_Form'
          +     * }).render();
          +     * 
          + * @cfg {jQuery} srcNode + */ + /** + * \u914d\u7f6e\u63a7\u4ef6\u7684\u6839\u8282\u70b9\u7684DOM + * @type {jQuery} + */ + srcNode : { + view : true + }, + /** + * \u662f\u5426\u6839\u636eDOM\u751f\u6210\u5b50\u63a7\u4ef6 + * @type {Boolean} + * @protected + */ + isDecorateChild : { + value : false + }, + /** + * \u6b64\u914d\u7f6e\u9879\u914d\u7f6e\u4f7f\u7528\u90a3\u4e9bsrcNode\u4e0a\u7684\u8282\u70b9\u4f5c\u4e3a\u914d\u7f6e\u9879 + * - \u5f53\u65f6\u7528 decorate \u65f6\uff0c\u53d6 srcNode\u4e0a\u7684\u8282\u70b9\u7684\u5c5e\u6027\u4f5c\u4e3a\u63a7\u4ef6\u7684\u914d\u7f6e\u4fe1\u606f + * - \u9ed8\u8ba4id,name,value,title \u90fd\u4f1a\u4f5c\u4e3a\u5c5e\u6027\u4f20\u5165 + * - \u4f7f\u7528 'data-cfg' \u4f5c\u4e3a\u6574\u4f53\u7684\u914d\u7f6e\u5c5e\u6027 + *
          
          +     *     
          +     *     //\u4f1a\u751f\u6210\u4ee5\u4e0b\u914d\u7f6e\u9879\uff1a
          +     *     {
          +     *         name : 'txtName',
          +     *         id : 'id',
          +     *         allowBlank:false
          +     *     }
          +     *     new Form.Field({
          +     *        src:'#c1'
          +     *     }).render();
          +     *  
          + * @type {Object} + * @protected + */ + decorateCfgFields : { + value : { + 'id' : true, + 'name' : true, + 'value' : true, + 'title' : true + } + } + }; + + decorate.prototype = { + + /** + * \u83b7\u53d6\u63a7\u4ef6\u7684\u914d\u7f6e\u4fe1\u606f + * @protected + */ + getDecorateConfig : function(el){ + if(!el.length){ + return null; + } + var _self = this, + dom = el[0], + attributes = dom.attributes, + decorateCfgFields = _self.get('decorateCfgFields'), + config = {}; + + BUI.each(attributes,function(attr){ + var name = attr.nodeName; + try{ + if(name === FIELD_CFG){ + var cfg = parseFieldValue(attr.nodeValue); + BUI.mix(config,cfg); + } + else if(isConfigField(name,decorateCfgFields)){ + name = name.replace(FIELD_PREFIX,''); + config[name] = parseFieldValue(attr.nodeValue); + } + }catch(e){ + BUI.log('parse field error,the attribute is:' + name); + } + }); + return config; + }, + /** + * \u83b7\u53d6\u5c01\u88c5\u6210\u5b50\u63a7\u4ef6\u7684\u8282\u70b9\u96c6\u5408 + * @protected + * @return {Array} \u8282\u70b9\u96c6\u5408 + */ + getDecorateElments : function(){ + var _self = this, + el = _self.get('el'), + contentContainer = _self.get('contentContainer'); + if(contentContainer){ + return el.find(contentContainer).children(); + }else{ + return el.children(); + } + }, + + /** + * \u5c01\u88c5\u6240\u6709\u7684\u5b50\u63a7\u4ef6 + * @protected + * @param {jQuery} el Root element of current component. + */ + decorateInternal: function (el) { + var self = this; + self.decorateChildren(el); + }, + /** + * \u83b7\u53d6\u5b50\u63a7\u4ef6\u7684xclass\u7c7b\u578b + * @protected + * @param {jQuery} \u5b50\u63a7\u4ef6\u7684\u6839\u8282\u70b9 + */ + findXClassByNode: function (childNode, ignoreError) { + var _self = this, + cls = childNode.attr("class") || '', + childClass = _self.get('defaultChildClass'); //\u5982\u679c\u6ca1\u6709\u6837\u5f0f\u6216\u8005\u67e5\u627e\u4e0d\u5230\u5bf9\u5e94\u7684\u7c7b\uff0c\u4f7f\u7528\u9ed8\u8ba4\u7684\u5b50\u63a7\u4ef6\u7c7b\u578b + + // \u8fc7\u6ee4\u6389\u7279\u5b9a\u524d\u7f00 + cls = cls.replace(new RegExp("\\b" + prefixCls, "ig"), ""); + + var UI = Manager.getConstructorByXClass(cls) || Manager.getConstructorByXClass(childClass); + + if (!UI && !ignoreError) { + BUI.log(childNode); + BUI.error("can not find ui " + cls + " from this markup"); + } + return Manager.getXClassByConstructor(UI); + }, + // \u751f\u6210\u4e00\u4e2a\u7ec4\u4ef6 + decorateChildrenInternal: function (xclass, c) { + var _self = this, + children = _self.get('children'); + children.push({ + xclass : xclass, + srcNode: c + }); + }, + /** + * \u5c01\u88c5\u5b50\u63a7\u4ef6 + * @private + * @param {jQuery} el component's root element. + */ + decorateChildren: function (el) { + var _self = this, + children = _self.getDecorateElments(); + BUI.each(children,function(c){ + var xclass = _self.findXClassByNode($(c)); + _self.decorateChildrenInternal(xclass, $(c)); + }); + } + }; + + return decorate; +});/** + * @fileOverview \u63a7\u4ef6\u6a21\u677f + * @author dxq613@gmail.com + * @ignore + */ +define('bui/component/uibase/tpl',function () { + + /** + * @private + * \u63a7\u4ef6\u6a21\u677f\u6269\u5c55\u7c7b\u7684\u6e32\u67d3\u7c7b(view) + * @class BUI.Component.UIBase.TplView + */ + function tplView () { + + } + + tplView.ATTRS = { + /** + * \u6a21\u677f + * @protected + * @type {String} + */ + tpl:{ + + } + }; + + tplView.prototype = { + __renderUI : function(){ + var _self = this, + contentContainer = _self.get('childContainer'), + contentEl; + + if(contentContainer){ + contentEl = _self.get('el').find(contentContainer); + if(contentEl.length){ + _self.set('contentEl',contentEl); + } + } + }, + /** + * \u83b7\u53d6\u751f\u6210\u63a7\u4ef6\u7684\u6a21\u677f + * @protected + * @param {Object} attrs \u5c5e\u6027\u503c + * @return {String} \u6a21\u677f + */ + getTpl:function (attrs) { + var _self = this, + tpl = _self.get('tpl'), + tplRender = _self.get('tplRender'); + attrs = attrs || _self.getAttrVals(); + + if(tplRender){ + return tplRender(attrs); + } + if(tpl){ + return BUI.substitute(tpl,attrs); + } + return ''; + }, + /** + * \u5982\u679c\u63a7\u4ef6\u8bbe\u7f6e\u4e86\u6a21\u677f\uff0c\u5219\u6839\u636e\u6a21\u677f\u548c\u5c5e\u6027\u503c\u751f\u6210DOM + * \u5982\u679c\u8bbe\u7f6e\u4e86content\u5c5e\u6027\uff0c\u6b64\u6a21\u677f\u4e0d\u5e94\u7528 + * @protected + * @param {Object} attrs \u5c5e\u6027\u503c\uff0c\u9ed8\u8ba4\u4e3a\u521d\u59cb\u5316\u65f6\u4f20\u5165\u7684\u503c + */ + setTplContent:function (attrs) { + var _self = this, + el = _self.get('el'), + content = _self.get('content'), + tpl = _self.getTpl(attrs); + if(!content && tpl){ + el.empty(); + el.html(tpl); + } + } + } + + /** + * \u63a7\u4ef6\u7684\u6a21\u677f\u6269\u5c55 + * @class BUI.Component.UIBase.Tpl + */ + function tpl() { + + } + + tpl.ATTRS = { + /** + * \u63a7\u4ef6\u7684\u6a21\u7248\uff0c\u7528\u4e8e\u521d\u59cb\u5316 + *
          
          +    * var list = new List.List({
          +    *   tpl : '<div class="toolbar"></div><ul></ul>',
          +    *   childContainer : 'ul'
          +    * });
          +    * //\u7528\u4e8e\u7edf\u4e00\u5b50\u63a7\u4ef6\u6a21\u677f
          +    * var list = new List.List({
          +    *   defaultChildCfg : {
          +    *     tpl : '<span>{text}</span>'
          +    *   }
          +    * });
          +    * list.render();
          +    * 
          + * @cfg {String} tpl + */ + /** + * \u63a7\u4ef6\u7684\u6a21\u677f + *
          
          +     *   list.set('tpl','<div class="toolbar"></div><ul></ul><div class="bottom"></div>')
          +     * 
          + * @type {String} + */ + tpl : { + view : true, + sync: false + }, + /** + *

          \u63a7\u4ef6\u7684\u6e32\u67d3\u51fd\u6570\uff0c\u5e94\u5bf9\u4e00\u4e9b\u7b80\u5355\u6a21\u677f\u89e3\u51b3\u4e0d\u4e86\u7684\u95ee\u9898\uff0c\u4f8b\u5982\u6709if,else\u903b\u8f91\uff0c\u6709\u5faa\u73af\u903b\u8f91, + * \u51fd\u6570\u539f\u578b\u662ffunction(data){},\u5176\u4e2ddata\u662f\u63a7\u4ef6\u7684\u5c5e\u6027\u503c

          + *

          \u63a7\u4ef6\u6a21\u677f\u7684\u52a0\u5f3a\u6a21\u5f0f\uff0c\u6b64\u5c5e\u6027\u4f1a\u8986\u76d6@see {BUI.Component.UIBase.Tpl#property-tpl}\u5c5e\u6027

          + * //\u7528\u4e8e\u7edf\u4e00\u5b50\u63a7\u4ef6\u6a21\u677f + * var list = new List.List({ + * defaultChildCfg : { + * tplRender : funciton(item){ + * if(item.type == '1'){ + * return 'type1 html'; + * }else{ + * return 'type2 html'; + * } + * } + * } + * }); + * list.render(); + * @cfg {Function} tplRender + */ + tplRender : { + view : true, + value : null + }, + /** + * \u8fd9\u662f\u4e00\u4e2a\u9009\u62e9\u5668\uff0c\u4f7f\u7528\u4e86\u6a21\u677f\u540e\uff0c\u5b50\u63a7\u4ef6\u53ef\u80fd\u4f1a\u6dfb\u52a0\u5230\u6a21\u677f\u5bf9\u5e94\u7684\u4f4d\u7f6e, + * - \u9ed8\u8ba4\u4e3anull,\u6b64\u65f6\u5b50\u63a7\u4ef6\u4f1a\u5c06\u63a7\u4ef6\u6700\u5916\u5c42 el \u4f5c\u4e3a\u5bb9\u5668 + *
          
          +     * var list = new List.List({
          +     *   tpl : '<div class="toolbar"></div><ul></ul>',
          +     *   childContainer : 'ul'
          +     * });
          +     * 
          + * @cfg {String} childContainer + */ + childContainer : { + view : true + } + }; + + tpl.prototype = { + + __renderUI : function () { + //\u4f7f\u7528srcNode\u65f6\uff0c\u4e0d\u4f7f\u7528\u6a21\u677f + if(!this.get('srcNode')){ + this.setTplContent(); + } + }, + /** + * \u6839\u636e\u63a7\u4ef6\u7684\u5c5e\u6027\u548c\u6a21\u677f\u751f\u6210\u63a7\u4ef6\u5185\u5bb9 + * @protected + */ + setTplContent : function () { + var _self = this, + attrs = _self.getAttrVals(); + _self.get('view').setTplContent(attrs); + }, + //\u6a21\u677f\u53d1\u751f\u6539\u53d8 + _uiSetTpl : function(){ + this.setTplContent(); + } + }; + + + tpl.View = tplView; + + return tpl; +}); + + +/** + * @fileOverview \u53ef\u4ee5\u5c55\u5f00\u6298\u53e0\u7684\u63a7\u4ef6 + * @ignore + */ + +define('bui/component/uibase/collapseable',function () { + + /** + * \u63a7\u4ef6\u5c55\u5f00\u6298\u53e0\u7684\u89c6\u56fe\u7c7b + * @class BUI.Component.UIBase.CollapseableView + * @private + */ + var collapseableView = function(){ + + }; + + collapseableView.ATTRS = { + collapsed : {} + } + + collapseableView.prototype = { + //\u8bbe\u7f6e\u6536\u7f29\u6837\u5f0f + _uiSetCollapsed : function(v){ + var _self = this, + cls = _self.getStatusCls('collapsed'), + el = _self.get('el'); + if(v){ + el.addClass(cls); + }else{ + el.removeClass(cls); + } + } + } + /** + * \u63a7\u4ef6\u5c55\u5f00\u6298\u53e0\u7684\u6269\u5c55 + * @class BUI.Component.UIBase.Collapseable + */ + var collapseable = function(){ + + }; + + collapseable.ATTRS = { + /** + * \u662f\u5426\u53ef\u6298\u53e0 + * @type {Boolean} + */ + collapseable: { + value : false + }, + /** + * \u662f\u5426\u5df2\u7ecf\u6298\u53e0 collapsed + * @cfg {Boolean} collapsed + */ + /** + * \u662f\u5426\u5df2\u7ecf\u6298\u53e0 + * @type {Boolean} + */ + collapsed : { + view : true, + value : false + }, + events : { + value : { + /** + * \u63a7\u4ef6\u5c55\u5f00 + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {BUI.Component.Controller} target \u63a7\u4ef6 + */ + 'expanded' : true, + /** + * \u63a7\u4ef6\u6298\u53e0 + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {BUI.Component.Controller} target \u63a7\u4ef6 + */ + 'collapsed' : true + } + } + }; + + collapseable.prototype = { + _uiSetCollapsed : function(v){ + var _self = this; + if(v){ + _self.fire('collapsed'); + }else{ + _self.fire('expanded'); + } + } + }; + + collapseable.View = collapseableView; + + return collapseable; +});/** + * @fileOverview \u5355\u9009\u6216\u8005\u591a\u9009 + * @author dxq613@gmail.com + * @ignore + */ +define('bui/component/uibase/selection',function () { + var + SINGLE_SELECTED = 'single'; + + /** + * @class BUI.Component.UIBase.Selection + * \u9009\u4e2d\u63a7\u4ef6\u4e2d\u7684\u9879\uff08\u5b50\u5143\u7d20\u6216\u8005DOM\uff09\uff0c\u6b64\u7c7b\u9009\u62e9\u7684\u5185\u5bb9\u67092\u79cd + *
            + *
          1. \u5b50\u63a7\u4ef6
          2. + *
          3. DOM\u5143\u7d20
          4. + *
          + * ** \u5f53\u9009\u62e9\u662f\u5b50\u63a7\u4ef6\u65f6\uff0celement \u548c item \u90fd\u662f\u6307 \u5b50\u63a7\u4ef6\uff1b** + * ** \u5f53\u9009\u62e9\u7684\u662fDOM\u5143\u7d20\u65f6\uff0celement \u6307DOM\u5143\u7d20\uff0citem \u6307DOM\u5143\u7d20\u5bf9\u5e94\u7684\u8bb0\u5f55 ** + * @abstract + */ + var selection = function(){ + + }; + + selection.ATTRS = + /** + * @lends BUI.Component.UIBase.Selection# + * @ignore + */ + { + /** + * \u9009\u4e2d\u7684\u4e8b\u4ef6 + *
          
          +         * var list = new List.SimpleList({
          +         *   itemTpl : '<li id="{value}">{text}</li>',
          +         *   idField : 'value',
          +         *   selectedEvent : 'mouseenter',
          +         *   render : '#t1',
          +         *   items : [{value : '1',text : '1'},{value : '2',text : '2'}]
          +         * });
          +         * 
          + * @cfg {String} [selectedEvent = 'click'] + */ + selectedEvent:{ + value : 'click' + }, + events : { + value : { + /** + * \u9009\u4e2d\u7684\u83dc\u5355\u6539\u53d8\u65f6\u53d1\u751f\uff0c + * \u591a\u9009\u65f6\uff0c\u9009\u4e2d\uff0c\u53d6\u6d88\u9009\u4e2d\u90fd\u89e6\u53d1\u6b64\u4e8b\u4ef6\uff0c\u5355\u9009\u65f6\uff0c\u53ea\u6709\u9009\u4e2d\u65f6\u89e6\u53d1\u6b64\u4e8b\u4ef6 + * @name BUI.Component.UIBase.Selection#selectedchange + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.item \u5f53\u524d\u9009\u4e2d\u7684\u9879 + * @param {HTMLElement} e.domTarget \u5f53\u524d\u9009\u4e2d\u7684\u9879\u7684DOM\u7ed3\u6784 + * @param {Boolean} e.selected \u662f\u5426\u9009\u4e2d + */ + 'selectedchange' : false, + + /** + * \u9009\u62e9\u6539\u53d8\u524d\u89e6\u53d1\uff0c\u53ef\u4ee5\u901a\u8fc7return false\uff0c\u963b\u6b62selectedchange\u4e8b\u4ef6 + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.item \u5f53\u524d\u9009\u4e2d\u7684\u9879 + * @param {Boolean} e.selected \u662f\u5426\u9009\u4e2d + */ + 'beforeselectedchange' : false, + + /** + * \u83dc\u5355\u9009\u4e2d + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.item \u5f53\u524d\u9009\u4e2d\u7684\u9879 + * @param {HTMLElement} e.domTarget \u5f53\u524d\u9009\u4e2d\u7684\u9879\u7684DOM\u7ed3\u6784 + */ + 'itemselected' : false, + /** + * \u83dc\u5355\u53d6\u6d88\u9009\u4e2d + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.item \u5f53\u524d\u9009\u4e2d\u7684\u9879 + * @param {HTMLElement} e.domTarget \u5f53\u524d\u9009\u4e2d\u7684\u9879\u7684DOM\u7ed3\u6784 + */ + 'itemunselected' : false + } + }, + /** + * \u6570\u636e\u7684id\u5b57\u6bb5\u540d\u79f0\uff0c\u901a\u8fc7\u6b64\u5b57\u6bb5\u67e5\u627e\u5bf9\u5e94\u7684\u6570\u636e + *
          
          +         * var list = new List.SimpleList({
          +         *   itemTpl : '<li id="{value}">{text}</li>',
          +         *   idField : 'value',
          +         *   render : '#t1',
          +         *   items : [{value : '1',text : '1'},{value : '2',text : '2'}]
          +         * });
          +         * 
          + * @cfg {String} [idField = 'id'] + */ + /** + * \u6570\u636e\u7684id\u5b57\u6bb5\u540d\u79f0\uff0c\u901a\u8fc7\u6b64\u5b57\u6bb5\u67e5\u627e\u5bf9\u5e94\u7684\u6570\u636e + * @type {String} + * @ignore + */ + idField : { + value : 'id' + }, + /** + * \u662f\u5426\u591a\u9009 + *
          
          +         * var list = new List.SimpleList({
          +         *   itemTpl : '<li id="{value}">{text}</li>',
          +         *   idField : 'value',
          +         *   render : '#t1',
          +         *   multipleSelect : true,
          +         *   items : [{value : '1',text : '1'},{value : '2',text : '2'}]
          +         * });
          +         * 
          + * @cfg {Boolean} [multipleSelect=false] + */ + /** + * \u662f\u5426\u591a\u9009 + * @type {Boolean} + * @default false + */ + multipleSelect : { + value : false + } + + }; + + selection.prototype = + /** + * @lends BUI.Component.UIBase.Selection.prototype + * @ignore + */ + { + /** + * \u6e05\u7406\u9009\u4e2d\u7684\u9879 + *
          
          +         *  list.clearSelection();
          +         * 
          + * + */ + clearSelection : function(){ + var _self = this, + selection = _self.getSelection(); + BUI.each(selection,function(item){ + _self.clearSelected(item); + }); + }, + /** + * \u83b7\u53d6\u9009\u4e2d\u7684\u9879\u7684\u503c + * @template + * @return {Array} + */ + getSelection : function(){ + + }, + /** + * \u83b7\u53d6\u9009\u4e2d\u7684\u7b2c\u4e00\u9879 + *
          
          +         * var item = list.getSelected(); //\u591a\u9009\u6a21\u5f0f\u4e0b\u7b2c\u4e00\u6761
          +         * 
          + * @return {Object} \u9009\u4e2d\u7684\u7b2c\u4e00\u9879\u6216\u8005\u4e3aundefined + */ + getSelected : function(){ + return this.getSelection()[0]; + }, + /** + * \u6839\u636e idField \u83b7\u53d6\u5230\u7684\u503c + * @protected + * @return {Object} \u9009\u4e2d\u7684\u503c + */ + getSelectedValue : function(){ + var _self = this, + field = _self.get('idField'), + item = _self.getSelected(); + + return _self.getValueByField(item,field); + }, + /** + * \u83b7\u53d6\u9009\u4e2d\u7684\u503c\u96c6\u5408 + * @protected + * @return {Array} \u9009\u4e2d\u503c\u5f97\u96c6\u5408 + */ + getSelectionValues:function(){ + var _self = this, + field = _self.get('idField'), + items = _self.getSelection(); + return $.map(items,function(item){ + return _self.getValueByField(item,field); + }); + }, + /** + * \u83b7\u53d6\u9009\u4e2d\u7684\u6587\u672c + * @protected + * @return {Array} \u9009\u4e2d\u7684\u6587\u672c\u96c6\u5408 + */ + getSelectionText:function(){ + var _self = this, + items = _self.getSelection(); + return $.map(items,function(item){ + return _self.getItemText(item); + }); + }, + /** + * \u79fb\u9664\u9009\u4e2d + *
          
          +         *    var item = list.getItem('id'); //\u901a\u8fc7id \u83b7\u53d6\u9009\u9879
          +         *    list.setSelected(item); //\u9009\u4e2d
          +         *
          +         *    list.clearSelected();//\u5355\u9009\u6a21\u5f0f\u4e0b\u6e05\u9664\u6240\u9009\uff0c\u591a\u9009\u6a21\u5f0f\u4e0b\u6e05\u9664\u9009\u4e2d\u7684\u7b2c\u4e00\u9879
          +         *    list.clearSelected(item); //\u6e05\u9664\u9009\u9879\u7684\u9009\u4e2d\u72b6\u6001
          +         * 
          + * @param {Object} [item] \u6e05\u9664\u9009\u9879\u7684\u9009\u4e2d\u72b6\u6001\uff0c\u5982\u679c\u672a\u6307\u5b9a\u5219\u6e05\u9664\u9009\u4e2d\u7684\u7b2c\u4e00\u4e2a\u9009\u9879\u7684\u9009\u4e2d\u72b6\u6001 + */ + clearSelected : function(item){ + var _self = this; + item = item || _self.getSelected(); + if(item){ + _self.setItemSelected(item,false); + } + }, + /** + * \u83b7\u53d6\u9009\u9879\u663e\u793a\u7684\u6587\u672c + * @protected + */ + getSelectedText : function(){ + var _self = this, + item = _self.getSelected(); + return _self.getItemText(item); + }, + /** + * \u8bbe\u7f6e\u9009\u4e2d\u7684\u9879 + *
          
          +         *  var items = list.getItemsByStatus('active'); //\u83b7\u53d6\u67d0\u79cd\u72b6\u6001\u7684\u9009\u9879
          +         *  list.setSelection(items);
          +         * 
          + * @param {Array} items \u9879\u7684\u96c6\u5408 + */ + setSelection: function(items){ + var _self = this; + + items = BUI.isArray(items) ? items : [items]; + + BUI.each(items,function(item){ + _self.setSelected(item); + }); + }, + /** + * \u8bbe\u7f6e\u9009\u4e2d\u7684\u9879 + *
          
          +         *   var item = list.getItem('id');
          +         *   list.setSelected(item);
          +         * 
          + * @param {Object} item \u8bb0\u5f55\u6216\u8005\u5b50\u63a7\u4ef6 + * @param {BUI.Component.Controller|Object} element \u5b50\u63a7\u4ef6\u6216\u8005DOM\u7ed3\u6784 + */ + setSelected: function(item){ + var _self = this, + multipleSelect = _self.get('multipleSelect'); + + if(!multipleSelect){ + var selectedItem = _self.getSelected(); + if(item != selectedItem){ + //\u5982\u679c\u662f\u5355\u9009\uff0c\u6e05\u9664\u5df2\u7ecf\u9009\u4e2d\u7684\u9879 + _self.clearSelected(selectedItem); + } + + } + _self.setItemSelected(item,true); + + }, + /** + * \u9009\u9879\u662f\u5426\u88ab\u9009\u4e2d + * @template + * @param {*} item \u9009\u9879 + * @return {Boolean} \u662f\u5426\u9009\u4e2d + */ + isItemSelected : function(item){ + + }, + /** + * \u8bbe\u7f6e\u9009\u9879\u7684\u9009\u4e2d\u72b6\u6001 + * @param {*} item \u9009\u9879 + * @param {Boolean} selected \u9009\u4e2d\u6216\u8005\u53d6\u6d88\u9009\u4e2d + * @protected + */ + setItemSelected : function(item,selected){ + var _self = this, + isSelected; + //\u5f53\u524d\u72b6\u6001\u7b49\u4e8e\u8981\u8bbe\u7f6e\u7684\u72b6\u6001\u65f6\uff0c\u4e0d\u89e6\u53d1\u6539\u53d8\u4e8b\u4ef6 + if(item){ + isSelected = _self.isItemSelected(item); + if(isSelected == selected){ + return; + } + } + if(_self.fire('beforeselectedchange') !== false){ + _self.setItemSelectedStatus(item,selected); + } + }, + /** + * \u8bbe\u7f6e\u9009\u9879\u7684\u9009\u4e2d\u72b6\u6001 + * @template + * @param {*} item \u9009\u9879 + * @param {Boolean} selected \u9009\u4e2d\u6216\u8005\u53d6\u6d88\u9009\u4e2d + * @protected + */ + setItemSelectedStatus : function(item,selected){ + + }, + /** + * \u8bbe\u7f6e\u6240\u6709\u9009\u9879\u9009\u4e2d + *
          
          +         *  list.setAllSelection(); //\u9009\u4e2d\u5168\u90e8\uff0c\u591a\u9009\u72b6\u6001\u4e0b\u6709\u6548
          +         * 
          + * @template + */ + setAllSelection : function(){ + + }, + /** + * \u8bbe\u7f6e\u9879\u9009\u4e2d\uff0c\u901a\u8fc7\u5b57\u6bb5\u548c\u503c + * @param {String} field \u5b57\u6bb5\u540d,\u9ed8\u8ba4\u4e3a\u914d\u7f6e\u9879'idField',\u6240\u4ee5\u6b64\u5b57\u6bb5\u53ef\u4ee5\u4e0d\u586b\u5199\uff0c\u4ec5\u586b\u5199\u503c + * @param {Object} value \u503c + * @example + *
          
          +         * var list = new List.SimpleList({
          +         *   itemTpl : '<li id="{id}">{text}</li>',
          +         *   idField : 'id', //id \u5b57\u6bb5\u4f5c\u4e3akey
          +         *   render : '#t1',
          +         *   items : [{id : '1',text : '1'},{id : '2',text : '2'}]
          +         * });
          +         *
          +         *   list.setSelectedByField('123'); //\u9ed8\u8ba4\u6309\u7167id\u5b57\u6bb5\u67e5\u627e
          +         *   //\u6216\u8005
          +         *   list.setSelectedByField('id','123');
          +         *
          +         *   list.setSelectedByField('value','123');
          +         * 
          + */ + setSelectedByField:function(field,value){ + if(!value){ + value = field; + field = this.get('idField'); + } + var _self = this, + item = _self.findItemByField(field,value); + _self.setSelected(item); + }, + /** + * \u8bbe\u7f6e\u591a\u4e2a\u9009\u4e2d\uff0c\u6839\u636e\u5b57\u6bb5\u548c\u503c + *
          
          +         * var list = new List.SimpleList({
          +         *   itemTpl : '<li id="{value}">{text}</li>',
          +         *   idField : 'value', //value \u5b57\u6bb5\u4f5c\u4e3akey
          +         *   render : '#t1',
          +         *   multipleSelect : true,
          +         *   items : [{value : '1',text : '1'},{value : '2',text : '2'}]
          +         * });
          +         *   var values = ['1','2','3'];
          +         *   list.setSelectionByField(values);//
          +         *
          +         *   //\u7b49\u4e8e
          +         *   list.setSelectionByField('value',values);
          +         * 
          + * @param {String} field \u9ed8\u8ba4\u4e3aidField + * @param {Array} values \u503c\u5f97\u96c6\u5408 + */ + setSelectionByField:function(field,values){ + if(!values){ + values = field; + field = this.get('idField'); + } + var _self = this; + BUI.each(values,function(value){ + _self.setSelectedByField(field,value); + }); + }, + /** + * \u9009\u4e2d\u5b8c\u6210\u540e\uff0c\u89e6\u53d1\u4e8b\u4ef6 + * @protected + * @param {*} item \u9009\u9879 + * @param {Boolean} selected \u662f\u5426\u9009\u4e2d + * @param {jQuery} element + */ + afterSelected : function(item,selected,element){ + var _self = this; + + if(selected){ + _self.fire('itemselected',{item:item,domTarget:element}); + _self.fire('selectedchange',{item:item,domTarget:element,selected:selected}); + }else{ + _self.fire('itemunselected',{item:item,domTarget:element}); + if(_self.get('multipleSelect')){ //\u53ea\u6709\u5f53\u591a\u9009\u65f6\uff0c\u53d6\u6d88\u9009\u4e2d\u624d\u89e6\u53d1selectedchange + _self.fire('selectedchange',{item:item,domTarget:element,selected:selected}); + } + } + } + + } + + return selection; +});/** + * @fileOverview \u6240\u6709\u5b50\u5143\u7d20\u90fd\u662f\u540c\u4e00\u7c7b\u7684\u96c6\u5408 + * @ignore + */ + +define('bui/component/uibase/list',['bui/component/uibase/selection'],function (require) { + + var Selection = require('bui/component/uibase/selection'); + + /** + * \u5217\u8868\u4e00\u7c7b\u7684\u63a7\u4ef6\u7684\u6269\u5c55\uff0clist,menu,grid\u90fd\u662f\u53ef\u4ee5\u4ece\u6b64\u7c7b\u6269\u5c55 + * @class BUI.Component.UIBase.List + */ + var list = function(){ + + }; + + list.ATTRS = { + + /** + * \u9009\u62e9\u7684\u6570\u636e\u96c6\u5408 + *
          
          +     * var list = new List.SimpleList({
          +     *   itemTpl : '<li id="{value}">{text}</li>',
          +     *   idField : 'value',
          +     *   render : '#t1',
          +     *   items : [{value : '1',text : '1'},{value : '2',text : '2'}]
          +     * });
          +     * list.render();
          +     * 
          + * @cfg {Array} items + */ + /** + * \u9009\u62e9\u7684\u6570\u636e\u96c6\u5408 + *
          
          +     *  list.set('items',items); //\u5217\u8868\u4f1a\u76f4\u63a5\u66ff\u6362\u5185\u5bb9
          +     *  //\u7b49\u540c\u4e8e 
          +     *  list.clearItems();
          +     *  list.addItems(items);
          +     * 
          + * @type {Array} + */ + items:{ + view : true + }, + /** + * \u9009\u9879\u7684\u9ed8\u8ba4key\u503c + * @cfg {String} [idField = 'id'] + */ + idField : { + value : 'id' + }, + /** + * \u5217\u8868\u9879\u7684\u9ed8\u8ba4\u6a21\u677f,\u4ec5\u5728\u521d\u59cb\u5316\u65f6\u4f20\u5165\u3002 + * @type {String} + * @ignore + */ + itemTpl : { + view : true + }, + /** + * \u5217\u8868\u9879\u7684\u6e32\u67d3\u51fd\u6570\uff0c\u5e94\u5bf9\u5217\u8868\u9879\u4e4b\u95f4\u6709\u5f88\u591a\u5dee\u5f02\u65f6 + *
          
          +     * var list = new List.SimpleList({
          +     *   itemTplRender : function(item){
          +     *     if(item.type == '1'){
          +     *       return '<li><img src="xxx.jpg"/>'+item.text+'</li>'
          +     *     }else{
          +     *       return '<li>item.text</li>'
          +     *     }
          +     *   },
          +     *   idField : 'value',
          +     *   render : '#t1',
          +     *   items : [{value : '1',text : '1',type : '0'},{value : '2',text : '2',type : '1'}]
          +     * });
          +     * list.render();
          +     * 
          + * @type {Function} + */ + itemTplRender : { + view : true + }, + /** + * \u5b50\u63a7\u4ef6\u5404\u4e2a\u72b6\u6001\u9ed8\u8ba4\u91c7\u7528\u7684\u6837\u5f0f + *
          
          +     * var list = new List.SimpleList({
          +     *   render : '#t1',
          +     *   itemStatusCls : {
          +     *     selected : 'active', //\u9ed8\u8ba4\u6837\u5f0f\u4e3alist-item-selected,\u73b0\u5728\u53d8\u6210'active'
          +     *     hover : 'hover' //\u9ed8\u8ba4\u6837\u5f0f\u4e3alist-item-hover,\u73b0\u5728\u53d8\u6210'hover'
          +     *   },
          +     *   items : [{id : '1',text : '1',type : '0'},{id : '2',text : '2',type : '1'}]
          +     * });
          +     * list.render();
          +     * 
          + * see {@link BUI.Component.Controller#property-statusCls} + * @type {Object} + */ + itemStatusCls : { + view : true, + value : {} + }, + events : { + + value : { + /** + * \u9009\u9879\u70b9\u51fb\u4e8b\u4ef6 + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {BUI.Component.UIBase.ListItem} e.item \u70b9\u51fb\u7684\u9009\u9879 + * @param {HTMLElement} e.element \u9009\u9879\u4ee3\u8868\u7684DOM\u5bf9\u8c61 + * @param {HTMLElement} e.domTarget \u70b9\u51fb\u7684DOM\u5bf9\u8c61 + * @param {HTMLElement} e.domEvent \u70b9\u51fb\u7684\u539f\u751f\u4e8b\u4ef6\u5bf9\u8c61 + */ + 'itemclick' : true + } + } + }; + + list.prototype = { + + /** + * \u83b7\u53d6\u9009\u9879\u7684\u6570\u91cf + *
          
          +     *   var count = list.getItemCount();
          +     * 
          + * @return {Number} \u9009\u9879\u6570\u91cf + */ + getItemCount : function () { + return this.getItems().length; + }, + /** + * \u83b7\u53d6\u5b57\u6bb5\u7684\u503c + * @param {*} item \u5b57\u6bb5\u540d + * @param {String} field \u5b57\u6bb5\u540d + * @return {*} \u5b57\u6bb5\u7684\u503c + * @protected + */ + getValueByField : function(item,field){ + + }, + /** + * \u83b7\u53d6\u6240\u6709\u9009\u9879\u503c\uff0c\u5982\u679c\u9009\u9879\u662f\u5b50\u63a7\u4ef6\uff0c\u5219\u662f\u6240\u6709\u5b50\u63a7\u4ef6 + *
          
          +     *   var items = list.getItems();
          +     *   //\u7b49\u540c
          +     *   list.get(items);
          +     * 
          + * @return {Array} \u9009\u9879\u503c\u96c6\u5408 + */ + getItems : function () { + + }, + /** + * \u83b7\u53d6\u7b2c\u4e00\u9879 + *
          
          +     *   var item = list.getFirstItem();
          +     *   //\u7b49\u540c
          +     *   list.getItemAt(0);
          +     * 
          + * @return {Object|BUI.Component.Controller} \u9009\u9879\u503c\uff08\u5b50\u63a7\u4ef6\uff09 + */ + getFirstItem : function () { + return this.getItemAt(0); + }, + /** + * \u83b7\u53d6\u6700\u540e\u4e00\u9879 + *
          
          +     *   var item = list.getLastItem();
          +     *   //\u7b49\u540c
          +     *   list.getItemAt(list.getItemCount()-1);
          +     * 
          + * @return {Object|BUI.Component.Controller} \u9009\u9879\u503c\uff08\u5b50\u63a7\u4ef6\uff09 + */ + getLastItem : function () { + return this.getItemAt(this.getItemCount() - 1); + }, + /** + * \u901a\u8fc7\u7d22\u5f15\u83b7\u53d6\u9009\u9879\u503c\uff08\u5b50\u63a7\u4ef6\uff09 + *
          
          +     *   var item = list.getItemAt(0); //\u83b7\u53d6\u7b2c1\u4e2a
          +     *   var item = list.getItemAt(2); //\u83b7\u53d6\u7b2c3\u4e2a
          +     * 
          + * @param {Number} index \u7d22\u5f15\u503c + * @return {Object|BUI.Component.Controller} \u9009\u9879\uff08\u5b50\u63a7\u4ef6\uff09 + */ + getItemAt : function (index) { + return this.getItems()[index] || null; + }, + /** + * \u901a\u8fc7Id\u83b7\u53d6\u9009\u9879\uff0c\u5982\u679c\u662f\u6539\u53d8\u4e86idField\u5219\u901a\u8fc7\u6539\u53d8\u7684idField\u6765\u67e5\u627e\u9009\u9879 + *
          
          +     *   //\u5982\u679cidField = 'id'
          +     *   var item = list.getItem('2'); 
          +     *   //\u7b49\u540c\u4e8e
          +     *   list.findItemByField('id','2');
          +     *
          +     *   //\u5982\u679cidField = 'value'
          +     *   var item = list.getItem('2'); 
          +     *   //\u7b49\u540c\u4e8e
          +     *   list.findItemByField('value','2');
          +     * 
          + * @param {String} id \u7f16\u53f7 + * @return {Object|BUI.Component.Controller} \u9009\u9879\uff08\u5b50\u63a7\u4ef6\uff09 + */ + getItem : function(id){ + var field = this.get('idField'); + return this.findItemByField(field,id); + }, + /** + * \u8fd4\u56de\u6307\u5b9a\u9879\u7684\u7d22\u5f15 + *
          
          +     * var index = list.indexOf(item); //\u8fd4\u56de\u7d22\u5f15\uff0c\u4e0d\u5b58\u5728\u5219\u8fd4\u56de-1
          +     * 
          + * @param {Object|BUI.Component.Controller} \u9009\u9879 + * @return {Number} \u9879\u7684\u7d22\u5f15\u503c + */ + indexOfItem : function(item){ + return BUI.Array.indexOf(item,this.getItems()); + }, + /** + * \u6dfb\u52a0\u591a\u6761\u9009\u9879 + *
          
          +     * var items = [{id : '1',text : '1'},{id : '2',text : '2'}];
          +     * list.addItems(items);
          +     * 
          + * @param {Array} items \u8bb0\u5f55\u96c6\u5408\uff08\u5b50\u63a7\u4ef6\u914d\u7f6e\u9879\uff09 + */ + addItems : function (items) { + var _self = this; + BUI.each(items,function (item) { + _self.addItem(item); + }); + }, + /** + * \u63d2\u5165\u591a\u6761\u8bb0\u5f55 + *
          
          +     * var items = [{id : '1',text : '1'},{id : '2',text : '2'}];
          +     * list.addItemsAt(items,0); // \u5728\u6700\u524d\u9762\u63d2\u5165
          +     * list.addItemsAt(items,2); //\u7b2c\u4e09\u4e2a\u4f4d\u7f6e\u63d2\u5165
          +     * 
          + * @param {Array} items \u591a\u6761\u8bb0\u5f55 + * @param {Number} start \u8d77\u59cb\u4f4d\u7f6e + */ + addItemsAt : function(items,start){ + var _self = this; + BUI.each(items,function (item,index) { + _self.addItemAt(item,start + index); + }); + }, + /** + * \u66f4\u65b0\u5217\u8868\u9879\uff0c\u4fee\u6539\u9009\u9879\u503c\u540e\uff0cDOM\u8ddf\u968f\u53d8\u5316 + *
          
          +     *   var item = list.getItem('2');
          +     *   list.text = '\u65b0\u5185\u5bb9'; //\u6b64\u65f6\u5bf9\u5e94\u7684DOM\u4e0d\u4f1a\u53d8\u5316
          +     *   list.updateItem(item); //DOM\u8fdb\u884c\u76f8\u5e94\u7684\u53d8\u5316
          +     * 
          + * @param {Object} item \u9009\u9879\u503c + */ + updateItem : function(item){ + + }, + /** + * \u6dfb\u52a0\u9009\u9879,\u6dfb\u52a0\u5728\u63a7\u4ef6\u6700\u540e + * + *
          
          +     * list.addItem({id : '3',text : '3',type : '0'});
          +     * 
          + * + * @param {Object|BUI.Component.Controller} item \u9009\u9879\uff0c\u5b50\u63a7\u4ef6\u914d\u7f6e\u9879\u3001\u5b50\u63a7\u4ef6 + * @return {Object|BUI.Component.Controller} \u5b50\u63a7\u4ef6\u6216\u8005\u9009\u9879\u8bb0\u5f55 + */ + addItem : function (item) { + return this.addItemAt(item,this.getItemCount()); + }, + /** + * \u5728\u6307\u5b9a\u4f4d\u7f6e\u6dfb\u52a0\u9009\u9879 + *
          
          +     * list.addItemAt({id : '3',text : '3',type : '0'},0); //\u7b2c\u4e00\u4e2a\u4f4d\u7f6e
          +     * 
          + * @param {Object|BUI.Component.Controller} item \u9009\u9879\uff0c\u5b50\u63a7\u4ef6\u914d\u7f6e\u9879\u3001\u5b50\u63a7\u4ef6 + * @param {Number} index \u7d22\u5f15 + * @return {Object|BUI.Component.Controller} \u5b50\u63a7\u4ef6\u6216\u8005\u9009\u9879\u8bb0\u5f55 + */ + addItemAt : function(item,index) { + + }, + /** + * \u6839\u636e\u5b57\u6bb5\u67e5\u627e\u6307\u5b9a\u7684\u9879 + * @param {String} field \u5b57\u6bb5\u540d + * @param {Object} value \u5b57\u6bb5\u503c + * @return {Object} \u67e5\u8be2\u51fa\u6765\u7684\u9879\uff08\u4f20\u5165\u7684\u8bb0\u5f55\u6216\u8005\u5b50\u63a7\u4ef6\uff09 + * @protected + */ + findItemByField:function(field,value){ + + }, + /** + * + * \u83b7\u53d6\u6b64\u9879\u663e\u793a\u7684\u6587\u672c + * @param {Object} item \u83b7\u53d6\u8bb0\u5f55\u663e\u793a\u7684\u6587\u672c + * @protected + */ + getItemText:function(item){ + + }, + /** + * \u6e05\u9664\u6240\u6709\u9009\u9879,\u4e0d\u7b49\u540c\u4e8e\u5220\u9664\u5168\u90e8\uff0c\u6b64\u65f6\u4e0d\u4f1a\u89e6\u53d1\u5220\u9664\u4e8b\u4ef6 + *
          
          +     * list.clearItems(); 
          +     * //\u7b49\u540c\u4e8e
          +     * list.set('items',items);
          +     * 
          + */ + clearItems : function(){ + var _self = this, + items = _self.getItems(); + items.splice(0); + _self.clearControl(); + }, + /** + * \u5220\u9664\u9009\u9879 + *
          
          +     * var item = list.getItem('1');
          +     * list.removeItem(item);
          +     * 
          + * @param {Object|BUI.Component.Controller} item \u9009\u9879\uff08\u5b50\u63a7\u4ef6\uff09 + */ + removeItem : function (item) { + + }, + /** + * \u79fb\u9664\u9009\u9879\u96c6\u5408 + *
          
          +     * var items = list.getSelection();
          +     * list.removeItems(items);
          +     * 
          + * @param {Array} items \u9009\u9879\u96c6\u5408 + */ + removeItems : function(items){ + var _self = this; + + BUI.each(items,function(item){ + _self.removeItem(item); + }); + }, + /** + * \u901a\u8fc7\u7d22\u5f15\u5220\u9664\u9009\u9879 + *
          
          +     * list.removeItemAt(0); //\u5220\u9664\u7b2c\u4e00\u4e2a
          +     * 
          + * @param {Number} index \u7d22\u5f15 + */ + removeItemAt : function (index) { + this.removeItem(this.getItemAt(index)); + }, + /** + * @protected + * @template + * \u6e05\u9664\u6240\u6709\u7684\u5b50\u63a7\u4ef6\u6216\u8005\u5217\u8868\u9879\u7684DOM + */ + clearControl : function(){ + + } + } + + + + + + function clearSelected(item){ + if(item.selected){ + item.selected = false; + } + if(item.set){ + item.set('selected',false); + } + } + + function beforeAddItem(self,item){ + + var c = item.isController ? item.getAttrVals() : item, + defaultTpl = self.get('itemTpl'), + defaultStatusCls = self.get('itemStatusCls'), + defaultTplRender = self.get('itemTplRender'); + + //\u914d\u7f6e\u9ed8\u8ba4\u6a21\u677f + if(defaultTpl && !c.tpl){ + setItemAttr(item,'tpl',defaultTpl); + // c.tpl = defaultTpl; + } + //\u914d\u7f6e\u9ed8\u8ba4\u6e32\u67d3\u51fd\u6570 + if(defaultTplRender && !c.tplRender){ + setItemAttr(item,'tplRender',defaultTplRender); + //c.tplRender = defaultTplRender; + } + //\u914d\u7f6e\u9ed8\u8ba4\u72b6\u6001\u6837\u5f0f + if(defaultStatusCls){ + var statusCls = c.statusCls || item.isController ? item.get('statusCls') : {}; + BUI.each(defaultStatusCls,function(v,k){ + if(v && !statusCls[k]){ + statusCls[k] = v; + } + }); + setItemAttr(item,'statusCls',statusCls) + //item.statusCls = statusCls; + } + // clearSelected(item); + } + function setItemAttr(item,name,val){ + if(item.isController){ + item.set(name,val); + }else{ + item[name] = val; + } + } + + /** + * @class BUI.Component.UIBase.ChildList + * \u9009\u4e2d\u5176\u4e2d\u7684DOM\u7ed3\u6784 + * @extends BUI.Component.UIBase.List + * @mixins BUI.Component.UIBase.Selection + */ + var childList = function(){ + this.__init(); + }; + + childList.ATTRS = BUI.merge(true,list.ATTRS,Selection.ATTRS,{ + items : { + sync : false + }, + /** + * \u914d\u7f6e\u7684items \u9879\u662f\u5728\u521d\u59cb\u5316\u65f6\u4f5c\u4e3achildren + * @protected + * @type {Boolean} + */ + autoInitItems : { + value : true + }, + /** + * \u9ed8\u8ba4\u7684\u52a0\u8f7d\u63a7\u4ef6\u5185\u5bb9\u7684\u914d\u7f6e,\u9ed8\u8ba4\u503c\uff1a + *
          +     *  {
          +     *   property : 'children',
          +     *   dataType : 'json'
          +     * }
          +     * 
          + * @type {Object} + */ + defaultLoaderCfg : { + value : { + property : 'children', + dataType : 'json' + } + } + }); + + BUI.augment(childList,list,Selection,{ + //\u521d\u59cb\u5316\uff0c\u5c06items\u8f6c\u6362\u6210children + __init : function(){ + var _self = this, + items = _self.get('items'); + if(items && _self.get('autoInitItems')){ + _self.addItems(items); + } + _self.on('beforeRenderUI',function(){ + _self._beforeRenderUI(); + }); + }, + _uiSetItems : function (items) { + var _self = this; + //\u6e05\u7406\u5b50\u63a7\u4ef6 + _self.clearControl(); + _self.addItems(items); + }, + //\u6e32\u67d3\u5b50\u63a7\u4ef6 + _beforeRenderUI : function(){ + var _self = this, + children = _self.get('children'), + items = _self.get('items'); + BUI.each(children,function(item){ + beforeAddItem(_self,item); + }); + }, + //\u7ed1\u5b9a\u4e8b\u4ef6 + __bindUI : function(){ + var _self = this, + selectedEvent = _self.get('selectedEvent'); + + _self.on(selectedEvent,function(e){ + var item = e.target; + if(item.get('selectable')){ + if(!item.get('selected')){ + _self.setSelected(item); + }else if(_self.get('multipleSelect')){ + _self.clearSelected(item); + } + } + }); + + _self.on('click',function(e){ + if(e.target !== _self){ + _self.fire('itemclick',{item:e.target,domTarget : e.domTarget,domEvent : e}); + } + }); + _self.on('beforeAddChild',function(ev){ + beforeAddItem(_self,ev.child); + }); + _self.on('beforeRemoveChild',function(ev){ + var item = ev.child, + selected = item.get('selected'); + //\u6e05\u7406\u9009\u4e2d\u72b6\u6001 + if(selected){ + if(_self.get('multipleSelect')){ + _self.clearSelected(item); + }else{ + _self.setSelected(null); + } + } + item.set('selected',false); + }); + }, + /** + * @protected + * @override + * \u6e05\u9664\u8005\u5217\u8868\u9879\u7684DOM + */ + clearControl : function(){ + this.removeChildren(true); + }, + /** + * \u83b7\u53d6\u6240\u6709\u5b50\u63a7\u4ef6 + * @return {Array} \u5b50\u63a7\u4ef6\u96c6\u5408 + * @override + */ + getItems : function () { + return this.get('children'); + }, + /** + * \u66f4\u65b0\u5217\u8868\u9879 + * @param {Object} item \u9009\u9879\u503c + */ + updateItem : function(item){ + var _self = this, + idField = _self.get('idField'), + element = _self.findItemByField(idField,item[idField]); + if(element){ + element.setTplContent(); + } + return element; + }, + /** + * \u5220\u9664\u9879,\u5b50\u63a7\u4ef6\u4f5c\u4e3a\u9009\u9879 + * @param {Object} element \u5b50\u63a7\u4ef6 + */ + removeItem : function (item) { + var _self = this, + idField = _self.get('idField'); + if(!(item instanceof BUI.Component.Controller)){ + item = _self.findItemByField(idField,item[idField]); + } + this.removeChild(item,true); + }, + /** + * \u5728\u6307\u5b9a\u4f4d\u7f6e\u6dfb\u52a0\u9009\u9879,\u6b64\u5904\u9009\u9879\u6307\u5b50\u63a7\u4ef6 + * @param {Object|BUI.Component.Controller} item \u5b50\u63a7\u4ef6\u914d\u7f6e\u9879\u3001\u5b50\u63a7\u4ef6 + * @param {Number} index \u7d22\u5f15 + * @return {Object|BUI.Component.Controller} \u5b50\u63a7\u4ef6 + */ + addItemAt : function(item,index) { + return this.addChild(item,index); + }, + findItemByField : function(field,value,root){ + + root = root || this; + var _self = this, + children = root.get('children'), + result = null; + $(children).each(function(index,item){ + if(item.get(field) == value){ + result = item; + }else if(item.get('children').length){ + result = _self.findItemByField(field,value,item); + } + if(result){ + return false; + } + }); + return result; + }, + getItemText : function(item){ + return item.get('el').text(); + }, + getValueByField : function(item,field){ + return item && item.get(field); + }, + /** + * @protected + * @ignore + */ + setItemSelectedStatus : function(item,selected){ + var _self = this, + method = selected ? 'addClass' : 'removeClass', + element = null; + + if(item){ + item.set('selected',selected); + element = item.get('el'); + } + _self.afterSelected(item,selected,element); + }, + /** + * \u9009\u9879\u662f\u5426\u88ab\u9009\u4e2d + * @override + * @param {*} item \u9009\u9879 + * @return {Boolean} \u662f\u5426\u9009\u4e2d + */ + isItemSelected : function(item){ + return item ? item.get('selected') : false; + }, + /** + * \u8bbe\u7f6e\u6240\u6709\u9009\u9879\u9009\u4e2d + * @override + */ + setAllSelection : function(){ + var _self = this, + items = _self.getItems(); + _self.setSelection(items); + }, + /** + * \u83b7\u53d6\u9009\u4e2d\u7684\u9879\u7684\u503c + * @return {Array} + * @override + * @ignore + */ + getSelection : function(){ + var _self = this, + items = _self.getItems(), + rst = []; + BUI.each(items,function(item){ + if(_self.isItemSelected(item)){ + rst.push(item); + } + + }); + return rst; + } + }); + + list.ChildList = childList; + + return list; +}); + +/** + * @ignore + * 2013-1-22 + * \u66f4\u6539\u663e\u793a\u6570\u636e\u7684\u65b9\u5f0f\uff0c\u4f7f\u7528 _uiSetItems + *//** + * @fileOverview \u5b50\u63a7\u4ef6\u7684\u9ed8\u8ba4\u914d\u7f6e\u9879 + * @ignore + */ + +define('bui/component/uibase/childcfg',function (require) { + + /** + * @class BUI.Component.UIBase.ChildCfg + * \u5b50\u63a7\u4ef6\u9ed8\u8ba4\u914d\u7f6e\u9879\u7684\u6269\u5c55\u7c7b + */ + var childCfg = function(config){ + this._init(); + }; + + childCfg.ATTRS = { + /** + * \u9ed8\u8ba4\u7684\u5b50\u63a7\u4ef6\u914d\u7f6e\u9879,\u5728\u521d\u59cb\u5316\u63a7\u4ef6\u65f6\u914d\u7f6e + * + * - \u5982\u679c\u63a7\u4ef6\u5df2\u7ecf\u6e32\u67d3\u8fc7\uff0c\u6b64\u914d\u7f6e\u9879\u65e0\u6548\uff0c + * - \u63a7\u4ef6\u751f\u6210\u540e\uff0c\u4fee\u6539\u6b64\u914d\u7f6e\u9879\u65e0\u6548\u3002 + *
          
          +     *   var control = new Control({
          +     *     defaultChildCfg : {
          +     *       tpl : '<li>{text}</li>',
          +     *       xclass : 'a-b'
          +     *     }
          +     *   });
          +     * 
          + * @cfg {Object} defaultChildCfg + */ + /** + * @ignore + */ + defaultChildCfg : { + + } + }; + + childCfg.prototype = { + + _init : function(){ + var _self = this, + defaultChildCfg = _self.get('defaultChildCfg'); + if(defaultChildCfg){ + _self.on('beforeAddChild',function(ev){ + var child = ev.child; + if($.isPlainObject(child)){ + BUI.each(defaultChildCfg,function(v,k){ + if(!child[k]){ + child[k] = v; + } + }); + } + }); + } + } + + }; + + return childCfg; + +});/** + * @fileOverview \u4f9d\u8d56\u6269\u5c55\uff0c\u7528\u4e8e\u89c2\u5bdf\u8005\u6a21\u5f0f\u4e2d\u7684\u89c2\u5bdf\u8005 + * @ignore + */ + +define('bui/component/uibase/depends',['bui/component/manage'],function (require) { + + var regexp = /^#(.*):(.*)$/, + Manager = require('bui/component/manage'); + + //\u83b7\u53d6\u4f9d\u8d56\u4fe1\u606f + function getDepend(name){ + + var arr = regexp.exec(name), + id = arr[1], + eventType = arr[2], + source = getSource(id); + return { + source : source, + eventType: eventType + }; + } + + //\u7ed1\u5b9a\u4f9d\u8d56 + function bindDepend(self,name,action){ + var depend = getDepend(name), + source = depend.source, + eventType = depend.eventType, + callbak; + if(source && action && eventType){ + + if(BUI.isFunction(action)){//\u5982\u679caction\u662f\u4e00\u4e2a\u51fd\u6570 + callbak = action; + }else if(BUI.isArray(action)){//\u5982\u679c\u662f\u4e00\u4e2a\u6570\u7ec4\uff0c\u6784\u5efa\u4e00\u4e2a\u56de\u8c03\u51fd\u6570 + callbak = function(){ + BUI.each(action,function(methodName){ + if(self[methodName]){ + self[methodName](); + } + }); + } + } + } + if(callbak){ + depend.callbak = callbak; + source.on(eventType,callbak); + return depend; + } + return null; + } + //\u53bb\u9664\u4f9d\u8d56 + function offDepend(depend){ + var source = depend.source, + eventType = depend.eventType, + callbak = depend.callbak; + source.off(eventType,callbak); + } + + //\u83b7\u53d6\u7ed1\u5b9a\u7684\u4e8b\u4ef6\u6e90 + function getSource(id){ + var control = Manager.getComponent(id); + if(!control){ + control = $('#' + id); + if(!control.length){ + control = null; + } + } + return control; + } + + /** + * @class BUI.Component.UIBase.Depends + * \u4f9d\u8d56\u4e8b\u4ef6\u6e90\u7684\u6269\u5c55 + *
          
          +   *       var control = new Control({
          +   *         depends : {
          +   *           '#btn:click':['toggle'],//\u5f53\u70b9\u51fbid\u4e3a'btn'\u7684\u6309\u94ae\u65f6\uff0c\u6267\u884c control \u7684toggle\u65b9\u6cd5
          +   *           '#checkbox1:checked':['show'],//\u5f53\u52fe\u9009checkbox\u65f6\uff0c\u663e\u793a\u63a7\u4ef6
          +   *           '#menu:click',function(){}
          +   *         }
          +   *       });
          +   * 
          + */ + function Depends (){ + + }; + + Depends.ATTRS = { + /** + * \u63a7\u4ef6\u7684\u4f9d\u8d56\u4e8b\u4ef6\uff0c\u662f\u4e00\u4e2a\u6570\u7ec4\u96c6\u5408\uff0c\u6bcf\u4e00\u6761\u8bb0\u5f55\u662f\u4e00\u4e2a\u4f9d\u8d56\u5173\u7cfb
          + * \u4e00\u4e2a\u4f9d\u8d56\u662f\u6ce8\u518c\u4e00\u4e2a\u4e8b\u4ef6\uff0c\u6240\u4ee5\u9700\u8981\u5728\u4e00\u4e2a\u4f9d\u8d56\u4e2d\u63d0\u4f9b\uff1a + *
            + *
          1. \u7ed1\u5b9a\u6e90\uff1a\u4e3a\u4e86\u65b9\u4fbf\u914d\u7f6e\uff0c\u6211\u4eec\u4f7f\u7528 #id\u6765\u6307\u5b9a\u7ed1\u5b9a\u6e90\uff0c\u53ef\u4ee5\u4f7f\u63a7\u4ef6\u7684ID\uff08\u53ea\u652f\u6301\u7ee7\u627f{BUI.Component.Controller}\u7684\u63a7\u4ef6\uff09\uff0c\u4e5f\u53ef\u4ee5\u662fDOM\u7684id
          2. + *
          3. \u4e8b\u4ef6\u540d\uff1a\u4e8b\u4ef6\u540d\u662f\u4e00\u4e2a\u4f7f\u7528":"\u4e3a\u524d\u7f00\u7684\u5b57\u7b26\u4e32\uff0c\u4f8b\u5982 "#id:change",\u5373\u76d1\u542cchange\u4e8b\u4ef6
          4. + *
          5. \u89e6\u53d1\u7684\u65b9\u6cd5\uff1a\u53ef\u4ee5\u662f\u4e00\u4e2a\u6570\u7ec4\uff0c\u5982["disable","clear"],\u6570\u7ec4\u91cc\u9762\u662f\u63a7\u4ef6\u7684\u65b9\u6cd5\u540d\uff0c\u4e5f\u53ef\u4ee5\u662f\u4e00\u4e2a\u56de\u8c03\u51fd\u6570
          6. + *
          + *
          
          +     *       var control = new Control({
          +     *         depends : {
          +     *           '#btn:click':['toggle'],//\u5f53\u70b9\u51fbid\u4e3a'btn'\u7684\u6309\u94ae\u65f6\uff0c\u6267\u884c control \u7684toggle\u65b9\u6cd5
          +     *           '#checkbox1:checked':['show'],//\u5f53\u52fe\u9009checkbox\u65f6\uff0c\u663e\u793a\u63a7\u4ef6
          +     *           '#menu:click',function(){}
          +     *         }
          +     *       });
          +     * 
          + * ** \u6ce8\u610f\uff1a** \u8fd9\u4e9b\u4f9d\u8d56\u9879\u662f\u5728\u63a7\u4ef6\u6e32\u67d3\uff08render\uff09\u540e\u8fdb\u884c\u7684\u3002 + * @type {Object} + */ + depends : { + value : {} + }, + /** + * @private + * \u4f9d\u8d56\u7684\u6620\u5c04\u96c6\u5408 + * @type {Object} + */ + dependencesMap : { + value : {} + } + }; + + Depends.prototype = { + + __syncUI : function(){ + this.initDependences(); + }, + /** + * \u521d\u59cb\u5316\u4f9d\u8d56\u9879 + * @protected + */ + initDependences : function(){ + var _self = this, + depends = _self.get('depends'); + BUI.each(depends,function(action,name){ + _self.addDependence(name,action); + }); + }, + /** + * \u6dfb\u52a0\u4f9d\u8d56\uff0c\u5982\u679c\u5df2\u7ecf\u6709\u540c\u540d\u7684\u4e8b\u4ef6\uff0c\u5219\u79fb\u9664\uff0c\u518d\u6dfb\u52a0 + *
          
          +     *  form.addDependence('#btn:click',['toggle']); //\u5f53\u6309\u94ae#btn\u70b9\u51fb\u65f6\uff0c\u8868\u5355\u4ea4\u66ff\u663e\u793a\u9690\u85cf
          +     *
          +     *  form.addDependence('#btn:click',function(){//\u5f53\u6309\u94ae#btn\u70b9\u51fb\u65f6\uff0c\u8868\u5355\u4ea4\u66ff\u663e\u793a\u9690\u85cf
          +     *   //TO DO
          +     *  }); 
          +     * 
          + * @param {String} name \u4f9d\u8d56\u9879\u7684\u540d\u79f0 + * @param {Array|Function} action \u4f9d\u8d56\u9879\u7684\u4e8b\u4ef6 + */ + addDependence : function(name,action){ + var _self = this, + dependencesMap = _self.get('dependencesMap'), + depend; + _self.removeDependence(name); + depend = bindDepend(_self,name,action) + if(depend){ + dependencesMap[name] = depend; + } + }, + /** + * \u79fb\u9664\u4f9d\u8d56 + *
          
          +     *  form.removeDependence('#btn:click'); //\u5f53\u6309\u94ae#btn\u70b9\u51fb\u65f6\uff0c\u8868\u5355\u4e0d\u5728\u76d1\u542c
          +     * 
          + * @param {String} name \u4f9d\u8d56\u540d\u79f0 + */ + removeDependence : function(name){ + var _self = this, + dependencesMap = _self.get('dependencesMap'), + depend = dependencesMap[name]; + if(depend){ + offDepend(depend); + delete dependencesMap[name]; + } + }, + /** + * \u6e05\u9664\u6240\u6709\u7684\u4f9d\u8d56 + *
          
          +     *  form.clearDependences();
          +     * 
          + */ + clearDependences : function(){ + var _self = this, + map = _self.get('dependencesMap'); + BUI.each(map,function(depend,name){ + offDepend(depend); + }); + _self.set('dependencesMap',{}); + }, + __destructor : function(){ + this.clearDependences(); + } + + }; + + return Depends; +});/** + * @fileOverview bindable extension class. + * @author dxq613@gmail.com + * @ignore + */ +define('bui/component/uibase/bindable',function(){ + + /** + * bindable extension class. + *
          
          +		*   BUI.use(['bui/list','bui/data','bui/mask'],function(List,Data,Mask){
          +		*     var store = new Data.Store({
          +		*       url : 'data/xx.json'
          +		*     });
          +		*   	var list = new List.SimpleList({
          +		*  	    render : '#l1',
          +		*  	    store : store,
          +		*  	    loadMask : new Mask.LoadMask({el : '#t1'})
          +		*     });
          +		*
          +		*     list.render();
          +		*     store.load();
          +		*   });
          +		* 
          + * \u4f7f\u63a7\u4ef6\u7ed1\u5b9astore\uff0c\u5904\u7406store\u7684\u4e8b\u4ef6 {@link BUI.Data.Store} + * @class BUI.Component.UIBase.Bindable + */ + function bindable(){ + + } + + bindable.ATTRS = + { + /** + * \u7ed1\u5b9a {@link BUI.Data.Store}\u7684\u4e8b\u4ef6 + *
          
          +		*  var store = new Data.Store({
          +		*   url : 'data/xx.json',
          +		*   autoLoad : true
          +		*  });
          +		*
          +		*  var list = new List.SimpleList({
          +		*  	 render : '#l1',
          +		*  	 store : store
          +		*  });
          +		*
          +		*  list.render();
          +		* 
          + * @cfg {BUI.Data.Store} store + */ + /** + * \u7ed1\u5b9a {@link BUI.Data.Store}\u7684\u4e8b\u4ef6 + *
          
          +		*  var store = list.get('store');
          +		* 
          + * @type {BUI.Data.Store} + */ + store : { + + }, + /** + * \u52a0\u8f7d\u6570\u636e\u65f6\uff0c\u662f\u5426\u663e\u793a\u7b49\u5f85\u52a0\u8f7d\u7684\u5c4f\u853d\u5c42 + *
          
          +		*   BUI.use(['bui/list','bui/data','bui/mask'],function(List,Data,Mask){
          +		*     var store = new Data.Store({
          +		*       url : 'data/xx.json'
          +		*     });
          +		*   	var list = new List.SimpleList({
          +		*  	    render : '#l1',
          +		*  	    store : store,
          +		*  	    loadMask : new Mask.LoadMask({el : '#t1'})
          +		*     });
          +		*
          +		*     list.render();
          +		*     store.load();
          +		*   });
          +		* 
          + * @cfg {Boolean|Object} loadMask + */ + /** + * \u52a0\u8f7d\u6570\u636e\u65f6\uff0c\u662f\u5426\u663e\u793a\u7b49\u5f85\u52a0\u8f7d\u7684\u5c4f\u853d\u5c42 + * @type {Boolean|Object} + * @ignore + */ + loadMask : { + value : false + } + }; + + + BUI.augment(bindable, + /** + * @lends BUI.Data.Bindable.prototype + * @ignore + */ + { + + __bindUI : function(){ + var _self = this, + store = _self.get('store'), + loadMask = _self.get('loadMask'); + if(!store){ + return; + } + store.on('beforeload',function(e){ + _self.onBeforeLoad(e); + if(loadMask && loadMask.show){ + loadMask.show(); + } + }); + store.on('load',function(e){ + _self.onLoad(e); + if(loadMask && loadMask.hide){ + loadMask.hide(); + } + }); + store.on('exception',function(e){ + _self.onException(e); + if(loadMask && loadMask.hide){ + loadMask.hide(); + } + }); + store.on('add',function(e){ + _self.onAdd(e); + }); + store.on('remove',function(e){ + _self.onRemove(e); + }); + store.on('update',function(e){ + _self.onUpdate(e); + }); + store.on('localsort',function(e){ + _self.onLocalSort(e); + }); + }, + __syncUI : function(){ + var _self = this, + store = _self.get('store'); + if(!store){ + return; + } + if(store.hasData()){ + _self.onLoad(); + } + }, + /** + * @protected + * @template + * before store load data + * @param {Object} e The event object + * @see {@link BUI.Data.Store#event-beforeload} + */ + onBeforeLoad : function(e){ + + }, + /** + * @protected + * @template + * after store load data + * @param {Object} e The event object + * @see {@link BUI.Data.Store#event-load} + */ + onLoad : function(e){ + + }, + /** + * @protected + * @template + * occurred exception when store is loading data + * @param {Object} e The event object + * @see {@link BUI.Data.Store#event-exception} + */ + onException : function(e){ + + }, + /** + * @protected + * @template + * after added data to store + * @param {Object} e The event object + * @see {@link BUI.Data.Store#event-add} + */ + onAdd : function(e){ + + }, + /** + * @protected + * @template + * after remvoed data to store + * @param {Object} e The event object + * @see {@link BUI.Data.Store#event-remove} + */ + onRemove : function(e){ + + }, + /** + * @protected + * @template + * after updated data to store + * @param {Object} e The event object + * @see {@link BUI.Data.Store#event-update} + */ + onUpdate : function(e){ + + }, + /** + * @protected + * @template + * after local sorted data to store + * @param {Object} e The event object + * @see {@link BUI.Data.Store#event-localsort} + */ + onLocalSort : function(e){ + + } + }); + + return bindable; +});/** + * @fileOverview \u63a7\u4ef6\u7684\u89c6\u56fe\u5c42 + * @author yiminghe@gmail.com + * copied by dxq613@gmail.com + * @ignore + */ +define('bui/component/view',['bui/component/manage','bui/component/uibase'],function(require){ + + var win = window, + Manager = require('bui/component/manage'), + UIBase = require('bui/component/uibase'),//BUI.Component.UIBase, + doc = document; + + /** + * \u63a7\u4ef6\u7684\u89c6\u56fe\u5c42\u57fa\u7c7b + * @class BUI.Component.View + * @protected + * @extends BUI.Component.UIBase + * @mixins BUI.Component.UIBase.TplView + */ + var View = UIBase.extend([UIBase.TplView], + { + + /** + * Get all css class name to be applied to the root element of this component for given state. + * the css class names are prefixed with component name. + * @param {String} [state] This component's state info. + */ + getComponentCssClassWithState: function (state) { + var self = this, + componentCls = self.get('ksComponentCss'); + state = state || ''; + return self.getCssClassWithPrefix(componentCls.split(/\s+/).join(state + ' ') + state); + }, + + /** + * Get full class name (with prefix) for current component + * @param classes {String} class names without prefixCls. Separated by space. + * @method + * @return {String} class name with prefixCls + * @private + */ + getCssClassWithPrefix: Manager.getCssClassWithPrefix, + + /** + * Returns the dom element which is responsible for listening keyboard events. + * @return {jQuery} + */ + getKeyEventTarget: function () { + return this.get('el'); + }, + /** + * Return the dom element into which child component to be rendered. + * @return {jQuery} + */ + getContentElement: function () { + return this.get('contentEl') || this.get('el'); + }, + /** + * \u83b7\u53d6\u72b6\u6001\u5bf9\u5e94\u7684css\u6837\u5f0f + * @param {String} name \u72b6\u6001\u540d\u79f0 \u4f8b\u5982\uff1ahover,disabled\u7b49\u7b49 + * @return {String} \u72b6\u6001\u6837\u5f0f + */ + getStatusCls : function(name){ + var self = this, + statusCls = self.get('statusCls'), + cls = statusCls[name]; + if(!cls){ + cls = self.getComponentCssClassWithState('-' + name); + } + return cls; + }, + /** + * \u6e32\u67d3\u63a7\u4ef6 + * @protected + */ + renderUI: function () { + var self = this; + + // \u65b0\u5efa\u7684\u8282\u70b9\u624d\u9700\u8981\u6446\u653e\u5b9a\u4f4d,\u4e0d\u652f\u6301srcNode\u6a21\u5f0f + if (!self.get('srcNode')) { + var render = self.get('render'), + el = self.get('el'), + renderBefore = self.get('elBefore'); + if (renderBefore) { + el.insertBefore(renderBefore, undefined); + } else if (render) { + el.appendTo(render, undefined); + } else { + el.appendTo(doc.body, undefined); + } + } + }, + /** + * \u53ea\u8d1f\u8d23\u5efa\u7acb\u8282\u70b9\uff0c\u5982\u679c\u662f decorate \u8fc7\u6765\u7684\uff0c\u751a\u81f3\u5185\u5bb9\u4f1a\u4e22\u5931 + * @protected + * \u901a\u8fc7 render \u6765\u91cd\u5efa\u539f\u6709\u7684\u5185\u5bb9 + */ + createDom: function () { + var self = this, + contentEl = self.get('contentEl'), + el = self.get('el'); + if (!self.get('srcNode')) { + + el = $('<' + self.get('elTagName') + '>'); + + if (contentEl) { + el.append(contentEl); + } + + self.setInternal('el', el); + } + + el.addClass(self.getComponentCssClassWithState()); + if (!contentEl) { + // \u6ca1\u53d6\u5230,\u8fd9\u91cc\u8bbe\u4e0b\u503c, uiSet \u65f6\u53ef\u4ee5 set('content') \u53d6\u5230 + self.setInternal('contentEl', el); + } + }, + /** + * \u8bbe\u7f6e\u9ad8\u4eae\u663e\u793a + * @protected + */ + _uiSetHighlighted: function (v) { + var self = this, + componentCls = self.getStatusCls('hover'), + el = self.get('el'); + el[v ? 'addClass' : 'removeClass'](componentCls); + }, + + /** + * \u8bbe\u7f6e\u7981\u7528 + * @protected + */ + _uiSetDisabled: function (v) { + var self = this, + componentCls = self.getStatusCls('disabled'), + el = self.get('el'); + el[v ? 'addClass' : 'removeClass'](componentCls) + .attr('aria-disabled', v); + + //\u5982\u679c\u7981\u7528\u63a7\u4ef6\u65f6\uff0c\u5904\u4e8ehover\u72b6\u6001\uff0c\u5219\u6e05\u9664 + if(v && self.get('highlighted')){ + self.set('highlighted',false); + } + + if (self.get('focusable')) { + //\u4e0d\u80fd\u88ab tab focus \u5230 + self.getKeyEventTarget().attr('tabIndex', v ? -1 : 0); + } + }, + /** + * \u8bbe\u7f6e\u6fc0\u6d3b\u72b6\u6001 + * @protected + */ + _uiSetActive: function (v) { + var self = this, + componentCls = self.getStatusCls('active'); + self.get('el')[v ? 'addClass' : 'removeClass'](componentCls) + .attr('aria-pressed', !!v); + }, + /** + * \u8bbe\u7f6e\u83b7\u5f97\u7126\u70b9 + * @protected + */ + _uiSetFocused: function (v) { + var self = this, + el = self.get('el'), + componentCls = self.getStatusCls('focused'); + el[v ? 'addClass' : 'removeClass'](componentCls); + }, + /** + * \u8bbe\u7f6e\u63a7\u4ef6\u6700\u5916\u5c42DOM\u7684\u5c5e\u6027 + * @protected + */ + _uiSetElAttrs: function (attrs) { + this.get('el').attr(attrs); + }, + /** + * \u8bbe\u7f6e\u5e94\u7528\u5230\u63a7\u4ef6\u6700\u5916\u5c42DOM\u7684css class + * @protected + */ + _uiSetElCls: function (cls) { + this.get('el').addClass(cls); + }, + /** + * \u8bbe\u7f6e\u5e94\u7528\u5230\u63a7\u4ef6\u6700\u5916\u5c42DOM\u7684css style + * @protected + */ + _uiSetElStyle: function (style) { + this.get('el').css(style); + }, + /** + * \u8bbe\u7f6e\u5e94\u7528\u5230\u63a7\u4ef6\u5bbd\u5ea6 + * @protected + */ + _uiSetWidth: function (w) { + this.get('el').width(w); + }, + /** + * \u8bbe\u7f6e\u5e94\u7528\u5230\u63a7\u4ef6\u9ad8\u5ea6 + * @protected + */ + _uiSetHeight: function (h) { + var self = this; + self.get('el').height(h); + }, + /** + * \u8bbe\u7f6e\u5e94\u7528\u5230\u63a7\u4ef6\u7684\u5185\u5bb9 + * @protected + */ + _uiSetContent: function (c) { + var self = this, + el; + // srcNode \u65f6\u4e0d\u91cd\u65b0\u6e32\u67d3 content + // \u9632\u6b62\u5185\u90e8\u6709\u6539\u53d8\uff0c\u800c content \u5219\u662f\u8001\u7684 html \u5185\u5bb9 + if (self.get('srcNode') && !self.get('rendered')) { + } else { + el = self.get('contentEl'); + if (typeof c == 'string') { + el.html(c); + } else if (c) { + el.empty().append(c); + } + } + }, + /** + * \u8bbe\u7f6e\u5e94\u7528\u5230\u63a7\u4ef6\u662f\u5426\u53ef\u89c1 + * @protected + */ + _uiSetVisible: function (isVisible) { + var self = this, + el = self.get('el'), + visibleMode = self.get('visibleMode'); + if (visibleMode === 'visibility') { + el.css('visibility', isVisible ? 'visible' : 'hidden'); + } else { + el.css('display', isVisible ? '' : 'none'); + } + }, + /** + * \u6790\u6784\u51fd\u6570 + * @protected + */ + destructor : function () { + var el = this.get('el'); + if (el) { + el.remove(); + } + } + },{ + xclass : 'view', + priority : 0 + }); + + + View.ATTRS = + { + /** + * \u63a7\u4ef6\u6839\u8282\u70b9 + * @readOnly + * see {@link BUI.Component.Controller#property-el} + */ + el: { + /** + * @private + */ + setter: function (v) { + return $(v); + } + }, + + /** + * \u63a7\u4ef6\u6839\u8282\u70b9\u6837\u5f0f + * see {@link BUI.Component.Controller#property-elCls} + */ + elCls: { + }, + /** + * \u63a7\u4ef6\u6839\u8282\u70b9\u6837\u5f0f\u5c5e\u6027 + * see {@link BUI.Component.Controller#property-elStyle} + */ + elStyle: { + }, + /** + * \u63a7\u4ef6\u5bbd\u5ea6 + * see {@link BUI.Component.Controller#property-width} + */ + width: { + }, + /** + * \u63a7\u4ef6\u9ad8\u5ea6 + * see {@link BUI.Component.Controller#property-height} + */ + height: { + }, + /** + * \u72b6\u6001\u76f8\u5173\u7684\u6837\u5f0f,\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u4f1a\u4f7f\u7528 \u524d\u7f00\u540d + xclass + '-' + \u72b6\u6001\u540d + * see {@link BUI.Component.Controller#property-statusCls} + * @type {Object} + */ + statusCls : { + value : {} + }, + /** + * \u63a7\u4ef6\u6839\u8282\u70b9\u4f7f\u7528\u7684\u6807\u7b7e + * @type {String} + */ + elTagName: { + // \u751f\u6210\u6807\u7b7e\u540d\u5b57 + value: 'div' + }, + /** + * \u63a7\u4ef6\u6839\u8282\u70b9\u5c5e\u6027 + * see {@link BUI.Component.Controller#property-elAttrs} + * @ignore + */ + elAttrs: { + }, + /** + * \u63a7\u4ef6\u5185\u5bb9\uff0chtml,\u6587\u672c\u7b49 + * see {@link BUI.Component.Controller#property-content} + */ + content: { + }, + /** + * \u63a7\u4ef6\u63d2\u5165\u5230\u6307\u5b9a\u5143\u7d20\u524d + * see {@link BUI.Component.Controller#property-tpl} + */ + elBefore: { + // better named to renderBefore, too late ! + }, + /** + * \u63a7\u4ef6\u5728\u6307\u5b9a\u5143\u7d20\u5185\u90e8\u6e32\u67d3 + * see {@link BUI.Component.Controller#property-render} + * @ignore + */ + render: {}, + /** + * \u662f\u5426\u53ef\u89c1 + * see {@link BUI.Component.Controller#property-visible} + */ + visible: { + value: true + }, + /** + * \u53ef\u89c6\u6a21\u5f0f + * see {@link BUI.Component.Controller#property-visibleMode} + */ + visibleMode: { + value: 'display' + }, + /** + * @private + * \u7f13\u5b58\u9690\u85cf\u65f6\u7684\u4f4d\u7f6e\uff0c\u5bf9\u5e94visibleMode = 'visiblity' \u7684\u573a\u666f + * @type {Object} + */ + cachePosition : { + + }, + /** + * content \u8bbe\u7f6e\u7684\u5185\u5bb9\u8282\u70b9,\u9ed8\u8ba4\u6839\u8282\u70b9 + * @type {jQuery} + * @default el + */ + contentEl: { + valueFn: function () { + return this.get('el'); + } + }, + /** + * \u6837\u5f0f\u524d\u7f00 + * see {@link BUI.Component.Controller#property-prefixCls} + */ + prefixCls: { + value: BUI.prefix + }, + /** + * \u53ef\u4ee5\u83b7\u53d6\u7126\u70b9 + * @protected + * see {@link BUI.Component.Controller#property-focusable} + */ + focusable: { + value: true + }, + /** + * \u83b7\u53d6\u7126\u70b9 + * see {@link BUI.Component.Controller#property-focused} + */ + focused: {}, + /** + * \u6fc0\u6d3b + * see {@link BUI.Component.Controller#property-active} + */ + active: {}, + /** + * \u7981\u7528 + * see {@link BUI.Component.Controller#property-disabled} + */ + disabled: {}, + /** + * \u9ad8\u4eae\u663e\u793a + * see {@link BUI.Component.Controller#property-highlighted} + */ + highlighted: {} + }; + + return View; +});/** + * @fileOverview \u52a0\u8f7d\u63a7\u4ef6\u5185\u5bb9 + * @ignore + */ + +define('bui/component/loader',['bui/util'],function (require) { + 'use strict'; + var BUI = require('bui/util'), + Base = require('bui/base'), + /** + * @class BUI.Component.Loader + * @extends BUI.Base + * ** \u63a7\u4ef6\u7684\u9ed8\u8ba4Loader\u5c5e\u6027\u662f\uff1a** + *
          
          +     *   
          +     *   defaultLoader : {
          +     *     value : {
          +     *       property : 'content',
          +     *       autoLoad : true
          +     *     }
          +     *   }
          +     * 
          + * ** \u4e00\u822c\u7684\u63a7\u4ef6\u9ed8\u8ba4\u8bfb\u53d6html\uff0c\u4f5c\u4e3a\u63a7\u4ef6\u7684content\u503c ** + *
          
          +     *   var control = new BUI.Component.Controller({
          +     *     render : '#c1',
          +     *     loader : {
          +     *       url : 'data/text.json'
          +     *     }
          +     *   });
          +     *
          +     *   control.render();
          +     * 
          + * + * ** \u53ef\u4ee5\u4fee\u6539Loader\u7684\u9ed8\u8ba4\u5c5e\u6027\uff0c\u52a0\u8f7dchildren ** + *
          
          +     *   var control = new BUI.Component.Controller({
          +     *     render : '#c1',
          +     *     loader : {
          +     *       url : 'data/children.json',
          +     *       property : 'children',
          +     *       dataType : 'json'
          +     *     }
          +     *   });
          +     *
          +     *   control.render();
          +     * 
          + * \u52a0\u8f7d\u63a7\u4ef6\u5185\u5bb9\u7684\u7c7b\uff0c\u4e00\u822c\u4e0d\u8fdb\u884c\u5b9e\u4f8b\u5316 + */ + Loader = function(config){ + Loader.superclass.constructor.call(this,config); + this._init(); + }; + + Loader.ATTRS = { + + /** + * \u52a0\u8f7d\u5185\u5bb9\u7684\u5730\u5740 + *
          
          +     *   var control = new BUI.Component.Controller({
          +     *     render : '#c1',
          +     *     loader : {
          +     *       url : 'data/text.json'
          +     *     }
          +     *   });
          +     *
          +     *   control.render();
          +     * 
          + * @cfg {String} url + */ + url : { + + }, + /** + * \u5bf9\u5e94\u7684\u63a7\u4ef6\uff0c\u52a0\u8f7d\u5b8c\u6210\u540e\u8bbe\u7f6e\u5c5e\u6027\u5230\u5bf9\u5e94\u7684\u63a7\u4ef6 + * @readOnly + * @type {BUI.Component.Controller} + */ + target : { + + }, + /** + * @private + * \u662f\u5426load \u8fc7 + */ + hasLoad : { + value : false + }, + /** + * \u662f\u5426\u81ea\u52a8\u52a0\u8f7d\u6570\u636e + *
          
          +     *   var control = new BUI.Component.Controller({
          +     *     render : '#c1',
          +     *     loader : {
          +     *       url : 'data/text.json',
          +     *       autoLoad : false
          +     *     }
          +     *   });
          +     *
          +     *   control.render();
          +     * 
          + * @cfg {Boolean} [autoLoad = true] + */ + autoLoad : { + + }, + /** + * \u5ef6\u8fdf\u52a0\u8f7d + * + * - event : \u89e6\u53d1\u52a0\u8f7d\u7684\u4e8b\u4ef6 + * - repeat \uff1a\u662f\u5426\u91cd\u590d\u52a0\u8f7d + *
          
          +     *   var control = new BUI.Component.Controller({
          +     *     render : '#c1',
          +     *     loader : {
          +     *       url : 'data/text.json',
          +     *       lazyLoad : {
          +     *         event : 'show',
          +     *         repeat : true
          +     *       }
          +     *     }
          +     *   });
          +     *
          +     *   control.render();
          +     * 
          + * @cfg {Object} [lazyLoad = null] + */ + lazyLoad: { + + }, + /** + * \u52a0\u8f7d\u8fd4\u56de\u7684\u6570\u636e\u4f5c\u4e3a\u63a7\u4ef6\u7684\u90a3\u4e2a\u5c5e\u6027 + *
          
          +     *   var control = new BUI.List.SimpleList({
          +     *     render : '#c1',
          +     *     loader : {
          +     *       url : 'data/text.json',
          +     *       dataType : 'json',
          +     *       property : 'items'
          +     *     }
          +     *   });
          +     *
          +     *   control.render();
          +     * 
          + * @cfg {String} property + */ + property : { + + }, + /** + * \u683c\u5f0f\u5316\u8fd4\u56de\u7684\u6570\u636e + * @cfg {Function} renderer + */ + renderer : { + value : function(value){ + return value; + } + }, + /** + * \u52a0\u8f7d\u6570\u636e\u65f6\u662f\u5426\u663e\u793a\u5c4f\u853d\u5c42\u548c\u52a0\u8f7d\u63d0\u793a {@link BUI.Mask.LoadMask} + * + * - loadMask : true\u65f6\u4f7f\u7528loadMask \u9ed8\u8ba4\u7684\u914d\u7f6e\u4fe1\u606f + * - loadMask : {msg : '\u6b63\u5728\u52a0\u8f7d\uff0c\u8bf7\u7a0d\u540e\u3002\u3002'} LoadMask\u7684\u914d\u7f6e\u4fe1\u606f + *
          
          +     *   var control = new BUI.Component.Controller({
          +     *     render : '#c1',
          +     *     loader : {
          +     *       url : 'data/text.json',
          +     *       loadMask : true
          +     *     }
          +     *   });
          +     *
          +     *   control.render();
          +     * 
          + * @cfg {Boolean|Object} [loadMask = false] + */ + loadMask : { + value : false + }, + /** + * ajax \u8bf7\u6c42\u8fd4\u56de\u6570\u636e\u7684\u7c7b\u578b + *
          
          +     *   var control = new BUI.Component.Controller({
          +     *     render : '#c1',
          +     *     loader : {
          +     *       url : 'data/text.json',
          +     *       dataType : 'json',
          +     *       property : 'items'
          +     *     }
          +     *   });
          +     *
          +     *   control.render();
          +     * 
          + * @cfg {String} [dataType = 'text'] + */ + dataType : { + value : 'text' + }, + /** + * Ajax\u8bf7\u6c42\u7684\u914d\u7f6e\u9879,\u4f1a\u8986\u76d6 url,dataType\u6570\u636e + * @cfg {Object} ajaxOptions + */ + ajaxOptions : { + value : { + method : 'get', + cache : false + } + }, + /** + * \u521d\u59cb\u5316\u7684\u8bf7\u6c42\u53c2\u6570 + *
          
          +     *   var control = new BUI.Component.Controller({
          +     *     render : '#c1',
          +     *     loader : {
          +     *       url : 'data/text.json',
          +     *       params : {
          +     *         a : 'a',
          +     *         b : 'b'
          +     *       }
          +     *     }
          +     *   });
          +     *
          +     *   control.render();
          +     * 
          + * @cfg {Object} params + * @default null + */ + params : { + + }, + /** + * \u9644\u52a0\u53c2\u6570\uff0c\u6bcf\u6b21\u8bf7\u6c42\u90fd\u5e26\u7684\u53c2\u6570 + * @cfg {Object} appendParams + */ + appendParams : { + + }, + /** + * \u6700\u540e\u4e00\u6b21\u8bf7\u6c42\u7684\u53c2\u6570 + * @readOnly + * @private + * @type {Object} + */ + lastParams : { + value : {} + }, + /** + * \u52a0\u8f7d\u6570\u636e\uff0c\u5e76\u6dfb\u52a0\u5c5e\u6027\u5230\u63a7\u4ef6\u540e\u7684\u56de\u8c03\u51fd\u6570 + * - data : \u52a0\u8f7d\u7684\u6570\u636e + * - params : \u52a0\u8f7d\u7684\u53c2\u6570 + *
          
          +     *   var control = new BUI.Component.Controller({
          +     *     render : '#c1',
          +     *     loader : {
          +     *       url : 'data/text.json',
          +     *       callback : function(text){
          +     *         var target = this.get('target');//control
          +     *         //TO DO
          +     *       }
          +     *     }
          +     *   });
          +     *
          +     *   control.render();
          +     * 
          + * @cfg {Function} callback + */ + callback : { + + }, + /** + * \u5931\u8d25\u7684\u56de\u8c03\u51fd\u6570 + * - response : \u8fd4\u56de\u7684\u9519\u8bef\u5bf9\u8c61 + * - params : \u52a0\u8f7d\u7684\u53c2\u6570 + * @cfg {Function} failure + */ + failure : { + + } + + }; + + BUI.extend(Loader,Base); + + BUI.augment(Loader,{ + /** + * @protected + * \u662f\u5426\u662fLoader + * @type {Boolean} + */ + isLoader : true, + //\u521d\u59cb\u5316 + _init : function(){ + var _self = this, + autoLoad = _self.get('autoLoad'), + params = _self.get('params'); + + _self._initMask(); + if(autoLoad){ + _self.load(params); + }else{ + _self._initParams(); + _self._initLazyLoad(); + } + }, + //\u521d\u59cb\u5316\u5ef6\u8fdf\u52a0\u8f7d + _initLazyLoad : function(){ + var _self = this, + target = _self.get('target'), + lazyLoad= _self.get('lazyLoad'); + + if(target && lazyLoad && lazyLoad.event){ + target.on(lazyLoad.event,function(){ + if(!_self.get('hasLoad') || lazyLoad.repeat){ + _self.load(); + } + }); + } + }, + /** + * \u521d\u59cb\u5316mask + * @private + */ + _initMask : function(){ + var _self = this, + target = _self.get('target'), + loadMask = _self.get('loadMask'); + if(target && loadMask){ + BUI.use('bui/mask',function(Mask){ + var cfg = $.isPlainObject(loadMask) ? loadMask : {}; + loadMask = new Mask.LoadMask(BUI.mix({el : target.get('el')},cfg)); + _self.set('loadMask',loadMask); + }); + } + }, + //\u521d\u59cb\u5316\u67e5\u8be2\u53c2\u6570 + _initParams : function(){ + var _self = this, + lastParams = _self.get('lastParams'), + params = _self.get('params'); + + //\u521d\u59cb\u5316 \u53c2\u6570 + BUI.mix(lastParams,params); + }, + /** + * \u52a0\u8f7d\u5185\u5bb9 + * @param {Object} params \u52a0\u8f7d\u6570\u636e\u7684\u53c2\u6570 + */ + load : function(params){ + var _self = this, + url = _self.get('url'), + ajaxOptions = _self.get('ajaxOptions'), + lastParams = _self.get('lastParams'), + appendParams = _self.get('appendParams'); + + BUI.mix(true,lastParams,appendParams,params); + params = BUI.cloneObject(lastParams); + //\u672a\u63d0\u4f9b\u52a0\u8f7d\u5730\u5740\uff0c\u963b\u6b62\u52a0\u8f7d + if(!url){ + return; + } + + _self.onBeforeLoad(); + _self.set('hasLoad',true); + $.ajax(BUI.mix({ + dataType : _self.get('dataType'), + data : params, + url : url, + success : function(data){ + _self.onload(data,params); + }, + error : function(jqXHR, textStatus, errorThrown){ + _self.onException({ + jqXHR : jqXHR, + textStatus : textStatus, + errorThrown : errorThrown + },params); + } + },ajaxOptions)); + }, + /** + * @private + * \u52a0\u8f7d\u524d + */ + onBeforeLoad : function(){ + var _self = this, + loadMask = _self.get('loadMask'); + if(loadMask && loadMask.show){ + loadMask.show(); + } + }, + /** + * @private + * \u52a0\u8f7d\u5b8c\u6bd5 + */ + onload : function(data,params){ + var _self = this, + loadMask = _self.get('loadMask'), + property = _self.get('property'), + callback = _self.get('callback'), + renderer = _self.get('renderer'), + target = _self.get('target'); + target.set(property,renderer.call(_self,data)); + + /**/ + if(loadMask && loadMask.hide){ + loadMask.hide(); + } + if(callback){ + callback.call(this,data,params); + } + }, + /** + * @private + * \u52a0\u8f7d\u51fa\u9519 + */ + onException : function(response,params){ + var _self = this, + failure = _self.get('failure'); + if(failure){ + failure.call(this,response,params); + } + } + + }); + + return Loader; +});/** + * @fileOverview \u63a7\u4ef6\u53ef\u4ee5\u5b9e\u4f8b\u5316\u7684\u57fa\u7c7b + * @ignore + * @author yiminghe@gmail.com + * copied by dxq613@gmail.com + */ + +/** + * jQuery \u4e8b\u4ef6 + * @class jQuery.Event + * @private + */ + + +define('bui/component/controller',['bui/component/uibase','bui/component/manage','bui/component/view','bui/component/loader'],function(require){ + 'use strict'; + var UIBase = require('bui/component/uibase'), + Manager = require('bui/component/manage'), + View = require('bui/component/view'), + Loader = require('bui/component/loader'), + wrapBehavior = BUI.wrapBehavior, + getWrapBehavior = BUI.getWrapBehavior; + + /** + * @ignore + */ + function wrapperViewSetter(attrName) { + return function (ev) { + var self = this; + // in case bubbled from sub component + if (self === ev.target) { + var value = ev.newVal, + view = self.get('view'); + if(view){ + view.set(attrName, value); + } + + } + }; + } + + /** + * @ignore + */ + function wrapperViewGetter(attrName) { + return function (v) { + var self = this, + view = self.get('view'); + return v === undefined ? view.get(attrName) : v; + }; + } + + /** + * @ignore + */ + function initChild(self, c, renderBefore) { + // \u751f\u6210\u7236\u7ec4\u4ef6\u7684 dom \u7ed3\u6784 + self.create(); + var contentEl = self.getContentElement(), + defaultCls = self.get('defaultChildClass'); + //\u914d\u7f6e\u9ed8\u8ba4 xclass + if(!c.xclass && !(c instanceof Controller)){ + if(!c.xtype){ + c.xclass = defaultCls; + }else{ + c.xclass = defaultCls + '-' + c.xtype; + } + + } + + c = BUI.Component.create(c, self); + c.setInternal('parent', self); + // set \u901a\u77e5 view \u4e5f\u66f4\u65b0\u5bf9\u5e94\u5c5e\u6027 + c.set('render', contentEl); + c.set('elBefore', renderBefore); + // \u5982\u679c parent \u4e5f\u6ca1\u6e32\u67d3\uff0c\u5b50\u7ec4\u4ef6 create \u51fa\u6765\u548c parent \u8282\u70b9\u5173\u8054 + // \u5b50\u7ec4\u4ef6\u548c parent \u7ec4\u4ef6\u4e00\u8d77\u6e32\u67d3 + // \u4e4b\u524d\u8bbe\u597d\u5c5e\u6027\uff0cview \uff0clogic \u540c\u6b65\u8fd8\u6ca1 bind ,create \u4e0d\u662f render \uff0c\u8fd8\u6ca1\u6709 bindUI + c.create(undefined); + return c; + } + + /** + * \u4e0d\u4f7f\u7528 valueFn\uff0c + * \u53ea\u6709 render \u65f6\u9700\u8981\u627e\u5230\u9ed8\u8ba4\uff0c\u5176\u4ed6\u65f6\u5019\u4e0d\u9700\u8981\uff0c\u9632\u6b62\u83ab\u540d\u5176\u5999\u521d\u59cb\u5316 + * @ignore + */ + function constructView(self) { + // \u9010\u5c42\u627e\u9ed8\u8ba4\u6e32\u67d3\u5668 + var attrs, + attrCfg, + attrName, + cfg = {}, + v, + Render = self.get('xview'); + + + //\u5c06\u6e32\u67d3\u5c42\u521d\u59cb\u5316\u6240\u9700\u8981\u7684\u5c5e\u6027\uff0c\u76f4\u63a5\u6784\u9020\u5668\u8bbe\u7f6e\u8fc7\u53bb + + attrs = self.getAttrs(); + + // \u6574\u7406\u5c5e\u6027\uff0c\u5bf9\u7eaf\u5c5e\u4e8e view \u7684\u5c5e\u6027\uff0c\u6dfb\u52a0 getter setter \u76f4\u63a5\u5230 view + for (attrName in attrs) { + if (attrs.hasOwnProperty(attrName)) { + attrCfg = attrs[attrName]; + if (attrCfg.view) { + // \u5148\u53d6\u540e getter + // \u9632\u6b62\u6b7b\u5faa\u73af + if (( v = self.get(attrName) ) !== undefined) { + cfg[attrName] = v; + } + + // setter \u4e0d\u5e94\u8be5\u6709\u5b9e\u9645\u64cd\u4f5c\uff0c\u4ec5\u7528\u4e8e\u6b63\u89c4\u5316\u6bd4\u8f83\u597d + // attrCfg.setter = wrapperViewSetter(attrName); + self.on('after' + BUI.ucfirst(attrName) + 'Change', + wrapperViewSetter(attrName)); + // \u903b\u8f91\u5c42\u8bfb\u503c\u76f4\u63a5\u4ece view \u5c42\u8bfb + // \u90a3\u4e48\u5982\u679c\u5b58\u5728\u9ed8\u8ba4\u503c\u4e5f\u8bbe\u7f6e\u5728 view \u5c42 + // \u903b\u8f91\u5c42\u4e0d\u8981\u8bbe\u7f6e getter + attrCfg.getter = wrapperViewGetter(attrName); + } + } + } + // does not autoRender for view + delete cfg.autoRender; + cfg.ksComponentCss = getComponentCss(self); + return new Render(cfg); + } + + function getComponentCss(self) { + var constructor = self.constructor, + cls, + re = []; + while (constructor && constructor !== Controller) { + cls = Manager.getXClassByConstructor(constructor); + if (cls) { + re.push(cls); + } + constructor = constructor.superclass && constructor.superclass.constructor; + } + return re.join(' '); + } + + function isMouseEventWithinElement(e, elem) { + var relatedTarget = e.relatedTarget; + // \u5728\u91cc\u9762\u6216\u7b49\u4e8e\u81ea\u8eab\u90fd\u4e0d\u7b97 mouseenter/leave + return relatedTarget && + ( relatedTarget === elem[0] ||$.contains(elem,relatedTarget)); + } + + /** + * \u53ef\u4ee5\u5b9e\u4f8b\u5316\u7684\u63a7\u4ef6\uff0c\u4f5c\u4e3a\u6700\u9876\u5c42\u7684\u63a7\u4ef6\u7c7b\uff0c\u4e00\u5207\u7528\u6237\u63a7\u4ef6\u90fd\u7ee7\u627f\u6b64\u63a7\u4ef6 + * xclass: 'controller'. + * ** \u521b\u5efa\u5b50\u63a7\u4ef6 ** + *
          
          +     * var Control = Controller.extend([mixin1,mixin2],{ //\u539f\u578b\u94fe\u4e0a\u7684\u51fd\u6570
          +     *   renderUI : function(){ //\u521b\u5efaDOM
          +     *   
          +     *   }, 
          +     *   bindUI : function(){  //\u7ed1\u5b9a\u4e8b\u4ef6
          +     *   
          +     *   },
          +     *   destructor : funciton(){ //\u6790\u6784\u51fd\u6570
          +     *   
          +     *   }
          +     * },{
          +     *   ATTRS : { //\u9ed8\u8ba4\u7684\u5c5e\u6027
          +     *       text : {
          +     *       
          +     *       }
          +     *   }
          +     * },{
          +     *     xclass : 'a' //\u7528\u4e8e\u628a\u5bf9\u8c61\u89e3\u6790\u6210\u7c7b
          +     * });
          +     * 
          + * + * ** \u521b\u5efa\u5bf9\u8c61 ** + *
          
          +     * var c1 = new Control({
          +     *     render : '#t1', //\u5728t1\u4e0a\u521b\u5efa
          +     *     text : 'text1',
          +     *     children : [{xclass : 'a',text : 'a1'},{xclass : 'b',text : 'b1'}]
          +     * });
          +     *
          +     * c1.render();
          +     * 
          + * @extends BUI.Component.UIBase + * @mixins BUI.Component.UIBase.Tpl + * @mixins BUI.Component.UIBase.Decorate + * @mixins BUI.Component.UIBase.Depends + * @mixins BUI.Component.UIBase.ChildCfg + * @class BUI.Component.Controller + */ + var Controller = UIBase.extend([UIBase.Decorate,UIBase.Tpl,UIBase.ChildCfg,UIBase.KeyNav,UIBase.Depends], + { + /** + * \u662f\u5426\u662f\u63a7\u4ef6\uff0c\u6807\u793a\u5bf9\u8c61\u662f\u5426\u662f\u4e00\u4e2aUI \u63a7\u4ef6 + * @type {Boolean} + */ + isController: true, + + /** + * \u4f7f\u7528\u524d\u7f00\u83b7\u53d6\u7c7b\u7684\u540d\u5b57 + * @param classes {String} class names without prefixCls. Separated by space. + * @method + * @protected + * @return {String} class name with prefixCls + */ + getCssClassWithPrefix: Manager.getCssClassWithPrefix, + + /** + * From UIBase, Initialize this component. * + * @protected + */ + initializer: function () { + var self = this; + + if(!self.get('id')){ + self.set('id',self.getNextUniqueId()); + } + Manager.addComponent(self.get('id'),self); + // initialize view + self.setInternal('view', constructView(self)); + }, + + /** + * \u8fd4\u56de\u65b0\u7684\u552f\u4e00\u7684Id,\u7ed3\u679c\u662f 'xclass' + number + * @protected + * @return {String} \u552f\u4e00id + */ + getNextUniqueId : function(){ + var self = this, + xclass = Manager.getXClassByConstructor(self.constructor); + return BUI.guid(xclass); + }, + /** + * From UIBase. Constructor(or get) view object to create ui elements. + * @protected + * + */ + createDom: function () { + var self = this, + //el, + view = self.get('view'); + view.create(undefined); + //el = view.getKeyEventTarget(); + /*if (!self.get('allowTextSelection')) { + //el.unselectable(undefined); + }*/ + }, + + /** + * From UIBase. Call view object to render ui elements. + * @protected + * + */ + renderUI: function () { + var self = this, + loader = self.get('loader'); + self.get('view').render(); + self._initChildren(); + if(loader){ + self.setInternal('loader',loader); + } + /**/ + + }, + _initChildren : function(children){ + var self = this, + i, + children, + child; + // then render my children + children = children || self.get('children').concat(); + self.get('children').length = 0; + for (i = 0; i < children.length; i++) { + child = self.addChild(children[i]); + child.render(); + } + }, + /** + * bind ui for box + * @private + */ + bindUI:function () { + var self = this, + events = self.get('events'); + this.on('afterVisibleChange', function (e) { + this.fire(e.newVal ? 'show' : 'hide'); + }); + //\u5904\u7406\u63a7\u4ef6\u4e8b\u4ef6\uff0c\u8bbe\u7f6e\u4e8b\u4ef6\u662f\u5426\u5192\u6ce1 + BUI.each(events, function (v,k) { + self.publish(k, { + bubbles:v + }); + }); + }, + /** + * \u63a7\u4ef6\u662f\u5426\u5305\u542b\u6307\u5b9a\u7684DOM\u5143\u7d20,\u5305\u62ec\u6839\u8282\u70b9 + *
          
          +         *   var control = new Control();
          +         *   $(document).on('click',function(ev){
          +         *     var target = ev.target;
          +         *
          +         *     if(!control.containsElement(elem)){ //\u672a\u70b9\u51fb\u5728\u63a7\u4ef6\u5185\u90e8
          +         *       control.hide();
          +         *     }
          +         *   });
          +         * 
          + * @param {HTMLElement} elem DOM \u5143\u7d20 + * @return {Boolean} \u662f\u5426\u5305\u542b + */ + containsElement : function (elem) { + var _self = this, + el = _self.get('el'), + children = _self.get('children'), + result = false; + if(!_self.get('rendered')){ + return false; + } + if($.contains(el[0],elem) || el[0] === elem){ + result = true; + }else{ + BUI.each(children,function (item) { + if(item.containsElement(elem)){ + result = true; + return false; + } + }); + } + return result; + }, + /** + * \u662f\u5426\u662f\u5b50\u63a7\u4ef6\u7684DOM\u5143\u7d20 + * @protected + * @return {Boolean} \u662f\u5426\u5b50\u63a7\u4ef6\u7684DOM\u5143\u7d20 + */ + isChildrenElement : function(elem){ + var _self = this, + children = _self.get('children'), + rst = false; + BUI.each(children,function(child){ + if(child.containsElement(elem)){ + rst = true; + return false; + } + }); + return rst; + }, + /** + * \u663e\u793a\u63a7\u4ef6 + */ + show:function () { + var self = this; + self.render(); + self.set('visible', true); + return self; + }, + + /** + * \u9690\u85cf\u63a7\u4ef6 + */ + hide:function () { + var self = this; + self.set('visible', false); + return self; + }, + /** + * \u4ea4\u66ff\u663e\u793a\u6216\u8005\u9690\u85cf + *
          
          +         *  control.show(); //\u663e\u793a
          +         *  control.toggle(); //\u9690\u85cf
          +         *  control.toggle(); //\u663e\u793a
          +         * 
          + */ + toggle : function(){ + this.set('visible',!this.get('visible')); + return this; + }, + _uiSetFocusable: function (focusable) { + var self = this, + t, + el = self.getKeyEventTarget(); + if (focusable) { + el.attr('tabIndex', 0) + // remove smart outline in ie + // set outline in style for other standard browser + .attr('hideFocus', true) + .on('focus', wrapBehavior(self, 'handleFocus')) + .on('blur', wrapBehavior(self, 'handleBlur')) + .on('keydown', wrapBehavior(self, 'handleKeydown')) + .on('keyup',wrapBehavior(self,'handleKeyUp')); + } else { + el.removeAttr('tabIndex'); + if (t = getWrapBehavior(self, 'handleFocus')) { + el.off('focus', t); + } + if (t = getWrapBehavior(self, 'handleBlur')) { + el.off('blur', t); + } + if (t = getWrapBehavior(self, 'handleKeydown')) { + el.off('keydown', t); + } + if (t = getWrapBehavior(self, 'handleKeyUp')) { + el.off('keyup', t); + } + } + }, + + _uiSetHandleMouseEvents: function (handleMouseEvents) { + var self = this, el = self.get('el'), t; + if (handleMouseEvents) { + el.on('mouseenter', wrapBehavior(self, 'handleMouseEnter')) + .on('mouseleave', wrapBehavior(self, 'handleMouseLeave')) + .on('contextmenu', wrapBehavior(self, 'handleContextMenu')) + .on('mousedown', wrapBehavior(self, 'handleMouseDown')) + .on('mouseup', wrapBehavior(self, 'handleMouseUp')) + .on('dblclick', wrapBehavior(self, 'handleDblClick')); + } else { + t = getWrapBehavior(self, 'handleMouseEnter') && + el.off('mouseenter', t); + t = getWrapBehavior(self, 'handleMouseLeave') && + el.off('mouseleave', t); + t = getWrapBehavior(self, 'handleContextMenu') && + el.off('contextmenu', t); + t = getWrapBehavior(self, 'handleMouseDown') && + el.off('mousedown', t); + t = getWrapBehavior(self, 'handleMouseUp') && + el.off('mouseup', t); + t = getWrapBehavior(self, 'handleDblClick') && + el.off('dblclick', t); + } + }, + + _uiSetFocused: function (v) { + if (v) { + this.getKeyEventTarget()[0].focus(); + } + }, + //\u5f53\u4f7f\u7528visiblity\u663e\u793a\u9690\u85cf\u65f6\uff0c\u9690\u85cf\u65f6\u628aDOM\u79fb\u9664\u51fa\u89c6\u56fe\u5185\uff0c\u663e\u793a\u65f6\u56de\u590d\u539f\u4f4d\u7f6e + _uiSetVisible : function(isVisible){ + var self = this, + el = self.get('el'), + visibleMode = self.get('visibleMode'); + if (visibleMode === 'visibility') { + if(isVisible){ + var position = self.get('cachePosition'); + if(position){ + self.set('xy',position); + } + } + if(!isVisible){ + var position = [ + self.get('x'),self.get('y') + ]; + self.set('cachePosition',position); + self.set('xy',[-999,-999]); + } + } + }, + //\u8bbe\u7f6echildren\u65f6 + _uiSetChildren : function(v){ + var self = this, + children = BUI.cloneObject(v); + //self.removeChildren(true); + self._initChildren(children); + }, + /** + * \u4f7f\u63a7\u4ef6\u53ef\u7528 + */ + enable : function(){ + this.set('disabled',false); + return this; + }, + /** + * \u4f7f\u63a7\u4ef6\u4e0d\u53ef\u7528\uff0c\u63a7\u4ef6\u4e0d\u53ef\u7528\u65f6\uff0c\u70b9\u51fb\u7b49\u4e8b\u4ef6\u4e0d\u4f1a\u89e6\u53d1 + *
          
          +         *  control.disable(); //\u7981\u7528
          +         *  control.enable(); //\u89e3\u9664\u7981\u7528
          +         * 
          + */ + disable : function(){ + this.set('disabled',true); + return this; + }, + /** + * \u5b50\u7ec4\u4ef6\u5c06\u8981\u6e32\u67d3\u5230\u7684\u8282\u70b9\uff0c\u5728 render \u7c7b\u4e0a\u8986\u76d6\u5bf9\u5e94\u65b9\u6cd5 + * @protected + * @ignore + */ + getContentElement: function () { + return this.get('view').getContentElement(); + }, + + /** + * \u7126\u70b9\u6240\u5728\u5143\u7d20\u5373\u952e\u76d8\u4e8b\u4ef6\u5904\u7406\u5143\u7d20\uff0c\u5728 render \u7c7b\u4e0a\u8986\u76d6\u5bf9\u5e94\u65b9\u6cd5 + * @protected + * @ignore + */ + getKeyEventTarget: function () { + return this.get('view').getKeyEventTarget(); + }, + + /** + * \u6dfb\u52a0\u63a7\u4ef6\u7684\u5b50\u63a7\u4ef6\uff0c\u7d22\u5f15\u503c\u4e3a 0-based + *
          
          +         *  control.add(new Control());//\u6dfb\u52a0controller\u5bf9\u8c61
          +         *  control.add({xclass : 'a'});//\u6dfb\u52a0xclass \u4e3aa \u7684\u4e00\u4e2a\u5bf9\u8c61
          +         *  control.add({xclass : 'b'},2);//\u63d2\u5165\u5230\u7b2c\u4e09\u4e2a\u4f4d\u7f6e
          +         * 
          + * @param {BUI.Component.Controller|Object} c \u5b50\u63a7\u4ef6\u7684\u5b9e\u4f8b\u6216\u8005\u914d\u7f6e\u9879 + * @param {String} [c.xclass] \u5982\u679cc\u4e3a\u914d\u7f6e\u9879\uff0c\u8bbe\u7f6ec\u7684xclass + * @param {Number} [index] 0-based \u5982\u679c\u672a\u6307\u5b9a\u7d22\u5f15\u503c\uff0c\u5219\u63d2\u5728\u63a7\u4ef6\u7684\u6700\u540e + */ + addChild: function (c, index) { + var self = this, + children = self.get('children'), + renderBefore; + if (index === undefined) { + index = children.length; + } + /** + * \u6dfb\u52a0\u5b50\u63a7\u4ef6\u524d\u89e6\u53d1 + * @event beforeAddChild + * @param {Object} e + * @param {Object} e.child \u6dfb\u52a0\u5b50\u63a7\u4ef6\u65f6\u4f20\u5165\u7684\u914d\u7f6e\u9879\u6216\u8005\u5b50\u63a7\u4ef6 + * @param {Number} e.index \u6dfb\u52a0\u7684\u4f4d\u7f6e + */ + self.fire('beforeAddChild',{child : c,index : index}); + renderBefore = children[index] && children[index].get('el') || null; + c = initChild(self, c, renderBefore); + children.splice(index, 0, c); + // \u5148 create \u5360\u4f4d \u518d render + // \u9632\u6b62 render \u903b\u8f91\u91cc\u8bfb parent.get('children') \u4e0d\u540c\u6b65 + // \u5982\u679c parent \u5df2\u7ecf\u6e32\u67d3\u597d\u4e86\u5b50\u7ec4\u4ef6\u4e5f\u8981\u7acb\u5373\u6e32\u67d3\uff0c\u5c31 \u521b\u5efa dom \uff0c\u7ed1\u5b9a\u4e8b\u4ef6 + if (self.get('rendered')) { + c.render(); + } + + /** + * \u6dfb\u52a0\u5b50\u63a7\u4ef6\u540e\u89e6\u53d1 + * @event afterAddChild + * @param {Object} e + * @param {Object} e.child \u6dfb\u52a0\u5b50\u63a7\u4ef6 + * @param {Number} e.index \u6dfb\u52a0\u7684\u4f4d\u7f6e + */ + self.fire('afterAddChild',{child : c,index : index}); + return c; + }, + /** + * \u5c06\u81ea\u5df1\u4ece\u7236\u63a7\u4ef6\u4e2d\u79fb\u9664 + *
          
          +         *  control.remove(); //\u5c06\u63a7\u4ef6\u4ece\u7236\u63a7\u4ef6\u4e2d\u79fb\u9664\uff0c\u5e76\u672a\u5220\u9664
          +         *  parent.addChild(control); //\u8fd8\u53ef\u4ee5\u6dfb\u52a0\u56de\u7236\u63a7\u4ef6
          +         *  
          +         *  control.remove(true); //\u4ece\u63a7\u4ef6\u4e2d\u79fb\u9664\u5e76\u8c03\u7528\u63a7\u4ef6\u7684\u6790\u6784\u51fd\u6570
          +         * 
          + * @param {Boolean} destroy \u662f\u5426\u5220\u9664DON\u8282\u70b9 + * @return {BUI.Component.Controller} \u5220\u9664\u7684\u5b50\u5bf9\u8c61. + */ + remove : function(destroy){ + var self = this, + parent = self.get('parent'); + if(parent){ + parent.removeChild(self,destroy); + }else if (destroy) { + self.destroy(); + } + return self; + }, + /** + * \u79fb\u9664\u5b50\u63a7\u4ef6\uff0c\u5e76\u8fd4\u56de\u79fb\u9664\u7684\u63a7\u4ef6 + * + * ** \u5982\u679c destroy=true,\u8c03\u7528\u79fb\u9664\u63a7\u4ef6\u7684 {@link BUI.Component.UIBase#destroy} \u65b9\u6cd5, + * \u540c\u65f6\u5220\u9664\u5bf9\u5e94\u7684DOM ** + *
          
          +         *  var child = control.getChild(id);
          +         *  control.removeChild(child); //\u4ec5\u4ec5\u79fb\u9664
          +         *  
          +         *  control.removeChild(child,true); //\u79fb\u9664\uff0c\u5e76\u8c03\u7528\u6790\u6784\u51fd\u6570
          +         * 
          + * @param {BUI.Component.Controller} c \u8981\u79fb\u9664\u7684\u5b50\u63a7\u4ef6. + * @param {Boolean} [destroy=false] \u5982\u679c\u662ftrue, + * \u8c03\u7528\u63a7\u4ef6\u7684\u65b9\u6cd5 {@link BUI.Component.UIBase#destroy} . + * @return {BUI.Component.Controller} \u79fb\u9664\u7684\u5b50\u63a7\u4ef6. + */ + removeChild: function (c, destroy) { + var self = this, + children = self.get('children'), + index = BUI.Array.indexOf(c, children); + + if(index === -1){ + return; + } + /** + * \u5220\u9664\u5b50\u63a7\u4ef6\u524d\u89e6\u53d1 + * @event beforeRemoveChild + * @param {Object} e + * @param {Object} e.child \u5b50\u63a7\u4ef6 + * @param {Boolean} e.destroy \u662f\u5426\u6e05\u9664DOM + */ + self.fire('beforeRemoveChild',{child : c,destroy : destroy}); + + if (index !== -1) { + children.splice(index, 1); + } + if (destroy && + // c is still json + c.destroy) { + c.destroy(); + } + /** + * \u5220\u9664\u5b50\u63a7\u4ef6\u524d\u89e6\u53d1 + * @event afterRemoveChild + * @param {Object} e + * @param {Object} e.child \u5b50\u63a7\u4ef6 + * @param {Boolean} e.destroy \u662f\u5426\u6e05\u9664DOM + */ + self.fire('afterRemoveChild',{child : c,destroy : destroy}); + + return c; + }, + + /** + * \u5220\u9664\u5f53\u524d\u63a7\u4ef6\u7684\u5b50\u63a7\u4ef6 + *
          
          +         *   control.removeChildren();//\u5220\u9664\u6240\u6709\u5b50\u63a7\u4ef6
          +         *   control.removeChildren(true);//\u5220\u9664\u6240\u6709\u5b50\u63a7\u4ef6\uff0c\u5e76\u8c03\u7528\u5b50\u63a7\u4ef6\u7684\u6790\u6784\u51fd\u6570
          +         * 
          + * @see Component.Controller#removeChild + * @param {Boolean} [destroy] \u5982\u679c\u8bbe\u7f6e true, + * \u8c03\u7528\u5b50\u63a7\u4ef6\u7684 {@link BUI.Component.UIBase#destroy}\u65b9\u6cd5. + */ + removeChildren: function (destroy) { + var self = this, + i, + t = [].concat(self.get('children')); + for (i = 0; i < t.length; i++) { + self.removeChild(t[i], destroy); + } + }, + + /** + * \u6839\u636e\u7d22\u5f15\u83b7\u53d6\u5b50\u63a7\u4ef6 + *
          
          +         *  control.getChildAt(0);//\u83b7\u53d6\u7b2c\u4e00\u4e2a\u5b50\u63a7\u4ef6
          +         *  control.getChildAt(2); //\u83b7\u53d6\u7b2c\u4e09\u4e2a\u5b50\u63a7\u4ef6
          +         * 
          + * @param {Number} index 0-based \u7d22\u5f15\u503c. + * @return {BUI.Component.Controller} \u5b50\u63a7\u4ef6\u6216\u8005null + */ + getChildAt: function (index) { + var children = this.get('children'); + return children[index] || null; + }, + /** + * \u6839\u636eId\u83b7\u53d6\u5b50\u63a7\u4ef6 + *
          
          +         *  control.getChild('id'); //\u4ece\u63a7\u4ef6\u7684\u76f4\u63a5\u5b50\u63a7\u4ef6\u4e2d\u67e5\u627e
          +         *  control.getChild('id',true);//\u9012\u5f52\u67e5\u627e\u6240\u6709\u5b50\u63a7\u4ef6\uff0c\u5305\u542b\u5b50\u63a7\u4ef6\u7684\u5b50\u63a7\u4ef6
          +         * 
          + * @param {String} id \u63a7\u4ef6\u7f16\u53f7 + * @param {Boolean} deep \u662f\u5426\u7ee7\u7eed\u67e5\u627e\u5728\u5b50\u63a7\u4ef6\u4e2d\u67e5\u627e + * @return {BUI.Component.Controller} \u5b50\u63a7\u4ef6\u6216\u8005null + */ + getChild : function(id,deep){ + return this.getChildBy(function(item){ + return item.get('id') === id; + },deep); + }, + /** + * \u901a\u8fc7\u5339\u914d\u51fd\u6570\u67e5\u627e\u5b50\u63a7\u4ef6\uff0c\u8fd4\u56de\u7b2c\u4e00\u4e2a\u5339\u914d\u7684\u5bf9\u8c61 + *
          
          +         *  control.getChildBy(function(child){//\u4ece\u63a7\u4ef6\u7684\u76f4\u63a5\u5b50\u63a7\u4ef6\u4e2d\u67e5\u627e
          +         *    return child.get('id') = '1243';
          +         *  }); 
          +         *  
          +         *  control.getChild(function(child){//\u9012\u5f52\u67e5\u627e\u6240\u6709\u5b50\u63a7\u4ef6\uff0c\u5305\u542b\u5b50\u63a7\u4ef6\u7684\u5b50\u63a7\u4ef6
          +         *    return child.get('id') = '1243';
          +         *  },true);
          +         * 
          + * @param {Function} math \u67e5\u627e\u7684\u5339\u914d\u51fd\u6570 + * @param {Boolean} deep \u662f\u5426\u7ee7\u7eed\u67e5\u627e\u5728\u5b50\u63a7\u4ef6\u4e2d\u67e5\u627e + * @return {BUI.Component.Controller} \u5b50\u63a7\u4ef6\u6216\u8005null + */ + getChildBy : function(math,deep){ + return this.getChildrenBy(math,deep)[0] || null; + }, + /** + * \u83b7\u53d6\u63a7\u4ef6\u7684\u9644\u52a0\u9ad8\u5ea6 = control.get('el').outerHeight() - control.get('el').height() + * @protected + * @return {Number} \u9644\u52a0\u5bbd\u5ea6 + */ + getAppendHeight : function(){ + var el = this.get('el'); + return el.outerHeight() - el.height(); + }, + /** + * \u83b7\u53d6\u63a7\u4ef6\u7684\u9644\u52a0\u5bbd\u5ea6 = control.get('el').outerWidth() - control.get('el').width() + * @protected + * @return {Number} \u9644\u52a0\u5bbd\u5ea6 + */ + getAppendWidth : function(){ + var el = this.get('el'); + return el.outerWidth() - el.width(); + }, + /** + * \u67e5\u627e\u7b26\u5408\u6761\u4ef6\u7684\u5b50\u63a7\u4ef6 + *
          
          +         *  control.getChildrenBy(function(child){//\u4ece\u63a7\u4ef6\u7684\u76f4\u63a5\u5b50\u63a7\u4ef6\u4e2d\u67e5\u627e
          +         *    return child.get('type') = '1';
          +         *  }); 
          +         *  
          +         *  control.getChildrenBy(function(child){//\u9012\u5f52\u67e5\u627e\u6240\u6709\u5b50\u63a7\u4ef6\uff0c\u5305\u542b\u5b50\u63a7\u4ef6\u7684\u5b50\u63a7\u4ef6
          +         *    return child.get('type') = '1';
          +         *  },true);
          +         * 
          + * @param {Function} math \u67e5\u627e\u7684\u5339\u914d\u51fd\u6570 + * @param {Boolean} deep \u662f\u5426\u7ee7\u7eed\u67e5\u627e\u5728\u5b50\u63a7\u4ef6\u4e2d\u67e5\u627e\uff0c\u5982\u679c\u7b26\u5408\u4e0a\u9762\u7684\u5339\u914d\u51fd\u6570\uff0c\u5219\u4e0d\u518d\u5f80\u4e0b\u67e5\u627e + * @return {BUI.Component.Controller[]} \u5b50\u63a7\u4ef6\u6570\u7ec4 + */ + getChildrenBy : function(math,deep){ + var self = this, + results = []; + if(!math){ + return results; + } + + self.eachChild(function(child){ + if(math(child)){ + results.push(child); + }else if(deep){ + + results = results.concat(child.getChildrenBy(math,deep)); + } + }); + return results; + }, + /** + * \u904d\u5386\u5b50\u5143\u7d20 + *
          
          +         *  control.eachChild(function(child,index){ //\u904d\u5386\u5b50\u63a7\u4ef6
          +         *  
          +         *  });
          +         * 
          + * @param {Function} func \u8fed\u4ee3\u51fd\u6570\uff0c\u51fd\u6570\u539f\u578bfunction(child,index) + */ + eachChild : function(func){ + BUI.each(this.get('children'),func); + }, + /** + * Handle dblclick events. By default, this performs its associated action by calling + * {@link BUI.Component.Controller#performActionInternal}. + * @protected + * @param {jQuery.Event} ev DOM event to handle. + */ + handleDblClick: function (ev) { + this.performActionInternal(ev); + if(!this.isChildrenElement(ev.target)){ + this.fire('dblclick',{domTarget : ev.target,domEvent : ev}); + } + }, + + /** + * Called by it's container component to dispatch mouseenter event. + * @private + * @param {jQuery.Event} ev DOM event to handle. + */ + handleMouseOver: function (ev) { + var self = this, + el = self.get('el'); + if (!isMouseEventWithinElement(ev, el)) { + self.handleMouseEnter(ev); + + } + }, + + /** + * Called by it's container component to dispatch mouseleave event. + * @private + * @param {jQuery.Event} ev DOM event to handle. + */ + handleMouseOut: function (ev) { + var self = this, + el = self.get('el'); + if (!isMouseEventWithinElement(ev, el)) { + self.handleMouseLeave(ev); + + } + }, + + /** + * Handle mouseenter events. If the component is not disabled, highlights it. + * @protected + * @param {jQuery.Event} ev DOM event to handle. + */ + handleMouseEnter: function (ev) { + var self = this; + this.set('highlighted', !!ev); + self.fire('mouseenter',{domTarget : ev.target,domEvent : ev}); + }, + + /** + * Handle mouseleave events. If the component is not disabled, de-highlights it. + * @protected + * @param {jQuery.Event} ev DOM event to handle. + */ + handleMouseLeave: function (ev) { + var self = this; + self.set('active', false); + self.set('highlighted', !ev); + self.fire('mouseleave',{domTarget : ev.target,domEvent : ev}); + }, + + /** + * Handles mousedown events. If the component is not disabled, + * If the component is activeable, then activate it. + * If the component is focusable, then focus it, + * else prevent it from receiving keyboard focus. + * @protected + * @param {jQuery.Event} ev DOM event to handle. + */ + handleMouseDown: function (ev) { + var self = this, + n, + isMouseActionButton = ev['which'] === 1, + el; + if (isMouseActionButton) { + el = self.getKeyEventTarget(); + if (self.get('activeable')) { + self.set('active', true); + } + if (self.get('focusable')) { + el[0].focus(); + self.set('focused', true); + } + + if (!self.get('allowTextSelection')) { + // firefox /chrome \u4e0d\u4f1a\u5f15\u8d77\u7126\u70b9\u8f6c\u79fb + n = ev.target.nodeName; + n = n && n.toLowerCase(); + // do not prevent focus when click on editable element + if (n !== 'input' && n !== 'textarea') { + ev.preventDefault(); + } + } + if(!self.isChildrenElement(ev.target)){ + self.fire('mousedown',{domTarget : ev.target,domEvent : ev}); + } + + } + }, + + /** + * Handles mouseup events. + * If this component is not disabled, performs its associated action by calling + * {@link BUI.Component.Controller#performActionInternal}, then deactivates it. + * @protected + * @param {jQuery.Event} ev DOM event to handle. + */ + handleMouseUp: function (ev) { + var self = this, + isChildrenElement = self.isChildrenElement(ev.target); + // \u5de6\u952e + if (self.get('active') && ev.which === 1) { + self.performActionInternal(ev); + self.set('active', false); + if(!isChildrenElement){ + self.fire('click',{domTarget : ev.target,domEvent : ev}); + } + } + if(!isChildrenElement){ + self.fire('mouseup',{domTarget : ev.target,domEvent : ev}); + } + }, + + /** + * Handles context menu. + * @protected + * @param {jQuery.Event} ev DOM event to handle. + */ + handleContextMenu: function (ev) { + }, + + /** + * Handles focus events. Style focused class. + * @protected + * @param {jQuery.Event} ev DOM event to handle. + */ + handleFocus: function (ev) { + this.set('focused', !!ev); + this.fire('focus',{domEvent : ev,domTarget : ev.target}); + }, + + /** + * Handles blur events. Remove focused class. + * @protected + * @param {jQuery.Event} ev DOM event to handle. + */ + handleBlur: function (ev) { + this.set('focused', !ev); + this.fire('blur',{domEvent : ev,domTarget : ev.target}); + }, + + /** + * Handle enter keydown event to {@link BUI.Component.Controller#performActionInternal}. + * @protected + * @param {jQuery.Event} ev DOM event to handle. + */ + handleKeyEventInternal: function (ev) { + var self = this, + isChildrenElement = self.isChildrenElement(ev.target); + if (ev.which === 13) { + if(!isChildrenElement){ + self.fire('click',{domTarget : ev.target,domEvent : ev}); + } + + return this.performActionInternal(ev); + } + if(!isChildrenElement){ + self.fire('keydown',{domTarget : ev.target,domEvent : ev}); + } + }, + + /** + * Handle keydown events. + * If the component is not disabled, call {@link BUI.Component.Controller#handleKeyEventInternal} + * @protected + * @param {jQuery.Event} ev DOM event to handle. + */ + handleKeydown: function (ev) { + var self = this; + if (self.handleKeyEventInternal(ev)) { + ev.halt(); + return true; + } + }, + handleKeyUp : function(ev){ + var self = this; + if(!self.isChildrenElement(ev.target)){ + self.fire('keyup',{domTarget : ev.target,domEvent : ev}); + } + }, + /** + * Performs the appropriate action when this component is activated by the user. + * @protected + * @param {jQuery.Event} ev DOM event to handle. + */ + performActionInternal: function (ev) { + }, + /** + * \u6790\u6784\u51fd\u6570 + * @protected + */ + destructor: function () { + var self = this, + id, + i, + view, + children = self.get('children'); + id = self.get('id'); + for (i = 0; i < children.length; i++) { + children[i].destroy && children[i].destroy(); + } + self.get('view').destroy(); + Manager.removeComponent(id); + } + }, + { + ATTRS: + { + /** + * \u63a7\u4ef6\u7684Html \u5185\u5bb9 + *
          
          +             *  new Control({
          +             *     content : '\u5185\u5bb9',
          +             *     render : '#c1'
          +             *  });
          +             * 
          + * @cfg {String|jQuery} content + */ + /** + * \u63a7\u4ef6\u7684Html \u5185\u5bb9 + * @type {String|jQuery} + */ + content:{ + view:1 + }, + /** + * \u63a7\u4ef6\u6839\u8282\u70b9\u4f7f\u7528\u7684\u6807\u7b7e + *
          
          +             *  new Control({
          +             *     elTagName : 'ul',
          +             *      content : '
        • \u5185\u5bb9
        • ', //\u63a7\u4ef6\u7684DOM <ul><li>\u5185\u5bb9</li></ul> + * render : '#c1' + * }); + *
          + * @cfg {String} elTagName + */ + elTagName: { + // \u751f\u6210\u6807\u7b7e\u540d\u5b57 + view : true, + value: 'div' + }, + /** + * \u5b50\u5143\u7d20\u7684\u9ed8\u8ba4 xclass,\u914d\u7f6echild\u7684\u65f6\u5019\u6ca1\u5fc5\u8981\u6bcf\u6b21\u90fd\u586b\u5199xclass + * @type {String} + */ + defaultChildClass : { + + }, + /** + * \u5982\u679c\u63a7\u4ef6\u672a\u8bbe\u7f6e xclass\uff0c\u540c\u65f6\u7236\u5143\u7d20\u8bbe\u7f6e\u4e86 defaultChildClass\uff0c\u90a3\u4e48 + * xclass = defaultChildClass + '-' + xtype + *
          
          +             *  A.ATTRS = {
          +             *    defaultChildClass : {
          +             *        value : 'b'
          +             *    }
          +             *  }
          +             *  //\u7c7bB \u7684xclass = 'b'\u7c7b B1\u7684xclass = 'b-1',\u7c7b B2\u7684xclass = 'b-2',\u90a3\u4e48
          +             *  var a = new A({
          +             *    children : [
          +             *        {content : 'b'}, //B\u7c7b
          +             *        {content : 'b1',xtype:'1'}, //B1\u7c7b
          +             *        {content : 'b2',xtype:'2'}, //B2\u7c7b
          +             *    ]
          +             *  });
          +             * 
          + * @type {String} + */ + xtype : { + + }, + /** + * \u6807\u793a\u63a7\u4ef6\u7684\u552f\u4e00\u7f16\u53f7\uff0c\u9ed8\u8ba4\u4f1a\u81ea\u52a8\u751f\u6210 + * @cfg {String} id + */ + /** + * \u6807\u793a\u63a7\u4ef6\u7684\u552f\u4e00\u7f16\u53f7\uff0c\u9ed8\u8ba4\u4f1a\u81ea\u52a8\u751f\u6210 + * @type {String} + */ + id : { + view : true + }, + /** + * \u63a7\u4ef6\u5bbd\u5ea6 + *
          
          +             * new Control({
          +             *   width : 200 // 200,'200px','20%'
          +             * });
          +             * 
          + * @cfg {Number|String} width + */ + /** + * \u63a7\u4ef6\u5bbd\u5ea6 + *
          
          +             *  control.set('width',200);
          +             *  control.set('width','200px');
          +             *  control.set('width','20%');
          +             * 
          + * @type {Number|String} + */ + width:{ + view:1 + }, + /** + * \u63a7\u4ef6\u5bbd\u5ea6 + *
          
          +             * new Control({
          +             *   height : 200 // 200,'200px','20%'
          +             * });
          +             * 
          + * @cfg {Number|String} height + */ + /** + * \u63a7\u4ef6\u5bbd\u5ea6 + *
          
          +             *  control.set('height',200);
          +             *  control.set('height','200px');
          +             *  control.set('height','20%');
          +             * 
          + * @type {Number|String} + */ + height:{ + view:1 + }, + /** + * \u63a7\u4ef6\u6839\u8282\u70b9\u5e94\u7528\u7684\u6837\u5f0f + *
          
          +             *  new Control({
          +             *   elCls : 'test',
          +             *   content : '\u5185\u5bb9',
          +             *   render : '#t1'   //<div id='t1'><div class="test">\u5185\u5bb9</div></div>
          +             *  });
          +             * 
          + * @cfg {String} elCls + */ + /** + * \u63a7\u4ef6\u6839\u8282\u70b9\u5e94\u7528\u7684\u6837\u5f0f css class + * @type {String} + */ + elCls:{ + view:1 + }, + /** + * @cfg {Object} elStyle + * \u63a7\u4ef6\u6839\u8282\u70b9\u5e94\u7528\u7684css\u5c5e\u6027 + *
          
          +             *    var cfg = {elStyle : {width:'100px', height:'200px'}};
          +             *  
          + */ + /** + * \u63a7\u4ef6\u6839\u8282\u70b9\u5e94\u7528\u7684css\u5c5e\u6027\uff0c\u4ee5\u952e\u503c\u5bf9\u5f62\u5f0f + * @type {Object} + *
          
          +             *	 control.set('elStyle',	{
          +             *		width:'100px',
          +             *		height:'200px'
          +             *   });
          +             *  
          + */ + elStyle:{ + view:1 + }, + /** + * @cfg {Object} elAttrs + * \u63a7\u4ef6\u6839\u8282\u70b9\u5e94\u7528\u7684\u5c5e\u6027\uff0c\u4ee5\u952e\u503c\u5bf9\u5f62\u5f0f: + *
          
          +             *  new Control({
          +             *    elAttrs :{title : 'tips'}   
          +             *  });
          +             * 
          + */ + /** + * @type {Object} + * \u63a7\u4ef6\u6839\u8282\u70b9\u5e94\u7528\u7684\u5c5e\u6027\uff0c\u4ee5\u952e\u503c\u5bf9\u5f62\u5f0f: + * { title : 'tips'} + * @ignore + */ + elAttrs:{ + view:1 + }, + /** + * \u5c06\u63a7\u4ef6\u63d2\u5165\u5230\u6307\u5b9a\u5143\u7d20\u524d + *
          
          +             *  new Control({
          +             *      elBefore : '#t1'
          +             *  });
          +             * 
          + * @cfg {jQuery} elBefore + */ + /** + * \u5c06\u63a7\u4ef6\u63d2\u5165\u5230\u6307\u5b9a\u5143\u7d20\u524d + * @type {jQuery} + * @ignore + */ + elBefore:{ + // better named to renderBefore, too late ! + view:1 + }, + + /** + * \u53ea\u8bfb\u5c5e\u6027\uff0c\u6839\u8282\u70b9DOM + * @type {jQuery} + */ + el:{ + view:1 + }, + /** + * \u63a7\u4ef6\u652f\u6301\u7684\u4e8b\u4ef6 + * @type {Object} + * @protected + */ + events : { + value : { + /** + * \u70b9\u51fb\u4e8b\u4ef6\uff0c\u6b64\u4e8b\u4ef6\u4f1a\u5192\u6ce1\uff0c\u6240\u4ee5\u53ef\u4ee5\u5728\u7236\u5143\u7d20\u4e0a\u76d1\u542c\u6240\u6709\u5b50\u5143\u7d20\u7684\u6b64\u4e8b\u4ef6 + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {BUI.Component.Controller} e.target \u89e6\u53d1\u4e8b\u4ef6\u7684\u5bf9\u8c61 + * @param {jQuery.Event} e.domEvent DOM\u89e6\u53d1\u7684\u4e8b\u4ef6 + * @param {HTMLElement} e.domTarget \u89e6\u53d1\u4e8b\u4ef6\u7684DOM\u8282\u70b9 + */ + 'click' : true, + /** + * \u53cc\u51fb\u4e8b\u4ef6\uff0c\u6b64\u4e8b\u4ef6\u4f1a\u5192\u6ce1\uff0c\u6240\u4ee5\u53ef\u4ee5\u5728\u7236\u5143\u7d20\u4e0a\u76d1\u542c\u6240\u6709\u5b50\u5143\u7d20\u7684\u6b64\u4e8b\u4ef6 + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {BUI.Component.Controller} e.target \u89e6\u53d1\u4e8b\u4ef6\u7684\u5bf9\u8c61 + * @param {jQuery.Event} e.domEvent DOM\u89e6\u53d1\u7684\u4e8b\u4ef6 + * @param {HTMLElement} e.domTarget \u89e6\u53d1\u4e8b\u4ef6\u7684DOM\u8282\u70b9 + */ + 'dblclick' : true, + /** + * \u9f20\u6807\u79fb\u5165\u63a7\u4ef6 + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {BUI.Component.Controller} e.target \u89e6\u53d1\u4e8b\u4ef6\u7684\u5bf9\u8c61 + * @param {jQuery.Event} e.domEvent DOM\u89e6\u53d1\u7684\u4e8b\u4ef6 + * @param {HTMLElement} e.domTarget \u89e6\u53d1\u4e8b\u4ef6\u7684DOM\u8282\u70b9 + */ + 'mouseenter' : true, + /** + * \u9f20\u6807\u79fb\u51fa\u63a7\u4ef6 + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {BUI.Component.Controller} e.target \u89e6\u53d1\u4e8b\u4ef6\u7684\u5bf9\u8c61 + * @param {jQuery.Event} e.domEvent DOM\u89e6\u53d1\u7684\u4e8b\u4ef6 + * @param {HTMLElement} e.domTarget \u89e6\u53d1\u4e8b\u4ef6\u7684DOM\u8282\u70b9 + */ + 'mouseleave' : true, + /** + * \u952e\u76d8\u6309\u4e0b\u6309\u952e\u4e8b\u4ef6\uff0c\u6b64\u4e8b\u4ef6\u4f1a\u5192\u6ce1\uff0c\u6240\u4ee5\u53ef\u4ee5\u5728\u7236\u5143\u7d20\u4e0a\u76d1\u542c\u6240\u6709\u5b50\u5143\u7d20\u7684\u6b64\u4e8b\u4ef6 + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {BUI.Component.Controller} e.target \u89e6\u53d1\u4e8b\u4ef6\u7684\u5bf9\u8c61 + * @param {jQuery.Event} e.domEvent DOM\u89e6\u53d1\u7684\u4e8b\u4ef6 + * @param {HTMLElement} e.domTarget \u89e6\u53d1\u4e8b\u4ef6\u7684DOM\u8282\u70b9 + */ + 'keydown' : true, + /** + * \u952e\u76d8\u6309\u952e\u62ac\u8d77\u63a7\u4ef6\uff0c\u6b64\u4e8b\u4ef6\u4f1a\u5192\u6ce1\uff0c\u6240\u4ee5\u53ef\u4ee5\u5728\u7236\u5143\u7d20\u4e0a\u76d1\u542c\u6240\u6709\u5b50\u5143\u7d20\u7684\u6b64\u4e8b\u4ef6 + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {BUI.Component.Controller} e.target \u89e6\u53d1\u4e8b\u4ef6\u7684\u5bf9\u8c61 + * @param {jQuery.Event} e.domEvent DOM\u89e6\u53d1\u7684\u4e8b\u4ef6 + * @param {HTMLElement} e.domTarget \u89e6\u53d1\u4e8b\u4ef6\u7684DOM\u8282\u70b9 + */ + 'keyup' : true, + /** + * \u63a7\u4ef6\u83b7\u53d6\u7126\u70b9\u4e8b\u4ef6 + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {BUI.Component.Controller} e.target \u89e6\u53d1\u4e8b\u4ef6\u7684\u5bf9\u8c61 + * @param {jQuery.Event} e.domEvent DOM\u89e6\u53d1\u7684\u4e8b\u4ef6 + * @param {HTMLElement} e.domTarget \u89e6\u53d1\u4e8b\u4ef6\u7684DOM\u8282\u70b9 + */ + 'focus' : false, + /** + * \u63a7\u4ef6\u4e22\u5931\u7126\u70b9\u4e8b\u4ef6 + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {BUI.Component.Controller} e.target \u89e6\u53d1\u4e8b\u4ef6\u7684\u5bf9\u8c61 + * @param {jQuery.Event} e.domEvent DOM\u89e6\u53d1\u7684\u4e8b\u4ef6 + * @param {HTMLElement} e.domTarget \u89e6\u53d1\u4e8b\u4ef6\u7684DOM\u8282\u70b9 + */ + 'blur' : false, + /** + * \u9f20\u6807\u6309\u4e0b\u63a7\u4ef6\uff0c\u6b64\u4e8b\u4ef6\u4f1a\u5192\u6ce1\uff0c\u6240\u4ee5\u53ef\u4ee5\u5728\u7236\u5143\u7d20\u4e0a\u76d1\u542c\u6240\u6709\u5b50\u5143\u7d20\u7684\u6b64\u4e8b\u4ef6 + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {BUI.Component.Controller} e.target \u89e6\u53d1\u4e8b\u4ef6\u7684\u5bf9\u8c61 + * @param {jQuery.Event} e.domEvent DOM\u89e6\u53d1\u7684\u4e8b\u4ef6 + * @param {HTMLElement} e.domTarget \u89e6\u53d1\u4e8b\u4ef6\u7684DOM\u8282\u70b9 + */ + 'mousedown' : true, + /** + * \u9f20\u6807\u62ac\u8d77\u63a7\u4ef6\uff0c\u6b64\u4e8b\u4ef6\u4f1a\u5192\u6ce1\uff0c\u6240\u4ee5\u53ef\u4ee5\u5728\u7236\u5143\u7d20\u4e0a\u76d1\u542c\u6240\u6709\u5b50\u5143\u7d20\u7684\u6b64\u4e8b\u4ef6 + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {BUI.Component.Controller} e.target \u89e6\u53d1\u4e8b\u4ef6\u7684\u5bf9\u8c61 + * @param {jQuery.Event} e.domEvent DOM\u89e6\u53d1\u7684\u4e8b\u4ef6 + * @param {HTMLElement} e.domTarget \u89e6\u53d1\u4e8b\u4ef6\u7684DOM\u8282\u70b9 + */ + 'mouseup' : true, + /** + * \u63a7\u4ef6\u663e\u793a + * @event + */ + 'show' : false, + /** + * \u63a7\u4ef6\u9690\u85cf + * @event + */ + 'hide' : false + } + }, + /** + * \u6307\u5b9a\u63a7\u4ef6\u7684\u5bb9\u5668 + *
          
          +             *  new Control({
          +             *    render : '#t1',
          +             *    elCls : 'test',
          +             *    content : '123'  //<div id="t1"><div class="test bui-xclass"><span>123</span></div></div>
          +             *  });
          +             * 
          + * @cfg {jQuery} render + */ + /** + * \u6307\u5b9a\u63a7\u4ef6\u7684\u5bb9\u5668 + * @type {jQuery} + * @ignore + */ + render:{ + view:1 + }, + /** + * \u72b6\u6001\u76f8\u5173\u7684\u6837\u5f0f,\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u4f1a\u4f7f\u7528 \u524d\u7f00\u540d + xclass + '-' + \u72b6\u6001\u540d + *
            + *
          1. hover
          2. + *
          3. focused
          4. + *
          5. active
          6. + *
          7. disabled
          8. + *
          + * @type {Object} + */ + statusCls : { + view : true, + value : { + + } + }, + /** + * \u63a7\u4ef6\u7684\u53ef\u89c6\u65b9\u5f0f,\u503c\u4e3a\uff1a + * - 'display' + * - 'visibility' + *
          
          +             *   new Control({
          +             *     visibleMode: 'visibility'
          +             *   });
          +             *  
          + * @cfg {String} [visibleMode = 'display'] + */ + /** + * \u63a7\u4ef6\u7684\u53ef\u89c6\u65b9\u5f0f,\u4f7f\u7528 css + * - 'display' \u6216\u8005 + * - 'visibility' + *
          
          +             *  control.set('visibleMode','display')
          +             * 
          + * @type {String} + */ + visibleMode:{ + view:1, + value : 'display' + }, + /** + * \u63a7\u4ef6\u662f\u5426\u53ef\u89c1 + *
          
          +             *  new Control({
          +             *    visible : false   //\u9690\u85cf
          +             *  });
          +             * 
          + * @cfg {Boolean} [visible = true] + */ + /** + * \u63a7\u4ef6\u662f\u5426\u53ef\u89c1 + *
          
          +             *  control.set('visible',true); //control.show();
          +             *  control.set('visible',false); //control.hide();
          +             * 
          + * @type {Boolean} + * @default true + */ + visible:{ + value:true, + view:1 + }, + /** + * \u662f\u5426\u5141\u8bb8\u5904\u7406\u9f20\u6807\u4e8b\u4ef6 + * @default true. + * @type {Boolean} + * @protected + */ + handleMouseEvents: { + value: true + }, + + /** + * \u63a7\u4ef6\u662f\u5426\u53ef\u4ee5\u83b7\u53d6\u7126\u70b9 + * @default true. + * @protected + * @type {Boolean} + */ + focusable: { + value: false, + view: 1 + }, + /** + * \u4e00\u65e6\u4f7f\u7528loader\u7684\u9ed8\u8ba4\u914d\u7f6e + * @protected + * @type {Object} + */ + defaultLoaderCfg : { + value : { + property : 'content', + autoLoad : true + } + }, + /** + * \u63a7\u4ef6\u5185\u5bb9\u7684\u52a0\u8f7d\u5668 + * @type {BUI.Component.Loader} + */ + loader : { + getter : function(v){ + var _self = this, + defaultCfg; + if(v && !v.isLoader){ + v.target = _self; + defaultCfg = _self.get('defaultLoaderCfg') + v = new Loader(BUI.merge(defaultCfg,v)); + _self.setInternal('loader',v); + } + return v; + } + }, + /** + * 1. Whether allow select this component's text.
          + * 2. Whether not to lose last component's focus if click current one (set false). + * + * Defaults to: false. + * @type {Boolean} + * @property allowTextSelection + * @protected + */ + /** + * @ignore + */ + allowTextSelection: { + // \u548c focusable \u5206\u79bb + // grid \u9700\u6c42\uff1a\u5bb9\u5668\u5141\u8bb8\u9009\u62e9\u91cc\u9762\u5185\u5bb9 + value: true + }, + + /** + * \u63a7\u4ef6\u662f\u5426\u53ef\u4ee5\u6fc0\u6d3b + * @default true. + * @type {Boolean} + * @protected + */ + activeable: { + value: true + }, + + /** + * \u63a7\u4ef6\u662f\u5426\u83b7\u53d6\u7126\u70b9 + * @type {Boolean} + * @readOnly + */ + focused: { + view: 1 + }, + + /** + * \u63a7\u4ef6\u662f\u5426\u5904\u4e8e\u6fc0\u6d3b\u72b6\u6001\uff0c\u6309\u94ae\u6309\u4e0b\u8fd8\u672a\u62ac\u8d77 + * @type {Boolean} + * @default false + * @protected + */ + active: { + view: 1 + }, + /** + * \u63a7\u4ef6\u662f\u5426\u9ad8\u4eae + * @cfg {Boolean} highlighted + * @ignore + */ + /** + * \u63a7\u4ef6\u662f\u5426\u9ad8\u4eae + * @type {Boolean} + * @protected + */ + highlighted: { + view: 1 + }, + /** + * \u5b50\u63a7\u4ef6\u96c6\u5408 + * @cfg {BUI.Component.Controller[]} children + */ + /** + * \u5b50\u63a7\u4ef6\u96c6\u5408 + * @type {BUI.Component.Controller[]} + */ + children: { + sync : false, + value: [] + }, + /** + * \u63a7\u4ef6\u7684CSS\u524d\u7f00 + * @cfg {String} [prefixCls = BUI.prefix] + */ + /** + * \u63a7\u4ef6\u7684CSS\u524d\u7f00 + * @type {String} + * @default BUI.prefix + */ + prefixCls: { + value: BUI.prefix, // box srcNode need + view: 1 + }, + + /** + * \u7236\u63a7\u4ef6 + * @cfg {BUI.Component.Controller} parent + * @ignore + */ + /** + * \u7236\u63a7\u4ef6 + * @type {BUI.Component.Controller} + */ + parent: { + setter: function (p) { + // \u4e8b\u4ef6\u5192\u6ce1\u6e90 + this.addTarget(p); + } + }, + + /** + * \u7981\u7528\u63a7\u4ef6 + * @cfg {Boolean} [disabled = false] + */ + /** + * \u7981\u7528\u63a7\u4ef6 + *
          
          +             *  control.set('disabled',true); //==  control.disable();
          +             *  control.set('disabled',false); //==  control.enable();
          +             * 
          + * @type {Boolean} + * @default false + */ + disabled: { + view: 1, + value : false + }, + /** + * \u6e32\u67d3\u63a7\u4ef6\u7684View\u7c7b. + * @protected + * @cfg {BUI.Component.View} [xview = BUI.Component.View] + */ + /** + * \u6e32\u67d3\u63a7\u4ef6\u7684View\u7c7b. + * @protected + * @type {BUI.Component.View} + */ + xview: { + value: View + } + }, + PARSER : { + visible : function(el){ + var _self = this, + display = el.css('display'), + + visibility = el.css('visibility'), + visibleMode = _self.get('visibleMode'); + if((display == 'none' && visibleMode == 'display') || (visibility == 'hidden' && visibleMode == 'visibility')){ + return false; + } + return true; + } + } + }, { + xclass: 'controller', + priority : 0 + }); + + return Controller; +}); +/** + * @ignore + * @fileOverview cookie + * @author lifesinger@gmail.com + */ + + +define('bui/cookie',function () { + + var doc = document, + MILLISECONDS_OF_DAY = 24 * 60 * 60 * 1000, + encode = encodeURIComponent, + decode = decodeURIComponent; + + function isNotEmptyString(val) { + return typeof(val) === 'string' && val !== ''; + } + + /** + * Provide Cookie utilities. + * @class BUI.Cookie + * @singleton + */ + var Cookie = { + + /** + * Returns the cookie value for given name + * @return {String} name The name of the cookie to retrieve + */ + get: function (name) { + var ret, m; + + if (isNotEmptyString(name)) { + if ((m = String(doc.cookie).match( + new RegExp('(?:^| )' + name + '(?:(?:=([^;]*))|;|$)')))) { + ret = m[1] ? decode(m[1]) : ''; + } + } + return ret; + }, + + /** + * Set a cookie with a given name and value + * @param {String} name The name of the cookie to set + * @param {String} val The value to set for cookie + * @param {Number|Date} expires + * if Number secified how many days this cookie will expire + * @param {String} domain set cookie's domain + * @param {String} path set cookie's path + * @param {Boolean} secure whether this cookie can only be sent to server on https + */ + set: function (name, val, expires, domain, path, secure) { + var text = String(encode(val)), date = expires; + + // \u4ece\u5f53\u524d\u65f6\u95f4\u5f00\u59cb\uff0c\u591a\u5c11\u5929\u540e\u8fc7\u671f + if (typeof date === 'number') { + date = new Date(); + date.setTime(date.getTime() + expires * MILLISECONDS_OF_DAY); + } + // expiration date + if (date instanceof Date) { + text += '; expires=' + date.toUTCString(); + } + + // domain + if (isNotEmptyString(domain)) { + text += '; domain=' + domain; + } + + // path + if (isNotEmptyString(path)) { + text += '; path=' + path; + } + + // secure + if (secure) { + text += '; secure'; + } + + doc.cookie = name + '=' + text; + }, + + /** + * Remove a cookie from the machine by setting its expiration date to sometime in the past + * @param {String} name The name of the cookie to remove. + * @param {String} domain The cookie's domain + * @param {String} path The cookie's path + * @param {String} secure The cookie's secure option + */ + remove: function (name, domain, path, secure) { + this.set(name, '', -1, domain, path, secure); + } + }; + + BUI.Cookie = Cookie; + + return Cookie; +}); + +/** +* @ignore +* 2012.02.14 yiminghe@gmail.com +* - jsdoc added +* +* 2010.04 +* - get \u65b9\u6cd5\u8981\u8003\u8651 ie \u4e0b\uff0c +* \u503c\u4e3a\u7a7a\u7684 cookie \u4e3a 'test3; test3=3; test3tt=2; test1=t1test3; test3', \u6ca1\u6709\u7b49\u4e8e\u53f7\u3002 +* \u9664\u4e86\u6b63\u5219\u83b7\u53d6\uff0c\u8fd8\u53ef\u4ee5 split \u5b57\u7b26\u4e32\u7684\u65b9\u5f0f\u6765\u83b7\u53d6\u3002 +* - api \u8bbe\u8ba1\u4e0a\uff0c\u539f\u672c\u60f3\u501f\u9274 jQuery \u7684\u7b80\u660e\u98ce\u683c\uff1aS.cookie(name, ...), \u4f46\u8003\u8651\u5230\u53ef\u6269\u5c55\u6027\uff0c\u76ee\u524d +* \u72ec\u7acb\u6210\u9759\u6001\u5de5\u5177\u7c7b\u7684\u65b9\u5f0f\u66f4\u4f18\u3002 +*/ +/** + * @fileOverview Data \u547d\u540d\u7a7a\u95f4\u7684\u5165\u53e3\u6587\u4ef6 + * @ignore + */ +(function(){ +var BASE = 'bui/data/'; +define('bui/data',['bui/common',BASE + 'sortable',BASE + 'proxy',BASE + 'abstractstore',BASE + 'store', + BASE + 'node',BASE + 'treestore'],function(r) { + + var BUI = r('bui/common'), + Data = BUI.namespace('Data'); + BUI.mix(Data,{ + Sortable : r(BASE + 'sortable'), + Proxy : r(BASE + 'proxy'), + AbstractStore : r(BASE + 'abstractstore'), + Store : r(BASE + 'store'), + Node : r(BASE + 'node'), + TreeStore : r(BASE + 'treestore') + }); + + return Data; +}); +})(); +/** + * @fileOverview \u53ef\u6392\u5e8f\u6269\u5c55\u7c7b + * @ignore + */ + +define('bui/data/sortable',function() { + + var ASC = 'ASC', + DESC = 'DESC'; + /** + * \u6392\u5e8f\u6269\u5c55\u65b9\u6cd5\uff0c\u65e0\u6cd5\u76f4\u63a5\u4f7f\u7528 + * \u8bf7\u5728\u7ee7\u627f\u4e86 {@link BUI.Base}\u7684\u7c7b\u4e0a\u4f7f\u7528 + * @class BUI.Data.Sortable + * @extends BUI.Base + */ + var sortable = function(){ + + }; + + sortable.ATTRS = + /** + * @lends BUI.Data.Sortable# + * @ignore + */ + { + /** + * \u6bd4\u8f83\u51fd\u6570 + * @cfg {Function} compareFunction + * \u51fd\u6570\u539f\u578b function(v1,v2)\uff0c\u6bd4\u8f832\u4e2a\u5b57\u6bb5\u662f\u5426\u76f8\u7b49 + * \u5982\u679c\u662f\u5b57\u7b26\u4e32\u5219\u6309\u7167\u672c\u5730\u6bd4\u8f83\u7b97\u6cd5\uff0c\u5426\u5219\u4f7f\u7528 > ,== \u9a8c\u8bc1 + */ + compareFunction:{ + value : function(v1,v2){ + if(v1 === undefined){ + v1 = ''; + } + if(v2 === undefined){ + v2 = ''; + } + if(BUI.isString(v1)){ + return v1.localeCompare(v2); + } + + if(v1 > v2){ + return 1; + }else if(v1 === v2){ + return 0; + }else{ + return -1; + } + } + }, + /** + * \u6392\u5e8f\u5b57\u6bb5 + * @cfg {String} sortField + */ + /** + * \u6392\u5e8f\u5b57\u6bb5 + * @type {String} + */ + sortField : { + + }, + /** + * \u6392\u5e8f\u65b9\u5411,'ASC'\u3001'DESC' + * @cfg {String} [sortDirection = 'ASC'] + */ + /** + * \u6392\u5e8f\u65b9\u5411,'ASC'\u3001'DESC' + * @type {String} + */ + sortDirection : { + value : 'ASC' + }, + /** + * \u6392\u5e8f\u4fe1\u606f + *
            + *
          1. field: \u6392\u5e8f\u5b57\u6bb5
          2. + *
          3. direction: \u6392\u5e8f\u65b9\u5411,ASC(\u9ed8\u8ba4),DESC
          4. + *
          + * @cfg {Object} sortInfo + */ + /** + * \u6392\u5e8f\u4fe1\u606f + *
            + *
          1. field: \u6392\u5e8f\u5b57\u6bb5
          2. + *
          3. direction: \u6392\u5e8f\u65b9\u5411,ASC(\u9ed8\u8ba4),DESC
          4. + *
          + * @type {Object} + */ + sortInfo: { + getter : function(){ + var _self = this, + field = _self.get('sortField'); + + return { + field : field, + direction : _self.get('sortDirection') + }; + }, + setter: function(v){ + var _self = this; + + _self.set('sortField',v.field); + _self.set('sortDirection',v.direction); + } + } + }; + + BUI.augment(sortable, + /** + * @lends BUI.Data.Sortable.prototype + * @ignore + */ + { + compare : function(obj1,obj2,field,direction){ + + var _self = this, + dir; + field = field || _self.get('sortField'); + direction = direction || _self.get('sortDirection'); + //\u5982\u679c\u672a\u6307\u5b9a\u6392\u5e8f\u5b57\u6bb5\uff0c\u6216\u65b9\u5411\uff0c\u5219\u6309\u7167\u9ed8\u8ba4\u987a\u5e8f + if(!field || !direction){ + return 1; + } + dir = direction === ASC ? 1 : -1; + + return _self.get('compareFunction')(obj1[field],obj2[field]) * dir; + }, + /** + * \u83b7\u53d6\u6392\u5e8f\u7684\u96c6\u5408 + * @protected + * @return {Array} \u6392\u5e8f\u96c6\u5408 + */ + getSortData : function(){ + + }, + /** + * \u6392\u5e8f\u6570\u636e + * @param {String|Array} field \u6392\u5e8f\u5b57\u6bb5\u6216\u8005\u6570\u7ec4 + * @param {String} direction \u6392\u5e8f\u65b9\u5411 + * @param {Array} records \u6392\u5e8f + * @return {Array} + */ + sortData : function(field,direction,records){ + var _self = this, + records = records || _self.getSortData(); + + if(BUI.isArray(field)){ + records = field; + field = null; + } + + field = field || _self.get('sortField'); + direction = direction || _self.get('sortDirection'); + + _self.set('sortField',field); + _self.set('sortDirection',direction); + + if(!field || !direction){ + return records; + } + + records.sort(function(obj1,obj2){ + return _self.compare(obj1,obj2,field,direction); + }); + return records; + } + }); + + return sortable; +}); +define('bui/data/proxy',['bui/data/sortable'],function(require) { + + var Sortable = require('bui/data/sortable'); + + /** + * \u6570\u636e\u4ee3\u7406\u5bf9\u8c61\uff0c\u52a0\u8f7d\u6570\u636e, + * \u4e00\u822c\u4e0d\u76f4\u63a5\u4f7f\u7528\uff0c\u5728store\u91cc\u9762\u51b3\u5b9a\u4f7f\u7528\u4ec0\u4e48\u7c7b\u578b\u7684\u6570\u636e\u4ee3\u7406\u5bf9\u8c61 + * @class BUI.Data.Proxy + * @extends BUI.Base + * @abstract + */ + var proxy = function(config){ + proxy.superclass.constructor.call(this,config); + }; + + proxy.ATTRS = { + + }; + + BUI.extend(proxy,BUI.Base); + + BUI.augment(proxy, + /** + * @lends BUI.Data.Proxy.prototype + * @ignore + */ + { + /** + * @protected + * @private + */ + _read : function(params,callback){ + + }, + /** + * \u8bfb\u6570\u636e + * @param {Object} params \u952e\u503c\u5bf9\u5f62\u5f0f\u7684\u53c2\u6570 + * @param {Function} callback \u56de\u8c03\u51fd\u6570\uff0c\u51fd\u6570\u539f\u578b function(data){} + * @param {Object} scope \u56de\u8c03\u51fd\u6570\u7684\u4e0a\u4e0b\u6587 + */ + read : function(params,callback,scope){ + var _self = this; + scope = scope || _self; + + _self._read(params,function(data){ + callback.call(scope,data); + }); + }, + /** + * \u66f4\u65b0\u6570\u636e + * @protected + */ + update : function(params,callback,scope){ + + } + }); + + /** + * \u5f02\u6b65\u52a0\u8f7d\u6570\u636e\u7684\u4ee3\u7406 + * @class BUI.Data.Proxy.Ajax + * @extends BUI.Data.Proxy + */ + var ajaxProxy = function(config){ + ajaxProxy.superclass.constructor.call(this,config); + }; + + ajaxProxy.ATTRS = BUI.mix(true,proxy.ATTRS, + /** + * @lends BUI.Data.Proxy.Ajax# + * @ignore + */ + { + /** + * \u9650\u5236\u6761\u6570 + * @cfg {String} [limitParam='limit'] + */ + /** + * \u9650\u5236\u6761\u6570 + * @type {String} + * @default 'limit' + */ + limitParam : { + value : 'limit' + }, + /** + * \u8d77\u59cb\u7eaa\u5f55\u4ee3\u8868\u7684\u5b57\u6bb5 + * @cfg {String} [startParam='start'] + */ + /** + * \u8d77\u59cb\u7eaa\u5f55\u4ee3\u8868\u7684\u5b57\u6bb5 + * @type {String} + */ + startParam : { + value : 'start' + }, + /** + * \u9875\u7801\u7684\u5b57\u6bb5\u540d + * @cfg {String} [pageIndexParam='pageIndex'] + */ + /** + * \u9875\u7801\u7684\u5b57\u6bb5\u540d + * @type {String} + * @default 'pageIndex' + */ + pageIndexParam : { + value : 'pageIndex' + }, + /** + * \u52a0\u8f7d\u6570\u636e\u65f6\uff0c\u8fd4\u56de\u7684\u683c\u5f0f,\u76ee\u524d\u53ea\u652f\u6301"json\u3001jsonp"\u683c\u5f0f
          + * @cfg {String} [dataType='json'] + */ + /** + * \u52a0\u8f7d\u6570\u636e\u65f6\uff0c\u8fd4\u56de\u7684\u683c\u5f0f,\u76ee\u524d\u53ea\u652f\u6301"json\u3001jsonp"\u683c\u5f0f
          + * @type {String} + * @default "json" + */ + dataType: { + value : 'json' + }, + /** + * \u83b7\u53d6\u6570\u636e\u7684\u65b9\u5f0f,'GET'\u6216\u8005'POST',\u9ed8\u8ba4\u4e3a'GET' + * @cfg {String} [method='GET'] + */ + /** + * \u83b7\u53d6\u6570\u636e\u7684\u65b9\u5f0f,'GET'\u6216\u8005'POST',\u9ed8\u8ba4\u4e3a'GET' + * @type {String} + * @default 'GET' + */ + method : { + value : 'GET' + }, + /** + * \u662f\u5426\u4f7f\u7528Cache + * @type {Boolean} + */ + cache : { + value : false + }, + /** + * \u52a0\u8f7d\u6570\u636e\u7684\u94fe\u63a5 + * @cfg {String} url + * @required + */ + /** + * \u52a0\u8f7d\u6570\u636e\u7684\u94fe\u63a5 + * @type {String} + * @required + */ + url :{ + + } + + }); + BUI.extend(ajaxProxy,proxy); + + BUI.augment(ajaxProxy,{ + _processParams : function(params){ + var _self = this, + arr = ['start','limit','pageIndex']; + + BUI.each(arr,function(field){ + var fieldParam = _self.get(field+'Param'); + if(fieldParam !== field){ + params[fieldParam] = params[field]; + delete params[field]; + } + }); + }, + /** + * @protected + * @private + */ + _read : function(params,callback){ + var _self = this; + + params = BUI.cloneObject(params); + _self._processParams(params); + + $.ajax({ + url: _self.get('url'), + type : _self.get('method'), + dataType: _self.get('dataType'), + data : params, + cache : _self.get('cache'), + success: function(data) { + callback(data); + }, + error : function(jqXHR, textStatus, errorThrown){ + var result = { + exception : { + status : textStatus, + errorThrown: errorThrown, + jqXHR : jqXHR + } + }; + callback(result); + } + }); + } + }); + + /** + * \u8bfb\u53d6\u7f13\u5b58\u7684\u4ee3\u7406 + * @class BUI.Data.Proxy.Memery + * @extends BUI.Data.Proxy + * @mixins BUI.Data.Sortable + */ + var memeryProxy = function(config){ + memeryProxy.superclass.constructor.call(this,config); + }; + + BUI.extend(memeryProxy,proxy); + + BUI.mixin(memeryProxy,[Sortable]); + + BUI.augment(memeryProxy,{ + /** + * @protected + * @ignore + */ + _read : function(params,callback){ + var _self = this, + pageable = params.pageable, + start = params.start, + sortField = params.sortField, + sortDirection = params.sortDirection, + limit = params.limit, + data = _self.get('data'), + rows = []; + + _self.sortData(sortField,sortDirection); + + if(limit){//\u5206\u9875\u65f6 + rows = data.slice(start,start + limit); + callback({rows:rows,results:data.length}); + }else{//\u4e0d\u5206\u9875\u65f6 + rows = data.slice(start); + callback(rows); + } + + } + + }); + + proxy.Ajax = ajaxProxy; + proxy.Memery = memeryProxy; + + return proxy; + + +}); +/** + * @fileOverview \u62bd\u8c61\u6570\u636e\u7f13\u51b2\u7c7b + * @ignore + */ + +define('bui/data/abstractstore',['bui/common','bui/data/proxy'],function (require) { + var BUI = require('bui/common'), + Proxy = require('bui/data/proxy'); + + /** + * @class BUI.Data.AbstractStore + * \u6570\u636e\u7f13\u51b2\u62bd\u8c61\u7c7b,\u6b64\u7c7b\u4e0d\u8fdb\u884c\u5b9e\u4f8b\u5316 + * @extends BUI.Base + */ + function AbstractStore(config){ + AbstractStore.superclass.constructor.call(this,config); + this._init(); + } + + AbstractStore.ATTRS = { + /** + * \u521b\u5efa\u5bf9\u8c61\u65f6\u662f\u5426\u81ea\u52a8\u52a0\u8f7d + *
          
          +    *   var store = new Data.Store({
          +    *     url : 'data.php',  //\u8bbe\u7f6e\u52a0\u8f7d\u6570\u636e\u7684URL
          +    *     autoLoad : true    //\u521b\u5efaStore\u65f6\u81ea\u52a8\u52a0\u8f7d\u6570\u636e
          +    *   });
          +    * 
          + * @cfg {Boolean} [autoLoad=false] + */ + autoLoad: { + value :false + }, + /** + * \u4e0a\u6b21\u67e5\u8be2\u7684\u53c2\u6570 + * @type {Object} + * @readOnly + */ + lastParams : { + value : {} + }, + /** + * \u521d\u59cb\u5316\u65f6\u67e5\u8be2\u7684\u53c2\u6570\uff0c\u5728\u521d\u59cb\u5316\u65f6\u6709\u6548 + *
          
          +     * var store = new Data.Store({
          +    *     url : 'data.php',  //\u8bbe\u7f6e\u52a0\u8f7d\u6570\u636e\u7684URL
          +    *     autoLoad : true,    //\u521b\u5efaStore\u65f6\u81ea\u52a8\u52a0\u8f7d\u6570\u636e
          +    *     params : {         //\u8bbe\u7f6e\u8bf7\u6c42\u65f6\u7684\u53c2\u6570
          +    *       id : '1',
          +    *       type : '1'
          +    *     }
          +    *   });
          +     * 
          + * @cfg {Object} params + */ + params : { + + }, + /** + * \u6570\u636e\u4ee3\u7406\u5bf9\u8c61,\u7528\u4e8e\u52a0\u8f7d\u6570\u636e\u7684ajax\u914d\u7f6e\uff0c{@link BUI.Data.Proxy} + *
          
          +     *   var store = new Data.Store({
          +    *     url : 'data.php',  //\u8bbe\u7f6e\u52a0\u8f7d\u6570\u636e\u7684URL
          +    *     autoLoad : true,    //\u521b\u5efaStore\u65f6\u81ea\u52a8\u52a0\u8f7d\u6570\u636e
          +    *     proxy : {
          +    *       method : 'post',
          +    *       dataType : 'jsonp'
          +    *     }
          +    *   });
          +     * 
          + * @cfg {Object|BUI.Data.Proxy} proxy + */ + proxy : { + value : { + + } + }, + /** + * \u8bf7\u6c42\u6570\u636e\u7684\u5730\u5740\uff0c\u901a\u8fc7ajax\u52a0\u8f7d\u6570\u636e\uff0c + * \u6b64\u53c2\u6570\u8bbe\u7f6e\u5219\u52a0\u8f7d\u8fdc\u7a0b\u6570\u636e + * ** \u4f60\u53ef\u4ee5\u8bbe\u7f6e\u5728proxy\u5916\u90e8 ** + *
          
          +     *   var store = new Data.Store({
          +    *     url : 'data.php',  //\u8bbe\u7f6e\u52a0\u8f7d\u6570\u636e\u7684URL
          +    *     autoLoad : true,    //\u521b\u5efaStore\u65f6\u81ea\u52a8\u52a0\u8f7d\u6570\u636e
          +    *     proxy : {
          +    *       method : 'post',
          +    *       dataType : 'jsonp'
          +    *     }
          +    *   });
          +     * 
          + * ** \u4f60\u4e5f\u53ef\u4ee5\u8bbe\u7f6e\u5728proxy\u4e0a ** + *
          
          +     *   var store = new Data.Store({
          +    *     autoLoad : true,    //\u521b\u5efaStore\u65f6\u81ea\u52a8\u52a0\u8f7d\u6570\u636e
          +    *     proxy : {
          +    *       url : 'data.php',  //\u8bbe\u7f6e\u52a0\u8f7d\u6570\u636e\u7684URL
          +    *       method : 'post',
          +    *       dataType : 'jsonp'
          +    *     }
          +    *   });
          +     * 
          + * \u5426\u5219\u628a {BUI.Data.Store#cfg-data}\u4f5c\u4e3a\u672c\u5730\u7f13\u5b58\u6570\u636e\u52a0\u8f7d + * @cfg {String} url + */ + /** + * \u8bf7\u6c42\u6570\u636e\u7684url + *
          
          +     *   //\u66f4\u6539url
          +     *   store.get('proxy').set('url',url);
          +     * 
          + * @type {String} + */ + url : { + + }, + events : { + value : [ + /** + * \u6570\u636e\u63a5\u53d7\u6539\u53d8\uff0c\u6240\u6709\u589e\u52a0\u3001\u5220\u9664\u3001\u4fee\u6539\u7684\u6570\u636e\u8bb0\u5f55\u6e05\u7a7a + * @name BUI.Data.Store#acceptchanges + * @event + */ + 'acceptchanges', + /** + * \u5f53\u6570\u636e\u52a0\u8f7d\u5b8c\u6210\u540e + * @name BUI.Data.Store#load + * @event + * @param {jQuery.Event} e \u4e8b\u4ef6\u5bf9\u8c61\uff0c\u5305\u542b\u52a0\u8f7d\u6570\u636e\u65f6\u7684\u53c2\u6570 + */ + 'load', + + /** + * \u5f53\u6570\u636e\u52a0\u8f7d\u524d + * @name BUI.Data.Store#beforeload + * @event + */ + 'beforeload', + + /** + * \u53d1\u751f\u5728\uff0cbeforeload\u548cload\u4e2d\u95f4\uff0c\u6570\u636e\u5df2\u7ecf\u83b7\u53d6\u5b8c\u6210\uff0c\u4f46\u662f\u8fd8\u672a\u89e6\u53d1load\u4e8b\u4ef6\uff0c\u7528\u4e8e\u83b7\u53d6\u8fd4\u56de\u7684\u539f\u59cb\u6570\u636e + * @name BUI.Data.Store#beforeProcessLoad + * @event + * @param {jQuery.Event} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.data \u4ece\u670d\u52a1\u5668\u7aef\u8fd4\u56de\u7684\u6570\u636e + */ + 'beforeProcessLoad', + + /** + * \u5f53\u6dfb\u52a0\u6570\u636e\u65f6\u89e6\u53d1\u8be5\u4e8b\u4ef6 + * @event + * @param {jQuery.Event} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.record \u6dfb\u52a0\u7684\u6570\u636e + */ + 'add', + + /** + * \u52a0\u8f7d\u6570\u636e\u53d1\u751f\u5f02\u5e38\u65f6\u89e6\u53d1 + * @event + * @name BUI.Data.Store#exception + * @param {jQuery.Event} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {String|Object} e.error \u52a0\u8f7d\u6570\u636e\u65f6\u8fd4\u56de\u7684\u9519\u8bef\u4fe1\u606f\u6216\u8005\u52a0\u8f7d\u6570\u636e\u5931\u8d25\uff0c\u6d4f\u89c8\u5668\u8fd4\u56de\u7684\u4fe1\u606f\uff08httpResponse \u5bf9\u8c61 \u7684textStatus\uff09 + * @param {String} e.responseText \u7f51\u7edc\u6216\u8005\u6d4f\u89c8\u5668\u52a0\u8f7d\u6570\u636e\u53d1\u751f\u9519\u8bef\u662f\u8fd4\u56de\u7684httpResponse \u5bf9\u8c61\u7684responseText + */ + 'exception', + + /** + * \u5f53\u5220\u9664\u6570\u636e\u662f\u89e6\u53d1\u8be5\u4e8b\u4ef6 + * @event + * @param {jQuery.Event} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.data \u5220\u9664\u7684\u6570\u636e + */ + 'remove', + + /** + * \u5f53\u66f4\u65b0\u6570\u636e\u6307\u5b9a\u5b57\u6bb5\u65f6\u89e6\u53d1\u8be5\u4e8b\u4ef6 + * @event + * @param {jQuery.Event} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.record \u66f4\u65b0\u7684\u6570\u636e + * @param {Object} e.field \u66f4\u65b0\u7684\u5b57\u6bb5 + * @param {Object} e.value \u66f4\u65b0\u7684\u503c + */ + 'update', + + /** + * \u524d\u7aef\u53d1\u751f\u6392\u5e8f\u65f6\u89e6\u53d1 + * @name BUI.Data.Store#localsort + * @event + * @param {jQuery.Event} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.field \u6392\u5e8f\u7684\u5b57\u6bb5 + * @param {Object} e.direction \u6392\u5e8f\u7684\u65b9\u5411 'ASC'\uff0c'DESC' + */ + 'localsort' + ] + }, + /** + * \u672c\u5730\u6570\u636e\u6e90,\u4f7f\u7528\u672c\u5730\u6570\u636e\u6e90\u65f6\u4f1a\u4f7f\u7528{@link BUI.Data.Proxy.Memery} + * @cfg {Array} data + */ + /** + * \u672c\u5730\u6570\u636e\u6e90 + * @type {Array} + */ + data : { + setter : function(data){ + var _self = this, + proxy = _self.get('proxy'); + if(proxy.set){ + proxy.set('data',data); + }else{ + proxy.data = data; + } + //\u8bbe\u7f6e\u672c\u5730\u6570\u636e\u65f6\uff0c\u628aautoLoad\u7f6e\u4e3atrue + _self.set('autoLoad',true); + } + } + }; + + BUI.extend(AbstractStore,BUI.Base); + + BUI.augment(AbstractStore,{ + /** + * \u662f\u5426\u662f\u6570\u636e\u7f13\u51b2\u5bf9\u8c61\uff0c\u7528\u4e8e\u5224\u65ad\u5bf9\u8c61 + * @type {Boolean} + */ + isStore : true, + /** + * @private + * \u521d\u59cb\u5316 + */ + _init : function(){ + var _self = this; + + _self.beforeInit(); + //\u521d\u59cb\u5316\u7ed3\u679c\u96c6 + _self._initParams(); + _self._initProxy(); + _self._initData(); + }, + /** + * @protected + * \u521d\u59cb\u5316\u4e4b\u524d + */ + beforeInit : function(){ + + }, + //\u521d\u59cb\u5316\u6570\u636e,\u5982\u679c\u9ed8\u8ba4\u52a0\u8f7d\u6570\u636e\uff0c\u5219\u52a0\u8f7d\u6570\u636e + _initData : function(){ + var _self = this, + autoLoad = _self.get('autoLoad'); + + if(autoLoad){ + _self.load(); + } + }, + //\u521d\u59cb\u5316\u67e5\u8be2\u53c2\u6570 + _initParams : function(){ + var _self = this, + lastParams = _self.get('lastParams'), + params = _self.get('params'); + + //\u521d\u59cb\u5316 \u53c2\u6570 + BUI.mix(lastParams,params); + }, + /** + * @protected + * \u521d\u59cb\u5316\u6570\u636e\u4ee3\u7406\u7c7b + */ + _initProxy : function(){ + var _self = this, + url = _self.get('url'), + proxy = _self.get('proxy'); + + if(!(proxy instanceof Proxy)){ + + if(url){ + proxy.url = url; + } + + //\u5f02\u6b65\u8bf7\u6c42\u7684\u4ee3\u7406\u7c7b + if(proxy.type === 'ajax' || proxy.url){ + proxy = new Proxy.Ajax(proxy); + }else{ + proxy = new Proxy.Memery(proxy); + } + + _self.set('proxy',proxy); + } + }, + /** + * \u52a0\u8f7d\u6570\u636e + *
          
          +     *  //\u4e00\u822c\u8c03\u7528
          +     *  store.load(params);
          +     *  
          +     *  //\u4f7f\u7528\u56de\u8c03\u51fd\u6570
          +     *  store.load(params,function(data){
          +     *  
          +     *  });
          +     *
          +     *  //load\u6709\u8bb0\u5fc6\u53c2\u6570\u7684\u529f\u80fd
          +     *  store.load({id : '123',type="1"});
          +     *  //\u4e0b\u4e00\u6b21\u8c03\u7528
          +     *  store.load();\u9ed8\u8ba4\u4f7f\u7528\u4e0a\u6b21\u7684\u53c2\u6570\uff0c\u53ef\u4ee5\u5bf9\u5bf9\u5e94\u7684\u53c2\u6570\u8fdb\u884c\u8986\u76d6
          +     * 
          + * @param {Object} params \u53c2\u6570\u952e\u503c\u5bf9 + * @param {Function} fn \u56de\u8c03\u51fd\u6570\uff0c\u9ed8\u8ba4\u4e3a\u7a7a + */ + load : function(params,callback){ + var _self = this, + proxy = _self.get('proxy'), + lastParams = _self.get('lastParams'); + + BUI.mix(true,lastParams,_self.getAppendParams(),params); + + _self.fire('beforeload',{params:lastParams}); + + //\u9632\u6b62\u5f02\u6b65\u8bf7\u6c42\u672a\u7ed3\u675f\uff0c\u53c8\u53d1\u9001\u65b0\u8bf7\u6c42\u56de\u8c03\u53c2\u6570\u9519\u8bef + params = BUI.cloneObject(lastParams); + proxy.read(lastParams,function(data){ + _self.onLoad(data,params); + if(callback){ + callback(data,params); + } + },_self); + }, + /** + * \u52a0\u8f7d\u5b8c\u6570\u636e + * @protected + * @template + */ + onLoad : function(data,params){ + var _self = this; + + var processResult = _self.processLoad(data,params); + //\u5982\u679c\u5904\u7406\u6210\u529f\uff0c\u8fd4\u56de\u9519\u8bef\u65f6\uff0c\u4e0d\u8fdb\u884c\u540e\u9762\u7684\u5904\u7406 + if(processResult){ + _self.afterProcessLoad(data,params); + } + }, + /** + * @private + * \u52a0\u8f7d\u5b8c\u6570\u636e\u5904\u7406\u6570\u636e + */ + processLoad : function(data,params){ + var _self = this, + hasErrorField = _self.get('hasErrorProperty'); + //\u83b7\u53d6\u7684\u539f\u59cb\u6570\u636e + _self.fire('beforeProcessLoad',data); + + if(data[hasErrorField] || data.exception){ + _self.onException(data); + return false; + } + return true; + }, + /** + * @protected + * @template + * \u5904\u7406\u6570\u636e\u540e + */ + afterProcessLoad : function(data,params){ + + }, + /** + * @protected + * \u5904\u7406\u9519\u8bef\u51fd\u6570 + * @param {*} data \u51fa\u9519\u5bf9\u8c61 + */ + onException : function(data){ + var _self = this, + errorProperty = _self.get('errorProperty'), + obj = {}; + //\u7f51\u7edc\u5f02\u5e38\u3001\u8f6c\u7801\u9519\u8bef\u4e4b\u7c7b\uff0c\u53d1\u751f\u5728json\u83b7\u53d6\u6216\u8f6c\u53d8\u65f6 + if(data.exception){ + obj.type = 'exception'; + obj[errorProperty] = data.exception; + }else{//\u7528\u6237\u5b9a\u4e49\u7684\u9519\u8bef + obj.type = 'error'; + obj[errorProperty] = data[errorProperty]; + } + _self.fire('exception',obj); + + }, + /** + * \u662f\u5426\u5305\u542b\u6570\u636e + * @return {Boolean} + */ + hasData : function(){ + + }, + /** + * \u83b7\u53d6\u9644\u52a0\u7684\u53c2\u6570 + * @template + * @protected + * @return {Object} \u9644\u52a0\u7684\u53c2\u6570 + */ + getAppendParams : function(){ + return {}; + } + }); + + return AbstractStore; +});/** + * @fileOverview \u6811\u5f62\u6570\u636e\u7ed3\u6784\u7684\u8282\u70b9\u7c7b\uff0c\u65e0\u6cd5\u76f4\u63a5\u4f7f\u7528\u6570\u636e\u4f5c\u4e3a\u8282\u70b9\uff0c\u6240\u4ee5\u8fdb\u884c\u4e00\u5c42\u5c01\u88c5 + * \u53ef\u4ee5\u76f4\u63a5\u4f5c\u4e3aTreeNode\u63a7\u4ef6\u7684\u914d\u7f6e\u9879 + * @ignore + */ + +define('bui/data/node',['bui/common'],function (require) { + var BUI = require('bui/common'); + + function mapNode(cfg,map){ + var rst = {}; + if(map){ + BUI.each(cfg,function(v,k){ + var name = map[k] || k; + rst[name] = v; + }); + rst.record = cfg; + }else{ + rst = cfg; + } + return rst; + } + /** + * @class BUI.Data.Node + * \u6811\u5f62\u6570\u636e\u7ed3\u6784\u7684\u8282\u70b9\u7c7b + */ + function Node (cfg,map) { + var _self = this; + cfg = mapNode(cfg,map); + BUI.mix(this,cfg); + } + + BUI.augment(Node,{ + /** + * \u662f\u5426\u6839\u8282\u70b9 + * @type {Boolean} + */ + root : false, + /** + * \u662f\u5426\u53f6\u5b50\u8282\u70b9 + * @type {Boolean} + */ + leaf : false, + /** + * \u663e\u793a\u8282\u70b9\u65f6\u663e\u793a\u7684\u6587\u672c + * @type {Object} + */ + text : '', + /** + * \u4ee3\u8868\u8282\u70b9\u7684\u7f16\u53f7 + * @type {String} + */ + id : null, + /** + * \u5b50\u8282\u70b9\u662f\u5426\u5df2\u7ecf\u52a0\u8f7d\u8fc7 + * @type {Boolean} + */ + loaded : false, + /** + * \u4ece\u6839\u8282\u70b9\u5230\u6b64\u8282\u70b9\u7684\u8def\u5f84\uff0cid\u7684\u96c6\u5408\u5982\uff1a ['0','1','12'], + * \u4fbf\u4e8e\u5feb\u901f\u5b9a\u4f4d\u8282\u70b9 + * @type {Array} + */ + path : null, + /** + * \u7236\u8282\u70b9 + * @type {BUI.Data.Node} + */ + parent : null, + /** + * \u6811\u8282\u70b9\u7684\u7b49\u7ea7 + * @type {Number} + */ + level : 0, + /** + * \u8282\u70b9\u662f\u5426\u7531\u4e00\u6761\u8bb0\u5f55\u5c01\u88c5\u800c\u6210 + * @type {Object} + */ + record : null, + /** + * \u5b50\u8282\u70b9\u96c6\u5408 + * @type {BUI.Data.Node[]} + */ + children : null, + /** + * \u662f\u5426\u662fNode\u5bf9\u8c61 + * @type {Object} + */ + isNode : true + }); + return Node; +});/** + * @fileOverview \u6811\u5f62\u5bf9\u8c61\u7f13\u51b2\u7c7b + * @ignore + */ + +define('bui/data/treestore',['bui/common','bui/data/node','bui/data/abstractstore','bui/data/proxy'],function (require) { + + var BUI = require('bui/common'), + Node = require('bui/data/node'), + Proxy = require('bui/data/proxy'), + AbstractStore = require('bui/data/abstractstore'); + + /** + * @class BUI.Data.TreeStore + * \u6811\u5f62\u6570\u636e\u7f13\u51b2\u7c7b + *

          + * + *

          + *
          
          +   *   //\u52a0\u8f7d\u9759\u6001\u6570\u636e
          +   *   var store = new TreeStore({
          +   *     root : {
          +   *       text : '\u6839\u8282\u70b9',
          +   *       id : 'root'
          +   *     },
          +   *     data : [{id : '1',text : 1},{id : '2',text : 2}] //\u4f1a\u52a0\u8f7d\u6210root\u7684children
          +   *   });
          +   *   //\u5f02\u6b65\u52a0\u8f7d\u6570\u636e\uff0c\u81ea\u52a8\u52a0\u8f7d\u6570\u636e\u65f6\uff0c\u4f1a\u8c03\u7528store.load({id : 'root'}); //root\u4e3a\u6839\u8282\u70b9\u7684id
          +   *   var store = new TreeStore({
          +   *     root : {
          +   *       text : '\u6839\u8282\u70b9',
          +   *       id : 'root'
          +   *     },
          +   *     url : 'data/nodes.php',
          +   *     autoLoad : true  //\u8bbe\u7f6e\u81ea\u52a8\u52a0\u8f7d\uff0c\u521d\u59cb\u5316\u540e\u81ea\u52a8\u52a0\u8f7d\u6570\u636e
          +   *   });
          +   *
          +   *   //\u52a0\u8f7d\u6307\u5b9a\u8282\u70b9
          +   *   var node = store.findNode('1');
          +   *   store.loadNode(node);
          +   *   //\u6216\u8005
          +   *   store.load({id : '1'});//\u53ef\u4ee5\u914d\u7f6e\u81ea\u5b9a\u4e49\u53c2\u6570\uff0c\u8fd4\u56de\u503c\u9644\u52a0\u5230\u6307\u5b9aid\u7684\u8282\u70b9\u4e0a
          +   * 
          + * @extends BUI.Data.AbstractStore + */ + function TreeStore(config){ + TreeStore.superclass.constructor.call(this,config); + } + + TreeStore.ATTRS = { + /** + * \u6839\u8282\u70b9 + *
          
          +     *  var store = new TreeStore({
          +     *    root : {text : '\u6839\u8282\u70b9',id : 'rootId',children : [{id : '1',text : '1'}]}
          +     *  });
          +     * 
          + * @cfg {Object} root + */ + /** + * \u6839\u8282\u70b9,\u521d\u59cb\u5316\u540e\u4e0d\u8981\u66f4\u6539\u5bf9\u8c61\uff0c\u53ef\u4ee5\u66f4\u6539\u5c5e\u6027\u503c + *
          
          +     *  var root = store.get('root');
          +     *  root.text = '\u4fee\u6539\u7684\u6587\u672c'\uff1b
          +     *  store.update(root);
          +     * 
          + * @type {Object} + * @readOnly + */ + root : { + + }, + /** + * \u6570\u636e\u6620\u5c04\uff0c\u7528\u4e8e\u8bbe\u7f6e\u7684\u6570\u636e\u8ddf@see {BUI.Data.Node} \u4e0d\u4e00\u81f4\u65f6\uff0c\u8fdb\u884c\u5339\u914d\u3002 + * \u5982\u679c\u6b64\u5c5e\u6027\u4e3anull,\u90a3\u4e48\u5047\u8bbe\u8bbe\u7f6e\u7684\u5bf9\u8c61\u662fNode\u5bf9\u8c61 + *
          
          +     *   //\u4f8b\u5982\u539f\u59cb\u6570\u636e\u4e3a {name : '123',value : '\u6587\u672c123',isLeaf: false,nodes : []}
          +     *   var store = new TreeStore({
          +     *     map : {
          +     *       id : 'name',
          +     *       text : 'value',
          +     *       leaf : 'isLeaf',
          +     *       children : 'nodes'
          +     *     }
          +     *   });
          +     *   //\u6620\u5c04\u540e\uff0c\u8bb0\u5f55\u4f1a\u53d8\u6210  {id : '123',text : '\u6587\u672c123',leaf: false,children : []};
          +     *   //\u6b64\u65f6\u539f\u59cb\u8bb0\u5f55\u4f1a\u4f5c\u4e3a\u5bf9\u8c61\u7684 record\u5c5e\u6027
          +     *   var node = store.findNode('123'),
          +     *     record = node.record;
          +     * 
          + * **Notes:** + * \u4f7f\u7528\u6570\u636e\u6620\u5c04\u7684\u8bb0\u5f55\u4ec5\u505a\u4e8e\u5c55\u793a\u6570\u636e\uff0c\u4e0d\u4f5c\u4e3a\u53ef\u66f4\u6539\u7684\u6570\u636e\uff0cadd,update\u4e0d\u4f1a\u66f4\u6539\u6570\u636e\u7684\u539f\u59cb\u6570\u636e + * @cfg {Object} map + */ + map : { + + }, + /** + * \u8fd4\u56de\u6570\u636e\u6807\u793a\u6570\u636e\u7684\u5b57\u6bb5
          + * \u5f02\u6b65\u52a0\u8f7d\u6570\u636e\u65f6\uff0c\u8fd4\u56de\u6570\u636e\u53ef\u4ee5\u4f7f\u6570\u7ec4\u6216\u8005\u5bf9\u8c61 + * - \u5982\u679c\u8fd4\u56de\u7684\u662f\u5bf9\u8c61,\u53ef\u4ee5\u9644\u52a0\u5176\u4ed6\u4fe1\u606f,\u90a3\u4e48\u53d6\u5bf9\u8c61\u5bf9\u5e94\u7684\u5b57\u6bb5 {nodes : [],hasError:false} + * - \u5982\u4f55\u83b7\u53d6\u9644\u52a0\u4fe1\u606f\u53c2\u770b @see {BUI.Data.AbstractStore-event-beforeProcessLoad} + *
          
          +     *  //\u8fd4\u56de\u6570\u636e\u4e3a\u6570\u7ec4 [{},{}]\uff0c\u4f1a\u76f4\u63a5\u9644\u52a0\u5230\u52a0\u8f7d\u7684\u8282\u70b9\u540e\u9762
          +     *  
          +     *  var node = store.loadNode('123');
          +     *  store.loadNode(node);
          +     *  
          +     * 
          + * @cfg {Object} [dataProperty = 'nodes'] + */ + dataProperty : { + value : 'nodes' + }, + events : { + value : [ + /** + * \u5f53\u6dfb\u52a0\u6570\u636e\u65f6\u89e6\u53d1\u8be5\u4e8b\u4ef6 + * @event + *
          
          +        *  store.on('add',function(ev){
          +        *    list.addItem(e.node,index);
          +        *  });
          +        * 
          + * @param {jQuery.Event} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.node \u6dfb\u52a0\u7684\u8282\u70b9 + * @param {Number} index \u6dfb\u52a0\u7684\u4f4d\u7f6e + */ + 'add', + /** + * \u5f53\u66f4\u65b0\u6570\u636e\u6307\u5b9a\u5b57\u6bb5\u65f6\u89e6\u53d1\u8be5\u4e8b\u4ef6 + * @event + * @param {jQuery.Event} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.node \u66f4\u65b0\u7684\u8282\u70b9 + */ + 'update', + /** + * \u5f53\u5220\u9664\u6570\u636e\u65f6\u89e6\u53d1\u8be5\u4e8b\u4ef6 + * @event + * @param {jQuery.Event} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.node \u5220\u9664\u7684\u8282\u70b9 + * @param {Number} index \u5220\u9664\u8282\u70b9\u7684\u7d22\u5f15 + */ + 'remove', + /** + * \u8282\u70b9\u52a0\u8f7d\u5b8c\u6bd5\u89e6\u53d1\u8be5\u4e8b\u4ef6 + *
          
          +        *   //\u5f02\u6b65\u52a0\u8f7d\u8282\u70b9,\u6b64\u65f6\u8282\u70b9\u5df2\u7ecf\u9644\u52a0\u5230\u52a0\u8f7d\u8282\u70b9\u7684\u540e\u9762
          +        *   store.on('load',function(ev){
          +        *     var params = ev.params,
          +        *       id = params.id,
          +        *       node = store.findNode(id),
          +        *       children = node.children;  //\u8282\u70b9\u7684id
          +        *     //TO DO
          +        *   });
          +        * 
          + * + * @event + * @param {jQuery.Event} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.node \u52a0\u8f7d\u7684\u8282\u70b9 + * @param {Object} e.params \u52a0\u8f7d\u8282\u70b9\u65f6\u7684\u53c2\u6570 + */ + 'load' + ] + } + } + + BUI.extend(TreeStore,AbstractStore); + + BUI.augment(TreeStore,{ + /** + * @protected + * @override + * \u521d\u59cb\u5316\u524d + */ + beforeInit:function(){ + this.initRoot(); + }, + //\u521d\u59cb\u5316\u6570\u636e,\u5982\u679c\u9ed8\u8ba4\u52a0\u8f7d\u6570\u636e\uff0c\u5219\u52a0\u8f7d\u6570\u636e + _initData : function(){ + var _self = this, + autoLoad = _self.get('autoLoad'), + root = _self.get('root'); + + if(autoLoad && !root.children){ + params = root.id ? {id : root.id}: {}; + _self.load(params); + } + }, + /** + * @protected + * \u521d\u59cb\u5316\u6839\u8282\u70b9 + */ + initRoot : function(){ + var _self = this, + map = _self.get('map'), + root = _self.get('root'); + if(!root){ + root = {}; + } + if(!root.isNode){ + root = new Node(root,map); + //root.children= []; + } + root.path = [root.id]; + root.level = 0; + if(root.children){ + _self.setChildren(root,root.children); + } + _self.set('root',root); + }, + /** + * \u6dfb\u52a0\u8282\u70b9\uff0c\u89e6\u53d1{@link BUI.Data.TreeStore#event-add} \u4e8b\u4ef6 + *
          
          +     *  //\u6dfb\u52a0\u5230\u6839\u8282\u70b9\u4e0b
          +     *  store.add({id : '1',text : '1'});
          +     *  //\u6dfb\u52a0\u5230\u6307\u5b9a\u8282\u70b9
          +     *  var node = store.findNode('1'),
          +     *    subNode = store.add({id : '11',text : '11'},node);
          +     *  //\u63d2\u5165\u5230\u8282\u70b9\u7684\u6307\u5b9a\u4f4d\u7f6e
          +     *  var node = store.findNode('1'),
          +     *    subNode = store.add({id : '12',text : '12'},node,0);
          +     * 
          + * @param {BUI.Data.Node|Object} node \u8282\u70b9\u6216\u8005\u6570\u636e\u5bf9\u8c61 + * @param {BUI.Data.Node} [parent] \u7236\u8282\u70b9,\u5982\u679c\u672a\u6307\u5b9a\u5219\u4e3a\u6839\u8282\u70b9 + * @param {Number} [index] \u6dfb\u52a0\u8282\u70b9\u7684\u4f4d\u7f6e + * @return {BUI.Data.Node} \u6dfb\u52a0\u5b8c\u6210\u7684\u8282\u70b9 + */ + add : function(node,parent,index){ + var _self = this; + + node = _self._add(node,parent,index); + _self.fire('add',{node : node,index : index}); + return node; + }, + // + _add : function(node,parent,index){ + parent = parent || this.get('root'); //\u5982\u679c\u672a\u6307\u5b9a\u7236\u5143\u7d20\uff0c\u6dfb\u52a0\u5230\u8ddf\u8282\u70b9 + var _self = this, + map = _self.get('map'), + nodes = parent.children, + nodeChildren = node.children || []; + if(nodeChildren.length == 0 && node.leaf == null){ + node.leaf = true; + } + if(parent){ + parent.leaf = false; + } + if(!node.isNode){ + node = new Node(node,map); + } + node.parent = parent; + node.level = parent.level + 1; + node.path = parent.path.concat(node.id); + index = index == null ? parent.children.length : index; + BUI.Array.addAt(nodes,node,index); + + _self.setChildren(node,nodeChildren); + return node; + }, + /** + * \u79fb\u9664\u8282\u70b9\uff0c\u89e6\u53d1{@link BUI.Data.TreeStore#event-remove} \u4e8b\u4ef6 + * + *
          
          +     *  var node = store.findNode('1'); //\u6839\u636e\u8282\u70b9id \u83b7\u53d6\u8282\u70b9
          +     *  store.remove(node);
          +     * 
          + * + * @param {BUI.Data.Node} node \u8282\u70b9\u6216\u8005\u6570\u636e\u5bf9\u8c61 + * @return {BUI.Data.Node} \u5220\u9664\u7684\u8282\u70b9 + */ + remove : function(node){ + var parent = node.parent || _self.get('root'), + index = BUI.Array.indexOf(node,parent.children) ; + + BUI.Array.remove(parent.children,node); + if(parent.children.length === 0){ + parent.leaf = true; + } + this.fire('remove',{node : node , index : index}); + node.parent = null; + return node; + }, + /** + * \u66f4\u65b0\u8282\u70b9 + *
          
          +     *  var node = store.findNode('1'); //\u6839\u636e\u8282\u70b9id \u83b7\u53d6\u8282\u70b9
          +     *  node.text = 'modify text'; //\u4fee\u6539\u6587\u672c
          +     *  store.update(node);        //\u6b64\u65f6\u4f1a\u89e6\u53d1update\u4e8b\u4ef6\uff0c\u7ed1\u5b9a\u4e86store\u7684\u63a7\u4ef6\u4f1a\u66f4\u65b0\u5bf9\u5e94\u7684DOM
          +     * 
          + * @return {BUI.Data.Node} \u66f4\u65b0\u8282\u70b9 + */ + update : function(node){ + this.fire('update',{node : node}); + }, + /** + * \u8fd4\u56de\u7f13\u5b58\u7684\u6570\u636e\uff0c\u6839\u8282\u70b9\u7684\u76f4\u63a5\u5b50\u8282\u70b9\u96c6\u5408 + *
          
          +     *   //\u83b7\u53d6\u6839\u8282\u70b9\u7684\u6240\u6709\u5b50\u8282\u70b9
          +     *   var data = store.getResult();
          +     *   //\u83b7\u53d6\u6839\u8282\u70b9
          +     *   var root = store.get('root');
          +     * 
          + * @return {Array} \u6839\u8282\u70b9\u4e0b\u9762\u7684\u6570\u636e + */ + getResult : function(){ + return this.get('root').children; + }, + /** + * \u8bbe\u7f6e\u7f13\u5b58\u7684\u6570\u636e\uff0c\u8bbe\u7f6e\u4e3a\u6839\u8282\u70b9\u7684\u6570\u636e + *
          
          +    *     var data = [
          +    *       {id : '1',text : '\u6587\u672c1'},
          +    *       {id : '2',text : '\u6587\u672c2',children:[
          +    *         {id : '21',text : '\u6587\u672c21'}
          +    *       ]},
          +    *       {id : '3',text : '\u6587\u672c3'}
          +    *     ];
          +    *     store.setResult(data); //\u4f1a\u5bf9\u6570\u636e\u8fdb\u884c\u683c\u5f0f\u5316\uff0c\u6dfb\u52a0leaf\u7b49\u5b57\u6bb5\uff1a
          +    *                            //[{id : '1',text : '\u6587\u672c1',leaf : true},{id : '2',text : '\u6587\u672c2',leaf : false,children:[...]}....]
          +    *   
          + * @param {Array} data \u7f13\u5b58\u7684\u6570\u636e + */ + setResult : function(data){ + var _self = this, + proxy = _self.get('proxy'), + root = _self.get('root'); + if(proxy instanceof Proxy.Memery){ + _self.set('data',data); + _self.load({id : root.id}); + }else{ + _self.setChildren(root,data); + } + }, + /** + * \u8bbe\u7f6e\u5b50\u8282\u70b9 + * @protected + * @param {BUI.Data.Node} node \u8282\u70b9 + * @param {Array} children \u5b50\u8282\u70b9 + */ + setChildren : function(node,children){ + var _self = this; + node.children = []; + if(!children.length){ + return; + } + BUI.each(children,function(item){ + _self._add(item,node); + }); + }, + /** + * \u67e5\u627e\u8282\u70b9 + *
          
          +     *  var node = store.findNode('1');//\u4ece\u6839\u8282\u70b9\u5f00\u59cb\u67e5\u627e\u8282\u70b9
          +     *  
          +     *  var subNode = store.findNode('123',node); //\u4ece\u6307\u5b9a\u8282\u70b9\u5f00\u59cb\u67e5\u627e
          +     * 
          + * @param {String} id \u8282\u70b9Id + * @param {BUI.Data.Node} [parent] \u7236\u8282\u70b9 + * @param {Boolean} [deep = true] \u662f\u5426\u9012\u5f52\u67e5\u627e + * @return {BUI.Data.Node} \u8282\u70b9 + */ + findNode : function(id,parent,deep){ + var _self = this; + deep = deep == null ? true : deep; + if(!parent){ + var root = _self.get('root'); + if(root.id === id){ + return root; + } + return _self.findNode(id,root); + } + var children = parent.children, + rst = null; + BUI.each(children,function(item){ + if(item.id === id){ + rst = item; + }else if(deep){ + rst = _self.findNode(id,item); + } + if(rst){ + return false; + } + }); + return rst; + }, + /** + * \u67e5\u627e\u8282\u70b9,\u6839\u636e\u5339\u914d\u51fd\u6570\u67e5\u627e + *
          
          +     *  var nodes = store.findNodesBy(function(node){
          +     *   if(node.status == '0'){
          +     *     return true;
          +     *   }
          +     *   return false;
          +     *  });
          +     * 
          + * @param {Function} func \u5339\u914d\u51fd\u6570 + * @param {BUI.Data.Node} [parent] \u7236\u5143\u7d20\uff0c\u5982\u679c\u4e0d\u5b58\u5728\uff0c\u5219\u4ece\u6839\u8282\u70b9\u67e5\u627e + * @return {Array} \u8282\u70b9\u6570\u7ec4 + */ + findNodesBy : function(func,parent){ + var _self = this, + root, + rst = []; + + if(!parent){ + parent = _self.get('root'); + } + + BUI.each(parent.children,function(item){ + if(func(item)){ + rst.push(item); + } + rst = rst.concat(_self.findNodesBy(func,item)); + }); + + return rst; + }, + /** + * \u6839\u636epath\u67e5\u627e\u8282\u70b9 + * @return {BUI.Data.Node} \u8282\u70b9 + * @ignore + */ + findNodeByPath : function(path){ + if(!path){ + return null; + } + var _self = this, + root = _self.get('root'), + pathArr = path.split(','), + node, + i, + tempId = pathArr[0]; + if(!tempId){ + return null; + } + if(root.id == tempId){ + node = root; + }else{ + node = _self.findNode(tempId,root,false); + } + if(!node){ + return; + } + for(i = 1 ; i < pathArr.length ; i = i + 1){ + var tempId = pathArr[i]; + node = _self.findNode(tempId,node,false); + if(!node){ + break; + } + } + return node; + }, + /** + * \u662f\u5426\u5305\u542b\u6307\u5b9a\u8282\u70b9\uff0c\u5982\u679c\u672a\u6307\u5b9a\u7236\u8282\u70b9\uff0c\u4ece\u6839\u8282\u70b9\u5f00\u59cb\u641c\u7d22 + *
          
          +     *  store.contains(node); //\u662f\u5426\u5b58\u5728\u8282\u70b9
          +     *
          +     *  store.contains(subNode,node); //\u8282\u70b9\u662f\u5426\u5b58\u5728\u6307\u5b9a\u5b50\u8282\u70b9
          +     * 
          + * @param {BUI.Data.Node} node \u8282\u70b9 + * @param {BUI.Data.Node} parent \u7236\u8282\u70b9 + * @return {Boolean} \u662f\u5426\u5305\u542b\u6307\u5b9a\u8282\u70b9 + */ + contains : function(node,parent){ + var _self = this, + findNode = _self.findNode(node.id,parent); + return !!findNode; + }, + /** + * \u52a0\u8f7d\u5b8c\u6570\u636e + * @protected + * @override + */ + afterProcessLoad : function(data,params){ + var _self = this, + id = params.id, + dataProperty = _self.get('dataProperty'), + node = _self.findNode(id) || _self.get('root');//\u5982\u679c\u627e\u4e0d\u5230\u7236\u5143\u7d20\uff0c\u5219\u653e\u7f6e\u5728\u8ddf\u8282\u70b9 + + if(BUI.isArray(data)){ + _self.setChildren(node,data); + }else{ + _self.setChildren(node,data[dataProperty]); + } + _self.fire('load',{node : node,params : params}); + }, + /** + * \u662f\u5426\u5305\u542b\u6570\u636e + * @return {Boolean} + */ + hasData : function(){ + return true; + //return this.get('root').children && this.get('root').children.length !== 0; + }, + /** + * \u662f\u5426\u5df2\u7ecf\u52a0\u8f7d\u8fc7\uff0c\u53f6\u5b50\u8282\u70b9\u6216\u8005\u5b58\u5728\u5b57\u8282\u70b9\u7684\u8282\u70b9 + * @param {BUI.Data.Node} node \u8282\u70b9 + * @return {Boolean} \u662f\u5426\u52a0\u8f7d\u8fc7 + */ + isLoaded : function(node){ + if(!this.get('url')){ //\u5982\u679c\u4e0d\u4ece\u8fdc\u7a0b\u52a0\u8f7d\u6570\u636e,\u9ed8\u8ba4\u5df2\u7ecf\u52a0\u8f7d + return true; + } + return node.leaf || (node.children && node.children.length); + }, + /** + * \u52a0\u8f7d\u8282\u70b9\u7684\u5b50\u8282\u70b9 + * @param {BUI.Data.Node} node \u8282\u70b9 + */ + loadNode : function(node){ + var _self = this; + //\u5982\u679c\u5df2\u7ecf\u52a0\u8f7d\u8fc7\uff0c\u6216\u8005\u8282\u70b9\u662f\u53f6\u5b50\u8282\u70b9 + if(_self.isLoaded(node)){ + return ; + } + if(!_self.get('url')){ //\u5982\u679c\u4e0d\u4ece\u8fdc\u7a0b\u52a0\u8f7d\u6570\u636e\uff0c\u4e0d\u662f\u6839\u8282\u70b9\u7684\u8bdd\uff0c\u53d6\u6d88\u52a0\u8f7d + return; + }else{ + _self.load({id:node.id,path : ''}); + } + + }, + /** + * \u52a0\u8f7d\u8282\u70b9\uff0c\u6839\u636epath + * @param {String} path \u52a0\u8f7d\u8def\u5f84 + * @ignore + */ + loadPath : function(path){ + var _self = this, + arr = path.split(','), + id = arr[0]; + if(_self.findNodeByPath(path)){ //\u52a0\u8f7d\u8fc7 + return; + } + _self.load({id : id,path : path}); + } + }); + + return TreeStore; + +});/** + * @fileOverview \u6570\u636e\u7f13\u51b2\u5bf9\u8c61 + * @author dxq613@gmail.com + * @ignore + */ + +define('bui/data/store',['bui/data/proxy','bui/data/abstractstore','bui/data/sortable'],function(require) { + + var Proxy = require('bui/data/proxy'), + AbstractStore = require('bui/data/abstractstore'), + Sortable = require('bui/data/sortable'); + + //\u79fb\u9664\u6570\u636e + function removeAt(index,array){ + if(index < 0){ + return; + } + var records = array, + record = records[index]; + records.splice(index,1); + return record; + } + + function removeFrom(record,array){ + var index = BUI.Array.indexOf(record,array); + if(index >= 0){ + removeAt(index,array); + } + } + + function contains(record,array){ + return BUI.Array.indexOf(record,array) !== -1; + } + /** + * \u7528\u4e8e\u52a0\u8f7d\u6570\u636e\uff0c\u7f13\u51b2\u6570\u636e\u7684\u7c7b + *

          + * + *

          + * ** \u7f13\u5b58\u9759\u6001\u6570\u636e ** + *
          
          +   *  var store = new Store({
          +   *    data : [{},{}]
          +   *  });
          +   * 
          + * ** \u5f02\u6b65\u52a0\u8f7d\u6570\u636e ** + *
          
          +   *  var store = new Store({
          +   *    url : 'data.json',
          +   *    autoLoad : true,
          +   *    params : {id : '123'},
          +   *    sortInfo : {
          +   *      field : 'id',
          +   *      direction : 'ASC' //ASC,DESC
          +   *    }
          +   *  });
          +   * 
          + * + * @class BUI.Data.Store + * @extends BUI.Data.AbstractStore + * @mixins BUI.Data.Sortable + */ + var store = function(config){ + store.superclass.constructor.call(this,config); + //this._init(); + }; + + store.ATTRS = + /** + * @lends BUI.Data.Store# + * @ignore + */ + { + /** + * \u5f53\u524d\u9875\u7801 + * @cfg {Number} [currentPage=0] + * @ignore + */ + /** + * \u5f53\u524d\u9875\u7801 + * @type {Number} + * @ignore + * @readOnly + */ + currentPage:{ + value : 0 + }, + + /** + * \u5220\u9664\u6389\u7684\u7eaa\u5f55 + * @readOnly + * @private + * @type {Array} + */ + deletedRecords : { + value:[] + }, + /** + * \u9519\u8bef\u5b57\u6bb5,\u5305\u542b\u5728\u8fd4\u56de\u4fe1\u606f\u4e2d\u8868\u793a\u9519\u8bef\u4fe1\u606f\u7684\u5b57\u6bb5 + *
          
          +     *   //\u53ef\u4ee5\u4fee\u6539\u63a5\u6536\u7684\u540e\u53f0\u53c2\u6570\u7684\u542b\u4e49
          +     *   var store = new Store({
          +     *     url : 'data.json',
          +     *     errorProperty : 'errorMsg', //\u5b58\u653e\u9519\u8bef\u4fe1\u606f\u7684\u5b57\u6bb5(error)
          +     *     hasErrorProperty : 'isError', //\u662f\u5426\u9519\u8bef\u7684\u5b57\u6bb5\uff08hasError)
          +     *     root : 'data',               //\u5b58\u653e\u6570\u636e\u7684\u5b57\u6bb5\u540d(rows)
          +     *     totalProperty : 'total'     //\u5b58\u653e\u8bb0\u5f55\u603b\u6570\u7684\u5b57\u6bb5\u540d(results)
          +     *   });
          +     * 
          + * @cfg {String} [errorProperty='error'] + */ + /** + * \u9519\u8bef\u5b57\u6bb5 + * @type {String} + * @ignore + */ + errorProperty : { + value : 'error' + }, + /** + * \u662f\u5426\u5b58\u5728\u9519\u8bef,\u52a0\u8f7d\u6570\u636e\u65f6\u5982\u679c\u8fd4\u56de\u9519\u8bef\uff0c\u6b64\u5b57\u6bb5\u8868\u793a\u6709\u9519\u8bef\u53d1\u751f + *
          
          +     *   //\u53ef\u4ee5\u4fee\u6539\u63a5\u6536\u7684\u540e\u53f0\u53c2\u6570\u7684\u542b\u4e49
          +     *   var store = new Store({
          +     *     url : 'data.json',
          +     *     errorProperty : 'errorMsg', //\u5b58\u653e\u9519\u8bef\u4fe1\u606f\u7684\u5b57\u6bb5(error)
          +     *     hasErrorProperty : 'isError', //\u662f\u5426\u9519\u8bef\u7684\u5b57\u6bb5\uff08hasError)
          +     *     root : 'data',               //\u5b58\u653e\u6570\u636e\u7684\u5b57\u6bb5\u540d(rows)
          +     *     totalProperty : 'total'     //\u5b58\u653e\u8bb0\u5f55\u603b\u6570\u7684\u5b57\u6bb5\u540d(results)
          +     *   });
          +     * 
          + * @cfg {String} [hasErrorProperty='hasError'] + */ + /** + * \u662f\u5426\u5b58\u5728\u9519\u8bef + * @type {String} + * @default 'hasError' + * @ignore + */ + hasErrorProperty : { + value : 'hasError' + }, + + /** + * \u5bf9\u6bd42\u4e2a\u5bf9\u8c61\u662f\u5426\u76f8\u5f53\uff0c\u5728\u53bb\u91cd\u3001\u66f4\u65b0\u3001\u5220\u9664\uff0c\u67e5\u627e\u6570\u636e\u65f6\u4f7f\u7528\u6b64\u51fd\u6570 + * @default + * function(obj1,obj2){ + * return obj1 == obj2; + * } + * @type {Object} + * @example + * function(obj1 ,obj2){ + * //\u5982\u679cid\u76f8\u7b49\uff0c\u5c31\u8ba4\u4e3a2\u4e2a\u6570\u636e\u76f8\u7b49\uff0c\u53ef\u4ee5\u5728\u6dfb\u52a0\u5bf9\u8c61\u65f6\u53bb\u91cd + * //\u66f4\u65b0\u5bf9\u8c61\u65f6\uff0c\u4ec5\u63d0\u4f9b\u6539\u53d8\u7684\u5b57\u6bb5 + * return obj1.id == obj2.id; + * } + * + */ + matchFunction : { + value : function(obj1,obj2){ + return obj1 == obj2; + } + }, + /** + * \u66f4\u6539\u7684\u7eaa\u5f55\u96c6\u5408 + * @type {Array} + * @private + * @readOnly + */ + modifiedRecords : { + value:[] + }, + /** + * \u65b0\u6dfb\u52a0\u7684\u7eaa\u5f55\u96c6\u5408\uff0c\u53ea\u8bfb + * @type {Array} + * @private + * @readOnly + */ + newRecords : { + value : [] + }, + /** + * \u662f\u5426\u8fdc\u7a0b\u6392\u5e8f\uff0c\u9ed8\u8ba4\u72b6\u6001\u4e0b\u5185\u5b58\u6392\u5e8f + * - \u7531\u4e8e\u5f53\u524dStore\u5b58\u50a8\u7684\u4e0d\u4e00\u5b9a\u662f\u6570\u636e\u6e90\u7684\u5168\u96c6\uff0c\u6240\u4ee5\u6b64\u914d\u7f6e\u9879\u9700\u8981\u91cd\u65b0\u8bfb\u53d6\u6570\u636e + * - \u5728\u5206\u9875\u72b6\u6001\u4e0b\uff0c\u8fdb\u884c\u8fdc\u7a0b\u6392\u5e8f\uff0c\u4f1a\u8fdb\u884c\u5168\u96c6\u6570\u636e\u7684\u6392\u5e8f\uff0c\u5e76\u8fd4\u56de\u9996\u9875\u7684\u6570\u636e + * - remoteSort\u4e3a false\u7684\u60c5\u51b5\u4e0b\uff0c\u4ec5\u5bf9\u5f53\u524d\u9875\u7684\u6570\u636e\u8fdb\u884c\u6392\u5e8f + * @cfg {Boolean} [remoteSort=false] + */ + remoteSort : { + value : false + }, + /** + * \u7f13\u5b58\u7684\u6570\u636e\uff0c\u5305\u542b\u4ee5\u4e0b\u51e0\u4e2a\u5b57\u6bb5 + *
            + *
          1. rows: \u6570\u636e\u96c6\u5408
          2. + *
          3. results: \u603b\u7684\u6570\u636e\u6761\u6570
          4. + *
          + * @type {Object} + * @private + * @readOnly + */ + resultMap : { + value : {} + }, + /** + * \u52a0\u8f7d\u6570\u636e\u65f6\uff0c\u8fd4\u56de\u6570\u636e\u7684\u6839\u76ee\u5f55 + * @cfg {String} [root='rows'] + *
          
          +     *    //\u9ed8\u8ba4\u8fd4\u56de\u6570\u636e\u7c7b\u578b\uff1a
          +     *    '{"rows":[{"name":"abc"},{"name":"bcd"}],"results":100}'
          +     *   //\u53ef\u4ee5\u4fee\u6539\u63a5\u6536\u7684\u540e\u53f0\u53c2\u6570\u7684\u542b\u4e49
          +     *   var store = new Store({
          +     *     url : 'data.json',
          +     *     errorProperty : 'errorMsg', //\u5b58\u653e\u9519\u8bef\u4fe1\u606f\u7684\u5b57\u6bb5(error)
          +     *     hasErrorProperty : 'isError', //\u662f\u5426\u9519\u8bef\u7684\u5b57\u6bb5\uff08hasError)
          +     *     root : 'data',               //\u5b58\u653e\u6570\u636e\u7684\u5b57\u6bb5\u540d(rows)
          +     *     totalProperty : 'total'     //\u5b58\u653e\u8bb0\u5f55\u603b\u6570\u7684\u5b57\u6bb5\u540d(results)
          +     *   });
          +     * 
          + * + */ + root: { value : 'rows'}, + + /** + * \u5f53\u524dStore\u7f13\u5b58\u7684\u6570\u636e\u6761\u6570 + * @type {Number} + * @private + * @readOnly + */ + rowCount :{ + value : 0 + }, + /** + * \u52a0\u8f7d\u6570\u636e\u65f6\uff0c\u8fd4\u56de\u8bb0\u5f55\u7684\u603b\u6570\u7684\u5b57\u6bb5\uff0c\u7528\u4e8e\u5206\u9875 + * @cfg {String} [totalProperty='results'] + *
          
          +     *    //\u9ed8\u8ba4\u8fd4\u56de\u6570\u636e\u7c7b\u578b\uff1a
          +     *    '{"rows":[{"name":"abc"},{"name":"bcd"}],"results":100}'
          +     *   //\u53ef\u4ee5\u4fee\u6539\u63a5\u6536\u7684\u540e\u53f0\u53c2\u6570\u7684\u542b\u4e49
          +     *   var store = new Store({
          +     *     url : 'data.json',
          +     *     errorProperty : 'errorMsg', //\u5b58\u653e\u9519\u8bef\u4fe1\u606f\u7684\u5b57\u6bb5(error)
          +     *     hasErrorProperty : 'isError', //\u662f\u5426\u9519\u8bef\u7684\u5b57\u6bb5\uff08hasError)
          +     *     root : 'data',               //\u5b58\u653e\u6570\u636e\u7684\u5b57\u6bb5\u540d(rows)
          +     *     totalProperty : 'total'     //\u5b58\u653e\u8bb0\u5f55\u603b\u6570\u7684\u5b57\u6bb5\u540d(results)
          +     *   });
          +     * 
          + */ + totalProperty: {value :'results'}, + + /** + * \u52a0\u8f7d\u6570\u636e\u7684\u8d77\u59cb\u4f4d\u7f6e + *
          
          +     *  //\u521d\u59cb\u5316\u65f6\uff0c\u53ef\u4ee5\u5728params\u4e2d\u914d\u7f6e
          +     *  var store = new Store({
          +     *    url : 'data.json',
          +     *    params : {
          +     *      start : 100
          +     *    }
          +     *  });
          +     * 
          + * @type {Object} + */ + start:{ + value : 0 + }, + /** + * \u6bcf\u9875\u591a\u5c11\u6761\u8bb0\u5f55,\u9ed8\u8ba4\u4e3anull,\u6b64\u65f6\u4e0d\u5206\u9875\uff0c\u5f53\u6307\u5b9a\u4e86\u6b64\u503c\u65f6\u5206\u9875 + *
          
          +     *  //\u5f53\u8bf7\u6c42\u7684\u6570\u636e\u5206\u9875\u65f6
          +     *  var store = new Store({
          +     *    url : 'data.json',
          +     *    pageSize : 30
          +     *  });
          +     * 
          + * @cfg {Number} pageSize + */ + pageSize : { + + } + }; + BUI.extend(store,AbstractStore); + + BUI.mixin(store,[Sortable]); + + BUI.augment(store, + /** + * @lends BUI.Data.Store.prototype + * @ignore + */ + { + /** + * \u6dfb\u52a0\u8bb0\u5f55,\u9ed8\u8ba4\u6dfb\u52a0\u5728\u540e\u9762 + *
          
          +    *  //\u6dfb\u52a0\u8bb0\u5f55
          +    *  store.add({id : '2',text: 'new data'});
          +    *  //\u662f\u5426\u53bb\u91cd\uff0c\u91cd\u590d\u6570\u636e\u4e0d\u80fd\u6dfb\u52a0
          +    *  store.add(obj,true); //\u4e0d\u80fd\u6dfb\u52a0\u91cd\u590d\u6570\u636e\uff0c\u6b64\u65f6\u7528obj1 === obj2\u5224\u65ad
          +    *  //\u4f7f\u7528\u5339\u914d\u51fd\u53bb\u91cd
          +    *  store.add(obj,true,function(obj1,obj2){
          +    *    return obj1.id == obj2.id;
          +    *  });
          +    *  
          +    * 
          + * @param {Array|Object} data \u6dfb\u52a0\u7684\u6570\u636e\uff0c\u53ef\u4ee5\u662f\u6570\u7ec4\uff0c\u53ef\u4ee5\u662f\u5355\u6761\u8bb0\u5f55 + * @param {Boolean} [noRepeat = false] \u662f\u5426\u53bb\u91cd,\u53ef\u4ee5\u4e3a\u7a7a\uff0c\u9ed8\u8ba4\uff1a false + * @param {Function} [match] \u5339\u914d\u51fd\u6570\uff0c\u53ef\u4ee5\u4e3a\u7a7a\uff0c + * @default \u914d\u7f6e\u9879\u4e2d matchFunction \u5c5e\u6027\u4f20\u5165\u7684\u51fd\u6570\uff0c\u9ed8\u8ba4\u662f\uff1a
          + * function(obj1,obj2){ + * return obj1 == obj2; + * } + * + */ + add :function(data,noRepeat,match){ + var _self = this, + count = _self.getCount(); + _self.addAt(data,count,noRepeat,match) + }, + /** + * \u6dfb\u52a0\u8bb0\u5f55,\u6307\u5b9a\u7d22\u5f15\u503c + *
          
          +    *  //\u4f7f\u7528\u65b9\u5f0f\u8ddf\u7c7b\u4f3c\u4e8eadd,\u589e\u52a0\u4e86index\u53c2\u6570
          +    *  store.add(obj,0);//\u6dfb\u52a0\u5728\u6700\u524d\u9762
          +    * 
          + * @param {Array|Object} data \u6dfb\u52a0\u7684\u6570\u636e\uff0c\u53ef\u4ee5\u662f\u6570\u7ec4\uff0c\u53ef\u4ee5\u662f\u5355\u6761\u8bb0\u5f55 + * @param {Number} index \u5f00\u59cb\u6dfb\u52a0\u6570\u636e\u7684\u4f4d\u7f6e + * @param {Boolean} [noRepeat = false] \u662f\u5426\u53bb\u91cd,\u53ef\u4ee5\u4e3a\u7a7a\uff0c\u9ed8\u8ba4\uff1a false + * @param {Function} [match] \u5339\u914d\u51fd\u6570\uff0c\u53ef\u4ee5\u4e3a\u7a7a\uff0c + */ + addAt : function(data,index,noRepeat,match){ + var _self = this; + + match = match || _self._getDefaultMatch(); + if(!BUI.isArray(data)){ + data = [data]; + } + + $.each(data,function(pos,element){ + if(!noRepeat || !_self.contains(element,match)){ + _self._addRecord(element,pos + index); + + _self.get('newRecords').push(element); + + removeFrom(element,_self.get('deletedRecords')); + removeFrom(element,_self.get('modifiedRecords')); + } + }); + }, + /** + * \u9a8c\u8bc1\u662f\u5426\u5b58\u5728\u6307\u5b9a\u8bb0\u5f55 + *
          
          +    *  store.contains(obj); //\u662f\u5426\u5305\u542b\u6307\u5b9a\u7684\u8bb0\u5f55
          +    *
          +    *  store.contains(obj,function(obj1,obj2){ //\u4f7f\u7528\u5339\u914d\u51fd\u6570
          +    *    return obj1.id == obj2.id;
          +    *  });
          +    * 
          + * @param {Object} record \u6307\u5b9a\u7684\u8bb0\u5f55 + * @param {Function} [match = function(obj1,obj2){return obj1 == obj2}] \u9ed8\u8ba4\u4e3a\u6bd4\u8f832\u4e2a\u5bf9\u8c61\u662f\u5426\u76f8\u540c + * @return {Boolean} + */ + contains :function(record,match){ + return this.findIndexBy(record,match)!==-1; + }, + /** + * \u67e5\u627e\u8bb0\u5f55\uff0c\u4ec5\u8fd4\u56de\u7b2c\u4e00\u6761 + *
          
          +    *  var record = store.find('id','123');
          +    * 
          + * @param {String} field \u5b57\u6bb5\u540d + * @param {String} value \u5b57\u6bb5\u503c + * @return {Object|null} + */ + find : function(field,value){ + var _self = this, + result = null, + records = _self.getResult(); + $.each(records,function(index,record){ + if(record[field] === value){ + result = record; + return false; + } + }); + return result; + }, + /** + * \u67e5\u627e\u8bb0\u5f55\uff0c\u8fd4\u56de\u6240\u6709\u7b26\u5408\u67e5\u8be2\u6761\u4ef6\u7684\u8bb0\u5f55 + *
          
          +    *   var records = store.findAll('type','0');
          +    * 
          + * @param {String} field \u5b57\u6bb5\u540d + * @param {String} value \u5b57\u6bb5\u503c + * @return {Array} + */ + findAll : function(field,value){ + var _self = this, + result = [], + records = _self.getResult(); + $.each(records,function(index,record){ + if(record[field] === value){ + result.push(record); + } + }); + return result; + }, + /** + * \u6839\u636e\u7d22\u5f15\u67e5\u627e\u8bb0\u5f55 + *
          
          +    *  var record = store.findByIndex(1);
          +    * 
          + * @param {Number} index \u7d22\u5f15 + * @return {Object} \u67e5\u627e\u7684\u8bb0\u5f55 + */ + findByIndex : function(index){ + return this.getResult()[index]; + }, + /** + * \u67e5\u627e\u6570\u636e\u6240\u5728\u7684\u7d22\u5f15\u4f4d\u7f6e,\u82e5\u4e0d\u5b58\u5728\u8fd4\u56de-1 + *
          
          +    *  var index = store.findIndexBy(obj);
          +    *
          +    *  var index = store.findIndexBy(obj,function(obj1,obj2){
          +    *    return obj1.id == obj2.id;
          +    *  });
          +    * 
          + * @param {Object} target \u6307\u5b9a\u7684\u8bb0\u5f55 + * @param {Function} [match = matchFunction] @see {BUI.Data.Store#matchFunction}\u9ed8\u8ba4\u4e3a\u6bd4\u8f832\u4e2a\u5bf9\u8c61\u662f\u5426\u76f8\u540c + * @return {Number} + */ + findIndexBy :function(target,match){ + var _self = this, + position = -1, + records = _self.getResult(); + match = match || _self._getDefaultMatch(); + if(target === null || target === undefined){ + return -1; + } + $.each(records,function(index,record){ + if(match(target,record)){ + position = index; + return false; + } + }); + return position; + }, + /** + * \u83b7\u53d6\u4e0b\u4e00\u6761\u8bb0\u5f55 + *
          
          +    *  var record = store.findNextRecord(obj);
          +    * 
          + * @param {Object} record \u5f53\u524d\u8bb0\u5f55 + * @return {Object} \u4e0b\u4e00\u6761\u8bb0\u5f55 + */ + findNextRecord : function(record){ + var _self = this, + index = _self.findIndexBy(record); + if(index >= 0){ + return _self.findByIndex(index + 1); + } + return; + }, + /** + * \u83b7\u53d6\u7f13\u5b58\u7684\u8bb0\u5f55\u6570 + *
          
          +     *  var count = store.getCount(); //\u7f13\u5b58\u7684\u6570\u636e\u6570\u91cf
          +     *
          +     *  var totalCount = store.getTotalCount(); //\u6570\u636e\u7684\u603b\u6570\uff0c\u5982\u679c\u6709\u5206\u9875\u65f6\uff0ctotalCount != count
          +     * 
          + * @return {Number} \u8bb0\u5f55\u6570 + */ + getCount : function(){ + return this.getResult().length; + }, + /** + * \u83b7\u53d6\u6570\u636e\u6e90\u7684\u6570\u636e\u603b\u6570\uff0c\u5206\u9875\u65f6\uff0c\u5f53\u524d\u4ec5\u7f13\u5b58\u5f53\u524d\u9875\u6570\u636e + *
          
          +     *  var count = store.getCount(); //\u7f13\u5b58\u7684\u6570\u636e\u6570\u91cf
          +     *
          +     *  var totalCount = store.getTotalCount(); //\u6570\u636e\u7684\u603b\u6570\uff0c\u5982\u679c\u6709\u5206\u9875\u65f6\uff0ctotalCount != count
          +     * 
          + * @return {Number} \u8bb0\u5f55\u7684\u603b\u6570 + */ + getTotalCount : function(){ + var _self = this, + resultMap = _self.get('resultMap'), + total = _self.get('totalProperty'); + return resultMap[total] || 0; + }, + /** + * \u83b7\u53d6\u5f53\u524d\u7f13\u5b58\u7684\u7eaa\u5f55 + *
          
          +     *   var records = store.getResult();
          +     * 
          + * @return {Array} \u7eaa\u5f55\u96c6\u5408 + */ + getResult : function(){ + var _self = this, + resultMap = _self.get('resultMap'), + root = _self.get('root'); + return resultMap[root]; + }, + /** + * \u662f\u5426\u5305\u542b\u6570\u636e + * @return {Boolean} + */ + hasData : function(){ + return this.getCount() !== 0; + }, + /** + * \u8bbe\u7f6e\u6570\u636e\u6e90,\u975e\u5f02\u6b65\u52a0\u8f7d\u65f6\uff0c\u8bbe\u7f6e\u7f13\u5b58\u7684\u6570\u636e + *
          
          +     *   store.setResult([]); //\u6e05\u7a7a\u6570\u636e
          +     *
          +     *   var data = [{},{}];
          +     *   store.setResult(data); //\u91cd\u8bbe\u6570\u636e
          +     * 
          + */ + setResult : function(data){ + var _self = this, + proxy = _self.get('proxy'); + if(proxy instanceof Proxy.Memery){ + _self.set('data',data); + _self.load({start:0}); + }else{ + _self._setResult(data); + } + }, + + /** + * \u5220\u9664\u4e00\u6761\u6216\u591a\u6761\u8bb0\u5f55\u89e6\u53d1 remove \u4e8b\u4ef6. + *
          
          +    *  store.remove(obj);  //\u5220\u9664\u4e00\u6761\u8bb0\u5f55
          +    *
          +    *  store.remove([obj1,obj2...]); //\u5220\u9664\u591a\u4e2a\u6761\u8bb0\u5f55
          +    *
          +    *  store.remvoe(obj,funciton(obj1,obj2){ //\u4f7f\u7528\u5339\u914d\u51fd\u6570
          +    *    return obj1.id == obj2.id;
          +    *  });
          +    * 
          + * @param {Array|Object} data \u6dfb\u52a0\u7684\u6570\u636e\uff0c\u53ef\u4ee5\u662f\u6570\u7ec4\uff0c\u53ef\u4ee5\u662f\u5355\u6761\u8bb0\u5f55 + * @param {Function} [match = function(obj1,obj2){return obj1 == obj2}] \u5339\u914d\u51fd\u6570\uff0c\u53ef\u4ee5\u4e3a\u7a7a + */ + remove :function(data,match){ + var _self =this, + delData=[]; + match = match || _self._getDefaultMatch(); + if(!BUI.isArray(data)){ + data = [data]; + } + $.each(data,function(index,element){ + var index = _self.findIndexBy(element,match), + record = removeAt(index,_self.getResult()); + //\u6dfb\u52a0\u5230\u5df2\u5220\u9664\u961f\u5217\u4e2d,\u5982\u679c\u662f\u65b0\u6dfb\u52a0\u7684\u6570\u636e\uff0c\u4e0d\u8ba1\u5165\u5220\u9664\u7684\u6570\u636e\u96c6\u5408\u4e2d + if(!contains(record,_self.get('newRecords')) && !contains(record,_self.get('deletedRecords'))){ + _self.get('deletedRecords').push(record); + } + removeFrom(record,_self.get('newRecords')); + removeFrom(record,_self.get('modifiedRecords')); + _self.fire('remove',{record:record}); + }); + }, + /** + * \u6392\u5e8f\uff0c\u5982\u679cremoteSort = true,\u53d1\u9001\u8bf7\u6c42\uff0c\u540e\u7aef\u6392\u5e8f + *
          
          +     *   store.sort('id','DESC'); //\u4ee5id\u4e3a\u6392\u5e8f\u5b57\u6bb5\uff0c\u5012\u5e8f\u6392\u5e8f
          +     * 
          + * @param {String} field \u6392\u5e8f\u5b57\u6bb5 + * @param {String} direction \u6392\u5e8f\u65b9\u5411 + */ + sort : function(field,direction){ + var _self = this, + remoteSort = _self.get('remoteSort'); + + if(!remoteSort){ + _self._localSort(field,direction); + }else{ + _self.set('sortField',field); + _self.set('sortDirection',direction); + _self.load(_self.get('sortInfo')); + } + }, + /** + * \u8ba1\u7b97\u6307\u5b9a\u5b57\u6bb5\u7684\u548c + *
          
          +     *   var sum = store.sum('number');
          +     * 
          + * @param {String} field \u5b57\u6bb5\u540d + * @param {Array} [data] \u8ba1\u7b97\u7684\u96c6\u5408\uff0c\u9ed8\u8ba4\u4e3aStore\u4e2d\u7684\u6570\u636e\u96c6\u5408 + * @return {Number} \u6c47\u603b\u548c + */ + sum : function(field,data){ + var _self = this, + records = data || _self.getResult(), + sum = 0; + BUI.each(records,function(record){ + var val = record[field]; + if(!isNaN(val)){ + sum += parseFloat(val); + } + }); + return sum; + }, + /** + * \u8bbe\u7f6e\u8bb0\u5f55\u7684\u503c \uff0c\u89e6\u53d1 update \u4e8b\u4ef6 + *
          
          +    *  store.setValue(obj,'value','new value');
          +    * 
          + * @param {Object} obj \u4fee\u6539\u7684\u8bb0\u5f55 + * @param {String} field \u4fee\u6539\u7684\u5b57\u6bb5\u540d + * @param {Object} value \u4fee\u6539\u7684\u503c + */ + setValue : function(obj,field,value){ + var record = obj, + _self = this; + + record[field]=value; + if(!contains(record,_self.get('newRecords')) && !contains(record,_self.get('modifiedRecords'))){ + _self.get('modifiedRecords').push(record); + } + _self.fire('update',{record:record,field:field,value:value}); + }, + /** + * \u66f4\u65b0\u8bb0\u5f55 \uff0c\u89e6\u53d1 update\u4e8b\u4ef6 + *
          
          +    *   var record = store.find('id','12');
          +    *   record.value = 'new value';
          +    *   record.text = 'new text';
          +    *   store.update(record); //\u89e6\u53d1update\u4e8b\u4ef6\uff0c\u5f15\u8d77\u7ed1\u5b9a\u4e86store\u7684\u63a7\u4ef6\u66f4\u65b0
          +    * 
          + * @param {Object} obj \u4fee\u6539\u7684\u8bb0\u5f55 + * @param {Boolean} [isMatch = false] \u662f\u5426\u9700\u8981\u8fdb\u884c\u5339\u914d\uff0c\u68c0\u6d4b\u6307\u5b9a\u7684\u8bb0\u5f55\u662f\u5426\u5728\u96c6\u5408\u4e2d + */ + update : function(obj,isMatch){ + var record = obj, + _self = this, + match = null, + index = null; + if(isMatch){ + match = _self._getDefaultMatch(); + index = _self.findIndexBy(obj,match); + if(index >=0){ + record = _self.getResult()[index]; + } + } + record = BUI.mix(record,obj); + if(!contains(record,_self.get('newRecords')) && !contains(record,_self.get('modifiedRecords'))){ + _self.get('modifiedRecords').push(record); + } + _self.fire('update',{record:record}); + }, + //\u6dfb\u52a0\u7eaa\u5f55 + _addRecord :function(record,index){ + var records = this.getResult(); + if(index == undefined){ + index = records.length; + } + records.splice(index,0,record); + this.fire('add',{record:record,index:index}); + }, + //\u6e05\u9664\u6539\u53d8\u7684\u6570\u636e\u8bb0\u5f55 + _clearChanges : function(){ + var _self = this; + _self.get('newRecords').splice(0); + _self.get('modifiedRecords').splice(0); + _self.get('deletedRecords').splice(0); + }, + //\u83b7\u53d6\u9ed8\u8ba4\u7684\u5339\u914d\u51fd\u6570 + _getDefaultMatch :function(){ + + return this.get('matchFunction'); + }, + + //\u83b7\u53d6\u5206\u9875\u76f8\u5173\u7684\u4fe1\u606f + _getPageParams : function(){ + var _self = this, + sortInfo = _self.get('sortInfo'), + start = _self.get('start'), + limit = _self.get('pageSize'), + pageIndex = _self.get('pageIndex') || (limit ? start/limit : 0); + + params = { + start : start, + limit : limit, + pageIndex : pageIndex //\u4e00\u822c\u800c\u8a00\uff0cpageIndex = start/limit + }; + + if(_self.get('remoteSort')){ + BUI.mix(params,sortInfo); + } + + return params; + }, + /** + * \u83b7\u53d6\u9644\u52a0\u7684\u53c2\u6570,\u5206\u9875\u4fe1\u606f\uff0c\u6392\u5e8f\u4fe1\u606f + * @override + * @protected + * @return {Object} \u9644\u52a0\u7684\u53c2\u6570 + */ + getAppendParams : function(){ + return this._getPageParams(); + }, + /** + * @protected + * \u521d\u59cb\u5316\u4e4b\u524d + */ + beforeInit : function(){ + //\u521d\u59cb\u5316\u7ed3\u679c\u96c6 + this._setResult([]); + }, + //\u672c\u5730\u6392\u5e8f + _localSort : function(field,direction){ + var _self = this; + + _self._sortData(field,direction); + + _self.fire('localsort'); + }, + _sortData : function(field,direction,data){ + var _self = this; + data = data || _self.getResult(); + + _self.sortData(field,direction,data); + }, + //\u5904\u7406\u6570\u636e + afterProcessLoad : function(data,params){ + var _self = this, + root = _self.get('root'), + start = params.start, + limit = params.limit, + totalProperty = _self.get('totalProperty'); + + if(BUI.isArray(data)){ + _self._setResult(data); + }else{ + _self._setResult(data[root],data[totalProperty]); + } + + _self.set('start',start); + + if(limit){ + _self.set('pageIndex',start/limit); + } + + //\u5982\u679c\u672c\u5730\u6392\u5e8f,\u5219\u6392\u5e8f + if(!_self.get('remoteSort')){ + _self._sortData(); + } + + _self.fire('load',{ params : params }); + }, + //\u8bbe\u7f6e\u7ed3\u679c\u96c6 + _setResult : function(rows,totalCount){ + var _self = this, + resultMap = _self.get('resultMap'); + + totalCount = totalCount || rows.length; + resultMap[_self.get('root')] = rows; + resultMap[_self.get('totalProperty')] = totalCount; + + //\u6e05\u7406\u4e4b\u524d\u53d1\u751f\u7684\u6539\u53d8 + _self._clearChanges(); + } + }); + + return store; +});/** + * @fileOverview Overlay \u6a21\u5757\u7684\u5165\u53e3 + * @ignore + */ + +define('bui/overlay',['bui/common','bui/overlay/overlay','bui/overlay/dialog','bui/overlay/message'],function (require) { + var BUI = require('bui/common'), + Overlay = BUI.namespace('Overlay'); + + BUI.mix(Overlay,{ + Overlay : require('bui/overlay/overlay'), + Dialog : require('bui/overlay/dialog'), + Message : require('bui/overlay/message') + }); + + BUI.mix(Overlay,{ + OverlayView : Overlay.Overlay.View, + DialogView : Overlay.Dialog.View + }); + + BUI.Message = BUI.Overlay.Message; + return Overlay; + +});/** + * @fileOverview \u60ac\u6d6e\u5c42 + * @ignore + */ + +define('bui/overlay/overlay',['bui/common'],function (require) { + var BUI = require('bui/common'), + Component = BUI.Component, + CLS_ARROW = 'x-align-arrow', + UIBase = Component.UIBase; + + /** + * \u60ac\u6d6e\u5c42\u7684\u89c6\u56fe\u7c7b + * @class BUI.Overlay.OverlayView + * @extends BUI.Component.View + * @mixins BUI.Component.UIBase.PositionView + * @mixins BUI.Component.UIBase.CloseView + * @private + */ + var overlayView = Component.View.extend([ + UIBase.PositionView, + UIBase.CloseView + ]); + + /** + * \u60ac\u6d6e\u5c42\uff0c\u663e\u793a\u60ac\u6d6e\u4fe1\u606f\uff0cMessage\u3001Dialog\u7684\u57fa\u7c7b + *

          + * + *

          + * xclass : 'overlay' + * ** \u4e00\u822c\u6765\u8bf4\uff0coverlay\u7684\u5b50\u7c7b\uff0cDialog \u3001Message\u3001ToolTip\u5df2\u7ecf\u80fd\u591f\u6ee1\u8db3\u65e5\u5e38\u5e94\u7528\uff0c\u4f46\u662f\u4f7f\u7528overay\u66f4\u9002\u5408\u4e00\u4e9b\u66f4\u52a0\u7075\u6d3b\u7684\u5730\u65b9 ** + * ## \u7b80\u5355overlay + *
          
          +   *   BUI.use('bui/overlay',function(Overlay){
          +   *     //\u70b9\u51fb#btn\uff0c\u663e\u793aoverlay
          +   *     var overlay = new Overlay.Overlay({
          +   *       trigger : '#btn',
          +   *       content : '\u8fd9\u662f\u5185\u5bb9',
          +   *       elCls : '\u5916\u5c42\u5e94\u7528\u7684\u6837\u5f0f',
          +   *       autoHide : true //\u70b9\u51fboverlay\u5916\u9762\uff0coverlay \u4f1a\u81ea\u52a8\u9690\u85cf
          +   *     });
          +   *
          +   *     overlay.render();
          +   *   });
          +   * 
          +   *
          +   * 
          +   * @class BUI.Overlay.Overlay
          +   * @extends BUI.Component.Controller
          +   * @mixins BUI.Component.UIBase.Position
          +   * @mixins BUI.Component.UIBase.Align
          +   * @mixins BUI.Component.UIBase.Close
          +   * @mixins BUI.Component.UIBase.AutoShow
          +   * @mixins BUI.Component.UIBase.AutoHide
          +   */
          +  var overlay = Component.Controller.extend([UIBase.Position,UIBase.Align,UIBase.Close,UIBase.AutoShow,UIBase.AutoHide],{
          +    renderUI : function(){
          +      var _self = this,
          +        el = _self.get('el'),
          +        arrowContainer = _self.get('arrowContainer'),
          +        container = arrowContainer ? el.one(arrowContainer) : el;
          +      if(_self.get('showArrow')){
          +        $(_self.get('arrowTpl')).appendTo(container);
          +      }
          +    },
          +    show : function(){
          +      var _self = this,
          +        effectCfg = _self.get('effect'),
          +        el = _self.get('el'),
          +		    visibleMode = _self.get('visibleMode'),
          +        effect = effectCfg.effect,
          +        duration = effectCfg.duration;
          +
          +  	  if(visibleMode === 'visibility'){
          +    		overlay.superclass.show.call(_self);
          +    		if(effectCfg.callback){
          +              effectCfg.callback.call(_self);
          +        }
          +    		return;
          +  	  }
          +      //\u5982\u679c\u8fd8\u672a\u6e32\u67d3\uff0c\u5219\u5148\u6e32\u67d3\u63a7\u4ef6
          +      if(!_self.get('rendered')){
          +        _self.set('visible',true);
          +        _self.render();
          +        _self.set('visible',false);
          +        el = _self.get('el');
          +      }
          +      
          +      switch(effect){
          +        case  'linear' :
          +          el.show(duration,callback);
          +          break;
          +        case  'fade' :
          +          el.fadeIn(duration,callback);
          +          break;
          +        case  'slide' :
          +          el.slideDown(duration,callback);
          +          break;
          +        default:
          +          callback();
          +        break;
          +      }
          +
          +      function callback(){
          +        _self.set('visible',true);
          +        if(effectCfg.callback){
          +          effectCfg.callback.call(_self);
          +        }
          +      }
          +
          +    },
          +    hide : function(){
          +      var _self = this,
          +        effectCfg = _self.get('effect'),
          +        el = _self.get('el'),
          +        effect = effectCfg.effect,
          +        duration = effectCfg.duration;
          +  	  if(_self.get('visibleMode') === 'visibility'){
          +  		  callback();
          +  		  return;
          +  	  }
          +      switch(effect){
          +        case 'linear':
          +          el.hide(duration,callback);
          +          break;
          +        case  'fade' :
          +          el.fadeOut(duration,callback);
          +          break;
          +        case  'slide' :
          +          el.slideUp(duration,callback);
          +          break;
          +        default:
          +          callback();
          +        break;
          +      }
          +      function callback(){
          +        _self.set('visible',false);
          +        if(effectCfg.callback){
          +          effectCfg.callback.call(_self);
          +        }
          +      }
          +
          +    }
          +  },{
          +    ATTRS : 
          +	/**
          +	* @lends BUI.Overlay.Overlay#
          +  * @ignore 
          +	**/	
          +	{
          +      /**
          +       * {Object} - \u53ef\u9009, \u663e\u793a\u6216\u9690\u85cf\u65f6\u7684\u7279\u6548\u652f\u6301, \u5bf9\u8c61\u5305\u542b\u4ee5\u4e0b\u914d\u7f6e
          +       * 
            + *
          1. effect:\u7279\u6548\u6548\u679c\uff0c'none(\u9ed8\u8ba4\u65e0\u7279\u6548)','linear(\u7ebf\u6027)',fade(\u6e10\u53d8)','slide(\u6ed1\u52a8\u51fa\u73b0)'
          2. + *
          3. duration:\u65f6\u95f4\u95f4\u9694
          4. + *
          + * @type {Object} + */ + effect:{ + value : { + effect : 'none', + duration : 0, + callback : null + } + }, + /** + * whether this component can be closed. + * @default false + * @type {Boolean} + * @protected + */ + closable:{ + value:false + }, + /** + * \u662f\u5426\u663e\u793a\u6307\u5411\u7bad\u5934\uff0c\u8ddfalign\u5c5e\u6027\u7684points\u76f8\u5173 + * @type {Boolean} + * @protected + */ + showArrow : { + value : false + }, + /** + * \u7bad\u5934\u653e\u7f6e\u5728\u7684\u4f4d\u7f6e\uff0c\u662f\u4e00\u4e2a\u9009\u62e9\u5668\uff0c\u4f8b\u5982 .arrow-wraper + * new Tip({ //\u53ef\u4ee5\u8bbe\u7f6e\u6574\u4e2a\u63a7\u4ef6\u7684\u6a21\u677f + * arrowContainer : '.arrow-wraper', + * tpl : '
          ' + * }); + * + * @type {String} + * @protected + */ + arrowContainer : { + view : true + }, + /** + * \u6307\u5411\u7bad\u5934\u7684\u6a21\u677f + * @type {Object} + * @protected + */ + arrowTpl : { + value : '' + }, + visibleMode : { + value : 'visibility' + }, + visible :{ + value:false + }, + xview : { + value : overlayView + } + } + },{ + xclass:'overlay' + }); + + overlay.View = overlayView; + return overlay; + +});/** + * @fileOverview \u5f39\u51fa\u6846 + * @author dxq613@gmail.com + * @ignore + */ + +define('bui/overlay/dialog',['bui/overlay/overlay'],function (require) { + var Overlay = require('bui/overlay/overlay'), + UIBase = BUI.Component.UIBase, + CLS_TITLE = 'header-title', + PREFIX = BUI.prefix, + HEIGHT_PADDING = 20; + + /** + * dialog\u7684\u89c6\u56fe\u7c7b + * @class BUI.Overlay.DialogView + * @extends BUI.Overlay.OverlayView + * @mixins BUI.Component.UIBase.StdModView + * @mixins BUI.Component.UIBase.MaskView + * @private + */ + var dialogView = Overlay.View.extend([UIBase.StdModView,UIBase.MaskView],{ + + _uiSetTitle:function(v){ + var _self = this, + el = _self.get('el'); + + el.find('.' + CLS_TITLE).html(v); + + }, + _uiSetContentId : function(v){ + var _self = this, + body = _self.get('body'), + children = $('#'+v).children(); + + children.appendTo(body); + }, + _uiSetHeight : function(v){ + var _self = this, + bodyHeight = v, + header = _self.get('header'), + body = _self.get('body'), + footer = _self.get('footer'); + + bodyHeight -= header.outerHeight()+footer.outerHeight(); + bodyHeight -=HEIGHT_PADDING * 2; + body.height(bodyHeight); + }, + _removeContent : function(){ + var _self = this, + body = _self.get('body'), + contentId = _self.get('contentId'); + if(contentId){ + body.children().appendTo($('#'+contentId)); + }else { + body.children().remove(); + } + } + + },{ + xclass:'dialog-view' + }); + + /** + * \u5f39\u51fa\u6846 xclass:'dialog' + *

          + * + *

          + * ** \u666e\u901a\u5f39\u51fa\u6846 ** + *
          
          +   *  BUI.use('bui/overlay',function(Overlay){
          +   *      var dialog = new Overlay.Dialog({
          +   *        title:'\u975e\u6a21\u6001\u7a97\u53e3',
          +   *        width:500,
          +   *        height:300,
          +   *        mask:false,  //\u8bbe\u7f6e\u662f\u5426\u6a21\u6001
          +   *        buttons:[],
          +   *        bodyContent:'

          \u8fd9\u662f\u4e00\u4e2a\u975e\u6a21\u6001\u7a97\u53e3,\u5e76\u4e14\u4e0d\u5e26\u6309\u94ae

          ' + * }); + * dialog.show(); + * $('#btnShow').on('click',function () { + * dialog.show(); + * }); + * }); + *
          + * + * ** \u4f7f\u7528\u73b0\u6709\u7684html\u7ed3\u6784 ** + *
          
          +   *  BUI.use('bui/overlay',function(Overlay){
          +   *      var dialog = new Overlay.Dialog({
          +   *        title:'\u914d\u7f6eDOM',
          +   *        width:500,
          +   *        height:250,
          +   *        contentId:'content',//\u914d\u7f6eDOM\u5bb9\u5668\u7684\u7f16\u53f7
          +   *        success:function () {
          +   *          alert('\u786e\u8ba4');
          +   *          this.hide();
          +   *        }
          +   *      });
          +   *    dialog.show();
          +   *    $('#btnShow').on('click',function () {
          +   *      dialog.show();
          +   *    });
          +   *  });
          +   * 
          + * @class BUI.Overlay.Dialog + * @extends BUI.Overlay.Overlay + * @mixins BUI.Component.UIBase.StdMod + * @mixins BUI.Component.UIBase.Mask + * @mixins BUI.Component.UIBase.Drag + */ + var dialog = Overlay.extend([UIBase.StdMod,UIBase.Mask,UIBase.Drag],{ + + show:function(){ + var _self = this; + + dialog.superclass.show.call(this); + _self.center(); + }, + //\u7ed1\u5b9a\u4e8b\u4ef6 + bindUI : function(){ + var _self = this; + _self.on('closeclick',function(){ + return _self.onCancel(); + }); + }, + /** + * @protected + * \u53d6\u6d88 + */ + onCancel : function(){ + var _self = this, + cancel = _self.get('cancel'); + return cancel.call(this); + }, + //\u8bbe\u7f6e\u6309\u94ae + _uiSetButtons:function(buttons){ + var _self = this, + footer = _self.get('footer'); + + footer.children().remove(); + BUI.each(buttons,function(conf){ + _self._createButton(conf,footer); + }); + + }, + //\u521b\u5efa\u6309\u94ae + _createButton : function(conf,parent){ + var _self = this, + temp = '', + btn = $(temp).appendTo(parent); + btn.on('click',function(){ + conf.handler.call(_self,_self,this); + }); + }, + destructor : function(){ + var _self = this, + contentId = _self.get('contentId'), + body = _self.get('body'), + closeAction = _self.get('closeAction'); + if(closeAction == 'destroy'){ + _self.hide(); + if(contentId){ + body.children().appendTo('#'+contentId); + } + } + } + },{ + + ATTRS : + /** + * @lends BUI.Overlay.Dialog# + * @ignore + */ + { + closeTpl:{ + view:true, + value : '\u00d7' + }, + /** + * \u5f39\u51fa\u5e93\u7684\u6309\u94ae\uff0c\u53ef\u4ee5\u6709\u591a\u4e2a,\u67093\u4e2a\u53c2\u6570 + * var dialog = new Overlay.Dialog({ + * title:'\u81ea\u5b9a\u4e49\u6309\u94ae', + * width:500, + * height:300, + * mask:false, + * buttons:[ + * { + * text:'\u81ea\u5b9a\u4e49', + * elCls : 'button button-primary', + * handler : function(){ + * //do some thing + * this.hide(); + * } + * },{ + * text:'\u5173\u95ed', + * elCls : 'button', + * handler : function(){ + * this.hide(); + * } + * } + * ], + * + * bodyContent:'

          \u8fd9\u662f\u4e00\u4e2a\u81ea\u5b9a\u4e49\u6309\u94ae\u7a97\u53e3,\u53ef\u4ee5\u914d\u7f6e\u4e8b\u4ef6\u548c\u6587\u672c\u6837\u5f0f

          ' + * }); + * dialog.show(); + *
            + *
          1. text:\u6309\u94ae\u6587\u672c
          2. + *
          3. elCls:\u6309\u94ae\u6837\u5f0f
          4. + *
          5. handler:\u70b9\u51fb\u6309\u94ae\u7684\u56de\u8c03\u4e8b\u4ef6
          6. + *
          + * @cfg {Array} buttons + * @default '\u786e\u5b9a'\u3001'\u53d6\u6d88'2\u4e2a\u6309\u94ae + * + */ + buttons:{ + value:[ + { + text:'\u786e\u5b9a', + elCls : 'button button-primary', + handler : function(){ + var _self = this, + success = _self.get('success'); + if(success){ + success.call(_self); + } + } + },{ + text:'\u53d6\u6d88', + elCls : 'button button-primary', + handler : function(dialog,btn){ + if(this.onCancel() !== false){ + this.close(); + } + } + } + ] + }, + /** + * \u5f39\u51fa\u6846\u663e\u793a\u5185\u5bb9\u7684DOM\u5bb9\u5668ID + * @cfg {Object} contentId + */ + contentId:{ + view:true + }, + /** + * \u70b9\u51fb\u6210\u529f\u65f6\u7684\u56de\u8c03\u51fd\u6570 + * @cfg {Function} success + */ + success : { + value : function(){ + this.close(); + } + }, + /** + * \u7528\u6237\u53d6\u6d88\u65f6\u8c03\u7528\uff0c\u5982\u679creturn false\u5219\u963b\u6b62\u7a97\u53e3\u5173\u95ed + * @cfg {Function} cancel + */ + cancel : { + value : function(){ + + } + }, + dragNode : { + /** + * @private + */ + valueFn : function(){ + return this.get('header'); + } + }, + + /** + * \u9ed8\u8ba4\u7684\u52a0\u8f7d\u63a7\u4ef6\u5185\u5bb9\u7684\u914d\u7f6e,\u9ed8\u8ba4\u503c\uff1a + *
          +       *  {
          +       *   property : 'bodyContent',
          +       *   autoLoad : true
          +       * }
          +       * 
          + * @type {Object} + */ + defaultLoaderCfg : { + valueFn :function(){ + var _self = this; + return { + property : 'bodyContent', + autoLoad : false, + lazyLoad : { + event : 'show' + }, + loadMask : { + el : _self.get('body') + } + } + } + }, + /** + * \u5f39\u51fa\u6846\u6807\u9898 + * @cfg {String} title + */ + /** + * \u5f39\u51fa\u6846\u6807\u9898 + *
          
          +       *  dialog.set('title','new title');
          +       * 
          + * @type {String} + */ + title : { + view:true, + value : '' + }, + mask : { + value:true + }, + maskShared:{ + value:false + }, + headerContent:{ + value:'
          \u6807\u9898
          ' + }, + footerContent:{ + + }, + closable:{ + value : true + }, + xview:{ + value:dialogView + } + } + },{ + xclass : 'dialog' + }); + + dialog.View = dialogView; + return dialog; + +});/** + * @fileOverview \u6d88\u606f\u6846\uff0c\u8b66\u544a\u3001\u786e\u8ba4 + * @author dxq613@gmail.com + * @ignore + */ + +define('bui/overlay/message',['bui/overlay/dialog'],function (require) { + var Dialog = require('bui/overlay/dialog'), + PREFIX = BUI.prefix, + iconText ={ + info : 'i', + error : '\u00d7', + success : '', + question : '?', + warning: '!' + }; + + /** + * \u6d88\u606f\u6846\u7c7b\uff0c\u4e00\u822c\u4e0d\u76f4\u63a5\u521b\u5efa\u5bf9\u8c61\uff0c\u800c\u662f\u8c03\u7528\u5176Alert\u548cConfirm\u65b9\u6cd5 + *
          
          +   ** BUI.use('bui/overlay',function(overlay){
          +   * 
          +   *    BUI.Message.Alert('\u8fd9\u53ea\u662f\u7b80\u5355\u7684\u63d0\u793a\u4fe1\u606f','info');
          +   *    BUI.Message.Alert('\u8fd9\u53ea\u662f\u7b80\u5355\u7684\u6210\u529f\u4fe1\u606f','success');
          +   *    BUI.Message.Alert('\u8fd9\u53ea\u662f\u7b80\u5355\u7684\u8b66\u544a\u4fe1\u606f','warning');
          +   *    BUI.Message.Alert('\u8fd9\u53ea\u662f\u7b80\u5355\u7684\u9519\u8bef\u4fe1\u606f','error');
          +   *    BUI.Message.Alert('\u8fd9\u53ea\u662f\u7b80\u5355\u7684\u8be2\u95ee\u4fe1\u606f','question');
          +   *
          +   *    //\u56de\u8c03\u51fd\u6570
          +   *    BUI.Message.Alert('\u70b9\u51fb\u89e6\u53d1\u56de\u8c03\u51fd\u6570',function() {
          +   *         alert('\u6267\u884c\u56de\u8c03');
          +   *       },'error');
          +   *       
          +   *    //\u590d\u6742\u7684\u63d0\u793a\u4fe1\u606f
          +   *    var msg = '<h2>\u4e0a\u4f20\u5931\u8d25\uff0c\u8bf7\u4e0a\u4f2010M\u4ee5\u5185\u7684\u6587\u4ef6</h2>'+
          +   *       '<p class="auxiliary-text">\u5982\u8fde\u7eed\u4e0a\u4f20\u5931\u8d25\uff0c\u8bf7\u53ca\u65f6\u8054\u7cfb\u5ba2\u670d\u70ed\u7ebf\uff1a0511-23883767834</p>'+
          +   *       '<p><a href="#">\u8fd4\u56delist\u9875\u9762</a> <a href="#">\u67e5\u770b\u8be6\u60c5</a></p>';
          +   *     BUI.Message.Alert(msg,'error');
          +   *    //\u786e\u8ba4\u4fe1\u606f
          +   *    BUI.Message.Confirm('\u786e\u8ba4\u8981\u66f4\u6539\u4e48\uff1f',function(){
          +   *       alert('\u786e\u8ba4');
          +   *     },'question');
          +   * });
          +   * 
          + * @class BUI.Overlay.Message + * @private + * @extends BUI.Overlay.Dialog + */ + var message = Dialog.extend({ + + /** + * @protected + * @ignore + */ + renderUI : function(){ + this._setContent(); + }, + bindUI : function(){ + var _self = this, + body = _self.get('body'); + _self.on('afterVisibleChange',function(ev){ + if(ev.newVal){ + if(BUI.UA.ie < 8){ + /** + * fix ie6,7 bug + * @ignore + */ + var outerWidth = body.outerWidth(); + if(BUI.UA.ie == 6){ + outerWidth = outerWidth > 350 ? 350 : outerWidth; + } + _self.get('header').width(outerWidth - 20); + _self.get('footer').width(outerWidth); + } + } + }); + }, + //\u6839\u636e\u6a21\u7248\u8bbe\u7f6e\u5185\u5bb9 + _setContent : function(){ + var _self = this, + body = _self.get('body'), + contentTpl = BUI.substitute(_self.get('contentTpl'),{ + msg : _self.get('msg'), + iconTpl : _self.get('iconTpl') + }); + body.empty(); + + $(contentTpl).appendTo(body); + }, + //\u8bbe\u7f6e\u7c7b\u578b + _uiSetIcon : function(v){ + if (!this.get('rendered')) { + return; + } + this._setContent(); + }, + //\u8bbe\u7f6e\u6587\u672c + _uiSetMsg : function(v){ + if (!this.get('rendered')) { + return; + } + this._setContent(); + } + + },{ + ATTRS : + { + /** + * \u56fe\u6807\u7c7b\u578b + *
            + *
          1. \u63d0\u793a\u4fe1\u606f\uff0c\u7c7b\u578b\u53c2\u6570info
          2. + *
          3. \u6210\u529f\u4fe1\u606f\uff0c\u7c7b\u578b\u53c2\u6570success
          4. + *
          5. \u8b66\u544a\u4fe1\u606f\uff0c\u7c7b\u578b\u53c2\u6570warning
          6. + *
          7. \u9519\u8bef\u4fe1\u606f\uff0c\u7c7b\u578b\u53c2\u6570error
          8. + *
          9. \u786e\u8ba4\u4fe1\u606f\uff0c\u7c7b\u578b\u53c2\u6570question
          10. + *
          + * @type {String} + */ + icon : { + + }, + /** + * \u63d0\u793a\u6d88\u606f\uff0c\u53ef\u4ee5\u662f\u6587\u672c\u6216\u8005html + * @cfg {String} msg + */ + /** + * \u63d0\u793a\u6d88\u606f\uff0c\u53ef\u4ee5\u662f\u6587\u672c\u6216\u8005html + * @type {String} + */ + msg : { + + }, + /** + * @private + */ + iconTpl : { + /** + * @private + */ + getter:function(){ + var _self = this, + type = _self.get('icon'); + return '
          ' + iconText[type] + '
          '; + } + }, + /** + * \u5185\u5bb9\u7684\u6a21\u7248 + * @type {String} + * @protected + */ + contentTpl : { + value : '{iconTpl}
          {msg}
          ' + } + } + },{ + xclass : 'message', + priority : 0 + }); + + var singlelon = new message({ + icon:'info', + title:'' + }); + + function messageFun(buttons,defaultIcon){ + + return function (msg,callback,icon){ + + if(BUI.isString(callback)){ + icon = callback; + callback = null; + } + icon = icon || defaultIcon; + callback = callback || hide; + showMessage({ + 'buttons': buttons, + 'icon':icon, + 'msg':msg, + 'success' : callback + }); + }; + } + + function showMessage(config){ + singlelon.set(config); + + singlelon.show(); + } + + function success(){ + var _self = this, + success = _self.get('success'); + if(success){ + success.call(_self); + _self.hide(); + } + } + + function hide(){ + this.hide(); + } + + + var Alert = messageFun([{ + text:'\u786e\u5b9a', + elCls : 'button button-primary', + handler : success + } + ],'info'), + Confirm = messageFun([{ + text:'\u786e\u5b9a', + elCls : 'button button-primary', + handler : success + },{ + text:'\u53d6\u6d88', + elCls : 'button button-primary', + handler : hide + } + ],'question'); + + /** + * \u63d0\u793a\u6846\u9759\u6001\u7c7b + * @class BUI.Message + */ + + /** + * \u663e\u793a\u63d0\u793a\u4fe1\u606f\u6846 + * @static + * @method + * @member BUI.Message + * @param {String} msg \u63d0\u793a\u4fe1\u606f + * @param {Function} callback \u786e\u5b9a\u7684\u56de\u8c03\u51fd\u6570 + * @param {String} icon \u56fe\u6807\uff0c\u63d0\u4f9b\u4ee5\u4e0b\u51e0\u79cd\u56fe\u6807\uff1ainfo,error,success,question,warning + */ + message.Alert = Alert; + + /** + * \u663e\u793a\u786e\u8ba4\u6846 + *
          
          +   * BUI.Message.Confirm('\u786e\u8ba4\u8981\u66f4\u6539\u4e48\uff1f',function(){
          +   *       alert('\u786e\u8ba4');
          +   * },'question');
          +   * 
          + * @static + * @method + * @member BUI.Message + * @param {String} msg \u63d0\u793a\u4fe1\u606f + * @param {Function} callback \u786e\u5b9a\u7684\u56de\u8c03\u51fd\u6570 + * @param {String} icon \u56fe\u6807\uff0c\u63d0\u4f9b\u4ee5\u4e0b\u51e0\u79cd\u56fe\u6807\uff1ainfo,error,success,question,warning + */ + message.Confirm = Confirm; + + /** + * \u81ea\u5b9a\u4e49\u6d88\u606f\u6846\uff0c\u4f20\u5165\u914d\u7f6e\u4fe1\u606f {@link BUI.Overlay.Dialog} \u548c {@link BUI.Overlay.Message} + * @static + * @method + * @member BUI.Message + * @param {Object} config \u914d\u7f6e\u4fe1\u606f + */ + message.Show = showMessage; + + return message; +});/** + * @fileOverview \u5217\u8868\u6a21\u5757\u5165\u53e3\u6587\u4ef6 + * @ignore + */ +;(function(){ +var BASE = 'bui/list/'; +define('bui/list',['bui/common',BASE + 'list',BASE + 'listitem',BASE + 'simplelist',BASE + 'listbox'],function (r) { + var BUI = r('bui/common'), + List = BUI.namespace('List'); + + BUI.mix(List,{ + List : r(BASE + 'list'), + ListItem : r(BASE + 'listitem'), + SimpleList : r(BASE + 'simplelist'), + Listbox : r(BASE + 'listbox') + }); + + BUI.mix(List,{ + ListItemView : List.ListItem.View, + SimpleListView : List.SimpleList.View + }); + + return List; +}); +})(); +/** + * @fileOverview \u4f7f\u7528DOM\u5143\u7d20\u4f5c\u4e3a\u9009\u9879\u7684\u6269\u5c55\u7c7b + * @author dxq613@gmail.com + * @ignore + */ + +define('bui/list/domlist',['bui/common'],function (require) { + 'use strict'; + + var BUI = require('bui/common'), + Selection = BUI.Component.UIBase.Selection, + FIELD_PREFIX = 'data-', + List = BUI.Component.UIBase.List; + + function getItemStatusCls(name ,self) { + var _self = self, + itemCls = _self.get('itemCls'), + itemStatusCls = _self.get('itemStatusCls'); + + if(itemStatusCls && itemStatusCls[name]){ + return itemStatusCls[name]; + } + return itemCls + '-' + name; + } + + /** + * \u9009\u9879\u662fDOM\u7684\u5217\u8868\u7684\u89c6\u56fe\u7c7b + * @private + * @class BUI.List.DomList.View + */ + var domListView = function(){ + + }; + + domListView.ATTRS = { + items : {} + }; + + domListView.prototype = { + /** + * @protected + * \u6e05\u9664\u8005\u5217\u8868\u9879\u7684DOM + */ + clearControl : function(){ + var _self = this, + listEl = _self.getItemContainer(), + itemCls = _self.get('itemCls'); + listEl.find('.'+itemCls).remove(); + }, + /** + * \u6dfb\u52a0\u9009\u9879 + * @param {Object} item \u9009\u9879\u503c + * @param {Number} index \u7d22\u5f15 + */ + addItem : function(item,index){ + return this._createItem(item,index); + }, + /** + * \u83b7\u53d6\u6240\u6709\u7684\u8bb0\u5f55 + * @return {Array} \u8bb0\u5f55\u96c6\u5408 + */ + getItems : function(){ + var _self = this, + elements = _self.getAllElements(), + rst = []; + BUI.each(elements,function(elem){ + rst.push(_self.getItemByElement(elem)); + }); + return rst; + }, + /** + * \u66f4\u65b0\u5217\u8868\u9879 + * @param {Object} item \u9009\u9879\u503c + * @ignore + */ + updateItem : function(item){ + var _self = this, + items = _self.getItems(), + index = BUI.Array.indexOf(item,items), + element = null, + tpl; + if(index >=0 ){ + element = _self.findElement(item); + tpl = _self.getItemTpl(item,index); + if(element){ + $(element).html($(tpl).html()); + } + } + return element; + }, + /** + * \u79fb\u9664\u9009\u9879 + * @param {jQuery} element + * @ignore + */ + removeItem:function(item,element){ + element = element || this.findElement(item); + $(element).remove(); + }, + /** + * \u83b7\u53d6\u5217\u8868\u9879\u7684\u5bb9\u5668 + * @return {jQuery} \u5217\u8868\u9879\u5bb9\u5668 + * @protected + */ + getItemContainer : function () { + return this.get('itemContainer') || this.get('el'); + }, + /** + * \u83b7\u53d6\u8bb0\u5f55\u7684\u6a21\u677f,itemTpl \u548c \u6570\u636eitem \u5408\u5e76\u4ea7\u751f\u7684\u6a21\u677f + * @protected + */ + getItemTpl : function (item,index) { + var _self = this, + render = _self.get('itemTplRender'), + itemTpl = _self.get('itemTpl'); + if(render){ + return render(item,index); + } + + return BUI.substitute(itemTpl,item); + }, + //\u521b\u5efa\u9879 + _createItem : function(item,index){ + var _self = this, + listEl = _self.getItemContainer(), + itemCls = _self.get('itemCls'), + dataField = _self.get('dataField'), + tpl = _self.getItemTpl(item,index), + node = $(tpl); + if(index !== undefined){ + var target = listEl.find('.'+itemCls)[index]; + if(target){ + node.insertBefore(target); + }else{ + node.appendTo(listEl); + } + }else{ + node.appendTo(listEl); + } + node.addClass(itemCls); + node.data(dataField,item); + return node; + }, + /** + * \u83b7\u53d6\u5217\u8868\u9879\u5bf9\u5e94\u72b6\u6001\u7684\u6837\u5f0f + * @param {String} name \u72b6\u6001\u540d\u79f0 + * @return {String} \u72b6\u6001\u7684\u6837\u5f0f + */ + getItemStatusCls : function(name){ + return getItemStatusCls(name,this); + }, + /** + * \u8bbe\u7f6e\u5217\u8868\u9879\u9009\u4e2d + * @protected + * @param {*} name \u72b6\u6001\u540d\u79f0 + * @param {HTMLElement} element DOM\u7ed3\u6784 + * @param {Boolean} value \u8bbe\u7f6e\u6216\u53d6\u6d88\u6b64\u72b6\u6001 + */ + setItemStatusCls : function(name,element,value){ + var _self = this, + cls = _self.getItemStatusCls(name), + method = value ? 'addClass' : 'removeClass'; + if(element){ + $(element)[method](cls); + } + }, + /** + * \u662f\u5426\u6709\u67d0\u4e2a\u72b6\u6001 + * @param {*} name \u72b6\u6001\u540d\u79f0 + * @param {HTMLElement} element DOM\u7ed3\u6784 + * @return {Boolean} \u662f\u5426\u5177\u6709\u72b6\u6001 + */ + hasStatus : function(name,element){ + var _self = this, + cls = _self.getItemStatusCls(name); + return $(element).hasClass(cls); + }, + /** + * \u8bbe\u7f6e\u5217\u8868\u9879\u9009\u4e2d + * @param {*} item \u8bb0\u5f55 + * @param {Boolean} selected \u662f\u5426\u9009\u4e2d + * @param {HTMLElement} element DOM\u7ed3\u6784 + */ + setItemSelected: function(item,selected,element){ + var _self = this; + + element = element || _self.findElement(item); + _self.setItemStatusCls('selected',element,selected); + }, + /** + * \u83b7\u53d6\u6240\u6709\u5217\u8868\u9879\u7684DOM\u7ed3\u6784 + * @return {Array} DOM\u5217\u8868 + */ + getAllElements : function(){ + var _self = this, + itemCls = _self.get('itemCls'), + el = _self.get('el'); + return el.find('.' + itemCls); + }, + /** + * \u83b7\u53d6DOM\u7ed3\u6784\u4e2d\u7684\u6570\u636e + * @param {HTMLElement} element DOM \u7ed3\u6784 + * @return {Object} \u8be5\u9879\u5bf9\u5e94\u7684\u503c + */ + getItemByElement : function(element){ + var _self = this, + dataField = _self.get('dataField'); + return $(element).data(dataField); + }, + /** + * \u6839\u636e\u72b6\u6001\u83b7\u53d6\u7b2c\u4e00\u4e2aDOM \u8282\u70b9 + * @param {String} name \u72b6\u6001\u540d\u79f0 + * @return {HTMLElement} Dom \u8282\u70b9 + */ + getFirstElementByStatus : function(name){ + var _self = this, + cls = _self.getItemStatusCls(name), + el = _self.get('el'); + return el.find('.' + cls)[0]; + }, + /** + * \u6839\u636e\u72b6\u6001\u83b7\u53d6DOM + * @return {Array} DOM\u6570\u7ec4 + */ + getElementsByStatus : function(status){ + var _self = this, + cls = _self.getItemStatusCls(status), + el = _self.get('el'); + return el.find('.' + cls); + }, + /** + * \u901a\u8fc7\u6837\u5f0f\u67e5\u627eDOM\u5143\u7d20 + * @param {String} css\u6837\u5f0f + * @return {jQuery} DOM\u5143\u7d20\u7684\u6570\u7ec4\u5bf9\u8c61 + */ + getSelectedElements : function(){ + var _self = this, + cls = _self.getItemStatusCls('selected'), + el = _self.get('el'); + return el.find('.' + cls); + }, + /** + * \u67e5\u627e\u6307\u5b9a\u7684\u9879\u7684DOM\u7ed3\u6784 + * @param {Object} item + * @return {HTMLElement} element + */ + findElement : function(item){ + var _self = this, + elements = _self.getAllElements(), + result = null; + + BUI.each(elements,function(element){ + if(_self.getItemByElement(element) == item){ + result = element; + return false; + } + }); + return result; + }, + /** + * \u5217\u8868\u9879\u662f\u5426\u9009\u4e2d + * @param {HTMLElement} element \u662f\u5426\u9009\u4e2d + * @return {Boolean} \u662f\u5426\u9009\u4e2d + */ + isElementSelected : function(element){ + var _self = this, + cls = _self.getItemStatusCls('selected'); + return element && $(element).hasClass(cls); + } + }; + + //\u8f6c\u6362\u6210Object + function parseItem(element,self){ + var attrs = element.attributes, + itemStatusFields = self.get('itemStatusFields'), + item = {}; + + BUI.each(attrs,function(attr){ + var name = attr.nodeName; + if(name.indexOf(FIELD_PREFIX) !== -1){ + name = name.replace(FIELD_PREFIX,''); + item[name] = attr.nodeValue; + } + }); + item.text = $(element).text(); + //\u83b7\u53d6\u72b6\u6001\u5bf9\u5e94\u7684\u503c + BUI.each(itemStatusFields,function(v,k){ + var cls = getItemStatusCls(k,self); + if($(element).hasClass(cls)){ + item[v] = true; + } + }); + return item; + } + + /** + * @class BUI.List.DomList + * \u9009\u9879\u662fDOM\u7ed3\u6784\u7684\u5217\u8868 + * @extends BUI.Component.UIBase.List + * @mixins BUI.Component.UIBase.Selection + */ + var domList = function(){ + + }; + + domList.ATTRS =BUI.merge(true,List.ATTRS,Selection.ATTRS,{ + + /** + * \u5728DOM\u8282\u70b9\u4e0a\u5b58\u50a8\u6570\u636e\u7684\u5b57\u6bb5 + * @type {String} + * @protected + */ + dataField : { + view:true, + value:'data-item' + }, + /** + * \u9009\u9879\u6240\u5728\u5bb9\u5668\uff0c\u5982\u679c\u672a\u8bbe\u5b9a\uff0c\u4f7f\u7528 el + * @type {jQuery} + * @protected + */ + itemContainer : { + view : true + }, + /** + * \u9009\u9879\u72b6\u6001\u5bf9\u5e94\u7684\u9009\u9879\u503c + * + * - \u6b64\u5b57\u6bb5\u7528\u4e8e\u5c06\u9009\u9879\u8bb0\u5f55\u7684\u503c\u8ddf\u663e\u793a\u7684DOM\u72b6\u6001\u76f8\u5bf9\u5e94 + * - \u4f8b\u5982\uff1a\u4e0b\u9762\u8bb0\u5f55\u4e2d checked : true \uff0c\u53ef\u4ee5\u4f7f\u5f97\u6b64\u8bb0\u5f55\u5bf9\u5e94\u7684DOM\u4e0a\u5e94\u7528\u5bf9\u5e94\u7684\u72b6\u6001(\u9ed8\u8ba4\u4e3a 'list-item-checked') + *
          {id : '1',text : 1,checked : true}
          + * - \u5f53\u66f4\u6539DOM\u7684\u72b6\u6001\u65f6\uff0c\u8bb0\u5f55\u4e2d\u5bf9\u5e94\u7684\u5b57\u6bb5\u5c5e\u6027\u4e5f\u4f1a\u8ddf\u7740\u53d8\u5316 + *
          
          +     *   var list = new List.SimpleList({
          +     *   render : '#t1',
          +     *   idField : 'id', //\u81ea\u5b9a\u4e49\u6837\u5f0f\u540d\u79f0
          +     *   itemStatusFields : {
          +     *     checked : 'checked',
          +     *     disabled : 'disabled'
          +     *   },
          +     *   items : [{id : '1',text : '1',checked : true},{id : '2',text : '2',disabled : true}]
          +     * });
          +     * list.render(); //\u5217\u8868\u6e32\u67d3\u540e\uff0c\u4f1a\u81ea\u52a8\u5e26\u6709checked,\u548cdisabled\u5bf9\u5e94\u7684\u6837\u5f0f
          +     *
          +     * var item = list.getItem('1');
          +     * list.hasStatus(item,'checked'); //true
          +     *
          +     * list.setItemStatus(item,'checked',false);
          +     * list.hasStatus(item,'checked');  //false
          +     * item.checked;                    //false
          +     * 
          +     * 
          + * ** \u6ce8\u610f ** + * \u6b64\u5b57\u6bb5\u8ddf {@link #itemStatusCls} \u4e00\u8d77\u4f7f\u7528\u6548\u679c\u66f4\u597d\uff0c\u53ef\u4ee5\u81ea\u5b9a\u4e49\u5bf9\u5e94\u72b6\u6001\u7684\u6837\u5f0f + * @cfg {Object} itemStatusFields + */ + itemStatusFields : { + value : {} + }, + /** + * \u9879\u7684\u6837\u5f0f\uff0c\u7528\u6765\u83b7\u53d6\u5b50\u9879 + * @cfg {Object} itemCls + */ + itemCls : { + view : true + }, + /** + * \u83b7\u53d6\u9879\u7684\u6587\u672c\uff0c\u9ed8\u8ba4\u83b7\u53d6\u663e\u793a\u7684\u6587\u672c + * @type {Object} + * @protected + */ + textGetter : { + + }, + /** + * \u9ed8\u8ba4\u7684\u52a0\u8f7d\u63a7\u4ef6\u5185\u5bb9\u7684\u914d\u7f6e,\u9ed8\u8ba4\u503c\uff1a + *
          +     *  {
          +     *   property : 'items',
          +     *   dataType : 'json'
          +     * }
          +     * 
          + * @type {Object} + */ + defaultLoaderCfg : { + value : { + property : 'items', + dataType : 'json' + } + }, + events : { + value : { + /** + * \u9009\u9879\u5bf9\u5e94\u7684DOM\u521b\u5efa\u5b8c\u6bd5 + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.item \u6e32\u67d3DOM\u5bf9\u5e94\u7684\u9009\u9879 + * @param {HTMLElement} e.element \u6e32\u67d3\u7684DOM\u5bf9\u8c61 + */ + 'itemrendered' : true, + /** + * @event + * \u5220\u9664\u9009\u9879 + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.item \u5220\u9664DOM\u5bf9\u5e94\u7684\u9009\u9879 + * @param {HTMLElement} e.element \u5220\u9664\u7684DOM\u5bf9\u8c61 + */ + 'itemremoved' : true, + /** + * @event + * \u66f4\u65b0\u9009\u9879 + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.item \u66f4\u65b0DOM\u5bf9\u5e94\u7684\u9009\u9879 + * @param {HTMLElement} e.element \u66f4\u65b0\u7684DOM\u5bf9\u8c61 + */ + 'itemupdated' : true, + /** + * \u8bbe\u7f6e\u8bb0\u5f55\u65f6\uff0c\u6240\u6709\u7684\u8bb0\u5f55\u663e\u793a\u5b8c\u6bd5\u540e\u89e6\u53d1 + * @event + */ + 'itemsshow' : false, + /** + * \u8bbe\u7f6e\u8bb0\u5f55\u540e\uff0c\u6240\u6709\u7684\u8bb0\u5f55\u663e\u793a\u524d\u89e6\u53d1 + * @event: + */ + 'beforeitemsshow' : false, + /** + * \u6e05\u7a7a\u6240\u6709\u8bb0\u5f55\uff0cDOM\u6e05\u7406\u5b8c\u6210\u540e + * @event + */ + 'itemsclear' : false, + /** + * \u6e05\u7a7a\u6240\u6709Dom\u524d\u89e6\u53d1 + * @event + */ + 'beforeitemsclear' : false + + } + } + }); + + domList.PARSER = { + items : function(el){ + var _self = this, + rst = [], + itemCls = _self.get('itemCls'), + dataField = _self.get('dataField'), + elements = el.find('.' + itemCls); + BUI.each(elements,function(element){ + var item = parseItem(element,_self); + rst.push(item); + $(element).data(dataField,item); + }); + //_self.setInternal('items',rst); + return rst; + } + }; + + BUI.augment(domList,List,Selection,{ + + //\u8bbe\u7f6e\u8bb0\u5f55 + _uiSetItems : function (items) { + var _self = this; + //\u4f7f\u7528srcNode \u7684\u65b9\u5f0f\uff0c\u4e0d\u540c\u6b65 + if(_self.get('srcNode') && !_self.get('rendered')){ + return; + } + this.setItems(items); + }, + __bindUI : function(){ + var _self = this, + selectedEvent = _self.get('selectedEvent'), + itemCls = _self.get('itemCls'), + itemContainer = _self.get('view').getItemContainer(); + + itemContainer.delegate('.'+itemCls,'click',function(ev){ + var itemEl = $(ev.currentTarget), + item = _self.getItemByElement(itemEl); + if(_self.isItemDisabled(item,itemEl)){ //\u7981\u7528\u72b6\u6001\u4e0b\u963b\u6b62\u9009\u4e2d + return; + } + var rst = _self.fire('itemclick',{item:item,element : itemEl[0],domTarget:ev.target}); + if(rst !== false && selectedEvent == 'click'){ + setItemSelectedStatus(item,itemEl); + } + }); + if(selectedEvent !== 'click'){ //\u5982\u679c\u9009\u4e2d\u4e8b\u4ef6\u4e0d\u7b49\u4e8eclick\uff0c\u5219\u8fdb\u884c\u76d1\u542c\u9009\u4e2d + itemContainer.delegate('.'+itemCls,selectedEvent,function(ev){ + var itemEl = $(ev.currentTarget), + item = _self.getItemByElement(itemEl); + if(_self.isItemDisabled(item,itemEl)){ //\u7981\u7528\u72b6\u6001\u4e0b\u963b\u6b62\u9009\u4e2d + return; + } + setItemSelectedStatus(item,itemEl); + }); + } + + itemContainer.delegate('.' + itemCls,'dblclick',function(ev){ + var itemEl = $(ev.currentTarget), + item = _self.getItemByElement(itemEl); + if(_self.isItemDisabled(item,itemEl)){ //\u7981\u7528\u72b6\u6001\u4e0b\u963b\u6b62\u9009\u4e2d + return; + } + _self.fire('itemdblclick',{item:item,element : itemEl[0],domTarget:ev.target}); + }); + + function setItemSelectedStatus(item,itemEl){ + var multipleSelect = _self.get('multipleSelect'), + isSelected; + isSelected = _self.isItemSelected(item,itemEl); + if(!isSelected){ + if(!multipleSelect){ + _self.clearSelected(); + } + _self.setItemSelected(item,true,itemEl); + }else if(multipleSelect){ + _self.setItemSelected(item,false,itemEl); + } + } + _self.on('itemrendered itemupdated',function(ev){ + var item = ev.item, + element = ev.element; + _self._syncItemStatus(item,element); + }); + }, + //\u83b7\u53d6\u503c\uff0c\u901a\u8fc7\u5b57\u6bb5 + getValueByField : function(item,field){ + return item && item[field]; + }, + //\u540c\u6b65\u9009\u9879\u72b6\u6001 + _syncItemStatus : function(item,element){ + var _self = this, + itemStatusFields = _self.get('itemStatusFields'); + BUI.each(itemStatusFields,function(v,k){ + _self.get('view').setItemStatusCls(k,element,item[v]); + }); + }, + /** + * @protected + * \u83b7\u53d6\u8bb0\u5f55\u4e2d\u7684\u72b6\u6001\u503c\uff0c\u672a\u5b9a\u4e49\u5219\u4e3aundefined + * @param {Object} item \u8bb0\u5f55 + * @param {String} status \u72b6\u6001\u540d + * @return {Boolean|undefined} + */ + getStatusValue : function(item,status){ + var _self = this, + itemStatusFields = _self.get('itemStatusFields'), + field = itemStatusFields[status]; + return item[field]; + }, + /** + * \u83b7\u53d6\u9009\u9879\u6570\u91cf + * @return {Number} \u9009\u9879\u6570\u91cf + */ + getCount : function(){ + var items = this.getItems(); + return items ? items.length : 0; + }, + /** + * \u66f4\u6539\u72b6\u6001\u503c\u5bf9\u5e94\u7684\u5b57\u6bb5 + * @protected + * @param {String} status \u72b6\u6001\u540d + * @return {String} \u72b6\u6001\u5bf9\u5e94\u7684\u5b57\u6bb5 + */ + getStatusField : function(status){ + var _self = this, + itemStatusFields = _self.get('itemStatusFields'); + return itemStatusFields[status]; + }, + /** + * \u8bbe\u7f6e\u8bb0\u5f55\u72b6\u6001\u503c + * @protected + * @param {Object} item \u8bb0\u5f55 + * @param {String} status \u72b6\u6001\u540d + * @param {Boolean} value \u72b6\u6001\u503c + */ + setStatusValue : function(item,status,value){ + var _self = this, + itemStatusFields = _self.get('itemStatusFields'), + field = itemStatusFields[status]; + if(field){ + item[field] = value; + } + }, + /** + * @ignore + * \u83b7\u53d6\u9009\u9879\u6587\u672c + */ + getItemText : function(item){ + var _self = this, + textGetter = _self.get('textGetter'); + if(!item) + { + return ''; + } + if(textGetter){ + return textGetter(item); + }else{ + return $(_self.findElement(item)).text(); + } + }, + /** + * \u5220\u9664\u9879 + * @param {Object} item \u9009\u9879\u8bb0\u5f55 + * @ignore + */ + removeItem : function (item) { + var _self = this, + items = _self.get('items'), + element = _self.findElement(item), + index; + index = BUI.Array.indexOf(item,items); + if(index !== -1){ + items.splice(index, 1); + } + _self.get('view').removeItem(item,element); + _self.fire('itemremoved',{item:item,domTarget: $(element)[0],element : element}); + }, + /** + * \u5728\u6307\u5b9a\u4f4d\u7f6e\u6dfb\u52a0\u9009\u9879,\u9009\u9879\u503c\u4e3a\u4e00\u4e2a\u5bf9\u8c61 + * @param {Object} item \u9009\u9879 + * @param {Number} index \u7d22\u5f15 + * @ignore + */ + addItemAt : function(item,index) { + var _self = this, + items = _self.get('items'); + if(index === undefined) { + index = items.length; + } + items.splice(index, 0, item); + _self.addItemToView(item,index); + return item; + }, + /** + * @protected + * \u76f4\u63a5\u5728View\u4e0a\u663e\u793a + * @param {Object} item \u9009\u9879 + * @param {Number} index \u7d22\u5f15 + * + */ + addItemToView : function(item,index){ + var _self = this, + element = _self.get('view').addItem(item,index); + _self.fire('itemrendered',{item:item,domTarget : $(element)[0],element : element}); + }, + /** + * \u66f4\u65b0\u5217\u8868\u9879 + * @param {Object} item \u9009\u9879\u503c + * @ignore + */ + updateItem : function(item){ + var _self = this, + element = _self.get('view').updateItem(item); + _self.fire('itemupdated',{item : item,domTarget : $(element)[0],element : element}); + }, + /** + * \u8bbe\u7f6e\u5217\u8868\u8bb0\u5f55 + *
          
          +     *   list.setItems(items);
          +     *   //\u7b49\u540c 
          +     *   list.set('items',items);
          +     * 
          + * @param {Array} items \u5217\u8868\u8bb0\u5f55 + */ + setItems : function(items){ + var _self = this; + //\u6e05\u7406\u5b50\u63a7\u4ef6 + _self.clearControl(); + _self.fire('beforeitemsshow'); + BUI.each(items,function(item,index){ + _self.addItemToView(item,index); + }); + _self.fire('itemsshow'); + }, + /** + * \u83b7\u53d6\u6240\u6709\u9009\u9879 + * @return {Array} \u9009\u9879\u96c6\u5408 + * @override + * @ignore + */ + getItems : function () { + + return this.get('items'); + }, + /** + * \u83b7\u53d6DOM\u7ed3\u6784\u4e2d\u7684\u6570\u636e + * @protected + * @param {HTMLElement} element DOM \u7ed3\u6784 + * @return {Object} \u8be5\u9879\u5bf9\u5e94\u7684\u503c + */ + getItemByElement : function(element){ + return this.get('view').getItemByElement(element); + }, + /** + * \u83b7\u53d6\u9009\u4e2d\u7684\u7b2c\u4e00\u9879, + *
          
          +     * var item = list.getSelected(); //\u591a\u9009\u6a21\u5f0f\u4e0b\u7b2c\u4e00\u6761
          +     * 
          + * @return {Object} \u9009\u4e2d\u7684\u7b2c\u4e00\u9879\u6216\u8005\u4e3anull + */ + getSelected : function(){ //this.getSelection()[0] \u7684\u65b9\u5f0f\u6548\u7387\u592a\u4f4e + var _self = this, + element = _self.get('view').getFirstElementByStatus('selected'); + return _self.getItemByElement(element) || null; + }, + /** + * \u6839\u636e\u72b6\u6001\u83b7\u53d6\u9009\u9879 + *
          
          +     *   //\u8bbe\u7f6e\u72b6\u6001
          +     *   list.setItemStatus(item,'active');
          +     *   
          +     *   //\u83b7\u53d6'active'\u72b6\u6001\u7684\u9009\u9879
          +     *   list.getItemsByStatus('active');
          +     * 
          + * @param {String} status \u72b6\u6001\u540d + * @return {Array} \u9009\u9879\u7ec4\u96c6\u5408 + */ + getItemsByStatus : function(status){ + var _self = this, + elements = _self.get('view').getElementsByStatus(status), + rst = []; + BUI.each(elements,function(element){ + rst.push(_self.getItemByElement(element)); + }); + return rst; + }, + /** + * \u67e5\u627e\u6307\u5b9a\u7684\u9879\u7684DOM\u7ed3\u6784 + *
          
          +     *   var item = list.getItem('2'); //\u83b7\u53d6\u9009\u9879
          +     *   var element = list.findElement(item);
          +     *   $(element).addClass('xxx');
          +     * 
          + * @param {Object} item + * @return {HTMLElement} element + */ + findElement : function(item){ + var _self = this; + if(BUI.isString(item)){ + item = _self.getItem(item); + } + return this.get('view').findElement(item); + }, + findItemByField : function(field,value){ + var _self = this, + items = _self.get('items'), + result = null; + BUI.each(items,function(item){ + if(item[field] === value){ + result = item; + return false; + } + }); + + return result; + }, + /** + * @override + * @ignore + */ + setItemSelectedStatus : function(item,selected,element){ + var _self = this; + element = element || _self.findElement(item); + //_self.get('view').setItemSelected(item,selected,element); + _self.setItemStatus(item,'selected',selected,element); + //_self.afterSelected(item,selected,element); + }, + /** + * \u8bbe\u7f6e\u6240\u6709\u9009\u9879\u9009\u4e2d + * @ignore + */ + setAllSelection : function(){ + var _self = this, + items = _self.getItems(); + _self.setSelection(items); + }, + /** + * \u9009\u9879\u662f\u5426\u88ab\u9009\u4e2d + *
          
          +     *   var item = list.getItem('2');
          +     *   if(list.isItemSelected(item)){
          +     *     //do something
          +     *   }
          +     * 
          + * @override + * @param {Object} item \u9009\u9879 + * @return {Boolean} \u662f\u5426\u9009\u4e2d + */ + isItemSelected : function(item,element){ + var _self = this; + element = element || _self.findElement(item); + + return _self.get('view').isElementSelected(element); + }, + /** + * \u662f\u5426\u9009\u9879\u88ab\u7981\u7528 + *
          
          +     * var item = list.getItem('2');
          +     * if(list.isItemDisabled(item)){ //\u5982\u679c\u9009\u9879\u7981\u7528
          +     *   //do something
          +     * }
          +     * 
          + * @param {Object} item \u9009\u9879 + * @return {Boolean} \u9009\u9879\u662f\u5426\u7981\u7528 + */ + isItemDisabled : function(item,element){ + return this.hasStatus(item,'disabled',element); + }, + /** + * \u8bbe\u7f6e\u9009\u9879\u7981\u7528 + *
          
          +     * var item = list.getItem('2');
          +     * list.setItemDisabled(item,true);//\u8bbe\u7f6e\u9009\u9879\u7981\u7528\uff0c\u4f1a\u5728DOM\u4e0a\u6dfb\u52a0 itemCls + 'disabled'\u7684\u6837\u5f0f
          +     * list.setItemDisabled(item,false); //\u53d6\u6d88\u7981\u7528\uff0c\u53ef\u4ee5\u7528{@link #itemStatusCls} \u6765\u66ff\u6362\u6837\u5f0f
          +     * 
          + * @param {Object} item \u9009\u9879 + */ + setItemDisabled : function(item,disabled){ + + var _self = this; + /*if(disabled){ + //\u6e05\u9664\u9009\u62e9 + _self.setItemSelected(item,false); + }*/ + _self.setItemStatus(item,'disabled',disabled); + }, + /** + * \u83b7\u53d6\u9009\u4e2d\u7684\u9879\u7684\u503c + * @override + * @return {Array} + * @ignore + */ + getSelection : function(){ + var _self = this, + elements = _self.get('view').getSelectedElements(), + rst = []; + BUI.each(elements,function(elem){ + rst.push(_self.getItemByElement(elem)); + }); + return rst; + }, + /** + * @protected + * @override + * \u6e05\u9664\u8005\u5217\u8868\u9879\u7684DOM + */ + clearControl : function(){ + this.fire('beforeitemsclear'); + this.get('view').clearControl(); + this.fire('itemsclear'); + }, + /** + * \u9009\u9879\u662f\u5426\u5b58\u5728\u67d0\u79cd\u72b6\u6001 + *
          
          +     * var item = list.getItem('2');
          +     * list.setItemStatus(item,'active',true);
          +     * list.hasStatus(item,'active'); //true
          +     *
          +     * list.setItemStatus(item,'active',false);
          +     * list.hasStatus(item,'false'); //true
          +     * 
          + * @param {*} item \u9009\u9879 + * @param {String} status \u72b6\u6001\u540d\u79f0\uff0c\u5982selected,hover,open\u7b49\u7b49 + * @param {HTMLElement} [element] \u9009\u9879\u5bf9\u5e94\u7684Dom\uff0c\u653e\u7f6e\u53cd\u590d\u67e5\u627e + * @return {Boolean} \u662f\u5426\u5177\u6709\u67d0\u79cd\u72b6\u6001 + */ + hasStatus : function(item,status,element){ + if(!item){ + return false; + } + var _self = this; + element = element || _self.findElement(item); + return _self.get('view').hasStatus(status,element); + }, + /** + * \u8bbe\u7f6e\u9009\u9879\u72b6\u6001,\u53ef\u4ee5\u8bbe\u7f6e\u4efb\u4f55\u81ea\u5b9a\u4e49\u72b6\u6001 + *
          
          +     * var item = list.getItem('2');
          +     * list.setItemStatus(item,'active',true);
          +     * list.hasStatus(item,'active'); //true
          +     *
          +     * list.setItemStatus(item,'active',false);
          +     * list.hasStatus(item,'false'); //true
          +     * 
          + * @param {*} item \u9009\u9879 + * @param {String} status \u72b6\u6001\u540d\u79f0 + * @param {Boolean} value \u72b6\u6001\u503c\uff0ctrue,false + * @param {HTMLElement} [element] \u9009\u9879\u5bf9\u5e94\u7684Dom\uff0c\u653e\u7f6e\u53cd\u590d\u67e5\u627e + */ + setItemStatus : function(item,status,value,element){ + var _self = this; + if(item){ + element = element || _self.findElement(item); + } + + if(!_self.isItemDisabled(item,element) || status === 'disabled'){ //\u7981\u7528\u540e\uff0c\u963b\u6b62\u6dfb\u52a0\u4efb\u4f55\u72b6\u6001\u53d8\u5316 + if(item){ + if(status === 'disabled' && value){ //\u7981\u7528\uff0c\u540c\u65f6\u6e05\u7406\u5176\u4ed6\u72b6\u6001 + _self.clearItemStatus(item); + } + _self.setStatusValue(item,status,value); + _self.get('view').setItemStatusCls(status,element,value); + _self.fire('itemstatuschange',{item : item,status : status,value : value,element : element}); + } + + if(status === 'selected'){ //\u5904\u7406\u9009\u4e2d + _self.afterSelected(item,value,element); + } + } + + }, + /** + * \u6e05\u9664\u6240\u6709\u9009\u9879\u72b6\u6001,\u5982\u679c\u6307\u5b9a\u6e05\u9664\u7684\u72b6\u6001\u540d\uff0c\u5219\u6e05\u9664\u6307\u5b9a\u7684\uff0c\u5426\u5219\u6e05\u9664\u6240\u6709\u72b6\u6001 + * @param {Object} item \u9009\u9879 + */ + clearItemStatus : function(item,status,element){ + var _self = this, + itemStatusFields = _self.get('itemStatusFields'); + element = element || _self.findElement(item); + + if(status){ + _self.setItemStatus(item,status,false,element); + }else{ + BUI.each(itemStatusFields,function(v,k){ + _self.setItemStatus(item,k,false,element); + }); + if(!itemStatusFields['selected']){ + _self.setItemSelected(item,false); + } + //\u79fb\u9664hover\u72b6\u6001 + _self.setItemStatus(item,'hover',false); + } + + } + }); + + domList.View = domListView; + + return domList; +});/** + * @fileOverview \u5217\u8868\u9009\u9879\uff0c\u4f7f\u7528\u952e\u76d8\u5bfc\u822a + * @author dxq613@gmail.com + * @ignore + */ + +define('bui/list/keynav',function () { + 'use strict'; + /** + * @class BUI.List.KeyNav + * \u5217\u8868\u5bfc\u822a\u6269\u5c55\u7c7b + */ + var KeyNav = function(){}; + + KeyNav.ATTRS = { + /** + * \u9009\u9879\u9ad8\u4eae\u4f7f\u7528\u7684\u72b6\u6001,\u6709\u4e9b\u573a\u666f\u4e0b\uff0c\u4f7f\u7528selected\u66f4\u5408\u9002 + * @cfg {String} [highlightedStatus='hover'] + */ + highlightedStatus : { + value : 'hover' + } + }; + + BUI.augment(KeyNav,{ + + /** + * \u8bbe\u7f6e\u9009\u9879\u9ad8\u4eae\uff0c\u9ed8\u8ba4\u4f7f\u7528 'hover' \u72b6\u6001 + * @param {Object} item \u9009\u9879 + * @param {Boolean} value \u72b6\u6001\u503c\uff0ctrue,false + * @protected + */ + setHighlighted : function(item,element){ + if(this.hasStatus(item,'hover',element)){ + return; + } + var _self = this, + highlightedStatus = _self.get('highlightedStatus'), + lightedElement = _self._getHighLightedElement(), + lightedItem = lightedElement ? _self.getItemByElement(lightedElement) : null; + if(lightedItem !== item){ + if(lightedItem){ + this.setItemStatus(lightedItem,highlightedStatus,false,lightedElement); + } + this.setItemStatus(item,highlightedStatus,true,element); + } + }, + _getHighLightedElement : function(){ + var _self = this, + highlightedStatus = _self.get('highlightedStatus'), + element = _self.get('view').getFirstElementByStatus(highlightedStatus); + return element; + }, + /** + * \u83b7\u53d6\u9ad8\u4eae\u7684\u9009\u9879 + * @return {Object} item + * @protected + */ + getHighlighted : function(){ + var _self = this, + highlightedStatus = _self.get('highlightedStatus'), + element = _self.get('view').getFirstElementByStatus(highlightedStatus); + return _self.getItemByElement(element) || null; + }, + /** + * \u83b7\u53d6\u5217\u6570 + * @return {Number} \u9009\u9879\u7684\u5217\u6570,\u9ed8\u8ba4\u4e3a1\u5217 + * @protected + */ + getColumnCount : function(){ + var _self = this, + firstItem = _self.getFirstItem(), + element = _self.findElement(firstItem), + node = $(element); + if(element){ + return parseInt(node.parent().width() / node.outerWidth(),10); + } + return 1; + }, + /** + * \u83b7\u53d6\u9009\u9879\u7684\u884c\u6570 \uff0c\u603b\u6570/\u5217\u6570 = list.getCount / column + * @protected + * @return {Number} \u9009\u9879\u884c\u6570 + */ + getRowCount : function(columns){ + var _self = this; + columns = columns || _self.getColumnCount(); + return (this.getCount() + columns - 1) / columns; + }, + _getNextItem : function(forward,skip,count){ + var _self = this, + currentIndx = _self._getCurrentIndex(),//\u9ed8\u8ba4\u7b2c\u4e00\u884c + itemCount = _self.getCount(), + factor = forward ? 1 : -1, + nextIndex; + if(currentIndx === -1){ + return forward ? _self.getFirstItem() : _self.getLastItem(); + } + if(!forward){ + skip = skip * factor; + } + nextIndex = (currentIndx + skip + count) % count; + if(nextIndex > itemCount - 1){ //\u5982\u679c\u4f4d\u7f6e\u8d85\u51fa\u7d22\u5f15\u4f4d\u7f6e + if(forward){ + nextIndex = nextIndex - (itemCount - 1); + }else{ + nextIndex = nextIndex + skip; + } + + } + return _self.getItemAt(nextIndex); + }, + //\u83b7\u53d6\u5de6\u8fb9\u4e00\u9879 + _getLeftItem : function(){ + var _self = this, + count = _self.getCount(), + column = _self.getColumnCount(); + if(!count || column <= 1){ //\u5355\u5217\u65f6,\u6216\u8005\u4e3a0\u65f6 + return null; + } + return _self._getNextItem(false,1,count); + }, + //\u83b7\u53d6\u5f53\u524d\u9879 + _getCurrentItem : function(){ + return this.getHighlighted(); + }, + //\u83b7\u53d6\u5f53\u524d\u9879 + _getCurrentIndex : function(){ + var _self = this, + item = _self._getCurrentItem(); + return this.indexOfItem(item); + }, + //\u83b7\u53d6\u53f3\u8fb9\u4e00\u9879 + _getRightItem : function(){ + var _self = this, + count = _self.getCount(), + column = _self.getColumnCount(); + if(!count || column <= 1){ //\u5355\u5217\u65f6,\u6216\u8005\u4e3a0\u65f6 + return null; + } + return this._getNextItem(true,1,count); + }, + //\u83b7\u53d6\u4e0b\u9762\u4e00\u9879 + _getDownItem : function(){ + var _self = this, + columns = _self.getColumnCount(), + rows = _self.getRowCount(columns); + if(rows <= 1){ //\u5355\u884c\u6216\u8005\u4e3a0\u65f6 + return null; + } + return this._getNextItem(true,columns,columns * rows); + + }, + //\u83b7\u53d6\u4e0a\u9762\u4e00\u9879 + _getUpperItem : function(){ + var _self = this, + columns = _self.getColumnCount(), + rows = _self.getRowCount(columns); + if(rows <= 1){ //\u5355\u884c\u6216\u8005\u4e3a0\u65f6 + return null; + } + return this._getNextItem(false,columns,columns * rows); + }, + /** + * \u5904\u7406\u5411\u4e0a\u5bfc\u822a + * @protected + * @param {jQuery.Event} ev \u4e8b\u4ef6\u5bf9\u8c61 + */ + handleNavUp : function (ev) { + var _self = this, + upperItem = _self._getUpperItem(); + _self.setHighlighted(upperItem); + }, + /** + * \u5904\u7406\u5411\u4e0b\u5bfc\u822a + * @protected + * @param {jQuery.Event} ev \u4e8b\u4ef6\u5bf9\u8c61 + */ + handleNavDown : function (ev) { + this.setHighlighted(this._getDownItem()); + }, + /** + * \u5904\u7406\u5411\u5de6\u5bfc\u822a + * @protected + * @param {jQuery.Event} ev \u4e8b\u4ef6\u5bf9\u8c61 + */ + handleNavLeft : function (ev) { + this.setHighlighted(this._getLeftItem()); + }, + + /** + * \u5904\u7406\u5411\u53f3\u5bfc\u822a + * @protected + * @param {jQuery.Event} ev \u4e8b\u4ef6\u5bf9\u8c61 + */ + handleNavRight : function (ev) { + this.setHighlighted(this._getRightItem()); + }, + /** + * \u5904\u7406\u786e\u8ba4\u952e + * @protected + * @param {jQuery.Event} ev \u4e8b\u4ef6\u5bf9\u8c61 + */ + handleNavEnter : function (ev) { + var _self = this, + current = _self._getCurrentItem(); + if(current){ + _self.setSelected(current); + } + }, + /** + * \u5904\u7406 esc \u952e + * @protected + * @param {jQuery.Event} ev \u4e8b\u4ef6\u5bf9\u8c61 + */ + handleNavEsc : function (ev) { + this.setHighlighted(null); //\u79fb\u9664 + }, + /** + * \u5904\u7406Tab\u952e + * @param {jQuery.Event} ev \u4e8b\u4ef6\u5bf9\u8c61 + */ + handleNavTab : function(ev){ + this.setHighlighted(this._getRightItem()); + } + + }); + + return KeyNav; +});/** + * @fileOverview \u7b80\u5355\u5217\u8868\uff0c\u76f4\u63a5\u4f7f\u7528DOM\u4f5c\u4e3a\u5217\u8868\u9879 + * @ignore + */ + +define('bui/list/simplelist',['bui/common','bui/list/domlist','bui/list/keynav'],function (require) { + + /** + * @name BUI.List + * @namespace \u5217\u8868\u547d\u540d\u7a7a\u95f4 + * @ignore + */ + var BUI = require('bui/common'), + UIBase = BUI.Component.UIBase, + DomList = require('bui/list/domlist'), + KeyNav = require('bui/list/keynav'), + CLS_ITEM = BUI.prefix + 'list-item'; + + /** + * @class BUI.List.SimpleListView + * \u7b80\u5355\u5217\u8868\u89c6\u56fe\u7c7b + * @extends BUI.Component.View + */ + var simpleListView = BUI.Component.View.extend([DomList.View],{ + + setElementHover : function(element,hover){ + var _self = this; + + _self.setItemStatusCls('hover',element,hover); + } + + },{ + ATTRS : { + itemContainer : { + valueFn : function(){ + return this.get('el').find(this.get('listSelector')); + } + } + } + },{ + xclass:'simple-list-view' + }); + + /** + * \u7b80\u5355\u5217\u8868\uff0c\u7528\u4e8e\u663e\u793a\u7b80\u5355\u6570\u636e + *

          + * + *

          + * xclass:'simple-list' + * ## \u663e\u793a\u9759\u6001\u6570\u7ec4\u7684\u6570\u636e + * + * ** \u6700\u7b80\u5355\u7684\u5217\u8868 ** + *
          
          +   * 
          +   * BUI.use('bui/list',function(List){
          +   *   var list = new List.SimpleList({
          +   *     render : '#t1',
          +   *     items : [{value : '1',text : '1'},{value : '2',text : '2'}]
          +   *   });
          +   *   list.render();
          +   * });
          +   * 
          +   * 
          + * + * ** \u81ea\u5b9a\u4e49\u6a21\u677f\u7684\u5217\u8868 ** + *
          
          +   * 
          +   * BUI.use('bui/list',function(List){
          +   *   var list = new List.SimpleList({
          +   *     render : '#t1',
          +   *     items : [{value : '1',text : '1'},{value : '2',text : '2'}]
          +   *   });
          +   *   list.render();
          +   * });
          +   * 
          +   * 
          + * + * @class BUI.List.SimpleList + * @extends BUI.Component.Controller + * @mixins BUI.List.DomList + * @mixins BUI.List.KeyNav + * @mixins BUI.Component.UIBase.Bindable + */ + var simpleList = BUI.Component.Controller.extend([DomList,UIBase.Bindable,KeyNav], + /** + * @lends BUI.List.SimpleList.prototype + * @ignore + */ + { + /** + * @protected + * @ignore + */ + bindUI : function(){ + var _self = this, + itemCls = _self.get('itemCls'), + itemContainer = _self.get('view').getItemContainer(); + + itemContainer.delegate('.'+itemCls,'mouseover',function(ev){ + var element = ev.currentTarget, + item = _self.getItemByElement(element); + if(_self.isItemDisabled(ev.item,ev.currentTarget)){ //\u5982\u679c\u7981\u7528 + return; + } + + if(_self.get('highlightedStatus') === 'hover'){ + _self.setHighlighted(item,element) + }else{ + _self.setItemStatus(item,'hover',true,element); + } + }).delegate('.'+itemCls,'mouseout',function(ev){ + var sender = $(ev.currentTarget); + _self.get('view').setElementHover(sender,false); + }); + }, + /** + * \u6dfb\u52a0 + * @protected + */ + onAdd : function(e){ + var _self = this, + item = e.record; + _self.addItemToView(item,e.index); + }, + /** + * \u5220\u9664 + * @protected + */ + onRemove : function(e){ + var _self = this, + item = e.record; + _self.removeItem(item); + }, + /** + * \u66f4\u65b0 + * @protected + */ + onUpdate : function(e){ + this.updateItem(e.record); + }, + /** + * \u672c\u5730\u6392\u5e8f + * @protected + */ + onLocalSort : function(e){ + this.onLoad(e); + }, + /** + * \u52a0\u8f7d\u6570\u636e + * @protected + */ + onLoad:function(){ + var _self = this, + store = _self.get('store'), + items = store.getResult(); + _self.set('items',items); + } + },{ + ATTRS : + /** + * @lends BUI.List.SimpleList# + * @ignore + */ + { + /** + * \u9009\u9879\u96c6\u5408 + * @protected + * @type {Array} + */ + items : { + view:true, + value : [] + }, + /** + * \u9009\u9879\u7684\u6837\u5f0f\uff0c\u7528\u6765\u83b7\u53d6\u5b50\u9879 + *
          
          +       * var list = new List.SimpleList({
          +       *   render : '#t1',
          +       *   itemCls : 'my-item', //\u81ea\u5b9a\u4e49\u6837\u5f0f\u540d\u79f0
          +       *   items : [{id : '1',text : '1',type : '0'},{id : '2',text : '2',type : '1'}]
          +       * });
          +       * list.render();
          +       * 
          + * @cfg {Object} [itemCl='list-item'] + */ + itemCls : { + view:true, + value : CLS_ITEM + }, + /** + * \u9009\u9879\u7684\u9ed8\u8ba4id\u5b57\u6bb5 + *
          
          +       * var list = new List.SimpleList({
          +       *   render : '#t1',
          +       *   idField : 'id', //\u81ea\u5b9a\u4e49\u9009\u9879 id \u5b57\u6bb5
          +       *   items : [{id : '1',text : '1',type : '0'},{id : '2',text : '2',type : '1'}]
          +       * });
          +       * list.render();
          +       *
          +       * list.getItem('1'); //\u4f7f\u7528idField\u6307\u5b9a\u7684\u5b57\u6bb5\u8fdb\u884c\u67e5\u627e
          +       * 
          + * @cfg {String} [idField = 'value'] + */ + idField : { + value : 'value' + }, + /** + * \u5217\u8868\u7684\u9009\u62e9\u5668\uff0c\u5c06\u5217\u8868\u9879\u9644\u52a0\u5230\u6b64\u8282\u70b9 + * @protected + * @type {Object} + */ + listSelector:{ + view:true, + value:'ul' + }, + /** + * \u5217\u8868\u9879\u7684\u9ed8\u8ba4\u6a21\u677f\u3002 + *
          
          +       * var list = new List.SimpleList({
          +       *   itemTpl : '<li id="{value}">{text}</li>', //\u5217\u8868\u9879\u7684\u6a21\u677f
          +       *   idField : 'value',
          +       *   render : '#t1',
          +       *   items : [{value : '1',text : '1'},{value : '2',text : '2'}]
          +       * });
          +       * list.render();
          +       * 
          + * @cfg {String} [itemTpl ='<li role="option" class="bui-list-item" data-value="{value}">{text}</li>'] + */ + + itemTpl :{ + view : true, + value : '
        • {text}
        • ' + }, + tpl : { + value:'
            ' + }, + xview:{ + value : simpleListView + } + } + },{ + xclass : 'simple-list', + prority : 0 + }); + + simpleList.View = simpleListView; + return simpleList; +});/** + * @fileOverview \u53ef\u9009\u62e9\u7684\u5217\u8868 + * @author dengbin + * @ignore + */ + +define('bui/list/listbox',['bui/list/simplelist'],function (require) { + var SimpleList = require('bui/list/simplelist'); + /** + * \u5217\u8868\u9009\u62e9\u6846 + * @extends BUI.List.SimpleList + * @class BUI.List.Listbox + */ + var listbox = SimpleList.extend({ + bindUI : function(){ + var _self = this; + + _self.on('selectedchange',function(e){ + var item = e.item, + sender = $(e.domTarget), + checkbox =sender.find('input'); + if(item){ + checkbox.attr('checked',e.selected); + } + }); + } + },{ + ATTRS : { + /** + * \u9009\u9879\u6a21\u677f + * @override + * @type {String} + */ + itemTpl : { + value : '
          • {text}
          • ' + }, + /** + * \u9009\u9879\u6a21\u677f + * @override + * @type {Boolean} + */ + multipleSelect : { + value : true + } + } + },{ + xclass: 'listbox' + }); + + return listbox; +});/** + * @fileOverview \u5217\u8868\u9879 + * @author dxq613@gmail.com + * @ignore + */ +define('bui/list/listitem',function ($) { + + + var Component = BUI.Component, + UIBase = Component.UIBase; + + /** + * @private + * @class BUI.List.ItemView + * @extends BUI.Component.View + * @extends BUI.Component.View + * @mixins BUI.Component.UIBase.ListItemView + * \u5217\u8868\u9879\u7684\u89c6\u56fe\u5c42\u5bf9\u8c61 + */ + var itemView = Component.View.extend([UIBase.ListItemView],{ + }); + + /** + * \u5217\u8868\u9879 + * @private + * @class BUI.List.ListItem + * @extends BUI.Component.Controller + * @mixins BUI.Component.UIBase.ListItem + */ + var item = Component.Controller.extend([UIBase.ListItem],{ + + },{ + ATTRS : + /** + * @lends BUI.List.Item# + * @ignore + */ + { + elTagName:{ + view:true, + value:'li' + }, + xview:{ + value:itemView + }, + tpl:{ + view:true, + value:'{text}' + } + } + },{ + xclass:'list-item' + }); + + item.View = itemView; + + return item; +});/** + * @fileOverview \u5217\u8868 + * @ignore + */ +define('bui/list/list',function (require) { + + var Component = BUI.Component, + UIBase = Component.UIBase; + + /** + * \u5217\u8868 + *

            + * + *

            + * xclass:'list' + * @class BUI.List.List + * @extends BUI.Component.Controller + * @mixins BUI.Component.UIBase.ChildList + */ + var list = Component.Controller.extend([UIBase.ChildList],{ + + },{ + ATTRS : + /** + * @lends BUI.List.List# + * @ignore + */ + { + elTagName:{ + view:true, + value:'ul' + }, + idField:{ + value:'id' + }, + /** + * \u5b50\u7c7b\u7684\u9ed8\u8ba4\u7c7b\u540d\uff0c\u5373\u7c7b\u7684 xclass + * @type {String} + * @override + * @default 'list-item' + */ + defaultChildClass : { + value : 'list-item' + } + } + },{ + xclass:'list' + }); + + return list; +});/** + * @fileOverview Picker\u7684\u5165\u53e3 + * @author dxq613@gmail.com + * @ignore + */ + +define('bui/picker',['bui/common','bui/picker/picker','bui/picker/listpicker'],function (require) { + var BUI = require('bui/common'), + Picker = BUI.namespace('Picker'); + + BUI.mix(Picker,{ + Picker : require('bui/picker/picker'), + ListPicker : require('bui/picker/listpicker') + }); + + return Picker; +});/** + * @fileOverview \u9009\u62e9\u5668 + * @ignore + */ + +define('bui/picker/picker',['bui/overlay'],function (require) { + + var Overlay = require('bui/overlay').Overlay; + + /** + * \u9009\u62e9\u5668\u63a7\u4ef6\u7684\u57fa\u7c7b\uff0c\u5f39\u51fa\u4e00\u4e2a\u5c42\u6765\u9009\u62e9\u6570\u636e\uff0c\u4e0d\u8981\u4f7f\u7528\u6b64\u7c7b\u521b\u5efa\u63a7\u4ef6\uff0c\u4ec5\u7528\u4e8e\u7ee7\u627f\u5b9e\u73b0\u63a7\u4ef6 + * xclass : 'picker' + *
            
            +   * BUI.use(['bui/picker','bui/list'],function(Picker,List){
            +   *
            +   * var items = [
            +   *       {text:'\u9009\u98791',value:'a'},
            +   *       {text:'\u9009\u98792',value:'b'},
            +   *      {text:'\u9009\u98793',value:'c'}
            +   *     ],
            +   *   list = new List.SimpleList({
            +   *     elCls:'bui-select-list',
            +   *     items : items
            +   *   }),
            +   *   picker = new Picker.ListPicker({
            +   *     trigger : '#show',  
            +   *     valueField : '#hide', //\u5982\u679c\u9700\u8981\u5217\u8868\u8fd4\u56de\u7684value\uff0c\u653e\u5728\u9690\u85cf\u57df\uff0c\u90a3\u4e48\u6307\u5b9a\u9690\u85cf\u57df
            +   *     width:100,  //\u6307\u5b9a\u5bbd\u5ea6
            +   *     children : [list] //\u914d\u7f6epicker\u5185\u7684\u5217\u8868
            +   *   });
            +   * picker.render();
            +   * });
            +   * 
            + * @abstract + * @class BUI.Picker.Picker + * @extends BUI.Overlay.Overlay + */ + var picker = Overlay.extend({ + + bindUI : function(){ + var _self = this, + innerControl = _self.get('innerControl'), + hideEvent = _self.get('hideEvent'), + trigger = $(_self.get('trigger')); + + trigger.on(_self.get('triggerEvent'),function(e){ + if(_self.get('autoSetValue')){ + var valueField = _self.get('valueField') || _self.get('textField') || this, + val = $(valueField).val(); + _self.setSelectedValue(val); + } + }); + + innerControl.on(_self.get('changeEvent'),function(e){ + var curTrigger = _self.get('curTrigger'), + textField = _self.get('textField') || curTrigger, + valueField = _self.get('valueField'), + selValue = _self.getSelectedValue(), + isChange = false; + + if(textField){ + var selText = _self.getSelectedText(), + preText = $(textField).val(); + if(selText != preText){ + $(textField).val(selText); + isChange = true; + } + } + + if(valueField){ + var preValue = $(valueField).val(); + if(valueField != preValue){ + $(valueField).val(selValue); + isChange = true; + } + } + if(isChange){ + _self.onChange(selText,selValue,e); + } + }); + if(hideEvent){ + innerControl.on(_self.get('hideEvent'),function(){ + var curTrigger = _self.get('curTrigger'); + try{ //\u9690\u85cf\u65f6\uff0c\u5728ie6,7\u4e0b\u4f1a\u62a5\u9519 + if(curTrigger){ + curTrigger.focus(); + } + }catch(e){ + BUI.log(e); + } + _self.hide(); + }); + } + }, + /** + * \u8bbe\u7f6e\u9009\u4e2d\u7684\u503c + * @template + * @protected + * @param {String} val \u8bbe\u7f6e\u503c + */ + setSelectedValue : function(val){ + + }, + /** + * \u83b7\u53d6\u9009\u4e2d\u7684\u503c\uff0c\u591a\u9009\u72b6\u6001\u4e0b\uff0c\u503c\u4ee5','\u5206\u5272 + * @template + * @protected + * @return {String} \u9009\u4e2d\u7684\u503c + */ + getSelectedValue : function(){ + + }, + /** + * \u83b7\u53d6\u9009\u4e2d\u9879\u7684\u6587\u672c\uff0c\u591a\u9009\u72b6\u6001\u4e0b\uff0c\u6587\u672c\u4ee5','\u5206\u5272 + * @template + * @protected + * @return {String} \u9009\u4e2d\u7684\u6587\u672c + */ + getSelectedText : function(){ + + }, + /** + * @protected + * \u53d1\u751f\u6539\u53d8 + */ + onChange : function(selText,selValue,ev){ + var _self = this, + curTrigger = _self.get('curTrigger'); + _self.fire('selectedchange',{value : selValue,text : selText,curTrigger : curTrigger}); + }, + _uiSetValueField : function(v){ + var _self = this; + if(v){ + _self.setSelectedValue($(v).val()); + } + }, + _getTextField : function(){ + var _self = this; + return _self.get('textField') || _self.get('curTrigger'); + } + },{ + ATTRS : { + + /** + * \u7528\u4e8e\u9009\u62e9\u7684\u63a7\u4ef6\uff0c\u9ed8\u8ba4\u4e3a\u7b2c\u4e00\u4e2a\u5b50\u5143\u7d20,\u6b64\u63a7\u4ef6\u5b9e\u73b0 @see {BUI.Component.UIBase.Selection} \u63a5\u53e3 + * @protected + * @type {Object|BUI.Component.Controller} + */ + innerControl : { + getter:function(){ + return this.get('children')[0]; + } + }, + /** + * \u663e\u793a\u9009\u62e9\u5668\u7684\u4e8b\u4ef6 + * @cfg {String} [triggerEvent='click'] + */ + /** + * \u663e\u793a\u9009\u62e9\u5668\u7684\u4e8b\u4ef6 + * @type {String} + * @default 'click' + */ + triggerEvent:{ + value:'click' + }, + /** + * \u9009\u62e9\u5668\u9009\u4e2d\u7684\u9879\uff0c\u662f\u5426\u968f\u7740\u89e6\u53d1\u5668\u6539\u53d8 + * @cfg {Boolean} [autoSetValue=true] + */ + /** + * \u9009\u62e9\u5668\u9009\u4e2d\u7684\u9879\uff0c\u662f\u5426\u968f\u7740\u89e6\u53d1\u5668\u6539\u53d8 + * @type {Boolean} + */ + autoSetValue : { + value : true + }, + /** + * \u9009\u62e9\u53d1\u751f\u6539\u53d8\u7684\u4e8b\u4ef6 + * @cfg {String} [changeEvent='selectedchange'] + */ + /** + * \u9009\u62e9\u53d1\u751f\u6539\u53d8\u7684\u4e8b\u4ef6 + * @type {String} + */ + changeEvent : { + value:'selectedchange' + }, + /** + * \u81ea\u52a8\u9690\u85cf + * @type {Boolean} + * @override + */ + autoHide:{ + value : true + }, + /** + * \u9690\u85cf\u9009\u62e9\u5668\u7684\u4e8b\u4ef6 + * @protected + * @type {String} + */ + hideEvent:{ + value:'itemclick' + }, + /** + * \u8fd4\u56de\u7684\u6587\u672c\u653e\u5728\u7684DOM\uff0c\u4e00\u822c\u662finput + * @cfg {String|HTMLElement|jQuery} textField + */ + /** + * \u8fd4\u56de\u7684\u6587\u672c\u653e\u5728\u7684DOM\uff0c\u4e00\u822c\u662finput + * @type {String|HTMLElement|jQuery} + */ + textField : { + + }, + align : { + value : { + points: ['bl','tl'], // ['tr', 'tl'] \u8868\u793a overlay \u7684 tl \u4e0e\u53c2\u8003\u8282\u70b9\u7684 tr \u5bf9\u9f50 + offset: [0, 0] // \u6709\u6548\u503c\u4e3a [n, m] + } + }, + /** + * \u8fd4\u56de\u7684\u503c\u653e\u7f6eDOM ,\u4e00\u822c\u662finput + * @cfg {String|HTMLElement|jQuery} valueField + */ + /** + * \u8fd4\u56de\u7684\u503c\u653e\u7f6eDOM ,\u4e00\u822c\u662finput + * @type {String|HTMLElement|jQuery} + */ + valueField:{ + + } + /** + * @event selectedchange + * \u9009\u4e2d\u503c\u6539\u53d8\u4e8b\u4ef6 + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {String} text \u9009\u4e2d\u7684\u6587\u672c + * @param {string} value \u9009\u4e2d\u7684\u503c + * @param {jQuery} curTrigger \u5f53\u524d\u89e6\u53d1picker\u7684\u5143\u7d20 + */ + } + },{ + xclass:'picker' + }); + + return picker; +});/** + * @fileOverview \u5217\u8868\u9879\u7684\u9009\u62e9\u5668 + * @ignore + */ + +define('bui/picker/listpicker',['bui/picker/picker','bui/list'],function (require) { + + var List = require('bui/list'), + Picker = require('bui/picker/picker'), + /** + * \u5217\u8868\u9009\u62e9\u5668,xclass = 'list-picker' + *
            
            +     * BUI.use(['bui/picker'],function(Picker){
            +     *
            +     * var items = [
            +     *       {text:'\u9009\u98791',value:'a'},
            +     *       {text:'\u9009\u98792',value:'b'},
            +     *      {text:'\u9009\u98793',value:'c'}
            +     *     ],
            +     *   picker = new Picker.ListPicker({
            +     *     trigger : '#show',  
            +     *     valueField : '#hide', //\u5982\u679c\u9700\u8981\u5217\u8868\u8fd4\u56de\u7684value\uff0c\u653e\u5728\u9690\u85cf\u57df\uff0c\u90a3\u4e48\u6307\u5b9a\u9690\u85cf\u57df
            +     *     width:100,  //\u6307\u5b9a\u5bbd\u5ea6
            +     *     children : [{
            +     *        elCls:'bui-select-list',
            +     *        items : items
            +     *     }] //\u914d\u7f6epicker\u5185\u7684\u5217\u8868
            +     *   });
            +     * picker.render();
            +     * });
            +     * 
            + * @class BUI.Picker.ListPicker + * @extends BUI.Picker.Picker + */ + listPicker = Picker.extend({ + initializer : function(){ + var _self = this, + children = _self.get('children'), + list = _self.get('list'); + if(!list){ + children.push({ + + }); + } + }, + /** + * \u8bbe\u7f6e\u9009\u4e2d\u7684\u503c + * @override + * @protected + * @param {String} val \u8bbe\u7f6e\u503c + */ + setSelectedValue : function(val){ + val = val ? val.toString() : ''; + var _self = this, + list = _self.get('list'), + selectedValue = _self.getSelectedValue(); + if(val !== selectedValue && list.getCount()){ + if(list.get('multipleSelect')){ + list.clearSelection(); + } + list.setSelectionByField(val.split(',')); + } + }, + /** + * @protected + * @ignore + */ + onChange : function(selText,selValue,ev){ + var _self = this, + curTrigger = _self.get('curTrigger'); + _self.fire('selectedchange',{value : selValue,text : selText,curTrigger : curTrigger,item : ev.item}); + }, + /** + * \u83b7\u53d6\u9009\u4e2d\u7684\u503c\uff0c\u591a\u9009\u72b6\u6001\u4e0b\uff0c\u503c\u4ee5','\u5206\u5272 + * @protected + * @return {String} \u9009\u4e2d\u7684\u503c + */ + getSelectedValue : function(){ + return this.get('list').getSelectionValues().join(','); + }, + /** + * \u83b7\u53d6\u9009\u4e2d\u9879\u7684\u6587\u672c\uff0c\u591a\u9009\u72b6\u6001\u4e0b\uff0c\u6587\u672c\u4ee5','\u5206\u5272 + * @protected + * @return {String} \u9009\u4e2d\u7684\u6587\u672c + */ + getSelectedText : function(){ + return this.get('list').getSelectionText().join(','); + } + },{ + ATTRS : { + /** + * \u9ed8\u8ba4\u5b50\u63a7\u4ef6\u7684\u6837\u5f0f,\u9ed8\u8ba4\u4e3a'simple-list' + * @type {String} + * @override + */ + defaultChildClass:{ + value : 'simple-list' + }, + /** + * \u9009\u62e9\u7684\u5217\u8868 + *
            
            +         *  var list = picker.get('list');
            +         *  list.getSelected();
            +         * 
            + * @type {BUI.List.SimpleList} + * @readOnly + */ + list : { + getter:function(){ + return this.get('children')[0]; + } + } + /** + * @event selectedchange + * \u9009\u62e9\u53d1\u751f\u6539\u53d8\u4e8b\u4ef6 + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {String} e.text \u9009\u4e2d\u7684\u6587\u672c + * @param {string} e.value \u9009\u4e2d\u7684\u503c + * @param {Object} e.item \u53d1\u751f\u6539\u53d8\u7684\u9009\u9879 + * @param {jQuery} e.curTrigger \u5f53\u524d\u89e6\u53d1picker\u7684\u5143\u7d20 + */ + } + },{ + xclass : 'list-picker' + }); + + return listPicker; +});/** + * @fileOverview form \u547d\u540d\u7a7a\u95f4\u5165\u53e3 + * @ignore + */ +;(function(){ +var BASE = 'bui/form/'; +define('bui/form',['bui/common',BASE + 'fieldcontainer',BASE + 'form',BASE + 'row',BASE + 'fieldgroup',BASE + 'horizontal',BASE + 'rules',BASE + 'field',BASE + 'fieldgroup'],function (r) { + var BUI = r('bui/common'), + Form = BUI.namespace('Form'), + Tips = r(BASE + 'tips'); + + BUI.mix(Form,{ + Tips : Tips, + TipItem : Tips.Item, + FieldContainer : r(BASE + 'fieldcontainer'), + Form : r(BASE + 'form'), + Row : r(BASE + 'row'), + Group : r(BASE + 'fieldgroup'), + HForm : r(BASE + 'horizontal'), + Rules : r(BASE + 'rules'), + Field : r(BASE + 'field'), + FieldGroup : r(BASE + 'fieldgroup') + }); + return Form; +}); +})(); +/** + * @fileOverview \u8f93\u5165\u63d0\u793a\u4fe1\u606f + * @author dxq613@gmail.com + * @ignore + */ + +define('bui/form/tips',['bui/common','bui/overlay'],function (require) { + + var BUI = require('bui/common'), + prefix = BUI.prefix, + Overlay = require('bui/overlay').Overlay, + FIELD_TIP = 'data-tip', + CLS_TIP_CONTAINER = prefix + 'form-tip-container'; + + /** + * \u8868\u5355\u63d0\u793a\u4fe1\u606f\u7c7b + * xclass:'form-tip' + * @class BUI.Form.TipItem + * @extends BUI.Overlay.Overlay + */ + var tipItem = Overlay.extend( + /** + * @lends BUI.Form.TipItem.prototype + * @ignore + */ + { + initializer : function(){ + var _self = this, + render = _self.get('render'); + if(!render){ + var parent = $(_self.get('trigger')).parent(); + _self.set('render',parent); + } + }, + renderUI : function(){ + var _self = this; + + _self.resetVisible(); + + }, + /** + * \u91cd\u7f6e\u662f\u5426\u663e\u793a + */ + resetVisible : function(){ + var _self = this, + triggerEl = $(_self.get('trigger')); + + if(triggerEl.val()){//\u5982\u679c\u9ed8\u8ba4\u6709\u6587\u672c\u5219\u4e0d\u663e\u793a\uff0c\u5426\u5219\u663e\u793a + _self.set('visible',false); + }else{ + _self.set('align',{ + node:$(_self.get('trigger')), + points: ['cl','cl'] + }); + _self.set('visible',true); + } + }, + bindUI : function(){ + var _self = this, + triggerEl = $(_self.get('trigger')); + + _self.get('el').on('click',function(){ + _self.hide(); + triggerEl.focus(); + }); + triggerEl.on('click focus',function(){ + _self.hide(); + }); + + triggerEl.on('blur',function(){ + _self.resetVisible(); + }); + } + },{ + ATTRS : + /** + * @lends BUI.Form.TipItem# + * @ignore + */ + { + /** + * \u63d0\u793a\u7684\u8f93\u5165\u6846 + * @cfg {String|HTMLElement|jQuery} trigger + */ + /** + * \u63d0\u793a\u7684\u8f93\u5165\u6846 + * @type {String|HTMLElement|jQuery} + */ + trigger:{ + + }, + /** + * \u63d0\u793a\u6587\u672c + * @cfg {String} text + */ + /** + * \u63d0\u793a\u6587\u672c + * @type {String} + */ + text : { + + }, + /** + * \u63d0\u793a\u6587\u672c\u4e0a\u663e\u793a\u7684icon\u6837\u5f0f + * @cfg {String} iconCls + * iconCls : icon-ok + */ + /** + * \u63d0\u793a\u6587\u672c\u4e0a\u663e\u793a\u7684icon\u6837\u5f0f + * @type {String} + * iconCls : icon-ok + */ + iconCls:{ + + }, + /** + * \u9ed8\u8ba4\u7684\u6a21\u7248 + * @type {String} + * @default '{text}' + */ + tpl:{ + value:'{text}' + } + } + },{ + xclass : 'form-tip' + }); + + /** + * \u8868\u5355\u63d0\u793a\u4fe1\u606f\u7684\u7ba1\u7406\u7c7b + * @class BUI.Form.Tips + * @extends BUI.Base + */ + var Tips = function(config){ + if (this.constructor !== Tips){ + return new Tips(config); + } + + Tips.superclass.constructor.call(this,config); + this._init(); + }; + + Tips.ATTRS = + /** + * @lends BUI.Form.Tips + * @ignore + */ + { + + /** + * \u8868\u5355\u7684\u9009\u62e9\u5668 + * @cfg {String|HTMLElement|jQuery} form + */ + /** + * \u8868\u5355\u7684\u9009\u62e9\u5668 + * @type {String|HTMLElement|jQuery} + */ + form : { + + }, + /** + * \u8868\u5355\u63d0\u793a\u9879\u5bf9\u8c61 {@link BUI.Form.TipItem} + * @readOnly + * @type {Array} + */ + items : { + value:[] + } + }; + + BUI.extend(Tips,BUI.Base); + + BUI.augment(Tips,{ + _init : function(){ + var _self = this, + form = $(_self.get('form')); + if(form.length){ + BUI.each($.makeArray(form[0].elements),function(elem){ + var tipConfig = $(elem).attr(FIELD_TIP); + if(tipConfig){ + _self._initFormElement(elem,$.parseJSON(tipConfig)); + } + }); + form.addClass(CLS_TIP_CONTAINER); + } + }, + _initFormElement : function(element,config){ + if(config){ + config.trigger = element; + //config.render = this.get('form'); + } + var _self = this, + items = _self.get('items'), + item = new tipItem(config); + items.push(item); + }, + /** + * \u83b7\u53d6\u63d0\u793a\u9879 + * @param {String} name \u5b57\u6bb5\u7684\u540d\u79f0 + * @return {BUI.Form.TipItem} \u63d0\u793a\u9879 + */ + getItem : function(name){ + var _self = this, + items = _self.get('items'), + result = null; + BUI.each(items,function(item){ + + if($(item.get('trigger')).attr('name') === name){ + result = item; + return false; + } + + }); + + return result; + }, + /** + * \u91cd\u7f6e\u6240\u6709\u63d0\u793a\u7684\u53ef\u89c6\u72b6\u6001 + */ + resetVisible : function(){ + var _self = this, + items = _self.get('items'); + + BUI.each(items,function(item){ + item.resetVisible(); + }); + }, + /** + * \u751f\u6210 \u8868\u5355\u63d0\u793a + */ + render:function(){ + var _self = this, + items = _self.get('items'); + BUI.each(items,function(item){ + item.render(); + }); + }, + /** + * \u5220\u9664\u6240\u6709\u63d0\u793a + */ + destroy:function(){ + var _self = this, + items = _self.get(items); + + BUI.each(items,function(item){ + item.destroy(); + }); + } + }); + + Tips.Item = tipItem; + return Tips; + +});/** + * @fileOverview \u8868\u5355\u5143\u7d20 + * @ignore + */ + +define('bui/form/basefield',['bui/common','bui/form/tips','bui/form/valid','bui/form/remote'],function (require){ + + var BUI = require('bui/common'), + Component = BUI.Component, + TipItem = require('bui/form/tips').Item, + Valid = require('bui/form/valid'), + Remote = require('bui/form/remote'), + CLS_FIELD_ERROR = BUI.prefix + 'form-field-error', + DATA_ERROR = 'data-error'; + + /** + * \u5b57\u6bb5\u89c6\u56fe\u7c7b + * @class BUI.Form.FieldView + * @private + */ + var fieldView = Component.View.extend([Remote.View,Valid.View],{ + //\u6e32\u67d3DOM + renderUI : function(){ + var _self = this, + control = _self.get('control'); + if(!control){ + var controlTpl = _self.get('controlTpl'), + container = _self.getControlContainer(); + + if(controlTpl){ + var control = $(controlTpl).appendTo(container); + _self.set('control',control); + } + }else{ + //var controlContainer = control.parent(); + _self.set('controlContainer',control.parent()); + } + }, + /** + * \u6e05\u7406\u663e\u793a\u7684\u9519\u8bef\u4fe1\u606f + * @protected + */ + clearErrors : function(){ + var _self = this, + msgEl = _self.get('msgEl'); + if(msgEl){ + msgEl.remove(); + _self.set('msgEl',null); + } + _self.get('el').removeClass(CLS_FIELD_ERROR); + }, + /** + * \u663e\u793a\u9519\u8bef\u4fe1\u606f + * @param {String} msg \u9519\u8bef\u4fe1\u606f + * @protected + */ + showError : function(msg,errorTpl){ + var _self = this, + control = _self.get('control'), + errorMsg = BUI.substitute(errorTpl,{error : msg}), + el = $(errorMsg); + //_self.clearErrorMsg(); + + el.appendTo(control.parent()); + _self.set('msgEl',el); + _self.get('el').addClass(CLS_FIELD_ERROR); + }, + /** + * @internal \u83b7\u53d6\u63a7\u4ef6\u7684\u5bb9\u5668 + * @return {jQuery} \u63a7\u4ef6\u5bb9\u5668 + */ + getControlContainer : function(){ + var _self = this, + el = _self.get('el'), + controlContainer = _self.get('controlContainer'); + if(controlContainer){ + if(BUI.isString(controlContainer)){ + return el.find(controlContainer); + } + return controlContainer; + } + return el; + }, + /** + * \u83b7\u53d6\u663e\u793a\u52a0\u8f7d\u72b6\u6001\u7684\u5bb9\u5668 + * @protected + * @override + * @return {jQuery} \u52a0\u8f7d\u72b6\u6001\u7684\u5bb9\u5668 + */ + getLoadingContainer : function () { + return this.getControlContainer(); + }, + //\u8bbe\u7f6e\u540d\u79f0 + _uiSetName : function(v){ + var _self = this; + _self.get('control').attr('name',v); + } + }, + { + ATTRS : { + error:{}, + controlContainer : {}, + msgEl: {}, + control : {} + } + }); + + /** + * \u8868\u5355\u5b57\u6bb5\u57fa\u7c7b + * @class BUI.Form.Field + * @mixins BUI.Form.Remote + * @extends BUI.Component.Controller + */ + var field = Component.Controller.extend([Remote,Valid],{ + + initializer : function(){ + var _self = this; + _self.on('afterRenderUI',function(){ + var tip = _self.get('tip'); + if(tip){ + tip.trigger = _self.getTipTigger(); + tip.autoRender = true; + tip = new TipItem(tip); + _self.set('tip',tip); + } + }); + }, + //\u7ed1\u5b9a\u4e8b\u4ef6 + bindUI : function(){ + var _self = this, + validEvent = _self.get('validEvent'), + changeEvent = _self.get('changeEvent'), + innerControl = _self.getInnerControl(); + + //\u9009\u62e9\u6846\u53ea\u4f7f\u7528 select\u4e8b\u4ef6 + if(innerControl.is('select')){ + validEvent = 'change'; + } + //\u9a8c\u8bc1\u4e8b\u4ef6 + innerControl.on(validEvent,function(){ + var value = _self.getControlValue(innerControl); + _self.validControl(value); + }); + //\u672a\u53d1\u751f\u9a8c\u8bc1\u65f6\uff0c\u9996\u6b21\u83b7\u53d6\u7126\u70b9\uff0c\u8fdb\u884c\u9a8c\u8bc1 + innerControl.on('focus',function(){ + if(!_self.get('hasValid')){ + var value = _self.getControlValue(innerControl); + _self.validControl(value); + } + }); + + //\u672c\u6765\u662f\u76d1\u542c\u63a7\u4ef6\u7684change\u4e8b\u4ef6\uff0c\u4f46\u662f\uff0c\u5982\u679c\u63a7\u4ef6\u8fd8\u672a\u89e6\u53d1change,\u4f46\u662f\u901a\u8fc7get('value')\u6765\u53d6\u503c\uff0c\u5219\u4f1a\u51fa\u73b0\u9519\u8bef\uff0c + //\u6240\u4ee5\u5f53\u901a\u8fc7\u9a8c\u8bc1\u65f6\uff0c\u5373\u89e6\u53d1\u6539\u53d8\u4e8b\u4ef6 + _self.on(changeEvent,function(){ + _self.onValid(); + }); + + _self.on('remotecomplete',function (ev) { + _self._setError(ev.error); + }); + + }, + /** + * \u9a8c\u8bc1\u6210\u529f\u540e\u6267\u884c\u7684\u64cd\u4f5c + * @protected + */ + onValid : function(){ + var _self = this, + value = _self.getControlValue(); + + value = _self.parseValue(value); + if(!_self.isCurrentValue(value)){ + _self.setInternal('value',value); + _self.onChange(); + } + }, + onChange : function () { + this.fire('change'); + }, + /** + * @protected + * \u662f\u5426\u5f53\u524d\u503c\uff0c\u4e3b\u8981\u7528\u4e8e\u65e5\u671f\u7b49\u7279\u6b8a\u503c\u7684\u6bd4\u8f83\uff0c\u4e0d\u80fd\u7528 == \u8fdb\u884c\u6bd4\u8f83 + * @param {*} value \u8fdb\u884c\u6bd4\u8f83\u7684\u503c + * @return {Boolean} \u662f\u5426\u5f53\u524d\u503c + */ + isCurrentValue : function (value) { + return value == this.get('value'); + }, + //\u6e05\u7406\u9519\u8bef\u4fe1\u606f + _clearError : function(){ + this.set('error',null); + this.get('view').clearErrors(); + }, + //\u8bbe\u7f6e\u9519\u8bef\u4fe1\u606f + _setError : function(msg){ + this.set('error',msg); + this.showErrors(); + }, + + /** + * \u83b7\u53d6\u5185\u90e8\u8868\u5355\u5143\u7d20\u7684\u503c + * @protected + * @param {jQuery} [innerControl] \u5185\u90e8\u8868\u5355\u5143\u7d20 + * @return {String|Boolean} \u8868\u5355\u5143\u7d20\u7684\u503c,checkbox\uff0cradio\u7684\u8fd4\u56de\u503c\u4e3a true,false + */ + getControlValue : function(innerControl){ + var _self = this; + innerControl = innerControl || _self.getInnerControl(); + return innerControl.val(); + }, + /** + * @protected + * \u83b7\u53d6\u5185\u90e8\u63a7\u4ef6\u7684\u5bb9\u5668 + */ + getControlContainer : function(){ + return this.get('view').getControlContainer(); + }, + /** + * \u83b7\u53d6\u5f02\u6b65\u9a8c\u8bc1\u7684\u53c2\u6570\uff0c\u5bf9\u4e8e\u8868\u5355\u5b57\u6bb5\u57df\u800c\u8a00\uff0c\u662f{[name] : [value]} + * @protected + * @override + * @return {Object} \u53c2\u6570\u952e\u503c\u5bf9 + */ + getRemoteParams : function () { + var _self = this, + rst = {}; + rst[_self.get('name')] = _self.get('value'); + return rst; + }, + /** + * \u8bbe\u7f6e\u5b57\u6bb5\u7684\u503c + * @protected + * @param {*} value \u5b57\u6bb5\u503c + */ + setControlValue : function(value){ + var _self = this, + innerControl = _self.getInnerControl(); + innerControl.val(value); + }, + /** + * \u5c06\u5b57\u7b26\u4e32\u7b49\u683c\u5f0f\u8f6c\u6362\u6210 + * @protected + * @param {String} value \u539f\u59cb\u6570\u636e + * @return {*} \u8be5\u5b57\u6bb5\u6307\u5b9a\u7684\u7c7b\u578b + */ + parseValue : function(value){ + return value; + }, + valid : function(){ + var _self = this; + _self.validControl(); + }, + /** + * \u9a8c\u8bc1\u63a7\u4ef6\u5185\u5bb9 + * @return {Boolean} \u662f\u5426\u901a\u8fc7\u9a8c\u8bc1 + */ + validControl : function(value){ + var _self = this, + errorMsg; + value = value || _self.getControlValue(), + preError = _self.get('error'); + errorMsg = _self.getValidError(value); + _self.setInternal('hasValid',true); + if (errorMsg) { + _self._setError(errorMsg); + _self.fire('error', {msg:errorMsg, value:value}); + if(preError !== errorMsg){//\u9a8c\u8bc1\u9519\u8bef\u4fe1\u606f\u6539\u53d8\uff0c\u8bf4\u660e\u9a8c\u8bc1\u6539\u53d8 + _self.fire('validchange',{ valid : false }); + } + } else { + _self._clearError(); + _self.fire('valid'); + if(preError){//\u5982\u679c\u4ee5\u524d\u5b58\u5728\u9519\u8bef\uff0c\u90a3\u4e48\u9a8c\u8bc1\u7ed3\u679c\u6539\u53d8 + _self.fire('validchange',{ valid : true }); + } + } + + return !errorMsg; + }, + /** + * \u5b57\u6bb5\u83b7\u5f97\u7126\u70b9 + */ + focus : function(){ + this.getInnerControl().focus(); + }, + /** + * \u5b57\u6bb5\u53d1\u751f\u6539\u53d8 + */ + change : function(){ + var control = this.getInnerControl(); + control.change(); + }, + /** + * \u5b57\u6bb5\u4e22\u5931\u7126\u70b9 + */ + blur : function(){ + this.getInnerControl().blur(); + }, + + /** + * \u662f\u5426\u901a\u8fc7\u9a8c\u8bc1,\u5982\u679c\u672a\u53d1\u751f\u8fc7\u6821\u9a8c\uff0c\u5219\u8fdb\u884c\u6821\u9a8c\uff0c\u5426\u5219\u4e0d\u8fdb\u884c\u6821\u9a8c\uff0c\u76f4\u63a5\u6839\u636e\u5df2\u6821\u9a8c\u7684\u7ed3\u679c\u5224\u65ad\u3002 + * @return {Boolean} \u662f\u5426\u901a\u8fc7\u9a8c\u8bc1 + */ + isValid : function(){ + var _self = this; + if(!_self.get('hasValid')){ + _self.validControl(); + } + return !_self.get('error'); + }, + /** + * \u83b7\u53d6\u9a8c\u8bc1\u51fa\u9519\u4fe1\u606f + * @return {String} \u51fa\u9519\u4fe1\u606f + */ + getError : function(){ + return this.get('error'); + }, + /** + * \u83b7\u53d6\u9a8c\u8bc1\u51fa\u9519\u4fe1\u606f\u96c6\u5408 + * @return {Array} \u51fa\u9519\u4fe1\u606f\u96c6\u5408 + */ + getErrors : function(){ + var error = this.getError(); + if(error){ + return [error]; + } + return []; + }, + /** + * \u6e05\u7406\u51fa\u9519\u4fe1\u606f\uff0c\u56de\u6eda\u5230\u672a\u51fa\u9519\u72b6\u6001 + */ + clearErrors : function(){ + var _self = this; + _self._clearError(); + if(_self.getControlValue()!= _self.get('value')){ + _self.setControlValue(_self.get('value')); + } + }, + /** + * \u83b7\u53d6\u5185\u90e8\u7684\u8868\u5355\u5143\u7d20\u6216\u8005\u5185\u90e8\u63a7\u4ef6 + * @protected + * @return {jQuery|BUI.Component.Controller} + */ + getInnerControl : function(){ + return this.get('view').get('control'); + }, + /** + * \u63d0\u793a\u4fe1\u606f\u6309\u7167\u6b64\u5143\u7d20\u5bf9\u9f50 + * @protected + * @return {HTMLElement} + */ + getTipTigger : function(){ + return this.getInnerControl(); + }, + //\u6790\u6784\u51fd\u6570 + destructor : function(){ + var _self = this, + tip = _self.get('tip'); + if(tip && tip.destroy){ + tip.destroy(); + } + }, + /** + * @protected + * \u8bbe\u7f6e\u5185\u90e8\u5143\u7d20\u5bbd\u5ea6 + */ + setInnerWidth : function(width){ + var _self = this, + innerControl = _self.getInnerControl(), + appendWidth = innerControl.outerWidth() - innerControl.width(); + innerControl.width(width - appendWidth); + }, + //\u91cd\u7f6e \u63d0\u793a\u4fe1\u606f\u662f\u5426\u53ef\u89c1 + _resetTip :function(){ + var _self = this, + tip = _self.get('tip'); + if(tip){ + tip.resetVisible(); + } + }, + /** + * \u91cd\u7f6e\u663e\u793a\u63d0\u793a\u4fe1\u606f + * field.resetTip(); + */ + resetTip : function(){ + this._resetTip(); + }, + //\u8bbe\u7f6e\u503c + _uiSetValue : function(v){ + var _self = this; + //v = v ? v.toString() : ''; + _self.setControlValue(v); + if(_self.get('rendered')){ + _self.validControl(); + _self.onChange(); + } + _self._resetTip(); + }, + //\u7981\u7528\u63a7\u4ef6 + _uiSetDisabled : function(v){ + var _self = this, + innerControl = _self.getInnerControl(); + innerControl.attr('disabled',v); + if(_self.get('rendered')){ + if(v){//\u63a7\u4ef6\u4e0d\u53ef\u7528\uff0c\u6e05\u9664\u9519\u8bef + _self.clearErrors(); + } + if(!v){//\u63a7\u4ef6\u53ef\u7528\uff0c\u6267\u884c\u91cd\u65b0\u9a8c\u8bc1 + _self.valid(); + } + } + }, + _uiSetWidth : function(v){ + var _self = this; + if(v != null && _self.get('forceFit')){ + _self.setInnerWidth(v); + } + } + },{ + ATTRS : { + /** + * \u662f\u5426\u53d1\u751f\u8fc7\u6821\u9a8c\uff0c\u521d\u59cb\u503c\u4e3a\u7a7a\u65f6\uff0c\u672a\u8fdb\u884c\u8d4b\u503c\uff0c\u4e0d\u8fdb\u884c\u6821\u9a8c + * @type {Boolean} + */ + hasValid : { + value : false + }, + /** + * \u5185\u90e8\u5143\u7d20\u662f\u5426\u6839\u636e\u63a7\u4ef6\u5bbd\u5ea6\u8c03\u6574\u5bbd\u5ea6 + * @type {Boolean} + */ + forceFit : { + value : false + }, + /** + * \u662f\u5426\u663e\u793a\u63d0\u793a\u4fe1\u606f + * @type {Object} + */ + tip : { + + }, + /** + * \u8868\u5355\u5143\u7d20\u6216\u8005\u63a7\u4ef6\u5185\u5bb9\u6539\u53d8\u7684\u4e8b\u4ef6 + * @type {String} + */ + changeEvent : { + value : 'valid' + }, + /** + * \u8868\u5355\u5143\u7d20\u6216\u8005\u63a7\u4ef6\u89e6\u53d1\u6b64\u4e8b\u4ef6\u65f6\uff0c\u89e6\u53d1\u9a8c\u8bc1 + * @type {String} + */ + validEvent : { + value : 'keyup change' + }, + /** + * \u5b57\u6bb5\u7684name\u503c + * @type {Object} + */ + name : { + view :true + }, + /** + * \u662f\u5426\u663e\u793a\u9519\u8bef + * @type {Boolean} + */ + showError : { + view : true, + value : true + }, + /** + * \u5b57\u6bb5\u7684\u503c,\u7c7b\u578b\u6839\u636e\u5b57\u6bb5\u7c7b\u578b\u51b3\u5b9a + * @cfg {*} value + */ + value : { + view : true + }, + /** + * \u6807\u9898 + * @type {String} + */ + label : { + + }, + /** + * \u63a7\u4ef6\u5bb9\u5668\uff0c\u5982\u679c\u4e3a\u7a7a\u76f4\u63a5\u6dfb\u52a0\u5728\u63a7\u4ef6\u5bb9\u5668\u4e0a + * @type {String|HTMLElement} + */ + controlContainer : { + view : true + }, + /** + * \u5185\u90e8\u8868\u5355\u5143\u7d20\u7684\u63a7\u4ef6 + * @protected + * @type {jQuery} + */ + control : { + view : true + }, + /** + * \u5185\u90e8\u8868\u5355\u5143\u7d20\u7684\u5bb9\u5668 + * @type {String} + */ + controlTpl : { + view : true, + value : '' + }, + events: { + value : { + /** + * \u672a\u901a\u8fc7\u9a8c\u8bc1 + * @event + */ + error : false, + /** + * \u901a\u8fc7\u9a8c\u8bc1 + * @event + */ + valid : false, + /** + * @event + * \u503c\u6539\u53d8\uff0c\u4ec5\u5f53\u901a\u8fc7\u9a8c\u8bc1\u65f6\u89e6\u53d1 + */ + change : true, + + /** + * @event + * \u9a8c\u8bc1\u6539\u53d8 + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.target \u89e6\u53d1\u4e8b\u4ef6\u7684\u5bf9\u8c61 + * @param {Boolean} e.valid \u662f\u5426\u901a\u8fc7\u9a8c\u8bc1 + */ + validchange : true + } + }, + tpl: { + value : '' + }, + xview : { + value : fieldView + } + }, + PARSER : { + control : function(el){ + var control = el.find('input,select,textarea'); + if(control.length){ + return control; + } + return el; + }, + disabled : function(el){ + return !!el.attr('disabled'); + }, + value : function(el){ + var _self = this, + selector = 'select,input,textarea', + value = _self.get('value'); + if(!value){ + if(el.is(selector)){ + value = el.val(); + }else{ + value = el.find(selector).val(); + } + + } + return value; + }, + name : function(el){ + var _self = this, + selector = 'select,input,textarea', + name = _self.get('name'); + if(!name){ + if(el.is(selector)){ + name = el.attr('name'); + }else{ + name = el.find(selector).attr('name'); + } + + } + return name; + } + + } + },{ + xclass:'form-field' + }); + + field.View = fieldView; + + return field; + +});/** + * @fileOverview \u8868\u5355\u6587\u672c\u57df + * @author dxq613@gmail.com + * @ignore + */ + +define('bui/form/textfield',['bui/form/basefield'],function (require) { + var Field = require('bui/form/basefield'); + + /** + * \u8868\u5355\u6587\u672c\u57df + * @class BUI.Form.Field.Text + * @extends BUI.Form.Field + */ + var textField = Field.extend({ + + },{ + xclass : 'form-field-text' + }); + + return textField; +});/** + * @fileOverview \u8868\u5355\u6587\u672c\u57df + * @author dxq613@gmail.com + * @ignore + */ + +define('bui/form/numberfield',['bui/form/basefield'],function (require) { + + /** + * \u8868\u5355\u6570\u5b57\u57df + * @class BUI.Form.Field.Number + * @extends BUI.Form.Field + */ + var Field = require('bui/form/basefield'), + numberField = Field.extend({ + + /** + * \u5c06\u5b57\u7b26\u4e32\u7b49\u683c\u5f0f\u8f6c\u6362\u6210\u6570\u5b57 + * @protected + * @param {String} value \u539f\u59cb\u6570\u636e + * @return {Number} \u8be5\u5b57\u6bb5\u6307\u5b9a\u7684\u7c7b\u578b + */ + parseValue : function(value){ + if(value == '' || value == null){ + return null; + } + if(BUI.isNumber(value)){ + return value; + } + var _self = this, + allowDecimals = _self.get('allowDecimals'); + value = value.replace(/\,/g,''); + if(!allowDecimals){ + return parseInt(value); + } + return parseFloat(parseFloat(value).toFixed(_self.get('decimalPrecision'))); + }, + _uiSetMax : function(v){ + this.addRule('max',v); + }, + _uiSetMin : function(v){ + this.addRule('min',v); + } + },{ + ATTRS : { + /** + * \u6700\u5927\u503c + * @type {Number} + */ + max : { + + }, + /** + * \u6700\u5c0f\u503c + * @type {Number} + */ + min : { + + }, + decorateCfgFields : { + value : { + min : true, + max : true + } + }, + /** + * \u8868\u5355\u5143\u7d20\u6216\u8005\u63a7\u4ef6\u89e6\u53d1\u6b64\u4e8b\u4ef6\u65f6\uff0c\u89e6\u53d1\u9a8c\u8bc1 + * @type {String} + */ + validEvent : { + value : 'keyup change' + }, + defaultRules : { + value : { + number : true + } + }, + /** + * \u662f\u5426\u5141\u8bb8\u5c0f\u6570\uff0c\u5982\u679c\u4e0d\u5141\u8bb8\uff0c\u5219\u6700\u7ec8\u7ed3\u679c\u8f6c\u6362\u6210\u6574\u6570 + * @type {Boolean} + */ + allowDecimals : { + value : true + }, + /** + * \u5141\u8bb8\u5c0f\u6570\u65f6\u7684\uff0c\u5c0f\u6570\u4f4d + * @type {Number} + */ + decimalPrecision : { + value : 2 + }, + /** + * \u5bf9\u6570\u5b57\u8fdb\u884c\u5fae\u8c03\u65f6\uff0c\u6bcf\u6b21\u589e\u52a0\u6216\u51cf\u5c0f\u7684\u6570\u5b57 + * @type {Object} + */ + step : { + value : 1 + } + } + },{ + xclass : 'form-field-number' + }); + + return numberField; +});/** +* @fileOverview \u9690\u85cf\u5b57\u6bb5 +* @ignore +* @author dxq613@gmail.com +*/ + +define('bui/form/hiddenfield',['bui/form/basefield'],function (require) { + var Field = require('bui/form/basefield'); + /** + * \u8868\u5355\u9690\u85cf\u57df + * @class BUI.Form.Field.Hidden + * @extends BUI.Form.Field + */ + var hiddenField = Field.extend({ + + },{ + ATTRS : { + /** + * \u5185\u90e8\u8868\u5355\u5143\u7d20\u7684\u5bb9\u5668 + * @type {String} + */ + controlTpl : { + value : '' + }, + tpl : { + value : '' + } + } + },{ + xclass : 'form-field-hidden' + }); + + return hiddenField; + +});/** +* @fileOverview \u53ea\u8bfb\u5b57\u6bb5 +* @ignore +* @author dxq613@gmail.com +*/ + +define('bui/form/readonlyfield',['bui/form/basefield'],function (require) { + var Field = require('bui/form/basefield'); + /** + * \u8868\u5355\u9690\u85cf\u57df + * @class BUI.Form.Field.ReadOnly + * @extends BUI.Form.Field + */ + var readonlyField = Field.extend({ + + },{ + ATTRS : { + /** + * \u5185\u90e8\u8868\u5355\u5143\u7d20\u7684\u5bb9\u5668 + * @type {String} + */ + controlTpl : { + value : '' + } + } + },{ + xclass : 'form-field-readonly' + }); + + return readonlyField; + +});/** + * @fileOverview \u6a21\u62df\u9009\u62e9\u6846\u5728\u8868\u5355\u4e2d + * @ignore + */ + +define('bui/form/selectfield',['bui/common','bui/form/basefield'],function (require) { + + var BUI = require('bui/common'), + Field = require('bui/form/basefield'); + + function resetOptions (select,options,self) { + select.children().remove(); + var emptyText = self.get('emptyText'); + if(emptyText){ + appendItem('',emptyText,select); + } + BUI.each(options,function (option) { + appendItem(option.value,option.text,select); + }); + } + + function appendItem(value,text,select){ + var str = '' + $(str).appendTo(select); + } + /** + * \u8868\u5355\u9009\u62e9\u57df + * @class BUI.Form.Field.Select + * @extends BUI.Form.Field + */ + var selectField = Field.extend({ + //\u751f\u6210select + renderUI : function(){ + var _self = this, + innerControl = _self.getInnerControl(), + select = _self.get('select'); + if(_self.get('srcNode') && innerControl.is('select')){ //\u5982\u679c\u4f7f\u7528\u73b0\u6709DOM\u751f\u6210\uff0c\u4e0d\u4f7f\u7528\u81ea\u5b9a\u4e49\u9009\u62e9\u6846\u63a7\u4ef6 + return; + } + //select = select || {}; + if($.isPlainObject(select)){ + _self._initSelect(select); + } + }, + _initSelect : function(select){ + var _self = this, + items = _self.get('items'); + BUI.use('bui/select',function(Select){ + select.render = _self.getControlContainer(); + select.valueField = _self.getInnerControl(); + select.autoRender = true; + /* if(items){ + select.items = items; + }*/ + select = new Select.Select(select); + _self.set('select',select); + _self.set('isCreate',true); + _self.get('children').push(select); + select.on('change',function(ev){ + var val = select.getSelectedValue(); + _self.set('value',val); + }); + }) + }, + /** + * \u91cd\u65b0\u8bbe\u7f6e\u9009\u9879\u96c6\u5408 + * @param {Array} items \u9009\u9879\u96c6\u5408 + */ + setItems : function (items) { + var _self = this, + select = _self.get('select'); + + if($.isPlainObject(items)){ + var tmp = []; + BUI.each(items,function(v,n){ + tmp.push({value : n,text : v}); + }); + items = tmp; + } + + var control = _self.getInnerControl(); + if(control.is('select')){ + resetOptions(control,items,_self); + _self.setControlValue(_self.get('value')); + if(!_self.getControlValue()){ + _self.setInternal('value',''); + } + } + + if(select){ + if(select.set){ + select.set('items',items); + }else{ + select.items = items; + } + } + }, + /** + * \u8bbe\u7f6e\u5b57\u6bb5\u7684\u503c + * @protected + * @param {*} value \u5b57\u6bb5\u503c + */ + setControlValue : function(value){ + var _self = this, + select = _self.get('select'), + innerControl = _self.getInnerControl(); + innerControl.val(value); + if(select && select.set && select.getSelectedValue() !== value){ + select.setSelectedValue(value); + } + }, + /** + * \u83b7\u53d6tip\u663e\u793a\u5bf9\u5e94\u7684\u5143\u7d20 + * @protected + * @override + * @return {HTMLElement} + */ + getTipTigger : function(){ + var _self = this, + select = _self.get('select'); + if(select && select.rendered){ + return select.get('el').find('input'); + } + return _self.get('el'); + }, + //\u8bbe\u7f6e\u9009\u9879 + _uiSetItems : function(v){ + if(v){ + this.setItems(v); + } + }, + /** + * @protected + * \u8bbe\u7f6e\u5185\u90e8\u5143\u7d20\u5bbd\u5ea6 + */ + setInnerWidth : function(width){ + var _self = this, + innerControl = _self.getInnerControl(), + select = _self.get('select'), + appendWidth = innerControl.outerWidth() - innerControl.width(); + innerControl.width(width - appendWidth); + if(select && select.set){ + select.set('width',width); + } + } + },{ + ATTRS : { + /** + * \u9009\u9879 + * @type {Array} + */ + items : { + + }, + /** + * \u5185\u90e8\u8868\u5355\u5143\u7d20\u7684\u5bb9\u5668 + * @type {String} + */ + controlTpl : { + value : '' + }, + /** + * \u662f\u5426\u663e\u793a\u4e3a\u7a7a\u7684\u6587\u672c + * @type {Boolean} + */ + showBlank : { + value : true + }, + /** + * \u9009\u62e9\u4e3a\u7a7a\u65f6\u7684\u6587\u672c + * @type {String} + */ + emptyText : { + value : '\u8bf7\u9009\u62e9' + }, + select : { + value : {} + } + }, + PARSER : { + emptyText : function(el){ + if(!this.get('showBlank')){ + return ''; + } + var options = el.find('option'), + rst = this.get('emptyText'); + if(options.length){ + rst = $(options[0]).text(); + } + return rst; + } + } + },{ + xclass : 'form-field-select' + }); + + return selectField; +});/** + * @fileOverview \u8868\u5355\u65e5\u5386\u57df + * @author dxq613@gmail.com + * @ignore + */ + +define('bui/form/datefield',['bui/common','bui/form/basefield','bui/calendar'],function (require) { + + var BUI = require('bui/common'), + Field = require('bui/form/basefield'), + DateUtil = BUI.Date, + DatePicker = require('bui/calendar').DatePicker; + + /** + * \u8868\u5355\u6587\u672c\u57df + * @class BUI.Form.Field.Date + * @extends BUI.Form.Field + */ + var dateField = Field.extend({ + //\u751f\u6210\u65e5\u671f\u63a7\u4ef6 + renderUI : function(){ + + var _self = this, + datePicker = _self.get('datePicker'); + if($.isPlainObject(datePicker)){ + datePicker.trigger = _self.getInnerControl(); + datePicker.autoRender = true; + datePicker = new DatePicker(datePicker); + _self.set('datePicker',datePicker); + _self.set('isCreatePicker',true); + _self.get('children').push(datePicker); + } + if(datePicker.get('showTime')){ + _self.getInnerControl().addClass('calendar-time'); + } + + }, + bindUI : function(){ + var _self = this, + datePicker = _self.get('datePicker'); + datePicker.on('selectedchange',function(ev){ + var curTrigger = ev.curTrigger; + if(curTrigger[0] == _self.getInnerControl()[0]){ + _self.set('value',ev.value); + } + }); + }, + /** + * \u8bbe\u7f6e\u5b57\u6bb5\u7684\u503c + * @protected + * @param {Date} value \u5b57\u6bb5\u503c + */ + setControlValue : function(value){ + var _self = this, + innerControl = _self.getInnerControl(); + if(BUI.isDate(value)){ + value = DateUtil.format(value,_self._getFormatMask()); + } + innerControl.val(value); + }, + //\u83b7\u53d6\u683c\u5f0f\u5316\u51fd\u6570 + _getFormatMask : function(){ + var _self = this, + datePicker = _self.get('datePicker'); + + if(datePicker.get('showTime')){ + return 'yyyy-mm-dd HH:MM:ss'; + } + return 'yyyy-mm-dd'; + }, + /** + * \u5c06\u5b57\u7b26\u4e32\u7b49\u683c\u5f0f\u8f6c\u6362\u6210\u65e5\u671f + * @protected + * @override + * @param {String} value \u539f\u59cb\u6570\u636e + * @return {Date} \u8be5\u5b57\u6bb5\u6307\u5b9a\u7684\u7c7b\u578b + */ + parseValue : function(value){ + if(BUI.isNumber(value)){ + return new Date(value); + } + return DateUtil.parse(value); + }, + /** + * @override + * @protected + * \u662f\u5426\u5f53\u524d\u503c + */ + isCurrentValue : function (value) { + return DateUtil.isEquals(value,this.get('value')); + }, + //\u8bbe\u7f6e\u6700\u5927\u503c + _uiSetMax : function(v){ + this.addRule('max',v); + var _self = this, + datePicker = _self.get('datePicker'); + if(datePicker && datePicker.set){ + datePicker.set('maxDate',v); + } + }, + //\u8bbe\u7f6e\u6700\u5c0f\u503c + _uiSetMin : function(v){ + this.addRule('min',v); + var _self = this, + datePicker = _self.get('datePicker'); + if(datePicker && datePicker.set){ + datePicker.set('minDate',v); + } + } + },{ + ATTRS : { + /** + * \u5185\u90e8\u8868\u5355\u5143\u7d20\u7684\u5bb9\u5668 + * @type {String} + */ + controlTpl : { + value : '' + }, + defaultRules : { + value : { + date : true + } + }, + /** + * \u6700\u5927\u503c + * @type {Date|String} + */ + max : { + + }, + /** + * \u6700\u5c0f\u503c + * @type {Date|String} + */ + min : { + + }, + value : { + setter : function(v){ + if(BUI.isNumber(v)){//\u5c06\u6570\u5b57\u8f6c\u6362\u6210\u65e5\u671f\u7c7b\u578b + return new Date(v); + } + return v; + } + }, + /** + * \u65f6\u95f4\u9009\u62e9\u63a7\u4ef6 + * @type {Object|BUI.Calendar.DatePicker} + */ + datePicker : { + value : { + + } + }, + /** + * \u65f6\u95f4\u9009\u62e9\u5668\u662f\u5426\u662f\u7531\u6b64\u63a7\u4ef6\u521b\u5efa + * @type {Boolean} + * @readOnly + */ + isCreatePicker : { + value : true + } + }, + PARSER : { + datePicker : function(el){ + if(el.hasClass('calendar-time')){ + return { + showTime : true + } + } + return {}; + } + } + },{ + xclass : 'form-field-date' + }); + + return dateField; +});/** + * @fileOverview \u53ef\u52fe\u9009\u5b57\u6bb5 + * @ignore + */ + +define('bui/form/checkfield',['bui/form/basefield'],function (require) { + var Field = require('bui/form/basefield'); + + /** + * \u53ef\u9009\u4e2d\u83dc\u5355\u57df + * @class BUI.Form.Field.Check + * @extends BUI.Form.Field + */ + var checkField = Field.extend({ + /** + * \u9a8c\u8bc1\u6210\u529f\u540e\u6267\u884c\u7684\u64cd\u4f5c + * @protected + */ + onValid : function(){ + var _self = this, + checked = _self._getControlChecked(); + _self.setInternal('checked',checked); + _self.fire('change'); + if(checked){ + _self.fire('checked'); + }else{ + _self.fire('unchecked'); + } + }, + //\u8bbe\u7f6e\u662f\u5426\u52fe\u9009 + _setControlChecked : function(checked){ + var _self = this, + innerControl = _self.getInnerControl(); + innerControl.attr('checked',!!checked); + }, + //\u83b7\u53d6\u662f\u5426\u52fe\u9009 + _getControlChecked : function(){ + var _self = this, + innerControl = _self.getInnerControl(); + return !!innerControl.attr('checked'); + }, + //\u8986\u76d6 \u8bbe\u7f6e\u503c\u7684\u65b9\u6cd5 + _uiSetValue : function(v){ + + }, + //\u8bbe\u7f6e\u662f\u5426\u52fe\u9009 + _uiSetChecked : function(v){ + var _self = this; + _self._setControlChecked(v); + if(_self.get('rendered')){ + _self.onValid(); + } + } + },{ + ATTRS : { + /** + * \u89e6\u53d1\u9a8c\u8bc1\u4e8b\u4ef6\uff0c\u8fdb\u800c\u5f15\u8d77change\u4e8b\u4ef6 + * @override + * @type {String} + */ + validEvent : { + value : 'click' + }, + /** + * \u662f\u5426\u9009\u4e2d + * @cfg {String} checked + */ + /** + * \u662f\u5426\u9009\u4e2d + * @type {String} + */ + checked : { + value : false + }, + events : { + value : { + /** + * @event + * \u9009\u4e2d\u4e8b\u4ef6 + */ + 'checked' : false, + /** + * @event + * \u53d6\u6d88\u9009\u4e2d\u4e8b\u4ef6 + */ + 'unchecked' : false + } + } + }, + PARSER : { + checked : function(el){ + return !!el.attr('checked'); + } + } + },{ + xclass : 'form-check-field' + }); + + return checkField; +});/** + * @fileOverview \u590d\u9009\u6846\u8868\u5355\u57df + * @ignore + */ + +define('bui/form/checkboxfield',['bui/form/checkfield'],function (required) { + + var CheckField = required('bui/form/checkfield'); + + /** + * \u8868\u5355\u590d\u9009\u57df + * @class BUI.Form.Field.Checkbox + * @extends BUI.Form.Field.Check + */ + var CheckBoxField = CheckField.extend({ + + },{ + ATTRS : { + /** + * \u5185\u90e8\u8868\u5355\u5143\u7d20\u7684\u5bb9\u5668 + * @type {String} + */ + controlTpl : { + view : true, + value : '' + }, + /** + * \u63a7\u4ef6\u5bb9\u5668\uff0c\u5982\u679c\u4e3a\u7a7a\u76f4\u63a5\u6dfb\u52a0\u5728\u63a7\u4ef6\u5bb9\u5668\u4e0a + * @type {String|HTMLElement} + */ + controlContainer : { + value : '.checkbox' + }, + tpl : { + value : '' + } + } + },{ + xclass : 'form-field-checkbox' + }); + + return CheckBoxField; +});/** + * @fileOverview \u5355\u9009\u6846\u8868\u5355\u57df + * @ignore + */ + +define('bui/form/radiofield',['bui/form/checkfield'],function (required) { + + var CheckField = required('bui/form/checkfield'); + + /** + * \u8868\u5355\u5355\u9009\u57df + * @class BUI.Form.Field.Radio + * @extends BUI.Form.Field.Check + */ + var RadioField = CheckField.extend({ + bindUI : function(){ + var _self = this, + parent = _self.get('parent'), + name = _self.get('name'); + + if(parent){ + _self.getInnerControl().on('click',function(ev){ + var fields = parent.getFields(name); + BUI.each(fields,function(field){ + if(field != _self){ + field.set('checked',false); + } + }); + }); + } + } + },{ + ATTRS : { + /** + * \u5185\u90e8\u8868\u5355\u5143\u7d20\u7684\u5bb9\u5668 + * @type {String} + */ + controlTpl : { + view : true, + value : '' + }, + /** + * \u63a7\u4ef6\u5bb9\u5668\uff0c\u5982\u679c\u4e3a\u7a7a\u76f4\u63a5\u6dfb\u52a0\u5728\u63a7\u4ef6\u5bb9\u5668\u4e0a + * @type {String|HTMLElement} + */ + controlContainer : { + value : '.radio' + }, + tpl : { + value : '' + } + } + },{ + xclass : 'form-field-radio' + }); + + return RadioField; +});/** + * @fileOverview \u4ec5\u4ec5\u7528\u4e8e\u663e\u793a\u6587\u672c\uff0c\u4e0d\u80fd\u7f16\u8f91\u7684\u5b57\u6bb5 + * @ignore + */ + +define('bui/form/plainfield',['bui/form/basefield'],function (require) { + var Field = require('bui/form/basefield'); + + + var PlainFieldView = Field.View.extend({ + + _uiSetValue : function(v){ + var _self = this, + textEl = _self.get('textEl'), + container = _self.getControlContainer(), + renderer = _self.get('renderer'), + text = renderer ? renderer(v) : v, + width = _self.get('width'), + appendWidth = 0, + textTpl; + if(textEl){ + + textEl.remove(); + } + text = text || ' '; + textTpl = BUI.substitute(_self.get('textTpl'),{text : text}); + textEl = $(textTpl).appendTo(container); + appendWidth = textEl.outerWidth() - textEl.width(); + textEl.width(width - appendWidth); + _self.set('textEl',textEl); + } + + },{ + ATTRS : { + textEl : {}, + value : {} + } + },{ + xclass : 'form-field-plain-view' + }); + + /** + * \u8868\u5355\u6587\u672c\u57df\uff0c\u4e0d\u80fd\u7f16\u8f91 + * @class BUI.Form.Field.Plain + * @extends BUI.Form.Field + */ + var PlainField = Field.extend({ + + },{ + ATTRS : { + /** + * \u5185\u90e8\u8868\u5355\u5143\u7d20\u7684\u5bb9\u5668 + * @type {String} + */ + controlTpl : { + value : '' + }, + /** + * \u663e\u793a\u6587\u672c\u7684\u6a21\u677f + * @type {String} + */ + textTpl : { + view : true, + value : '{text}' + }, + /** + * \u5c06\u5b57\u6bb5\u7684\u503c\u683c\u5f0f\u5316\u8f93\u51fa + * @type {Function} + */ + renderer : { + view : true, + value : function(value){ + return value; + } + }, + tpl : { + value : '' + }, + xview : { + value : PlainFieldView + } + } + },{ + xclass : 'form-field-plain' + }); + + return PlainField; +});/** + * @fileOverview \u8868\u5355\u4e2d\u7684\u5217\u8868\uff0c\u6bcf\u4e2a\u5217\u8868\u540e\u6709\u4e2a\u9690\u85cf\u57df\u7528\u6765\u5b58\u50a8\u6570\u636e + * @ignore + */ + +define('bui/form/listfield',['bui/common','bui/form/basefield','bui/list'],function (require) { + var BUI = require('bui/common'), + List = require('bui/list'), + Field = require('bui/form/basefield'); + + /** + * @class BUI.Form.Field.List + * \u8868\u5355\u4e2d\u7684\u5217\u8868 + * @extends BUI.Form.Field + */ + var List = Field.extend({ + + initializer : function(){ + var _self = this; + //if(!_self.get('srcNode')){ + _self._initList(); + //} + }, + _getList : function(){ + var _self = this, + children = _self.get('children'); + return children[0]; + }, + bindUI : function(){ + var _self = this, + list = _self._getList(); + if(list){ + list.on('selectedchange',function(){ + var value = _self._getListValue(list); + _self.set('value',value); + }); + } + }, + //\u83b7\u53d6\u5217\u8868\u503c + _getListValue : function(list){ + var _self = this; + list = list || _self._getList(); + return list.getSelectionValues().join(','); + }, + /** + * \u8bbe\u7f6e\u5b57\u6bb5\u7684\u503c + * @protected + * @param {*} value \u5b57\u6bb5\u503c + */ + setControlValue : function(value){ + var _self = this, + innerControl = _self.getInnerControl(), + list = _self._getList(); + innerControl.val(value); + if(_self._getListValue(list) !== value && list.getCount()){ + if(list.get('multipleSelect')){ + list.clearSelection(); + } + list.setSelectionByField(value.split(',')); + } + }, + //\u540c\u6b65\u6570\u636e + syncUI : function(){ + this.set('list',this._getList()); + }, + //\u521d\u59cb\u5316\u5217\u8868 + _initList : function(){ + var _self = this, + children = _self.get('children'), + list = _self.get('list') || {}; + if(children[0]){ + return; + } + if($.isPlainObject(list)){ + list.xclass = list.xclass || 'simple-list'; + } + children.push(list); + }, + /** + * \u8bbe\u7f6e\u9009\u9879 + * @param {Array} items \u9009\u9879\u8bb0\u5f55 + */ + setItems : function(items){ + var _self = this, + value = _self.get('value'), + list = _self._getList(); + list.set('items',items); + list.setSelectionByField(value.split(',')); + }, + //\u8bbe\u7f6e\u9009\u9879\u96c6\u5408 + _uiSetItems : function(v){ + if(v){ + this.setItems(v); + } + } + },{ + ATTRS : { + /** + * \u5185\u90e8\u8868\u5355\u5143\u7d20\u7684\u5bb9\u5668 + * @type {String} + */ + controlTpl : { + value : '' + }, + /** + * \u9009\u9879 + * @type {Array} + */ + items : { + setter : function(v){ + if($.isPlainObject(v)){ + var rst = []; + BUI.each(v,function(v,k){ + rst.push({value : k,text :v}); + }); + v = rst; + } + return v; + } + }, + /** + * \u5217\u8868 + * @type {BUI.List.SimpleList} + */ + list : { + + } + } + },{ + xclass : 'form-field-list' + }); + + return List; +});/** + * @fileOverview \u8868\u5355\u57df\u7684\u5165\u53e3\u6587\u4ef6 + * @ignore + */ +;(function(){ +var BASE = 'bui/form/'; +define(BASE + 'field',['bui/common',BASE + 'textfield',BASE + 'datefield',BASE + 'selectfield',BASE + 'hiddenfield', + BASE + 'numberfield',BASE + 'checkfield',BASE + 'radiofield',BASE + 'checkboxfield',BASE + 'plainfield'],function (require) { + var BUI = require('bui/common'), + Field = require(BASE + 'basefield'); + + BUI.mix(Field,{ + Text : require(BASE + 'textfield'), + Date : require(BASE + 'datefield'), + Select : require(BASE + 'selectfield'), + Hidden : require(BASE + 'hiddenfield'), + Number : require(BASE + 'numberfield'), + Check : require(BASE + 'checkfield'), + Radio : require(BASE + 'radiofield'), + Checkbox : require(BASE + 'checkboxfield'), + Plain : require(BASE + 'plainfield'), + List : require(BASE + 'listfield') + }); + + return Field; +}); + +})(); +/** + * @fileOverview \u8868\u5355\u9a8c\u8bc1 + * @ignore + */ + +define('bui/form/valid',['bui/common','bui/form/rules'],function (require) { + + var BUI = require('bui/common'), + Rules = require('bui/form/rules'); + + /** + * @class BUI.Form.ValidView + * @private + * \u5bf9\u63a7\u4ef6\u5185\u7684\u5b57\u6bb5\u57df\u8fdb\u884c\u9a8c\u8bc1\u7684\u89c6\u56fe + */ + var ValidView = function(){ + + }; + + ValidView.prototype = { + /** + * \u83b7\u53d6\u9519\u8bef\u4fe1\u606f\u7684\u5bb9\u5668 + * @protected + * @return {jQuery} + */ + getErrorsContainer : function(){ + var _self = this, + errorContainer = _self.get('errorContainer'); + if(errorContainer){ + if(BUI.isString(errorContainer)){ + return _self.get('el').find(errorContainer); + } + return errorContainer; + } + return _self.getContentElement(); + }, + /** + * \u663e\u793a\u9519\u8bef + */ + showErrors : function(errors){ + var _self = this, + errorsContainer = _self.getErrorsContainer(), + errorTpl = _self.get('errorTpl'); + _self.clearErrors(); + + if(!_self.get('showError')){ + return ; + } + //\u5982\u679c\u4ec5\u663e\u793a\u7b2c\u4e00\u6761\u9519\u8bef\u8bb0\u5f55 + if(_self.get('showOneError')){ + if(errors && errors.length){ + _self.showError(errors[0],errorTpl,errorsContainer); + } + return ; + } + + BUI.each(errors,function(error){ + if(error){ + _self.showError(error,errorTpl,errorsContainer); + } + }); + }, + /** + * \u663e\u793a\u4e00\u6761\u9519\u8bef + * @protected + * @template + * @param {String} msg \u9519\u8bef\u4fe1\u606f + */ + showError : function(msg,errorTpl,container){ + + }, + /** + * @protected + * @template + * \u6e05\u9664\u9519\u8bef + */ + clearErrors : function(){ + + } + }; + /** + * \u5bf9\u63a7\u4ef6\u5185\u7684\u5b57\u6bb5\u57df\u8fdb\u884c\u9a8c\u8bc1 + * @class BUI.Form.Valid + */ + var Valid = function(){ + + }; + + Valid.ATTRS = { + + /** + * \u63a7\u4ef6\u56fa\u6709\u7684\u9a8c\u8bc1\u89c4\u5219\uff0c\u4f8b\u5982\uff0c\u65e5\u671f\u5b57\u6bb5\u57df\uff0c\u6709\u7684date\u7c7b\u578b\u7684\u9a8c\u8bc1 + * @protected + * @type {Object} + */ + defaultRules : { + value : {} + }, + /** + * \u63a7\u4ef6\u56fa\u6709\u7684\u9a8c\u8bc1\u51fa\u9519\u4fe1\u606f\uff0c\u4f8b\u5982\uff0c\u65e5\u671f\u5b57\u6bb5\u57df\uff0c\u4e0d\u662f\u6709\u6548\u65e5\u671f\u7684\u9a8c\u8bc1\u5b57\u6bb5 + * @protected + * @type {Object} + */ + defaultMessages : { + value : {} + }, + /** + * \u9a8c\u8bc1\u89c4\u5219 + * @type {Object} + */ + rules : { + value : {} + }, + /** + * \u9a8c\u8bc1\u4fe1\u606f\u96c6\u5408 + * @type {Object} + */ + messages : { + value : {} + }, + /** + * \u9a8c\u8bc1\u5668 \u9a8c\u8bc1\u5bb9\u5668\u5185\u7684\u8868\u5355\u5b57\u6bb5\u662f\u5426\u901a\u8fc7\u9a8c\u8bc1 + * @type {Function} + */ + validator : { + + }, + /** + * \u5b58\u653e\u9519\u8bef\u4fe1\u606f\u5bb9\u5668\u7684\u9009\u62e9\u5668\uff0c\u5982\u679c\u672a\u63d0\u4f9b\u5219\u9ed8\u8ba4\u663e\u793a\u5728\u63a7\u4ef6\u4e2d + * @private + * @type {String} + */ + errorContainer : { + view : true + }, + /** + * \u663e\u793a\u9519\u8bef\u4fe1\u606f\u7684\u6a21\u677f + * @type {Object} + */ + errorTpl : { + view : true, + value : '!' + }, + /** + * \u663e\u793a\u9519\u8bef + * @type {Boolean} + */ + showError : { + view : true, + value : true + }, + /** + * \u662f\u5426\u4ec5\u663e\u793a\u4e00\u4e2a\u9519\u8bef + * @type {Boolean} + */ + showOneError: { + + }, + /** + * \u9519\u8bef\u4fe1\u606f\uff0c\u8fd9\u4e2a\u9a8c\u8bc1\u9519\u8bef\u4e0d\u5305\u542b\u5b50\u63a7\u4ef6\u7684\u9a8c\u8bc1\u9519\u8bef + * @type {String} + */ + error : { + + } + }; + + Valid.prototype = { + /** + * \u662f\u5426\u901a\u8fc7\u9a8c\u8bc1 + * @template + * @return {Boolean} \u662f\u5426\u901a\u8fc7\u9a8c\u8bc1 + */ + isValid : function(){ + + }, + /** + * \u8fdb\u884c\u9a8c\u8bc1 + */ + valid : function(){ + + }, + /** + * @protected + * @template + * \u9a8c\u8bc1\u81ea\u8eab\u7684\u89c4\u5219\u548c\u9a8c\u8bc1\u5668 + */ + validControl : function(){ + + }, + //\u9a8c\u8bc1\u89c4\u5219 + validRules : function(rules,value){ + var _self = this, + messages = _self._getValidMessages(), + error = null; + + for(var name in rules){ + if(rules.hasOwnProperty(name)){ + var baseValue = rules[name]; + error = Rules.valid(name,value,baseValue,messages[name],_self); + if(error){ + break; + } + } + } + return error; + }, + //\u83b7\u53d6\u9a8c\u8bc1\u9519\u8bef\u4fe1\u606f + _getValidMessages : function(){ + var _self = this, + defaultMessages = _self.get('defaultMessages'), + messages = _self.get('messages'); + return BUI.merge(defaultMessages,messages); + }, + /** + * @template + * @protected + * \u63a7\u4ef6\u672c\u8eab\u662f\u5426\u901a\u8fc7\u9a8c\u8bc1\uff0c\u4e0d\u8003\u8651\u5b50\u63a7\u4ef6 + * @return {String} \u9a8c\u8bc1\u7684\u9519\u8bef + */ + getValidError : function(value){ + var _self = this, + validator = _self.get('validator'), + error = null; + + error = _self.validRules(_self.get('defaultRules'),value) || _self.validRules(_self.get('rules'),value); + + if(!error){ + if(_self.parseValue){ + value = _self.parseValue(value); + } + error = validator ? validator.call(this,value) : ''; + } + + return error; + }, + /** + * \u83b7\u53d6\u9a8c\u8bc1\u51fa\u9519\u4fe1\u606f\uff0c\u5305\u62ec\u81ea\u8eab\u548c\u5b50\u63a7\u4ef6\u7684\u9a8c\u8bc1\u9519\u8bef\u4fe1\u606f + * @return {Array} \u51fa\u9519\u4fe1\u606f + */ + getErrors : function(){ + + }, + /** + * \u663e\u793a\u9519\u8bef + * @param {Array} \u663e\u793a\u9519\u8bef + */ + showErrors : function(errors){ + var _self = this, + errors = errors || _self.getErrors(); + _self.get('view').showErrors(errors); + }, + /** + * \u6e05\u9664\u9519\u8bef + */ + clearErrors : function(){ + var _self = this, + children = _self.get('children'); + + BUI.each(children,function(item){ + item.clearErrors && item.clearErrors(); + }); + _self.set('error',null); + _self.get('view').clearErrors(); + }, + /** + * \u6dfb\u52a0\u9a8c\u8bc1\u89c4\u5219 + * @param {String} name \u89c4\u5219\u540d\u79f0 + * @param {*} [value] \u89c4\u5219\u8fdb\u884c\u6821\u9a8c\u7684\u8fdb\u884c\u5bf9\u6bd4\u7684\u503c\uff0c\u5982max : 10 + * @param {String} [message] \u51fa\u9519\u4fe1\u606f,\u53ef\u4ee5\u4f7f\u6a21\u677f + *
              + *
            1. \u5982\u679c value \u662f\u5355\u4e2a\u503c\uff0c\u4f8b\u5982\u6700\u5927\u503c value = 10,\u90a3\u4e48\u6a21\u677f\u53ef\u4ee5\u5199\u6210\uff1a '\u8f93\u5165\u503c\u4e0d\u80fd\u5927\u4e8e{0}!'
            2. + *
            3. \u5982\u679c value \u662f\u4e2a\u590d\u6742\u5bf9\u8c61\uff0c\u6570\u7ec4\u65f6\uff0c\u6309\u7167\u7d22\u5f15\uff0c\u5bf9\u8c61\u65f6\u6309\u7167 key \u963b\u6b62\u3002\u5982\uff1avalue= {max:10,min:5} \uff0c\u5219'\u8f93\u5165\u503c\u4e0d\u80fd\u5927\u4e8e{max},\u4e0d\u80fd\u5c0f\u4e8e{min}'
            4. + *
            + * var field = form.getField('name'); + * field.addRule('required',true); + * + * field.addRule('max',10,'\u4e0d\u80fd\u5927\u4e8e{0}'); + */ + addRule : function(name,value,message){ + var _self = this, + rules = _self.get('rules'), + messages = _self.get('messages'); + rules[name] = value; + if(message){ + messages[name] = message; + } + + }, + /** + * \u6dfb\u52a0\u591a\u4e2a\u9a8c\u8bc1\u89c4\u5219 + * @param {Object} rules \u591a\u4e2a\u9a8c\u8bc1\u89c4\u5219 + * @param {Object} [messages] \u9a8c\u8bc1\u89c4\u5219\u7684\u51fa\u9519\u4fe1\u606f + * var field = form.getField('name'); + * field.addRules({ + * required : true, + * max : 10 + * }); + */ + addRules : function(rules,messages){ + var _self = this; + + BUI.each(rules,function(value,name){ + var msg = messages ? messages[name] : null; + _self.addRule(name,value,msg); + }); + }, + /** + * \u79fb\u9664\u6307\u5b9a\u540d\u79f0\u7684\u9a8c\u8bc1\u89c4\u5219 + * @param {String} name \u9a8c\u8bc1\u89c4\u5219\u540d\u79f0 + * var field = form.getField('name'); + * field.remove('required'); + */ + removeRule : function(name){ + var _self = this, + rules = _self.get('rules'); + delete rules[name]; + }, + /** + * \u6e05\u7406\u9a8c\u8bc1\u89c4\u5219 + */ + clearRules : function(){ + var _self = this; + _self.set('rules',{}); + } + }; + + Valid.View = ValidView; + return Valid; +});/** + * @fileOverview \u8868\u5355\u5206\u7ec4\u9a8c\u8bc1 + * @ignore + */ + +define('bui/form/groupvalid',['bui/form/valid'],function (require) { + + var CLS_ERROR = 'x-form-error', + Valid = require('bui/form/valid'); + + /** + * @class BUI.Form.GroupValidView + * @private + * \u8868\u5355\u5206\u7ec4\u9a8c\u8bc1\u89c6\u56fe + * @extends BUI.Form.ValidView + */ + function GroupValidView(){ + + } + + BUI.augment(GroupValidView,Valid.View,{ + /** + * \u663e\u793a\u4e00\u6761\u9519\u8bef + * @private + * @param {String} msg \u9519\u8bef\u4fe1\u606f + */ + showError : function(msg,errorTpl,container){ + var errorMsg = BUI.substitute(errorTpl,{error : msg}), + el = $(errorMsg); + el.appendTo(container); + el.addClass(CLS_ERROR); + }, + /** + * \u6e05\u9664\u9519\u8bef + */ + clearErrors : function(){ + var _self = this, + errorContainer = _self.getErrorsContainer(); + errorContainer.children('.' + CLS_ERROR).remove(); + } + }); + + /** + * @class BUI.Form.GroupValid + * \u8868\u5355\u5206\u7ec4\u9a8c\u8bc1 + * @extends BUI.Form.Valid + */ + function GroupValid(){ + + } + + GroupValid.ATTRS = ATTRS =BUI.merge(true,Valid.ATTRS,{ + events: { + value : { + validchange : true, + change : true + } + } + }); + + BUI.augment(GroupValid,Valid,{ + __bindUI : function(){ + var _self = this, + validEvent = 'validchange change'; + + //\u5f53\u4e0d\u9700\u8981\u663e\u793a\u5b50\u63a7\u4ef6\u9519\u8bef\u65f6\uff0c\u4ec5\u9700\u8981\u76d1\u542c'change'\u4e8b\u4ef6\u5373\u53ef + _self.on(validEvent,function(ev){ + var sender = ev.target; + if(sender != this && _self.get('showError')){ + var valid = _self.isChildrenValid(); + if(valid){ + _self.validControl(_self.getRecord()); + valid = _self.isSelfValid(); + } + if(!valid){ + _self.showErrors(); + }else{ + _self.clearErrors(); + } + } + }); + }, + /** + * \u662f\u5426\u901a\u8fc7\u9a8c\u8bc1 + */ + isValid : function(){ + var _self = this, + isValid = _self.isChildrenValid(); + return isValid && _self.isSelfValid(); + }, + /** + * \u8fdb\u884c\u9a8c\u8bc1 + */ + valid : function(){ + var _self = this, + children = _self.get('children'); + + BUI.each(children,function(item){ + item.valid(); + }); + }, + /** + * \u6240\u6709\u5b50\u63a7\u4ef6\u662f\u5426\u901a\u8fc7\u9a8c\u8bc1 + * @protected + * @return {Boolean} \u6240\u6709\u5b50\u63a7\u4ef6\u662f\u5426\u901a\u8fc7\u9a8c\u8bc1 + */ + isChildrenValid : function(){ + var _self = this, + children = _self.get('children'), + isValid = true; + + BUI.each(children,function(item){ + if(!item.isValid()){ + isValid = false; + return false; + } + }); + return isValid; + }, + isSelfValid : function () { + return !this.get('error'); + }, + /** + * \u9a8c\u8bc1\u63a7\u4ef6\u5185\u5bb9 + * @protected + * @return {Boolean} \u662f\u5426\u901a\u8fc7\u9a8c\u8bc1 + */ + validControl : function (record) { + var _self = this, + error = _self.getValidError(record); + _self.set('error',error); + }, + /** + * \u83b7\u53d6\u9a8c\u8bc1\u51fa\u9519\u4fe1\u606f\uff0c\u5305\u62ec\u81ea\u8eab\u548c\u5b50\u63a7\u4ef6\u7684\u9a8c\u8bc1\u9519\u8bef\u4fe1\u606f + * @return {Array} \u51fa\u9519\u4fe1\u606f + */ + getErrors : function(){ + var _self = this, + children = _self.get('children'), + showChildError = _self.get('showChildError'), + validError = null, + rst = []; + if(showChildError){ + BUI.each(children,function(child){ + if(child.getErrors){ + rst = rst.concat(child.getErrors()); + } + }); + } + //\u5982\u679c\u6240\u6709\u5b50\u63a7\u4ef6\u901a\u8fc7\u9a8c\u8bc1\uff0c\u624d\u663e\u793a\u81ea\u5df1\u7684\u9519\u8bef + if(_self.isChildrenValid()){ + validError = _self.get('error'); + if(validError){ + rst.push(validError); + } + } + + return rst; + }, + //\u8bbe\u7f6e\u9519\u8bef\u6a21\u677f\u65f6\uff0c\u8986\u76d6\u5b50\u63a7\u4ef6\u8bbe\u7f6e\u7684\u9519\u8bef\u6a21\u677f + _uiSetErrorTpl : function(v){ + var _self = this, + children = _self.get('children'); + + BUI.each(children,function(item){ + item.set('errorTpl',v); + }); + } + }); + + GroupValid.View = GroupValidView; + + return GroupValid; +});/** + * @fileOverview \u8868\u5355\u5b57\u6bb5\u7684\u5bb9\u5668\u6269\u5c55 + * @ignore + */ +define('bui/form/fieldcontainer',['bui/common','bui/form/field','bui/form/groupvalid'],function (require) { + var BUI = require('bui/common'), + Field = require('bui/form/field'), + GroupValid = require('bui/form/groupvalid'), + PREFIX = BUI.prefix; + + var FIELD_XCLASS = 'form-field', + CLS_FIELD = PREFIX + FIELD_XCLASS, + CLS_GROUP = PREFIX + 'form-group', + FIELD_TAGS = 'input,select,textarea'; + + function isField(node){ + return node.is(FIELD_TAGS); + } + /** + * \u83b7\u53d6\u8282\u70b9\u9700\u8981\u5c01\u88c5\u7684\u5b50\u8282\u70b9 + * @ignore + */ + function getDecorateChilds(node,srcNode){ + + if(node != srcNode){ + + if(isField(node)){ + return [node]; + } + var cls = node.attr('class'); + if(cls && (cls.indexOf(CLS_GROUP) !== -1 || cls.indexOf(CLS_FIELD) !== -1)){ + return [node]; + } + } + var rst = [], + children = node.children(); + BUI.each(children,function(subNode){ + rst = rst.concat(getDecorateChilds($(subNode),srcNode)); + }); + return rst; + } + + var containerView = BUI.Component.View.extend([GroupValid.View]); + + /** + * \u8868\u5355\u5b57\u6bb5\u5bb9\u5668\u7684\u6269\u5c55\u7c7b + * @class BUI.Form.FieldContainer + * @extends BUI.Component.Controller + * @mixins BUI.Form.GroupValid + */ + var container = BUI.Component.Controller.extend([GroupValid], + { + //\u540c\u6b65\u6570\u636e + syncUI : function(){ + var _self = this, + fields = _self.getFields(), + validators = _self.get('validators'); + + BUI.each(fields,function(field){ + var name = field.get('name'); + if(validators[name]){ + field.set('validator',validators[name]); + } + }); + BUI.each(validators,function(item,key){ + //\u6309\u7167ID\u67e5\u627e + if(key.indexOf('#') == 0){ + var id = key.replace('#',''), + child = _self.getChild(id,true); + if(child){ + child.set('validator',item); + } + } + }); + }, + /** + * \u83b7\u53d6\u5c01\u88c5\u7684\u5b50\u63a7\u4ef6\u8282\u70b9 + * @protected + * @override + */ + getDecorateElments : function(){ + var _self = this, + el = _self.get('el'); + var items = getDecorateChilds(el,el); + return items; + }, + /** + * \u6839\u636e\u5b50\u8282\u70b9\u83b7\u53d6\u5bf9\u5e94\u7684\u5b50\u63a7\u4ef6 xclass + * @protected + * @override + */ + findXClassByNode : function(childNode, ignoreError){ + + + if(childNode.attr('type') === 'checkbox'){ + return FIELD_XCLASS + '-checkbox'; + } + + if(childNode.attr('type') === 'radio'){ + return FIELD_XCLASS + '-radio'; + } + + if(childNode.attr('type') === 'number'){ + return FIELD_XCLASS + '-number'; + } + + if(childNode.hasClass('calendar')){ + return FIELD_XCLASS + '-date'; + } + + if(childNode[0].tagName == "SELECT"){ + return FIELD_XCLASS + '-select'; + } + + if(isField(childNode)){ + return FIELD_XCLASS; + } + + return BUI.Component.Controller.prototype.findXClassByNode.call(this,childNode, ignoreError); + }, + /** + * \u83b7\u53d6\u8868\u5355\u7f16\u8f91\u7684\u5bf9\u8c61 + * @return {Object} \u7f16\u8f91\u7684\u5bf9\u8c61 + */ + getRecord : function(){ + var _self = this, + rst = {}, + fields = _self.getFields(); + BUI.each(fields,function(field){ + var name = field.get('name'), + value = _self._getFieldValue(field); + + if(!rst[name]){//\u6ca1\u6709\u503c\uff0c\u76f4\u63a5\u8d4b\u503c + rst[name] = value; + }else if(BUI.isArray(rst[name]) && value != null){//\u5df2\u7ecf\u5b58\u5728\u503c\uff0c\u5e76\u4e14\u662f\u6570\u7ec4\uff0c\u52a0\u5165\u6570\u7ec4 + rst[name].push(value); + }else if(value != null){ //\u5426\u5219\u5c01\u88c5\u6210\u6570\u7ec4\uff0c\u5e76\u52a0\u5165\u6570\u7ec4 + var arr = [rst[name]] + arr.push(value); + rst[name] = arr; + } + }); + return rst; + }, + /** + * \u83b7\u53d6\u8868\u5355\u5b57\u6bb5 + * @return {Array} \u8868\u5355\u5b57\u6bb5 + */ + getFields : function(name){ + var _self = this, + rst = [], + children = _self.get('children'); + BUI.each(children,function(item){ + if(item instanceof Field){ + if(!name || item.get('name') == name){ + rst.push(item); + } + }else if(item.getFields){ + rst = rst.concat(item.getFields(name)); + } + }); + return rst; + }, + /** + * \u6839\u636ename \u83b7\u53d6\u8868\u5355\u5b57\u6bb5 + * @param {String} name \u5b57\u6bb5\u540d + * @return {BUI.Form.Field} \u8868\u5355\u5b57\u6bb5\u6216\u8005 null + */ + getField : function(name){ + var _self = this, + fields = _self.getFields(), + rst = null; + + BUI.each(fields,function(field){ + if(field.get('name') === name){ + rst = field; + return false; + } + }); + return rst; + }, + /** + * \u6839\u636e\u7d22\u5f15\u83b7\u53d6\u5b57\u6bb5\u7684name + * @param {Number} index \u5b57\u6bb5\u7684\u7d22\u5f15 + * @return {String} \u5b57\u6bb5\u540d\u79f0 + */ + getFieldAt : function (index) { + return this.getFields()[index]; + }, + /** + * \u6839\u636e\u5b57\u6bb5\u540d + * @param {String} name \u5b57\u6bb5\u540d + * @param {*} value \u5b57\u6bb5\u503c + */ + setFieldValue : function(name,value){ + var _self = this, + fields = _self.getFields(name); + BUI.each(fields,function(field){ + _self._setFieldValue(field,value); + }); + }, + //\u8bbe\u7f6e\u5b57\u6bb5\u57df\u7684\u503c + _setFieldValue : function(field,value){ + //\u5982\u679c\u5b57\u6bb5\u4e0d\u53ef\u7528\uff0c\u5219\u4e0d\u80fd\u8bbe\u7f6e\u503c + if(field.get('disabled')){ + return; + } + //\u5982\u679c\u662f\u53ef\u52fe\u9009\u7684 + if(field instanceof Field.Check){ + var fieldValue = field.get('value'); + if(value && (fieldValue === value || (BUI.isArray(value) && BUI.Array.contains(fieldValue,value)))){ + field.set('checked',true); + }else{ + field.set('checked',false); + } + }else{ + if(value == null){ + value = ''; + } + field.set('value',value); + } + }, + /** + * \u83b7\u53d6\u5b57\u6bb5\u503c,\u4e0d\u5b58\u5728\u5b57\u6bb5\u65f6\u8fd4\u56denull,\u591a\u4e2a\u540c\u540d\u5b57\u6bb5\u65f6\uff0ccheckbox\u8fd4\u56de\u4e00\u4e2a\u6570\u7ec4 + * @param {String} name \u5b57\u6bb5\u540d + * @return {*} \u5b57\u6bb5\u503c + */ + getFieldValue : function(name){ + var _self = this, + fields = _self.getFields(name), + rst = []; + + BUI.each(fields,function(field){ + var value = _self._getFieldValue(field); + if(value){ + rst.push(value); + } + }); + if(rst.length === 0){ + return null; + } + if(rst.length === 1){ + return rst[0] + } + return rst; + }, + //\u83b7\u53d6\u5b57\u6bb5\u57df\u7684\u503c + _getFieldValue : function(field){ + if(!(field instanceof Field.Check) || field.get('checked')){ + return field.get('value'); + } + return null; + }, + /** + * \u6e05\u9664\u6240\u6709\u8868\u5355\u57df\u7684\u503c + */ + clearFields : function(){ + this.clearErrors(); + this.setRecord({}) + }, + /** + * \u8bbe\u7f6e\u8868\u5355\u7f16\u8f91\u7684\u5bf9\u8c61 + * @param {Object} record \u7f16\u8f91\u7684\u5bf9\u8c61 + */ + setRecord : function(record){ + var _self = this, + fields = _self.getFields(); + + BUI.each(fields,function(field){ + var name = field.get('name'); + _self._setFieldValue(field,record[name]); + }); + }, + /** + * \u66f4\u65b0\u8868\u5355\u7f16\u8f91\u7684\u5bf9\u8c61 + * @param {Object} record \u7f16\u8f91\u7684\u5bf9\u8c61 + */ + updateRecord : function(record){ + var _self = this, + fields = _self.getFields(); + + BUI.each(fields,function(field){ + var name = field.get('name'); + if(record.hasOwnProperty(name)){ + _self._setFieldValue(field,record[name]); + } + }); + }, + /** + * \u8bbe\u7f6e\u63a7\u4ef6\u83b7\u53d6\u7126\u70b9\uff0c\u8bbe\u7f6e\u7b2c\u4e00\u4e2a\u5b50\u63a7\u4ef6\u83b7\u53d6\u7126\u70b9 + */ + focus : function(){ + var _self = this, + fields = _self.getFields(), + firstField = fields[0]; + if(firstField){ + firstField.focus(); + } + }, + //\u7981\u7528\u63a7\u4ef6 + _uiSetDisabled : function(v){ + var _self = this, + children = _self.get('children'); + + BUI.each(children,function(item){ + item.set('disabled',v); + }); + } + }, + { + ATTRS : { + /** + * \u8868\u5355\u7684\u6570\u636e\u8bb0\u5f55\uff0c\u4ee5\u952e\u503c\u5bf9\u7684\u5f62\u5f0f\u5b58\u5728 + * @type {Object} + */ + record : { + setter : function(v){ + this.setRecord(v); + }, + getter : function(){ + return this.getRecord(); + } + }, + /** + * \u5185\u90e8\u5143\u7d20\u7684\u9a8c\u8bc1\u51fd\u6570\uff0c\u53ef\u4ee5\u4f7f\u75282\u4e2d\u9009\u62e9\u5668 + *
              + *
            1. id: \u4f7f\u7528\u4ee5'#'\u4e3a\u524d\u7f00\u7684\u9009\u62e9\u5668\uff0c\u53ef\u4ee5\u67e5\u627e\u5b57\u6bb5\u6216\u8005\u5206\u7ec4\uff0c\u6dfb\u52a0\u8054\u5408\u6821\u9a8c
            2. + *
            3. name: \u4e0d\u4f7f\u7528\u4efb\u4f55\u524d\u7f00\uff0c\u6ca1\u67e5\u627e\u8868\u5355\u5b57\u6bb5
            4. + *
            + * @type {Object} + */ + validators : { + value : { + + } + }, + /** + * \u9ed8\u8ba4\u7684\u52a0\u8f7d\u63a7\u4ef6\u5185\u5bb9\u7684\u914d\u7f6e,\u9ed8\u8ba4\u503c\uff1a + *
            +         *  {
            +         *   property : 'children',
            +         *   dataType : 'json'
            +         * }
            +         * 
            + * @type {Object} + */ + defaultLoaderCfg : { + value : { + property : 'children', + dataType : 'json' + } + }, + disabled : { + sync : false + }, + isDecorateChild : { + value : true + }, + xview : { + value : containerView + } + } + },{ + xclass : 'form-field-container' + } + ); + container.View = containerView; + return container; + +});/** + * @fileOverview \u8868\u5355\u6587\u672c\u57df\u7ec4\uff0c\u53ef\u4ee5\u5305\u542b\u4e00\u4e2a\u81f3\u591a\u4e2a\u5b57\u6bb5 + * @author dxq613@gmail.com + * @ignore + */ + +define('bui/form/group/base',['bui/common','bui/form/fieldcontainer'],function (require) { + var BUI = require('bui/common'), + FieldContainer = require('bui/form/fieldcontainer'); + + /** + * @class BUI.Form.Group + * \u8868\u5355\u5b57\u6bb5\u5206\u7ec4 + * @extends BUI.Form.FieldContainer + */ + var Group = FieldContainer.extend({ + + },{ + ATTRS : { + /** + * \u6807\u9898 + * @type {String} + */ + label : { + view : true + }, + defaultChildClass : { + value : 'form-field' + } + } + },{ + xclass:'form-group' + }); + + return Group; +});/** + * @fileOverview \u8303\u56f4\u7684\u5b57\u6bb5\u7ec4\uff0c\u6bd4\u5982\u65e5\u671f\u8303\u56f4\u7b49 + * @ignore + */ + +define('bui/form/group/range',['bui/form/group/base'],function (require) { + var Group = require('bui/form/group/base'); + + function testRange (self,curVal,prevVal) { + var allowEqual = self.get('allowEqual'); + + if(allowEqual){ + return prevVal <= curVal; + } + + return prevVal < curVal; + } + /** + * @class BUI.Form.Group.Range + * \u5b57\u6bb5\u8303\u56f4\u5206\u7ec4\uff0c\u7528\u4e8e\u65e5\u671f\u8303\u56f4\uff0c\u6570\u5b57\u8303\u56f4\u7b49\u573a\u666f + * @extends BUI.Form.Group + */ + var Range = Group.extend({ + + },{ + ATTRS : { + /** + * \u9ed8\u8ba4\u7684\u9a8c\u8bc1\u51fd\u6570\u5931\u8d25\u540e\u663e\u793a\u7684\u6587\u672c\u3002 + * @type {Object} + */ + rangeText : { + value : '\u5f00\u59cb\u4e0d\u80fd\u5927\u4e8e\u7ed3\u675f\uff01' + }, + /** + * \u662f\u5426\u5141\u8bb8\u524d\u540e\u76f8\u7b49 + * @type {Boolean} + */ + allowEqual : { + value : true + }, + /** + * \u9a8c\u8bc1\u5668 + * @override + * @type {Function} + */ + validator : { + value : function (record) { + var _self = this, + fields = _self.getFields(), + valid = true; + for(var i = 1; i < fields.length ; i ++){ + var cur = fields[i], + prev = fields[i-1], + curVal, + prevVal; + if(cur && prev){ + curVal = cur.get('value'); + prevVal = prev.get('value'); + if(!testRange(_self,curVal,prevVal)){ + valid = false; + break; + } + } + } + if(!valid){ + return _self.get('rangeText'); + } + return null; + } + } + } + },{ + xclass : 'form-group-range' + }); + + return Range; +});/** + * @fileOverview \u9009\u62e9\u5206\u7ec4\uff0c\u5305\u542b\uff0ccheckbox,radio + * @ignore + */ + +define('bui/form/group/check',['bui/form/group/base'],function (require) { + var Group = require('bui/form/group/base'); + + function getFieldName (self) { + var firstField = self.getFieldAt(0); + if(firstField){ + return firstField.get('name'); + } + return ''; + } + /** + * @class BUI.Form.Group.Check + * \u5355\u9009\uff0c\u590d\u9009\u5206\u7ec4\uff0c\u53ea\u80fd\u5305\u542b\u540cname\u7684checkbox,radio + * @extends BUI.Form.Group + */ + var Check = Group.extend({ + bindUI : function(){ + var _self = this; + _self.on('change',function(ev){ + var name = getFieldName(_self), + range = _self.get('range'), + record = _self.getRecord(), + value = record[name], + max = range[1]; + if(value && value.length >= max){ + _self._setFieldsEnable(name,false); + }else{ + _self._setFieldsEnable(name,true); + } + }); + }, + _setFieldsEnable : function(name,enable){ + + var _self = this, + fields = _self.getFields(name); + BUI.each(fields,function(field){ + if(enable){ + field.enable(); + }else{ + if(!field.get('checked')){ + field.disable(); + } + } + }); + }, + _uiSetRange : function(v){ + this.addRule('checkRange',v); + } + + },{ + ATTRS : { + /** + * \u9700\u8981\u9009\u4e2d\u7684\u5b57\u6bb5, + *
              + *
            1. \u5982\u679c range:1\uff0crange:2 \u6700\u5c11\u52fe\u90091\u4e2a\uff0c2\u4e2a\u3002
            2. + *
            3. \u5982\u679c range :0,\u53ef\u4ee5\u5168\u90e8\u4e0d\u9009\u4e2d\u3002
            4. + *
            5. \u5982\u679c range:[1,2],\u5219\u5fc5\u987b\u9009\u4e2d1-2\u4e2a\u3002
            6. + *
            + * @type {Array|Number} + */ + range : { + setter : function (v) { + if(BUI.isString(v) || BUI.isNumber(v)){ + v = [parseInt(v)]; + } + return v; + } + } + } + },{ + xclass : 'form-group-check' + }); + + return Check; + +});/** + * @fileOverview \u9009\u62e9\u6846\u5206\u7ec4 + * @ignore + */ + +define('bui/form/group/select',['bui/form/group/base','bui/data'],function (require) { + var Group = require('bui/form/group/base'), + Data = require('bui/data'), + Bindable = BUI.Component.UIBase.Bindable; + + function getItems(nodes){ + var items = []; + BUI.each(nodes,function(node){ + items.push({ + text : node.text, + value : node.id + }); + }); + return items; + } + + /** + * @class BUI.Form.Group.Select + * \u7ea7\u8054\u9009\u62e9\u6846\u5206\u7ec4 + * @extends BUI.Form.Group + * @mixins BUI.Component.UIBase.Bindable + */ + var Select = Group.extend([Bindable],{ + initializer : function(){ + var _self = this, + url = _self.get('url'), + store = _self.get('store') || _self._getStore(); + if(!store.isStore){ + store.autoLoad = true; + if(url){ + store.url = url; + } + store = new Data.TreeStore(store); + _self.set('store',store); + } + }, + bindUI : function () { + var _self = this; + _self.on('change',function (ev) { + var target = ev.target; + if(target != _self){ + var field = target, + value = field.get('value'), + level = _self._getFieldIndex(field) + 1; + _self._valueChange(value,level); + } + }); + }, + onLoad : function(e){ + var _self = this, + node = e ? e.node : _self.get('store').get('root'); + _self._setFieldItems(node.level,node.children); + }, + //\u83b7\u53d6store\u7684\u914d\u7f6e\u9879 + _getStore : function(){ + var _self = this, + type = _self.get('type'); + if(type && TypeMap[type]){ + return TypeMap[type]; + } + return {}; + }, + _valueChange : function(value,level){ + var _self = this, + store = _self.get('store'); + if(value){ + var node = store.findNode(value); + if(!node){ + return; + } + if(store.isLoaded(node)){ + _self._setFieldItems(level,node.children); + }else{ + store.loadNode(node); + } + }else{ + _self._setFieldItems(level,[]); + } + }, + _setFieldItems : function(level,nodes){ + var _self = this, + field = _self.getFieldAt(level), + items = getItems(nodes); + if(field){ + field.setItems(items); + _self._valueChange(field.get('value'),level + 1); + } + }, + //\u83b7\u53d6\u5b57\u6bb5\u7684\u7d22\u5f15\u4f4d\u7f6e + _getFieldIndex : function (field) { + var _self = this, + fields = _self.getFields(); + return BUI.Array.indexOf(field,fields); + } + },{ + ATTRS : { + /** + * \u7ea7\u8054\u9009\u62e9\u6846\u7684\u7c7b\u578b,\u76ee\u524d\u4ec5\u5185\u7f6e\u4e86 'city'\u4e00\u4e2a\u7c7b\u578b\uff0c\u7528\u4e8e\u9009\u62e9\u7701\u3001\u5e02\u3001\u53bf, + * \u53ef\u4ee5\u81ea\u5b9a\u4e49\u6dfb\u52a0\u7c7b\u578b + * Select.addType('city',{ + * proxy : { + * url : 'http://lp.taobao.com/go/rgn/citydistrictdata.php', + * dataType : 'jsonp' + * }, + * map : { + * isleaf : 'leaf', + * value : 'text' + * } + * }); + * @type {String} + */ + type : { + + }, + store : { + + } + } + },{ + xclass : 'form-group-select' + }); + + var TypeMap = {}; + + /** + * \u6dfb\u52a0\u4e00\u4e2a\u7c7b\u578b\u7684\u7ea7\u8054\u9009\u62e9\u6846\uff0c\u76ee\u524d\u4ec5\u5185\u7f6e\u4e86 'city'\u4e00\u4e2a\u7c7b\u578b\uff0c\u7528\u4e8e\u9009\u62e9\u7701\u3001\u5e02\u3001\u53bf + * @static + * @param {String} name \u7c7b\u578b\u540d\u79f0 + * @param {Object} cfg \u914d\u7f6e\u9879\uff0c\u8be6\u7ec6\u4fe1\u606f\u8bf7\u53c2\u770b\uff1a @see{BUI.Data.TreeStore} + */ + Select.addType = function(name,cfg){ + TypeMap[name] = cfg; + }; + + Select.addType('city',{ + proxy : { + url : 'http://lp.taobao.com/go/rgn/citydistrictdata.php', + dataType : 'jsonp' + }, + map : { + isleaf : 'leaf', + value : 'text' + } + }); + + + return Select; +});/** + * @fileOverview \u8868\u5355\u6587\u672c\u57df\u7ec4\uff0c\u53ef\u4ee5\u5305\u542b\u4e00\u4e2a\u81f3\u591a\u4e2a\u5b57\u6bb5 + * @author dxq613@gmail.com + * @ignore + */ + +define('bui/form/fieldgroup',['bui/common','bui/form/group/base','bui/form/group/range','bui/form/group/check','bui/form/group/select'],function (require) { + var BUI = require('bui/common'), + Group = require('bui/form/group/base'); + + BUI.mix(Group,{ + Range : require('bui/form/group/range'), + Check : require('bui/form/group/check'), + Select : require('bui/form/group/select') + }); + return Group; +});/** + * @fileOverview \u521b\u5efa\u8868\u5355 + * @ignore + */ + +define('bui/form/form',['bui/common','bui/toolbar','bui/form/fieldcontainer'],function (require) { + + var BUI = require('bui/common'), + Bar = require('bui/toolbar').Bar, + FieldContainer = require('bui/form/fieldcontainer'), + Component = BUI.Component; + + var FormView = FieldContainer.View.extend({ + _uiSetMethod : function(v){ + this.get('el').attr('method',v); + }, + _uiSetAction : function(v){ + this.get('el').attr('action',v); + } + },{ + ATTRS : { + method : {}, + action : {} + } + },{ + xclass: 'form-view' + }); + + /** + * @class BUI.Form.Form + * \u8868\u5355\u63a7\u4ef6,\u8868\u5355\u76f8\u5173\u7684\u7c7b\u56fe\uff1a + * + * @extends BUI.Form.FieldContainer + */ + var Form = FieldContainer.extend({ + renderUI : function(){ + var _self = this, + buttonBar = _self.get('buttonBar'), + cfg; + if($.isPlainObject(buttonBar) && _self.get('buttons')){ + cfg = BUI.merge(_self.getDefaultButtonBarCfg(),buttonBar); + buttonBar = new Bar(cfg); + _self.set('buttonBar',buttonBar); + } + }, + bindUI : function(){ + var _self = this, + formEl = _self.get('el'); + + formEl.on('submit',function(ev){ + _self.valid(); + if(!_self.isValid() || _self.onBeforeSubmit() === false){ + ev.preventDefault(); + } + }); + }, + /** + * \u83b7\u53d6\u6309\u94ae\u680f\u9ed8\u8ba4\u7684\u914d\u7f6e\u9879 + * @protected + * @return {Object} + */ + getDefaultButtonBarCfg : function(){ + var _self = this, + buttons = _self.get('buttons'); + return { + autoRender : true, + elCls :'toolbar', + render : _self.get('el'), + items : buttons, + defaultChildClass : 'bar-item-button' + }; + }, + /** + * \u8868\u5355\u63d0\u4ea4\uff0c\u5982\u679c\u672a\u901a\u8fc7\u9a8c\u8bc1\uff0c\u5219\u963b\u6b62\u63d0\u4ea4 + */ + submit : function(options){ + var _self = this; + _self.valid(); + if(_self.isValid()){ + if(_self.onBeforeSubmit() == false){ + return; + } + if(!options){ + _self.get('el')[0].submit(); + } + } + }, + /** + * \u5e8f\u5217\u5316\u8868\u5355\u6210\u5bf9\u8c61 + * @return {Object} \u5e8f\u5217\u5316\u6210\u5bf9\u8c61 + */ + serializeToObject : function(){ + return BUI.FormHelper.serializeToObject(this.get('el')[0]); + }, + /** + * \u8868\u5355\u63d0\u4ea4\u524d + * @protected + * @return {Boolean} \u662f\u5426\u53d6\u6d88\u63d0\u4ea4 + */ + onBeforeSubmit : function(){ + return this.fire('beforesubmit'); + }, + /** + * \u8868\u5355\u6062\u590d\u521d\u59cb\u503c + */ + reset : function(){ + var _self = this, + initRecord = _self.get('initRecord'); + _self.setRecord(initRecord); + }, + /** + * \u91cd\u7f6e\u63d0\u793a\u4fe1\u606f\uff0c\u56e0\u4e3a\u5728\u8868\u5355\u9690\u85cf\u72b6\u6001\u4e0b\uff0c\u63d0\u793a\u4fe1\u606f\u5b9a\u4f4d\u9519\u8bef + *
            
            +     * dialog.on('show',function(){
            +     *   form.resetTips();
            +     * });
            +     *   
            +     * 
            + */ + resetTips : function(){ + var _self = this, + fields = _self.getFields(); + BUI.each(fields,function(field){ + field.resetTip(); + }); + }, + /** + * @protected + * @ignore + */ + destructor : function(){ + var _self = this, + buttonBar = _self.get('buttonBar'); + if(buttonBar && buttonBar.destroy){ + buttonBar.destroy(); + } + }, + //\u8bbe\u7f6e\u8868\u5355\u7684\u521d\u59cb\u6570\u636e + _uiSetInitRecord : function(v){ + //if(v){ + this.setRecord(v); + //} + + } + },{ + ATTRS : { + /** + * \u63d0\u4ea4\u7684\u8def\u5f84 + * @type {String} + */ + action : { + view : true, + value : '' + }, + allowTextSelection:{ + value : true + }, + events : { + value : { + /** + * @event + * \u8868\u5355\u63d0\u4ea4\u524d\u89e6\u53d1\uff0c\u5982\u679c\u8fd4\u56defalse\u4f1a\u963b\u6b62\u8868\u5355\u63d0\u4ea4 + */ + beforesubmit : false + } + }, + /** + * \u63d0\u4ea4\u7684\u65b9\u5f0f + * @type {String} + */ + method : { + view : true, + value : 'get' + }, + decorateCfgFields : { + value : { + 'method' : true, + 'action' : true + } + }, + /** + * \u9ed8\u8ba4\u7684\u5b50\u63a7\u4ef6\u65f6\u6587\u672c\u57df + * @type {String} + */ + defaultChildClass : { + value : 'form-field' + }, + /** + * \u4f7f\u7528\u7684\u6807\u7b7e\uff0c\u4e3aform + * @type {String} + */ + elTagName : { + value : 'form' + }, + /** + * \u8868\u5355\u6309\u94ae + * @type {Array} + */ + buttons : { + + }, + /** + * \u6309\u94ae\u680f + * @type {BUI.Toolbar.Bar} + */ + buttonBar : { + value : { + + } + }, + childContainer : { + value : '.x-form-fields' + }, + /** + * \u8868\u5355\u521d\u59cb\u5316\u7684\u6570\u636e\uff0c\u7528\u4e8e\u521d\u59cb\u5316\u6216\u8005\u8868\u5355\u56de\u6eda + * @type {Object} + */ + initRecord : { + + }, + /** + * \u8868\u5355\u9ed8\u8ba4\u4e0d\u663e\u793a\u9519\u8bef\uff0c\u4e0d\u5f71\u54cd\u8868\u5355\u5206\u7ec4\u548c\u8868\u5355\u5b57\u6bb5 + * @type {Boolean} + */ + showError : { + value : false + }, + xview : { + value : FormView + }, + tpl : { + value : '
            ' + } + } + },{ + xclass : 'form' + }); + + Form.View = FormView; + return Form; +});/** + * @fileOverview \u5782\u76f4\u8868\u5355 + * @ignore + */ + +define('bui/form/horizontal',['bui/common','bui/form/form'],function (require) { + var BUI = require('bui/common'), + Form = require('bui/form/form'); + + /** + * @class BUI.Form.Horizontal + * \u6c34\u5e73\u8868\u5355\uff0c\u5b57\u6bb5\u6c34\u5e73\u6392\u5217 + * @extends BUI.Form.Form + * + */ + var Horizontal = Form.extend({ + /** + * \u83b7\u53d6\u6309\u94ae\u680f\u9ed8\u8ba4\u7684\u914d\u7f6e\u9879 + * @protected + * @return {Object} + */ + getDefaultButtonBarCfg : function(){ + var _self = this, + buttons = _self.get('buttons'); + return { + autoRender : true, + elCls : 'actions-bar toolbar row', + tpl : '
            ', + childContainer : '.form-actions', + render : _self.get('el'), + items : buttons, + defaultChildClass : 'bar-item-button' + }; + } + },{ + ATTRS : { + defaultChildClass : { + value : 'form-row' + }, + errorTpl : { + value : '!{error}' + }, + elCls : { + value : 'form-horizontal' + } + }, + PARSER : { + + } + },{ + xclass : 'form-horizontal' + }); + return Horizontal; +});/** + * @fileOverview \u8868\u5355\u91cc\u7684\u4e00\u884c\u5143\u7d20 + * @ignore + */ + +define('bui/form/row',['bui/common','bui/form/fieldcontainer'],function (require) { + var BUI = require('bui/common'), + FieldContainer = require('bui/form/fieldcontainer'); + + /** + * @class BUI.Form.Row + * \u8868\u5355\u884c + * @extends BUI.Form.FieldContainer + */ + var Row = FieldContainer.extend({ + + },{ + ATTRS : { + elCls : { + value : 'row' + }, + defaultChildCfg:{ + value : { + tpl : ' \ +
            \ +
            ', + childContainer : '.controls', + showOneError : true, + controlContainer : '.controls', + elCls : 'control-group span8', + errorTpl : '!{error}' + } + + }, + defaultChildClass : { + value : 'form-field-text' + } + } + },{ + xclass:'form-row' + }); + + return Row; +});/** + * @fileOverview \u9a8c\u8bc1\u89c4\u5219 + * @ignore + */ + +define('bui/form/rule',['bui/common'],function (require) { + + var BUI = require('bui/common'); + /** + * @class BUI.Form.Rule + * \u9a8c\u8bc1\u89c4\u5219 + * @extends BUI.Base + */ + var Rule = function (config){ + Rule.superclass.constructor.call(this,config); + } + + BUI.extend(Rule,BUI.Base); + + Rule.ATTRS = { + /** + * \u89c4\u5219\u540d\u79f0 + * @type {String} + */ + name : { + + }, + /** + * \u9a8c\u8bc1\u5931\u8d25\u4fe1\u606f + * @type {String} + */ + msg : { + + }, + /** + * \u9a8c\u8bc1\u51fd\u6570 + * @type {Function} + */ + validator : { + value : function(value,baseValue,formatedMsg,control){ + + } + } + } + + //\u662f\u5426\u901a\u8fc7\u9a8c\u8bc1 + function valid(self,value,baseValue,msg,control){ + var _self = self, + validator = _self.get('validator'), + formatedMsg = formatError(self,baseValue,msg), + valid = true; + value = value == null ? '' : value; + return validator.call(_self,value,baseValue,formatedMsg,control); + } + + function parseParams(values){ + + if(values == null){ + return {}; + } + + if($.isPlainObject(values)){ + return values; + } + + var ars = values, + rst = {}; + if(BUI.isArray(values)){ + + for(var i = 0; i < ars.length; i++){ + rst[i] = ars[i]; + } + return rst; + } + + return {'0' : values}; + } + + function formatError(self,values,msg){ + var ars = parseParams(values); + msg = msg || self.get('msg'); + return BUI.substitute(msg,ars); + } + + BUI.augment(Rule,{ + + /** + * \u662f\u5426\u901a\u8fc7\u9a8c\u8bc1\uff0c\u8be5\u51fd\u6570\u53ef\u4ee5\u63a5\u6536\u591a\u4e2a\u53c2\u6570 + * @param {*} [value] \u9a8c\u8bc1\u7684\u503c + * @param {*} [baseValue] \u8ddf\u4f20\u5165\u503c\u76f8\u6bd4\u8f83\u7684\u503c + * @param {String} [msg] \u9a8c\u8bc1\u5931\u8d25\u540e\u7684\u9519\u8bef\u4fe1\u606f\uff0c\u663e\u793a\u7684\u9519\u8bef\u4e2d\u53ef\u4ee5\u663e\u793a baseValue\u4e2d\u7684\u4fe1\u606f + * @param {BUI.Form.Field|BUI.Form.Group} [control] \u53d1\u751f\u9a8c\u8bc1\u7684\u63a7\u4ef6 + * @return {String} \u901a\u8fc7\u9a8c\u8bc1\u8fd4\u56de null ,\u672a\u901a\u8fc7\u9a8c\u8bc1\u8fd4\u56de\u9519\u8bef\u4fe1\u606f + * + * var msg = '\u8f93\u5165\u6570\u636e\u5fc5\u987b\u5728{0}\u548c{1}\u4e4b\u95f4\uff01', + * rangeRule = new Rule({ + * name : 'range', + * msg : msg, + * validator :function(value,range,msg){ + * var min = range[0], //\u6b64\u5904\u6211\u4eec\u628arange\u5b9a\u4e49\u4e3a\u6570\u7ec4\uff0c\u4e5f\u53ef\u4ee5\u5b9a\u4e49\u4e3a{min:0,max:200},\u90a3\u4e48\u5728\u4f20\u5165\u6821\u9a8c\u65f6\u8ddf\u6b64\u5904\u4e00\u81f4\u5373\u53ef + * max = range[1]; //\u5728\u9519\u8bef\u4fe1\u606f\u4e2d\uff0c\u4f7f\u7528\u7528 '\u8f93\u5165\u6570\u636e\u5fc5\u987b\u5728{min}\u548c{max}\u4e4b\u95f4\uff01',\u9a8c\u8bc1\u51fd\u6570\u4e2d\u7684\u5b57\u7b26\u4e32\u5df2\u7ecf\u8fdb\u884c\u683c\u5f0f\u5316 + * if(value < min || value > max){ + * return false; + * } + * return true; + * } + * }); + * var range = [0,200], + * val = 100, + * error = rangeRule.valid(val,range);//msg\u53ef\u4ee5\u5728\u6b64\u5904\u91cd\u65b0\u4f20\u5165 + * + */ + valid : function(value,baseValue,msg,control){ + var _self = this; + return valid(_self,value,baseValue,msg,control); + } + }); + + return Rule; + + +});/** + * @fileOverview \u9a8c\u8bc1\u96c6\u5408 + * @ignore + */ + +define('bui/form/rules',['bui/form/rule'],function (require) { + + var Rule = require('bui/form/rule'); + + function toNumber(value){ + return parseFloat(value); + } + + function toDate(value){ + return BUI.Date.parse(value); + } + + var ruleMap = { + + }; + + /** + * @class BUI.Form.Rules + * @singleton + * \u8868\u5355\u9a8c\u8bc1\u7684\u9a8c\u8bc1\u89c4\u5219\u7ba1\u7406\u5668 + */ + var rules = { + /** + * \u6dfb\u52a0\u9a8c\u8bc1\u89c4\u5219 + * @param {Object|BUI.Form.Rule} rule \u9a8c\u8bc1\u89c4\u5219\u914d\u7f6e\u9879\u6216\u8005\u9a8c\u8bc1\u89c4\u5219\u5bf9\u8c61 + * @param {String} name \u89c4\u5219\u540d\u79f0 + */ + add : function(rule){ + var name; + if($.isPlainObject(rule)){ + name = rule.name; + ruleMap[name] = new Rule(rule); + }else if(rule.get){ + name = rule.get('name'); + ruleMap[name] = rule; + } + return ruleMap[name]; + }, + /** + * \u5220\u9664\u9a8c\u8bc1\u89c4\u5219 + * @param {String} name \u89c4\u5219\u540d\u79f0 + */ + remove : function(name){ + delete ruleMap[name]; + }, + /** + * \u83b7\u53d6\u9a8c\u8bc1\u89c4\u5219 + * @param {String} name \u89c4\u5219\u540d\u79f0 + * @return {BUI.Form.Rule} \u9a8c\u8bc1\u89c4\u5219 + */ + get : function(name){ + return ruleMap[name]; + }, + /** + * \u9a8c\u8bc1\u6307\u5b9a\u7684\u89c4\u5219 + * @param {String} name \u89c4\u5219\u7c7b\u578b + * @param {*} value \u9a8c\u8bc1\u503c + * @param {*} [baseValue] \u7528\u4e8e\u9a8c\u8bc1\u7684\u57fa\u7840\u503c + * @param {String} [msg] \u663e\u793a\u9519\u8bef\u7684\u6a21\u677f + * @param {BUI.Form.Field|BUI.Form.Group} [control] \u663e\u793a\u9519\u8bef\u7684\u6a21\u677f + * @return {String} \u901a\u8fc7\u9a8c\u8bc1\u8fd4\u56de null,\u5426\u5219\u8fd4\u56de\u9519\u8bef\u4fe1\u606f + */ + valid : function(name,value,baseValue,msg,control){ + var rule = rules.get(name); + if(rule){ + return rule.valid(value,baseValue,msg,control); + } + return null; + }, + /** + * \u9a8c\u8bc1\u6307\u5b9a\u7684\u89c4\u5219 + * @param {String} name \u89c4\u5219\u7c7b\u578b + * @param {*} values \u9a8c\u8bc1\u503c + * @param {*} [baseValue] \u7528\u4e8e\u9a8c\u8bc1\u7684\u57fa\u7840\u503c + * @param {BUI.Form.Field|BUI.Form.Group} [control] \u663e\u793a\u9519\u8bef\u7684\u6a21\u677f + * @return {Boolean} \u662f\u5426\u901a\u8fc7\u9a8c\u8bc1 + */ + isValid : function(name,value,baseValue,control){ + return rules.valid(name,value,baseValue,control) == null; + } + }; + + /** + * \u975e\u7a7a\u9a8c\u8bc1,\u4f1a\u5bf9\u503c\u53bb\u9664\u7a7a\u683c + *
              + *
            1. name: required
            2. + *
            3. msg: \u4e0d\u80fd\u4e3a\u7a7a\uff01
            4. + *
            5. required: boolean \u7c7b\u578b
            6. + *
            + * @member BUI.Form.Rules + * @type {BUI.Form.Rule} + */ + var required = rules.add({ + name : 'required', + msg : '\u4e0d\u80fd\u4e3a\u7a7a\uff01', + validator : function(value,required,formatedMsg){ + if(required !== false && /^\s*$/.test(value)){ + return formatedMsg; + } + } + }); + + /** + * \u76f8\u7b49\u9a8c\u8bc1 + *
              + *
            1. name: equalTo
            2. + *
            3. msg: \u4e24\u6b21\u8f93\u5165\u4e0d\u4e00\u81f4\uff01
            4. + *
            5. equalTo: \u4e00\u4e2a\u5b57\u7b26\u4e32\uff0cid\uff08#id_name) \u6216\u8005 name
            6. + *
            + * { + * equalTo : '#password' + * } + * //\u6216\u8005 + * { + * equalTo : 'password' + * } + * @member BUI.Form.Rules + * @type {BUI.Form.Rule} + */ + var equalTo = rules.add({ + name : 'equalTo', + msg : '\u4e24\u6b21\u8f93\u5165\u4e0d\u4e00\u81f4\uff01', + validator : function(value,equalTo,formatedMsg){ + var el = $(equalTo); + if(el.length){ + equalTo = el.val(); + } + return value === equalTo ? undefined : formatedMsg; + } + }); + + + /** + * \u4e0d\u5c0f\u4e8e\u9a8c\u8bc1 + *
              + *
            1. name: min
            2. + *
            3. msg: \u8f93\u5165\u503c\u4e0d\u80fd\u5c0f\u4e8e{0}\uff01
            4. + *
            5. min: \u6570\u5b57\uff0c\u5b57\u7b26\u4e32
            6. + *
            + * { + * min : 5 + * } + * //\u5b57\u7b26\u4e32 + * @member BUI.Form.Rules + * @type {BUI.Form.Rule} + */ + var min = rules.add({ + name : 'min', + msg : '\u8f93\u5165\u503c\u4e0d\u80fd\u5c0f\u4e8e{0}\uff01', + validator : function(value,min,formatedMsg){ + if(value !== '' && toNumber(value) < toNumber(min)){ + return formatedMsg; + } + } + }); + + /** + * \u4e0d\u5c0f\u4e8e\u9a8c\u8bc1,\u7528\u4e8e\u6570\u503c\u6bd4\u8f83 + *
              + *
            1. name: max
            2. + *
            3. msg: \u8f93\u5165\u503c\u4e0d\u80fd\u5927\u4e8e{0}\uff01
            4. + *
            5. max: \u6570\u5b57\u3001\u5b57\u7b26\u4e32
            6. + *
            + * { + * max : 100 + * } + * //\u5b57\u7b26\u4e32 + * { + * max : '100' + * } + * @member BUI.Form.Rules + * @type {BUI.Form.Rule} + */ + var max = rules.add({ + name : 'max', + msg : '\u8f93\u5165\u503c\u4e0d\u80fd\u5927\u4e8e{0}\uff01', + validator : function(value,max,formatedMsg){ + if(value !== '' && toNumber(value) > toNumber(max)){ + return formatedMsg; + } + } + }); + + /** + * \u8f93\u5165\u957f\u5ea6\u9a8c\u8bc1\uff0c\u5fc5\u987b\u662f\u6307\u5b9a\u7684\u957f\u5ea6 + *
              + *
            1. name: length
            2. + *
            3. msg: \u8f93\u5165\u503c\u957f\u5ea6\u4e3a{0}\uff01
            4. + *
            5. length: \u6570\u5b57
            6. + *
            + * @member BUI.Form.Rules + * @type {BUI.Form.Rule} + */ + var length = rules.add({ + name : 'length', + msg : '\u8f93\u5165\u503c\u957f\u5ea6\u4e3a{0}\uff01', + validator : function(value,len,formatedMsg){ + if(value != null){ + value = $.trim(value.toString()); + if(len != value.length){ + return formatedMsg; + } + } + } + }); + /** + * \u6700\u77ed\u957f\u5ea6\u9a8c\u8bc1,\u4f1a\u5bf9\u503c\u53bb\u9664\u7a7a\u683c + *
              + *
            1. name: minlength
            2. + *
            3. msg: \u8f93\u5165\u503c\u957f\u5ea6\u4e0d\u5c0f\u4e8e{0}\uff01
            4. + *
            5. minlength: \u6570\u5b57
            6. + *
            + * { + * minlength : 5 + * } + * @member BUI.Form.Rules + * @type {BUI.Form.Rule} + */ + var minlength = rules.add({ + name : 'minlength', + msg : '\u8f93\u5165\u503c\u957f\u5ea6\u4e0d\u5c0f\u4e8e{0}\uff01', + validator : function(value,min,formatedMsg){ + if(value != null){ + value = $.trim(value.toString()); + var len = value.length; + if(len < min){ + return formatedMsg; + } + } + } + }); + + /** + * \u6700\u77ed\u957f\u5ea6\u9a8c\u8bc1,\u4f1a\u5bf9\u503c\u53bb\u9664\u7a7a\u683c + *
              + *
            1. name: maxlength
            2. + *
            3. msg: \u8f93\u5165\u503c\u957f\u5ea6\u4e0d\u5927\u4e8e{0}\uff01
            4. + *
            5. maxlength: \u6570\u5b57
            6. + *
            + * { + * maxlength : 10 + * } + * @member BUI.Form.Rules + * @type {BUI.Form.Rule} + */ + var maxlength = rules.add({ + name : 'maxlength', + msg : '\u8f93\u5165\u503c\u957f\u5ea6\u4e0d\u5927\u4e8e{0}\uff01', + validator : function(value,max,formatedMsg){ + if(value){ + value = $.trim(value.toString()); + var len = value.length; + if(len > max){ + return formatedMsg; + } + } + } + }); + + /** + * \u6b63\u5219\u8868\u8fbe\u5f0f\u9a8c\u8bc1,\u5982\u679c\u6b63\u5219\u8868\u8fbe\u5f0f\u4e3a\u7a7a\uff0c\u5219\u4e0d\u8fdb\u884c\u6821\u9a8c + *
              + *
            1. name: regexp
            2. + *
            3. msg: \u8f93\u5165\u503c\u4e0d\u7b26\u5408{0}\uff01
            4. + *
            5. regexp: \u6b63\u5219\u8868\u8fbe\u5f0f
            6. + *
            + * @member BUI.Form.Rules + * @type {BUI.Form.Rule} + */ + var regexp = rules.add({ + name : 'regexp', + msg : '\u8f93\u5165\u503c\u4e0d\u7b26\u5408{0}\uff01', + validator : function(value,regexp,formatedMsg){ + if(regexp){ + return regexp.test(value) ? undefined : formatedMsg; + } + } + }); + + /** + * \u90ae\u7bb1\u9a8c\u8bc1,\u4f1a\u5bf9\u503c\u53bb\u9664\u7a7a\u683c\uff0c\u65e0\u6570\u636e\u4e0d\u8fdb\u884c\u6821\u9a8c + *
              + *
            1. name: email
            2. + *
            3. msg: \u4e0d\u662f\u6709\u6548\u7684\u90ae\u7bb1\u5730\u5740\uff01
            4. + *
            + * @member BUI.Form.Rules + * @type {BUI.Form.Rule} + */ + var email = rules.add({ + name : 'email', + msg : '\u4e0d\u662f\u6709\u6548\u7684\u90ae\u7bb1\u5730\u5740\uff01', + validator : function(value,baseValue,formatedMsg){ + value = $.trim(value); + if(value){ + return /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(value) ? undefined : formatedMsg; + } + } + }); + + /** + * \u65e5\u671f\u9a8c\u8bc1\uff0c\u4f1a\u5bf9\u503c\u53bb\u9664\u7a7a\u683c\uff0c\u65e0\u6570\u636e\u4e0d\u8fdb\u884c\u6821\u9a8c\uff0c + * \u5982\u679c\u4f20\u5165\u7684\u503c\u4e0d\u662f\u5b57\u7b26\u4e32\uff0c\u800c\u662f\u6570\u5b57\uff0c\u5219\u8ba4\u4e3a\u662f\u6709\u6548\u503c + *
              + *
            1. name: date
            2. + *
            3. msg: \u4e0d\u662f\u6709\u6548\u7684\u65e5\u671f\uff01
            4. + *
            + * @member BUI.Form.Rules + * @type {BUI.Form.Rule} + */ + var date = rules.add({ + name : 'date', + msg : '\u4e0d\u662f\u6709\u6548\u7684\u65e5\u671f\uff01', + validator : function(value,baseValue,formatedMsg){ + if(BUI.isNumber(value)){ //\u6570\u5b57\u8ba4\u4e3a\u662f\u65e5\u671f + return; + } + if(BUI.isDate(value)){ + return; + } + value = $.trim(value); + if(value){ + return BUI.Date.isDateString(value) ? undefined : formatedMsg; + } + } + }); + + /** + * \u4e0d\u5c0f\u4e8e\u9a8c\u8bc1 + *
              + *
            1. name: minDate
            2. + *
            3. msg: \u8f93\u5165\u65e5\u671f\u4e0d\u80fd\u5c0f\u4e8e{0}\uff01
            4. + *
            5. minDate: \u65e5\u671f\uff0c\u5b57\u7b26\u4e32
            6. + *
            + * { + * minDate : '2001-01-01'; + * } + * //\u5b57\u7b26\u4e32 + * @member BUI.Form.Rules + * @type {BUI.Form.Rule} + */ + var minDate = rules.add({ + name : 'minDate', + msg : '\u8f93\u5165\u65e5\u671f\u4e0d\u80fd\u5c0f\u4e8e{0}\uff01', + validator : function(value,minDate,formatedMsg){ + if(value){ + var date = toDate(value); + if(date && date < toDate(minDate)){ + return formatedMsg; + } + } + } + }); + + /** + * \u4e0d\u5c0f\u4e8e\u9a8c\u8bc1,\u7528\u4e8e\u6570\u503c\u6bd4\u8f83 + *
              + *
            1. name: maxDate
            2. + *
            3. msg: \u8f93\u5165\u503c\u4e0d\u80fd\u5927\u4e8e{0}\uff01
            4. + *
            5. maxDate: \u65e5\u671f\u3001\u5b57\u7b26\u4e32
            6. + *
            + * { + * maxDate : '2001-01-01'; + * } + * //\u6216\u65e5\u671f + * { + * maxDate : new Date('2001-01-01'); + * } + * @member BUI.Form.Rules + * @type {BUI.Form.Rule} + */ + var maxDate = rules.add({ + name : 'maxDate', + msg : '\u8f93\u5165\u65e5\u671f\u4e0d\u80fd\u5927\u4e8e{0}\uff01', + validator : function(value,maxDate,formatedMsg){ + if(value){ + var date = toDate(value); + if(date && date > toDate(maxDate)){ + return formatedMsg; + } + } + } + }); + /** + * \u6570\u5b57\u9a8c\u8bc1\uff0c\u4f1a\u5bf9\u503c\u53bb\u9664\u7a7a\u683c\uff0c\u65e0\u6570\u636e\u4e0d\u8fdb\u884c\u6821\u9a8c + * \u5141\u8bb8\u5343\u5206\u7b26\uff0c\u4f8b\u5982\uff1a 12,000,000\u7684\u683c\u5f0f + *
              + *
            1. name: number
            2. + *
            3. msg: \u4e0d\u662f\u6709\u6548\u7684\u6570\u5b57\uff01
            4. + *
            + * @member BUI.Form.Rules + * @type {BUI.Form.Rule} + */ + var number = rules.add({ + name : 'number', + msg : '\u4e0d\u662f\u6709\u6548\u7684\u6570\u5b57\uff01', + validator : function(value,baseValue,formatedMsg){ + if(BUI.isNumber(value)){ + return; + } + value = value.replace(/\,/g,''); + return !isNaN(value) ? undefined : formatedMsg; + } + }); + + //\u6d4b\u8bd5\u8303\u56f4 + function testRange (baseValue,curVal,prevVal) { + var allowEqual = baseValue && (baseValue.equals !== false); + + if(allowEqual){ + return prevVal <= curVal; + } + + return prevVal < curVal; + } + function isEmpty(value){ + return value == '' || value == null; + } + //\u6d4b\u8bd5\u662f\u5426\u540e\u9762\u7684\u6570\u636e\u5927\u4e8e\u524d\u9762\u7684 + function rangeValid(value,baseValue,formatedMsg,group){ + var fields = group.getFields(), + valid = true; + for(var i = 1; i < fields.length ; i ++){ + var cur = fields[i], + prev = fields[i-1], + curVal, + prevVal; + if(cur && prev){ + curVal = cur.get('value'); + prevVal = prev.get('value'); + if(!isEmpty(curVal) && !isEmpty(prevVal) && !testRange(baseValue,curVal,prevVal)){ + valid = false; + break; + } + } + } + if(!valid){ + return formatedMsg; + } + return null; + } + /** + * \u8d77\u59cb\u7ed3\u675f\u65e5\u671f\u9a8c\u8bc1\uff0c\u524d\u9762\u7684\u65e5\u671f\u4e0d\u80fd\u5927\u4e8e\u540e\u9762\u7684\u65e5\u671f + *
              + *
            1. name: dateRange
            2. + *
            3. msg: \u8d77\u59cb\u65e5\u671f\u4e0d\u80fd\u5927\u4e8e\u7ed3\u675f\u65e5\u671f\uff01
            4. + *
            5. dateRange: \u53ef\u4ee5\u4f7ftrue\u6216\u8005{equals : fasle}\uff0c\u6807\u793a\u662f\u5426\u5141\u8bb8\u76f8\u7b49
            6. + *
            + * { + * dateRange : true + * } + * { + * dateRange : {equals : false} + * } + * @member BUI.Form.Rules + * @type {BUI.Form.Rule} + */ + var dateRange = rules.add({ + name : 'dateRange', + msg : '\u7ed3\u675f\u65e5\u671f\u4e0d\u80fd\u5c0f\u4e8e\u8d77\u59cb\u65e5\u671f\uff01', + validator : rangeValid + }); + + /** + * \u6570\u5b57\u8303\u56f4 + *
              + *
            1. name: numberRange
            2. + *
            3. msg: \u8d77\u59cb\u6570\u5b57\u4e0d\u80fd\u5927\u4e8e\u7ed3\u675f\u6570\u5b57\uff01
            4. + *
            5. numberRange: \u53ef\u4ee5\u4f7ftrue\u6216\u8005{equals : fasle}\uff0c\u6807\u793a\u662f\u5426\u5141\u8bb8\u76f8\u7b49
            6. + *
            + * { + * numberRange : true + * } + * { + * numberRange : {equals : false} + * } + * @member BUI.Form.Rules + * @type {BUI.Form.Rule} + */ + var numberRange = rules.add({ + name : 'numberRange', + msg : '\u7ed3\u675f\u6570\u5b57\u4e0d\u80fd\u5c0f\u4e8e\u5f00\u59cb\u6570\u5b57\uff01', + validator : rangeValid + }); + + function getFieldName (self) { + var firstField = self.getFieldAt(0); + if(firstField){ + return firstField.get('name'); + } + return ''; + } + + function testCheckRange(value,range){ + if(!BUI.isArray(range)){ + range = [range]; + } + //\u4e0d\u5b58\u5728\u503c + if(!value || !range.length){ + return false; + } + var len = !value ? 0 : !BUI.isArray(value) ? 1 : value.length; + //\u5982\u679c\u53ea\u6709\u4e00\u4e2a\u9650\u5b9a\u503c + if(range.length == 1){ + var number = range [0]; + if(!number){//range = [0],\u5219\u4e0d\u5fc5\u9009 + return true; + } + if(number > len){ + return false; + } + }else{ + var min = range [0], + max = range[1]; + if(min > len || max < len){ + return false; + } + } + return true; + } + + /** + * \u52fe\u9009\u7684\u8303\u56f4 + *
              + *
            1. name: checkRange
            2. + *
            3. msg: \u5fc5\u987b\u9009\u4e2d{0}\u9879\uff01
            4. + *
            5. checkRange: \u52fe\u9009\u7684\u9879\u8303\u56f4
            6. + *
            + * //\u81f3\u5c11\u52fe\u9009\u4e00\u9879 + * { + * checkRange : 1 + * } + * //\u53ea\u80fd\u52fe\u9009\u4e24\u9879 + * { + * checkRange : [2,2] + * } + * //\u53ef\u4ee5\u52fe\u90092-4\u9879 + * { + * checkRange : [2,4 + * ] + * } + * @member BUI.Form.Rules + * @type {BUI.Form.Rule} + */ + var checkRange = rules.add({ + name : 'checkRange', + msg : '\u5fc5\u987b\u9009\u4e2d{0}\u9879\uff01', + validator : function(record,baseValue,formatedMsg,group){ + var name = getFieldName(group), + value, + range = baseValue; + + if(name && range){ + value = record[name]; + if(!testCheckRange(value,range)){ + return formatedMsg; + } + } + return null; + } + }); + + + return rules; +});/** + * @fileOverview \u8868\u5355\u5f02\u6b65\u8bf7\u6c42\uff0c\u5f02\u6b65\u6821\u9a8c\u3001\u8fdc\u7a0b\u83b7\u53d6\u6570\u636e + * @ignore + */ + +define('bui/form/remote',['bui/common'],function(require) { + var BUI = require('bui/common'); + + /** + * @class BUI.Form.RemoteView + * @private + * \u8868\u5355\u5f02\u6b65\u8bf7\u6c42\u7c7b\u7684\u89c6\u56fe\u7c7b + */ + var RemoteView = function () { + // body... + }; + + RemoteView.ATTRS = { + isLoading : {}, + loadingEl : {} + }; + + RemoteView.prototype = { + + /** + * \u83b7\u53d6\u663e\u793a\u52a0\u8f7d\u72b6\u6001\u7684\u5bb9\u5668 + * @protected + * @template + * @return {jQuery} \u52a0\u8f7d\u72b6\u6001\u7684\u5bb9\u5668 + */ + getLoadingContainer : function () { + // body... + }, + _setLoading : function () { + var _self = this, + loadingEl = _self.get('loadingEl'), + loadingTpl = _self.get('loadingTpl'); + if(!loadingEl){ + loadingEl = $(loadingTpl).appendTo(_self.getLoadingContainer()); + _self.setInternal('loadingEl',loadingEl); + } + }, + _clearLoading : function () { + var _self = this, + loadingEl = _self.get('loadingEl'); + if(loadingEl){ + loadingEl.remove(); + _self.setInternal('loadingEl',null); + } + }, + _uiSetIsLoading : function (v) { + var _self = this; + if(v){ + _self._setLoading(); + }else{ + _self._clearLoading(); + } + } + }; + + /** + * @class BUI.Form.Remote + * \u8868\u5355\u5f02\u6b65\u8bf7\u6c42\uff0c\u6240\u6709\u9700\u8981\u5b9e\u73b0\u5f02\u6b65\u6821\u9a8c\u3001\u5f02\u6b65\u8bf7\u6c42\u7684\u7c7b\u53ef\u4ee5\u4f7f\u7528\u3002 + */ + var Remote = function(){ + + }; + + Remote.ATTRS = { + + /** + * \u9ed8\u8ba4\u7684\u5f02\u6b65\u8bf7\u6c42\u914d\u7f6e\u9879\uff1a + * method : 'GET', + * cache : true, + * dataType : 'text' + * @protected + * @type {Object} + */ + defaultRemote : { + value : { + method : 'GET', + cache : true, + callback : function (data) { + return data; + } + } + }, + /** + * \u5f02\u6b65\u8bf7\u6c42\u5ef6\u8fdf\u7684\u65f6\u95f4\uff0c\u5f53\u5b57\u6bb5\u9a8c\u8bc1\u901a\u8fc7\u540e\uff0c\u4e0d\u9a6c\u4e0a\u8fdb\u884c\u5f02\u6b65\u8bf7\u6c42\uff0c\u7b49\u5f85\u7ee7\u7eed\u8f93\u5165\uff0c + * 300\uff08\u9ed8\u8ba4\uff09\u6beb\u79d2\u540e\uff0c\u53d1\u9001\u8bf7\u6c42\uff0c\u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d\uff0c\u7ee7\u7eed\u8f93\u5165\uff0c\u5219\u53d6\u6d88\u5f02\u6b65\u8bf7\u6c42\u3002 + * @type {Object} + */ + remoteDaly : { + value : 500 + }, + /** + * \u52a0\u8f7d\u7684\u6a21\u677f + * @type {String} + */ + loadingTpl : { + view : true, + value : 'loading' + }, + /** + * \u662f\u5426\u6b63\u5728\u7b49\u5f85\u5f02\u6b65\u8bf7\u6c42\u7ed3\u679c + * @type {Boolean} + */ + isLoading : { + view : true, + value : false + }, + /** + * \u5f02\u6b65\u8bf7\u6c42\u7684\u914d\u7f6e\u9879\uff0c\u53c2\u8003jQuery\u7684 ajax\u914d\u7f6e\u9879\uff0c\u5982\u679c\u4e3a\u5b57\u7b26\u4e32\u5219\u4e3a url\u3002 + * \u8bf7\u4e0d\u8981\u8986\u76d6success\u5c5e\u6027\uff0c\u5982\u679c\u9700\u8981\u56de\u8c03\u5219\u4f7f\u7528 callback \u5c5e\u6027 + * + * { + * remote : { + * url : 'test.php', + * dataType:'json',//\u9ed8\u8ba4\u4e3a\u5b57\u7b26\u4e32 + * callback : function(data){ + * if(data.success){ //data\u4e3a\u9ed8\u8ba4\u8fd4\u56de\u7684\u503c + * return '' //\u8fd4\u56de\u503c\u4e3a\u7a7a\u65f6\uff0c\u9a8c\u8bc1\u6210\u529f + * }else{ + * return '\u9a8c\u8bc1\u5931\u8d25\uff0cXX\u9519\u8bef\uff01' //\u663e\u793a\u8fd4\u56de\u7684\u5b57\u7b26\u4e32\u4e3a\u9519\u8bef + * } + * } + * } + * } + * @type {String|Object} + */ + remote : { + setter : function (v) { + if(BUI.isString(v)){ + v = {url : v} + } + return v; + } + }, + /** + * \u5f02\u6b65\u8bf7\u6c42\u7684\u51fd\u6570\u6307\u9488\uff0c\u4ec5\u5185\u90e8\u4f7f\u7528 + * @private + * @type {Number} + */ + remoteHandler : { + + }, + events : { + value : { + /** + * \u5f02\u6b65\u8bf7\u6c42\u7ed3\u675f + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {*} e.error \u662f\u5426\u9a8c\u8bc1\u6210\u529f + */ + remotecomplete : false, + /** + * \u5f02\u6b65\u8bf7\u6c42\u5f00\u59cb + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.data \u53d1\u9001\u7684\u5bf9\u8c61\uff0c\u662f\u4e00\u4e2a\u952e\u503c\u5bf9\uff0c\u53ef\u4ee5\u4fee\u6539\u6b64\u5bf9\u8c61\uff0c\u9644\u52a0\u4fe1\u606f + */ + remotestart : false + } + } + }; + + Remote.prototype = { + + __bindUI : function(){ + var _self = this; + + _self.on('change',function (ev) { + if(_self.get('remote') && _self.isValid()){ + var data = _self.getRemoteParams(); + _self._startRemote(data); + } + }); + + _self.on('error',function (ev) { + if(_self.get('remote')){ + _self._cancelRemote(); + } + }); + + }, + //\u5f00\u59cb\u5f02\u6b65\u8bf7\u6c42 + _startRemote : function(data){ + var _self = this, + remoteHandler = _self.get('remoteHandler'), + remoteDaly = _self.get('remoteDaly'); + if(remoteHandler){ + //\u5982\u679c\u524d\u9762\u5df2\u7ecf\u53d1\u9001\u8fc7\u5f02\u6b65\u8bf7\u6c42\uff0c\u53d6\u6d88\u6389 + _self._cancelRemote(remoteHandler); + } + //\u4f7f\u7528\u95ed\u5305\u8fdb\u884c\u5f02\u6b65\u8bf7\u6c42 + function dalayFunc(){ + _self._remoteValid(data,remoteHandler); + _self.set('isLoading',true); + } + remoteHandler = setTimeout(dalayFunc,remoteDaly); + _self.setInternal('remoteHandler',remoteHandler); + + }, + //\u5f02\u6b65\u8bf7\u6c42 + _remoteValid : function(data,remoteHandler){ + var _self = this, + remote = _self.get('remote'), + defaultRemote = _self.get('defaultRemote'), + options = BUI.merge(defaultRemote,remote,{data : data}); + + function complete (error,data) { + //\u786e\u8ba4\u5f53\u524d\u8fd4\u56de\u7684\u9519\u8bef\u662f\u5f53\u524d\u8bf7\u6c42\u7684\u7ed3\u679c\uff0c\u9632\u6b62\u8986\u76d6\u540e\u9762\u7684\u8bf7\u6c42 + if(remoteHandler == _self.get('remoteHandler')){ + _self.fire('remotecomplete',{error : error,data : data}); + _self.set('isLoading',false); + _self.setInternal('remoteHandler',null); + } + } + + options.success = function (data) { + var callback = options.callback, + error = callback(data); + complete(error,data); + }; + + options.error = function (jqXHR, textStatus,errorThrown){ + complete(errorThrown); + }; + + _self.fire('remotestart',{data : data}); + $.ajax(options); + }, + /** + * \u83b7\u53d6\u5f02\u6b65\u8bf7\u6c42\u7684\u952e\u503c\u5bf9 + * @template + * @protected + * @return {Object} \u8fdc\u7a0b\u9a8c\u8bc1\u7684\u53c2\u6570\uff0c\u952e\u503c\u5bf9 + */ + getRemoteParams : function() { + + }, + //\u53d6\u6d88\u5f02\u6b65\u8bf7\u6c42 + _cancelRemote : function(remoteHandler){ + var _self = this; + + remoteHandler = remoteHandler || _self.get('remoteHandler'); + if(remoteHandler){ + clearTimeout(remoteHandler); + _self.setInternal('remoteHandler',null); + } + _self.set('isLoading',false); + } + + }; + + Remote.View = RemoteView; + return Remote; +});/** + * @fileOverview \u9009\u62e9\u6846\u547d\u540d\u7a7a\u95f4\u5165\u53e3\u6587\u4ef6 + * @ignore + */ + +define('bui/select',['bui/common','bui/select/select','bui/select/combox','bui/select/suggest'],function (require) { + var BUI = require('bui/common'), + Select = BUI.namespace('Select'); + + BUI.mix(Select,{ + Select : require('bui/select/select'), + Combox : require('bui/select/combox'), + Suggest: require('bui/select/suggest') + }); + return Select; +});/** + * @fileOverview \u9009\u62e9\u63a7\u4ef6 + * @author dxq613@gmail.com + * @ignore + */ + +define('bui/select/select',['bui/common','bui/picker'],function (require) { + 'use strict'; + var BUI = require('bui/common'), + ListPicker = require('bui/picker').ListPicker, + PREFIX = BUI.prefix; + + function formatItems(items){ + + if($.isPlainObject(items)){ + var tmp = []; + BUI.each(items,function(v,n){ + tmp.push({value : n,text : v}); + }); + return tmp; + } + var rst = []; + BUI.each(items,function(item,index){ + if(BUI.isString(item)){ + rst.push({value : item,text:item}); + }else{ + rst.push(item); + } + }); + return rst; + } + + var Component = BUI.Component, + Picker = ListPicker, + CLS_INPUT = PREFIX + 'select-input', + /** + * \u9009\u62e9\u63a7\u4ef6 + * xclass:'select' + *
            
            +     *  BUI.use('bui/select',function(Select){
            +     * 
            +     *   var items = [
            +     *         {text:'\u9009\u98791',value:'a'},
            +     *         {text:'\u9009\u98792',value:'b'},
            +     *         {text:'\u9009\u98793',value:'c'}
            +     *       ],
            +     *       select = new Select.Select({  
            +     *         render:'#s1',
            +     *         valueField:'#hide',
            +     *         //multipleSelect: true, //\u662f\u5426\u591a\u9009
            +     *         items:items
            +     *       });
            +     *   select.render();
            +     *   select.on('change', function(ev){
            +     *     //ev.text,ev.value,ev.item
            +     *   });
            +     *   
            +     * });
            +     * 
            + * @class BUI.Select.Select + * @extends BUI.Component.Controller + */ + select = Component.Controller.extend({ + //\u521d\u59cb\u5316 + initializer:function(){ + var _self = this, + multipleSelect = _self.get('multipleSelect'), + xclass, + picker = _self.get('picker'); + if(!picker){ + xclass = multipleSelect ? 'listbox' : 'simple-list'; + picker = new Picker({ + children:[ + { + xclass : xclass, + elCls:PREFIX + 'select-list', + store : _self.get('store'), + items : formatItems(_self.get('items'))/**/ + } + ], + valueField : _self.get('valueField') + }); + + _self.set('picker',picker); + }else{ + if(_self.get('valueField')){ + picker.set('valueField',_self.get('valueField')); + } + } + if(multipleSelect){ + picker.set('hideEvent',''); + } + + }, + //\u6e32\u67d3DOM\u4ee5\u53ca\u9009\u62e9\u5668 + renderUI : function(){ + var _self = this, + picker = _self.get('picker'), + el = _self.get('el'), + textEl = el.find('.' + _self.get('inputCls')); + picker.set('trigger',el); + picker.set('triggerEvent', _self.get('triggerEvent')); + picker.set('autoSetValue', _self.get('autoSetValue')); + picker.set('textField',textEl); + if(_self.get('forceFit')){ + picker.set('width',el.outerWidth()); + } + + picker.render(); + }, + //\u7ed1\u5b9a\u4e8b\u4ef6 + bindUI : function(){ + var _self = this, + picker = _self.get('picker'), + list = picker.get('list'), + store = list.get('store'); + + //\u9009\u9879\u53d1\u751f\u6539\u53d8\u65f6 + picker.on('selectedchange',function(ev){ + _self.fire('change',{text : ev.text,value : ev.value,item : ev.item}); + }); + list.on('itemsshow',function(){ + _self._syncValue(); + }); + }, + /** + * \u662f\u5426\u5305\u542b\u5143\u7d20 + * @override + */ + containsElement : function(elem){ + var _self = this, + picker = _self.get('picker'); + + return Component.Controller.prototype.containsElement.call(this,elem) || picker.containsElement(elem); + }, + + //\u8bbe\u7f6e\u5b50\u9879 + _uiSetItems : function(items){ + if(!items){ + return; + } + var _self = this, + picker = _self.get('picker'), + list = picker.get('list'); + list.set('items',formatItems(items)); + _self._syncValue(); + }, + _syncValue : function(){ + var _self = this, + picker = _self.get('picker'), + valueField = _self.get('valueField'); + if(valueField){ + picker.setSelectedValue($(valueField).val()); + } + }, + //\u8bbe\u7f6eForm\u8868\u5355\u4e2d\u7684\u540d\u79f0 + _uiSetName:function(v){ + var _self = this, + textEl = _self._getTextEl(); + if(v){ + textEl.attr('name',v); + } + }, + _uiSetWidth : function(v){ + var _self = this; + if(v != null){ + var textEl = _self._getTextEl(), + iconEl = _self.get('el').find('.x-icon'), + appendWidth = textEl.outerWidth() - textEl.width(), + picker = _self.get('picker'), + width = v - iconEl.outerWidth() - appendWidth; + textEl.width(width); + if(_self.get('forceFit')){ + picker.set('width',v); + } + + } + }, + _getTextEl : function(){ + var _self = this, + el = _self.get('el'); + return el.find('.' + _self.get('inputCls')); + }, + /** + * \u6790\u6784\u51fd\u6570 + */ + destructor:function(){ + var _self = this, + picker = _self.get('picker'); + if(picker){ + picker.destroy(); + } + }, + //\u83b7\u53d6List\u63a7\u4ef6 + _getList:function(){ + var _self = this, + picker = _self.get('picker'), + list = picker.get('list'); + return list; + }, + /** + * \u83b7\u53d6\u9009\u4e2d\u9879\u7684\u503c\uff0c\u5982\u679c\u662f\u591a\u9009\u5219\uff0c\u8fd4\u56de\u7684'1,2,3'\u5f62\u5f0f\u7684\u5b57\u7b26\u4e32 + *
            
            +       *  var value = select.getSelectedValue();
            +       * 
            + * @return {String} \u9009\u4e2d\u9879\u7684\u503c + */ + getSelectedValue:function(){ + return this.get('picker').getSelectedValue(); + }, + /** + * \u8bbe\u7f6e\u9009\u4e2d\u7684\u503c + *
            
            +       * select.setSelectedValue('1'); //\u5355\u9009\u6a21\u5f0f\u4e0b
            +       * select.setSelectedValue('1,2,3'); //\u591a\u9009\u6a21\u5f0f\u4e0b
            +       * 
            + * @param {String} value \u9009\u4e2d\u7684\u503c + */ + setSelectedValue : function(value){ + var _self = this, + picker = _self.get('picker'); + picker.setSelectedValue(value); + }, + /** + * \u83b7\u53d6\u9009\u4e2d\u9879\u7684\u6587\u672c\uff0c\u5982\u679c\u662f\u591a\u9009\u5219\uff0c\u8fd4\u56de\u7684'text1,text2,text3'\u5f62\u5f0f\u7684\u5b57\u7b26\u4e32 + *
            
            +       *  var value = select.getSelectedText();
            +       * 
            + * @return {String} \u9009\u4e2d\u9879\u7684\u6587\u672c + */ + getSelectedText:function(){ + return this.get('picker').getSelectedText(); + } + },{ + ATTRS : + /** + * @lends BUI.Select.Select# + * @ignore + */ + { + + /** + * \u9009\u62e9\u5668\uff0c\u6d6e\u52a8\u51fa\u73b0\uff0c\u4f9b\u7528\u6237\u9009\u62e9 + * @cfg {BUI.Picker.ListPicker} picker + *
            
            +         * var columns = [
            +         *       {title : '\u8868\u59341(30%)',dataIndex :'a', width:'30%'},
            +         *       {id: '123',title : '\u8868\u59342(30%)',dataIndex :'b', width:'30%'},
            +         *       {title : '\u8868\u59343(40%)',dataIndex : 'c',width:'40%'}
            +         *     ],   
            +         *   data = [{a:'123',b:'\u9009\u62e9\u6587\u672c1'},{a:'cdd',b:'\u9009\u62e9\u6587\u672c2'},{a:'1333',b:'\u9009\u62e9\u6587\u672c3',c:'eee',d:2}],
            +         *   grid = new Grid.SimpleGrid({
            +         *     idField : 'a', //\u8bbe\u7f6e\u4f5c\u4e3akey \u7684\u5b57\u6bb5\uff0c\u653e\u5230valueField\u4e2d
            +         *     columns : columns,
            +         *     textGetter: function(item){ //\u8fd4\u56de\u9009\u4e2d\u7684\u6587\u672c
            +         *       return item.b;
            +         *     }
            +         *   }),
            +         *   picker = new Picker.ListPicker({
            +         *     width:300,  //\u6307\u5b9a\u5bbd\u5ea6
            +         *     children : [grid] //\u914d\u7f6epicker\u5185\u7684\u5217\u8868
            +         *   }),
            +         *   select = new Select.Select({  
            +         *     render:'#s1',
            +         *     picker : picker,
            +         *     forceFit:false, //\u4e0d\u5f3a\u8feb\u5217\u8868\u8ddf\u9009\u62e9\u5668\u5bbd\u5ea6\u4e00\u81f4
            +         *     valueField:'#hide',
            +         *     items : data
            +         *   });
            +         * select.render();
            +         * 
            + */ + /** + * \u9009\u62e9\u5668\uff0c\u6d6e\u52a8\u51fa\u73b0\uff0c\u4f9b\u7528\u6237\u9009\u62e9 + * @readOnly + * @type {BUI.Picker.ListPicker} + */ + picker:{ + + }, + /** + * \u5b58\u653e\u503c\u5f97\u5b57\u6bb5\uff0c\u4e00\u822c\u662f\u4e00\u4e2ainput[type='hidden'] ,\u7528\u4e8e\u5b58\u653e\u9009\u62e9\u6846\u7684\u503c + * @cfg {Object} valueField + */ + /** + * @ignore + */ + valueField : { + + }, + /** + * \u6570\u636e\u7f13\u51b2\u7c7b + *
            
            +         *  var store = new Store({
            +         *    url : 'data.json',
            +         *    autoLoad : true
            +         *  });
            +         *  var select = new Select({
            +         *    render : '#s',
            +         *    store : store//\u8bbe\u7f6e\u4e86store\u540e\uff0c\u4e0d\u8981\u518d\u8bbe\u7f6eitems\uff0c\u4f1a\u8fdb\u884c\u8986\u76d6
            +         *  });
            +         *  select.render();
            +         * 
            + * @cfg {BUI.Data.Store} Store + */ + store : { + + }, + focusable:{ + value:true + }, + /** + * \u662f\u5426\u53ef\u4ee5\u591a\u9009 + * @cfg {Boolean} [multipleSelect=false] + */ + /** + * \u662f\u5426\u53ef\u4ee5\u591a\u9009 + * @type {Boolean} + */ + multipleSelect:{ + value:false + }, + /** + * \u63a7\u4ef6\u7684name\uff0c\u7528\u4e8e\u5b58\u653e\u9009\u4e2d\u7684\u6587\u672c\uff0c\u4fbf\u4e8e\u8868\u5355\u63d0\u4ea4 + * @cfg {Object} name + */ + /** + * \u63a7\u4ef6\u7684name\uff0c\u4fbf\u4e8e\u8868\u5355\u63d0\u4ea4 + * @type {Object} + */ + name:{ + + }, + /** + * \u9009\u9879 + * @cfg {Array} items + *
            
            +         *  BUI.use('bui/select',function(Select){
            +         * 
            +         *   var items = [
            +         *         {text:'\u9009\u98791',value:'a'},
            +         *         {text:'\u9009\u98792',value:'b'},
            +         *         {text:'\u9009\u98793',value:'c'}
            +         *       ],
            +         *       select = new Select.Select({  
            +         *         render:'#s1',
            +         *         valueField:'#hide',
            +         *         //multipleSelect: true, //\u662f\u5426\u591a\u9009
            +         *         items:items
            +         *       });
            +         *   select.render();
            +         *   
            +         * });
            +         * 
            + */ + /** + * \u9009\u9879 + * @type {Array} + */ + items:{ + sync:false + }, + /** + * \u6807\u793a\u9009\u62e9\u5b8c\u6210\u540e\uff0c\u663e\u793a\u6587\u672c\u7684DOM\u8282\u70b9\u7684\u6837\u5f0f + * @type {String} + * @protected + * @default 'bui-select-input' + */ + inputCls:{ + value:CLS_INPUT + }, + /** + * \u662f\u5426\u4f7f\u9009\u62e9\u5217\u8868\u8ddf\u9009\u62e9\u6846\u540c\u7b49\u5bbd\u5ea6 + *
            
            +         *   picker = new Picker.ListPicker({
            +         *     width:300,  //\u6307\u5b9a\u5bbd\u5ea6
            +         *     children : [grid] //\u914d\u7f6epicker\u5185\u7684\u5217\u8868
            +         *   }),
            +         *   select = new Select.Select({  
            +         *     render:'#s1',
            +         *     picker : picker,
            +         *     forceFit:false, //\u4e0d\u5f3a\u8feb\u5217\u8868\u8ddf\u9009\u62e9\u5668\u5bbd\u5ea6\u4e00\u81f4
            +         *     valueField:'#hide',
            +         *     items : data
            +         *   });
            +         * select.render();
            +         * 
            + * @cfg {Boolean} [forceFit=true] + */ + forceFit : { + value : true + }, + events : { + value : { + /** + * \u9009\u62e9\u503c\u53d1\u751f\u6539\u53d8\u65f6 + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {String} e.text \u9009\u4e2d\u7684\u6587\u672c + * @param {String} e.value \u9009\u4e2d\u7684value + * @param {Object} e.item \u53d1\u751f\u6539\u53d8\u7684\u9009\u9879 + */ + 'change' : false + } + }, + /** + * \u63a7\u4ef6\u7684\u9ed8\u8ba4\u6a21\u7248 + * @type {String} + * @default + * '<input type="text" readonly="readonly" class="bui-select-input"/><span class="x-icon x-icon-normal"><span class="bui-caret bui-caret-down"></span></span>' + */ + tpl : { + view:true, + value : '' + }, + /** + * \u89e6\u53d1\u7684\u4e8b\u4ef6 + * @cfg {String} triggerEvent + * @default 'click' + */ + triggerEvent:{ + value:'click' + } + } + },{ + xclass : 'select' + }); + + return select; + +});/** + * @fileOverview \u7ec4\u5408\u6846\u53ef\u7528\u4e8e\u9009\u62e9\u8f93\u5165\u6587\u672c + * @ignore + */ + +define('bui/select/combox',['bui/common','bui/select/select'],function (require) { + + var BUI = require('bui/common'), + Select = require('bui/select/select'), + CLS_INPUT = BUI.prefix + 'combox-input'; + + function getFunction(textField,valueField,picker){ + var list = picker.get('list'), + text = picker.getSelectedText(); + if(text){ + $(textField).val(text); + } + } + + /** + * \u7ec4\u5408\u6846 \u7528\u4e8e\u63d0\u793a\u8f93\u5165 + * xclass:'combox' + *
            
            +   * BUI.use('bui/select',function(Select){
            +   * 
            +   *  var select = new Select.Combox({
            +   *    render:'#c1',
            +   *    name:'combox',
            +   *    items:['\u9009\u98791','\u9009\u98792','\u9009\u98793','\u9009\u98794']
            +   *  });
            +   *  select.render();
            +   * });
            +   * 
            + * @class BUI.Select.Combox + * @extends BUI.Select.Select + */ + var combox = Select.extend({ + + renderUI : function(){ + var _self = this, + picker = _self.get('picker'); + + picker.get('getFunction',getFunction); + }, + _uiSetItems : function(v){ + var _self = this; + + for(var i = 0 ; i < v.length ; i++){ + var item = v[i]; + if(BUI.isString(item)){ + v[i] = {value:item,text:item}; + } + } + combox.superclass._uiSetItems.call(_self,v); + } + + },{ + ATTRS : + /** + * @lends BUI.Select.Combox# + * @ignore + */ + { + /** + * \u63a7\u4ef6\u7684\u6a21\u7248 + * @type {String} + * @default + * '<input type="text" class="'+CLS_INPUT+'"/>' + */ + tpl:{ + view:true, + value:'' + }, + /** + * \u663e\u793a\u9009\u62e9\u56de\u7684\u6587\u672cDOM\u8282\u70b9\u7684\u6837\u5f0f + * @type {String} + * @protected + * @default 'bui-combox-input' + */ + inputCls:{ + value:CLS_INPUT + } + } + },{ + xclass:'combox' + }); + + return combox; +});/** + * @fileOverview \u7ec4\u5408\u6846\u53ef\u7528\u4e8e\u9009\u62e9\u8f93\u5165\u6587\u672c + * @ignore + */ + +define('bui/select/suggest',['bui/common','bui/select/combox'],function (require) { + 'use strict'; + var BUI = require('bui/common'), + Combox = require('bui/select/combox'), + TIMER_DELAY = 200, + EMPTY = ''; + + /** + * \u7ec4\u5408\u6846 \u7528\u4e8e\u63d0\u793a\u8f93\u5165 + * xclass:'suggest' + * ** \u7b80\u5355\u4f7f\u7528\u9759\u6001\u6570\u636e ** + *
            
            +   * BUI.use('bui/select',function (Select) {
            +   *
            +   *  var suggest = new Select.Suggest({
            +   *     render:'#c2',
            +   *     name:'suggest', //\u5f62\u6210\u8f93\u5165\u6846\u7684name
            +   *     data:['1222224','234445','122','1111111']
            +   *   });
            +   *   suggest.render();
            +   *   
            +   * });
            +   * 
            + * ** \u67e5\u8be2\u670d\u52a1\u5668\u6570\u636e ** + *
            
            +   * BUI.use('bui/select',function(Select){
            +   *
            +   *  var suggest = new Select.Suggest({
            +   *    render:'#s1',
            +   *    name:'suggest', 
            +   *    url:'server-data.php'
            +   *  });
            +   *  suggest.render();
            +   *
            +   * });
            +   * 
            + * @class BUI.Select.Suggest + * @extends BUI.Select.Combox + */ + var suggest = Combox.extend({ + bindUI : function(){ + var _self = this, + textEl = _self.get('el').find('input'), + triggerEvent = (_self.get('triggerEvent') === 'keyup') ? 'keyup' : 'keyup click'; + + //\u76d1\u542c keyup \u4e8b\u4ef6 + textEl.on(triggerEvent, function(){ + _self._start(); + }); + }, + //\u542f\u52a8\u8ba1\u65f6\u5668\uff0c\u5f00\u59cb\u76d1\u542c\u7528\u6237\u8f93\u5165 + _start:function(){ + var _self = this; + _self._timer = _self.later(function(){ + _self._updateContent(); + // _self._timer = _self.later(arguments.callee, TIMER_DELAY); + }, TIMER_DELAY); + }, + //\u66f4\u65b0\u63d0\u793a\u5c42\u7684\u6570\u636e + _updateContent:function(){ + var _self = this, + isStatic = _self.get('data'), + textEl = _self.get('el').find('input'), + text; + + //\u68c0\u6d4b\u662f\u5426\u9700\u8981\u66f4\u65b0\u3002\u6ce8\u610f\uff1a\u52a0\u5165\u7a7a\u683c\u4e5f\u7b97\u6709\u53d8\u5316 + if (!isStatic && (textEl.val() === _self.get('query'))) { + return; + } + + _self.set('query', textEl.val()); + text = textEl.val(); + //\u8f93\u5165\u4e3a\u7a7a\u65f6,\u76f4\u63a5\u8fd4\u56de + if (!isStatic && !text) { + /* _self.set('items',EMPTY_ARRAY); + picker.hide();*/ + return; + } + + //3\u79cd\u52a0\u8f7d\u65b9\u5f0f\u9009\u62e9 + var cacheable = _self.get('cacheable'), + url = _self.get('url'), + data = _self.get('data'); + + if (cacheable && url) { + var dataCache = _self.get('dataCache'); + if (dataCache[text] !== undefined) { + //\u4ece\u7f13\u5b58\u8bfb\u53d6 + //BUI.log('use cache'); + _self._handleResponse(dataCache[text]); + }else{ + //\u8bf7\u6c42\u670d\u52a1\u5668\u6570\u636e + //BUI.log('no cache, data from server'); + _self._requestData(); + } + }else if (url) { + //\u4ece\u670d\u52a1\u5668\u83b7\u53d6\u6570\u636e + //BUI.log('no cache, data always from server'); + _self._requestData(); + }else if (data) { + //\u4f7f\u7528\u9759\u6001\u6570\u636e\u6e90 + //BUI.log('use static datasource'); + _self._handleResponse(data,true); + } + }, + //\u5982\u679c\u5b58\u5728\u6570\u636e\u6e90 + _getStore : function(){ + var _self = this, + picker = _self.get('picker'), + list = picker.get('list'); + if(list){ + return list.get('store'); + } + }, + //\u901a\u8fc7 script \u5143\u7d20\u5f02\u6b65\u52a0\u8f7d\u6570\u636e + _requestData:function(){ + var _self = this, + textEl = _self.get('el').find('input'), + callback = _self.get('callback'), + store = _self.get('store'), + param = {}; + + param[textEl.attr('name')] = textEl.val(); + if(store){ + param.start = 0; //\u56de\u6eda\u5230\u7b2c\u4e00\u9875 + store.load(param,callback); + }else{ + $.ajax({ + url:_self.get('url'), + type:'post', + dataType:_self.get('dataType'), + data:param, + success:function(data){ + _self._handleResponse(data); + if(callback){ + callback(data); + } + } + }); + } + + }, + //\u5904\u7406\u83b7\u53d6\u7684\u6570\u636e + _handleResponse:function(data,filter){ + var _self = this, + items = filter ? _self._getFilterItems(data) : data; + _self.set('items',items); + + if(_self.get('cacheable')){ + _self.get('dataCache')[_self.get('query')] = items; + } + }, + //\u5982\u679c\u5217\u8868\u8bb0\u5f55\u662f\u5bf9\u8c61\u83b7\u53d6\u663e\u793a\u7684\u6587\u672c + _getItemText : function(item){ + var _self = this, + picker = _self.get('picker'), + list = picker.get('list'); + if(list){ + return list.getItemText(item); + } + return ''; + }, + //\u83b7\u53d6\u8fc7\u6ee4\u7684\u6587\u672c + _getFilterItems:function(data){ + var _self = this, + result = [], + textEl = _self.get('el').find('input'), + text = textEl.val(), + isStatic = _self.get('data'); + data = data || []; + /** + * @private + * @ignore + */ + function push(str,item){ + if(BUI.isString(item)){ + result.push(str); + }else{ + result.push(item); + } + } + BUI.each(data, function(item){ + var str = BUI.isString(item) ? item : _self._getItemText(item); + if(isStatic){ + if(str.indexOf($.trim(text)) !== -1){ + push(str,item); + } + }else{ + push(str,item); + } + }); + + return result; + }, + /** + * \u5ef6\u8fdf\u6267\u884c\u6307\u5b9a\u51fd\u6570 fn + * @protected + * @return {Object} \u64cd\u4f5c\u5b9a\u65f6\u5668\u7684\u5bf9\u8c61 + */ + later:function (fn, when, periodic) { + when = when || 0; + var r = periodic ? setInterval(fn, when) : setTimeout(fn, when); + + return { + id:r, + interval:periodic, + cancel:function () { + if (this.interval) { + clearInterval(r); + } else { + clearTimeout(r); + } + } + }; + } + },{ + ATTRS : + /** + * @lends BUI.Select.Suggest# + * @ignore + */ + { + /** + * \u7528\u4e8e\u663e\u793a\u63d0\u793a\u7684\u6570\u636e\u6e90 + *
            
            +       *   var suggest = new Select.Suggest({
            +       *     render:'#c2',
            +       *     name:'suggest', //\u5f62\u6210\u8f93\u5165\u6846\u7684name
            +       *     data:['1222224','234445','122','1111111']
            +       *   });
            +       * 
            + * @cfg {Array} data + */ + /** + * \u7528\u4e8e\u663e\u793a\u63d0\u793a\u7684\u6570\u636e\u6e90 + * @type {Array} + * @ignore + */ + data:{ + value : null + }, + /** + * \u8f93\u5165\u6846\u7684\u503c + * @type {String} + * @private + */ + query:{ + value : EMPTY + }, + /** + * \u662f\u5426\u5141\u8bb8\u7f13\u5b58 + * @cfg {Boolean} cacheable + * @default false + */ + /** + * \u662f\u5426\u5141\u8bb8\u7f13\u5b58 + * @type {Boolean} + * @default false + */ + cacheable:{ + value:false + }, + /** + * \u7f13\u5b58\u7684\u6570\u636e + * @private + */ + dataCache:{ + value:{} + }, + /** + * \u8bf7\u6c42\u8fd4\u56de\u7684\u6570\u636e\u683c\u5f0f\u9ed8\u8ba4\u4e3a'jsonp' + *
            
            +       *  var suggest = new Select.Suggest({
            +       *    render:'#s1',
            +       *    name:'suggest', 
            +       *    dataType : 'json',
            +       *    url:'server-data.php'
            +       *  }); 
            +       * 
            + * @cfg {Object} [dataType = 'jsonp'] + */ + dataType : { + value : 'jsonp' + }, + /** + * \u8bf7\u6c42\u6570\u636e\u7684url + *
            
            +       *  var suggest = new Select.Suggest({
            +       *    render:'#s1',
            +       *    name:'suggest', 
            +       *    dataType : 'json',
            +       *    url:'server-data.php'
            +       *  }); 
            +       * 
            + * @cfg {String} url + */ + url : { + + }, + /** + * \u8bf7\u6c42\u5b8c\u6570\u636e\u7684\u56de\u8c03\u51fd\u6570 + *
            
            +       *  var suggest = new Select.Suggest({
            +       *    render:'#s1',
            +       *    name:'suggest', 
            +       *    dataType : 'json',
            +       *    callback : function(data){
            +       *      //do something
            +       *    },
            +       *    url:'server-data.php'
            +       *  }); 
            +       * 
            + * @type {Function} + */ + callback : { + + }, + /** + * \u89e6\u53d1\u7684\u4e8b\u4ef6 + * @cfg {String} triggerEvent + * @default 'click' + */ + triggerEvent:{ + valueFn:function(){ + if(this.get('data')){ + return 'click'; + } + return 'keyup'; + } + }, + /** + * suggest\u4e0d\u63d0\u4f9b\u81ea\u52a8\u8bbe\u7f6e\u9009\u4e2d\u6587\u672c\u529f\u80fd + * @type {Boolean} + * @default true + */ + autoSetValue:{ + value:false + } + } + },{ + xclass:'suggest' + }); + + return suggest; +});/** + * @fileOverview Mask\u7684\u5165\u53e3\u6587\u4ef6 + * @ignore + */ + +define('bui/mask',['bui/common','bui/mask/mask','bui/mask/loadmask'],function (require) { + var BUI = require('bui/common'), + Mask = require('bui/mask/mask'); + Mask.LoadMask = require('bui/mask/loadmask'); + return Mask; +});/** + * @fileOverview Mask\u5c4f\u853d\u5c42 + * @author dxq613@gmail.com + * @ignore + */ + +define('bui/mask/mask',['bui/common'],function (require) { + + var BUI = require('bui/common'), + Mask = BUI.namespace('Mask'), + UA = BUI.UA, + CLS_MASK = BUI.prefix + 'ext-mask', + CLS_MASK_MSG = CLS_MASK + '-msg'; + + BUI.mix(Mask, + /** + * \u5c4f\u853d\u5c42 + *
            
            +    * BUI.use('bui/mask',function(Mask){
            +    *   Mask.maskElement('#domId'); //\u5c4f\u853ddom
            +    *   Mask.unmaskElement('#domId'); //\u89e3\u9664DOM\u5c4f\u853d
            +    * });
            +    * 
            + * @class BUI.Mask + * @singleton + */ + { + /** + * @description \u5c4f\u853d\u6307\u5b9a\u5143\u7d20 + * @param {String|HTMLElement} element \u88ab\u5c4f\u853d\u7684\u5143\u7d20 + * @param {String} [msg] \u5c4f\u853d\u5143\u7d20\u65f6\u663e\u793a\u7684\u6587\u672c + * @param {String} [msgCls] \u663e\u793a\u6587\u672c\u5e94\u7528\u7684\u6837\u5f0f + *
            
            +         *   BUI.Mask.maskElement('#domId');
            +         *   
            +         * 
            + */ + maskElement:function (element, msg, msgCls) { + var maskedEl = $(element), + maskDiv = $('.' + CLS_MASK, maskedEl), + tpl = null, + msgDiv = null, + top = null, + left = null; + if (!maskDiv.length) { + maskDiv = $('
            ').appendTo(maskedEl); + maskedEl.addClass('x-masked-relative x-masked'); + if (UA.ie === 6) { + maskDiv.height(maskedEl.height()); + } + if (msg) { + tpl = ['
            ', msg, '
            '].join(''); + msgDiv = $(tpl).appendTo(maskedEl); + if (msgCls) { + msgDiv.addClass(msgCls); + } + try { + top = (maskedEl.height() - msgDiv.height()) / 2; + left = (maskedEl.width() - msgDiv.width()) / 2; + + msgDiv.css({ left:left, top:top }); + } catch (ex) { + BUI.log('mask error occurred'); + } + } + } + return maskDiv; + }, + /** + * @description \u89e3\u9664\u5143\u7d20\u7684\u5c4f\u853d + * @param {String|HTMLElement} \u5c4f\u853d\u7684\u5143\u7d20 + *
            
            +         * BUI.Mask.unmaskElement('#domId');
            +         * 
            + */ + unmaskElement:function (element) { + var maskedEl = $(element), + msgEl = maskedEl.children('.' + CLS_MASK_MSG), + maskDiv = maskedEl.children('.' + CLS_MASK); + if (msgEl) { + msgEl.remove(); + } + if (maskDiv) { + maskDiv.remove(); + } + maskedEl.removeClass('x-masked-relative x-masked'); + + } + }); + + return Mask; +});/** + * @fileOverview \u52a0\u8f7d\u6570\u636e\u65f6\u5c4f\u853d\u5c42 + * @ignore + */ + +define('bui/mask/loadmask',['bui/mask/mask'],function (require) { + + var Mask = require('bui/mask/mask'); + + /** + * \u5c4f\u853d\u6307\u5b9a\u5143\u7d20\uff0c\u5e76\u663e\u793a\u52a0\u8f7d\u4fe1\u606f + *
            
            +     * BUI.use('bui/mask',function(Mask){
            +     *    var loadMask = new Mask.LoadMask({
            +     *        el : '#domId',
            +     *        msg : 'loading ....'
            +     *    });
            +     *
            +     *    $('#btn').on('click',function(){
            +     *        loadMask.show();
            +     *    });
            +     *
            +     *    $('#btn1').on('click',function(){
            +     *        loadMask.hide();
            +     *    });
            +     * });
            +     * 
            + * @class BUI.Mask.LoadMask + * @extends BUI.Base + */ + function LoadMask(config) { + var _self = this; + LoadMask.superclass.constructor.call(_self, config); + } + + BUI.extend(LoadMask, BUI.Base); + + LoadMask.ATTRS = { + /** + * \u5c4f\u853d\u7684\u5143\u7d20 + *
            
            +         *    var loadMask = new Mask.LoadMask({
            +         *        el : '#domId'
            +         *    });
            +         * 
            + * @cfg {jQuery} el + */ + el : { + + }, + /** + * \u52a0\u8f7d\u65f6\u663e\u793a\u7684\u52a0\u8f7d\u4fe1\u606f + *
            
            +         *    var loadMask = new Mask.LoadMask({
            +         *        el : '#domId',
            +         *        msg : '\u6b63\u5728\u52a0\u8f7d\uff0c\u8bf7\u7a0d\u540e\u3002\u3002\u3002'
            +         *    });
            +         * 
            + * @cfg {String} msg [msg = 'Loading...'] + */ + msg:{ + value : 'Loading...' + }, + /** + * \u52a0\u8f7d\u65f6\u663e\u793a\u7684\u52a0\u8f7d\u4fe1\u606f\u7684\u6837\u5f0f + *
            
            +         *    var loadMask = new Mask.LoadMask({
            +         *        el : '#domId',
            +         *        msgCls : 'custom-cls'
            +         *    });
            +         * 
            + * @cfg {String} [msgCls = 'x-mask-loading'] + */ + msgCls:{ + value : 'x-mask-loading' + }, + /** + * \u52a0\u8f7d\u63a7\u4ef6\u662f\u5426\u7981\u7528 + * @type {Boolean} + * @field + * @default false + * @ignore + */ + disabled:{ + value : false + } + }; + + //\u5bf9\u8c61\u539f\u578b + BUI.augment(LoadMask, + /** + * @lends BUI.Mask.LoadMask.prototype + * @ignore + */ + { + + /** + * \u8bbe\u7f6e\u63a7\u4ef6\u4e0d\u53ef\u7528 + */ + disable:function () { + this.set('disabled',true); + }, + /** + * @private \u52a0\u8f7d\u5df2\u7ecf\u5b8c\u6bd5\uff0c\u89e3\u9664\u5c4f\u853d + */ + onLoad:function () { + Mask.unmaskElement(this.get('el')); + }, + /** + * @private \u5f00\u59cb\u52a0\u8f7d\uff0c\u5c4f\u853d\u5f53\u524d\u5143\u7d20 + */ + onBeforeLoad:function () { + var _self = this; + if (!_self.get('disabled')) { + Mask.maskElement(_self.get('el'), _self.get('msg'), this.get('msgCls')); + } + }, + /** + * \u663e\u793a\u52a0\u8f7d\u6761\uff0c\u5e76\u906e\u76d6\u5143\u7d20 + */ + show:function () { + this.onBeforeLoad(); + }, + + /** + * \u9690\u85cf\u52a0\u8f7d\u6761\uff0c\u5e76\u89e3\u9664\u906e\u76d6\u5143\u7d20 + */ + hide:function () { + this.onLoad(); + }, + + /* + * \u6e05\u7406\u8d44\u6e90 + */ + destroy:function () { + this.hide(); + this.clearAttrVals(); + this.off(); + } + }); + + return LoadMask; +});/** + * @fileOverview \u83dc\u5355\u547d\u540d\u7a7a\u95f4\u5165\u53e3\u6587\u4ef6 + * @ignore + */ + +define('bui/menu',['bui/common','bui/menu/menu','bui/menu/menuitem','bui/memu/contextmenu','bui/menu/popmenu','bui/menu/sidemenu'],function (require) { + + var BUI = require('bui/common'), + Menu = BUI.namespace('Menu'); + BUI.mix(Menu,{ + Menu : require('bui/menu/menu'), + MenuItem : require('bui/menu/menuitem'), + ContextMenu : require('bui/memu/contextmenu'), + PopMenu : require('bui/menu/popmenu'), + SideMenu : require('bui/menu/sidemenu') + }); + + Menu.ContextMenuItem = Menu.ContextMenu.Item; + return Menu; +});/** + * @fileOverview \u83dc\u5355\u9879 + * @ignore + */ +define('bui/menu/menuitem',['bui/common'],function(require){ + + var BUI = require('bui/common'), + Component = BUI.Component, + UIBase = Component.UIBase, + PREFIX = BUI.prefix, + CLS_OPEN = PREFIX + 'menu-item-open', + CLS_CARET = 'x-caret', + CLS_COLLAPSE = PREFIX + 'menu-item-collapsed', + DATA_ID = 'data-id'; + + /** + * @private + * @class BUI.Menu.MenuItemView + * @mixins BUI.Component.UIBase.ListItemView + * @mixins BUI.Component.UIBase.CollapseableView + * \u83dc\u5355\u9879\u7684\u89c6\u56fe\u7c7b + */ + var menuItemView = Component.View.extend([UIBase.ListItemView,UIBase.CollapseableView],{ + + _uiSetOpen : function (v) { + var _self = this, + cls = _self.getStatusCls('open'); + if(v){ + _self.get('el').addClass(cls); + }else{ + _self.get('el').removeClass(cls); + } + } + },{ + ATTRS : { + } + },{ + xclass:'menu-item-view' + }); + + /** + * \u83dc\u5355\u9879 + * @class BUI.Menu.MenuItem + * @extends BUI.Component.Controller + * @mixins BUI.Component.UIBase.ListItem + */ + var menuItem = Component.Controller.extend([UIBase.ListItem,UIBase.Collapseable],{ + /** + * \u6e32\u67d3 + * @protected + */ + renderUI : function(){ + var _self = this, + el = _self.get('el'), + id = _self.get('id'), + temp = null; + //\u672a\u8bbe\u7f6eid\u65f6\u81ea\u52a8\u751f\u6210 + if(!id){ + id = BUI.guid('menu-item'); + _self.set('id',id); + } + el.attr(DATA_ID,id); + }, + /** + * \u5904\u7406\u9f20\u6807\u79fb\u5165 + * @protected + */ + handleMouseEnter : function (ev) { + var _self = this; + if(this.get('subMenu')){ + this.set('open',true); + } + menuItem.superclass.handleMouseEnter.call(this,ev); + }, + /** + * \u5904\u7406\u9f20\u6807\u79fb\u51fa + * @protected + */ + handleMouseLeave :function (ev) { + var _self = this, + subMenu = _self.get('subMenu'), + toElement = ev.toElement; + if(toElement && subMenu && subMenu.containsElement(toElement)){ + _self.set('open',true); + }else{ + _self.set('open',false); + } + menuItem.superclass.handleMouseLeave.call(this,ev); + }, + /** + * \u81ea\u5df1\u548c\u5b50\u83dc\u5355\u662f\u5426\u5305\u542b + * @override + */ + containsElement:function (elem) { + var _self = this, + subMenu, + contains = menuItem.superclass.containsElement.call(_self,elem); + if(!contains){ + subMenu = _self.get('subMenu'); + contains = subMenu && subMenu.containsElement(elem); + } + return contains; + }, + //\u8bbe\u7f6e\u6253\u5f00\u5b50\u83dc\u5355 + _uiSetOpen : function (v) { + var _self = this, + subMenu = _self.get('subMenu'), + subMenuAlign = _self.get('subMenuAlign'); + if(subMenu){ + if(v){ + subMenuAlign.node = _self.get('el'); + subMenu.set('align',subMenuAlign); + subMenu.show(); + }else{ + var menuAlign = subMenu.get('align'); + //\u9632\u6b62\u5b50\u83dc\u5355\u88ab\u516c\u7528\u65f6 + if(!menuAlign || menuAlign.node == _self.get('el')){ + subMenu.hide(); + } + + } + } + }, + //\u8bbe\u7f6e\u4e0b\u7ea7\u83dc\u5355 + _uiSetSubMenu : function (subMenu) { + if(subMenu){ + var _self = this, + el = _self.get('el'), + parent = _self.get('parent'); + //\u8bbe\u7f6e\u83dc\u5355\u9879\u6240\u5c5e\u7684\u83dc\u5355\u4e3a\u4e0a\u4e00\u7ea7\u83dc\u5355 + if(!subMenu.get('parentMenu')){ + subMenu.set('parentMenu',parent); + if(parent.get('autoHide')){ + subMenu.set('autoHide',false); + } + } + $(_self.get('arrowTpl')).appendTo(el); + } + }, + /** + * \u6790\u6784\u51fd\u6570 + * @protected + */ + destructor : function () { + var _self = this, + subMenu = _self.get('subMenu'); + if(subMenu){ + subMenu.destroy(); + } + } + + },{ + ATTRS : + /** + * @lends BUI.Menu.MenuItem# + * @ignore + */ + { + /** + * \u9ed8\u8ba4\u7684Html \u6807\u7b7e + * @type {String} + */ + elTagName : { + value: 'li' + }, + xview : { + value : menuItemView + }, + /** + * \u83dc\u5355\u9879\u662f\u5426\u5c55\u5f00\uff0c\u663e\u793a\u5b50\u83dc\u5355 + * @cfg {Boolean} [open=false] + */ + /** + * \u83dc\u5355\u9879\u662f\u5426\u5c55\u5f00\uff0c\u663e\u793a\u5b50\u83dc\u5355 + * @type {Boolean} + * @default false + */ + open :{ + view : true, + value : false + }, + /** + * \u4e0b\u7ea7\u83dc\u5355 + * @cfg {BUI.Menu.Menu} subMenu + */ + /** + * \u4e0b\u7ea7\u83dc\u5355 + * @type {BUI.Menu.Menu} + */ + subMenu : { + view : true + }, + /** + * \u4e0b\u7ea7\u83dc\u5355\u548c\u83dc\u5355\u9879\u7684\u5bf9\u9f50\u65b9\u5f0f + * @type {Object} + * @protected + * @default \u9ed8\u8ba4\u5728\u4e0b\u9762\u663e\u793a + */ + subMenuAlign : { + valueFn : function (argument) { + return { + //node: this.get('el'), // \u53c2\u8003\u5143\u7d20, falsy \u6216 window \u4e3a\u53ef\u89c6\u533a\u57df, 'trigger' \u4e3a\u89e6\u53d1\u5143\u7d20, \u5176\u4ed6\u4e3a\u6307\u5b9a\u5143\u7d20 + points: ['tr','tl'], // ['tr', 'tl'] \u8868\u793a overlay \u7684 tl \u4e0e\u53c2\u8003\u8282\u70b9\u7684 tr \u5bf9\u9f50 + offset: [-5, 0] // \u6709\u6548\u503c\u4e3a [n, m] + } + } + }, + /** + * \u5f53\u5b58\u5728\u5b50\u83dc\u5355\u65f6\u7684\u7bad\u5934\u6a21\u7248 + * @protected + * @type {String} + */ + arrowTpl : { + value : '' + }, + events : { + value : { + 'afterOpenChange' : true + } + } + } + },{ + xclass : 'menu-item', + priority : 0 + }); + + var separator = menuItem.extend({ + + },{ + ATTRS : { + focusable : { + value : false + }, + selectable:{ + value : false + }, + handleMouseEvents:{ + value:false + } + } + },{ + xclass:'menu-item-sparator' + }); + + menuItem.View = menuItemView; + menuItem.Separator = separator; + + return menuItem; +});/** + * @fileOverview \u83dc\u5355\u57fa\u7c7b + * @author dxq613@gmail.com + * @ignore + */ + +define('bui/menu/menu',['bui/common'],function(require){ + + var BUI = require('bui/common'), + Component = BUI.Component, + UIBase = Component.UIBase; + + /** + * \u83dc\u5355 + * xclass:'menu' + * + * @class BUI.Menu.Menu + * @extends BUI.Component.Controller + * @mixins BUI.Component.UIBase.ChildList + */ + var Menu = Component.Controller.extend([UIBase.ChildList],{ + /** + * \u7ed1\u5b9a\u4e8b\u4ef6 + * @protected + */ + bindUI:function(){ + var _self = this; + + _self.on('click',function(e){ + var item = e.target, + multipleSelect = _self.get('multipleSelect'); + if(_self != item){ + //\u5355\u9009\u60c5\u51b5\u4e0b\uff0c\u5141\u8bb8\u81ea\u52a8\u9690\u85cf\uff0c\u4e14\u6ca1\u6709\u5b50\u83dc\u5355\u7684\u60c5\u51b5\u4e0b\uff0c\u83dc\u5355\u9690\u85cf + if(!multipleSelect && _self.get('clickHide') && !item.get('subMenu')){ + _self.getTopAutoHideMenu().hide(); + } + } + }); + + _self.on('afterOpenChange',function (ev) { + var target = ev.target, + opened = ev.newVal, + children = _self.get('children'); + if(opened){ + BUI.each(children,function(item) { + if(item !== target && item.get('open')){ + item.set('open',false); + } + }); + } + }); + + _self.on('afterVisibleChange',function (ev) { + var visible = ev.newVal, + parent = _self.get('parentMenu'); + _self._clearOpen(); + }); + }, + + //\u70b9\u51fb\u81ea\u52a8\u9690\u85cf\u65f6 + getTopAutoHideMenu : function() { + var _self = this, + parentMenu = _self.get('parentMenu'), + topHideMenu; + if(parentMenu && parentMenu.get('autoHide')){ + return parentMenu.getTopAutoHideMenu(); + } + if(_self.get('autoHide')){ + return _self; + } + return null; + }, + //\u6e05\u9664\u83dc\u5355\u9879\u7684\u6fc0\u6d3b\u72b6\u6001 + _clearOpen : function () { + var _self = this, + children = _self.get('children'); + BUI.each(children,function (item) { + if(item.set){ + item.set('open',false); + } + }); + }, + /** + * \u6839\u636eID\u67e5\u627e\u83dc\u5355\u9879 + * @param {String} id \u7f16\u53f7 + * @return {BUI.Menu.MenuItem} \u83dc\u5355\u9879 + */ + findItemById : function(id){ + + return this.findItemByField('id',id); + }, + _uiSetSelectedItem : function(item){ + if(item){ + _self.setSelected(item); + } + } + },{ + ATTRS: + /** + * @lends BUI.Menu.Menu# + * @ignore + */ + { + + elTagName:{ + view : true, + value : 'ul' + }, + idField:{ + value:'id' + }, + /** + * \u5b50\u7c7b\u7684\u9ed8\u8ba4\u7c7b\u540d\uff0c\u5373\u7c7b\u7684 xclass + * @type {String} + * @default 'menu-item' + */ + defaultChildClass : { + value : 'menu-item' + }, + /** + * \u9009\u4e2d\u7684\u83dc\u5355\u9879 + * @type {Object} + */ + selectedItem : { + + }, + /** + * \u4e0a\u4e00\u7ea7\u83dc\u5355 + * @type {BUI.Menu.Menu} + * @readOnly + */ + parentMenu : { + + } + } + + },{ + xclass : 'menu', + priority : 0 + }); + + return Menu; +});/** + * @fileOverview \u4e0b\u62c9\u83dc\u5355\uff0c\u4e00\u822c\u7528\u4e8e\u4e0b\u62c9\u663e\u793a\u83dc\u5355 + * @author dxq613@gmail.com + * @ignore + */ + +define('bui/menu/popmenu',['bui/common','bui/menu/menu'],function (require) { + + var BUI = require('bui/common'), + UIBase = BUI.Component.UIBase, + Menu = require('bui/menu/menu'); + + var popMenuView = BUI.Component.View.extend([UIBase.PositionView],{ + + }); + + /** + * @class BUI.Menu.PopMenu + * \u4e0a\u4e0b\u6587\u83dc\u5355\uff0c\u4e00\u822c\u7528\u4e8e\u5f39\u51fa\u83dc\u5355 + * xclass:'pop-menu' + * @extends BUI.Menu.Menu + * @mixins BUI.Component.UIBase.AutoShow + * @mixins BUI.Component.UIBase.Position + * @mixins BUI.Component.UIBase.Align + * @mixins BUI.Component.UIBase.AutoHide + */ + var popMenu = Menu.extend([UIBase.Position,UIBase.Align,UIBase.AutoShow,,UIBase.AutoHide],{ + + },{ + ATTRS:{ + /** \u70b9\u51fb\u83dc\u5355\u9879\uff0c\u5982\u679c\u83dc\u5355\u4e0d\u662f\u591a\u9009\uff0c\u83dc\u5355\u9690\u85cf + * @type {Boolean} + * @default true + */ + clickHide : { + value : true + }, + align : { + value : { + points: ['bl','tl'], // ['tr', 'tl'] \u8868\u793a overlay \u7684 tl \u4e0e\u53c2\u8003\u8282\u70b9\u7684 tr \u5bf9\u9f50 + offset: [0, 0] // \u6709\u6548\u503c\u4e3a [n, m] + } + }, + visibleMode : { + value : 'visibility' + }, + /** + * \u70b9\u51fb\u83dc\u5355\u5916\u9762\uff0c\u83dc\u5355\u9690\u85cf + * \u70b9\u51fb\u83dc\u5355\u9879\uff0c\u5982\u679c\u83dc\u5355\u4e0d\u662f\u591a\u9009\uff0c\u83dc\u5355\u9690\u85cf + * @type {Boolean} + * @default true + */ + autoHide : { + value : true + }, + visible : { + value : false + }, + xview:{ + value : popMenuView + } + } + },{ + xclass:'pop-menu' + }); + + return popMenu; + +});/** + * @fileOverview \u5f39\u51fa\u83dc\u5355\uff0c\u4e00\u822c\u7528\u4e8e\u53f3\u952e\u83dc\u5355 + * @author dxq613@gmail.com + * @ignore + */ + +define('bui/memu/contextmenu',['bui/common','bui/menu/menuitem','bui/menu/popmenu'],function (require) { + + var BUI = require('bui/common'), + MenuItem = require('bui/menu/menuitem'), + PopMenu = require('bui/menu/popmenu'), + PREFIX = BUI.prefix, + CLS_Link = PREFIX + 'menu-item-link', + CLS_ITEM_ICON = PREFIX + 'menu-item-icon', + Component = BUI.Component, + UIBase = Component.UIBase; + + /** + * \u4e0a\u4e0b\u6587\u83dc\u5355\u9879 + * xclass:'context-menu-item' + * @class BUI.Menu.ContextMenuItem + * @extends BUI.Menu.MenuItem + */ + var contextMenuItem = MenuItem.extend({ + + bindUI:function(){ + var _self = this; + + _self.get('el').delegate('.' + CLS_Link,'click',function(ev){ + ev.preventDefault(); + }); + }, + //\u8bbe\u7f6e\u56fe\u6807\u6837\u5f0f + _uiSetIconCls : function (v,ev) { + var _self = this, + preCls = ev.prevVal, + iconEl = _self.get('el').find('.'+CLS_ITEM_ICON); + iconEl.removeClass(preCls); + iconEl.addClass(v); + } + },{ + + ATTRS: + /** + * @lends BUI.Menu.MenuItem# + * @ignore + */ + { + /** + * \u663e\u793a\u7684\u6587\u672c + * @type {String} + */ + text:{ + veiw:true, + value:'' + }, + /** + * \u83dc\u5355\u9879\u56fe\u6807\u7684\u6837\u5f0f + * @type {String} + */ + iconCls:{ + sync:false, + value:'' + }, + tpl:{ + value:'\ + {text}' + } + } + },{ + xclass:'context-menu-item' + }); + + /** + * \u4e0a\u4e0b\u6587\u83dc\u5355\uff0c\u4e00\u822c\u7528\u4e8e\u5f39\u51fa\u83dc\u5355 + * xclass:'context-menu' + * @class BUI.Menu.ContextMenu + * @extends BUI.Menu.PopMenu + */ + var contextMenu = PopMenu.extend({ + + },{ + ATTRS:{ + /** + * \u5b50\u7c7b\u7684\u9ed8\u8ba4\u7c7b\u540d\uff0c\u5373\u7c7b\u7684 xclass + * @type {String} + * @override + * @default 'menu-item' + */ + defaultChildClass : { + value : 'context-menu-item' + }, + align : { + value : null + } + } + },{ + xclass:'context-menu' + }); + + contextMenu.Item = contextMenuItem; + return contextMenu; +}); +/** + * @fileOverview \u4fa7\u8fb9\u680f\u83dc\u5355 + * @author dxq613@gmail.com + * @ignore + */ +define('bui/menu/sidemenu',['bui/common','bui/menu/menu'],function(require){ + + var BUI = require('bui/common'), + Menu = require('bui/menu/menu'), + Component = BUI.Component, + CLS_MENU_TITLE = BUI.prefix + 'menu-title', + CLS_MENU_LEAF = 'menu-leaf'; + + /** + * \u4fa7\u8fb9\u680f\u83dc\u5355 + * xclass:'side-menu' + * @class BUI.Menu.SideMenu + * @extends BUI.Menu.Menu + */ + var sideMenu = Menu.extend( + /** + * @lends BUI.Menu.SideMenu.prototype + * @ignore + */ + { + //\u521d\u59cb\u5316\u914d\u7f6e\u9879 + initializer : function(){ + var _self = this, + items = _self.get('items'), + children = _self.get('children'); + + BUI.each(items,function(item){ + var menuCfg = _self._initMenuCfg(item); + children.push(menuCfg); + }); + }, + bindUI : function(){ + var _self = this, + children = _self.get('children'); + BUI.each(children,function(item){ + var menu = item.get('children')[0]; + if(menu){ + menu.publish('click',{ + bubbles:1 + }); + } + }); + //\u9632\u6b62\u94fe\u63a5\u8df3\u8f6c + _self.get('el').delegate('a','click',function(ev){ + ev.preventDefault(); + }); + //\u5904\u7406\u70b9\u51fb\u4e8b\u4ef6\uff0c\u5c55\u5f00\u3001\u6298\u53e0\u3001\u9009\u4e2d + _self.on('itemclick',function(ev){ + var item = ev.item, + titleEl = $(ev.domTarget).closest('.' + CLS_MENU_TITLE); + if(titleEl.length){ + var collapsed = item.get('collapsed'); + item.set('collapsed',!collapsed); + }else if(item.get('el').hasClass(CLS_MENU_LEAF)){ + _self.fire('menuclick',{item:item}); + _self.clearSelection(); + _self.setSelected(item); + } + }); + }, + /** + * @protected + * @ignore + */ + getItems:function(){ + var _self = this, + items = [], + children = _self.get('children'); + BUI.each(children,function(item){ + var menu = item.get('children')[0]; + items = items.concat(menu.get('children')); + }); + return items; + }, + //\u521d\u59cb\u5316\u83dc\u5355\u914d\u7f6e\u9879 + _initMenuCfg : function(item){ + var _self = this, + items = item.items, + subItems = [], + cfg = { + xclass : 'menu-item', + elCls : 'menu-second', + collapsed : item.collapsed, + selectable: false, + children : [{ + xclass : 'menu', + children : subItems + }], + content: '
            '+item.text+'
            ' + }; + BUI.each(items,function(subItem){ + var subItemCfg = _self._initSubMenuCfg(subItem); + subItems.push(subItemCfg); + }); + + return cfg; + + }, + //\u521d\u59cb\u5316\u4e8c\u7ea7\u83dc\u5355 + _initSubMenuCfg : function(subItem){ + var _self = this, + cfg = { + xclass : 'menu-item', + elCls : 'menu-leaf', + tpl : '{text}' + }; + return BUI.mix(cfg,subItem); + } + },{ + + ATTRS : + /** + * @lends BUI.Menu.SideMenu.prototype + * @ignore + */ + { + + /** + * \u914d\u7f6e\u7684items \u9879\u662f\u5728\u521d\u59cb\u5316\u65f6\u4f5c\u4e3achildren + * @protected + * @type {Boolean} + */ + autoInitItems : { + value : false + }, + events : { + value : { + /** + * \u70b9\u51fb\u83dc\u5355\u9879 + * @name BUI.Menu.SideMenu#menuclick + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.item \u5f53\u524d\u9009\u4e2d\u7684\u9879 + */ + 'menuclick' : false + } + } + } + },{ + xclass :'side-menu' + }); + + return sideMenu; +});/** + * @fileOverview \u5207\u6362\u6807\u7b7e\u5165\u53e3 + * @ignore + */ + +define('bui/tab',['bui/common','bui/tab/tab','bui/tab/tabitem','bui/tab/navtabitem','bui/tab/navtab','bui/tab/tabpanel','bui/tab/tabpanelitem'],function (require) { + var BUI = require('bui/common'), + Tab = BUI.namespace('Tab'); + + BUI.mix(Tab,{ + Tab : require('bui/tab/tab'), + TabItem : require('bui/tab/tabitem'), + NavTabItem : require('bui/tab/navtabitem'), + NavTab : require('bui/tab/navtab'), + TabPanel : require('bui/tab/tabpanel'), + TabPanelItem : require('bui/tab/tabpanelitem') + }); + + return Tab; +});/** + * @fileOverview \u5bfc\u822a\u9879 + * @author dxq613@gmail.com + * @ignore + */ +define('bui/tab/navtabitem',['bui/common'],function(requrie){ + + var BUI = requrie('bui/common'), + Component = BUI.Component, + CLS_ITEM_TITLE = 'tab-item-title', + CLS_ITEM_CLOSE = 'tab-item-close', + CLS_NAV_ACTIVED = 'tab-nav-actived', + CLS_CONTENT = 'tab-content'; + + /** + * \u5bfc\u822a\u6807\u7b7e\u9879\u7684\u89c6\u56fe\u7c7b + * @class BUI.Tab.NavTabItemView + * @extends BUI.Component.View + * @private + */ + var navTabItemView = Component.View.extend({ + renderUI : function(){ + var _self = this, + contentContainer = _self.get('tabContentContainer'), + contentTpl = _self.get('tabContentTpl'); + if(contentContainer){ + var tabContentEl = $(contentTpl).appendTo(contentContainer); + _self.set('tabContentEl',tabContentEl); + } + }, + //\u8bbe\u7f6e\u94fe\u63a5\u5730\u5740 + _uiSetHref : function(v){ + this._setHref(v); + }, + _setHref : function(href){ + var _self = this, + tabContentEl = _self.get('tabContentEl'); + href = href || _self.get('href'); + if(tabContentEl){ + $('iframe',tabContentEl).attr('src',href); + } + }, + resetHref : function(){ + this._setHref(); + }, + //\u8bbe\u7f6e\u6807\u9898 + _uiSetTitle : function(v){ + var _self = this, + el = _self.get('el'); + el.attr('title',v); + $('.' + CLS_ITEM_TITLE,el).text(v); + }, + _uiSetActived : function(v){ + var _self = this, + el = _self.get('el'); + + _self.setTabContentVisible(v); + if(v){ + el.addClass(CLS_NAV_ACTIVED); + }else{ + el.removeClass(CLS_NAV_ACTIVED); + } + + }, + //\u6790\u6784\u51fd\u6570 + destructor : function(){ + var _self = this, + tabContentEl = _self.get('tabContentEl'); + if(tabContentEl){ + tabContentEl.remove(); + } + }, + //\u8bbe\u7f6e\u6807\u7b7e\u5185\u5bb9\u662f\u5426\u53ef\u89c1 + setTabContentVisible : function(v){ + var _self = this, + tabContentEl = _self.get('tabContentEl'); + + if(tabContentEl){ + if(v){ + tabContentEl.show(); + }else{ + tabContentEl.hide(); + } + } + } + + },{ + + ATTRS : { + + tabContentContainer:{ + + }, + tabContentEl: { + + }, + title:{ + + }, + href:{ + + } + } + }); + + /** + * \u5bfc\u822a\u6807\u7b7e\u9879 + * xclass : 'nav-tab-item' + * @class BUI.Tab.NavTabItem + * @extends BUI.Component.Controller + */ + var navTabItem = Component.Controller.extend( + /** + * @lends BUI.Tab.NavTabItem.prototype + * @ignore + */ + { + /** + * \u521b\u5efaDOM + * @protected + */ + createDom : function(){ + var _self = this, + parent = _self.get('parent'); + if(parent){ + _self.set('tabContentContainer',parent.getTabContentContainer()); + } + }, + /** + * \u7ed1\u5b9a\u4e8b\u4ef6 + * @protected + */ + bindUI : function(){ + var _self = this, + el = _self.get('el'), + events = _self.get('events'); + + el.on('click',function(ev){ + var sender = $(ev.target); + if(sender.hasClass(CLS_ITEM_CLOSE)){ + if(_self.fire('closing')!== false){ + _self.close(); + } + } + }); + }, + /** + * \u5904\u7406\u53cc\u51fb + * @protected + */ + handleDblClick:function(ev){ + var _self = this; + + if(_self.fire('closing')!== false){ + _self.close(); + } + _self.fire('dblclick',{domTarget : ev.target,domEvent : ev}); + }, + /** + * \u5904\u7406\u53f3\u952e + * @protected + */ + handleContextMenu:function(ev){ + ev.preventDefault(); + this.fire('showmenu',{position:{x:ev.pageX,y:ev.pageY}}); + }, + /** + * \u8bbe\u7f6e\u6807\u9898 + * @param {String} title \u6807\u9898 + */ + setTitle : function(title){ + this.set('title',title); + }, + /** + * \u5173\u95ed + */ + close:function(){ + this.fire('closed'); + }, + /** + * \u91cd\u65b0\u52a0\u8f7d\u9875\u9762 + */ + reload : function(){ + this.get('view').resetHref(); + }, + /** + * @protected + * @ignore + */ + show : function(){ + var _self = this; + _self.get('el').show(500,function(){ + _self.set('visible',true); + }); + }, + /** + * @protected + * @ignore + */ + hide : function(callback){ + var _self = this; + this.get('el').hide(500,function(){ + _self.set('visible',false); + callback && callback(); + }); + }, + + _uiSetActived : function(v){ + var _self = this, + parent = _self.get('parent'); + if(parent && v){ + parent._setItemActived(_self); + } + }, + _uiSetCloseable : function(v){ + var _self = this, + el = _self.get('el'), + closeEl = el.find('.' + CLS_ITEM_CLOSE); + if(v){ + closeEl.show(); + }else{ + closeEl.hide(); + } + } + },{ + ATTRS : + /** + * @lends BUI.Tab.NavTabItem# + * @ignore + */ + { + elTagName : { + value: 'li' + }, + /** + * \u6807\u7b7e\u662f\u5426\u9009\u4e2d + * @type {Boolean} + */ + actived : { + view:true, + value : false + }, + /** + * \u662f\u5426\u53ef\u5173\u95ed + * @type {Boolean} + */ + closeable : { + value : true + }, + allowTextSelection:{ + view:false, + value:false + }, + events:{ + value : { + /** + * \u70b9\u51fb\u83dc\u5355\u9879 + * @name BUI.Tab.NavTabItem#click + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {BUI.Tab.NavTabItem} e.target \u6b63\u5728\u70b9\u51fb\u7684\u6807\u7b7e + */ + 'click' : true, + /** + * \u6b63\u5728\u5173\u95ed\uff0c\u8fd4\u56defalse\u53ef\u4ee5\u963b\u6b62\u5173\u95ed\u4e8b\u4ef6\u53d1\u751f + * @name BUI.Tab.NavTabItem#closing + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {BUI.Tab.NavTabItem} e.target \u6b63\u5728\u5173\u95ed\u7684\u6807\u7b7e + */ + 'closing' : true, + /** + * \u5173\u95ed\u4e8b\u4ef6 + * @name BUI.Tab.NavTabItem#closed + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {BUI.Tab.NavTabItem} e.target \u5173\u95ed\u7684\u6807\u7b7e + */ + 'closed' : true, + /** + * @name BUI.Tab.NavTabItem#showmenu + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {BUI.Tab.NavTabItem} e.target \u663e\u793a\u83dc\u5355\u7684\u6807\u7b7e + */ + 'showmenu' : true, + 'afterVisibleChange' : true + } + }, + /** + * @private + * @type {Object} + */ + tabContentContainer:{ + view : true + }, + /** + * @private + * @type {Object} + */ + tabContentTpl : { + view : true, + value : '' + }, + /** + * \u6807\u7b7e\u9875\u6307\u5b9a\u7684URL + * @cfg {String} href + */ + /** + * \u6807\u7b7e\u9875\u6307\u5b9a\u7684URL + * @type {String} + */ + href : { + view : true, + value:'' + }, + visible:{ + view:true, + value:true + }, + /** + * \u6807\u7b7e\u6587\u672c + * @cfg {String} title + */ + /** + * \u6807\u7b7e\u6587\u672c + * tab.getItem('id').set('title','new title'); + * @type {String} + * @default '' + */ + title : { + view:true, + value : '' + }, + tpl : { + view:true, + value :'' + }, + xview:{ + value : navTabItemView + } + } + },{ + xclass : 'nav-tab-item', + priority : 0 + }); + + navTabItem.View = navTabItemView; + return navTabItem; +});/** + * @fileOverview \u5bfc\u822a\u6807\u7b7e + * @author dxq613@gmail.com + * @ignore + */ +define('bui/tab/navtab',['bui/common','bui/menu'],function(require){ + + var BUI = require('bui/common'), + Menu = require('bui/menu'), + Component = BUI.Component, + CLS_NAV_LIST = 'tab-nav-list', + CLS_ARROW_LEFT = 'arrow-left', + CLS_ARROW_RIGHT = 'arrow-right', + ID_CLOSE = 'm_close', + ITEM_WIDTH = 140; + + /** + * \u5bfc\u822a\u6807\u7b7e\u7684\u89c6\u56fe\u7c7b + * @class BUI.Tab.NavTabView + * @extends BUI.Component.View + * @private + */ + var navTabView = Component.View.extend({ + renderUI : function(){ + var _self = this, + el = _self.get('el'), + //tpl = _self.get('tpl'), + listEl = null; + + //$(tpl).appendTo(el); + listEl = el.find('.' + CLS_NAV_LIST); + _self.setInternal('listEl',listEl); + }, + getContentElement : function(){ + + return this.get('listEl'); + }, + getTabContentContainer : function(){ + return this.get('el').find('.tab-content-container'); + }, + _uiSetHeight : function(v){ + var _self = this, + el = _self.get('el'), + barEl = el.find('.tab-nav-bar'), + containerEl = _self.getTabContentContainer(); + if(v){ + containerEl.height(v - barEl.height()); + } + el.height(v); + } + },{ + + },{ + xclass : 'nav-tab-view', + priority:0 + }); + /** + * \u5bfc\u822a\u6807\u7b7e + * @class BUI.Tab.NavTab + * @extends BUI.Component.Controller + */ + var navTab = Component.Controller.extend( + /** + * @lends BUI.Tab.NavTab.prototype + * @ignore + */ + { + /** + * \u6dfb\u52a0\u6807\u7b7e\u9879 + * @param {Object} config \u83dc\u5355\u9879\u7684\u914d\u7f6e\u9879 + * @param {Boolean} reload \u5982\u679c\u6807\u7b7e\u9875\u5df2\u5b58\u5728\uff0c\u5219\u91cd\u65b0\u52a0\u8f7d + */ + addTab:function(config,reload){ + var _self = this, + id = config.id || BUI.guid('tab-item'), + item = _self.getItemById(id); + + if(item){ + var hrefChage = false; + if(config.href && item.get('href') != config.href){ + item.set('href',config.href); + hrefChage = true; + } + _self._setItemActived(item); + if(reload && !hrefChage){ + item.reload(); + } + }else{ + + config = BUI.mix({ + id : id, + visible : false, + actived : true, + xclass : 'nav-tab-item' + },config); + + item = _self.addChild(config); + item.show(); + _self._resetItemList(); + } + return item; + }, + /** + * \u83b7\u53d6\u5bfc\u822a\u6807\u7b7e\uff0c\u5b58\u653e\u5185\u5bb9\u7684\u8282\u70b9 + * @return {jQuery} \u5bfc\u822a\u5185\u5bb9\u7684\u5bb9\u5668 + */ + getTabContentContainer : function(){ + return this.get('view').getTabContentContainer(); + }, + //\u7ed1\u5b9a\u4e8b\u4ef6 + bindUI: function(){ + var _self = this; + + _self._bindScrollEvent(); + + //\u76d1\u542c\u70b9\u51fb\u6807\u7b7e + _self.on('click',function(ev){ + var item = ev.target; + if(item != _self){ + _self._setItemActived(item); + _self.fire('itemclick',{item:item}); + } + }); + + //\u5173\u95ed\u6807\u7b7e + _self.on('closed',function(ev){ + var item = ev.target; + _self._closeItem(item); + }); + + _self.on('showmenu',function(ev){ + _self._showMenu(ev.target,ev.position); + }); + + _self.on('afterVisibleChange',function(ev){ + var item = ev.target; + if(item.get('actived')){ + _self._scrollToItem(item); + } + }); + }, + //\u7ed1\u5b9a\u6eda\u52a8\u4e8b\u4ef6 + _bindScrollEvent : function(){ + var _self = this, + el = _self.get('el'); + + el.find('.arrow-left').on('click',function(){ + if(el.hasClass(CLS_ARROW_LEFT + '-active')){ + _self._scrollLeft(); + } + }); + + el.find('.arrow-right').on('click',function(){ + if(el.hasClass(CLS_ARROW_RIGHT + '-active')){ + _self._scrllRight(); + } + }); + }, + _showMenu : function(item,position){ + var _self = this, + menu = _self._getMenu(), + closeable = item.get('closeable'), + closeItem; + + _self.set('showMenuItem',item); + + menu.set('xy',[position.x,position.y]); + menu.show(); + closeItem = menu.getItem(ID_CLOSE); + if(closeItem){ + closeItem.set('disabled',!closeable); + } + }, + /** + * \u901a\u8fc7id,\u8bbe\u7f6e\u9009\u4e2d\u7684\u6807\u7b7e\u9879 + * @param {String} id \u6807\u7b7e\u7f16\u53f7 + */ + setActived : function(id){ + var _self = this, + item = _self.getItemById(id); + _self._setItemActived(item); + }, + /** + * \u83b7\u53d6\u5f53\u524d\u9009\u4e2d\u7684\u6807\u7b7e\u9879 + * @return {BUI.Tab.NavTabItem} \u9009\u4e2d\u7684\u6807\u7b7e\u5bf9\u8c61 + */ + getActivedItem : function(){ + var _self = this, + children = _self.get('children'), + result = null; + BUI.each(children,function(item){ + if(item.get('actived')){ + result = item; + return false; + } + }); + return result; + }, + /** + * \u901a\u8fc7\u7f16\u53f7\u83b7\u53d6\u6807\u7b7e\u9879 + * @param {String} id \u6807\u7b7e\u9879\u7684\u7f16\u53f7 + * @return {BUI.Tab.NavTabItem} \u6807\u7b7e\u9879\u5bf9\u8c61 + */ + getItemById : function(id){ + var _self = this, + children = _self.get('children'), + result = null; + BUI.each(children,function(item){ + if(item.get('id') === id){ + result = item; + return false; + } + }); + return result; + }, + _getMenu : function(){ + var _self = this; + + return _self.get('menu') || _self._initMenu(); + }, + _initMenu : function(){ + var _self = this, + menu = new Menu.ContextMenu({ + children : [ + { + + xclass : 'context-menu-item', + iconCls:'icon icon-refresh', + text : '\u5237\u65b0', + listeners:{ + 'click':function(){ + var item = _self.get('showMenuItem'); + if(item){ + item.reload(); + } + } + } + }, + { + id : ID_CLOSE, + xclass : 'context-menu-item', + iconCls:'icon icon-remove', + text: '\u5173\u95ed', + listeners:{ + 'click':function(){ + var item = _self.get('showMenuItem'); + if(item){ + item.close(); + } + } + } + }, + { + xclass : 'context-menu-item', + iconCls:'icon icon-remove-sign', + text : '\u5173\u95ed\u5176\u4ed6', + listeners:{ + 'click':function(){ + var item = _self.get('showMenuItem'); + if(item){ + _self.closeOther(item); + } + } + } + }, + { + xclass : 'context-menu-item', + iconCls:'icon icon-remove-sign', + text : '\u5173\u95ed\u6240\u6709', + listeners:{ + 'click':function(){ + _self.closeAll(); + } + } + } + + ] + }); + + _self.set('menu',menu); + return menu; + }, + //\u5173\u95ed\u6807\u7b7e\u9879 + _closeItem : function(item){ + var _self = this, + index = _self._getIndex(item), + activedItem = _self.getActivedItem(), + preItem = _self._getItemByIndex(index -1), + nextItem = _self._getItemByIndex(index + 1); + + item.hide(function(){ + _self.removeChild(item,true); + _self._resetItemList(); + if(activedItem === item){ + if(preItem){ + _self._setItemActived(preItem); + }else{ + _self._setItemActived(nextItem); + } + }else{//\u5220\u9664\u6807\u7b7e\u9879\u65f6\uff0c\u53ef\u80fd\u4f1a\u5f15\u8d77\u6eda\u52a8\u6309\u94ae\u72b6\u6001\u7684\u6539\u53d8 + _self._scrollToItem(activedItem);; + } + + }); + + }, + closeAll:function(){ + var _self = this, + children = _self.get('children'); + BUI.each(children,function(item){ + item.close(); + }); + }, + closeOther : function(curItem){ + var _self = this, + children = _self.get('children'); + BUI.each(children,function(item){ + if(curItem !==item){ + item.close(); + } + + }); + }, + //\u901a\u8fc7\u4f4d\u7f6e\u67e5\u627e\u6807\u7b7e\u9879 + _getItemByIndex : function(index){ + var _self = this, + children = _self.get('children'); + return children[index]; + }, + //\u83b7\u53d6\u6807\u7b7e\u9879\u7684\u4f4d\u7f6e + _getIndex : function(item){ + var _self = this, + children = _self.get('children'); + return BUI.Array.indexOf(item,children); + }, + //\u91cd\u65b0\u8ba1\u7b97\u6807\u7b7e\u9879\u5bb9\u5668\u7684\u5bbd\u5ea6\u4f4d\u7f6e + _resetItemList : function(){ + var _self = this, + children = _self.get('children'), + container = _self.getContentElement(), + totalWidth = children.length * ITEM_WIDTH; + + container.width(totalWidth); + + }, + //\u4f7f\u6307\u5b9a\u6807\u7b7e\u9879\u5728\u7528\u6237\u53ef\u89c6\u533a\u57df\u5185 + _scrollToItem : function(item){ + var _self = this, + container = _self.getContentElement(), + containerPosition = container.position(), + disWidth = _self._getDistanceToEnd(item,container,containerPosition), + disBegin = _self._getDistanceToBegin(item,containerPosition); //\u5f53\u524d\u6d3b\u52a8\u7684\u9879\u8ddd\u79bb\u6700\u53f3\u7aef\u7684\u8ddd\u79bb + + //\u5982\u679c\u6807\u7b7e\u9879\u5217\u8868\u5c0f\u4e8e\u6574\u4e2a\u6807\u7b7e\u5bb9\u5668\u7684\u5927\u5c0f\uff0c\u5219\u5de6\u5bf9\u9f50 + if(container.width() < container.parent().width()){ + _self._scrollTo(container,0); + }else if(disBegin < 0){//\u5982\u679c\u5de6\u8fb9\u88ab\u906e\u6321\uff0c\u5411\u53f3\u79fb\u52a8 + + _self._scrollTo(container,containerPosition.left - (disBegin)); + + }else if(disWidth > 0){//\u5982\u679c\u5f53\u524d\u8282\u70b9\u88ab\u53f3\u7aef\u906e\u6321\uff0c\u5219\u5411\u5de6\u6eda\u52a8\u5230\u663e\u793a\u4f4d\u7f6e + + _self._scrollTo(container,containerPosition.left + (disWidth) * -1); + + }else if(containerPosition.left < 0){//\u5c06\u5de6\u8fb9\u79fb\u52a8\uff0c\u4f7f\u6700\u540e\u4e00\u4e2a\u6807\u7b7e\u9879\u79bb\u53f3\u8fb9\u6700\u8fd1 + var lastDistance = _self._getLastDistance(container,containerPosition), + toLeft = 0; + if(lastDistance < 0){ + toLeft = containerPosition.left - lastDistance; + toLeft = toLeft < 0 ? toLeft : 0; + _self._scrollTo(container,toLeft); + } + } + }, + //\u83b7\u53d6\u6807\u7b7e\u5230\u6700\u5de6\u7aef\u7684\u8ddd\u79bb + _getDistanceToBegin : function(item,containerPosition){ + var position = item.get('el').position(); + + return position.left + containerPosition.left; + }, + /** + * \u83b7\u53d6\u6807\u7b7e\u5230\u6700\u53f3\u7aef\u7684\u8ddd\u79bb + * @return {Number} \u50cf\u7d20 + * @private + */ + _getDistanceToEnd : function(item,container,containerPosition){ + var _self = this, + container = container || _self.getContentElement(), + wraperWidth = container.parent().width(), + containerPosition = containerPosition || container.position(), + offsetLeft = _self._getDistanceToBegin(item,containerPosition), + disWidth = offsetLeft + ITEM_WIDTH - wraperWidth; + return disWidth; + }, + //\u83b7\u53d6\u6700\u540e\u4e00\u4e2a\u6807\u7b7e\u9879\u79bb\u53f3\u8fb9\u7684\u95f4\u8ddd + _getLastDistance : function(container,containerPosition){ + var _self = this, + children = _self.get('children'), + lastItem = children[children.length - 1]; + if(lastItem) + { + return _self._getDistanceToEnd(lastItem,container,containerPosition); + } + return 0; + }, + _scrollTo : function(el,left,callback){ + var _self = this; + el.animate({left:left},500,function(){ + _self._setArrowStatus(el); + }); + }, + _scrollLeft : function(){ + var _self = this, + container = _self.getContentElement(), + position = container.position(), + disWidth = _self._getLastDistance(container,position), + toLeft; + if(disWidth > 0 ){ + toLeft = disWidth > ITEM_WIDTH ? ITEM_WIDTH : disWidth; + _self._scrollTo(container,position.left - toLeft); + } + + }, + //\u5411\u53f3\u6eda\u52a8 + _scrllRight : function(){ + var _self = this, + container = _self.getContentElement(), + position = container.position(), + toRight; + if(position.left < 0){ + toRight = position.left + ITEM_WIDTH; + toRight = toRight < 0 ? toRight : 0; + _self._scrollTo(container,toRight); + } + }, + //\u8bbe\u7f6e\u5411\u5de6\uff0c\u5411\u53f3\u7684\u7bad\u5934\u662f\u5426\u53ef\u7528 + _setArrowStatus : function(container,containerPosition){ + + container = container || this.getContentElement(); + var _self = this, + wapperEl = _self.get('el'), + position = containerPosition || container.position(), + disWidth = _self._getLastDistance(container,containerPosition); + + //\u53ef\u4ee5\u5411\u5de6\u8fb9\u6eda\u52a8 + if(position.left < 0){ + wapperEl.addClass(CLS_ARROW_RIGHT+'-active'); + }else{ + wapperEl.removeClass(CLS_ARROW_RIGHT+'-active'); + } + + if(disWidth > 0){ + wapperEl.addClass(CLS_ARROW_LEFT+'-active'); + }else{ + wapperEl.removeClass(CLS_ARROW_LEFT+'-active'); + } + }, + //\u8bbe\u7f6e\u5f53\u524d\u9009\u4e2d\u7684\u6807\u7b7e + _setItemActived:function(item){ + var _self = this, + preActivedItem = _self.getActivedItem(); + if(item === preActivedItem){ + return; + } + + if(preActivedItem){ + preActivedItem.set('actived',false); + } + if(item){ + if(!item.get('actived')){ + item.set('actived',true); + } + //\u5f53\u6807\u7b7e\u9879\u53ef\u89c1\u65f6\uff0c\u5426\u5219\u65e0\u6cd5\u8ba1\u7b97\u4f4d\u7f6e\u4fe1\u606f + if(item.get('visible')){ + _self._scrollToItem(item); + } + + _self.fire('activeChange',{item:item}); + } + } + + }, + + { + ATTRS : + /** + * @lends BUI.Tab.NavTab.prototype + * @ignore + */ + { + defaultChildClass:{ + value : 'nav-tab-item' + }, + /** + * @private + * \u53f3\u952e\u83dc\u5355 + * @type {Object} + */ + menu : { + + }, + /** + * \u6e32\u67d3\u6807\u7b7e\u7684\u6a21\u7248 + * @type {String} + */ + tpl : { + view : true, + value : '
            '+ + '
              '+ + '
              '+ + '
              ' + }, + xview : { + value : navTabView + }, + events : { + + value : { + /** + * \u70b9\u51fb\u6807\u7b7e\u9879 + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {BUI.Tab.NavTabItem} e.item \u6807\u7b7e\u9879 + */ + 'itemclick' : false + } + } + } + }, + { + xclass:'nav-tab', + priority : 0 + + } + ); + + return navTab; +});/** + * @fileOverview + * @ignore + */ + +define('bui/tab/tabitem',['bui/common'],function (require) { + + + var BUI = require('bui/common'), + Component = BUI.Component, + UIBase = Component.UIBase; + + /** + * @private + * @class BUI.Tab.TabItemView + * @extends BUI.Component.View + * @mixins BUI.Component.UIBase.ListItemView + * \u6807\u7b7e\u9879\u7684\u89c6\u56fe\u5c42\u5bf9\u8c61 + */ + var itemView = Component.View.extend([UIBase.ListItemView],{ + },{ + xclass:'tab-item-view' + }); + + + /** + * \u6807\u7b7e\u9879 + * @class BUI.Tab.TabItem + * @extends BUI.Component.Controller + * @mixins BUI.Component.UIBase.ListItem + */ + var item = Component.Controller.extend([UIBase.ListItem],{ + + },{ + ATTRS : + { + + elTagName:{ + view:true, + value:'li' + }, + xview:{ + value:itemView + }, + tpl:{ + view:true, + value:'{text}' + } + } + },{ + xclass:'tab-item' + }); + + + item.View = itemView; + return item; +});/** + * @fileOverview \u5207\u6362\u6807\u7b7e + * @ignore + */ + +define('bui/tab/tab',['bui/common'],function (require) { + + + var BUI = require('bui/common'), + Component = BUI.Component, + UIBase = Component.UIBase; + + /** + * \u5217\u8868 + * xclass:'tab' + *
              
              +   * BUI.use('bui/tab',function(Tab){
              +   *   
              +   *     var tab = new Tab.Tab({
              +   *         render : '#tab',
              +   *         elCls : 'nav-tabs',
              +   *         autoRender: true,
              +   *         children:[
              +   *           {text:'\u6807\u7b7e\u4e00',value:'1'},
              +   *           {text:'\u6807\u7b7e\u4e8c',value:'2'},
              +   *           {text:'\u6807\u7b7e\u4e09',value:'3'}
              +   *         ]
              +   *       });
              +   *     tab.on('selectedchange',function (ev) {
              +   *       var item = ev.item;
              +   *       $('#log').text(item.get('text') + ' ' + item.get('value'));
              +   *     });
              +   *     tab.setSelected(tab.getItemAt(0)); //\u8bbe\u7f6e\u9009\u4e2d\u7b2c\u4e00\u4e2a
              +   *   
              +   *   });
              +   *  
              + * @class BUI.Tab.Tab + * @extends BUI.Component.Controller + * @mixins BUI.Component.UIBase.ChildList + */ + var tab = Component.Controller.extend([UIBase.ChildList],{ + + },{ + ATTRS : { + elTagName:{ + view:true, + value:'ul' + }, + /** + * \u5b50\u7c7b\u7684\u9ed8\u8ba4\u7c7b\u540d\uff0c\u5373\u7c7b\u7684 xclass + * @type {String} + * @override + * @default 'tab-item' + */ + defaultChildClass : { + value : 'tab-item' + } + } + },{ + xclass : 'tab' + }); + + return tab; + +});/** + * @fileOverview + * @ignore + */ + +define('bui/tab/tabpanelitem',['bui/common','bui/tab/tabitem'],function (require) { + + + var BUI = require('bui/common'), + TabItem = require('bui/tab/tabitem'), + Component = BUI.Component; + + /** + * @private + * @class BUI.Tab.TabPanelItemView + * @extends BUI.Tab.TabItemView + * \u5b58\u5728\u9762\u677f\u7684\u6807\u7b7e\u9879\u89c6\u56fe\u5c42\u5bf9\u8c61 + */ + var itemView = TabItem.View.extend({ + },{ + xclass:'tab-panel-item-view' + }); + + + /** + * \u6807\u7b7e\u9879 + * @class BUI.Tab.TabPanelItem + * @extends BUI.Tab.TabItem + */ + var item = TabItem.extend({ + + renderUI : function(){ + var _self = this, + selected = _self.get('selected'); + _self._setPanelVisible(selected); + }, + //\u8bbe\u7f6e\u9762\u677f\u662f\u5426\u53ef\u89c1 + _setPanelVisible : function(visible){ + var _self = this, + panel = _self.get('panel'), + method = visible ? 'show' : 'hide'; + if(panel){ + $(panel)[method](); + } + }, + //\u9009\u4e2d\u6807\u7b7e\u9879\u65f6\u663e\u793a\u9762\u677f + _uiSetSelected : function(v){ + this._setPanelVisible(v); + }, + destructor: function(){ + var _self = this, + panel = _self.get('panel'); + if(panel && _self.get('panelDestroyable')){ + $(panel).remove(); + } + }, + _uiSetPanelContent : function(v){ + var _self = this, + panel = _self.get('panel'); + $(panel).html(v); + } + },{ + ATTRS : + { + /** + * \u6807\u7b7e\u9879\u5bf9\u5e94\u7684\u9762\u677f\u5bb9\u5668\uff0c\u5f53\u6807\u7b7e\u9009\u4e2d\u65f6\uff0c\u9762\u677f\u663e\u793a + * @cfg {String|HTMLElement|jQuery} panel + * @internal \u9762\u677f\u5c5e\u6027\u4e00\u822c\u7531 tabPanel\u8bbe\u7f6e\u800c\u4e0d\u5e94\u8be5\u7531\u7528\u6237\u624b\u5de5\u8bbe\u7f6e + */ + /** + * \u6807\u7b7e\u9879\u5bf9\u5e94\u7684\u9762\u677f\u5bb9\u5668\uff0c\u5f53\u6807\u7b7e\u9009\u4e2d\u65f6\uff0c\u9762\u677f\u663e\u793a + * @type {String|HTMLElement|jQuery} + * @readOnly + */ + panel : { + + }, + /** + * panel\u7684\u5185\u5bb9 + * @property {String} + */ + panelContent : { + + }, + /** + * \u9ed8\u8ba4\u7684\u52a0\u8f7d\u63a7\u4ef6\u5185\u5bb9\u7684\u914d\u7f6e,\u9ed8\u8ba4\u503c\uff1a + *
              +       *  {
              +       *   property : 'panelContent',
              +       *   lazyLoad : {
              +       *       event : 'active'
              +       *   },
              +       *     loadMask : {
              +       *       el : _self.get('panel')
              +       *   }
              +       * }
              +       * 
              + * @type {Object} + */ + defaultLoaderCfg : { + valueFn :function(){ + var _self = this; + return { + property : 'panelContent', + autoLoad : false, + lazyLoad : { + event : 'afterSelectedChange' + }, + loadMask : { + el : _self.get('panel') + } + } + } + }, + /** + * \u79fb\u9664\u6807\u7b7e\u9879\u65f6\u662f\u5426\u79fb\u9664\u9762\u677f\uff0c\u9ed8\u8ba4\u4e3a false + * @type {Boolean} + */ + panelDestroyable : { + value : true + }, + xview:{ + value:itemView + } + } + },{ + xclass:'tab-panel-item' + }); + + item.View = itemView; + return item; + +});/** + * @fileOverview \u6bcf\u4e2a\u6807\u7b7e\u5bf9\u5e94\u4e00\u4e2a\u9762\u677f + * @ignore + */ + +define('bui/tab/tabpanel',['bui/common','bui/tab/tab'],function (require) { + + var BUI = require('bui/common'), + Tab = require('bui/tab/tab'); + + /** + * \u5e26\u6709\u9762\u677f\u7684\u5207\u6362\u6807\u7b7e + *
              
              +   * BUI.use('bui/tab',function(Tab){
              +   *   
              +   *     var tab = new Tab.TabPanel({
              +   *       render : '#tab',
              +   *       elCls : 'nav-tabs',
              +   *       panelContainer : '#panel',
              +   *       autoRender: true,
              +   *       children:[
              +   *         {text:'\u6e90\u4ee3\u7801',value:'1'},
              +   *         {text:'HTML',value:'2'},
              +   *         {text:'JS',value:'3'}
              +   *       ]
              +   *     });
              +   *     tab.setSelected(tab.getItemAt(0));
              +   *   });
              +   * 
              + * @class BUI.Tab.TabPanel + * @extends BUI.Tab.Tab + */ + var tabPanel = Tab.extend({ + initializer : function(){ + var _self = this, + children = _self.get('children'), + panelContainer = $(_self.get('panelContainer')), + panelCls = _self.get('panelCls'), + panels = panelCls ? panelContainer.find('.' + panels) : panelContainer.children(); + + BUI.each(children,function(item,index){ + if(item.set){ + item.set('panel',panels[index]); + }else{ + item.panel = panels[index]; + } + }); + } + },{ + ATTRS : { + + /** + * \u9ed8\u8ba4\u5b50\u63a7\u4ef6\u7684xclass + * @type {String} + */ + defaultChildClass:{ + value : 'tab-panel-item' + }, + /** + * \u9762\u677f\u7684\u5bb9\u5668 + * @type {String|HTMLElement|jQuery} + */ + panelContainer : { + + }, + /** + * panel \u9762\u677f\u4f7f\u7528\u7684\u6837\u5f0f\uff0c\u5982\u679c\u521d\u59cb\u5316\u65f6\uff0c\u5bb9\u5668\u5185\u5df2\u7ecf\u5b58\u5728\u6709\u8be5\u6837\u5f0f\u7684DOM\uff0c\u5219\u4f5c\u4e3a\u9762\u677f\u4f7f\u7528 + * \u5bf9\u5e94\u540c\u4e00\u4e2a\u4f4d\u7f6e\u7684\u6807\u7b7e\u9879,\u5982\u679c\u4e3a\u7a7a\uff0c\u9ed8\u8ba4\u53d6\u9762\u677f\u5bb9\u5668\u7684\u5b50\u5143\u7d20 + * @type {String} + */ + panelCls : { + + } + } + },{ + xclass : 'tab-panel' + }); + + return tabPanel; +});/** + * @fileOverview \u5de5\u5177\u680f\u547d\u540d\u7a7a\u95f4\u5165\u53e3 + * @ignore + */ + +define('bui/toolbar',['bui/common','bui/toolbar/baritem','bui/toolbar/bar','bui/toolbar/pagingbar','bui/toolbar/numberpagingbar'],function (require) { + var BUI = require('bui/common'), + Toolbar = BUI.namespace('Toolbar'); + + BUI.mix(Toolbar,{ + BarItem : require('bui/toolbar/baritem'), + Bar : require('bui/toolbar/bar'), + PagingBar : require('bui/toolbar/pagingbar'), + NumberPagingBar : require('bui/toolbar/numberpagingbar') + }); + return Toolbar; +});/** + * @fileOverview buttons or controls of toolbar + * @author dxq613@gmail.com, yiminghe@gmail.com + * @ignore + */ +define('bui/toolbar/baritem',function(){ + + /** + * @name BUI.Toolbar + * @namespace \u5de5\u5177\u680f\u547d\u540d\u7a7a\u95f4 + * @ignore + */ + var PREFIX = BUI.prefix, + Component = BUI.Component, + UIBase = Component.UIBase; + + /** + * barItem\u7684\u89c6\u56fe\u7c7b + * @class BUI.Toolbar.BarItemView + * @extends BUI.Component.View + * @mixins BUI.Component.UIBase.ListItemView + * @private + */ + var BarItemView = Component.View.extend([UIBase.ListItemView]); + /** + * \u5de5\u5177\u680f\u7684\u5b50\u9879\uff0c\u5305\u62ec\u6309\u94ae\u3001\u6587\u672c\u3001\u94fe\u63a5\u548c\u5206\u9694\u7b26\u7b49 + * @class BUI.Toolbar.BarItem + * @extends BUI.Component.Controller + */ + var BarItem = Component.Controller.extend([UIBase.ListItem],{ + + /** + * render baritem 's dom + * @protected + */ + renderUI:function() { + var el = this.get('el'); + el.addClass(PREFIX + 'inline-block'); + if (!el.attr('id')) { + el.attr('id', this.get('id')); + } + } + },{ + ATTRS: + /** + * @lends BUI.Toolbar.BarItem.prototype + * @ignore + */ + { + elTagName :{ + view : true, + value : 'li' + }, + /** + * \u662f\u5426\u53ef\u9009\u62e9 + *
              
              +       * 
              +       * 
              + * @cfg {Object} [selectable = false] + */ + selectable : { + value : false + }, + /** + * \u662f\u5426\u83b7\u53d6\u7126\u70b9 + * @default {boolean} false + */ + focusable : { + value : false + }, + xview: { + value : BarItemView + } + } + },{ + xclass : 'bar-item', + priority : 1 + }); + + /** + * \u5de5\u5177\u680f\u7684\u5b50\u9879\uff0c\u6dfb\u52a0\u6309\u94ae + * xclass : 'bar-item-button' + * @extends BUI.Toolbar.BarItem + * @class BUI.Toolbar.BarItem.Button + */ + var ButtonBarItem = BarItem.extend({ + + _uiSetDisabled : function(value){ + var _self = this, + el = _self.get('el'), + method = value ? 'addClass' : 'removeClass'; + + el.find('button').attr('disabled',value)[method](PREFIX + 'button-disabled'); + }, + _uiSetChecked: function(value){ + var _self = this, + el = _self.get('el'), + method = value ? 'addClass' : 'removeClass'; + + el.find('button')[method](PREFIX + 'button-checked'); + }, + _uiSetText : function(v){ + var _self = this, + el = _self.get('el'); + el.find('button').text(v); + }, + _uiSetbtnCls : function(v){ + var _self = this, + el = _self.get('el'); + el.find('button').addClass(v); + } + + },{ + ATTRS: + /** + * @lends BUI.Toolbar.BarItem.Button.prototype + * @ignore + */ + { + /** + * \u662f\u5426\u9009\u4e2d + * @type {Boolean} + */ + checked : { + value :false + }, + /** + * \u6a21\u677f + * @type {String} + */ + tpl : { + view : true, + value : '' + }, + /** + * \u6309\u94ae\u7684\u6837\u5f0f + * @cfg {String} btnCls + */ + /** + * \u6309\u94ae\u7684\u6837\u5f0f + * @type {String} + */ + btnCls:{ + sync:false + }, + /** + * The text to be used as innerHTML (html tags are accepted). + * @cfg {String} text + */ + /** + * The text to be used as innerHTML (html tags are accepted). + * @type {String} + */ + text : { + sync:false, + value : '' + } + } + },{ + xclass : 'bar-item-button', + priority : 2 + }); + + /** + * \u5de5\u5177\u680f\u9879\u4e4b\u95f4\u7684\u5206\u9694\u7b26 + * xclass:'bar-item-separator' + * @extends BUI.Toolbar.BarItem + * @class BUI.Toolbar.BarItem.Separator + */ + var SeparatorBarItem = BarItem.extend({ + /* render separator's dom + * @protected + * + */ + renderUI:function() { + var el = this.get('el'); + el .attr('role', 'separator'); + } + }, + { + xclass : 'bar-item-separator', + priority : 2 + }); + + + /** + * \u5de5\u5177\u680f\u9879\u4e4b\u95f4\u7684\u7a7a\u767d + * xclass:'bar-item-spacer' + * @extends BUI.Toolbar.BarItem + * @class BUI.Toolbar.BarItem.Spacer + */ + var SpacerBarItem = BarItem.extend({ + + },{ + ATTRS: + /** + * @lends BUI.Toolbar.BarItem.Spacer.prototype + * @ignore + */ + { + /** + * \u7a7a\u767d\u5bbd\u5ea6 + * @type {Number} + */ + width : { + view:true, + value : 2 + } + } + },{ + xclass : 'bar-item-spacer', + priority : 2 + }); + + + /** + * \u663e\u793a\u6587\u672c\u7684\u5de5\u5177\u680f\u9879 + * xclass:'bar-item-text' + * @extends BUI.Toolbar.BarItem + * @class BUI.Toolbar.BarItem.Text + */ + var TextBarItem = BarItem.extend({ + _uiSetText : function(text){ + var _self = this, + el = _self.get('el'); + el.html(text); + } + },{ + ATTRS: + /** + * @lends BUI.Toolbar.BarItem.Text.prototype + * @ignore + */ + { + + /** + * \u6587\u672c\u7528\u4f5c innerHTML (html tags are accepted). + * @cfg {String} text + */ + /** + * \u6587\u672c\u7528\u4f5c innerHTML (html tags are accepted). + * @default {String} "" + */ + text : { + value : '' + } + } + },{ + xclass : 'bar-item-text', + priority : 2 + }); + + + BarItem.types = { + 'button' : ButtonBarItem, + 'separator' : SeparatorBarItem, + 'spacer' : SpacerBarItem, + 'text' : TextBarItem + }; + + + return BarItem; +});/** + * @fileOverview A collection of commonly used function buttons or controls represented in compact visual form. + * @author dxq613@gmail.com, yiminghe@gmail.com + * @ignore + */ +define('bui/toolbar/bar',function(){ + + var Component = BUI.Component, + UIBase = Component.UIBase; + + /** + * bar\u7684\u89c6\u56fe\u7c7b + * @class BUI.Toolbar.BarView + * @extends BUI.Component.View + * @private + */ + var barView = Component.View.extend({ + + renderUI:function() { + var el = this.get('el'); + el.attr('role', 'toolbar'); + + if (!el.attr('id')) { + el.attr('id', BUI.guid('bar')); + } + } + }); + + /** + * \u5de5\u5177\u680f + * \u53ef\u4ee5\u653e\u7f6e\u6309\u94ae\u3001\u6587\u672c\u3001\u94fe\u63a5\u7b49\uff0c\u662f\u5206\u9875\u680f\u7684\u57fa\u7c7b + * xclass : 'bar' + *

              + * + *

              + * ## \u6309\u94ae\u7ec4 + *
              
              +   *   BUI.use('bui/toolbar',function(Toolbar){
              +   *     var buttonGroup = new Toolbar.Bar({
              +   *       elCls : 'button-group',
              +   *       defaultChildCfg : {
              +   *         elCls : 'button button-small'
              +   *       },
              +   *       children : [{content : '\u589e\u52a0'},{content : '\u4fee\u6539'},{content : '\u5220\u9664'}],
              +   *       
              +   *       render : '#b1'
              +   *     });
              +   *
              +   *     buttonGroup.render();
              +   *   });
              +   * 
              + * @class BUI.Toolbar.Bar + * @extends BUI.Component.Controller + * @mixins BUI.Component.UIBase.ChildList + */ + var Bar = Component.Controller.extend([UIBase.ChildList], + /** + * @lends BUI.Toolbar.Bar.prototype + * @ignore + */ + { + /** + * \u901a\u8fc7id \u83b7\u53d6\u9879 + * @param {String|Number} id the id of item + * @return {BUI.Toolbar.BarItem} + */ + getItem : function(id){ + return this.getChild(id); + } + },{ + ATTRS: + /** + * @lends BUI.Toolbar.Bar.prototype + * @ignore + */ + { + elTagName :{ + view : true, + value : 'ul' + }, + /** + * \u9ed8\u8ba4\u5b50\u9879\u7684\u6837\u5f0f + * @type {String} + * @override + */ + defaultChildClass: { + value : 'bar-item' + }, + /** + * \u83b7\u53d6\u7126\u70b9 + * @protected + * @ignore + */ + focusable : { + value : false + }, + /** + * @private + * @ignore + */ + xview : { + value : barView + } + } + },{ + xclass : 'bar', + priority : 1 + }); + + return Bar; +});/** + * @fileOverview a specialized toolbar that is bound to a Grid.Store and provides automatic paging control. + * @author dxq613@gmail.com, yiminghe@gmail.com + * @ignore + */ +define('bui/toolbar/pagingbar',['bui/toolbar/bar'],function(require) { + + var Bar = require('bui/toolbar/bar'), + Component = BUI.Component, + Bindable = Component.UIBase.Bindable; + + var PREFIX = BUI.prefix, + ID_FIRST = 'first', + ID_PREV = 'prev', + ID_NEXT = 'next', + ID_LAST = 'last', + ID_SKIP = 'skip', + ID_TOTAL_PAGE = 'totalPage', + ID_CURRENT_PAGE = 'curPage', + ID_TOTAL_COUNT = 'totalCount'; + + /** + * \u5206\u9875\u680f + * xclass:'pagingbar' + * @extends BUI.Toolbar.Bar + * @mixins BUI.Component.UIBase.Bindable + * @class BUI.Toolbar.PagingBar + */ + var PagingBar = Bar.extend([Bindable], + /** + * @lends BUI.Toolbar.PagingBar.prototype + * @ignore + */ + { + /** + * From Bar, Initialize this paging bar items. + * + * @protected + */ + initializer:function () { + var _self = this, + children = _self.get('children'), + items = _self.get('items'), + store = _self.get('store'); + if(!items || items.length){ + items = _self._getItems(); + BUI.each(items, function (item) { + children.push(item);//item + }); + } + + if (store && store.get('pageSize')) { + _self.set('pageSize', store.get('pageSize')); + } + }, + /** + * bind page change and store events + * + * @protected + */ + bindUI:function () { + var _self = this; + _self._bindButtonEvent(); + //_self._bindStoreEvents(); + + }, + /** + * skip to page + * this method can fire "beforepagechange" event, + * if you return false in the handler the action will be canceled + * @param {Number} page target page + */ + jumpToPage:function (page) { + if (page <= 0 || page > this.get('totalPage')) { + return; + } + var _self = this, + store = _self.get('store'), + pageSize = _self.get('pageSize'), + index = page - 1, + start = index * pageSize; + var result = _self.fire('beforepagechange', {from:_self.get('curPage'), to:page}); + if (store && result !== false) { + store.load({ start:start, limit:pageSize, pageIndex:index }); + } + }, + //after store loaded data,reset the information of paging bar and buttons state + _afterStoreLoad:function (store, params) { + var _self = this, + pageSize = _self.get('pageSize'), + start = 0, //\u9875\u9762\u7684\u8d77\u59cb\u8bb0\u5f55 + end, //\u9875\u9762\u7684\u7ed3\u675f\u8bb0\u5f55 + totalCount, //\u8bb0\u5f55\u7684\u603b\u6570 + curPage, //\u5f53\u524d\u9875 + totalPage;//\u603b\u9875\u6570; + + start = store.get('start'); + + //\u8bbe\u7f6e\u52a0\u8f7d\u6570\u636e\u540e\u7ffb\u9875\u680f\u7684\u72b6\u6001 + totalCount = store.getTotalCount(); + end = totalCount - start > pageSize ? start + store.getCount() : totalCount; + totalPage = parseInt((totalCount + pageSize - 1) / pageSize, 10); + totalPage = totalPage > 0 ? totalPage : 1; + curPage = parseInt(start / pageSize, 10) + 1; + + _self.set('start', start); + _self.set('end', end); + _self.set('totalCount', totalCount); + _self.set('curPage', curPage); + _self.set('totalPage', totalPage); + + //\u8bbe\u7f6e\u6309\u94ae\u72b6\u6001 + _self._setAllButtonsState(); + _self._setNumberPages(); + }, + + //bind page change events + _bindButtonEvent:function () { + var _self = this; + + //first page handler + _self._bindButtonItemEvent(ID_FIRST, function () { + _self.jumpToPage(1); + }); + + //previous page handler + _self._bindButtonItemEvent(ID_PREV, function () { + _self.jumpToPage(_self.get('curPage') - 1); + }); + + //previous page next + _self._bindButtonItemEvent(ID_NEXT, function () { + _self.jumpToPage(_self.get('curPage') + 1); + }); + + //previous page next + _self._bindButtonItemEvent(ID_LAST, function () { + _self.jumpToPage(_self.get('totalPage')); + }); + //skip to one page + _self._bindButtonItemEvent(ID_SKIP, function () { + handleSkip(); + }); + //input page number and press key "enter" + var curPage = _self.getItem(ID_CURRENT_PAGE); + if(curPage){ + curPage.get('el').on('keyup', function (event) { + event.stopPropagation(); + if (event.keyCode === 13) { + handleSkip(); + } + }); + } + + //when click skip button or press key "enter",cause an action of skipping page + /** + * @private + * @ignore + */ + function handleSkip() { + var value = parseInt(_self._getCurrentPageValue(), 10); + if (_self._isPageAllowRedirect(value)) { + _self.jumpToPage(value); + } else { + _self._setCurrentPageValue(_self.get('curPage')); + } + } + }, + // bind button item event + _bindButtonItemEvent:function (id, func) { + var _self = this, + item = _self.getItem(id); + if (item) { + item.on('click', func); + } + }, + onLoad:function (params) { + var _self = this, + store = _self.get('store'); + _self._afterStoreLoad(store, params); + }, + //get the items of paging bar + _getItems:function () { + var _self = this, + items = _self.get('items'); + if (items && items.length) { + return items; + } + //default items + items = []; + //first item + items.push(_self._getButtonItem(ID_FIRST)); + //previous item + items.push(_self._getButtonItem(ID_PREV)); + //separator item + items.push(_self._getSeparator()); + //total page of store + items.push(_self._getTextItem(ID_TOTAL_PAGE)); + //current page of store + items.push(_self._getTextItem(ID_CURRENT_PAGE)); + //button for skip to + items.push(_self._getButtonItem(ID_SKIP)); + //separator item + items.push(_self._getSeparator()); + //next item + items.push(_self._getButtonItem(ID_NEXT)); + //last item + items.push(_self._getButtonItem(ID_LAST)); + //separator item + items.push(_self._getSeparator()); + //current page of store + items.push(_self._getTextItem(ID_TOTAL_COUNT)); + return items; + }, + //get item which the xclass is button + _getButtonItem:function (id) { + var _self = this; + return { + id:id, + xclass:'bar-item-button', + text:_self.get(id + 'Text'), + disabled:true, + elCls:_self.get(id + 'Cls') + }; + }, + //get separator item + _getSeparator:function () { + return {xclass:'bar-item-separator'}; + }, + //get text item + _getTextItem:function (id) { + var _self = this; + return { + id:id, + xclass:'bar-item-text', + text:_self._getTextItemTpl(id) + }; + }, + //get text item's template + _getTextItemTpl:function (id) { + var _self = this, + obj = {}; + obj[id] = _self.get(id); + return BUI.substitute(this.get(id + 'Tpl'), obj); + }, + //Whether to allow jump, if it had been in the current page or not within the scope of effective page, not allowed to jump + _isPageAllowRedirect:function (value) { + var _self = this; + return value && value > 0 && value <= _self.get('totalPage') && value !== _self.get('curPage'); + }, + //when page changed, reset all buttons state + _setAllButtonsState:function () { + var _self = this, + store = _self.get('store'); + if (store) { + _self._setButtonsState([ID_PREV, ID_NEXT, ID_FIRST, ID_LAST, ID_SKIP], true); + } + + if (_self.get('curPage') === 1) { + _self._setButtonsState([ID_PREV, ID_FIRST], false); + } + if (_self.get('curPage') === _self.get('totalPage')) { + _self._setButtonsState([ID_NEXT, ID_LAST], false); + } + }, + //if button id in the param buttons,set the button state + _setButtonsState:function (buttons, enable) { + var _self = this, + children = _self.get('children'); + BUI.each(children, function (child) { + if (BUI.Array.indexOf(child.get('id'), buttons) !== -1) { + child.set('disabled', !enable); + } + }); + }, + //show the information of current page , total count of pages and total count of records + _setNumberPages:function () { + var _self = this, + totalPageItem = _self.getItem(ID_TOTAL_PAGE), + totalCountItem = _self.getItem(ID_TOTAL_COUNT); + if (totalPageItem) { + totalPageItem.set('content', _self._getTextItemTpl(ID_TOTAL_PAGE)); + } + _self._setCurrentPageValue(_self.get(ID_CURRENT_PAGE)); + if (totalCountItem) { + totalCountItem.set('content', _self._getTextItemTpl(ID_TOTAL_COUNT)); + } + }, + _getCurrentPageValue:function (curItem) { + var _self = this; + curItem = curItem || _self.getItem(ID_CURRENT_PAGE); + var textEl = curItem.get('el').find('input'); + return textEl.val(); + }, + //show current page in textbox + _setCurrentPageValue:function (value, curItem) { + var _self = this; + curItem = curItem || _self.getItem(ID_CURRENT_PAGE); + var textEl = curItem.get('el').find('input'); + textEl.val(value); + } + }, { + ATTRS: + /** + * @lends BUI.Toolbar.PagingBar.prototype + * @ignore + */ + { + + /** + * the text of button for first page + * @default {String} "\u9996 \u9875" + */ + firstText:{ + value:'\u9996 \u9875' + }, + /** + * the cls of button for first page + * @default {String} "bui-pb-first" + */ + firstCls:{ + value:PREFIX + 'pb-first' + }, + /** + * the text for previous page button + * @default {String} "\u524d\u4e00\u9875" + */ + prevText:{ + value:'\u4e0a\u4e00\u9875' + }, + /** + * the cls for previous page button + * @default {String} "bui-pb-prev" + */ + prevCls:{ + value: PREFIX + 'pb-prev' + }, + /** + * the text for next page button + * @default {String} "\u4e0b\u4e00\u9875" + */ + nextText:{ + value:'\u4e0b\u4e00\u9875' + }, + /** + * the cls for next page button + * @default {String} "bui-pb-next" + */ + nextCls:{ + value: PREFIX + 'pb-next' + }, + /** + * the text for last page button + * @default {String} "\u672b \u9875" + */ + lastText:{ + value:'\u672b \u9875' + }, + /** + * the cls for last page button + * @default {String} "bui-pb-last" + */ + lastCls:{ + value:PREFIX + 'pb-last' + }, + /** + * the text for skip page button + * @default {String} "\u8df3 \u8f6c" + */ + skipText:{ + value:'\u786e\u5b9a' + }, + /** + * the cls for skip page button + * @default {String} "bui-pb-last" + */ + skipCls:{ + value:PREFIX + 'pb-skip' + }, + /** + * the template of total page info + * @default {String} '\u5171 {totalPage} \u9875' + */ + totalPageTpl:{ + value:'\u5171 {totalPage} \u9875' + }, + /** + * the template of current page info + * @default {String} '\u7b2c <input type="text" autocomplete="off" class="bui-pb-page" size="20" name="inputItem"> \u9875' + */ + curPageTpl:{ + value:'\u7b2c \u9875' + }, + /** + * the template of total count info + * @default {String} '\u7b2c <input type="text" autocomplete="off" class="bui-pb-page" size="20" name="inputItem"> \u9875' + */ + totalCountTpl:{ + value:'\u5171{totalCount}\u6761\u8bb0\u5f55' + }, + /** + * current page of the paging bar + * @private + * @default {Number} 0 + */ + curPage:{ + value:0 + }, + /** + * total page of the paging bar + * @private + * @default {Number} 0 + */ + totalPage:{ + value:0 + }, + /** + * total count of the store that the paging bar bind to + * @private + * @default {Number} 0 + */ + totalCount:{ + value:0 + }, + /** + * The number of records considered to form a 'page'. + * if store set the property ,override this value by store's pageSize + * @private + */ + pageSize:{ + value:30 + }, + /** + * The {@link BUI.Data.Store} the paging toolbar should use as its data source. + * @protected + */ + store:{ + + } + }, + ID_FIRST:ID_FIRST, + ID_PREV:ID_PREV, + ID_NEXT:ID_NEXT, + ID_LAST:ID_LAST, + ID_SKIP:ID_SKIP, + ID_TOTAL_PAGE:ID_TOTAL_PAGE, + ID_CURRENT_PAGE:ID_CURRENT_PAGE, + ID_TOTAL_COUNT:ID_TOTAL_COUNT + }, { + xclass:'pagingbar', + priority:2 + }); + + return PagingBar; + +});/** + * @fileOverview a specialized toolbar that is bound to a Grid.Store and provides automatic paging control. + * @author + * @ignore + */ +define('bui/toolbar/numberpagingbar',['bui/toolbar/pagingbar'],function(require) { + + var Component = BUI.Component, + PBar = require('bui/toolbar/pagingbar'); + + var PREFIX = BUI.prefix, + NUMBER_CONTAINER = 'numberContainer', + CLS_NUMBER_BUTTON = PREFIX + 'button-number'; + + /** + * \u6570\u5b57\u5206\u9875\u680f + * xclass:'pagingbar-number' + * @extends BUI.Toolbar.PagingBar + * @class BUI.Toolbar.NumberPagingBar + */ + var NumberPagingBar = PBar.extend( + /** + * @lends BUI.Toolbar.NumberPagingBar.prototype + * @ignore + */ + { + /** + * get the initial items of paging bar + * @protected + * + */ + _getItems : function(){ + var _self = this, + items = _self.get('items'); + + if(items){ + return items; + } + //default items + items = []; + //previous item + items.push(_self._getButtonItem(PBar.ID_PREV)); + //next item + items.push(_self._getButtonItem(PBar.ID_NEXT)); + return items; + }, + _getButtonItem : function(id){ + var _self = this; + + return { + id:id, + content:''+_self.get(id + 'Text')+'', + disabled:true + }; + }, + /** + * bind buttons event + * @protected + * + */ + _bindButtonEvent : function(){ + var _self = this, + cls = _self.get('numberButtonCls'); + _self.constructor.superclass._bindButtonEvent.call(this); + _self.get('el').delegate('a','click',function(ev){ + ev.preventDefault(); + }); + _self.on('click',function(ev){ + var item = ev.target; + if(item && item.get('el').hasClass(cls)){ + var page = item.get('id'); + _self.jumpToPage(page); + } + }); + }, + //\u8bbe\u7f6e\u9875\u7801\u4fe1\u606f\uff0c\u8bbe\u7f6e \u9875\u6570 \u6309\u94ae + _setNumberPages : function(){ + var _self = this; + + _self._setNumberButtons(); + }, + //\u8bbe\u7f6e \u9875\u6570 \u6309\u94ae + _setNumberButtons : function(){ + var _self = this, + curPage = _self.get('curPage'), + totalPage = _self.get('totalPage'), + numberItems = _self._getNumberItems(curPage,totalPage), + curItem; + + _self._clearNumberButtons(); + + BUI.each(numberItems,function(item){ + _self._appendNumberButton(item); + }); + curItem = _self.getItem(curPage); + if(curItem){ + curItem.set('selected',true); + } + + }, + _appendNumberButton : function(cfg){ + var _self = this, + count = _self.getItemCount(); + var item = _self.addItemAt(cfg,count - 1); + }, + _clearNumberButtons : function(){ + var _self = this, + items = _self.getItems(), + count = _self.getItemCount(); + + while(count > 2){ + _self.removeItemAt(count-2); + count = _self.getItemCount(); + } + }, + //\u83b7\u53d6\u6240\u6709\u9875\u7801\u6309\u94ae\u7684\u914d\u7f6e\u9879 + _getNumberItems : function(curPage, totalPage){ + var _self = this, + result = [], + maxLimitCount = _self.get('maxLimitCount'), + showRangeCount = _self.get('showRangeCount'), + maxPage; + + function addNumberItem(from,to){ + for(var i = from ;i<=to;i++){ + result.push(_self._getNumberItem(i)); + } + } + + function addEllipsis(){ + result.push(_self._getEllipsisItem()); + } + + if(totalPage < maxLimitCount){ + maxPage = totalPage; + addNumberItem(1,totalPage); + }else{ + var startNum = (curPage <= maxLimitCount) ? 1 : (curPage - showRangeCount), + lastLimit = curPage + showRangeCount, + endNum = lastLimit < totalPage ? (lastLimit > maxLimitCount ? lastLimit : maxLimitCount) : totalPage; + if (startNum > 1) { + addNumberItem(1, 1); + if(startNum > 2){ + addEllipsis(); + } + } + maxPage = endNum; + addNumberItem(startNum, endNum); + } + + if (maxPage < totalPage) { + if(maxPage < totalPage -1){ + addEllipsis(); + } + addNumberItem(totalPage, totalPage); + } + + return result; + }, + //\u83b7\u53d6\u7701\u7565\u53f7 + _getEllipsisItem : function(){ + var _self = this; + return { + disabled: true, + content : _self.get('ellipsisTpl') + }; + }, + //\u751f\u6210\u9875\u9762\u6309\u94ae\u914d\u7f6e\u9879 + _getNumberItem : function(page){ + var _self = this; + return { + id : page, + elCls : _self.get('numberButtonCls') + }; + } + + },{ + ATTRS:{ + itemStatusCls : { + value : { + selected : 'active', + disabled : 'disabled' + } + }, + itemTpl : { + value : '{id}' + }, + prevText : { + value : '<<' + }, + nextText : { + value : '>>' + }, + /** + * \u5f53\u9875\u7801\u8d85\u8fc7\u8be5\u8bbe\u7f6e\u9875\u7801\u65f6\u5019\u663e\u793a\u7701\u7565\u53f7 + * @default {Number} 4 + */ + maxLimitCount : { + value : 4 + }, + showRangeCount : { + value : 1 + }, + /** + * the css used on number button + */ + numberButtonCls:{ + value : CLS_NUMBER_BUTTON + }, + /** + * the template of ellipsis which represent the omitted pages number + */ + ellipsisTpl : { + value : '...' + } + } + },{ + xclass : 'pagingbar-number', + priority : 3 + }); + + return NumberPagingBar; + +});/** + * @fileOverview \u8fdb\u5ea6\u6761\u547d\u540d\u7a7a\u95f4\u5165\u53e3 + * @ignore + */ + +define('bui/progressbar',['bui/common','bui/progressbar/base','bui/progressbar/load'],function (require) { + var BUI = require('bui/common'), + ProgressBar = BUI.namespace('ProgressBar'); + BUI.mix(ProgressBar,{ + Base : require('bui/progressbar/base'), + Load : require('bui/progressbar/load') + }); + + return ProgressBar; +});/** + * @fileOverview \u8fdb\u5ea6\u6761 + * @author dengbin + * @ignore + */ + +define('bui/progressbar/base',['bui/common'],function(require){ + + var BUI = require('bui/common'); + + var progressBarView = BUI.Component.View.extend({ + _uiSetPercent : function (v) { + + var _self = this, + innerEl = _self.get('el').children(); + if(!BUI.isArray(v)){ + v = [v]; + } + BUI.each(innerEl,function (item,index) { + $(item).width(v[index] + '%'); + }); + + } + },{ + ATTRS:{ + percent:{} + } + }); + /** + * \u57fa\u7840\u8fdb\u5ea6\u6761\uff0c\u7528\u4e8e\u663e\u793a\u8fdb\u5ea6 + * xclass:'progress-bar' + *
              
              + 	*  BUI.use('bui/progressbar',function(ProgressBar){
              +  *   
              +  *     var Progressbar = ProgressBar.Base,
              +  *       progressbar = new Progressbar({
              +  *         elCls : 'progress progress-striped active',
              +  *         render : '#progressbar',
              +  *         tpl : '
              ', + * percent:10 + * }); + * progressbar.render(); + * }); + *
              + * @class BUI.ProgressBar.Base + * @extends BUI.Component.Controller + */ + var progressBar = BUI.Component.Controller.extend({ + + },{ + ATTRS : { + /** + * \u8fdb\u5ea6\u767e\u5206\u6bd4 + * @type {number} + */ + percent : { + view:true, + value: 0 + }, + tpl : { + value : '
              ' + }, + xview : { + value : progressBarView + } + } + + },{ + xclass:'progress-bar' + }); + + return progressBar; +});/** + * @fileOverview \u5f02\u6b65\u8fdb\u5ea6\u6761 + * @author dengbin + * @ignore + */ + +define('bui/progressbar/load',['bui/progressbar/base'],function(require){ + + var Base = require('bui/progressbar/base'), + notStarted = 0, + hasStarted = 1, + hasEnded = 2; + /** + * \u5f02\u6b65\u52a0\u8f7d\u8fdb\u5ea6\u6761 + *
              
              +	 *  BUI.use('bui/progressbar',function(ProgressBar){
              +   *   
              +   *    var Progressbar = ProgressBar.Load;
              +   *    var num = 10,
              +   *      ajaxCfg = {     
              +   *        url : 'data/progress-bar-data.php',
              +   *        dataType : 'json',
              +   *        data : {
              +   *          id :num
              +   *        }
              +   *      };
              +   *    var progressbar = new Progressbar({
              +   *      render : '#progressbar',
              +   *      tpl : '
              ', + * elCls:'progress progress-striped active', + * ajaxCfg : ajaxCfg, + * interval : 1000 + * }); + * + * progressbar.render(); + * $('.button-primary').click(function(){ + * num = 10; + * ajaxCfg.data.id = num; + * progressbar.start(); + * }); + + * $('.button-danger').click(function(){ + * progressbar.cancel(); + * }); + * + * }); + *
              + * @extends BUI.ProgressBar.Base + * @class BUI.ProgressBar.Load + */ + var loadProgressBar = Base.extend({ + /** + * @protected + * @ignore + */ + bindUI : function () { + var _self = this; + + _self.on('afterPercentChange',function (ev) { + if(_self.isLoading()){ + var percent = _self.get('percent'); + if(percent == 100 ){ + _self.onCompleted(); + } + _self.onChange(); + } + }); + + }, + /** + * \u5f00\u59cb + *
              
              +		 *   progressbar.start();
              +		 * 
              + */ + start : function () { + var _self = this; + if(!_self.isLoading()){ + _self.onstart(); + } + }, + /** + * \u5b8c\u6210 + *
              
              +		 *   progressbar.complete();
              +		 * 
              + */ + complete : function(){ + var _self = this; + clearTimeout(_self.get('t')); + _self.set('percent',100); + + }, + /** + * \u53d6\u6d88 + *
              
              +		 *   progressbar.cancel();
              +		 * 
              + */ + cancel : function(){ + var _self = this; + clearTimeout(_self.get('t')); + if(_self.get('percent')){ + _self.set('percent',0); + } + _self.set('status',notStarted); + }, + /** + * \u5f00\u59cb + * @protected + */ + onstart : function(){ + var _self = this, + cfg = _self.get('cfg'); + + _self.set('percent',0); + _self.set('status',hasStarted); + + _self.fire('start',cfg); + _self._startLoad(); + }, + /** + * \u52a0\u8f7d\u53d8\u5316 + * @protected + */ + onChange : function(){ + var _self = this; + _self.fire('loadchange'); + }, + + /** + * \u5b8c\u6210 + * @protected + */ + onCompleted : function(){ + var _self = this; + _self.set('status',hasEnded); + _self.fire('completed'); + + }, + /** + * \u662f\u5426\u6b63\u5728\u52a0\u8f7d + * @return {Boolean} \u662f\u5426\u6b63\u5728\u52a0\u8f7d + */ + isLoading : function () { + return this.get('status') === hasStarted; + }, + /** + * \u662f\u5426\u5df2\u7ecf\u52a0\u8f7d\u5b8c\u6bd5 + * @return {Boolean} \u662f\u5426\u52a0\u8f7d\u5b8c\u6bd5 + */ + isCompleted : function () { + return this.get('status') === hasEnded; + }, + _startLoad : function () { + var _self = this, + ajaxCfg = _self.get('ajaxCfg'), + interval = _self.get('interval'), + t; + ajaxCfg.success = function(data){ + var percent = data.percent; + _self.set('percent',percent); + if(percent < 100 && _self.isLoading()){ + t = setTimeout(function(){ + $.ajax(ajaxCfg); + },interval); + _self.set('t',t); + } + }; + $.ajax(ajaxCfg); + + } + },{ + ATTRS : { + /** + * \u8fdb\u5ea6\u6761\u72b6\u6001 + * 0\uff1a \u672a\u5f00\u59cb + * 1 \uff1a \u5df2\u5f00\u59cb + * 2 \uff1a \u4ee5\u7ed3\u675f + * @type {Number} + */ + status : { + value : 0 + }, + /** + * ajax\u914d\u7f6e\u9879 + * @type {Object} + */ + ajaxCfg : { + + }, + /** + * \u53d1\u9001\u8bf7\u6c42\u65f6\u95f4\u95f4\u9694 + * @type {number} + */ + interval : { + value : 500 + }, + /** + * \u5f53\u6570\u636e\u52a0\u8f7d\u5b8c\u6210\u540e + * @name BUI.ProgressBar.Load + * @event + * @param {jQuery.Event} e \u4e8b\u4ef6\u5bf9\u8c61\uff0c\u5305\u542b\u52a0\u8f7d\u6570\u636e\u65f6\u7684\u53c2\u6570 + */ + events : { + value : [ + 'start', + 'loadchange', + 'completed' + ] + } + } + },{ + xclass : 'progress-bar-load' + }); + + return loadProgressBar; +}); +/** + * @fileOverview \u65e5\u5386\u547d\u540d\u7a7a\u95f4\u5165\u53e3 + * @ignore + */ + +define('bui/calendar',['bui/common','bui/calendar/calendar','bui/calendar/monthpicker','bui/calendar/datepicker'],function (require) { + var BUI = require('bui/common'), + Calendar = BUI.namespace('Calendar'); + BUI.mix(Calendar,{ + Calendar : require('bui/calendar/calendar'), + MonthPicker : require('bui/calendar/monthpicker'), + DatePicker : require('bui/calendar/datepicker') + }); + + return Calendar; +});/** + * @fileOverview \u9009\u62e9\u5e74\u6708 + * @author dxq613@gmail.com + * @ignore + */ + +define('bui/calendar/monthpicker',['bui/common','bui/overlay','bui/list','bui/toolbar'],function (require){ + var BUI = require('bui/common'), + Component = BUI.Component, + Overlay = require('bui/overlay').Overlay, + List = require('bui/list').SimpleList, + Toolbar = require('bui/toolbar'), + PREFIX = BUI.prefix, + CLS_MONTH = 'x-monthpicker-month', + DATA_MONTH = 'data-month', + DATA_YEAR = 'data-year', + CLS_YEAR = 'x-monthpicker-year', + CLS_YEAR_NAV = 'x-monthpicker-yearnav', + CLS_SELECTED = 'x-monthpicker-selected', + CLS_ITEM = 'x-monthpicker-item', + months = ['\u4e00\u6708','\u4e8c\u6708','\u4e09\u6708','\u56db\u6708','\u4e94\u6708','\u516d\u6708','\u4e03\u6708','\u516b\u6708','\u4e5d\u6708','\u5341\u6708','\u5341\u4e00\u6708','\u5341\u4e8c\u6708']; + + function getMonths(){ + return $.map(months,function(month,index){ + return {text:month,value:index}; + }); + } + + var MonthPanel = List.extend({ + + + bindUI : function(){ + var _self = this; + _self.get('el').delegate('a','click',function(ev){ + ev.preventDefault(); + }).delegate('.' + CLS_MONTH,'dblclick',function(){ + _self.fire('dblclick'); + }); + } + },{ + ATTRS:{ + itemTpl:{ + view:true, + value : '
            • {text}
            • ' + }, + + itemCls : { + value : CLS_ITEM + }, + items:{ + view:true, + value:getMonths() + }, + elCls : { + view:true, + value:'x-monthpicker-months' + } + } + },{ + xclass:'calendar-month-panel' + }); + + + var YearPanel = List.extend({ + + bindUI : function(){ + var _self = this, + el = _self.get('el'); + el.delegate('a','click',function(ev){ + ev.preventDefault(); + }); + + el.delegate('.' + CLS_YEAR,'dblclick',function(){ + _self.fire('dblclick'); + }); + + el.delegate('.x-icon','click',function(ev){ + var sender = $(ev.currentTarget); + + if(sender.hasClass(CLS_YEAR_NAV + '-prev')){ + _self._prevPage(); + }else if(sender.hasClass(CLS_YEAR_NAV + '-next')){ + _self._nextPage(); + } + }); + _self.on('itemselected',function(ev){ + if(ev.item){ + _self.setInternal('year',ev.item.value); + } + + }); + }, + _prevPage : function(){ + var _self = this, + start = _self.get('start'), + yearCount = _self.get('yearCount'); + _self.set('start',start - yearCount); + }, + _nextPage : function(){ + var _self = this, + start = _self.get('start'), + yearCount = _self.get('yearCount'); + _self.set('start',start + yearCount); + }, + _uiSetStart : function(){ + var _self = this; + _self._setYearsContent(); + }, + _uiSetYear : function(v){ + var _self = this, + item = _self.findItemByField('value',v); + if(item){ + _self.setSelectedByField(v); + }else{ + _self.set('start',v); + } + }, + _setYearsContent : function(){ + var _self = this, + year = _self.get('year'), + start = _self.get('start'), + yearCount = _self.get('yearCount'), + items = []; + + for(var i = start;i< start + yearCount;i++){ + var text = i.toString(); + + items.push({text:text,value:i}); + } + _self.set('items',items); + _self.setSelectedByField(year); + } + + },{ + ATTRS:{ + items:{ + view:true, + value:[] + }, + elCls : { + view:true, + value:'x-monthpicker-years' + }, + itemCls : { + value : CLS_ITEM + }, + year:{ + + }, + /** + * \u8d77\u59cb\u5e74 + * @private + * @ignore + * @type {Number} + */ + start:{ + value: new Date().getFullYear() + }, + /** + * \u5e74\u6570 + * @private + * @ignore + * @type {Number} + */ + yearCount:{ + value:10 + }, + itemTpl : { + view:true, + value : '
            • {text}
            • ' + }, + tpl : { + view:true, + value:'
              '+ + ''+ + ''+ + '
              '+ + '
                ' + } + } + },{ + xclass:'calendar-year-panel' + }); + + /** + * \u6708\u4efd\u9009\u62e9\u5668 + * xclass : 'calendar-monthpicker' + * @class BUI.Calendar.MonthPicker + * @extends BUI.Overlay.Overlay + */ + var monthPicker = Overlay.extend({ + + initializer : function(){ + var _self = this, + children = _self.get('children'), + monthPanel = new MonthPanel(), + yearPanel = new YearPanel(), + footer = _self._createFooter(); + + children.push(monthPanel); + children.push(yearPanel); + children.push(footer); + + _self.set('yearPanel',yearPanel); + _self.set('monthPanel',monthPanel); + }, + bindUI : function(){ + var _self = this; + + _self.get('monthPanel').on('itemselected',function(ev){ + if(ev.item){ + _self.setInternal('month',ev.item.value); + } + }).on('dblclick',function(){ + _self._successCall(); + }); + + _self.get('yearPanel').on('itemselected',function(ev){ + if(ev.item){ + _self.setInternal('year',ev.item.value); + } + }).on('dblclick',function(){ + _self._successCall(); + }); + + }, + _successCall : function(){ + var _self = this, + callback = _self.get('success'); + + if(callback){ + callback.call(_self); + } + }, + _createFooter : function(){ + var _self = this; + return new Toolbar.Bar({ + elCls : PREFIX + 'clear x-monthpicker-footer', + children:[ + { + xclass:'bar-item-button', + text:'\u786e\u5b9a', + btnCls: 'button button-small button-primary', + handler:function(){ + _self._successCall(); + } + },{ + xclass:'bar-item-button', + text:'\u53d6\u6d88', + btnCls:'button button-small last', + handler:function(){ + var callback = _self.get('cancel'); + if(callback){ + callback.call(_self); + } + } + } + ] + }); + }, + _uiSetYear : function(v){ + this.get('yearPanel').set('year',v); + }, + _uiSetMonth:function(v){ + this.get('monthPanel').setSelectedByField(v); + } + },{ + ATTRS: + /** + * @lends BUI.Calendar.MonthPicker# + * @ignore + */ + { + /** + * \u4e0b\u90e8\u5de5\u5177\u680f + * @private + * @type {Object} + */ + footer : { + + }, + align : { + value : {} + }, + /** + * \u9009\u4e2d\u7684\u5e74 + * @type {Number} + */ + year : { + + }, + /** + * \u6210\u529f\u7684\u56de\u8c03\u51fd\u6570 + * @type {Function} + */ + success:{ + value : function(){ + + } + }, + /** + * \u53d6\u6d88\u7684\u56de\u8c03\u51fd\u6570 + * @type {Function} + */ + cancel :{ + + value : function(){} + + }, + width:{ + value:180 + }, + /** + * \u9009\u4e2d\u7684\u6708 + * @type {Number} + */ + month:{ + + }, + /** + * \u9009\u62e9\u5e74\u7684\u63a7\u4ef6 + * @private + * @type {Object} + */ + yearPanel : { + + }, + /** + * \u9009\u62e9\u6708\u7684\u63a7\u4ef6 + * @private + * @type {Object} + */ + monthPanel:{ + + } + + } + },{ + xclass :'monthpicker' + }); + return monthPicker; + +});/** + * @fileOverview \u65e5\u671f\u63a7\u4ef6\u6765\u9009\u62e9\u5e74\u6708\u7684\u90e8\u5206 + * @ignore + */ + +define('bui/calendar/header',['bui/common'],function (require) { + + var BUI = require('bui/common'), + PREFIX = BUI.prefix, + Component = BUI.Component, + CLS_TEXT_YEAR = 'year-text', + CLS_TEXT_MONTH = 'month-text', + CLS_ARROW = 'x-datepicker-arrow', + CLS_PREV = 'x-datepicker-prev', + CLS_NEXT = 'x-datepicker-next'; + + /** + * \u65e5\u5386\u63a7\u4ef6\u663e\u793a\u9009\u62e9\u5e74\u6708 + * xclass:'calendar-header' + * @class BUI.Calendar.Header + * @private + * @extends BUI.Component.Controller + */ + var header = Component.Controller.extend({ + + bindUI : function(){ + var _self = this, + el = _self.get('el'); + + el.delegate('.' + CLS_ARROW,'click',function(e){ + e.preventDefault(); + var sender = $(e.currentTarget); + if(sender.hasClass(CLS_NEXT)){ + _self.nextMonth(); + }else if(sender.hasClass(CLS_PREV)){ + _self.prevMonth(); + } + }); + + el.delegate('.x-datepicker-month','click',function(){ + _self.fire('headerclick'); + }); + + }, + /** + * \u8bbe\u7f6e\u5e74\u6708 + * @ignore + * @param {Number} year \u5e74 + * @param {Number} month \u6708 + */ + setMonth : function(year,month){ + var _self = this, + curYear = _self.get('year'), + curMonth = _self.get('month'); + if(year !== curYear || month !== curMonth){ + _self.set('year',year); + _self.set('month',month); + _self.fire('monthchange',{year:year,month:month}); + } + }, + /** + * \u4e0b\u4e00\u6708 + * @ignore + */ + nextMonth : function(){ + var _self = this, + date = new Date(_self.get('year'),_self.get('month') + 1); + + _self.setMonth(date.getFullYear(),date.getMonth()); + }, + /** + * \u4e0a\u4e00\u6708 + * @ignore + */ + prevMonth : function(){ + var _self = this, + date = new Date(_self.get('year'),_self.get('month') - 1); + + _self.setMonth(date.getFullYear(),date.getMonth()); + }, + _uiSetYear : function(v){ + var _self = this; + _self.get('el').find('.' + CLS_TEXT_YEAR).text(v); + }, + _uiSetMonth : function(v){ + var _self = this; + _self.get('el').find('.' + CLS_TEXT_MONTH).text(v+1); + } + + },{ + ATTRS : { + /** + * \u5e74 + * @type {Number} + */ + year:{ + sync:false + }, + /** + * \u6708 + * @type {Number} + */ + month:{ + sync:false, + setter:function(v){ + this.set('monthText',v+1); + } + }, + /** + * @private + * @type {Object} + */ + monthText : { + + }, + tpl:{ + view:true, + value:'
                '+ + '
                '+ + '
                '+ + '{year}\u5e74 {monthText}\u6708'+ + ''+ + '
                '+ + '
                ' + + '
                ' + }, + elCls:{ + view:true, + value:'x-datepicker-header' + }, + events:{ + value:{ + /** + * \u6708\u53d1\u751f\u6539\u53d8\uff0c\u5e74\u53d1\u751f\u6539\u53d8\u4e5f\u610f\u5473\u7740\u6708\u53d1\u751f\u6539\u53d8 + * @event + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Number} e.year \u5e74 + * @param {Number} e.month \u6708 + */ + 'monthchange' : true + } + } + } + },{ + xclass:'calendar-header' + }); + + return header; + +});/** + * @fileOverview \u65e5\u5386\u63a7\u4ef6\u663e\u793a\u4e00\u6708\u7684\u65e5\u671f + * @author dxq613@gmail.com + * @ignore + */ +define('bui/calendar/panel',['bui/common'],function (require) { + + var BUI = require('bui/common'), + Component = BUI.Component, + DateUtil = BUI.Date, + CLS_DATE = 'x-datepicker-date', + CLS_TODAY = 'x-datepicker-today', + CLS_DISABLED = 'x-datepicker-disabled', + CLS_ACTIVE = 'x-datepicker-active', + DATA_DATE = 'data-date',//\u5b58\u50a8\u65e5\u671f\u5bf9\u8c61 + DATE_MASK = 'isoDate', + CLS_SELECTED = 'x-datepicker-selected', + SHOW_WEEKS = 6,//\u5f53\u524d\u5bb9\u5668\u663e\u793a6\u5468 + dateTypes = { + deactive : 'prevday', + active : 'active', + disabled : 'disabled' + }, + weekDays = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']; + + /** + * \u65e5\u5386\u9762\u677f\u7684\u89c6\u56fe\u7c7b + * @class BUI.Calendar.PanelView + * @extends BUI.Component.View + * @private + */ + var panelView = Component.View.extend({ + + renderUI : function(){ + this.updatePanel(); + }, + + //\u66f4\u65b0\u5bb9\u5668\uff0c\u5f53\u6708\u3001\u5e74\u53d1\u751f\u6539\u53d8\u65f6 + updatePanel : function(){ + var _self = this, + el = _self.get('el'), + bodyEl = el.find('tbody'), + innerTem = _self._getPanelInnerTpl(); + + bodyEl.empty(); + $(innerTem).appendTo(bodyEl); + }, + //\u83b7\u53d6\u5bb9\u5668\u5185\u5bb9 + _getPanelInnerTpl : function(){ + var _self = this, + startDate = _self._getFirstDate(), + temps = []; + + for (var i = 0; i < SHOW_WEEKS; i++) { + var weekStart = DateUtil.addWeek(i,startDate); + temps.push(_self._getWeekTpl(weekStart)); + }; + + return temps.join(''); + }, + //\u83b7\u53d6\u5468\u6a21\u7248 + _getWeekTpl : function(startDate){ + var _self = this, + weekTpl = _self.get('weekTpl'), + daysTemps = []; + for (var i = 0; i < weekDays.length; i++) { + var date = DateUtil.addDay(i,startDate); + daysTemps.push(_self._getDayTpl(date)); + } + + return BUI.substitute(weekTpl,{ + daysTpl:daysTemps.join('') + }); + }, + //\u83b7\u53d6\u65e5\u6a21\u7248 + _getDayTpl : function(date){ + var _self = this, + dayTpl = _self.get('dayTpl'), + day = date.getDay(), + todayCls = _self._isToday(date) ? CLS_TODAY:'', + dayOfWeek = weekDays[day], + dateNumber = date.getDate(), + //\u4e0d\u662f\u672c\u6708\u5219\u5904\u4e8e\u4e0d\u6d3b\u52a8\u72b6\u6001 + //\u4e0d\u5728\u6307\u5b9a\u7684\u6700\u5927\u6700\u5c0f\u8303\u56f4\u5185\uff0c\u7981\u6b62\u9009\u4e2d + dateType = _self._isInRange(date) ? (_self._isCurrentMonth(date) ? dateTypes.active : dateTypes.deactive) : dateTypes.disabled; + + return BUI.substitute(dayTpl,{ + dayOfWeek : dayOfWeek, + dateType : dateType, + dateNumber : dateNumber, + todayCls : todayCls, + date : DateUtil.format(date,DATE_MASK) + }); + }, + //\u83b7\u53d6\u5f53\u524d\u5bb9\u5668\u7684\u7b2c\u4e00\u5929 + _getFirstDate : function(year,month){ + var _self = this, + monthFirstDate = _self._getMonthFirstDate(year,month), + day = monthFirstDate.getDay(); + return DateUtil.addDay(day * -1,monthFirstDate); + }, + //\u83b7\u53d6\u5f53\u6708\u7684\u7b2c\u4e00\u5929 + _getMonthFirstDate : function(year,month){ + var _self = this, + year = year || _self.get('year'), + month = month || _self.get('month'); + return new Date(year,month); + }, + //\u662f\u5426\u662f\u5f53\u524d\u663e\u793a\u7684\u6708 + _isCurrentMonth : function(date){ + return date.getMonth() === this.get('month'); + }, + //\u662f\u5426\u662f\u4eca\u5929 + _isToday : function(date){ + var tody = new Date(); + return tody.getFullYear() === date.getFullYear() && tody.getMonth() === date.getMonth() && tody.getDate() === date.getDate(); + }, + //\u662f\u5426\u5728\u5141\u8bb8\u7684\u8303\u56f4\u5185 + _isInRange : function(date){ + var _self = this, + maxDate = _self.get('maxDate'), + minDate = _self.get('minDate'); + + if(minDate && date < minDate){ + return false; + } + if(maxDate && date > maxDate){ + return false; + } + return true; + }, + //\u6e05\u9664\u9009\u4e2d\u7684\u65e5\u671f + _clearSelectedDate : function(){ + var _self = this; + _self.get('el').find('.'+CLS_SELECTED).removeClass(CLS_SELECTED); + }, + //\u67e5\u627e\u65e5\u671f\u5bf9\u5e94\u7684DOM\u8282\u70b9 + _findDateElement : function(date){ + var _self = this, + dateStr = DateUtil.format(date,DATE_MASK), + activeList = _self.get('el').find('.' + CLS_DATE), + result = null; + if(dateStr){ + activeList.each(function(index,item){ + if($(item).attr('title') === dateStr){ + result = $(item); + return false; + } + }); + } + return result; + }, + //\u8bbe\u7f6e\u9009\u4e2d\u7684\u65e5\u671f + _setSelectedDate : function(date){ + var _self = this, + dateEl = _self._findDateElement(date); + + _self._clearSelectedDate(); + if(dateEl){ + dateEl.addClass(CLS_SELECTED); + } + } + },{ + ATTRS : { + + } + }); + + /** + * \u65e5\u5386\u63a7\u4ef6\u663e\u793a\u65e5\u671f\u7684\u5bb9\u5668 + * xclass:'calendar-panel' + * @class BUI.Calendar.Panel + * @private + * @extends BUI.Component.Controller + */ + var panel = Component.Controller.extend( + /** + * @lends BUI.Calendar.Panel.prototype + * @ignore + */ + { + + /** + * \u8bbe\u7f6e\u9ed8\u8ba4\u5e74\u6708 + * @protected + */ + initializer : function(){ + var _self = this, + now = new Date(); + if(!_self.get('year')){ + _self.set('year',now.getFullYear()); + } + + if(!_self.get('month')){ + _self.set('month',now.getMonth()); + } + }, + /** + * @protected + * @ignore + */ + bindUI : function(){ + var _self = this, + el = _self.get('el'); + el.delegate('.' + CLS_DATE,'click',function(e){ + e.preventDefault(); + }); + //\u963b\u6b62\u7981\u7528\u7684\u65e5\u671f\u88ab\u9009\u62e9 + el.delegate('.' + CLS_DISABLED,'mouseup',function(e){ + e.stopPropagation(); + }); + }, + /** + * @protected + * @ignore + */ + performActionInternal : function(ev){ + var _self = this, + sender = $(ev.target).closest('.' + CLS_DATE); + if(sender){ + var date = sender.attr('title'); + if(date){ + date = DateUtil.parse(date); + if(_self.get('view')._isInRange(date)){ + _self.set('selected',date); + } + //_self.fire('click',{date:date}); + } + } + }, + /** + * \u8bbe\u7f6e\u5e74\u6708 + * @param {Number} year \u5e74 + * @param {Number} month \u6708 + */ + setMonth : function(year,month){ + var _self = this, + curYear = _self.get('year'), + curMonth = _self.get('month'); + if(year !== curYear || month !== curMonth){ + _self.set('year',year); + _self.set('month',month); + //if(_self.get('rendered')){ + _self.get('view').updatePanel(); + //} + } + }, + //\u9009\u4e2d\u65e5\u671f + _uiSetSelected : function(date,ev){ + var _self = this; + + if(!(ev && ev.prevVal && DateUtil.isDateEquals(date,ev.prevVal))){ + _self.setMonth(date.getFullYear(),date.getMonth()); + _self.get('view')._setSelectedDate(date); + _self.fire('selectedchange',{date:date}); + } + }, + //\u8bbe\u7f6e\u6700\u65e5\u671f + _uiSetMaxDate : function(v){ + if(v){ + this.get('view').updatePanel(); + } + }, + //\u8bbe\u7f6e\u6700\u5c0f\u65e5\u671f + _uiSetMinDate : function(v){ + if(v){ + this.get('view').updatePanel(); + } + } + },{ + ATTRS: + /** + * @lends BUI.Calendar.Panel# + * @ignore + */ + { + /** + * \u5c55\u793a\u7684\u6708\u6240\u5c5e\u5e74 + * @type {Number} + */ + year : { + view :true + }, + /** + * \u5c55\u793a\u7684\u6708 + * @type {Number} + */ + month:{ + view :true + }, + /** + * \u9009\u4e2d\u7684\u65e5\u671f + * @type {Date} + */ + selected : { + + }, + focusable:{ + value:true + }, + /** + * \u65e5\u671f\u7684\u6a21\u677f + * @private + * @type {Object} + */ + dayTpl:{ + view : true, + value:''+ + ''+ + '{dateNumber}'+ + ''+ + '' + }, + events:{ + value : { + /** + * @event + * @name BUI.Calendar.Panel#click + * @param {Object} e \u70b9\u51fb\u4e8b\u4ef6 + * @param {Date} e.date + */ + 'click' : false, + /** + * @name BUI.Calendar.Panel#selectedchange + * @param {Object} e \u70b9\u51fb\u4e8b\u4ef6 + * @param {Date} e.date + */ + 'selectedchange' : false + } + }, + /** + * \u6700\u5c0f\u65e5\u671f + * @type {Date | String} + */ + maxDate : { + view : true, + setter : function(val){ + if(val){ + if(BUI.isString(val)){ + return DateUtil.parse(val); + } + return val; + } + } + }, + /** + * \u6700\u5c0f\u65e5\u671f + * @type {Date | String} + */ + minDate : { + view : true, + setter : function(val){ + if(val){ + if(BUI.isString(val)){ + return DateUtil.parse(val); + } + return val; + } + } + }, + /** + * \u5468\u7684\u6a21\u677f + * @private + * @type {Object} + */ + weekTpl:{ + view : true, + value : '{daysTpl}' + }, + tpl:{ + view:true, + value:'' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '
                \u65e5\u4e00\u4e8c\u4e09\u56db\u4e94\u516d
                ' + }, + xview : {value : panelView} + } + },{ + xclass:'calendar-panel', + priority:0 + }); + + return panel; +});/** + * @fileOverview \u65e5\u671f\u63a7\u4ef6 + * @author dxq613@gmail.com + * @ignore + */ + +define('bui/calendar/calendar',['bui/picker','bui/calendar/monthpicker','bui/calendar/header','bui/calendar/panel','bui/toolbar'],function(require){ + + var BUI = require('bui/common'), + PREFIX = BUI.prefix, + CLS_PICKER_TIME = 'x-datepicker-time', + CLS_PICKER_HOUR = 'x-datepicker-hour', + CLS_PICKER_MINUTE = 'x-datepicker-minute', + CLS_PICKER_SECOND = 'x-datepicker-second', + CLS_TIME_PICKER = 'x-timepicker', + Picker = require('bui/picker').ListPicker, + MonthPicker = require('bui/calendar/monthpicker'), + Header = require('bui/calendar/header'), + Panel = require('bui/calendar/panel'), + Toolbar = require('bui/toolbar'), + Component = BUI.Component, + DateUtil = BUI.Date; + + function today(){ + var now = new Date(); + return new Date(now.getFullYear(),now.getMonth(),now.getDate()); + } + + function fixedNumber(n){ + if( n< 10 ){ + return '0'+n; + } + return n.toString(); + } + function getNumberItems(end){ + var items = []; + for (var i = 0; i < end; i++) { + items.push({text:fixedNumber(i),value:fixedNumber(i)}); + } + return items; + } + + function getTimeUnit (self,cls){ + var inputEl = self.get('el').find('.' + cls); + return parseInt(inputEl.val()); + + } + + function setTimeUnit (self,cls,val){ + var inputEl = self.get('el').find('.' + cls); + if(BUI.isNumber(val)){ + val = fixedNumber(val); + } + inputEl.val(val); + } + + + + /** + * \u65e5\u671f\u63a7\u4ef6 + *

                + * + *

                + * xclass:'calendar' + *
                
                +   *  BUI.use('bui/calendar',function(Calendar){
                +   *    var calendar = new Calendar.Calendar({
                +   *      render:'#calendar'
                +   *    });
                +   *    calendar.render();
                +   *    calendar.on('selectedchange',function (ev) {
                +   *      alert(ev.date);
                +   *    });
                +   * });
                +   * 
                + * @class BUI.Calendar.Calendar + * @extends BUI.Component.Controller + */ + var calendar = Component.Controller.extend({ + + //\u8bbe\u7f6e\u5185\u5bb9 + initializer: function(){ + var _self = this, + children = _self.get('children'), + header = new Header(), + panel = new Panel(), + footer = _self.get('footer') || _self._createFooter(), + monthPicker = _self.get('monthPicker') || _self._createMonthPicker(); + + + //\u6dfb\u52a0\u5934 + children.push(header); + //\u6dfb\u52a0panel + children.push(panel); + children.push(footer); + children.push(monthPicker); + + _self.set('header',header); + _self.set('panel',panel); + _self.set('footer',footer); + _self.set('monthPicker',monthPicker); + + }, + renderUI : function(){ + var _self = this, + children = _self.get('children'); + if(_self.get('showTime')){ + var timepicker = _self.get('timepicker') || _self._initTimePicker(); + children.push(timepicker); + _self.set('timepicker',timepicker); + } + }, + //\u7ed1\u5b9a\u4e8b\u4ef6 + bindUI : function(){ + var _self = this, + header = _self.get('header'), + panel = _self.get('panel'); + + panel.on('selectedchange',function(e){ + var date = e.date; + if(!DateUtil.isDateEquals(date,_self.get('selectedDate'))){ + _self.set('selectedDate',date); + } + }); + if(!_self.get('showTime')){ + panel.on('click',function(){ + _self.fire('accept'); + }); + }else{ + _self._initTimePickerEvent(); + } + + header.on('monthchange',function(e){ + _self._setYearMonth(e.year,e.month); + }); + + header.on('headerclick',function(){ + var monthPicker = _self.get('monthPicker'); + monthPicker.set('year',header.get('year')); + monthPicker.set('month',header.get('month')); + monthPicker.show(); + }); + }, + _initTimePicker : function(){ + var _self = this, + picker = new Picker({ + elCls : CLS_TIME_PICKER, + children:[{ + itemTpl : '
              • {text}
              • ' + }], + autoAlign : false, + align : { + node : _self.get('el'), + points:['bl','bl'], + offset:[0,-30] + }, + trigger : _self.get('el').find('.' + CLS_PICKER_TIME) + }); + picker.render(); + _self._initTimePickerEvent(picker); + return picker; + }, + _initTimePickerEvent : function(picker){ + var _self = this, + picker= _self.get('timepicker'); + + if(!picker){ + return; + } + + picker.get('el').delegate('a','click',function(ev){ + ev.preventDefault(); + }); + picker.on('triggerchange',function(ev){ + var curTrigger = ev.curTrigger; + if(curTrigger.hasClass(CLS_PICKER_HOUR)){ + picker.get('list').set('items',getNumberItems(24)); + }else{ + picker.get('list').set('items',getNumberItems(60)); + } + }); + + picker.on('selectedchange',function(ev){ + var curTrigger = ev.curTrigger, + val = ev.value; + if(curTrigger.hasClass(CLS_PICKER_HOUR)){ + _self.setInternal('hour',val); + }else if(curTrigger.hasClass(CLS_PICKER_MINUTE)){ + _self.setInternal('minute',val); + }else{ + _self.setInternal('second',val); + } + }); + }, + //\u66f4\u6539\u5e74\u548c\u6708 + _setYearMonth : function(year,month){ + var _self = this, + selectedDate = _self.get('selectedDate'), + date = selectedDate.getDate(); + if(year !== selectedDate.getFullYear() || month !== selectedDate.getMonth()){ + _self.set('selectedDate',new Date(year,month,date)); + } + }, + //\u521b\u5efa\u9009\u62e9\u6708\u7684\u63a7\u4ef6 + _createMonthPicker: function(){ + var _self = this; + + return new MonthPicker({ + effect : { + effect:'slide', + duration:300 + }, + visibleMode:'display', + success : function(){ + var picker = this; + _self._setYearMonth(picker.get('year'),picker.get('month')); + picker.hide(); + }, + cancel : function(){ + this.hide(); + } + }); + }, + //\u521b\u5efa\u5e95\u90e8\u6309\u94ae\u680f + _createFooter : function(){ + var _self = this, + showTime = this.get('showTime'), + items = []; + + if(showTime){ + items.push({ + content : _self.get('timeTpl') + }); + items.push({ + xclass:'bar-item-button', + text:'\u786e\u5b9a', + btnCls: 'button button-small button-primary', + listeners:{ + click:function(){ + _self.fire('accept'); + } + } + }); + }else{ + items.push({ + xclass:'bar-item-button', + text:'\u4eca\u5929', + btnCls: 'button button-small', + listeners:{ + click:function(){ + var day = today(); + _self.set('selectedDate',day); + _self.fire('accept'); + } + } + }); + } + + return new Toolbar.Bar({ + elCls : PREFIX + 'calendar-footer', + children:items + }); + }, + //\u8bbe\u7f6e\u6240\u9009\u65e5\u671f + _uiSetSelectedDate : function(v){ + var _self = this, + year = v.getFullYear(), + month = v.getMonth(); + + _self.get('header').setMonth(year,month); + _self.get('panel').set('selected',v); + _self.fire('datechange',{date:v}); + }, + _uiSetHour : function(v){ + setTimeUnit(this,CLS_PICKER_HOUR,v); + }, + _uiSetMinute : function(v){ + setTimeUnit(this,CLS_PICKER_MINUTE,v); + }, + _uiSetSecond : function(v){ + setTimeUnit(this,CLS_PICKER_SECOND,v); + }, + //\u8bbe\u7f6e\u6700\u5927\u503c + _uiSetMaxDate : function(v){ + var _self = this; + _self.get('panel').set('maxDate',v); + }, + //\u8bbe\u7f6e\u6700\u5c0f\u503c + _uiSetMinDate : function(v){ + var _self = this; + _self.get('panel').set('minDate',v); + } + + },{ + ATTRS : + /** + * @lends BUI.Calendar.Calendar# + * @ignore + */ + { + /** + * \u65e5\u5386\u63a7\u4ef6\u5934\u90e8\uff0c\u9009\u62e9\u5e74\u6708 + * @private + * @type {Object} + */ + header:{ + + }, + + /** + * \u65e5\u5386\u63a7\u4ef6\u9009\u62e9\u65e5 + * @private + * @type {Object} + */ + panel:{ + + }, + /** + * \u6700\u5927\u65e5\u671f + *
                
                +       *   calendar.set('maxDate','2013-07-29');
                +       * 
                + * @type {Date} + */ + maxDate : { + + }, + /** + * \u6700\u5c0f\u65e5\u671f + *
                
                +       *   calendar.set('minDate','2013-07-29');
                +       * 
                + * @type {Date} + */ + minDate : { + + }, + /** + * \u9009\u62e9\u6708\u4efd\u63a7\u4ef6 + * @private + * @type {Object} + */ + monthPicker : { + + }, + /** + * \u9009\u62e9\u65f6\u95f4\u63a7\u4ef6 + * @private + * @type {Object} + */ + timepicker:{ + + }, + width:{ + value:180 + }, + events:{ + value:{ + /** + * @event + * @name BUI.Calendar.Calendar#click + * @param {Object} e \u70b9\u51fb\u4e8b\u4ef6 + * @param {Date} e.date + */ + 'click' : false, + /** + * \u786e\u8ba4\u65e5\u671f\u66f4\u6539\uff0c\u5982\u679c\u4e0d\u663e\u793a\u65e5\u671f\u5219\u5f53\u70b9\u51fb\u65e5\u671f\u6216\u8005\u70b9\u51fb\u4eca\u5929\u6309\u94ae\u65f6\u89e6\u53d1\uff0c\u5982\u679c\u663e\u793a\u65e5\u671f\uff0c\u5219\u5f53\u70b9\u51fb\u786e\u8ba4\u6309\u94ae\u65f6\u89e6\u53d1\u3002 + * @event + */ + 'accept' : false, + /** + * @event + * @name BUI.Calendar.Calendar#datechange + * @param {Object} e \u9009\u4e2d\u7684\u65e5\u671f\u53d1\u751f\u6539\u53d8 + * @param {Date} e.date + */ + 'datechange' : false, + /** + * @event + * @name BUI.Calendar.Calendar#monthchange + * @param {Object} e \u6708\u4efd\u53d1\u751f\u6539\u53d8 + * @param {Number} e.year + * @param {Number} e.month + */ + 'monthchange' : false + } + }, + /** + * \u662f\u5426\u9009\u62e9\u65f6\u95f4,\u6b64\u9009\u9879\u51b3\u5b9a\u662f\u5426\u53ef\u4ee5\u9009\u62e9\u65f6\u95f4 + * + * @cfg {Boolean} showTime + */ + showTime : { + value : false + }, + timeTpl : { + value : '::' + }, + /** + * \u9009\u62e9\u7684\u65e5\u671f,\u9ed8\u8ba4\u4e3a\u5f53\u5929 + *
                
                +       *  var calendar = new Calendar.Calendar({
                +       *  render:'#calendar',
                +       *   selectedDate : new Date('2013/07/01') //\u4e0d\u80fd\u4f7f\u7528\u5b57\u7b26\u4e32
                +       * });
                +       * 
                + * @cfg {Date} selectedDate + */ + /** + * \u9009\u62e9\u7684\u65e5\u671f + *
                
                +       *   calendar.set('selectedDate',new Date('2013-9-01'));
                +       * 
                + * @type {Date} + * @default today + */ + selectedDate : { + value : today() + }, + /** + * \u5c0f\u65f6,\u9ed8\u8ba4\u4e3a\u5f53\u524d\u5c0f\u65f6 + * @type {Number} + */ + hour : { + value : new Date().getHours() + + }, + /** + * \u5206,\u9ed8\u8ba4\u4e3a\u5f53\u524d\u5206 + * @type {Number} + */ + minute:{ + value : new Date().getMinutes() + }, + /** + * \u79d2,\u9ed8\u8ba4\u4e3a\u5f53\u524d\u79d2 + * @type {Number} + */ + second : { + value : 0 + } + } + },{ + xclass : 'calendar', + priority : 0 + }); + + return calendar; +});/** + * @fileOverview \u65e5\u671f\u9009\u62e9\u5668 + * @author dxq613@gmail.com + * @ignore + */ +define('bui/calendar/datepicker',['bui/common','bui/picker','bui/calendar/calendar'],function(require){ + + var BUI = require('bui/common'), + Picker = require('bui/picker').Picker, + Calendar = require('bui/calendar/calendar'), + DateUtil = BUI.Date; + + /** + * \u65e5\u671f\u9009\u62e9\u5668\uff0c\u53ef\u4ee5\u7531\u8f93\u5165\u6846\u7b49\u89e6\u53d1 + *

                + * + *

                + * xclass : 'calendar-datepicker' + *
                
                +   *   BUI.use('bui/calendar',function(Calendar){
                +   *      var datepicker = new Calendar.DatePicker({
                +   *        trigger:'.calendar',
                +   *        //delegateTigger : true, //\u5982\u679c\u8bbe\u7f6e\u6b64\u53c2\u6570\uff0c\u90a3\u4e48\u65b0\u589e\u52a0\u7684.calendar\u5143\u7d20\u4e5f\u4f1a\u652f\u6301\u65e5\u5386\u9009\u62e9
                +   *        autoRender : true
                +   *      });
                +   *    });
                +   * 
                + * @class BUI.Calendar.DatePicker + * @extends BUI.Picker.Picker + */ + var datepicker = Picker.extend({ + + initializer:function(){ + var _self = this, + children = _self.get('children'), + calendar = new Calendar({ + showTime : _self.get('showTime') + }); + + children.push(calendar); + _self.set('calendar',calendar); + }, + /** + * \u8bbe\u7f6e\u9009\u4e2d\u7684\u503c + *
                
                +     *   datePicker.setSelectedValue('2012-01-1');
                +     * 
                + * @param {String} val \u8bbe\u7f6e\u503c + * @protected + */ + setSelectedValue : function(val){ + var _self = this, + calendar = this.get('calendar'), + date = DateUtil.parse(val); + date = date || new Date(new Date().setSeconds(0)); + calendar.set('selectedDate',DateUtil.getDate(date)); + if(_self.get('showTime')){ + calendar.set('hour',date.getHours()); + calendar.set('minute',date.getMinutes()); + calendar.set('second',date.getSeconds()); + } + }, + /** + * \u83b7\u53d6\u9009\u4e2d\u7684\u503c + * @protected + * @return {String} \u9009\u4e2d\u7684\u503c + */ + getSelectedValue : function(){ + var _self = this, + calendar = _self.get('calendar'), + date = DateUtil.getDate(calendar.get('selectedDate')); + if(_self.get('showTime')){ + date = DateUtil.addHour(calendar.get('hour'),date); + date = DateUtil.addMinute(calendar.get('minute'),date); + date = DateUtil.addSecond(calendar.get('second'),date); + } + return date; + }, + /** + * \u83b7\u53d6\u9009\u4e2d\u9879\u7684\u6587\u672c\uff0c\u591a\u9009\u72b6\u6001\u4e0b\uff0c\u6587\u672c\u4ee5','\u5206\u5272 + * @protected + * @return {String} \u9009\u4e2d\u7684\u6587\u672c + */ + getSelectedText : function(){ + return DateUtil.format(this.getSelectedValue(),this._getFormatType()); + }, + _getFormatType : function(){ + if(this.get('showTime')){ + return 'yyyy-mm-dd HH:MM:ss'; + } + return 'yyyy-mm-dd'; + }, + //\u8bbe\u7f6e\u6700\u5927\u503c + _uiSetMaxDate : function(v){ + var _self = this; + _self.get('calendar').set('maxDate',v); + }, + //\u8bbe\u7f6e\u6700\u5c0f\u503c + _uiSetMinDate : function(v){ + var _self = this; + _self.get('calendar').set('minDate',v); + } + + },{ + ATTRS : + /** + * @lends BUI.Calendar.DatePicker# + * @ignore + */ + { + /** + * \u662f\u5426\u663e\u793a\u65e5\u671f + *
                
                +       *  var datepicker = new Calendar.DatePicker({
                +       *    trigger:'.calendar',
                +       *    showTime : true, //\u53ef\u4ee5\u9009\u62e9\u65e5\u671f
                +       *    autoRender : true
                +       *  });
                +       * 
                + * @type {Boolean} + */ + showTime : { + value:false + }, + /** + * \u6700\u5927\u65e5\u671f + *
                
                +       *   var datepicker = new Calendar.DatePicker({
                +       *     trigger:'.calendar',
                +       *     maxDate : '2014-01-01',
                +       *     minDate : '2013-7-25',
                +       *     autoRender : true
                +       *   });
                +       * 
                + * @type {Date} + */ + maxDate : { + + }, + /** + * \u6700\u5c0f\u65e5\u671f + *
                
                +       *   var datepicker = new Calendar.DatePicker({
                +       *     trigger:'.calendar',
                +       *     maxDate : '2014-01-01',
                +       *     minDate : '2013-7-25',
                +       *     autoRender : true
                +       *   });
                +       * 
                + * @type {Date} + */ + minDate : { + + }, + changeEvent:{ + value:'accept' + }, + hideEvent:{ + value:'accept' + }, + /** + * \u65e5\u5386\u5bf9\u8c61,\u53ef\u4ee5\u8fdb\u884c\u66f4\u591a\u7684\u64cd\u4f5c\uff0c\u53c2\u770b{@link BUI.Calendar.Calendar} + * @type {BUI.Calendar.Calendar} + */ + calendar:{ + + } + } + },{ + xclass : 'datepicker', + priority : 0 + }); + return datepicker; + +});/** + * @fileOverview \u7f16\u8f91\u5668\u547d\u540d\u7a7a\u95f4\u5165\u53e3 + * @ignore + */ + +define('bui/editor',['bui/common','bui/form','bui/editor/editor','bui/editor/record','bui/editor/dialog'],function (require) { + var BUI = require('bui/common'), + Form = require('bui/form'), + Editor = BUI.namespace('Editor'); + + BUI.mix(Editor,{ + Editor : require('bui/editor/editor'), + RecordEditor : require('bui/editor/record'), + DialogEditor : require('bui/editor/dialog') + }); + return Editor; +});/** + * @fileOverview \u7f16\u8f91\u5668\u6269\u5c55\u7c7b\uff0c\u5f15\u5165\u8fd9\u4e2a\u6269\u5c55\uff0c\u63a7\u4ef6\u53ef\u4ee5\u652f\u6301\u7f16\u8f91\u5668\u529f\u80fd\u3002 + * @ignore + */ + +define('bui/editor/mixin',function (require) { + + function initEditor (self) { + var _self = self, + controlCfgField = _self.get('controlCfgField'), + control = _self.get(controlCfgField), + c = _self.addChild(control); + _self.setInternal(controlCfgField,c); + } + + /** + * @class BUI.Editor.Mixin + * \u7f16\u8f91\u5668\u6269\u5c55\u7c7b + */ + var Mixin = function () { + initEditor(this); + }; + + Mixin.ATTRS = { + /** + * \u63a5\u53d7\u66f4\u6539\u7684\u4e8b\u4ef6 + * @protected + * @type {String} + */ + acceptEvent : { + value : 'autohide' + }, + /** + * \u5f53\u53d1\u751f\u9519\u8bef\u65f6\u662f\u5426\u963b\u6b62\u7f16\u8f91\u5668\u6d88\u5931 + * @type {Boolean} + */ + preventHide : { + value : true + }, + /** + * \u91cd\u7f6e\u6570\u636e\u65f6\u7684\u4e8b\u4ef6 + * @type {String} + */ + changeSourceEvent : { + value : 'show triggerchange' + }, + /** + * \u662f\u5426\u5ffd\u7565\u6389\u8f93\u5165\u6846\u4e4b\u7c7b\u7684\u952e\u76d8\u4e8b\u4ef6 + * @protected + * @type {Boolean} + */ + ignoreInputFields: { + value :false + }, + /** + * \u5185\u90e8\u63a7\u4ef6\u7684\u4ee3\u8868Value\u7684\u5b57\u6bb5 + * @protected + * @type {String} + */ + innerValueField : { + + }, + /** + * \u7a7a\u503c\u7684\u6570\u636e\uff0c\u6e05\u7a7a\u7f16\u8f91\u5668\u65f6\u4f7f\u7528 + * @protected + * @type {*} + */ + emptyValue : { + + }, + /** + * \u5185\u90e8\u63a7\u4ef6\u914d\u7f6e\u9879\u7684\u5b57\u6bb5 + * @protected + * @type {String} + */ + controlCfgField : { + + }, + autoUpdate : { + value : true + }, + events : { + value : { + /** + * @event + * \u63a5\u53d7\u66f4\u6539 + */ + accept : false, + /** + * @event + * \u53d6\u6d88\u66f4\u6539 + */ + cancel : false + } + } + }; + + Mixin.prototype = { + //\u7ed1\u5b9a\u4e8b\u4ef6 + __bindUI : function(){ + var _self = this, + acceptEvent = _self.get('acceptEvent'), + changeSourceEvent = _self.get('changeSourceEvent'); + + if(acceptEvent){ + _self.on(acceptEvent,function(){ + if(_self.accept()){ + return ; + }else if(_self.get('preventHide')){ + return false; + }else{ + _self.cancel(); + } + }); + } + if(changeSourceEvent){ + _self.on(changeSourceEvent,function(){ + _self.setValue(_self.getSourceValue()); + if(_self.get('visible')){ + _self.focus(); + } + }); + } + }, + /** + * @protected + * \u83b7\u53d6\u7f16\u8f91\u5668\u7684\u5185\u90e8\u63a7\u4ef6 + * @return {BUI.Component.Controller} \u7528\u4e8e\u7f16\u8f91\u6570\u636e\u7684\u5185\u90e8\u6570\u636e + */ + getInnerControl : function(){ + var _self = this, + children = _self.get('children'); + return children[0]; + }, + /** + * \u8bbe\u7f6e\u503c\uff0c\u503c\u7684\u7c7b\u578b\u53d6\u51b3\u4e8e\u7f16\u8f91\u5668\u7f16\u8f91\u7684\u6570\u636e + * @param {String|Object} value \u7f16\u8f91\u5668\u663e\u793a\u7684\u503c + */ + setValue : function(value){ + var _self = this, + innerControl = _self.getInnerControl(); + _self.set('editValue',value); + _self.clearControlValue(); + innerControl.set(_self.get('innerValueField'),value); + if(!value){//\u7f16\u8f91\u7684\u503c\u7b49\u4e8e\u7a7a\uff0c\u5219\u53ef\u80fd\u4e0d\u4f1a\u89e6\u53d1\u9a8c\u8bc1 + _self.valid(); + } + }, + /** + * \u83b7\u53d6\u7f16\u8f91\u5668\u7684\u503c + * @return {String|Object} \u7f16\u8f91\u5668\u7684\u503c + */ + getValue :function(){ + var _self = this, + innerControl = _self.getInnerControl(); + return innerControl.get(_self.get('innerValueField')); + }, + /** + * \u7f16\u8f91\u7684\u5185\u5bb9\u662f\u5426\u901a\u8fc7\u9a8c\u8bc1 + * @return {Boolean} \u662f\u5426\u901a\u8fc7\u9a8c\u8bc1 + */ + isValid : function(){ + var _self = this, + innerControl = _self.getInnerControl(); + return innerControl.isValid ? innerControl.isValid() : true; + }, + /** + * \u9a8c\u8bc1\u5185\u5bb9\u662f\u5426\u901a\u8fc7\u9a8c\u8bc1 + */ + valid : function(){ + var _self = this, + innerControl = _self.getInnerControl(); + innerControl.valid && innerControl.valid(); + }, + /** + * \u83b7\u53d6\u9519\u8bef\u4fe1\u606f + * @return {Array} \u9519\u8bef\u4fe1\u606f + */ + getErrors : function(){ + var _self = this, + innerControl = _self.getInnerControl(); + return innerControl.getErrors ? innerControl.getErrors() : []; + }, + /** + * \u7f16\u8f91\u7684\u5185\u5bb9\u662f\u5426\u53d1\u751f\u6539\u53d8 + * @return {Boolean} + */ + isChange : function(){ + var _self = this, + editValue = _self.get('editValue'), + value = _self.getValue(); + return editValue !== value; + }, + /** + * \u6e05\u9664\u7f16\u8f91\u7684\u503c + */ + clearValue : function(){ + this.clearControlValue(); + this.clearErrors(); + }, + /** + * \u6e05\u9664\u7f16\u8f91\u7684\u63a7\u4ef6\u7684\u503c + * @protected + * @template + */ + clearControlValue : function(){ + var _self = this, + innerControl = _self.getInnerControl(); + innerControl.set(_self.get('innerValueField'),_self.get('emptyValue')); + }, + /** + * \u6e05\u9664\u9519\u8bef + */ + clearErrors : function(){ + var _self = this, + innerControl = _self.getInnerControl(); + innerControl.clearErrors(); + }, + /** + * @protected + * @template + * \u83b7\u53d6\u7f16\u8f91\u7684\u6e90\u6570\u636e + */ + getSourceValue : function(){ + + }, + /** + * @protected + * @template + * \u66f4\u65b0\u7f16\u8f91\u7684\u6e90\u6570\u636e + */ + updateSource : function(){ + + }, + /** + * @protected + * @override + * \u5904\u7406esc\u952e + */ + handleNavEsc : function(){ + this.cancel(); + }, + /** + * @protected + * @override + * \u5904\u7406enter\u952e + */ + handleNavEnter : function(ev){ + var sender = ev.target; + if(sender.tagName === 'TEXTAREA'){ //\u6587\u672c\u8f93\u5165\u6846\uff0c\u4e0d\u786e\u5b9a\u9690\u85cf + return; + } + if(sender.tagName === 'BUTTON'){ + $(sender).trigger('click'); + } + this.accept(); + }, + /** + * \u8bbe\u7f6e\u83b7\u53d6\u7126\u70b9 + */ + focus : function(){ + var _self = this, + innerControl = _self.getInnerControl(); + innerControl.focus && innerControl.focus() + }, + /** + * \u63a5\u53d7\u7f16\u8f91\u5668\u7684\u7f16\u8f91\u7ed3\u679c + * @return {Boolean} \u662f\u5426\u6210\u529f\u63a5\u53d7\u7f16\u8f91 + */ + accept : function(){ + var _self = this, + value; + _self.valid(); + if(!_self.isValid()){ + return false; + } + value = _self.getValue(); + + if(_self.get('autoUpdate')){ + _self.updateSource(value); + } + if(_self.fire('beforeaccept',{value :value}) == false){ + return; + } + _self.fire('accept',{value :value,editValue : _self.get('editValue')});/**/ + _self.hide(); + return true; + }, + /** + * \u53d6\u6d88\u7f16\u8f91 + */ + cancel : function(){ + this.fire('cancel'); + this.clearValue(); + this.close(); + } + }; + + return Mixin; +});/** + * @ignore + * @fileOverview \u7f16\u8f91\u5668 + * @author dxq613@gmail.com + */ + +define('bui/editor/editor',['bui/common','bui/overlay','bui/editor/mixin'],function (require) { + var BUI = require('bui/common'), + Overlay = require('bui/overlay').Overlay + CLS_TIPS = 'x-editor-tips', + Mixin = require('bui/editor/mixin'); + + /** + * @class BUI.Editor.Editor + * @extends BUI.Overlay.Overlay + * @mixins BUI.Editor.Mixin + * \u7f16\u8f91\u5668 + *

                + * + *

                + */ + var editor = Overlay.extend([Mixin],{ + bindUI : function(){ + var _self = this, + innerControl = _self.getInnerControl(); + _self.on('validchange',function(ev){ + if(!_self.isValid() && _self.get('visible')){ + _self._showError(_self.getErrors()); + }else{ + _self._hideError(); + } + }); + _self.on('hide',function(){ + _self._hideError(); + }); + + _self.on('show',function(){ + if(!_self.isValid()){ + _self._showError(_self.getErrors()); + } + }); + }, + _initOverlay : function(){ + var _self = this, + overlay = new Overlay({ + children : [{ + xclass : 'simple-list', + itemTpl : '
              • ! {error}
              • ' + }], + elCls : CLS_TIPS, + autoRender : true + }); + _self.set('overlay',overlay); + return overlay; + }, + //\u83b7\u53d6\u663e\u793a\u9519\u8bef\u5217\u8868 + _getErrorList : function(){ + var _self = this, + overlay = _self.get('overlay'); + return overlay && overlay.get('children')[0]; + }, + _showError : function(errors){ + var _self = this, + overlay = _self.get('overlay') || _self._initOverlay(), + list = _self._getErrorList(), + align = _self.get('errorAlign'), + items = BUI.Array.map(errors,function(text){ + return {error : text}; + }); + list.set('items',items); + align.node = _self.get('el'); + overlay.set('align',align); + overlay.show(); + }, + //\u9690\u85cf\u9519\u8bef + _hideError : function(){ + var _self = this, + overlay = _self.get('overlay'); + overlay && overlay.hide(); + }, + /** + * @protected + * @override + * \u83b7\u53d6\u7f16\u8f91\u7684\u6e90\u6570\u636e + * @return {String} \u8fd4\u56de\u9700\u8981\u7f16\u8f91\u7684\u6587\u672c + */ + getSourceValue : function(){ + var _self = this, + trigger = _self.get('curTrigger'); + return trigger.text(); + }, + /** + * @protected + * \u66f4\u65b0\u6587\u672c + * @param {String} text \u7f16\u8f91\u5668\u7684\u503c + */ + updateSource : function(text){ + var _self = this, + trigger = _self.get('curTrigger'); + if(trigger && trigger.length){ + trigger.text(text); + } + }, + _uiSetWidth : function(v){ + var _self = this; + if(v != null){ + var innerControl = _self.getInnerControl(); + if(innerControl.set){ + innerControl.set('width',v); + } + } + } + },{ + ATTRS : { + /** + * \u5185\u90e8\u63a7\u4ef6\u7684\u4ee3\u8868Value\u7684\u5b57\u6bb5 + * @protected + * @override + * @type {String} + */ + innerValueField : { + value : 'value' + }, + /** + * \u7a7a\u503c\u7684\u6570\u636e\uff0c\u6e05\u7a7a\u7f16\u8f91\u5668\u65f6\u4f7f\u7528 + * @protected + * @type {*} + */ + emptyValue : { + value : '' + }, + /** + * \u662f\u5426\u81ea\u52a8\u9690\u85cf + * @override + * @type {Boolean} + */ + autoHide : { + value : true + }, + /** + * \u5185\u90e8\u63a7\u4ef6\u914d\u7f6e\u9879\u7684\u5b57\u6bb5 + * @protected + * @type {String} + */ + controlCfgField : { + value : 'field' + }, + /** + * \u9ed8\u8ba4\u7684\u5b57\u6bb5\u57df\u914d\u7f6e\u9879 + * @type {Object} + */ + defaultChildCfg : { + value : { + tpl : '', + forceFit : true, + errorTpl : ''// + } + }, + defaultChildClass : { + value : 'form-field' + }, + align : { + value : { + points: ['tl','tl'] + } + }, + /** + * \u9519\u8bef\u4fe1\u606f\u7684\u5bf9\u9f50\u65b9\u5f0f + * @type {Object} + */ + errorAlign : { + value : { + points: ['bl','tl'], + offset : [0,10] + } + }, + /** + * \u663e\u793a\u9519\u8bef\u7684\u5f39\u51fa\u5c42 + * @type {BUI.Overlay.Overlay} + */ + overlay : { + + }, + /** + * \u7f16\u8f91\u5668\u4e2d\u9ed8\u8ba4\u4f7f\u7528\u6587\u672c\u5b57\u6bb5\u57df\u6765\u7f16\u8f91\u6570\u636e + * @type {Array} + */ + field : { + value : {} + } + } + },{ + xclass : 'editor' + }); + + return editor; +});/** + * @fileOverview \u5bf9\u8c61\u7f16\u8f91\u5668 + * @ignore + */ + +define('bui/editor/record',['bui/common','bui/editor/editor'],function (require) { + var BUI = require('bui/common'), + Editor = require('bui/editor/editor'); + + /** + * @class BUI.Editor.RecordEditor + * @extends BUI.Editor.Editor + * \u7f16\u8f91\u5668 + */ + var editor = Editor.extend({ + /** + * @protected + * @override + * \u83b7\u53d6\u7f16\u8f91\u7684\u6e90\u6570\u636e + * @return {String} \u8fd4\u56de\u9700\u8981\u7f16\u8f91\u7684\u6587\u672c + */ + getSourceValue : function(){ + return this.get('record'); + }, + /** + * @protected + * \u66f4\u65b0\u6587\u672c + * @param {Object} value \u7f16\u8f91\u5668\u7684\u503c + */ + updateSource : function(value){ + var _self = this, + record = _self.get('record'); + BUI.mix(record,value); + }, + _uiSetRecord : function(v){ + this.setValue(v); + } + },{ + ATTRS : { + + /** + * \u5185\u90e8\u63a7\u4ef6\u7684\u4ee3\u8868Value\u7684\u5b57\u6bb5 + * @protected + * @override + * @type {String} + */ + innerValueField : { + value : 'record' + }, + /** + * \u63a5\u53d7\u66f4\u6539\u7684\u4e8b\u4ef6 + * @type {String} + */ + acceptEvent : { + value : '' + }, + /** + * \u7a7a\u503c\u7684\u6570\u636e\uff0c\u6e05\u7a7a\u7f16\u8f91\u5668\u65f6\u4f7f\u7528 + * @protected + * @type {*} + */ + emptyValue : { + value : {} + }, + /** + * \u662f\u5426\u81ea\u52a8\u9690\u85cf + * @override + * @type {Boolean} + */ + autoHide : { + value : false + }, + /** + * \u7f16\u8f91\u7684\u8bb0\u5f55 + * @type {Object} + */ + record : { + value : {} + }, + /** + * \u5185\u90e8\u63a7\u4ef6\u914d\u7f6e\u9879\u7684\u5b57\u6bb5 + * @protected + * @type {String} + */ + controlCfgField : { + value : 'form' + }, + /** + * \u7f16\u8f91\u5668\u5185\u8868\u5355\u7684\u914d\u7f6e\u9879 + * @type {Object} + */ + form : { + value : {} + }, + /** + * \u9519\u8bef\u4fe1\u606f\u7684\u5bf9\u9f50\u65b9\u5f0f + * @type {Object} + */ + errorAlign : { + value : { + points: ['tr','tl'], + offset : [10,0] + } + }, + /** + * \u9ed8\u8ba4\u7684\u5b57\u6bb5\u57df\u914d\u7f6e\u9879 + * @type {Object} + */ + defaultChildCfg : { + valueFn : function(){ + var _self = this; + return { + xclass : 'form', + errorTpl : '', + showError : true, + showChildError : true, + defaultChildCfg : { + elCls : 'bui-inline-block', + tpl : '', + forceFit : true + }, + buttons : [ + { + btnCls : 'button button-primary', + text : '\u786e\u5b9a', + handler : function(){ + _self.accept(); + } + }, + { + btnCls : 'button', + text : '\u53d6\u6d88', + handler : function(){ + _self.cancel(); + } + }] + } + } + } + } + },{ + xclass : 'record-editor' + }); + + return editor; +});/** + * @fileOverview \u4f7f\u7528\u5f39\u51fa\u6846\u4f5c\u4e3a\u7f16\u8f91\u5668 + * @ignore + */ + +define('bui/editor/dialog',['bui/overlay','bui/editor/mixin'],function (require) { + var Dialog = require('bui/overlay').Dialog, + Mixin = require('bui/editor/mixin'); + + /** + * @class BUI.Editor.DialogEditor + * @extends BUI.Overlay.Dialog + * @mixins BUI.Editor.Mixin + * \u7f16\u8f91\u5668 + */ + var editor = Dialog.extend([Mixin],{ + /** + * @protected + * @override + * \u83b7\u53d6\u7f16\u8f91\u7684\u6e90\u6570\u636e + * @return {String} \u8fd4\u56de\u9700\u8981\u7f16\u8f91\u7684\u6587\u672c + */ + getSourceValue : function(){ + return this.get('record'); + }, + /** + * @protected + * @override + * \u5904\u7406enter\u952e + */ + handleNavEnter : function(ev){ + var _self = this, + success = _self.get('success'), + sender = ev.target; + if(sender.tagName === 'TEXTAREA'){ //\u6587\u672c\u8f93\u5165\u6846\uff0c\u4e0d\u786e\u5b9a\u9690\u85cf + return; + } + if(sender.tagName === 'BUTTON'){ + $(sender).trigger('click'); + } + if(success){ + success.call(_self); + }else{ + this.accept(); + } + }, + /** + * \u53d6\u6d88\u7f16\u8f91 + */ + cancel : function(){ + if(this.onCancel()!== false){ + this.fire('cancel'); + this.clearValue(); + this.close(); + } + }, + /** + * @protected + * \u66f4\u65b0\u6587\u672c + * @param {Object} value \u7f16\u8f91\u5668\u7684\u503c + */ + updateSource : function(value){ + var _self = this, + record = _self.get('record'); + BUI.mix(record,value); + }, + _uiSetRecord : function(v){ + this.setValue(v); + } + },{ + ATTRS : { + /** + * \u5185\u90e8\u63a7\u4ef6\u7684\u4ee3\u8868Value\u7684\u5b57\u6bb5 + * @protected + * @override + * @type {String} + */ + innerValueField : { + value : 'record' + }, + /** + * \u63a5\u53d7\u66f4\u6539\u7684\u4e8b\u4ef6 + * @type {String} + */ + acceptEvent : { + value : '' + }, + /** + * \u7f16\u8f91\u7684\u8bb0\u5f55 + * @type {Object} + */ + record : { + value : {} + }, + /** + * \u7a7a\u503c\u7684\u6570\u636e\uff0c\u6e05\u7a7a\u7f16\u8f91\u5668\u65f6\u4f7f\u7528 + * @protected + * @type {*} + */ + emptyValue : { + value : {} + }, + /** + * \u5185\u90e8\u63a7\u4ef6\u914d\u7f6e\u9879\u7684\u5b57\u6bb5 + * @protected + * @type {String} + */ + controlCfgField : { + value : 'form' + }, + /** + * dialog \u7f16\u8f91\u5668\u4e00\u822c\u7531\u6309\u94ae\u89e6\u53d1\uff0c\u5728\u89e6\u53d1\u65f6\u8bbe\u7f6e\u6570\u636e\u6e90 + * @override + * @type {String} + */ + changeSourceEvent : { + value : '' + }, + /** + * \u9ed8\u8ba4\u7684\u5b57\u6bb5\u57df\u914d\u7f6e\u9879 + * @type {Object} + */ + defaultChildCfg : { + value : { + xclass : 'form-horizontal' + } + }, + /** + * \u8bbe\u7f6e\u53ef\u4ee5\u83b7\u53d6\u4ea4\u5355 + * @type {Boolean} + */ + focusable : { + value : true + }, + success : { + value : function () { + this.accept(); + } + }, + /** + * \u7f16\u8f91\u5668\u5185\u8868\u5355\u7684\u914d\u7f6e\u9879 + * @type {Object} + */ + form : { + value : {} + } + } + },{ + xclass : 'dialog-editor' + }); + + return editor; +});/** + * @fileOverview \u8868\u683c\u547d\u540d\u7a7a\u95f4\u5165\u53e3 + * @ignore + */ + +define('bui/grid',['bui/common','bui/grid/simplegrid','bui/grid/grid','bui/grid/column','bui/grid/header','bui/grid/format','bui/grid/plugins'],function (require) { + + var BUI = require('bui/common'), + Grid = BUI.namespace('Grid'); + + BUI.mix(Grid,{ + SimpleGrid : require('bui/grid/simplegrid'), + Grid : require('bui/grid/grid'), + Column : require('bui/grid/column'), + Header : require('bui/grid/header'), + Format : require('bui/grid/format'), + Plugins : require('bui/grid/plugins') + }); + + return Grid; + +});/** + * @fileOverview \u7b80\u5355\u8868\u683c,\u4ec5\u7528\u4e8e\u5c55\u793a\u6570\u636e + * @author dxq613@gmail.com + * @ignore + */ +define('bui/grid/simplegrid',['bui/common','bui/list'],function(require) { + + var BUI = require('bui/common'), + List = require('bui/list'), + Component = BUI.Component, + UIBase = Component.UIBase, + PREFIX = BUI.prefix, + CLS_GRID = PREFIX + 'grid', + CLS_GRID_ROW = CLS_GRID + '-row', + CLS_ROW_ODD = PREFIX + 'grid-row-odd', + CLS_ROW_EVEN = PREFIX + 'grid-row-even', + CLS_GRID_BORDER = PREFIX + 'grid-border', + CLS_ROW_FIRST = PREFIX + 'grid-row-first'; + + + /** + * \u7b80\u5355\u8868\u683c\u7684\u89c6\u56fe\u7c7b + * @class BUI.Grid.SimpleGridView + * @extends BUI.List.SimpleListView + * @private + */ + var simpleGridView = List.SimpleListView.extend({ + /** + * \u8bbe\u7f6e\u5217 + * @internal + * @param {Array} columns \u5217\u96c6\u5408 + */ + setColumns : function(columns){ + var _self = this, + headerRowEl = _self.get('headerRowEl'); + + columns = columns || _self.get('columns'); + //\u6e05\u7a7a\u8868\u5934 + headerRowEl.empty(); + + BUI.each(columns,function(column){ + _self._createColumn(column,headerRowEl); + }); + }, + //\u521b\u5efa\u5217 + _createColumn : function(column,parent){ + var _self = this, + columnTpl = BUI.substitute(_self.get('columnTpl'),column); + $(columnTpl).appendTo(parent); + }, + /** + * \u83b7\u53d6\u884c\u6a21\u677f + * @ignore + */ + getItemTpl : function (record,index) { + var _self = this, + columns = _self.get('columns'), + rowTpl = _self.get('rowTpl'), + oddCls = index % 2 === 0 ? CLS_ROW_ODD : CLS_ROW_EVEN, + cellsTpl = [], + rowEl; + + BUI.each(columns, function (column) { + var dataIndex = column['dataIndex']; + cellsTpl.push(_self._getCellTpl(column, dataIndex, record)); + }); + + rowTpl = BUI.substitute(rowTpl,{cellsTpl:cellsTpl.join(''), oddCls:oddCls}); + return rowTpl; + }, + //get cell template by config and record + _getCellTpl:function (column, dataIndex, record) { + var _self = this, + renderer = column.renderer, + text = renderer ? renderer(record[dataIndex], record) : record[dataIndex], + cellTpl = _self.get('cellTpl'); + return BUI.substitute(cellTpl,{elCls : column.elCls,text:text}); + }, + /** + * \u6e05\u9664\u6570\u636e + * @ignore + */ + clearData : function(){ + var _self = this, + tbodyEl = _self.get('itemContainer'); + tbodyEl.empty(); + }, + showData : function(data){ + + var _self = this; + BUI.each(data,function(record,index){ + _self._createRow(record,index); + }); + }, + //\u8bbe\u7f6e\u5355\u5143\u683c\u8fb9\u6846 + _uiSetInnerBorder : function(v){ + var _self = this, + el = _self.get('el'); + if(v){ + el.addClass(CLS_GRID_BORDER); + }else{ + el.removeClass(CLS_GRID_BORDER); + } + }, + _uiSetTableCls : function(v){ + var _self = this, + tableEl = _self.get('el').find('table'); + tableEl.attr('class',v); + } + },{ + ATTRS : { + /** + * @private + * @ignore + */ + headerRowEl : { + valueFn :function(){ + var _self = this, + thead = _self.get('el').find('thead'); + return thead.children('tr'); + } + }, + /** + * @private + * @ignore + * @type {Object} + */ + itemContainer :{ + valueFn :function(){ + return this.get('el').find('tbody'); + } + }, + tableCls : { + + } + } + },{ + xclass:'simple-grid-veiw' + }); + + /** + * \u7b80\u5355\u8868\u683c + * xclass:'simple-grid' + *
                
                +   *  BUI.use('bui/grid',function(Grid){
                +   *     
                +   *    var columns = [{
                +   *             title : '\u8868\u59341(10%)',
                +   *             dataIndex :'a',
                +   *             width:'10%'
                +   *           },{
                +   *             id: '123',
                +   *             title : '\u8868\u59342(20%)',
                +   *             dataIndex :'b',
                +   *             width:'20%'
                +   *           },{
                +   *             title : '\u8868\u59343(70%)',
                +   *             dataIndex : 'c',
                +   *             width:'70%'
                +   *         }],
                +   *         data = [{a:'123'},{a:'cdd',b:'edd'},{a:'1333',c:'eee',d:2}];
                +   *
                +   *     var grid = new Grid.SimpleGrid({
                +   *       render:'#grid',
                +   *       columns : columns,
                +   *       items : data,
                +   *       idField : 'a'
                +   *     });
                +   *
                +   *     grid.render();
                +   *   });
                +   * 
                + * @class BUI.Grid.SimpleGrid + * @extends BUI.List.SimpleList + */ + var simpleGrid = BUI.List.SimpleList.extend( + /** + * @lends BUI.Grid.SimpleGrid.prototype + * @ignore + */ + { + renderUI : function(){ + this.get('view').setColumns(); + }, + /** + * \u7ed1\u5b9a\u4e8b\u4ef6 + * @protected + */ + bindUI : function(){ + var _self = this, + itemCls = _self.get('itemCls'), + hoverCls = itemCls + '-hover', + el = _self.get('el'); + + el.delegate('.'+itemCls,'mouseover',function(ev){ + var sender = $(ev.currentTarget); + sender.addClass(hoverCls); + }).delegate('.'+itemCls,'mouseout',function(ev){ + var sender = $(ev.currentTarget); + sender.removeClass(hoverCls); + }); + }, + /** + * \u663e\u793a\u6570\u636e + *
                
                +     *   var data = [{},{}];
                +     *   grid.showData(data);
                +     *
                +     *   //\u7b49\u540c
                +     *   grid.set('items',data);
                +     * 
                + * @param {Array} data \u8981\u663e\u793a\u7684\u6570\u636e + */ + showData : function(data){ + this.clearData(); + //this.get('view').showData(data); + this.set('items',data); + }, + /** + * \u6e05\u9664\u6570\u636e + */ + clearData : function(){ + this.get('view').clearData(); + }, + _uiSetColumns : function(columns){ + var _self = this; + + //\u91cd\u7f6e\u5217\uff0c\u5148\u6e05\u7a7a\u6570\u636e + _self.clearData(); + _self.get('view').setColumns(columns); + } + },{ + ATTRS : + /** + * @lends BUI.Grid.SimpleGrid# + * @ignore + */ + { + /** + * \u8868\u683c\u53ef\u70b9\u51fb\u9879\u7684\u6837\u5f0f + * @protected + * @type {String} + */ + itemCls : { + view:true, + value : CLS_GRID_ROW + }, + /** + * \u8868\u683c\u5e94\u7528\u7684\u6837\u5f0f\uff0c\u66f4\u6539\u6b64\u503c\uff0c\u5219\u4e0d\u5e94\u7528\u9ed8\u8ba4\u8868\u683c\u6837\u5f0f + *
                
                +       * grid = new Grid.SimpleGrid({
                +       *   render:'#grid',
                +       *   columns : columns,
                +       *   innerBorder : false,
                +       *   tableCls:'table table-bordered table-striped', 
                +       *   store : store 
                +       * }); 
                +       * 
                + * @type {Object} + */ + tableCls : { + view : true, + value : CLS_GRID + '-table' + }, + /** + * \u5217\u4fe1\u606f + * @cfg {Array} columns + */ + /** + * \u5217\u4fe1\u606f\uff0c\u4ec5\u652f\u6301\u4ee5\u4e0b\u914d\u7f6e\u9879\uff1a + *
                  + *
                1. title\uff1a\u6807\u9898
                2. + *
                3. elCls: \u5e94\u7528\u5230\u672c\u5217\u7684\u6837\u5f0f
                4. + *
                5. width\uff1a\u5bbd\u5ea6\uff0c\u6570\u5b57\u6216\u8005\u767e\u5206\u6bd4
                6. + *
                7. dataIndex: \u5b57\u6bb5\u540d
                8. + *
                9. renderer: \u6e32\u67d3\u51fd\u6570
                10. + *
                + * \u5177\u4f53\u5b57\u6bb5\u7684\u89e3\u91ca\u6e05\u53c2\u770b \uff1a {@link BUI.Grid.Column} + * @type {Array} + */ + columns : { + view : true, + sync:false, + value : [] + }, + /** + * \u6a21\u677f + * @protected + */ + tpl:{ + view : true, + value:'
                ' + }, + /** + * \u5355\u5143\u683c\u5de6\u53f3\u4e4b\u95f4\u662f\u5426\u51fa\u73b0\u8fb9\u6846 + *
                
                +       * 
                
                +       * grid = new Grid.SimpleGrid({
                +       *   render:'#grid',
                +       *   columns : columns,
                +       *   innerBorder : false,
                +       *   store : store 
                +       * }); 
                +       * 
                + *
                + * @cfg {Boolean} [innerBorder=true] + */ + /** + * \u5355\u5143\u683c\u5de6\u53f3\u4e4b\u95f4\u662f\u5426\u51fa\u73b0\u8fb9\u6846 + * @type {Boolean} + * @default true + */ + innerBorder : { + view:true, + value : true + }, + /** + * \u884c\u6a21\u7248 + * @type {Object} + */ + rowTpl:{ + view : true, + value:'{cellsTpl}' + }, + /** + * \u5355\u5143\u683c\u7684\u6a21\u7248 + * @type {String} + */ + cellTpl:{ + view:true, + value:'
                {text}
                ' + }, + /** + * \u5217\u7684\u914d\u7f6e\u6a21\u7248 + * @type {String} + */ + columnTpl : { + view:true, + value : '
                {title}
                ' + }, + /** + * @private + */ + events :{ + + value : { + + } + }, + xview : { + value : simpleGridView + } + } + },{ + xclass:'simple-grid' + }); + + simpleGrid.View = simpleGridView; + return simpleGrid; +});/** + * @fileOverview This class specifies the definition for a column of a grid. + * @author dxq613@gmail.com + * @ignore + */ + +define('bui/grid/column',['bui/common'],function (require) { + + var BUI = require('bui/common'), + PREFIX = BUI.prefix, + CLS_HD_TITLE = PREFIX + 'grid-hd-title', + CLS_OPEN = PREFIX + 'grid-hd-open', + SORT_PREFIX = 'sort-', + SORT_ASC = 'ASC', + SORT_DESC = 'DESC', + CLS_TRIGGER = PREFIX + 'grid-hd-menu-trigger', + CLS_HD_TRIGGER = 'grid-hd-menu-trigger'; + + /** + * \u8868\u683c\u5217\u7684\u89c6\u56fe\u7c7b + * @class BUI.Grid.ColumnView + * @extends BUI.Component.View + * @private + */ + var columnView = BUI.Component.View.extend({ + + /** + * @protected + * @ignore + */ + setTplContent : function(attrs){ + var _self = this, + sortTpl = _self.get('sortTpl'), + triggerTpl = _self.get('triggerTpl'), + el = _self.get('el'), + titleEl; + + columnView.superclass.setTplContent.call(_self,attrs); + titleEl = el.find('.' + CLS_HD_TITLE); + $(sortTpl).insertAfter(titleEl); + $(triggerTpl).insertAfter(titleEl); + + }, + //use template to fill the column + _setContent:function () { + this.setTplContent(); + }, + _uiSetShowMenu : function(v){ + var _self = this, + triggerTpl = _self.get('triggerTpl'), + el = _self.get('el'), + titleEl = el.find('.' + CLS_HD_TITLE); + if(v){ + $(triggerTpl).insertAfter(titleEl); + }else{ + el.find('.' + CLS_TRIGGER).remove(); + } + }, + //set the title of column + _uiSetTitle:function (title) { + if (!this.get('rendered')) { + return; + } + this._setContent(); + }, + //set the draggable of column + _uiSetDraggable:function (v) { + if (!this.get('rendered')) { + return; + } + this._setContent(); + }, + //set the sortableof column + _uiSetSortable:function (v) { + + if (!this.get('rendered')) { + return; + } + this._setContent(); + }, + //set the template of column + _uiSetTpl:function (v) { + if (!this.get('rendered')) { + return; + } + this._setContent(); + }, + //set the sort state of column + _uiSetSortState:function (v) { + var _self = this, + el = _self.get('el'), + method = v ? 'addClass' : 'removeClass', + ascCls = SORT_PREFIX + 'asc', + desCls = SORT_PREFIX + 'desc'; + el.removeClass(ascCls + ' ' + desCls); + if (v === 'ASC') { + el.addClass(ascCls); + } else if (v === 'DESC') { + el.addClass(desCls); + } + }, + //\u5c55\u5f00\u8868\u5934 + _uiSetOpen : function (v) { + var _self = this, + el = _self.get('el'); + if(v){ + el.addClass(CLS_OPEN); + }else{ + el.removeClass(CLS_OPEN); + } + } + }, { + ATTRS:{ + + /** + * @private + */ + sortTpl : { + view: true, + getter: function(){ + var _self = this, + sortable = _self.get('sortable'); + if(sortable){ + return ' '; + } + return ''; + } + }, + tpl:{ + } + } + }); + + /** + * \u8868\u683c\u7684\u5217\u5bf9\u8c61\uff0c\u5b58\u50a8\u5217\u4fe1\u606f\uff0c\u6b64\u5bf9\u8c61\u4e0d\u4f1a\u7531\u7528\u6237\u521b\u5efa\uff0c\u800c\u662f\u914d\u7f6e\u5728Grid\u4e2d + * xclass:'grid-column' + *
                
                +     * columns = [{
                +     *        title : '\u8868\u59341',
                +     *        dataIndex :'a',
                +     *        width:100
                +     *      },{
                +     *        title : '\u8868\u59342',
                +     *        dataIndex :'b',
                +     *        visible : false, //\u9690\u85cf
                +     *        width:200
                +     *      },{
                +     *        title : '\u8868\u59343',
                +     *        dataIndex : 'c',
                +     *        width:200
                +     *    }];
                +     * 
                + * @class BUI.Grid.Column + * @extends BUI.Component.Controller + */ + var column = BUI.Component.Controller.extend( + /** + * @lends BUI.Grid.Column.prototype + * @ignore + */ + { //toggle sort state of this column ,if no sort state set 'ASC',else toggle 'ASC' and 'DESC' + _toggleSortState:function () { + var _self = this, + sortState = _self.get('sortState'), + v = sortState ? (sortState === SORT_ASC ? SORT_DESC : SORT_ASC) : SORT_ASC; + _self.set('sortState', v); + }, + /** + * {BUI.Component.Controller#performActionInternal} + * @ignore + */ + performActionInternal:function (ev) { + var _self = this, + sender = $(ev.target), + prefix = _self.get('prefixCls'); + if (sender.hasClass(prefix + CLS_HD_TRIGGER)) { + + } else { + if (_self.get('sortable')) { + _self._toggleSortState(); + } + } + //_self.fire('click',{domTarget:ev.target}); + }, + _uiSetWidth : function(v){ + if(v){ + this.set('originWidth',v); + } + } + }, { + ATTRS: + /*** + * @lends BUI.Grid.Column.prototype + * @ignore + */ + { + /** + * The tag name of the rendered column + * @private + */ + elTagName:{ + value:'th' + }, + /** + * \u8868\u5934\u5c55\u5f00\u663e\u793a\u83dc\u5355\uff0c + * @type {Boolean} + * @protected + */ + open : { + view : true, + value : false + }, + /** + * \u6b64\u5217\u5bf9\u5e94\u663e\u793a\u6570\u636e\u7684\u5b57\u6bb5\u540d\u79f0 + *
                
                +                 * {
                +                 *     title : '\u8868\u59341',
                +                 *     dataIndex :'a', //\u5bf9\u5e94\u7684\u6570\u636e\u7684\u5b57\u6bb5\u540d\u79f0\uff0c\u5982 \uff1a {a:'123',b:'456'}
                +                 *     width:100
                +                 * }
                +                 * 
                + * @cfg {String} dataIndex + */ + /** + * \u6b64\u5217\u5bf9\u5e94\u663e\u793a\u6570\u636e\u7684\u5b57\u6bb5\u540d\u79f0 + * @type {String} + * @default {String} empty string + */ + dataIndex:{ + view:true, + value:'' + }, + /** + * \u662f\u5426\u53ef\u62d6\u62fd\uff0c\u6682\u65f6\u672a\u652f\u6301 + * @private + * @type {Boolean} + * @defalut true + */ + draggable:{ + sync:false, + view:true, + value:true + }, + /** + * \u7f16\u8f91\u5668,\u7528\u4e8e\u53ef\u7f16\u8f91\u8868\u683c\u4e2d
                + * ** \u5e38\u7528\u7f16\u8f91\u5668 ** + * - xtype \u6307\u7684\u662f\u8868\u5355\u5b57\u6bb5\u7684\u7c7b\u578b {@link BUI.Form.Field} + * - \u5176\u4ed6\u7684\u914d\u7f6e\u9879\u5bf9\u5e94\u4e8e\u8868\u5355\u5b57\u6bb5\u7684\u914d\u7f6e\u9879 + *
                
                +                 * columns = [
                +                 *   {title : '\u6587\u672c',dataIndex :'a',editor : {xtype : 'text'}}, 
                +                 *   {title : '\u6570\u5b57', dataIndex :'b',editor : {xtype : 'number',rules : {required : true}}},
                +                 *   {title : '\u65e5\u671f',dataIndex :'c', editor : {xtype : 'date'},renderer : Grid.Format.dateRenderer},
                +                 *   {title : '\u5355\u9009',dataIndex : 'd', editor : {xtype :'select',items : enumObj},renderer : Grid.Format.enumRenderer(enumObj)},
                +                 *   {title : '\u591a\u9009',dataIndex : 'e', editor : {xtype :'select',select:{multipleSelect : true},items : enumObj},
                +                 *       renderer : Grid.Format.multipleItemsRenderer(enumObj)
                +                 *   }
                +                 * ]
                +                 * 
                + * @type {Object} + */ + editor:{ + + }, + /** + * \u662f\u5426\u53ef\u4ee5\u83b7\u53d6\u7126\u70b9 + * @protected + */ + focusable:{ + value:false + }, + /** + * \u56fa\u5b9a\u5217,\u4e3b\u8981\u7528\u4e8e\u5728\u9996\u884c\u663e\u793a\u4e00\u4e9b\u7279\u6b8a\u5185\u5bb9\uff0c\u5982\u5355\u9009\u6846\uff0c\u590d\u9009\u6846\uff0c\u5e8f\u53f7\u7b49\u3002\u63d2\u4ef6\u4e0d\u80fd\u5bf9\u6b64\u5217\u8fdb\u884c\u7279\u6b8a\u64cd\u4f5c\uff0c\u5982\uff1a\u79fb\u52a8\u4f4d\u7f6e\uff0c\u9690\u85cf\u7b49 + * @cfg {Boolean} fixed + */ + fixed : { + value : false + }, + /** + * \u63a7\u4ef6\u7684\u7f16\u53f7 + * @cfg {String} id + */ + id:{ + + }, + /** + * \u6e32\u67d3\u8868\u683c\u5355\u5143\u683c\u7684\u683c\u5f0f\u5316\u51fd\u6570 + * "function(value,obj,index){return value;}" + *
                
                +                 * {title : '\u64cd\u4f5c',renderer : function(){
                +                 *     return '\u7f16\u8f91'
                +                 *   }}
                +                 * 
                + * @cfg {Function} renderer + */ + renderer:{ + + }, + /** + * \u662f\u5426\u53ef\u4ee5\u8c03\u6574\u5bbd\u5ea6\uff0c\u5e94\u7528\u4e8e\u62d6\u62fd\u6216\u8005\u81ea\u9002\u5e94\u5bbd\u5ea6\u65f6 + * @type {Boolean} + * @protected + * @default true + */ + resizable:{ + value:true + }, + /* \u662f\u5426\u53ef\u4ee5\u6309\u7167\u6b64\u5217\u6392\u5e8f\uff0c\u5982\u679c\u8bbe\u7f6etrue,\u90a3\u4e48\u70b9\u51fb\u5217\u5934\u65f6 + *
                
                +                 *     {title : '\u6570\u5b57', dataIndex :'b',sortable : false},
                +                 * 
                + * @cfg {Boolean} [sortable=true] + */ + sortable:{ + sync:false, + view:true, + value:true + }, + /** + * \u6392\u5e8f\u72b6\u6001\uff0c\u5f53\u524d\u6392\u5e8f\u662f\u6309\u7167\u5347\u5e8f\u3001\u964d\u5e8f\u3002\u67093\u79cd\u503c null, 'ASC','DESC' + * @type {String} + * @protected + * @default null + */ + sortState:{ + view:true, + value:null + }, + /** + * \u5217\u6807\u9898 + * @cfg {String} [title= ] + */ + /** + * \u5217\u6807\u9898 + *
                
                +                 * var column = grid.findColumn('id');
                +                 * column.get('title');
                +                 * 
                + * Note: to have a clickable header with no text displayed you can use the default of   aka  . + * @type {String} + * @default {String}   + */ + title:{ + sync:false, + view:true, + value:' ' + }, + + /** + * \u5217\u7684\u5bbd\u5ea6,\u53ef\u4ee5\u4f7f\u6570\u5b57\u6216\u8005\u767e\u5206\u6bd4,\u4e0d\u8981\u4f7f\u7528 width : '100'\u6216\u8005width : '100px' + *
                
                +                 *  {title : '\u6587\u672c',width:100,dataIndex :'a',editor : {xtype : 'text'}}
                +                 *  
                +                 *  {title : '\u6587\u672c',width:'10%',dataIndex :'a',editor : {xtype : 'text'}}
                +                 * 
                + * @cfg {Number} [width = 80] + */ + + /** + * \u5217\u5bbd\u5ea6 + *
                
                +                 *  grid.findColumn(id).set('width',200);
                +                 * 
                + * + * @type {Number} + */ + width:{ + value:100 + }, + /** + * \u662f\u5426\u663e\u793a\u83dc\u5355 + * @cfg {Boolean} [showMenu=false] + */ + /** + * \u662f\u5426\u663e\u793a\u83dc\u5355 + * @type {Boolean} + * @default false + */ + showMenu:{ + view:true, + value:false + }, + /** + * @private + * @type {Object} + */ + triggerTpl:{ + view:true, + value:'' + + }, + /** + * An template used to create the internal structure inside this Component's encapsulating Element. + * User can use the syntax of KISSY 's template component. + * Only in the configuration of the column can set this property. + * @type {String} + */ + tpl:{ + sync:false, + view:true, + value:'
                ' + + '{title}' + + '
                ' + }, + /** + * \u5355\u5143\u683c\u7684\u6a21\u677f\uff0c\u5728\u5217\u4e0a\u8bbe\u7f6e\u5355\u5143\u683c\u7684\u6a21\u677f\uff0c\u53ef\u4ee5\u5728\u6e32\u67d3\u5355\u5143\u683c\u65f6\u4f7f\u7528\uff0c\u66f4\u6539\u5355\u5143\u683c\u7684\u5185\u5bb9 + * @cfg {String} cellTpl + */ + /** + * \u5355\u5143\u683c\u7684\u6a21\u677f\uff0c\u5728\u5217\u4e0a\u8bbe\u7f6e\u5355\u5143\u683c\u7684\u6a21\u677f\uff0c\u53ef\u4ee5\u5728\u6e32\u67d3\u5355\u5143\u683c\u65f6\u4f7f\u7528\uff0c\u66f4\u6539\u5355\u5143\u683c\u7684\u5185\u5bb9 + * @type {String} + */ + cellTpl:{ + value:'' + }, + /** + * the collection of column's events + * @protected + * @type {Array} + */ + events:{ + value:{ + /** + * @event + * Fires when this column's width changed + * @param {jQuery.Event} e the event object + * @param {BUI.Grid.Column} target + */ + 'afterWidthChange' : true, + /** + * @event + * Fires when this column's sort changed + * @param {jQuery.Event} e the event object + * @param {BUI.Grid.Column} e.target + */ + 'afterSortStateChange' : true, + /** + * @event + * Fires when this column's hide or show + * @param {jQuery.Event} e the event object + * @param {BUI.Grid.Column} e.target + */ + 'afterVisibleChange' : true, + /** + * @event + * Fires when use clicks the column + * @param {jQuery.Event} e the event object + * @param {BUI.Grid.Column} e.target + * @param {HTMLElement} domTarget the dom target of this event + */ + 'click' : true, + /** + * @event + * Fires after the component is resized. + * @param {BUI.Grid.Column} target + * @param {Number} adjWidth The box-adjusted width that was set + * @param {Number} adjHeight The box-adjusted height that was set + */ + 'resize' : true, + /** + * @event + * Fires after the component is moved. + * @param {jQuery.Event} e the event object + * @param {BUI.Grid.Column} e.target + * @param {Number} x The new x position + * @param {Number} y The new y position + */ + 'move' : true + } + }, + /** + * @private + */ + xview:{ + value:columnView + } + + } + }, { + xclass:'grid-hd', + priority:1 + }); + + column.Empty = column.extend({ + + }, { + ATTRS:{ + type:{ + value:'empty' + }, + sortable:{ + view:true, + value:false + }, + width:{ + view:true, + value:null + }, + tpl:{ + view:true, + value:'
                ' + } + } + }, { + xclass:'grid-hd-empty', + priority:1 + }); + + return column; + +}); + +/** + * @fileOverview \u8868\u683c\u7684\u5934\u90e8 + * @author dxq613@gmail.com, yiminghe@gmail.com + * @ignore + */ + +define('bui/grid/header',['bui/common','bui/grid/column'],function(require) { + + var BUI = require('bui/common'), + PREFIX = BUI.prefix, + Grid = BUI.namespace('Grid'), + Column = require('bui/grid/column'), + View = BUI.Component.View, + Controller = BUI.Component.Controller, + CLS_SCROLL_WITH = 17, + UA = BUI.UA; + + /** + * \u8868\u683c\u63a7\u4ef6\u4e2d\u8868\u5934\u7684\u89c6\u56fe\u7c7b + * @class BUI.Grid.HeaderView + * @extends BUI.Component.View + * @private + */ + var headerView = View.extend({ + + /** + * @see {Component.Render#getContentElement} + * @ignore + */ + getContentElement:function () { + return this.get('el').find('tr'); + }, + scrollTo:function (obj) { + var _self = this, + el = _self.get('el'); + if (obj.top !== undefined) { + el.scrollTop(obj.top); + } + if (obj.left !== undefined) { + el.scrollLeft(obj.left); + } + }, + _uiSetTableCls : function(v){ + var _self = this, + tableEl = _self.get('el').find('table'); + tableEl.attr('class',v); + } + }, { + ATTRS:{ + emptyCellEl:{}, + tableCls : { + + } + } + },{ + xclass : 'header-view' + }); + /** + * Container which holds headers and is docked at the top or bottom of a Grid. + * The HeaderContainer drives resizing/moving/hiding of columns within the GridView. + * As headers are hidden, moved or resized, + * the header container is responsible for triggering changes within the view. + * If you are not in the writing plugins, don't direct manipulation this control. + * @class BUI.Grid.Header + * @protected + * xclass:'grid-header' + * @extends BUI.Component.Controller + */ + var header = Controller.extend( + /** + * @lends BUI.Grid.Header.prototype + * @ignore + */ + { + /** + * add a columns to header + * @param {Object|BUI.Grid.Column} c The column object or column config. + * @index {Number} index The position of the column in a header,0 based. + */ + addColumn:function (c, index) { + var _self = this, + insertIndex = 0, + columns = _self.get('columns'); + c = _self._createColumn(c); + if (index === undefined) { + index = columns.length; + insertIndex = _self.get('children').length - 1; + } + columns.splice(index, 0, c); + _self.addChild(c, insertIndex); + _self.fire('add', {column:c, index:index}); + return c; + }, + /** + * remove a columns from header + * @param {BUI.Grid.Column|Number} c is The column object or The position of the column in a header,0 based. + */ + removeColumn:function (c) { + var _self = this, + columns = _self.get('columns'), + index; + c = BUI.isNumber(c) ? columns[c] : c; + index = BUI.Array.indexOf(c, columns); + columns.splice(index, 1); + _self.fire('remove', {column:c, index:index}); + return _self.removeChild(c, true); + }, + /** + * For overridden. + * @see Component.Controller#bindUI + */ + bindUI:function () { + var _self = this; + _self._bindColumnsEvent(); + }, + /* + * For overridden. + * @protected + * + */ + initializer:function () { + var _self = this, + children = _self.get('children'), + columns = _self.get('columns'), + emptyColumn = _self._createEmptyColumn(); + $.each(columns, function (index,item) { + var columnControl = _self._createColumn(item); + children[index] = columnControl; + columns[index] = columnControl; + }); + children.push(emptyColumn); + _self.set('emptyColumn',emptyColumn); + }, + /** + * get the columns of this header,the result equals the 'children' property . + * @return {Array} columns + * @example var columns = header.getColumns(); + *
                or
                + * var columns = header.get('children'); + */ + getColumns:function () { + return this.get('columns'); + }, + /** + * Obtain the sum of the width of all columns + * @return {Number} + */ + getColumnsWidth:function () { + var _self = this, + columns = _self.getColumns(), + totalWidth = 0; + + $.each(columns, function (index,column) { + if (column.get('visible')) { + totalWidth += column.get('el').outerWidth();//column.get('width') + } + }); + return totalWidth; + }, + getColumnOriginWidth : function(){ + var _self = this, + columns = _self.getColumns(), + totalWidth = 0; + + $.each(columns, function (index,column) { + if (column.get('visible')) { + var width = column.get('originWidth') || column.get('width'); + totalWidth += width; + } + }); + return totalWidth; + }, + /** + * get {@link BUI.Grid.Column} instance by index,when column moved ,the index changed. + * @param {Number} index The index of columns + * @return {BUI.Grid.Column} the column in the header,if the index outof the range,the result is null + */ + getColumnByIndex:function (index) { + var _self = this, + columns = _self.getColumns(), + result = columns[index]; + return result; + }, + /** + * \u67e5\u627e\u5217 + * @param {Function} func \u5339\u914d\u51fd\u6570\uff0cfunction(column){} + * @return {BUI.Grid.Column} \u67e5\u627e\u5230\u7684\u5217 + */ + getColumn:function (func) { + var _self = this, + columns = _self.getColumns(), + result = null; + $.each(columns, function (index,column) { + if (func(column)) { + result = column; + return false; + } + }); + return result; + }, + /** + * get {@link BUI.Grid.Column} instance by id,when column rendered ,this id can't to be changed + * @param {String|Number}id The id of columns + * @return {BUI.Grid.Column} the column in the header,if the index out of the range,the result is null + */ + getColumnById:function (id) { + var _self = this; + return _self.getColumn(function(column){ + return column.get('id') === id; + }); + }, + /** + * get {@link BUI.Grid.Column} instance's index,when column moved ,the index changed. + * @param {BUI.Grid.Column} column The instance of column + * @return {Number} the index of column in the header,if the column not in the header,the index is -1 + */ + getColumnIndex:function (column) { + var _self = this, + columns = _self.getColumns(); + return BUI.Array.indexOf(column, columns); + }, + /** + * move the header followed by body's or document's scrolling + * @param {Object} obj the scroll object which has two value:top(scrollTop),left(scrollLeft) + */ + scrollTo:function (obj) { + this.get('view').scrollTo(obj); + }, + //when column's event fire ,this header must handle them. + _bindColumnsEvent:function () { + var _self = this; + + _self.on('afterWidthChange', function (e) { + var sender = e.target; + if (sender !== _self) { + _self.setTableWidth(); + } + }); + _self.on('afterVisibleChange', function (e) { + var sender = e.target; + if (sender !== _self) { + _self.setTableWidth(); + } + }); + _self.on('afterSortStateChange', function (e) { + var sender = e.target, + columns = _self.getColumns(), + val = e.newVal; + if (val) { + $.each(columns, function (index,column) { + if (column !== sender) { + column.set('sortState', ''); + } + }); + } + }); + + _self.on('add',function(){ + _self.setTableWidth(); + }); + _self.on('remove',function(){ + _self.setTableWidth(); + }); + }, + //create the column control + _createColumn:function (cfg) { + if (cfg instanceof Column) { + return cfg; + } + if (!cfg.id) { + cfg.id = BUI.guid('col'); + } + return new Column(cfg); + }, + _createEmptyColumn:function () { + return new Column.Empty(); + }, + //when set grid's height, scroll bar emerged. + _isAllowScrollLeft:function () { + var _self = this, + parent = _self.get('parent'); + + return parent && !!parent.get('height'); + }, + /** + * force every column fit the table's width + */ + forceFitColumns:function () { + + var _self = this, + columns = _self.getColumns(), + width = _self.get('width'), + totalWidth = width, + totalColumnsWidth = _self.getColumnOriginWidth(), + realWidth = 0, + appendWidth = 0, + lastShowColumn = null, + allowScroll = _self._isAllowScrollLeft(); + + /** + * @private + */ + function setColoumnWidthSilent(column,colWidth){ + var columnEl = column.get('el'); + column.set('width',colWidth , { + silent:1 + }); + columnEl.width(colWidth); + } + //if there is not a width config of grid ,The forceFit action can't work + if (width) { + if (allowScroll) { + width -= CLS_SCROLL_WITH; + totalWidth = width; + } + + var adjustCount = 0; + + $.each(columns, function (index,column) { + if (column.get('visible') && column.get('resizable')) { + adjustCount++; + } + if (column.get('visible') && !column.get('resizable')) { + var colWidth = column.get('el').outerWidth(); + totalWidth -= colWidth; + totalColumnsWidth -= colWidth; + } + }); + + var colWidth = Math.floor(totalWidth / adjustCount), + ratio = totalWidth / totalColumnsWidth; + if(ratio ===1){ + return; + } + $.each(columns, function (index,column) { + if (column.get('visible') && column.get('resizable')) { + + var borderWidth = _self._getColumnBorderWith(column,index), + originWidth = column.get('originWidth'); + if(!originWidth){ + column.set('originWidth',column.get('width')); + originWidth = column.get('width'); + } + colWidth = Math.floor((originWidth + borderWidth) * ratio); + /* parseInt(columnEl.css('border-left-width')) || 0 + + parseInt(columnEl.css('border-right-width')) || 0;*/ + // \uff01 note + // + // \u4f1a\u518d\u8c03\u7528 setTableWidth\uff0c \u5faa\u73af\u8c03\u7528 || + setColoumnWidthSilent(column,colWidth - borderWidth); + realWidth += colWidth; + lastShowColumn = column; + } + }); + + if(lastShowColumn){ + appendWidth = totalWidth - realWidth; + setColoumnWidthSilent(lastShowColumn,lastShowColumn.get('width') + appendWidth); + } + + _self.fire('forceFitWidth'); + } + + }, + _getColumnBorderWith : function(column,index){ + //chrome \u4e0bborder-left-width\u53d6\u7684\u503c\u4e0d\u5c0f\u6570\uff0c\u6240\u4ee5\u6682\u65f6\u4f7f\u7528\u56fa\u5b9a\u8fb9\u6846 + //\u7b2c\u4e00\u4e2a\u8fb9\u6846\u65e0\u5bbd\u5ea6\uff0cie \u4e0b\u4ecd\u7136\u5b58\u5728Bug\uff0c\u6240\u4ee5\u505aie \u7684\u517c\u5bb9 + var columnEl = column.get('el'), + borderWidth = Math.round(parseFloat(columnEl.css('border-left-width')) || 0) + + Math.round(parseFloat(columnEl.css('border-right-width')) || 0); + + borderWidth = UA.ie && UA.ie < 8 ? (index === 0 ? 1 : borderWidth) : borderWidth; + return borderWidth; + }, + /** + * set the header's inner table's width + */ + setTableWidth:function () { + var _self = this, + width = _self.get('width'), + totalWidth = 0, + emptyColumn = null; + if(width == 'auto'){ + //_self.get('el').find('table').width() + return; + } + if (_self.get('forceFit')) { + _self.forceFitColumns(); + }else if(_self._isAllowScrollLeft()){ + totalWidth = _self.getColumnsWidth(); + emptyColumn = _self.get('emptyColumn'); + if(width < totalWidth){ + emptyColumn.get('el').width(CLS_SCROLL_WITH); + }else{ + emptyColumn.get('el').width('auto'); + } + } + }, + //when header's width changed, it also effects its columns. + _uiSetWidth:function () { + var _self = this; + _self.setTableWidth(); + }, + _uiSetForceFit:function (v) { + var _self = this; + if (v) { + _self.setTableWidth(); + } + } + + }, { + ATTRS: + /** + * @lends BUI.Grid.Header.prototype + * @ignore + * */ + { + /** + * \u5217\u96c6\u5408 + * @type {Array} + */ + columns:{ + value:[] + }, + /** + * @private + */ + emptyColumn:{ + + }, + /** + * \u662f\u5426\u53ef\u4ee5\u83b7\u53d6\u7126\u70b9 + * @protected + */ + focusable:{ + value:false + }, + /** + * true to force the columns to fit into the available width. Headers are first sized according to configuration, whether that be a specific width, or flex. + * Then they are all proportionally changed in width so that the entire content width is used. + * @type {Boolean} + * @default 'false' + */ + forceFit:{ + sync:false, + view:true, + value:false + }, + /** + * \u8868\u5934\u7684\u6a21\u7248 + * @type {String} + */ + tpl : { + + view : true, + value : '' + + '' + + '
                ' + }, + /** + * \u8868\u683c\u5e94\u7528\u7684\u6837\u5f0f. + */ + tableCls:{ + view:true + }, + /** + * @private + */ + xview:{ + value:headerView + }, + /** + * the collection of header's events + * @type {Array} + * @protected + */ + events:{ + value:{ + /** + * @event + * \u6dfb\u52a0\u5217\u65f6\u89e6\u53d1 + * @param {jQuery.Event} e the event object + * @param {BUI.Grid.Column} e.column which column added + * @param {Number} index the add column's index in this header + * + */ + 'add' : false, + /** + * @event + * \u79fb\u9664\u5217\u65f6\u89e6\u53d1 + * @param {jQuery.Event} e the event object + * @param {BUI.Grid.Column} e.column which column removed + * @param {Number} index the removed column's index in this header + */ + 'remove' : false + } + } + } + }, { + xclass:'grid-header', + priority:1 + }); + + return header; +});/** + * @fileOverview \u8868\u683c + * @ignore + * @author dxq613@gmail.com + */ + +define('bui/grid/grid',['bui/common','bui/mask','bui/toolbar','bui/list','bui/grid/header','bui/grid/column'],function (require) { + + var BUI = require('bui/common'), + Mask = require('bui/mask'), + UA = BUI.UA, + Component = BUI.Component, + toolbar = require('bui/toolbar'), + List = require('bui/list'), + Header = require('bui/grid/header'), + Column = require('bui/grid/column'); + + function isPercent(str){ + if(BUI.isString(str)){ + return str.indexOf('%') !== -1; + } + return false; + } + + var PREFIX = BUI.prefix, + CLS_GRID_HEADER_CONTAINER = PREFIX + 'grid-header-container', + CLS_GRID_BODY = PREFIX + 'grid-body', + CLS_GRID_WITH = PREFIX + 'grid-width', + CLS_GRID_HEIGHT = PREFIX + 'grid-height', + CLS_GRID_BORDER = PREFIX + 'grid-border', + CLS_GRID_TBAR = PREFIX + 'grid-tbar', + CLS_GRID_BBAR = PREFIX + 'grid-bbar', + CLS_BUTTON_BAR= PREFIX + 'grid-button-bar', + CLS_GRID_STRIPE = PREFIX + 'grid-strip', + CLS_GRID_ROW = PREFIX + 'grid-row', + CLS_ROW_ODD = PREFIX + 'grid-row-odd', + CLS_ROW_EVEN = PREFIX + 'grid-row-even', + CLS_ROW_FIRST = PREFIX + 'grid-row-first', + CLS_GRID_CELL = PREFIX + 'grid-cell', + CLS_GRID_CELL_INNER = PREFIX + 'grid-cell-inner', + CLS_TD_PREFIX = 'grid-td-', + CLS_CELL_TEXT = PREFIX + 'grid-cell-text', + CLS_CELL_EMPTY = PREFIX + 'grid-cell-empty', + CLS_SCROLL_WITH = '17', + CLS_HIDE = PREFIX + 'hidden', + ATTR_COLUMN_FIELD = 'data-column-field', + WIDTH_BORDER = 2, + HEIGHT_BAR_PADDING = 1; + + function getInnerWidth(width){ + var _self = this; + if(BUI.isNumber(width)){ + width -= WIDTH_BORDER; + } + return width; + } + + /** + * @class BUI.Grid.GridView + * @private + * @extends BUI.List.SimpleListView + * \u8868\u683c\u7684\u89c6\u56fe\u5c42 + */ + var gridView = List.SimpleListView.extend({ + + //\u8bbe\u7f6e body\u548ctable\u7684\u6807\u7b7e + renderUI : function(){ + var _self = this, + el = _self.get('el'), + bodyEl = el.find('.' + CLS_GRID_BODY); + _self.set('bodyEl',bodyEl); + _self._setTableTpl(); + }, + /** + * \u83b7\u53d6\u884c\u6a21\u677f + * @ignore + */ + getItemTpl : function (record,index) { + var _self = this, + columns = _self._getColumns(), + tbodyEl = _self.get('tbodyEl'), + rowTpl = _self.get('rowTpl'), + oddCls = index % 2 === 0 ? CLS_ROW_ODD : CLS_ROW_EVEN, + cellsTpl = [], + rowEl; + + $.each(columns, function (index,column) { + var dataIndex = column.get('dataIndex'); + cellsTpl.push(_self._getCellTpl(column, dataIndex, record)); + }); + + if(_self.get('useEmptyCell')){ + cellsTpl.push(_self._getEmptyCellTpl()); + } + + rowTpl = BUI.substitute(rowTpl,{cellsTpl:cellsTpl.join(''), oddCls:oddCls}); + return rowTpl; + }, + /** + * find the dom by the record in this component + * @param {Object} record the record used to find row dom + * @return jQuery + */ + findRow:function (record) { + var _self = this; + return $(_self.findElement(record)); + }, + /** + * find the cell dom by record and column id + * @param {String} id the column id + * @param {jQuery} rowEl the dom that showed in this component + * @return {jQuery} + */ + findCell : function(id,rowEl){ + var cls = CLS_TD_PREFIX + id; + return rowEl.find('.' + cls); + }, + /** + * \u91cd\u65b0\u521b\u5efa\u8868\u683c\u7684\u9996\u884c\uff0c\u4e00\u822c\u5728\u8868\u683c\u521d\u59cb\u5316\u5b8c\u6210\u540e\uff0c\u6216\u8005\u5217\u53d1\u751f\u6539\u53d8\u65f6 + */ + resetHeaderRow:function () { + if(!this.get('useHeaderRow')){ + return; + } + var _self = this, + headerRowEl = _self.get('headerRowEl'), + tbodyEl = _self.get('tbodyEl'); + if(headerRowEl){ + headerRowEl.remove(); + } + headerRowEl = _self._createHeaderRow(); + headerRowEl.prependTo(tbodyEl); + _self.set('headerRowEl', headerRowEl); + }, + /** + * when header's column width changed, column in this component changed followed + * @ignore + */ + resetColumnsWidth:function (column,width) { + var _self = this, + headerRowEl = _self.get('headerRowEl'), + cell = _self.findCell(column.get('id'), headerRowEl); + width = width || column.get('width'); + if (cell) { + cell.width(width); + } + _self.setTableWidth(); + }, + //set table width + setTableWidth:function (columnsWidth) { + if(!columnsWidth && isPercent(this.get('width'))){ + this.get('tableEl').width('100%'); + return; + } + var _self = this, + width = _self._getInnerWidth(), + height = _self.get('height'), + tableEl = _self.get('tableEl'), + forceFit = _self.get('forceFit'), + headerRowEl = _self.get('headerRowEl'); + //\u4f7f\u7528\u767e\u5206\u6bd4\u7684\u5bbd\u5ea6\uff0c\u4e0d\u8fdb\u884c\u8ba1\u7b97 + if(!isPercent(columnsWidth)){ + + columnsWidth = columnsWidth || _self._getColumnsWidth(); + if (!width) { + return; + } + if (width >= columnsWidth) { + columnsWidth = width; + if (height) { + var scrollWidth = (UA.ie == 6 || UA.ie == 7) ? CLS_SCROLL_WITH + 2 : CLS_SCROLL_WITH; + columnsWidth = width - scrollWidth; + } + } + } + + tableEl.width(columnsWidth); + }, + /** + * \u8868\u683c\u8868\u4f53\u7684\u5bbd\u5ea6 + * @param {Number} width \u5bbd\u5ea6 + */ + setBodyWidth : function(width){ + var _self = this, + bodyEl = _self.get('bodyEl'); + width = width || _self._getInnerWidth(); + bodyEl.width(width); + + }, + /** + * \u8bbe\u7f6e\u8868\u4f53\u9ad8\u5ea6 + * @param {Number} height \u9ad8\u5ea6 + */ + setBodyHeight : function(height){ + var _self = this, + bodyEl = _self.get('bodyEl'), + bodyHeight = height, + siblings = bodyEl.siblings(); + + BUI.each(siblings,function(item){ + if($(item).css('display') !== 'none'){ + bodyHeight -= $(item).outerHeight(); + } + }); + bodyEl.height(bodyHeight); + }, + //show or hide column + setColumnVisible:function (column) { + var _self = this, + hide = !column.get('visible'), + colId = column.get('id'), + tbodyEl = _self.get('tbodyEl'), + cells = $('.' + CLS_TD_PREFIX + colId,tbodyEl); + if (hide) { + cells.hide(); + } else { + cells.show(); + } + }, + /** + * \u66f4\u65b0\u6570\u636e + * @param {Object} record \u66f4\u65b0\u7684\u6570\u636e + */ + updateItem : function(record){ + var _self = this, + items = _self.getItems(), + index = BUI.Array.indexOf(record,items), + columns = _self._getColumns(), + element = null, + tpl; + if(index >=0 ){ + element = _self.findElement(record); + + BUI.each(columns,function(column){ + var cellEl = _self.findCell(column.get('id'),$(element)), + innerEl = cellEl.find('.' + CLS_GRID_CELL_INNER), + textTpl = _self._getCellText(column,record); + innerEl.html(textTpl); + }); + return element; + } + }, + /** + * \u663e\u793a\u6ca1\u6709\u6570\u636e\u65f6\u7684\u63d0\u793a\u4fe1\u606f + */ + showEmptyText : function(){ + var _self = this, + bodyEl = _self.get('bodyEl'), + emptyDataTpl = _self.get('emptyDataTpl'), + emptyEl = _self.get('emptyEl'); + if(emptyEl){ + emptyEl.remove(); + } + var emptyEl = $(emptyDataTpl).appendTo(bodyEl); + _self.set('emptyEl',emptyEl); + }, + /** + * \u6e05\u9664\u6ca1\u6709\u6570\u636e\u65f6\u7684\u63d0\u793a\u4fe1\u606f + */ + clearEmptyText : function(){ + var _self = this, + emptyEl = _self.get('emptyEl'); + if(emptyEl){ + emptyEl.remove(); + } + }, + //\u8bbe\u7f6e\u7b2c\u4e00\u884c\u7a7a\u767d\u884c\uff0c\u4e0d\u663e\u793a\u4efb\u4f55\u6570\u636e\uff0c\u4ec5\u7528\u4e8e\u8bbe\u7f6e\u5217\u7684\u5bbd\u5ea6 + _createHeaderRow:function () { + var _self = this, + columns = _self._getColumns(), + tbodyEl = _self.get('tbodyEl'), + rowTpl = _self.get('headerRowTpl'), + rowEl, + cellsTpl = []; + + $.each(columns, function (index,column) { + cellsTpl.push(_self._getHeaderCellTpl(column)); + }); + + //if this component set width,add a empty column to fit row width + if(_self.get('useEmptyCell')){ + cellsTpl.push(_self._getEmptyCellTpl()); + } + rowTpl = BUI.substitute(rowTpl,{cellsTpl:cellsTpl.join('')}); + rowEl = $(rowTpl).appendTo(tbodyEl); + return rowEl; + }, + //get the sum of the columns' width + _getColumnsWidth:function () { + var _self = this, + columns = _self.get('columns'), + totalWidth = 0; + + BUI.each(columns, function (column) { + if (column.get('visible')) { + totalWidth += column.get('el').outerWidth(); + } + }); + return totalWidth; + }, + //\u83b7\u53d6\u5217\u96c6\u5408 + _getColumns : function(){ + return this.get('columns'); + }, + //get cell text by record and column + _getCellText:function (column, record) { + var _self = this, + dataIndex = column.get('dataIndex'), + textTpl = column.get('cellTpl') || _self.get('cellTextTpl'), + text = _self._getCellInnerText(column,dataIndex, record); + return BUI.substitute(textTpl,{text:text, tips:_self._getTips(column, dataIndex, record)}); + }, + _getCellInnerText : function(column,dataIndex, record){ + //renderer \u65f6\u53d1\u751f\u9519\u8bef\u53ef\u80fd\u6027\u5f88\u9ad8 + try{ + var _self = this, + renderer = column.get('renderer'), + text = renderer ? renderer(record[dataIndex], record) : record[dataIndex]; + return text == null ? '' : text; + }catch(ex){ + throw 'column:' + column.get('title') +' fomat error!'; + } + }, + //get cell template by config and record + _getCellTpl:function (column, dataIndex, record) { + var _self = this, + cellText = _self._getCellText(column, record), + cellTpl = _self.get('cellTpl'); + return BUI.substitute(cellTpl,{ + elCls : column.get('elCls'), + id:column.get('id'), + dataIndex:dataIndex, + cellText:cellText, + hideCls:!column.get('visible') ? CLS_HIDE : '' + }); + }, + //\u83b7\u53d6\u7a7a\u767d\u5355\u5143\u683c\u7684\u6a21\u677f + _getEmptyCellTpl:function () { + return ' '; + }, + //\u83b7\u53d6\u7a7a\u767d\u884c\u5355\u5143\u683c\u6a21\u677f + _getHeaderCellTpl:function (column) { + var _self = this, + headerCellTpl = _self.get('headerCellTpl'); + return BUI.substitute(headerCellTpl,{ + id:column.get('id'), + width:column.get('width'), + hideCls:!column.get('visible') ? CLS_HIDE : '' + }); + }, + //\u83b7\u53d6\u8868\u683c\u5185\u5bbd\u5ea6 + _getInnerWidth : function(){ + return getInnerWidth(this.get('width')); + }, + //get cell tips + _getTips:function (column, dataIndex, record) { + var showTip = column.get('showTip'), + value = ''; + if (showTip) { + value = record[dataIndex]; + if (BUI.isFunction(showTip)) { + value = showTip(value, record); + } + } + return value; + }, + //\u8bbe\u7f6e\u5355\u5143\u683c\u8fb9\u6846 + _uiSetInnerBorder : function(v){ + var _self = this, + el = _self.get('el'); + if(v){ + el.addClass(CLS_GRID_BORDER); + }else{ + el.removeClass(CLS_GRID_BORDER); + } + }, + //\u8bbe\u7f6e\u8868\u683c\u6a21\u677f + _setTableTpl : function(tpl){ + var _self = this, + bodyEl = _self.get('bodyEl'); + + tpl = tpl || _self.get('tableTpl'); + $(tpl).appendTo(bodyEl); + var tableEl = bodyEl.find('table'), + tbodyEl = bodyEl.find('tbody'); + //headerRowEl = _self._createHeaderRow(); + + _self.set('tableEl',tableEl); + _self.set('tbodyEl',tbodyEl); + //_self.set('headerRowEl', headerRowEl); + _self.set('itemContainer',tbodyEl); + _self._setTableCls(_self.get('tableCls')); + }, + //\u8bbe\u7f6etable\u4e0a\u7684\u6837\u5f0f + _uiSetTableCls : function(v){ + this._setTableCls(v); + }, + //when set grid's height,the scroll can effect the width of its body and header + _uiSetHeight:function (h) { + var _self = this, + bodyEl = _self.get('bodyEl'); + _self.get('el').height(h); + _self.get('el').addClass(CLS_GRID_HEIGHT); + + }, + _uiSetWidth:function (w) { + var _self = this; + _self.get('el').width(w); + _self.setBodyWidth(_self._getInnerWidth(w)); + _self.get('el').addClass(CLS_GRID_WITH); + + }, + _uiSetStripeRows : function(v){ + var _self = this, + method = v ? 'addClass' : 'removeClass'; + _self.get('el')[method](CLS_GRID_STRIPE); + }, + _setTableCls : function(cls){ + var _self = this, + tableEl = _self.get('tableEl'); + tableEl.attr('class',cls); + } + },{ + ATTRS : { + tableCls : {}, + bodyEl : {}, + tbodyEl : {}, + headerRowEl:{}, + tableEl : {}, + emptyEl : {} + } + },{ + xclass : 'grid-view' + }); + + /** + * @class BUI.Grid.Grid + * + * \u8868\u683c\u63a7\u4ef6,\u8868\u683c\u63a7\u4ef6\u7c7b\u56fe\uff0c\u4e00\u822c\u60c5\u51b5\u4e0b\u914d\u5408{@link BUI.Data.Store} \u4e00\u8d77\u4f7f\u7528 + *

                + * + *

                + *

                \u8868\u683c\u63d2\u4ef6\u7684\u7c7b\u56fe\uff1a

                + *

                + * + *

                + * + *
                
                +   *  BUI.use(['bui/grid','bui/data'],function(Grid,Data){
                +   *    var Grid = Grid,
                +   *      Store = Data.Store,
                +   *      columns = [{  //\u58f0\u660e\u5217\u6a21\u578b
                +   *          title : '\u8868\u59341(20%)',
                +   *          dataIndex :'a',
                +   *          width:'20%'
                +   *        },{
                +   *          id: '123',
                +   *          title : '\u8868\u59342(30%)',
                +   *          dataIndex :'b',
                +   *          width:'30%'
                +   *        },{
                +   *          title : '\u8868\u59343(50%)',
                +   *          dataIndex : 'c',
                +   *          width:'50%'
                +   *      }],
                +   *      data = [{a:'123'},{a:'cdd',b:'edd'},{a:'1333',c:'eee',d:2}]; //\u663e\u793a\u7684\u6570\u636e
                +   *
                +   *    var store = new Store({
                +   *        data : data,
                +   *        autoLoad:true
                +   *      }),
                +   *       grid = new Grid.Grid({
                +   *         render:'#grid',
                +   *         width:'100%',//\u8fd9\u4e2a\u5c5e\u6027\u4e00\u5b9a\u8981\u8bbe\u7f6e
                +   *         columns : columns,
                +   *         idField : 'a',
                +   *         store : store
                +   *       });
                +   *
                +   *     grid.render();
                +   *   });
                +   * 
                + * @extends BUI.List.SimpleList + */ + var grid = List.SimpleList.extend({ + + /** + * \u521d\u59cb\u5316\uff0c\u5982\u679c\u672a\u8bbe\u7f6e\u5bbd\u5ea6\uff0c\u5219\u4f7f\u7528\u8868\u683c\u5bb9\u5668\u7684\u5bbd\u5ea6 + * @protected + * @ignore + */ + initializer : function(){ + var _self = this, + render = _self.get('render'), + width = _self.get('width'); + if(!width){ + _self.set('width',$(render).width()); + } + }, + /** + * @protected + * @ignore + */ + createDom:function () { + var _self = this; + + // \u63d0\u524d,\u4e2d\u9014\u8bbe\u7f6e\u5bbd\u5ea6\u65f6\u4f1a\u5931\u8d25\uff01\uff01 + if (_self.get('width')) { + _self.get('el').addClass(CLS_GRID_WITH); + } + + if (_self.get('height')) { + _self.get('el').addClass(CLS_GRID_HEIGHT); + } + + //\u56e0\u4e3a\u5185\u90e8\u7684\u8fb9\u8ddd\u5f71\u54cdheader\u7684forceFit\u8ba1\u7b97\uff0c\u6240\u4ee5\u5fc5\u987b\u5728header\u8ba1\u7b97forceFit\u524d\u7f6e\u6b64\u9879 + if(_self.get('innerBorder')){ + _self.get('el').addClass(CLS_GRID_BORDER); + } + }, + /** + * @protected + * @ignore + */ + renderUI : function(){ + var _self = this; + _self._initHeader(); + _self._initBars(); + _self._initLoadMask(); + _self.get('view').resetHeaderRow(); + }, + /** + * @private + */ + bindUI:function () { + var _self = this; + _self._bindHeaderEvent(); + _self._bindBodyEvent(); + _self._bindItemsEvent(); + }, + /** + * \u6dfb\u52a0\u5217 + *
                
                +     *   //\u6dfb\u52a0\u5230\u6700\u540e
                +     *   grid.addColumn({title : 'new column',dataIndex : 'new',width:100});
                +     *   //\u6dfb\u52a0\u5230\u6700\u524d
                +     *   grid.addColumn({title : 'new column',dataIndex : 'new',width:100},0);
                +     * 
                + * @param {Object|BUI.Grid.Column} column \u5217\u7684\u914d\u7f6e\uff0c\u5217\u7c7b\u7684\u5b9a\u4e49 {@link BUI.Grid.Column} + * @param {Number} index \u6dfb\u52a0\u5230\u7684\u4f4d\u7f6e + * @return {BUI.Grid.Column} + */ + addColumn : function(column, index){ + var _self = this, + header = _self.get('header'); + + if(header){ + column = header.addColumn(column, index); + }else{ + column = new Column(column); + _self.get('columns').splice(index,0,column); + } + return column; + }, + /** + * \u6e05\u9664\u663e\u793a\u7684\u6570\u636e + *
                
                +     *   grid.clearData();
                +     * 
                + */ + clearData : function(){ + this.clearItems(); + }, + /** + * \u5f53\u524d\u663e\u793a\u5728\u8868\u683c\u4e2d\u7684\u6570\u636e + * @return {Array} \u7eaa\u5f55\u96c6\u5408 + * @private + */ + getRecords : function(){ + return this.getItems(); + }, + /** + * \u4f7f\u7528\u7d22\u5f15\u6216\u8005id\u67e5\u627e\u5217 + *
                
                +     *  //\u8bbe\u7f6e\u5217\u7684id,\u5426\u5219\u4f1a\u81ea\u52a8\u751f\u6210
                +     *  {id : '1',title : '\u8868\u5934',dataIndex : 'a'}
                +     *  //\u83b7\u53d6\u5217
                +     *  var column = grid.findColumn('id');
                +     *  //\u64cd\u4f5c\u5217
                +     *  column.set('visible',false);
                +     * 
                + * @param {String|Number} id|index \u6587\u672c\u503c\u4ee3\u8868\u7f16\u53f7\uff0c\u6570\u5b57\u4ee3\u8868\u7d22\u5f15 + */ + findColumn : function(id){ + var _self = this, + header = _self.get('header'); + if(BUI.isNumber(id)){ + return header.getColumnByIndex(id); + }else{ + return header.getColumnById(id); + } + }, + /** + * \u4f7f\u7528\u5b57\u6bb5\u540d\u67e5\u627e\u5217 + *
                
                +     * //\u8bbe\u7f6e\u5217dataIndex
                +     *  {id : '1',title : '\u8868\u5934',dataIndex : 'a'}
                +     *  //\u83b7\u53d6\u5217
                +     *  var column = grid.findColumnByField('a');
                +     *  //\u64cd\u4f5c\u5217
                +     *  column.set('visible',false);
                +     * 
                + * @param {String} field \u5217\u7684\u5b57\u6bb5\u540d dataIndex + */ + findColumnByField : function(field){ + var _self = this, + header = _self.get('header'); + return header.getColumn(function(column){ + return column.get('dataIndex') === field; + }); + }, + /** + * \u6839\u636e\u5217\u7684Id\u67e5\u627e\u5bf9\u5e94\u7684\u5355\u5143\u683c + * @param {String|Number} id \u5217id + * @param {Object|jQuery} record \u672c\u884c\u5bf9\u5e94\u7684\u8bb0\u5f55\uff0c\u6216\u8005\u662f\u672c\u884c\u7684\uff24\uff2f\uff2d\u5bf9\u8c61 + * @protected + * @return {jQuery} + */ + findCell:function (id, record) { + var _self = this, + rowEl = null; + if (record instanceof $) { + rowEl = record; + } else { + rowEl = _self.findRow(record); + } + if (rowEl) { + return _self.get('view').findCell(id, rowEl); + } + return null; + }, + /** + * find the dom by the record in this component + * @param {Object} record the record used to find row dom + * @protected + * @return jQuery + */ + findRow:function (record) { + var _self = this; + return _self.get('view').findRow(record); + }, + /** + * \u79fb\u9664\u5217 + *
                
                +     *   var column = grid.findColumn('id');
                +     *   grid.removeColumn(column);
                +     * 
                + * @param {BUI.Grid.Column} column \u8981\u79fb\u9664\u7684\u5217 + */ + removeColumn:function (column) { + var _self = this; + _self.get('header').removeColumn(column); + }, + /** + * \u663e\u793a\u6570\u636e,\u5f53\u4e0d\u4f7f\u7528store\u65f6\uff0c\u53ef\u4ee5\u5355\u72ec\u663e\u793a\u6570\u636e + *
                
                +     *   var data = [{},{}];
                +     *   grid.showData(data);
                +     * 
                + * @param {Array} data \u663e\u793a\u7684\u6570\u636e\u96c6\u5408 + */ + showData : function(data){ + var _self = this; + _self.set('items',data); + }, + /** + * \u91cd\u7f6e\u5217\uff0c\u5f53\u5217\u53d1\u751f\u6539\u53d8\u65f6\u540c\u6b65DOM\u548c\u6570\u636e + * @protected + */ + resetColumns:function () { + var _self = this, + store = _self.get('store'); + //recreate the header row + _self.get('view').resetHeaderRow(); + //show data + if (store) { + _self.onLoad(); + } + }, + //when body scrolled,the other component of grid also scrolled + _bindScrollEvent:function () { + var _self = this, + el = _self.get('el'), + bodyEl = el.find('.' + CLS_GRID_BODY), + header = _self.get('header'); + + bodyEl.on('scroll', function () { + var left = bodyEl.scrollLeft(), + top = bodyEl.scrollTop(); + header.scrollTo({left:left, top:top}); + _self.fire('scroll', {scrollLeft:left, scrollTop:top,bodyWidth : bodyEl.width(),bodyHeight : bodyEl.height()}); + }); + }, + //bind header event,when column changed,followed this component + _bindHeaderEvent:function () { + var _self = this, + header = _self.get('header'), + view = _self.get('view'), + store = _self.get('store'); + header.on('afterWidthChange', function (e) { + var sender = e.target; + if (sender !== header) { + view.resetColumnsWidth(sender); + } + }); + + header.on('afterSortStateChange', function (e) { + var column = e.target, + val = e.newVal; + if (val && store) { + store.sort(column.get('dataIndex'), column.get('sortState')); + } + }); + + header.on('afterVisibleChange', function (e) { + var sender = e.target; + if (sender !== header) { + view.setColumnVisible(sender); + _self.fire('columnvisiblechange',{column:sender}); + } + }); + + header.on('click', function (e) { + var sender = e.target; + if (sender !== header) { + _self.fire('columnclick',{column:sender,domTarget:e.domTarget}); + } + }); + + header.on('forceFitWidth', function () { + if (_self.get('rendered')) { + _self.resetColumns(); + } + }); + + header.on('add', function (e) { + if (_self.get('rendered')) { + _self.fire('columnadd',{column:e.column,index:e.index}); + _self.resetColumns(); + } + }); + + header.on('remove', function (e) { + if (_self.get('rendered')) { + _self.resetColumns(); + _self.fire('columnremoved',{column:e.column,index:e.index}); + } + }); + + }, + //when body scrolled, header can followed + _bindBodyEvent:function () { + var _self = this; + _self._bindScrollEvent(); + }, + //\u7ed1\u5b9a\u8bb0\u5f55DOM\u76f8\u5173\u7684\u4e8b\u4ef6 + _bindItemsEvent : function(){ + var _self = this, + store = _self.get('store'); + + _self.on('itemsshow',function(){ + _self.fire('aftershow'); + + if(_self.get('emptyDataTpl')){ + if(store && store.getCount() == 0){ + _self.get('view').showEmptyText(); + }else{ + _self.get('view').clearEmptyText(); + } + } + }); + + _self.on('itemsclear',function(){ + _self.fire('clear'); + }); + + _self.on('itemclick',function(ev){ + var target = ev.domTarget, + record = ev.item, + cell = $(target).closest('.' + CLS_GRID_CELL), + rowEl = $(target).closest('.' + CLS_GRID_ROW), + rst; //\u7528\u4e8e\u662f\u5426\u963b\u6b62\u4e8b\u4ef6\u89e6\u53d1 + + if(cell.length){ + rst = _self.fire('cellclick', {record:record, row:rowEl[0], cell:cell[0], field:cell.attr(ATTR_COLUMN_FIELD), domTarget:target,domEvent:ev.domEvent}); + } + + if(rst === false){ + return rst; + } + + return _self.fire('rowclick', {record:record, row:rowEl[0], domTarget:target}); + + }); + + _self.on('itemunselected',function(ev){ + _self.fire('rowunselected',getEventObj(ev)); + }); + + _self.on('itemselected',function(ev){ + _self.fire('rowselected',getEventObj(ev)); + }); + + _self.on('itemrendered',function(ev){ + _self.fire('rowcreated',getEventObj(ev)); + }); + + _self.on('itemremoved',function(ev){ + _self.fire('rowremoved',getEventObj(ev)); + }); + + _self.on('itemupdated',function(ev){ + _self.fire('rowupdated',getEventObj(ev)); + }); + + function getEventObj(ev){ + return {record : ev.item, row : ev.domTarget, domTarget : ev.domTarget}; + } + }, + //\u83b7\u53d6\u8868\u683c\u5185\u90e8\u7684\u5bbd\u5ea6\uff0c\u53d7\u8fb9\u6846\u7684\u5f71\u54cd\uff0c + //\u5185\u90e8\u7684\u5bbd\u5ea6\u4e0d\u80fd\u7b49\u4e8e\u8868\u683c\u5bbd\u5ea6 + _getInnerWidth : function(width){ + width = width || this.get('width'); + return getInnerWidth(width); + }, + //init header,if there is not a header property in config,instance it + _initHeader:function () { + var _self = this, + header = _self.get('header'), + container = _self.get('el').find('.'+ CLS_GRID_HEADER_CONTAINER); + if (!header) { + header = new Header({ + columns:_self.get('columns'), + tableCls:_self.get('tableCls'), + forceFit:_self.get('forceFit'), + width:_self._getInnerWidth(), + render: container, + parent : _self + }).render(); + //_self.addChild(header); + _self.set('header', header); + } + }, + //\u521d\u59cb\u5316 \u4e0a\u4e0b\u5de5\u5177\u680f + _initBars:function () { + var _self = this, + bbar = _self.get('bbar'), + tbar = _self.get('tbar'); + _self._initBar(bbar, CLS_GRID_BBAR, 'bbar'); + _self._initBar(tbar, CLS_GRID_TBAR, 'tbar'); + }, + //set bar's elCls to identify top bar or bottom bar + _initBar:function (bar, cls, name) { + var _self = this, + store = null, + pagingBarCfg = null; + if (bar) { + //\u672a\u6307\u5b9axclass,\u540c\u65f6\u4e0d\u662fController\u65f6 + if(!bar.xclass && !(bar instanceof Component.Controller)){ + bar.xclass = 'bar'; + bar.children = bar.children || []; + + if(bar.items){ + bar.children.push({ + xclass : 'bar', + defaultChildClass : "bar-item-button", + elCls : CLS_BUTTON_BAR, + children : bar.items + }); + bar.items=null; + } + + // modify by fuzheng + if(bar.pagingBar){ + store = _self.get('store'); + pagingBarCfg = { + xclass : 'pagingbar', + store : store, + pageSize : store.pageSize + }; + if(bar.pagingBar !== true){ + pagingBarCfg = S.merge(pagingBarCfg, bar.pagingBar); + } + bar.children.push(pagingBarCfg); + } + } + if (bar.xclass) { + var barContainer = _self.get('el').find('.' + cls); + barContainer.show(); + bar.render = barContainer; + //bar.parent=_self; + bar.elTagName = 'div'; + bar.autoRender = true; + bar = _self.addChild(bar); //Component.create(bar).create(); + } + _self.set(name, bar); + } + return bar; + }, + //when set 'loadMask = true' ,create a loadMask instance + _initLoadMask:function () { + var _self = this, + loadMask = _self.get('loadMask'); + if (loadMask && !loadMask.show) { + loadMask = new BUI.Mask.LoadMask({el:_self.get('el')}); + _self.set('loadMask', loadMask); + } + }, + //\u8c03\u6574\u5bbd\u5ea6\u65f6\uff0c\u8c03\u6574\u5185\u90e8\u63a7\u4ef6\u5bbd\u5ea6 + _uiSetWidth:function (w) { + var _self = this; + if (_self.get('rendered')) { + if(!isPercent(w)){ + _self.get('header').set('width', _self._getInnerWidth(w)); + }else{ + _self.get('header').set('width','100%'); + } + + } + _self.get('view').setTableWidth(); + }, + //\u8bbe\u7f6e\u81ea\u9002\u5e94\u5bbd\u5ea6 + _uiSetForceFit:function (v) { + var _self = this; + _self.get('header').set('forceFit', v); + }, + //when set grid's height,the scroll can effect the width of its body and header + _uiSetHeight:function (h,obj) { + var _self = this, + header = _self.get('header'); + _self.get('view').setBodyHeight(h); + if (_self.get('rendered')) { + if (_self.get('forceFit') && !obj.prevVal) { + header.forceFitColumns(); + //\u5f3a\u8feb\u5bf9\u9f50\u65f6\uff0c\u7531\u672a\u8bbe\u7f6e\u9ad8\u5ea6\u6539\u6210\u8bbe\u7f6e\u9ad8\u5ea6\uff0c\u589e\u52a0\u4e8617\u50cf\u7d20\u7684\u6eda\u52a8\u6761\u5bbd\u5ea6\uff0c\u6240\u4ee5\u91cd\u7f6e\u8868\u683c\u5bbd\u5ea6 + _self.get('view').setTableWidth(); + } + header.setTableWidth(); + } + + } + },{ + ATTRS : { + /** + * \u8868\u5934\u5bf9\u8c61 + * @type {BUI.Grid.Header} + * @protected + */ + header:{ + + }, + /** + * @see {BUI.Grid.Grid#tbar} + *
                
                +       * grid = new Grid.Grid({
                +       *    render:'#grid',
                +       *    columns : columns,
                +       *    width : 700,
                +       *    forceFit : true,
                +       *    tbar:{ //\u6dfb\u52a0\u3001\u5220\u9664
                +       *        items : [{
                +       *          btnCls : 'button button-small',
                +       *          text : '\u6dfb\u52a0',
                +       *          listeners : {
                +       *            'click' : addFunction
                +       *          }
                +       *        },
                +       *        {
                +       *          btnCls : 'button button-small',
                +       *          text : '\u5220\u9664',
                +       *          listeners : {
                +       *            'click' : delFunction
                +       *          }
                +       *        }]
                +       *    },
                +       *    store : store
                +       *  });
                +       *
                +       * grid.render();
                +       * 
                + * @cfg {Object|BUI.Toolbar.Bar} bbar + */ + /** + * @see {BUI.Grid.Grid#tbar} + * @type {Object} + * @ignore + */ + bbar:{ + + }, + itemCls : { + value : CLS_GRID_ROW + }, + /** + * \u5217\u7684\u914d\u7f6e \u7528\u6765\u914d\u7f6e \u8868\u5934 \u548c \u8868\u5185\u5bb9\u3002{@link BUI.Grid.Column} + * @cfg {Array} columns + */ + columns:{ + view : true, + value:[] + }, + /** + * \u5f3a\u8feb\u5217\u81ea\u9002\u5e94\u5bbd\u5ea6\uff0c\u5982\u679c\u5217\u5bbd\u5ea6\u5927\u4e8eGrid\u6574\u4f53\u5bbd\u5ea6\uff0c\u7b49\u6bd4\u4f8b\u7f29\u51cf\uff0c\u5426\u5219\u7b49\u6bd4\u4f8b\u589e\u52a0 + *
                
                +       *  var grid = new Grid.Grid({
                +       *    render:'#grid',
                +       *    columns : columns,
                +       *    width : 700,
                +       *    forceFit : true, //\u81ea\u9002\u5e94\u5bbd\u5ea6
                +       *    store : store
                +       *  });
                +       * 
                + * @cfg {Boolean} [forceFit= false] + */ + /** + * \u5f3a\u8feb\u5217\u81ea\u9002\u5e94\u5bbd\u5ea6\uff0c\u5982\u679c\u5217\u5bbd\u5ea6\u5927\u4e8eGrid\u6574\u4f53\u5bbd\u5ea6\uff0c\u7b49\u6bd4\u4f8b\u7f29\u51cf\uff0c\u5426\u5219\u7b49\u6bd4\u4f8b\u589e\u52a0 + *
                
                +       *  grid.set('forceFit',true);
                +       * 
                + * @type {Boolean} + * @default 'false' + */ + forceFit:{ + sync:false, + value:false + }, + /** + * \u6570\u636e\u4e3a\u7a7a\u65f6\uff0c\u663e\u793a\u7684\u63d0\u793a\u5185\u5bb9 + *
                
                +       *  var grid = new Grid({
                +       *   render:'#J_Grid4',
                +       *   columns : columns,
                +       *   store : store,
                +       *   emptyDataTpl : '<div class="centered"><img alt="Crying" src="http://img03.taobaocdn.com/tps/i3/T1amCdXhXqXXXXXXXX-60-67.png"><h2>\u67e5\u8be2\u7684\u6570\u636e\u4e0d\u5b58\u5728</h2></div>',
                +       *   width:'100%'
                +       *
                +       * });
                +       * 
                +       * grid.render();
                +       * 
                + ** @cfg {Object} emptyDataTpl + */ + emptyDataTpl : { + view : true + }, + /** + * \u8868\u683c\u9996\u884c\u8bb0\u5f55\u6a21\u677f\uff0c\u9996\u884c\u8bb0\u5f55\uff0c\u9690\u85cf\u663e\u793a\uff0c\u7528\u4e8e\u786e\u5b9a\u8868\u683c\u5404\u5217\u7684\u5bbd\u5ea6 + * @type {String} + * @protected + */ + headerRowTpl:{ + view:true, + value:'{cellsTpl}' + }, + /** + * \u8868\u683c\u9996\u884c\u8bb0\u5f55\u7684\u5355\u5143\u683c\u6a21\u677f + * @protected + * @type {String} + */ + headerCellTpl:{ + view:true, + value:'' + }, + /** + * \u8868\u683c\u6570\u636e\u884c\u7684\u6a21\u677f + * @type {String} + * @default
                '<tr class="' + CLS_GRID_ROW + ' {{oddCls}}">{{cellsTpl}}</tr>'
                + */ + rowTpl:{ + view:true, + value:'{cellsTpl}' + }, + /** + * \u5355\u5143\u683c\u7684\u6a21\u677f + * @type {String} + *
                +       *     '<td  class="' + CLS_GRID_CELL + ' grid-td-{{id}}" data-column-id="{{id}}" data-column-field = {{dataIndex}}>'+
                +       *        '<div class="' + CLS_GRID_CELL_INNER + '" >{{cellText}}</div>'+
                +       *    '</td>'
                +       *
                + */ + cellTpl:{ + view:true, + value:'' + + '
                {cellText}
                ' + + '' + + }, + /** + * \u5355\u5143\u683c\u6587\u672c\u7684\u6a21\u677f + * @default <span class="' + CLS_CELL_TEXT + ' " title = "{{tips}}">{{text}}</span> + * @type {String} + */ + cellTextTpl:{ + view:true, + value:'{text}' + }, + /** + * \u4e8b\u4ef6\u96c6\u5408 + * @type {Object} + */ + events:{ + value:{ + /** + * \u663e\u793a\u5b8c\u6570\u636e\u89e6\u53d1 + * @event + */ + 'aftershow' : false, + /** + * \u8868\u683c\u7684\u6570\u636e\u6e05\u7406\u5b8c\u6210\u540e + * @event + */ + 'clear' : false, + /** + * \u70b9\u51fb\u5355\u5143\u683c\u65f6\u89e6\u53d1,\u5982\u679creturn false,\u5219\u4f1a\u963b\u6b62 'rowclick' ,'rowselected','rowunselected'\u4e8b\u4ef6 + * @event + * @param {jQuery.Event} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.record \u6b64\u884c\u7684\u8bb0\u5f55 + * @param {String} e.field \u70b9\u51fb\u5355\u5143\u683c\u5217\u5bf9\u5e94\u7684\u5b57\u6bb5\u540d\u79f0 + * @param {HTMLElement} e.row \u70b9\u51fb\u884c\u5bf9\u5e94\u7684DOM + * @param {HTMLElement} e.cell \u70b9\u51fb\u5bf9\u5e94\u7684\u5355\u5143\u683c\u7684DOM + * @param {HTMLElement} e.domTarget \u70b9\u51fb\u7684DOM + * @param {jQuery.Event} e.domEvent \u70b9\u51fb\u7684jQuery\u4e8b\u4ef6 + */ + 'cellclick' : false, + /** + * \u70b9\u51fb\u8868\u5934 + * @event + * @param {jQuery.Event} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {BUI.Grid.Column} e.column \u5217\u5bf9\u8c61 + * @param {HTMLElement} e.domTarget \u70b9\u51fb\u7684DOM + */ + 'columnclick' : false, + /** + * \u70b9\u51fb\u884c\u65f6\u89e6\u53d1\uff0c\u5982\u679creturn false,\u5219\u4f1a\u963b\u6b62'rowselected','rowunselected'\u4e8b\u4ef6 + * @event + * @param {jQuery.Event} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.record \u6b64\u884c\u7684\u8bb0\u5f55 + * @param {HTMLElement} e.row \u70b9\u51fb\u884c\u5bf9\u5e94\u7684DOM + * @param {HTMLElement} e.domTarget \u70b9\u51fb\u7684DOM + */ + 'rowclick' : false, + /** + * \u5f53\u4e00\u884c\u6570\u636e\u663e\u793a\u5728\u8868\u683c\u4e2d\u540e\u89e6\u53d1 + * @event + * @param {jQuery.Event} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.record \u6b64\u884c\u7684\u8bb0\u5f55 + * @param {HTMLElement} e.row \u884c\u5bf9\u5e94\u7684DOM + * @param {HTMLElement} e.domTarget \u6b64\u4e8b\u4ef6\u4e2d\u7b49\u4e8e\u884c\u5bf9\u5e94\u7684DOM + */ + 'rowcreated' : false, + /** + * \u79fb\u9664\u4e00\u884c\u7684DOM\u540e\u89e6\u53d1 + * @event + * @param {jQuery.Event} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.record \u6b64\u884c\u7684\u8bb0\u5f55 + * @param {HTMLElement} e.row \u884c\u5bf9\u5e94\u7684DOM + * @param {HTMLElement} e.domTarget \u6b64\u4e8b\u4ef6\u4e2d\u7b49\u4e8e\u884c\u5bf9\u5e94\u7684DOM + */ + 'rowremoved' : false, + /** + * \u9009\u4e2d\u4e00\u884c\u65f6\u89e6\u53d1 + * @event + * @param {jQuery.Event} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.record \u6b64\u884c\u7684\u8bb0\u5f55 + * @param {HTMLElement} e.row \u884c\u5bf9\u5e94\u7684DOM + * @param {HTMLElement} e.domTarget \u6b64\u4e8b\u4ef6\u4e2d\u7b49\u4e8e\u884c\u5bf9\u5e94\u7684DOM + */ + 'rowselected' : false, + /** + * \u6e05\u9664\u9009\u4e2d\u4e00\u884c\u65f6\u89e6\u53d1\uff0c\u53ea\u6709\u591a\u9009\u60c5\u51b5\u4e0b\u89e6\u53d1 + * @event + * @param {jQuery.Event} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.record \u6b64\u884c\u7684\u8bb0\u5f55 + * @param {HTMLElement} e.row \u884c\u5bf9\u5e94\u7684DOM + * @param {HTMLElement} e.domTarget \u6b64\u4e8b\u4ef6\u4e2d\u7b49\u4e8e\u884c\u5bf9\u5e94\u7684DOM + */ + 'rowunselected' : false, + /** + * \u8868\u683c\u5185\u90e8\u53d1\u751f\u6eda\u52a8\u65f6\u89e6\u53d1 + * @event + * @param {jQuery.Event} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Number} e.scrollLeft \u6eda\u52a8\u5230\u7684\u6a2a\u5750\u6807 + * @param {Number} e.scrollTop \u6eda\u52a8\u5230\u7684\u7eb5\u5750\u6807 + * @param {Number} e.bodyWidth \u8868\u683c\u5185\u90e8\u7684\u5bbd\u5ea6 + * @param {Number} e.bodyHeight \u8868\u683c\u5185\u90e8\u7684\u9ad8\u5ea6 + */ + 'scroll' : false + } + }, + /** + * \u662f\u5426\u5947\u5076\u884c\u6dfb\u52a0\u5206\u5272\u8272 + * @type {Boolean} + * @default true + */ + stripeRows:{ + view:true, + value:true + }, + /** + * \u9876\u5c42\u7684\u5de5\u5177\u680f\uff0c\u8ddfbbar\u7ed3\u6784\u4e00\u81f4,\u53ef\u4ee5\u662f\u5de5\u5177\u680f\u5bf9\u8c61@see {BUI.Toolbar.Bar},\u4e5f\u53ef\u4ee5\u662fxclass\u5f62\u5f0f\u7684\u914d\u7f6e\u9879\uff0c + * \u8fd8\u53ef\u4ee5\u662f\u5305\u542b\u4ee5\u4e0b\u5b57\u6bb5\u7684\u914d\u7f6e\u9879 + *
                  + *
                1. items:\u5de5\u5177\u680f\u7684\u9879\uff0c + * - \u9ed8\u8ba4\u662f\u6309\u94ae(xtype : button)\u3001 + * - \u6587\u672c(xtype : text)\u3001 + * - \u94fe\u63a5(xtype : link)\u3001 + * - \u5206\u9694\u7b26(bar-item-separator)\u4ee5\u53ca\u81ea\u5b9a\u4e49\u9879 + *
                2. + *
                3. pagingBar:\u8868\u660e\u5305\u542b\u5206\u9875\u680f
                4. + *
                + * @type {Object|BUI.Toolbar.Bar} + * @example + * tbar:{ + * items:[ + * { + * text:'\u547d\u4ee4\u4e00' //\u9ed8\u8ba4\u662f\u6309\u94ae + * + * }, + * { + * xtype:'text', + * text:'\u6587\u672c' + * } + * ], + * pagingBar:true + * } + */ + tbar:{ + + }, + /** + * \u53ef\u4ee5\u9644\u52a0\u5230\u8868\u683c\u4e0a\u7684\u6837\u5f0f. + * @cfg {String} tableCls + * @default 'bui-grid-table' this css cannot be overridden + */ + tableCls:{ + view : true, + sync : false, + value:PREFIX + 'grid-table' + }, + /** + * \u8868\u4f53\u7684\u6a21\u677f + * @protected + * @type {String} + */ + tableTpl : { + view:true, + value:'' + + '' + + '
                ' + }, + tpl : { + value : '
                ' + }, + /** + * \u5355\u5143\u683c\u5de6\u53f3\u4e4b\u95f4\u662f\u5426\u51fa\u73b0\u8fb9\u6846 + * + * @cfg {Boolean} [innerBorder=true] + */ + /** + * \u5355\u5143\u683c\u5de6\u53f3\u4e4b\u95f4\u662f\u5426\u51fa\u73b0\u8fb9\u6846 + *
                
                +       *   var  grid = new Grid.Grid({
                +       *     render:'#grid',
                +       *     innerBorder: false, // \u9ed8\u8ba4\u4e3atrue
                +       *     columns : columns,
                +       *     store : store
                +       *   });
                +       * 
                + * @type {Boolean} + * @default true + */ + innerBorder : { + sync:false, + value : true + }, + /** + * \u662f\u5426\u4f7f\u7528\u7a7a\u767d\u5355\u5143\u683c\u7528\u4e8e\u5360\u4f4d\uff0c\u4f7f\u5217\u5bbd\u7b49\u4e8e\u8bbe\u7f6e\u7684\u5bbd\u5ea6 + * @type {Boolean} + * @private + */ + useEmptyCell : { + view : true, + value : true + }, + /** + * \u662f\u5426\u9996\u884c\u4f7f\u7528\u7a7a\u767d\u884c\uff0c\u7528\u4ee5\u786e\u5b9a\u8868\u683c\u5217\u7684\u5bbd\u5ea6 + * @type {Boolean} + * @private + */ + useHeaderRow : { + view : true, + value : true + }, + /** + * Grid \u7684\u89c6\u56fe\u7c7b\u578b + * @type {BUI.Grid.GridView} + */ + xview : { + value : gridView + } + } + },{ + xclass : 'grid' + }); + + return grid; +}); + +/** + * @ignore + * 2013.1.18 + * \u8fd9\u662f\u4e00\u4e2a\u91cd\u6784\u7684\u7248\u672c\uff0c\u5c06Body\u53d6\u6d88\u6389\u4e86\uff0c\u76ee\u7684\u662f\u4e3a\u4e86\u53ef\u4ee5\u5c06Grid\u548cSimpleGrid\u8054\u7cfb\u8d77\u6765\uff0c + * \u540c\u65f6\u5c06selection \u7edf\u4e00 + *//** + * @fileOverview this class details some util tools of grid,like loadMask, formatter for grid's cell render + * @author dxq613@gmail.com, yiminghe@gmail.com + * @ignore + */ +define('bui/grid/format',function (require) { + + function formatTimeUnit(v) { + if (v < 10) { + return '0' + v; + } + return v; + } + + /** + * This class specifies some formatter for grid's cell renderer + * @class BUI.Grid.Format + * @singleton + */ + var Format = + /** + * @lends BUI.Grid.Format + * @ignore + */ + { + /** + * \u65e5\u671f\u683c\u5f0f\u5316\u51fd\u6570 + * @param {Number|Date} d \u683c\u5f0f\u8bdd\u7684\u65e5\u671f\uff0c\u4e00\u822c\u4e3a1970 \u5e74 1 \u6708 1 \u65e5\u81f3\u4eca\u7684\u6beb\u79d2\u6570 + * @return {String} \u683c\u5f0f\u5316\u540e\u7684\u65e5\u671f\u683c\u5f0f\u4e3a 2011-10-31 + * @example + * \u4e00\u822c\u7528\u6cd5\uff1a
                + * BUI.Grid.Format.dateRenderer(1320049890544);\u8f93\u51fa\uff1a2011-10-31
                + * \u8868\u683c\u4e2d\u7528\u4e8e\u6e32\u67d3\u5217\uff1a
                + * {title:"\u51fa\u5e93\u65e5\u671f",dataIndex:"date",renderer:BUI.Grid.Format.dateRenderer} + */ + dateRenderer:function (d) { + if (!d) { + return ''; + } + if (BUI.isString(d)) { + return d; + } + var date = null; + try { + date = new Date(d); + } catch (e) { + return ''; + } + if (!date || !date.getFullYear) { + return ''; + } + return date.getFullYear() + '-' + formatTimeUnit(date.getMonth() + 1) + '-' + formatTimeUnit(date.getDate()); + }, + /** + * @description \u65e5\u671f\u65f6\u95f4\u683c\u5f0f\u5316\u51fd\u6570 + * @param {Number|Date} d \u683c\u5f0f\u8bdd\u7684\u65e5\u671f\uff0c\u4e00\u822c\u4e3a1970 \u5e74 1 \u6708 1 \u65e5\u81f3\u4eca\u7684\u6beb\u79d2\u6570 + * @return {String} \u683c\u5f0f\u5316\u540e\u7684\u65e5\u671f\u683c\u5f0f\u65f6\u95f4\u4e3a 2011-10-31 16 : 41 : 02 + */ + datetimeRenderer:function (d) { + if (!d) { + return ''; + } + if (BUI.isString(d)) { + return d; + } + var date = null; + try { + date = new Date(d); + } catch (e) { + return ''; + } + if (!date || !date.getFullYear) { + return ''; + } + return date.getFullYear() + '-' + formatTimeUnit(date.getMonth() + 1) + '-' + formatTimeUnit(date.getDate()) + ' ' + formatTimeUnit(date.getHours()) + ':' + formatTimeUnit(date.getMinutes()) + ':' + formatTimeUnit(date.getSeconds()); + }, + /** + * \u6587\u672c\u622a\u53d6\u51fd\u6570\uff0c\u5f53\u6587\u672c\u8d85\u51fa\u4e00\u5b9a\u6570\u5b57\u65f6\uff0c\u4f1a\u622a\u53d6\u6587\u672c\uff0c\u6dfb\u52a0... + * @param {Number} length \u622a\u53d6\u591a\u5c11\u5b57\u7b26 + * @return {Function} \u8fd4\u56de\u5904\u7406\u51fd\u6570 \u8fd4\u56de\u622a\u53d6\u540e\u7684\u5b57\u7b26\u4e32\uff0c\u5982\u679c\u672c\u8eab\u5c0f\u4e8e\u6307\u5b9a\u7684\u6570\u5b57\uff0c\u8fd4\u56de\u539f\u5b57\u7b26\u4e32\u3002\u5982\u679c\u5927\u4e8e\uff0c\u5219\u8fd4\u56de\u622a\u65ad\u540e\u7684\u5b57\u7b26\u4e32\uff0c\u5e76\u9644\u52a0... + */ + cutTextRenderer:function (length) { + return function (value) { + value = value || ''; + if (value.toString().length > length) { + return value.toString().substring(0, length) + '...'; + } + return value; + }; + }, + /** + * \u679a\u4e3e\u683c\u5f0f\u5316\u51fd\u6570 + * @param {Object} enumObj \u952e\u503c\u5bf9\u7684\u679a\u4e3e\u5bf9\u8c61 {"1":"\u5927","2":"\u5c0f"} + * @return {Function} \u8fd4\u56de\u6307\u5b9a\u679a\u4e3e\u7684\u683c\u5f0f\u5316\u51fd\u6570 + * @example + * //Grid \u7684\u5217\u5b9a\u4e49 + * {title:"\u72b6\u6001",dataIndex:"status",renderer:BUI.Grid.Format.enumRenderer({"1":"\u5165\u5e93","2":"\u51fa\u5e93"})} + */ + enumRenderer:function (enumObj) { + return function (value) { + return enumObj[value] || ''; + }; + }, + /* + * \u5c06\u591a\u4e2a\u503c\u8f6c\u6362\u6210\u4e00\u4e2a\u5b57\u7b26\u4e32 + * @param {Object} enumObj \u952e\u503c\u5bf9\u7684\u679a\u4e3e\u5bf9\u8c61 {"1":"\u5927","2":"\u5c0f"} + * @return {Function} \u8fd4\u56de\u6307\u5b9a\u679a\u4e3e\u7684\u683c\u5f0f\u5316\u51fd\u6570 + * @example + * + * //Grid \u7684\u5217\u5b9a\u4e49 + * {title:"\u72b6\u6001",dataIndex:"status",renderer:BUI.Grid.Format.multipleItemsRenderer({"1":"\u5165\u5e93","2":"\u51fa\u5e93","3":"\u9000\u8d27"})} + * //\u6570\u636e\u6e90\u662f[1,2] \u65f6\uff0c\u5219\u8fd4\u56de "\u5165\u5e93,\u51fa\u5e93" + * + */ + multipleItemsRenderer:function (enumObj) { + var enumFun = Format.enumRenderer(enumObj); + return function (values) { + var result = []; + if (!values) { + return ''; + } + if (!BUI.isArray(values)) { + values = values.toString().split(','); + } + $.each(values, function (index,value) { + result.push(enumFun(value)); + }); + + return result.join(','); + }; + }, + /* + * \u5c06\u8d22\u52a1\u6570\u636e\u5206\u8f6c\u6362\u6210\u5143 + * @param {Number|String} enumObj \u952e\u503c\u5bf9\u7684\u679a\u4e3e\u5bf9\u8c61 {"1":"\u5927","2":"\u5c0f"} + * @return {Number} \u8fd4\u56de\u5c06\u5206\u8f6c\u6362\u6210\u5143\u7684\u6570\u5b57 + */ + moneyCentRenderer:function (v) { + if (BUI.isString(v)) { + v = parseFloat(v); + } + if ($.isNumberic(v)) { + return (v * 0.01).toFixed(2); + } + return v; + } + }; + + return Format; +});/** + * @fileOverview \u8868\u683c\u63d2\u4ef6\u7684\u5165\u53e3 + * @author dxq613@gmail.com, yiminghe@gmail.com + * @ignore + */ +;(function(){ +var BASE = 'bui/grid/plugins/'; +define('bui/grid/plugins',['bui/common',BASE + 'selection',BASE + 'cascade',BASE + 'cellediting',BASE + 'rowediting',BASE + 'dialogediting',BASE + 'menu',BASE + 'summary'],function (r) { + var BUI = r('bui/common'), + Selection = r(BASE + 'selection'), + + Plugins = {}; + + BUI.mix(Plugins,{ + CheckSelection : Selection.CheckSelection, + RadioSelection : Selection.RadioSelection, + Cascade : r(BASE + 'cascade'), + CellEditing : r(BASE + 'cellediting'), + RowEditing : r(BASE + 'rowediting'), + DialogEditing : r(BASE + 'dialogediting'), + GridMenu : r(BASE + 'menu'), + Summary : r(BASE + 'summary') + }); + + return Plugins; +}); +})(); +/** + * @fileOverview Grid \u83dc\u5355 + * @ignore + */ +define('bui/grid/plugins/menu',['bui/common','bui/menu'],function (require) { + + var BUI = require('bui/common'), + Menu = require('bui/menu'), + PREFIX = BUI.prefix, + ID_SORT_ASC = 'sort-asc', + ID_SORT_DESC = 'sort-desc', + ID_COLUMNS_SET = 'column-setting', + CLS_COLUMN_CHECKED = 'icon-check'; + + /** + * @class BUI.Grid.Plugins.GridMenu + * @extends BUI.Base + * \u8868\u683c\u83dc\u5355\u63d2\u4ef6 + */ + var gridMenu = function (config) { + gridMenu.superclass.constructor.call(this,config); + }; + + BUI.extend(gridMenu,BUI.Base); + + gridMenu.ATTRS = + { + /** + * \u5f39\u51fa\u83dc\u5355 + * @type {BUI.Menu.ContextMenu} + */ + menu : { + + }, + /** + * @private + */ + activedColumn : { + + }, + triggerCls : { + value : PREFIX + 'grid-hd-menu-trigger' + }, + /** + * \u83dc\u5355\u7684\u914d\u7f6e\u9879 + * @type {Array} + */ + items : { + value : [ + { + id:ID_SORT_ASC, + text:'\u5347\u5e8f', + iconCls:'icon-arrow-up' + }, + { + id:ID_SORT_DESC, + text:'\u964d\u5e8f', + iconCls : 'icon-arrow-down' + }, + { + xclass:'menu-item-sparator' + }, + { + id : ID_COLUMNS_SET, + text:'\u8bbe\u7f6e\u5217', + iconCls:'icon-list-alt' + } + ] + } + }; + + BUI.augment(gridMenu,{ + /** + * \u521d\u59cb\u5316 + * @protected + */ + initializer : function (grid) { + var _self = this; + _self.set('grid',grid); + + }, + /** + * \u6e32\u67d3DOM + */ + renderUI : function(grid){ + var _self = this, + columns = grid.get('columns'); + BUI.each(columns,function(column){ + _self._addShowMenu(column); + }); + }, + /** + * \u7ed1\u5b9a\u8868\u683c + * @protected + */ + bindUI : function (grid){ + var _self = this; + + grid.on('columnadd',function(ev){ + _self._addShowMenu(ev.column); + }); + grid.on('columnclick',function (ev) { + var sender = $(ev.domTarget), + column = ev.column, + menu; + + _self.set('activedColumn',column); + + if(sender.hasClass(_self.get('triggerCls'))){ + menu = _self.get('menu') || _self._initMenu(); + menu.set('align',{ + node: sender, // \u53c2\u8003\u5143\u7d20, falsy \u6216 window \u4e3a\u53ef\u89c6\u533a\u57df, 'trigger' \u4e3a\u89e6\u53d1\u5143\u7d20, \u5176\u4ed6\u4e3a\u6307\u5b9a\u5143\u7d20 + points: ['bl','tl'], // ['tr', 'tl'] \u8868\u793a overlay \u7684 tl \u4e0e\u53c2\u8003\u8282\u70b9\u7684 tr \u5bf9\u9f50 + offset: [0, 0] + }); + menu.show(); + _self._afterShow(column,menu); + } + }); + }, + _addShowMenu : function(column){ + if(!column.get('fixed')){ + column.set('showMenu',true); + } + }, + //\u83dc\u5355\u663e\u793a\u540e + _afterShow : function (column,menu) { + var _self = this, + grid = _self.get('grid'); + + menu = menu || _self.get('menu'); + _self._resetSortMenuItems(column,menu); + _self._resetColumnsVisible(menu); + }, + //\u8bbe\u7f6e\u83dc\u5355\u9879\u662f\u5426\u9009\u4e2d + _resetColumnsVisible : function (menu) { + var _self = this, + settingItem = menu.findItemById(ID_COLUMNS_SET), + subMenu = settingItem.get('subMenu') || _self._initColumnsMenu(settingItem), + columns = _self.get('grid').get('columns'); + subMenu.removeChildren(true); + $.each(columns,function (index,column) { + if(!column.get('fixed')){ + var config = { + xclass : 'context-menu-item', + text : column.get('title'), + column : column, + iconCls : 'icon' + }, + menuItem = subMenu.addChild(config); + if(column.get('visible')){ + menuItem.set('selected',true); + } + } + }); + }, + //\u8bbe\u7f6e\u6392\u5e8f\u83dc\u5355\u9879\u662f\u5426\u53ef\u7528 + _resetSortMenuItems : function(column,menu) { + var ascItem = menu.findItemById(ID_SORT_ASC), + descItem = menu.findItemById(ID_SORT_DESC); + if(column.get('sortable')){ + ascItem.set('disabled',false); + descItem.set('disabled',false); + }else{ + ascItem.set('disabled',true); + descItem.set('disabled',true); + } + }, + //\u521d\u59cb\u5316\u83dc\u5355 + _initMenu : function () { + var _self = this, + menu = _self.get('menu'), + menuItems; + + if(!menu){ + menuItems = _self.get('items'); + $.each(menuItems,function (index,item) { + if(!item.xclass){ + item.xclass = 'context-menu-item' + } + }); + menu = new Menu.ContextMenu({ + children : menuItems, + elCls : 'grid-menu' + }); + _self._initMenuEvent(menu); + _self.set('menu',menu) + } + return menu; + }, + _initMenuEvent : function (menu) { + var _self = this; + + menu.on('itemclick',function(ev) { + var item = ev.item, + id = item.get('id'), + activedColumn = _self.get('activedColumn'); + if(id === ID_SORT_ASC){ + activedColumn.set('sortState','ASC'); + }else if(id === ID_SORT_DESC){ + activedColumn.set('sortState','DESC'); + } + }); + + menu.on('afterVisibleChange',function (ev) { + var visible = ev.newVal, + activedColumn = _self.get('activedColumn'); + if(visible && activedColumn){ + activedColumn.set('open',true); + }else{ + activedColumn.set('open',false); + } + }); + }, + _initColumnsMenu : function (settingItem) { + var subMenu = new Menu.ContextMenu({ + multipleSelect : true, + elCls : 'grid-column-menu' + }); + settingItem.set('subMenu',subMenu); + subMenu.on('itemclick',function (ev) { + var item = ev.item, + column = item.get('column'), + selected = item.get('selected'); + if(selected){ + column.set('visible',true); + }else{ + column.set('visible',false); + } + }); + return subMenu; + }, + destructor:function () { + var _self = this, + menu = _self.get('menu'); + if(menu){ + menu.destroy(); + } + _self.off(); + _self.clearAttrVals(); + } + + }); + + return gridMenu; + +});/** + * @fileOverview \u7ea7\u8054\u8868\u683c + * @ignore + */ + +define('bui/grid/plugins/cascade',['bui/common'],function(require){ + + var BUI = require('bui/common'), + PREFIX = BUI.prefix, + CLS_GRID_CASCADE = '', + DATA_RECORD = 'data-record', + CLS_CASCADE = PREFIX + 'grid-cascade', + CLS_CASCADE_EXPAND = CLS_CASCADE + '-expand', + CLS_CASCADE_ROW = CLS_CASCADE + '-row', + CLS_CASCADE_CELL = CLS_CASCADE + '-cell', + CLS_CASCADE_ROW_COLLAPSE = CLS_CASCADE + '-collapse'; + + /** + * \u7ea7\u8054\u8868\u683c + *
                
                +   *  // \u5b9e\u4f8b\u5316 Grid.Plugins.Cascade \u63d2\u4ef6
                +   *    var cascade = new Grid.Plugins.Cascade({
                +   *      renderer : function(record){
                +   *        return '

                \u8be6\u60c5\u4fe1\u606f

                ' + record.detail + '

                '; + * } + * }); + * var store = new Store({ + * data : data, + * autoLoad:true + * }), + * grid = new Grid.Grid({ + * render:'#grid', + * columns : columns, + * store: store, + * plugins: [cascade] // Grid.Plugins.Cascade \u63d2\u4ef6 + * }); + * + * grid.render(); + * + * cascade.expandAll();//\u5c55\u5f00\u6240\u6709 + *
                + * @class BUI.Grid.Plugins.Cascade + * @extends BUI.Base + */ + var cascade = function(config){ + cascade.superclass.constructor.call(this, config); + }; + + BUI.extend(cascade,BUI.Base); + + cascade.ATTRS = + /** + * @lends BUI.Grid.Plugins.Cascade# + * @ignore + */ + { + /** + * \u663e\u793a\u5c55\u5f00\u6309\u94ae\u5217\u7684\u5bbd\u5ea6 + * @cfg {Number} width + */ + /** + * \u663e\u793a\u5c55\u5f00\u6309\u94ae\u5217\u7684\u5bbd\u5ea6 + * @type {Number} + * @default 40 + */ + width:{ + value:40 + }, + /** + * \u5c55\u5f00\u5217\u7684\u9ed8\u8ba4\u5185\u5bb9 + * @type {String} + * @protected + */ + cellInner:{ + value:'' + }, + /** + * \u5c55\u5f00\u884c\u7684\u6a21\u7248 + * @protected + * @type {String} + */ + rowTpl : { + value:'' + }, + /** + * \u751f\u6210\u7ea7\u8054\u5217\u65f6\u9700\u8981\u6e32\u67d3\u7684\u5185\u5bb9 + * @cfg {Function} renderer + */ + /** + * \u751f\u6210\u7ea7\u8054\u5217\u65f6\u9700\u8981\u6e32\u67d3\u7684\u5185\u5bb9 + * @type {Function} + */ + renderer:{ + + }, + events : [ + /** + * \u5c55\u5f00\u7ea7\u8054\u5185\u5bb9\u65f6\u89e6\u53d1 + * @name BUI.Grid.Plugins.Cascade#expand + * @event + * @param {jQuery.Event} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.record \u7ea7\u8054\u5185\u5bb9\u5bf9\u5e94\u7684\u7eaa\u5f55 + * @param {HTMLElement} e.row \u7ea7\u8054\u7684\u884cDOM + */ + 'expand', + /** + * \u6298\u53e0\u7ea7\u8054\u5185\u5bb9\u65f6\u89e6\u53d1 + * @name BUI.Grid.Plugins.Cascade#collapse + * @event + * @param {jQuery.Event} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.record \u7ea7\u8054\u5185\u5bb9\u5bf9\u5e94\u7684\u7eaa\u5f55 + * @param {HTMLElement} e.row \u7ea7\u8054\u7684\u884cDOM + */ + 'collapse', + /** + * \u5220\u9664\u7ea7\u8054\u5185\u5bb9\u65f6\u89e6\u53d1 + * @name BUI.Grid.Plugins.Cascade#removed + * @event + * @param {jQuery.Event} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.record \u7ea7\u8054\u5185\u5bb9\u5bf9\u5e94\u7684\u7eaa\u5f55 + * @param {HTMLElement} e.row \u7ea7\u8054\u7684\u884cDOM + */ + 'removed' + ] + }; + + BUI.augment(cascade, + /** + * @lends BUI.Grid.Plugins.Cascade.prototype + * @ignore + */ + { + /** + * \u521d\u59cb\u5316 + * @protected + */ + initializer:function(grid){ + var _self = this; + var cfg = { + title : '', + elCls:'center',//\u5c45\u4e2d\u5bf9\u9f50 + width : _self.get('width'), + resizable:false, + fixed : true, + sortable : false, + cellTpl : _self.get('cellInner') + }, + expandColumn = grid.addColumn(cfg,0); + //\u5217\u4e4b\u95f4\u7684\u7ebf\u53bb\u6389 + grid.set('innerBorder',false); + + _self.set('grid',grid); + }, + /** + * \u7ed1\u5b9a\u4e8b\u4ef6 + * @protected + */ + bindUI:function(grid){ + var _self = this; + grid.on('cellclick',function(ev){ + var sender = $(ev.domTarget), + cascadeEl = sender.closest('.' + CLS_CASCADE); + //\u5982\u679c\u70b9\u51fb\u5c55\u5f00\u3001\u6298\u53e0\u6309\u94ae + if(cascadeEl.length){ + if(!cascadeEl.hasClass(CLS_CASCADE_EXPAND)){ + _self._onExpand(ev.record,ev.row,cascadeEl); + }else{ + _self._onCollapse(ev.record,ev.row,cascadeEl); + } + } + }); + + grid.on('columnvisiblechange',function(){ + _self._resetColspan(); + }); + + grid.on('rowremoved',function(ev){ + _self.remove(ev.record); + }); + + grid.on('clear',function(){ + _self.removeAll(); + }); + }, + /** + * \u5c55\u5f00\u6240\u6709\u7ea7\u8054\u6570\u636e + *
                
                +     *   cascade.expandAll();
                +     * 
                + */ + expandAll : function(){ + var _self = this, + grid = _self.get('grid'), + records = grid.getRecords(); + $.each(records,function(index,record){ + _self.expand(record); + }); + }, + /** + * \u5c55\u5f00\u67d0\u6761\u7eaa\u5f55 + *
                
                +     *   var record = grid.getItem('a');
                +     *   cascade.expand(record);
                +     * 
                + * @param {Object} record \u7eaa\u5f55 + */ + expand : function(record){ + var _self = this, + grid = _self.get('grid'); + + var row = grid.findRow(record); + if(row){ + _self._onExpand(record,row); + } + }, + /** + * \u6298\u53e0\u67d0\u6761\u7eaa\u5f55 + *
                
                +     *   var record = grid.getItem('a');
                +     *   cascade.collapse(record);
                +     * 
                + * @param {Object} record \u7eaa\u5f55 + */ + collapse : function(record){ + var _self = this, + grid = _self.get('grid'); + + var row = grid.findRow(record); + if(row){ + _self._onCollapse(record,row); + } + }, + /** + * \u79fb\u9664\u6240\u6709\u7ea7\u8054\u6570\u636e\u7684\uff24\uff2f\uff2d + * @protected + */ + removeAll : function(){ + var _self = this, + rows = _self._getAllCascadeRows(); + + rows.each(function(index,row){ + + _self._removeCascadeRow(row); + }); + }, + /** + * \u6839\u636e\u7eaa\u5f55\u5220\u9664\u7ea7\u8054\u4fe1\u606f + * @protected + * @param {Object} record \u7ea7\u8054\u4fe1\u606f\u5bf9\u5e94\u7684\u7eaa\u5f55 + */ + remove : function(record){ + var _self = this, + cascadeRow = _self._findCascadeRow(record); + if(cascadeRow){ + _self._removeCascadeRow(cascadeRow); + } + + }, + /** + * \u6298\u53e0\u6240\u6709\u7ea7\u8054\u6570\u636e + *
                
                +     *  cascade.collapseAll();
                +     * 
                + */ + collapseAll : function(){ + var _self = this, + grid = _self.get('grid'), + records = grid.getRecords(); + $.each(records,function(index,record){ + _self.collapse(record); + }); + }, + //\u83b7\u53d6\u7ea7\u8054\u6570\u636e + _getRowRecord : function(cascadeRow){ + return $(cascadeRow).data(DATA_RECORD); + }, + //\u79fb\u9664\u7ea7\u8054\u884c + _removeCascadeRow : function(row){ + + this.fire('removed',{record: $(row).data(DATA_RECORD),row : row}); + $(row).remove(); + }, + //\u901a\u8fc7\u7eaa\u5f55\u67e5\u627e + _findCascadeRow: function(record){ + var _self = this, + rows = _self._getAllCascadeRows(), + result = null; + + $.each(rows,function(index,row){ + if(_self._getRowRecord(row) === record){ + result = row; + return false; + } + }); + return result; + }, + _getAllCascadeRows : function(){ + var _self = this, + grid = _self.get('grid'); + return grid.get('el').find('.' + CLS_CASCADE_ROW); + }, + //\u83b7\u53d6\u751f\u6210\u7684\u7ea7\u8054\u884c + _getCascadeRow : function(gridRow){ + var nextRow = $(gridRow).next(); + if((nextRow).hasClass(CLS_CASCADE_ROW)){ + return nextRow; + } + return null; + //return $(gridRow).next('.' + CLS_CASCADE_ROW); + }, + //\u83b7\u53d6\u7ea7\u8054\u5185\u5bb9 + _getRowContent : function(record){ + var _self = this, + renderer = _self.get('renderer'), + content = renderer ? renderer(record) : ''; + return content; + }, + //\u521b\u5efa\u7ea7\u8054\u884c + _createCascadeRow : function(record,gridRow){ + var _self = this, + rowTpl = _self.get('rowTpl'), + content = _self._getRowContent(record), + rowEl = $(rowTpl).insertAfter(gridRow); + + rowEl.find('.' + CLS_CASCADE_CELL).append($(content)); + rowEl.data(DATA_RECORD,record); + return rowEl; + }, + //\u5c55\u5f00 + _onExpand : function(record,row,cascadeEl){ + var _self = this, + cascadeRow = _self._getCascadeRow(row), + colspan = _self._getColumnCount(row); + + cascadeEl = cascadeEl || $(row).find('.'+CLS_CASCADE); + cascadeEl.addClass(CLS_CASCADE_EXPAND); + + if(!cascadeRow || !cascadeRow.length){ + cascadeRow = _self._createCascadeRow(record,row); + } + $(cascadeRow).removeClass(CLS_CASCADE_ROW_COLLAPSE); + + _self._setColSpan(cascadeRow,row); + + _self.fire('expand',{record : record,row : cascadeRow[0]}); + }, + //\u6298\u53e0 + _onCollapse : function(record,row,cascadeEl){ + + var _self = this, + cascadeRow = _self._getCascadeRow(row); + cascadeEl = cascadeEl || $(row).find('.'+CLS_CASCADE); + cascadeEl.removeClass(CLS_CASCADE_EXPAND); + + if(cascadeRow || !cascadeRow.length){ + $(cascadeRow).addClass(CLS_CASCADE_ROW_COLLAPSE); + _self.fire('collapse',{record : record,row : cascadeRow[0]}); + } + + }, + //\u83b7\u53d6\u663e\u793a\u7684\u5217\u6570 + _getColumnCount : function(row){ + return $(row).children().filter(function(){ + return $(this).css('display') !== 'none'; + }).length; + }, + //\u8bbe\u7f6ecolspan + _setColSpan : function(cascadeRow,gridRow){ + gridRow = gridRow || $(cascadeRow).prev(); + var _self = this, + colspan = _self._getColumnCount(gridRow); + + $(cascadeRow).find('.' + CLS_CASCADE_CELL).attr('colspan',colspan) + }, + //\u91cd\u7f6e\u6240\u6709\u7684colspan + _resetColspan : function(){ + var _self = this, + cascadeRows = _self._getAllCascadeRows(); + $.each(cascadeRows,function(index,cascadeRow){ + _self._setColSpan(cascadeRow); + }); + }, + /** + * \u6790\u6784\u51fd\u6570 + */ + destructor : function(){ + var _self = this; + _self.removeAll(); + _self.off(); + _self.clearAttrVals(); + } + }); + + return cascade; +});/** + * @fileOverview \u9009\u62e9\u7684\u63d2\u4ef6 + * @ignore + */ + +define('bui/grid/plugins/selection',['bui/common'],function(require){ + + var BUI = require('bui/common'), + PREFIX = BUI.prefix, + CLS_CHECKBOX = PREFIX + 'grid-checkBox', + CLS_CHECK_ICON = 'x-grid-checkbox', + CLS_RADIO = PREFIX + 'grid-radio'; + + /** + * \u9009\u62e9\u884c\u63d2\u4ef6 + *
                
                +  ** var store = new Store({
                +  *       data : data,
                +  *       autoLoad:true
                +  *     }),
                +  *     grid = new Grid.Grid({
                +  *       render:'#grid',
                +  *       columns : columns,
                +  *       itemStatusFields : { //\u8bbe\u7f6e\u6570\u636e\u8ddf\u72b6\u6001\u7684\u5bf9\u5e94\u5173\u7cfb
                +  *         selected : 'selected',
                +  *         disabled : 'disabled'
                +  *       },
                +  *       store : store,
                +  *       plugins : [Grid.Plugins.CheckSelection] // \u63d2\u4ef6\u5f62\u5f0f\u5f15\u5165\u591a\u9009\u8868\u683c
                +  *      //multiSelect: true  // \u63a7\u5236\u8868\u683c\u662f\u5426\u53ef\u4ee5\u591a\u9009\uff0c\u4f46\u662f\u8fd9\u79cd\u65b9\u5f0f\u6ca1\u6709\u524d\u9762\u7684\u590d\u9009\u6846 \u9ed8\u8ba4\u4e3afalse
                +  *     });
                +  *
                +  *   grid.render();
                +  * 
                + * @class BUI.Grid.Plugins.CheckSelection + * @extends BUI.Base + */ + function checkSelection(config){ + checkSelection.superclass.constructor.call(this, config); + } + + BUI.extend(checkSelection,BUI.Base); + + checkSelection.ATTRS = + /** + * @lends BUI.Grid.Plugins.CheckSelection.prototype + * @ignore + */ + { + /** + * column's width which contains the checkbox + */ + width : { + value : 40 + }, + /** + * @private + */ + column : { + + }, + /** + * @private + * + */ + cellInner : { + value : '
                ' + } + }; + + BUI.augment(checkSelection, + /** + * @lends BUI.Grid.Plugins.CheckSelection.prototype + * @ignore + */ + { + createDom : function(grid){ + var _self = this; + var cfg = { + title : '', + width : _self.get('width'), + fixed : true, + resizable:false, + sortable : false, + tpl : '
                ' + _self.get('cellInner') + '', + cellTpl : _self.get('cellInner') + }, + checkColumn = grid.addColumn(cfg,0); + grid.set('multipleSelect',true); + _self.set('column',checkColumn); + }, + /** + * @private + */ + bindUI : function(grid){ + var _self = this, + col = _self.get('column'), + colEl = col.get('el'), + checkBox = colEl.find('.' + CLS_CHECK_ICON); + checkBox.on('click',function(){ + var checked = colEl.hasClass('checked'); + if(!checked){ + grid.setAllSelection(); + colEl.addClass('checked'); + }else{ + grid.clearSelection(); + colEl.removeClass('checked'); + } + }); + grid.on('rowunselected',function(e){ + + colEl.removeClass('checked'); + }); + + //\u6e05\u9664\u7eaa\u5f55\u65f6\u53d6\u5168\u9009 + grid.on('clear',function(){ + //checkBox.attr('checked',false); + colEl.removeClass('checked'); + }); + } + }); + + /** + * \u8868\u683c\u5355\u9009\u63d2\u4ef6 + * @class BUI.Grid.Plugins.RadioSelection + * @extends BUI.Base + */ + var radioSelection = function(config){ + radioSelection.superclass.constructor.call(this, config); + }; + + BUI.extend(radioSelection,BUI.Base); + + radioSelection.ATTRS = + /** + * @lends BUI.Grid.Plugins.RadioSelection# + * @ignore + */ + { + /** + * column's width which contains the checkbox + */ + width : { + value : 40 + }, + /** + * @private + */ + column : { + + }, + /** + * @private + */ + cellInner : { + value : '
                ' + } + }; + + BUI.augment(radioSelection, { + createDom : function(grid){ + var _self = this; + var cfg = { + title : '', + width : _self.get('width'), + resizable:false, + fixed : true, + sortable : false, + cellTpl : _self.get('cellInner') + }, + column = grid.addColumn(cfg,0); + grid.set('multipleSelect',false); + _self.set('column',column); + }, + /** + * @private + */ + bindUI : function(grid){ + var _self = this; + + grid.on('rowselected',function(e){ + _self._setRowChecked(e.row,true); + }); + + grid.on('rowunselected',function(e){ + _self._setRowChecked(e.row,false); + }); + }, + _setRowChecked : function(row,checked){ + var rowEl = $(row), + radio = rowEl.find('.' + CLS_RADIO); + radio.attr('checked',checked); + } + }); + + /** + * @name BUI.Grid.Plugins + * @namespace \u8868\u683c\u63d2\u4ef6\u547d\u540d\u7a7a\u95f4 + * @ignore + */ + var Selection = { + CheckSelection : checkSelection, + RadioSelection : radioSelection + }; + + + return Selection; +});/** + * @fileOverview \u8868\u683c\u6570\u636e\u6c47\u603b + * @author dxq613@gmail.com + * @ignore + */ +define('bui/grid/plugins/summary',['bui/common'],function (require) { + + var BUI = require('bui/common'), + PREFIX = BUI.prefix, + CLS_GRID_ROW = PREFIX + 'grid-row', + CLS_GRID_BODY = PREFIX + 'grid-body', + CLS_SUMMARY_ROW = PREFIX + 'grid-summary-row', + CLS_GRID_CELL_INNER = PREFIX + 'grid-cell-inner', + CLS_COLUMN_PREFIX = 'grid-td-', + CLS_GRID_CELL_TEXT = PREFIX + 'grid-cell-text', + CLS_GRID_CELL = PREFIX + 'grid-cell'; + + /** + * @private + * @ignore + */ + function getEmptyCellTemplate(colspan){ + if(colspan > 0) { + return ' '; + } + return ''; + } + + /** + * @private + * @ignore + */ + function getCellTemplate(text,id){ + return '' + + getInnerTemplate(text) + + ''; + } + + /** + * @private + * @ignore + */ + function getInnerTemplate(text){ + return '
                ' + + '' + text + '' + + '
                ' ; + } + + /** + * @private + * @ignore + */ + function getLastEmptyCell(){ + return ' '; + } + + + /** + * \u8868\u683c\u83dc\u5355\u63d2\u4ef6 + *
                
                +   * var store = new Store({
                +   *      url : 'data/summary.json',
                +   *      pageSize : 10,
                +   *      autoLoad:true
                +   *    }),
                +   *    grid = new Grid.Grid({
                +   *      render:'#grid',
                +   *      columns : columns,
                +   *      store: store,
                +   *      bbar : {pagingBar : true},
                +   *      plugins : [Grid.Plugins.Summary] // \u63d2\u4ef6\u5f62\u5f0f\u5f15\u5165\u5355\u9009\u8868\u683c
                +   *    });
                +   *
                +   *  grid.render();
                +   * 
                + * @class BUI.Grid.Plugins.Summary + */ + var summary = function (config) { + summary.superclass.constructor.call(this,config); + }; + + summary.ATTRS = + { + + footerTpl : { + value : '' + }, + footerEl : { + + }, + /** + * \u603b\u6c47\u603b\u884c\u7684\u6807\u9898 + * @type {String} + * @default '\u603b\u6c47\u603b' + */ + summaryTitle : { + value : '\u67e5\u8be2\u5408\u8ba1' + }, + /** + * \u672c\u9875\u6c47\u603b\u7684\u6807\u9898 + * @type {String} + */ + pageSummaryTitle : { + value : '\u672c\u9875\u5408\u8ba1' + }, + /** + * \u5728\u5217\u5bf9\u8c61\u4e2d\u914d\u7f6e\u7684\u5b57\u6bb5 + * @type {String} + * @default 'summary' + */ + field : { + value : 'summary' + }, + /** + * \u672c\u9875\u6c47\u603b\u503c\u7684\u8bb0\u5f55 + * @type {String} + */ + pageSummaryField: { + value : 'pageSummary' + }, + /** + * \u603b\u6c47\u603b\u503c\u7684\u8bb0\u5f55 + * @type {String} + */ + summaryField : { + value : 'summary' + }, + /** + * @private + * \u672c\u9875\u6c47\u603b\u503c + * @type {Object} + */ + pageSummary : { + + }, + /** + * @private + * \u603b\u6c47\u603b + * @type {Object} + */ + summary : { + + } + }; + + BUI.extend(summary,BUI.Base); + + BUI.augment(summary,{ + //\u521d\u59cb\u5316 + initializer : function (grid) { + var _self = this; + _self.set('grid',grid); + }, + //\u6dfb\u52a0DOM\u7ed3\u6784 + renderUI : function(grid){ + var _self = this, + bodyEl = grid.get('el').find('.' + CLS_GRID_BODY), + bodyTable = bodyEl.find('table'), + footerEl = $(_self.get('footerTpl')).appendTo(bodyTable); + _self.set('footerEl',footerEl); + }, + //\u7ed1\u5b9a\u4e8b\u4ef6 + bindUI : function(grid){ + //\u7ed1\u5b9a\u83b7\u53d6\u6570\u636e + var _self = this, + store = grid.get('store'); + if(store){ + store.on('beforeProcessLoad',function(data){ + _self._processSummary(data); + }); + store.on('add',function(){ + _self.resetPageSummary(); + }); + store.on('remove',function(){ + _self.resetPageSummary(); + }); + store.on('update',function(){ + _self.resetPageSummary(); + }); + } + grid.on('aftershow',function(){ + _self.resetSummary(); + }); + + grid.get('header').on('afterVisibleChange',function(){ + _self.resetSummary(); + }); + }, + //\u5904\u7406\u6c47\u603b\u6570\u636e + _processSummary : function(data){ + var _self = this, + footerEl = _self.get('footerEl'); + + footerEl.empty(); + if(!data){ + return; + } + + var pageSummary = data[_self.get('pageSummaryField')], + summary = data[_self.get('summaryField')]; + + _self.set('pageSummary',pageSummary); + _self.set('summary',summary); + }, + /** + * \u91cd\u65b0\u8bbe\u7f6e\u672c\u9875\u6c47\u603b + */ + resetPageSummary : function(){ + var _self = this, + grid = _self.get('grid'), + columns = grid.get('columns'), + pageSummary = _self._calculatePageSummary(), + pageEl = _self.get('pageEl'); + _self.set('pageSummary',pageSummary); + if(pageEl){ + BUI.each(columns,function(column){ + if(column.get('summary') && column.get('visible')){ + var id = column.get('id'), + cellEl = pageEl.find('.' + CLS_COLUMN_PREFIX + id), + text = _self._getSummaryCellText(column,pageSummary); + cellEl.find('.' + CLS_GRID_CELL_TEXT).text(text); + } + }); + _self._updateFirstRow(pageEl,_self.get('pageSummaryTitle')); + } + }, + //\u91cd\u7f6e\u6c47\u603b\u6570\u636e + resetSummary : function(pageSummary,summary){ + var _self = this, + footerEl = _self.get('footerEl'), + pageEl = null; + + footerEl.empty(); + + pageSummary = pageSummary || _self.get('pageSummary'); + if(!pageSummary){ + pageSummary = _self._calculatePageSummary(); + _self.set('pageSummary',pageSummary); + } + summary = summary || _self.get('summary'); + pageEl = _self._creatSummaryRow(pageSummary,_self.get('pageSummaryTitle')); + _self.set('pageEl',pageEl); + _self._creatSummaryRow(summary,_self.get('summaryTitle')); + }, + //\u521b\u5efa\u6c47\u603b + _creatSummaryRow : function(summary,title){ + if(!summary){ + return null; + } + var _self = this, + footerEl = _self.get('footerEl'), + tpl = _self._getSummaryTpl(summary), + rowEl = $(tpl).appendTo(footerEl); + + _self._updateFirstRow(rowEl,title); + return rowEl; + }, + _updateFirstRow : function(rowEl,title){ + var firstCell = rowEl.find('td').first(), + textEl = firstCell.find('.' + CLS_GRID_CELL_INNER); + if(textEl.length){ + var textPrefix = title + ': '; + text = textEl.text(); + if(text.indexOf(textPrefix) === -1){ + text = textPrefix + text; + } + firstCell.html(getInnerTemplate(text)); + }else{ + firstCell.html(getInnerTemplate(title + ':')); + } + }, + //\u83b7\u53d6\u6c47\u603b\u6a21\u677f + _getSummaryTpl : function(summary){ + var _self = this, + grid = _self.get('grid'), + columns = grid.get('columns'), + cellTempArray = [], + prePosition = -1, //\u4e0a\u6b21\u6c47\u603b\u5217\u7684\u4f4d\u7f6e + currentPosition = -1,//\u5f53\u524d\u4f4d\u7f6e + rowTemplate = null; + + $.each(columns, function (colindex,column) { + if(column.get('visible')){ + currentPosition += 1; + if(column.get('summary')){ + cellTempArray.push(getEmptyCellTemplate(currentPosition-prePosition - 1)); + + var text = _self._getSummaryCellText(column,summary), + temp = getCellTemplate(text,column.get('id')); + cellTempArray.push(temp); + prePosition = currentPosition; + } + } + }); + if(prePosition !== currentPosition){ + cellTempArray.push(getEmptyCellTemplate(currentPosition-prePosition)); + } + + rowTemplate = ['', cellTempArray.join(''),getLastEmptyCell(), ''].join(''); + return rowTemplate; + }, + //\u83b7\u53d6\u6c47\u603b\u5355\u5143\u683c\u5185\u5bb9 + _getSummaryCellText : function(column,summary){ + var _self = this, + val = summary[column.get('dataIndex')], + value = val == null ? '' : val, + renderer = column.get('renderer'), + text = renderer ? renderer(value,summary) : value; + return text; + }, + _calculatePageSummary : function(){ + var _self = this, + grid = _self.get('grid'), + store = grid.get('store'), + columns = grid.get('columns'), + rst = {}; + + BUI.each(columns,function(column){ + if(column.get('summary')){ + var dataIndex = column.get('dataIndex'); + rst[dataIndex] = store.sum(dataIndex); + } + }); + + return rst; + } + }); + + return summary; +});/** + * @fileOverview \u8868\u683c\u7f16\u8f91\u63d2\u4ef6 + * @ignore + */ + +define('bui/grid/plugins/editing',function (require) { + + var CLS_CELL_INNER = BUI.prefix + 'grid-cell-inner', + CLS_CELL_ERROR = BUI.prefix + 'grid-cell-error'; + /** + * \u8868\u683c\u7684\u7f16\u8f91\u63d2\u4ef6 + * @class BUI.Grid.Plugins.Editing + */ + function Editing(config){ + Editing.superclass.constructor.call(this, config); + } + + BUI.extend(Editing,BUI.Base); + + Editing.ATTRS = { + /** + * @protected + * \u7f16\u8f91\u5668\u7684\u5bf9\u9f50\u8bbe\u7f6e + * @type {Object} + */ + align : { + value : { + points: ['cl','cl'] + } + }, + /** + * \u662f\u5426\u76f4\u63a5\u5728\u8868\u683c\u4e0a\u663e\u793a\u9519\u8bef\u4fe1\u606f + * @type {Boolean} + */ + showError : { + value : true + }, + errorTpl : { + value : '!' + }, + /** + * \u662f\u5426\u521d\u59cb\u5316\u8fc7\u7f16\u8f91\u5668 + * @protected + * @type {Boolean} + */ + isInitEditors : { + value : false + }, + /** + * \u6b63\u5728\u7f16\u8f91\u7684\u8bb0\u5f55 + * @type {Object} + */ + record : { + + }, + /** + * \u5f53\u524d\u7f16\u8f91\u7684\u7f16\u8f91\u5668 + * @type {Object} + */ + curEditor : { + + }, + /** + * \u662f\u5426\u53d1\u751f\u8fc7\u9a8c\u8bc1 + * @type {Boolean} + */ + hasValid : { + + }, + /** + * \u7f16\u8f91\u5668 + * @protected + * @type {Object} + */ + editors : { + value : [] + }, + /** + * \u89e6\u53d1\u7f16\u8f91\u6837\u5f0f\uff0c\u4e3a\u7a7a\u65f6\u9ed8\u8ba4\u70b9\u51fb\u6574\u884c\u90fd\u4f1a\u89e6\u53d1\u7f16\u8f91 + * @type {String} + */ + triggerCls : { + + }, + /** + * \u8fdb\u884c\u7f16\u8f91\u65f6\u662f\u5426\u89e6\u53d1\u9009\u4e2d + * @type {Boolean} + */ + triggerSelected : { + value : true + } + }; + + BUI.augment(Editing,{ + /** + * \u521d\u59cb\u5316 + * @protected + */ + initializer : function (grid) { + var _self = this; + _self.set('grid',grid); + _self.initEditing(grid); + + }, + renderUI : function(){ + var _self = this, + grid = _self.get('grid'); + //\u5ef6\u8fdf\u52a0\u8f7d editor\u6a21\u5757 + BUI.use('bui/editor',function(Editor){ + _self.initEditors(Editor); + _self._initGridEvent(grid); + _self.set('isInitEditors',true); + }); + }, + /** + * \u521d\u59cb\u5316\u63d2\u4ef6 + * @protected + */ + initEditing : function(grid){ + + }, + _getCurEditor : function(){ + return this.get('curEditor'); + }, + _initGridEvent : function(grid){ + var _self = this, + header = grid.get('header'); + + grid.on('cellclick',function(ev){ + + var editor = null, + domTarget = ev.domTarget, + triggerCls = _self.get('triggerCls'), + curEditor = _self._getCurEditor(); + if(curEditor && curEditor.get('acceptEvent')){ + curEditor.accept(); + curEditor.hide(); + }else{ + curEditor && curEditor.cancel(); + } + + //if(ev.field){ + editor = _self.getEditor(ev.field); + //} + if(editor && $(domTarget).closest('.' + triggerCls).length){ + _self.showEditor(editor,ev); + //if(curEditor && curEditor.get('acceptEvent')){ + if(!_self.get('triggerSelected')){ + return false; //\u6b64\u65f6\u4e0d\u89e6\u53d1\u9009\u4e2d\u4e8b\u4ef6 + } + + //} + } + }); + + grid.on('rowcreated',function(ev){ + validRow(ev.record,ev.row); + }); + + grid.on('rowremoved',function(ev){ + if(_self.get('record') == ev.record){ + _self.cancel(); + } + }); + + grid.on('rowupdated',function(ev){ + validRow(ev.record,ev.row); + }); + + grid.on('scroll',function(ev){ + var editor = _self._getCurEditor(); + if(editor){ + + var align = editor.get('align'), + node = align.node, + pos = node.position(); + if(pos.top < 0 || pos.top > ev.bodyHeight){ + editor.hide(); + }else{ + editor.set('align',align); + editor.show(); + } + + } + }); + + header.on('afterVisibleChange',function(ev){ + if(ev.target && ev.target != header){ + var column = ev.target; + _self.onColumnVisibleChange(column); + } + }); + + function validRow(record,row){ + if(_self.get('hasValid')){ + _self.validRecord(record,_self.getFields(),$(row)); + } + } + + }, + /** + * \u521d\u59cb\u5316\u6240\u6709 + * @protected + */ + initEditors : function(Editor){ + var _self = this, + grid = _self.get('grid'), + fields = [], + columns = grid.get('columns'); + BUI.each(columns,function(column){ + var field = _self.getFieldConfig(column); + if(field){ + field.name = column.get('dataIndex'); + field.id = column.get('id'); + if(field.validator){ + field.validator = _self.wrapValidator(field.validator); + } + fields.push(field); + } + }); + var cfgs = _self.getEditorCfgs(fields); + BUI.each(cfgs,function(cfg){ + _self.initEidtor(cfg,Editor); + }); + }, + /** + * @protected + * \u83b7\u53d6\u5217\u5b9a\u4e49\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\u4fe1\u606f + * @param {BUI.Grid.Column} column \u5217\u5b9a\u4e49 + * @return {Object} \u5b57\u6bb5\u5b9a\u4e49 + */ + getFieldConfig : function(column){ + return column.get('editor'); + }, + /** + * \u5c01\u88c5\u9a8c\u8bc1\u65b9\u6cd5 + * @protected + */ + wrapValidator : function(validator){ + var _self = this; + return function(value){ + var record = _self.get('record'); + return validator(value,record); + }; + }, + /** + * @protected + * \u5217\u663e\u793a\u9690\u85cf\u65f6 + */ + onColumnVisibleChange : function(column){ + + }, + /** + * @protected + * \u83b7\u53d6\u7f16\u8f91\u5668\u7684\u914d\u7f6e + * @template + * @param {Array} fields \u5b57\u6bb5\u914d\u7f6e + * @return {Array} \u7f16\u8f91\u5668\u7684\u914d\u7f6e\u9879 + */ + getEditorCfgs : function(fields){ + + }, + /** + * \u83b7\u53d6\u7f16\u8f91\u5668\u7684\u6784\u9020\u51fd\u6570 + * @param {Object} Editor \u547d\u540d\u7a7a\u95f4 + * @return {Function} \u6784\u9020\u51fd\u6570 + */ + getEditorConstructor : function(Editor){ + return Editor.Editor; + }, + /** + * \u521d\u59cb\u5316\u7f16\u8f91\u5668 + * @private + */ + initEidtor : function(cfg,Editor){ + var _self = this, + con = _self.getEditorConstructor(Editor), + editor = new con(cfg); + editor.render(); + _self.get('editors').push(editor); + _self.bindEidtor(editor); + return editor; + }, + /** + * @protected + * \u7ed1\u5b9a\u7f16\u8f91\u5668\u4e8b\u4ef6 + * @param {BUI.Editor.Editor} editor \u7f16\u8f91\u5668 + */ + bindEidtor : function(editor){ + var _self = this, + grid = _self.get('grid'), + store = grid.get('store'); + editor.on('accept',function(){ + var record = _self.get('record'); + _self.updateRecord(store,record,editor); + _self.set('curEditor',null); + }); + + editor.on('cancel',function(){ + _self.set('curEditor',null); + }); + }, + /** + * \u83b7\u53d6\u7f16\u8f91\u5668 + * @protected + * @param {String} field \u5b57\u6bb5\u503c + * @return {BUI.Editor.Editor} \u7f16\u8f91\u5668 + */ + getEditor : function(options){ + + }, + /** + * @protected + * \u83b7\u53d6\u5bf9\u9f50\u7684\u8282\u70b9 + * @template + * @param {Object} options \u70b9\u51fb\u5355\u5143\u683c\u7684\u4e8b\u4ef6\u5bf9\u8c61 + * @return {jQuery} + */ + getAlignNode : function(options){ + + }, + /** + * @protected + * \u83b7\u53d6\u7f16\u8f91\u7684\u503c + * @param {Object} options \u70b9\u51fb\u5355\u5143\u683c\u7684\u4e8b\u4ef6\u5bf9\u8c61 + * @return {*} \u7f16\u8f91\u7684\u503c + */ + getEditValue : function(options){ + + }, + /** + * \u663e\u793a\u7f16\u8f91\u5668 + * @protected + * @param {BUI.Editor.Editor} editor + */ + showEditor : function(editor,options){ + var _self = this, + value = _self.getEditValue(options), + alignNode = _self.getAlignNode(options); + + _self.beforeShowEditor(editor,options); + _self.set('record',options.record); + editor.setValue(value); + if(alignNode){ + var align = _self.get('align'); + align.node = alignNode; + editor.set('align',align); + } + + editor.show(); + _self.focusEditor(editor,options.field); + _self.set('curEditor',editor); + }, + /** + * @protected + * \u7f16\u8f91\u5668\u5b57\u6bb5\u5b9a\u4f4d + */ + focusEditor : function(editor,field){ + editor.focus(); + }, + /** + * \u663e\u793a\u7f16\u8f91\u5668\u524d + * @protected + * @template + * @param {BUI.Editor.Editor} editor + * @param {Object} options + */ + beforeShowEditor : function(editor,options){ + + }, + //\u521b\u5efa\u7f16\u8f91\u7684\u914d\u7f6e\u9879 + _createEditOptions : function(record,field){ + var _self = this, + grid = _self.get('grid'), + rowEl = grid.findRow(record), + column = grid.findColumnByField(field), + cellEl = grid.findCell(column.get('id'),rowEl); + return { + record : record, + field : field, + cell : cellEl[0], + row : rowEl[0] + }; + }, + /** + * \u9a8c\u8bc1\u8868\u683c\u662f\u5426\u901a\u8fc7\u9a8c\u8bc1 + */ + valid : function(){ + var _self = this, + grid = _self.get('grid'), + store = grid.get('store'); + + if(store){ + var records = store.getResult(); + BUI.each(records,function(record){ + _self.validRecord(record,_self.getFields()); + }); + } + _self.set('hasValid',true); + }, + isValid : function(){ + var _self = this, + grid = _self.get('grid'); + if(!_self.get('hasValid')){ + _self.valid(); + } + return !grid.get('el').find('.' + CLS_CELL_ERROR).length; + }, + /** + * \u6e05\u7406\u9519\u8bef + */ + clearErrors : function(){ + var _self = this, + grid = _self.get('grid'); + grid.get('el').find('.' + CLS_CELL_ERROR).remove(); + }, + /** + * \u83b7\u53d6\u7f16\u8f91\u7684\u5b57\u6bb5 + * @protected + * @param {Array} editors \u7f16\u8f91\u5668 + * @return {Array} \u5b57\u6bb5\u96c6\u5408 + */ + getFields : function(editors){ + + }, + /** + * \u6821\u9a8c\u8bb0\u5f55 + * @protected + * @param {Object} record \u6821\u9a8c\u7684\u8bb0\u5f55 + * @param {Array} fields \u5b57\u6bb5\u7684\u96c6\u5408 + */ + validRecord : function(record,fields,row){ + var _self = this, + errors = []; + _self.setInternal('record',record); + fields = fields || _self.getFields(); + BUI.each(fields,function(field){ + var name = field.get('name'), + value = record[name] || '', + error = field.getValidError(value); + if(error){ + errors.push({name : name,error : error,id : field.get('id')}); + } + }); + _self.showRecordError(record,errors,row); + }, + showRecordError : function(record,errors,row){ + var _self = this, + grid = _self.get('grid'); + row = row || grid.findRow(record); + if(row){ + _self._clearRowError(row); + BUI.each(errors,function(item){ + var cell = grid.findCell(item.id,row); + _self._showCellError(cell,item.error); + }); + } + }, + /** + * \u66f4\u65b0\u6570\u636e + * @protected + * @param {Object} record \u7f16\u8f91\u7684\u6570\u636e + * @param {*} value \u7f16\u8f91\u503c + */ + updateRecord : function(store,record,editor){ + + }, + _clearRowError : function(row){ + row.find('.' + CLS_CELL_ERROR).remove(); + }, + _showCellError : function(cell,error){ + var _self = this, + errorTpl = BUI.substitute(_self.get('errorTpl'),{error : error}), + innerEl = cell.find('.' + CLS_CELL_INNER); + $(errorTpl).appendTo(innerEl); + }, + /** + * \u7f16\u8f91\u8bb0\u5f55 + * @param {Object} record \u9700\u8981\u7f16\u8f91\u7684\u8bb0\u5f55 + * @param {String} field \u7f16\u8f91\u7684\u5b57\u6bb5 + */ + edit : function(record,field){ + var _self = this, + options = _self._createEditOptions(record,field), + editor = _self.getEditor(field); + _self.showEditor(editor,options); + }, + /** + * \u53d6\u6d88\u7f16\u8f91 + */ + cancel : function(){ + var _self = this, + editors = _self.get('editors'); + BUI.each(editors,function(editor){ + if(editor.get('visible')){ + editor.cancel(); + } + }); + _self.set('curEditor',null); + _self.set('record',null); + }, + /** + * \u6790\u6784\u51fd\u6570 + * @protected + */ + destructor:function () { + var _self = this, + editors = _self.get('editors'); + + BUI.each(editors,function(editor){ + editor.destroy || editor.destroy(); + }); + _self.off(); + _self.clearAttrVals(); + } + + }); + + return Editing; +});/** + * @fileOverview \u8868\u683c\u5355\u5143\u683c\u7f16\u8f91 + * @ignore + */ + +define('bui/grid/plugins/cellediting',['bui/grid/plugins/editing'],function (require) { + var Editing = require('bui/grid/plugins/editing'), + CLS_BODY = BUI.prefix + 'grid-body', + CLS_CELL = BUI.prefix + 'grid-cell'; + + /** + * @class BUI.Grid.Plugins.CellEditing + * @extends BUI.Grid.Plugins.Editing + * \u5355\u5143\u683c\u7f16\u8f91\u63d2\u4ef6 + */ + var CellEditing = function(config){ + CellEditing.superclass.constructor.call(this, config); + }; + + CellEditing.ATTRS = { + /** + * \u89e6\u53d1\u7f16\u8f91\u6837\u5f0f\uff0c\u4e3a\u7a7a\u65f6\u9ed8\u8ba4\u70b9\u51fb\u6574\u884c\u90fd\u4f1a\u89e6\u53d1\u7f16\u8f91 + * @cfg {String} [triggerCls = 'bui-grid-cell'] + */ + triggerCls : { + value : CLS_CELL + } + }; + + BUI.extend(CellEditing,Editing); + + BUI.augment(CellEditing,{ + /** + * @protected + * \u83b7\u53d6\u7f16\u8f91\u5668\u7684\u914d\u7f6e\u9879 + * @param {Array} fields \u5b57\u6bb5\u914d\u7f6e + */ + getEditorCfgs : function(fields){ + var _self = this, + grid = _self.get('grid'), + bodyNode = grid.get('el').find('.' + CLS_BODY), + rst = []; + BUI.each(fields,function(field){ + rst.push({field : field,changeSourceEvent : null,hideExceptNode : bodyNode,autoUpdate : false,preventHide : false}); + }); + + return rst; + }, + /** + * \u83b7\u53d6\u7f16\u8f91\u5668 + * @protected + * @param {String} field \u5b57\u6bb5\u503c + * @return {BUI.Editor.Editor} \u7f16\u8f91\u5668 + */ + getEditor : function(field){ + if(!field){ + return null; + } + var _self = this, + editors = _self.get('editors'), + editor = null; + + BUI.each(editors,function(item){ + if(item.get('field').get('name') === field){ + editor = item; + return false; + } + }); + return editor; + }, + /** + * \u663e\u793a\u7f16\u8f91\u5668\u524d + * @protected + * @param {BUI.Editor.Editor} editor + * @param {Object} options + */ + beforeShowEditor : function(editor,options){ + var _self = this, + cell = $(options.cell); + _self.resetWidth(editor,cell.outerWidth()); + }, + resetWidth : function(editor,width){ + editor.set('width',width); + }, + /** + * \u66f4\u65b0\u6570\u636e + * @protected + * @param {Object} record \u7f16\u8f91\u7684\u6570\u636e + * @param {*} value \u7f16\u8f91\u503c + */ + updateRecord : function(store,record,editor){ + var _self = this, + value = editor.getValue(), + fieldName = editor.get('field').get('name'), + preValue = record[fieldName]; + value = BUI.isDate(value) ? value.getTime() : value; + if(preValue !== value){ + store.setValue(record,fieldName,value); + } + }, + /** + * @protected + * \u83b7\u53d6\u5bf9\u9f50\u7684\u8282\u70b9 + * @override + * @param {Object} options \u70b9\u51fb\u5355\u5143\u683c\u7684\u4e8b\u4ef6\u5bf9\u8c61 + * @return {jQuery} + */ + getAlignNode : function(options){ + return $(options.cell); + }, + /** + * \u83b7\u53d6\u7f16\u8f91\u7684\u5b57\u6bb5 + * @protected + * @return {Array} \u5b57\u6bb5\u96c6\u5408 + */ + getFields : function(){ + var rst = [], + _self = this, + editors = _self.get('editors'); + BUI.each(editors,function(editor){ + rst.push(editor.get('field')); + }); + return rst; + }, + /** + * @protected + * \u83b7\u53d6\u8981\u7f16\u8f91\u7684\u503c + * @param {Object} options \u70b9\u51fb\u5355\u5143\u683c\u7684\u4e8b\u4ef6\u5bf9\u8c61 + * @return {*} \u7f16\u8f91\u7684\u503c + */ + getEditValue : function(options){ + if(options.record && options.field){ + var value = options.record[options.field]; + return value == null ? '' : value; + } + return ''; + } + }); + + return CellEditing; +});/** + * @fileOverview \u8868\u683c\u884c\u7f16\u8f91 + * @ignore + */ + +define('bui/grid/plugins/rowediting',['bui/common','bui/grid/plugins/editing'],function (require) { + var BUI = require('bui/common'), + Editing = require('bui/grid/plugins/editing'), + CLS_ROW = BUI.prefix + 'grid-row'; + + /** + * @class BUI.Grid.Plugins.RowEditing + * @extends BUI.Grid.Plugins.Editing + * \u5355\u5143\u683c\u7f16\u8f91\u63d2\u4ef6 + */ + var RowEditing = function(config){ + RowEditing.superclass.constructor.call(this, config); + }; + + RowEditing.ATTRS = { + /** + * @protected + * \u7f16\u8f91\u5668\u7684\u5bf9\u9f50\u8bbe\u7f6e + * @type {Object} + */ + align : { + value : { + points: ['tl','tl'], + offset : [-2,0] + } + }, + /** + * \u89e6\u53d1\u7f16\u8f91\u6837\u5f0f\uff0c\u4e3a\u7a7a\u65f6\u9ed8\u8ba4\u70b9\u51fb\u6574\u884c\u90fd\u4f1a\u89e6\u53d1\u7f16\u8f91 + * @cfg {String} [triggerCls = 'bui-grid-row'] + */ + triggerCls : { + value : CLS_ROW + } + }; + + BUI.extend(RowEditing,Editing); + + BUI.augment(RowEditing,{ + + /** + * @protected + * \u83b7\u53d6\u7f16\u8f91\u5668\u7684\u914d\u7f6e\u9879 + * @param {Array} fields \u5b57\u6bb5\u914d\u7f6e + */ + getEditorCfgs : function(fields){ + var rst = []; + rst.push({ + changeSourceEvent : null, + autoUpdate : false, + form : { + children : fields, + buttonBar : { + elCls : 'centered toolbar' + } + } + }); + return rst; + }, + /** + * \u5c01\u88c5\u9a8c\u8bc1\u65b9\u6cd5 + * @protected + */ + wrapValidator : function(validator){ + var _self = this; + return function(value){ + var editor = _self.get('curEditor'), + record = editor ? editor.getValue() : _self.get('record'); + if(record){ + return validator(value,record); + } + }; + }, + /** + * @protected + * \u7f16\u8f91\u5668\u5b57\u6bb5\u5b9a\u4f4d + */ + focusEditor : function(editor,field){ + var form = editor.get('form'), + control = form.getField(field); + if(control){ + control.focus(); + } + }, + /** + * @protected + * \u83b7\u53d6\u5217\u5b9a\u4e49\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\u4fe1\u606f + * @param {BUI.Grid.Column} column \u5217\u5b9a\u4e49 + * @return {Object} \u5b57\u6bb5\u5b9a\u4e49 + */ + getFieldConfig : function(column){ + var editor = column.get('editor'); + if(editor){ + return editor; + } + var cfg = {xtype : 'plain'}; + if(column.get('dataIndex') && column.get('renderer')){ + cfg.renderer = column.get('renderer'); + //cfg.id = column.get('id'); + } + return cfg; + }, + /** + * \u66f4\u65b0\u6570\u636e + * @protected + * @param {Object} record \u7f16\u8f91\u7684\u6570\u636e + * @param {*} value \u7f16\u8f91\u503c + */ + updateRecord : function(store,record,editor){ + var _self = this, + value = editor.getValue(); + BUI.each(value,function(v,k){ + if(BUI.isDate(v)){ + value[k] = v.getTime(); + } + }); + BUI.mix(record,value); + + store.update(record); + }, + /** + * \u83b7\u53d6\u7f16\u8f91\u6b64\u5355\u5143\u683c\u7684\u7f16\u8f91\u5668 + * @protected + * @param {String} field \u70b9\u51fb\u5355\u5143\u683c\u7684\u5b57\u6bb5 + * @return {BUI.Editor.Editor} \u7f16\u8f91\u5668 + */ + getEditor : function(field){ + var _self = this, + editors = _self.get('editors'); + return editors[0]; + }, + /** + * @override + * \u5217\u53d1\u751f\u6539\u53d8 + */ + onColumnVisibleChange : function(column){ + var _self = this, + id = column.get('id'), + editor = _self.getEditor(), + field = editor.getChild(id,true); + if(field){ + field.set('visible',column.get('visible')); + } + }, + /** + * \u663e\u793a\u7f16\u8f91\u5668\u524d + * @protected + * @template + * @param {BUI.Editor.Editor} editor + * @param {Object} options + */ + beforeShowEditor : function(editor,options){ + var _self = this, + grid = _self.get('grid'), + columns = grid.get('columns'), + form = editor.get('form'), + row = $(options.row); + editor.set('width',row.width()); + BUI.each(columns,function(column){ + if(!column.get('visible')){ + field.set('visible',false); + }else{ + var fieldName = column.get('dataIndex'), + field = form.getField(fieldName), + width = column.get('el').outerWidth() - field.getAppendWidth(); + field.set('width',width); + } + }); + }, + /** + * @protected + * \u83b7\u53d6\u8981\u7f16\u8f91\u7684\u503c + * @param {Object} options \u70b9\u51fb\u5355\u5143\u683c\u7684\u4e8b\u4ef6\u5bf9\u8c61 + * @return {*} \u7f16\u8f91\u7684\u503c + */ + getEditValue : function(options){ + return options.record; + }, + /** + * \u83b7\u53d6\u7f16\u8f91\u5668\u7684\u6784\u9020\u51fd\u6570 + * @param {Object} Editor \u547d\u540d\u7a7a\u95f4 + * @return {Function} \u6784\u9020\u51fd\u6570 + */ + getEditorConstructor : function(Editor){ + return Editor.RecordEditor; + }, + /** + * @protected + * \u83b7\u53d6\u5bf9\u9f50\u7684\u8282\u70b9 + * @override + * @param {Object} options \u70b9\u51fb\u5355\u5143\u683c\u7684\u4e8b\u4ef6\u5bf9\u8c61 + * @return {jQuery} + */ + getAlignNode : function(options){ + return $(options.row); + }, + /** + * \u83b7\u53d6\u7f16\u8f91\u7684\u5b57\u6bb5 + * @protected + * @return {Array} \u5b57\u6bb5\u96c6\u5408 + */ + getFields : function(){ + var _self = this, + editors = _self.get('editors'); + return editors[0].get('form').get('children'); + } + }); + return RowEditing; +});/** + * @fileOverview \u8868\u683c\u8ddf\u8868\u5355\u8054\u7528 + * @ignore + */ + +define('bui/grid/plugins/dialogediting',['bui/common'],function (require) { + var BUI = require('bui/common'), + TYPE_ADD = 'add', + TYPE_EDIT = 'edit'; + + /** + * \u8868\u683c\u7684\u7f16\u8f91\u63d2\u4ef6 + * @class BUI.Grid.Plugins.DialogEditing + */ + function Dialog(config){ + Dialog.superclass.constructor.call(this, config); + } + + Dialog.ATTRS = { + /** + * \u7f16\u8f91\u7684\u8bb0\u5f55 + * @type {Object} + * @readOnly + */ + record : { + + }, + /** + * @private + * \u7f16\u8f91\u8bb0\u5f55\u7684index + * @type {Object} + */ + curIndex : { + + }, + /** + * Dialog\u7684\u5185\u5bb9\uff0c\u5185\u90e8\u5305\u542b\u8868\u5355(form) + * @cfg {String} contentId + */ + /** + * Dialog\u7684\u5185\u5bb9\uff0c\u5185\u90e8\u5305\u542b\u8868\u5355(form) + * @type {String} + */ + contentId:{ + + }, + /** + * \u7f16\u8f91\u5668 + * @type {BUI.Editor.DialogEditor} + * @readOnly + */ + editor : { + + }, + /** + * Dialog\u4e2d\u7684\u8868\u5355 + * @type {BUI.Form.Form} + * @readOnly + */ + form : { + + }, + events : { + value : { + /** + * @event + * \u7f16\u8f91\u7684\u8bb0\u5f55\u53d1\u751f\u66f4\u6539 + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.record \u8bb0\u5f55 + * @param {Object} e.editType \u7f16\u8f91\u7684\u7c7b\u578b add \u6216\u8005 edit + */ + recordchange : false + } + }, + editType : { + + } + }; + + BUI.extend(Dialog,BUI.Base); + + BUI.augment(Dialog,{ + /** + * \u521d\u59cb\u5316 + * @protected + */ + initializer : function (grid) { + var _self = this; + _self.set('grid',grid); + //\u5ef6\u8fdf\u52a0\u8f7d editor\u6a21\u5757 + BUI.use('bui/editor',function(Editor){ + _self._initEditor(Editor); + }); + }, + bindUI : function(grid){ + var _self = this, + triggerCls = _self.get('triggerCls'); + if(triggerCls){ + grid.on('cellclick',function(ev){ + var sender = $(ev.domTarget), + editor = _self.get('editor'); + if(sender.hasClass(triggerCls) && editor){ + + _self.edit(ev.record); + if(grid.get('multipleSelect')){ + return false; + } + } + }); + } + }, + //\u521d\u59cb\u5316\u7f16\u8f91\u5668 + _initEditor : function(Editor){ + var _self = this, + contentId = _self.get('contentId'), + formNode = $('#' + contentId).find('form'), + editor = _self.get('editor'), + cfg = BUI.merge(editor,{ + contentId : contentId, + form : { + srcNode : formNode + } + }); + + editor = new Editor.DialogEditor(cfg); + _self._bindEditor(editor); + _self.set('editor',editor); + _self.set('form',editor.get('form')); + }, + //\u7ed1\u5b9a\u7f16\u8f91\u5668\u4e8b\u4ef6 + _bindEditor : function(editor){ + var _self = this; + editor.on('accept',function(){ + var form = editor.get('form'), + record = form.serializeToObject(); + _self.saveRecord(record); + }); + }, + /** + * \u7f16\u8f91\u8bb0\u5f55 + * @param {Object} record \u8bb0\u5f55 + */ + edit : function(record){ + var _self = this; + _self.set('editType',TYPE_EDIT); + _self.showEditor(record); + }, + /** + * \u6dfb\u52a0\u8bb0\u5f55 + * @param {Object} record \u8bb0\u5f55 + * @param {Number} [index] \u6dfb\u52a0\u5230\u7684\u4f4d\u7f6e\uff0c\u9ed8\u8ba4\u6dfb\u52a0\u5728\u6700\u540e + */ + add : function(record,index){ + var _self = this; + _self.set('editType',TYPE_ADD); + _self.set('curIndex',index); + _self.showEditor(record); + }, + /** + * @private + * \u4fdd\u5b58\u8bb0\u5f55 + */ + saveRecord : function(record){ + var _self = this, + grid = _self.get('grid'), + editType = _self.get('editType'), + curIndex = _self.get('curIndex'), + store = grid.get('store'), + curRecord = _self.get('record'); + + BUI.mix(curRecord,record); + + if(editType == TYPE_ADD){ + if(curIndex != null){ + store.addAt(curRecord,curIndex); + }else{ + store.add(curRecord); + } + }else{ + store.update(curRecord); + } + }, + /** + * @private + * \u663e\u793a\u7f16\u8f91\u5668 + */ + showEditor : function(record){ + var _self = this, + editor = _self.get('editor'); + + editor.show(); + editor.setValue(record); + _self.set('record',record); + _self.fire('recordchange',{record : record,editType : _self.get('editType')}); + }, + /** + * \u53d6\u6d88\u7f16\u8f91 + */ + cancel : function(){ + var _self = this, + editor = _self.get('editor'); + editor.cancel(); + }, + destructor : function(){ + var _self = this, + editor = _self.get('editor'); + editor && editor.destroy(); + _self.off(); + _self.clearAttrVals(); + } + + }); + + return Dialog; +});/** + * @fileOverview \u9009\u62e9\u6846\u547d\u540d\u7a7a\u95f4\u5165\u53e3\u6587\u4ef6 + * @ignore + */ + +define('bui/tree',['bui/common','bui/tree/treemixin','bui/tree/treelist'],function (require) { + var BUI = require('bui/common'), + Tree = BUI.namespace('Tree'); + + BUI.mix(Tree,{ + TreeList : require('bui/tree/treelist'), + Mixin : require('bui/tree/treemixin') + }); + return Tree; +});/** + * @fileOverview \u6811\u5f62\u6269\u5c55\uff0c\u57fa\u4e8elist\u6269\u5c55\uff0c\u53ef\u4ee5\u7ec4\u5408\u51fatree list,tree grid ,tree menu + * @ignore + */ + +define('bui/tree/treemixin',['bui/common','bui/data'],function (require) { + + //\u5c06id \u8f6c\u6362\u6210node + function makeSureNode(self,node){ + if(BUI.isString(node)){ + node = self.getItem(node); + } + return node; + } + + var BUI = require('bui/common'), + Data = require('bui/data'), + EXPAND = 'expanded', + LOADING = 'loading', + CHECKED = 'checked', + PARTIAL_CHECKED = 'partial-checked', + MAP_TYPES = { + NONE : 'none', + ALL : 'all', + CUSTOM : 'custom', + ONLY_LEAF : 'onlyLeaf' + }, + CLS_ICON = 'x-tree-icon', + CLS_ELBOW = 'x-tree-elbow', + CLS_SHOW_LINE = 'x-tree-show-line', + CLS_ICON_PREFIX = CLS_ELBOW + '-', + CLS_ICON_WRAPER = CLS_ICON + '-wraper', + CLS_LINE = CLS_ICON_PREFIX + 'line', + CLS_END = CLS_ICON_PREFIX + 'end', + CLS_EMPTY = CLS_ICON_PREFIX + 'empty', + CLS_EXPANDER = CLS_ICON_PREFIX + 'expander', + CLS_CHECKBOX = CLS_ICON + '-checkbox', + CLS_EXPANDER_END = CLS_EXPANDER + '-end', + Mixin = function(){ + + }; + + /** + * @class BUI.Tree.Mixin + * \u6811\u63a7\u4ef6\u7684\u6269\u5c55\uff0c\u53ef\u4ee5\u5e94\u7528\u4e8eList,Grid\u7b49\u63a7\u4ef6 + */ + Mixin.ATTRS = { + + + /** + * \u6811\u7684\u6570\u636e\u7f13\u51b2\u7c7b\u5bf9\u8c61,\u7528\u4e8e\u64cd\u4f5c\u6570\u636e\u7684\u52a0\u8f7d\u3001\u589e\u5220\u6539 + *
                
                +     * //\u6570\u636e\u7f13\u51b2\u7c7b
                +     * var store = new Data.TreeStore({
                +     *     root : {
                +     *       id : '0',
                +     *      text : '0'
                +     *     },
                +     *     url : 'data/nodes.php'
                +     *   });
                +     *   
                +     * var tree = new Tree.TreeList({
                +     *   render : '#t1',
                +     *   showLine : true,
                +     *   height:300,
                +     *   store : store,
                +     *   showRoot : true
                +     * });
                +     * tree.render();
                +     * 
                +     * 
                + * @cfg {BUI.Data.TreeStore} store + */ + /** + * \u6811\u7684\u6570\u636e\u7f13\u51b2\u7c7b\u5bf9\u8c61,\u9ed8\u8ba4\u90fd\u4f1a\u751f\u6210\u5bf9\u5e94\u7684\u7f13\u51b2\u5bf9\u8c61 + *
                
                +     * var store = tree.get('store');
                +     * 
                + * @type {BUI.Data.TreeStore} + */ + store : { + getter : function(v){ + if(!v){ + var _self = this, + store = new Data.TreeStore({ + root : _self.get('root'), + data : _self.get('nodes') + }); + _self.setInternal('store',store); + return store; + } + return v; + } + }, + /** + * \u6811\u7684\u6839\u8282\u70b9 + *
                
                +     *   //\u5982\u679c\u6570\u636e\u5b58\u5728\u6839\u8282\u70b9\uff0c\u5219\u914d\u7f6e\u6839\u8282\u70b9\uff0c\u4ee5\u4fbf\u4e8e\u663e\u793a
                +     *   var tree = new TreeList({
                +     *     root : {id: '0',text : '0',children:[{},{}]},
                +     *     showRoot : true
                +     *   });
                +     *   //\u5982\u679c\u914d\u7f6estore\uff0c\u5219\u4e0d\u9700\u8981\u914d\u7f6e\u6b64\u5c5e\u6027
                +     *   var store = new Data.TreeStore({
                +     *     root : {id: '0',text : '0',children:[{},{}]}
                +     *   });
                +     *   
                +     *   var tree = new TreeList({
                +     *     store : store,
                +     *     showRoot : true
                +     *   });
                +     * 
                + * @cfg {Object} root + */ + root : { + + }, + /** + * \u5b50\u8282\u70b9\u96c6\u5408 + *
                
                +     *   //\u5982\u679c\u4e0d\u663e\u793a\u6839\u8282\u70b9\uff0c\u5e76\u4e14\u6570\u636e\u6e90\u4e2d\u4e0d\u5b58\u5728\u6839\u8282\u70b9\uff0c\u53ef\u4ee5\u4ec5\u914d\u7f6e\u6b64\u5c5e\u6027
                +     *   var tree = new TreeList({
                +     *     nodes:[{},{}]
                +     *   });
                +     * 
                + * @cfg {Array} nodes + */ + nodes : { + sync : false + }, + /** + * \u653e\u7f6e\u8282\u70b9Icon\u7684\u5bb9\u5668,\u4e3a\u7a7a\u65f6\uff0c\u653e\u7f6e\u5728\u8282\u70b9\u7684\u6700\u524d\u9762 + * @protected + * @type {String} + */ + iconContainer : { + + }, + /** + * \u653e\u7f6eicon\u5916\u5c42\u7684\u6a21\u677f\uff0c\u7a7a\u767dicon\u3001\u53f6\u5b50\u8282\u70b9\u7684icon\u3001\u975e\u53f6\u5b50\u8282\u70b9\u7684Icon + * @protected + * @type {String} + */ + iconWraperTpl : { + value : '{icons}' + }, + /** + * \u662f\u5426\u663e\u793a\u8fde\u63a5\u7ebf + *
                
                +     *  var tree = new TreeList({
                +     *    nodes : [],
                +     *    showLine : true
                +     *  });
                +     * 
                + * @cfg {Boolean} showLine + */ + /** + * \u662f\u5426\u663e\u793a\u8fde\u63a5\u7ebf + * @type {Boolean} showLine + */ + showLine : { + value : false + }, + /** + * \u56fe\u6807\u6240\u4f7f\u7528\u7684\u6a21\u677f + * @protected + * @type {Object} + */ + iconTpl : { + value : '' + }, + /** + * \u53f6\u5b50\u8282\u70b9\u5e94\u7528\u7684\u6837\u5f0f + *
                
                +     *  var tree = new TreeList({
                +     *    nodes : [{},{}],
                +     *    leafCls : 'file',
                +     *    dirCls : 'folder' 
                +     *  });
                +     * 
                + * @cfg {String} [leafCls = 'x-tree-elbow-leaf'] + */ + leafCls : { + value : CLS_ICON_PREFIX + 'leaf' + }, + + /** + * \u975e\u53f6\u5b50\u8282\u70b9\u5e94\u7528\u7684\u6837\u5f0f + * @cfg {String} [dirCls = 'x-tree-elbow-dir'] + */ + dirCls : { + value : CLS_ICON_PREFIX + 'dir' + }, + /** + * \u52fe\u9009\u7c7b\u578b\uff0c\u76ee\u524d\u63d0\u4f9b\u4e00\u4e0b\u51e0\u79cd\u52fe\u9009\u65b9\u5f0f: + *
                  + *
                1. all : \u5168\u90e8\u8282\u70b9\u53ef\u4ee5\u52fe\u9009
                2. + *
                3. onlyLeaf : \u53ea\u6709\u5b50\u8282\u70b9\u53ef\u4ee5\u52fe\u9009
                4. + *
                5. custom : \u81ea\u5b9a\u4e49\u52fe\u9009\uff0c\u53ea\u6709\u8282\u70b9\u6570\u636e\u4e0a\u6709checked\u5b57\u6bb5\u624d\u5141\u8bb8\u52fe\u9009
                6. + *
                7. none : \u5168\u90e8\u8282\u70b9\u4e0d\u53ef\u52fe\u9009
                8. + *
                + * @cfg {Object} [checkType = 'custom'] + */ + checkType : { + value : 'custom' + }, + /** + * @private + * \u52fe\u9009\u5b57\u6bb5 + * @type {String} + */ + checkedField : { + valueFn : function(){ + return this.getStatusField('checked'); + } + }, + /** + * \u9009\u9879\u5bf9\u8c61\u4e2d\u5c5e\u6027\u4f1a\u76f4\u63a5\u5f71\u54cd\u76f8\u5e94\u7684\u72b6\u6001,\u9ed8\u8ba4\uff1a + *
                
                +     * //\u9ed8\u8ba4\u503c
                +     * {
                +     *   expanded : 'expanded',
                +     *   disabled : 'disabled',
                +     *   checked : 'checked'
                +     * }
                +     * //\u5bf9\u8c61
                +     * var node = {id : '1',text : '1',checked : true,expanded : true};
                +     * 
                +     * //\u5982\u679c\u4f60\u7684\u6570\u636e\u6e90\u4e2d\u7684\u5b57\u6bb5\u540d\u8ddf\u8fd9\u4e9b\u72b6\u6001\u540d\u4e0d\u4e00\u81f4\uff0c\u4f60\u53ef\u4ee5\u81ea\u5df1\u4fee\u6539
                +     * var tree = new TreeList({
                +     *   nodes : [],
                +     *   itemStatusFields : {
                +     *     disabled : 'hasDisabled', 
                +     *     custom : 'custom'  //\u6dfb\u52a0\u81ea\u5b9a\u4e49\u5c5e\u6027\uff0c\u6b64\u65f6\u8282\u70b9\u751f\u6210\u540e\u4f1a\u81ea\u52a8\u6dfb\u52a0\u5bf9\u5e94\u7684\u6837\u5f0f bui + xclass + 'custom'
                +     *   }
                +     * });
                +     * 
                + * @override + * @cfg {Object} itemStatusFields + */ + itemStatusFields : { + value : { + expanded : 'expanded', + disabled : 'disabled', + checked : 'checked' + } + }, + /** + * \u6587\u4ef6\u5939\u662f\u5426\u53ef\u9009\uff0c\u7528\u4e8e\u9009\u62e9\u8282\u70b9\u65f6\uff0c\u907f\u514d\u9009\u4e2d\u975e\u53f6\u5b50\u8282\u70b9 + * @cfg {Boolean} [dirSelectable = true] + */ + dirSelectable : { + value : true + }, + /** + * \u662f\u5426\u663e\u793a\u6839\u8282\u70b9 + *
                
                +     *
                +     *  var tree = new TreeList({
                +     *    root : {id : '0',text : '0',childrent : []},
                +     *    showRoot : true
                +     *  });
                +     *   
                +     * 
                + * @type {Boolean} + */ + showRoot : { + value : false + }, + events : { + value : { + /** + * @event + * \u5c55\u5f00\u8282\u70b9 + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.Node \u8282\u70b9 + * @param {HTMLElement} e.element \u8282\u70b9\u7684DOM + */ + expanded : false, + /** + * @event + * \u6298\u53e0\u8282\u70b9 + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.Node \u8282\u70b9 + * @param {HTMLElement} e.element \u8282\u70b9\u7684DOM + */ + collapsed : false, + /** + * @event + * \u52fe\u9009\u6539\u53d8\u4e8b\u4ef6 + * @param {Object} e \u4e8b\u4ef6\u5bf9\u8c61 + * @param {Object} e.Node \u8282\u70b9 + * @param {Boolean} e.checked \u9009\u4e2d\u72b6\u6001 + * @param {HTMLElement} e.element \u8282\u70b9\u7684DOM + */ + checkchange : false + } + }, + /** + * \u5f00\u59cb\u7684\u5c42\u7ea7\uff0c\u5982\u679c\u663e\u793a\u6839\u8282\u70b9\uff0c\u4ece0\u5f00\u59cb\uff0c\u4e0d\u663e\u793a\u6839\u8282\u70b9\u4ece1\u5f00\u59cb + * @private + * @readOnly + * @type {Number} + */ + startLevel : { + value : 1 + } + }; + + BUI.augment(Mixin,{ + /** + * \u6298\u53e0\u6240\u6709 + *
                
                +     *  tree.collapseAll();
                +     * 
                + */ + collapseAll: function(){ + var _self = this, + elements = _self.get('view').getAllElements(); + + BUI.each(elements,function(element){ + var item = _self.getItemByElement(element); + if(item){ + _self._collapseNode(item,element,true); + } + }); + }, + /** + * \u6298\u53e0\u8282\u70b9 + *
                
                +     *  //\u83b7\u53d6\u8282\u70b9\u540e\uff0c\u6298\u53e0
                +     *  var node = tree.findNode('id');
                +     *  tree.collapseNode(node);
                +     *  //\u76f4\u63a5\u901a\u8fc7id \u6298\u53e0
                +     *  tree.collapseNode('id');
                +     * 
                + * @param {String|Object|BUI.Data.Node} node \u8282\u70b9 + */ + collapseNode : function(node){ + var _self = this, + element; + if(BUI.isString(node)){ + node = _self.findNode(node); + } + element = _self.findElement(node); + + _self._collapseNode(node,element); + }, + /* + * \u5c55\u5f00\u6240\u6709 + *
                
                +     *  tree.expandAll();
                +     * 
                + */ + expandAll : function(){ + var _self = this, + elements = _self.get('view').getAllElements(); + + BUI.each(elements,function(element){ + var item = _self.getItemByElement(element); + _self._expandNode(item,element,true); + }); + }, + /** + * \u5c55\u5f00\u8282\u70b9 + *
                
                +     *  //\u83b7\u53d6\u8282\u70b9\u540e\u5c55\u5f00
                +     *  var node = tree.findNode('id');
                +     *  tree.expandNode(node);
                +     *  //\u4f7f\u7528store\u65f6\uff0c\u83b7\u53d6\u8282\u70b9\uff0c\u7136\u540e\u5c55\u5f00
                +     *  var node = store.findNode('id');
                +     *  tree.expandNode(node);
                +     *  //\u76f4\u63a5\u4f7f\u7528id \u5c55\u5f00
                +     *  tree.expandNode('id');
                +     * 
                + * ** Notes ** + * \u7531\u4e8e\u6811\u63a7\u4ef6\u5176\u5b9e\u662f\u4e00\u4e2a\u5217\u8868\uff0c\u6240\u4ee5\u672a\u5c55\u5f00\u8282\u70b9\u7684\u5b50\u8282\u70b9\u5176\u5b9e\u4e0d\u5728\u5217\u8868\u4e2d\uff0c\u6240\u4ee5\u8fd9\u4e9b\u8282\u70b9\u901a\u8fc7tree.getItem('id'),\u6b64\u65f6\u67e5\u627e\u4e0d\u5230\u5bf9\u5e94\u7684\u8282\u70b9 + * @param {String|Object|BUI.Data.Node} node \u8282\u70b9\u6216\u8005 \u8282\u70b9id + */ + expandNode : function(node,deep){ + var _self = this, + element; + if(BUI.isString(node)){ + node = _self.findNode(node); + } + + if(node.parent && !_self.isExpanded(node.parent)){ + _self.expandNode(node.parent); + } + + element = _self.findElement(node); + _self._expandNode(node,element,deep); + }, + /** + * \u6cbf\u7740path(id\u7684\u8fde\u63a5\u4e32) \u5c55\u5f00 + *
                +     *  
                +     *    var path = "0,1,12,121"; //\u6cbf\u7740\u6839\u8282\u70b90\uff0c\u6811\u8282\u70b9 1,12\u76f4\u5230121\u7684\u8def\u5f84\u5c55\u5f00
                +     *    tree.expandPath(path); //\u5982\u679c\u4e2d\u95f4\u6709\u8282\u70b9\u4e0d\u5b58\u5728\uff0c\u7ec8\u6b62\u5c55\u5f00
                +     *  
                +     * 
                + * @param {String} path \u8282\u70b9\u7684path\uff0c\u4ece\u6839\u8282\u70b9\uff0c\u5230\u5f53\u524d\u8282\u70b9\u7684id\u7ec4\u5408 + */ + expandPath : function(path,async,startIndex){ + if(!path){ + return; + } + startIndex = startIndex || 0; + var _self = this, + store = _self.get('store'), + preNode, + node, + i, + id, + arr = path.split(','); + + preNode = _self.findNode(arr[startIndex]); + for(i = startIndex + 1; i < arr.length ; i++){ + id = arr[i]; + node = _self.findNode(id,preNode); + if(preNode && node){ //\u7236\u5143\u7d20\uff0c\u5b50\u5143\u7d20\u540c\u65f6\u5b58\u5728 + _self.expandNode(preNode); + preNode = node; + }else if(preNode && async){ + store.load({id : preNode.id},function(){ //\u52a0\u8f7d\u5b8c\u6210\u540e + node = _self.findNode(id,preNode); + if(node){ + _self.expandPath(path,async,i); + } + }); + break; + } + } + }, + /** + * \u67e5\u627e\u8282\u70b9 + *
                
                +     *  var node = tree.findNode('1');//\u4ece\u6839\u8282\u70b9\u5f00\u59cb\u67e5\u627e\u8282\u70b9
                +     *  
                +     *  var subNode = tree.findNode('123',node); //\u4ece\u6307\u5b9a\u8282\u70b9\u5f00\u59cb\u67e5\u627e
                +     * 
                + * @param {String} id \u8282\u70b9Id + * @param {BUI.Data.Node} [parent] \u7236\u8282\u70b9 + * @return {BUI.Data.Node} \u8282\u70b9 + */ + findNode : function(id,parent){ + return this.get('store').findNode(id,parent); + }, + /** + * \u83b7\u53d6\u6240\u6709\u52fe\u9009\u7684\u5b50\u8282\u70b9 + *
                
                +     *  //\u83b7\u53d6\u6240\u6709\u9009\u4e2d\u7684\u53f6\u5b50\u8282\u70b9
                +     *  var nodes = tree.getCheckedLeaf();
                +     *  
                +     *  //\u83b7\u53d6\u6307\u5b9a\u8282\u70b9\u9009\u4e2d\u7684\u53f6\u5b50\u8282\u70b9
                +     *  var node = tree.findNode('1'),
                +     *    nodes = tree.getCheckedLeaf(node);
                +     *  
                +     * 
                + * @param {BUI.Data.Node} [parent] \u7236\u8282\u70b9 + * @return {Array} \u8282\u70b9\u5217\u8868 + */ + getCheckedLeaf : function(parent){ + var _self = this, + store = _self.get('store'); + + return store.findNodesBy(function(node){ + return node.leaf && _self.isChecked(node); + },parent); + }, + /** + * \u83b7\u53d6\u52fe\u9009\u4e2d\u7684\u8282\u70b9\u5217\u8868 + *
                
                +     *  //\u83b7\u53d6\u6240\u6709\u9009\u4e2d\u8282\u70b9
                +     *  var nodes = tree.getCheckedNodes();
                +     *  
                +     *  //\u83b7\u53d6\u6307\u5b9a\u8282\u70b9\u9009\u4e2d\u7684\u8282\u70b9
                +     *  var node = tree.findNode('1'),
                +     *    nodes = tree.getCheckedNodes(node);
                +     *  
                +     * 
                + * @param {BUI.Data.Node} [parent] \u7236\u8282\u70b9 + * @return {Array} \u8282\u70b9\u5217\u8868 + */ + getCheckedNodes : function(parent){ + var _self = this, + store = _self.get('store'); + + return store.findNodesBy(function(node){ + return _self.isChecked(node); + },parent); + }, + /** + * \u8282\u70b9\u662f\u5426\u5c55\u5f00,\u5982\u679c\u8282\u70b9\u662f\u53f6\u5b50\u8282\u70b9\uff0c\u5219\u59cb\u7ec8\u662ffalse + *
                
                +     *  tree.isExpanded(node);
                +     * 
                + * @return {Boolean} \u662f\u5426\u5c55\u5f00 + */ + isExpanded : function(node){ + if(!node || node.leaf){ + return false; + } + var _self = this, + element; + if(_self._isRoot(node) && !_self.get('showRoot')){ //\u6839\u8282\u70b9\uff0c\u5207\u4e0d\u663e\u793a\u6839\u8282\u70b9\u65f6\uff0c\u8ba4\u4e3a\u6839\u8282\u70b9\u65f6\u5c55\u5f00\u7684 + return true; + } + if(BUI.isString(node)){ + item = _self.getItem(node); + } + element = _self.findElement(node); + return this._isExpanded(node,element); + }, + /** + * \u8282\u70b9\u662f\u5426\u52fe\u9009 + *
                
                +     *  tree.isChecked(node);
                +     * 
                + * @return {Boolean} \u8282\u70b9\u662f\u5426\u52fe\u9009 + */ + isChecked : function(node){ + if(!node){ + return false; + } + return node[this.get('checkedField')];//this.getStatusValue(node,'checked'); + }, + /** + * \u5207\u6362\u663e\u793a\u9690\u85cf + *
                
                +     *  var node = tree.getItem('id');
                +     *  tree.collapseNode(node); //\u8282\u70b9\u6536\u7f29
                +     *  tree.toggleExpand(node); //\u8282\u70b9\u5c55\u5f00
                +     *  tree.toggleExpand(node); //\u8282\u70b9\u6536\u7f29
                +     * 
                + * @param {String|Object|BUI.Data.Node} node \u8282\u70b9 + */ + toggleExpand : function(node){ + var _self = this, + element; + if(BUI.isString(node)){ + item = _self.getItem(node); + } + element = _self.findElement(node); + _self._toggleExpand(node,element); + }, + /** + * \u8bbe\u7f6e\u8282\u70b9\u52fe\u9009\u72b6\u6001 + *
                
                +     *  var node = tree.findNode('1');
                +     *  tree.setNodeChecked(node,true); //\u52fe\u9009
                +     *  tree.setNodeChecked(node,false); //\u53d6\u6d88\u52fe\u9009
                +     * 
                + * @param {String|Object|BUI.Data.Node} node \u8282\u70b9\u6216\u8005\u8282\u70b9id + * @param {Boolean} checked \u662f\u5426\u52fe\u9009 + */ + setNodeChecked : function(node,checked,deep){ + deep = deep == null ? true : deep; + var _self = this, + parent, + element; + node = makeSureNode(this,node); + parent = node.parent; + if(!_self.isCheckable(node)){ + return; + } + + if(_self.isChecked(node) !== checked || _self.hasStatus(node,'checked') !== checked){ + + element = _self.findElement(node); + if(element){ + _self.setItemStatus(node,CHECKED,checked,element); //\u8bbe\u7f6e\u9009\u4e2d\u72b6\u6001 + _self._resetPatialChecked(node,checked,checked,element); //\u8bbe\u7f6e\u90e8\u5206\u52fe\u9009\u72b6\u6001 + }else if(!_self.isItemDisabled(node)){ + _self.setStatusValue(node,'checked',checked); + } + if(parent){ //\u8bbe\u7f6e\u7236\u5143\u7d20\u9009\u4e2d + if(_self.isChecked(parent) != checked){ + _self._resetParentChecked(parent); + }else{ + _self._resetPatialChecked(parent,null,null,null,true); + } + } + _self.fire('checkchange',{node : node,element: element,checked : checked}); + + } + if(!node.leaf && deep){ //\u6811\u8282\u70b9\uff0c\u52fe\u9009\u6240\u6709\u5b50\u8282\u70b9 + BUI.each(node.children,function(subNode){ + _self.setNodeChecked(subNode,checked,deep); + }); + } + }, + + //\u521d\u59cb\u5316\u6839\u8282\u70b9 + _initRoot : function(){ + var _self = this, + store = _self.get('store'), + root, + showRoot = _self.get('showRoot'), + nodes; + if(store){ + root = store.get('root'); + _self.setInternal('root',root); + if(showRoot){ + nodes = [root]; + }else{ + nodes = root.children; + } + + BUI.each(nodes,function(subNode){ + _self._initChecked(subNode,true); + }); + _self.clearItems(); + _self.addItems(nodes); + //_self.set('nodes',nodes); + } + + }, + //\u521d\u59cb\u5316\u8282\u70b9\u7684\u52fe\u9009 + _initChecked : function(node,deep){ + var _self = this, + checkType = _self.get('checkType'), + checkedField = _self.get('checkedField'), + parent; + if(checkType === MAP_TYPES.NONE){ //\u4e0d\u5141\u8bb8\u9009\u4e2d + delete node[checkedField]; + return; + } + + if(checkType === MAP_TYPES.ONLY_LEAF){ //\u4ec5\u53f6\u5b50\u8282\u70b9\u53ef\u9009 + if(node.leaf){ + node[checkedField] = node[checkedField] || false; + }else{ + delete node[checkedField]; + if(deep){ + BUI.each(node.children,function(subNode){ + _self._initChecked(subNode,deep); + }); + } + } + return; + } + + if(checkType === MAP_TYPES.ALL){ //\u6240\u6709\u5141\u8bb8\u9009\u4e2d + node[checkedField] = node[checkedField] || false; + } + + if(!node || !_self.isCheckable(node)){ //\u5982\u679c\u4e0d\u53ef\u9009\uff0c\u5219\u4e0d\u5904\u7406\u52fe\u9009 + return; + } + parent = node.parent; + if(!_self.isChecked(node)){ //\u8282\u70b9\u672a\u88ab\u9009\u62e9\uff0c\u6839\u636e\u7236\u3001\u5b50\u8282\u70b9\u5904\u7406\u52fe\u9009 + if(parent && _self.isChecked(parent)){ //\u5982\u679c\u7236\u8282\u70b9\u9009\u4e2d\uff0c\u5f53\u524d\u8282\u70b9\u5fc5\u987b\u52fe\u9009 + _self.setStatusValue(node,'checked',true); + } + if(_self._isAllChildrenChecked(node)){ + _self.setStatusValue(node,'checked',true); + } + } + if(deep){ + BUI.each(node.children,function(subNode){ + _self._initChecked(subNode,deep); + }); + } + + }, + //\u8bbe\u7f6e\u90e8\u5206\u9009\u4e2d\u6548\u679c + _resetPatialChecked : function(node,checked,hasChecked,element,upper){ + if(!node || node.leaf){ + return true; + } + var _self = this, + hasChecked; + checked = checked == null ? _self.isChecked(node) : checked; + if(checked){ + _self.setItemStatus(node,PARTIAL_CHECKED,false,element); + return; + } + hasChecked = hasChecked == null ? _self._hasChildChecked(node) : hasChecked; + + _self.setItemStatus(node,PARTIAL_CHECKED,hasChecked,element); + if(upper && node.parent){ + _self._resetPatialChecked(node.parent,false,hasChecked ? hasChecked : null,null,upper) + } + + }, + //\u5b50\u8282\u70b9\u53d8\u5316\uff0c\u91cd\u7f6e\u7236\u8282\u70b9\u52fe\u9009 + _resetParentChecked : function(parentNode){ + if(!this.isCheckable(parentNode)){ + return; + } + var _self = this, + allChecked = _self._isAllChildrenChecked(parentNode); + _self.setStatusValue(parentNode,'checked',allChecked); + _self.setNodeChecked(parentNode,allChecked,false); + _self._resetPatialChecked(parentNode,allChecked,null,null); + }, + //\u7ed1\u5b9a\u4e8b\u4ef6 + __bindUI : function(){ + var _self = this, + el = _self.get('el'); + + //\u70b9\u51fb\u9009\u9879 + _self.on('itemclick',function(ev){ + var sender = $(ev.domTarget), + element = ev.element, + node = ev.item; + if(sender.hasClass(CLS_EXPANDER)){ + _self._toggleExpand(node,element); //\u70b9\u51fb\u5c55\u5f00\u6536\u7f29\u8282\u70b9\uff0c\u4e0d\u89e6\u53d1\u9009\u4e2d\u4e8b\u4ef6 + return false; + }else if(sender.hasClass(CLS_CHECKBOX)){ + var checked = _self.isChecked(node); + _self.setNodeChecked(node,!checked); + } + + }); + + _self.on('itemdblclick',function(ev){ + var sender = $(ev.domTarget), + element = ev.element, + node = ev.item; + if(!sender.hasClass(CLS_EXPANDER)){ + _self._toggleExpand(node,element); + } + }); + + _self.on('beforeselectedchange',function(ev){ + var dirSelectable = _self.get('dirSelectable'), + node = ev.item; + if(!dirSelectable && !node.leaf){ //\u5982\u679c\u963b\u6b62\u975e\u53f6\u5b50\u8282\u70b9\u9009\u4e2d + return false; + } + }); + + _self.on('itemrendered',function(ev){ + var node = ev.item, + element = ev.domTarget; + _self._resetIcons(node,element); + if(_self.isCheckable(node)){ + _self._resetPatialChecked(node,null,null,element); + } + if(_self._isExpanded(node,element)){ + _self._showChildren(node); + } + + }); + }, + //\u662f\u5426\u6240\u6709\u5b50\u8282\u70b9\u88ab\u9009\u4e2d + _isAllChildrenChecked : function(node){ + if(!node || node.leaf){ + return false; + } + var _self = this, + children = node.children, + rst = true; + BUI.each(children,function(subNode){ + rst = rst && _self.isChecked(subNode); + if(!rst){ //\u5b58\u5728\u672a\u9009\u4e2d\u7684\uff0c\u8fd4\u56de + return false; + } + }); + return rst; + }, + //\u662f\u5426\u6709\u5b50\u8282\u70b9\u9009\u4e2d + _hasChildChecked : function(node){ + if(!node || node.leaf){ + return false; + } + var _self = this; + + return _self.getCheckedNodes(node).length != 0; + }, + //\u662f\u5426\u662f\u6839\u8282\u70b9 + _isRoot : function(node){ + var _self = this, + store = _self.get('store'); + if(store && store.get('root') == node){ + return true; + } + return false; + }, + //\u8bbe\u7f6e\u52a0\u8f7d\u72b6\u6001 + _setLoadStatus : function(node,element,loading){ + var _self = this; + _self.setItemStatus(node,LOADING,loading,element); + }, + //\u52a0\u8f7d\u8282\u70b9\u524d + _beforeLoadNode : function(node){ + var _self = this, + element; + if(BUI.isString(node)){ + node = _self.findNode(node); + } + element = _self.findElement(node) + if(element){ + _self._setLoadStatus(node,element,true); + } + if(node){ + BUI.each(node.children,function(subNode){ + _self._removeNode(subNode); + }); + + } + + }, + /** + * @override + * @protected + * \u52a0\u8f7d\u8282\u70b9\u524d\u89e6\u53d1 + */ + onBeforeLoad : function(e){ + var _self = this, + params = e.params, + id = params.id, + node = _self.findNode(id) || _self.get('root'); + _self._beforeLoadNode(node); + }, + //\u6dfb\u52a0\u8282\u70b9 + _addNode : function(node,index){ + var _self = this, + parent = node.parent, + scount,//\u5144\u5f1f\u8282\u70b9\u7684\u6570\u91cf + prevNode, //\u524d\u4e00\u4e2a\u8282\u70b9 + nextNode, //\u540e\u4e00\u4e2a\u8282\u70b9\uff0c\u7528\u4e8e\u8ba1\u7b97\u672c\u8282\u70b9\u653e\u7f6e\u7684\u4f4d\u7f6e,\u4e0d\u4e00\u5b9a\u662f\u540c\u7ea7\u8282\u70b9 + cIndex;//\u8282\u70b9\u63d2\u5165\u7684\u4f4d\u7f6e + _self._initChecked(node,true); + if(parent){ + if(_self.isExpanded(parent)){ //\u5c55\u5f00\u7684\u8282\u70b9 + scount = parent.children.length; + + cIndex = _self._getInsetIndex(node);//\u4e0b\u4e00\u4e2a\u8282\u70b9\u7684\u4f4d\u7f6e + _self.addItemAt(node,cIndex); + if(index == scount -1 && index > 0){ //\u4f5c\u4e3a\u6700\u540e\u4e00\u4e2a\u8282\u70b9\uff0c\u66f4\u65b0\u524d\u4e00\u4e2a\u5144\u5f1f\u8282\u70b9\u7684\u56fe\u6807 + prevNode = parent.children[index - 1]; + _self._updateIcons(prevNode); + } + } + _self._updateIcons(parent); //\u66f4\u65b0\u7236\u8282\u70b9\u7684icon + }else{ //\u6ca1\u6709\u7236\u8282\u70b9\uff0c\u5219\u6dfb\u52a0\u5230\u8ddf\u8282\u70b9\u4e0b + cIndex = _self._getInsetIndex(node); + _self.addItemAt(node,cIndex); + prevNode = _self.get('nodes')[index - 1]; + _self._updateIcons(prevNode); + } + }, + //\u83b7\u53d6\u8282\u70b9\u7684\u63d2\u5165\u4f4d\u7f6e + _getInsetIndex : function(node){ + var _self = this, + nextNode, + rst = null; + nextNode = _self._getNextItem(node); + if(nextNode){ + return _self.indexOfItem(nextNode); + } + return _self.getItemCount(); + }, + //\u83b7\u53d6\u663e\u793a\u5728\u5217\u8868\u4e0a\u7684\u4e0b\u4e00\u9879\uff0c\u4e0d\u4ec5\u4ec5\u662f\u540c\u7ea7\u8282\u70b9 + _getNextItem : function(item){ + var _self = this, + parent = item.parent, + slibings, + cIndex, + rst = null; + if(!parent){ + return null; + } + slibings = parent.children; + cIndex = BUI.Array.indexOf(item,slibings) + rst = slibings[cIndex + 1]; + + return rst || _self._getNextItem(parent); + }, + /** + * @override + * @protected + * \u91cd\u5199\u6dfb\u52a0\u8282\u70b9\u65b9\u6cd5 + */ + onAdd : function(e){ + var _self = this, + node = e.node, + index = e.index; + _self._addNode(node,index); + }, + //\u66f4\u65b0\u8282\u70b9 + _updateNode : function(node){ + var _self = this; + _self.updateItem(node); + _self._updateIcons(node); + }, + /** + * @override + * @protected + * \u91cd\u5199\u66f4\u65b0\u8282\u70b9\u65b9\u6cd5 + */ + onUpdate : function(e){ + var _self = this, + node = e.node; + _self._updateNode(node); + }, + //\u5220\u9664\u8282\u70b9 + _removeNode : function(node,index){ + var _self = this, + parent = node.parent, + scount, + prevNode; + _self.collapseNode(node); //\u6536\u7f29\u8282\u70b9\uff0c\u4ee5\u4fbf\u4e8e\u540c\u65f6\u5220\u9664\u5b50\u8282\u70b9 + if(!parent){ + return; + } + _self.removeItem(node); + if(_self.isExpanded(parent)){ //\u5982\u679c\u7236\u8282\u70b9\u5c55\u5f00 + + scount = parent.children.length; + if(scount == index && index !== 0){ //\u5982\u679c\u5220\u9664\u7684\u662f\u6700\u540e\u4e00\u4e2a\uff0c\u66f4\u65b0\u524d\u4e00\u4e2a\u8282\u70b9\u56fe\u6807 + prevNode = parent.children[index - 1]; + _self._updateIcons(prevNode); + } + } + _self._updateIcons(parent); + _self._resetParentChecked(parent); + }, + /** + * @override + * @protected + * \u91cd\u5199\u5220\u9664\u8282\u70b9\u65b9\u6cd5 + */ + onRemove : function(e){ + var _self = this, + node = e.node, + index = e.index; + _self._removeNode(node,index); + }, + //\u52a0\u8f7d\u5b8c\u8282\u70b9 + _loadNode : function(node){ + var _self = this; + _self.expandNode(node); + _self._updateIcons(node); + _self.setItemStatus(node,LOADING,false); + }, + /** + * @override + * @protected + * \u52a0\u8f7d\u8282\u70b9 + */ + onLoad : function(e){ + var _self = this, + store = _self.get('store'), + root = store.get('root'), + node; + + if(!e || e.node == root){ //\u521d\u59cb\u5316\u52a0\u8f7d\u65f6,\u6216\u8005\u52a0\u8f7d\u6839\u8282\u70b9 + _self._initRoot(); + } + if(e && e.node){ + _self._loadNode(e.node); + } + }, + _isExpanded : function(node,element){ + return this.hasStatus(node,EXPAND,element); + }, + //\u83b7\u53d6Icon\u7684\u6a21\u677f + _getIconsTpl : function(node){ + var _self = this, + level = node.level, + start = _self.get('startLevel'), + iconWraperTpl = _self.get('iconWraperTpl'), + icons = [], + i; + for(i = start ; i < level ; i = i + 1){ + icons.push(_self._getLevelIcon(node,i)); + } + icons.push(_self._getExpandIcon(node)); + icons.push(_self._getCheckedIcon(node)); + icons.push(_self._getNodeTypeIcon(node)); + return BUI.substitute(iconWraperTpl,{icons : icons.join('')}); + }, + //\u83b7\u53d6\u52fe\u9009icon + _getCheckedIcon : function(node){ + var _self = this, + checkable = _self.isCheckable(node); + if(checkable){ + return _self._getIcon(CLS_CHECKBOX); + } + return ''; + }, + /** + * \u662f\u5426\u53ef\u4ee5\u52fe\u9009 + * @protected + * @param {Object | BUI.Data.Node} node \u8282\u70b9 + * @return {Boolean} \u662f\u5426\u53ef\u4ee5\u52fe\u9009 + */ + isCheckable : function(node){ + return node[this.get('checkedField')] != null; + }, + //\u83b7\u53d6\u5c55\u5f00\u6298\u53e0\u7684icon + _getExpandIcon : function(node){ + var _self = this, + cls = CLS_EXPANDER; + if(node.leaf){ + return _self._getLevelIcon(node); + } + if(_self._isLastNode(node)){ + cls = cls + ' ' + CLS_EXPANDER_END; + } + return _self._getIcon(cls); + }, + //\u53f6\u5b50\u8282\u70b9\u548c\u6811\u8282\u70b9\u6709\u4e0d\u540c\u7684icon + _getNodeTypeIcon : function(node){ + var _self = this, + cls = node.cls ? node.cls :(node.leaf ? _self.get('leafCls') : _self.get('dirCls')); + return _self._getIcon(cls); + }, + //\u83b7\u53d6\u5bf9\u5e94Level\u7684icon + _getLevelIcon : function(node,level){ + var _self = this, + showLine = _self.get('showLine'), + cls = CLS_EMPTY, + levelNode; + if(showLine){ //\u5982\u679c\u663e\u793a\u8fde\u63a5\u7ebf + if(node.level === level || level == null){ //\u5f53\u524d\u7684\u8fde\u63a5\u7ebf + cls = _self._isLastNode(node) ? CLS_END : CLS_ELBOW; + }else{ //\u4e0a\u4e00\u7ea7\u7684\u8fde\u63a5\u7ebf + levelNode = _self._getParentNode(node,level); + cls = _self._isLastNode(levelNode) ? CLS_EMPTY : CLS_LINE; + } + } + return _self._getIcon(cls); + }, + //\u83b7\u53d6\u5bf9\u5e94level\u7684\u7236\u8282\u70b9 + _getParentNode : function(node,level){ + var nodeLevel = node.level, + parent = node.parent, + i = nodeLevel - 1; + if(nodeLevel <= level){ + return null; + } + while(i > level){ + parent = parent.parent; + i = i - 1; + } + return parent; + }, + //\u83b7\u53d6icon + _getIcon : function(cls){ + var _self = this, + iconTpl = _self.get('iconTpl'); + return BUI.substitute(iconTpl,{cls : cls}); + }, + //\u662f\u5426\u662f\u7236\u8282\u70b9\u7684\u6700\u540e\u4e00\u4e2a\u8282\u70b9 + _isLastNode : function(node){ + + if(!node){ + return false; + } + if(node == this.get('root')){ + return true; + } + + var _self = this, + parent = node.parent, + siblings = parent ? parent.children : _self.get('nodes'), + count; + + count = siblings.length; + return siblings[count - 1] === node; + }, + //\u521d\u59cb\u5316\u6240\u6709\u8282\u70b9\uff0c\u8bbe\u7f6elevel \u548c leaf + _initNodes : function(nodes,level,parent){ + var _self = this; + BUI.each(nodes,function(node){ + node.level = level; + if(node.leaf == null){ + node.leaf = node.children ? false : true; + } + if(parent && !node.parent){ + node.parent = parent; + } + _self._initChecked(node); + if(node.children){ + _self._initNodes(node.children,level + 1,node); + } + + }); + }, + //\u6298\u53e0\u8282\u70b9 + _collapseNode : function(node,element,deep){ + var _self = this; + if(node.leaf){ + return; + } + if(_self.hasStatus(node,EXPAND,element)){ + _self.setItemStatus(node,EXPAND,false,element); + if(deep){ + _self._collapseChildren(node,deep); + _self.removeItems(node.children); + }else{ + _self._hideChildrenNodes(node); + } + _self.fire('collapsed',{node : node ,element : element}); + //node[_self.get('expandField')] = false; + } + }, + //\u9690\u85cf\u5b57\u8282\u70b9 + _hideChildrenNodes : function(node){ + var _self = this, + children = node.children; + BUI.each(children,function(subNode){ + _self.removeItem(subNode); + _self._hideChildrenNodes(subNode); + }); + }, + _collapseChildren : function(parentNode,deep){ + var _self = this, + children = parentNode.children; + + BUI.each(children,function(node){ + _self.collapseNode(node,deep); + }); + }, + //\u5c55\u5f00\u9009\u9879 + _expandNode : function(node,element,deep){ + var _self = this, + store = _self.get('store'); + if(node.leaf){ //\u5b50\u8282\u70b9\u4e0d\u5c55\u5f00 + return; + } + if(!_self.hasStatus(node,EXPAND,element)){ + if(store && !store.isLoaded(node)){ //\u8282\u70b9\u672a\u52a0\u8f7d\uff0c\u5219\u52a0\u8f7d\u8282\u70b9 + if(!_self._isLoading(node,element)){ + store.loadNode(node); + } + }else if(element){ + _self.setItemStatus(node,EXPAND,true,element); + //_self.addItemsAt(node.children,index + 1); + _self._showChildren(node); + _self.fire('expanded',{node : node ,element : element}); + } + } + BUI.each(node.children,function(subNode){ + if(deep || _self.isExpanded(subNode)){ + _self.expandNode(subNode,deep); + } + }); + + }, + //\u663e\u793a\u5b50\u8282\u70b9 + _showChildren : function(node){ + if(!node || !node.children){ + return; + } + var _self = this, + index = _self.indexOfItem(node), + length = node.children.length, + subNode, + i; + for (i = length - 1; i >= 0; i--) { + subNode = node.children[i]; + if(!_self.getItem(subNode)){ + _self.addItemAt(subNode,index + 1); + } + }; + }, + _isLoading : function(node,element){ + var _self = this; + return _self.hasStatus(node,LOADING,element); + }, + //\u91cd\u7f6e\u9009\u9879\u7684\u56fe\u6807 + _resetIcons :function(node,element){ + var _self = this, + iconContainer = _self.get('iconContainer'), + containerEl, + iconsTpl = _self._getIconsTpl(node); + $(element).find('.' + CLS_ICON_WRAPER).remove(); //\u79fb\u9664\u6389\u4ee5\u524d\u7684\u56fe\u6807 + containerEl = $(element).find('.' + iconContainer); + if(iconContainer && containerEl.length){ + $(iconsTpl).appendTo(containerEl); + }else{ + $(element).prepend($(iconsTpl)); + } + }, + //\u5207\u6362\u663e\u793a\u9690\u85cf + _toggleExpand : function(node,element){ + var _self = this; + if(_self._isExpanded(node,element)){ + _self._collapseNode(node,element); + }else{ + _self._expandNode(node,element); + } + }, + //\u66f4\u65b0\u8282\u70b9\u56fe\u6807 + _updateIcons : function(node){ + var _self = this, + element = _self.findElement(node); + if(element){ + _self._resetIcons(node,element); + if(_self._isExpanded(node,element) && !node.leaf){ //\u5982\u679c\u8282\u70b9\u5c55\u5f00\uff0c\u90a3\u4e48\u66f4\u65b0\u5b50\u8282\u70b9\u7684\u56fe\u6807\u6837\u5f0f + BUI.each(node.children,function(subNode){ + _self._updateIcons(subNode); + }); + } + } + }, + //\u8bbe\u7f6e\u663e\u793a\u6839\u8282\u70b9 + _uiSetShowRoot : function(v){ + var _self = this, + start = this.get('showRoot') ? 0 : 1; + _self.set('startLevel',start); + }, + _uiSetNodes : function(v){ + var _self = this, + store = _self.get('store'); + store.setResult(v); + }, + _uiSetShowLine : function(v){ + var _self = this, + el = _self.get('el'); + if(v){ + el.addClass(CLS_SHOW_LINE); + }else{ + el.removeClass(CLS_SHOW_LINE); + } + } + }); + + return Mixin; +})/** + * @fileOverview \u6811\u5f62\u5217\u8868 + * @ignore + */ + +define('bui/tree/treelist',['bui/common','bui/list','bui/tree/treemixin'],function (require) { + var BUI = require('bui/common'), + List = require('bui/list'), + Mixin = require('bui/tree/treemixin'); + + /** + * @class BUI.Tree.TreeList + * \u6811\u5f62\u5217\u8868\u63a7\u4ef6 + * ** \u4f60\u53ef\u4ee5\u7b80\u5355\u7684\u4f7f\u7528\u914d\u7f6e\u6570\u636e ** + *
                
                +   *  BUI.use('bui/tree',function(Tree){
                +   *    var tree = new Tree.TreeList({
                +   *      render : '#t1',
                +   *      nodes : [
                +   *        {id : '1',text : '1',children : [{id : '11',text : '11'}]},
                +   *        {id : '2',text : '2'}
                +   *      ]
                +   *    });
                +   *    tree.render();
                +   *  });
                +   * 
                + * ** \u4f60\u4e5f\u53ef\u4ee5\u663e\u793a\u6839\u8282\u70b9 ** + *
                
                +   *  BUI.use('bui/tree',function(Tree){
                +   *    var tree = new Tree.TreeList({
                +   *      render : '#t1',
                +   *      root :{
                +   *        id : '0',
                +   *        text : '0',
                +   *        children : [
                +   *          {id : '1',text : '1',children : [{id : '11',text : '11'}]},
                +   *          {id : '2',text : '2'}
                +   *        ]
                +   *      },
                +   *      showRoot : true
                +   *    });
                +   *    tree.render();
                +   *  });
                +   * 
                + * + * ** \u4f60\u4e5f\u53ef\u4ee5\u5f02\u6b65\u52a0\u8f7d\u6570\u636e ** + *
                
                +   *  BUI.use(['bui/tree','bui/data'],function(Tree,Data){
                +   *    var store = new Data.TreeStore({
                +   *        root :{
                +   *          id : '0',
                +   *          text : '0'
                +   *        },
                +   *        url : 'data/nodes.php'
                +   *      }),
                +   *      tree = new Tree.TreeList({
                +   *        render : '#t1',
                +   *        store : store,
                +   *        showRoot : true //\u53ef\u4ee5\u4e0d\u914d\u7f6e\uff0c\u5219\u4e0d\u663e\u793a\u6839\u8282\u70b9
                +   *      });
                +   *    tree.render();
                +   *    store.load({id : '0'});//\u52a0\u8f7d\u6839\u8282\u70b9\uff0c\u4e5f\u53ef\u4ee5\u8ba9\u7528\u6237\u70b9\u51fb\u52a0\u8f7d
                +   *  });
                +   * 
                + * + * ** \u4f60\u8fd8\u53ef\u4ee5\u66ff\u6362icon ** + *
                
                +   *  BUI.use('bui/tree',function(Tree){
                +   *    var tree = new Tree.TreeList({
                +   *      render : '#t1',
                +   *      dirCls : 'folder', //\u66ff\u6362\u6811\u8282\u70b9\u7684\u6837\u5f0f
                +   *      leafCls : 'file', //\u53f6\u5b50\u8282\u70b9\u7684\u6837\u5f0f
                +   *      nodes : [ //\u6570\u636e\u4e2d\u5b58\u5728cls \u4f1a\u66ff\u6362\u8282\u70b9\u7684\u56fe\u6807\u6837\u5f0f
                +   *        {id : '1',text : '1'cls:'task-folder',children : [{id : '11',text : '11',cls:'task'}]},
                +   *        {id : '2',text : '2'}
                +   *      ]
                +   *    });
                +   *    tree.render();
                +   *  });
                +   * @mixin BUI.Tree.Mixin
                +   * @extends BUI.List.SimpleList
                +   */
                +  var TreeList = List.SimpleList.extend([Mixin],{
                +    
                +  },{
                +    ATTRS : {
                +      itemCls : {
                +        value : BUI.prefix + 'tree-item'
                +      },
                +      itemTpl : {
                +        value : '
              • {text}
              • ' + }, + idField : { + value : 'id' + } + } + },{ + xclass : 'tree-list' + }); + + return TreeList; +}); + +/** + * @fileOverview \u63d0\u793a\u7684\u5165\u53e3\u6587\u4ef6 + * @ignore + */ + +define('bui/tooltip',['bui/common','bui/tooltip/tip','bui/tooltip/tips'],function (require) { + var BUI = require('bui/common'), + Tooltip = BUI.namespace('Tooltip'), + Tip = require('bui/tooltip/tip'), + Tips = require('bui/tooltip/tips'); + + BUI.mix(Tooltip,{ + Tip : Tip, + Tips : Tips + }); + return Tooltip; +});/** + * @fileOverview \u7b80\u5355\u6613\u7528\u7684\u63d0\u793a\u4fe1\u606f + * @ignore + */ + +define('bui/tooltip/tip',['bui/common','bui/overlay'],function (require) { + var BUI = require('bui/common'), + Overlay = require('bui/overlay'), + CLS_ALIGN_PREFIX = 'x-align-', + MAP_TYPES = { + left : ['cl','cr'], //\u5c45\u5de6 + right : ['cr','cl'], //\u5c45\u53f3 + top : ['tc','bc'], //\u5c45\u4e0a + bottom : ['bc','tc'], //\u5c45\u4e0b + 'top-left' : ['tl','bl'], + 'top-right' : ['tr','br'], + 'bottom-left' : ['bl','tl'], + 'bottom-right' : ['br','tr'] + }; + //\u83b7\u53d6\u8ddd\u79bb + function getOffset(type,offset){ + if(type === 'left'){ + return [-1 * offset,-4]; + } + if(type === 'right'){ + return [offset,-4]; + } + if(type.indexOf('top')){ + return [0,offset]; + } + + if(type.indexOf('bottom')){ + return [0,-1 * offset]; + } + } + + var TipView = Overlay.OverlayView.extend({ + renderUI : function(){ + + }, + //\u83b7\u53d6\u663e\u793a\u6587\u672c\u7684\u5bb9\u5668 + _getTitleContainer : function(){ + return this.get('el'); + }, + //\u8bbe\u7f6e\u6587\u672c + _uiSetTitle : function(title){ + var _self = this, + titleTpl = _self.get('titleTpl'), + container = _self._getTitleContainer(), + titleEl = _self.get('titleEl'), + tem; + if(titleEl){ + titleEl.remove(); + } + title = title || ''; + if(BUI.isString(title)){ + title = {title : title}; + } + tem = BUI.substitute(titleTpl,title); + titleEl = $(tem).appendTo(container); + _self.set('titleEl',titleEl); + }, + //\u8bbe\u7f6e\u5bf9\u9f50\u6837\u5f0f + _uiSetAlignType : function(type,ev){ + var _self = this; + if(ev && ev.prevVal){ + _self.get('el').removeClass(CLS_ALIGN_PREFIX + ev.prevVal); + } + if(type){ + _self.get('el').addClass(CLS_ALIGN_PREFIX + type); + } + } + },{ + ATTRS : { + title : {}, + titleEl : {}, + alignType : {} + } + },{ + xclass : 'tooltip-view' + }); + + /** + * @class BUI.Tooltip.Tip + * @extends BUI.Overlay.Overlay + * \u7b80\u6613\u7684\u63d0\u793a\u4fe1\u606f + * + * ** \u4f60\u53ef\u4ee5\u7b80\u5355\u7684\u4f7f\u7528\u5355\u4e2atip ** + *
                
                +   * BUI.use('bui/tooltip',function (Tooltip) {
                +   *  //\u4e0d\u4f7f\u7528\u6a21\u677f\u7684\uff0c\u5de6\u4fa7\u663e\u793a
                +   *   var t1 = new Tooltip.Tip({
                +   *     trigger : '#t1',
                +   *     alignType : 'left', //\u65b9\u5411
                +   *     showArrow : false, //\u4e0d\u663e\u793a\u7bad\u5934
                +   *     offset : 5, //\u8ddd\u79bb\u5de6\u8fb9\u7684\u8ddd\u79bb
                +   *     title : '\u65e0\u4efb\u4f55\u6837\u5f0f\uff0c
                \u5de6\u8fb9\u7684\u63d0\u793a\u4fe1\u606f' + * }); + * t1.render(); + * }); + *
                + * + * ** \u4e5f\u53ef\u4ee5\u914d\u7f6e\u6a21\u677f ** + *
                
                +   * BUI.use('bui/tooltip',function (Tooltip) {
                +   *  //\u4f7f\u7528\u6a21\u677f\u7684\uff0c\u5de6\u4fa7\u663e\u793a
                +   *   var t1 = new Tooltip.Tip({
                +   *     trigger : '#t1',
                +   *     alignType : 'left', //\u65b9\u5411
                +   *     titleTpl : '<span class="x-icon x-icon-small x-icon-success"><i class="icon icon-white icon-question"></i></span>\
                +   *     <div class="tips-content">{title}</div>',
                +   *     offset : 5, //\u8ddd\u79bb\u5de6\u8fb9\u7684\u8ddd\u79bb
                +   *     title : '\u65e0\u4efb\u4f55\u6837\u5f0f\uff0c<br>\u5de6\u8fb9\u7684\u63d0\u793a\u4fe1\u606f'
                +   *   });
                +   *   t1.render();
                +   *  });
                +   * 
                + */ + var Tip = Overlay.Overlay.extend({ + //\u8bbe\u7f6e\u5bf9\u9f50\u65b9\u5f0f + _uiSetAlignType : function(type){ + var _self = this, + offset = _self.get('offset'), + align = _self.get('align') || {}, + points = MAP_TYPES[type]; + if(points){ + align.points = points; + if(offset){ + align.offset = getOffset(type,offset); + } + _self.set('align',align); + } + } + },{ + ATTRS : { + //\u4f7f\u7528\u59d4\u6258\u7684\u65b9\u5f0f\u663e\u793a\u63d0\u793a\u4fe1\u606f + delegateTigger : { + value : true + }, + /** + * \u5bf9\u9f50\u7c7b\u578b\uff0c\u5305\u62ec\uff1a top,left,right,bottom\u56db\u79cd\u5e38\u7528\u65b9\u5f0f\uff0c\u5176\u4ed6\u5bf9\u9f50\u65b9\u5f0f\uff0c\u53ef\u4ee5\u4f7f\u7528@see{BUI.Tooltip.Tip#property-align}\u5c5e\u6027 + * + * @type {String} + */ + alignType : { + view : true + }, + /** + * \u663e\u793a\u7684\u5185\u5bb9\uff0c\u6587\u672c\u6216\u8005\u952e\u503c\u5bf9 + *
                
                +       *     var tip =  new Tip({
                +       *        title : {a : 'text a',b:'text b'}, //\u5c5e\u6027\u662f\u5bf9\u8c61
                +       *        titleTpl : '

                this is {a},because {b}

                ' //

                this is text a,because text b

                + * }); + *
                + * @cfg {String|Object} title + */ + /** + * \u663e\u793a\u7684\u5185\u5bb9 + *
                
                +       *  //\u8bbe\u7f6e\u6587\u672c
                +       *  tip.set('title','new title');
                +       *
                +       *  //\u8bbe\u7f6e\u5bf9\u8c61
                +       *  tip.set('title',{a : 'a',b : 'b'})
                +       * 
                + * @type {Object} + */ + title : { + view : true + }, + /** + * \u663e\u793a\u5bf9\u9f50\u7bad\u5934 + * @override + * @default true + * @cfg {Boolean} [showArrow = true] + */ + showArrow : { + value : true + }, + /** + * \u7bad\u5934\u653e\u7f6e\u5728\u7684\u4f4d\u7f6e\uff0c\u662f\u4e00\u4e2a\u9009\u62e9\u5668\uff0c\u4f8b\u5982 .arrow-wraper + *
                
                +       *     new Tip({ //\u53ef\u4ee5\u8bbe\u7f6e\u6574\u4e2a\u63a7\u4ef6\u7684\u6a21\u677f
                +       *       arrowContainer : '.arrow-wraper',
                +       *       tpl : '
                ' + * }); + * + * new Tip({ //\u4e5f\u53ef\u4ee5\u8bbe\u7f6etitle\u7684\u6a21\u677f + * arrowContainer : '.arrow-wraper', + * titleTpl : '
                {title}
                ' + * }); + *
                + * @cfg {String} arrowContainer + */ + arrowContainer : { + view : true + }, + //\u81ea\u52a8\u663e\u793a + autoHide : { + value : true + }, + //\u8986\u76d6\u81ea\u52a8\u9690\u85cf\u7c7b\u578b + autoHideType : { + value : 'leave' + }, + /** + * \u663e\u793a\u7684tip \u8ddd\u79bb\u89e6\u53d1\u5668Dom\u7684\u8ddd\u79bb + *
                
                +      *  var tip =  new Tip({
                +      *    title : {a : 'text a',b:'text b'}, //\u5c5e\u6027\u662f\u5bf9\u8c61
                +      *    offset : 10, //\u8ddd\u79bb
                +      *    titleTpl : '

                this is {a},because {b}

                ' //

                this is text a,because text b

                + * }); + *
                + * @cfg {Number} offset + */ + offset : { + value : 0 + }, + /** + * \u89e6\u53d1\u663e\u793atip\u7684\u4e8b\u4ef6\u540d\u79f0\uff0c\u9ed8\u8ba4\u4e3amouseover + * @type {String} + * @protected + */ + triggerEvent : { + value : 'mouseover' + }, + /** + * \u663e\u793a\u6587\u672c\u7684\u6a21\u677f + *
                
                +       *  var tip =  new Tip({
                +       *    title : {a : 'text a',b:'text b'}, //\u5c5e\u6027\u662f\u5bf9\u8c61
                +       *    offset : 10, //\u8ddd\u79bb
                +       *    titleTpl : '

                this is {a},because {b}

                ' //

                this is text a,because text b

                + * }); + *
                + * @type {String} + */ + titleTpl : { + view : true, + value : '{title}' + }, + xview : { + value : TipView + } + } + },{ + xclass : 'tooltip' + }); + + Tip.View = TipView; + + return Tip; +});/** + * @fileOverview \u6279\u91cf\u663e\u793a\u63d0\u793a\u4fe1\u606f + * @ignore + */ + +define('bui/tooltip/tips',['bui/common','bui/tooltip/tip'],function(require) { + + //\u662f\u5426json\u5bf9\u8c61\u6784\u6210\u7684\u5b57\u7b26\u4e32 + function isObjectString(str){ + return /^{.*}$/.test(str); + } + + var BUI = require('bui/common'), + Tip = require('bui/tooltip/tip'), + /** + * @class BUI.Tooltip.Tips + * \u6279\u91cf\u663e\u793a\u63d0\u793a\u4fe1\u606f + *
                
                +     * BUI.use('bui/tooltip',function(){
                +     *   var tips = new Tooltip.Tips({
                +     *     tip : {
                +     *       trigger : '#t1 a', //\u51fa\u73b0\u6b64\u6837\u5f0f\u7684\u5143\u7d20\u663e\u793atip
                +     *       alignType : 'top', //\u9ed8\u8ba4\u65b9\u5411
                +     *       elCls : 'tips tips-no-icon tip1',
                +     *       titleTpl : '<span class="x-icon x-icon-small x-icon-success"><i class="icon icon-white icon-question"></i></span>\
                +   *           <div class="tips-content">{title}</div>',
                +     *       offset : 10 //\u8ddd\u79bb\u5de6\u8fb9\u7684\u8ddd\u79bb
                +     *     }
                +     *   });
                +     *   tips.render();
                +     * })
                +     * 
                +     * 
                + */ + Tips = function(config){ + Tips.superclass.constructor.call(this,config); + }; + + Tips.ATTRS = { + + /** + * \u4f7f\u7528\u7684\u63d0\u793a\u63a7\u4ef6\u6216\u8005\u914d\u7f6e\u4fe1\u606f @see {BUI.Tooltip.Tip} + *
                
                +     *    //\u4e0d\u4f7f\u7528\u6a21\u677f\u7684\uff0c\u5de6\u4fa7\u663e\u793a
                +     * var tips = new Tooltip.Tips({
                +     *   tip : {
                +     *     trigger : '#t1 a', //\u51fa\u73b0\u6b64\u6837\u5f0f\u7684\u5143\u7d20\u663e\u793atip
                +     *     alignType : 'top', //\u9ed8\u8ba4\u65b9\u5411
                +     *     elCls : 'tips tips-no-icon tip1',
                +     *     offset : 10 //\u8ddd\u79bb\u5de6\u8fb9\u7684\u8ddd\u79bb
                +     *   }
                +     * });
                +     * tips.render();
                +     * 
                + * @cfg {BUI.Tooltip.Tip|Object} tip + */ + /** + * \u4f7f\u7528\u7684\u63d0\u793a\u63a7\u4ef6 @see {BUI.Tooltip.Tip} + *
                
                +     *    var tip = tips.get('tip');
                +     * 
                + * @type {BUI.Tooltip.Tip} + * @readOnly + */ + tip : { + + }, + /** + * \u9ed8\u8ba4\u7684\u5bf9\u9f50\u65b9\u5f0f,\u5982\u679c\u4e0d\u6307\u5b9atip\u7684\u5bf9\u9f50\u65b9\u5f0f\uff0c\u90a3\u4e48\u4f7f\u7528\u6b64\u5c5e\u6027 + *
                
                +     * //\u4e0d\u4f7f\u7528\u6a21\u677f\u7684\uff0c\u5de6\u4fa7\u663e\u793a
                +     * var tips = new Tooltip.Tips({
                +     *   tip : {
                +     *     trigger : '#t1 a', //\u51fa\u73b0\u6b64\u6837\u5f0f\u7684\u5143\u7d20\u663e\u793atip
                +     *     defaultAlignType : 'top', //\u9ed8\u8ba4\u65b9\u5411
                +     *     elCls : 'tips tips-no-icon tip1',
                +     *     offset : 10 //\u8ddd\u79bb\u5de6\u8fb9\u7684\u8ddd\u79bb
                +     *   }
                +     * });
                +     * tips.render();
                +     * 
                + * @cfg {Object} defaultAlignType + */ + defaultAlignType : { + + } + }; + + BUI.extend(Tips,BUI.Base); + + BUI.augment(Tips,{ + //\u521d\u59cb\u5316 + _init : function(){ + this._initDom(); + this._initEvent(); + }, + //\u521d\u59cb\u5316DOM + _initDom : function(){ + var _self = this, + tip = _self.get('tip'), + defaultAlignType; + if(tip && !tip.isController){ + defaultAlignType = tip.alignType; //\u8bbe\u7f6e\u9ed8\u8ba4\u7684\u5bf9\u9f50\u65b9\u5f0f + tip = new Tip(tip); + tip.render(); + _self.set('tip',tip); + if(defaultAlignType){ + _self.set('defaultAlignType',defaultAlignType); + } + } + }, + //\u521d\u59cb\u5316\u4e8b\u4ef6 + _initEvent : function(){ + var _self = this, + tip = _self.get('tip'); + tip.on('triggerchange',function(ev){ + var curTrigger = ev.curTrigger; + _self._replaceTitle(curTrigger); + _self._setTitle(curTrigger,tip); + }); + }, + //\u66ff\u6362\u6389title + _replaceTitle : function(triggerEl){ + var title = triggerEl.attr('title'); + if(title){ + triggerEl.attr('data-title',title); + triggerEl[0].removeAttribute('title'); + } + }, + //\u8bbe\u7f6etitle + _setTitle : function(triggerEl,tip){ + var _self = this, + title = triggerEl.attr('data-title'), + alignType = triggerEl.attr('data-align') || _self.get('defaultAlignType'); + + if(isObjectString(title)){ + title = BUI.JSON.looseParse(title); + } + tip.set('title',title); + if(alignType){ + tip.set('alignType',alignType); + } + }, + /** + * \u6e32\u67d3\u63d0\u793a\u4fe1\u606f + * @chainable + */ + render : function(){ + this._init(); + return this; + } + }); + + return Tips; +});BUI.use(['bui/common','bui/data','bui/list','bui/picker', + 'bui/menu','bui/toolbar','bui/progressbar','bui/cookie', + 'bui/form','bui/mask','bui/select','bui/tab', + 'bui/calendar','bui/overlay','bui/editor','bui/grid','bui/tree','bui/tooltip' +]); diff --git a/源码/src/main/webapp/resource/assets/js/common/build.xml b/源码/src/main/webapp/resource/assets/js/common/build.xml new file mode 100644 index 0000000..d08a55f --- /dev/null +++ b/源码/src/main/webapp/resource/assets/js/common/build.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/源码/src/main/webapp/resource/assets/js/common/main-min.js b/源码/src/main/webapp/resource/assets/js/common/main-min.js new file mode 100644 index 0000000..4fb5775 --- /dev/null +++ b/源码/src/main/webapp/resource/assets/js/common/main-min.js @@ -0,0 +1 @@ +BUI.use(["bui/menu","bui/tab"],function(h,l){var k=BUI.app("PageUtil");var p="dl-selected",c="ks-hidden",y="dl-last",x="dl-hover",n="nav-item",s="dl-second-slib",f="dl-tab-item",t="dl-collapse",v="dl-hide-current",u="data-index",j=145;function g(z){window.topManager=z}function b(z,A){if(z.indexOf("?")!==-1){return z+"&"+A}else{return z+"?"+A}}function i(B,E,H,F,A){var I=this,C=new h.SideMenu(H),D=new l.NavTab(E),J=$(H.render),z=J.next("."+s+"-con"),G=J.parents("."+f);if(z){z.on("click",function(){G.toggleClass(t)});z.parent().height(E.height)}if(F){G.addClass(t)}C.on("menuclick",function(L){var K=L.item;if(K){I.tab.addTab({id:K.get("id"),title:K.get("text"),href:K.get("href"),closeable:K.get("closeable")},true)}});C.on("itemselected",function(L){var K=L.item;if(K){e(B,K.get("id"))}});D.on("activeChange",function(L){var K=L.item;if(K){I.menu.setSelectedByField(K.get("id"))}else{I.menu.clearSelection()}});I.tab=D;I.menu=C;I.homePage=A;D.render();C.render()}function e(A,z){z=z||"";var B="#"+A;if(z){B+="/"+z}location.hash=B}function d(){var D=location.hash,C=0,z="",A=D.indexOf("/"),B=null;if(!D){return null}if(A>=0){C=D.substring(1,A);z=D.substring(A+1);B=r(z);if(B){z=z.replace("?"+B,"")}}else{C=D.substring(1)}return{moduleId:C,pageId:z,search:B}}function r(z){var A=z.indexOf("?");if(A>=0){return z.substring(A+1)}return null}function m(z){if(!$.isArray(z)){return}var A=q(z);while(A!==-1){z.splice(A,1);A=q(z)}return z}function q(A){var z=-1;$.each(A,function(B,C){if(C===null||C===undefined){z=B;return false}});return z}function a(){var z=BUI.viewportHeight(),A=70;return z-A}function o(z){var A=$(z);if(A.hasClass(n)){return z}return A.parent("."+n)[0]}var w=function(z){m(z);w.superclass.constructor.call(this,z);this._init();g(this)};w.ATTRS={currentModelIndex:{},hideItmes:{value:[]},hideList:{},modules:{value:[]},modulesConfig:{},navList:{valueFn:function(){return $("#J_Nav")}},navContent:{valueFn:function(){return $("#J_NavContent")}},navItems:{valueFn:function(){return $("#J_Nav").children("."+n)}},navTabs:{valueFn:function(){return this.get("navContent").children("."+f)}},urlSuffix:{value:".html"}};BUI.extend(w,BUI.Base);BUI.augment(w,{openPage:function(O){var J=this,E=O.moduleId||J._getCurrentModuleId(),C=O.id,L=O.title||"\u65b0\u7684\u6807\u7b7e\u9875",B=O.href,N=O.isClose,D=O.closeable,A=O.reload,P=O.search;var G=J._getModule(E);if(G){var H=G.tab,F=G.menu,z=F.getItem(C),K=H.getActivedItem(),M=K?K.get("id"):null,I=J._getModuleIndex(E);if(E!=J._getCurrentModuleId()){J._setModuleSelected(I)}if(z){J._setPageSelected(I,C,A,P)}else{H.addTab({id:C,title:L,href:B,sourceId:M,closeable:D},A)}if(N){K.close()}}},closePage:function(A,z){this.operatePage(z,A,"close")},reloadPage:function(A,z){this.operatePage(z,A,"reload")},setPageTitle:function(A,B,z){this.operatePage(z,B,"setTitle",[A])},operatePage:function(E,G,F,A){E=E||this._getCurrentModuleId();A=A||[];var z=this,B=z._getModule(E);if(B){var C=B.tab,D=G?C.getItemById(G):C.getActivedItem();if(D&&D[F]){D[F].apply(D,A)}}},_createModule:function(E){var z=this,C=z._getModuleConfig(E),B=z.get("modules");if(!C){return null}var E=C.id,A="#J_"+E+"Tab",D="#J_"+E+"Tree";module=new i(E,{render:A,height:a()-5},{render:D,items:C.menu,height:a()-5},C.collapsed,C.homePage);B[E]=module;return module},_hideHideList:function(){this.get("hideList").hide()},_init:function(){var z=this;z._initDom();z._initNavItems();z._initEvent()},_initNavItems:function(){var I=this,C=I.get("navItems"),B=I.get("hideItmes");if(C.length===0){return}$('').appendTo($(C));var G=C.length,K=BUI.viewportWidth(),H=j,F=H*G,z=0;if(F<=K){return}$.each(C,function(L,M){$(M).attr(u,L);$(M).removeClass(y)});z=parseInt(K/H);var A=C[z-1];I._setLastItem(A);B.push($(A).clone()[0]);for(var E=z;E
                '].join("");new $(C).appendTo(A)})},_initDom:function(){var z=this;z._initContents();z._initLocation()},_initEvent:function(){var z=this,A=z.get("navItems");A.each(function(B,C){var C=$(C);C.on("click",function(){var D=$(this);if(D.hasClass(p)){return}z._setModuleSelected(B,D)}).on("mouseenter",function(){$(this).addClass(x)}).on("mouseleave",function(){$(this).removeClass(x)})});z._initNavListEvent()},_initNavListEvent:function(){var A=this,z=A.get("hideList"),B=A.get("navList");B.on("mouseover",function(E){var D=o(E.target),C=$(D),F=null;if(C&&C.hasClass(y)&&z){F=C.offset();F.top+=37;F.left+=2;A._showHideList(F)}}).on("mouseout",function(D){var C=D.toElement;if(C&&z&&!$.contains(z[0],C)&&C!==z[0]){A._hideHideList()}})},_initLocation:function(){var z=this,D=d();if(D){var B=D.pageId,E=D.search,C=z._getModuleIndex(D.moduleId);z._setModuleSelected(C);z._setPageSelected(C,B,true,E)}else{var A=z.get("currentModelIndex"),F=z._getModuleId(A);if(A==null){z._setModuleSelected(0)}else{e(F)}}},_getModule:function(B){var z=this,A=z.get("modules")[B];if(!A){A=z._createModule(B)}return A},_getModuleIndex:function(B){var A=this,z=0;$.each(A.get("modulesConfig"),function(D,C){if(C.id===B){z=D;return false}});return z},_getModuleConfig:function(B){var A=this,z=null;$.each(A.get("modulesConfig"),function(D,C){if(C.id===B){z=C;return false}});return z},_getModuleId:function(z){var A=this.get("modulesConfig");if(A[z]){return A[z].id}else{return z}},_getCurrentPageId:function(){var z=this,D=z._getCurrentModuleId(),B=z._getModule(D),A="";if(B){var C=B.menu.getSelected();if(C){A=C.get("id")}}return A},_getCurrentModuleId:function(){return this._getModuleId(this.get("currentModelIndex"))},_isModuleInitial:function(z){return !!this.get("modules")[z]},_setLastItem:function(D){var z=this,A=z.get("lastShowItem");if(A===D){return}var B=null,C=$(A);itemEl=$(D);if(A){B=C.find("."+v);C.removeClass(y);C.addClass(c)}itemEl.addClass(y);itemEl.removeClass(c);if(!B){B=$('  ')}B.appendTo(itemEl.children(".nav-item-inner"));z.set("lastShowItem",D)},_setModuleSelected:function(F,E){var H=this,D=H.get("navItems"),B=H.get("navTabs"),G=H.get("currentModelIndex");if(G!==F){var z=H._getModuleId(F),A=null,C=H.get("lastShowItem"),I=true;if(!H._isModuleInitial(z)){I=false}A=H._getModule(z);E=E||$(H.get("navItems")[F]);if(E.hasClass(c)&&C){H._setLastItem(E[0]);H._setSelectHideItem(F)}D.removeClass(p);E.addClass(p);B.addClass(c);$(B[F]).removeClass(c);G=F;H.set("currentModelIndex",G);curPageId=H._getCurrentPageId();e(z,curPageId);if(!curPageId&&A.homePage){H._setPageSelected(F,A.homePage)}}},_setPageSelected:function(E,F,G,K){var H=this,B=H._getModuleId(E)||E,C=H._getModule(B);if(C&&F){C.menu.setSelectedByField(F);var J=C.menu.getSelected(),D=C.tab,A="",z=-1;if(J&&J.get("id")===F){A=J.get("href");A=K?(b(A,K)):A;C.tab.addTab({id:J.get("id"),title:J.get("text"),closeable:J.get("closeable"),href:A},!!G)}else{if(F){var I=F.replace("-","/");if(I.indexOf("/")===-1){I=B+"/"+I}if((z=F.indexOf("."))===-1){I+=H.get("urlSuffix")}A=K?(I+"?"+K):I;D.addTab({id:F,title:"",href:A},!!G)}}}},_showHideList:function(B){var A=this,z=A.get("hideList");z.css("left",B.left);z.css("top",B.top);z.show()},_setSelectHideItem:function(D){var B=this,A=B.get("hideList"),z=B.get("hideItmes"),E=null,C=null,G=null,F=null;BUI.each(z,function(I){var H=$(I);if(H.attr(u)==D){C=I}if(H.hasClass(y)){E=I}});if(E!==C){if(E){F=$(E).find(".dl-hide-current");$(E).removeClass(y)}$(C).addClass(y);if(!F){F=new Node('  ')}G=$(C);F.appendTo(G.children(".nav-item-inner"));G.prependTo(A)}}});k.MainPage=w}); diff --git a/源码/src/main/webapp/resource/assets/js/common/main.js b/源码/src/main/webapp/resource/assets/js/common/main.js new file mode 100644 index 0000000..395f64b --- /dev/null +++ b/源码/src/main/webapp/resource/assets/js/common/main.js @@ -0,0 +1,721 @@ + +BUI.use(['bui/menu','bui/tab'],function(Menu,Tab) { + //定义全局命名空间 + var PageUtil = BUI.app('PageUtil'); + + var CLS_SELECTE = 'dl-selected',//选中的模块样式 + CLS_HIDDEN = 'ks-hidden',//隐藏的模块样式 + CLS_LAST = 'dl-last',//最后一个元素 + CLS_HOVER = 'dl-hover', + CLS_ITEM = 'nav-item', + CLS_LEFT_SLIB = 'dl-second-slib', + CLS_TAB_ITEM = 'dl-tab-item', + CLS_CALLAPSE = 'dl-collapse', + CLS_HIDE_CURRENT = 'dl-hide-current', + ATTTR_INDEX ='data-index', + WIDTH_ITERM = 145; + + function setTopManager(mainPageObj){ + window.topManager = mainPageObj; + } + + function addSearch(href,search){ + if(href.indexOf('?') !== -1){ + return href + '&' + search; + }else{ + return href + '?' + search; + } + } + //创建菜单和Tab,并绑定关联,是否收缩,是否有首页 + function tabNav(moduleId,tabConfig,menuConfig,collapsed,homePage){ + + var _self =this, + menu = new Menu.SideMenu(menuConfig), + tab = new Tab.NavTab(tabConfig), + menuContainerEl = $(menuConfig.render), + slibEl = menuContainerEl.next('.' + CLS_LEFT_SLIB + '-con'), + navContainerEl = menuContainerEl.parents('.'+CLS_TAB_ITEM); + + if(slibEl){ + slibEl.on('click',function(){ + navContainerEl.toggleClass(CLS_CALLAPSE); + }); + slibEl.parent().height(tabConfig.height); + } + if(collapsed){ + navContainerEl.addClass(CLS_CALLAPSE); + } + + //点击菜单,切换Tab,并刷新 + menu.on('menuclick',function(ev){ + var item = ev.item; + if(item){ + _self.tab.addTab({id: item.get('id'), title: item.get('text'), href: item.get('href'),closeable : item.get('closeable')},true); + } + + }); + + //选中的菜单发生改变后,更新链接上的页面编号 + menu.on('itemselected',function(ev){ + var item = ev.item; + if(item){ + setNavPosition(moduleId,item.get('id')); + } + + }); + + //切换Tab激活菜单 + tab.on('activeChange',function(ev){ + var item = ev.item; + if(item){ + _self.menu.setSelectedByField(item.get('id')); + }else{ + _self.menu.clearSelection(); + } + + }); + + _self.tab = tab; + _self.menu = menu; + _self.homePage = homePage; + tab.render(); + menu.render(); + + } + + //更改地址栏连接 + function setNavPosition(moduleId,pageId){ + pageId = pageId||''; + + var str = '#'+moduleId; + + if(pageId){ + str += '/'+pageId; + } + location.hash =str; + } + + function getNavPositionSetting(){ + var pos = location.hash, + moduleIndex = 0, + pageId ='', + splitIndex = pos.indexOf('/'), + search = null; + if(!pos){ + return null; + } + + if(splitIndex >= 0){ + moduleIndex = pos.substring(1,splitIndex); + pageId = pos.substring(splitIndex + 1); + search = getParam(pageId); + if(search){ + pageId = pageId.replace('?'+search,''); + } + }else{ + moduleIndex=pos.substring(1); + } + + return {moduleId : moduleIndex,pageId : pageId,search : search}; + } + + function getParam(pageId){ + var index = pageId.indexOf('?'); + if(index >= 0){ + return pageId.substring(index + 1); + } + return null; + } + + //清理权限系统带来的 “,“引起的Bug + function initModuleConfig(mconfig){ + if(!$.isArray(mconfig)){ + return; + } + var emptyIndex = findEmptyIndex(mconfig); + while(emptyIndex !== -1){ + mconfig.splice(emptyIndex,1); + emptyIndex = findEmptyIndex(mconfig); + } + return mconfig; + } + + //查找为空的纪录 + function findEmptyIndex(array){ + var result = -1; + $.each(array,function(index,item){ + if(item === null || item === undefined){ + result = index; + return false; + } + }); + return result; + } + + //获取用户工作区域 + function getAutoHeight(){ + var height = BUI.viewportHeight(), + subHeight = 70; + return height - subHeight; + } + + function findItem(element){ + var el = $(element); + if (el.hasClass(CLS_ITEM)) { + return element; + } + return el.parent('.' + CLS_ITEM)[0]; + } + + var mainPage = function(config){ + initModuleConfig(config); + mainPage.superclass.constructor.call(this,config); + this._init(); + setTopManager(this); + }; + + mainPage.ATTRS = { + /** + * 当前模块的索引 + * @type {Number} + */ + currentModelIndex:{ + + }, + hideItmes : { + value : [] + }, + //隐藏导航项列表 + hideList : { + + }, + /** + * 模块集合 + * @type {Array} + */ + modules : { + value : [] + }, + /** + * 模块的配置项 + * @type {Array} + */ + modulesConfig: { + + }, + /** + * 一级导航的容器 + * @type {jQuery} + */ + navList : { + valueFn : function () { + return $('#J_Nav');// body... + } + }, + /** + * 导航内容的容器 + * @type {jQuery} + */ + navContent : { + valueFn : function () { + return $('#J_NavContent'); + } + }, + /** + * 导航项 + * @type {jQuery} + */ + navItems : { + valueFn : function () { + return $('#J_Nav').children('.' + CLS_ITEM);// body... + } + }, + navTabs:{ + valueFn : function(){ + return this.get('navContent').children('.'+CLS_TAB_ITEM) + } + }, + /** + * 页面的后缀 + * @type {Object} + */ + urlSuffix : { + value : '.html' + } + }; + + BUI.extend(mainPage,BUI.Base); + + BUI.augment(mainPage,{ + //打开页面 + openPage : function(pageInfo){ + var _self = this, + moduleId = pageInfo.moduleId || _self._getCurrentModuleId(), + id = pageInfo.id, + title = pageInfo.title || '新的标签页', + href = pageInfo.href, + isClose = pageInfo.isClose, + closeable = pageInfo.closeable, + reload = pageInfo.reload, + search = pageInfo.search; + + var module = _self._getModule(moduleId); + if(module){ + var tab = module.tab, + menu = module.menu, + menuItem = menu.getItem(id), + curTabPage = tab.getActivedItem(), + sourceId = curTabPage ? curTabPage.get('id') : null, + moduleIndex = _self._getModuleIndex(moduleId); + if(moduleId != _self._getCurrentModuleId()){ + _self._setModuleSelected(moduleIndex); + } + if(menuItem){ + _self._setPageSelected(moduleIndex,id,reload,search); + }else{ + tab.addTab({id: id, title: title, href: href, sourceId: sourceId,closeable: closeable},reload); + } + + if(isClose){ + curTabPage.close(); + } + } + }, + //关闭页面 + closePage:function(id,moduleId){ + this.operatePage(moduleId,id,'close'); + }, + //刷新 + reloadPage : function(id,moduleId){ + this.operatePage(moduleId,id,'reload'); + }, + //更改标题 + setPageTitle : function(title,id,moduleId){ + this.operatePage(moduleId,id,'setTitle',[title]); + }, + //操作页面 + operatePage : function(moduleId,id,action,args){ + + moduleId = moduleId || this._getCurrentModuleId(); + args = args || []; + var _self = this, + module = _self._getModule(moduleId); + if(module){ + var tab = module.tab, + item = id ? tab.getItemById(id) : tab.getActivedItem(); + if(item && item[action]){ + item[action].apply(item,args); + } + } + }, + //创建模块 + _createModule:function(id){ + var _self = this, + item= _self._getModuleConfig(id), + modules = _self.get('modules'); + if(!item){ + return null; + } + var id =item.id, + tabId = '#J_'+id+'Tab', + treeId = '#J_'+id+'Tree'; + module = new tabNav(id,{render:tabId,height:getAutoHeight() - 5},{render:treeId,items:item.menu,height:getAutoHeight() - 5},item.collapsed,item.homePage); + modules[id]= module; + return module; + }, + //隐藏列表 + _hideHideList :function(){ + this.get('hideList').hide(); + }, + _init : function(){ + var _self = this; + _self._initDom(); + _self._initNavItems(); + _self._initEvent(); + }, + //进行自适应计算 + _initNavItems : function(){ + + var _self = this, + navItems = _self.get('navItems'), + hideItmes = _self.get('hideItmes'); + //如果不存在导航项,不用进行自适应计算 + if(navItems.length === 0) + { + return; + } + + $('').appendTo($(navItems)); + + var count = navItems.length, + clientWidth = BUI.viewportWidth(),//获取窗口宽度 + itemWidth = WIDTH_ITERM, + totalWidth = itemWidth * count, + showCount = 0; + + //如果导航项总宽度小于用户可视区域,不用进行自适应计算 + if(totalWidth <= clientWidth){ + return; + } + + //初始化dataIndex + $.each(navItems,function(index,item){ + $(item).attr(ATTTR_INDEX,index); + $(item).removeClass(CLS_LAST); + + }); + + showCount = parseInt(clientWidth / itemWidth); + var lastShowItem = navItems[showCount - 1]; + _self._setLastItem(lastShowItem); + + hideItmes.push($(lastShowItem).clone()[0]); + for(var i = showCount; i < count; i++){ + var itemEl = $(navItems[i]), + cloneItme = null; + + cloneItme = itemEl.clone()[0]; + hideItmes.push(cloneItme); + itemEl.addClass(CLS_HIDDEN); + + } + + _self._initHideList(); + + }, + _initHideList : function(){ + var _self = this, + hideList = _self.get('hideList'), + hideItmes = _self.get('hideItmes'); + + if(hideList){ + return; + } + + var template = '
                  ', + hideListEl = $(template).appendTo('body'); + hideList = hideListEl; + $.each(hideItmes,function(index,item){ + $(item).appendTo(hideList); + }); + _self.set('hideList',hideList); + _self._initHideListEvent(); + }, + _initHideListEvent:function(){ + var _self = this, + hideList = _self.get('hideList'); + + if(hideList == null){ + return; + } + + hideList.on('mouseleave',function(){ + _self._hideHideList(); + }); + + hideList.on('click',function(event){ + var item = findItem(event.target), + el = null, + dataIndex = 0; + if(item){ + el = $(item); + dataIndex = el.attr(ATTTR_INDEX); + _self._setModuleSelected(dataIndex); + _self._hideHideList(); + } + }); + }, + _initContents : function () { + var _self = this, + modulesConfig = _self.get('modulesConfig'), + navContent = _self.get('navContent'); + + //清空模块容器 + navContent.children().remove(); + + //初始化二级菜单一级Tab + $.each(modulesConfig,function(index,module){ + var id = module.id, + temp =['
                • '].join(''); + new $(temp).appendTo(navContent); + }); + }, + _initDom : function(){ + var _self = this; + + _self._initContents(); + _self._initLocation(); + + }, + _initEvent : function(){ + var _self = this, + navItems = _self.get('navItems'); + navItems.each(function(index,item){ + var item = $(item); + item.on('click',function(){ + var sender =$(this); + if(sender.hasClass(CLS_SELECTE)){ + return; + } + //sender.addClass(CLS_SELECTE); + _self._setModuleSelected(index,sender); + }).on('mouseenter',function(){ + + $(this).addClass(CLS_HOVER); + }).on('mouseleave',function(){ + $(this).removeClass(CLS_HOVER); + }); + }); + _self._initNavListEvent(); + }, + _initNavListEvent : function(){ + var _self = this, + hideList = _self.get('hideList'), + navList = _self.get('navList'); + + navList.on('mouseover',function(event){ + var item = findItem(event.target), + el = $(item), + offset = null; + + if(el && el.hasClass(CLS_LAST) && hideList){ + offset = el.offset(); + offset.top += 37; + + offset.left += 2; + _self._showHideList(offset); + } + }).on('mouseout',function(event){ + var toElement = event.toElement; + if(toElement && hideList && !$.contains(hideList[0],toElement) && toElement !== hideList[0]){ + _self._hideHideList(); + } + + }); + }, + //初始化选中的模块和页面 + _initLocation :function (){ + + //从链接中获取用户定位到的模块,便于刷新和转到指定模块使用 + var _self = this, + defaultSetting = getNavPositionSetting(); + if(defaultSetting){ + var pageId = defaultSetting.pageId, //页面编号 + search = defaultSetting.search, + index = _self._getModuleIndex(defaultSetting.moduleId); //附加参数 + + _self._setModuleSelected(index); + _self._setPageSelected(index,pageId,true,search); + }else{ + var currentModelIndex = _self.get('currentModelIndex'), + moduleId = _self._getModuleId(currentModelIndex); + if(currentModelIndex == null){ + _self._setModuleSelected(0); + }else{ + setNavPosition(moduleId); + } + } + }, + //获取模块,如果未初始化则初始化模块 + _getModule : function(id){ + var _self = this, + module = _self.get('modules')[id]; + if(!module){ + module = _self._createModule(id); + } + return module; + }, + _getModuleIndex : function(id){ + var _self = this, + result = 0; + + $.each(_self.get('modulesConfig'),function(index,conf){ + if(conf.id === id){ + result = index; + return false; + } + }); + return result; + }, + _getModuleConfig : function(id){ + var _self = this, + result =null; + $.each(_self.get('modulesConfig'),function(index,conf){ + if(conf.id === id){ + result = conf; + return false; + } + }); + return result; + }, + //获取模块编号 + _getModuleId : function(index){ + + var modulesConfig = this.get('modulesConfig'); + if(modulesConfig[index]){ + return modulesConfig[index].id; + }else{ + return index; + } + }, + _getCurrentPageId : function(){ + var _self = this, + moduleId = _self._getCurrentModuleId(), + module = _self._getModule(moduleId), + pageId =''; + if(module){ + var item = module.menu.getSelected(); + if(item){ + pageId = item.get('id'); + } + } + return pageId; + }, + _getCurrentModuleId : function(){ + return this._getModuleId(this.get('currentModelIndex')); + }, + //模块是否已经初始化 + _isModuleInitial : function(id){ + return !!this.get('modules')[id]; + }, + //设置最后一个 + _setLastItem : function(item){ + var _self = this, + lastShowItem = _self.get('lastShowItem'); + + if(lastShowItem === item){ + return; + } + + var appendNode = null, + lastShowItemEl = $(lastShowItem); + itemEl = $(item); + if(lastShowItem){ + appendNode = lastShowItemEl.find('.'+CLS_HIDE_CURRENT); + lastShowItemEl.removeClass(CLS_LAST); + lastShowItemEl.addClass(CLS_HIDDEN); + } + itemEl.addClass(CLS_LAST); + itemEl.removeClass(CLS_HIDDEN); + if(!appendNode){ + appendNode = $('  '); + } + appendNode.appendTo(itemEl.children('.nav-item-inner')); + _self.set('lastShowItem',item) + }, + //设置选中的模块 + _setModuleSelected : function(index,sender){ + var _self = this, + navItems = _self.get('navItems'), + navTabs = _self.get('navTabs'), + currentModelIndex = _self.get('currentModelIndex'); + + if(currentModelIndex !==index){ + var moduleId = _self._getModuleId(index), + module = null, + lastShowItem = _self.get('lastShowItem'), + isCreated = true;//模块是否已经创建 + + if(!_self._isModuleInitial(moduleId)){ + isCreated = false; + } + + module = _self._getModule(moduleId); + + + sender = sender ||$(_self.get('navItems')[index]); + //如果模块隐藏 + if(sender.hasClass(CLS_HIDDEN) && lastShowItem){ + _self._setLastItem(sender[0]); + _self._setSelectHideItem(index); + }/**/ + navItems.removeClass(CLS_SELECTE); + sender.addClass(CLS_SELECTE); + navTabs.addClass(CLS_HIDDEN); + $(navTabs[index]).removeClass(CLS_HIDDEN); + + currentModelIndex = index; + _self.set('currentModelIndex',currentModelIndex); + curPageId = _self._getCurrentPageId(); + setNavPosition(moduleId,curPageId); + + if(!curPageId && module.homePage){ + _self._setPageSelected(index,module.homePage); + } + } + }, + _setPageSelected:function(moduleIndex,pageId,isReload,search){ + var _self = this, + moduleId = _self._getModuleId(moduleIndex)||moduleIndex, + module = _self._getModule(moduleId); + if(module && pageId){ + module.menu.setSelectedByField(pageId); + var item = module.menu.getSelected(), + tab = module.tab, + href = '', + suffixIndex = -1; + if(item && item.get('id') === pageId){ + href = item.get('href'); + href = search ? (addSearch(href,search)) : href; + module.tab.addTab({id: item.get('id'), title: item.get('text'),closeable : item.get('closeable'), href: href},!!isReload); + + }else if(pageId){ + + var subDir = pageId.replace('-','/'); + if(subDir.indexOf('/') === -1){ + subDir = moduleId + '/' + subDir; + } + if((suffixIndex = pageId.indexOf('.')) === -1){ + subDir += _self.get('urlSuffix'); + } + href = search ? (subDir + '?' + search) : subDir; + tab.addTab({id:pageId,title:'',href:href},!!isReload); + } + } + }, + _showHideList:function(offset){ + var _self = this, + hideList = _self.get('hideList'); + + hideList.css('left',offset.left); + hideList.css('top',offset.top); + hideList.show(); + }, + _setSelectHideItem : function (index) { + var _self = this, + hideList = _self.get('hideList'), + hideItmes = _self.get('hideItmes'), + currentItem = null, + selectItem = null, + selectEl = null, + appendNode = null; + BUI.each(hideItmes,function(item){ + var itemEl = $(item); + if(itemEl.attr(ATTTR_INDEX) == index){ + selectItem = item; + } + + if(itemEl.hasClass(CLS_LAST)){ + currentItem = item; + } + }); + + if(currentItem !== selectItem){ + if(currentItem){ + appendNode = $(currentItem).find('.dl-hide-current'); + $(currentItem).removeClass(CLS_LAST); + } + $(selectItem).addClass(CLS_LAST); + if(!appendNode){ + appendNode = new Node('  '); + } + selectEl = $(selectItem); + appendNode.appendTo(selectEl.children('.nav-item-inner')); + selectEl.prependTo(hideList); + } + + } + + }); + PageUtil.MainPage = mainPage; +}); \ No newline at end of file diff --git a/源码/src/main/webapp/resource/assets/js/common/page-min.js b/源码/src/main/webapp/resource/assets/js/common/page-min.js new file mode 100644 index 0000000..8b5249e --- /dev/null +++ b/源码/src/main/webapp/resource/assets/js/common/page-min.js @@ -0,0 +1 @@ +$(function(){var a="page-action",c={"data-id":"id",title:"title","data-href":"href","data-close":"isClose","data-search":"search","data-mid":"moduleId","data-type":"type"};function b(d){var e={};$.each(d,function(h,f){var g=f.nodeName,i=c[g];if(i){e[i]=f.nodeValue}});return e}if(top.topManager){$("body").delegate("."+a,"click",function(f){var e=f.currentTarget,d=e.attributes,g=b(d);if(!g.type||g.type=="open"){top.topManager.openPage(g);f.preventDefault()}else{if(g.type=="setTitle"){top.topManager.setPageTitle(g.title,g.moduleId)}else{f.preventDefault();top.topManager.operatePage(g.moduleId,g.id,g.type)}}});if(0){alert("\u4f60\u597d\u4e48")}}}); diff --git a/源码/src/main/webapp/resource/assets/js/common/page.js b/源码/src/main/webapp/resource/assets/js/common/page.js new file mode 100644 index 0000000..08c69e6 --- /dev/null +++ b/源码/src/main/webapp/resource/assets/js/common/page.js @@ -0,0 +1,43 @@ +$(function () { + + var CLS_ACTION = 'page-action', + FIELD_MAP = { + 'data-id' :'id', + 'title' : 'title', + 'data-href' : 'href', + 'data-close' : 'isClose', + 'data-search' : 'search', + 'data-mid' : 'moduleId', + 'data-type' : 'type' + }; + + function parseParams(attrs){ + var rst = {}; + $.each(attrs,function(index,attr){ + var name = attr.nodeName, + filedName = FIELD_MAP[name]; + if(filedName){ + rst[filedName] = attr.nodeValue; + } + }); + return rst; + } + //只有在被框架页嵌套时,才起效 + if(top.topManager){ + $('body').delegate('.' + CLS_ACTION, 'click',function(ev){ + var sender = ev.currentTarget, + attrs = sender.attributes, + params = parseParams(attrs); + if(!params.type || params.type == 'open'){ + top.topManager.openPage(params); + ev.preventDefault(); + }else if(params.type == 'setTitle'){ + top.topManager.setPageTitle(params.title,params.moduleId); + }else{ + ev.preventDefault(); + top.topManager.operatePage(params.moduleId,params.id,params.type); + } + }); + } + +}); \ No newline at end of file diff --git a/源码/src/main/webapp/resource/assets/js/common/search-min.js b/源码/src/main/webapp/resource/assets/js/common/search-min.js new file mode 100644 index 0000000..0a7cdab --- /dev/null +++ b/源码/src/main/webapp/resource/assets/js/common/search-min.js @@ -0,0 +1 @@ +define("common/search",["bui/common","bui/grid","bui/form","bui/data","bui/overlay"],function(e){var g=e("bui/common"),b=e("bui/grid"),f=e("bui/data"),a=e("bui/overlay"),d=e("bui/form");function c(h){c.superclass.constructor.call(this,h);this._init()}c.ATTRS={autoSearch:{value:true},gridId:{value:"grid"},formId:{value:"searchForm"},btnId:{value:"btnSearch"},formCfg:{value:{}},gridCfg:{},form:{},grid:{},store:{}};g.extend(c,g.Base);g.augment(c,{_init:function(){var h=this;h._initForm();h._initStoreEvent();h._initGrid();h._initEvent();h._initData()},_initEvent:function(){this._initDomEvent();this._initFormEvent();this._initGridEvent()},_initDomEvent:function(){var h=this,k=h.get("btnId"),i=h.get("store"),j=h.get("form");$("#"+k).on("click",function(l){l.preventDefault();j.valid();if(j.isValid()){h.load(true)}})},_initForm:function(){var h=this,j=h.get("form");if(!j){var i=g.merge(h.get("formCfg"),{srcNode:"#"+h.get("formId")});j=new d.HForm(i);j.render();h.set("form",j)}},_initFormEvent:function(){},_initGrid:function(){var h=this,k=h.get("grid");if(!k){var i=h.get("gridCfg"),j=h.get("store");i.store=j;i.render="#"+h.get("gridId"),k=new b.Grid(i);k.render();h.set("grid",k)}},_initGridEvent:function(){},_initData:function(){var h=this,i=h.get("autoSearch");if(i){h.load(true)}},_initStoreEvent:function(){var h=this,i=h.get("store");i.on("exception",function(j){g.Message.Alert(j.error)})},load:function(k){var h=this,j=h.get("form"),i=h.get("store"),l=j.serializeToObject();if(k){l.start=0;l.pageIndex=0}i.load(l)}});c.createStore=function(i,h){h=g.merge({autoLoad:false,url:i,pageSize:30},h);return new f.Store(h)};c.createGridCfg=function(i,h){h=g.merge({columns:i,loadMask:true,bbar:{pagingBar:true}},h);return h};c.createLink=function(h){var i='{text}';return g.substitute(i,h)};return c}); diff --git a/源码/src/main/webapp/resource/assets/js/common/search.js b/源码/src/main/webapp/resource/assets/js/common/search.js new file mode 100644 index 0000000..04bd964 --- /dev/null +++ b/源码/src/main/webapp/resource/assets/js/common/search.js @@ -0,0 +1,213 @@ +/** + * @fileOverview 搜索页面业务控件 + * @ignore + */ + +define('common/search',['bui/common','bui/grid','bui/form','bui/data','bui/overlay'],function (require) { + var BUI = require('bui/common'), + Grid = require('bui/grid'), + Data = require('bui/data'), + Overlay = require('bui/overlay'), + Form = require('bui/form'); + + /** + * @class Search + * 搜索页类 + */ + function Search(config){ + + Search.superclass.constructor.call(this, config); + this._init(); + } + + Search.ATTRS = { + /** + * 是否自动查询,打开页面时未点击查询按钮时是否自动查询 + * @type {Boolean} + */ + autoSearch :{ + value : true + }, + /** + * grid 容器的 id + * @type {String} + */ + gridId : { + value : 'grid' + }, + /** + * 表单的容器的id + * @type {String} + */ + formId : { + value : 'searchForm' + }, + /** + * 查询按钮的id + * @type {Object} + */ + btnId : { + value : 'btnSearch' + }, + /** + * 表单的配置项 + * @type {Object} + */ + formCfg : { + value : {} + }, + /** + * grid 表格的配置项 + * @type {Object} + */ + gridCfg : { + + }, + /** + * 表单对象 + * @type {Object} + */ + form : { + + }, + /** + * 表格对象 + * @type {Object} + */ + grid : { + + }, + /** + * 数据缓冲类 + * @type {Object} + */ + store : { + + } + } + + BUI.extend(Search,BUI.Base); + + BUI.augment(Search,{ + _init : function(){ + var _self = this; + + _self._initForm(); + _self._initStoreEvent(); + _self._initGrid(); + _self._initEvent(); + _self._initData(); + }, + //初始化事件 + _initEvent : function(){ + this._initDomEvent(); + this._initFormEvent(); + this._initGridEvent(); + }, + _initDomEvent : function(){ + var _self = this, + btnId = _self.get('btnId'), + store = _self.get('store'), + form = _self.get('form'); + $('#'+btnId).on('click',function(ev){ + ev.preventDefault(); + form.valid(); + if(form.isValid()){ + _self.load(true); + } + }); + }, + //初始化form + _initForm : function(){ + var _self = this, + form = _self.get('form'); + if(!form){ + var formCfg = BUI.merge(_self.get('formCfg'),{ + srcNode : '#' + _self.get('formId') + }); + form = new Form.HForm(formCfg); + form.render(); + _self.set('form',form); + } + }, + _initFormEvent : function(){ + + }, + //初始化表格 + _initGrid : function(){ + var _self = this, + grid = _self.get('grid'); + if(!grid){ + var gridCfg = _self.get('gridCfg'), + store = _self.get('store'); + gridCfg.store = store; + gridCfg.render = '#' +_self.get('gridId'), + grid = new Grid.Grid(gridCfg); + grid.render(); + _self.set('grid',grid); + } + }, + _initGridEvent : function(){ + + }, + _initData : function(){ + var _self = this, + autoSearch = _self.get('autoSearch'); + if(autoSearch){ + _self.load(true); + } + }, + //初始化数据加载事件 + _initStoreEvent : function(){ + var _self = this, + store = _self.get('store'); + //处理异常 + store.on('exception',function(ev){ + BUI.Message.Alert(ev.error); + }); + }, + /** + * 加载数据 + * @param {Boolean} reset 是否重置表格查询的页数 + */ + load : function(reset){ + var _self =this, + form = _self.get('form'), + store = _self.get('store'), + param = form.serializeToObject(); + if(reset){ + param.start=0; + param.pageIndex = 0; + } + store.load(param); + } + }); + + Search.createStore = function(url,cfg){ + + cfg = BUI.merge({ + autoLoad : false, + url : url, + pageSize : 30 + },cfg); + return new Data.Store(cfg); + }; + + Search.createGridCfg = function(columns,cfg){ + cfg = BUI.merge({ + columns : columns, + loadMask : true, + bbar:{ + pagingBar:true + } + },cfg); + + return cfg; + }; + + Search.createLink = function(cfg){ + var temp = '{text}'; + return BUI.substitute(temp,cfg); + } + return Search; +}); \ No newline at end of file diff --git a/源码/src/main/webapp/resource/assets/js/config-min.js b/源码/src/main/webapp/resource/assets/js/config-min.js new file mode 100644 index 0000000..76383fd --- /dev/null +++ b/源码/src/main/webapp/resource/assets/js/config-min.js @@ -0,0 +1 @@ +(function(f){var d="",e="/assets/js";function a(h){if(!/:/.test(h)){return true}}function c(h){if(a(h)){var i=b();return i+"/"+h}return h}function b(){var h=location.href,i;h=h.replace(/\?.*$/,"").replace(/\#.*$/,"");i=h.lastIndexOf("/");return h.substring(0,i)}function g(){var h=f("script"),i="";f.each(h,function(k,j){var l=j.src,m=l.indexOf(e+"/config");if(m!==-1){i=l.substring(0,m);return false}});return c(i)}if(!d){d=g()}BUI.config({alias:{common:d+e+"/common",module:d+e+"/module"},map:[[/module\/(.*)-min.js/,"module/$1.js"]]})})(jQuery); diff --git a/源码/src/main/webapp/resource/assets/js/config.js b/源码/src/main/webapp/resource/assets/js/config.js new file mode 100644 index 0000000..ab4b156 --- /dev/null +++ b/源码/src/main/webapp/resource/assets/js/config.js @@ -0,0 +1,55 @@ +(function ($) { + + var baseUrl = '', //网站的根目录地址,发布到线上时使用 + jsBase = '/assets/js'; + + function isRelative(url){ + if(!/:/.test(url)){ + return true; + } + } + function formatUrl(url){ + if(isRelative(url)){ + var path = getCurrentPath(); + return path +'/'+ url; + } + return url; + } + function getCurrentPath(){ + var url = location.href, + lastIndex; + url = url.replace(/\?.*$/,'').replace(/\#.*$/,''); + lastIndex = url.lastIndexOf('/'); + return url.substring(0,lastIndex); + } + function getBaseUrl(){ //根据config.js的路径取baseUrl + var scripts = $('script'), + rst = ''; + $.each(scripts,function(index,script){ + var src = script.src, + lastIndex = src.indexOf(jsBase + '/config'); + if(lastIndex !== -1){ + rst = src.substring(0,lastIndex); + return false; + } + }); + return formatUrl(rst); + } + + if(!baseUrl){//如果未指定项目路径,进行匹配。 + baseUrl = getBaseUrl(); + } + + BUI.config({ + alias : { + 'common' : baseUrl + jsBase + '/common', + 'module' : baseUrl + jsBase + '/module' + },/**/ + map : [ //调试环境下使用'*.js',如果发布上线前,使用*-min.js去掉下面的map + //[/common\/(.*)-min.js/,'common/$1.js'], + [/module\/(.*)-min.js/,'module/$1.js'] + ] + + }); + +})(jQuery); \ No newline at end of file diff --git a/源码/src/main/webapp/resource/assets/js/editor-min.js b/源码/src/main/webapp/resource/assets/js/editor-min.js new file mode 100644 index 0000000..3a7fd84 --- /dev/null +++ b/源码/src/main/webapp/resource/assets/js/editor-min.js @@ -0,0 +1,4 @@ +/** + * @fileOverview \u7f16\u8f91\u5668\u547d\u540d\u7a7a\u95f4\u5165\u53e3 + * @ignore + */define("bui/editor",["bui/common","bui/form","bui/editor/editor","bui/editor/record","bui/editor/dialog"],function(e){var t=e("bui/common"),n=e("bui/form"),r=t.namespace("Editor");return t.mix(r,{Editor:e("bui/editor/editor"),RecordEditor:e("bui/editor/record"),DialogEditor:e("bui/editor/dialog")}),r}),define("bui/editor/mixin",function(e){function t(e){var t=e,n=t.get("controlCfgField"),r=t.get(n),i=t.addChild(r);t.setInternal(n,i)}var n=function(){t(this)};return n.ATTRS={acceptEvent:{value:"autohide"},preventHide:{value:!0},changeSourceEvent:{value:"show triggerchange"},ignoreInputFields:{value:!1},innerValueField:{},emptyValue:{},controlCfgField:{},autoUpdate:{value:!0},events:{value:{accept:!1,cancel:!1}}},n.prototype={__bindUI:function(){var e=this,t=e.get("acceptEvent"),n=e.get("changeSourceEvent");t&&e.on(t,function(){if(e.accept())return;if(e.get("preventHide"))return!1;e.cancel()}),n&&e.on(n,function(){e.setValue(e.getSourceValue()),e.get("visible")&&e.focus()})},getInnerControl:function(){var e=this,t=e.get("children");return t[0]},setValue:function(e){var t=this,n=t.getInnerControl();t.set("editValue",e),t.clearControlValue(),n.set(t.get("innerValueField"),e),e||t.valid()},getValue:function(){var e=this,t=e.getInnerControl();return t.get(e.get("innerValueField"))},isValid:function(){var e=this,t=e.getInnerControl();return t.isValid?t.isValid():!0},valid:function(){var e=this,t=e.getInnerControl();t.valid&&t.valid()},getErrors:function(){var e=this,t=e.getInnerControl();return t.getErrors?t.getErrors():[]},isChange:function(){var e=this,t=e.get("editValue"),n=e.getValue();return t!==n},clearValue:function(){this.clearControlValue(),this.clearErrors()},clearControlValue:function(){var e=this,t=e.getInnerControl();t.set(e.get("innerValueField"),e.get("emptyValue"))},clearErrors:function(){var e=this,t=e.getInnerControl();t.clearErrors()},getSourceValue:function(){},updateSource:function(){},handleNavEsc:function(){this.cancel()},handleNavEnter:function(e){var t=e.target;if(t.tagName==="TEXTAREA")return;t.tagName==="BUTTON"&&$(t).trigger("click"),this.accept()},focus:function(){var e=this,t=e.getInnerControl();t.focus&&t.focus()},accept:function(){var e=this,t;e.valid();if(!e.isValid())return!1;t=e.getValue(),e.get("autoUpdate")&&e.updateSource(t);if(e.fire("beforeaccept",{value:t})==0)return;return e.fire("accept",{value:t,editValue:e.get("editValue")}),e.hide(),!0},cancel:function(){this.fire("cancel"),this.clearValue(),this.hide()}},n}),define("bui/editor/editor",["bui/common","bui/overlay","bui/editor/mixin"],function(e){var t=e("bui/common"),n=e("bui/overlay").Overlay;CLS_TIPS="x-editor-tips",Mixin=e("bui/editor/mixin");var r=n.extend([Mixin],{bindUI:function(){var e=this,t=e.getInnerControl();e.on("validchange",function(t){!e.isValid()&&e.get("visible")?e._showError(e.getErrors()):e._hideError()}),e.on("hide",function(){e._hideError()}),e.on("show",function(){e.isValid()||e._showError(e.getErrors())})},_initOverlay:function(){var e=this,t=new n({children:[{xclass:"simple-list",itemTpl:'
                • ! {error}
                • '}],elCls:CLS_TIPS,autoRender:!0});return e.set("overlay",t),t},_getErrorList:function(){var e=this,t=e.get("overlay");return t&&t.get("children")[0]},_showError:function(e){var n=this,r=n.get("overlay")||n._initOverlay(),i=n._getErrorList(),s=n.get("errorAlign"),o=t.Array.map(e,function(e){return{error:e}});i.set("items",o),s.node=n.get("el"),r.set("align",s),r.show()},_hideError:function(){var e=this,t=e.get("overlay");t&&t.hide()},getSourceValue:function(){var e=this,t=e.get("curTrigger");return t.text()},updateSource:function(e){var t=this,n=t.get("curTrigger");n&&n.length&&n.text(e)},_uiSetWidth:function(e){var t=this;if(e!=null){var n=t.getInnerControl();n.set&&n.set("width",e)}}},{ATTRS:{innerValueField:{value:"value"},emptyValue:{value:""},autoHide:{value:!0},controlCfgField:{value:"field"},defaultChildCfg:{value:{tpl:"",forceFit:!0,errorTpl:""}},defaultChildClass:{value:"form-field"},align:{value:{points:["tl","tl"]}},errorAlign:{value:{points:["bl","tl"],offset:[0,10]}},overlay:{},field:{value:{}}}},{xclass:"editor"});return r}),define("bui/editor/record",["bui/common","bui/editor/editor"],function(e){var t=e("bui/common"),n=e("bui/editor/editor"),r=n.extend({getSourceValue:function(){return this.get("record")},updateSource:function(e){var n=this,r=n.get("record");t.mix(r,e)},_uiSetRecord:function(e){this.setValue(e)}},{ATTRS:{innerValueField:{value:"record"},acceptEvent:{value:""},emptyValue:{value:{}},autoHide:{value:!1},record:{value:{}},controlCfgField:{value:"form"},form:{value:{}},errorAlign:{value:{points:["tr","tl"],offset:[10,0]}},defaultChildCfg:{valueFn:function(){var e=this;return{xclass:"form",errorTpl:"",showError:!0,showChildError:!0,defaultChildCfg:{elCls:"bui-inline-block",tpl:"",forceFit:!0},buttons:[{btnCls:"button button-primary",text:"\u786e\u5b9a",handler:function(){e.accept()}},{btnCls:"button",text:"\u53d6\u6d88",handler:function(){e.cancel()}}]}}}}},{xclass:"record-editor"});return r}),define("bui/editor/dialog",["bui/overlay","bui/editor/mixin"],function(e){var t=e("bui/overlay").Dialog,n=e("bui/editor/mixin"),r=t.extend([n],{getSourceValue:function(){return this.get("record")},handleNavEnter:function(e){var t=this,n=t.get("success"),r=e.target;if(r.tagName==="TEXTAREA")return;r.tagName==="BUTTON"&&$(r).trigger("click"),n?n.call(t):this.accept()},updateSource:function(e){var t=this,n=t.get("record");BUI.mix(n,e)},_uiSetRecord:function(e){this.setValue(e)}},{ATTRS:{innerValueField:{value:"record"},acceptEvent:{value:""},record:{value:{}},emptyValue:{value:{}},controlCfgField:{value:"form"},changeSourceEvent:{value:""},defaultChildCfg:{value:{xclass:"form-horizontal"}},focusable:{value:!0},success:{value:function(){this.accept()}},form:{value:{}}}},{xclass:"dialog-editor"});return r}); diff --git a/源码/src/main/webapp/resource/assets/js/jquery-1.8.1.min.js b/源码/src/main/webapp/resource/assets/js/jquery-1.8.1.min.js new file mode 100644 index 0000000..ee68f35 --- /dev/null +++ b/源码/src/main/webapp/resource/assets/js/jquery-1.8.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v@1.8.1 jquery.com | jquery.org/license */ +(function(a,b){function G(a){var b=F[a]={};return p.each(a.split(s),function(a,c){b[c]=!0}),b}function J(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(I,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:+d+""===d?+d:H.test(d)?p.parseJSON(d):d}catch(f){}p.data(a,c,d)}else d=b}return d}function K(a){var b;for(b in a){if(b==="data"&&p.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function ba(){return!1}function bb(){return!0}function bh(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function bi(a,b){do a=a[b];while(a&&a.nodeType!==1);return a}function bj(a,b,c){b=b||0;if(p.isFunction(b))return p.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return p.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=p.grep(a,function(a){return a.nodeType===1});if(be.test(b))return p.filter(b,d,!c);b=p.filter(b,d)}return p.grep(a,function(a,d){return p.inArray(a,b)>=0===c})}function bk(a){var b=bl.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function bC(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function bD(a,b){if(b.nodeType!==1||!p.hasData(a))return;var c,d,e,f=p._data(a),g=p._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;d").appendTo(e.body),c=b.css("display");b.remove();if(c==="none"||c===""){bI=e.body.appendChild(bI||p.extend(e.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!bJ||!bI.createElement)bJ=(bI.contentWindow||bI.contentDocument).document,bJ.write(""),bJ.close();b=bJ.body.appendChild(bJ.createElement(a)),c=bH(b,"display"),e.body.removeChild(bI)}return bS[a]=c,c}function ci(a,b,c,d){var e;if(p.isArray(b))p.each(b,function(b,e){c||ce.test(a)?d(a,e):ci(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&p.type(b)==="object")for(e in b)ci(a+"["+e+"]",b[e],c,d);else d(a,b)}function cz(a){return function(b,c){typeof b!="string"&&(c=b,b="*");var d,e,f,g=b.toLowerCase().split(s),h=0,i=g.length;if(p.isFunction(c))for(;h)[^>]*$|#([\w\-]*)$)/,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,y=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,z=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,A=/^-ms-/,B=/-([\da-z])/gi,C=function(a,b){return(b+"").toUpperCase()},D=function(){e.addEventListener?(e.removeEventListener("DOMContentLoaded",D,!1),p.ready()):e.readyState==="complete"&&(e.detachEvent("onreadystatechange",D),p.ready())},E={};p.fn=p.prototype={constructor:p,init:function(a,c,d){var f,g,h,i;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?f=[null,a,null]:f=u.exec(a);if(f&&(f[1]||!c)){if(f[1])return c=c instanceof p?c[0]:c,i=c&&c.nodeType?c.ownerDocument||c:e,a=p.parseHTML(f[1],i,!0),v.test(f[1])&&p.isPlainObject(c)&&this.attr.call(a,c,!0),p.merge(this,a);g=e.getElementById(f[2]);if(g&&g.parentNode){if(g.id!==f[2])return d.find(a);this.length=1,this[0]=g}return this.context=e,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return p.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),p.makeArray(a,this))},selector:"",jquery:"1.8.1",length:0,size:function(){return this.length},toArray:function(){return k.call(this)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=p.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return p.each(this,a,b)},ready:function(a){return p.ready.promise().done(a),this},eq:function(a){return a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(k.apply(this,arguments),"slice",k.call(arguments).join(","))},map:function(a){return this.pushStack(p.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:j,sort:[].sort,splice:[].splice},p.fn.init.prototype=p.fn,p.extend=p.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;typeof h=="boolean"&&(k=h,h=arguments[1]||{},i=2),typeof h!="object"&&!p.isFunction(h)&&(h={}),j===i&&(h=this,--i);for(;i0)return;d.resolveWith(e,[p]),p.fn.trigger&&p(e).trigger("ready").off("ready")},isFunction:function(a){return p.type(a)==="function"},isArray:Array.isArray||function(a){return p.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):E[m.call(a)]||"object"},isPlainObject:function(a){if(!a||p.type(a)!=="object"||a.nodeType||p.isWindow(a))return!1;try{if(a.constructor&&!n.call(a,"constructor")&&!n.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||n.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return!a||typeof a!="string"?null:(typeof b=="boolean"&&(c=b,b=0),b=b||e,(d=v.exec(a))?[b.createElement(d[1])]:(d=p.buildFragment([a],b,c?null:[]),p.merge([],(d.cacheable?p.clone(d.fragment):d.fragment).childNodes)))},parseJSON:function(b){if(!b||typeof b!="string")return null;b=p.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(w.test(b.replace(y,"@").replace(z,"]").replace(x,"")))return(new Function("return "+b))();p.error("Invalid JSON: "+b)},parseXML:function(c){var d,e;if(!c||typeof c!="string")return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&p.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&r.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(A,"ms-").replace(B,C)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||p.isFunction(a);if(d){if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;f0&&a[0]&&a[i-1]||i===0||p.isArray(a));if(j)for(;h-1)i.splice(c,1),e&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return p.inArray(a,i)>-1},empty:function(){return i=[],this},disable:function(){return i=j=c=b,this},disabled:function(){return!i},lock:function(){return j=b,c||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],i&&(!d||j)&&(e?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!d}};return l},p.extend({Deferred:function(a){var b=[["resolve","done",p.Callbacks("once memory"),"resolved"],["reject","fail",p.Callbacks("once memory"),"rejected"],["notify","progress",p.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return p.Deferred(function(c){p.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]](p.isFunction(g)?function(){var a=g.apply(this,arguments);a&&p.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+"With"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return typeof a=="object"?p.extend(a,d):d}},e={};return d.pipe=d.then,p.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[a^1][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=k.call(arguments),d=c.length,e=d!==1||a&&p.isFunction(a.promise)?d:0,f=e===1?a:p.Deferred(),g=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?k.call(arguments):d,c===h?f.notifyWith(b,c):--e||f.resolveWith(b,c)}},h,i,j;if(d>1){h=new Array(d),i=new Array(d),j=new Array(d);for(;b
                  a",c=n.getElementsByTagName("*"),d=n.getElementsByTagName("a")[0],d.style.cssText="top:1px;float:left;opacity:.5";if(!c||!c.length||!d)return{};f=e.createElement("select"),g=f.appendChild(e.createElement("option")),h=n.getElementsByTagName("input")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName("tbody").length,htmlSerialize:!!n.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:n.className!=="t",enctype:!!e.createElement("form").enctype,html5Clone:e.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:e.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent("onclick",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent("onclick"),n.detachEvent("onclick",m)),h=e.createElement("input"),h.value="t",h.setAttribute("type","radio"),b.radioValue=h.value==="t",h.setAttribute("checked","checked"),h.setAttribute("name","t"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent)for(k in{submit:!0,change:!0,focusin:!0})j="on"+k,l=j in n,l||(n.setAttribute(j,"return;"),l=typeof n[j]=="function"),b[k+"Bubbles"]=l;return p(function(){var c,d,f,g,h="padding:0;margin:0;border:0;display:block;overflow:hidden;",i=e.getElementsByTagName("body")[0];if(!i)return;c=e.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",i.insertBefore(c,i.firstChild),d=e.createElement("div"),c.appendChild(d),d.innerHTML="
                  t
                  ",f=d.getElementsByTagName("td"),f[0].style.cssText="padding:0;margin:0;border:0;display:none",l=f[0].offsetHeight===0,f[0].style.display="",f[1].style.display="none",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!=="1%",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:"4px"}).width==="4px",g=e.createElement("div"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width="0",d.style.width="1px",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof d.style.zoom!="undefined"&&(d.innerHTML="",d.style.cssText=h+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display="block",d.style.overflow="visible",d.innerHTML="
                  ",d.firstChild.style.width="5px",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(p.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a))return;var f,g,h=p.expando,i=typeof c=="string",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b)return;l||(j?a[h]=l=p.deletedIds.pop()||++p.uuid:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof c=="object"||typeof c=="function")e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c);return f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a))return;var d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i])return;if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b in d?b=[b]:(b=p.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,f=b.length;e1,null,!1))},removeData:function(a){return this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=p.queue(a,b),d=c.length,e=c.shift(),f=p._queueHooks(a,b),g=function(){p.dequeue(a,b)};e==="inprogress"&&(e=c.shift(),d--),e&&(b==="fx"&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return p._data(a,c)||p._data(a,c,{empty:p.Callbacks("once memory").add(function(){p.removeData(a,b+"queue",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var d=2;return typeof a!="string"&&(c=a,a="fx",d--),arguments.length1)},removeAttr:function(a){return this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if(p.isFunction(a))return this.each(function(b){p(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(s);for(c=0,d=this.length;c-1)d=d.replace(" "+c[f]+" "," ");e.className=a?p.trim(d):""}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";return p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c==="string"){var e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++])h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&p._data(this,"__className__",this.className),this.className=this.className||a===!1?"":p._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c-1)return!0;return!1},val:function(a){var c,d,e,f=this[0];if(!arguments.length){if(f)return c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,typeof d=="string"?d.replace(P,""):d==null?"":d);return}return e=p.isFunction(a),this.each(function(d){var f,g=p(this);if(this.nodeType!==1)return;e?f=a.call(this,d,g.val()):f=a,f==null?f="":typeof f=="number"?f+="":p.isArray(f)&&(f=p.map(f,function(a){return a==null?"":a+""})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,f,"value")===b)this.value=f})}}),p.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type==="select-one";if(f<0)return null;c=i?f:0,d=i?f+1:h.length;for(;c=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return;if(e&&p.isFunction(p.fn[c]))return p(a)[c](d);if(typeof a.getAttribute=="undefined")return p.prop(a,c,d);h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,""+d),d)}return g&&"get"in g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g=0}})});var V=/^(?:textarea|input|select)$/i,W=/^([^\.]*|)(?:\.(.+)|)$/,X=/(?:^|\s)hover(\.\S+|)\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return p.event.special.hover?a:a.replace(X,"mouseenter$1 mouseleave$1")};p.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a)))return;d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return typeof p!="undefined"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(" ");for(j=0;j=0&&(s=s.slice(0,-1),i=!0),s.indexOf(".")>=0&&(t=s.split("."),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s])return;c=typeof c=="object"?c[p.expando]?c:new p.Event(s,c):new p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+t.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,m=s.indexOf(":")<0?"on"+s:"";if(!f){h=p.cache;for(j in h)h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0);return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1)return;q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode)q.push([k,r]),l=k;l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;j=0),h[l]&&j.push(k);j.length&&t.push({elem:f,matches:j})}n.length>o&&t.push({elem:this,matches:n.slice(o)});for(d=0;d0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function $(a,b,c,d){c=c||[],b=b||q;var e,f,g,j,k=b.nodeType;if(k!==1&&k!==9)return[];if(!a||typeof a!="string")return c;g=h(b);if(!g&&!d)if(e=L.exec(a))if(j=e[1]){if(k===9){f=b.getElementById(j);if(!f||!f.parentNode)return c;if(f.id===j)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(j))&&i(b,f)&&f.id===j)return c.push(f),c}else{if(e[2])return u.apply(c,t.call(b.getElementsByTagName(a),0)),c;if((j=e[3])&&X&&b.getElementsByClassName)return u.apply(c,t.call(b.getElementsByClassName(j),0)),c}return bk(a,b,c,d,g)}function _(a){return function(b){var c=b.nodeName.toLowerCase();return c==="input"&&b.type===a}}function ba(a){return function(b){var c=b.nodeName.toLowerCase();return(c==="input"||c==="button")&&b.type===a}}function bb(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}function bc(a,b,c,d){var e,g,h,i,j,k,l,m,n,p,r=!c&&b!==q,s=(r?"":"")+a.replace(H,"$1"),u=y[o][s];if(u)return d?0:t.call(u,0);j=a,k=[],m=0,n=f.preFilter,p=f.filter;while(j){if(!e||(g=I.exec(j)))g&&(j=j.slice(g[0].length),h.selector=l),k.push(h=[]),l="",r&&(j=" "+j);e=!1;if(g=J.exec(j))l+=g[0],j=j.slice(g[0].length),e=h.push({part:g.pop().replace(H," "),string:g[0],captures:g});for(i in p)(g=S[i].exec(j))&&(!n[i]||(g=n[i](g,b,c)))&&(l+=g[0],j=j.slice(g[0].length),e=h.push({part:i,string:g.shift(),captures:g}));if(!e)break}return l&&(h.selector=l),d?j.length:j?$.error(a):t.call(y(s,k),0)}function bd(a,b,e,f){var g=b.dir,h=s++;return a||(a=function(a){return a===e}),b.first?function(b){while(b=b[g])if(b.nodeType===1)return a(b)&&b}:f?function(b){while(b=b[g])if(b.nodeType===1&&a(b))return b}:function(b){var e,f=h+"."+c,i=f+"."+d;while(b=b[g])if(b.nodeType===1){if((e=b[o])===i)return b.sizset;if(typeof e=="string"&&e.indexOf(f)===0){if(b.sizset)return b}else{b[o]=i;if(a(b))return b.sizset=!0,b;b.sizset=!1}}}}function be(a,b){return a?function(c){var d=b(c);return d&&a(d===!0?c:d)}:b}function bf(a,b,c){var d,e,g=0;for(;d=a[g];g++)f.relative[d.part]?e=bd(e,f.relative[d.part],b,c):e=be(e,f.filter[d.part].apply(null,d.captures.concat(b,c)));return e}function bg(a){return function(b){var c,d=0;for(;c=a[d];d++)if(c(b))return!0;return!1}}function bh(a,b,c,d){var e=0,f=b.length;for(;e0?i(h,c,g):[]}function bj(a,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s=0,t=a.length,v=S.POS,w=new RegExp("^"+v.source+"(?!"+A+")","i"),x=function(){var a=1,c=arguments.length-2;for(;al){g+=k.slice(l,n.index),l=p,q=[c],J.test(g)&&(m&&(q=m),m=e);if(r=O.test(g))g=g.slice(0,-5).replace(J,"$&*"),l++;n.length>1&&n[0].replace(w,x),m=bi(g,n[1],n[2],q,m,r)}g=""}}o||(g+=k),o=!1}g?J.test(g)?bh(g,m||[c],d,e):$(g,c,d,e?e.concat(m):m):u.apply(d,m)}return t===1?d:$.uniqueSort(d)}function bk(a,b,e,g,h){a=a.replace(H,"$1");var i,k,l,m,n,o,p,q,r,s,v=bc(a,b,h),w=b.nodeType;if(S.POS.test(a))return bj(v,b,e,g);if(g)i=t.call(g,0);else if(v.length===1){if((o=t.call(v[0],0)).length>2&&(p=o[0]).part==="ID"&&w===9&&!h&&f.relative[o[1].part]){b=f.find.ID(p.captures[0].replace(R,""),b,h)[0];if(!b)return e;a=a.slice(o.shift().string.length)}r=(v=N.exec(o[0].string))&&!v.index&&b.parentNode||b,q="";for(n=o.length-1;n>=0;n--){p=o[n],s=p.part,q=p.string+q;if(f.relative[s])break;if(f.order.test(s)){i=f.find[s](p.captures[0].replace(R,""),r,h);if(i==null)continue;a=a.slice(0,a.length-q.length)+q.replace(S[s],""),a||u.apply(e,t.call(i,0));break}}}if(a){k=j(a,b,h),c=k.dirruns++,i==null&&(i=f.find.TAG("*",N.test(a)&&b.parentNode||b));for(n=0;m=i[n];n++)d=k.runs++,k(m)&&e.push(m)}return e}var c,d,e,f,g,h,i,j,k,l,m=!0,n="undefined",o=("sizcache"+Math.random()).replace(".",""),q=a.document,r=q.documentElement,s=0,t=[].slice,u=[].push,v=function(a,b){return a[o]=b||!0,a},w=function(){var a={},b=[];return v(function(c,d){return b.push(c)>f.cacheLength&&delete a[b.shift()],a[c]=d},a)},x=w(),y=w(),z=w(),A="[\\x20\\t\\r\\n\\f]",B="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",C=B.replace("w","w#"),D="([*^$|!~]?=)",E="\\["+A+"*("+B+")"+A+"*(?:"+D+A+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+C+")|)|)"+A+"*\\]",F=":("+B+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+E+")|[^:]|\\\\.)*|.*))\\)|)",G=":(nth|eq|gt|lt|first|last|even|odd)(?:\\(((?:-\\d)?\\d*)\\)|)(?=[^-]|$)",H=new RegExp("^"+A+"+|((?:^|[^\\\\])(?:\\\\.)*)"+A+"+$","g"),I=new RegExp("^"+A+"*,"+A+"*"),J=new RegExp("^"+A+"*([\\x20\\t\\r\\n\\f>+~])"+A+"*"),K=new RegExp(F),L=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,M=/^:not/,N=/[\x20\t\r\n\f]*[+~]/,O=/:not\($/,P=/h\d/i,Q=/input|select|textarea|button/i,R=/\\(?!\\)/g,S={ID:new RegExp("^#("+B+")"),CLASS:new RegExp("^\\.("+B+")"),NAME:new RegExp("^\\[name=['\"]?("+B+")['\"]?\\]"),TAG:new RegExp("^("+B.replace("w","w*")+")"),ATTR:new RegExp("^"+E),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|nth|last|first)-child(?:\\("+A+"*(even|odd|(([+-]|)(\\d*)n|)"+A+"*(?:([+-]|)"+A+"*(\\d+)|))"+A+"*\\)|)","i"),POS:new RegExp(G,"ig"),needsContext:new RegExp("^"+A+"*[>+~]|"+G,"i")},T=function(a){var b=q.createElement("div");try{return a(b)}catch(c){return!1}finally{b=null}},U=T(function(a){return a.appendChild(q.createComment("")),!a.getElementsByTagName("*").length}),V=T(function(a){return a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!==n&&a.firstChild.getAttribute("href")==="#"}),W=T(function(a){a.innerHTML="";var b=typeof a.lastChild.getAttribute("multiple");return b!=="boolean"&&b!=="string"}),X=T(function(a){return a.innerHTML="",!a.getElementsByClassName||!a.getElementsByClassName("e").length?!1:(a.lastChild.className="e",a.getElementsByClassName("e").length===2)}),Y=T(function(a){a.id=o+0,a.innerHTML="
                  ",r.insertBefore(a,r.firstChild);var b=q.getElementsByName&&q.getElementsByName(o).length===2+q.getElementsByName(o+0).length;return e=!q.getElementById(o),r.removeChild(a),b});try{t.call(r.childNodes,0)[0].nodeType}catch(Z){t=function(a){var b,c=[];for(;b=this[a];a++)c.push(b);return c}}$.matches=function(a,b){return $(a,null,null,b)},$.matchesSelector=function(a,b){return $(b,null,null,[a]).length>0},g=$.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(e===1||e===9||e===11){if(typeof a.textContent=="string")return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=g(a)}else if(e===3||e===4)return a.nodeValue}else for(;b=a[d];d++)c+=g(b);return c},h=$.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?b.nodeName!=="HTML":!1},i=$.contains=r.contains?function(a,b){var c=a.nodeType===9?a.documentElement:a,d=b&&b.parentNode;return a===d||!!(d&&d.nodeType===1&&c.contains&&c.contains(d))}:r.compareDocumentPosition?function(a,b){return b&&!!(a.compareDocumentPosition(b)&16)}:function(a,b){while(b=b.parentNode)if(b===a)return!0;return!1},$.attr=function(a,b){var c,d=h(a);return d||(b=b.toLowerCase()),f.attrHandle[b]?f.attrHandle[b](a):W||d?a.getAttribute(b):(c=a.getAttributeNode(b),c?typeof a[b]=="boolean"?a[b]?b:null:c.specified?c.value:null:null)},f=$.selectors={cacheLength:50,createPseudo:v,match:S,order:new RegExp("ID|TAG"+(Y?"|NAME":"")+(X?"|CLASS":"")),attrHandle:V?{}:{href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}},find:{ID:e?function(a,b,c){if(typeof b.getElementById!==n&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==n&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==n&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:U?function(a,b){if(typeof b.getElementsByTagName!==n)return b.getElementsByTagName(a)}:function(a,b){var c=b.getElementsByTagName(a);if(a==="*"){var d,e=[],f=0;for(;d=c[f];f++)d.nodeType===1&&e.push(d);return e}return c},NAME:function(a,b){if(typeof b.getElementsByName!==n)return b.getElementsByName(name)},CLASS:function(a,b,c){if(typeof b.getElementsByClassName!==n&&!c)return b.getElementsByClassName(a)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(R,""),a[3]=(a[4]||a[5]||"").replace(R,""),a[2]==="~="&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),a[1]==="nth"?(a[2]||$.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]==="even"||a[2]==="odd")),a[4]=+(a[6]+a[7]||a[2]==="odd")):a[2]&&$.error(a[0]),a},PSEUDO:function(a,b,c){var d,e;if(S.CHILD.test(a[0]))return null;if(a[3])a[2]=a[3];else if(d=a[4])K.test(d)&&(e=bc(d,b,c,!0))&&(e=d.indexOf(")",d.length-e)-d.length)&&(d=d.slice(0,e),a[0]=a[0].slice(0,e)),a[2]=d;return a.slice(0,3)}},filter:{ID:e?function(a){return a=a.replace(R,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(R,""),function(b){var c=typeof b.getAttributeNode!==n&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return a==="*"?function(){return!0}:(a=a.replace(R,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=x[o][a];return b||(b=x(a,new RegExp("(^|"+A+")"+a+"("+A+"|$)"))),function(a){return b.test(a.className||typeof a.getAttribute!==n&&a.getAttribute("class")||"")}},ATTR:function(a,b,c){return b?function(d){var e=$.attr(d,a),f=e+"";if(e==null)return b==="!=";switch(b){case"=":return f===c;case"!=":return f!==c;case"^=":return c&&f.indexOf(c)===0;case"*=":return c&&f.indexOf(c)>-1;case"$=":return c&&f.substr(f.length-c.length)===c;case"~=":return(" "+f+" ").indexOf(c)>-1;case"|=":return f===c||f.substr(0,c.length+1)===c+"-"}}:function(b){return $.attr(b,a)!=null}},CHILD:function(a,b,c,d){if(a==="nth"){var e=s++;return function(a){var b,f,g=0,h=a;if(c===1&&d===0)return!0;b=a.parentNode;if(b&&(b[o]!==e||!a.sizset)){for(h=b.firstChild;h;h=h.nextSibling)if(h.nodeType===1){h.sizset=++g;if(h===a)break}b[o]=e}return f=a.sizset-d,c===0?f===0:f%c===0&&f/c>=0}}return function(b){var c=b;switch(a){case"only":case"first":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(a==="first")return!0;c=b;case"last":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0}}},PSEUDO:function(a,b,c,d){var e,g=f.pseudos[a]||f.pseudos[a.toLowerCase()];return g||$.error("unsupported pseudo: "+a),g[o]?g(b,c,d):g.length>1?(e=[a,a,"",b],function(a){return g(a,0,e)}):g}},pseudos:{not:v(function(a,b,c){var d=j(a.replace(H,"$1"),b,c);return function(a){return!d(a)}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&!!a.checked||b==="option"&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!f.pseudos.empty(a)},empty:function(a){var b;a=a.firstChild;while(a){if(a.nodeName>"@"||(b=a.nodeType)===3||b===4)return!1;a=a.nextSibling}return!0},contains:v(function(a){return function(b){return(b.textContent||b.innerText||g(b)).indexOf(a)>-1}}),has:v(function(a){return function(b){return $(a,b).length>0}}),header:function(a){return P.test(a.nodeName)},text:function(a){var b,c;return a.nodeName.toLowerCase()==="input"&&(b=a.type)==="text"&&((c=a.getAttribute("type"))==null||c.toLowerCase()===b)},radio:_("radio"),checkbox:_("checkbox"),file:_("file"),password:_("password"),image:_("image"),submit:ba("submit"),reset:ba("reset"),button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&a.type==="button"||b==="button"},input:function(a){return Q.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b,c){return c?a.slice(1):[a[0]]},last:function(a,b,c){var d=a.pop();return c?a:[d]},even:function(a,b,c){var d=[],e=c?1:0,f=a.length;for(;e",a.querySelectorAll("[selected]").length||e.push("\\["+A+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||e.push(":checked")}),T(function(a){a.innerHTML="

                  ",a.querySelectorAll("[test^='']").length&&e.push("[*^$]="+A+"*(?:\"\"|'')"),a.innerHTML="",a.querySelectorAll(":enabled").length||e.push(":enabled",":disabled")}),e=e.length&&new RegExp(e.join("|")),bk=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a)))if(d.nodeType===9)try{return u.apply(f,t.call(d.querySelectorAll(a),0)),f}catch(i){}else if(d.nodeType===1&&d.nodeName.toLowerCase()!=="object"){var j,k,l,m=d.getAttribute("id"),n=m||o,p=N.test(a)&&d.parentNode||d;m?n=n.replace(c,"\\$&"):d.setAttribute("id",n),j=bc(a,d,h),n="[id='"+n+"']";for(k=0,l=j.length;k0})}(),f.setFilters.nth=f.setFilters.eq,f.filters=f.pseudos,$.attr=p.attr,p.find=$,p.expr=$.selectors,p.expr[":"]=p.expr.pseudos,p.unique=$.uniqueSort,p.text=$.getText,p.isXMLDoc=$.isXML,p.contains=$.contains}(a);var bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\[\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if(typeof a!="string")return p(a).filter(function(){for(b=0,c=h.length;b0)for(e=d;e=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c,d=0,e=this.length,f=[],g=bf.test(a)||typeof a!="string"?p(a,b||this.context):0;for(;d-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return f=f.length>1?p.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?typeof a=="string"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a=="string"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return p.dir(a,"parentNode")},parentsUntil:function(a,b,c){return p.dir(a,"parentNode",c)},next:function(a){return bi(a,"nextSibling")},prev:function(a){return bi(a,"previousSibling")},nextAll:function(a){return p.dir(a,"nextSibling")},prevAll:function(a){return p.dir(a,"previousSibling")},nextUntil:function(a,b,c){return p.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return p.dir(a,"previousSibling",c)},siblings:function(a){return p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return p.sibling(a.firstChild)},contents:function(a){return p.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var e=p.map(this,b,c);return bc.test(a)||(d=c),d&&typeof d=="string"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(","))}}),p.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d)))f.nodeType===1&&e.push(f),f=f[c];return e},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var bl="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",bm=/ jQuery\d+="(?:null|\d+)"/g,bn=/^\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bp=/<([\w:]+)/,bq=/]","i"),bv=/^(?:checkbox|radio)$/,bw=/checked\s*(?:[^=]|=\s*.checked.)/i,bx=/\/(java|ecma)script/i,by=/^\s*\s*$/g,bz={option:[1,""],legend:[1,"
                  ","
                  "],thead:[1,"","
                  "],tr:[2,"","
                  "],td:[3,"","
                  "],col:[2,"","
                  "],area:[1,"",""],_default:[0,"",""]},bA=bk(e),bB=bA.appendChild(e.createElement("div"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,"X
                  ","
                  "]),p.fn.extend({text:function(a){return p.access(this,function(a){return a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a))return this.each(function(b){p(this).wrapAll(a.call(this,b))});if(this[0]){var b=p(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=p.isFunction(a);return this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){p.nodeName(this,"body")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(a,this),"before",this.selector)}},after:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(this,a),"after",this.selector)}},remove:function(a,b){var c,d=0;for(;(c=this[d])!=null;d++)if(!a||p.filter(a,[c]).length)!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c);return this},empty:function(){var a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName("*"));while(a.firstChild)a.removeChild(a.firstChild)}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return p.clone(this,a,b)})},html:function(a){return p.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(bm,""):b;if(typeof a=="string"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(bo,"<$1>");try{for(;d1&&typeof j=="string"&&bw.test(j))return this.each(function(){p(this).domManip(a,c,d)});if(p.isFunction(j))return this.each(function(e){var f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,"tr");for(h=e.cacheable||l-1;i0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f)e[f]&&bE(d[f],e[f])}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f)bD(d[f],e[f])}}return d=e=null,g},clean:function(a,b,c,d){var f,g,h,i,j,k,l,m,n,o,q,r,s=b===e&&bA,t=[];if(!b||typeof b.createDocumentFragment=="undefined")b=e;for(f=0;(h=a[f])!=null;f++){typeof h=="number"&&(h+="");if(!h)continue;if(typeof h=="string")if(!br.test(h))h=b.createTextNode(h);else{s=s||bk(b),l=b.createElement("div"),s.appendChild(l),h=h.replace(bo,"<$1>"),i=(bp.exec(h)||["",""])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--)l=l.lastChild;if(!p.support.tbody){m=bq.test(h),n=i==="table"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]===""&&!m?l.childNodes:[];for(g=n.length-1;g>=0;--g)p.nodeName(n[g],"tbody")&&!n[g].childNodes.length&&n[g].parentNode.removeChild(n[g])}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l.parentNode.removeChild(l)}h.nodeType?t.push(h):p.merge(t,h)}l&&(h=l=s=null);if(!p.support.appendChecked)for(f=0;(h=t[f])!=null;f++)p.nodeName(h,"input")?bG(h):typeof h.getElementsByTagName!="undefined"&&p.grep(h.getElementsByTagName("input"),bG);if(c){q=function(a){if(!a.type||bx.test(a.type))return d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)};for(f=0;(h=t[f])!=null;f++)if(!p.nodeName(h,"script")||!q(h))c.appendChild(h),typeof h.getElementsByTagName!="undefined"&&(r=p.grep(p.merge([],h.getElementsByTagName("script")),q),t.splice.apply(t,[f+1,0].concat(r)),f+=r.length)}return t},cleanData:function(a,b){var c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++)if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events)for(f in c.events)k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}),function(){var a,b;p.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.chrome?b.webkit=!0:b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function a(b,c){return new a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof p&&!(d instanceof a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(e);return a}}();var bH,bI,bJ,bK=/alpha\([^)]*\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^(none|table(?!-c[ea]).+)/,bO=/^margin/,bP=new RegExp("^("+q+")(.*)$","i"),bQ=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),bR=new RegExp("^([-+])=("+q+")","i"),bS={},bT={position:"absolute",visibility:"hidden",display:"block"},bU={letterSpacing:0,fontWeight:400},bV=["Top","Right","Bottom","Left"],bW=["Webkit","O","Moz","ms"],bX=p.fn.toggle;p.fn.extend({css:function(a,c){return p.access(this,function(a,c,d){return d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return b$(this,!0)},hide:function(){return b$(this)},toggle:function(a,b){var c=typeof a=="boolean";return p.isFunction(a)&&p.isFunction(b)?bX.apply(this,arguments):this.each(function(){(c?a:bZ(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bH(a,"opacity");return c===""?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":p.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style)return;var f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bY(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];g=typeof d,g==="string"&&(f=bR.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g="number");if(d==null||g==="number"&&isNaN(d))return;g==="number"&&!p.cssNumber[i]&&(d+="px");if(!h||!("set"in h)||(d=h.set(a,d,e))!==b)try{j[c]=d}catch(k){}},css:function(a,c,d,e){var f,g,h,i=p.camelCase(c);return c=p.cssProps[i]||(p.cssProps[i]=bY(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f==="normal"&&c in bU&&(f=bU[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?bH=function(b,c){var d,e,f,g,h=a.getComputedStyle(b,null),i=b.style;return h&&(d=h[c],d===""&&!p.contains(b.ownerDocument,b)&&(d=p.style(b,c)),bQ.test(d)&&bO.test(c)&&(e=i.width,f=i.minWidth,g=i.maxWidth,i.minWidth=i.maxWidth=i.width=d,d=h.width,i.width=e,i.minWidth=f,i.maxWidth=g)),d}:e.documentElement.currentStyle&&(bH=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return e==null&&f&&f[b]&&(e=f[b]),bQ.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),e===""?"auto":e}),p.each(["height","width"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth===0&&bN.test(bH(a,"display"))?p.swap(a,bT,function(){return cb(a,b,d)}):cb(a,b,d)},set:function(a,c,d){return b_(a,c,d?ca(a,b,d,p.support.boxSizing&&p.css(a,"boxSizing")==="border-box"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return bL.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=p.isNumeric(b)?"alpha(opacity="+b*100+")":"",f=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,""))===""&&c.removeAttribute){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bK.test(f)?f.replace(bK,e):f+" "+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return p.swap(a,{display:"inline-block"},function(){if(b)return bH(a,"marginRight")})}}),!p.support.pixelPosition&&p.fn.position&&p.each(["top","left"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var d=bH(a,b);return bQ.test(d)?p(a).position()[b]+"px":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,"display"))==="none"},p.expr.filters.visible=function(a){return!p.expr.filters.hidden(a)}),p.each({margin:"",padding:"",border:"Width"},function(a,b){p.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bV[d]+b]=e[d]||e[d-2]||e[0];return f}},bO.test(a)||(p.cssHooks[a+b].set=b_)});var cd=/%20/g,ce=/\[\]$/,cf=/\r?\n/g,cg=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ch=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?p.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ch.test(this.nodeName)||cg.test(this.type))}).map(function(a,b){var c=p(this).val();return c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(cf,"\r\n")}}):{name:b.name,value:c.replace(cf,"\r\n")}}).get()}}),p.param=function(a,c){var d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a))p.each(a,function(){f(this.name,this.value)});else for(d in a)ci(d,a[d],c,f);return e.join("&").replace(cd,"+")};var cj,ck,cl=/#.*$/,cm=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,cn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,co=/^(?:GET|HEAD)$/,cp=/^\/\//,cq=/\?/,cr=/)<[^<]*)*<\/script>/gi,cs=/([?&])_=[^&]*/,ct=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,cu=p.fn.load,cv={},cw={},cx=["*/"]+["*"];try{cj=f.href}catch(cy){cj=e.createElement("a"),cj.href="",cj=cj.href}ck=ct.exec(cj.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof a!="string"&&cu)return cu.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):c&&typeof c=="object"&&(f="POST"),p.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p("
                  ").append(a.replace(cr,"")).find(e):a)}),this},p.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){p.fn[b]=function(a){return this.on(b,a)}}),p.each(["get","post"],function(a,c){p[c]=function(a,d,e,f){return p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return p.get(a,b,c,"script")},getJSON:function(a,b,c){return p.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?cB(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cB(a,b),a},ajaxSettings:{url:cj,isLocal:cn.test(ck[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":cx},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":p.parseJSON,"text xml":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cz(cv),ajaxTransport:cz(cw),ajax:function(a,c){function y(a,c,f,i){var k,s,t,u,w,y=c;if(v===2)return;v=2,h&&clearTimeout(h),g=b,e=i||"",x.readyState=a>0?4:0,f&&(u=cC(l,x,f));if(a>=200&&a<300||a===304)l.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(p.lastModified[d]=w),w=x.getResponseHeader("Etag"),w&&(p.etag[d]=w)),a===304?(y="notmodified",k=!0):(k=cD(l,u),y=k.state,s=k.data,t=k.error,k=!t);else{t=y;if(!y||a)y="error",a<0&&(a=0)}x.status=a,x.statusText=""+(c||y),k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger("ajax"+(k?"Success":"Error"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger("ajaxComplete",[x,l]),--p.active||p.event.trigger("ajaxStop"))}typeof a=="object"&&(c=a,a=b),c=c||{};var d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m instanceof p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks("once memory"),r=l.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,setRequestHeader:function(a,b){if(!v){var c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return this},getAllResponseHeaders:function(){return v===2?e:null},getResponseHeader:function(a){var c;if(v===2){if(!f){f={};while(c=cm.exec(e))f[c[1].toLowerCase()]=c[2]}c=f[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return v||(l.mimeType=a),this},abort:function(a){return a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var b;if(v<2)for(b in a)r[b]=[r[b],a[b]];else b=a[x.status],x.always(b)}return this},l.url=((a||l.url)+"").replace(cl,"").replace(cp,ck[1]+"//"),l.dataTypes=p.trim(l.dataType||"*").toLowerCase().split(s),l.crossDomain==null&&(i=ct.exec(l.url.toLowerCase()),l.crossDomain=!(!i||i[1]==ck[1]&&i[2]==ck[2]&&(i[3]||(i[1]==="http:"?80:443))==(ck[3]||(ck[1]==="http:"?80:443)))),l.data&&l.processData&&typeof l.data!="string"&&(l.data=p.param(l.data,l.traditional)),cA(cv,l,c,x);if(v===2)return x;j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!co.test(l.type),j&&p.active++===0&&p.event.trigger("ajaxStart");if(!l.hasContent){l.data&&(l.url+=(cq.test(l.url)?"&":"?")+l.data,delete l.data),d=l.url;if(l.cache===!1){var z=p.now(),A=l.url.replace(cs,"$1_="+z);l.url=A+(A===l.url?(cq.test(l.url)?"&":"?")+"_="+z:"")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader("If-Modified-Since",p.lastModified[d]),p.etag[d]&&x.setRequestHeader("If-None-Match",p.etag[d])),x.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!=="*"?", "+cx+"; q=0.01":""):l.accepts["*"]);for(k in l.headers)x.setRequestHeader(k,l.headers[k]);if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w="abort";for(k in{success:1,error:1,complete:1})x[k](l[k]);g=cA(cw,l,c,x);if(!g)y(-1,"No Transport");else{x.readyState=1,j&&n.trigger("ajaxSend",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort("timeout")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2)y(-1,B);else throw B}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var cE=[],cF=/\?/,cG=/(=)\?(?=&|$)|\?\?/,cH=p.now();p.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=cE.pop()||p.expando+"_"+cH++;return this[a]=!0,a}}),p.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cG.test(j),m=k&&!l&&typeof i=="string"&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&cG.test(i);if(c.dataTypes[0]==="jsonp"||l||m)return f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cG,"$1"+f):m?c.data=i.replace(cG,"$1"+f):k&&(c.url+=(cF.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||p.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cE.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),"script"}),p.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return p.globalEval(a),a}}}),p.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),p.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=e.head||e.getElementsByTagName("head")[0]||e.documentElement;return{send:function(f,g){c=e.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState))c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,"success")},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var cI,cJ=a.ActiveXObject?function(){for(var a in cI)cI[a](0,1)}:!1,cK=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cL()||cM()}:cL,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cJ&&delete cI[g]);if(e)i.readyState!==4&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=""}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cK,cJ&&(cI||(cI={},p(a).unload(cJ)),cI[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var cN,cO,cP=/^(?:toggle|show|hide)$/,cQ=new RegExp("^(?:([-+])=|)("+q+")([a-z%]*)$","i"),cR=/queueHooks$/,cS=[cY],cT={"*":[function(a,b){var c,d,e,f=this.createTween(a,b),g=cQ.exec(b),h=f.cur(),i=+h||0,j=1;if(g){c=+g[2],d=g[3]||(p.cssNumber[a]?"":"px");if(d!=="px"&&i){i=p.css(f.elem,a,!0)||c||1;do e=j=j||".5",i=i/j,p.style(f.elem,a,i+d),j=f.cur()/h;while(j!==1&&j!==e)}f.unit=d,f.start=i,f.end=g[1]?i+(g[1]+1)*c:c}return f}]};p.Animation=p.extend(cW,{tweener:function(a,b){p.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");var c,d=0,e=a.length;for(;d-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),"using"in b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0])return;var a=this[0],b=this.offsetParent(),c=this.offset(),d=c_.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(p.css(a,"marginTop"))||0,c.left-=parseFloat(p.css(a,"marginLeft"))||0,d.top+=parseFloat(p.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(p.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||e.body;while(a&&!c_.test(a.nodeName)&&p.css(a,"position")==="static")a=a.offsetParent;return a||e.body})}}),p.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);p.fn[a]=function(e){return p.access(this,function(a,e,f){var g=da(a);if(f===b)return g?c in g?g[c]:g.document.documentElement[e]:a[e];g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:"height",Width:"width"},function(a,c){p.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){p.fn[e]=function(e,f){var g=arguments.length&&(d||typeof e!="boolean"),h=d||(e===!0||f===!0?"margin":"border");return p.access(this,function(c,d,e){var f;return p.isWindow(c)?c.document.documentElement["client"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=p,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return p})})(window); \ No newline at end of file diff --git a/源码/src/main/webapp/resource/assets/js/module/build.xml b/源码/src/main/webapp/resource/assets/js/module/build.xml new file mode 100644 index 0000000..d08a55f --- /dev/null +++ b/源码/src/main/webapp/resource/assets/js/module/build.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/源码/src/main/webapp/resource/assets/js/prettify.js b/源码/src/main/webapp/resource/assets/js/prettify.js new file mode 100644 index 0000000..eef5ad7 --- /dev/null +++ b/源码/src/main/webapp/resource/assets/js/prettify.js @@ -0,0 +1,28 @@ +var q=null;window.PR_SHOULD_USE_CONTINUATION=!0; +(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a= +[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;ci[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m), +l=[],p={},d=0,g=e.length;d=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, +q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/, +q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g, +"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a), +a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e} +for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], +"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"], +H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], +J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+ +I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]), +["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css", +/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}), +["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes", +hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p=0){var k=k.match(g),f,b;if(b= +!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p{text}'},btnCls:{sync:!1},text:{sync:!1,value:""}}},{xclass:"bar-item-button",priority:2}),o=i.extend({renderUI:function(){var e=this.get("el");e.attr("role","separator")}},{xclass:"bar-item-separator",priority:2}),u=i.extend({},{ATTRS:{width:{view:!0,value:2}}},{xclass:"bar-item-spacer",priority:2}),a=i.extend({_uiSetText:function(e){var t=this,n=t.get("el");n.html(e)}},{ATTRS:{text:{value:""}}},{xclass:"bar-item-text",priority:2});return i.types={button:s,separator:o,spacer:u,text:a},i}),define("bui/toolbar/bar",function(){var e=BUI.Component,t=e.UIBase,n=e.View.extend({renderUI:function(){var e=this.get("el");e.attr("role","toolbar"),e.attr("id")||e.attr("id",BUI.guid("bar"))}}),r=e.Controller.extend([t.ChildList],{getItem:function(e){return this.getChild(e)}},{ATTRS:{elTagName:{view:!0,value:"ul"},defaultChildClass:{value:"bar-item"},focusable:{value:!1},xview:{value:n}}},{xclass:"bar",priority:1});return r}),define("bui/toolbar/pagingbar",["bui/toolbar/bar"],function(e){var t=e("bui/toolbar/bar"),n=BUI.Component,r=n.UIBase.Bindable,i=BUI.prefix,s="first",o="prev",u="next",a="last",f="skip",l="totalPage",c="curPage",h="totalCount",p=t.extend([r],{initializer:function(){var e=this,t=e.get("children"),n=e.get("items"),r=e.get("store");if(!n||n.length)n=e._getItems(),BUI.each(n,function(e){t.push(e)});r&&r.get("pageSize")&&e.set("pageSize",r.get("pageSize"))},bindUI:function(){var e=this;e._bindButtonEvent()},jumpToPage:function(e){if(e<=0||e>this.get("totalPage"))return;var t=this,n=t.get("store"),r=t.get("pageSize"),i=e-1,s=i*r,o=t.fire("beforepagechange",{from:t.get("curPage"),to:e});n&&o!==!1&&n.load({start:s,limit:r,pageIndex:i})},_afterStoreLoad:function(e,t){var n=this,r=n.get("pageSize"),i=0,s,o,u,a;i=e.get("start"),o=e.getTotalCount(),s=o-i>r?i+e.getCount():o,a=parseInt((o+r-1)/r,10),a=a>0?a:1,u=parseInt(i/r,10)+1,n.set("start",i),n.set("end",s),n.set("totalCount",o),n.set("curPage",u),n.set("totalPage",a),n._setAllButtonsState(),n._setNumberPages()},_bindButtonEvent:function(){function n(){var t=parseInt(e._getCurrentPageValue(),10);e._isPageAllowRedirect(t)?e.jumpToPage(t):e._setCurrentPageValue(e.get("curPage"))}var e=this;e._bindButtonItemEvent(s,function(){e.jumpToPage(1)}),e._bindButtonItemEvent(o,function(){e.jumpToPage(e.get("curPage")-1)}),e._bindButtonItemEvent(u,function(){e.jumpToPage(e.get("curPage")+1)}),e._bindButtonItemEvent(a,function(){e.jumpToPage(e.get("totalPage"))}),e._bindButtonItemEvent(f,function(){n()});var t=e.getItem(c);t&&t.get("el").on("keyup",function(e){e.stopPropagation(),e.keyCode===13&&n()})},_bindButtonItemEvent:function(e,t){var n=this,r=n.getItem(e);r&&r.on("click",t)},onLoad:function(e){var t=this,n=t.get("store");t._afterStoreLoad(n,e)},_getItems:function(){var e=this,t=e.get("items");return t&&t.length?t:(t=[],t.push(e._getButtonItem(s)),t.push(e._getButtonItem(o)),t.push(e._getSeparator()),t.push(e._getTextItem(l)),t.push(e._getTextItem(c)),t.push(e._getButtonItem(f)),t.push(e._getSeparator()),t.push(e._getButtonItem(u)),t.push(e._getButtonItem(a)),t.push(e._getSeparator()),t.push(e._getTextItem(h)),t)},_getButtonItem:function(e){var t=this;return{id:e,xclass:"bar-item-button",text:t.get(e+"Text"),disabled:!0,elCls:t.get(e+"Cls")}},_getSeparator:function(){return{xclass:"bar-item-separator"}},_getTextItem:function(e){var t=this;return{id:e,xclass:"bar-item-text",text:t._getTextItemTpl(e)}},_getTextItemTpl:function(e){var t=this,n={};return n[e]=t.get(e),BUI.substitute(this.get(e+"Tpl"),n)},_isPageAllowRedirect:function(e){var t=this;return e&&e>0&&e<=t.get("totalPage")&&e!==t.get("curPage")},_setAllButtonsState:function(){var e=this,t=e.get("store");t&&e._setButtonsState([o,u,s,a,f],!0),e.get("curPage")===1&&e._setButtonsState([o,s],!1),e.get("curPage")===e.get("totalPage")&&e._setButtonsState([u,a],!1)},_setButtonsState:function(e,t){var n=this,r=n.get("children");BUI.each(r,function(n){BUI.Array.indexOf(n.get("id"),e)!==-1&&n.set("disabled",!t)})},_setNumberPages:function(){var e=this,t=e.getItem(l),n=e.getItem(h);t&&t.set("content",e._getTextItemTpl(l)),e._setCurrentPageValue(e.get(c)),n&&n.set("content",e._getTextItemTpl(h))},_getCurrentPageValue:function(e){var t=this;e=e||t.getItem(c);var n=e.get("el").find("input");return n.val()},_setCurrentPageValue:function(e,t){var n=this;t=t||n.getItem(c);var r=t.get("el").find("input");r.val(e)}},{ATTRS:{firstText:{value:"\u9996 \u9875"},firstCls:{value:i+"pb-first"},prevText:{value:"\u4e0a\u4e00\u9875"},prevCls:{value:i+"pb-prev"},nextText:{value:"\u4e0b\u4e00\u9875"},nextCls:{value:i+"pb-next"},lastText:{value:"\u672b \u9875"},lastCls:{value:i+"pb-last"},skipText:{value:"\u786e\u5b9a"},skipCls:{value:i+"pb-skip"},totalPageTpl:{value:"\u5171 {totalPage} \u9875"},curPageTpl:{value:'\u7b2c \u9875'},totalCountTpl:{value:"\u5171{totalCount}\u6761\u8bb0\u5f55"},curPage:{value:0},totalPage:{value:0},totalCount:{value:0},pageSize:{value:30},store:{}},ID_FIRST:s,ID_PREV:o,ID_NEXT:u,ID_LAST:a,ID_SKIP:f,ID_TOTAL_PAGE:l,ID_CURRENT_PAGE:c,ID_TOTAL_COUNT:h},{xclass:"pagingbar",priority:2});return p}),define("bui/toolbar/numberpagingbar",["bui/toolbar/pagingbar"],function(e){var t=BUI.Component,n=e("bui/toolbar/pagingbar"),r=BUI.prefix,i="numberContainer",s=r+"button-number",o=n.extend({_getItems:function(){var e=this,t=e.get("items");return t?t:(t=[],t.push(e._getButtonItem(n.ID_PREV)),t.push(e._getButtonItem(n.ID_NEXT)),t)},_getButtonItem:function(e){var t=this;return{id:e,content:''+t.get(e+"Text")+"",disabled:!0}},_bindButtonEvent:function(){var e=this,t=e.get("numberButtonCls");e.constructor.superclass._bindButtonEvent.call(this),e.get("el").delegate("a","click",function(e){e.preventDefault()}),e.on("click",function(n){var r=n.target;if(r&&r.get("el").hasClass(t)){var i=r.get("id");e.jumpToPage(i)}})},_setNumberPages:function(){var e=this;e._setNumberButtons()},_setNumberButtons:function(){var e=this,t=e.get("curPage"),n=e.get("totalPage"),r=e._getNumberItems(t,n),i;e._clearNumberButtons(),BUI.each(r,function(t){e._appendNumberButton(t)}),i=e.getItem(t),i&&i.set("selected",!0)},_appendNumberButton:function(e){var t=this,n=t.getItemCount(),r=t.addItemAt(e,n-1)},_clearNumberButtons:function(){var e=this,t=e.getItems(),n=e.getItemCount();while(n>2)e.removeItemAt(n-2),n=e.getItemCount()},_getNumberItems:function(e,t){function u(e,t){for(var i=e;i<=t;i++)r.push(n._getNumberItem(i))}function a(){r.push(n._getEllipsisItem())}var n=this,r=[],i=n.get("maxLimitCount"),s=n.get("showRangeCount"),o;if(ti?l:i:t;f>1&&(u(1,1),f>2&&a()),o=c,u(f,c)}return o{id}'},prevText:{value:"<<"},nextText:{value:">>"},maxLimitCount:{value:4},showRangeCount:{value:1},numberButtonCls:{value:s},ellipsisTpl:{value:'...'}}},{xclass:"pagingbar-number",priority:3});return o}); diff --git a/源码/src/main/webapp/resource/assets/js/tree-min.js b/源码/src/main/webapp/resource/assets/js/tree-min.js new file mode 100644 index 0000000..24193ff --- /dev/null +++ b/源码/src/main/webapp/resource/assets/js/tree-min.js @@ -0,0 +1,4 @@ +/** + * @fileOverview \u9009\u62e9\u6846\u547d\u540d\u7a7a\u95f4\u5165\u53e3\u6587\u4ef6 + * @ignore + */define("bui/tree",["bui/common","bui/tree/treemixin","bui/tree/treelist"],function(e){var t=e("bui/common"),n=t.namespace("Tree");return t.mix(n,{TreeList:e("bui/tree/treelist"),Mixin:e("bui/tree/treemixin")}),n}),define("bui/tree/treemixin",["bui/common","bui/data"],function(e){function t(e,t){return n.isString(t)&&(t=e.getItem(t)),t}var n=e("bui/common"),r=e("bui/data"),i="expanded",s="loading",o="checked",u="partial-checked",a={NONE:"none",ALL:"all",CUSTOM:"custom",ONLY_LEAF:"onlyLeaf"},f="x-tree-icon",l="x-tree-elbow",c="x-tree-show-line",h=l+"-",p=f+"-wraper",d=h+"line",v=h+"end",m=h+"empty",g=h+"expander",y=f+"-checkbox",b=g+"-end",w=function(){};return w.ATTRS={store:{getter:function(e){if(!e){var t=this,n=new r.TreeStore({root:t.get("root"),data:t.get("nodes")});return t.setInternal("store",n),n}return e}},root:{},nodes:{sync:!1},iconContainer:{},iconWraperTpl:{value:'{icons}'},showLine:{value:!1},iconTpl:{value:''},leafCls:{value:h+"leaf"},dirCls:{value:h+"dir"},checkType:{value:"custom"},checkedField:{valueFn:function(){return this.getStatusField("checked")}},itemStatusFields:{value:{expanded:"expanded",disabled:"disabled",checked:"checked"}},dirSelectable:{value:!0},showRoot:{value:!1},events:{value:{expanded:!1,collapsed:!1,checkchange:!1}},startLevel:{value:1}},n.augment(w,{collapseAll:function(){var e=this,t=e.get("view").getAllElements();n.each(t,function(t){var n=e.getItemByElement(t);n&&e._collapseNode(n,t,!0)})},collapseNode:function(e){var t=this,r;n.isString(e)&&(e=t.findNode(e)),r=t.findElement(e),t._collapseNode(e,r)},expandAll:function(){var e=this,t=e.get("view").getAllElements();n.each(t,function(t){var n=e.getItemByElement(t);e._expandNode(n,t,!0)})},expandNode:function(e,t){var r=this,i;n.isString(e)&&(e=r.findNode(e)),e.parent&&!r.isExpanded(e.parent)&&r.expandNode(e.parent),i=r.findElement(e),r._expandNode(e,i,t)},expandPath:function(e,t,n){if(!e)return;n=n||0;var r=this,i=r.get("store"),s,o,u,a,f=e.split(",");s=r.findNode(f[n]);for(u=n+1;u0&&(s=r.children[t-1],n._updateIcons(s))),n._updateIcons(r)):(u=n._getInsetIndex(e),n.addItemAt(e,u),s=n.get("nodes")[t-1],n._updateIcons(s))},_getInsetIndex:function(e){var t=this,n,r=null;return n=t._getNextItem(e),n?t.indexOfItem(n):t.getItemCount()},_getNextItem:function(e){var t=this,r=e.parent,i,s,o=null;return r?(i=r.children,s=n.Array.indexOf(e,i),o=i[s+1],o||t._getNextItem(r)):null},onAdd:function(e){var t=this,n=e.node,r=e.index;t._addNode(n,r)},_updateNode:function(e){var t=this;t.updateItem(e),t._updateIcons(e)},onUpdate:function(e){var t=this,n=e.node;t._updateNode(n)},_removeNode:function(e,t){var n=this,r=e.parent,i,s;n.collapseNode(e);if(!r)return;n.removeItem(e),n.isExpanded(r)&&(i=r.children.length,i==t&&t!==0&&(s=r.children[t-1],n._updateIcons(s))),n._updateIcons(r),n._resetParentChecked(r)},onRemove:function(e){var t=this,n=e.node,r=e.index;t._removeNode(n,r)},_loadNode:function(e){var t=this;t.expandNode(e),t._updateIcons(e),t.setItemStatus(e,s,!1)},onLoad:function(e){var t=this,n=t.get("store"),r=n.get("root"),i;(!e||e.node==r)&&t._initRoot(),e&&e.node&&t._loadNode(e.node)},_isExpanded:function(e,t){return this.hasStatus(e,i,t)},_getIconsTpl:function(e){var t=this,r=e.level,i=t.get("startLevel"),s=t.get("iconWraperTpl"),o=[],u;for(u=i;ut)r=r.parent,i-=1;return r},_getIcon:function(e){var t=this,r=t.get("iconTpl");return n.substitute(r,{cls:e})},_isLastNode:function(e){if(!e)return!1;if(e==this.get("root"))return!0;var t=this,n=e.parent,r=n?n.children:t.get("nodes"),i;return i=r.length,r[i-1]===e},_initNodes:function(e,t,r){var i=this;n.each(e,function(e){e.level=t,e.leaf==null&&(e.leaf=e.children?!1:!0),r&&!e.parent&&(e.parent=r),i._initChecked(e),e.children&&i._initNodes(e.children,t+1,e)})},_collapseNode:function(e,t,n){var r=this;if(e.leaf)return;r.hasStatus(e,i,t)&&(r.setItemStatus(e,i,!1,t),n?(r._collapseChildren(e,n),r.removeItems(e.children)):r._hideChildrenNodes(e),r.fire("collapsed",{node:e,element:t}))},_hideChildrenNodes:function(e){var t=this,r=e.children;n.each(r,function(e){t.removeItem(e),t._hideChildrenNodes(e)})},_collapseChildren:function(e,t){var r=this,i=e.children;n.each(i,function(e){r.collapseNode(e,t)})},_expandNode:function(e,t,r){var s=this,o=s.get("store");if(e.leaf)return;s.hasStatus(e,i,t)||(o&&!o.isLoaded(e)?s._isLoading(e,t)||o.loadNode(e):t&&(s.setItemStatus(e,i,!0,t),s._showChildren(e),s.fire("expanded",{node:e,element:t}))),n.each(e.children,function(e){(r||s.isExpanded(e))&&s.expandNode(e,r)})},_showChildren:function(e){if(!e||!e.children)return;var t=this,n=t.indexOfItem(e),r=e.children.length,i,s;for(s=r-1;s>=0;s--)i=e.children[s],t.getItem(i)||t.addItemAt(i,n+1)},_isLoading:function(e,t){var n=this;return n.hasStatus(e,s,t)},_resetIcons:function(e,t){var n=this,r=n.get("iconContainer"),i,s=n._getIconsTpl(e);$(t).find("."+p).remove(),i=$(t).find("."+r),r&&i.length?$(s).appendTo(i):$(t).prepend($(s))},_toggleExpand:function(e,t){var n=this;n._isExpanded(e,t)?n._collapseNode(e,t):n._expandNode(e,t)},_updateIcons:function(e){var t=this,r=t.findElement(e);r&&(t._resetIcons(e,r),t._isExpanded(e,r)&&!e.leaf&&n.each(e.children,function(e){t._updateIcons(e)}))},_uiSetShowRoot:function(e){var t=this,n=this.get("showRoot")?0:1;t.set("startLevel",n)},_uiSetNodes:function(e){var t=this,n=t.get("store");n.setResult(e)},_uiSetShowLine:function(e){var t=this,n=t.get("el");e?n.addClass(c):n.removeClass(c)}}),w}),define("bui/tree/treelist",["bui/common","bui/list","bui/tree/treemixin"],function(e){var t=e("bui/common"),n=e("bui/list"),r=e("bui/tree/treemixin"),i=n.SimpleList.extend([r],{},{ATTRS:{itemCls:{value:t.prefix+"tree-item"},itemTpl:{value:"
                • {text}
                • "},idField:{value:"id"}}},{xclass:"tree-list"});return i}); diff --git a/源码/src/main/webapp/resource/boot/css/bootstrap-theme.css b/源码/src/main/webapp/resource/boot/css/bootstrap-theme.css new file mode 100644 index 0000000..b82bd72 --- /dev/null +++ b/源码/src/main/webapp/resource/boot/css/bootstrap-theme.css @@ -0,0 +1,457 @@ +/*! + * Bootstrap v3.3.0 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +.btn-default, +.btn-primary, +.btn-success, +.btn-info, +.btn-warning, +.btn-danger { + text-shadow: 0 -1px 0 rgba(0, 0, 0, .2); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); +} +.btn-default:active, +.btn-primary:active, +.btn-success:active, +.btn-info:active, +.btn-warning:active, +.btn-danger:active, +.btn-default.active, +.btn-primary.active, +.btn-success.active, +.btn-info.active, +.btn-warning.active, +.btn-danger.active { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); +} +.btn-default .badge, +.btn-primary .badge, +.btn-success .badge, +.btn-info .badge, +.btn-warning .badge, +.btn-danger .badge { + text-shadow: none; +} +.btn:active, +.btn.active { + background-image: none; +} +.btn-default { + text-shadow: 0 1px 0 #fff; + background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%); + background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0)); + background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #dbdbdb; + border-color: #ccc; +} +.btn-default:hover, +.btn-default:focus { + background-color: #e0e0e0; + background-position: 0 -15px; +} +.btn-default:active, +.btn-default.active { + background-color: #e0e0e0; + border-color: #dbdbdb; +} +.btn-default:disabled, +.btn-default[disabled] { + background-color: #e0e0e0; + background-image: none; +} +.btn-primary { + background-image: -webkit-linear-gradient(top, #428bca 0%, #2d6ca2 100%); + background-image: -o-linear-gradient(top, #428bca 0%, #2d6ca2 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#2d6ca2)); + background-image: linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #2b669a; +} +.btn-primary:hover, +.btn-primary:focus { + background-color: #2d6ca2; + background-position: 0 -15px; +} +.btn-primary:active, +.btn-primary.active { + background-color: #2d6ca2; + border-color: #2b669a; +} +.btn-primary:disabled, +.btn-primary[disabled] { + background-color: #2d6ca2; + background-image: none; +} +.btn-success { + background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%); + background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641)); + background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #3e8f3e; +} +.btn-success:hover, +.btn-success:focus { + background-color: #419641; + background-position: 0 -15px; +} +.btn-success:active, +.btn-success.active { + background-color: #419641; + border-color: #3e8f3e; +} +.btn-success:disabled, +.btn-success[disabled] { + background-color: #419641; + background-image: none; +} +.btn-info { + background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); + background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2)); + background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #28a4c9; +} +.btn-info:hover, +.btn-info:focus { + background-color: #2aabd2; + background-position: 0 -15px; +} +.btn-info:active, +.btn-info.active { + background-color: #2aabd2; + border-color: #28a4c9; +} +.btn-info:disabled, +.btn-info[disabled] { + background-color: #2aabd2; + background-image: none; +} +.btn-warning { + background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); + background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316)); + background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #e38d13; +} +.btn-warning:hover, +.btn-warning:focus { + background-color: #eb9316; + background-position: 0 -15px; +} +.btn-warning:active, +.btn-warning.active { + background-color: #eb9316; + border-color: #e38d13; +} +.btn-warning:disabled, +.btn-warning[disabled] { + background-color: #eb9316; + background-image: none; +} +.btn-danger { + background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%); + background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a)); + background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #b92c28; +} +.btn-danger:hover, +.btn-danger:focus { + background-color: #c12e2a; + background-position: 0 -15px; +} +.btn-danger:active, +.btn-danger.active { + background-color: #c12e2a; + border-color: #b92c28; +} +.btn-danger:disabled, +.btn-danger[disabled] { + background-color: #c12e2a; + background-image: none; +} +.thumbnail, +.img-thumbnail { + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); + box-shadow: 0 1px 2px rgba(0, 0, 0, .075); +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + background-color: #e8e8e8; + background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); + background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); + background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); + background-repeat: repeat-x; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + background-color: #357ebd; + background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%); + background-image: -o-linear-gradient(top, #428bca 0%, #357ebd 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#357ebd)); + background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0); + background-repeat: repeat-x; +} +.navbar-default { + background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%); + background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8)); + background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .active > a { + background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); + background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2)); + background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0); + background-repeat: repeat-x; + -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); + box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); +} +.navbar-brand, +.navbar-nav > li > a { + text-shadow: 0 1px 0 rgba(255, 255, 255, .25); +} +.navbar-inverse { + background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%); + background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222)); + background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .active > a { + background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%); + background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f)); + background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0); + background-repeat: repeat-x; + -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); + box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); +} +.navbar-inverse .navbar-brand, +.navbar-inverse .navbar-nav > li > a { + text-shadow: 0 -1px 0 rgba(0, 0, 0, .25); +} +.navbar-static-top, +.navbar-fixed-top, +.navbar-fixed-bottom { + border-radius: 0; +} +.alert { + text-shadow: 0 1px 0 rgba(255, 255, 255, .2); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); +} +.alert-success { + background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); + background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc)); + background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0); + background-repeat: repeat-x; + border-color: #b2dba1; +} +.alert-info { + background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%); + background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0)); + background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0); + background-repeat: repeat-x; + border-color: #9acfea; +} +.alert-warning { + background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); + background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0)); + background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0); + background-repeat: repeat-x; + border-color: #f5e79e; +} +.alert-danger { + background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); + background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3)); + background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0); + background-repeat: repeat-x; + border-color: #dca7a7; +} +.progress { + background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); + background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5)); + background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar { + background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%); + background-image: -o-linear-gradient(top, #428bca 0%, #3071a9 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#3071a9)); + background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-success { + background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%); + background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44)); + background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-info { + background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); + background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5)); + background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-warning { + background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); + background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f)); + background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-danger { + background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%); + background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c)); + background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.list-group { + border-radius: 4px; + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); + box-shadow: 0 1px 2px rgba(0, 0, 0, .075); +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + text-shadow: 0 -1px 0 #3071a9; + background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%); + background-image: -o-linear-gradient(top, #428bca 0%, #3278b3 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#3278b3)); + background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0); + background-repeat: repeat-x; + border-color: #3278b3; +} +.list-group-item.active .badge, +.list-group-item.active:hover .badge, +.list-group-item.active:focus .badge { + text-shadow: none; +} +.panel { + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05); + box-shadow: 0 1px 2px rgba(0, 0, 0, .05); +} +.panel-default > .panel-heading { + background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); + background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); + background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); + background-repeat: repeat-x; +} +.panel-primary > .panel-heading { + background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%); + background-image: -o-linear-gradient(top, #428bca 0%, #357ebd 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#357ebd)); + background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0); + background-repeat: repeat-x; +} +.panel-success > .panel-heading { + background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); + background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6)); + background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0); + background-repeat: repeat-x; +} +.panel-info > .panel-heading { + background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); + background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3)); + background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0); + background-repeat: repeat-x; +} +.panel-warning > .panel-heading { + background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); + background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc)); + background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0); + background-repeat: repeat-x; +} +.panel-danger > .panel-heading { + background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%); + background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc)); + background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0); + background-repeat: repeat-x; +} +.well { + background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); + background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5)); + background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0); + background-repeat: repeat-x; + border-color: #dcdcdc; + -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); + box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); +} +/*# sourceMappingURL=bootstrap-theme.css.map */ diff --git a/源码/src/main/webapp/resource/boot/css/bootstrap-theme.css.map b/源码/src/main/webapp/resource/boot/css/bootstrap-theme.css.map new file mode 100644 index 0000000..1ea032a --- /dev/null +++ b/源码/src/main/webapp/resource/boot/css/bootstrap-theme.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["less/theme.less","less/mixins/vendor-prefixes.less","bootstrap-theme.css","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"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","file":"bootstrap-theme.css","sourcesContent":["\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0,0,0,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n // Reset the shadow\n &:active,\n &.active {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n .badge {\n text-shadow: none;\n }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners\n background-repeat: repeat-x;\n border-color: darken(@btn-color, 14%);\n\n &:hover,\n &:focus {\n background-color: darken(@btn-color, 12%);\n background-position: 0 -15px;\n }\n\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n border-color: darken(@btn-color, 14%);\n }\n\n &:disabled,\n &[disabled] {\n background-color: darken(@btn-color, 12%);\n background-image: none;\n }\n}\n\n// Common styles\n.btn {\n // Remove the gradient for the pressed/active state\n &:active,\n &.active {\n background-image: none;\n }\n}\n\n// Apply the mixin to the buttons\n.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger { .btn-styles(@btn-danger-bg); }\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n border-radius: @navbar-border-radius;\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));\n }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255,255,255,.25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));\n }\n\n .navbar-brand,\n .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0,0,0,.25);\n }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n text-shadow: 0 1px 0 rgba(255,255,255,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);\n .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success { .alert-styles(@alert-success-bg); }\n.alert-info { .alert-styles(@alert-info-bg); }\n.alert-warning { .alert-styles(@alert-warning-bg); }\n.alert-danger { .alert-styles(@alert-danger-bg); }\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n border-radius: @border-radius-base;\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n border-color: darken(@list-group-active-border, 7.5%);\n\n .badge {\n text-shadow: none;\n }\n}\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n .box-shadow(0 1px 2px rgba(0,0,0,.05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n border-color: darken(@well-bg, 10%);\n @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They will be removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility){\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // See https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n",".btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-default .badge,\n.btn-primary .badge,\n.btn-success .badge,\n.btn-info .badge,\n.btn-warning .badge,\n.btn-danger .badge {\n text-shadow: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n}\n.btn-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);\n background-image: linear-gradient(to bottom, #ffffff 0%, #e0e0e0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #dbdbdb;\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n background-color: #e0e0e0;\n background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n background-color: #e0e0e0;\n border-color: #dbdbdb;\n}\n.btn-default:disabled,\n.btn-default[disabled] {\n background-color: #e0e0e0;\n background-image: none;\n}\n.btn-primary {\n background-image: -webkit-linear-gradient(top, #428bca 0%, #2d6ca2 100%);\n background-image: -o-linear-gradient(top, #428bca 0%, #2d6ca2 100%);\n background-image: linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #2b669a;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n background-color: #2d6ca2;\n background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n background-color: #2d6ca2;\n border-color: #2b669a;\n}\n.btn-primary:disabled,\n.btn-primary[disabled] {\n background-color: #2d6ca2;\n background-image: none;\n}\n.btn-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #3e8f3e;\n}\n.btn-success:hover,\n.btn-success:focus {\n background-color: #419641;\n background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n background-color: #419641;\n border-color: #3e8f3e;\n}\n.btn-success:disabled,\n.btn-success[disabled] {\n background-color: #419641;\n background-image: none;\n}\n.btn-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #28a4c9;\n}\n.btn-info:hover,\n.btn-info:focus {\n background-color: #2aabd2;\n background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n background-color: #2aabd2;\n border-color: #28a4c9;\n}\n.btn-info:disabled,\n.btn-info[disabled] {\n background-color: #2aabd2;\n background-image: none;\n}\n.btn-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #e38d13;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n background-color: #eb9316;\n background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n background-color: #eb9316;\n border-color: #e38d13;\n}\n.btn-warning:disabled,\n.btn-warning[disabled] {\n background-color: #eb9316;\n background-image: none;\n}\n.btn-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #b92c28;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n background-color: #c12e2a;\n background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n background-color: #c12e2a;\n border-color: #b92c28;\n}\n.btn-danger:disabled,\n.btn-danger[disabled] {\n background-color: #c12e2a;\n background-image: none;\n}\n.thumbnail,\n.img-thumbnail {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-color: #e8e8e8;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);\n background-image: -o-linear-gradient(top, #428bca 0%, #357ebd 100%);\n background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);\n background-color: #357ebd;\n}\n.navbar-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);\n}\n.navbar-inverse {\n background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222222 100%);\n background-image: -o-linear-gradient(top, #3c3c3c 0%, #222222 100%);\n background-image: linear-gradient(to bottom, #3c3c3c 0%, #222222 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.alert-success {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n border-color: #b2dba1;\n}\n.alert-info {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n border-color: #9acfea;\n}\n.alert-warning {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n border-color: #f5e79e;\n}\n.alert-danger {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n border-color: #dca7a7;\n}\n.progress {\n background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n}\n.progress-bar {\n background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%);\n background-image: -o-linear-gradient(top, #428bca 0%, #3071a9 100%);\n background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);\n}\n.progress-bar-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n}\n.progress-bar-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n}\n.progress-bar-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n}\n.progress-bar-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n}\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.list-group {\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 #3071a9;\n background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%);\n background-image: -o-linear-gradient(top, #428bca 0%, #3278b3 100%);\n background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);\n border-color: #3278b3;\n}\n.list-group-item.active .badge,\n.list-group-item.active:hover .badge,\n.list-group-item.active:focus .badge {\n text-shadow: none;\n}\n.panel {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.panel-default > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n}\n.panel-primary > .panel-heading {\n background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);\n background-image: -o-linear-gradient(top, #428bca 0%, #357ebd 100%);\n background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);\n}\n.panel-success > .panel-heading {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n}\n.panel-info > .panel-heading {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n}\n.panel-warning > .panel-heading {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n}\n.panel-danger > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n}\n.well {\n background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n border-color: #dcdcdc;\n -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */","// Gradients\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]} \ No newline at end of file diff --git a/源码/src/main/webapp/resource/boot/css/bootstrap-theme.min.css b/源码/src/main/webapp/resource/boot/css/bootstrap-theme.min.css new file mode 100644 index 0000000..3bbb050 --- /dev/null +++ b/源码/src/main/webapp/resource/boot/css/bootstrap-theme.min.css @@ -0,0 +1,5 @@ +/*! + * Bootstrap v3.3.0 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */.btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-default:active,.btn-primary:active,.btn-success:active,.btn-info:active,.btn-warning:active,.btn-danger:active,.btn-default.active,.btn-primary.active,.btn-success.active,.btn-info.active,.btn-warning.active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-default .badge,.btn-primary .badge,.btn-success .badge,.btn-info .badge,.btn-warning .badge,.btn-danger .badge{text-shadow:none}.btn:active,.btn.active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:hover,.btn-default:focus{background-color:#e0e0e0;background-position:0 -15px}.btn-default:active,.btn-default.active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default:disabled,.btn-default[disabled]{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#428bca 0,#2d6ca2 100%);background-image:-o-linear-gradient(top,#428bca 0,#2d6ca2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#2d6ca2));background-image:linear-gradient(to bottom,#428bca 0,#2d6ca2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#2b669a}.btn-primary:hover,.btn-primary:focus{background-color:#2d6ca2;background-position:0 -15px}.btn-primary:active,.btn-primary.active{background-color:#2d6ca2;border-color:#2b669a}.btn-primary:disabled,.btn-primary[disabled]{background-color:#2d6ca2;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:hover,.btn-success:focus{background-color:#419641;background-position:0 -15px}.btn-success:active,.btn-success.active{background-color:#419641;border-color:#3e8f3e}.btn-success:disabled,.btn-success[disabled]{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:hover,.btn-info:focus{background-color:#2aabd2;background-position:0 -15px}.btn-info:active,.btn-info.active{background-color:#2aabd2;border-color:#28a4c9}.btn-info:disabled,.btn-info[disabled]{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:hover,.btn-warning:focus{background-color:#eb9316;background-position:0 -15px}.btn-warning:active,.btn-warning.active{background-color:#eb9316;border-color:#e38d13}.btn-warning:disabled,.btn-warning[disabled]{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:hover,.btn-danger:focus{background-color:#c12e2a;background-position:0 -15px}.btn-danger:active,.btn-danger.active{background-color:#c12e2a;border-color:#b92c28}.btn-danger:disabled,.btn-danger[disabled]{background-color:#c12e2a;background-image:none}.thumbnail,.img-thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-o-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#357ebd));background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:-o-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#3071a9));background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:-o-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#3278b3));background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);background-repeat:repeat-x;border-color:#3278b3}.list-group-item.active .badge,.list-group-item.active:hover .badge,.list-group-item.active:focus .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-o-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#357ebd));background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)} \ No newline at end of file diff --git a/源码/src/main/webapp/resource/boot/css/bootstrap.css b/源码/src/main/webapp/resource/boot/css/bootstrap.css new file mode 100644 index 0000000..4165d41 --- /dev/null +++ b/源码/src/main/webapp/resource/boot/css/bootstrap.css @@ -0,0 +1,6358 @@ +/*! + * Bootstrap v3.3.0 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ +html { + font-family: sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} +body { + margin: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background-color: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + margin: .67em 0; + font-size: 2em; +} +mark { + color: #000; + background: #ff0; +} +small { + font-size: 80%; +} +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} +sup { + top: -.5em; +} +sub { + bottom: -.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + height: 0; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + margin: 0; + font: inherit; + color: inherit; +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + padding: .35em .625em .75em; + margin: 0 2px; + border: 1px solid #c0c0c0; +} +legend { + padding: 0; + border: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-spacing: 0; + border-collapse: collapse; +} +td, +th { + padding: 0; +} +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + *, + *:before, + *:after { + color: #000 !important; + text-shadow: none !important; + background: transparent !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + select { + background: #fff !important; + } + .navbar { + display: none; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +@font-face { + font-family: 'Glyphicons Halflings'; + + src: url('../fonts/glyphicons-halflings-regular.eot'); + src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); +} +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.glyphicon-asterisk:before { + content: "\2a"; +} +.glyphicon-plus:before { + content: "\2b"; +} +.glyphicon-euro:before, +.glyphicon-eur:before { + content: "\20ac"; +} +.glyphicon-minus:before { + content: "\2212"; +} +.glyphicon-cloud:before { + content: "\2601"; +} +.glyphicon-envelope:before { + content: "\2709"; +} +.glyphicon-pencil:before { + content: "\270f"; +} +.glyphicon-glass:before { + content: "\e001"; +} +.glyphicon-music:before { + content: "\e002"; +} +.glyphicon-search:before { + content: "\e003"; +} +.glyphicon-heart:before { + content: "\e005"; +} +.glyphicon-star:before { + content: "\e006"; +} +.glyphicon-star-empty:before { + content: "\e007"; +} +.glyphicon-user:before { + content: "\e008"; +} +.glyphicon-film:before { + content: "\e009"; +} +.glyphicon-th-large:before { + content: "\e010"; +} +.glyphicon-th:before { + content: "\e011"; +} +.glyphicon-th-list:before { + content: "\e012"; +} +.glyphicon-ok:before { + content: "\e013"; +} +.glyphicon-remove:before { + content: "\e014"; +} +.glyphicon-zoom-in:before { + content: "\e015"; +} +.glyphicon-zoom-out:before { + content: "\e016"; +} +.glyphicon-off:before { + content: "\e017"; +} +.glyphicon-signal:before { + content: "\e018"; +} +.glyphicon-cog:before { + content: "\e019"; +} +.glyphicon-trash:before { + content: "\e020"; +} +.glyphicon-home:before { + content: "\e021"; +} +.glyphicon-file:before { + content: "\e022"; +} +.glyphicon-time:before { + content: "\e023"; +} +.glyphicon-road:before { + content: "\e024"; +} +.glyphicon-download-alt:before { + content: "\e025"; +} +.glyphicon-download:before { + content: "\e026"; +} +.glyphicon-upload:before { + content: "\e027"; +} +.glyphicon-inbox:before { + content: "\e028"; +} +.glyphicon-play-circle:before { + content: "\e029"; +} +.glyphicon-repeat:before { + content: "\e030"; +} +.glyphicon-refresh:before { + content: "\e031"; +} +.glyphicon-list-alt:before { + content: "\e032"; +} +.glyphicon-lock:before { + content: "\e033"; +} +.glyphicon-flag:before { + content: "\e034"; +} +.glyphicon-headphones:before { + content: "\e035"; +} +.glyphicon-volume-off:before { + content: "\e036"; +} +.glyphicon-volume-down:before { + content: "\e037"; +} +.glyphicon-volume-up:before { + content: "\e038"; +} +.glyphicon-qrcode:before { + content: "\e039"; +} +.glyphicon-barcode:before { + content: "\e040"; +} +.glyphicon-tag:before { + content: "\e041"; +} +.glyphicon-tags:before { + content: "\e042"; +} +.glyphicon-book:before { + content: "\e043"; +} +.glyphicon-bookmark:before { + content: "\e044"; +} +.glyphicon-print:before { + content: "\e045"; +} +.glyphicon-camera:before { + content: "\e046"; +} +.glyphicon-font:before { + content: "\e047"; +} +.glyphicon-bold:before { + content: "\e048"; +} +.glyphicon-italic:before { + content: "\e049"; +} +.glyphicon-text-height:before { + content: "\e050"; +} +.glyphicon-text-width:before { + content: "\e051"; +} +.glyphicon-align-left:before { + content: "\e052"; +} +.glyphicon-align-center:before { + content: "\e053"; +} +.glyphicon-align-right:before { + content: "\e054"; +} +.glyphicon-align-justify:before { + content: "\e055"; +} +.glyphicon-list:before { + content: "\e056"; +} +.glyphicon-indent-left:before { + content: "\e057"; +} +.glyphicon-indent-right:before { + content: "\e058"; +} +.glyphicon-facetime-video:before { + content: "\e059"; +} +.glyphicon-picture:before { + content: "\e060"; +} +.glyphicon-map-marker:before { + content: "\e062"; +} +.glyphicon-adjust:before { + content: "\e063"; +} +.glyphicon-tint:before { + content: "\e064"; +} +.glyphicon-edit:before { + content: "\e065"; +} +.glyphicon-share:before { + content: "\e066"; +} +.glyphicon-check:before { + content: "\e067"; +} +.glyphicon-move:before { + content: "\e068"; +} +.glyphicon-step-backward:before { + content: "\e069"; +} +.glyphicon-fast-backward:before { + content: "\e070"; +} +.glyphicon-backward:before { + content: "\e071"; +} +.glyphicon-play:before { + content: "\e072"; +} +.glyphicon-pause:before { + content: "\e073"; +} +.glyphicon-stop:before { + content: "\e074"; +} +.glyphicon-forward:before { + content: "\e075"; +} +.glyphicon-fast-forward:before { + content: "\e076"; +} +.glyphicon-step-forward:before { + content: "\e077"; +} +.glyphicon-eject:before { + content: "\e078"; +} +.glyphicon-chevron-left:before { + content: "\e079"; +} +.glyphicon-chevron-right:before { + content: "\e080"; +} +.glyphicon-plus-sign:before { + content: "\e081"; +} +.glyphicon-minus-sign:before { + content: "\e082"; +} +.glyphicon-remove-sign:before { + content: "\e083"; +} +.glyphicon-ok-sign:before { + content: "\e084"; +} +.glyphicon-question-sign:before { + content: "\e085"; +} +.glyphicon-info-sign:before { + content: "\e086"; +} +.glyphicon-screenshot:before { + content: "\e087"; +} +.glyphicon-remove-circle:before { + content: "\e088"; +} +.glyphicon-ok-circle:before { + content: "\e089"; +} +.glyphicon-ban-circle:before { + content: "\e090"; +} +.glyphicon-arrow-left:before { + content: "\e091"; +} +.glyphicon-arrow-right:before { + content: "\e092"; +} +.glyphicon-arrow-up:before { + content: "\e093"; +} +.glyphicon-arrow-down:before { + content: "\e094"; +} +.glyphicon-share-alt:before { + content: "\e095"; +} +.glyphicon-resize-full:before { + content: "\e096"; +} +.glyphicon-resize-small:before { + content: "\e097"; +} +.glyphicon-exclamation-sign:before { + content: "\e101"; +} +.glyphicon-gift:before { + content: "\e102"; +} +.glyphicon-leaf:before { + content: "\e103"; +} +.glyphicon-fire:before { + content: "\e104"; +} +.glyphicon-eye-open:before { + content: "\e105"; +} +.glyphicon-eye-close:before { + content: "\e106"; +} +.glyphicon-warning-sign:before { + content: "\e107"; +} +.glyphicon-plane:before { + content: "\e108"; +} +.glyphicon-calendar:before { + content: "\e109"; +} +.glyphicon-random:before { + content: "\e110"; +} +.glyphicon-comment:before { + content: "\e111"; +} +.glyphicon-magnet:before { + content: "\e112"; +} +.glyphicon-chevron-up:before { + content: "\e113"; +} +.glyphicon-chevron-down:before { + content: "\e114"; +} +.glyphicon-retweet:before { + content: "\e115"; +} +.glyphicon-shopping-cart:before { + content: "\e116"; +} +.glyphicon-folder-close:before { + content: "\e117"; +} +.glyphicon-folder-open:before { + content: "\e118"; +} +.glyphicon-resize-vertical:before { + content: "\e119"; +} +.glyphicon-resize-horizontal:before { + content: "\e120"; +} +.glyphicon-hdd:before { + content: "\e121"; +} +.glyphicon-bullhorn:before { + content: "\e122"; +} +.glyphicon-bell:before { + content: "\e123"; +} +.glyphicon-certificate:before { + content: "\e124"; +} +.glyphicon-thumbs-up:before { + content: "\e125"; +} +.glyphicon-thumbs-down:before { + content: "\e126"; +} +.glyphicon-hand-right:before { + content: "\e127"; +} +.glyphicon-hand-left:before { + content: "\e128"; +} +.glyphicon-hand-up:before { + content: "\e129"; +} +.glyphicon-hand-down:before { + content: "\e130"; +} +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} +.glyphicon-globe:before { + content: "\e135"; +} +.glyphicon-wrench:before { + content: "\e136"; +} +.glyphicon-tasks:before { + content: "\e137"; +} +.glyphicon-filter:before { + content: "\e138"; +} +.glyphicon-briefcase:before { + content: "\e139"; +} +.glyphicon-fullscreen:before { + content: "\e140"; +} +.glyphicon-dashboard:before { + content: "\e141"; +} +.glyphicon-paperclip:before { + content: "\e142"; +} +.glyphicon-heart-empty:before { + content: "\e143"; +} +.glyphicon-link:before { + content: "\e144"; +} +.glyphicon-phone:before { + content: "\e145"; +} +.glyphicon-pushpin:before { + content: "\e146"; +} +.glyphicon-usd:before { + content: "\e148"; +} +.glyphicon-gbp:before { + content: "\e149"; +} +.glyphicon-sort:before { + content: "\e150"; +} +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} +.glyphicon-sort-by-order:before { + content: "\e153"; +} +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} +.glyphicon-unchecked:before { + content: "\e157"; +} +.glyphicon-expand:before { + content: "\e158"; +} +.glyphicon-collapse-down:before { + content: "\e159"; +} +.glyphicon-collapse-up:before { + content: "\e160"; +} +.glyphicon-log-in:before { + content: "\e161"; +} +.glyphicon-flash:before { + content: "\e162"; +} +.glyphicon-log-out:before { + content: "\e163"; +} +.glyphicon-new-window:before { + content: "\e164"; +} +.glyphicon-record:before { + content: "\e165"; +} +.glyphicon-save:before { + content: "\e166"; +} +.glyphicon-open:before { + content: "\e167"; +} +.glyphicon-saved:before { + content: "\e168"; +} +.glyphicon-import:before { + content: "\e169"; +} +.glyphicon-export:before { + content: "\e170"; +} +.glyphicon-send:before { + content: "\e171"; +} +.glyphicon-floppy-disk:before { + content: "\e172"; +} +.glyphicon-floppy-saved:before { + content: "\e173"; +} +.glyphicon-floppy-remove:before { + content: "\e174"; +} +.glyphicon-floppy-save:before { + content: "\e175"; +} +.glyphicon-floppy-open:before { + content: "\e176"; +} +.glyphicon-credit-card:before { + content: "\e177"; +} +.glyphicon-transfer:before { + content: "\e178"; +} +.glyphicon-cutlery:before { + content: "\e179"; +} +.glyphicon-header:before { + content: "\e180"; +} +.glyphicon-compressed:before { + content: "\e181"; +} +.glyphicon-earphone:before { + content: "\e182"; +} +.glyphicon-phone-alt:before { + content: "\e183"; +} +.glyphicon-tower:before { + content: "\e184"; +} +.glyphicon-stats:before { + content: "\e185"; +} +.glyphicon-sd-video:before { + content: "\e186"; +} +.glyphicon-hd-video:before { + content: "\e187"; +} +.glyphicon-subtitles:before { + content: "\e188"; +} +.glyphicon-sound-stereo:before { + content: "\e189"; +} +.glyphicon-sound-dolby:before { + content: "\e190"; +} +.glyphicon-sound-5-1:before { + content: "\e191"; +} +.glyphicon-sound-6-1:before { + content: "\e192"; +} +.glyphicon-sound-7-1:before { + content: "\e193"; +} +.glyphicon-copyright-mark:before { + content: "\e194"; +} +.glyphicon-registration-mark:before { + content: "\e195"; +} +.glyphicon-cloud-download:before { + content: "\e197"; +} +.glyphicon-cloud-upload:before { + content: "\e198"; +} +.glyphicon-tree-conifer:before { + content: "\e199"; +} +.glyphicon-tree-deciduous:before { + content: "\e200"; +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-size: 10px; + + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.42857143; + color: #333; + background-color: #fff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #428bca; + text-decoration: none; +} +a:hover, +a:focus { + color: #2a6496; + text-decoration: underline; +} +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +figure { + margin: 0; +} +img { + vertical-align: middle; +} +.img-responsive, +.thumbnail > img, +.thumbnail a > img, +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 6px; +} +.img-thumbnail { + display: inline-block; + max-width: 100%; + height: auto; + padding: 4px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: all .2s ease-in-out; + -o-transition: all .2s ease-in-out; + transition: all .2s ease-in-out; +} +.img-circle { + border-radius: 50%; +} +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eee; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #777; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 20px; + margin-bottom: 10px; +} +h1 small, +.h1 small, +h2 small, +.h2 small, +h3 small, +.h3 small, +h1 .small, +.h1 .small, +h2 .small, +.h2 .small, +h3 .small, +.h3 .small { + font-size: 65%; +} +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 10px; + margin-bottom: 10px; +} +h4 small, +.h4 small, +h5 small, +.h5 small, +h6 small, +.h6 small, +h4 .small, +.h4 .small, +h5 .small, +.h5 .small, +h6 .small, +.h6 .small { + font-size: 75%; +} +h1, +.h1 { + font-size: 36px; +} +h2, +.h2 { + font-size: 30px; +} +h3, +.h3 { + font-size: 24px; +} +h4, +.h4 { + font-size: 18px; +} +h5, +.h5 { + font-size: 14px; +} +h6, +.h6 { + font-size: 12px; +} +p { + margin: 0 0 10px; +} +.lead { + margin-bottom: 20px; + font-size: 16px; + font-weight: 300; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} +small, +.small { + font-size: 85%; +} +mark, +.mark { + padding: .2em; + background-color: #fcf8e3; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-muted { + color: #777; +} +.text-primary { + color: #428bca; +} +a.text-primary:hover { + color: #3071a9; +} +.text-success { + color: #3c763d; +} +a.text-success:hover { + color: #2b542c; +} +.text-info { + color: #31708f; +} +a.text-info:hover { + color: #245269; +} +.text-warning { + color: #8a6d3b; +} +a.text-warning:hover { + color: #66512c; +} +.text-danger { + color: #a94442; +} +a.text-danger:hover { + color: #843534; +} +.bg-primary { + color: #fff; + background-color: #428bca; +} +a.bg-primary:hover { + background-color: #3071a9; +} +.bg-success { + background-color: #dff0d8; +} +a.bg-success:hover { + background-color: #c1e2b3; +} +.bg-info { + background-color: #d9edf7; +} +a.bg-info:hover { + background-color: #afd9ee; +} +.bg-warning { + background-color: #fcf8e3; +} +a.bg-warning:hover { + background-color: #f7ecb5; +} +.bg-danger { + background-color: #f2dede; +} +a.bg-danger:hover { + background-color: #e4b9b9; +} +.page-header { + padding-bottom: 9px; + margin: 40px 0 20px; + border-bottom: 1px solid #eee; +} +ul, +ol { + margin-top: 0; + margin-bottom: 10px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + margin-left: -5px; + list-style: none; +} +.list-inline > li { + display: inline-block; + padding-right: 5px; + padding-left: 5px; +} +dl { + margin-top: 0; + margin-bottom: 20px; +} +dt, +dd { + line-height: 1.42857143; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +@media (min-width: 768px) { + .dl-horizontal dt { + float: left; + width: 160px; + overflow: hidden; + clear: left; + text-align: right; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 17.5px; + border-left: 5px solid #eee; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + text-align: right; + border-right: 5px solid #eee; + border-left: 0; +} +.blockquote-reverse footer:before, +blockquote.pull-right footer:before, +.blockquote-reverse small:before, +blockquote.pull-right small:before, +.blockquote-reverse .small:before, +blockquote.pull-right .small:before { + content: ''; +} +.blockquote-reverse footer:after, +blockquote.pull-right footer:after, +.blockquote-reverse small:after, +blockquote.pull-right small:after, +.blockquote-reverse .small:after, +blockquote.pull-right .small:after { + content: '\00A0 \2014'; +} +address { + margin-bottom: 20px; + font-style: normal; + line-height: 1.42857143; +} +code, +kbd, +pre, +samp { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; +} +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 4px; +} +kbd { + padding: 2px 4px; + font-size: 90%; + color: #fff; + background-color: #333; + border-radius: 3px; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); +} +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + -webkit-box-shadow: none; + box-shadow: none; +} +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 1.42857143; + color: #333; + word-break: break-all; + word-wrap: break-word; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 4px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} +@media (min-width: 768px) { + .container { + width: 750px; + } +} +@media (min-width: 992px) { + .container { + width: 970px; + } +} +@media (min-width: 1200px) { + .container { + width: 1170px; + } +} +.container-fluid { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} +.row { + margin-right: -15px; + margin-left: -15px; +} +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; +} +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: auto; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: auto; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0; +} +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0; + } +} +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0; + } +} +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0; + } +} +table { + background-color: transparent; +} +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777; + text-align: left; +} +th { + text-align: left; +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 20px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #ddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #ddd; +} +.table .table { + background-color: #fff; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-child(odd) { + background-color: #f9f9f9; +} +.table-hover > tbody > tr:hover { + background-color: #f5f5f5; +} +table col[class*="col-"] { + position: static; + display: table-column; + float: none; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + display: table-cell; + float: none; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} +.table-responsive { + min-height: .01%; + overflow-x: auto; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 15px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: inherit; + color: #333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; +} +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; +} +input[type="file"] { + display: block; +} +input[type="range"] { + display: block; + width: 100%; +} +select[multiple], +select[size] { + height: auto; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +output { + display: block; + padding-top: 7px; + font-size: 14px; + line-height: 1.42857143; + color: #555; +} +.form-control { + display: block; + width: 100%; + height: 34px; + padding: 6px 12px; + font-size: 14px; + line-height: 1.42857143; + color: #555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; +} +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); +} +.form-control::-moz-placeholder { + color: #999; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #999; +} +.form-control::-webkit-input-placeholder { + color: #999; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + cursor: not-allowed; + background-color: #eee; + opacity: 1; +} +textarea.form-control { + height: auto; +} +input[type="search"] { + -webkit-appearance: none; +} +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + line-height: 34px; + line-height: 1.42857143 \0; +} +input[type="date"].input-sm, +input[type="time"].input-sm, +input[type="datetime-local"].input-sm, +input[type="month"].input-sm { + line-height: 30px; + line-height: 1.5 \0; +} +input[type="date"].input-lg, +input[type="time"].input-lg, +input[type="datetime-local"].input-lg, +input[type="month"].input-lg { + line-height: 46px; + line-height: 1.33 \0; +} +_:-ms-fullscreen, +:root input[type="date"], +_:-ms-fullscreen, +:root input[type="time"], +_:-ms-fullscreen, +:root input[type="datetime-local"], +_:-ms-fullscreen, +:root input[type="month"] { + line-height: 1.42857143; +} +_:-ms-fullscreen.input-sm, +:root input[type="date"].input-sm, +_:-ms-fullscreen.input-sm, +:root input[type="time"].input-sm, +_:-ms-fullscreen.input-sm, +:root input[type="datetime-local"].input-sm, +_:-ms-fullscreen.input-sm, +:root input[type="month"].input-sm { + line-height: 1.5; +} +_:-ms-fullscreen.input-lg, +:root input[type="date"].input-lg, +_:-ms-fullscreen.input-lg, +:root input[type="time"].input-lg, +_:-ms-fullscreen.input-lg, +:root input[type="datetime-local"].input-lg, +_:-ms-fullscreen.input-lg, +:root input[type="month"].input-lg { + line-height: 1.33; +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + min-height: 20px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-top: 4px \9; + margin-left: -20px; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + vertical-align: middle; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.form-control-static { + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-right: 0; + padding-left: 0; +} +.input-sm, +.form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.input-sm, +select.form-group-sm .form-control { + height: 30px; + line-height: 30px; +} +textarea.input-sm, +textarea.form-group-sm .form-control, +select[multiple].input-sm, +select[multiple].form-group-sm .form-control { + height: auto; +} +.input-lg, +.form-group-lg .form-control { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} +select.input-lg, +select.form-group-lg .form-control { + height: 46px; + line-height: 46px; +} +textarea.input-lg, +textarea.form-group-lg .form-control, +select[multiple].input-lg, +select[multiple].form-group-lg .form-control { + height: auto; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 42.5px; +} +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 34px; + height: 34px; + line-height: 34px; + text-align: center; + pointer-events: none; +} +.input-lg + .form-control-feedback { + width: 46px; + height: 46px; + line-height: 46px; +} +.input-sm + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + background-color: #dff0d8; + border-color: #3c763d; +} +.has-success .form-control-feedback { + color: #3c763d; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #8a6d3b; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + background-color: #f2dede; + border-color: #a94442; +} +.has-error .form-control-feedback { + color: #a94442; +} +.has-feedback label ~ .form-control-feedback { + top: 25px; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #737373; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-static { + display: inline-block; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + padding-top: 7px; + margin-top: 0; + margin-bottom: 0; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 27px; +} +.form-horizontal .form-group { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + padding-top: 7px; + margin-bottom: 0; + text-align: right; + } +} +.form-horizontal .has-feedback .form-control-feedback { + right: 15px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 14.3px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + } +} +.btn { + display: inline-block; + padding: 6px 12px; + margin-bottom: 0; + font-size: 14px; + font-weight: normal; + line-height: 1.42857143; + text-align: center; + white-space: nowrap; + vertical-align: middle; + -ms-touch-action: manipulation; + touch-action: manipulation; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus, +.btn.focus, +.btn:active.focus, +.btn.active.focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus, +.btn.focus { + color: #333; + text-decoration: none; +} +.btn:active, +.btn.active { + background-image: none; + outline: 0; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + pointer-events: none; + cursor: not-allowed; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; + opacity: .65; +} +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; +} +.btn-default:hover, +.btn-default:focus, +.btn-default.focus, +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled, +.btn-default[disabled], +fieldset[disabled] .btn-default, +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus, +.btn-default.disabled:active, +.btn-default[disabled]:active, +fieldset[disabled] .btn-default:active, +.btn-default.disabled.active, +.btn-default[disabled].active, +fieldset[disabled] .btn-default.active { + background-color: #fff; + border-color: #ccc; +} +.btn-default .badge { + color: #fff; + background-color: #333; +} +.btn-primary { + color: #fff; + background-color: #428bca; + border-color: #357ebd; +} +.btn-primary:hover, +.btn-primary:focus, +.btn-primary.focus, +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #fff; + background-color: #3071a9; + border-color: #285e8e; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled, +.btn-primary[disabled], +fieldset[disabled] .btn-primary, +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus, +.btn-primary.disabled:active, +.btn-primary[disabled]:active, +fieldset[disabled] .btn-primary:active, +.btn-primary.disabled.active, +.btn-primary[disabled].active, +fieldset[disabled] .btn-primary.active { + background-color: #428bca; + border-color: #357ebd; +} +.btn-primary .badge { + color: #428bca; + background-color: #fff; +} +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:hover, +.btn-success:focus, +.btn-success.focus, +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + background-image: none; +} +.btn-success.disabled, +.btn-success[disabled], +fieldset[disabled] .btn-success, +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled.focus, +.btn-success[disabled].focus, +fieldset[disabled] .btn-success.focus, +.btn-success.disabled:active, +.btn-success[disabled]:active, +fieldset[disabled] .btn-success:active, +.btn-success.disabled.active, +.btn-success[disabled].active, +fieldset[disabled] .btn-success.active { + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success .badge { + color: #5cb85c; + background-color: #fff; +} +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info:hover, +.btn-info:focus, +.btn-info.focus, +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + background-image: none; +} +.btn-info.disabled, +.btn-info[disabled], +fieldset[disabled] .btn-info, +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled.focus, +.btn-info[disabled].focus, +fieldset[disabled] .btn-info.focus, +.btn-info.disabled:active, +.btn-info[disabled]:active, +fieldset[disabled] .btn-info:active, +.btn-info.disabled.active, +.btn-info[disabled].active, +fieldset[disabled] .btn-info.active { + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info .badge { + color: #5bc0de; + background-color: #fff; +} +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning:hover, +.btn-warning:focus, +.btn-warning.focus, +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + background-image: none; +} +.btn-warning.disabled, +.btn-warning[disabled], +fieldset[disabled] .btn-warning, +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled.focus, +.btn-warning[disabled].focus, +fieldset[disabled] .btn-warning.focus, +.btn-warning.disabled:active, +.btn-warning[disabled]:active, +fieldset[disabled] .btn-warning:active, +.btn-warning.disabled.active, +.btn-warning[disabled].active, +fieldset[disabled] .btn-warning.active { + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger:hover, +.btn-danger:focus, +.btn-danger.focus, +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + background-image: none; +} +.btn-danger.disabled, +.btn-danger[disabled], +fieldset[disabled] .btn-danger, +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled.focus, +.btn-danger[disabled].focus, +fieldset[disabled] .btn-danger.focus, +.btn-danger.disabled:active, +.btn-danger[disabled]:active, +fieldset[disabled] .btn-danger:active, +.btn-danger.disabled.active, +.btn-danger[disabled].active, +fieldset[disabled] .btn-danger.active { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #fff; +} +.btn-link { + font-weight: normal; + color: #428bca; + border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link.active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #2a6496; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #777; + text-decoration: none; +} +.btn-lg, +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} +.btn-sm, +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.btn-xs, +.btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.btn-block { + display: block; + width: 100%; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity .15s linear; + -o-transition: opacity .15s linear; + transition: opacity .15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; + visibility: hidden; +} +.collapse.in { + display: block; + visibility: visible; +} +tr.collapse.in { + display: table-row; +} +tbody.collapse.in { + display: table-row-group; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-timing-function: ease; + -o-transition-timing-function: ease; + transition-timing-function: ease; + -webkit-transition-duration: .35s; + -o-transition-duration: .35s; + transition-duration: .35s; + -webkit-transition-property: height, visibility; + -o-transition-property: height, visibility; + transition-property: height, visibility; +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px solid; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + font-size: 14px; + text-align: left; + list-style: none; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, .15); + border-radius: 4px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); + box-shadow: 0 6px 12px rgba(0, 0, 0, .175); +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #333; + white-space: nowrap; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + color: #262626; + text-decoration: none; + background-color: #f5f5f5; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + background-color: #428bca; + outline: 0; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #777; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + cursor: not-allowed; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + right: 0; + left: auto; +} +.dropdown-menu-left { + right: auto; + left: 0; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #777; + white-space: nowrap; +} +.dropdown-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + content: ""; + border-top: 0; + border-bottom: 4px solid; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; +} +@media (min-width: 768px) { + .navbar-right .dropdown-menu { + right: 0; + left: auto; + } + .navbar-right .dropdown-menu-left { + right: auto; + left: 0; + } +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus { + outline: 0; +} +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} +.btn-toolbar { + margin-left: -5px; +} +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left; +} +.btn-toolbar > .btn, +.btn-toolbar > .btn-group, +.btn-toolbar > .input-group { + margin-left: 5px; +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child > .btn:last-child, +.btn-group > .btn-group:first-child > .dropdown-toggle { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn-group:last-child > .btn:first-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group > .btn + .dropdown-toggle { + padding-right: 8px; + padding-left: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-right: 12px; + padding-left: 12px; +} +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); +} +.btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn .caret { + margin-left: 0; +} +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; +} +.btn-group-vertical > .btn-group > .btn { + float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-left-radius: 0; + border-top-right-radius: 0; + border-bottom-left-radius: 4px; +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + display: table-cell; + float: none; + width: 1%; +} +.btn-group-justified > .btn-group .btn { + width: 100%; +} +.btn-group-justified > .btn-group .dropdown-menu { + left: auto; +} +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-right: 0; + padding-left: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 46px; + line-height: 46px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon, +select[multiple].input-group-lg > .input-group-btn > .btn { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .input-group-btn > .btn { + height: auto; +} +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 6px 12px; + font-size: 14px; + font-weight: normal; + line-height: 1; + color: #555; + text-align: center; + background-color: #eee; + border: 1px solid #ccc; + border-radius: 4px; +} +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 3px; +} +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 18px; + border-radius: 6px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; +} +.input-group-btn > .btn { + position: relative; +} +.input-group-btn > .btn + .btn { + margin-left: -1px; +} +.input-group-btn > .btn:hover, +.input-group-btn > .btn:focus, +.input-group-btn > .btn:active { + z-index: 2; +} +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group { + margin-right: -1px; +} +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group { + margin-left: -1px; +} +.nav { + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eee; +} +.nav > li.disabled > a { + color: #777; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #777; + text-decoration: none; + cursor: not-allowed; + background-color: transparent; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eee; + border-color: #428bca; +} +.nav .nav-divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #ddd; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 4px 4px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eee #eee #ddd; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555; + cursor: default; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + margin-bottom: 5px; + text-align: center; +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 4px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #fff; + background-color: #428bca; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + margin-bottom: 5px; + text-align: center; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.tab-content > .tab-pane { + display: none; + visibility: hidden; +} +.tab-content > .active { + display: block; + visibility: visible; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.navbar { + position: relative; + min-height: 50px; + margin-bottom: 20px; + border: 1px solid transparent; +} +@media (min-width: 768px) { + .navbar { + border-radius: 4px; + } +} +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + padding-right: 15px; + padding-left: 15px; + overflow-x: visible; + -webkit-overflow-scrolling: touch; + border-top: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 768px) { + .navbar-collapse { + width: auto; + border-top: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + visibility: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-right: 0; + padding-left: 0; + } +} +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-device-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; +} +@media (min-width: 768px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} +.navbar-brand { + float: left; + height: 50px; + padding: 15px 15px; + font-size: 18px; + line-height: 20px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +.navbar-brand > img { + display: block; +} +@media (min-width: 768px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: -15px; + } +} +.navbar-toggle { + position: relative; + float: right; + padding: 9px 10px; + margin-top: 8px; + margin-right: 15px; + margin-bottom: 8px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 768px) { + .navbar-toggle { + display: none; + } +} +.navbar-nav { + margin: 7.5px -15px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} +@media (max-width: 767px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 20px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 768px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 15px; + padding-bottom: 15px; + } +} +.navbar-form { + padding: 10px 15px; + margin-top: 8px; + margin-right: -15px; + margin-bottom: 8px; + margin-left: -15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .form-control-static { + display: inline-block; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } + .navbar-form .form-group:last-child { + margin-bottom: 0; + } +} +@media (min-width: 768px) { + .navbar-form { + width: auto; + padding-top: 0; + padding-bottom: 0; + margin-right: 0; + margin-left: 0; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: 8px; + margin-bottom: 8px; +} +.navbar-btn.btn-sm { + margin-top: 10px; + margin-bottom: 10px; +} +.navbar-btn.btn-xs { + margin-top: 14px; + margin-bottom: 14px; +} +.navbar-text { + margin-top: 15px; + margin-bottom: 15px; +} +@media (min-width: 768px) { + .navbar-text { + float: left; + margin-right: 15px; + margin-left: 15px; + } +} +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + margin-right: -15px; + } + .navbar-right ~ .navbar-right { + margin-right: 0; + } +} +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} +.navbar-default .navbar-brand { + color: #777; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777; +} +.navbar-default .navbar-nav > li > a { + color: #777; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555; + background-color: #e7e7e7; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #ddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #ddd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + color: #555; + background-color: #e7e7e7; +} +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #777; +} +.navbar-default .navbar-link:hover { + color: #333; +} +.navbar-default .btn-link { + color: #777; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #333; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; +} +.navbar-inverse { + background-color: #222; + border-color: #080808; +} +.navbar-inverse .navbar-brand { + color: #9d9d9d; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #080808; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + color: #fff; + background-color: #080808; +} +@media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #9d9d9d; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #9d9d9d; +} +.navbar-inverse .navbar-link:hover { + color: #fff; +} +.navbar-inverse .btn-link { + color: #9d9d9d; +} +.navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link:focus { + color: #fff; +} +.navbar-inverse .btn-link[disabled]:hover, +fieldset[disabled] .navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link[disabled]:focus, +fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; +} +.breadcrumb { + padding: 8px 15px; + margin-bottom: 20px; + list-style: none; + background-color: #f5f5f5; + border-radius: 4px; +} +.breadcrumb > li { + display: inline-block; +} +.breadcrumb > li + li:before { + padding: 0 5px; + color: #ccc; + content: "/\00a0"; +} +.breadcrumb > .active { + color: #777; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 20px 0; + border-radius: 4px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + margin-left: -1px; + line-height: 1.42857143; + color: #428bca; + text-decoration: none; + background-color: #fff; + border: 1px solid #ddd; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + color: #2a6496; + background-color: #eee; + border-color: #ddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 2; + color: #fff; + cursor: default; + background-color: #428bca; + border-color: #428bca; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #777; + cursor: not-allowed; + background-color: #fff; + border-color: #ddd; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 18px; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} +.pager { + padding-left: 0; + margin: 20px 0; + text-align: center; + list-style: none; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eee; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #777; + cursor: not-allowed; + background-color: #fff; +} +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} +a.label:hover, +a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.btn .label { + position: relative; + top: -1px; +} +.label-default { + background-color: #777; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #5e5e5e; +} +.label-primary { + background-color: #428bca; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #3071a9; +} +.label-success { + background-color: #5cb85c; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} +.label-info { + background-color: #5bc0de; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} +.label-warning { + background-color: #f0ad4e; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} +.label-danger { + background-color: #d9534f; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + background-color: #777; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge { + top: 0; + padding: 1px 5px; +} +a.badge:hover, +a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +a.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #428bca; + background-color: #fff; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.jumbotron { + padding: 30px 15px; + margin-bottom: 30px; + color: inherit; + background-color: #eee; +} +.jumbotron h1, +.jumbotron .h1 { + color: inherit; +} +.jumbotron p { + margin-bottom: 15px; + font-size: 21px; + font-weight: 200; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron, +.container-fluid .jumbotron { + border-radius: 6px; +} +.jumbotron .container { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding: 48px 0; + } + .container .jumbotron { + padding-right: 60px; + padding-left: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 63px; + } +} +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 20px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: border .2s ease-in-out; + -o-transition: border .2s ease-in-out; + transition: border .2s ease-in-out; +} +.thumbnail > img, +.thumbnail a > img { + margin-right: auto; + margin-left: auto; +} +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #428bca; +} +.thumbnail .caption { + padding: 9px; + color: #333; +} +.alert { + padding: 15px; + margin-bottom: 20px; + border: 1px solid transparent; + border-radius: 4px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; +} +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} +.alert-info { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} +.alert-warning { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} +.alert-danger { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.alert-danger hr { + border-top-color: #e4b9c0; +} +.alert-danger .alert-link { + color: #843534; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@-o-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + height: 20px; + margin-bottom: 20px; + overflow: hidden; + background-color: #f5f5f5; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); +} +.progress-bar { + float: left; + width: 0; + height: 100%; + font-size: 12px; + line-height: 20px; + color: #fff; + text-align: center; + background-color: #428bca; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); + -webkit-transition: width .6s ease; + -o-transition: width .6s ease; + transition: width .6s ease; +} +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + -webkit-background-size: 40px 40px; + background-size: 40px 40px; +} +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar-success { + background-color: #5cb85c; +} +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.progress-bar-info { + background-color: #5bc0de; +} +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.progress-bar-warning { + background-color: #f0ad4e; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.progress-bar-danger { + background-color: #d9534f; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media-right, +.media > .pull-right { + padding-left: 10px; +} +.media-left, +.media > .pull-left { + padding-right: 10px; +} +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; +} +.media-middle { + vertical-align: middle; +} +.media-bottom { + vertical-align: bottom; +} +.media-heading { + margin-top: 0; + margin-bottom: 5px; +} +.media-list { + padding-left: 0; + list-style: none; +} +.list-group { + padding-left: 0; + margin-bottom: 20px; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; +} +.list-group-item:first-child { + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +a.list-group-item { + color: #555; +} +a.list-group-item .list-group-item-heading { + color: #333; +} +a.list-group-item:hover, +a.list-group-item:focus { + color: #555; + text-decoration: none; + background-color: #f5f5f5; +} +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + color: #777; + cursor: not-allowed; + background-color: #eee; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #777; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #428bca; + border-color: #428bca; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #e1edf7; +} +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; +} +a.list-group-item-success { + color: #3c763d; +} +a.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +a.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; +} +a.list-group-item-success.active, +a.list-group-item-success.active:hover, +a.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; +} +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; +} +a.list-group-item-info { + color: #31708f; +} +a.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +a.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; +} +a.list-group-item-info.active, +a.list-group-item-info.active:hover, +a.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; +} +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; +} +a.list-group-item-warning { + color: #8a6d3b; +} +a.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +a.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; +} +a.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; +} +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; +} +a.list-group-item-danger { + color: #a94442; +} +a.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +a.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; +} +a.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.panel { + margin-bottom: 20px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 4px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); + box-shadow: 0 1px 1px rgba(0, 0, 0, .05); +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 16px; + color: inherit; +} +.panel-title > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .list-group, +.panel > .panel-collapse > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item, +.panel > .panel-collapse > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child, +.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .list-group:last-child .list-group-item:last-child, +.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.list-group + .panel-footer { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table caption, +.panel > .table-responsive > .table caption, +.panel > .panel-collapse > .table caption { + padding-right: 15px; + padding-left: 15px; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 3px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 3px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive, +.panel > .table + .panel-body, +.panel > .table-responsive + .panel-body { + border-top: 1px solid #ddd; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + margin-bottom: 0; + border: 0; +} +.panel-group { + margin-bottom: 20px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 4px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse > .panel-body, +.panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #ddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; +} +.panel-default { + border-color: #ddd; +} +.panel-default > .panel-heading { + color: #333; + background-color: #f5f5f5; + border-color: #ddd; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ddd; +} +.panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ddd; +} +.panel-primary { + border-color: #428bca; +} +.panel-primary > .panel-heading { + color: #fff; + background-color: #428bca; + border-color: #428bca; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #428bca; +} +.panel-primary > .panel-heading .badge { + color: #428bca; + background-color: #fff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #428bca; +} +.panel-success { + border-color: #d6e9c6; +} +.panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d6e9c6; +} +.panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d6e9c6; +} +.panel-info { + border-color: #bce8f1; +} +.panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #bce8f1; +} +.panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #bce8f1; +} +.panel-warning { + border-color: #faebcc; +} +.panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #faebcc; +} +.panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #faebcc; +} +.panel-danger { + border-color: #ebccd1; +} +.panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; +} +.panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; +} +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; +} +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} +.embed-responsive.embed-responsive-16by9 { + padding-bottom: 56.25%; +} +.embed-responsive.embed-responsive-4by3 { + padding-bottom: 75%; +} +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, .15); +} +.well-lg { + padding: 24px; + border-radius: 6px; +} +.well-sm { + padding: 9px; + border-radius: 3px; +} +.close { + float: right; + font-size: 21px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + filter: alpha(opacity=20); + opacity: .2; +} +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + filter: alpha(opacity=50); + opacity: .5; +} +button.close { + -webkit-appearance: none; + padding: 0; + cursor: pointer; + background: transparent; + border: 0; +} +.modal-open { + overflow: hidden; +} +.modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + display: none; + overflow: hidden; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transition: -webkit-transform .3s ease-out; + -o-transition: -o-transform .3s ease-out; + transition: transform .3s ease-out; + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); + transform: translate(0, -25%); +} +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} +.modal-content { + position: relative; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, .2); + border-radius: 6px; + outline: 0; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5); + box-shadow: 0 3px 9px rgba(0, 0, 0, .5); +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: #000; +} +.modal-backdrop.fade { + filter: alpha(opacity=0); + opacity: 0; +} +.modal-backdrop.in { + filter: alpha(opacity=50); + opacity: .5; +} +.modal-header { + min-height: 16.42857143px; + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 15px; +} +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-footer .btn + .btn { + margin-bottom: 0; + margin-left: 5px; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5); + box-shadow: 0 5px 15px rgba(0, 0, 0, .5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-size: 12px; + line-height: 1.4; + visibility: visible; + filter: alpha(opacity=0); + opacity: 0; +} +.tooltip.in { + filter: alpha(opacity=90); + opacity: .9; +} +.tooltip.top { + padding: 5px 0; + margin-top: -3px; +} +.tooltip.right { + padding: 0 5px; + margin-left: 3px; +} +.tooltip.bottom { + padding: 5px 0; + margin-top: 3px; +} +.tooltip.left { + padding: 0 5px; + margin-left: -3px; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + text-decoration: none; + background-color: #000; + border-radius: 4px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-left .tooltip-arrow { + bottom: 0; + left: 5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-right .tooltip-arrow { + right: 5px; + bottom: 0; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-left .tooltip-arrow { + top: 0; + left: 5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + right: 5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + font-size: 14px; + font-weight: normal; + line-height: 1.42857143; + text-align: left; + white-space: normal; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, .2); + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); + box-shadow: 0 5px 10px rgba(0, 0, 0, .2); +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover-title { + padding: 8px 14px; + margin: 0; + font-size: 14px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 5px 5px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.popover > .arrow, +.popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover > .arrow { + border-width: 11px; +} +.popover > .arrow:after { + content: ""; + border-width: 10px; +} +.popover.top > .arrow { + bottom: -11px; + left: 50%; + margin-left: -11px; + border-top-color: #999; + border-top-color: rgba(0, 0, 0, .25); + border-bottom-width: 0; +} +.popover.top > .arrow:after { + bottom: 1px; + margin-left: -10px; + content: " "; + border-top-color: #fff; + border-bottom-width: 0; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-right-color: #999; + border-right-color: rgba(0, 0, 0, .25); + border-left-width: 0; +} +.popover.right > .arrow:after { + bottom: -10px; + left: 1px; + content: " "; + border-right-color: #fff; + border-left-width: 0; +} +.popover.bottom > .arrow { + top: -11px; + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999; + border-bottom-color: rgba(0, 0, 0, .25); +} +.popover.bottom > .arrow:after { + top: 1px; + margin-left: -10px; + content: " "; + border-top-width: 0; + border-bottom-color: #fff; +} +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999; + border-left-color: rgba(0, 0, 0, .25); +} +.popover.left > .arrow:after { + right: 1px; + bottom: -10px; + content: " "; + border-right-width: 0; + border-left-color: #fff; +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-inner > .item { + position: relative; + display: none; + -webkit-transition: .6s ease-in-out left; + -o-transition: .6s ease-in-out left; + transition: .6s ease-in-out left; +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + line-height: 1; +} +@media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .item { + -webkit-transition: -webkit-transform .6s ease-in-out; + -o-transition: -o-transform .6s ease-in-out; + transition: transform .6s ease-in-out; + + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000; + perspective: 1000; + } + .carousel-inner > .item.next, + .carousel-inner > .item.active.right { + left: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } + .carousel-inner > .item.prev, + .carousel-inner > .item.active.left { + left: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } + .carousel-inner > .item.next.left, + .carousel-inner > .item.prev.right, + .carousel-inner > .item.active { + left: 0; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 15%; + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, .6); + filter: alpha(opacity=50); + opacity: .5; +} +.carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001))); + background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); + background-repeat: repeat-x; +} +.carousel-control.right { + right: 0; + left: auto; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5))); + background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); + background-repeat: repeat-x; +} +.carousel-control:hover, +.carousel-control:focus { + color: #fff; + text-decoration: none; + filter: alpha(opacity=90); + outline: 0; + opacity: .9; +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + z-index: 5; + display: inline-block; +} +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; +} +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + margin-top: -10px; + font-family: serif; +} +.carousel-control .icon-prev:before { + content: '\2039'; +} +.carousel-control .icon-next:before { + content: '\203a'; +} +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + padding-left: 0; + margin-left: -30%; + text-align: center; + list-style: none; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); + border: 1px solid #fff; + border-radius: 10px; +} +.carousel-indicators .active { + width: 12px; + height: 12px; + margin: 0; + background-color: #fff; +} +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, .6); +} +.carousel-caption .btn { + text-shadow: none; +} +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + font-size: 30px; + } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -15px; + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -15px; + } + .carousel-caption { + right: 20%; + left: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, +.clearfix:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.btn-toolbar:before, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after, +.nav:before, +.nav:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after, +.modal-footer:before, +.modal-footer:after { + display: table; + content: " "; +} +.clearfix:after, +.dl-horizontal dd:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:after, +.nav:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.pager:after, +.panel-body:after, +.modal-footer:after { + clear: both; +} +.center-block { + display: block; + margin-right: auto; + margin-left: auto; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.hidden { + display: none !important; + visibility: hidden !important; +} +.affix { + position: fixed; +} +@-ms-viewport { + width: device-width; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} +@media print { + .hidden-print { + display: none !important; + } +} +/*# sourceMappingURL=bootstrap.css.map */ diff --git a/源码/src/main/webapp/resource/boot/css/bootstrap.css.map b/源码/src/main/webapp/resource/boot/css/bootstrap.css.map new file mode 100644 index 0000000..fa5546b --- /dev/null +++ b/源码/src/main/webapp/resource/boot/css/bootstrap.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["bootstrap.css","less/normalize.less","less/print.less","less/glyphicons.less","less/scaffolding.less","less/mixins/vendor-prefixes.less","less/mixins/tab-focus.less","less/mixins/image.less","less/type.less","less/mixins/text-emphasis.less","less/mixins/background-variant.less","less/mixins/text-overflow.less","less/code.less","less/grid.less","less/mixins/grid.less","less/mixins/grid-framework.less","less/tables.less","less/mixins/table-row.less","less/forms.less","less/mixins/forms.less","less/buttons.less","less/mixins/buttons.less","less/mixins/opacity.less","less/component-animations.less","less/dropdowns.less","less/mixins/nav-divider.less","less/mixins/reset-filter.less","less/button-groups.less","less/mixins/border-radius.less","less/input-groups.less","less/navs.less","less/navbar.less","less/mixins/nav-vertical-align.less","less/utilities.less","less/breadcrumbs.less","less/pagination.less","less/mixins/pagination.less","less/pager.less","less/labels.less","less/mixins/labels.less","less/badges.less","less/jumbotron.less","less/thumbnails.less","less/alerts.less","less/mixins/alerts.less","less/progress-bars.less","less/mixins/gradients.less","less/mixins/progress-bar.less","less/media.less","less/list-group.less","less/mixins/list-group.less","less/panels.less","less/mixins/panels.less","less/responsive-embed.less","less/wells.less","less/close.less","less/modals.less","less/tooltip.less","less/popovers.less","less/carousel.less","less/mixins/clearfix.less","less/mixins/center-block.less","less/mixins/hide-text.less","less/responsive-utilities.less","less/mixins/responsive-visibility.less"],"names":[],"mappings":"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AAA;EHsR9C;AGrRmC;EAAW,kBAAA;EHwR9C;AGvRmC;EAAW,kBAAA;EH0R9C;AGzRmC;EAAW,kBAAA;EH4R9C;AG3RmC;EAAW,kBAAA;EH8R9C;AG7RmC;EAAW,kBAAA;EHgS9C;AG/RmC;EAAW,kBAAA;EHkS9C;AGjSmC;EAAW,kBAAA;EHoS9C;AGnSmC;EAAW,kBAAA;EHsS9C;AGrSmC;EAAW,kBAAA;EHwS9C;AGvSmC;EAAW,kBAAA;EH0S9C;AGzSmC;EAAW,kBAAA;EH4S9C;AG3SmC;EAAW,kBAAA;EH8S9C;AG7SmC;EAAW,kBAAA;EHgT9C;AG/SmC;EAAW,kBAAA;EHkT9C;AGjTmC;EAAW,kBAAA;EHoT9C;AGnTmC;EAAW,kBAAA;EHsT9C;AGrTmC;EAAW,kBAAA;EHwT9C;AGvTmC;EAAW,kBAAA;EH0T9C;AGzTmC;EAAW,kBAAA;EH4T9C;AG3TmC;EAAW,kBAAA;EH8T9C;AG7TmC;EAAW,kBAAA;EHgU9C;AG/TmC;EAAW,kBAAA;EHkU9C;AGjUmC;EAAW,kBAAA;EHoU9C;AGnUmC;EAAW,kBAAA;EHsU9C;AGrUmC;EAAW,kBAAA;EHwU9C;AGvUmC;EAAW,kBAAA;EH0U9C;AGzUmC;EAAW,kBAAA;EH4U9C;AG3UmC;EAAW,kBAAA;EH8U9C;AG7UmC;EAAW,kBAAA;EHgV9C;AG/UmC;EAAW,kBAAA;EHkV9C;AGjVmC;EAAW,kBAAA;EHoV9C;AGnVmC;EAAW,kBAAA;EHsV9C;AGrVmC;EAAW,kBAAA;EHwV9C;AGvVmC;EAAW,kBAAA;EH0V9C;AGzVmC;EAAW,kBAAA;EH4V9C;AG3VmC;EAAW,kBAAA;EH8V9C;AG7VmC;EAAW,kBAAA;EHgW9C;AG/VmC;EAAW,kBAAA;EHkW9C;AGjWmC;EAAW,kBAAA;EHoW9C;AGnWmC;EAAW,kBAAA;EHsW9C;AGrWmC;EAAW,kBAAA;EHwW9C;AGvWmC;EAAW,kBAAA;EH0W9C;AGzWmC;EAAW,kBAAA;EH4W9C;AG3WmC;EAAW,kBAAA;EH8W9C;AG7WmC;EAAW,kBAAA;EHgX9C;AG/WmC;EAAW,kBAAA;EHkX9C;AGjXmC;EAAW,kBAAA;EHoX9C;AGnXmC;EAAW,kBAAA;EHsX9C;AGrXmC;EAAW,kBAAA;EHwX9C;AGvXmC;EAAW,kBAAA;EH0X9C;AGzXmC;EAAW,kBAAA;EH4X9C;AG3XmC;EAAW,kBAAA;EH8X9C;AG7XmC;EAAW,kBAAA;EHgY9C;AG/XmC;EAAW,kBAAA;EHkY9C;AGjYmC;EAAW,kBAAA;EHoY9C;AGnYmC;EAAW,kBAAA;EHsY9C;AGrYmC;EAAW,kBAAA;EHwY9C;AGvYmC;EAAW,kBAAA;EH0Y9C;AGzYmC;EAAW,kBAAA;EH4Y9C;AG3YmC;EAAW,kBAAA;EH8Y9C;AG7YmC;EAAW,kBAAA;EHgZ9C;AG/YmC;EAAW,kBAAA;EHkZ9C;AGjZmC;EAAW,kBAAA;EHoZ9C;AGnZmC;EAAW,kBAAA;EHsZ9C;AGrZmC;EAAW,kBAAA;EHwZ9C;AGvZmC;EAAW,kBAAA;EH0Z9C;AGzZmC;EAAW,kBAAA;EH4Z9C;AG3ZmC;EAAW,kBAAA;EH8Z9C;AG7ZmC;EAAW,kBAAA;EHga9C;AG/ZmC;EAAW,kBAAA;EHka9C;AGjamC;EAAW,kBAAA;EHoa9C;AGnamC;EAAW,kBAAA;EHsa9C;AGramC;EAAW,kBAAA;EHwa9C;AGvamC;EAAW,kBAAA;EH0a9C;AGzamC;EAAW,kBAAA;EH4a9C;AG3amC;EAAW,kBAAA;EH8a9C;AG7amC;EAAW,kBAAA;EHgb9C;AG/amC;EAAW,kBAAA;EHkb9C;AGjbmC;EAAW,kBAAA;EHob9C;AGnbmC;EAAW,kBAAA;EHsb9C;AGrbmC;EAAW,kBAAA;EHwb9C;AGvbmC;EAAW,kBAAA;EH0b9C;AGzbmC;EAAW,kBAAA;EH4b9C;AG3bmC;EAAW,kBAAA;EH8b9C;AG7bmC;EAAW,kBAAA;EHgc9C;AG/bmC;EAAW,kBAAA;EHkc9C;AGjcmC;EAAW,kBAAA;EHoc9C;AGncmC;EAAW,kBAAA;EHsc9C;AGrcmC;EAAW,kBAAA;EHwc9C;AGvcmC;EAAW,kBAAA;EH0c9C;AGzcmC;EAAW,kBAAA;EH4c9C;AG3cmC;EAAW,kBAAA;EH8c9C;AG7cmC;EAAW,kBAAA;EHgd9C;AG/cmC;EAAW,kBAAA;EHkd9C;AGjdmC;EAAW,kBAAA;EHod9C;AGndmC;EAAW,kBAAA;EHsd9C;AGrdmC;EAAW,kBAAA;EHwd9C;AGvdmC;EAAW,kBAAA;EH0d9C;AGzdmC;EAAW,kBAAA;EH4d9C;AG3dmC;EAAW,kBAAA;EH8d9C;AG7dmC;EAAW,kBAAA;EHge9C;AG/dmC;EAAW,kBAAA;EHke9C;AGjemC;EAAW,kBAAA;EHoe9C;AGnemC;EAAW,kBAAA;EHse9C;AGremC;EAAW,kBAAA;EHwe9C;AGvemC;EAAW,kBAAA;EH0e9C;AGzemC;EAAW,kBAAA;EH4e9C;AG3emC;EAAW,kBAAA;EH8e9C;AG7emC;EAAW,kBAAA;EHgf9C;AG/emC;EAAW,kBAAA;EHkf9C;AGjfmC;EAAW,kBAAA;EHof9C;AGnfmC;EAAW,kBAAA;EHsf9C;AGrfmC;EAAW,kBAAA;EHwf9C;AGvfmC;EAAW,kBAAA;EH0f9C;AGzfmC;EAAW,kBAAA;EH4f9C;AG3fmC;EAAW,kBAAA;EH8f9C;AG7fmC;EAAW,kBAAA;EHggB9C;AG/fmC;EAAW,kBAAA;EHkgB9C;AGjgBmC;EAAW,kBAAA;EHogB9C;AGngBmC;EAAW,kBAAA;EHsgB9C;AGrgBmC;EAAW,kBAAA;EHwgB9C;AGvgBmC;EAAW,kBAAA;EH0gB9C;AGzgBmC;EAAW,kBAAA;EH4gB9C;AG3gBmC;EAAW,kBAAA;EH8gB9C;AG7gBmC;EAAW,kBAAA;EHghB9C;AG/gBmC;EAAW,kBAAA;EHkhB9C;AGjhBmC;EAAW,kBAAA;EHohB9C;AGnhBmC;EAAW,kBAAA;EHshB9C;AGrhBmC;EAAW,kBAAA;EHwhB9C;AGvhBmC;EAAW,kBAAA;EH0hB9C;AGzhBmC;EAAW,kBAAA;EH4hB9C;AG3hBmC;EAAW,kBAAA;EH8hB9C;AG7hBmC;EAAW,kBAAA;EHgiB9C;AG/hBmC;EAAW,kBAAA;EHkiB9C;AGjiBmC;EAAW,kBAAA;EHoiB9C;AGniBmC;EAAW,kBAAA;EHsiB9C;AGriBmC;EAAW,kBAAA;EHwiB9C;AGviBmC;EAAW,kBAAA;EH0iB9C;AGziBmC;EAAW,kBAAA;EH4iB9C;AG3iBmC;EAAW,kBAAA;EH8iB9C;AG7iBmC;EAAW,kBAAA;EHgjB9C;AG/iBmC;EAAW,kBA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EACE,mBAAA;Efi7CH;Ael7CC;EACE,2BAAA;Efo7CH;Aer7CC;EACE,2BAAA;Efu7CH;Aex7CC;EACE,kBAAA;Ef07CH;Ae37CC;EACE,2BAAA;Ef67CH;Ae97CC;EACE,2BAAA;Efg8CH;Aej8CC;EACE,kBAAA;Efm8CH;Aep8CC;EACE,2BAAA;Efs8CH;Aev8CC;EACE,2BAAA;Efy8CH;Ae18CC;EACE,kBAAA;Ef48CH;Ae78CC;EACE,2BAAA;Ef+8CH;Aeh9CC;EACE,0BAAA;Efk9CH;Aen9CC;EACE,iBAAA;Efq9CH;Aaz9CD;EE9BI;IACE,aAAA;If0/CH;Een/CD;IACE,aAAA;Ifq/CD;Eet/CD;IACE,qBAAA;Ifw/CD;Eez/CD;IACE,qBAAA;If2/CD;Ee5/CD;IACE,YAAA;If8/CD;Ee//CD;IACE,qBAAA;IfigDD;EelgDD;IACE,qBAAA;IfogDD;EergDD;IACE,YAAA;IfugDD;EexgDD;IACE,qBAAA;If0gDD;Ee3gDD;IACE,qBAAA;If6gDD;Ee9gDD;IACE,YAAA;IfghDD;EejhDD;IACE,qBAAA;IfmhDD;EephDD;IACE,oBAAA;IfshDD;EexgDD;IACE,aAAA;If0gDD;Ee3gDD;IACE,qBAAA;If6gDD;Ee9gDD;IACE,qBAAA;IfghDD;EejhDD;IACE,YAAA;IfmhDD;EephDD;IACE,qBAAA;IfshDD;EevhDD;IACE,qBAAA;IfyhDD;Ee1hDD;IACE,YAAA;If4hDD;Ee7hDD;IACE,qBAAA;If+hDD;EehiDD;IACE,qBAAA;IfkiDD;EeniDD;IACE,YAAA;IfqiDD;EetiDD;IACE,qBAAA;IfwiDD;EeziDD;IACE,oBAAA;If2iDD;EeviDD;IACE,aAAA;IfyiDD;EezjDD;IACE,YAAA;If2jDD;Ee5jDD;IACE,oBAAA;If8jDD;Ee/jDD;IACE,oBAAA;IfikDD;EelkDD;IACE,WAAA;IfokDD;EerkDD;IACE,oBAAA;IfukDD;EexkDD;IACE,oBAAA;If0kDD;Ee3kDD;IACE,WAAA;If6kDD;Ee9kDD;IACE,oBAAA;IfglDD;EejlDD;IACE,oBAAA;IfmlDD;EeplDD;IACE,WAAA;IfslDD;EevlDD;IACE,oBAAA;IfylDD;Ee1lDD;IACE,mBAAA;If4lDD;EexlDD;IACE,YAAA;If0lDD;Ee5kDD;IACE,mBAAA;If8kDD;Ee/kDD;IACE,2BAAA;IfilDD;EellDD;IACE,2BAAA;IfolDD;EerlDD;IACE,kBAAA;IfulDD;EexlDD;IACE,2BAAA;If0lDD;Ee3lDD;IACE,2BAAA;If6lDD;Ee9lDD;IACE,kBAAA;IfgmDD;EejmDD;IACE,2BAAA;IfmmDD;EepmDD;IACE,2BAAA;IfsmDD;EevmDD;IACE,kBAAA;IfymDD;Ee1mDD;IACE,2BAAA;If4mDD;Ee7mDD;IACE,0BAAA;If+mDD;EehnDD;IACE,iBAAA;IfknDD;EACF;Aa9mDD;EEvCI;IACE,aAAA;IfwpDH;EejpDD;IACE,aAAA;IfmpDD;EeppDD;IACE,qBAAA;IfspDD;EevpDD;IACE,qBAAA;IfypDD;Ee1pDD;IACE,YAAA;If4pDD;Ee7pDD;IACE,qBAAA;If+pDD;EehqDD;IACE,qBAAA;IfkqDD;EenqDD;IACE,YAAA;IfqqDD;EetqDD;IACE,qBAAA;IfwqDD;EezqDD;IACE,qBAAA;If2qDD;Ee5qDD;IACE,YAAA;If8qDD;Ee/qDD;IACE,qBAAA;IfirDD;EelrDD;IACE,oBAAA;IforDD;EetqDD;IACE,aAAA;IfwqDD;EezqDD;IACE,qBAAA;If2qDD;Ee5qDD;IACE,qBAAA;If8qDD;Ee/qDD;IACE,YAAA;IfirDD;EelrDD;IACE,qBAAA;IforDD;EerrDD;IACE,qBAAA;IfurDD;EexrDD;IACE,YAAA;If0rDD;Ee3rDD;IACE,qBAAA;If6rDD;Ee9rDD;IACE,qBAAA;IfgsDD;EejsDD;IACE,YAAA;IfmsDD;EepsDD;IACE,qBAAA;IfssDD;EevsDD;IACE,oBAAA;IfysDD;EersDD;IACE,aAAA;IfusDD;EevtDD;IACE,YAAA;IfytDD;Ee1tDD;IACE,oBAAA;If4tDD;Ee7tDD;IACE,oBAAA;If+tDD;EehuDD;IACE,WAAA;IfkuDD;EenuDD;IACE,oBAAA;IfquDD;EetuDD;IACE,oBAAA;IfwuDD;EezuDD;IACE,WAAA;If2uDD;Ee5uDD;IACE,oBAAA;If8uDD;Ee/uDD;IACE,oBAAA;IfivDD;EelvDD;IACE,WAAA;IfovDD;EervDD;IACE,oBAAA;IfuvDD;EexvDD;IACE,mBAAA;If0vDD;EetvDD;IACE,YAAA;IfwvDD;Ee1uDD;IACE,mBAAA;If4uDD;Ee7uDD;IACE,2BAAA;If+uDD;EehvDD;IACE,2BAAA;IfkvDD;EenvDD;IACE,kBAAA;IfqvDD;EetvDD;IACE,2BAAA;IfwvDD;EezvDD;IACE,2BAAA;If2vDD;Ee5vDD;IACE,kBAAA;If8vDD;Ee/vDD;IACE,2BAAA;IfiwDD;EelwDD;IACE,2BAAA;IfowDD;EerwDD;IACE,kBAAA;IfuwDD;EexwDD;IACE,2BAAA;If0wDD;Ee3wDD;IACE,0BAAA;If6wDD;Ee9wDD;IACE,iBAAA;IfgxDD;EACF;AarwDD;EE9CI;IACE,aAAA;IfszDH;Ee/yDD;IACE,aAAA;IfizDD;EelzDD;IACE,qBAAA;IfozDD;EerzDD;IACE,qBAAA;IfuzDD;EexzDD;IACE,YAAA;If0zDD;Ee3zDD;IACE,qBAAA;If6zDD;Ee9zDD;IACE,qBAAA;Ifg0DD;Eej0DD;IACE,YAAA;Ifm0DD;Eep0DD;IACE,qBAAA;Ifs0DD;Eev0DD;IACE,qBAAA;Ify0DD;Ee10DD;IACE,YAAA;If40DD;Ee70DD;IACE,qBAAA;If+0DD;Eeh1DD;IACE,oBAAA;Ifk1DD;Eep0DD;IACE,aAAA;Ifs0DD;Eev0DD;IACE,qBAAA;Ify0DD;Ee10DD;IACE,qBAAA;If40DD;Ee70DD;IACE,YAAA;If+0DD;Eeh1DD;IACE,qBAAA;Ifk1DD;Een1DD;IACE,qBAAA;Ifq1DD;Eet1DD;IACE,YAAA;Ifw1DD;Eez1DD;IACE,qBAAA;If21DD;Ee51DD;IACE,qBAAA;If81DD;Ee/1DD;IACE,YAAA;Ifi2DD;Eel2DD;IACE,qBAAA;Ifo2DD;Eer2DD;IACE,oBAAA;Ifu2DD;Een2DD;IACE,aAAA;Ifq2DD;Eer3DD;IACE,YAAA;Ifu3DD;Eex3DD;IACE,oBAAA;If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","file":"bootstrap.css","sourcesContent":["/*! normalize.css v3.0.2 | MIT License | git.io/normalize */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: 1px dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nmark {\n background: #ff0;\n color: #000;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n -moz-box-sizing: content-box;\n -webkit-box-sizing: content-box;\n box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n border: 0;\n padding: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important;\n box-shadow: none !important;\n text-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n select {\n background: #fff !important;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: 'Glyphicons Halflings';\n src: url('../fonts/glyphicons-halflings-regular.eot');\n src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\2a\";\n}\n.glyphicon-plus:before {\n content: \"\\2b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333333;\n background-color: #ffffff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #428bca;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #2a6496;\n text-decoration: underline;\n}\na:focus {\n outline: thin dotted;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857143;\n background-color: #ffffff;\n border: 1px solid #dddddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: normal;\n line-height: 1;\n color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n background-color: #fcf8e3;\n padding: .2em;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777777;\n}\n.text-primary {\n color: #428bca;\n}\na.text-primary:hover {\n color: #3071a9;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #428bca;\n}\na.bg-primary:hover {\n background-color: #3071a9;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px;\n}\n.list-inline > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted #777777;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n text-align: right;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: '\\00A0 \\2014';\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #ffffff;\n background-color: #333333;\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n word-break: break-all;\n word-wrap: break-word;\n color: #333333;\n background-color: #f5f5f5;\n border: 1px solid #cccccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n}\n.row {\n margin-left: -15px;\n margin-right: -15px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-left: 15px;\n padding-right: 15px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0%;\n}\n@media (min-width: 768px) {\n .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 992px) {\n .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0%;\n }\n}\ntable {\n background-color: transparent;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #dddddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #dddddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #dddddd;\n}\n.table .table {\n background-color: #ffffff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #dddddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #dddddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-child(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-column;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-cell;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #dddddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n min-width: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: bold;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: thin dotted;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n background-color: #ffffff;\n background-image: none;\n border: 1px solid #cccccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n color: #999999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999999;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n background-color: #eeeeee;\n opacity: 1;\n}\ntextarea.form-control {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n line-height: 34px;\n line-height: 1.42857143 \\0;\n}\ninput[type=\"date\"].input-sm,\ninput[type=\"time\"].input-sm,\ninput[type=\"datetime-local\"].input-sm,\ninput[type=\"month\"].input-sm {\n line-height: 30px;\n line-height: 1.5 \\0;\n}\ninput[type=\"date\"].input-lg,\ninput[type=\"time\"].input-lg,\ninput[type=\"datetime-local\"].input-lg,\ninput[type=\"month\"].input-lg {\n line-height: 46px;\n line-height: 1.33 \\0;\n}\n_:-ms-fullscreen,\n:root input[type=\"date\"],\n_:-ms-fullscreen,\n:root input[type=\"time\"],\n_:-ms-fullscreen,\n:root input[type=\"datetime-local\"],\n_:-ms-fullscreen,\n:root input[type=\"month\"] {\n line-height: 1.42857143;\n}\n_:-ms-fullscreen.input-sm,\n:root input[type=\"date\"].input-sm,\n_:-ms-fullscreen.input-sm,\n:root input[type=\"time\"].input-sm,\n_:-ms-fullscreen.input-sm,\n:root input[type=\"datetime-local\"].input-sm,\n_:-ms-fullscreen.input-sm,\n:root input[type=\"month\"].input-sm {\n line-height: 1.5;\n}\n_:-ms-fullscreen.input-lg,\n:root input[type=\"date\"].input-lg,\n_:-ms-fullscreen.input-lg,\n:root input[type=\"time\"].input-lg,\n_:-ms-fullscreen.input-lg,\n:root input[type=\"datetime-local\"].input-lg,\n_:-ms-fullscreen.input-lg,\n:root input[type=\"month\"].input-lg {\n line-height: 1.33;\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-left: -20px;\n margin-top: 4px \\9;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n vertical-align: middle;\n font-weight: normal;\n cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.form-control-static {\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-left: 0;\n padding-right: 0;\n}\n.input-sm,\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm,\nselect.form-group-sm .form-control {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\ntextarea.form-group-sm .form-control,\nselect[multiple].input-sm,\nselect[multiple].form-group-sm .form-control {\n height: auto;\n}\n.input-lg,\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.33;\n border-radius: 6px;\n}\nselect.input-lg,\nselect.form-group-lg .form-control {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\ntextarea.form-group-lg .form-control,\nselect[multiple].input-lg,\nselect[multiple].form-group-lg .form-control {\n height: auto;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n border-color: #3c763d;\n background-color: #dff0d8;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n border-color: #8a6d3b;\n background-color: #fcf8e3;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n border-color: #a94442;\n background-color: #f2dede;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n margin-top: 0;\n margin-bottom: 0;\n padding-top: 7px;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-left: -15px;\n margin-right: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n text-align: right;\n margin-bottom: 0;\n padding-top: 7px;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 14.3px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n }\n}\n.btn {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n white-space: nowrap;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: thin dotted;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n outline: 0;\n background-image: none;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n pointer-events: none;\n opacity: 0.65;\n filter: alpha(opacity=65);\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-default {\n color: #333333;\n background-color: #ffffff;\n border-color: #cccccc;\n}\n.btn-default:hover,\n.btn-default:focus,\n.btn-default.focus,\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n background-image: none;\n}\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n background-color: #ffffff;\n border-color: #cccccc;\n}\n.btn-default .badge {\n color: #ffffff;\n background-color: #333333;\n}\n.btn-primary {\n color: #ffffff;\n background-color: #428bca;\n border-color: #357ebd;\n}\n.btn-primary:hover,\n.btn-primary:focus,\n.btn-primary.focus,\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #ffffff;\n background-color: #3071a9;\n border-color: #285e8e;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n background-image: none;\n}\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n background-color: #428bca;\n border-color: #357ebd;\n}\n.btn-primary .badge {\n color: #428bca;\n background-color: #ffffff;\n}\n.btn-success {\n color: #ffffff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:hover,\n.btn-success:focus,\n.btn-success.focus,\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #ffffff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n background-image: none;\n}\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #ffffff;\n}\n.btn-info {\n color: #ffffff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:hover,\n.btn-info:focus,\n.btn-info.focus,\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #ffffff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n background-image: none;\n}\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #ffffff;\n}\n.btn-warning {\n color: #ffffff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:hover,\n.btn-warning:focus,\n.btn-warning.focus,\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #ffffff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n background-image: none;\n}\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #ffffff;\n}\n.btn-danger {\n color: #ffffff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:hover,\n.btn-danger:focus,\n.btn-danger.focus,\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #ffffff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n background-image: none;\n}\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #ffffff;\n}\n.btn-link {\n color: #428bca;\n font-weight: normal;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #2a6496;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.33;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity 0.15s linear;\n -o-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n visibility: hidden;\n}\n.collapse.in {\n display: block;\n visibility: visible;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: height, visibility;\n transition-property: height, visibility;\n -webkit-transition-duration: 0.35s;\n transition-duration: 0.35s;\n -webkit-transition-timing-function: ease;\n transition-timing-function: ease;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px solid;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n list-style: none;\n font-size: 14px;\n text-align: left;\n background-color: #ffffff;\n border: 1px solid #cccccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n background-clip: padding-box;\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: 1.42857143;\n color: #333333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n text-decoration: none;\n color: #262626;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #ffffff;\n text-decoration: none;\n outline: 0;\n background-color: #428bca;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n cursor: not-allowed;\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n left: auto;\n right: 0;\n}\n.dropdown-menu-left {\n left: 0;\n right: auto;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n border-top: 0;\n border-bottom: 4px solid;\n content: \"\";\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 1px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n left: auto;\n right: 0;\n }\n .navbar-right .dropdown-menu-left {\n left: 0;\n right: auto;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus {\n outline: 0;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child > .btn:last-child,\n.btn-group > .btn-group:first-child > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group > .btn-group:last-child > .btn:first-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-left: 8px;\n padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-left: 12px;\n padding-right: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-bottom-left-radius: 4px;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n float: none;\n display: table-cell;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-left: 0;\n padding-right: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.33;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: normal;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #cccccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n margin-left: -1px;\n}\n.nav {\n margin-bottom: 0;\n padding-left: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n background-color: transparent;\n cursor: not-allowed;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #428bca;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #dddddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #dddddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555555;\n background-color: #ffffff;\n border: 1px solid #dddddd;\n border-bottom-color: transparent;\n cursor: default;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n text-align: center;\n margin-bottom: 5px;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #dddddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #dddddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #ffffff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #ffffff;\n background-color: #428bca;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n text-align: center;\n margin-bottom: 5px;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #dddddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #dddddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #ffffff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n visibility: hidden;\n}\n.tab-content > .active {\n display: block;\n visibility: visible;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n overflow-x: visible;\n padding-right: 15px;\n padding-left: 15px;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n visibility: visible !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-left: 0;\n padding-right: 0;\n }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.navbar-brand {\n float: left;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n height: 50px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n margin-right: 15px;\n padding: 9px 10px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n margin-left: -15px;\n margin-right: -15px;\n padding: 10px 15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8px;\n margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n border: 0;\n margin-left: 0;\n margin-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-left: 15px;\n margin-right: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #cccccc;\n background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n border-color: #dddddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #dddddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n background-color: #e7e7e7;\n color: #555555;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #cccccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-link {\n color: #777777;\n}\n.navbar-default .navbar-link:hover {\n color: #333333;\n}\n.navbar-default .btn-link {\n color: #777777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #cccccc;\n}\n.navbar-inverse {\n background-color: #222222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #ffffff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #ffffff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #ffffff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #ffffff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n background-color: #080808;\n color: #ffffff;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #ffffff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #ffffff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #ffffff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #ffffff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n content: \"/\\00a0\";\n padding: 0 5px;\n color: #cccccc;\n}\n.breadcrumb > .active {\n color: #777777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n line-height: 1.42857143;\n text-decoration: none;\n color: #428bca;\n background-color: #ffffff;\n border: 1px solid #dddddd;\n margin-left: -1px;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-bottom-left-radius: 4px;\n border-top-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-bottom-right-radius: 4px;\n border-top-right-radius: 4px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n color: #2a6496;\n background-color: #eeeeee;\n border-color: #dddddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 2;\n color: #ffffff;\n background-color: #428bca;\n border-color: #428bca;\n cursor: default;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777777;\n background-color: #ffffff;\n border-color: #dddddd;\n cursor: not-allowed;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-bottom-left-radius: 6px;\n border-top-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-bottom-right-radius: 6px;\n border-top-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-bottom-left-radius: 3px;\n border-top-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-bottom-right-radius: 3px;\n border-top-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n list-style: none;\n text-align: center;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #ffffff;\n border: 1px solid #dddddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777777;\n background-color: #ffffff;\n cursor: not-allowed;\n}\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #ffffff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n color: #ffffff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #428bca;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #3071a9;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n color: #ffffff;\n line-height: 1;\n vertical-align: baseline;\n white-space: nowrap;\n text-align: center;\n background-color: #777777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #ffffff;\n text-decoration: none;\n cursor: pointer;\n}\na.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #428bca;\n background-color: #ffffff;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding: 30px 15px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n border-radius: 6px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding: 48px 0;\n }\n .container .jumbotron {\n padding-left: 60px;\n padding-right: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #ffffff;\n border: 1px solid #dddddd;\n border-radius: 4px;\n -webkit-transition: border 0.2s ease-in-out;\n -o-transition: border 0.2s ease-in-out;\n transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-left: auto;\n margin-right: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #428bca;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n background-color: #dff0d8;\n border-color: #d6e9c6;\n color: #3c763d;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n background-color: #d9edf7;\n border-color: #bce8f1;\n color: #31708f;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n background-color: #fcf8e3;\n border-color: #faebcc;\n color: #8a6d3b;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n background-color: #f2dede;\n border-color: #ebccd1;\n color: #a94442;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n overflow: hidden;\n height: 20px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #ffffff;\n text-align: center;\n background-color: #428bca;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n -webkit-transition: width 0.6s ease;\n -o-transition: width 0.6s ease;\n transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n margin-bottom: 20px;\n padding-left: 0;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #ffffff;\n border: 1px solid #dddddd;\n}\n.list-group-item:first-child {\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\na.list-group-item {\n color: #555555;\n}\na.list-group-item .list-group-item-heading {\n color: #333333;\n}\na.list-group-item:hover,\na.list-group-item:focus {\n text-decoration: none;\n color: #555555;\n background-color: #f5f5f5;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n background-color: #eeeeee;\n color: #777777;\n cursor: not-allowed;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #ffffff;\n background-color: #428bca;\n border-color: #428bca;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #e1edf7;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\na.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\na.list-group-item-success.active:hover,\na.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\na.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\na.list-group-item-info.active:hover,\na.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\na.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\na.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #ffffff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #dddddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-left: 15px;\n padding-right: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #dddddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n border: 0;\n margin-bottom: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #dddddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #dddddd;\n}\n.panel-default {\n border-color: #dddddd;\n}\n.panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #dddddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #dddddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #dddddd;\n}\n.panel-primary {\n border-color: #428bca;\n}\n.panel-primary > .panel-heading {\n color: #ffffff;\n background-color: #428bca;\n border-color: #428bca;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #428bca;\n}\n.panel-primary > .panel-heading .badge {\n color: #428bca;\n background-color: #ffffff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #428bca;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n border: 0;\n}\n.embed-responsive.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000000;\n text-shadow: 0 1px 0 #ffffff;\n opacity: 0.2;\n filter: alpha(opacity=20);\n}\n.close:hover,\n.close:focus {\n color: #000000;\n text-decoration: none;\n cursor: pointer;\n opacity: 0.5;\n filter: alpha(opacity=50);\n}\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n display: none;\n overflow: hidden;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -moz-transition: -moz-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #ffffff;\n border: 1px solid #999999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n background-clip: padding-box;\n outline: 0;\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: #000000;\n}\n.modal-backdrop.fade {\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.modal-backdrop.in {\n opacity: 0.5;\n filter: alpha(opacity=50);\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n min-height: 16.42857143px;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-left: 5px;\n margin-bottom: 0;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n visibility: visible;\n font-size: 12px;\n line-height: 1.4;\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.tooltip.in {\n opacity: 0.9;\n filter: alpha(opacity=90);\n}\n.tooltip.top {\n margin-top: -3px;\n padding: 5px 0;\n}\n.tooltip.right {\n margin-left: 3px;\n padding: 0 5px;\n}\n.tooltip.bottom {\n margin-top: 3px;\n padding: 5px 0;\n}\n.tooltip.left {\n margin-left: -3px;\n padding: 0 5px;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #ffffff;\n text-align: center;\n text-decoration: none;\n background-color: #000000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000000;\n}\n.tooltip.top-left .tooltip-arrow {\n bottom: 0;\n left: 5px;\n border-width: 5px 5px 0;\n border-top-color: #000000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n right: 5px;\n border-width: 5px 5px 0;\n border-top-color: #000000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n left: 5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n right: 5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000000;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-size: 14px;\n font-weight: normal;\n line-height: 1.42857143;\n text-align: left;\n background-color: #ffffff;\n background-clip: padding-box;\n border: 1px solid #cccccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n white-space: normal;\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover-title {\n margin: 0;\n padding: 8px 14px;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow:after {\n border-width: 10px;\n content: \"\";\n}\n.popover.top > .arrow {\n left: 50%;\n margin-left: -11px;\n border-bottom-width: 0;\n border-top-color: #999999;\n border-top-color: rgba(0, 0, 0, 0.25);\n bottom: -11px;\n}\n.popover.top > .arrow:after {\n content: \" \";\n bottom: 1px;\n margin-left: -10px;\n border-bottom-width: 0;\n border-top-color: #ffffff;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-left-width: 0;\n border-right-color: #999999;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n.popover.right > .arrow:after {\n content: \" \";\n left: 1px;\n bottom: -10px;\n border-left-width: 0;\n border-right-color: #ffffff;\n}\n.popover.bottom > .arrow {\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n top: -11px;\n}\n.popover.bottom > .arrow:after {\n content: \" \";\n top: 1px;\n margin-left: -10px;\n border-top-width: 0;\n border-bottom-color: #ffffff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999999;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n content: \" \";\n right: 1px;\n border-right-width: 0;\n border-left-color: #ffffff;\n bottom: -10px;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n overflow: hidden;\n width: 100%;\n}\n.carousel-inner > .item {\n display: none;\n position: relative;\n -webkit-transition: 0.6s ease-in-out left;\n -o-transition: 0.6s ease-in-out left;\n transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n transition: transform 0.6s ease-in-out;\n backface-visibility: hidden;\n perspective: 1000;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n transform: translate3d(100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n transform: translate3d(-100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n transform: translate3d(0, 0, 0);\n left: 0;\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 15%;\n opacity: 0.5;\n filter: alpha(opacity=50);\n font-size: 20px;\n color: #ffffff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n}\n.carousel-control.right {\n left: auto;\n right: 0;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n}\n.carousel-control:hover,\n.carousel-control:focus {\n outline: 0;\n color: #ffffff;\n text-decoration: none;\n opacity: 0.9;\n filter: alpha(opacity=90);\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n margin-top: -10px;\n font-family: serif;\n}\n.carousel-control .icon-prev:before {\n content: '\\2039';\n}\n.carousel-control .icon-next:before {\n content: '\\203a';\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n margin-left: -30%;\n padding-left: 0;\n list-style: none;\n text-align: center;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n border: 1px solid #ffffff;\n border-radius: 10px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n}\n.carousel-indicators .active {\n margin: 0;\n width: 12px;\n height: 12px;\n background-color: #ffffff;\n}\n.carousel-caption {\n position: absolute;\n left: 15%;\n right: 15%;\n bottom: 20px;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #ffffff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -15px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -15px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -15px;\n }\n .carousel-caption {\n left: 20%;\n right: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-footer:before,\n.modal-footer:after {\n content: \" \";\n display: table;\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n visibility: hidden !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","/*! normalize.css v3.0.2 | MIT License | git.io/normalize */\n\n//\n// 1. Set default font family to sans-serif.\n// 2. Prevent iOS text size adjust after orientation change, without disabling\n// user zoom.\n//\n\nhtml {\n font-family: sans-serif; // 1\n -ms-text-size-adjust: 100%; // 2\n -webkit-text-size-adjust: 100%; // 2\n}\n\n//\n// Remove default margin.\n//\n\nbody {\n margin: 0;\n}\n\n// HTML5 display definitions\n// ==========================================================================\n\n//\n// Correct `block` display not defined for any HTML5 element in IE 8/9.\n// Correct `block` display not defined for `details` or `summary` in IE 10/11\n// and Firefox.\n// Correct `block` display not defined for `main` in IE 11.\n//\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n//\n// 1. Correct `inline-block` display not defined in IE 8/9.\n// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n//\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; // 1\n vertical-align: baseline; // 2\n}\n\n//\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\n//\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n//\n// Address `[hidden]` styling not present in IE 8/9/10.\n// Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.\n//\n\n[hidden],\ntemplate {\n display: none;\n}\n\n// Links\n// ==========================================================================\n\n//\n// Remove the gray background color from active links in IE 10.\n//\n\na {\n background-color: transparent;\n}\n\n//\n// Improve readability when focused and also mouse hovered in all browsers.\n//\n\na:active,\na:hover {\n outline: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n//\n// Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n//\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n//\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n//\n\nb,\nstrong {\n font-weight: bold;\n}\n\n//\n// Address styling not present in Safari and Chrome.\n//\n\ndfn {\n font-style: italic;\n}\n\n//\n// Address variable `h1` font-size and margin within `section` and `article`\n// contexts in Firefox 4+, Safari, and Chrome.\n//\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n//\n// Address inconsistent and variable font size in all browsers.\n//\n\nsmall {\n font-size: 80%;\n}\n\n//\n// Prevent `sub` and `sup` affecting `line-height` in all browsers.\n//\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n// Embedded content\n// ==========================================================================\n\n//\n// Remove border when inside `a` element in IE 8/9/10.\n//\n\nimg {\n border: 0;\n}\n\n//\n// Correct overflow not hidden in IE 9/10/11.\n//\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n//\n// Address margin not present in IE 8/9 and Safari.\n//\n\nfigure {\n margin: 1em 40px;\n}\n\n//\n// Address differences between Firefox and other browsers.\n//\n\nhr {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\n\n//\n// Contain overflow in all browsers.\n//\n\npre {\n overflow: auto;\n}\n\n//\n// Address odd `em`-unit font size rendering in all browsers.\n//\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n//\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n//\n\n//\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; // 1\n font: inherit; // 2\n margin: 0; // 3\n}\n\n//\n// Address `overflow` set to `hidden` in IE 8/9/10/11.\n//\n\nbutton {\n overflow: visible;\n}\n\n//\n// Address inconsistent `text-transform` inheritance for `button` and `select`.\n// All other form control elements do not inherit `text-transform` values.\n// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n// Correct `select` style inheritance in Firefox.\n//\n\nbutton,\nselect {\n text-transform: none;\n}\n\n//\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\n//\n\nbutton,\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; // 2\n cursor: pointer; // 3\n}\n\n//\n// Re-set default cursor for disabled elements.\n//\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n//\n// Remove inner padding and border in Firefox 4+.\n//\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n//\n// Address Firefox 4+ setting `line-height` on `input` using `!important` in\n// the UA stylesheet.\n//\n\ninput {\n line-height: normal;\n}\n\n//\n// It's recommended that you don't attempt to style these elements.\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n//\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\n//\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; // 1\n padding: 0; // 2\n}\n\n//\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\n//\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n//\n// 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n// 2. Address `box-sizing` set to `border-box` in Safari and Chrome\n// (include `-moz` to future-proof).\n//\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; // 1\n -moz-box-sizing: content-box;\n -webkit-box-sizing: content-box; // 2\n box-sizing: content-box;\n}\n\n//\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\n//\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// Define consistent border, margin, and padding.\n//\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n//\n// 1. Correct `color` not being inherited in IE 8/9/10/11.\n// 2. Remove padding so people aren't caught out if they zero out fieldsets.\n//\n\nlegend {\n border: 0; // 1\n padding: 0; // 2\n}\n\n//\n// Remove default vertical scrollbar in IE 8/9/10/11.\n//\n\ntextarea {\n overflow: auto;\n}\n\n//\n// Don't inherit the `font-weight` (applied by a rule above).\n// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n//\n\noptgroup {\n font-weight: bold;\n}\n\n// Tables\n// ==========================================================================\n\n//\n// Remove most spacing between table cells.\n//\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request: h5bp.com/r\n// ==========================================================================\n\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important; // Black prints faster: h5bp.com/s\n box-shadow: none !important;\n text-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n\n thead {\n display: table-header-group; // h5bp.com/t\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n img {\n max-width: 100% !important;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n //\n // Chrome (OSX) fix for https://github.com/twbs/bootstrap/issues/11245\n // Once fixed, we can just straight up remove this.\n select {\n background: #fff !important;\n }\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .btn,\n .dropup > .btn {\n > .caret {\n border-top-color: #000 !important;\n }\n }\n .label {\n border: 1px solid #000;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: #fff !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid #ddd !important;\n }\n }\n\n // Bootstrap specific changes end\n}\n","//\n// Glyphicons for Bootstrap\n//\n// Since icons are fonts, they can be placed anywhere text is placed and are\n// thus automatically sized to match the surrounding child. To use, create an\n// inline element with the appropriate classes, like so:\n//\n// Star\n\n// Import the fonts\n@font-face {\n font-family: 'Glyphicons Halflings';\n src: url('@{icon-font-path}@{icon-font-name}.eot');\n src: url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype'),\n url('@{icon-font-path}@{icon-font-name}.woff') format('woff'),\n url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype'),\n url('@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}') format('svg');\n}\n\n// Catchall baseclass\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Individual icons\n.glyphicon-asterisk { &:before { content: \"\\2a\"; } }\n.glyphicon-plus { &:before { content: \"\\2b\"; } }\n.glyphicon-euro,\n.glyphicon-eur { &:before { content: \"\\20ac\"; } }\n.glyphicon-minus { &:before { content: \"\\2212\"; } }\n.glyphicon-cloud { &:before { content: \"\\2601\"; } }\n.glyphicon-envelope { &:before { content: \"\\2709\"; } }\n.glyphicon-pencil { &:before { content: \"\\270f\"; } }\n.glyphicon-glass { &:before { content: \"\\e001\"; } }\n.glyphicon-music { &:before { content: \"\\e002\"; } }\n.glyphicon-search { &:before { content: \"\\e003\"; } }\n.glyphicon-heart { &:before { content: \"\\e005\"; } }\n.glyphicon-star { &:before { content: \"\\e006\"; } }\n.glyphicon-star-empty { &:before { content: \"\\e007\"; } }\n.glyphicon-user { &:before { content: \"\\e008\"; } }\n.glyphicon-film { &:before { content: \"\\e009\"; } }\n.glyphicon-th-large { &:before { content: \"\\e010\"; } }\n.glyphicon-th { &:before { content: \"\\e011\"; } }\n.glyphicon-th-list { &:before { content: \"\\e012\"; } }\n.glyphicon-ok { &:before { content: \"\\e013\"; } }\n.glyphicon-remove { &:before { content: \"\\e014\"; } }\n.glyphicon-zoom-in { &:before { content: \"\\e015\"; } }\n.glyphicon-zoom-out { &:before { content: \"\\e016\"; } }\n.glyphicon-off { &:before { content: \"\\e017\"; } }\n.glyphicon-signal { &:before { content: \"\\e018\"; } }\n.glyphicon-cog { &:before { content: \"\\e019\"; } }\n.glyphicon-trash { &:before { content: \"\\e020\"; } }\n.glyphicon-home { &:before { content: \"\\e021\"; } }\n.glyphicon-file { &:before { content: \"\\e022\"; } }\n.glyphicon-time { &:before { content: \"\\e023\"; } }\n.glyphicon-road { &:before { content: \"\\e024\"; } }\n.glyphicon-download-alt { &:before { content: \"\\e025\"; } }\n.glyphicon-download { &:before { content: \"\\e026\"; } }\n.glyphicon-upload { &:before { content: \"\\e027\"; } }\n.glyphicon-inbox { &:before { content: \"\\e028\"; } }\n.glyphicon-play-circle { &:before { content: \"\\e029\"; } }\n.glyphicon-repeat { &:before { content: \"\\e030\"; } }\n.glyphicon-refresh { &:before { content: \"\\e031\"; } }\n.glyphicon-list-alt { &:before { content: \"\\e032\"; } }\n.glyphicon-lock { &:before { content: \"\\e033\"; } }\n.glyphicon-flag { &:before { content: \"\\e034\"; } }\n.glyphicon-headphones { &:before { content: \"\\e035\"; } }\n.glyphicon-volume-off { &:before { content: \"\\e036\"; } }\n.glyphicon-volume-down { &:before { content: \"\\e037\"; } }\n.glyphicon-volume-up { &:before { content: \"\\e038\"; } }\n.glyphicon-qrcode { &:before { content: \"\\e039\"; } }\n.glyphicon-barcode { &:before { content: \"\\e040\"; } }\n.glyphicon-tag { &:before { content: \"\\e041\"; } }\n.glyphicon-tags { &:before { content: \"\\e042\"; } }\n.glyphicon-book { &:before { content: \"\\e043\"; } }\n.glyphicon-bookmark { &:before { content: \"\\e044\"; } }\n.glyphicon-print { &:before { content: \"\\e045\"; } }\n.glyphicon-camera { &:before { content: \"\\e046\"; } }\n.glyphicon-font { &:before { content: \"\\e047\"; } }\n.glyphicon-bold { &:before { content: \"\\e048\"; } }\n.glyphicon-italic { &:before { content: \"\\e049\"; } }\n.glyphicon-text-height { &:before { content: \"\\e050\"; } }\n.glyphicon-text-width { &:before { content: \"\\e051\"; } }\n.glyphicon-align-left { &:before { content: \"\\e052\"; } }\n.glyphicon-align-center { &:before { content: \"\\e053\"; } }\n.glyphicon-align-right { &:before { content: \"\\e054\"; } }\n.glyphicon-align-justify { &:before { content: \"\\e055\"; } }\n.glyphicon-list { &:before { content: \"\\e056\"; } }\n.glyphicon-indent-left { &:before { content: \"\\e057\"; } }\n.glyphicon-indent-right { &:before { content: \"\\e058\"; } }\n.glyphicon-facetime-video { &:before { content: \"\\e059\"; } }\n.glyphicon-picture { &:before { content: \"\\e060\"; } }\n.glyphicon-map-marker { &:before { content: \"\\e062\"; } }\n.glyphicon-adjust { &:before { content: \"\\e063\"; } }\n.glyphicon-tint { &:before { content: \"\\e064\"; } }\n.glyphicon-edit { &:before { content: \"\\e065\"; } }\n.glyphicon-share { &:before { content: \"\\e066\"; } }\n.glyphicon-check { &:before { content: \"\\e067\"; } }\n.glyphicon-move { &:before { content: \"\\e068\"; } }\n.glyphicon-step-backward { &:before { content: \"\\e069\"; } }\n.glyphicon-fast-backward { &:before { content: \"\\e070\"; } }\n.glyphicon-backward { &:before { content: \"\\e071\"; } }\n.glyphicon-play { &:before { content: \"\\e072\"; } }\n.glyphicon-pause { &:before { content: \"\\e073\"; } }\n.glyphicon-stop { &:before { content: \"\\e074\"; } }\n.glyphicon-forward { &:before { content: \"\\e075\"; } }\n.glyphicon-fast-forward { &:before { content: \"\\e076\"; } }\n.glyphicon-step-forward { &:before { content: \"\\e077\"; } }\n.glyphicon-eject { &:before { content: \"\\e078\"; } }\n.glyphicon-chevron-left { &:before { content: \"\\e079\"; } }\n.glyphicon-chevron-right { &:before { content: \"\\e080\"; } }\n.glyphicon-plus-sign { &:before { content: \"\\e081\"; } }\n.glyphicon-minus-sign { &:before { content: \"\\e082\"; } }\n.glyphicon-remove-sign { &:before { content: \"\\e083\"; } }\n.glyphicon-ok-sign { &:before { content: \"\\e084\"; } }\n.glyphicon-question-sign { &:before { content: \"\\e085\"; } }\n.glyphicon-info-sign { &:before { content: \"\\e086\"; } }\n.glyphicon-screenshot { &:before { content: \"\\e087\"; } }\n.glyphicon-remove-circle { &:before { content: \"\\e088\"; } }\n.glyphicon-ok-circle { &:before { content: \"\\e089\"; } }\n.glyphicon-ban-circle { &:before { content: \"\\e090\"; } }\n.glyphicon-arrow-left { &:before { content: \"\\e091\"; } }\n.glyphicon-arrow-right { &:before { content: \"\\e092\"; } }\n.glyphicon-arrow-up { &:before { content: \"\\e093\"; } }\n.glyphicon-arrow-down { &:before { content: \"\\e094\"; } }\n.glyphicon-share-alt { &:before { content: \"\\e095\"; } }\n.glyphicon-resize-full { &:before { content: \"\\e096\"; } }\n.glyphicon-resize-small { &:before { content: \"\\e097\"; } }\n.glyphicon-exclamation-sign { &:before { content: \"\\e101\"; } }\n.glyphicon-gift { &:before { content: \"\\e102\"; } }\n.glyphicon-leaf { &:before { content: \"\\e103\"; } }\n.glyphicon-fire { &:before { content: \"\\e104\"; } }\n.glyphicon-eye-open { &:before { content: \"\\e105\"; } }\n.glyphicon-eye-close { &:before { content: \"\\e106\"; } }\n.glyphicon-warning-sign { &:before { content: \"\\e107\"; } }\n.glyphicon-plane { &:before { content: \"\\e108\"; } }\n.glyphicon-calendar { &:before { content: \"\\e109\"; } }\n.glyphicon-random { &:before { content: \"\\e110\"; } }\n.glyphicon-comment { &:before { content: \"\\e111\"; } }\n.glyphicon-magnet { &:before { content: \"\\e112\"; } }\n.glyphicon-chevron-up { &:before { content: \"\\e113\"; } }\n.glyphicon-chevron-down { &:before { content: \"\\e114\"; } }\n.glyphicon-retweet { &:before { content: \"\\e115\"; } }\n.glyphicon-shopping-cart { &:before { content: \"\\e116\"; } }\n.glyphicon-folder-close { &:before { content: \"\\e117\"; } }\n.glyphicon-folder-open { &:before { content: \"\\e118\"; } }\n.glyphicon-resize-vertical { &:before { content: \"\\e119\"; } }\n.glyphicon-resize-horizontal { &:before { content: \"\\e120\"; } }\n.glyphicon-hdd { &:before { content: \"\\e121\"; } }\n.glyphicon-bullhorn { &:before { content: \"\\e122\"; } }\n.glyphicon-bell { &:before { content: \"\\e123\"; } }\n.glyphicon-certificate { &:before { content: \"\\e124\"; } }\n.glyphicon-thumbs-up { &:before { content: \"\\e125\"; } }\n.glyphicon-thumbs-down { &:before { content: \"\\e126\"; } }\n.glyphicon-hand-right { &:before { content: \"\\e127\"; } }\n.glyphicon-hand-left { &:before { content: \"\\e128\"; } }\n.glyphicon-hand-up { &:before { content: \"\\e129\"; } }\n.glyphicon-hand-down { &:before { content: \"\\e130\"; } }\n.glyphicon-circle-arrow-right { &:before { content: \"\\e131\"; } }\n.glyphicon-circle-arrow-left { &:before { content: \"\\e132\"; } }\n.glyphicon-circle-arrow-up { &:before { content: \"\\e133\"; } }\n.glyphicon-circle-arrow-down { &:before { content: \"\\e134\"; } }\n.glyphicon-globe { &:before { content: \"\\e135\"; } }\n.glyphicon-wrench { &:before { content: \"\\e136\"; } }\n.glyphicon-tasks { &:before { content: \"\\e137\"; } }\n.glyphicon-filter { &:before { content: \"\\e138\"; } }\n.glyphicon-briefcase { &:before { content: \"\\e139\"; } }\n.glyphicon-fullscreen { &:before { content: \"\\e140\"; } }\n.glyphicon-dashboard { &:before { content: \"\\e141\"; } }\n.glyphicon-paperclip { &:before { content: \"\\e142\"; } }\n.glyphicon-heart-empty { &:before { content: \"\\e143\"; } }\n.glyphicon-link { &:before { content: \"\\e144\"; } }\n.glyphicon-phone { &:before { content: \"\\e145\"; } }\n.glyphicon-pushpin { &:before { content: \"\\e146\"; } }\n.glyphicon-usd { &:before { content: \"\\e148\"; } }\n.glyphicon-gbp { &:before { content: \"\\e149\"; } }\n.glyphicon-sort { &:before { content: \"\\e150\"; } }\n.glyphicon-sort-by-alphabet { &:before { content: \"\\e151\"; } }\n.glyphicon-sort-by-alphabet-alt { &:before { content: \"\\e152\"; } }\n.glyphicon-sort-by-order { &:before { content: \"\\e153\"; } }\n.glyphicon-sort-by-order-alt { &:before { content: \"\\e154\"; } }\n.glyphicon-sort-by-attributes { &:before { content: \"\\e155\"; } }\n.glyphicon-sort-by-attributes-alt { &:before { content: \"\\e156\"; } }\n.glyphicon-unchecked { &:before { content: \"\\e157\"; } }\n.glyphicon-expand { &:before { content: \"\\e158\"; } }\n.glyphicon-collapse-down { &:before { content: \"\\e159\"; } }\n.glyphicon-collapse-up { &:before { content: \"\\e160\"; } }\n.glyphicon-log-in { &:before { content: \"\\e161\"; } }\n.glyphicon-flash { &:before { content: \"\\e162\"; } }\n.glyphicon-log-out { &:before { content: \"\\e163\"; } }\n.glyphicon-new-window { &:before { content: \"\\e164\"; } }\n.glyphicon-record { &:before { content: \"\\e165\"; } }\n.glyphicon-save { &:before { content: \"\\e166\"; } }\n.glyphicon-open { &:before { content: \"\\e167\"; } }\n.glyphicon-saved { &:before { content: \"\\e168\"; } }\n.glyphicon-import { &:before { content: \"\\e169\"; } }\n.glyphicon-export { &:before { content: \"\\e170\"; } }\n.glyphicon-send { &:before { content: \"\\e171\"; } }\n.glyphicon-floppy-disk { &:before { content: \"\\e172\"; } }\n.glyphicon-floppy-saved { &:before { content: \"\\e173\"; } }\n.glyphicon-floppy-remove { &:before { content: \"\\e174\"; } }\n.glyphicon-floppy-save { &:before { content: \"\\e175\"; } }\n.glyphicon-floppy-open { &:before { content: \"\\e176\"; } }\n.glyphicon-credit-card { &:before { content: \"\\e177\"; } }\n.glyphicon-transfer { &:before { content: \"\\e178\"; } }\n.glyphicon-cutlery { &:before { content: \"\\e179\"; } }\n.glyphicon-header { &:before { content: \"\\e180\"; } }\n.glyphicon-compressed { &:before { content: \"\\e181\"; } }\n.glyphicon-earphone { &:before { content: \"\\e182\"; } }\n.glyphicon-phone-alt { &:before { content: \"\\e183\"; } }\n.glyphicon-tower { &:before { content: \"\\e184\"; } }\n.glyphicon-stats { &:before { content: \"\\e185\"; } }\n.glyphicon-sd-video { &:before { content: \"\\e186\"; } }\n.glyphicon-hd-video { &:before { content: \"\\e187\"; } }\n.glyphicon-subtitles { &:before { content: \"\\e188\"; } }\n.glyphicon-sound-stereo { &:before { content: \"\\e189\"; } }\n.glyphicon-sound-dolby { &:before { content: \"\\e190\"; } }\n.glyphicon-sound-5-1 { &:before { content: \"\\e191\"; } }\n.glyphicon-sound-6-1 { &:before { content: \"\\e192\"; } }\n.glyphicon-sound-7-1 { &:before { content: \"\\e193\"; } }\n.glyphicon-copyright-mark { &:before { content: \"\\e194\"; } }\n.glyphicon-registration-mark { &:before { content: \"\\e195\"; } }\n.glyphicon-cloud-download { &:before { content: \"\\e197\"; } }\n.glyphicon-cloud-upload { &:before { content: \"\\e198\"; } }\n.glyphicon-tree-conifer { &:before { content: \"\\e199\"; } }\n.glyphicon-tree-deciduous { &:before { content: \"\\e200\"; } }\n","//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This reset may cause conflicts with some third-party widgets.\n// For recommendations on resolving such conflicts, see\n// http://getbootstrap.com/getting-started/#third-box-sizing\n* {\n .box-sizing(border-box);\n}\n*:before,\n*:after {\n .box-sizing(border-box);\n}\n\n\n// Body reset\n\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n}\n\nbody {\n font-family: @font-family-base;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @text-color;\n background-color: @body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\n\n// Links\n\na {\n color: @link-color;\n text-decoration: none;\n\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n }\n\n &:focus {\n .tab-focus();\n }\n}\n\n\n// Figures\n//\n// We reset this here because previously Normalize had no `figure` margins. This\n// ensures we don't break anyone's use of the element.\n\nfigure {\n margin: 0;\n}\n\n\n// Images\n\nimg {\n vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n .img-responsive();\n}\n\n// Rounded corners\n.img-rounded {\n border-radius: @border-radius-large;\n}\n\n// Image thumbnails\n//\n// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.\n.img-thumbnail {\n padding: @thumbnail-padding;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(all .2s ease-in-out);\n\n // Keep them at most 100% wide\n .img-responsive(inline-block);\n}\n\n// Perfect circle\n.img-circle {\n border-radius: 50%; // set radius in percents\n}\n\n\n// Horizontal rules\n\nhr {\n margin-top: @line-height-computed;\n margin-bottom: @line-height-computed;\n border: 0;\n border-top: 1px solid @hr-border;\n}\n\n\n// Only display content to screen readers\n//\n// See: http://a11yproject.com/posts/how-to-hide-content/\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0,0,0,0);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n }\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They will be removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility){\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // See https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// WebKit-style focus\n\n.tab-focus() {\n // Default\n outline: thin dotted;\n // WebKit\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n.img-responsive(@display: block) {\n display: @display;\n max-width: 100%; // Part 1: Set a maximum relative to the parent\n height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size. Note that the\n// spelling of `min--moz-device-pixel-ratio` is intentional.\n.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {\n background-image: url(\"@{file-1x}\");\n\n @media\n only screen and (-webkit-min-device-pixel-ratio: 2),\n only screen and ( min--moz-device-pixel-ratio: 2),\n only screen and ( -o-min-device-pixel-ratio: 2/1),\n only screen and ( min-device-pixel-ratio: 2),\n only screen and ( min-resolution: 192dpi),\n only screen and ( min-resolution: 2dppx) {\n background-image: url(\"@{file-2x}\");\n background-size: @width-1x @height-1x;\n }\n}\n","//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n font-family: @headings-font-family;\n font-weight: @headings-font-weight;\n line-height: @headings-line-height;\n color: @headings-color;\n\n small,\n .small {\n font-weight: normal;\n line-height: 1;\n color: @headings-small-color;\n }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n margin-top: @line-height-computed;\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 65%;\n }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n margin-top: (@line-height-computed / 2);\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 75%;\n }\n}\n\nh1, .h1 { font-size: @font-size-h1; }\nh2, .h2 { font-size: @font-size-h2; }\nh3, .h3 { font-size: @font-size-h3; }\nh4, .h4 { font-size: @font-size-h4; }\nh5, .h5 { font-size: @font-size-h5; }\nh6, .h6 { font-size: @font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n margin: 0 0 (@line-height-computed / 2);\n}\n\n.lead {\n margin-bottom: @line-height-computed;\n font-size: floor((@font-size-base * 1.15));\n font-weight: 300;\n line-height: 1.4;\n\n @media (min-width: @screen-sm-min) {\n font-size: (@font-size-base * 1.5);\n }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: (12px small font / 14px base font) * 100% = about 85%\nsmall,\n.small {\n font-size: floor((100% * @font-size-small / @font-size-base));\n}\n\nmark,\n.mark {\n background-color: @state-warning-bg;\n padding: .2em;\n}\n\n// Alignment\n.text-left { text-align: left; }\n.text-right { text-align: right; }\n.text-center { text-align: center; }\n.text-justify { text-align: justify; }\n.text-nowrap { white-space: nowrap; }\n\n// Transformation\n.text-lowercase { text-transform: lowercase; }\n.text-uppercase { text-transform: uppercase; }\n.text-capitalize { text-transform: capitalize; }\n\n// Contextual colors\n.text-muted {\n color: @text-muted;\n}\n.text-primary {\n .text-emphasis-variant(@brand-primary);\n}\n.text-success {\n .text-emphasis-variant(@state-success-text);\n}\n.text-info {\n .text-emphasis-variant(@state-info-text);\n}\n.text-warning {\n .text-emphasis-variant(@state-warning-text);\n}\n.text-danger {\n .text-emphasis-variant(@state-danger-text);\n}\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n // Given the contrast here, this is the only class to have its color inverted\n // automatically.\n color: #fff;\n .bg-variant(@brand-primary);\n}\n.bg-success {\n .bg-variant(@state-success-bg);\n}\n.bg-info {\n .bg-variant(@state-info-bg);\n}\n.bg-warning {\n .bg-variant(@state-warning-bg);\n}\n.bg-danger {\n .bg-variant(@state-danger-bg);\n}\n\n\n// Page header\n// -------------------------\n\n.page-header {\n padding-bottom: ((@line-height-computed / 2) - 1);\n margin: (@line-height-computed * 2) 0 @line-height-computed;\n border-bottom: 1px solid @page-header-border-color;\n}\n\n\n// Lists\n// -------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n margin-top: 0;\n margin-bottom: (@line-height-computed / 2);\n ul,\n ol {\n margin-bottom: 0;\n }\n}\n\n// List options\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n .list-unstyled();\n margin-left: -5px;\n\n > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px;\n }\n}\n\n// Description Lists\ndl {\n margin-top: 0; // Remove browser default\n margin-bottom: @line-height-computed;\n}\ndt,\ndd {\n line-height: @line-height-base;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n.dl-horizontal {\n dd {\n &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present\n }\n\n @media (min-width: @grid-float-breakpoint) {\n dt {\n float: left;\n width: (@dl-horizontal-offset - 20);\n clear: left;\n text-align: right;\n .text-overflow();\n }\n dd {\n margin-left: @dl-horizontal-offset;\n }\n }\n}\n\n\n// Misc\n// -------------------------\n\n// Abbreviations and acronyms\nabbr[title],\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted @abbr-border-color;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n// Blockquotes\nblockquote {\n padding: (@line-height-computed / 2) @line-height-computed;\n margin: 0 0 @line-height-computed;\n font-size: @blockquote-font-size;\n border-left: 5px solid @blockquote-border-color;\n\n p,\n ul,\n ol {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n // Note: Deprecated small and .small as of v3.1.0\n // Context: https://github.com/twbs/bootstrap/issues/11660\n footer,\n small,\n .small {\n display: block;\n font-size: 80%; // back to default font-size\n line-height: @line-height-base;\n color: @blockquote-small-color;\n\n &:before {\n content: '\\2014 \\00A0'; // em dash, nbsp\n }\n }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid @blockquote-border-color;\n border-left: 0;\n text-align: right;\n\n // Account for citation\n footer,\n small,\n .small {\n &:before { content: ''; }\n &:after {\n content: '\\00A0 \\2014'; // nbsp, em dash\n }\n }\n}\n\n// Addresses\naddress {\n margin-bottom: @line-height-computed;\n font-style: normal;\n line-height: @line-height-base;\n}\n","// Typography\n\n.text-emphasis-variant(@color) {\n color: @color;\n a&:hover {\n color: darken(@color, 10%);\n }\n}\n","// Contextual backgrounds\n\n.bg-variant(@color) {\n background-color: @color;\n a&:hover {\n background-color: darken(@color, 10%);\n }\n}\n","// Text overflow\n// Requires inline-block or block for proper styling\n\n.text-overflow() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: @font-family-monospace;\n}\n\n// Inline code\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: @code-color;\n background-color: @code-bg;\n border-radius: @border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: @kbd-color;\n background-color: @kbd-bg;\n border-radius: @border-radius-small;\n box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none;\n }\n}\n\n// Blocks of code\npre {\n display: block;\n padding: ((@line-height-computed - 1) / 2);\n margin: 0 0 (@line-height-computed / 2);\n font-size: (@font-size-base - 1); // 14px to 13px\n line-height: @line-height-base;\n word-break: break-all;\n word-wrap: break-word;\n color: @pre-color;\n background-color: @pre-bg;\n border: 1px solid @pre-border-color;\n border-radius: @border-radius-base;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: @pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n .container-fixed();\n\n @media (min-width: @screen-sm-min) {\n width: @container-sm;\n }\n @media (min-width: @screen-md-min) {\n width: @container-md;\n }\n @media (min-width: @screen-lg-min) {\n width: @container-lg;\n }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n .container-fixed();\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n .make-row();\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n.make-grid-columns();\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n.make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: @screen-sm-min) {\n .make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: @screen-md-min) {\n .make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: @screen-lg-min) {\n .make-grid(lg);\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n.container-fixed(@gutter: @grid-gutter-width) {\n margin-right: auto;\n margin-left: auto;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n &:extend(.clearfix all);\n}\n\n// Creates a wrapper for a series of columns\n.make-row(@gutter: @grid-gutter-width) {\n margin-left: (@gutter / -2);\n margin-right: (@gutter / -2);\n &:extend(.clearfix all);\n}\n\n// Generate the extra small columns\n.make-xs-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n float: left;\n width: percentage((@columns / @grid-columns));\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n}\n.make-xs-column-offset(@columns) {\n margin-left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-push(@columns) {\n left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-pull(@columns) {\n right: percentage((@columns / @grid-columns));\n}\n\n// Generate the small columns\n.make-sm-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-sm-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-offset(@columns) {\n @media (min-width: @screen-sm-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-push(@columns) {\n @media (min-width: @screen-sm-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-pull(@columns) {\n @media (min-width: @screen-sm-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the medium columns\n.make-md-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-md-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-offset(@columns) {\n @media (min-width: @screen-md-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-push(@columns) {\n @media (min-width: @screen-md-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-pull(@columns) {\n @media (min-width: @screen-md-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the large columns\n.make-lg-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-lg-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-offset(@columns) {\n @media (min-width: @screen-lg-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-push(@columns) {\n @media (min-width: @screen-lg-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-pull(@columns) {\n @media (min-width: @screen-lg-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `@grid-columns`.\n\n.make-grid-columns() {\n // Common styles for all sizes of grid columns, widths 1-12\n .col(@index) when (@index = 1) { // initial\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general; \"=<\" isn't a typo\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n position: relative;\n // Prevent columns from collapsing when empty\n min-height: 1px;\n // Inner gutter via padding\n padding-left: (@grid-gutter-width / 2);\n padding-right: (@grid-gutter-width / 2);\n }\n }\n .col(1); // kickstart it\n}\n\n.float-grid-columns(@class) {\n .col(@index) when (@index = 1) { // initial\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n float: left;\n }\n }\n .col(1); // kickstart it\n}\n\n.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {\n .col-@{class}-@{index} {\n width: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {\n .col-@{class}-push-@{index} {\n left: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {\n .col-@{class}-push-0 {\n left: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {\n .col-@{class}-pull-@{index} {\n right: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {\n .col-@{class}-pull-0 {\n right: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = offset) {\n .col-@{class}-offset-@{index} {\n margin-left: percentage((@index / @grid-columns));\n }\n}\n\n// Basic looping in LESS\n.loop-grid-columns(@index, @class, @type) when (@index >= 0) {\n .calc-grid-column(@index, @class, @type);\n // next iteration\n .loop-grid-columns((@index - 1), @class, @type);\n}\n\n// Create grid for specific class\n.make-grid(@class) {\n .float-grid-columns(@class);\n .loop-grid-columns(@grid-columns, @class, width);\n .loop-grid-columns(@grid-columns, @class, pull);\n .loop-grid-columns(@grid-columns, @class, push);\n .loop-grid-columns(@grid-columns, @class, offset);\n}\n","//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n background-color: @table-bg;\n}\ncaption {\n padding-top: @table-cell-padding;\n padding-bottom: @table-cell-padding;\n color: @text-muted;\n text-align: left;\n}\nth {\n text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: @line-height-computed;\n // Cells\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-cell-padding;\n line-height: @line-height-base;\n vertical-align: top;\n border-top: 1px solid @table-border-color;\n }\n }\n }\n // Bottom align for column headings\n > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid @table-border-color;\n }\n // Remove top border from thead by default\n > caption + thead,\n > colgroup + thead,\n > thead:first-child {\n > tr:first-child {\n > th,\n > td {\n border-top: 0;\n }\n }\n }\n // Account for multiple tbody instances\n > tbody + tbody {\n border-top: 2px solid @table-border-color;\n }\n\n // Nesting\n .table {\n background-color: @body-bg;\n }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-condensed-cell-padding;\n }\n }\n }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n border: 1px solid @table-border-color;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n border: 1px solid @table-border-color;\n }\n }\n }\n > thead > tr {\n > th,\n > td {\n border-bottom-width: 2px;\n }\n }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n > tbody > tr:nth-child(odd) {\n background-color: @table-bg-accent;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n > tbody > tr:hover {\n background-color: @table-bg-hover;\n }\n}\n\n\n// Table cell sizing\n//\n// Reset default table behavior\n\ntable col[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-column;\n}\ntable {\n td,\n th {\n &[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-cell;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n.table-row-variant(active; @table-bg-active);\n.table-row-variant(success; @state-success-bg);\n.table-row-variant(info; @state-info-bg);\n.table-row-variant(warning; @state-warning-bg);\n.table-row-variant(danger; @state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)\n\n @media screen and (max-width: @screen-xs-max) {\n width: 100%;\n margin-bottom: (@line-height-computed * 0.75);\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid @table-border-color;\n\n // Tighten up spacing\n > .table {\n margin-bottom: 0;\n\n // Ensure the content doesn't wrap\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n white-space: nowrap;\n }\n }\n }\n }\n\n // Special overrides for the bordered tables\n > .table-bordered {\n border: 0;\n\n // Nuke the appropriate borders so that the parent can handle them\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n\n // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n // chances are there will be only one `tr` in a `thead` and that would\n // remove the border altogether.\n > tbody,\n > tfoot {\n > tr:last-child {\n > th,\n > td {\n border-bottom: 0;\n }\n }\n }\n\n }\n }\n}\n","// Tables\n\n.table-row-variant(@state; @background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table > thead > tr,\n .table > tbody > tr,\n .table > tfoot > tr {\n > td.@{state},\n > th.@{state},\n &.@{state} > td,\n &.@{state} > th {\n background-color: @background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover > tbody > tr {\n > td.@{state}:hover,\n > th.@{state}:hover,\n &.@{state}:hover > td,\n &:hover > .@{state},\n &.@{state}:hover > th {\n background-color: darken(@background, 5%);\n }\n }\n}\n","//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n // so we reset that to ensure it behaves more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359.\n min-width: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: @line-height-computed;\n font-size: (@font-size-base * 1.5);\n line-height: inherit;\n color: @legend-color;\n border: 0;\n border-bottom: 1px solid @legend-border-color;\n}\n\nlabel {\n display: inline-block;\n max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)\n margin-bottom: 5px;\n font-weight: bold;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\n// Override content-box in Normalize (* isn't specific enough)\ninput[type=\"search\"] {\n .box-sizing(border-box);\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9; // IE8-9\n line-height: normal;\n}\n\n// Set the height of file controls to match text inputs\ninput[type=\"file\"] {\n display: block;\n}\n\n// Make range inputs behave like textual form controls\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\n\n// Make multiple select elements height not fixed\nselect[multiple],\nselect[size] {\n height: auto;\n}\n\n// Focus for file, radio, and checkbox\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n .tab-focus();\n}\n\n// Adjust output element\noutput {\n display: block;\n padding-top: (@padding-base-vertical + 1);\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n}\n\n\n// Common form controls\n//\n// Shared size and type resets for form controls. Apply `.form-control` to any\n// of the following form controls:\n//\n// select\n// textarea\n// input[type=\"text\"]\n// input[type=\"password\"]\n// input[type=\"datetime\"]\n// input[type=\"datetime-local\"]\n// input[type=\"date\"]\n// input[type=\"month\"]\n// input[type=\"time\"]\n// input[type=\"week\"]\n// input[type=\"number\"]\n// input[type=\"email\"]\n// input[type=\"url\"]\n// input[type=\"search\"]\n// input[type=\"tel\"]\n// input[type=\"color\"]\n\n.form-control {\n display: block;\n width: 100%;\n height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)\n padding: @padding-base-vertical @padding-base-horizontal;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n background-color: @input-bg;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid @input-border;\n border-radius: @input-border-radius;\n .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));\n .transition(~\"border-color ease-in-out .15s, box-shadow ease-in-out .15s\");\n\n // Customize the `:focus` state to imitate native WebKit styles.\n .form-control-focus();\n\n // Placeholder\n .placeholder();\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &[disabled],\n &[readonly],\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n background-color: @input-bg-disabled;\n opacity: 1; // iOS fix for unreadable disabled content\n }\n\n // Reset height for `textarea`s\n textarea& {\n height: auto;\n }\n}\n\n\n// Search inputs in iOS\n//\n// This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n\n\n// Special styles for iOS temporal inputs\n//\n// In Mobile Safari, setting `display: block` on temporal inputs causes the\n// text within the input to become vertically misaligned.\n// As a workaround, we set a pixel line-height that matches the\n// given height of the input. Since this fucks up everything else, we have to\n// appropriately reset it for Internet Explorer and the size variations.\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n line-height: @input-height-base;\n // IE8+ misaligns the text within date inputs, so we reset\n line-height: @line-height-base ~\"\\0\";\n\n &.input-sm {\n line-height: @input-height-small;\n line-height: @line-height-small ~\"\\0\";\n }\n &.input-lg {\n line-height: @input-height-large;\n line-height: @line-height-large ~\"\\0\";\n }\n}\n\n// IE 11 hack to reverse the iOS temporal input hack.\n_:-ms-fullscreen, :root input[type=\"date\"],\n_:-ms-fullscreen, :root input[type=\"time\"],\n_:-ms-fullscreen, :root input[type=\"datetime-local\"],\n_:-ms-fullscreen, :root input[type=\"month\"] {\n line-height: @line-height-base;\n\n &.input-sm {\n line-height: @line-height-small;\n }\n &.input-lg {\n line-height: @line-height-large;\n }\n}\n\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: 15px;\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n\n label {\n min-height: @line-height-computed; // Ensure the input doesn't jump when there is no text\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n }\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-left: -20px;\n margin-top: 4px \\9;\n}\n\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing\n}\n\n// Radios and checkboxes on same line\n.radio-inline,\n.checkbox-inline {\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n vertical-align: middle;\n font-weight: normal;\n cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px; // space out consecutive inline controls\n}\n\n// Apply same disabled cursor tweak as for inputs\n// Some special care is needed because
                  ',v.defaults={content:'
                  loading..
                  ',title:"\u6d88\u606f",button:null,ok:null,cancel:null,init:null,close:null,okVal:"\u786e\u5b9a",cancelVal:"\u53d6\u6d88",width:"auto",height:"auto",minWidth:96,minHeight:32,padding:"20px 25px",skin:"",icon:null,time:null,esc:!0,focus:!0,show:!0,follow:null,path:o,lock:!1,background:"#000",opacity:.7,duration:300,fixed:!1,left:"50%",top:"38.2%",zIndex:1987,resize:!0,drag:!0},t.artDialog=e.dialog=e.artDialog=v}(this.art||this.jQuery&&(this.art=jQuery),this),function(e){var t,n,r=e(window),i=e(document),s=document.documentElement,o=!("minWidth"in s.style),u="onlosecapture"in s,a="setCapture"in s;artDialog.dragEvent=function(){var e=this,t=function(t){var n=e[t];e[t]=function(){return n.apply(e,arguments)}};t("start"),t("move"),t("end")},artDialog.dragEvent.prototype={onstart:e.noop,start:function(e){return i.bind("mousemove",this.move).bind("mouseup",this.end),this._sClientX=e.clientX,this._sClientY=e.clientY,this.onstart(e.clientX,e.clientY),!1},onmove:e.noop,move:function(e){return this._mClientX=e.clientX,this._mClientY=e.clientY,this.onmove(e.clientX-this._sClientX,e.clientY-this._sClientY),!1},onend:e.noop,end:function(e){return i.unbind("mousemove",this.move).unbind("mouseup",this.end),this.onend(e.clientX,e.clientY),!1}},n=function(e){var n,s,f,l,c,h,p=artDialog.focus,d=p.DOM,v=d.wrap,m=d.title,g=d.main,y="getSelection"in window?function(){window.getSelection().removeAllRanges()}:function(){try{document.selection.empty()}catch(e){}};t.onstart=function(e,n){h?(s=g[0].offsetWidth,f=g[0].offsetHeight):(l=v[0].offsetLeft,c=v[0].offsetTop),i.bind("dblclick",t.end),!o&&u?m.bind("losecapture",t.end):r.bind("blur",t.end),a&&m[0].setCapture(),v.addClass("aui_state_drag"),p.focus()},t.onmove=function(e,t){if(h){var r=v[0].style,i=g[0].style,o=e+s,u=t+f;r.width="auto",i.width=Math.max(0,o)+"px",r.width=v[0].offsetWidth+"px",i.height=Math.max(0,u)+"px"}else{var i=v[0].style,a=Math.max(n.minX,Math.min(n.maxX,e+l)),d=Math.max(n.minY,Math.min(n.maxY,t+c));i.left=a+"px",i.top=d+"px"}y(),p._ie6SelectFix()},t.onend=function(e,n){i.unbind("dblclick",t.end),!o&&u?m.unbind("losecapture",t.end):r.unbind("blur",t.end),a&&m[0].releaseCapture(),o&&!p.closed&&p._autoPositionType(),v.removeClass("aui_state_drag")},h=e.target===d.se[0]?!0:!1,n=function(){var e,t,n=p.DOM.wrap[0],s=n.style.position==="fixed",o=n.offsetWidth,u=n.offsetHeight,a=r.width(),f=r.height(),l=s?0:i.scrollLeft(),c=s?0:i.scrollTop(),e=a-o+l;return t=f-u+c,{minX:l,minY:c,maxX:e,maxY:t}}(),t.start(e)},i.bind("mousedown",function(e){var r=artDialog.focus;if(!r)return;var i=e.target,s=r.config,o=r.DOM;if(s.drag!==!1&&i===o.title[0]||s.resize!==!1&&i===o.se[0])return t=t||new artDialog.dragEvent,n(e),!1})}(this.art||this.jQuery&&(this.art=jQuery)) \ No newline at end of file diff --git a/源码/src/main/webapp/resource/js/artDialog/artDialog.source.js b/源码/src/main/webapp/resource/js/artDialog/artDialog.source.js new file mode 100644 index 0000000..ff61708 --- /dev/null +++ b/源码/src/main/webapp/resource/js/artDialog/artDialog.source.js @@ -0,0 +1,2078 @@ +/*! + * artDialog 4.1.7 + * Date: 2013-03-03 08:04 + * http://code.google.com/p/artdialog/ + * (c) 2009-2012 TangBin, http://www.planeArt.cn + * + * This is licensed under the GNU LGPL, version 2.1 or later. + * For details, see: http://creativecommons.org/licenses/LGPL/2.1/ + */ + +;(function (window, undefined) { +//if (window.jQuery) return jQuery; + +var $ = window.art = function (selector, context) { + return new $.fn.init(selector, context); + }, + readyBound = false, + readyList = [], + DOMContentLoaded, + isOpacity = 'opacity' in document.documentElement.style, + quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/, + rclass = /[\n\t]/g, + ralpha = /alpha\([^)]*\)/i, + ropacity = /opacity=([^)]*)/, + rfxnum = /^([+-]=)?([\d+-.]+)(.*)$/; + +if (window.$ === undefined) window.$ = $; +$.fn = $.prototype = { + constructor: $, + + /** + * DOM 就绪 + * @param {Function} 回调函数 + */ + ready: function (callback) { + $.bindReady(); + + if ($.isReady) { + callback.call(document, $); + } else if (readyList) { + readyList.push(callback); + }; + + return this; + }, + + /** + * 判断样式类是否存在 + * @param {String} 名称 + * @return {Boolean} + */ + hasClass: function (name) { + var className = ' ' + name + ' '; + if ((' ' + this[0].className + ' ').replace(rclass, ' ') + .indexOf(className) > -1) return true; + + return false; + }, + + /** + * 添加样式类 + * @param {String} 名称 + */ + addClass: function (name) { + if (!this.hasClass(name)) this[0].className += ' ' + name; + + return this; + }, + + /** + * 移除样式类 + * @param {String} 名称 + */ + removeClass: function (name) { + var elem = this[0]; + + if (!name) { + elem.className = ''; + } else + if (this.hasClass(name)) { + elem.className = elem.className.replace(name, ' '); + }; + + return this; + }, + + /** + * 读写样式
                  + * css(name) 访问第一个匹配元素的样式属性
                  + * css(properties) 把一个"名/值对"对象设置为所有匹配元素的样式属性
                  + * css(name, value) 在所有匹配的元素中,设置一个样式属性的值
                  + */ + css: function (name, value) { + var i, elem = this[0], obj = arguments[0]; + + if (typeof name === 'string') { + if (value === undefined) { + return $.css(elem, name); + } else { + name === 'opacity' ? + $.opacity.set(elem, value) : + elem.style[name] = value; + }; + } else { + for (i in obj) { + i === 'opacity' ? + $.opacity.set(elem, obj[i]) : + elem.style[i] = obj[i]; + }; + }; + + return this; + }, + + /** 显示元素 */ + show: function () { + return this.css('display', 'block'); + }, + + /** 隐藏元素 */ + hide: function () { + return this.css('display', 'none'); + }, + + /** + * 获取相对文档的坐标 + * @return {Object} 返回left、top的数值 + */ + offset: function () { + var elem = this[0], + box = elem.getBoundingClientRect(), + doc = elem.ownerDocument, + body = doc.body, + docElem = doc.documentElement, + clientTop = docElem.clientTop || body.clientTop || 0, + clientLeft = docElem.clientLeft || body.clientLeft || 0, + top = box.top + (self.pageYOffset || docElem.scrollTop) - clientTop, + left = box.left + (self.pageXOffset || docElem.scrollLeft) - clientLeft; + + return { + left: left, + top: top + }; + }, + + /** + * 读写HTML - (不支持文本框) + * @param {String} 内容 + */ + html: function (content) { + var elem = this[0]; + + if (content === undefined) return elem.innerHTML; + $.cleanData(elem.getElementsByTagName('*')); + elem.innerHTML = content; + + return this; + }, + + /** + * 移除节点 + */ + remove: function () { + var elem = this[0]; + + $.cleanData(elem.getElementsByTagName('*')); + $.cleanData([elem]); + elem.parentNode.removeChild(elem); + + return this; + }, + + /** + * 事件绑定 + * @param {String} 类型 + * @param {Function} 要绑定的函数 + */ + bind: function (type, callback) { + $.event.add(this[0], type, callback); + return this; + }, + + /** + * 移除事件 + * @param {String} 类型 + * @param {Function} 要卸载的函数 + */ + unbind: function(type, callback) { + $.event.remove(this[0], type, callback); + return this; + } + +}; + +$.fn.init = function (selector, context) { + var match, elem; + context = context || document; + + if (!selector) return this; + + if (selector.nodeType) { + this[0] = selector; + return this; + }; + + if (selector === 'body' && context.body) { + this[0] = context.body; + return this; + }; + + if (selector === 'head' || selector === 'html') { + this[0] = context.getElementsByTagName(selector)[0]; + return this; + }; + + if (typeof selector === 'string') { + match = quickExpr.exec(selector); + + if (match && match[2]) { + elem = context.getElementById(match[2]); + if (elem && elem.parentNode) this[0] = elem; + return this; + }; + }; + + if (typeof selector === 'function') return $(document).ready(selector); + + this[0] = selector; + + return this; +}; +$.fn.init.prototype = $.fn; + +/** 空函数 */ +$.noop = function () {}; + +/** 检测window */ +$.isWindow = function (obj) { + return obj && typeof obj === 'object' && 'setInterval' in obj; +}; + +/** 数组判定 */ +$.isArray = function (obj) { + return Object.prototype.toString.call(obj) === '[object Array]'; +}; + +/** + * 搜索子元素 + * 注意:只支持nodeName或.className的形式,并且只返回第一个元素 + * @param {String} + */ +$.fn.find = function (expr) { + var value, elem = this[0], + className = expr.split('.')[1]; + + if (className) { + if (document.getElementsByClassName) { + value = elem.getElementsByClassName(className); + } else { + value = getElementsByClassName(className, elem); + }; + } else { + value = elem.getElementsByTagName(expr); + }; + + return $(value[0]); +}; +function getElementsByClassName (className, node, tag) { + node = node || document; + tag = tag || '*'; + var i = 0, + j = 0, + classElements = [], + els = node.getElementsByTagName(tag), + elsLen = els.length, + pattern = new RegExp("(^|\\s)" + className + "(\\s|$)"); + + for (; i < elsLen; i ++) { + if (pattern.test(els[i].className)) { + classElements[j] = els[i]; + j ++; + }; + }; + return classElements; +}; + +/** + * 遍历 + * @param {Object} + * @param {Function} + */ +$.each = function (obj, callback) { + var name, i = 0, + length = obj.length, + isObj = length === undefined; + + if (isObj) { + for (name in obj) { + if (callback.call(obj[name], name, obj[name]) === false) break; + }; + } else { + for (var value = obj[0]; + i < length && callback.call(value, i, value) !== false; + value = obj[++i]) {}; + }; + + return obj; +}; + +/** + * 读写缓存 + * @param {HTMLElement} 元素 + * @param {String} 缓存名称 + * @param {Any} 数据 + * @return {Any} 如果无参数data则返回缓存数据 + */ +$.data = function (elem, name, data) { + var cache = $.cache, + id = uuid(elem); + + if (name === undefined) return cache[id]; + if (!cache[id]) cache[id] = {}; + if (data !== undefined) cache[id][name] = data; + + return cache[id][name]; +}; + +/** + * 删除缓存 + * @param {HTMLElement} 元素 + * @param {String} 缓存名称 + */ +$.removeData = function (elem, name) { + var empty = true, + expando = $.expando, + cache = $.cache, + id = uuid(elem), + thisCache = id && cache[id]; + + if (!thisCache) return; + if (name) { + delete thisCache[name]; + for (var n in thisCache) empty = false; + if (empty) delete $.cache[id]; + } else { + delete cache[id]; + if (elem.removeAttribute) { + elem.removeAttribute(expando); + } else { + elem[expando] = null; + }; + }; +}; + +$.uuid = 0; +$.cache = {}; +$.expando = '@cache' + + new Date + +// 标记元素唯一身份 +function uuid (elem) { + var expando = $.expando, + id = elem === window ? 0 : elem[expando]; + if (id === undefined) elem[expando] = id = ++ $.uuid; + return id; +}; + + +/** + * 事件机制 + * @namespace + * @requires [$.data, $.removeData] + */ +$.event = { + + /** + * 添加事件 + * @param {HTMLElement} 元素 + * @param {String} 事件类型 + * @param {Function} 要添加的函数 + */ + add: function (elem, type, callback) { + var cache, listeners, + that = $.event, + data = $.data(elem, '@events') || $.data(elem, '@events', {}); + + cache = data[type] = data[type] || {}; + listeners = cache.listeners = cache.listeners || []; + listeners.push(callback); + + if (!cache.handler) { + cache.elem = elem; + cache.handler = that.handler(cache); + + elem.addEventListener + ? elem.addEventListener(type, cache.handler, false) + : elem.attachEvent('on' + type, cache.handler); + }; + }, + + /** + * 卸载事件 + * @param {HTMLElement} 元素 + * @param {String} 事件类型 + * @param {Function} 要卸载的函数 + */ + remove: function (elem, type, callback) { + var i, cache, listeners, + that = $.event, + empty = true, + data = $.data(elem, '@events'); + + if (!data) return; + if (!type) { + for (i in data) that.remove(elem, i); + return; + }; + + cache = data[type]; + if (!cache) return; + + listeners = cache.listeners; + if (callback) { + for (i = 0; i < listeners.length; i ++) { + listeners[i] === callback && listeners.splice(i--, 1); + }; + } else { + cache.listeners = []; + }; + + if (cache.listeners.length === 0) { + elem.removeEventListener + ? elem.removeEventListener(type, cache.handler, false) + : elem.detachEvent('on' + type, cache.handler); + + delete data[type]; + cache = $.data(elem, '@events'); + for (var n in cache) empty = false; + if (empty) $.removeData(elem, '@events'); + }; + }, + + /** @inner 事件句柄 */ + handler: function (cache) { + return function (event) { + event = $.event.fix(event || window.event); + for (var i = 0, list = cache.listeners, fn; fn = list[i++];) { + if (fn.call(cache.elem, event) === false) { + event.preventDefault(); + event.stopPropagation(); + }; + }; + }; + }, + + /** @inner Event对象兼容处理 */ + fix: function (event) { + if (event.target) return event; + + var event2 = { + target: event.srcElement || document, + preventDefault: function () {event.returnValue = false}, + stopPropagation: function () {event.cancelBubble = true} + }; + // IE6/7/8 在原生window.event对象写入数据会导致内存无法回收,应当采用拷贝 + for (var i in event) event2[i] = event[i]; + return event2; + } + +}; + +/** + * 清理元素集的事件与缓存 + * @requires [$.removeData, $.event] + * @param {HTMLCollection} 元素集 + */ +$.cleanData = function (elems) { + var i = 0, elem, + len = elems.length, + removeEvent = $.event.remove, + removeData = $.removeData; + + for (; i < len; i ++) { + elem = elems[i]; + removeEvent(elem); + removeData(elem); + }; +}; + +// DOM就绪事件 +$.isReady = false; +$.ready = function () { + if (!$.isReady) { + if (!document.body) return setTimeout($.ready, 13); + $.isReady = true; + + if (readyList) { + var fn, i = 0; + while ((fn = readyList[i++])) { + fn.call(document, $); + }; + readyList = null; + }; + }; +}; +$.bindReady = function () { + if (readyBound) return; + + readyBound = true; + + if (document.readyState === 'complete') { + return $.ready(); + }; + + if (document.addEventListener) { + document.addEventListener('DOMContentLoaded', DOMContentLoaded, false); + window.addEventListener('load', $.ready, false); + } else if (document.attachEvent) { + document.attachEvent('onreadystatechange', DOMContentLoaded); + window.attachEvent('onload', $.ready); + var toplevel = false; + try { + toplevel = window.frameElement == null; + } catch (e) {}; + + if (document.documentElement.doScroll && toplevel) { + doScrollCheck(); + }; + }; +}; + +if (document.addEventListener) { + DOMContentLoaded = function () { + document.removeEventListener('DOMContentLoaded', DOMContentLoaded, false); + $.ready(); + }; +} else if (document.attachEvent) { + DOMContentLoaded = function () { + if (document.readyState === 'complete') { + document.detachEvent('onreadystatechange', DOMContentLoaded); + $.ready(); + }; + }; +}; + +function doScrollCheck () { + if ($.isReady) return; + + try { + document.documentElement.doScroll('left'); + } catch (e) { + setTimeout(doScrollCheck, 1); + return; + }; + $.ready(); +}; + +// 获取css +$.css = 'defaultView' in document && 'getComputedStyle' in document.defaultView ? + function (elem, name) { + return document.defaultView.getComputedStyle(elem, false)[name]; +} : + function (elem, name) { + var ret = name === 'opacity' ? $.opacity.get(elem) : elem.currentStyle[name]; + return ret || ''; +}; + +// 跨浏览器处理opacity +$.opacity = { + get: function (elem) { + return isOpacity ? + document.defaultView.getComputedStyle(elem, false).opacity : + ropacity.test((elem.currentStyle + ? elem.currentStyle.filter + : elem.style.filter) || '') + ? (parseFloat(RegExp.$1) / 100) + '' + : 1; + }, + set: function (elem, value) { + if (isOpacity) return elem.style.opacity = value; + var style = elem.style; + style.zoom = 1; + + var opacity = 'alpha(opacity=' + value * 100 + ')', + filter = style.filter || ''; + + style.filter = ralpha.test(filter) ? + filter.replace(ralpha, opacity) : + style.filter + ' ' + opacity; + } +}; + +/** + * 获取滚动条位置 - [不支持写入] + * $.fn.scrollLeft, $.fn.scrollTop + * @example 获取文档垂直滚动条:$(document).scrollTop() + * @return {Number} 返回滚动条位置 + */ +$.each(['Left', 'Top'], function (i, name) { + var method = 'scroll' + name; + + $.fn[method] = function () { + var elem = this[0], win; + + win = getWindow(elem); + return win ? + ('pageXOffset' in win) ? + win[i ? 'pageYOffset' : 'pageXOffset'] : + win.document.documentElement[method] || win.document.body[method] : + elem[method]; + }; +}); + +function getWindow (elem) { + return $.isWindow(elem) ? + elem : + elem.nodeType === 9 ? + elem.defaultView || elem.parentWindow : + false; +}; + +/** + * 获取窗口或文档尺寸 - [只支持window与document读取] + * @example + 获取文档宽度:$(document).width() + 获取可视范围:$(window).width() + * @return {Number} + */ +$.each(['Height', 'Width'], function (i, name) { + var type = name.toLowerCase(); + + $.fn[type] = function (size) { + var elem = this[0]; + if (!elem) { + return size == null ? null : this; + }; + + return $.isWindow(elem) ? + elem.document.documentElement['client' + name] || elem.document.body['client' + name] : + (elem.nodeType === 9) ? + Math.max( + elem.documentElement['client' + name], + elem.body['scroll' + name], elem.documentElement['scroll' + name], + elem.body['offset' + name], elem.documentElement['offset' + name] + ) : null; + }; + +}); + +/** + * 简单ajax支持 + * @example + * $.ajax({ + * url: url, + * success: callback, + * cache: cache + * }); + */ +$.ajax = function (config) { + var ajax = window.XMLHttpRequest ? + new XMLHttpRequest() : + new ActiveXObject('Microsoft.XMLHTTP'), + url = config.url; + + if (config.cache === false) { + var ts = + new Date, + ret = url.replace(/([?&])_=[^&]*/, "$1_=" + ts ); + url = ret + ((ret === url) ? (/\?/.test(url) ? "&" : "?") + "_=" + ts : ""); + }; + + ajax.onreadystatechange = function() { + if (ajax.readyState === 4 && ajax.status === 200) { + config.success && config.success(ajax.responseText); + ajax.onreadystatechange = $.noop; + }; + }; + ajax.open('GET', url, 1); + ajax.send(null); +}; + +/** 动画引擎 - [不支持链式列队操作] */ +$.fn.animate = function (prop, speed, easing, callback) { + + speed = speed || 400; + if (typeof easing === 'function') callback = easing; + easing = easing && $.easing[easing] ? easing : 'swing'; + + var elem = this[0], overflow, + fx, parts, start, end, unit, + opt = { + speed: speed, + easing: easing, + callback: function () { + if (overflow != null) elem.style.overflow = ''; + callback && callback(); + } + }; + + opt.curAnim = {}; + $.each(prop, function (name, val) { + opt.curAnim[name] = val; + }); + + $.each(prop, function (name, val) { + fx = new $.fx(elem, opt, name); + parts = rfxnum.exec(val); + start = parseFloat(name === 'opacity' + || (elem.style && elem.style[name] != null) ? + $.css(elem, name) : + elem[name]); + end = parseFloat(parts[2]); + unit = parts[3]; + if (name === 'height' || name === 'width') { + end = Math.max(0, end); + overflow = [elem.style.overflow, + elem.style.overflowX, elem.style.overflowY]; + }; + + fx.custom(start, end, unit); + }); + + if (overflow != null) elem.style.overflow = 'hidden'; + + return this; +}; + +$.timers = []; +$.fx = function (elem, options, prop) { + this.elem = elem; + this.options = options; + this.prop = prop; +}; + +$.fx.prototype = { + custom: function (from, to, unit) { + var that = this; + that.startTime = $.fx.now(); + that.start = from; + that.end = to; + that.unit = unit; + that.now = that.start; + that.state = that.pos = 0; + + function t() { + return that.step(); + }; + t.elem = that.elem; + t(); + $.timers.push(t); + if (!$.timerId) $.timerId = setInterval($.fx.tick, 13); + }, + step: function () { + var that = this, t = $.fx.now(), done = true; + + if (t >= that.options.speed + that.startTime) { + that.now = that.end; + that.state = that.pos = 1; + that.update(); + + that.options.curAnim[that.prop] = true; + for (var i in that.options.curAnim) { + if (that.options.curAnim[i] !== true) { + done = false; + }; + }; + + if (done) that.options.callback.call(that.elem); + + return false; + } else { + var n = t - that.startTime; + that.state = n / that.options.speed; + that.pos = $.easing[that.options.easing](that.state, n, 0, 1, that.options.speed); + that.now = that.start + ((that.end - that.start) * that.pos); + that.update(); + return true; + }; + }, + update: function () { + var that = this; + if (that.prop === 'opacity') { + $.opacity.set(that.elem, that.now); + } else + if (that.elem.style && that.elem.style[that.prop] != null) { + that.elem.style[that.prop] = that.now + that.unit; + } else { + that.elem[that.prop] = that.now; + }; + } +}; + +$.fx.now = function () { + return + new Date; +}; + +$.easing = { + linear: function (p, n, firstNum, diff) { + return firstNum + diff * p; + }, + swing: function (p, n, firstNum, diff) { + return ((-Math.cos(p * Math.PI) / 2) + 0.5) * diff + firstNum; + } +}; + +$.fx.tick = function () { + var timers = $.timers; + for (var i = 0; i < timers.length; i++) { + !timers[i]() && timers.splice(i--, 1); + }; + !timers.length && $.fx.stop(); +}; + +$.fx.stop = function () { + clearInterval($.timerId); + $.timerId = null; +}; + +$.fn.stop = function () { + var timers = $.timers; + for (var i = timers.length - 1; i >= 0; i--) { + if (timers[i].elem === this[0]) timers.splice(i, 1); + }; + return this; +}; + +//-------------end +return $}(window)); + + + + +//------------------------------------------------ +// 对话框模块 +//------------------------------------------------ +;(function ($, window, undefined) { + +$.noop = $.noop || function () {}; // jQuery 1.3.2 +var _box, _thisScript, _skin, _path, + _count = 0, + _$window = $(window), + _$document = $(document), + _$html = $('html'), + _elem = document.documentElement, + _isIE6 = window.VBArray && !window.XMLHttpRequest, + _isMobile = 'createTouch' in document && !('onmousemove' in _elem) + || /(iPhone|iPad|iPod)/i.test(navigator.userAgent), + _expando = 'artDialog' + + new Date; + +var artDialog = function (config, ok, cancel) { + config = config || {}; + + if (typeof config === 'string' || config.nodeType === 1) { + config = {content: config, fixed: !_isMobile}; + }; + + var api, + defaults = artDialog.defaults, + elem = config.follow = this.nodeType === 1 && this || config.follow; + + // 合并默认配置 + for (var i in defaults) { + if (config[i] === undefined) config[i] = defaults[i]; + }; + + // 兼容v4.1.0之前的参数,未来版本将删除此 + $.each({ok:"yesFn",cancel:"noFn",close:"closeFn",init:"initFn",okVal:"yesText",cancelVal:"noText"}, + function(i,o){config[i]=config[i]!==undefined?config[i]:config[o]}); + + // 返回跟随模式或重复定义的ID + if (typeof elem === 'string') elem = $(elem)[0]; + config.id = elem && elem[_expando + 'follow'] || config.id || _expando + _count; + api = artDialog.list[config.id]; + if (elem && api) return api.follow(elem).zIndex().focus(); + if (api) return api.zIndex().focus(); + + // 目前主流移动设备对fixed支持不好 + if (_isMobile) config.fixed = false; + + // 按钮队列 + if (!$.isArray(config.button)) { + config.button = config.button ? [config.button] : []; + }; + if (ok !== undefined) config.ok = ok; + if (cancel !== undefined) config.cancel = cancel; + config.ok && config.button.push({ + name: config.okVal, + callback: config.ok, + focus: true + }); + config.cancel && config.button.push({ + name: config.cancelVal, + callback: config.cancel + }); + + // zIndex全局配置 + artDialog.defaults.zIndex = config.zIndex; + + _count ++; + + return artDialog.list[config.id] = _box ? + _box._init(config) : new artDialog.fn._init(config); +}; + +artDialog.fn = artDialog.prototype = { + + version: '4.1.7', + + closed: true, + + _init: function (config) { + var that = this, DOM, + icon = config.icon, + iconBg = icon && (_isIE6 ? {png: 'icons/' + icon + '.png'} + : {backgroundImage: 'url(\'' + config.path + '/skins/icons/' + icon + '.png\')'}); + + that.closed = false; + that.config = config; + that.DOM = DOM = that.DOM || that._getDOM(); + + DOM.wrap.addClass(config.skin); + DOM.close[config.cancel === false ? 'hide' : 'show'](); + DOM.icon[0].style.display = icon ? '' : 'none'; + DOM.iconBg.css(iconBg || {background: 'none'}); + DOM.se.css('cursor', config.resize ? 'se-resize' : 'auto'); + DOM.title.css('cursor', config.drag ? 'move' : 'auto'); + DOM.content.css('padding', config.padding); + + that[config.show ? 'show' : 'hide'](true) + that.button(config.button) + .title(config.title) + .content(config.content, true) + .size(config.width, config.height) + .time(config.time); + + config.follow + ? that.follow(config.follow) + : that.position(config.left, config.top); + + that.zIndex().focus(); + config.lock && that.lock(); + + that._addEvent(); + that._ie6PngFix(); + _box = null; + + config.init && config.init.call(that, window); + return that; + }, + + /** + * 设置内容 + * @param {String, HTMLElement} 内容 (可选) + * @return {this, HTMLElement} 如果无参数则返回内容容器DOM对象 + */ + content: function (msg) { + var prev, next, parent, display, + that = this, + DOM = that.DOM, + wrap = DOM.wrap[0], + width = wrap.offsetWidth, + height = wrap.offsetHeight, + left = parseInt(wrap.style.left), + top = parseInt(wrap.style.top), + cssWidth = wrap.style.width, + $content = DOM.content, + content = $content[0]; + + that._elemBack && that._elemBack(); + wrap.style.width = 'auto'; + + if (msg === undefined) return content; + if (typeof msg === 'string') { + $content.html(msg); + } else if (msg && msg.nodeType === 1) { + + // 让传入的元素在对话框关闭后可以返回到原来的地方 + display = msg.style.display; + prev = msg.previousSibling; + next = msg.nextSibling; + parent = msg.parentNode; + that._elemBack = function () { + if (prev && prev.parentNode) { + prev.parentNode.insertBefore(msg, prev.nextSibling); + } else if (next && next.parentNode) { + next.parentNode.insertBefore(msg, next); + } else if (parent) { + parent.appendChild(msg); + }; + msg.style.display = display; + that._elemBack = null; + }; + + $content.html(''); + content.appendChild(msg); + msg.style.display = 'block'; + + }; + + // 新增内容后调整位置 + if (!arguments[1]) { + if (that.config.follow) { + that.follow(that.config.follow); + } else { + width = wrap.offsetWidth - width; + height = wrap.offsetHeight - height; + left = left - width / 2; + top = top - height / 2; + wrap.style.left = Math.max(left, 0) + 'px'; + wrap.style.top = Math.max(top, 0) + 'px'; + }; + if (cssWidth && cssWidth !== 'auto') { + wrap.style.width = wrap.offsetWidth + 'px'; + }; + that._autoPositionType(); + }; + + that._ie6SelectFix(); + that._runScript(content); + + return that; + }, + + /** + * 设置标题 + * @param {String, Boolean} 标题内容. 为false则隐藏标题栏 + * @return {this, HTMLElement} 如果无参数则返回内容器DOM对象 + */ + title: function (text) { + var DOM = this.DOM, + wrap = DOM.wrap, + title = DOM.title, + className = 'aui_state_noTitle'; + + if (text === undefined) return title[0]; + if (text === false) { + title.hide().html(''); + wrap.addClass(className); + } else { + title.show().html(text || ''); + wrap.removeClass(className); + }; + + return this; + }, + + /** + * 位置(相对于可视区域) + * @param {Number, String} + * @param {Number, String} + */ + position: function (left, top) { + var that = this, + config = that.config, + wrap = that.DOM.wrap[0], + isFixed = _isIE6 ? false : config.fixed, + ie6Fixed = _isIE6 && that.config.fixed, + docLeft = _$document.scrollLeft(), + docTop = _$document.scrollTop(), + dl = isFixed ? 0 : docLeft, + dt = isFixed ? 0 : docTop, + ww = _$window.width(), + wh = _$window.height(), + ow = wrap.offsetWidth, + oh = wrap.offsetHeight, + style = wrap.style; + + if (left || left === 0) { + that._left = left.toString().indexOf('%') !== -1 ? left : null; + left = that._toNumber(left, ww - ow); + + if (typeof left === 'number') { + left = ie6Fixed ? (left += docLeft) : left + dl; + style.left = Math.max(left, dl) + 'px'; + } else if (typeof left === 'string') { + style.left = left; + }; + }; + + if (top || top === 0) { + that._top = top.toString().indexOf('%') !== -1 ? top : null; + top = that._toNumber(top, wh - oh); + + if (typeof top === 'number') { + top = ie6Fixed ? (top += docTop) : top + dt; + style.top = Math.max(top, dt) + 'px'; + } else if (typeof top === 'string') { + style.top = top; + }; + }; + + if (left !== undefined && top !== undefined) { + that._follow = null; + that._autoPositionType(); + }; + + return that; + }, + + /** + * 尺寸 + * @param {Number, String} 宽度 + * @param {Number, String} 高度 + */ + size: function (width, height) { + var maxWidth, maxHeight, scaleWidth, scaleHeight, + that = this, + config = that.config, + DOM = that.DOM, + wrap = DOM.wrap, + main = DOM.main, + wrapStyle = wrap[0].style, + style = main[0].style; + + if (width) { + that._width = width.toString().indexOf('%') !== -1 ? width : null; + maxWidth = _$window.width() - wrap[0].offsetWidth + main[0].offsetWidth; + scaleWidth = that._toNumber(width, maxWidth); + width = scaleWidth; + + if (typeof width === 'number') { + wrapStyle.width = 'auto'; + style.width = Math.max(that.config.minWidth, width) + 'px'; + wrapStyle.width = wrap[0].offsetWidth + 'px'; // 防止未定义宽度的表格遇到浏览器右边边界伸缩 + } else if (typeof width === 'string') { + style.width = width; + width === 'auto' && wrap.css('width', 'auto'); + }; + }; + + if (height) { + that._height = height.toString().indexOf('%') !== -1 ? height : null; + maxHeight = _$window.height() - wrap[0].offsetHeight + main[0].offsetHeight; + scaleHeight = that._toNumber(height, maxHeight); + height = scaleHeight; + + if (typeof height === 'number') { + style.height = Math.max(that.config.minHeight, height) + 'px'; + } else if (typeof height === 'string') { + style.height = height; + }; + }; + + that._ie6SelectFix(); + + return that; + }, + + /** + * 跟随元素 + * @param {HTMLElement, String} + */ + follow: function (elem) { + var $elem, that = this, config = that.config; + + if (typeof elem === 'string' || elem && elem.nodeType === 1) { + $elem = $(elem); + elem = $elem[0]; + }; + + // 隐藏元素不可用 + if (!elem || !elem.offsetWidth && !elem.offsetHeight) { + return that.position(that._left, that._top); + }; + + var expando = _expando + 'follow', + winWidth = _$window.width(), + winHeight = _$window.height(), + docLeft = _$document.scrollLeft(), + docTop = _$document.scrollTop(), + offset = $elem.offset(), + width = elem.offsetWidth, + height = elem.offsetHeight, + isFixed = _isIE6 ? false : config.fixed, + left = isFixed ? offset.left - docLeft : offset.left, + top = isFixed ? offset.top - docTop : offset.top, + wrap = that.DOM.wrap[0], + style = wrap.style, + wrapWidth = wrap.offsetWidth, + wrapHeight = wrap.offsetHeight, + setLeft = left - (wrapWidth - width) / 2, + setTop = top + height, + dl = isFixed ? 0 : docLeft, + dt = isFixed ? 0 : docTop; + + setLeft = setLeft < dl ? left : + (setLeft + wrapWidth > winWidth) && (left - wrapWidth > dl) + ? left - wrapWidth + width + : setLeft; + + setTop = (setTop + wrapHeight > winHeight + dt) + && (top - wrapHeight > dt) + ? top - wrapHeight + : setTop; + + style.left = setLeft + 'px'; + style.top = setTop + 'px'; + + that._follow && that._follow.removeAttribute(expando); + that._follow = elem; + elem[expando] = config.id; + that._autoPositionType(); + return that; + }, + + /** + * 自定义按钮 + * @example + button({ + name: 'login', + callback: function () {}, + disabled: false, + focus: true + }, .., ..) + */ + button: function () { + var that = this, + ags = arguments, + DOM = that.DOM, + buttons = DOM.buttons, + elem = buttons[0], + strongButton = 'aui_state_highlight', + listeners = that._listeners = that._listeners || {}, + list = $.isArray(ags[0]) ? ags[0] : [].slice.call(ags); + + if (ags[0] === undefined) return elem; + $.each(list, function (i, val) { + var name = val.name, + isNewButton = !listeners[name], + button = !isNewButton ? + listeners[name].elem : + document.createElement('button'); + + if (!listeners[name]) listeners[name] = {}; + if (val.callback) listeners[name].callback = val.callback; + if (val.className) button.className = val.className; + if (val.focus) { + that._focus && that._focus.removeClass(strongButton); + that._focus = $(button).addClass(strongButton); + that.focus(); + }; + + // Internet Explorer 的默认类型是 "button", + // 而其他浏览器中(包括 W3C 规范)的默认值是 "submit" + // @see http://www.w3school.com.cn/tags/att_button_type.asp + button.setAttribute('type', 'button'); + + button[_expando + 'callback'] = name; + button.disabled = !!val.disabled; + + if (isNewButton) { + button.innerHTML = name; + listeners[name].elem = button; + elem.appendChild(button); + }; + }); + + buttons[0].style.display = list.length ? '' : 'none'; + + that._ie6SelectFix(); + return that; + }, + + /** 显示对话框 */ + show: function () { + this.DOM.wrap.show(); + !arguments[0] && this._lockMaskWrap && this._lockMaskWrap.show(); + return this; + }, + + /** 隐藏对话框 */ + hide: function () { + this.DOM.wrap.hide(); + !arguments[0] && this._lockMaskWrap && this._lockMaskWrap.hide(); + return this; + }, + + /** 关闭对话框 */ + close: function () { + if (this.closed) return this; + + var that = this, + DOM = that.DOM, + wrap = DOM.wrap, + list = artDialog.list, + fn = that.config.close, + follow = that.config.follow; + + that.time(); + if (typeof fn === 'function' && fn.call(that, window) === false) { + return that; + }; + + that.unlock(); + + // 置空内容 + that._elemBack && that._elemBack(); + wrap[0].className = wrap[0].style.cssText = ''; + DOM.title.html(''); + DOM.content.html(''); + DOM.buttons.html(''); + + if (artDialog.focus === that) artDialog.focus = null; + if (follow) follow.removeAttribute(_expando + 'follow'); + delete list[that.config.id]; + that._removeEvent(); + that.hide(true)._setAbsolute(); + + // 清空除this.DOM之外临时对象,恢复到初始状态,以便使用单例模式 + for (var i in that) { + if (that.hasOwnProperty(i) && i !== 'DOM') delete that[i]; + }; + + // 移除HTMLElement或重用 + _box ? wrap.remove() : _box = that; + + return that; + }, + + /** + * 定时关闭 + * @param {Number} 单位为秒, 无参数则停止计时器 + */ + time: function (second) { + var that = this, + cancel = that.config.cancelVal, + timer = that._timer; + + timer && clearTimeout(timer); + + if (second) { + that._timer = setTimeout(function(){ + that._click(cancel); + }, 1000 * second); + }; + + return that; + }, + + /** 设置焦点 */ + focus: function () { + try { + if (this.config.focus) { + var elem = this._focus && this._focus[0] || this.DOM.close[0]; + elem && elem.focus(); + } + } catch (e) {}; // IE对不可见元素设置焦点会报错 + return this; + }, + + /** 置顶对话框 */ + zIndex: function () { + var that = this, + DOM = that.DOM, + wrap = DOM.wrap, + top = artDialog.focus, + index = artDialog.defaults.zIndex ++; + + // 设置叠加高度 + wrap.css('zIndex', index); + that._lockMask && that._lockMask.css('zIndex', index - 1); + + // 设置最高层的样式 + top && top.DOM.wrap.removeClass('aui_state_focus'); + artDialog.focus = that; + wrap.addClass('aui_state_focus'); + + return that; + }, + + /** 设置屏锁 */ + lock: function () { + if (this._lock) return this; + + var that = this, + index = artDialog.defaults.zIndex - 1, + wrap = that.DOM.wrap, + config = that.config, + docWidth = _$document.width(), + docHeight = _$document.height(), + lockMaskWrap = that._lockMaskWrap || $(document.body.appendChild(document.createElement('div'))), + lockMask = that._lockMask || $(lockMaskWrap[0].appendChild(document.createElement('div'))), + domTxt = '(document).documentElement', + sizeCss = _isMobile ? 'width:' + docWidth + 'px;height:' + docHeight + + 'px' : 'width:100%;height:100%', + ie6Css = _isIE6 ? + 'position:absolute;left:expression(' + domTxt + '.scrollLeft);top:expression(' + + domTxt + '.scrollTop);width:expression(' + domTxt + + '.clientWidth);height:expression(' + domTxt + '.clientHeight)' + : ''; + + that.zIndex(); + wrap.addClass('aui_state_lock'); + + lockMaskWrap[0].style.cssText = sizeCss + ';position:fixed;z-index:' + + index + ';top:0;left:0;overflow:hidden;' + ie6Css; + lockMask[0].style.cssText = 'height:100%;background:' + config.background + + ';filter:alpha(opacity=0);opacity:0'; + + // 让IE6锁屏遮罩能够盖住下拉控件 + if (_isIE6) lockMask.html( + ''); + + lockMask.stop(); + lockMask.bind('click', function () { + that._reset(); + }).bind('dblclick', function () { + that._click(that.config.cancelVal); + }); + + if (config.duration === 0) { + lockMask.css({opacity: config.opacity}); + } else { + lockMask.animate({opacity: config.opacity}, config.duration); + }; + + that._lockMaskWrap = lockMaskWrap; + that._lockMask = lockMask; + + that._lock = true; + return that; + }, + + /** 解开屏锁 */ + unlock: function () { + var that = this, + lockMaskWrap = that._lockMaskWrap, + lockMask = that._lockMask; + + if (!that._lock) return that; + var style = lockMaskWrap[0].style; + var un = function () { + if (_isIE6) { + style.removeExpression('width'); + style.removeExpression('height'); + style.removeExpression('left'); + style.removeExpression('top'); + }; + style.cssText = 'display:none'; + + _box && lockMaskWrap.remove(); + }; + + lockMask.stop().unbind(); + that.DOM.wrap.removeClass('aui_state_lock'); + if (!that.config.duration) {// 取消动画,快速关闭 + un(); + } else { + lockMask.animate({opacity: 0}, that.config.duration, un); + }; + + that._lock = false; + return that; + }, + + // 获取元素 + _getDOM: function () { + var wrap = document.createElement('div'), + body = document.body; + wrap.style.cssText = 'position:absolute;left:0;top:0'; + wrap.innerHTML = artDialog._templates; + body.insertBefore(wrap, body.firstChild); + + var name, i = 0, + DOM = {wrap: $(wrap)}, + els = wrap.getElementsByTagName('*'), + elsLen = els.length; + + for (; i < elsLen; i ++) { + name = els[i].className.split('aui_')[1]; + if (name) DOM[name] = $(els[i]); + }; + + return DOM; + }, + + // px与%单位转换成数值 (百分比单位按照最大值换算) + // 其他的单位返回原值 + _toNumber: function (thisValue, maxValue) { + if (!thisValue && thisValue !== 0 || typeof thisValue === 'number') { + return thisValue; + }; + + var last = thisValue.length - 1; + if (thisValue.lastIndexOf('px') === last) { + thisValue = parseInt(thisValue); + } else if (thisValue.lastIndexOf('%') === last) { + thisValue = parseInt(maxValue * thisValue.split('%')[0] / 100); + }; + + return thisValue; + }, + + // 让IE6 CSS支持PNG背景 + _ie6PngFix: _isIE6 ? function () { + var i = 0, elem, png, pngPath, runtimeStyle, + path = artDialog.defaults.path + '/skins/', + list = this.DOM.wrap[0].getElementsByTagName('*'); + + for (; i < list.length; i ++) { + elem = list[i]; + png = elem.currentStyle['png']; + if (png) { + pngPath = path + png; + runtimeStyle = elem.runtimeStyle; + runtimeStyle.backgroundImage = 'none'; + runtimeStyle.filter = "progid:DXImageTransform.Microsoft." + + "AlphaImageLoader(src='" + pngPath + "',sizingMethod='crop')"; + }; + }; + } : $.noop, + + // 强制覆盖IE6下拉控件 + _ie6SelectFix: _isIE6 ? function () { + var $wrap = this.DOM.wrap, + wrap = $wrap[0], + expando = _expando + 'iframeMask', + iframe = $wrap[expando], + width = wrap.offsetWidth, + height = wrap.offsetHeight; + + width = width + 'px'; + height = height + 'px'; + if (iframe) { + iframe.style.width = width; + iframe.style.height = height; + } else { + iframe = wrap.appendChild(document.createElement('iframe')); + $wrap[expando] = iframe; + iframe.src = 'about:blank'; + iframe.style.cssText = 'position:absolute;z-index:-1;left:0;top:0;' + + 'filter:alpha(opacity=0);width:' + width + ';height:' + height; + }; + } : $.noop, + + // 解析HTML片段中自定义类型脚本,其this指向artDialog内部 + // + _runScript: function (elem) { + var fun, i = 0, n = 0, + tags = elem.getElementsByTagName('script'), + length = tags.length, + script = []; + + for (; i < length; i ++) { + if (tags[i].type === 'text/dialog') { + script[n] = tags[i].innerHTML; + n ++; + }; + }; + + if (script.length) { + script = script.join(''); + fun = new Function(script); + fun.call(this); + }; + }, + + // 自动切换定位类型 + _autoPositionType: function () { + this[this.config.fixed ? '_setFixed' : '_setAbsolute']();///////////// + }, + + + // 设置静止定位 + // IE6 Fixed @see: http://www.planeart.cn/?p=877 + _setFixed: (function () { + _isIE6 && $(function () { + var bg = 'backgroundAttachment'; + if (_$html.css(bg) !== 'fixed' && $('body').css(bg) !== 'fixed') { + _$html.css({ + zoom: 1,// 避免偶尔出现body背景图片异常的情况 + backgroundImage: 'url(about:blank)', + backgroundAttachment: 'fixed' + }); + }; + }); + + return function () { + var $elem = this.DOM.wrap, + style = $elem[0].style; + + if (_isIE6) { + var left = parseInt($elem.css('left')), + top = parseInt($elem.css('top')), + sLeft = _$document.scrollLeft(), + sTop = _$document.scrollTop(), + txt = '(document.documentElement)'; + + this._setAbsolute(); + style.setExpression('left', 'eval(' + txt + '.scrollLeft + ' + + (left - sLeft) + ') + "px"'); + style.setExpression('top', 'eval(' + txt + '.scrollTop + ' + + (top - sTop) + ') + "px"'); + } else { + style.position = 'fixed'; + }; + }; + }()), + + // 设置绝对定位 + _setAbsolute: function () { + var style = this.DOM.wrap[0].style; + + if (_isIE6) { + style.removeExpression('left'); + style.removeExpression('top'); + }; + + style.position = 'absolute'; + }, + + // 按钮回调函数触发 + _click: function (name) { + var that = this, + fn = that._listeners[name] && that._listeners[name].callback; + return typeof fn !== 'function' || fn.call(that, window) !== false ? + that.close() : that; + }, + + // 重置位置与尺寸 + _reset: function (test) { + var newSize, + that = this, + oldSize = that._winSize || _$window.width() * _$window.height(), + elem = that._follow, + width = that._width, + height = that._height, + left = that._left, + top = that._top; + + if (test) { + // IE6~7 window.onresize bug + newSize = that._winSize = _$window.width() * _$window.height(); + if (oldSize === newSize) return; + }; + + if (width || height) that.size(width, height); + + if (elem) { + that.follow(elem); + } else if (left || top) { + that.position(left, top); + }; + }, + + // 事件代理 + _addEvent: function () { + var resizeTimer, + that = this, + config = that.config, + isIE = 'CollectGarbage' in window, + DOM = that.DOM; + + // 窗口调节事件 + that._winResize = function () { + resizeTimer && clearTimeout(resizeTimer); + resizeTimer = setTimeout(function () { + that._reset(isIE); + }, 40); + }; + _$window.bind('resize', that._winResize); + + // 监听点击 + DOM.wrap + .bind('click', function (event) { + var target = event.target, callbackID; + + if (target.disabled) return false; // IE BUG + + if (target === DOM.close[0]) { + that._click(config.cancelVal); + return false; + } else { + callbackID = target[_expando + 'callback']; + callbackID && that._click(callbackID); + }; + + that._ie6SelectFix(); + }) + .bind('mousedown', function () { + that.zIndex(); + }); + }, + + // 卸载事件代理 + _removeEvent: function () { + var that = this, + DOM = that.DOM; + + DOM.wrap.unbind(); + _$window.unbind('resize', that._winResize); + } + +}; + +artDialog.fn._init.prototype = artDialog.fn; +$.fn.dialog = $.fn.artDialog = function () { + var config = arguments; + this[this.live ? 'live' : 'bind']('click', function () { + artDialog.apply(this, config); + return false; + }); + return this; +}; + + + +/** 最顶层的对话框API */ +artDialog.focus = null; + + +/** 获取某对话框API */ +artDialog.get = function (id) { + return id === undefined + ? artDialog.list + : artDialog.list[id]; +}; + +artDialog.list = {}; + + + +// 全局快捷键 +_$document.bind('keydown', function (event) { + var target = event.target, + nodeName = target.nodeName, + rinput = /^INPUT|TEXTAREA$/, + api = artDialog.focus, + keyCode = event.keyCode; + + if (!api || !api.config.esc || rinput.test(nodeName)) return; + + keyCode === 27 && api._click(api.config.cancelVal); +}); + + + +// 获取artDialog路径 +_path = window['_artDialog_path'] || (function (script, i, me) { + for (i in script) { + // 如果通过第三方脚本加载器加载本文件,请保证文件名含有"artDialog"字符 + if (script[i].src && script[i].src.indexOf('artDialog') !== -1) me = script[i]; + }; + + _thisScript = me || script[script.length - 1]; + me = _thisScript.src.replace(/\\/g, '/'); + return me.lastIndexOf('/') < 0 ? '.' : me.substring(0, me.lastIndexOf('/')); +}(document.getElementsByTagName('script'))); + + + +// 无阻塞载入CSS (如"artDialog.js?skin=aero") +_skin = _thisScript.src.split('skin=')[1]; +if (_skin) { + var link = document.createElement('link'); + link.rel = 'stylesheet'; + link.href = _path + '/skins/' + _skin + '.css?' + artDialog.fn.version; + _thisScript.parentNode.insertBefore(link, _thisScript); +}; + + + +// 触发浏览器预先缓存背景图片 +_$window.bind('load', function () { + setTimeout(function () { + if (_count) return; + artDialog({left: '-9999em',time: 9,fixed: false,lock: false,focus: false}); + }, 150); +}); + + + +// 开启IE6 CSS背景图片缓存 +try { + document.execCommand('BackgroundImageCache', false, true); +} catch (e) {}; + + + + +// 使用uglifyjs压缩能够预先处理"+"号合并字符串 +// uglifyjs: http://marijnhaverbeke.nl/uglifyjs +artDialog._templates = +'
                  ' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '
                  ' ++ '
                  ' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '
                  ' ++ '
                  ' ++ '
                  ' ++ '' ++ '\xd7' ++ '' ++ '
                  ' ++ '
                  ' ++ '
                  ' ++ '
                  ' ++ '
                  ' ++ '
                  ' ++ '
                  ' ++ '
                  ' ++'
                  '; + + + +/** + * 默认配置 + */ +artDialog.defaults = { + // 消息内容 + content: '
                  loading..
                  ', + title: '\u6d88\u606f', // 标题. 默认'消息' + button: null, // 自定义按钮 + ok: null, // 确定按钮回调函数 + cancel: null, // 取消按钮回调函数 + init: null, // 对话框初始化后执行的函数 + close: null, // 对话框关闭前执行的函数 + okVal: '\u786E\u5B9A', // 确定按钮文本. 默认'确定' + cancelVal: '\u53D6\u6D88', // 取消按钮文本. 默认'取消' + width: 'auto', // 内容宽度 + height: 'auto', // 内容高度 + minWidth: 96, // 最小宽度限制 + minHeight: 32, // 最小高度限制 + padding: '20px 25px', // 内容与边界填充距离 + skin: '', // 皮肤名(预留接口,尚未实现) + icon: null, // 消息图标名称 + time: null, // 自动关闭时间 + esc: true, // 是否支持Esc键关闭 + focus: true, // 是否支持对话框按钮自动聚焦 + show: true, // 初始化后是否显示对话框 + follow: null, // 跟随某元素(即让对话框在元素附近弹出) + path: _path, // artDialog路径 + lock: false, // 是否锁屏 + background: '#000', // 遮罩颜色 + opacity: .7, // 遮罩透明度 + duration: 300, // 遮罩透明度渐变动画速度 + fixed: false, // 是否静止定位 + left: '50%', // X轴坐标 + top: '38.2%', // Y轴坐标 + zIndex: 1987, // 对话框叠加高度值(重要:此值不能超过浏览器最大限制) + resize: true, // 是否允许用户调节尺寸 + drag: true // 是否允许用户拖动位置 + +}; + +window.artDialog = $.dialog = $.artDialog = artDialog; +}(this.art || this.jQuery && (this.art = jQuery), this)); + + + + + + +//------------------------------------------------ +// 对话框模块-拖拽支持(可选外置模块) +//------------------------------------------------ +;(function ($) { + +var _dragEvent, _use, + _$window = $(window), + _$document = $(document), + _elem = document.documentElement, + _isIE6 = !('minWidth' in _elem.style), + _isLosecapture = 'onlosecapture' in _elem, + _isSetCapture = 'setCapture' in _elem; + +// 拖拽事件 +artDialog.dragEvent = function () { + var that = this, + proxy = function (name) { + var fn = that[name]; + that[name] = function () { + return fn.apply(that, arguments); + }; + }; + + proxy('start'); + proxy('move'); + proxy('end'); +}; + +artDialog.dragEvent.prototype = { + + // 开始拖拽 + onstart: $.noop, + start: function (event) { + _$document + .bind('mousemove', this.move) + .bind('mouseup', this.end); + + this._sClientX = event.clientX; + this._sClientY = event.clientY; + this.onstart(event.clientX, event.clientY); + + return false; + }, + + // 正在拖拽 + onmove: $.noop, + move: function (event) { + this._mClientX = event.clientX; + this._mClientY = event.clientY; + this.onmove( + event.clientX - this._sClientX, + event.clientY - this._sClientY + ); + + return false; + }, + + // 结束拖拽 + onend: $.noop, + end: function (event) { + _$document + .unbind('mousemove', this.move) + .unbind('mouseup', this.end); + + this.onend(event.clientX, event.clientY); + return false; + } + +}; + +_use = function (event) { + var limit, startWidth, startHeight, startLeft, startTop, isResize, + api = artDialog.focus, + //config = api.config, + DOM = api.DOM, + wrap = DOM.wrap, + title = DOM.title, + main = DOM.main; + + // 清除文本选择 + var clsSelect = 'getSelection' in window ? function () { + window.getSelection().removeAllRanges(); + } : function () { + try { + document.selection.empty(); + } catch (e) {}; + }; + + // 对话框准备拖动 + _dragEvent.onstart = function (x, y) { + if (isResize) { + startWidth = main[0].offsetWidth; + startHeight = main[0].offsetHeight; + } else { + startLeft = wrap[0].offsetLeft; + startTop = wrap[0].offsetTop; + }; + + _$document.bind('dblclick', _dragEvent.end); + !_isIE6 && _isLosecapture ? + title.bind('losecapture', _dragEvent.end) : + _$window.bind('blur', _dragEvent.end); + _isSetCapture && title[0].setCapture(); + + wrap.addClass('aui_state_drag'); + api.focus(); + }; + + // 对话框拖动进行中 + _dragEvent.onmove = function (x, y) { + if (isResize) { + var wrapStyle = wrap[0].style, + style = main[0].style, + width = x + startWidth, + height = y + startHeight; + + wrapStyle.width = 'auto'; + style.width = Math.max(0, width) + 'px'; + wrapStyle.width = wrap[0].offsetWidth + 'px'; + + style.height = Math.max(0, height) + 'px'; + + } else { + var style = wrap[0].style, + left = Math.max(limit.minX, Math.min(limit.maxX, x + startLeft)), + top = Math.max(limit.minY, Math.min(limit.maxY, y + startTop)); + + style.left = left + 'px'; + style.top = top + 'px'; + }; + + clsSelect(); + api._ie6SelectFix(); + }; + + // 对话框拖动结束 + _dragEvent.onend = function (x, y) { + _$document.unbind('dblclick', _dragEvent.end); + !_isIE6 && _isLosecapture ? + title.unbind('losecapture', _dragEvent.end) : + _$window.unbind('blur', _dragEvent.end); + _isSetCapture && title[0].releaseCapture(); + + _isIE6 && !api.closed && api._autoPositionType(); + + wrap.removeClass('aui_state_drag'); + }; + + isResize = event.target === DOM.se[0] ? true : false; + limit = (function () { + var maxX, maxY, + wrap = api.DOM.wrap[0], + fixed = wrap.style.position === 'fixed', + ow = wrap.offsetWidth, + oh = wrap.offsetHeight, + ww = _$window.width(), + wh = _$window.height(), + dl = fixed ? 0 : _$document.scrollLeft(), + dt = fixed ? 0 : _$document.scrollTop(), + + // 坐标最大值限制 + maxX = ww - ow + dl; + maxY = wh - oh + dt; + + return { + minX: dl, + minY: dt, + maxX: maxX, + maxY: maxY + }; + })(); + + _dragEvent.start(event); +}; + +// 代理 mousedown 事件触发对话框拖动 +_$document.bind('mousedown', function (event) { + var api = artDialog.focus; + if (!api) return; + + var target = event.target, + config = api.config, + DOM = api.DOM; + + if (config.drag !== false && target === DOM.title[0] + || config.resize !== false && target === DOM.se[0]) { + _dragEvent = _dragEvent || new artDialog.dragEvent(); + _use(event); + return false;// 防止firefox与chrome滚屏 + }; +}); + +})(this.art || this.jQuery && (this.art = jQuery)); + diff --git a/源码/src/main/webapp/resource/js/artDialog/index.html b/源码/src/main/webapp/resource/js/artDialog/index.html new file mode 100644 index 0000000..15caf96 --- /dev/null +++ b/源码/src/main/webapp/resource/js/artDialog/index.html @@ -0,0 +1,162 @@ + + + + +artDialog + + + + + + + + + + + + + +
                  + +
                  +
                  artDialog是一个基于javascript编写的对话框组件,它拥有精致的界面与友好的接口
                  +
                  +
                  自适应内容
                  +
                  artDialog的特殊UI框架能够适应内容变化,甚至连外部程序动态插入的内容它仍然能自适应,因此你不必去考虑消息内容尺寸使用它。它的消息容器甚至能够根据宽度让文本居中或居左对齐——这一切全是XHTML+CSS原生实现。
                  +
                  完善的接口
                  +
                  它的接口完善,可以轻易与外部程序配合使用。如异步写入消息、控制位置、尺寸、显示与隐藏、关闭等。
                  +
                  细致的体验
                  +
                  如果不是在输入状态,它支持Esc快捷键关闭;可指定在元素附近弹出,让操作更便捷;智能给按钮添加焦点;黄金比例垂直居中;超大响应区域特别为ipad等触屏设备优化;预先缓存皮肤图片更快响应……
                  +
                  跨平台兼容
                  +
                  兼容:IE6+、Firefox、Chrome、Safari、Opera以及iPad等移动设备。并且IE6下也能支持现代浏览器的静止定位(fixed)、覆盖下拉控件、alpha通道png背景。
                  +
                  +

                  快速入门

                  +

                  一、使用传统的参数

                  +

                  art.dialog(content, ok, cancel)

                  +
                  +
                  art.dialog('简单愉悦的接口,强大的表现力,优雅的内部实现', function(){alert('yes');});
                  +
                  +

                  + +

                  +

                  二、使用字面量传参

                  +

                  art.dialog(options)

                  +
                  +
                  var dialog = art.dialog({
                  +    title: '欢迎',
                  +	content: '欢迎使用artDialog对话框组件!',
                  +	icon: 'succeed',
                  +    follow: document.getElementById('btn2'),
                  +    ok: function(){
                  +        this.title('警告').content('请注意artDialog两秒后将关闭!').lock().time(2);
                  +        return false;
                  +    }
                  +});
                  +
                  +
                  +

                  + +

                  +

                  更多配置参数用法请查阅API文档: ./_doc/API.html#options

                  +

                  三、扩展方法

                  +

                  需要对弹出后的对话框操作?artDialog简单实用的扩展方法可以使这一切变得简单。

                  +

                  如在ajax异步操作中,我们可以先定义一个变量引用对话框返回的扩展方法:

                  +
                  var myDialog = art.dialog();// 初始化一个带有loading图标的空对话框
                  +jQuery.ajax({
                  +	url: 'http://web5.qq.com/content?id=1',
                  +    success: function (data) {
                  +        myDialog.content(data);// 填充对话框内容
                  +    }
                  +});
                  +
                  +

                  如果需要使用程序控制关闭,可以使用"close"方法关闭对话框:

                  +
                  myDialog.close();
                  +

                  更多扩展方法用法请查阅API文档: ./_doc/API.html#API

                  +

                  插件:框架应用工具

                  +

                  artDialog针对CMS类的框架应用提供了专属插件,如穿越框架、iframe、AJAX、跨框架传值操作等。

                  +

                  例: 使用open方法嵌入页面,并使用data方法在各个iframe间传递数据:

                  +
                  +
                  var val = document.getElementById('demoInput04-3').value;
                  +art.dialog.data('test', val);
                  +art.dialog.data('homeDemoPath', './_doc/');
                  +
                  +// 此时 iframeA.html 页面可以使用 art.dialog.data('test') 获取到数据,如:
                  +// document.getElementById('aInput').value = art.dialog.data('test');
                  +art.dialog.open('./_doc/iframeA.html');
                  +
                  +
                  +

                  请输入测试文字: + + +

                  +

                  插件更多功能请查阅API文档: ./iframeTop.html

                  +

                  jQuery + artDialog

                  +

                  artDialog提供了一个jQuery版本,功能与标准版一致,调用只需要把art前缀改成jQuery的命名空间。

                  +
                  // 普通调用
                  +$.dialog({content:'hello world!'});
                  +
                  +// 使用选择器方式,此时自动使用绑定了live click事件,同时启用follow模式
                  +$('#main .test').dialog({content: 'hello world'});
                  +

                  (最低兼容jquery1.3.2,但框架应用插件需要jquery1.4+运行[?])

                  +

                  联系

                  + + +
                  注意!artDialog4+即将停止维护,在框架满天飞的时代结束后,其历史使命已经完成。新版本artDialog 5+很小,却依然动人。若要迁移,请抛弃iframe,使用ajax技术。
                  + +

                  如果你对artDialog有什么意见建议可以用下面任意一种联系方式找到作者。artDialog一直在不断完善自身,这个愉悦的过程中感谢有你的参与~

                  +

                  提交BUG必备项:1、浏览器名称,版本 2、artDialog版本号(只支持4+版本) 3、简明扼要的描述信息 4、建议提取一份BUG DEMO,这样解决问题的概率增加300%

                  +

                  如果对使用问题有疑惑,可以前往由 artDialog 爱好者建立的QQ群寻求帮助(前提是先自己阅读文档): 44030323

                  +

                  作者:糖饼
                  + 邮箱: (仅用作bug提交)
                  + 网站:PlaneArt.Cn
                  + 微博:t.qq.com/tangbin

                  +

                  捐赠

                  +

                  artDialog就是你一直想要的对话框么?哇~那么我非常期待您能够热情的提供15元或者其他金额的捐赠鼓励~正如您支持其他开源项目一样。

                  +

                  支付宝: https://me.alipay.com/planeart

                  +

                  您因如果使用artDialog而受益或者感到愉悦,您还可以这样帮助artDialog成长:

                  +

                  1、共同参与并完善artDialog或用blog/微博/Twitter把它分享它给更多的人。

                  +

                  2、如artDialog有幸被用在你的项目,请您联系我,我后续将在artDialog主页展示您项目/企业的LOGO(目前有盛大phpCMS、腾讯、中国电信等企业使用它)。

                  +
                  + +
                  + + + + diff --git a/源码/src/main/webapp/resource/js/artDialog/jquery.artDialog.js b/源码/src/main/webapp/resource/js/artDialog/jquery.artDialog.js new file mode 100644 index 0000000..3f681b6 --- /dev/null +++ b/源码/src/main/webapp/resource/js/artDialog/jquery.artDialog.js @@ -0,0 +1,10 @@ +/*! + * artDialog 4.1.7 + * Date: 2013-03-03 08:04 + * http://code.google.com/p/artdialog/ + * (c) 2009-2012 TangBin, http://www.planeArt.cn + * + * This is licensed under the GNU LGPL, version 2.1 or later. + * For details, see: http://creativecommons.org/licenses/LGPL/2.1/ + */ +(function(e,t,n){e.noop=e.noop||function(){};var r,i,s,o,u=0,a=e(t),f=e(document),l=e("html"),c=document.documentElement,h=t.VBArray&&!t.XMLHttpRequest,p="createTouch"in document&&!("onmousemove"in c)||/(iPhone|iPad|iPod)/i.test(navigator.userAgent),d="artDialog"+ +(new Date),v=function(t,i,s){t=t||{};if(typeof t=="string"||t.nodeType===1)t={content:t,fixed:!p};var o,a=v.defaults,f=t.follow=this.nodeType===1&&this||t.follow;for(var l in a)t[l]===n&&(t[l]=a[l]);return e.each({ok:"yesFn",cancel:"noFn",close:"closeFn",init:"initFn",okVal:"yesText",cancelVal:"noText"},function(e,r){t[e]=t[e]!==n?t[e]:t[r]}),typeof f=="string"&&(f=e(f)[0]),t.id=f&&f[d+"follow"]||t.id||d+u,o=v.list[t.id],f&&o?o.follow(f).zIndex().focus():o?o.zIndex().focus():(p&&(t.fixed=!1),e.isArray(t.button)||(t.button=t.button?[t.button]:[]),i!==n&&(t.ok=i),s!==n&&(t.cancel=s),t.ok&&t.button.push({name:t.okVal,callback:t.ok,focus:!0}),t.cancel&&t.button.push({name:t.cancelVal,callback:t.cancel}),v.defaults.zIndex=t.zIndex,u++,v.list[t.id]=r?r._init(t):new v.fn._init(t))};v.fn=v.prototype={version:"4.1.7",closed:!0,_init:function(e){var n=this,i,s=e.icon,o=s&&(h?{png:"icons/"+s+".png"}:{backgroundImage:"url('"+e.path+"/skins/icons/"+s+".png')"});return n.closed=!1,n.config=e,n.DOM=i=n.DOM||n._getDOM(),i.wrap.addClass(e.skin),i.close[e.cancel===!1?"hide":"show"](),i.icon[0].style.display=s?"":"none",i.iconBg.css(o||{background:"none"}),i.se.css("cursor",e.resize?"se-resize":"auto"),i.title.css("cursor",e.drag?"move":"auto"),i.content.css("padding",e.padding),n[e.show?"show":"hide"](!0),n.button(e.button).title(e.title).content(e.content,!0).size(e.width,e.height).time(e.time),e.follow?n.follow(e.follow):n.position(e.left,e.top),n.zIndex().focus(),e.lock&&n.lock(),n._addEvent(),n._ie6PngFix(),r=null,e.init&&e.init.call(n,t),n},content:function(e){var t,r,i,s,o=this,u=o.DOM,a=u.wrap[0],f=a.offsetWidth,l=a.offsetHeight,c=parseInt(a.style.left),h=parseInt(a.style.top),p=a.style.width,d=u.content,v=d[0];return o._elemBack&&o._elemBack(),a.style.width="auto",e===n?v:(typeof e=="string"?d.html(e):e&&e.nodeType===1&&(s=e.style.display,t=e.previousSibling,r=e.nextSibling,i=e.parentNode,o._elemBack=function(){t&&t.parentNode?t.parentNode.insertBefore(e,t.nextSibling):r&&r.parentNode?r.parentNode.insertBefore(e,r):i&&i.appendChild(e),e.style.display=s,o._elemBack=null},d.html(""),v.appendChild(e),e.style.display="block"),arguments[1]||(o.config.follow?o.follow(o.config.follow):(f=a.offsetWidth-f,l=a.offsetHeight-l,c-=f/2,h-=l/2,a.style.left=Math.max(c,0)+"px",a.style.top=Math.max(h,0)+"px"),p&&p!=="auto"&&(a.style.width=a.offsetWidth+"px"),o._autoPositionType()),o._ie6SelectFix(),o._runScript(v),o)},title:function(e){var t=this.DOM,r=t.wrap,i=t.title,s="aui_state_noTitle";return e===n?i[0]:(e===!1?(i.hide().html(""),r.addClass(s)):(i.show().html(e||""),r.removeClass(s)),this)},position:function(e,t){var r=this,i=r.config,s=r.DOM.wrap[0],o=h?!1:i.fixed,u=h&&r.config.fixed,l=f.scrollLeft(),c=f.scrollTop(),p=o?0:l,d=o?0:c,v=a.width(),m=a.height(),g=s.offsetWidth,y=s.offsetHeight,b=s.style;if(e||e===0)r._left=e.toString().indexOf("%")!==-1?e:null,e=r._toNumber(e,v-g),typeof e=="number"?(e=u?e+=l:e+p,b.left=Math.max(e,p)+"px"):typeof e=="string"&&(b.left=e);if(t||t===0)r._top=t.toString().indexOf("%")!==-1?t:null,t=r._toNumber(t,m-y),typeof t=="number"?(t=u?t+=c:t+d,b.top=Math.max(t,d)+"px"):typeof t=="string"&&(b.top=t);return e!==n&&t!==n&&(r._follow=null,r._autoPositionType()),r},size:function(e,t){var n,r,i,s,o=this,u=o.config,f=o.DOM,l=f.wrap,c=f.main,h=l[0].style,p=c[0].style;return e&&(o._width=e.toString().indexOf("%")!==-1?e:null,n=a.width()-l[0].offsetWidth+c[0].offsetWidth,i=o._toNumber(e,n),e=i,typeof e=="number"?(h.width="auto",p.width=Math.max(o.config.minWidth,e)+"px",h.width=l[0].offsetWidth+"px"):typeof e=="string"&&(p.width=e,e==="auto"&&l.css("width","auto"))),t&&(o._height=t.toString().indexOf("%")!==-1?t:null,r=a.height()-l[0].offsetHeight+c[0].offsetHeight,s=o._toNumber(t,r),t=s,typeof t=="number"?p.height=Math.max(o.config.minHeight,t)+"px":typeof t=="string"&&(p.height=t)),o._ie6SelectFix(),o},follow:function(t){var n,r=this,i=r.config;if(typeof t=="string"||t&&t.nodeType===1)n=e(t),t=n[0];if(!t||!t.offsetWidth&&!t.offsetHeight)return r.position(r._left,r._top);var s=d+"follow",o=a.width(),u=a.height(),l=f.scrollLeft(),c=f.scrollTop(),p=n.offset(),v=t.offsetWidth,m=t.offsetHeight,g=h?!1:i.fixed,y=g?p.left-l:p.left,b=g?p.top-c:p.top,w=r.DOM.wrap[0],E=w.style,S=w.offsetWidth,x=w.offsetHeight,T=y-(S-v)/2,N=b+m,C=g?0:l,k=g?0:c;return T=To&&y-S>C?y-S+v:T,N=N+x>u+k&&b-x>k?b-x:N,E.left=T+"px",E.top=N+"px",r._follow&&r._follow.removeAttribute(s),r._follow=t,t[s]=i.id,r._autoPositionType(),r},button:function(){var t=this,r=arguments,i=t.DOM,s=i.buttons,o=s[0],u="aui_state_highlight",a=t._listeners=t._listeners||{},f=e.isArray(r[0])?r[0]:[].slice.call(r);return r[0]===n?o:(e.each(f,function(n,r){var i=r.name,s=!a[i],f=s?document.createElement("button"):a[i].elem;a[i]||(a[i]={}),r.callback&&(a[i].callback=r.callback),r.className&&(f.className=r.className),r.focus&&(t._focus&&t._focus.removeClass(u),t._focus=e(f).addClass(u),t.focus()),f.setAttribute("type","button"),f[d+"callback"]=i,f.disabled=!!r.disabled,s&&(f.innerHTML=i,a[i].elem=f,o.appendChild(f))}),s[0].style.display=f.length?"":"none",t._ie6SelectFix(),t)},show:function(){return this.DOM.wrap.show(),!arguments[0]&&this._lockMaskWrap&&this._lockMaskWrap.show(),this},hide:function(){return this.DOM.wrap.hide(),!arguments[0]&&this._lockMaskWrap&&this._lockMaskWrap.hide(),this},close:function(){if(this.closed)return this;var e=this,n=e.DOM,i=n.wrap,s=v.list,o=e.config.close,u=e.config.follow;e.time();if(typeof o=="function"&&o.call(e,t)===!1)return e;e.unlock(),e._elemBack&&e._elemBack(),i[0].className=i[0].style.cssText="",n.title.html(""),n.content.html(""),n.buttons.html(""),v.focus===e&&(v.focus=null),u&&u.removeAttribute(d+"follow"),delete s[e.config.id],e._removeEvent(),e.hide(!0)._setAbsolute();for(var a in e)e.hasOwnProperty(a)&&a!=="DOM"&&delete e[a];return r?i.remove():r=e,e},time:function(e){var t=this,n=t.config.cancelVal,r=t._timer;return r&&clearTimeout(r),e&&(t._timer=setTimeout(function(){t._click(n)},1e3*e)),t},focus:function(){try{if(this.config.focus){var e=this._focus&&this._focus[0]||this.DOM.close[0];e&&e.focus()}}catch(t){}return this},zIndex:function(){var e=this,t=e.DOM,n=t.wrap,r=v.focus,i=v.defaults.zIndex++;return n.css("zIndex",i),e._lockMask&&e._lockMask.css("zIndex",i-1),r&&r.DOM.wrap.removeClass("aui_state_focus"),v.focus=e,n.addClass("aui_state_focus"),e},lock:function(){if(this._lock)return this;var t=this,n=v.defaults.zIndex-1,r=t.DOM.wrap,i=t.config,s=f.width(),o=f.height(),u=t._lockMaskWrap||e(document.body.appendChild(document.createElement("div"))),a=t._lockMask||e(u[0].appendChild(document.createElement("div"))),l="(document).documentElement",c=p?"width:"+s+"px;height:"+o+"px":"width:100%;height:100%",d=h?"position:absolute;left:expression("+l+".scrollLeft);top:expression("+l+".scrollTop);width:expression("+l+".clientWidth);height:expression("+l+".clientHeight)":"";return t.zIndex(),r.addClass("aui_state_lock"),u[0].style.cssText=c+";position:fixed;z-index:"+n+";top:0;left:0;overflow:hidden;"+d,a[0].style.cssText="height:100%;background:"+i.background+";filter:alpha(opacity=0);opacity:0",h&&a.html(''),a.stop(),a.bind("click",function(){t._reset()}).bind("dblclick",function(){t._click(t.config.cancelVal)}),i.duration===0?a.css({opacity:i.opacity}):a.animate({opacity:i.opacity},i.duration),t._lockMaskWrap=u,t._lockMask=a,t._lock=!0,t},unlock:function(){var e=this,t=e._lockMaskWrap,n=e._lockMask;if(!e._lock)return e;var i=t[0].style,s=function(){h&&(i.removeExpression("width"),i.removeExpression("height"),i.removeExpression("left"),i.removeExpression("top")),i.cssText="display:none",r&&t.remove()};return n.stop().unbind(),e.DOM.wrap.removeClass("aui_state_lock"),e.config.duration?n.animate({opacity:0},e.config.duration,s):s(),e._lock=!1,e},_getDOM:function(){var t=document.createElement("div"),n=document.body;t.style.cssText="position:absolute;left:0;top:0",t.innerHTML=v._templates,n.insertBefore(t,n.firstChild);var r,i=0,s={wrap:e(t)},o=t.getElementsByTagName("*"),u=o.length;for(;i
                  ',v.defaults={content:'
                  loading..
                  ',title:"\u6d88\u606f",button:null,ok:null,cancel:null,init:null,close:null,okVal:"\u786e\u5b9a",cancelVal:"\u53d6\u6d88",width:"auto",height:"auto",minWidth:96,minHeight:32,padding:"20px 25px",skin:"",icon:null,time:null,esc:!0,focus:!0,show:!0,follow:null,path:o,lock:!1,background:"#000",opacity:.7,duration:300,fixed:!1,left:"50%",top:"38.2%",zIndex:1987,resize:!0,drag:!0},t.artDialog=e.dialog=e.artDialog=v})(this.art||this.jQuery&&(this.art=jQuery),this),function(e){var t,n,r=e(window),i=e(document),s=document.documentElement,o=!("minWidth"in s.style),u="onlosecapture"in s,a="setCapture"in s;artDialog.dragEvent=function(){var e=this,t=function(t){var n=e[t];e[t]=function(){return n.apply(e,arguments)}};t("start"),t("move"),t("end")},artDialog.dragEvent.prototype={onstart:e.noop,start:function(e){return i.bind("mousemove",this.move).bind("mouseup",this.end),this._sClientX=e.clientX,this._sClientY=e.clientY,this.onstart(e.clientX,e.clientY),!1},onmove:e.noop,move:function(e){return this._mClientX=e.clientX,this._mClientY=e.clientY,this.onmove(e.clientX-this._sClientX,e.clientY-this._sClientY),!1},onend:e.noop,end:function(e){return i.unbind("mousemove",this.move).unbind("mouseup",this.end),this.onend(e.clientX,e.clientY),!1}},n=function(e){var n,s,f,l,c,h,p=artDialog.focus,d=p.DOM,v=d.wrap,m=d.title,g=d.main,y="getSelection"in window?function(){window.getSelection().removeAllRanges()}:function(){try{document.selection.empty()}catch(e){}};t.onstart=function(e,n){h?(s=g[0].offsetWidth,f=g[0].offsetHeight):(l=v[0].offsetLeft,c=v[0].offsetTop),i.bind("dblclick",t.end),!o&&u?m.bind("losecapture",t.end):r.bind("blur",t.end),a&&m[0].setCapture(),v.addClass("aui_state_drag"),p.focus()},t.onmove=function(e,t){if(h){var r=v[0].style,i=g[0].style,o=e+s,u=t+f;r.width="auto",i.width=Math.max(0,o)+"px",r.width=v[0].offsetWidth+"px",i.height=Math.max(0,u)+"px"}else{var i=v[0].style,a=Math.max(n.minX,Math.min(n.maxX,e+l)),d=Math.max(n.minY,Math.min(n.maxY,t+c));i.left=a+"px",i.top=d+"px"}y(),p._ie6SelectFix()},t.onend=function(e,n){i.unbind("dblclick",t.end),!o&&u?m.unbind("losecapture",t.end):r.unbind("blur",t.end),a&&m[0].releaseCapture(),o&&!p.closed&&p._autoPositionType(),v.removeClass("aui_state_drag")},h=e.target===d.se[0]?!0:!1,n=function(){var e,t,n=p.DOM.wrap[0],s=n.style.position==="fixed",o=n.offsetWidth,u=n.offsetHeight,a=r.width(),f=r.height(),l=s?0:i.scrollLeft(),c=s?0:i.scrollTop(),e=a-o+l;return t=f-u+c,{minX:l,minY:c,maxX:e,maxY:t}}(),t.start(e)},i.bind("mousedown",function(e){var r=artDialog.focus;if(!r)return;var i=e.target,s=r.config,o=r.DOM;if(s.drag!==!1&&i===o.title[0]||s.resize!==!1&&i===o.se[0])return t=t||new artDialog.dragEvent,n(e),!1})}(this.art||this.jQuery&&(this.art=jQuery)) \ No newline at end of file diff --git a/源码/src/main/webapp/resource/js/artDialog/jquery.artDialog.source.js b/源码/src/main/webapp/resource/js/artDialog/jquery.artDialog.source.js new file mode 100644 index 0000000..8114c2a --- /dev/null +++ b/源码/src/main/webapp/resource/js/artDialog/jquery.artDialog.source.js @@ -0,0 +1,1261 @@ +/*! + * artDialog 4.1.7 + * Date: 2013-03-03 08:04 + * http://code.google.com/p/artdialog/ + * (c) 2009-2012 TangBin, http://www.planeArt.cn + * + * This is licensed under the GNU LGPL, version 2.1 or later. + * For details, see: http://creativecommons.org/licenses/LGPL/2.1/ + */ + + + + +//------------------------------------------------ +// 对话框模块 +//------------------------------------------------ +;(function ($, window, undefined) { + +$.noop = $.noop || function () {}; // jQuery 1.3.2 +var _box, _thisScript, _skin, _path, + _count = 0, + _$window = $(window), + _$document = $(document), + _$html = $('html'), + _elem = document.documentElement, + _isIE6 = window.VBArray && !window.XMLHttpRequest, + _isMobile = 'createTouch' in document && !('onmousemove' in _elem) + || /(iPhone|iPad|iPod)/i.test(navigator.userAgent), + _expando = 'artDialog' + + new Date; + +var artDialog = function (config, ok, cancel) { + config = config || {}; + + if (typeof config === 'string' || config.nodeType === 1) { + config = {content: config, fixed: !_isMobile}; + }; + + var api, + defaults = artDialog.defaults, + elem = config.follow = this.nodeType === 1 && this || config.follow; + + // 合并默认配置 + for (var i in defaults) { + if (config[i] === undefined) config[i] = defaults[i]; + }; + + // 兼容v4.1.0之前的参数,未来版本将删除此 + $.each({ok:"yesFn",cancel:"noFn",close:"closeFn",init:"initFn",okVal:"yesText",cancelVal:"noText"}, + function(i,o){config[i]=config[i]!==undefined?config[i]:config[o]}); + + // 返回跟随模式或重复定义的ID + if (typeof elem === 'string') elem = $(elem)[0]; + config.id = elem && elem[_expando + 'follow'] || config.id || _expando + _count; + api = artDialog.list[config.id]; + if (elem && api) return api.follow(elem).zIndex().focus(); + if (api) return api.zIndex().focus(); + + // 目前主流移动设备对fixed支持不好 + if (_isMobile) config.fixed = false; + + // 按钮队列 + if (!$.isArray(config.button)) { + config.button = config.button ? [config.button] : []; + }; + if (ok !== undefined) config.ok = ok; + if (cancel !== undefined) config.cancel = cancel; + config.ok && config.button.push({ + name: config.okVal, + callback: config.ok, + focus: true + }); + config.cancel && config.button.push({ + name: config.cancelVal, + callback: config.cancel + }); + + // zIndex全局配置 + artDialog.defaults.zIndex = config.zIndex; + + _count ++; + + return artDialog.list[config.id] = _box ? + _box._init(config) : new artDialog.fn._init(config); +}; + +artDialog.fn = artDialog.prototype = { + + version: '4.1.7', + + closed: true, + + _init: function (config) { + var that = this, DOM, + icon = config.icon, + iconBg = icon && (_isIE6 ? {png: 'icons/' + icon + '.png'} + : {backgroundImage: 'url(\'' + config.path + '/skins/icons/' + icon + '.png\')'}); + + that.closed = false; + that.config = config; + that.DOM = DOM = that.DOM || that._getDOM(); + + DOM.wrap.addClass(config.skin); + DOM.close[config.cancel === false ? 'hide' : 'show'](); + DOM.icon[0].style.display = icon ? '' : 'none'; + DOM.iconBg.css(iconBg || {background: 'none'}); + DOM.se.css('cursor', config.resize ? 'se-resize' : 'auto'); + DOM.title.css('cursor', config.drag ? 'move' : 'auto'); + DOM.content.css('padding', config.padding); + + that[config.show ? 'show' : 'hide'](true) + that.button(config.button) + .title(config.title) + .content(config.content, true) + .size(config.width, config.height) + .time(config.time); + + config.follow + ? that.follow(config.follow) + : that.position(config.left, config.top); + + that.zIndex().focus(); + config.lock && that.lock(); + + that._addEvent(); + that._ie6PngFix(); + _box = null; + + config.init && config.init.call(that, window); + return that; + }, + + /** + * 设置内容 + * @param {String, HTMLElement} 内容 (可选) + * @return {this, HTMLElement} 如果无参数则返回内容容器DOM对象 + */ + content: function (msg) { + var prev, next, parent, display, + that = this, + DOM = that.DOM, + wrap = DOM.wrap[0], + width = wrap.offsetWidth, + height = wrap.offsetHeight, + left = parseInt(wrap.style.left), + top = parseInt(wrap.style.top), + cssWidth = wrap.style.width, + $content = DOM.content, + content = $content[0]; + + that._elemBack && that._elemBack(); + wrap.style.width = 'auto'; + + if (msg === undefined) return content; + if (typeof msg === 'string') { + $content.html(msg); + } else if (msg && msg.nodeType === 1) { + + // 让传入的元素在对话框关闭后可以返回到原来的地方 + display = msg.style.display; + prev = msg.previousSibling; + next = msg.nextSibling; + parent = msg.parentNode; + that._elemBack = function () { + if (prev && prev.parentNode) { + prev.parentNode.insertBefore(msg, prev.nextSibling); + } else if (next && next.parentNode) { + next.parentNode.insertBefore(msg, next); + } else if (parent) { + parent.appendChild(msg); + }; + msg.style.display = display; + that._elemBack = null; + }; + + $content.html(''); + content.appendChild(msg); + msg.style.display = 'block'; + + }; + + // 新增内容后调整位置 + if (!arguments[1]) { + if (that.config.follow) { + that.follow(that.config.follow); + } else { + width = wrap.offsetWidth - width; + height = wrap.offsetHeight - height; + left = left - width / 2; + top = top - height / 2; + wrap.style.left = Math.max(left, 0) + 'px'; + wrap.style.top = Math.max(top, 0) + 'px'; + }; + if (cssWidth && cssWidth !== 'auto') { + wrap.style.width = wrap.offsetWidth + 'px'; + }; + that._autoPositionType(); + }; + + that._ie6SelectFix(); + that._runScript(content); + + return that; + }, + + /** + * 设置标题 + * @param {String, Boolean} 标题内容. 为false则隐藏标题栏 + * @return {this, HTMLElement} 如果无参数则返回内容器DOM对象 + */ + title: function (text) { + var DOM = this.DOM, + wrap = DOM.wrap, + title = DOM.title, + className = 'aui_state_noTitle'; + + if (text === undefined) return title[0]; + if (text === false) { + title.hide().html(''); + wrap.addClass(className); + } else { + title.show().html(text || ''); + wrap.removeClass(className); + }; + + return this; + }, + + /** + * 位置(相对于可视区域) + * @param {Number, String} + * @param {Number, String} + */ + position: function (left, top) { + var that = this, + config = that.config, + wrap = that.DOM.wrap[0], + isFixed = _isIE6 ? false : config.fixed, + ie6Fixed = _isIE6 && that.config.fixed, + docLeft = _$document.scrollLeft(), + docTop = _$document.scrollTop(), + dl = isFixed ? 0 : docLeft, + dt = isFixed ? 0 : docTop, + ww = _$window.width(), + wh = _$window.height(), + ow = wrap.offsetWidth, + oh = wrap.offsetHeight, + style = wrap.style; + + if (left || left === 0) { + that._left = left.toString().indexOf('%') !== -1 ? left : null; + left = that._toNumber(left, ww - ow); + + if (typeof left === 'number') { + left = ie6Fixed ? (left += docLeft) : left + dl; + style.left = Math.max(left, dl) + 'px'; + } else if (typeof left === 'string') { + style.left = left; + }; + }; + + if (top || top === 0) { + that._top = top.toString().indexOf('%') !== -1 ? top : null; + top = that._toNumber(top, wh - oh); + + if (typeof top === 'number') { + top = ie6Fixed ? (top += docTop) : top + dt; + style.top = Math.max(top, dt) + 'px'; + } else if (typeof top === 'string') { + style.top = top; + }; + }; + + if (left !== undefined && top !== undefined) { + that._follow = null; + that._autoPositionType(); + }; + + return that; + }, + + /** + * 尺寸 + * @param {Number, String} 宽度 + * @param {Number, String} 高度 + */ + size: function (width, height) { + var maxWidth, maxHeight, scaleWidth, scaleHeight, + that = this, + config = that.config, + DOM = that.DOM, + wrap = DOM.wrap, + main = DOM.main, + wrapStyle = wrap[0].style, + style = main[0].style; + + if (width) { + that._width = width.toString().indexOf('%') !== -1 ? width : null; + maxWidth = _$window.width() - wrap[0].offsetWidth + main[0].offsetWidth; + scaleWidth = that._toNumber(width, maxWidth); + width = scaleWidth; + + if (typeof width === 'number') { + wrapStyle.width = 'auto'; + style.width = Math.max(that.config.minWidth, width) + 'px'; + wrapStyle.width = wrap[0].offsetWidth + 'px'; // 防止未定义宽度的表格遇到浏览器右边边界伸缩 + } else if (typeof width === 'string') { + style.width = width; + width === 'auto' && wrap.css('width', 'auto'); + }; + }; + + if (height) { + that._height = height.toString().indexOf('%') !== -1 ? height : null; + maxHeight = _$window.height() - wrap[0].offsetHeight + main[0].offsetHeight; + scaleHeight = that._toNumber(height, maxHeight); + height = scaleHeight; + + if (typeof height === 'number') { + style.height = Math.max(that.config.minHeight, height) + 'px'; + } else if (typeof height === 'string') { + style.height = height; + }; + }; + + that._ie6SelectFix(); + + return that; + }, + + /** + * 跟随元素 + * @param {HTMLElement, String} + */ + follow: function (elem) { + var $elem, that = this, config = that.config; + + if (typeof elem === 'string' || elem && elem.nodeType === 1) { + $elem = $(elem); + elem = $elem[0]; + }; + + // 隐藏元素不可用 + if (!elem || !elem.offsetWidth && !elem.offsetHeight) { + return that.position(that._left, that._top); + }; + + var expando = _expando + 'follow', + winWidth = _$window.width(), + winHeight = _$window.height(), + docLeft = _$document.scrollLeft(), + docTop = _$document.scrollTop(), + offset = $elem.offset(), + width = elem.offsetWidth, + height = elem.offsetHeight, + isFixed = _isIE6 ? false : config.fixed, + left = isFixed ? offset.left - docLeft : offset.left, + top = isFixed ? offset.top - docTop : offset.top, + wrap = that.DOM.wrap[0], + style = wrap.style, + wrapWidth = wrap.offsetWidth, + wrapHeight = wrap.offsetHeight, + setLeft = left - (wrapWidth - width) / 2, + setTop = top + height, + dl = isFixed ? 0 : docLeft, + dt = isFixed ? 0 : docTop; + + setLeft = setLeft < dl ? left : + (setLeft + wrapWidth > winWidth) && (left - wrapWidth > dl) + ? left - wrapWidth + width + : setLeft; + + setTop = (setTop + wrapHeight > winHeight + dt) + && (top - wrapHeight > dt) + ? top - wrapHeight + : setTop; + + style.left = setLeft + 'px'; + style.top = setTop + 'px'; + + that._follow && that._follow.removeAttribute(expando); + that._follow = elem; + elem[expando] = config.id; + that._autoPositionType(); + return that; + }, + + /** + * 自定义按钮 + * @example + button({ + name: 'login', + callback: function () {}, + disabled: false, + focus: true + }, .., ..) + */ + button: function () { + var that = this, + ags = arguments, + DOM = that.DOM, + buttons = DOM.buttons, + elem = buttons[0], + strongButton = 'aui_state_highlight', + listeners = that._listeners = that._listeners || {}, + list = $.isArray(ags[0]) ? ags[0] : [].slice.call(ags); + + if (ags[0] === undefined) return elem; + $.each(list, function (i, val) { + var name = val.name, + isNewButton = !listeners[name], + button = !isNewButton ? + listeners[name].elem : + document.createElement('button'); + + if (!listeners[name]) listeners[name] = {}; + if (val.callback) listeners[name].callback = val.callback; + if (val.className) button.className = val.className; + if (val.focus) { + that._focus && that._focus.removeClass(strongButton); + that._focus = $(button).addClass(strongButton); + that.focus(); + }; + + // Internet Explorer 的默认类型是 "button", + // 而其他浏览器中(包括 W3C 规范)的默认值是 "submit" + // @see http://www.w3school.com.cn/tags/att_button_type.asp + button.setAttribute('type', 'button'); + + button[_expando + 'callback'] = name; + button.disabled = !!val.disabled; + + if (isNewButton) { + button.innerHTML = name; + listeners[name].elem = button; + elem.appendChild(button); + }; + }); + + buttons[0].style.display = list.length ? '' : 'none'; + + that._ie6SelectFix(); + return that; + }, + + /** 显示对话框 */ + show: function () { + this.DOM.wrap.show(); + !arguments[0] && this._lockMaskWrap && this._lockMaskWrap.show(); + return this; + }, + + /** 隐藏对话框 */ + hide: function () { + this.DOM.wrap.hide(); + !arguments[0] && this._lockMaskWrap && this._lockMaskWrap.hide(); + return this; + }, + + /** 关闭对话框 */ + close: function () { + if (this.closed) return this; + + var that = this, + DOM = that.DOM, + wrap = DOM.wrap, + list = artDialog.list, + fn = that.config.close, + follow = that.config.follow; + + that.time(); + if (typeof fn === 'function' && fn.call(that, window) === false) { + return that; + }; + + that.unlock(); + + // 置空内容 + that._elemBack && that._elemBack(); + wrap[0].className = wrap[0].style.cssText = ''; + DOM.title.html(''); + DOM.content.html(''); + DOM.buttons.html(''); + + if (artDialog.focus === that) artDialog.focus = null; + if (follow) follow.removeAttribute(_expando + 'follow'); + delete list[that.config.id]; + that._removeEvent(); + that.hide(true)._setAbsolute(); + + // 清空除this.DOM之外临时对象,恢复到初始状态,以便使用单例模式 + for (var i in that) { + if (that.hasOwnProperty(i) && i !== 'DOM') delete that[i]; + }; + + // 移除HTMLElement或重用 + _box ? wrap.remove() : _box = that; + + return that; + }, + + /** + * 定时关闭 + * @param {Number} 单位为秒, 无参数则停止计时器 + */ + time: function (second) { + var that = this, + cancel = that.config.cancelVal, + timer = that._timer; + + timer && clearTimeout(timer); + + if (second) { + that._timer = setTimeout(function(){ + that._click(cancel); + }, 1000 * second); + }; + + return that; + }, + + /** 设置焦点 */ + focus: function () { + try { + if (this.config.focus) { + var elem = this._focus && this._focus[0] || this.DOM.close[0]; + elem && elem.focus(); + } + } catch (e) {}; // IE对不可见元素设置焦点会报错 + return this; + }, + + /** 置顶对话框 */ + zIndex: function () { + var that = this, + DOM = that.DOM, + wrap = DOM.wrap, + top = artDialog.focus, + index = artDialog.defaults.zIndex ++; + + // 设置叠加高度 + wrap.css('zIndex', index); + that._lockMask && that._lockMask.css('zIndex', index - 1); + + // 设置最高层的样式 + top && top.DOM.wrap.removeClass('aui_state_focus'); + artDialog.focus = that; + wrap.addClass('aui_state_focus'); + + return that; + }, + + /** 设置屏锁 */ + lock: function () { + if (this._lock) return this; + + var that = this, + index = artDialog.defaults.zIndex - 1, + wrap = that.DOM.wrap, + config = that.config, + docWidth = _$document.width(), + docHeight = _$document.height(), + lockMaskWrap = that._lockMaskWrap || $(document.body.appendChild(document.createElement('div'))), + lockMask = that._lockMask || $(lockMaskWrap[0].appendChild(document.createElement('div'))), + domTxt = '(document).documentElement', + sizeCss = _isMobile ? 'width:' + docWidth + 'px;height:' + docHeight + + 'px' : 'width:100%;height:100%', + ie6Css = _isIE6 ? + 'position:absolute;left:expression(' + domTxt + '.scrollLeft);top:expression(' + + domTxt + '.scrollTop);width:expression(' + domTxt + + '.clientWidth);height:expression(' + domTxt + '.clientHeight)' + : ''; + + that.zIndex(); + wrap.addClass('aui_state_lock'); + + lockMaskWrap[0].style.cssText = sizeCss + ';position:fixed;z-index:' + + index + ';top:0;left:0;overflow:hidden;' + ie6Css; + lockMask[0].style.cssText = 'height:100%;background:' + config.background + + ';filter:alpha(opacity=0);opacity:0'; + + // 让IE6锁屏遮罩能够盖住下拉控件 + if (_isIE6) lockMask.html( + ''); + + lockMask.stop(); + lockMask.bind('click', function () { + that._reset(); + }).bind('dblclick', function () { + that._click(that.config.cancelVal); + }); + + if (config.duration === 0) { + lockMask.css({opacity: config.opacity}); + } else { + lockMask.animate({opacity: config.opacity}, config.duration); + }; + + that._lockMaskWrap = lockMaskWrap; + that._lockMask = lockMask; + + that._lock = true; + return that; + }, + + /** 解开屏锁 */ + unlock: function () { + var that = this, + lockMaskWrap = that._lockMaskWrap, + lockMask = that._lockMask; + + if (!that._lock) return that; + var style = lockMaskWrap[0].style; + var un = function () { + if (_isIE6) { + style.removeExpression('width'); + style.removeExpression('height'); + style.removeExpression('left'); + style.removeExpression('top'); + }; + style.cssText = 'display:none'; + + _box && lockMaskWrap.remove(); + }; + + lockMask.stop().unbind(); + that.DOM.wrap.removeClass('aui_state_lock'); + if (!that.config.duration) {// 取消动画,快速关闭 + un(); + } else { + lockMask.animate({opacity: 0}, that.config.duration, un); + }; + + that._lock = false; + return that; + }, + + // 获取元素 + _getDOM: function () { + var wrap = document.createElement('div'), + body = document.body; + wrap.style.cssText = 'position:absolute;left:0;top:0'; + wrap.innerHTML = artDialog._templates; + body.insertBefore(wrap, body.firstChild); + + var name, i = 0, + DOM = {wrap: $(wrap)}, + els = wrap.getElementsByTagName('*'), + elsLen = els.length; + + for (; i < elsLen; i ++) { + name = els[i].className.split('aui_')[1]; + if (name) DOM[name] = $(els[i]); + }; + + return DOM; + }, + + // px与%单位转换成数值 (百分比单位按照最大值换算) + // 其他的单位返回原值 + _toNumber: function (thisValue, maxValue) { + if (!thisValue && thisValue !== 0 || typeof thisValue === 'number') { + return thisValue; + }; + + var last = thisValue.length - 1; + if (thisValue.lastIndexOf('px') === last) { + thisValue = parseInt(thisValue); + } else if (thisValue.lastIndexOf('%') === last) { + thisValue = parseInt(maxValue * thisValue.split('%')[0] / 100); + }; + + return thisValue; + }, + + // 让IE6 CSS支持PNG背景 + _ie6PngFix: _isIE6 ? function () { + var i = 0, elem, png, pngPath, runtimeStyle, + path = artDialog.defaults.path + '/skins/', + list = this.DOM.wrap[0].getElementsByTagName('*'); + + for (; i < list.length; i ++) { + elem = list[i]; + png = elem.currentStyle['png']; + if (png) { + pngPath = path + png; + runtimeStyle = elem.runtimeStyle; + runtimeStyle.backgroundImage = 'none'; + runtimeStyle.filter = "progid:DXImageTransform.Microsoft." + + "AlphaImageLoader(src='" + pngPath + "',sizingMethod='crop')"; + }; + }; + } : $.noop, + + // 强制覆盖IE6下拉控件 + _ie6SelectFix: _isIE6 ? function () { + var $wrap = this.DOM.wrap, + wrap = $wrap[0], + expando = _expando + 'iframeMask', + iframe = $wrap[expando], + width = wrap.offsetWidth, + height = wrap.offsetHeight; + + width = width + 'px'; + height = height + 'px'; + if (iframe) { + iframe.style.width = width; + iframe.style.height = height; + } else { + iframe = wrap.appendChild(document.createElement('iframe')); + $wrap[expando] = iframe; + iframe.src = 'about:blank'; + iframe.style.cssText = 'position:absolute;z-index:-1;left:0;top:0;' + + 'filter:alpha(opacity=0);width:' + width + ';height:' + height; + }; + } : $.noop, + + // 解析HTML片段中自定义类型脚本,其this指向artDialog内部 + // + _runScript: function (elem) { + var fun, i = 0, n = 0, + tags = elem.getElementsByTagName('script'), + length = tags.length, + script = []; + + for (; i < length; i ++) { + if (tags[i].type === 'text/dialog') { + script[n] = tags[i].innerHTML; + n ++; + }; + }; + + if (script.length) { + script = script.join(''); + fun = new Function(script); + fun.call(this); + }; + }, + + // 自动切换定位类型 + _autoPositionType: function () { + this[this.config.fixed ? '_setFixed' : '_setAbsolute']();///////////// + }, + + + // 设置静止定位 + // IE6 Fixed @see: http://www.planeart.cn/?p=877 + _setFixed: (function () { + _isIE6 && $(function () { + var bg = 'backgroundAttachment'; + if (_$html.css(bg) !== 'fixed' && $('body').css(bg) !== 'fixed') { + _$html.css({ + zoom: 1,// 避免偶尔出现body背景图片异常的情况 + backgroundImage: 'url(about:blank)', + backgroundAttachment: 'fixed' + }); + }; + }); + + return function () { + var $elem = this.DOM.wrap, + style = $elem[0].style; + + if (_isIE6) { + var left = parseInt($elem.css('left')), + top = parseInt($elem.css('top')), + sLeft = _$document.scrollLeft(), + sTop = _$document.scrollTop(), + txt = '(document.documentElement)'; + + this._setAbsolute(); + style.setExpression('left', 'eval(' + txt + '.scrollLeft + ' + + (left - sLeft) + ') + "px"'); + style.setExpression('top', 'eval(' + txt + '.scrollTop + ' + + (top - sTop) + ') + "px"'); + } else { + style.position = 'fixed'; + }; + }; + }()), + + // 设置绝对定位 + _setAbsolute: function () { + var style = this.DOM.wrap[0].style; + + if (_isIE6) { + style.removeExpression('left'); + style.removeExpression('top'); + }; + + style.position = 'absolute'; + }, + + // 按钮回调函数触发 + _click: function (name) { + var that = this, + fn = that._listeners[name] && that._listeners[name].callback; + return typeof fn !== 'function' || fn.call(that, window) !== false ? + that.close() : that; + }, + + // 重置位置与尺寸 + _reset: function (test) { + var newSize, + that = this, + oldSize = that._winSize || _$window.width() * _$window.height(), + elem = that._follow, + width = that._width, + height = that._height, + left = that._left, + top = that._top; + + if (test) { + // IE6~7 window.onresize bug + newSize = that._winSize = _$window.width() * _$window.height(); + if (oldSize === newSize) return; + }; + + if (width || height) that.size(width, height); + + if (elem) { + that.follow(elem); + } else if (left || top) { + that.position(left, top); + }; + }, + + // 事件代理 + _addEvent: function () { + var resizeTimer, + that = this, + config = that.config, + isIE = 'CollectGarbage' in window, + DOM = that.DOM; + + // 窗口调节事件 + that._winResize = function () { + resizeTimer && clearTimeout(resizeTimer); + resizeTimer = setTimeout(function () { + that._reset(isIE); + }, 40); + }; + _$window.bind('resize', that._winResize); + + // 监听点击 + DOM.wrap + .bind('click', function (event) { + var target = event.target, callbackID; + + if (target.disabled) return false; // IE BUG + + if (target === DOM.close[0]) { + that._click(config.cancelVal); + return false; + } else { + callbackID = target[_expando + 'callback']; + callbackID && that._click(callbackID); + }; + + that._ie6SelectFix(); + }) + .bind('mousedown', function () { + that.zIndex(); + }); + }, + + // 卸载事件代理 + _removeEvent: function () { + var that = this, + DOM = that.DOM; + + DOM.wrap.unbind(); + _$window.unbind('resize', that._winResize); + } + +}; + +artDialog.fn._init.prototype = artDialog.fn; +$.fn.dialog = $.fn.artDialog = function () { + var config = arguments; + this[this.live ? 'live' : 'bind']('click', function () { + artDialog.apply(this, config); + return false; + }); + return this; +}; + + + +/** 最顶层的对话框API */ +artDialog.focus = null; + + +/** 获取某对话框API */ +artDialog.get = function (id) { + return id === undefined + ? artDialog.list + : artDialog.list[id]; +}; + +artDialog.list = {}; + + + +// 全局快捷键 +_$document.bind('keydown', function (event) { + var target = event.target, + nodeName = target.nodeName, + rinput = /^INPUT|TEXTAREA$/, + api = artDialog.focus, + keyCode = event.keyCode; + + if (!api || !api.config.esc || rinput.test(nodeName)) return; + + keyCode === 27 && api._click(api.config.cancelVal); +}); + + + +// 获取artDialog路径 +_path = window['_artDialog_path'] || (function (script, i, me) { + for (i in script) { + // 如果通过第三方脚本加载器加载本文件,请保证文件名含有"artDialog"字符 + if (script[i].src && script[i].src.indexOf('artDialog') !== -1) me = script[i]; + }; + + _thisScript = me || script[script.length - 1]; + me = _thisScript.src.replace(/\\/g, '/'); + return me.lastIndexOf('/') < 0 ? '.' : me.substring(0, me.lastIndexOf('/')); +}(document.getElementsByTagName('script'))); + + + +// 无阻塞载入CSS (如"artDialog.js?skin=aero") +_skin = _thisScript.src.split('skin=')[1]; +if (_skin) { + var link = document.createElement('link'); + link.rel = 'stylesheet'; + link.href = _path + '/skins/' + _skin + '.css?' + artDialog.fn.version; + _thisScript.parentNode.insertBefore(link, _thisScript); +}; + + + +// 触发浏览器预先缓存背景图片 +_$window.bind('load', function () { + setTimeout(function () { + if (_count) return; + artDialog({left: '-9999em',time: 9,fixed: false,lock: false,focus: false}); + }, 150); +}); + + + +// 开启IE6 CSS背景图片缓存 +try { + document.execCommand('BackgroundImageCache', false, true); +} catch (e) {}; + + + + +// 使用uglifyjs压缩能够预先处理"+"号合并字符串 +// uglifyjs: http://marijnhaverbeke.nl/uglifyjs +artDialog._templates = +'
                  ' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '
                  ' ++ '
                  ' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '' ++ '
                  ' ++ '
                  ' ++ '
                  ' ++ '' ++ '\xd7' ++ '' ++ '
                  ' ++ '
                  ' ++ '
                  ' ++ '
                  ' ++ '
                  ' ++ '
                  ' ++ '
                  ' ++ '
                  ' ++'
                  '; + + + +/** + * 默认配置 + */ +artDialog.defaults = { + // 消息内容 + content: '
                  loading..
                  ', + title: '\u6d88\u606f', // 标题. 默认'消息' + button: null, // 自定义按钮 + ok: null, // 确定按钮回调函数 + cancel: null, // 取消按钮回调函数 + init: null, // 对话框初始化后执行的函数 + close: null, // 对话框关闭前执行的函数 + okVal: '\u786E\u5B9A', // 确定按钮文本. 默认'确定' + cancelVal: '\u53D6\u6D88', // 取消按钮文本. 默认'取消' + width: 'auto', // 内容宽度 + height: 'auto', // 内容高度 + minWidth: 96, // 最小宽度限制 + minHeight: 32, // 最小高度限制 + padding: '20px 25px', // 内容与边界填充距离 + skin: '', // 皮肤名(预留接口,尚未实现) + icon: null, // 消息图标名称 + time: null, // 自动关闭时间 + esc: true, // 是否支持Esc键关闭 + focus: true, // 是否支持对话框按钮自动聚焦 + show: true, // 初始化后是否显示对话框 + follow: null, // 跟随某元素(即让对话框在元素附近弹出) + path: _path, // artDialog路径 + lock: false, // 是否锁屏 + background: '#000', // 遮罩颜色 + opacity: .7, // 遮罩透明度 + duration: 300, // 遮罩透明度渐变动画速度 + fixed: false, // 是否静止定位 + left: '50%', // X轴坐标 + top: '38.2%', // Y轴坐标 + zIndex: 1987, // 对话框叠加高度值(重要:此值不能超过浏览器最大限制) + resize: true, // 是否允许用户调节尺寸 + drag: true // 是否允许用户拖动位置 + +}; + +window.artDialog = $.dialog = $.artDialog = artDialog; +}(this.art || this.jQuery && (this.art = jQuery), this)); + + + + + + +//------------------------------------------------ +// 对话框模块-拖拽支持(可选外置模块) +//------------------------------------------------ +;(function ($) { + +var _dragEvent, _use, + _$window = $(window), + _$document = $(document), + _elem = document.documentElement, + _isIE6 = !('minWidth' in _elem.style), + _isLosecapture = 'onlosecapture' in _elem, + _isSetCapture = 'setCapture' in _elem; + +// 拖拽事件 +artDialog.dragEvent = function () { + var that = this, + proxy = function (name) { + var fn = that[name]; + that[name] = function () { + return fn.apply(that, arguments); + }; + }; + + proxy('start'); + proxy('move'); + proxy('end'); +}; + +artDialog.dragEvent.prototype = { + + // 开始拖拽 + onstart: $.noop, + start: function (event) { + _$document + .bind('mousemove', this.move) + .bind('mouseup', this.end); + + this._sClientX = event.clientX; + this._sClientY = event.clientY; + this.onstart(event.clientX, event.clientY); + + return false; + }, + + // 正在拖拽 + onmove: $.noop, + move: function (event) { + this._mClientX = event.clientX; + this._mClientY = event.clientY; + this.onmove( + event.clientX - this._sClientX, + event.clientY - this._sClientY + ); + + return false; + }, + + // 结束拖拽 + onend: $.noop, + end: function (event) { + _$document + .unbind('mousemove', this.move) + .unbind('mouseup', this.end); + + this.onend(event.clientX, event.clientY); + return false; + } + +}; + +_use = function (event) { + var limit, startWidth, startHeight, startLeft, startTop, isResize, + api = artDialog.focus, + //config = api.config, + DOM = api.DOM, + wrap = DOM.wrap, + title = DOM.title, + main = DOM.main; + + // 清除文本选择 + var clsSelect = 'getSelection' in window ? function () { + window.getSelection().removeAllRanges(); + } : function () { + try { + document.selection.empty(); + } catch (e) {}; + }; + + // 对话框准备拖动 + _dragEvent.onstart = function (x, y) { + if (isResize) { + startWidth = main[0].offsetWidth; + startHeight = main[0].offsetHeight; + } else { + startLeft = wrap[0].offsetLeft; + startTop = wrap[0].offsetTop; + }; + + _$document.bind('dblclick', _dragEvent.end); + !_isIE6 && _isLosecapture ? + title.bind('losecapture', _dragEvent.end) : + _$window.bind('blur', _dragEvent.end); + _isSetCapture && title[0].setCapture(); + + wrap.addClass('aui_state_drag'); + api.focus(); + }; + + // 对话框拖动进行中 + _dragEvent.onmove = function (x, y) { + if (isResize) { + var wrapStyle = wrap[0].style, + style = main[0].style, + width = x + startWidth, + height = y + startHeight; + + wrapStyle.width = 'auto'; + style.width = Math.max(0, width) + 'px'; + wrapStyle.width = wrap[0].offsetWidth + 'px'; + + style.height = Math.max(0, height) + 'px'; + + } else { + var style = wrap[0].style, + left = Math.max(limit.minX, Math.min(limit.maxX, x + startLeft)), + top = Math.max(limit.minY, Math.min(limit.maxY, y + startTop)); + + style.left = left + 'px'; + style.top = top + 'px'; + }; + + clsSelect(); + api._ie6SelectFix(); + }; + + // 对话框拖动结束 + _dragEvent.onend = function (x, y) { + _$document.unbind('dblclick', _dragEvent.end); + !_isIE6 && _isLosecapture ? + title.unbind('losecapture', _dragEvent.end) : + _$window.unbind('blur', _dragEvent.end); + _isSetCapture && title[0].releaseCapture(); + + _isIE6 && !api.closed && api._autoPositionType(); + + wrap.removeClass('aui_state_drag'); + }; + + isResize = event.target === DOM.se[0] ? true : false; + limit = (function () { + var maxX, maxY, + wrap = api.DOM.wrap[0], + fixed = wrap.style.position === 'fixed', + ow = wrap.offsetWidth, + oh = wrap.offsetHeight, + ww = _$window.width(), + wh = _$window.height(), + dl = fixed ? 0 : _$document.scrollLeft(), + dt = fixed ? 0 : _$document.scrollTop(), + + // 坐标最大值限制 + maxX = ww - ow + dl; + maxY = wh - oh + dt; + + return { + minX: dl, + minY: dt, + maxX: maxX, + maxY: maxY + }; + })(); + + _dragEvent.start(event); +}; + +// 代理 mousedown 事件触发对话框拖动 +_$document.bind('mousedown', function (event) { + var api = artDialog.focus; + if (!api) return; + + var target = event.target, + config = api.config, + DOM = api.DOM; + + if (config.drag !== false && target === DOM.title[0] + || config.resize !== false && target === DOM.se[0]) { + _dragEvent = _dragEvent || new artDialog.dragEvent(); + _use(event); + return false;// 防止firefox与chrome滚屏 + }; +}); + +})(this.art || this.jQuery && (this.art = jQuery)); + diff --git a/源码/src/main/webapp/resource/js/artDialog/license.txt b/源码/src/main/webapp/resource/js/artDialog/license.txt new file mode 100644 index 0000000..02bbb60 --- /dev/null +++ b/源码/src/main/webapp/resource/js/artDialog/license.txt @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. \ No newline at end of file diff --git a/源码/src/main/webapp/resource/js/artDialog/plugins/iframeTools.js b/源码/src/main/webapp/resource/js/artDialog/plugins/iframeTools.js new file mode 100644 index 0000000..54d4d00 --- /dev/null +++ b/源码/src/main/webapp/resource/js/artDialog/plugins/iframeTools.js @@ -0,0 +1,10 @@ +/*! + * artDialog iframeTools + * Date: 2011-12-08 1:32 + * http://code.google.com/p/artdialog/ + * (c) 2009-2011 TangBin, http://www.planeArt.cn + * + * This is licensed under the GNU LGPL, version 2.1 or later. + * For details, see: http://creativecommons.org/licenses/LGPL/2.1/ + */ +eval(function(B,D,A,G,E,F){function C(A){return A<62?String.fromCharCode(A+=A<26?65:A<52?71:-4):A<63?'_':A<64?'$':C(A>>6)+C(A&63)}while(A>0)E[C(G--)]=D[--A];return B.replace(/[\w\$]+/g,function(A){return E[A]==F[A]?A:E[A]})}('(6(E,C,D,A){c B,X,W,J="@_.DATA",K="@_.OPEN",H="@_.OPENER",I=C.k=C.k||"@_.WINNAME"+(Bd Bo).Be(),F=C.VBArray&&!C.XMLHttpRequest;E(6(){!C.Bu&&7.BY==="B0"&&Br("9 Error: 7.BY === \\"B0\\"")});c G=D.d=6(){c W=C,X=6(A){f{c W=C[A].7;W.BE}u(X){v!V}v C[A].9&&W.BE("frameset").length===U};v X("d")?W=C.d:X("BB")&&(W=C.BB),W}();D.BB=G,B=G.9,W=6(){v B.BW.w},D.m=6(C,B){c W=D.d,X=W[J]||{};W[J]=X;b(B!==A)X[C]=B;else v X[C];v X},D.BQ=6(W){c X=D.d[J];X&&X[W]&&1 X[W]},D.through=X=6(){c X=B.BR(i,BJ);v G!==C&&(D.B4[X.0.Z]=X),X},G!==C&&E(C).BN("unload",6(){c A=D.B4,W;BO(c X BS A)A[X]&&(W=A[X].0,W&&(W.duration=U),A[X].s(),1 A[X])}),D.p=6(B,O,BZ){O=O||{};c N,L,M,Bc,T,S,R,Q,BF,P=D.d,Ba="8:BD;n:-Bb;d:-Bb;Bp:o U;Bf:transparent",BI="r:g%;x:g%;Bp:o U";b(BZ===!V){c BH=(Bd Bo).Be(),BG=B.replace(/([?&])W=[^&]*/,"$1_="+BH);B=BG+(BG===B?(/\\?/.test(B)?"&":"?")+"W="+BH:"")}c G=6(){c B,C,W=L.2.B2(".aui_loading"),A=N.0;M.addClass("Bi"),W&&W.hide();f{Q=T.$,R=E(Q.7),BF=Q.7.Bg}u(X){T.q.5=BI,A.z?N.z(A.z):N.8(A.n,A.d),O.j&&O.j.l(N,Q,P),O.j=By;v}B=A.r==="Bt"?R.r()+(F?U:parseInt(E(BF).Bv("marginLeft"))):A.r,C=A.x==="Bt"?R.x():A.x,setTimeout(6(){T.q.5=BI},U),N.Bk(B,C),A.z?N.z(A.z):N.8(A.n,A.d),O.j&&O.j.l(N,Q,P),O.j=By},I={w:W(),j:6(){N=i,L=N.h,Bc=L.BM,M=L.2,T=N.BK=P.7.Bn("BK"),T.Bx=B,T.k="Open"+N.0.Z,T.q.5=Ba,T.BX("frameborder",U,U),T.BX("allowTransparency",!U),S=E(T),N.2().B3(T),Q=T.$;f{Q.k=T.k,D.m(T.k+K,N),D.m(T.k+H,C)}u(X){}S.BN("BC",G)},s:6(){S.Bv("4","o").unbind("BC",G);b(O.s&&O.s.l(i,T.$,P)===!V)v!V;M.removeClass("Bi"),S[U].Bx="about:blank",S.remove();f{D.BQ(T.k+K),D.BQ(T.k+H)}u(X){}}};Bq O.Y=="6"&&(I.Y=6(){v O.Y.l(N,T.$,P)}),Bq O.y=="6"&&(I.y=6(){v O.y.l(N,T.$,P)}),1 O.2;BO(c J BS O)I[J]===A&&(I[J]=O[J]);v X(I)},D.p.Bw=D.m(I+K),D.BT=D.m(I+H)||C,D.p.origin=D.BT,D.s=6(){c X=D.m(I+K);v X&&X.s(),!V},G!=C&&E(7).BN("mousedown",6(){c X=D.p.Bw;X&&X.w()}),D.BC=6(C,D,B){B=B||!V;c G=D||{},H={w:W(),j:6(A){c W=i,X=W.0;E.ajax({url:C,success:6(X){W.2(X),G.j&&G.j.l(W,A)},cache:B})}};1 D.2;BO(c F BS G)H[F]===A&&(H[F]=G[F]);v X(H)},D.Br=6(B,A){v X({Z:"Alert",w:W(),BL:"warning",t:!U,BA:!U,2:B,Y:!U,s:A})},D.confirm=6(C,A,B){v X({Z:"Confirm",w:W(),BL:"Bm",t:!U,BA:!U,3:U.V,2:C,Y:6(X){v A.l(i,X)},y:6(X){v B&&B.l(i,X)}})},D.prompt=6(D,B,C){C=C||"";c A;v X({Z:"Prompt",w:W(),BL:"Bm",t:!U,BA:!U,3:U.V,2:["",D,"","","",""].join(""),j:6(){A=i.h.2.B2("Bl")[U],A.select(),A.BP()},Y:6(X){v B&&B.l(i,A.B1,X)},y:!U})},D.tips=6(B,A){v X({Z:"Tips",w:W(),title:!V,y:!V,t:!U,BA:!V}).2(""+B+"").time(A||V.B6)},E(6(){c A=D.dragEvent;b(!A)v;c B=E(C),X=E(7),W=F?"BD":"t",H=A.prototype,I=7.Bn("e"),G=I.q;G.5="4:o;8:"+W+";n:U;d:U;r:g%;x:g%;"+"cursor:move;filter:alpha(3=U);3:U;Bf:#FFF",7.Bg.B3(I),H.Bj=H.Bs,H.BV=H.Bz,H.Bs=6(){c E=D.BP.h,C=E.BM[U],A=E.2[U].BE("BK")[U];H.Bj.BR(i,BJ),G.4="block",G.w=D.BW.w+B5,W==="BD"&&(G.r=B.r()+"a",G.x=B.x()+"a",G.n=X.scrollLeft()+"a",G.d=X.scrollTop()+"a"),A&&C.offsetWidth*C.offsetHeight>307200&&(C.q.BU="hidden")},H.Bz=6(){c X=D.BP;H.BV.BR(i,BJ),G.4="o",X&&(X.h.BM[U].q.BU="visible")}})})(i.art||i.Bu,i,i.9)','P|R|T|U|V|W|0|1|_|$|ok|id|px|if|var|top|div|try|100|DOM|this|init|name|call|data|left|none|open|style|width|close|fixed|catch|return|zIndex|height|cancel|follow|config|delete|content|opacity|display|cssText|function|document|position|artDialog|ARTDIALOG|contentWindow|lock|parent|load|absolute|getElementsByTagName|S|Y|Z|a|arguments|iframe|icon|main|bind|for|focus|removeData|apply|in|opener|visibility|_end|defaults|setAttribute|compatMode|O|Q|9999em|X|new|getTime|background|body|padding|aui_state_full|_start|size|input|question|createElement|Date|border|typeof|alert|start|auto|jQuery|css|api|src|null|end|BackCompat|value|find|appendChild|list|3|5'.split('|'),109,122,{},{})) \ No newline at end of file diff --git a/源码/src/main/webapp/resource/js/artDialog/plugins/iframeTools.source.js b/源码/src/main/webapp/resource/js/artDialog/plugins/iframeTools.source.js new file mode 100644 index 0000000..8be76f1 --- /dev/null +++ b/源码/src/main/webapp/resource/js/artDialog/plugins/iframeTools.source.js @@ -0,0 +1,468 @@ +/*! + * artDialog iframeTools + * Date: 2011-11-25 13:54 + * http://code.google.com/p/artdialog/ + * (c) 2009-2011 TangBin, http://www.planeArt.cn + * + * This is licensed under the GNU LGPL, version 2.1 or later. + * For details, see: http://creativecommons.org/licenses/LGPL/2.1/ + */ + +;(function ($, window, artDialog, undefined) { + +var _topDialog, _proxyDialog, _zIndex, + _data = '@ARTDIALOG.DATA', + _open = '@ARTDIALOG.OPEN', + _opener = '@ARTDIALOG.OPENER', + _winName = window.name = window.name + || '@ARTDIALOG.WINNAME' + + new Date, + _isIE6 = window.VBArray && !window.XMLHttpRequest; + +$(function () { + !window.jQuery && document.compatMode === 'BackCompat' + // 不支持怪异模式,请用主流的XHTML1.0或者HTML5的DOCTYPE申明 + && alert('artDialog Error: document.compatMode === "BackCompat"'); +}); + + +/** 获取 artDialog 可跨级调用的最高层的 window 对象 */ +var _top = artDialog.top = function () { + var top = window, + test = function (name) { + try { + var doc = window[name].document; // 跨域|无权限 + doc.getElementsByTagName; // chrome 本地安全限制 + } catch (e) { + return false; + }; + + return window[name].artDialog + // 框架集无法显示第三方元素 + && doc.getElementsByTagName('frameset').length === 0; + }; + + if (test('top')) { + top = window.top; + } else if (test('parent')) { + top = window.parent; + }; + + return top; +}(); +artDialog.parent = _top; // 兼容v4.1之前版本,未来版本将删除此 + + +_topDialog = _top.artDialog; + + +// 获取顶层页面对话框叠加值 +_zIndex = function () { + return _topDialog.defaults.zIndex; +}; + + + +/** + * 跨框架数据共享接口 + * @see http://www.planeart.cn/?p=1554 + * @param {String} 存储的数据名 + * @param {Any} 将要存储的任意数据(无此项则返回被查询的数据) + */ +artDialog.data = function (name, value) { + var top = artDialog.top, + cache = top[_data] || {}; + top[_data] = cache; + + if (value !== undefined) { + cache[name] = value; + } else { + return cache[name]; + }; + return cache; +}; + + +/** + * 数据共享删除接口 + * @param {String} 删除的数据名 + */ +artDialog.removeData = function (name) { + var cache = artDialog.top[_data]; + if (cache && cache[name]) delete cache[name]; +}; + + +/** 跨框架普通对话框 */ +artDialog.through = _proxyDialog = function () { + var api = _topDialog.apply(this, arguments); + + // 缓存从当前 window(可能为iframe)调出所有跨框架对话框, + // 以便让当前 window 卸载前去关闭这些对话框。 + // 因为iframe注销后也会从内存中删除其创建的对象,这样可以防止回调函数报错 + if (_top !== window) artDialog.list[api.config.id] = api; + return api; +}; + +// 框架页面卸载前关闭所有穿越的对话框 +_top !== window && $(window).bind('unload', function () { + var list = artDialog.list, config; + for (var i in list) { + if (list[i]) { + config = list[i].config; + if (config) config.duration = 0; // 取消动画 + list[i].close(); + //delete list[i]; + }; + }; +}); + + +/** + * 弹窗 (iframe) + * @param {String} 地址 + * @param {Object} 配置参数. 这里传入的回调函数接收的第1个参数为iframe内部window对象 + * @param {Boolean} 是否允许缓存. 默认true + */ +artDialog.open = function (url, options, cache) { + options = options || {}; + + var api, DOM, + $content, $main, iframe, $iframe, $idoc, iwin, ibody, + top = artDialog.top, + initCss = 'position:absolute;left:-9999em;top:-9999em;border:none 0;background:transparent', + loadCss = 'width:100%;height:100%;border:none 0'; + + if (cache === false) { + var ts = + new Date, + ret = url.replace(/([?&])_=[^&]*/, "$1_=" + ts ); + url = ret + ((ret === url) ? (/\?/.test(url) ? "&" : "?") + "_=" + ts : ""); + }; + + var load = function () { + var iWidth, iHeight, + loading = DOM.content.find('.aui_loading'), + aConfig = api.config; + + $content.addClass('aui_state_full'); + + loading && loading.hide(); + + try { + iwin = iframe.contentWindow; + $idoc = $(iwin.document); + ibody = iwin.document.body; + } catch (e) {// 跨域 + iframe.style.cssText = loadCss; + + aConfig.follow + ? api.follow(aConfig.follow) + : api.position(aConfig.left, aConfig.top); + + options.init && options.init.call(api, iwin, top); + options.init = null; + return; + }; + + // 获取iframe内部尺寸 + iWidth = aConfig.width === 'auto' + ? $idoc.width() + (_isIE6 ? 0 : parseInt($(ibody).css('marginLeft'))) + : aConfig.width; + + iHeight = aConfig.height === 'auto' + ? $idoc.height() + : aConfig.height; + + // 适应iframe尺寸 + setTimeout(function () { + iframe.style.cssText = loadCss; + }, 0);// setTimeout: 防止IE6~7对话框样式渲染异常 + api.size(iWidth, iHeight); + + // 调整对话框位置 + aConfig.follow + ? api.follow(aConfig.follow) + : api.position(aConfig.left, aConfig.top); + + options.init && options.init.call(api, iwin, top); + options.init = null; + }; + + var config = { + zIndex: _zIndex(), + init: function () { + api = this; + DOM = api.DOM; + $main = DOM.main; + $content = DOM.content; + + iframe = api.iframe = top.document.createElement('iframe'); + iframe.src = url; + iframe.name = 'Open' + api.config.id; + iframe.style.cssText = initCss; + iframe.setAttribute('frameborder', 0, 0); + iframe.setAttribute('allowTransparency', true); + + $iframe = $(iframe); + api.content().appendChild(iframe); + iwin = iframe.contentWindow; + + try { + iwin.name = iframe.name; + artDialog.data(iframe.name + _open, api); + artDialog.data(iframe.name + _opener, window); + } catch (e) {}; + + $iframe.bind('load', load); + }, + close: function () { + $iframe.css('display', 'none').unbind('load', load); + + if (options.close && options.close.call(this, iframe.contentWindow, top) === false) { + return false; + }; + $content.removeClass('aui_state_full'); + + // 重要!需要重置iframe地址,否则下次出现的对话框在IE6、7无法聚焦input + // IE删除iframe后,iframe仍然会留在内存中出现上述问题,置换src是最容易解决的方法 + $iframe[0].src = 'about:blank'; + $iframe.remove(); + + try { + artDialog.removeData(iframe.name + _open); + artDialog.removeData(iframe.name + _opener); + } catch (e) {}; + } + }; + + // 回调函数第一个参数指向iframe内部window对象 + if (typeof options.ok === 'function') config.ok = function () { + return options.ok.call(api, iframe.contentWindow, top); + }; + if (typeof options.cancel === 'function') config.cancel = function () { + return options.cancel.call(api, iframe.contentWindow, top); + }; + + delete options.content; + + for (var i in options) { + if (config[i] === undefined) config[i] = options[i]; + }; + + return _proxyDialog(config); +}; + + +/** 引用open方法扩展方法(在open打开的iframe内部私有方法) */ +artDialog.open.api = artDialog.data(_winName + _open); + + +/** 引用open方法触发来源页面window(在open打开的iframe内部私有方法) */ +artDialog.opener = artDialog.data(_winName + _opener) || window; +artDialog.open.origin = artDialog.opener; // 兼容v4.1之前版本,未来版本将删除此 + +/** artDialog.open 打开的iframe页面里关闭对话框快捷方法 */ +artDialog.close = function () { + var api = artDialog.data(_winName + _open); + api && api.close(); + return false; +}; + +// 点击iframe内容切换叠加高度 +_top != window && $(document).bind('mousedown', function () { + var api = artDialog.open.api; + api && api.zIndex(); +}); + + +/** + * Ajax填充内容 + * @param {String} 地址 + * @param {Object} 配置参数 + * @param {Boolean} 是否允许缓存. 默认true + */ +artDialog.load = function(url, options, cache){ + cache = cache || false; + var opt = options || {}; + + var config = { + zIndex: _zIndex(), + init: function(here){ + var api = this, + aConfig = api.config; + + $.ajax({ + url: url, + success: function (content) { + api.content(content); + opt.init && opt.init.call(api, here); + }, + cache: cache + }); + + } + }; + + delete options.content; + + for (var i in opt) { + if (config[i] === undefined) config[i] = opt[i]; + }; + + return _proxyDialog(config); +}; + + +/** + * 警告 + * @param {String} 消息内容 + */ +artDialog.alert = function (content, callback) { + return _proxyDialog({ + id: 'Alert', + zIndex: _zIndex(), + icon: 'warning', + fixed: true, + lock: true, + content: content, + ok: true, + close: callback + }); +}; + + +/** + * 确认 + * @param {String} 消息内容 + * @param {Function} 确定按钮回调函数 + * @param {Function} 取消按钮回调函数 + */ +artDialog.confirm = function (content, yes, no) { + return _proxyDialog({ + id: 'Confirm', + zIndex: _zIndex(), + icon: 'question', + fixed: true, + lock: true, + opacity: .1, + content: content, + ok: function (here) { + return yes.call(this, here); + }, + cancel: function (here) { + return no && no.call(this, here); + } + }); +}; + + +/** + * 提问 + * @param {String} 提问内容 + * @param {Function} 回调函数. 接收参数:输入值 + * @param {String} 默认值 + */ +artDialog.prompt = function (content, yes, value) { + value = value || ''; + var input; + + return _proxyDialog({ + id: 'Prompt', + zIndex: _zIndex(), + icon: 'question', + fixed: true, + lock: true, + opacity: .1, + content: [ + '
                  ', + content, + '
                  ', + '
                  ', + '', + '
                  ' + ].join(''), + init: function () { + input = this.DOM.content.find('input')[0]; + input.select(); + input.focus(); + }, + ok: function (here) { + return yes && yes.call(this, input.value, here); + }, + cancel: true + }); +}; + + +/** + * 短暂提示 + * @param {String} 提示内容 + * @param {Number} 显示时间 (默认1.5秒) + */ +artDialog.tips = function (content, time) { + return _proxyDialog({ + id: 'Tips', + zIndex: _zIndex(), + title: false, + cancel: false, + fixed: true, + lock: false + }) + .content('
                  ' + content + '
                  ') + .time(time || 1.5); +}; + + +// 增强artDialog拖拽体验 +// - 防止鼠标落入iframe导致不流畅 +// - 对超大对话框拖动优化 +$(function () { + var event = artDialog.dragEvent; + if (!event) return; + + var $window = $(window), + $document = $(document), + positionType = _isIE6 ? 'absolute' : 'fixed', + dragEvent = event.prototype, + mask = document.createElement('div'), + style = mask.style; + + style.cssText = 'display:none;position:' + positionType + ';left:0;top:0;width:100%;height:100%;' + + 'cursor:move;filter:alpha(opacity=0);opacity:0;background:#FFF'; + + document.body.appendChild(mask); + dragEvent._start = dragEvent.start; + dragEvent._end = dragEvent.end; + + dragEvent.start = function () { + var DOM = artDialog.focus.DOM, + main = DOM.main[0], + iframe = DOM.content[0].getElementsByTagName('iframe')[0]; + + dragEvent._start.apply(this, arguments); + style.display = 'block'; + style.zIndex = artDialog.defaults.zIndex + 3; + + if (positionType === 'absolute') { + style.width = $window.width() + 'px'; + style.height = $window.height() + 'px'; + style.left = $document.scrollLeft() + 'px'; + style.top = $document.scrollTop() + 'px'; + }; + + if (iframe && main.offsetWidth * main.offsetHeight > 307200) { + main.style.visibility = 'hidden'; + }; + }; + + dragEvent.end = function () { + var dialog = artDialog.focus; + dragEvent._end.apply(this, arguments); + style.display = 'none'; + if (dialog) dialog.DOM.main[0].style.visibility = 'visible'; + }; +}); + +})(this.art || this.jQuery, this, this.artDialog); + diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/aero.css b/源码/src/main/webapp/resource/js/artDialog/skins/aero.css new file mode 100644 index 0000000..3b11a2a --- /dev/null +++ b/源码/src/main/webapp/resource/js/artDialog/skins/aero.css @@ -0,0 +1,61 @@ +@charset "utf-8"; +/* + * artDialog skin + * http://code.google.com/p/artdialog/ + * (c) 2009-2011 TangBin, http://www.planeArt.cn + * + * This is licensed under the GNU LGPL, version 2.1 or later. + * For details, see: http://creativecommons.org/licenses/LGPL/2.1/ + */ + +/* common start */ +body { _margin:0; _height:100%; /*IE6 BUG*/ } +.aui_outer { text-align:left; } +table.aui_border, table.aui_dialog { border:0; margin:0; border-collapse:collapse; width:auto; } +.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_c, .aui_e, .aui_sw, .aui_s, .aui_se, .aui_header, .aui_tdIcon, .aui_main, .aui_footer { padding:0; } +.aui_header, .aui_buttons button { font: 12px/1.11 'Microsoft Yahei', Tahoma, Arial, Helvetica, STHeiti; _font-family:Tahoma,Arial,Helvetica,STHeiti; -o-font-family: Tahoma, Arial; } +.aui_title { overflow:hidden; text-overflow: ellipsis; } +.aui_state_noTitle .aui_title { display:none; } +.aui_close { display:block; position:absolute; text-decoration:none; outline:none; _cursor:pointer; } +.aui_close:hover { text-decoration:none; } +.aui_main { text-align:center; min-width:9em; min-width:0\9/*IE8 BUG*/; } +.aui_content { display:inline-block; *zoom:1; *display:inline; text-align:left; border:none 0; } +.aui_content.aui_state_full { display:block; width:100%; margin:0; padding:0!important; height:100%; } +.aui_loading { width:96px; height:32px; text-align:left; text-indent:-999em; overflow:hidden; background:url(icons/loading.gif) no-repeat center center; } +.aui_icon { vertical-align: middle; } +.aui_icon div { width:48px; height:48px; margin:10px 0 10px 10px; background-position: center center; background-repeat:no-repeat; } +.aui_buttons { padding:8px; text-align:right; white-space:nowrap; } +.aui_buttons button { margin-left:15px; padding: 6px 8px; cursor: pointer; display: inline-block; text-align: center; line-height: 1; *padding:4px 10px; *height:2em; letter-spacing:2px; font-family: Tahoma, Arial/9!important; width:auto; overflow:visible; *width:1; color: #333; border: solid 1px #999; border-radius: 5px; background: #DDD; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#DDDDDD'); background: linear-gradient(top, #FFF, #DDD); background: -moz-linear-gradient(top, #FFF, #DDD); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FFF), to(#DDD)); text-shadow: 0px 1px 1px rgba(255, 255, 255, 1); box-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0 -1px 0 rgba(0, 0, 0, .09); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: box-shadow linear .2s; } +.aui_buttons button::-moz-focus-inner{ border:0; padding:0; margin:0; } +.aui_buttons button:focus { outline:none 0; border-color:#426DC9; box-shadow:0 0 8px rgba(66, 109, 201, .9); } +.aui_buttons button:hover { color:#000; border-color:#666; } +.aui_buttons button:active { border-color:#666; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#DDDDDD', endColorstr='#FFFFFF'); background: linear-gradient(top, #DDD, #FFF); background: -moz-linear-gradient(top, #DDD, #FFF); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#DDD), to(#FFF)); box-shadow:inset 0 1px 5px rgba(66, 109, 201, .9), inset 0 1px 1em rgba(0, 0, 0, .3); } +.aui_buttons button[disabled] { cursor:default; color:#666; background:#DDD; border: solid 1px #999; filter:alpha(opacity=50); opacity:.5; box-shadow:none; } +button.aui_state_highlight { color: #FFF; border: solid 1px #1c6a9e; background: #2288cc; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); text-shadow: -1px -1px 1px #1c6a9e; } +button.aui_state_highlight:hover { color:#FFF; border-color:#0F3A56; } +button.aui_state_highlight:active { border-color:#1c6a9e; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); } +/* common end */ + +.aui_inner { background:#FFF; } +.aui_titleBar { width:100%; height:0; position:relative; bottom:30px; _bottom:0; _margin-top:-30px; } +.aui_title { height:29px; line-height:29px; padding:0 16px 0 0; _padding:0; color:#FFF; font-weight:700; text-shadow:1px 1px 0 rgba(0, 0, 0, .9); } +.aui_nw, .aui_ne, .aui_sw, .aui_se, .aui_n, .aui_s, .aui_close { background-image:url(aero/aero_s.png); background-repeat:no-repeat; } +.aui_nw { width:14px; height:34px; background-position: 0 0; _png:aero/ie6/aui_nw.png; } +.aui_ne { width:14px; height:34px; background-position: -14px 0; _png:aero/ie6/aui_ne.png; } +.aui_sw { width:14px; height:14px; background-position: 0 -34px; _png:aero/ie6/aui_sw.png; } +.aui_se { width:14px; height:14px; background-position: -14px -34px; _png:aero/ie6/aui_se.png; } +.aui_close { top:7px; right:0; _z-index:1; width:13px; height:13px; _font-size:0; _line-height:0; text-indent:-9999em; background-position:left -96px; _background:url(aero/ie6/aui_close.png); } +.aui_close:hover { background-position:right -96px; _background:url(aero/ie6/aui_close.hover.png); } +.aui_n, .aui_s { background-repeat:repeat-x; } +.aui_n { background-position: 0 -48px; _png:aero/ie6/aui_n.png; } +.aui_s { background-position: 0 -82px; _png:aero/ie6/aui_s.png; } +.aui_w, .aui_e { background-image:url(aero/aero_s2.png); background-repeat:repeat-y; } +.aui_w { background-position:left top; _png:aero/ie6/aui_w.png; } +.aui_e { background-position: right bottom; _png:aero/ie6/aui_e.png; } +.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_se { width:3px; height:3px; } +.aui_state_noTitle .aui_inner { border:1px solid #666; background:#FFF; } +.aui_state_noTitle .aui_outer { box-shadow:none; } +.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_n, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_w, .aui_state_noTitle .aui_e, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_s, .aui_state_noTitle .aui_se { background:rgba(0, 0, 0, .05); background:#000\9!important; filter:alpha(opacity=5)!important; } +.aui_state_noTitle .aui_titleBar { bottom:0; _bottom:0; _margin-top:0; } +.aui_state_noTitle .aui_close { top:0; right:0; width:18px; height:18px; line-height:18px; text-align:center; text-indent:0; font-family: Helvetica, STHeiti; _font-family: '\u9ed1\u4f53', 'Book Antiqua', Palatino; font-size:18px; text-decoration:none; color:#214FA3; background:none; filter:!important; } +.aui_state_noTitle .aui_close:hover, .aui_state_noTitle .aui_close:active { text-decoration:none; color:#900; } \ No newline at end of file diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/aero/aero_s.png b/源码/src/main/webapp/resource/js/artDialog/skins/aero/aero_s.png new file mode 100644 index 0000000000000000000000000000000000000000..ff3a379c39344bec06e18445f7ef82889ac4f6b8 GIT binary patch literal 2381 zcmV-T39|NyP)9KC zC!*5I92g5^1+tJlg%AalNIR7Q3=$dx3Xq%yj)1a&5&=WTsf03s)&La%&1Hc2grJXs zT7Z57a*@vYxRKD+93|`uhGF9Ub)pkR~LM z09Z^@%Lyl_Csu^PnM+XW-1{5a%)wqjs(ts1$7rb2|#sifn2`0t3>Z_cz+C+zATnVjKtBJeW z*$72%WTcLm$Y~r`Iyf8YoyS^NSNAd8Rlh;PX98*>b;LM}E3SkQCZHBEPq}sLRyka7 zx4^Z3HWEHJH8oY>HIUR1<4GwcxM(8tw+a$pxN_ynRh;cOsUg*!Y`9~_?HJ6Vl*k^H zxaF;PBxws5F2s2X{{e|FynXw2GnOq{w8$Ex!z#OVBo0i|v)|zquz{4}l9G}dFmmeP zR_;c^XZ(g`Scf&Q!Gsezqcv&)vo<>3w$&6!uqY(3`63nX+`03#s;X*Ub93`>MMcFm zIO}S$@vK?1q@toC8KySp>eZ{=lqt3a3(P`n!Z2g^Ycc~y&F22Gv9TO5xgI@y_z;g9 zt+%%~P*YRW39HhvcJ10!v;~nd+Kh0N`LGPECWQj#<>gs`M;1IjAv~j?tb`#_*z(}P zgOcUTmuK|!^aT8Vf2154Ub=LtJC14-Y&M&?Y}v9|z#|)8o2Vg5hm|fG>Ultkni?7! zEQ=Q}UQ$?CXh#M*YAnonC{z{<+hAMdK>){?p^aX0SUWLd=e4%Bt|%`rPXjYLfHoft zpBfAXb+-)y<>%*H*R5NZy<)|Rf-`5%ybU&D9dR=F2xz2(6FC(&!o+XgxN&0uR^St` z`3HcB5(7{MRhQe|-kyz;K?i?<&keDh3IcNqn04GHB|z`tT8Ojvdx2WXFuDnlkIbP$ zhhLneV@T%AIy$eR1RO&eE8#@0FEeAs#&dnq#mBq8qN_L&=bp?+AJ4hRJNd>r_r(9h zeVJnPH8IU-z)Yh7bBzSVIjl8Q!W%bk1PujjYisK^6cA4aqXE^KEn%YW<=1yer_nF^ z>Pn~@y=Z2*gvt6vUkeGfnJrT3k zeq;_iJ3D_WE-r2*Vn;z)Ff7MDi zoBpP&ySlnsJ9+YCJE}0q?LME+L02!0F}53V~(|&!XD@5FXej9|(ibBS80n+GNmiS+Jq!!Yah@y$UPJ1nMfY zr>7?^FE1};>C&a9+}vChr1S6Fx6dU!k9GzLqYfZH8R}u60rGAm9n2&v8#n%ln3k4S z=<#??2>LO>Xb7*cu<(m}_wL;lo`=Y32-m{cm}9IKB1a!v7LdJOuR6iaEgBQNfB(Lp zFk>}MfRJ0KEe+GVW7-xl!AFqz=hxPl0RcYZkERoP&(oEFXRRSaijvXXkRe6MX#P@% z6eU6sHkXW&EGpsQ!-wTW<_ha2BN+w#Pk;dcN!3Q*9nYuQ00000NkvXXu0mjf0H1PN literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/aero/aero_s2.png b/源码/src/main/webapp/resource/js/artDialog/skins/aero/aero_s2.png new file mode 100644 index 0000000000000000000000000000000000000000..6fda697d2b457f98a47ff51f2d6b5f03ab66c2dd GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^GC<77!3HF4glkxUlw^r(L`iUdT1k0gQ7VIDN`6wR zf@f}GdTLN=VoGJ<$y6JlqBu_%$B>F!Nht{l3Cu}(3Sultg$nDmbaZU4-oIZjej<%2 zDNWncJp?`GkvU9_;>1vL%KoM!xgQI j#rmQwvJ{^(C>&t;=OLn$?_Bc)XcL2{tDnm{r-UW|C-*;z literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_close.hover.png b/源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_close.hover.png new file mode 100644 index 0000000000000000000000000000000000000000..d4248387558e331676f1c086070159bbac159a5e GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uGBwbBK{D72XiEBhjaDG}zd16s2gJVj5QmTSy zZen_BP-|5#z+h*}ux{hoygr~g44$rjF6*2UngF2(Kw|&^ literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_close.png b/源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_close.png new file mode 100644 index 0000000000000000000000000000000000000000..6aef1a80a167dd10a6af082a1eefb4e34069aafe GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uGBwbBK{D72XiEBhjaDG}zd16s2gJVj5QmTSy zZen_BP-|5#z+h*}ux{hoygr~g44$rjF6*2UngE^wKwkg= literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_e.png b/源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_e.png new file mode 100644 index 0000000000000000000000000000000000000000..413cd2322c7cc28181b8bd992b3b0001dab57bf9 GIT binary patch literal 1352 zcmeAS@N?(olHy`uVBq!ia0vp^d<+cSJ2=>Ytc!O#oq?2OiEBhjaDG}zd16s2gJVj5 zQmTSyZen_BP-i;{pU#_kZuPwUCF=fapLf1~9=i8c=Ukz`i>2k3PKp1e|NeJ{ z%%hk8{{36t-rhd{_w)VVK1R#efBE?CN^Z@a-hY2$<(G$t*YwH%`mwQpefxL&|Fx3w zA2US^YyKM8)OVg=_v6m~`nc~K`}hC;k$s?FzoO>ojE?2u5B?v2c979gfCU*HjEWFT zy1#7NTHm+FeD~cD)xUJbwPw|xTcyhv=j=?H$@uvC>faT2Rn~iblkvQ_cJ0wym2cL~ zvNYw~aN~;6<@YJSvm#$)UlKAfm0g-9_g&jce16}gdaGqd%b!>=>*#)1EHh!>8_VZw z=GsI~I)Cj?v)o#7?XZ1z)9x&eDzjy&+j({4{fTd;B^X*fP?KO&H}0wN?Y*UwRb#d2 z?3qrpSyIC1A20Zwb?K_$)^5x4N%9|`pG?l|`ZT2>;`JfM@=t%4E8m-CxtZI#{FzG3 ziNMY8P3Bkz2J%hvb!Tq<%23WY+ep1g{|Q@OseWDl)E!Z-*45`;UDSzxc7*Z!oU41) zzB}cud68px#(aWh=jzbMGbexP`?u)u5b#>?6n#=Px|1XJo z(&hSW&P>bn_fI&DmtXPopZ9Xc>JayJVZ14RkBa@aoAFw5zt#<3ePm|vt&?*WzqQO3 zUHxQs-_=~B>#rhKMLbQIIe8Dult1l1uP(m9`2Ljlz1Emrr;;Pr2^TRhKi<8z?yy$uc;E0%v+TVaefLnTL-Ga*nF3*+=3+;Qt&8vcc;Mo@|MOSFTOK=SRLHSM$zF7O zcH~UP?**Pmbcdt%AHyfB^f`xWY zsxjPocO!a&-F6W^Wk@2EdTb-?ZfPM`}?=aw^zJ+eA{lH{Jr0wcu(DR;r6?` ze189Ywl62&SNA;JZFjGK-H&wn{og<4%geW2-}e9XS9eA>hDocHB8<#_&jS{X44$rj JF6*2UngC+VH^Tq` literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_n.png b/源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_n.png new file mode 100644 index 0000000000000000000000000000000000000000..5b0b0cd72693e0d0086cdd8088f9aa97c6ece6de GIT binary patch literal 2043 zcmZ8hc~sKr8m0_#B+_c!*J%#jDK%@l>Nsw>-AQfCM2p-Nx5NcS1qTtL#oIMCJ##gc zq-{{oxk{v{xFBZ9*o1V|!sX|#kQqO1EYKM6a?iOJJ@ftX?a%u@@B2O9dowub2ZWxP z9s~kG_@D6&fk5CLn)zW}n5Gx4{>;=2ra6A-98_jf4k0c(5#p7Q8J}q5pB|T-7?K#5 zke@Y}=mvr8z3cDm6-u0VKNXQZ>0|;6=AR#aL{5$AY-?_T|LXLF>PBFWkmA4iC2cV4 z%kn*^gN+*TNd{&%&x#S<oR0TYOlau_hn3+5!Raq8A$|cTCA=0jm;SLCFFZ~O}Dv#dC z-=)Q%%ZPoV0pr4H5Bv4*%k!M7S#XUo2I_#G1euVBPr*)`WW~BAm-804=FcD`k4#xT z5`>Nxe!6!I7oA?}>{Kx1vM3>9;BJMzqvw_wo-`)()kS1U;5_XxgTjKph!Z@iHGg8UR0UO#$JYG7e|V_!OmKmbbY!*DnBzJfC7d z$+s@FT}eIGCisWYNf2*kcJ4m7vNynI9l3z1J*Z_&&HZL@ct3O;`}8e)&fU9@wD>}} zQVIn`CHi5Mn9kLw7(>O3bJrBu8tMKC&VDXFaI2(fCn*T$^OIgplu$rGq3Bo3$$T>5 zt;J;czA&8r*HZ8Awmh9A8{ss7O8W6$PbTJUPaD-$>zyy_^o1%$)WM00QM@d46R`ib z&qc*MLDKENB6oxVjNji2^gwLEU}K1h`q6^_F5ihqdswzXm8nP2pw6qcpF7vE9~r>>kd z^2ju;%dGw)s9In!pd(w^-?94r9Gk9`<06Yqc5+Cho+?f5PzToj~Cbtl>{K zSW8K%7!lgyj=6bBmD?)vRNrn;YT5F>OQ=$*nl9p4mr~gEGua2q?7Pb|USN(BxeT!z>I>cbUeQNWq6awvGx}N# zH8FpXN?Ps)T#!=HQTsgiJU7d(Mm=!()un~v<6fyJraR-icE}Xsuzbg>1kP=vDnHK5 z_%Ky(j&&5BQW?CnZ5RKsS`y0rHR8rAD6n0c8gg&yX~J<~MXmENrsKnrnK69#>*{;T znu5kz^@jz4r@q5RBbIToGwU-AB*Q(OqDPS-ONSlCbvddE>2FirTCNbgz_b%q$)I$| z)Qs^UjIScP8K=ddf)u&p=^PnLWxY_<+ygJ0lPe7~==8Opx@mrQkI-37%(^4M!{_+z zr+)0l{=L9%hwCVG`yotleu=9oZU3F|@Mfu3nH= zXq3dmBh3#dv+HjbyE@*9I8=*>tIEFm@P*HMwl0`1%q+4u<9qlyhfgFo=jegL2I@jzw#?VL9 zKu_h{qhj9HT)KGrx`UU(F@tWxLvTgs``n!(pJ9r*NuY%nVMp$$lOblfUf;((iBLsl z_3Q;hK&&Z7Qyk~0$>*bN!L~C9@iL(hx?}z4CwRKGdmluZeuK7rJSOMA_x$~We4D*v GY5xJMfPEqW literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_ne.png b/源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_ne.png new file mode 100644 index 0000000000000000000000000000000000000000..23e82f60f44c9f1c8b325c449a0e1a4a1915edd8 GIT binary patch literal 601 zcmV-f0;c_mP)O5KI||Xt3jc&p@B^s$2|8ke4HU#ru(2Q^Au(VCgmp#s<(>7;W_DoN(VLtM%+9&z z%$++!G)>#nej|{eZ5g9500$Dm1Nb=d|3pd{5|43$FJ^E6t}yaskvbz5aFP?(h!x-) zM=?Q2W)|9lbw+*#JOiEp9{?M%#sr~=(d+froTcl!X<61;qtQ6+cDq-u>psAASFp&P z5z=fn8=Ocf)iarlStt~aOw%mZYPFBqZ1xDB7?yxfRCaaW_X7^caXe654Tr-q#7nEy zIy4O91{NLyG5`}ROc-$^Sc3U{ZhM|Lu2d?lK$n0l7L$hC5*0QxB4iDc0G8i#xts+Hi%6shVlZo3Lf|(KRk+P?j|Nx@G_@eyW~!nT5h-jrP~1r* z5P0|`b~~U5s*3Szm8KX3+e=`;VW$y&*`}&uu$2gkfdcXGdxXRe@6Q-OL- z#s-fQ+wJz7JXtE0qJ@*mguMbM+g`bi7z_q0foLVQ(axAor(gdfCU%Z=MyfX@-tp4! zR3gPuml7xuX@dGr;=cHTWwTkTq_|uz?>n8&Es`nRPbF17pU)pvtJUj%zkkP`KWI&& nQl#h{%jNQg_==@j{SjaQnYcaD9_o&J00000NkvXXu0mjfk}Cqa literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_nw.png b/源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_nw.png new file mode 100644 index 0000000000000000000000000000000000000000..8212d5a9dad2c88f528cfed86fba536c35a44b52 GIT binary patch literal 528 zcmV+r0`L8aP)BJ^W8e+}vzz}zxpa03s zBw}PXY*#3-K1AZpfif{=Ms(?g5JirxR z2XBJkfM1K4gHdfyWdYQ{Jxb}b=Xu}0?_X4_)gVpNy$T{FMMr=SjYi|K+wIn(C<^EE z`TKM_jgllubww=H_@3&Z^wjJ1YO~qwBM5>W08HXZIBLk9wvPT@ea$R>5hT-0nqG^vZUBVbkpeQl=$EY?jzjFw40co;R zpgwK~J604O{BtTm5rbkbFf+B;)*uuI6;cE+g{l?;Sy4p>iYzx6@$MHE&{{+@TXjP(h<2x z1El9MGnONBTW7rf9<#pq?$cklZl+t;)JG&gPE1(*^+MZJ5qh(`XI>+r8|9RPKJFD|9_U~L*^tZOMy85@?{-2iDpKsva z`F%@4AM@MgeaN0;>;kvu@|^ zEIa-AS{CmXdG_nU68t;*WxpqIY>$8btN4dt-RZAdZw|e^Zxv&qy722(rnegxWIi{m zJbg#CEKmQh4bwZgi43)wcNuFt=ibSFe)XJg?Ym1oZ-T6M%%8oxbb6wA(SMUYJNb7f z{QkSID%xTx6<>V`@{A>?N)ok@56y#w-rp|*s)!wW$Ub+DLF3>RKG3;3Ly-LFneHU`c1-m=k&UH zQfn>my?-8;b>Q!Qo8M2*o;~~f&oke3`a9oQ#n>d5-svz+{IPWQZZm~>TF;iWKD!#T z`rBtjFm2HFez(icR9(+xeTm=MA2V(xRC{Lp{ctDZ>l3Z({yYCk?fb*O^WL*xQ(hOR zb3fmpcj!O!yX1r41(qHDP?)y)y2;y>Y5ouY)cXhA`l0*TdtKnJ420P?+KLZ;o3)|x z?XfFMKldMxVtSvQ)^yzIb>fp4shPh8e(~;%e_l29_2Umu|4Ws1e*azjbx%Xo>=M7t zdaAkx>T4_B-l|0S_=}>R#d_1@(&9DeOs~BAP*zl5y!$M=5msNcNwp2Vxfik-LQISlewuZ;KFjK~5Gnm_O7{x5qe b&&bAbA%StFvTYA2lQMX^`njxgN@xNA(uT0r literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_se.png b/源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_se.png new file mode 100644 index 0000000000000000000000000000000000000000..668bd831f6b549c8f3cb13eacb5d3b91ca2aac55 GIT binary patch literal 471 zcmV;|0Vw{7P)Qdf}mvlLwC;33nc$S4otlH!t!68p6rMcn}kjrle(CaF)!Pp-%Fr+nxD# zW_H%tf-x{DWonw{wPjgpk|Ywga?rNh?Rta3;0o4vpij^@DCP`pGMPN9V9)a`1+f3N z!Tp_h9LLM?c>LJubb@lZoY!hKn*=b zr^oR7gkYx2<#@tg{R(O}n@+u6zYN2$gkVBSW`f?J0#teJcKe`OtzHa=!?P^Q9>Dbj zN)g;uWx$+n2`Hi{I-SjC$0`#-At+L_qp-T_`@+0FKrdL{5`h)=D0N#3^fCPgn_r_6 z%%FSA_QrwFNQ3&iGYqBxeK|~JJS>bNCtrOSqmTy8f`bMWzkl{CzyJd*zyc^&u%Q3| N002ovPDHLkV1nxu()|Dc literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_sw.png b/源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_sw.png new file mode 100644 index 0000000000000000000000000000000000000000..539584ee533fa8f032d892a8466eff3c5741784b GIT binary patch literal 470 zcmV;{0V)28P)vhXB2#c}+iX<8k3q(XjH!O6+*RkT_y9ecLK z5|@=yQBf{pwA<}ER5Q=>UKfkS`{8i-k_$7CvIelDS(bHmvs$gf$z;;(bUNyIJbuHs zCq>M`XJy=XyIo_u-F}8)$QqF-in1UGBG+~8Ua!}HvQ4>Nod?takNtk%GfnejKA-PS zr<1TxWrQN(s*L?+v+;++AxjdX;W}1UAc5=5;J3EWu=^%nc1`H`tfzU%ii94zTAKQ zze&@kr7@rS+|}J(tf{HFH~Go4XV?CIdg{&2%*?FJ%<{+mP>;cy)vKeAfBO3RdcDIr zd$u{!+(g+eyR$)``Bj=XTU gjknM539)%a{%NKxZ*{y85}Sb4q9e0G!KO?*IS* literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_w.png b/源码/src/main/webapp/resource/js/artDialog/skins/aero/ie6/aui_w.png new file mode 100644 index 0000000000000000000000000000000000000000..a00691ba8be3da0da082af5172f59c9071bc6f37 GIT binary patch literal 1361 zcmeAS@N?(olHy`uVBq!ia0vp^d<+cSJ2=>Ytc!O#oq?2OiEBhjaDG}zd16s2gJVj5 zQmTSyZen_BP-%hAr-gY-0{y-b`@cNP*=!e%p}&q`uxl^@06oU zcQCsruwLRY`4KqL>d?kF?~0D+g_rL0@Gmm@btm-d{$H2Fj0|}Wn=jp`{WW>zeDA-X zzI^#|`}60|@1K5kUU@fSzR~CFiGQjj#OiFPb$#TOJHGmV$gB3C`TXm)N$;;`j^Fob z!MOhvK<&8fiti5^6gZlY(F0Wj zwO3`~dpP9G(gTB&w=SFKEN*K0PN?Cep3R&e?G~TeLQh66?=OCsr|~4XxF|yE(~im_ zJwAsyo|kfGS8cs{F(EklS((nhq&4@B-+W?HW4$Oz$h?HDqcio+Z?79b^ z%9g>eeczv)IZN>7zev61Wm^7>*|CP|*XHnTYdAJ}^NX9S9-A&dDE#S4;F`_H53E&H ze}3umH?a#RKF#o5!|?s~T9xOw{MSU+YQ0a{{_4f&Ij>IMDJ)u*cC0P!c75XoWoBg2d%kZ*M%rV={*@|`;qQ5+z5TAN zc@(@o`7cAr;TOhF=BlJ?Iqp?oo_0LzMcI)feWJPTe;(akwfTvQy>MmO;@slxtK_co zU7y3p|M}wiS(}$Wae3=^^_q*^vw1t;UB0rTWcjTZvn~e|Em|~_H*byM=R~LX(GFMK z*3Z3t@#1sK&5Lhm7CoBuWlMR*iw`>D(w=_p=fmWmYAy(tU}KMAx%?o8G41S&yo7?H zb@y|>8s3(@YIE_(oex`1&D>{x;fhT$w-j%s+|{s2lZ{{dZkssg&F8W?SxNiMpS-@` zwtDXo=?)g_wGZ%x;%UN&0^0?nI^23xBfiI z?%Yw`{8@8iX3a@dbL4H=WA8bg=d#Wzp$PyW|2Me+ literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/black.css b/源码/src/main/webapp/resource/js/artDialog/skins/black.css new file mode 100644 index 0000000..94ec943 --- /dev/null +++ b/源码/src/main/webapp/resource/js/artDialog/skins/black.css @@ -0,0 +1,79 @@ +@charset "utf-8"; +/* + * artDialog skin + * http://code.google.com/p/artdialog/ + * (c) 2009-2011 TangBin, http://www.planeArt.cn + * + * This is licensed under the GNU LGPL, version 2.1 or later. + * For details, see: http://creativecommons.org/licenses/LGPL/2.1/ + */ + +/* common start */ +body { _margin:0; _height:100%; /*IE6 BUG*/ } +.aui_outer { text-align:left; } +table.aui_border, table.aui_dialog { border:0; margin:0; border-collapse:collapse; width:auto; } +.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_c, .aui_e, .aui_sw, .aui_s, .aui_se, .aui_header, .aui_tdIcon, .aui_main, .aui_footer { padding:0; } +.aui_header, .aui_buttons button { font: 12px/1.11 'Microsoft Yahei', Tahoma, Arial, Helvetica, STHeiti; _font-family:Tahoma,Arial,Helvetica,STHeiti; -o-font-family: Tahoma, Arial; } +.aui_title { overflow:hidden; text-overflow: ellipsis; } +.aui_state_noTitle .aui_title { display:none; } +.aui_close { display:block; position:absolute; text-decoration:none; outline:none; _cursor:pointer; } +.aui_close:hover { text-decoration:none; } +.aui_main { text-align:center; min-width:9em; min-width:0 \9/*IE8 BUG*/; } +.aui_content { display:inline-block; *zoom:1; *display:inline; text-align:left; border:none 0; } +.aui_content.aui_state_full { display:block; width:100%; margin:0; padding:0!important; height:100%; } +.aui_loading { width:96px; height:32px; text-align:left; text-indent:-999em; overflow:hidden; background:url(icons/loading.gif) no-repeat center center; } +.aui_icon { vertical-align: middle; } +.aui_icon div { width:48px; height:48px; margin:10px 0 10px 10px; background-position: center center; background-repeat:no-repeat; } +.aui_buttons { padding:8px; text-align:right; white-space:nowrap; } +.aui_buttons button { margin-left:15px; padding: 6px 8px; cursor: pointer; display: inline-block; text-align: center; line-height: 1; *padding:4px 10px; *height:2em; letter-spacing:2px; font-family: Tahoma, Arial/9!important; width:auto; overflow:visible; *width:1; color: #333; border: solid 1px #999; border-radius: 5px; background: #DDD; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#DDDDDD'); background: linear-gradient(top, #FFF, #DDD); background: -moz-linear-gradient(top, #FFF, #DDD); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FFF), to(#DDD)); text-shadow: 0px 1px 1px rgba(255, 255, 255, 1); box-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0 -1px 0 rgba(0, 0, 0, .09); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: box-shadow linear .2s; } +.aui_buttons button::-moz-focus-inner{ border:0; padding:0; margin:0; } +.aui_buttons button:focus { outline:none 0; border-color:#426DC9; box-shadow:0 0 8px rgba(66, 109, 201, .9); } +.aui_buttons button:hover { color:#000; border-color:#666; } +.aui_buttons button:active { border-color:#666; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#DDDDDD', endColorstr='#FFFFFF'); background: linear-gradient(top, #DDD, #FFF); background: -moz-linear-gradient(top, #DDD, #FFF); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#DDD), to(#FFF)); box-shadow:inset 0 1px 5px rgba(66, 109, 201, .9), inset 0 1px 1em rgba(0, 0, 0, .3); } +.aui_buttons button[disabled] { cursor:default; color:#666; background:#DDD; border: solid 1px #999; filter:alpha(opacity=50); opacity:.5; box-shadow:none; } +button.aui_state_highlight { color: #FFF; border: solid 1px #3399dd; background: #2288cc; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); text-shadow: -1px -1px 1px #1c6a9e; } +button.aui_state_highlight:hover { color:#FFF; border-color:#1c6a9e; } +button.aui_state_highlight:active { border-color:#1c6a9e; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); } +/* common end */ + +.aui_inner { background:#f7f7f7; } +.aui_titleBar { width:100%; height:0; position:relative; bottom:30px; _bottom:0; _margin-top:-30px; } +.aui_title { height:29px; line-height:29px; padding:0 25px 0 0; _padding:0; text-indent:5px; color:#FFF; font-weight:700; text-shadow:-1px -1px 0 rgba(0, 0, 0, .7); } +.aui_nw, .aui_ne, .aui_sw, .aui_se, .aui_n, .aui_s, .aui_close { background-image:url(black/bg.png); background-repeat:no-repeat; } +.aui_nw { width:15px; height:38px; background-position: 0 0; _png:black/ie6/nw.png; } +.aui_ne { width:15px; height:38px; background-position: -15px 0; _png:black/ie6/ne.png; } +.aui_sw { width:15px; height:18px; background-position: 0 -38px; _png:black/ie6/sw.png; } +.aui_se { width:15px; height:18px; background-position: -15px -38px; _png:black/ie6/se.png; } +.aui_close { top:4px; right:4px; _z-index:1; width:20px; height:20px; _font-size:0; _line-height:0; text-indent:-9999em; background-position:0 -112px; _png:black/ie6/close.png; } +.aui_close:hover { background-position:0 -132px; } +.aui_n, .aui_s { background-repeat:repeat-x; } +.aui_n { background-position: 0 -56px; _png:black/ie6/n.png; } +.aui_s { background-position: 0 -94px; _png:black/ie6/s.png; } +.aui_w, .aui_e { background-image:url(black/bg2.png); background-repeat:repeat-y; } +.aui_w { background-position:left top; _png:black/ie6/w.png; } +.aui_e { background-position: right bottom; _png:black/ie6/e.png; } +aui_icon, .aui_main { padding-top:3px; } +@media screen and (min-width:0) { + .aui_outer { border-radius:8px; box-shadow:0 5px 15px rgba(0, 0, 0, .4); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: -webkit-box-shadow linear .2s; } + .aui_state_drag .aui_outer { box-shadow:none; } + .aui_state_lock .aui_outer { box-shadow:0 3px 26px rgba(0, 0, 0, .9); } + .aui_outer:active { box-shadow:0 0 5px rgba(0, 0, 0, .1)!important; } + .aui_state_drag .aui_outer { box-shadow:none!important; } + .aui_nw, .aui_ne, .aui_sw, .aui_se, .aui_n, .aui_s, .aui_close { background-image:url(black/bg_css3.png); } + .aui_nw { width:5px; height:31px; } + .aui_ne { width:5px; height:31px; background-position: -5px 0; _png:black/ie6/ne.png; } + .aui_sw { width:5px; height:5px;background-position: 0 -31px; } + .aui_se { width:5px; height:5px; background-position: -5px -31px; } + .aui_close { background-position:0 -72px; } + .aui_close:hover { background-position:0 -92px; } + .aui_n { background-position: 0 -36px; } + .aui_s { background-position: 0 -67px; } + .aui_w, .aui_e { background-image:url(black/bg_css3_2.png); } +} +.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_se { width:3px; height:3px; } +.aui_state_noTitle .aui_inner { border:1px solid #666; background:#FFF; } +.aui_state_noTitle .aui_outer { box-shadow:none; } +.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_n, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_w, .aui_state_noTitle .aui_e, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_s, .aui_state_noTitle .aui_se { background:rgba(0, 0, 0, .05); background:#000\9!important; filter:alpha(opacity=5)!important; } +.aui_state_noTitle .aui_titleBar { bottom:0; _bottom:0; _margin-top:0; } +.aui_state_noTitle .aui_close { top:0; right:0; width:18px; height:18px; line-height:18px; text-align:center; text-indent:0; font-family: Helvetica, STHeiti; _font-family: '\u9ed1\u4f53', 'Book Antiqua', Palatino; font-size:18px; text-decoration:none; color:#214FA3; background:none; filter:!important; } +.aui_state_noTitle .aui_close:hover, .aui_state_noTitle .aui_close:active { text-decoration:none; color:#900; } \ No newline at end of file diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/black/bg.png b/源码/src/main/webapp/resource/js/artDialog/skins/black/bg.png new file mode 100644 index 0000000000000000000000000000000000000000..6d42b8904a3baaf9f9fefa328b906b594d2508f2 GIT binary patch literal 2971 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 Rm^T0b002ovPDHLkV1nXEs{jB1 literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/black/bg2.png b/源码/src/main/webapp/resource/js/artDialog/skins/black/bg2.png new file mode 100644 index 0000000000000000000000000000000000000000..8f5568df182234cc986af65396c40699daf89394 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^av;pX1|+Qw)-3{3k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XVmw_OLn>~)IlGao!GOp0;*}r)E~S!!PszWp%0A{!xpwg> z+q-E`X6%mEO%Dt;-MV@mpXrsQ?<|+E-x}9F_r}@T6YZ=1h>uVvJFnCarBiTQ#Y%2@q&QsM^$2 z1jK+*6suxdkoQ{zS*G7N%*D&Hi@RhKiS@>hd7Lxfp1J4DnYs6B5<+Oa5)%`BP^<@5 zYXjFA;M?r%>|V`{%S6J2goG)m=SD|IPo6VpP9p_nWo2PSMMX8J#^>bZ{OdAde0)4D zD~XMb9Ul`DQ_+r#f?!la4=q=xEbo~!Ldx8^bPMSOXBKL1Sx9B& zRi_rZP3Un8$37v+9zA;GP=T^%>lFS$BG9UO zV`HOMTwJWx*Vpe%Pf!2JtrIM-J$v@dN0G+Un37!v4ub50TSsCXhlS?B%T!fW^@k@3 zEw^vqzT;6sck|s-3Ee&aJ(bW|rhbks^f;ljQ`ZZ^XGrMmY&~`?bau9Wj#tVH!v90Y z9{anV$1R*Wb7r7N330Yw?a{*$&(LE#ANJdL;x%bPzF!!8DL3#B9VU4oh1?|YmwE%` zpr#a~PncwBc_b|~4UlL9oln@sU~^DKk;$e>4F0~Re$LX_*)gajj5R^4G-cBh8fB2C zIe1!QwF=K|Y{~ds5@0Jn9Qb)UW>sIO0EVM>ML=*)C z1T>+Z?1W6}5HQ3#5}|eK)T!I|?%mtDYuB#Mz`(%o*yl*cYPEI{tPdg8A4?-6Bgf62 zJ-h$Pl`G8+4Gr}V9z19$DJf}Lv}jQuWLAJW*2Rk#_m!2EHRI8(o}fO*alCY}flv-e zO-=2_a;(MHP}|hhBnObhNY>KQQinWROFimSrt=ITMCrY3*|OZNTem*6*=#i&#KBju zUTscEN$Fv!lTl7R>T{e!LPZ)L7Z;ajByDSJtHV=iJxe1Q^{8)rq8~=+h*T%m>(0ms zhk*^RRpa6N&h_ipz2P7)zPGVhEP^H5?5CW1uC5d-LMG+FfdlQq!NEh;Cfn?%+(Ae= zB>aN0wSWKq_Q{hc_j!AJ%Qqs&j~@?Y$u|2b9~OglaY!UHrY>B#&|>e+<;$1Xiw6e1Dd~R;; zrTOjWP{$s!0`C^ z_;0YE$FP0l#*N?e^72;lMcy!{U_GEfUv7d4RWE*v|VHO&! zn8nvqj^fN{sj5~xOt5xW1<1q*WZa_e>qhDOp1jmjqow@DC%>Wrz6#!|&#ZL3RGTtC z1z*)inTbmL1utc-H{he{{8gR;c*NxqtzYRGbu=aGRd{SxCR5QL2mvM_W5-^+c<~L? zCjntVC|8{-Cjc+++qZ8aq1qv8yqBDYfo%MW6)UzQaeh=+SEtRJH}B|?BS+4nzf*aV zFByXoRvVBUR?$4{J*N;A`%&c{)T*iZhXT_R5)w`|@|V z;FERh))i2vw6s)$^~A))A0dk*k4`wgpr9a{1m)%B0!vRIp9*AXv1G{-v3c|6%g{Nn zWy_Xg5>!-Fi00;I3F>oPVPWCBdr|GI7=-5mr(0I`@-#f}|21QLK8#KG6DT@#x&ZIY!%GdVD zDq3i0s4UrLKjqYe{#`YW2Thxv9P}^MHiagCfB!B_QN!M>sXaxOY_p$ob@u635E5!h zarsPO5(QRcDu2=eNKFD6MHnx(*-ts{>qT_E54;8NTfU!u54m5w0=x&ZpY6TLCxw$I zPs&nv6y?-gyLK(J`8?oN;3Yk5LKv7EHf%V^n8LCf=FPOUv?hD+>!b`fjGr+iuo;*n z%g@i30c#{fVE+T1Gc4^%?E_nPide8ec6Z810-snvnKdKHLI&=&=1uWUty^nRQ zWo2b);o;#YF`oayqF+xA0Za^s4re(cz>uOYjw!h&h*H3akL zVPRp+>in)+j6FM*ReD_}R#f}|K17C`K7D#sc6N3WHlZ3EIc^*NWMnX5 zh~2w)e~)%0!2c4`r6*X6N=<$Wvy{R;74W?(KF!KX>PD#Bbyrz0Vd55mJ;JP%Eh^cX p?E>9qcrNl%Fd3eA2KD|EU;q-+C0+b#^MC*V002ovPDHLkV1m|;8b<&C literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/black/bg_css3_2.png b/源码/src/main/webapp/resource/js/artDialog/skins/black/bg_css3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..4e5801b7321282aadd156eab54f74312d47629be GIT binary patch literal 119 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V6Od#Ih{( zJaZG%Q-e|yQz{EjrrLlMdAc};RNP9+$jSNB$IP&FhQx=aiCVk@2@KjNr5xiqBKv@f O7(8A5T-G@yGywpX%^-0A literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/black/ie6/close.hover.png b/源码/src/main/webapp/resource/js/artDialog/skins/black/ie6/close.hover.png new file mode 100644 index 0000000000000000000000000000000000000000..73b02c430df8be50d5199b6bdf63abde6f3af493 GIT binary patch literal 961 zcmV;y13vtTP)lKcA2DKWERgbDlF%Qc@zMlxaW#MsNmXFzLLfu*Se^vSl(E zyhpY)5~T?t48RD|!5N-QkN`387bIDy*9f-7n7D#}T0j%X0eM41LzQl~`zq!IzzQtj z9FKY6{P6JbU4qv+>~B!7p$nE2yBFGyuYa?{5LcH8nMFs;jHz>guYTpP!fI<>j)ux%ne(kH7=)xTU4V zMVhs>H5HoI*4Dm-t%Txe0drk0*G&rG@p$Cn;i2^V{c?SMT~<|9$&QYW&(OT+?Ce~j z0A85)QBaw(aI5<#8eK69Ip8d$*r0DAH5BLp!jE|3hfTO>+w^t~NBFtv9uvjeW zNNd_BJL#a`VZSKFQMfphJSLcc$z(dl6-6KrP=gqaMs=h$?UNn45c?+iU{ZT_^nCI_ z8Mue5e4+$wZEeYulM|``qc!c59p9@PTlc{=kWWuh`wq?E0=SJ}?^3gwOeW>@^t3u^ zi6T4cnwpvx;AaCD!C9?ra;PvJ4#!KXDLlLXvf0(u6-dp#7L>{j{+CY`HWelXTU=aJ z3sxTth5Zwn_cW#kO)YFKDYBxXBAlO}zp%HrcPg7lM@L^rMn)!}anVR?E&F)KVsdg) z6c!dv!#_yL(V9aRHHOjA(L2k_%TI8P8=IS(0#DF0F){H9wr^Y()V406n4em$)-pPY z&*xj2nwn~-DP>)4te9j1Gj*KV+1ZAVDrxi+u)V#lu-M4WR!J%J1Q)K> jj14>&x|gQ%Pk;dcHEtb*-V@RW00000NkvXXu0mjfH7LCC literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/black/ie6/close.png b/源码/src/main/webapp/resource/js/artDialog/skins/black/ie6/close.png new file mode 100644 index 0000000000000000000000000000000000000000..d18600b074ec7c637c9c838da027de8dfc52c58d GIT binary patch literal 687 zcmV;g0#N;lP)$&VCz1z{X&@*f<2iKE*;1)7vPLD#R)Tj7kFjiiJrLU4NsSHR5k4_YC{O zIKDM0_QB=ecRz>s=A3zYS(bJ8xeU5{UPcypJRWuaG1&!~bYvDix?ZpM^0E|=?7CX=~Nr_>KtT%3?RMLJKHp8f zUZ0Leqv2pM7}aVuDG&&3sV0!2M+gRk+eV`?9goLD82T}Xd4*sVpfZq1B$lhys=r>Z z`;*B;832eHOp>I_&1Ta_ANo;aID3HPO`%YzoJ=Nv?{>SN7{YL~*__7X@fAD+LmhqS z#~c^%7W5<%iB!~}^ZER8NDE#KhCcK&3@#uKlmWB&E-)BZ*u_itj4Jn9@taRFaKTiI;(%HeQqO(uMASyw0& zEb!PPkNSZIH9CZyK~vRgRnoE<4u?Nz*@uLfqQmIFsPUlm(Tz*bh`v#9a@~G2yyvgVD4{7cVJrc@8qG#_RUK_jJ z{)9gI>sT!I6ijxzT?Y1-O&UCjMx$@NUauefcDwztQmH(naC1NkU7_ap``;If#m~#- z@|_lpNeX$?VFdPqfgPMsb&6ARbDqxBC%p|t?gOh?-w8}U0;VVTgB=QDVYNR33;;ub VI3PDvYEIYYJwLnU;#5JNMI6tkVJh3R1!7(L2 zDOJHUH!(dmC^a#qvhZZ84Fdzy4Nn)xkcwMxu5I)>>L9>+!Q76;QQ+XAQ~hVdm+#3- zOjKOqInn2v&5oxJ-<~_ivvck1S??pKseZ5eD^V$5DP1X9DOV{~DYLUbWYX=!xySk2 z5+%UsNB@p}n_kb)e!ubcg{G_Z+}E~vzS_Qe&i3uA?}tP>+g~~K%Jwvq&Rfp;;?F-M z9}mtw9=O5#;g@~Idy0?ml?}f7@Z8KCgS6j97HQSTJPsM~93Dl(I|Rg!m%acel_kDG zllj~vPx|fnl`~1QaP!;DRnLwsO-TP^v|;;0;m0y{Zz@*3wGiJ|TxB2nOTXFYn##+q p44bzmytEF5g;4pC`Aj?vH!ry_z8!sNBQPT{c)I$ztaD0e0stODJ5B%q literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/black/ie6/n.png b/源码/src/main/webapp/resource/js/artDialog/skins/black/ie6/n.png new file mode 100644 index 0000000000000000000000000000000000000000..67ba731a6a710ab4f355f4da8f6aa2d96107edfc GIT binary patch literal 1125 zcmeAS@N?(olHy`uVBq!ia0y~y;NAgbt8uUa$&k8h8-SE#iEBhjaDG}zd16s2gJVj5 zQmTSyZen_BP-if1Q>Ah zuAjz#3&sP|2Qrx6T~A%_e_Ov!3L)IIM_Ze7hjroiQ?4v<(Fdg`x9CmItWBlP{rml`3)eQ!RE?3~HvW8QrlsPa`gE^3H}{!@SucN@H!;X?o5}K$D_Qq9Ki!x0 z+S|6ooDXim9{Y`puT5f~dwSBfG@tEv!e5uKpL_Z8{aG<-`O~(ZIiqWQ`~2}!ts8}& zc+OtZ-rg>M>q3p=EvqB@L<-(pUabDVZ{eC5!N&K5C%xx9`u&`~v`oIYKHOUkuSKk1 z+cJJMW&FJ3(dI1s{pov3&snbJ*W71fCSI^VB%61Cu%hqfCERe=Ffj0_KR`H+;eg(f zImK7n)IJ^+id%C&x4r9QL0Wy{v#)m|eAhnv@lT7p*z53*u;2A-?_a)ehcIPrQhKeX z_^xgHOzK~s&$7KXt?F!kfK=Aj$m^F3=Jzh0V|!2*p}67WC6m-x1fL;c$CS+t)<^=6 zmp=Zu0>zQj`PdoDkyIS}%!14QWDU#53R>U*AZB6Hs~q4;_C z1i$5z^^lYs#LQZTYM&pPCzoGFmDjs__iimH^3E8AbBn%SdTZx(-Q?^keNmAT+M@3@ z^J8BB?8~k~WRRHsHv*$i)o;5Nzx&!}+3Vj{guj&0Hh%5B_4(`P-ZLbpYvxYK%g^7B omim`3S1(7H!N6c}C!djx!8`k@;fL(l1t1T2y85}Sb4q9e08k!R8~^|S literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/black/ie6/ne.png b/源码/src/main/webapp/resource/js/artDialog/skins/black/ie6/ne.png new file mode 100644 index 0000000000000000000000000000000000000000..7f34d69dc616e1935ea624b8d084a162d662be89 GIT binary patch literal 565 zcmV-50?Pe~P)Toz5PRHZ14IZk;RB zLFSm3xR>ZR5S2wHv4@OLao*-rVYrA(z7j`Z85NN z;3x`dWK7hVR-bnB%y!r}KD6I#fL_~Iznz*ytlEnPk-40AblK%Glb}|!+ z^E^koLBzr6t1!3(s{qAoq5xr8xDG0w8{sNgg|Lim+?Aw3wFxlnv*Vrfi{V4BXWSA= zMFTRp9-ST>?mq@WFmPS>opij84R|uJb~*SIhGBm^9>2tK{6S<@N0-BU-}jF^&wHND zW}jJ><)oun#`?_T&T*XA<#PFzrm5&@qviFKlzCoRmi0y{%{Yu8iHv1PK0xL-4-V%t zyK64!{5;QX|b^2DN42FH~A zq*MjZ+{E~)xf_^w+kl7Rg5YPyvI(+PdmmXToVYb* zb^SL(o(x&-Wh(pGzbxM%I&*=BYQp6mF?v5)ffm3(m+to4vo$_wZv5#~Z|zvUsq2{N z>H?P#og0%hR|(j@S@TLNV5{IQc1^oZZ%4Tak(aoBDdzQ?~PDsYbB%`Zk13~!iD zWb|;@t$Hq;Ct+vY`b7;&Ey{K)8W|YQJ@%OtcJ8f*Hqfqr=aiij0q3!)b8xVZP}%j1(ZU|s;y0ebt6ZGV5LApT9+pLg@JqwZV|66>Gbd`=p! z#-d+CPMvLTx%STm)kVkO|2XjJ-)AizU-6hXF-wg9m-p-JiBGnMs}5M&-uCgu6UnM6 z*6UBoKK|6d_2A#_1}5=K+)XyQKkwdAbw}pOOh%aUhR+>+$GaWpRdy@yn`0^evVDIno>gMCex7)!->)dR zB8Js7zHIHAaawTi{F^WLECZRx<^1zdm+*1@vv7ME9;`QL54w3$V)<6EeInhKR`Dw~ zi^#x@Y2bQjX%})+dzJszi9j!?@o=3;5#fMKKhXKI_S&WGw`Q=Fv$`ORWtcJF?pp1a zjdCu{yALHDWP+=|&{Y>+7Abw_ehZS~hAgQ&NZc1rDZjSW!nH6ky!tDcz+moNctvoJ Q$Oe$Or>mdKI;Vst06P01!TR7!4+-vK zDJA524oQ-Ll-YDSUu_H_*@TTailPITzS-}Ni{)aqez>B={Vj>$<|iEM2Nx}>HEQvh zvdxl$Z=Ld7N84o5R6x?${*; zkK0?>=(!H-o3@F4hsjkodJZ}JRpOrnt+(C$%YS}X0R{l{veN5QlR~8c0000+&g68kROPT!}vbecZKpQYg^Z_s_O0%U-??r_*o5 z5~sq*e)n-`+v9sxRnRmIoK5gtb8vH%fDt#~6=7t(d3#+wFE`G)7fXyv>=Ln8yAMXK zXr$c_@2|=V>H(88DKi)hw3tGsS(hN=F7_oDLR4a!FuxI}LP!iai80f*CXQ6?qZo5( zTUqq_mrgYdjakRU7(*syG|V`cHe`n8<~}F38h2$BXZzmuC%^y_kdV>Tt)>eA0000< KMNUMnLSTZ>#g~Er literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/black/ie6/w.png b/源码/src/main/webapp/resource/js/artDialog/skins/black/ie6/w.png new file mode 100644 index 0000000000000000000000000000000000000000..910b3a16b39c16b9af8a3b09fbb5000d465de065 GIT binary patch literal 829 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 E0NnXU*8l(j literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/blue/bg_css3.png b/源码/src/main/webapp/resource/js/artDialog/skins/blue/bg_css3.png new file mode 100644 index 0000000000000000000000000000000000000000..8f55b85b5078806c64b9ca377d4f9d0ee3f37bd0 GIT binary patch literal 2237 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 Wq_WX^za_H(0000^ literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/blue/ie6/close.png b/源码/src/main/webapp/resource/js/artDialog/skins/blue/ie6/close.png new file mode 100644 index 0000000000000000000000000000000000000000..72c7157eba8f20c254d302d8129b94b4d6991012 GIT binary patch literal 701 zcmV;u0z& zWuP$-3lh+448;TuY*i59IKj=%{1(Vg#$gy(4G8O0A8o~FV5_1CM_F5t()&g~h4(;1 zXM@DBsc8qQ0bvju*-%ELND&0NYJQT&8)-q#zkmPzXMFbI2UF#myMp)M{OAJ8SHleJ z3{`$FBgpj^r0L1~Z_J7FZisyS`BxYiLGO`W_#P}v z3_&(bPMG^IHz(_VP7ap;AoU=9Aj2@c3>0j*@#5Q_+O>E1nV1+EKn8;}cZVszch(dv z1koTqCp*i3Mn(n(kUEfhkUnf)h8Zg7Kk@uDO-XLYwouiN|Nk>E{P_8Y@z>wKjBL!z z|2d$BRjt0wfBpH_{TuTQvw+$j;f!Tq06zjL0x1S*0%-<$jgO1{ABe_h7|wJEGW6s3 zKliUc|HAt2%Wt6X85x*?K>(sbe2_Ru9;A-ggx$)^&Xmy;ru>1IgZV$Q1c(n72g+kf zQdkWvfyJhz0M}m@W~Tq3a9n!)85f8K@j>FS*e8^*lYwcmtJ+8YBXVq3uDQj(>eS2Q zAQ~K|Kyi>fHbapO1SRa*ErE*fwWRodb0Wv)GjIfyf@pX|AsGtPR|zy!5Zypf!k+!$ z?N1hLu?f_01wHmT*qAXAHcC1aa#CyYEIYYJwLnU;#5JNMI6tkVJh3R1!7(L2 zDOJHUH!(dmC^a#qvhZZ84FdzSfTxRNNX4x;w-07DI|#5P91qYC@mknE@7JBmD>CZQ zFBGTrMurP_{%uiIsIj)rI-$7#@XL}@r>*4rD?9q%2gNV7^WHnXO8aZntEE>KhNL_* z;N#|#sB@CpzjZ~ikFLqppU-w~T$p|R%gpz&a2wG z{@tT>#{PO{-wsWixqDq%-mjw#i4twdX!~LNdfwd$20Vueq3=oW)ehiSRH~E7h2Na( z8<%L}w<_lNq-FSRu|9Ta5pEUd4>`HxmIb-4K-PQKA)HEVxVdEy;*~#}EVK_M{N5z&On4alm#f~((Dv}O^0czP= z?#Fz|Gd>>0e=@mn-9^jmw?K(6`PrL;H;eLeW_*0bckG_-@1qUhd(JcQFtD^%ZL&G? S{4y{DF?hQAxvXvGeVv(n{Mhd^mDBf?z5J^C_Yce&1?x6F znp1SJda7uA^|`MnFMYiCwKI3N#C_T3#g9H;PFu_~=i-y)O>csa`^yTqrLR3^S^hs{ zag0&<+2XUAPrRAmFujABl%kn$knYLwZ&JXoJ3F)IWuJ?=X+7 R4UGmV_H^}gS?83{1OV|10!#n^ literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/blue/ie6/ne.png b/源码/src/main/webapp/resource/js/artDialog/skins/blue/ie6/ne.png new file mode 100644 index 0000000000000000000000000000000000000000..eaa3cb4f5ea7dd835825819873cd2b2628a8083d GIT binary patch literal 514 zcmV+d0{#7oP)i%{Sa~BTIsVVoB4e*{}7!mb+JgEHe^f6^?a{#`rY{p)Ao(E;i0zU!_0NFwwkc2riVE_OC07*qoM6N<$ Ef|iipUH||9 literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/blue/ie6/nw.png b/源码/src/main/webapp/resource/js/artDialog/skins/blue/ie6/nw.png new file mode 100644 index 0000000000000000000000000000000000000000..45bb0379f34d196596990ebcf8f8bfd82e121405 GIT binary patch literal 459 zcmV;+0W|)JP)BfebD-J*vaRF8&HV(o8kT?!pfQ5mLs1*Djj-gQ!oW^#ArKcoHe*V7C z&kiRd@GSvq2)+&ugUxS*E0BK{4iK}2O;G+?375e##B6M{x)K$tRRG^V9fzaI?WEBR z$HG#Pr*(F7zq{2RKJ<5@qrJ^Qikfz0VCUpKYWD_@$DP(;w;fL3XNba9b#!%id9WS! zHddR-Ya*$xRdY~ZRmO{zR%15(L@Mtvwm@AgBfu~Uc!HF%AZ#pa7%5PPA<41Uedg&Y zLMnb>y~3auU?aWCj13L}dmkt8JUMCKO<#+RVnij)ahwt?h!c)XLzLIU9Pl zrTc>Y!b;h}c1f8a`S67)wY`M0Yv#g&eW53uwhFy%Q~eJ6pUgz|N7AT_-nJbwGhbz9 z&b)-}AK33m>VMeN%iEeOtYchvpCOLp!i#SK1_06B-S0LRwzU8N002ovPDHLkV1fsc B%oYFu literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/blue/ie6/s.png b/源码/src/main/webapp/resource/js/artDialog/skins/blue/ie6/s.png new file mode 100644 index 0000000000000000000000000000000000000000..ee9ab028b317d86f53cea1bd11c1f937d2f569c7 GIT binary patch literal 1429 zcmYk5X;cyj5XadyE%Sj}teKi+wnpi)wrknT6tzGD)5^5W@*owG3X~{I^T;wXET6HS zETQHuVX5T_79!7=c%-feqTm^t2`cM}g2=ib_ThY(nK%F6yqWnhsb_sWfm_YD0ssIY z@)X<`05D>&=i9d!toznXs?mBdBOwAv=Lr~644N1La1SS3jj%%AL}Md-BhcaZqMIX} z0Ra7@NVvP-UGdZ)5HIog!Qia7TyMe3g#D~7moz4a0Q+dy9fQy|EFVbDD${}l3lv4|=(hu$d9x38krDGM;D99V7`qW8wZ zhnpov?P$xd9Sw4?*P~B>AGAz?CxefXj}~6og(WY{5m2(`HI8+#T@m-CY2LBle4amb z*}eUUKaWopTY`&+O&!E^7^BmMz83*K@Lnp<0k0143iF1`TZCbaVk@V^`z3XzmKYny z*r7*V(#5opURK}U4 zNfW46bt3yM=J>*uUO%?5)~fmP-v&zMXUhC+e9p^jtiZ0$yfvHeTVl-BP&_n3& zmS4Gz^De>h=8;et>Xt}&GOjf<_P#(Qba?O{w|a`x7viA0=qp+c{Bxj$3ZhW#GtSKm z0_ff8vHXvIsp^_HqCxk;Yln@mvROFNe08_u)h&}!?c>IT4y-88MbjcK+8Gj67AS0N zLp~%c{}HK`9xMy8Ctm3E4plX_(-S-Z-Yi~*Z;xM96^dEm78S^dLHI)alpH`y7u)cM z9~4AG47U|(zh=tl~gp+gt_rx z`+MOCu}7Mj8?D5(X_6*&=#C+(SC-wE)(C%<&iWiu2;+7|mC?28&wUzn74)lv%Ro7>V%(S@# zI_FYQW}bD$M2z4lyVN`HqzbgO>LHrG?ufF(cN5qv`xMc&>D#997tFc&m@uV&I7Iq* zS~kWT-pP%MZsTd>vTx7YB5u|G64_tAygb-ao3jTyR@3s zMaihPMI?D$63 z7hA{Z@(jVc*s!(nh!k1W3V0wS7N|p#ZXR2#T=HU!B={$*$#%A+$Se(q@tqFndtN&- z5hg&+V1v|~l-ai3uCG6jT5&9OM5w&orkc@WuK<^Eza8Xjq?ws4qqUljRgjLUukOhm zKErY1YZ}g`s7|No6hL2f?Z_e{AyjofS*<;CoQTq zYVj}03BM`S4w;an@Be`@N3G0KbJ4L*Tsfmro~!5jzzi{2T%FgY#AJxc<6P_691cEn z$1X8=-0sRo&vjVev`y?gOs=xgbI94R62By+&g68kROPT!n=F>Uu>Ltgo!`vx&|T=`nYTHq)?!*@1Jd1mc4u(PN(09 zB~FEr{qEz?w#WCXs-S5aIGfZO9DG&3#U6HSWqN&i1|QPk;dc8zhj^?dT8000000 LNkvXXu0mjf67rve literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/blue/ie6/w.png b/源码/src/main/webapp/resource/js/artDialog/skins/blue/ie6/w.png new file mode 100644 index 0000000000000000000000000000000000000000..6c4472db2e1f952411572918ae051980b7d3c033 GIT binary patch literal 866 zcmeAS@N?(olHy`uVBq!ia0vp^{0t1-J2=>YEIYYJwLnU;#5JNMI6tkVJh3R1!7(L2 zDOJHUH!(dmC^a#qvhZZ84Fdx+i>HfYNX4x;w;l6Z40sq0%*d;L&;HZjKHzKZ-;Ukd zUk{|N7Et0yolql_G@D_%h0*3a%f4$Y_1XV%Q^)n{JMTVz`}y^w?fK%!xZs-w2MzX^ z_qm2VUcNx}?W?Ja*{)rSxpwW&mA5axuGm##eQxLW&8*MYWj-&EZ_YWmGyB%f$Cl>T z=S1(`TiO0pQUBO8-$&xyhYfhp(Dy_Ahdrg(&_r=_YZP-1h_oe25Qlyw-DuE6w-Tq} zAC7Kd3?|0pikO^Vti-rLPJDJ7ISI(Btr;@WWgTe~DWM4fK@w6v literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/chrome.css b/源码/src/main/webapp/resource/js/artDialog/skins/chrome.css new file mode 100644 index 0000000..78e4c34 --- /dev/null +++ b/源码/src/main/webapp/resource/js/artDialog/skins/chrome.css @@ -0,0 +1,61 @@ +@charset "utf-8"; +/* + * artDialog skin + * http://code.google.com/p/artdialog/ + * (c) 2009-2011 TangBin, http://www.planeArt.cn + * + * This is licensed under the GNU LGPL, version 2.1 or later. + * For details, see: http://creativecommons.org/licenses/LGPL/2.1/ + */ + +/* common start */ +body { _margin:0; _height:100%; /*IE6 BUG*/ } +.aui_outer { text-align:left; } +table.aui_border, table.aui_dialog { border:0; margin:0; border-collapse:collapse; width:auto; } +.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_c, .aui_e, .aui_sw, .aui_s, .aui_se, .aui_header, .aui_tdIcon, .aui_main, .aui_footer { padding:0; } +.aui_header, .aui_buttons button { font: 12px/1.11 'Microsoft Yahei', Tahoma, Arial, Helvetica, STHeiti; _font-family:Tahoma,Arial,Helvetica,STHeiti; -o-font-family: Tahoma, Arial; } +.aui_title { overflow:hidden; text-overflow: ellipsis; } +.aui_state_noTitle .aui_title { display:none; } +.aui_close { display:block; position:absolute; text-decoration:none; outline:none; _cursor:pointer; } +.aui_close:hover { text-decoration:none; } +.aui_main { text-align:center; min-width:9em; min-width:0\9/*IE8 BUG*/; } +.aui_content { display:inline-block; *zoom:1; *display:inline; text-align:left; border:none 0; } +.aui_content.aui_state_full { display:block; width:100%; margin:0; padding:0!important; height:100%; } +.aui_loading { width:96px; height:32px; text-align:left; text-indent:-999em; overflow:hidden; background:url(icons/loading.gif) no-repeat center center; } +.aui_icon { vertical-align: middle; } +.aui_icon div { width:48px; height:48px; margin:10px 0 10px 10px; background-position: center center; background-repeat:no-repeat; } +.aui_buttons { padding:8px; text-align:right; white-space:nowrap; } +.aui_buttons button { margin-left:15px; padding: 6px 8px; cursor: pointer; display: inline-block; text-align: center; line-height: 1; *padding:4px 10px; *height:2em; letter-spacing:2px; font-family: Tahoma, Arial/9!important; width:auto; overflow:visible; *width:1; color: #333; border: solid 1px #999; border-radius: 5px; background: #DDD; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#DDDDDD'); background: linear-gradient(top, #FFF, #DDD); background: -moz-linear-gradient(top, #FFF, #DDD); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FFF), to(#DDD)); text-shadow: 0px 1px 1px rgba(255, 255, 255, 1); box-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0 -1px 0 rgba(0, 0, 0, .09); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: box-shadow linear .2s; } +.aui_buttons button::-moz-focus-inner{ border:0; padding:0; margin:0; } +.aui_buttons button:focus { outline:none 0; border-color:#426DC9; box-shadow:0 0 8px rgba(66, 109, 201, .9); } +.aui_buttons button:hover { color:#000; border-color:#666; } +.aui_buttons button:active { border-color:#666; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#DDDDDD', endColorstr='#FFFFFF'); background: linear-gradient(top, #DDD, #FFF); background: -moz-linear-gradient(top, #DDD, #FFF); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#DDD), to(#FFF)); box-shadow:inset 0 1px 5px rgba(66, 109, 201, .9), inset 0 1px 1em rgba(0, 0, 0, .3); } +.aui_buttons button[disabled] { cursor:default; color:#666; background:#DDD; border: solid 1px #999; filter:alpha(opacity=50); opacity:.5; box-shadow:none; } +button.aui_state_highlight { color: #FFF; border: solid 1px #1c6a9e; background: #2288cc; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); text-shadow: -1px -1px 1px #1c6a9e; } +button.aui_state_highlight:hover { color:#FFF; border-color:#0F3A56; } +button.aui_state_highlight:active { border-color:#1c6a9e; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); } +/* common end */ + +.aui_inner { background:#FFF; } +.aui_titleBar { width:100%; height:0; position:relative; bottom:26px; _bottom:0; _margin-top:-26px;} +.aui_title { height:26px; line-height:23px; padding:0 60px 0 5px; color:#FFF; font-weight:700; text-shadow:0 1px 0 #000; } +.aui_nw, .aui_ne, .aui_w, .aui_e, .aui_sw, .aui_se, .aui_close { background-image:url(chrome/chrome_s.png); background-repeat:no-repeat; } +.aui_nw { width:5px; height:26px; background-position: -46px -8px; } +.aui_ne { width:5px; height:26px; background-position: -53px -8px; } +.aui_w { background-position:-60px 0; background-repeat:repeat-y; } +.aui_e { background-position:-65px 0; background-repeat:repeat-y; } +.aui_sw { width:5px; height:5px; background-position: -46px -2px;} +.aui_se { width:5px; height:5px; background-position: -53px -2px;} +.aui_close { top:1px; right:0; width:44px; height:17px; background-position:0 0; _font-size:0; _line-height:0; text-indent:-9999em; } +.aui_close:hover { background-position:0 -18px; } +.aui_n, .aui_s { background-image:url(chrome/border.png); background-repeat:repeat-x; } +.aui_n { background-position:0 top; } +.aui_s { background-position: 0 bottom; } +.aui_buttons { background-color:#F6F6F6; border-top:solid 1px #DADEE5; } +.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_se { width:3px; height:3px; } +.aui_state_noTitle .aui_inner { border:1px solid #666; background:#FFF; } +.aui_state_noTitle .aui_outer { box-shadow:none; } +.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_n, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_w, .aui_state_noTitle .aui_e, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_s, .aui_state_noTitle .aui_se { background:rgba(0, 0, 0, .05); background:#000\9!important; filter:alpha(opacity=5)!important; } +.aui_state_noTitle .aui_titleBar { bottom:0; _bottom:0; _margin-top:0; } +.aui_state_noTitle .aui_close { top:0; right:0; width:18px; height:18px; line-height:18px; text-align:center; text-indent:0; font-family: Helvetica, STHeiti; _font-family: '\u9ed1\u4f53', 'Book Antiqua', Palatino; font-size:18px; text-decoration:none; color:#214FA3; background:none; filter:!important; } +.aui_state_noTitle .aui_close:hover, .aui_state_noTitle .aui_close:active { text-decoration:none; color:#900; } diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/chrome/border.png b/源码/src/main/webapp/resource/js/artDialog/skins/chrome/border.png new file mode 100644 index 0000000000000000000000000000000000000000..db3bdcd9275fee1c7e04115284ce2968719f6a40 GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^tUxT!!3-oN{(RR0Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>Jib4W>LR@{Pyz!p$%6sz5z!`5$6Q@T+M8qxl5HS5s?ELo; zbKbkw9uAxJ&UfmYmTjM$ot=HVZwAkJ8wwPe^4huSy!Yf+MoF_G=e&!a_ug;n8=on! z5*B{A^zhpk>m`$b=DT^iIEGZ*(m8gVx50qnfWu|$h1dUncM;p!p2}s|;l6R{ildr* z7d!mUBni!2aYVIlZ^RK@v!nj5N?{wj!#D2Ca1~f=$H>NDl+N+eIleXlXd;8BtDnm{ Hr-UW|;J<5w literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/chrome/chrome_s.png b/源码/src/main/webapp/resource/js/artDialog/skins/chrome/chrome_s.png new file mode 100644 index 0000000000000000000000000000000000000000..3f62b86fea0cbb4472d20a2bdf9c23c79bda7a61 GIT binary patch literal 1202 zcmchV`7_%I0L8zK?X-5OI(Ln3tE6MQyXk?V*lI(BL`Z@}kcbr$LB`Rdb=E8mf)YX` zj=Ek6X-^4l-VsXrn*f>fw6?hcP45D6lji7{5u~bTMLev=59spE)JW*cG zkquJ!B8hvpFt_i(qgb*K9O}c9`SN9FXJ_6#8C|f7y?z5%BJ(VfOkxO;^|A>JKA;>V zRmw43sb4ur;DhKQ2|)mwJtX@HWPOVYbkW{&2J4Prt|wQ5E|!?slTe&pRN*eE0<^gAEn04n!NO>RVwK7T-Xc=5dtKMTa$Y?ct zSv`m8o%_$;?4wwV$XA;v&W<~0FZNfETnPrn<@YWqhEO<1_b z^QP!6IkvpB4?G|dx&MQ5ZS9VL=Xaju%d9ClSW`L*z6|-)R!Gt zC7;3)CNP9aEaCk8T=2T2KsiHnEEbJZ*8f*P;?jq008ou}b$a9#FKQ}2!Rb)+GBgje ze0>bA%)@z9^RCM4>N-w`xirH*G9GFGo}VMP67TqJU2J1JSgcVt%T_{vdb*ZC*`D4j zKGoAxIGuJ2?OUE3!D3oH{O=vD57H$pMBODziz^;5nn8cuRj5Vs;9BX6+&aP(Q2GqR zc!#oEHvMNTcy_IHuHcJm;VpP7B8q_w3#nMk|646B)fcb-WtpRR;CHbKE&gqY*RWRm zwsb~VUqj(vt}2}==@=jP$G@oq%XqhQXidcC5P|4wDf!;fsQ7IznlY-sXgWIkQ4H5j zDZB+V&L_jd9{=LXDngizV^0dJ9Da+RqgMJuQ`pFf(Nie?D<4av&R(33o0`k&pJSJX z=;7uQ%}~P!KR}@maN1cj?6QS0{dG$>cZRqhNo?|cZLG@2)gH&6SX-ZO@HRf~8Zpc> zfqG1s4{^(XKjFzSWTo51R^5h;O)o08D<;doN8_|qv>Imv8!j6{K-78=2bMZ#Zk0I_ z`AO07^M55~_!{(XQU}~ty<9tVw!hX`)!5YAk0?Go<_lpk)zrDqacpLI`1q1QXD%7? z-ekxYo1`0#%t_;lm@y|phz>CIQpHHTL!rk+2qA7ah7ycx=tuV1(}|*$l_Flkl2OZ# zC*C&37i8M$mZ$GHGhR8HCRLwr+CZYdZ4*`eq3BrJF&;qcYMkkP4U2Q@K9&3>5C~T5 zF?gJu|DDy{EusBQuL!z38FkXk+-i5c-!;%|IWqZ#YxX`mP}EwGy^)q^X6Pe58WwD> x_t6L4?oXwl4uo=FQ7f1S4tA0sPTW?x0JMeWPD4D*!j$g^T%FNQEsq0V{0m|}lG6YH literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/default.css b/源码/src/main/webapp/resource/js/artDialog/skins/default.css new file mode 100644 index 0000000..d0d8df2 --- /dev/null +++ b/源码/src/main/webapp/resource/js/artDialog/skins/default.css @@ -0,0 +1,67 @@ +@charset "utf-8"; +/* + * artDialog skin + * http://code.google.com/p/artdialog/ + * (c) 2009-2011 TangBin, http://www.planeArt.cn + * + * This is licensed under the GNU LGPL, version 2.1 or later. + * For details, see: http://creativecommons.org/licenses/LGPL/2.1/ + */ + +/* common start */ +body { _margin:0; _height:100%; /*IE6 BUG*/ } +.aui_outer { text-align:left; } +table.aui_border, table.aui_dialog { border:0; margin:0; border-collapse:collapse; width:auto; } +.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_c, .aui_e, .aui_sw, .aui_s, .aui_se, .aui_header, .aui_tdIcon, .aui_main, .aui_footer { padding:0; } +.aui_header, .aui_buttons button { font: 12px/1.11 'Microsoft Yahei', Tahoma, Arial, Helvetica, STHeiti; _font-family:Tahoma,Arial,Helvetica,STHeiti; -o-font-family: Tahoma, Arial; } +.aui_title { overflow:hidden; text-overflow: ellipsis; } +.aui_state_noTitle .aui_title { display:none; } +.aui_close { display:block; position:absolute; text-decoration:none; outline:none; _cursor:pointer; } +.aui_close:hover { text-decoration:none; } +.aui_main { text-align:center; min-width:9em; min-width:0\9/*IE8 BUG*/; } +.aui_content { display:inline-block; *zoom:1; *display:inline; text-align:left; border:none 0; } +.aui_content.aui_state_full { display:block; width:100%; margin:0; padding:0!important; height:100%; } +.aui_loading { width:96px; height:32px; text-align:left; text-indent:-999em; overflow:hidden; background:url(icons/loading.gif) no-repeat center center; } +.aui_icon { vertical-align: middle; } +.aui_icon div { width:48px; height:48px; margin:10px 0 10px 10px; background-position: center center; background-repeat:no-repeat; } +.aui_buttons { padding:8px; text-align:right; white-space:nowrap; } +.aui_buttons button { margin-left:15px; padding: 6px 8px; cursor: pointer; display: inline-block; text-align: center; line-height: 1; *padding:4px 10px; *height:2em; letter-spacing:2px; font-family: Tahoma, Arial/9!important; width:auto; overflow:visible; *width:1; color: #333; border: solid 1px #999; border-radius: 5px; background: #DDD; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#DDDDDD'); background: linear-gradient(top, #FFF, #DDD); background: -moz-linear-gradient(top, #FFF, #DDD); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FFF), to(#DDD)); text-shadow: 0px 1px 1px rgba(255, 255, 255, 1); box-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0 -1px 0 rgba(0, 0, 0, .09); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: box-shadow linear .2s; } +.aui_buttons button::-moz-focus-inner{ border:0; padding:0; margin:0; } +.aui_buttons button:focus { outline:none 0; border-color:#426DC9; box-shadow:0 0 8px rgba(66, 109, 201, .9); } +.aui_buttons button:hover { color:#000; border-color:#666; } +.aui_buttons button:active { border-color:#666; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#DDDDDD', endColorstr='#FFFFFF'); background: linear-gradient(top, #DDD, #FFF); background: -moz-linear-gradient(top, #DDD, #FFF); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#DDD), to(#FFF)); box-shadow:inset 0 1px 5px rgba(66, 109, 201, .9), inset 0 1px 1em rgba(0, 0, 0, .3); } +.aui_buttons button[disabled] { cursor:default; color:#666; background:#DDD; border: solid 1px #999; filter:alpha(opacity=50); opacity:.5; box-shadow:none; } +button.aui_state_highlight { color: #FFF; border: solid 1px #1c6a9e; background: #2288cc; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); text-shadow: -1px -1px 1px #1c6a9e; } +button.aui_state_highlight:hover { color:#FFF; border-color:#0F3A56; } +button.aui_state_highlight:active { border-color:#1c6a9e; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); } +/* common end */ + +.aui_inner { background:#FFF; } +.aui_outer, .aui_inner { border:1px solid rgba(0, 0, 0, .7); border:1px solid #333\9; } +.aui_border { box-shadow: inset 0 0 1px rgba(255, 255, 255, .9); } +.aui_nw, .aui_ne, .aui_sw, .aui_se { width:8px; height:8px; } +.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_e, .aui_sw, .aui_s, .aui_se { background:rgba(0, 0, 0, .4); background:#000\9!important; filter:alpha(opacity=40); } +.aui_state_lock .aui_nw, .aui_state_lock .aui_n, .aui_state_lock .aui_ne, .aui_state_lock .aui_w, .aui_state_lock .aui_e, .aui_state_lock .aui_sw, .aui_state_lock .aui_s, .aui_state_lock .aui_se { background:rgba(0, 0, 0, .5); background:#000\9!important; filter:alpha(opacity=50); } +.aui_state_focus .aui_dialog { box-shadow: 0 0 3px rgba(0, 0, 0, 0.4); } +.aui_state_focus .aui_outer { box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1); } +.aui_state_lock .aui_border { box-shadow:0 3px 26px rgba(0, 0, 0, .9); } +.aui_state_drag .aui_outer, .aui_outer:active { box-shadow:none; } +.aui_titleBar { position:relative; height:100%; } +.aui_title { height:28px; line-height:27px; padding:0 28px 0 10px; text-shadow:0 1px 0 rgba(255, 255, 255, .7); background-color:#edf5f8; font-weight:bold; color:#95a7ae; font-family: Tahoma, Arial/9!important; background-color:#bdc6cd; background: linear-gradient(top, #edf5f8, #bdc6cd); background: -moz-linear-gradient(top, #edf5f8, #bdc6cd); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#edf5f8), to(#bdc6cd)); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#edf5f8', endColorstr='#bdc6cd'); border-top:1px solid #edf5f8; border-bottom:1px solid #b6bec5; } +.aui_state_focus .aui_title { color:#4c5a5f; } +.aui_state_drag .aui_title { background: linear-gradient(top, #bdc6cd, #edf5f8); background: -moz-linear-gradient(top, #bdc6cd, #edf5f8); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bdc6cd), to(#edf5f8)); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#bdc6cd', endColorstr='#edf5f8'); box-shadow:none; } +.aui_state_drag .aui_titleBar { box-shadow:none; } +.aui_close { padding:0; top:4px; right:4px; width:21px; height:21px; line-height:21px; font-size:18px; color:#68767b; text-align:center; font-family: Helvetica, STHeiti; _font-family: Tahoma, '\u9ed1\u4f53', 'Book Antiqua', Palatino; text-shadow:0 1px 0 rgba(255, 255, 255, .9); } +.aui_close:hover { background:#C72015; color:#FFF; } +.aui_close:active { box-shadow: none; } +.aui_content { color:#666; } +.aui_state_focus .aui_content { color:#000; } +.aui_buttons { background-color:#F6F6F6; border-top:solid 1px #DADEE5; } +.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_se { width:3px; height:3px; } +.aui_state_noTitle .aui_inner { border:1px solid #666; background:#FFF; } +.aui_state_noTitle .aui_outer { border:none 0; box-shadow:none; } +.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_n, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_w, .aui_state_noTitle .aui_e, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_s, .aui_state_noTitle .aui_se { background:rgba(0, 0, 0, .05); background:#000\9!important; filter:alpha(opacity=5)!important; } +.aui_state_noTitle .aui_titleBar { bottom:0; _bottom:0; _margin-top:0; } +.aui_state_noTitle .aui_close { top:0; right:0; width:18px; height:18px; line-height:18px; text-align:center; text-indent:0; font-size:18px; text-decoration:none; color:#214FA3; background:none; filter:!important; } +.aui_state_noTitle .aui_close:hover, .aui_state_noTitle .aui_close:active { text-decoration:none; color:#900; } +.aui_state_noTitle .aui_dialog { box-shadow: none; } \ No newline at end of file diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/green.css b/源码/src/main/webapp/resource/js/artDialog/skins/green.css new file mode 100644 index 0000000..48ea491 --- /dev/null +++ b/源码/src/main/webapp/resource/js/artDialog/skins/green.css @@ -0,0 +1,79 @@ +@charset "utf-8"; +/* + * artDialog skin + * http://code.google.com/p/artdialog/ + * (c) 2009-2011 TangBin, http://www.planeArt.cn + * + * This is licensed under the GNU LGPL, version 2.1 or later. + * For details, see: http://creativecommons.org/licenses/LGPL/2.1/ + */ + +/* common start */ +body { _margin:0; _height:100%; /*IE6 BUG*/ } +.aui_outer { text-align:left; } +table.aui_border, table.aui_dialog { border:0; margin:0; border-collapse:collapse; width:auto; } +.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_c, .aui_e, .aui_sw, .aui_s, .aui_se, .aui_header, .aui_tdIcon, .aui_main, .aui_footer { padding:0; } +.aui_header, .aui_buttons button { font: 12px/1.11 'Microsoft Yahei', Tahoma, Arial, Helvetica, STHeiti; _font-family:Tahoma,Arial,Helvetica,STHeiti; -o-font-family: Tahoma, Arial; } +.aui_title { overflow:hidden; text-overflow: ellipsis; } +.aui_state_noTitle .aui_title { display:none; } +.aui_close { display:block; position:absolute; text-decoration:none; outline:none; _cursor:pointer; } +.aui_close:hover { text-decoration:none; } +.aui_main { text-align:center; min-width:9em; min-width:0 \9/*IE8 BUG*/; } +.aui_content { display:inline-block; *zoom:1; *display:inline; text-align:left; border:none 0; } +.aui_content.aui_state_full { display:block; width:100%; margin:0; padding:0!important; height:100%; } +.aui_loading { width:96px; height:32px; text-align:left; text-indent:-999em; overflow:hidden; background:url(icons/loading.gif) no-repeat center center; } +.aui_icon { vertical-align: middle; } +.aui_icon div { width:48px; height:48px; margin:10px 0 10px 10px; background-position: center center; background-repeat:no-repeat; } +.aui_buttons { padding:8px; text-align:right; white-space:nowrap; } +.aui_buttons button { margin-left:15px; padding: 6px 8px; cursor: pointer; display: inline-block; text-align: center; line-height: 1; *padding:4px 10px; *height:2em; letter-spacing:2px; font-family: Tahoma, Arial/9!important; width:auto; overflow:visible; *width:1; color: #333; border: solid 1px #999; border-radius: 5px; background: #DDD; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#DDDDDD'); background: linear-gradient(top, #FFF, #DDD); background: -moz-linear-gradient(top, #FFF, #DDD); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FFF), to(#DDD)); text-shadow: 0px 1px 1px rgba(255, 255, 255, 1); box-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0 -1px 0 rgba(0, 0, 0, .09); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: box-shadow linear .2s; } +.aui_buttons button::-moz-focus-inner{ border:0; padding:0; margin:0; } +.aui_buttons button:focus { outline:none 0; border-color:#426DC9; box-shadow:0 0 8px rgba(0, 50, 0, .7); } +.aui_buttons button:hover { color:#000; border-color:#666; } +.aui_buttons button:active { border-color:#666; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#DDDDDD', endColorstr='#FFFFFF'); background: linear-gradient(top, #DDD, #FFF); background: -moz-linear-gradient(top, #DDD, #FFF); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#DDD), to(#FFF)); box-shadow:inset 0 1px 5px rgba(0, 50, 0, .7), inset 0 1px 1em rgba(0, 0, 0, .3); } +.aui_buttons button[disabled] { cursor:default; color:#666; background:#DDD; border: solid 1px #999; filter:alpha(opacity=50); opacity:.5; box-shadow:none; } +button.aui_state_highlight { color: #FFF; border: solid 1px #679a10; background: #7cb61b; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#98d237', endColorstr='#7cb61b'); background: linear-gradient(top, #98d237, #7cb61b); background: -moz-linear-gradient(top, #98d237, #7cb61b); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#98d237), to(#7cb61b)); text-shadow: -1px -1px 1px #679a10; } +button.aui_state_highlight:focus { border-color:#679a10; } +button.aui_state_highlight:hover { color:#FFF; border-color:#3c5412; } +button.aui_state_highlight:active { border-color:#3c5412; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#98d237', endColorstr='#7cb61b'); background: linear-gradient(top, #98d237, #7cb61b); background: -moz-linear-gradient(top, #98d237, #7cb61b); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#98d237), to(#7cb61b)); } +/* common end */ + +.aui_inner { background:#f7f7f7; } +.aui_titleBar { width:100%; height:0; position:relative; bottom:30px; _bottom:0; _margin-top:-30px; } +.aui_title { height:29px; line-height:29px; padding:0 25px 0 0; _padding:0; text-indent:5px; color:#FFF; font-weight:700; text-shadow:-1px -1px 0 rgba(0, 50, 0, .7); } +.aui_nw, .aui_ne, .aui_sw, .aui_se, .aui_n, .aui_s, .aui_close { background-image:url(green/bg.png); background-repeat:no-repeat; } +.aui_nw { width:15px; height:38px; background-position: 0 0; _png:green/ie6/nw.png; } +.aui_ne { width:15px; height:38px; background-position: -15px 0; _png:green/ie6/ne.png; } +.aui_sw { width:15px; height:18px; background-position: 0 -38px; _png:green/ie6/sw.png; } +.aui_se { width:15px; height:18px; background-position: -15px -38px; _png:green/ie6/se.png; } +.aui_close { top:4px; right:4px; _z-index:1; width:20px; height:20px; _font-size:0; _line-height:0; text-indent:-9999em; background-position:0 -112px; _png:green/ie6/close.png; } +.aui_close:hover { background-position:0 -132px; } +.aui_n, .aui_s { background-repeat:repeat-x; } +.aui_n { background-position: 0 -56px; _png:green/ie6/n.png; } +.aui_s { background-position: 0 -94px; _png:green/ie6/s.png; } +.aui_w, .aui_e { background-image:url(green/bg2.png); background-repeat:repeat-y; } +.aui_w { background-position:left top; _png:green/ie6/w.png; } +.aui_e { background-position: right bottom; _png:green/ie6/e.png; } +aui_icon, .aui_main { padding-top:3px; } +@media screen and (min-width:0) { + .aui_outer { border-radius:8px; box-shadow:0 5px 15px rgba(0, 50, 0, .4); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: -webkit-box-shadow linear .2s; } + .aui_state_lock .aui_outer { box-shadow:0 3px 26px rgba(0, 0, 0, .9); } + .aui_outer:active { box-shadow:0 0 5px rgba(0, 50, 0, .1)!important; } + .aui_state_drag .aui_outer { box-shadow:none!important; } + .aui_nw, .aui_ne, .aui_sw, .aui_se, .aui_n, .aui_s, .aui_close { background-image:url(green/bg_css3.png); } + .aui_nw { width:5px; height:31px; } + .aui_ne { width:5px; height:31px; background-position: -5px 0; _png:green/ie6/ne.png; } + .aui_sw { width:5px; height:5px;background-position: 0 -31px; } + .aui_se { width:5px; height:5px; background-position: -5px -31px; } + .aui_close { background-position:0 -72px; } + .aui_close:hover { background-position:0 -92px; } + .aui_n { background-position: 0 -36px; } + .aui_s { background-position: 0 -67px; } + .aui_w, .aui_e { background-image:url(green/bg_css3_2.png); } +} +.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_se { width:3px; height:3px; } +.aui_state_noTitle .aui_inner { border:1px solid #666; background:#FFF; } +.aui_state_noTitle .aui_outer { box-shadow:none; } +.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_n, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_w, .aui_state_noTitle .aui_e, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_s, .aui_state_noTitle .aui_se { background:rgba(0, 0, 0, .05); background:#000\9!important; filter:alpha(opacity=5)!important; } +.aui_state_noTitle .aui_titleBar { bottom:0; _bottom:0; _margin-top:0; } +.aui_state_noTitle .aui_close { top:0; right:0; width:18px; height:18px; line-height:18px; text-align:center; text-indent:0; font-family: Helvetica, STHeiti; _font-family: '\u9ed1\u4f53', 'Book Antiqua', Palatino; font-size:18px; text-decoration:none; color:#214FA3; background:none; filter:!important; } +.aui_state_noTitle .aui_close:hover, .aui_state_noTitle .aui_close:active { text-decoration:none; color:#900; } \ No newline at end of file diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/green/bg.png b/源码/src/main/webapp/resource/js/artDialog/skins/green/bg.png new file mode 100644 index 0000000000000000000000000000000000000000..7919c88e4f17239d65a4934abb1229e38cf9a3dc GIT binary patch literal 3062 zcmV1^@s6^VwNv0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU-m`OxIRCwC#oM~_r#}$CPcSmSfLZAa7 zgfIlmp#yV7fMbIl$|QCrm84>Wu@k2_LJ5e>Q6PwKZz``ob-`LRD`I%)v^#%u+*RO2ue(`vx=cH? z=ipGAEiUB1_#sawB@a$)X|~q4f`ey>gEYwF&F{w+uogI=w6V{G&rC{48W9l{+I-u2 zO>(x@Q*iJMagYXiG{Bk$Y0)t(Zvhr;!BcJFg1gb#(E8rd!k)}X%3gl6Nsh{p=xF1`F?q zfW-dFqJhTh4wa#j0kA~1rctCdL+M#{S4iBc6^M^C1|>GW*fX;90mBiE8JCgek#UI$ zQ)6R`OE*tfNvu*ed1R{gF&s%EMvSZLCDv2r!;@H)Opuu98xJMu+tkLaP+|rc8BjHP zSgI!U;Y*CQRZTksHoOqP{;isH)~a#m+nDMPAc%Ioamh=c<{~lj0gfty2FnG_7_k_w zTD2-*#+;lSw7vKpLvSI$2HWeryFZ81>FgaE8md{4+wBIgfy*Cg&+M~z(%MY7zr_BE zOG`^-10!rf(B>01no06>dE>?n$aF>nq`67A1lY&=NPVxqYSY1k2c`P@dep-9;NV(Y z+nj^N9X@5hO~aWlo03;Oa-T^ zJVd1xE#Gf{7IaQwdANG3sdc1CjPzkWRclEv>6~Sv08;86qG~~@>KsE0jEs!YdaBmy zUQ|OP$N-22J0JT!YxYy1UO4E50QGmAV4yMqmNX`P{;?pF{sd)adh}qkr0$+zt65;d z6!5UQu?{o9xbX7U22&(Hd+&tD6tM1hhKB~GCV?gMB$iP3YGb`q_irIsG6^gav77Z{ zQ4+gZcQUPw8{ICmx)U`EY}O<}%#v8_cC(XN#%11`%QT5;ck52XtO3NdE3i%H41G)L z`b`@#sgVWvieldKRz4tXJ3GS^BPu_#XYZ*Y=8pMj+dqnT|5g6%t^L3eE5WvmP#$e7 zfJqGZII$`-y?~^Y_{ttdsVA8F? zrhRw9Ltc$~paQNH)^_SW(>{3l1H&B;JyoPCuFJr=@%{RrwApMm?0Jr#_j3EQJm4Px zMRaagfO8Y#6Ec^kWi~9BwYb4%vwsM2T6r?kvR&ZdxifIyxT5Sfdrf}!d-X&6CW{jB z;Hy<7!iJqW5qHb)Y-H&xywH{NbDYEDQsl|ya^-m;_?cV1W zQ51W$wz!{tY2q)NBW=;7r>z%FPE7Kgy?lC#tHBlOg{H)h^~8nuCw3v6zEij{;>yiS zn;G=)!AQ)5p=y}xc6S9I;`+;x4(rRC7SCAj;;nbd`|~3AepYY-dteG5-s6 zO5J7f_fhJ=1^F{GAh0dt4{xdRP($FO^rZS{es~fZGm;?UJb{XC`_t6-&=Zfr!++5E zQl$U;R86q=N(S%re(0<|4B+oxdap+k9iq4} z5axO)eh3HG(tuYYQQ3RB6(6h8sUFx1g&(!r_7-d(J9gaDl_OF{HzVKcu1G16?BBb4 zsOWZkrq7snMoH&yFY6Wpowv#P+WKdim}Hb z$Pe$Oj7n`nzE@)njn%Ts*W_(4tajF(TeE8!5-dIB3M9vkL2F;nLzX6YBKQD}vG+w5 zY(=YgWgt0!-nP9)Rjig+mRe*BoXqUadn+5OuV(FBC>IWpBnDqSJ5Tn#P)LV-nc15@ z7Tdb5C0H;&I$7(Gvwl&=y2JO}b$57pLd17`ppee;9jQYuhtYP`TY+FFYIIpcg@*Ij z&oEV1AXsaKT5YlqVTgxx$k$a%AGx3Icsu9WYgaCeSd*TI!ozwZe$548h=+8R?-`_h zYdk2hJnnAavTjOs+3ks7y@UG9eTn$krJ*B%2uO9h7kq^i8^Rd^riT;^7T@~ literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/green/bg2.png b/源码/src/main/webapp/resource/js/artDialog/skins/green/bg2.png new file mode 100644 index 0000000000000000000000000000000000000000..3faa0c8a160695d2962e0bbb2ee142528fb55b0c GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^av;pX1|+Qw)-3{3k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XvOQfKLn>}1{rUgjzIjQbfHE^Pv#^M@3SA3t}nb>e(#nHuL{ZTeqAF(l7 d7#$iI8UCt>S@H^O-3PRm!PC{xWt~$(69CJJNCN-> literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/green/bg_css3.png b/源码/src/main/webapp/resource/js/artDialog/skins/green/bg_css3.png new file mode 100644 index 0000000000000000000000000000000000000000..aa255e43c79df6e959abcefeb942dd13e1451571 GIT binary patch literal 2358 zcmV-63CZ?}P)bT`@5y4{$#{seSUF*vy3f}kkWR>4^Rx-=HaW{cUlt=TlI zSgmoZ-B5L{{D?pm`4eVf7-oi_`Fro}J#XHdKE?rNHZRd^`pC(-_ndP-&b{Z{bMJdY zaU2KuymTTln6OMjtHAx7B~BsF zm$^i{I6CjxsA>l*u7J^%`;kdN@|^iU7Huy?gg^WXh8g+Tf+iAEF7S*o5m0K2%N1v0*s@>2C+VcFGDk<=rq~Ku%^r zMt%<&c)Hhcs+-pjfIk5G0CdR>IMx07$?xT(8WCM9?HIkPkm5iKcrYj zZV%a~eGO&3U*lzomDxoaZ>sX|6bf&i<% zFE@PW@wE}(fh1~olNx744-Z?u2O-w{Kjz$iP?W&IqaN?|xVJ60o<4oLTGlo6T-xP& z6d?0Mi;ZW07bTUa5_&+$G|5=Bf%`Rsx2E#2G=A3XI`R@^B<+n8fR)ZBHb}&g(#Zfz zHSwCf9T|DUTi0zLR;kni>VSsbTz;kXuk1Fd^^Tf~@cESgN;B=yilgztWO{;WDKOvB8b zzQFa|>{Msr=DijKk%DRCmpkL9&1GUj;~BKaaR?^tDEEu=f_Ea32fe-{{U6y!H;g(N z=OdeIthd|pP=B%Y+~AsnZ`zS#ALXb=JG94fBF;EK0W@J{?oU3KfDvYy4alWn zXovRFH~Pl_eSsp4xkh`%_C#PvJ`u+HVOD4d+XRSf;R#a@6}sDW8D3?r4@+7Q`gERCFkr2@6#hJ`6*SeUzi# zI|qFMZX~(*{`R#yt(Y1!L*rN_MRPgFH$|MeT>Uk2?4um@m_m<%N`ex(blq(B)K^E$ z?L%z_F$j_XBzs36Q|Lm=-v_m19FF%6ipgdh`)I&mR1gmsnhN4{CpJag>$v-6?ZJO% z5ic5%V;|+{X{0)u^-gT*)`Q6K=(OAP3Iw&s=QhYdk39rr{qPc+HEgg18n^u*$M zNx$H?Ui;lk7t8D3B2E6w0EKy1S#!Zt)2~;5w(5G*)eX+5?7}X4ha#IS^>+FUBFuEprLD`N}mqex$bWpS>{1`}x5k9PP2&VKRQKs+$qr5;k37AXdv;-uGP_V#*B%r=L<^+#iLNFWxr$j&z zOoeo&`sDKEX+P5^YL|^kJePhmW-}@Qb!R- zA*njb;H|DWLX;|=V;|+HN4u$x06xz?JiPCv`>l5mnSPqUhVJhT7l7=KXVbDc7SKeUoU;kbL^uW^=NmvY}c=Zee3}g_a$@u z;GS3SHGcc{j&=FtqM1k5?2G1${dtl#MLmKJ8;!p#Ey!LYRvgho?r#09(AMVqocxSJ zSU&Fsh*HOR0${KiJF~a#xr#jB3ltOE(A)hEjz=7YST&ZWq#8q~g`ey1H}YWQ%;3R# zt$p{lZZG~DiT)kr*cU+~R8f3lM@Gj~<9NiuJd6+uL)f`bs(#$w+?@5B6{~)J_hAEc z5BA*7|5JJOAee{5;t&NhA`X=4em^HlvmB@PpzpzT-JbWe?cl`p8AZV9q!A*PuBI=p z{rbym|9tD&gv3YdH|Ctx!=O=;XM9nOgXpNLQx$KM*E(i%M*hd$pno7#8yf{( zJaZG%Q-e|yQz{EjrrLlMdAc};RNP9+$jSNB$IP&FhQx=aiCVk@2@KjNr5xiqBKv@f O7(8A5T-G@yGywpX%^-0A literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/green/color_bg.png b/源码/src/main/webapp/resource/js/artDialog/skins/green/color_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..7919c88e4f17239d65a4934abb1229e38cf9a3dc GIT binary patch literal 3062 zcmV1^@s6^VwNv0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU-m`OxIRCwC#oM~_r#}$CPcSmSfLZAa7 zgfIlmp#yV7fMbIl$|QCrm84>Wu@k2_LJ5e>Q6PwKZz``ob-`LRD`I%)v^#%u+*RO2ue(`vx=cH? z=ipGAEiUB1_#sawB@a$)X|~q4f`ey>gEYwF&F{w+uogI=w6V{G&rC{48W9l{+I-u2 zO>(x@Q*iJMagYXiG{Bk$Y0)t(Zvhr;!BcJFg1gb#(E8rd!k)}X%3gl6Nsh{p=xF1`F?q zfW-dFqJhTh4wa#j0kA~1rctCdL+M#{S4iBc6^M^C1|>GW*fX;90mBiE8JCgek#UI$ zQ)6R`OE*tfNvu*ed1R{gF&s%EMvSZLCDv2r!;@H)Opuu98xJMu+tkLaP+|rc8BjHP zSgI!U;Y*CQRZTksHoOqP{;isH)~a#m+nDMPAc%Ioamh=c<{~lj0gfty2FnG_7_k_w zTD2-*#+;lSw7vKpLvSI$2HWeryFZ81>FgaE8md{4+wBIgfy*Cg&+M~z(%MY7zr_BE zOG`^-10!rf(B>01no06>dE>?n$aF>nq`67A1lY&=NPVxqYSY1k2c`P@dep-9;NV(Y z+nj^N9X@5hO~aWlo03;Oa-T^ zJVd1xE#Gf{7IaQwdANG3sdc1CjPzkWRclEv>6~Sv08;86qG~~@>KsE0jEs!YdaBmy zUQ|OP$N-22J0JT!YxYy1UO4E50QGmAV4yMqmNX`P{;?pF{sd)adh}qkr0$+zt65;d z6!5UQu?{o9xbX7U22&(Hd+&tD6tM1hhKB~GCV?gMB$iP3YGb`q_irIsG6^gav77Z{ zQ4+gZcQUPw8{ICmx)U`EY}O<}%#v8_cC(XN#%11`%QT5;ck52XtO3NdE3i%H41G)L z`b`@#sgVWvieldKRz4tXJ3GS^BPu_#XYZ*Y=8pMj+dqnT|5g6%t^L3eE5WvmP#$e7 zfJqGZII$`-y?~^Y_{ttdsVA8F? zrhRw9Ltc$~paQNH)^_SW(>{3l1H&B;JyoPCuFJr=@%{RrwApMm?0Jr#_j3EQJm4Px zMRaagfO8Y#6Ec^kWi~9BwYb4%vwsM2T6r?kvR&ZdxifIyxT5Sfdrf}!d-X&6CW{jB z;Hy<7!iJqW5qHb)Y-H&xywH{NbDYEDQsl|ya^-m;_?cV1W zQ51W$wz!{tY2q)NBW=;7r>z%FPE7Kgy?lC#tHBlOg{H)h^~8nuCw3v6zEij{;>yiS zn;G=)!AQ)5p=y}xc6S9I;`+;x4(rRC7SCAj;;nbd`|~3AepYY-dteG5-s6 zO5J7f_fhJ=1^F{GAh0dt4{xdRP($FO^rZS{es~fZGm;?UJb{XC`_t6-&=Zfr!++5E zQl$U;R86q=N(S%re(0<|4B+oxdap+k9iq4} z5axO)eh3HG(tuYYQQ3RB6(6h8sUFx1g&(!r_7-d(J9gaDl_OF{HzVKcu1G16?BBb4 zsOWZkrq7snMoH&yFY6Wpowv#P+WKdim}Hb z$Pe$Oj7n`nzE@)njn%Ts*W_(4tajF(TeE8!5-dIB3M9vkL2F;nLzX6YBKQD}vG+w5 zY(=YgWgt0!-nP9)Rjig+mRe*BoXqUadn+5OuV(FBC>IWpBnDqSJ5Tn#P)LV-nc15@ z7Tdb5C0H;&I$7(Gvwl&=y2JO}b$57pLd17`ppee;9jQYuhtYP`TY+FFYIIpcg@*Ij z&oEV1AXsaKT5YlqVTgxx$k$a%AGx3Icsu9WYgaCeSd*TI!ozwZe$548h=+8R?-`_h zYdk2hJnnAavTjOs+3ks7y@UG9eTn$krJ*B%2uO9h7kq^i8^Rd^riT;^7T@~ literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/close.hover.png b/源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/close.hover.png new file mode 100644 index 0000000000000000000000000000000000000000..46fc9d72d34f7ab377ff5cb59b4b39542add0576 GIT binary patch literal 1079 zcmV-71jze|P)T8R}{d{do9urKxi$6 zR7Il>wGKttmgqDlMwcwn#E5Lkl1(&4QiY{frN~E_9}P~0_{m0s$R8?M%=E8iQ?tax z{jo$vKrF$CA~T3b94 zDXJ{30Ti_eJ4u|A?oiFnNZs3Ye@-|gl+@af!iwzGu)+ETG*+F5aKN{@<&5Vm;xnJ< z;;`Sh$!$LlA7>ZJg8mrS+x@_V3u6b)TUQoFGqWt$Zv1{7OuB5aq~?G%YZcVlkAd&y zi%;8sZrqF-VN1<EE&Aqyb9{~ zdVr6{mZCPuiyiEo@lrBL2QS7z#FPPPE1FJM?=tH%mo$`~15rvq zXhMKUd<^tSX^^2Y$}m?;Irt*}rw-?_wh)Z>l2|_xfmfshZe10EvDX#OBY*rG3%$Z1 z48|2%QWs3E4Cm2K{B99gn8tFTcn!+NjX`8wm8^c#Gtf!4G)lIwhGdmS);Pv_w4>k5 zVE+GJz)wv_*FWojoa?rGK(9+7lM*#b@)+mQPW;xH_=|!pn;C`n#xIGoYB* z{*mFYF&;TQs~XGm3IttB>dinvkYOrPH!yf)e6(-h_wHZF?RTNZF@vUS402*;7)|XM zj~vXybXpknH?OvR^4#mSZ(CdR`I8qtFdTf<={kJ6JqY2~tT-58c6x)y`Q2QDB_Fpo zFgoy;v;N15cM!+)i6StKbdp)=>b-q$>!0_2+rDUi?ms2F9oKyj6cl+T7gaMD4Q;KB zJ48`Tl-XRDhQT*LtIY%g^@@5Z%SVu7eGBg@1fl571^}p3xAUC<0_Fe!002ovPDHLkV1fq81NQ&` literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/close.png b/源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/close.png new file mode 100644 index 0000000000000000000000000000000000000000..932e59707f03924c8ec9d9f6929a1b153bfae189 GIT binary patch literal 814 zcmV+}1JV46P)_jG-JU zge-0h#P@*sJs!OvH4Jx`zdK9Fg{_hjQYSe$INk!;$v6yal>({(VW2}=@fp}EEh$}I zlv@5JCn5g}2M6bDkQg>K#i^B_K^VkFHk1(-DL_F%P7cnuy_J(csEBF(`TOrTEgJK}mP&u~} zi!I28KKuOmS1PJH4vMjApHH$x92c6F2g_=Yr+Ob(4&uE-rv9a z;1cVLk58Fdm{=G%m^uH0Xb>MH4w46{BQ~eBvT?Fy)@QYR;^pE6*$oMAAO!J2;vjh} zNeZihC6L%``lKYP@rQ$j3+R)74D)x);0DnkK1duSkDdmx8JG-Ai(UC~rJq4bLxfBG zA2TD%|H7&10xR||JO-jce2_Ru9+ZSI3`L3*L9GO-e{&B{{CNMv?N_i!K#Bkz^wigmM(DP;kA7`yN_o9U2z3OgZLnE zkV^$Qh5w-^Y~-xRAjm6h!pp^18|D)2aQ(q$)|(G+zzl=OCQzfCd#U9#HF*suaMrtj zZO^XWlfgjdZ?J)&bT@1H4n~-UqYKxE9KCulNkL5U_Vkj)z55x?peGGRdj?~n20;eb_1{uf# sjcsJih;9I$f)-@ZUm*SmVgm#i02E;G(_VAAqyPW_07*qoM6N<$f(heokpKVy literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/e.png b/源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/e.png new file mode 100644 index 0000000000000000000000000000000000000000..c3fc738e81757083c3de2ffcde7222a21a0aad66 GIT binary patch literal 828 zcmeAS@N?(olHy`uVBq!ia0vp^{0t1-J2=>YEIYYJwLnU;#5JNMI6tkVJh3R1!7(L2 zDOJHUH!(dmC^a#qvhZZ84FdzyJx>?MkcwMxuG!`tHsE0k*vx*i(YExpZq>9qi=xAr z|0c&OIJYrmzI9yml}F&ir-V)+dy8qQCtp6B`Mk2Kves_x`uEwj>%MNhcHOu3|Fzpc zC;4CQV{c280HYuM7VEaYKE1L0=EW_EAMdw`?p67iq5b#X+ZE=aNiY2LUGnuACDy6m z(LeX>w4eJ{+2w7rT7I-Kcy298m-2*|I7$xV5cu)HVwRru zEHfRpy()$;5?Us%X<6(ysi&iR>GG9Q((P?uf21pHf7n-O7GGwy>a7L;p66?7Ln7^Y xiZ*yp+R9|G-Aw1TpC}J78H14M$9@K82FX~LT)Q;>r@-vM;OXk;vd$@?2>`c%Grs@; literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/n.png b/源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/n.png new file mode 100644 index 0000000000000000000000000000000000000000..8742f2027fcb32a485dfd8d51dba1a5ecbac0ba0 GIT binary patch literal 925 zcmeAS@N?(olHy`uVBq!ia0y~y;NAgbt8uUa$&k8h8-SE#iEBhjaDG}zd16s2gJVj5 zQmTSyZen_BP--b#CW$M1$iuW zf4|>sb2>Lxc71v2-d*|D|K}c8UiWz3_q*G_e>h-=Q2TB5+=y)cH`(9cSeD;iy>ZpP zUFQ$0%)Gbb=ckX~UFzFP57>r(fBjXG`TgsJUn?*CO8zEuZjJ1@H3+9~uz!0d%6fB| z=YhYIuBRFPTV-=buHd{+y)wcMhEuM5jO9rDSFYv zA0J;gk3~3uVL{9nJ5(z!R=;9GQt(viG7GAg<9F#H$p`2e1*3X-FF%R}b2#52DbI0Q zg35PzVu0$xiKs#LRcSYhhAZ8MJ}5yL_vg=+Jr~;2*UNGv?3r==UC|+3<6ab%cjOt_ Y80?y7@vb+V=m=8l>FVdQ&MBb@0OlU;umAu6 literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/ne.png b/源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/ne.png new file mode 100644 index 0000000000000000000000000000000000000000..57e8e6200a54e4be0cd58da47a9aa8fb5df2aad9 GIT binary patch literal 495 zcmV!Ep1=TAEqC2M>Dx72_GTw12+)>3s4#0k=T?Ij^=V^j3Y9Q<-F=kSnZb4^n3a*yzrY5W1t@u2GN@pNz9p z1+=;M+Lnm@Ng~PGgj9?mQudi?TNU05BssXLNRt{&hS;HqK*c${dQ%?VStCcWhnztv z3=M@*92~pH78oE7a&-pF5hXJ$32bNCcg^6}wsij>ijKK3h;t3$db2ioM$p4qYA4Jq zwv=cp%njCK`Z;&x7@ZORYt7><418iE{V6uNz|0aGUE5~yYxelf5RIqKtZU36_~rI} l;6bTWf}7`SCxI^k1^^I_+Ei6lt8f4S002ovPDHLkV1nL9)5`z= literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/nw.png b/源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/nw.png new file mode 100644 index 0000000000000000000000000000000000000000..a210191cddb89e0d85e75a41bdb8167afe366898 GIT binary patch literal 435 zcmV;k0ZjghP)|KgP_-XnC_nr2jSl0_2UJ(sdekTeKQWnqt&h-KfgUu z-BJC5*$5t71#SL0|C&*`!l1&QnF(pSQ2Vi@QDBhz#CSSrMvRRu#u zY$i}t!rDn};D3`)nz#y9l_s+>gRa&|*u}OsYn!dPunf6jiK`jY*z?7#No;h4<%S7# zH_Pbm=EU`=kTo=m1{;R1Fl!nc35_oUMeKSr=y%(7&E#Gr*){b3m~7a>*)pz2cPxsc d!iR4G1^^vCtIC!(C7u8P002ovPDHLkV1g}(zn}mB literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/s.png b/源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/s.png new file mode 100644 index 0000000000000000000000000000000000000000..67fcd94e4f518b16eb603e64c01207d308927660 GIT binary patch literal 771 zcmeAS@N?(olHy`uVBq!ia0y~y;NAgb3vsXk$K64!{5;QX|b^2DN42FH~A zq*MjZ+{E~)x$EtB*nx*3pr?qjOopjbd%AH`NZndR zX|bFIXH`C*tQMNRYOdO~p0{3kosU1xFb5hB0|7TntmeBk{{LLc(bcUt&84V0B6YP# z#G1{aDW+jJSaxQRJw;%S2huC_-pRk0Yk9cqhHk~1S^YgSlZbpo0(*}y}gd7=VBdauFusOdYe9^%>Itsn#!W;pQU%tpQBzEWkjJE~&r zVsMFupfkHSov?XOCk9HSFp$;l6YmD&0O(K5jQBauE@Ts=MPr9LIIM<_W?;@~zm-^Sl9PSq5PkmWT6hQdj;^;0aEW z1Q=rwMG;)sWgIN#D+Ne8U<3Aje}{yt<9R=;fJ@Gb8um^Rr$6cqBr)!i7colyRiqJ2 zqo%B?Ztk~Wd?hF`luGMpQd}^j(w=GNwqOdFG_1yT2{0*OvM{%1R>i?@c5DKJg{{*z zTGpX`(>ky%nM`e?CCNCi0RIGNz3t{N|9Kt)3;@e})N1JDioO5<002ovPDHLkV1gR@-Jvw;FpSHB$pS$BwYYnsc7y&?3 zs#lLlHX3Y$-7O5mq3`?9hJbHqX0KaSaZQp0lv0&Svr@PhtfU^<{SZY_nPnLi#mk6; zZP4g+K3?)?zK`P=(lmwI1WC=UL?f9)y1Qr(Tk=2t-t;nQZHs3pC zNpe7IuZS5m1{7A((X7uS=Fap*G9VII^_c&_HVBr1w%)L5a}%dX?JbP1w7D!w`b+y7 zhRm#^WsK61GBRe`l{Pqr=I7o8bB*g5nc4m~-U18&8vTMjsMe5Q00000NkvXXu0mjf DC_9+N literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/w.png b/源码/src/main/webapp/resource/js/artDialog/skins/green/ie6/w.png new file mode 100644 index 0000000000000000000000000000000000000000..433782670aa67bdeccaba988d83436a44607d969 GIT binary patch literal 762 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 beEjbKbeGjzdw;y000000NkvXXu0mjfR-i;) literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/icons/loading.gif b/源码/src/main/webapp/resource/js/artDialog/skins/icons/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..e8c289293b11c889703d83dce6631fce90da4630 GIT binary patch literal 381 zcmZ?wbhEHb6krfwSj5I~=*GvEjZcb~Jveda^Z5r~o`3lD|Nnmm1_s6d+T_)p@)n z{^qIIq1(T$e$~zMQ}6t1w^a|Cj;Amo3}FHq!p^`7G=x7ROJIXqM}S9S9}m;(SWbi* zHiVjpkZW$u7K%QH zEX1o>upcGzN%{sb~*GHAKbO_6J2kk@m+XO+%o8 z$|^ue1*EoXOS_~^n>BHoG>bqW;D^2JP$cUwv?gR^qO1q0kJe0s=fAYZ}O73MO9$!%c%=q7Tc&!iq>f2uQ zTmgb&`AyJi zF{^oVUy}eczRhmdo&DpFTXA-lM>@~*;cyt^}zSB9U(}~TWs>Q>%H$xY>tdheW0qo6Rs740GNmrJUF4bTAr?Dw%q>3*YN( zz}Uq>H8S}^ID|*IgkNq1c712N2g9+2#?xl?a98l9_IlOhWMH8UI+v@A3=tuc>+7m; zYoh~xzrWzMgh#kqqQDpNzKiAlx16=M1)G*+VqyY!v{b7GQO=WrbJa*pp>I5d>1blX z?068<}<1KsT7UrHg+)w0G4X^|pDUZ;8Ia)f!A zqd!i~>6bpZfV(Y%V$?s4&(+x>a0`DQh$YpHUrY$U90FERQFCKa`7k^` zLX>T@EcV&vwzW#aj<%)+o~G0}J`zAx)vBTdRD5Pf$z?QsjS@yRJ6CB>BoZRd_x=kz z8+hEaX$>4U%RBkqkA>X^@u zXWu=KJ38CvRi;9c!HbME3rT9-inak2`xi>2EVUV0&fqG zMwdi@4CR^8Q5O10BE?FoIHxCAgS+j@A&dZL2jKrrqw-g*p3PzJ%c+MB0!-FM7fX(88=&bZt-%v#RQ!>_J z2{<&HWL{4)qpxa!881q5(axJMgiH8jM>)@h_8&d&zsK8b*AxXBB`gL3zurE-_OttU zyfZL^)2uf%H#ckYKEqY<%NnN{`@_>gaev>rfaX0wnbW{#{w7bgs?D`-)VizSFq_mW zr9}vja0!1o?#T8Z`KO=FH7RX3+3ZE*GTn`l(zsnwQNd;*LDTOEhw!v`UlRf5h2B^~ z`o-&SUSu9Dp2M_p74}M`Bz0KJDt%6}5u?}*&(%I6gK!9saF_eB$}=rq`@=iB8jJ3S z;i18+_q%z^wtMR!I6Z1K7R&p8ygh;ozR2&G@sF(7gRS~n%Y!?+*T7^foDy_;=NkQj z8E_yhib3&M&JP)Xc>?0#_kk8W63xoK->4IFmEk_`{DG2sX+mFNB)ItfL7e&(gk2auC^ zD?xzE+x%SBeMcV=^tz|KO?I@db)d1q3Zr51Y9l5kj9iMMe=rQ+#R#NS`mvbjcUMpm<*7dUQasiT9P6CSoqXgq~*W#99Y}t+Me^IXgr~W#D|91la a5nuo<3%E3d`rqXM0000R) zAv}`|5=elIWa~PVfiebCx2jvUuAR1OW%R*dX}fjPCfZd~E71C&snnuY(;lEsT`4VL zN()O^RX|IjP(o)Qkc1Eu=jHhA+{ey;X9p)S^u~7j(D=*TvZeTS?*H>)Jm zpf|&8${v5f;~hXC=t2Kr=MepSknHbdZ$9wDJ>g`*xn!~sdB0Ju(mXZSUWNI^H7F`r z0#V%$L3AT53|v#F&W2iLg-XapckhR|&~+RayW8nG{$W~yr$2Q8MEpneXVb!x+Nzr6 z5nOUV2{u2&VR$K90h+8#pJqCHaf|5f;$f6-gPPMqvc86*ViR(8+pzDz^9Y8#<+KtVsaSzcD=If&h<_<% zvBx5_)tk{8cLl(xuk~}}dVR#HT=@26C*I6yL`?CuB6UsF4hVwFybEi%C zdi5?;m){GE#R7k*4|)S9-)A@skKr=>WLIEQRYg5ULhq)8{MB9_J&ruAt=WyT`Ride zo1xR`5DX7PtK-I>V|WZ#$ttLB;QdUB{X5e$9grkGY4XE^0y;aG=byp+Ik&)QG(xM@ z%J&2z1XT#P2X%hR=8;Dxf|m$3z<|>3$2{7sjw`(H1OOc*hj-Y*>tT1OpSZA;V?(j7OpZ z7HJFvNt3^Pk;2bchc8!bmBVH-c@@RZf;k(}-#0Z(BlwFF7N9eXDk8~BNxX96^N8p< zZ^BoWZKw9yDsR|W@@%+<&!VIA&nPIG+Sy0&6Bc0NIp-&mcTrAnYYwBeIRsIhc<*>y z2+JvS3T;cLkQXHp$3A=kufFj$WaJ32&7LYCf^SMVjozqmv5k4*>=>>%=3!0s%UEo` zOOEw%VSNH}GnS!p@!c>O3{b1p*X9)k96Zv9ZdWtDwRQ_^_Q169m7K`Dlo>KLlb&E+ z?(3oc#bHKi@efdc>wPe$XP_Xr0()EbqrmQ$bNZPRJl5Ae0*g6Ij{9-pVK4R{{wX-^ zD89609$eJb3IShS0+Gz*O;o`7kYBe_W4X4u1YW|wS_Ihh>d~UD(F0kgS ztoR-@)V_ogdyU)%u<&3cnSiAW?m~Z0CLAA0s4CqIy?wi5a87u7RUx4_Z(B9KK+eTuH}^5v@W_);uh!jXbre!eX3=OltY5ztIk~g&$Nlwa?|22#cAVvN zwi2r=8&O;NOY*)!zQ*o<-1!#XIr<3l?L3BqEy_|e;a+vhuUy_v_&h*;$eyxg+#Naj ze9Y;|2y5CZNP!A`>^M$G!ns&m`xNyp7TVw<#W^pNW-G$N$LTslV!wgv>J{M3?P+K@fd%2zXSlpn63WDH_IW|M)(0q`g?w89dHW{_1l=ecVFawX&xNXW=$1?&c)Lfc`O+7s6m4ukz1`~T6$9~|Am_{La-|I7&BBIMN(Q!TF0 zq&3`b_-49^yN&k6Mw3N?PEV()G{|onSo<9gkx^^!9pzZO@AG@5*WcP3IN&(VhgkAq z^)X^%#1tz~Dj@28b&LQ_%x8H;teGm!hCB63jAkxBP0!_$06hr^(&4Ay=aKr}{7dk( zdq|8Dl_nAAV?IkWB_O&2su=QI9Ge_+(xlH(6Jtz>xu$ppl>SB*J6Y6AT*Pbf2rHd0 z`d5r25~&n$Jzyk2K6Wl{I%HE)2R?7(<}dX(1^mAY_^$v10LBKHW-?BaasU7T07*qo IM6N<$f(?W*YXATM literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/icons/warning.png b/源码/src/main/webapp/resource/js/artDialog/skins/icons/warning.png new file mode 100644 index 0000000000000000000000000000000000000000..bcaab1e5ef8d262e5ff224e33df6374381078df2 GIT binary patch literal 1728 zcmV;x20!_UP)VJh2#!sN0-8udqJId1s2D;52}GTupav2H{3ZMY5kV5CMu;X#@FUJ(OqQ7V4H5$5 zV>&*@mpED1Ze7=1dw0F-ozL5KqpV$b*LE0^y~&eaFW2|?`#oRp`(8>ZiUN1?py3W5 z69Og#lsNRIPSE@jGxAmgnip+K*1hX!VYHJYA71tX_x}pOVMJSk_6*u$r+b>)XmWtX z>KlF_5f4F9=!a;eBZ6OBh;FpQOINleO9iJ&X`|@{Y<%x%{X9e0k1MMN;Qhqpp_A}_b_7h2~CKR&&wg^D-+Zn5G%e=?7ft`s$Ds~vX z-K!l~UkN(<5{Pk5IR4w)z{Nv5P{h`86@cXTczm-qJiOplpxJ|bSe3AOD-5gW%v0FuXCe`Hg`yyrpg+n+a8TF-{y;+4Kp=eV!N0n_hwfx~XfO)b}2 zIC=aK*2b}2C}MM21(0I3J8O0>czhi|>{9?GmG`+r-(G+P%g%sKm%F?WoX(CffsXBi zxph@}nCJlPtKrD6A44p9O?7e8D#*_;8Y_0ro8O4!KOdDm8ImM}yRr)WRa0`z>k9y5 zbwDaLio?jfI6uK5cm%gxD{*7(tQBAszD5vX%!kcpGgz(G9Ag*;^z;~TI6uK5cm%g( z0qBK=){05%13po8r=ciH)BPL`h(quQF2OG~0*$pZmjZA{Z|?>N@zS^|qCgk$z8iCK zrOzHNnD^r{5Rc#ze8QvH2t4Vlt^+FBrhZdo)PcZ{-bMw!7fdFdx>Q75f=_r9D`2t5 zgPTf4R4u^5=pi2KgnX@;+~eXwu$Wcu9}zc=k35PMP-`)=nj+62xdhuassJGo2D3^1 z1~`LXTeJYHiPt26L?FT5$SXih#)0R0u+6F$kijonfQ?onnj^rm!Mp+lz8?fGthxr$ zvi?LIT)SO4cO6Y}Nsfd7e)IiGV0X!DLh) zfeb!dtbj`ip3)`&y(?gzi^*I}f$N28zYQo2Q)cil6)T{f<&7Ez=+XitkKX{_a;j7r`a?ghwgwg_=69u`B!@ zMpYEpxCmxz0O}VV0JEiXIE6?J^afku;<4xOSm{*deZ)=Um$aQm^}oauY*S}2uJV97 zxbL@EOyG9A!R2xd8>tVPR+owdkKhvga-7JTE?(^iPLMS0N=>-pn$o8;V&qz{H-MV= z2Ly-Usqwxl0qBJ`Q54=f`DYkXvNBcxNCKqS0ZEJx+u(N&5Br59K;|bn1drgB`?bnD zevj>qx*6Vr^>FSodhp5saEa(G_r1P*VCv);+#Rrwn)j#M!&toRZY2L^SzoIR72`J_ zn)kS!%!c}zelY0s2ahsTgT8V-P`X=*%E_xBg?H!ujfmZ=^{;M-M7h1oU*tCq6@J+T zWJGMYFvcx)4|u^*p>1KxH~I$zIDIY*2`;$<$#2bGy~{0NSjAWGo7d4aycDRi)laK& zr?=6X&+WW~tulfghi#Q*_~6->dGc~sxygTg1W=j6CtFJ0!S~FsTNrA)uhIh5UK@B^ z40ap3;6jJn6X*)F5b8|;n^3l`+Q7d{>NjI@##Ad%D`3d`x-0?2?ev4wY37yHhNql% zYMI$YJ#Duc(_0FYQ4c!o`=ql7NeL|lF*XUjpnMmNDb4#n5nI|jWG;)ily$9)mw=%N z&{;x;B127{MCo5!W0+lGqpFPt@FRZ)`EyATx(8ULYtI3(?cbmxWl}}S^0=HKuZ&j& zZf*5hq(|ISebyTBDQ8`4s)2O1k7b1hcBOoR#}xV?(FfO00RI9 W$}^uo6_vmM0000 literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/idialog.css b/源码/src/main/webapp/resource/js/artDialog/skins/idialog.css new file mode 100644 index 0000000..23c6d87 --- /dev/null +++ b/源码/src/main/webapp/resource/js/artDialog/skins/idialog.css @@ -0,0 +1,71 @@ +@charset "utf-8"; +/* + * artDialog skin + * http://code.google.com/p/artdialog/ + * (c) 2009-2011 TangBin, http://www.planeArt.cn + * + * This is licensed under the GNU LGPL, version 2.1 or later. + * For details, see: http://creativecommons.org/licenses/LGPL/2.1/ + */ + +/* common start */ +body { _margin:0; _height:100%; /*IE6 BUG*/ } +.aui_outer { text-align:left; } +table.aui_border, table.aui_dialog { border:0; margin:0; border-collapse:collapse; width:auto; } +.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_c, .aui_e, .aui_sw, .aui_s, .aui_se, .aui_header, .aui_tdIcon, .aui_main, .aui_footer { padding:0; } +.aui_header, .aui_buttons button { font: 12px/1.11 'Microsoft Yahei', Tahoma, Arial, Helvetica, STHeiti; _font-family:Tahoma,Arial,Helvetica,STHeiti; -o-font-family: Tahoma, Arial; } +.aui_title { overflow:hidden; text-overflow: ellipsis; } +.aui_state_noTitle .aui_title { display:none; } +.aui_close { display:block; position:absolute; text-decoration:none; outline:none; _cursor:pointer; } +.aui_close:hover { text-decoration:none; } +.aui_main { text-align:center; min-width:9em; min-width:0\9/*IE8 BUG*/; } +.aui_content { display:inline-block; *zoom:1; *display:inline; text-align:left; border:none 0; } +.aui_content.aui_state_full { display:block; width:100%; margin:0; padding:0!important; height:100%; } +.aui_loading { width:96px; height:32px; text-align:left; text-indent:-999em; overflow:hidden; background:url(icons/loading.gif) no-repeat center center; } +.aui_icon { vertical-align: middle; } +.aui_icon div { width:48px; height:48px; margin:10px 0 10px 10px; background-position: center center; background-repeat:no-repeat; } +.aui_buttons { padding:8px; text-align:right; white-space:nowrap; } +.aui_buttons button { margin-left:15px; padding: 6px 8px; cursor: pointer; display: inline-block; text-align: center; line-height: 1; *padding:4px 10px; *height:2em; letter-spacing:2px; font-family: Tahoma, Arial/9!important; width:auto; overflow:visible; *width:1; color: #333; border: solid 1px #999; border-radius: 5px; background: #DDD; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#DDDDDD'); background: linear-gradient(top, #FFF, #DDD); background: -moz-linear-gradient(top, #FFF, #DDD); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FFF), to(#DDD)); text-shadow: 0px 1px 1px rgba(255, 255, 255, 1); box-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0 -1px 0 rgba(0, 0, 0, .09); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: box-shadow linear .2s; } +.aui_buttons button::-moz-focus-inner{ border:0; padding:0; margin:0; } +.aui_buttons button:focus { outline:none 0; border-color:#426DC9; box-shadow:0 0 8px rgba(66, 109, 201, .9); } +.aui_buttons button:hover { color:#000; border-color:#666; } +.aui_buttons button:active { border-color:#666; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#DDDDDD', endColorstr='#FFFFFF'); background: linear-gradient(top, #DDD, #FFF); background: -moz-linear-gradient(top, #DDD, #FFF); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#DDD), to(#FFF)); box-shadow:inset 0 1px 5px rgba(66, 109, 201, .9), inset 0 1px 1em rgba(0, 0, 0, .3); } +.aui_buttons button[disabled] { cursor:default; color:#666; background:#DDD; border: solid 1px #999; filter:alpha(opacity=50); opacity:.5; box-shadow:none; } +button.aui_state_highlight { color: #FFF; border: solid 1px #1c6a9e; background: #2288cc; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); text-shadow: -1px -1px 1px #1c6a9e; } +button.aui_state_highlight:hover { color:#FFF; border-color:#0F3A56; } +button.aui_state_highlight:active { border-color:#1c6a9e; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); } +/* common end */ + +.aui_inner { background:#FFF; } +.aui_titleBar { width:100%; } +.aui_title { position:absolute; left:0; top:0; width:100%; height:22px; text-align:left; text-indent:-999em; font-size:0; } +.aui_nw, .aui_ne, .aui_sw, .aui_se, .aui_n, .aui_s, .aui_close { background-image:url(idialog/idialog_s.png); background-repeat:no-repeat; } +.aui_nw { width:15px; height:15px; background-position: 0 0; _png:idialog/ie6/aui_nw.png; } +.aui_ne { width:15px; height:15px; background-position: -15px 0; _png:idialog/ie6/aui_ne.png; } +.aui_sw { width:15px; height:15px; background-position: 0 -15px; _png:idialog/ie6/aui_sw.png; } +.aui_se { width:15px; height:15px; background-position: -15px -15px; _png:idialog/ie6/aui_se.png; } +.aui_close { position:absolute; right:-8px; top:-8px; _z-index:1; width:34px; height:34px; _font-size:0; _line-height:0; text-indent:-9999em; background-position:0 -60px; _png:idialog/ie6/aui_close.png; } +.aui_close:hover { background-position:0 -94px; _png:idialog/ie6/aui_close.hover.png; } +.aui_n, .aui_s { background-repeat:repeat-x; } +.aui_n { background-position: 0 -30px; _png:idialog/ie6/aui_n.png; } +.aui_s { background-position: 0 -45px; _png:idialog/ie6/aui_s.png; } +.aui_w, .aui_e { background-image:url(idialog/idialog_s2.png); background-repeat:repeat-y; } +.aui_w { background-position:left top; _png:idialog/ie6/aui_w.png; } +.aui_e { background-position: right bottom; _png:idialog/ie6/aui_e.png; } +@media screen and (min-width:0) {/* css3 */ + .aui_nw, .aui_ne, .aui_sw, .aui_se{ width:5px; height:5px; } + .aui_nw, .aui_n, .aui_ne, .aui_w, .aui_e, .aui_sw, .aui_s, .aui_se { background:none; } + .aui_sw, .aui_s, .aui_se { background:url(idialog/idialog_s.png) repeat-x 0 -45px; } + .aui_sw { border-radius:0 0 0 5px; } + .aui_se { border-radius:0 0 5px 0; } + .aui_outer { border:1px solid #929292; border-radius:5px; box-shadow:0 3px 8px rgba(0, 0, 0, .2); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: -webkit-box-shadow linear .2s; } + .aui_border { border-radius:5px; background:#FFF; } + .aui_state_drag .aui_outer { box-shadow:none; } + .aui_state_lock .aui_outer { box-shadow:0 3px 26px rgba(0, 0, 0, .9); } + .aui_outer:active { box-shadow:0 0 5px rgba(0, 0, 0, .1)!important; } + .aui_state_drag .aui_outer { box-shadow:none!important; } + .aui_close { right:-16px; top:-16px; } +} +@media screen and (-webkit-min-device-pixel-ratio:0) {/* apple | webkit */ + .aui_close { right:auto; left:-16px; top:-16px; } +} diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/idialog/idialog_s.png b/源码/src/main/webapp/resource/js/artDialog/skins/idialog/idialog_s.png new file mode 100644 index 0000000000000000000000000000000000000000..d86d05444726a9f7c03b5aaa268232ee5d298f50 GIT binary patch literal 3811 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 Z1^_pS%;oIQXJ-Ha002ovPDHLkV1kJJP!0e9 literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/idialog/idialog_s2.png b/源码/src/main/webapp/resource/js/artDialog/skins/idialog/idialog_s2.png new file mode 100644 index 0000000000000000000000000000000000000000..7be06ad2b873f7eb13668e0be4919c3d1b69bce7 GIT binary patch literal 184 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 P6EuUTtDnm{r-UW|EA13> literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/idialog/ie6/aui_n.png b/源码/src/main/webapp/resource/js/artDialog/skins/idialog/ie6/aui_n.png new file mode 100644 index 0000000000000000000000000000000000000000..34871bee8169fbeaf2c2b1f4bb0b90b30faa3ef7 GIT binary patch literal 399 zcmeAS@N?(olHy`uVBq!ia0y~y;NAgb^K-BP$&$NGen3jH#5JNMI6tkVJh3R1!7(L2 zDOJHUH!(dmC^a#qvhZZ84FdzCp{I*uNX4x;w;Z`z318Eh30wh_5rUq*yNkNu7j0kRr!UH}8&!J`8*Hj(^ zpJ7cI%boqlkOU57xgV%C2KfmF!m?}s{`<1`{Jh0~SClO`57Iw(X4U?e2rC?Rne8-R z{qM_}naeF7?7DHix7yggsPtbcOh1qg6DHfeu?>t2vPVp;q>mbP0l+XkK DT1#FE literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/idialog/ie6/aui_ne.png b/源码/src/main/webapp/resource/js/artDialog/skins/idialog/ie6/aui_ne.png new file mode 100644 index 0000000000000000000000000000000000000000..364494430c18d80167898bb4affe6e267aef0777 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^{2XzJIY-=nJRcP4ju_IJa(_TzVuwIz=rmnrcNXO{|IXo+XyVR-wZ>!-%Pb!k9% OGkCiCxvX;FVIT+bNavmwh&Ful3sdtMXsYx{uG}19K#JX9|lasrk{2_APeI%Ff=@SRAa}zgBc-m zA;#yj$^$-xfJ3oi-{J;qgaE_YqxYYyzkI*%TkY##*KW+(8U3nn*5YH|&oIK(IJ|%K zVCUjv+pooJHf4|bzjK}Tx3`}sv9JdlN4HtY0zrEt10}UDJQx@wQ#D z?7Xv#*Uy@VX+3SelV92)nc=Cj-@o?5t~$Ovji=7S%M>pl`SSKjsdUQ~3#XL#u2_iB z^5E!6x$gxW&YI0}EC|sBTU8(YduE6bV7PEgsDQs8;eUpPYjvy=4A(ua!s8s8K+(FVdQ&MBb@04xryUH||9 literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/idialog/ie6/aui_se.png b/源码/src/main/webapp/resource/js/artDialog/skins/idialog/ie6/aui_se.png new file mode 100644 index 0000000000000000000000000000000000000000..32247e842b6007c20a42f3c88deec1d8e6a7dd15 GIT binary patch literal 301 zcmV+|0n+}7P) zK>6O|(StH88TN(6)wN0{XFY&C1+NqwraC4eyi}D-N;xXQ3so5bM&l5kt0V%M;|R}G z5;td8g>VP=$b~sg!A<2y$kq@x|2%>c{1jjSh!2~KR2WX$00000NkvXXu0mjfnv{0a literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/idialog/ie6/aui_sw.png b/源码/src/main/webapp/resource/js/artDialog/skins/idialog/ie6/aui_sw.png new file mode 100644 index 0000000000000000000000000000000000000000..478f609fdbce88ccb77a21e233c7a524407b0213 GIT binary patch literal 295 zcmV+?0oeYDP)(RCwBykUN}vKYXaWzSlXLDy>NHe7 zA2Y)APuPpK8(bN#ZQ~TtId<>fVzw8mcpzAji|Fc7v|gqZ;D}3-BWNWtS68n&V_RVDWXz1 tCD1Y|g{44Ces)d?zV4QUv%;4E0{}P%Uh`p*BToPT002ovPDHLkV1l%=c-8;_ literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/idialog/ie6/aui_w.png b/源码/src/main/webapp/resource/js/artDialog/skins/idialog/ie6/aui_w.png new file mode 100644 index 0000000000000000000000000000000000000000..c4df489daeb53b11a02e97d40e89eea27f3da639 GIT binary patch literal 767 zcmeAS@N?(olHy`uVBq!ia0vp^{0t1-J2=>YEIYYJwLnU;#5JNMI6tkVJh3R1!7(L2 zDOJHUH!(dmC^a#qvhZZ84FdzyLQfaRkcwMxE_-twa^PXO;Cc0R#s96(g_3p)9GM!H z*;C8BaJJp2nLa7ccFYfUIWu2%nI&Jb%=8_7h4cRJ?pbc!%g@JixIkED_T!34Hj$O}en5swu4|FMWM zP|Y&*)JBRWBwL0Yw8$2bl8~5)%qxu83`XKJl5H8T1cL4e^f;ty0wENnR8Jr!QMv2|ndbmCe-p@OyPv;&Z+-sqeQj-Z z*(^3TmX|=WpH#4j{nxKQ;#Y4z76+Pt4`dG`u%?D3lvp5k=j32xVPAL@Dd`28%VqHr@!q5kq52T-fe75DmqgNt8+5w2=s9g4f%yWR6zX{~C-OpdXw?2RQzP7fy zY!(|E%S)ixPbyf%{_EEt@vAoYEIYYJwLnU;#5JNMI6tkVJh3R1!7(L2 zDOJHUH!(dmC^a#qvhZZ84FdzyAx{^_kcwMxt{Dm)3=maZ?LywtW-H#g$&65hiGJfmocguoqhzQ%)6YPp%- z(YGFR>#!_KJf{PU(=~j2s)0g{mYWZ-TzkuSDa`-Iyu`09i4t~Z0+T9g}tqN-}Y;x$38#neO3tu@x{Tp7klhwfJvUg)78&qol`;+ E06#Y)PXGV_ literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/opera/ie6/aui_n.png b/源码/src/main/webapp/resource/js/artDialog/skins/opera/ie6/aui_n.png new file mode 100644 index 0000000000000000000000000000000000000000..840358d9d7c5d31dfe42e2bae268379d8790f175 GIT binary patch literal 2369 zcmYLKdpy$%8~=@^8I4J0g-x?^J92i?1-Z*OlFJy5*t|wgxlfaN$I2S%jA1UvCD%$T ziyXO?l`a~mmcvArOR+_6qg==9{o{Ok{&>F6_jx|w&-2godA{i$?#?@)d!YaT>~O(3 zdI5k+(^jnqQQFEbmnI-vfS@?}QM{wWC{$7$8L$hD4k4plB1z$7FET0gV(e?O6#zg! zxj5S469>PF?V|LZ)VB$1^_n-&5Ic05pc#nWxQ8{NirM5-eK*dvJfwv_IjENoh z@Bctv5?xB(+VOAj#n#6a{v}(ek;vEiK~o^p{gG=ge*Vz`VjfLDve{VwZ{B7;HTm-D z?AuH#vRxjodk|^kZoMH2zWK#wZfTWjJ#*D&X?aBQLphQh{`TWWr=;=e&9#ro{R6|6 zGPZ=V_WD)yW>WG}?B+`w!kUVtYdH8smFf=_e|j+Z=4LGPUSvGjd#=)=LU9nb$_dm1 z_jT!k6Oyt6BgkjTFr98l19x%&t~&tYX8|#GM{TlQL2)%k_$ z7Kr1wqk8+lgw@Bt0%9jG7_hi?hCcWc+DRoPqVutYhJUhi=(WM8u)ifT!~k1o=W{p? zbow+i&;>?JA!^L^&UO0u9m?Up8?5}5?mye>62LPRRqjJ&Km0CtP?!wFhDxp_oi|01 z?;4;EwD@OUJ{EUCN`M}>KozYy`&O^JezvDlm0$1uR)1BqKw>(JvwM@@{L9VqgZ|WS z#@**vVkTsINRKlM`yMRno8}4bsbw&U&9a|}!=@Npizr;$cG|Q0N?p%|j+mN<`RUBo ziZG>s9#5+_Czy;>wohUuXX#nW=oGv%{W>Hq-l?wanbq)Tht{zwZ9?)z?Rzwz-tLp< z#NH~`8XGD1|5Nj6S-Px*E4e@()d_+->%LU9k@}uIGLrP>PLZWZ?6g;O!15Q>J?+Z> z+@nt5BM7YRJ5)q0=H=Yc{J*sS2;mPHiYDZ=R&(|b?Q4bZOi>+?d4u-yyTL1(hg34r2Hvn0zN<0v<@Pbp&A1BGDyQ}{B(8QOH31V% zFBN64D^Yizv4(L+BhI~pt8pJB#*BxO%RCNwoBRz+QSpLsSN|^ldj?I z>~66bc-O6|A3@VXMobGb{%`@+Dfc6!t(W~O0^b^Hs4dxvp$zTznbq=5EZl6$zr>jm zj<8Y{wHbxnW*A+ywT7BwUSKhR9GW<3+MU4~q6SU5WkyYEeLD&MwxDMbpmDeQAVPYU ztgX$B?-TIT_=QDq$2slBuxkOBh*s|<4y(^?>&x&>zjk`UOP@_)dO(1d6nbTi`57Rd z)Iy=aGsyK~QR~gtdB&6F<)$_g!pgHo_L1?P0pjN0N}U7L&HkPS-CCIhvFTX3t8GO~ zb{xPt5`F^M&Mh&@ zcN#i{PtB+3Px%xgMrA<}f3}+ZY2uZVdd&BA%|~8K2qQsXE?AC{3Pz`jRdPOBQIWmf zhg0==PJ9D!>z@YJjI`ST|Q3cPA5`Au<^_pqkQd|9`Q5g0q(+1IgW6^ed#!ys3i zHygk+OSoIirB##YmPmYm(o+1k-2{Vdol%h6r8`eE@BxUt0AX!+Jk}nCk`kl@0Ivm~ z0IdG|SV8yzxKq3Gc!kua6`e6w<)z?tP&aOuxwYdfTV~Y?$q}Xd(iwlE)*Mr~$&=Mtam8#%wEhtzITGWu$NbjO69HEAi)-%`n*w;!FqTHpdeq%XxZ8(zaMI zrdFcHYZ%G~n5DT2eYh^xiYGaR@-UvMV)Jt8Ja^zP`kK(F14$ejxwN$il6D0`k28~xgXjHPP-C$Uc1QLsS`4tWstSM7z4q9lzc$cT z$kR;CJoluF%>nh9y(O^XH&-uh_LfYX+e!mV)*;t%u7FcU3BiWKtEGM z6U(k5Vk4HYQ#qy=Xuh}ci3V&V+KjLyNpr!<1Q`aNsHake&zd9@}4t(A!K2{wwC44 zQ*wpH7e#wobfBv0fZ1CRe;ojtB0cMa#e6E{3^q##xRC^m+zN7{}3=8yhAaB*^XthFaz`5*1OMDG9q literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/opera/ie6/aui_ne.png b/源码/src/main/webapp/resource/js/artDialog/skins/opera/ie6/aui_ne.png new file mode 100644 index 0000000000000000000000000000000000000000..fa30a505d8574da6e1864a26da13a47e5fc86d8d GIT binary patch literal 700 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 X1QF>z?N{4@#xr=j`njxgN@xNAEqOlS literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/simple.css b/源码/src/main/webapp/resource/js/artDialog/skins/simple.css new file mode 100644 index 0000000..690b16c --- /dev/null +++ b/源码/src/main/webapp/resource/js/artDialog/skins/simple.css @@ -0,0 +1,55 @@ +@charset "utf-8"; +/* + * artDialog skin + * http://code.google.com/p/artdialog/ + * (c) 2009-2011 TangBin, http://www.planeArt.cn + * + * This is licensed under the GNU LGPL, version 2.1 or later. + * For details, see: http://creativecommons.org/licenses/LGPL/2.1/ + */ + +/* common start */ +body { _margin:0; _height:100%; /*IE6 BUG*/ } +.aui_outer { text-align:left; } +table.aui_border, table.aui_dialog { border:0; margin:0; border-collapse:collapse; width:auto; } +.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_c, .aui_e, .aui_sw, .aui_s, .aui_se, .aui_header, .aui_tdIcon, .aui_main, .aui_footer { padding:0; } +.aui_header, .aui_buttons button { font: 12px/1.11 'Microsoft Yahei', Tahoma, Arial, Helvetica, STHeiti; _font-family:Tahoma,Arial,Helvetica,STHeiti; -o-font-family: Tahoma, Arial; } +.aui_title { overflow:hidden; text-overflow: ellipsis; } +.aui_state_noTitle .aui_title { display:none; } +.aui_close { display:block; position:absolute; text-decoration:none; outline:none; _cursor:pointer; } +.aui_close:hover { text-decoration:none; } +.aui_main { text-align:center; min-width:9em; min-width:0\9/*IE8 BUG*/; } +.aui_content { display:inline-block; *zoom:1; *display:inline; text-align:left; border:none 0; } +.aui_content.aui_state_full { display:block; width:100%; margin:0; padding:0!important; height:100%; } +.aui_loading { width:96px; height:32px; text-align:left; text-indent:-999em; overflow:hidden; background:url(icons/loading.gif) no-repeat center center; } +.aui_icon { vertical-align: middle; } +.aui_icon div { width:48px; height:48px; margin:10px 0 10px 10px; background-position: center center; background-repeat:no-repeat; } +.aui_buttons { padding:8px; text-align:right; white-space:nowrap; } +.aui_buttons button { margin-left:15px; padding: 6px 8px; cursor: pointer; display: inline-block; text-align: center; line-height: 1; *padding:4px 10px; *height:2em; letter-spacing:2px; font-family: Tahoma, Arial/9!important; width:auto; overflow:visible; *width:1; color: #333; border: solid 1px #999; border-radius: 5px; background: #DDD; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#DDDDDD'); background: linear-gradient(top, #FFF, #DDD); background: -moz-linear-gradient(top, #FFF, #DDD); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FFF), to(#DDD)); text-shadow: 0px 1px 1px rgba(255, 255, 255, 1); box-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0 -1px 0 rgba(0, 0, 0, .09); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: box-shadow linear .2s; } +.aui_buttons button::-moz-focus-inner{ border:0; padding:0; margin:0; } +.aui_buttons button:focus { outline:none 0; border-color:#426DC9; box-shadow:0 0 8px rgba(66, 109, 201, .9); } +.aui_buttons button:hover { color:#000; border-color:#666; } +.aui_buttons button:active { border-color:#666; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#DDDDDD', endColorstr='#FFFFFF'); background: linear-gradient(top, #DDD, #FFF); background: -moz-linear-gradient(top, #DDD, #FFF); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#DDD), to(#FFF)); box-shadow:inset 0 1px 5px rgba(66, 109, 201, .9), inset 0 1px 1em rgba(0, 0, 0, .3); } +.aui_buttons button[disabled] { cursor:default; color:#666; background:#DDD; border: solid 1px #999; filter:alpha(opacity=50); opacity:.5; box-shadow:none; } +button.aui_state_highlight { color: #FFF; border: solid 1px #1c6a9e; background: #2288cc; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); text-shadow: -1px -1px 1px #1c6a9e; } +button.aui_state_highlight:hover { color:#FFF; border-color:#0F3A56; } +button.aui_state_highlight:active { border-color:#1c6a9e; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); } +/* common end */ + +.aui_inner { background:#FFF; border:1px solid #666; } +.aui_nw, .aui_ne, .aui_sw, .aui_se { width:3px; height:3px; } +.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_e, .aui_sw, .aui_s, .aui_se { background:rgba(0, 0, 0, .05); background:#000\9!important; filter:alpha(opacity=5); } +.aui_titleBar { position:relative; height:100%; } +.aui_title { position:absolute; top:0; left:0; width:100%; height:24px; text-indent:-9999em; overflow:hidden; font-size:0; } +.aui_state_drag .aui_title { color:#666; } +.aui_close { padding:0; top:0; right:0; width:18px; height:18px; line-height:18px; text-align:center; font-family: Helvetica, STHeiti; _font-family: '\u9ed1\u4f53', 'Book Antiqua', Palatino; font-size:18px; text-decoration:none; color:#214FA3; } +.aui_close:hover, .aui_close:active { text-decoration:none; color:#900; } +.aui_content { color:#666; } +.aui_state_focus .aui_content { color:#000; } +@media screen and (min-width:0) { + .aui_close { width:20px; height:20px; line-height:20px; right:-10px; top:-10px; border-radius:20px; background:#999; color:#FFF; box-shadow:0 1px 3px rgba(0, 0, 0, .3); -moz-transition: linear .06s; -webkit-transition: linear .06s; transition: linear .06s; } + .aui_close:hover { width:24px; height:24px; line-height:24px; right:-12px; top:-12px; color:#FFF; box-shadow:0 1px 3px rgba(209, 40, 42, .5); background:#d1282a; border-radius:24px; } + .aui_state_lock .aui_dialog { box-shadow:0 3px 26px rgba(0, 0, 0, .9); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: -webkit-box-shadow linear .2s; } + .aui_dialog:active { box-shadow:0 0 5px rgba(0, 0, 0, .1)!important; } + .aui_state_drag .aui_outer { box-shadow:none!important; } +} diff --git a/源码/src/main/webapp/resource/js/artDialog/skins/twitter.css b/源码/src/main/webapp/resource/js/artDialog/skins/twitter.css new file mode 100644 index 0000000..aeeaf8e --- /dev/null +++ b/源码/src/main/webapp/resource/js/artDialog/skins/twitter.css @@ -0,0 +1,59 @@ +@charset "utf-8"; +/* + * artDialog skin + * http://code.google.com/p/artdialog/ + * (c) 2009-2011 TangBin, http://www.planeArt.cn + * + * This is licensed under the GNU LGPL, version 2.1 or later. + * For details, see: http://creativecommons.org/licenses/LGPL/2.1/ + */ + +/* common start */ +body { _margin:0; _height:100%; /*IE6 BUG*/ } +.aui_outer { text-align:left; } +table.aui_border, table.aui_dialog { border:0; margin:0; border-collapse:collapse; width:auto; } +.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_c, .aui_e, .aui_sw, .aui_s, .aui_se, .aui_header, .aui_tdIcon, .aui_main, .aui_footer { padding:0; } +.aui_header, .aui_buttons button { font: 12px/1.11 'Microsoft Yahei', Tahoma, Arial, Helvetica, STHeiti; _font-family:Tahoma,Arial,Helvetica,STHeiti; -o-font-family: Tahoma, Arial; } +.aui_title { overflow:hidden; text-overflow: ellipsis; } +.aui_state_noTitle .aui_title { display:none; } +.aui_close { display:block; position:absolute; text-decoration:none; outline:none; _cursor:pointer; } +.aui_close:hover { text-decoration:none; } +.aui_main { text-align:center; min-width:9em; min-width:0\9/*IE8 BUG*/; } +.aui_content { display:inline-block; *zoom:1; *display:inline; text-align:left; border:none 0; } +.aui_content.aui_state_full { display:block; width:100%; margin:0; padding:0!important; height:100%; } +.aui_loading { width:96px; height:32px; text-align:left; text-indent:-999em; overflow:hidden; background:url(icons/loading.gif) no-repeat center center; } +.aui_icon { vertical-align: middle; } +.aui_icon div { width:48px; height:48px; margin:10px 0 10px 10px; background-position: center center; background-repeat:no-repeat; } +.aui_buttons { padding:8px; text-align:right; white-space:nowrap; } +.aui_buttons button { margin-left:15px; padding: 6px 8px; cursor: pointer; display: inline-block; text-align: center; line-height: 1; *padding:4px 10px; *height:2em; letter-spacing:2px; font-family: Tahoma, Arial/9!important; width:auto; overflow:visible; *width:1; color: #333; border: solid 1px #999; border-radius: 5px; background: #DDD; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#DDDDDD'); background: linear-gradient(top, #FFF, #DDD); background: -moz-linear-gradient(top, #FFF, #DDD); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FFF), to(#DDD)); text-shadow: 0px 1px 1px rgba(255, 255, 255, 1); box-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0 -1px 0 rgba(0, 0, 0, .09); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: box-shadow linear .2s; } +.aui_buttons button::-moz-focus-inner{ border:0; padding:0; margin:0; } +.aui_buttons button:focus { outline:none 0; border-color:#426DC9; box-shadow:0 0 8px rgba(66, 109, 201, .9); } +.aui_buttons button:hover { color:#000; border-color:#666; } +.aui_buttons button:active { border-color:#666; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#DDDDDD', endColorstr='#FFFFFF'); background: linear-gradient(top, #DDD, #FFF); background: -moz-linear-gradient(top, #DDD, #FFF); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#DDD), to(#FFF)); box-shadow:inset 0 1px 5px rgba(66, 109, 201, .9), inset 0 1px 1em rgba(0, 0, 0, .3); } +.aui_buttons button[disabled] { cursor:default; color:#666; background:#DDD; border: solid 1px #999; filter:alpha(opacity=50); opacity:.5; box-shadow:none; } +button.aui_state_highlight { color: #FFF; border: solid 1px #1c6a9e; background: #2288cc; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); text-shadow: -1px -1px 1px #1c6a9e; } +button.aui_state_highlight:hover { color:#FFF; border-color:#0F3A56; } +button.aui_state_highlight:active { border-color:#1c6a9e; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); } +/* common end */ + +.aui_inner { background:rgba(0, 0, 0, .7); } +.aui_dialog { background:#FFF; border-radius:3px; } +.aui_outer { border:1px solid #000; border-radius:5px; box-shadow: 0 3px 0 rgba(0,0,0,0.1); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: -webkit-box-shadow linear .2s; } +.aui_state_lock .aui_outer { box-shadow:0 3px 26px rgba(0, 0, 0, .9); } +.aui_outer:active { box-shadow:none!important; } +.aui_state_drag .aui_outer { box-shadow:none!important; } +.aui_border { border-radius:3px; } +.aui_nw, .aui_ne { width:5px; height:37px; } +.aui_sw, .aui_se { width:5px; height:5px; } +.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_e, .aui_sw, .aui_s, .aui_se { background:rgba(0, 0, 0, .7); background:#000\9!important; filter:alpha(opacity=70); } +.aui_titleBar { width:100%; height:0; position:relative; bottom:33px; _bottom:0; _margin-top:-33px; } +.aui_title { height:27px; line-height:27px; padding:0 16px 0 5px; color:#FFF; font-weight:700; text-shadow:0 1px 0 #000; } +.aui_close { padding:0; top:2px; right:5px; width:21px; height:21px; line-height:21px; font-size:18px; text-align:center; color:#EBEBEB; font-family: Helvetica, STHeiti; _font-family: Tahoma, '\u9ed1\u4f53', 'Book Antiqua', Palatino; border:1px solid transparent; _border:0 none; background:#000; border-radius:15px; } +.aui_state_drag .aui_close { color:#FFF; } +.aui_close:hover { background:#C72015; border:1px solid #000; _border:0 none; box-shadow: 0 1px 0 rgba(255, 255, 255, .3), inset 0 1px 0 rgba(255, 255, 255, .3); } +.aui_close:active { box-shadow: none; } +.aui_state_noTitle { } +.aui_content { color:#666; } +.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_ne { height:5px; } +.aui_state_noTitle .aui_titleBar { bottom:0; _bottom:0; _margin-top:0; } +.aui_state_noTitle .aui_close { top:5px; } diff --git a/源码/src/main/webapp/resource/js/bootstrap.file-input.js b/源码/src/main/webapp/resource/js/bootstrap.file-input.js new file mode 100644 index 0000000..e98f18d --- /dev/null +++ b/源码/src/main/webapp/resource/js/bootstrap.file-input.js @@ -0,0 +1,122 @@ +/* + Bootstrap - File Input + ====================== + + This is meant to convert all file input tags into a set of elements that displays consistently in all browsers. + + Converts all + + into Bootstrap buttons + Browse + +*/ +$(function() { + +$.fn.bootstrapFileInput = function() { + + this.each(function(i,elem){ + + var $elem = $(elem); + + // Maybe some fields don't need to be standardized. + if (typeof $elem.attr('data-bfi-disabled') != 'undefined') { + return; + } + + // Set the word to be displayed on the button + var buttonWord = 'Browse'; + + if (typeof $elem.attr('title') != 'undefined') { + buttonWord = $elem.attr('title'); + } + + // Start by getting the HTML of the input element. + // Thanks for the tip http://stackoverflow.com/a/1299069 + var input = $('
                  ').append( $elem.eq(0).clone() ).html(); + var className = ''; + + if (!!$elem.attr('class')) { + className = ' ' + $elem.attr('class'); + } + + // Now we're going to replace that input field with a Bootstrap button. + // The input will actually still be there, it will just be float above and transparent (done with the CSS). + $elem.replaceWith(''+buttonWord+input+''); + }) + + // After we have found all of the file inputs let's apply a listener for tracking the mouse movement. + // This is important because the in order to give the illusion that this is a button in FF we actually need to move the button from the file input under the cursor. Ugh. + .promise().done( function(){ + + // As the cursor moves over our new Bootstrap button we need to adjust the position of the invisible file input Browse button to be under the cursor. + // This gives us the pointer cursor that FF denies us + $('.file-input-wrapper').mousemove(function(cursor) { + + var input, wrapper, + wrapperX, wrapperY, + inputWidth, inputHeight, + cursorX, cursorY; + + // This wrapper element (the button surround this file input) + wrapper = $(this); + // The invisible file input element + input = wrapper.find("input"); + // The left-most position of the wrapper + wrapperX = wrapper.offset().left; + // The top-most position of the wrapper + wrapperY = wrapper.offset().top; + // The with of the browsers input field + inputWidth= input.width(); + // The height of the browsers input field + inputHeight= input.height(); + //The position of the cursor in the wrapper + cursorX = cursor.pageX; + cursorY = cursor.pageY; + + //The positions we are to move the invisible file input + // The 20 at the end is an arbitrary number of pixels that we can shift the input such that cursor is not pointing at the end of the Browse button but somewhere nearer the middle + moveInputX = cursorX - wrapperX - inputWidth + 20; + // Slides the invisible input Browse button to be positioned middle under the cursor + moveInputY = cursorY- wrapperY - (inputHeight/2); + + // Apply the positioning styles to actually move the invisible file input + input.css({ + left:moveInputX, + top:moveInputY + }); + }); + + $('.file-input-wrapper input[type=file]').change(function(){ + + var fileName; + fileName = $(this).val(); + + // Remove any previous file names + $(this).parent().next('.file-input-name').remove(); + if (!!$(this).prop('files') && $(this).prop('files').length > 1) { + fileName = $(this)[0].files.length+' files'; + //$(this).parent().after(''+$(this)[0].files.length+' files'); + } + else { + // var fakepath = 'C:\\fakepath\\'; + // fileName = $(this).val().replace('C:\\fakepath\\',''); + fileName = fileName.substring(fileName.lastIndexOf('\\')+1,fileName.length); + } + + $(this).parent().after(''+fileName+''); + }); + + }); + +}; + +// Add the styles before the first stylesheet +// This ensures they can be easily overridden with developer styles +var cssHtml = ''; +$('link[rel=stylesheet]').eq(0).before(cssHtml); + +}); diff --git a/源码/src/main/webapp/resource/js/bootstrap.js b/源码/src/main/webapp/resource/js/bootstrap.js new file mode 100644 index 0000000..643e71c --- /dev/null +++ b/源码/src/main/webapp/resource/js/bootstrap.js @@ -0,0 +1,2280 @@ +/* =================================================== + * bootstrap-transition.js v2.3.2 + * http://twitter.github.com/bootstrap/javascript.html#transitions + * =================================================== + * Copyright 2012 Twitter, Inc. + * + * 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. + * ========================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* CSS TRANSITION SUPPORT (http://www.modernizr.com/) + * ======================================================= */ + + $(function () { + + $.support.transition = (function () { + + var transitionEnd = (function () { + + var el = document.createElement('bootstrap') + , transEndEventNames = { + 'WebkitTransition' : 'webkitTransitionEnd' + , 'MozTransition' : 'transitionend' + , 'OTransition' : 'oTransitionEnd otransitionend' + , 'transition' : 'transitionend' + } + , name + + for (name in transEndEventNames){ + if (el.style[name] !== undefined) { + return transEndEventNames[name] + } + } + + }()) + + return transitionEnd && { + end: transitionEnd + } + + })() + + }) + +}(window.jQuery);/* ========================================================== + * bootstrap-alert.js v2.3.2 + * http://twitter.github.com/bootstrap/javascript.html#alerts + * ========================================================== + * Copyright 2012 Twitter, Inc. + * + * 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. + * ========================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* ALERT CLASS DEFINITION + * ====================== */ + + var dismiss = '[data-dismiss="alert"]' + , Alert = function (el) { + $(el).on('click', dismiss, this.close) + } + + Alert.prototype.close = function (e) { + var $this = $(this) + , selector = $this.attr('data-target') + , $parent + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + $parent = $(selector) + + e && e.preventDefault() + + $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent()) + + $parent.trigger(e = $.Event('close')) + + if (e.isDefaultPrevented()) return + + $parent.removeClass('in') + + function removeElement() { + $parent + .trigger('closed') + .remove() + } + + $.support.transition && $parent.hasClass('fade') ? + $parent.on($.support.transition.end, removeElement) : + removeElement() + } + + + /* ALERT PLUGIN DEFINITION + * ======================= */ + + var old = $.fn.alert + + $.fn.alert = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('alert') + if (!data) $this.data('alert', (data = new Alert(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + $.fn.alert.Constructor = Alert + + + /* ALERT NO CONFLICT + * ================= */ + + $.fn.alert.noConflict = function () { + $.fn.alert = old + return this + } + + + /* ALERT DATA-API + * ============== */ + + $(document).on('click.alert.data-api', dismiss, Alert.prototype.close) + +}(window.jQuery);/* ============================================================ + * bootstrap-button.js v2.3.2 + * http://twitter.github.com/bootstrap/javascript.html#buttons + * ============================================================ + * Copyright 2012 Twitter, Inc. + * + * 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. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* BUTTON PUBLIC CLASS DEFINITION + * ============================== */ + + var Button = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, $.fn.button.defaults, options) + } + + Button.prototype.setState = function (state) { + var d = 'disabled' + , $el = this.$element + , data = $el.data() + , val = $el.is('input') ? 'val' : 'html' + + state = state + 'Text' + data.resetText || $el.data('resetText', $el[val]()) + + $el[val](data[state] || this.options[state]) + + // push to event loop to allow forms to submit + setTimeout(function () { + state == 'loadingText' ? + $el.addClass(d).attr(d, d) : + $el.removeClass(d).removeAttr(d) + }, 0) + } + + Button.prototype.toggle = function () { + var $parent = this.$element.closest('[data-toggle="buttons-radio"]') + + $parent && $parent + .find('.active') + .removeClass('active') + + this.$element.toggleClass('active') + } + + + /* BUTTON PLUGIN DEFINITION + * ======================== */ + + var old = $.fn.button + + $.fn.button = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('button') + , options = typeof option == 'object' && option + if (!data) $this.data('button', (data = new Button(this, options))) + if (option == 'toggle') data.toggle() + else if (option) data.setState(option) + }) + } + + $.fn.button.defaults = { + loadingText: 'loading...' + } + + $.fn.button.Constructor = Button + + + /* BUTTON NO CONFLICT + * ================== */ + + $.fn.button.noConflict = function () { + $.fn.button = old + return this + } + + + /* BUTTON DATA-API + * =============== */ + + $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) { + var $btn = $(e.target) + if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') + $btn.button('toggle') + }) + +}(window.jQuery);/* ========================================================== + * bootstrap-carousel.js v2.3.2 + * http://twitter.github.com/bootstrap/javascript.html#carousel + * ========================================================== + * Copyright 2012 Twitter, Inc. + * + * 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. + * ========================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* CAROUSEL CLASS DEFINITION + * ========================= */ + + var Carousel = function (element, options) { + this.$element = $(element) + this.$indicators = this.$element.find('.carousel-indicators') + this.options = options + this.options.pause == 'hover' && this.$element + .on('mouseenter', $.proxy(this.pause, this)) + .on('mouseleave', $.proxy(this.cycle, this)) + } + + Carousel.prototype = { + + cycle: function (e) { + if (!e) this.paused = false + if (this.interval) clearInterval(this.interval); + this.options.interval + && !this.paused + && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) + return this + } + + , getActiveIndex: function () { + this.$active = this.$element.find('.item.active') + this.$items = this.$active.parent().children() + return this.$items.index(this.$active) + } + + , to: function (pos) { + var activeIndex = this.getActiveIndex() + , that = this + + if (pos > (this.$items.length - 1) || pos < 0) return + + if (this.sliding) { + return this.$element.one('slid', function () { + that.to(pos) + }) + } + + if (activeIndex == pos) { + return this.pause().cycle() + } + + return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos])) + } + + , pause: function (e) { + if (!e) this.paused = true + if (this.$element.find('.next, .prev').length && $.support.transition.end) { + this.$element.trigger($.support.transition.end) + this.cycle(true) + } + clearInterval(this.interval) + this.interval = null + return this + } + + , next: function () { + if (this.sliding) return + return this.slide('next') + } + + , prev: function () { + if (this.sliding) return + return this.slide('prev') + } + + , slide: function (type, next) { + var $active = this.$element.find('.item.active') + , $next = next || $active[type]() + , isCycling = this.interval + , direction = type == 'next' ? 'left' : 'right' + , fallback = type == 'next' ? 'first' : 'last' + , that = this + , e + + this.sliding = true + + isCycling && this.pause() + + $next = $next.length ? $next : this.$element.find('.item')[fallback]() + + e = $.Event('slide', { + relatedTarget: $next[0] + , direction: direction + }) + + if ($next.hasClass('active')) return + + if (this.$indicators.length) { + this.$indicators.find('.active').removeClass('active') + this.$element.one('slid', function () { + var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()]) + $nextIndicator && $nextIndicator.addClass('active') + }) + } + + if ($.support.transition && this.$element.hasClass('slide')) { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return + $next.addClass(type) + $next[0].offsetWidth // force reflow + $active.addClass(direction) + $next.addClass(direction) + this.$element.one($.support.transition.end, function () { + $next.removeClass([type, direction].join(' ')).addClass('active') + $active.removeClass(['active', direction].join(' ')) + that.sliding = false + setTimeout(function () { that.$element.trigger('slid') }, 0) + }) + } else { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return + $active.removeClass('active') + $next.addClass('active') + this.sliding = false + this.$element.trigger('slid') + } + + isCycling && this.cycle() + + return this + } + + } + + + /* CAROUSEL PLUGIN DEFINITION + * ========================== */ + + var old = $.fn.carousel + + $.fn.carousel = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('carousel') + , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option) + , action = typeof option == 'string' ? option : options.slide + if (!data) $this.data('carousel', (data = new Carousel(this, options))) + if (typeof option == 'number') data.to(option) + else if (action) data[action]() + else if (options.interval) data.pause().cycle() + }) + } + + $.fn.carousel.defaults = { + interval: 5000 + , pause: 'hover' + } + + $.fn.carousel.Constructor = Carousel + + + /* CAROUSEL NO CONFLICT + * ==================== */ + + $.fn.carousel.noConflict = function () { + $.fn.carousel = old + return this + } + + /* CAROUSEL DATA-API + * ================= */ + + $(document).on('click.carousel.data-api', '[data-slide], [data-slide-to]', function (e) { + var $this = $(this), href + , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 + , options = $.extend({}, $target.data(), $this.data()) + , slideIndex + + $target.carousel(options) + + if (slideIndex = $this.attr('data-slide-to')) { + $target.data('carousel').pause().to(slideIndex).cycle() + } + + e.preventDefault() + }) + +}(window.jQuery);/* ============================================================= + * bootstrap-collapse.js v2.3.2 + * http://twitter.github.com/bootstrap/javascript.html#collapse + * ============================================================= + * Copyright 2012 Twitter, Inc. + * + * 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. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* COLLAPSE PUBLIC CLASS DEFINITION + * ================================ */ + + var Collapse = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, $.fn.collapse.defaults, options) + + if (this.options.parent) { + this.$parent = $(this.options.parent) + } + + this.options.toggle && this.toggle() + } + + Collapse.prototype = { + + constructor: Collapse + + , dimension: function () { + var hasWidth = this.$element.hasClass('width') + return hasWidth ? 'width' : 'height' + } + + , show: function () { + var dimension + , scroll + , actives + , hasData + + if (this.transitioning || this.$element.hasClass('in')) return + + dimension = this.dimension() + scroll = $.camelCase(['scroll', dimension].join('-')) + actives = this.$parent && this.$parent.find('> .accordion-group > .in') + + if (actives && actives.length) { + hasData = actives.data('collapse') + if (hasData && hasData.transitioning) return + actives.collapse('hide') + hasData || actives.data('collapse', null) + } + + this.$element[dimension](0) + this.transition('addClass', $.Event('show'), 'shown') + $.support.transition && this.$element[dimension](this.$element[0][scroll]) + } + + , hide: function () { + var dimension + if (this.transitioning || !this.$element.hasClass('in')) return + dimension = this.dimension() + this.reset(this.$element[dimension]()) + this.transition('removeClass', $.Event('hide'), 'hidden') + this.$element[dimension](0) + } + + , reset: function (size) { + var dimension = this.dimension() + + this.$element + .removeClass('collapse') + [dimension](size || 'auto') + [0].offsetWidth + + this.$element[size !== null ? 'addClass' : 'removeClass']('collapse') + + return this + } + + , transition: function (method, startEvent, completeEvent) { + var that = this + , complete = function () { + if (startEvent.type == 'show') that.reset() + that.transitioning = 0 + that.$element.trigger(completeEvent) + } + + this.$element.trigger(startEvent) + + if (startEvent.isDefaultPrevented()) return + + this.transitioning = 1 + + this.$element[method]('in') + + $.support.transition && this.$element.hasClass('collapse') ? + this.$element.one($.support.transition.end, complete) : + complete() + } + + , toggle: function () { + this[this.$element.hasClass('in') ? 'hide' : 'show']() + } + + } + + + /* COLLAPSE PLUGIN DEFINITION + * ========================== */ + + var old = $.fn.collapse + + $.fn.collapse = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('collapse') + , options = $.extend({}, $.fn.collapse.defaults, $this.data(), typeof option == 'object' && option) + if (!data) $this.data('collapse', (data = new Collapse(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.collapse.defaults = { + toggle: true + } + + $.fn.collapse.Constructor = Collapse + + + /* COLLAPSE NO CONFLICT + * ==================== */ + + $.fn.collapse.noConflict = function () { + $.fn.collapse = old + return this + } + + + /* COLLAPSE DATA-API + * ================= */ + + $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { + var $this = $(this), href + , target = $this.attr('data-target') + || e.preventDefault() + || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 + , option = $(target).data('collapse') ? 'toggle' : $this.data() + $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed') + $(target).collapse(option) + }) + +}(window.jQuery);/* ============================================================ + * bootstrap-dropdown.js v2.3.2 + * http://twitter.github.com/bootstrap/javascript.html#dropdowns + * ============================================================ + * Copyright 2012 Twitter, Inc. + * + * 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. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* DROPDOWN CLASS DEFINITION + * ========================= */ + + var toggle = '[data-toggle=dropdown]' + , Dropdown = function (element) { + var $el = $(element).on('click.dropdown.data-api', this.toggle) + $('html').on('click.dropdown.data-api', function () { + $el.parent().removeClass('open') + }) + } + + Dropdown.prototype = { + + constructor: Dropdown + + , toggle: function (e) { + var $this = $(this) + , $parent + , isActive + + if ($this.is('.disabled, :disabled')) return + + $parent = getParent($this) + + isActive = $parent.hasClass('open') + + clearMenus() + + if (!isActive) { + if ('ontouchstart' in document.documentElement) { + // if mobile we we use a backdrop because click events don't delegate + $('

                  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

                  grHNYrS%3Ix#(lTad8 zd^}P1k9$1A3>^DZ5s!T!5Yc{%hSvxwg&2OyA5C%!=6L0$Xf>x^B0eELl4UmEw~Ka= zlXcQ~F(eMRBDyk(I7fKv%cLmkZ22?|$|8UR$)ewPnyH>7$3wO=_28}}`i@)VPfg9+ouC}_H zA%_fyio(Nrh_q3Kn5{Rd5cVAPBi$56{RnGtLO@7MDl|`a z-opP$|M0Kp^*0hP=IIEcoc;<6v9fpjn-fe{)6u{KfwqWJX}VDB;+1qM4kJHC5BU@0Rhc7RoNIgn zUN?TO9cTUgc)PXuWagVJid##Q7HPsC!DI<5O*N<}zl*RbyNkIkyGz$eCvi=BOK(r1 z*e8s7y(^D@J>sNsMN9o8*q0FO1HTVfVh7}bkM}joByK;rZ~?F&EF4wp+r)P0yyS?{ zoB~WvmRqheoWIhF4+X6mQL^FxC_lB^;@nveLbj{E>3*wHH_cdUXBPf|J>XHi!LZLefB{pk)xNcOmNJyt z-h9H|g=yv5AD2{NXIE|UnXiHFT`J{MqYtl*PYPMk70VqW3TGm)wf1}RCyGkTQtN7 z7AbtxGr>?-KY8oU-fFdRZie}uL3lRNaE?UF@8T3QzMEb0rpY-$U-;+GS|>jP{%{Uq zAYIiPV~EQ`v*Oge0E;*uAHrg{aAW2o%b7`|LSOf<9|pzh{sMV3WI#yWy!dsNelb}k zP{uH-mSmv7D7pB%{4Iy>8Ofm02RN;1vbr)0m`{?mXX^P7v@pBB4tQztP;ID zip9ydK1UwuMA88yNrL_Up%V|qo{>S0G|Cc+1&el0JfU1oL>TL9b#ZwnjHm+@O2Z$Km@#-hDW5 z*eX1f%zx3RrY}4E!_1=@c>T09!e-Wrx$^ADXMeNX(JGx%>DP+FQT~*(xkWo@AHT2T z_r!0H=KNz~o?${C>G7E{kO$&Sp4c-L%VYm5(pB<4DAlV6Nuc+=!AEciDQq4L1F6Du zH1d-_>BN9OZ?J^g+iGO7=VVCk=x?VWUt!btawLU4Dnfri?&}TQoAOYt>RZN+JV0eP zhjn+hM6`kiT^_Xh;$6m*C`Zhbf4#@LGIx@#Dcsa7CsOhC zk7h#z$gt-`Jf2+6xh7?+62?+YDjG`2S*@d7A%q+6dTNvf4#bp8o~IM{qgqQZ%aEoI zLWpJ)1CfJCBG6T|%T$?@Q+CBbPbu2?k<#Q%PW?U0f~2SVbJ*$2?%_=uQxgL!i?9Ri zLgSbqeZ9$SlZ=i?WlgYpxJGnUox5NDChbj1T4?m6c+%pc3S??jJQaM}oQD~FIsOZM zzpYM%jl0-GkxG|EJR4b(c{SZ9a4OVrMz*u*jf z1R?Sv&kP&)pJ;u}hE>9ol(K>^s$S>B4?-SYF&fZrS%v03hv? z;K~nK;r5@zotXL1MjenT-DUxfZ}BjCmTq|7auoH7-l~>=gf}wTQ-pCB?IGb7tP)r0 z&ms$zB6#P+Rz*k{N3cpX9XcQc4Cbo7X$?erN(~vXzF`EY+svih z=+8TnPtV`L>Z{#m09I}R0FK)fz>lG}>m38$eq3&y`0_nHgzMd(xcou)terDP(nawh zS<0$%f(sAu;y`iw&f)|el4M@oNRqP$V?fpwNm{uNVh+3Y~&LecW-> zN_Vseo3;>wHFY zeK9t?R}bSYwT5M4y6m3*HfFuH+WKmnh_=Cbjx)w`H2yqk8PBRFwQRT|ww){#Ui9ln zQT$wZN;~UcCrUabATDritl==y^=#oI2vu^_p?N8C?n?5{iw$r6;*0Y-o9n z4&q?@XHJQl5Z`;VI4m5Uq#fDQNATb>?RMG2o21qZAsZYmrW@?>0HYn-Ybef5E+#%Q z6m>Cm_pD)h9%gS;DsZFwV(5B^ISS>C7dB+eb7cEB?^jg^ALB(Se(EfzO4ce!6eyj_ z-+4FFJTu?7SG2HUV@&ymnzxoW{~~j{=SySRX{Gnl!9_76Ptc?L3Sp=b8NSnzzH_9S z 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 literal 0 HcmV?d00001 diff --git a/源码/src/main/webapp/WEB-INF/lib/json.jar b/源码/src/main/webapp/WEB-INF/lib/json.jar new file mode 100644 index 0000000000000000000000000000000000000000..ed0bc93a7c7da7f065f2441c3920f6a13ed39f03 GIT binary patch literal 46252 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