From a3f6f06e44352838559b0318f073ffc471b8c087 Mon Sep 17 00:00:00 2001 From: wistbean <354142480@qq.com> Date: Tue, 26 Mar 2019 23:59:45 +0800 Subject: [PATCH 01/14] add ignore and add plugin version --- .gitignore | 30 + .idea/artifacts/manong_manager_web_war.xml | 14 + .../manong_manager_web_war_exploded.xml | 71 + .idea/artifacts/manong_portal_war.xml | 14 + .../artifacts/manong_portal_war_exploded.xml | 57 + .idea/artifacts/manong_rest_war.xml | 14 + .idea/artifacts/manong_rest_war_exploded.xml | 64 + .idea/compiler.xml | 36 + .idea/encodings.xml | 17 + .../Maven__aopalliance_aopalliance_1_0.xml | 13 + .../Maven__com_alibaba_druid_1_0_9.xml | 13 + .../Maven__com_baidu_ueditor_1_1_2.xml | 13 + ...jackson_core_jackson_annotations_2_4_0.xml | 13 + ...terxml_jackson_core_jackson_core_2_4_2.xml | 13 + ...ml_jackson_core_jackson_databind_2_4_2.xml | 13 + ...com_github_jsqlparser_jsqlparser_0_9_4.xml | 13 + ...com_github_pagehelper_pagehelper_4_1_1.xml | 13 + .../Maven__com_google_code_gson_gson_2_7.xml | 13 + .idea/libraries/Maven__com_json_json_1_1.xml | 13 + ...Maven__commons_codec_commons_codec_1_6.xml | 13 + ...ns_fileupload_commons_fileupload_1_3_1.xml | 13 + .../Maven__commons_io_commons_io_2_2.xml | 13 + ..._commons_logging_commons_logging_1_1_3.xml | 13 + ...n__commons_logging_commons_logging_1_2.xml | 13 + .../Maven__commons_net_commons_net_3_3.xml | 13 + .../Maven__javax_servlet_servlet_api_2_5.xml | 13 + ...ven__mysql_mysql_connector_java_5_1_32.xml | 13 + ...__org_apache_commons_commons_lang3_3_1.xml | 13 + ...apache_httpcomponents_httpclient_4_3_5.xml | 13 + ...g_apache_httpcomponents_httpcore_4_3_2.xml | 13 + ...Maven__org_aspectj_aspectjweaver_1_8_4.xml | 13 + ...urce_fastdfs_client_java_1_27_SNAPSHOT.xml | 13 + ...aven__org_freemarker_freemarker_2_3_28.xml | 13 + .../Maven__org_mybatis_mybatis_3_2_8.xml | 13 + ...aven__org_mybatis_mybatis_spring_1_2_2.xml | 13 + ...ringframework_spring_aop_4_1_3_RELEASE.xml | 13 + ...framework_spring_aspects_4_1_3_RELEASE.xml | 13 + ...ngframework_spring_beans_4_1_3_RELEASE.xml | 13 + ...framework_spring_context_4_1_3_RELEASE.xml | 13 + ...k_spring_context_support_4_1_3_RELEASE.xml | 13 + ...ingframework_spring_core_4_1_3_RELEASE.xml | 13 + ...mework_spring_expression_4_1_3_RELEASE.xml | 13 + ...ingframework_spring_jdbc_4_1_3_RELEASE.xml | 13 + ...pringframework_spring_tx_4_1_3_RELEASE.xml | 13 + ...ringframework_spring_web_4_1_3_RELEASE.xml | 13 + ...gframework_spring_webmvc_4_1_3_RELEASE.xml | 13 + .../libraries/manong_common_1_0_SNAPSHOT.xml | 9 + .idea/misc.xml | 22 + .idea/modules.xml | 20 + .idea/vcs.xml | 6 + .idea/workspace.xml | 578 +++ manong.iml | 9 - manong_common/manong_common.iml | 25 - .../target/classes/pojo/EasyGrid.class | Bin 855 -> 0 bytes .../target/classes/pojo/EasyUITree.class | Bin 1093 -> 0 bytes ...ies$CategoriesBean$SubCetegoriesBean.class | Bin 922 -> 0 bytes .../pojo/Res_Categories$CategoriesBean.class | Bin 1491 -> 0 bytes .../target/classes/pojo/Res_Categories.class | Bin 886 -> 0 bytes .../classes/pojo/ResponseJsonResult.class | Bin 1438 -> 0 bytes .../target/classes/utils/HttpClientUtil.class | Bin 4769 -> 0 bytes .../target/manong_common-1.0-SNAPSHOT.jar | Bin 7742 -> 0 bytes .../target/maven-archiver/pom.properties | 2 +- .../compile/default-compile/createdFiles.lst | 14 +- .../compile/default-compile/inputFiles.lst | 10 +- .../default-testCompile/inputFiles.lst | 0 manong_manager/manong_manager.iml | 15 - .../manong_manager_mapper.iml | 41 - .../manong/mapper/ProductCategoryMapper.java | 1 + .../manong/mapper/ProductCategoryMapper.class | Bin 1028 -> 0 bytes .../manong/mapper/ProductCategoryMapper.xml | 211 - .../com/manong/mapper/ProductMapper.class | Bin 952 -> 0 bytes .../com/manong/mapper/ProductMapper.xml | 275 -- .../com/manong/mapper/UserMapper.class | Bin 922 -> 0 bytes .../classes/com/manong/mapper/UserMapper.xml | 164 - .../compile/default-compile/createdFiles.lst | 3 - .../compile/default-compile/inputFiles.lst | 3 - .../manong_manager_pojo.iml | 15 - .../classes/com/manong/pojo/Product.class | Bin 2563 -> 0 bytes .../com/manong/pojo/ProductCategory.class | Bin 1697 -> 0 bytes .../ProductCategoryExample$Criteria.class | Bin 7168 -> 0 bytes .../ProductCategoryExample$Criterion.class | Bin 2287 -> 0 bytes ...uctCategoryExample$GeneratedCriteria.class | Bin 11418 -> 0 bytes .../manong/pojo/ProductCategoryExample.class | Bin 2258 -> 0 bytes .../manong/pojo/ProductExample$Criteria.class | Bin 12524 -> 0 bytes .../pojo/ProductExample$Criterion.class | Bin 2255 -> 0 bytes .../ProductExample$GeneratedCriteria.class | Bin 19036 -> 0 bytes .../com/manong/pojo/ProductExample.class | Bin 2170 -> 0 bytes .../target/classes/com/manong/pojo/User.class | Bin 881 -> 0 bytes .../manong/pojo/UserExample$Criteria.class | Bin 3509 -> 0 bytes .../manong/pojo/UserExample$Criterion.class | Bin 2243 -> 0 bytes .../pojo/UserExample$GeneratedCriteria.class | Bin 6284 -> 0 bytes .../classes/com/manong/pojo/UserExample.class | Bin 2137 -> 0 bytes .../compile/default-compile/createdFiles.lst | 15 - .../compile/default-compile/inputFiles.lst | 6 - .../manong_manager_service.iml | 64 - .../service/ProductCategoryService.class | Bin 479 -> 0 bytes .../com/manong/service/ProductService.class | Bin 249 -> 0 bytes .../com/manong/service/UserService.class | Bin 190 -> 0 bytes .../impl/ProductCategoryServiceImpl.class | Bin 4142 -> 0 bytes .../service/impl/ProductServiceImpl.class | Bin 2113 -> 0 bytes .../manong/service/impl/UserServiceImpl.class | Bin 1567 -> 0 bytes .../compile/default-compile/createdFiles.lst | 6 - .../compile/default-compile/inputFiles.lst | 6 - .../manong_manager_web/manong_manager_web.iml | 95 - .../manong/controller/FileController.class | Bin 1571 -> 0 bytes .../manong/controller/FreemarkerTest.class | Bin 973 -> 0 bytes .../manong/controller/PageController.class | Bin 1862 -> 0 bytes .../ProductCategoryController.class | Bin 1937 -> 0 bytes .../controller/ProductConrtroller.class | Bin 1408 -> 0 bytes .../manong/controller/UserController.class | Bin 1069 -> 0 bytes .../com/manong/fastdfs/FastDFSClient.class | Bin 3461 -> 0 bytes .../target/classes/conf/fdfs_client.conf | 8 - .../target/classes/mybatis/sqlMapConfig.xml | 13 - .../target/classes/properties/db.properties | 4 - .../classes/spring/applicationContext-dao.xml | 53 - .../spring/applicationContext-service.xml | 11 - .../spring/applicationContext-trans.xml | 34 - .../target/classes/spring/springmvc.xml | 37 - .../compile/default-compile/createdFiles.lst | 7 - .../compile/default-compile/inputFiles.lst | 7 - .../target/tomcat/conf/logging.properties | 64 - .../target/tomcat/conf/tomcat-users.xml | 26 - .../target/tomcat/conf/web.xml | 4283 ----------------- .../target/tomcat/logs/access_log.2019-01-08 | 5 - .../jsp/WEB_002dINF/jsp/index_jsp.class | Bin 6460 -> 0 bytes .../apache/jsp/WEB_002dINF/jsp/index_jsp.java | 139 - .../jsp/product_005flist_jsp.class | Bin 5508 -> 0 bytes .../WEB_002dINF/jsp/product_005flist_jsp.java | 110 - manong_manager/pom.xml | 1 + manong_parent/manong_parent.iml | 15 - manong_parent/pom.xml | 46 +- manong_portal/manong_portal.iml | 60 - manong_portal/pom.xml | 1 + .../portal/controller/FreemarkerTest.class | Bin 987 -> 0 bytes .../portal/controller/IndexController.class | Bin 1167 -> 0 bytes .../portal/service/CategoriesService.class | Bin 191 -> 0 bytes .../service/impl/CategoriesServiceImpl.class | Bin 1437 -> 0 bytes .../com/manong/portal/util/GsonUtils.class | Bin 1183 -> 0 bytes .../compile/default-compile/createdFiles.lst | 10 +- .../compile/default-compile/inputFiles.lst | 10 +- .../target/tomcat/logs/access_log.2019-02-26 | 90 - .../target/tomcat/logs/access_log.2019-03-26 | 7 + .../_/org/apache/jsp/index_jsp.class | Bin 3691 -> 0 bytes .../localhost/_/org/apache/jsp/index_jsp.java | 6 +- manong_redis/manong_redis.iml | 15 - .../target/manong_redis-1.0-SNAPSHOT.jar | Bin 1523 -> 0 bytes .../target/maven-archiver/pom.properties | 5 - .../compile/default-compile/inputFiles.lst | 0 .../default-testCompile/inputFiles.lst | 0 manong_rest/manong_rest.iml | 82 - manong_rest/pom.xml | 1 + .../ProductCategoriesController.class | Bin 1043 -> 0 bytes .../service/ProductCategriesService.class | Bin 200 -> 0 bytes .../impl/ProductCategriesServiceImpl.class | Bin 3771 -> 0 bytes .../target/classes/mybatis/sqlMapConfig.xml | 13 - .../target/classes/properties/db.properties | 4 - .../classes/spring/applicationContext-dao.xml | 53 - .../spring/applicationContext-service.xml | 11 - .../spring/applicationContext-trans.xml | 34 - .../target/classes/spring/springmvc.xml | 19 - .../compile/default-compile/createdFiles.lst | 3 - .../compile/default-compile/inputFiles.lst | 3 - .../target/tomcat/conf/logging.properties | 64 - .../target/tomcat/conf/tomcat-users.xml | 26 - manong_rest/target/tomcat/conf/web.xml | 4283 ----------------- .../target/tomcat/logs/access_log.2019-02-26 | 0 manong_search/manong_search.iml | 15 - .../target/manong_search-1.0-SNAPSHOT.jar | Bin 1531 -> 0 bytes .../target/maven-archiver/pom.properties | 5 - .../compile/default-compile/inputFiles.lst | 0 .../default-testCompile/inputFiles.lst | 0 manong_sso/manong_sso.iml | 15 - manong_sso/target/manong_sso-1.0-SNAPSHOT.jar | Bin 1508 -> 0 bytes .../target/maven-archiver/pom.properties | 5 - .../compile/default-compile/inputFiles.lst | 0 .../default-testCompile/inputFiles.lst | 0 176 files changed, 1493 insertions(+), 10623 deletions(-) create mode 100644 .gitignore create mode 100644 .idea/artifacts/manong_manager_web_war.xml create mode 100644 .idea/artifacts/manong_manager_web_war_exploded.xml create mode 100644 .idea/artifacts/manong_portal_war.xml create mode 100644 .idea/artifacts/manong_portal_war_exploded.xml create mode 100644 .idea/artifacts/manong_rest_war.xml create mode 100644 .idea/artifacts/manong_rest_war_exploded.xml create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/libraries/Maven__aopalliance_aopalliance_1_0.xml create mode 100644 .idea/libraries/Maven__com_alibaba_druid_1_0_9.xml create mode 100644 .idea/libraries/Maven__com_baidu_ueditor_1_1_2.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_4_0.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_4_2.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_4_2.xml create mode 100644 .idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_4.xml create mode 100644 .idea/libraries/Maven__com_github_pagehelper_pagehelper_4_1_1.xml create mode 100644 .idea/libraries/Maven__com_google_code_gson_gson_2_7.xml create mode 100644 .idea/libraries/Maven__com_json_json_1_1.xml create mode 100644 .idea/libraries/Maven__commons_codec_commons_codec_1_6.xml create mode 100644 .idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_1.xml create mode 100644 .idea/libraries/Maven__commons_io_commons_io_2_2.xml create mode 100644 .idea/libraries/Maven__commons_logging_commons_logging_1_1_3.xml create mode 100644 .idea/libraries/Maven__commons_logging_commons_logging_1_2.xml create mode 100644 .idea/libraries/Maven__commons_net_commons_net_3_3.xml create mode 100644 .idea/libraries/Maven__javax_servlet_servlet_api_2_5.xml create mode 100644 .idea/libraries/Maven__mysql_mysql_connector_java_5_1_32.xml create mode 100644 .idea/libraries/Maven__org_apache_commons_commons_lang3_3_1.xml create mode 100644 .idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_5.xml create mode 100644 .idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_3_2.xml create mode 100644 .idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_4.xml create mode 100644 .idea/libraries/Maven__org_csource_fastdfs_client_java_1_27_SNAPSHOT.xml create mode 100644 .idea/libraries/Maven__org_freemarker_freemarker_2_3_28.xml create mode 100644 .idea/libraries/Maven__org_mybatis_mybatis_3_2_8.xml create mode 100644 .idea/libraries/Maven__org_mybatis_mybatis_spring_1_2_2.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_aop_4_1_3_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_aspects_4_1_3_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_beans_4_1_3_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_context_4_1_3_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_context_support_4_1_3_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_core_4_1_3_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_expression_4_1_3_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_jdbc_4_1_3_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_tx_4_1_3_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_web_4_1_3_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_webmvc_4_1_3_RELEASE.xml create mode 100644 .idea/libraries/manong_common_1_0_SNAPSHOT.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml delete mode 100644 manong.iml delete mode 100644 manong_common/manong_common.iml delete mode 100644 manong_common/target/classes/pojo/EasyGrid.class delete mode 100644 manong_common/target/classes/pojo/EasyUITree.class delete mode 100644 manong_common/target/classes/pojo/Res_Categories$CategoriesBean$SubCetegoriesBean.class delete mode 100644 manong_common/target/classes/pojo/Res_Categories$CategoriesBean.class delete mode 100644 manong_common/target/classes/pojo/Res_Categories.class delete mode 100644 manong_common/target/classes/pojo/ResponseJsonResult.class delete mode 100644 manong_common/target/classes/utils/HttpClientUtil.class delete mode 100644 manong_common/target/manong_common-1.0-SNAPSHOT.jar delete mode 100644 manong_common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst delete mode 100644 manong_manager/manong_manager.iml delete mode 100644 manong_manager/manong_manager_mapper/manong_manager_mapper.iml delete mode 100644 manong_manager/manong_manager_mapper/target/classes/com/manong/mapper/ProductCategoryMapper.class delete mode 100644 manong_manager/manong_manager_mapper/target/classes/com/manong/mapper/ProductCategoryMapper.xml delete mode 100644 manong_manager/manong_manager_mapper/target/classes/com/manong/mapper/ProductMapper.class delete mode 100644 manong_manager/manong_manager_mapper/target/classes/com/manong/mapper/ProductMapper.xml delete mode 100644 manong_manager/manong_manager_mapper/target/classes/com/manong/mapper/UserMapper.class delete mode 100644 manong_manager/manong_manager_mapper/target/classes/com/manong/mapper/UserMapper.xml delete mode 100644 manong_manager/manong_manager_mapper/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst delete mode 100644 manong_manager/manong_manager_mapper/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst delete mode 100644 manong_manager/manong_manager_pojo/manong_manager_pojo.iml delete mode 100644 manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/Product.class delete mode 100644 manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/ProductCategory.class delete mode 100644 manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/ProductCategoryExample$Criteria.class delete mode 100644 manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/ProductCategoryExample$Criterion.class delete mode 100644 manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/ProductCategoryExample$GeneratedCriteria.class delete mode 100644 manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/ProductCategoryExample.class delete mode 100644 manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/ProductExample$Criteria.class delete mode 100644 manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/ProductExample$Criterion.class delete mode 100644 manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/ProductExample$GeneratedCriteria.class delete mode 100644 manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/ProductExample.class delete mode 100644 manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/User.class delete mode 100644 manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/UserExample$Criteria.class delete mode 100644 manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/UserExample$Criterion.class delete mode 100644 manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/UserExample$GeneratedCriteria.class delete mode 100644 manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/UserExample.class delete mode 100644 manong_manager/manong_manager_pojo/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst delete mode 100644 manong_manager/manong_manager_pojo/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst delete mode 100644 manong_manager/manong_manager_service/manong_manager_service.iml delete mode 100644 manong_manager/manong_manager_service/target/classes/com/manong/service/ProductCategoryService.class delete mode 100644 manong_manager/manong_manager_service/target/classes/com/manong/service/ProductService.class delete mode 100644 manong_manager/manong_manager_service/target/classes/com/manong/service/UserService.class delete mode 100644 manong_manager/manong_manager_service/target/classes/com/manong/service/impl/ProductCategoryServiceImpl.class delete mode 100644 manong_manager/manong_manager_service/target/classes/com/manong/service/impl/ProductServiceImpl.class delete mode 100644 manong_manager/manong_manager_service/target/classes/com/manong/service/impl/UserServiceImpl.class delete mode 100644 manong_manager/manong_manager_service/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst delete mode 100644 manong_manager/manong_manager_service/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst delete mode 100644 manong_manager/manong_manager_web/manong_manager_web.iml delete mode 100644 manong_manager/manong_manager_web/target/classes/com/manong/controller/FileController.class delete mode 100644 manong_manager/manong_manager_web/target/classes/com/manong/controller/FreemarkerTest.class delete mode 100644 manong_manager/manong_manager_web/target/classes/com/manong/controller/PageController.class delete mode 100644 manong_manager/manong_manager_web/target/classes/com/manong/controller/ProductCategoryController.class delete mode 100644 manong_manager/manong_manager_web/target/classes/com/manong/controller/ProductConrtroller.class delete mode 100644 manong_manager/manong_manager_web/target/classes/com/manong/controller/UserController.class delete mode 100644 manong_manager/manong_manager_web/target/classes/com/manong/fastdfs/FastDFSClient.class delete mode 100644 manong_manager/manong_manager_web/target/classes/conf/fdfs_client.conf delete mode 100644 manong_manager/manong_manager_web/target/classes/mybatis/sqlMapConfig.xml delete mode 100644 manong_manager/manong_manager_web/target/classes/properties/db.properties delete mode 100644 manong_manager/manong_manager_web/target/classes/spring/applicationContext-dao.xml delete mode 100644 manong_manager/manong_manager_web/target/classes/spring/applicationContext-service.xml delete mode 100644 manong_manager/manong_manager_web/target/classes/spring/applicationContext-trans.xml delete mode 100644 manong_manager/manong_manager_web/target/classes/spring/springmvc.xml delete mode 100644 manong_manager/manong_manager_web/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst delete mode 100644 manong_manager/manong_manager_web/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst delete mode 100644 manong_manager/manong_manager_web/target/tomcat/conf/logging.properties delete mode 100644 manong_manager/manong_manager_web/target/tomcat/conf/tomcat-users.xml delete mode 100644 manong_manager/manong_manager_web/target/tomcat/conf/web.xml delete mode 100644 manong_manager/manong_manager_web/target/tomcat/logs/access_log.2019-01-08 delete mode 100644 manong_manager/manong_manager_web/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/WEB_002dINF/jsp/index_jsp.class delete mode 100644 manong_manager/manong_manager_web/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/WEB_002dINF/jsp/index_jsp.java delete mode 100644 manong_manager/manong_manager_web/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/WEB_002dINF/jsp/product_005flist_jsp.class delete mode 100644 manong_manager/manong_manager_web/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/WEB_002dINF/jsp/product_005flist_jsp.java delete mode 100644 manong_parent/manong_parent.iml delete mode 100644 manong_portal/manong_portal.iml delete mode 100644 manong_portal/target/classes/com/manong/portal/controller/FreemarkerTest.class delete mode 100644 manong_portal/target/classes/com/manong/portal/controller/IndexController.class delete mode 100644 manong_portal/target/classes/com/manong/portal/service/CategoriesService.class delete mode 100644 manong_portal/target/classes/com/manong/portal/service/impl/CategoriesServiceImpl.class delete mode 100644 manong_portal/target/classes/com/manong/portal/util/GsonUtils.class delete mode 100644 manong_portal/target/tomcat/logs/access_log.2019-02-26 create mode 100644 manong_portal/target/tomcat/logs/access_log.2019-03-26 delete mode 100644 manong_portal/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/index_jsp.class delete mode 100644 manong_redis/manong_redis.iml delete mode 100644 manong_redis/target/manong_redis-1.0-SNAPSHOT.jar delete mode 100644 manong_redis/target/maven-archiver/pom.properties delete mode 100644 manong_redis/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst delete mode 100644 manong_redis/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst delete mode 100644 manong_rest/manong_rest.iml delete mode 100644 manong_rest/target/classes/com/manong/rest/controller/ProductCategoriesController.class delete mode 100644 manong_rest/target/classes/com/manong/rest/service/ProductCategriesService.class delete mode 100644 manong_rest/target/classes/com/manong/rest/service/impl/ProductCategriesServiceImpl.class delete mode 100644 manong_rest/target/classes/mybatis/sqlMapConfig.xml delete mode 100644 manong_rest/target/classes/properties/db.properties delete mode 100644 manong_rest/target/classes/spring/applicationContext-dao.xml delete mode 100644 manong_rest/target/classes/spring/applicationContext-service.xml delete mode 100644 manong_rest/target/classes/spring/applicationContext-trans.xml delete mode 100644 manong_rest/target/classes/spring/springmvc.xml delete mode 100644 manong_rest/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst delete mode 100644 manong_rest/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst delete mode 100644 manong_rest/target/tomcat/conf/logging.properties delete mode 100644 manong_rest/target/tomcat/conf/tomcat-users.xml delete mode 100644 manong_rest/target/tomcat/conf/web.xml delete mode 100644 manong_rest/target/tomcat/logs/access_log.2019-02-26 delete mode 100644 manong_search/manong_search.iml delete mode 100644 manong_search/target/manong_search-1.0-SNAPSHOT.jar delete mode 100644 manong_search/target/maven-archiver/pom.properties delete mode 100644 manong_search/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst delete mode 100644 manong_search/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst delete mode 100644 manong_sso/manong_sso.iml delete mode 100644 manong_sso/target/manong_sso-1.0-SNAPSHOT.jar delete mode 100644 manong_sso/target/maven-archiver/pom.properties delete mode 100644 manong_sso/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst delete mode 100644 manong_sso/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3b9ccc7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,30 @@ +# Compiled class file +*.class +/target/ +/.dea/ + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar +*.iml + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + + + + diff --git a/.idea/artifacts/manong_manager_web_war.xml b/.idea/artifacts/manong_manager_web_war.xml new file mode 100644 index 0000000..a1f6b7a --- /dev/null +++ b/.idea/artifacts/manong_manager_web_war.xml @@ -0,0 +1,14 @@ + + + $PROJECT_DIR$/manong_manager/manong_manager_web/target + + + manong_manager_web + war + + + + + + + \ No newline at end of file diff --git a/.idea/artifacts/manong_manager_web_war_exploded.xml b/.idea/artifacts/manong_manager_web_war_exploded.xml new file mode 100644 index 0000000..21cc071 --- /dev/null +++ b/.idea/artifacts/manong_manager_web_war_exploded.xml @@ -0,0 +1,71 @@ + + + $PROJECT_DIR$/manong_manager/manong_manager_web/target/manong_manager_web-1.0-SNAPSHOT + + + true + manong_manager_web + war + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/artifacts/manong_portal_war.xml b/.idea/artifacts/manong_portal_war.xml new file mode 100644 index 0000000..a5d9212 --- /dev/null +++ b/.idea/artifacts/manong_portal_war.xml @@ -0,0 +1,14 @@ + + + $PROJECT_DIR$/manong_portal/target + + + manong_portal + war + + + + + + + \ No newline at end of file diff --git a/.idea/artifacts/manong_portal_war_exploded.xml b/.idea/artifacts/manong_portal_war_exploded.xml new file mode 100644 index 0000000..b7a8e0f --- /dev/null +++ b/.idea/artifacts/manong_portal_war_exploded.xml @@ -0,0 +1,57 @@ + + + $PROJECT_DIR$/manong_portal/target/manong_portal-1.0-SNAPSHOT + + + true + manong_portal + war + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/artifacts/manong_rest_war.xml b/.idea/artifacts/manong_rest_war.xml new file mode 100644 index 0000000..9bc70c4 --- /dev/null +++ b/.idea/artifacts/manong_rest_war.xml @@ -0,0 +1,14 @@ + + + $PROJECT_DIR$/manong_rest/target + + + manong_rest + war + + + + + + + \ No newline at end of file diff --git a/.idea/artifacts/manong_rest_war_exploded.xml b/.idea/artifacts/manong_rest_war_exploded.xml new file mode 100644 index 0000000..eab26f5 --- /dev/null +++ b/.idea/artifacts/manong_rest_war_exploded.xml @@ -0,0 +1,64 @@ + + + $PROJECT_DIR$/manong_rest/target/manong_rest-1.0-SNAPSHOT + + + true + manong_rest + war + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..bf8c80f --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..5a98ada --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml b/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml new file mode 100644 index 0000000..30ff5cb --- /dev/null +++ b/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_alibaba_druid_1_0_9.xml b/.idea/libraries/Maven__com_alibaba_druid_1_0_9.xml new file mode 100644 index 0000000..a533418 --- /dev/null +++ b/.idea/libraries/Maven__com_alibaba_druid_1_0_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_baidu_ueditor_1_1_2.xml b/.idea/libraries/Maven__com_baidu_ueditor_1_1_2.xml new file mode 100644 index 0000000..e4f3945 --- /dev/null +++ b/.idea/libraries/Maven__com_baidu_ueditor_1_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_4_0.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_4_0.xml new file mode 100644 index 0000000..0119075 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_4_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_4_2.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_4_2.xml new file mode 100644 index 0000000..5a0115e --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_4_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_4_2.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_4_2.xml new file mode 100644 index 0000000..01f92e7 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_4_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_4.xml b/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_4.xml new file mode 100644 index 0000000..01dedb4 --- /dev/null +++ b/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_pagehelper_pagehelper_4_1_1.xml b/.idea/libraries/Maven__com_github_pagehelper_pagehelper_4_1_1.xml new file mode 100644 index 0000000..7ec0235 --- /dev/null +++ b/.idea/libraries/Maven__com_github_pagehelper_pagehelper_4_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_code_gson_gson_2_7.xml b/.idea/libraries/Maven__com_google_code_gson_gson_2_7.xml new file mode 100644 index 0000000..59098ba --- /dev/null +++ b/.idea/libraries/Maven__com_google_code_gson_gson_2_7.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_json_json_1_1.xml b/.idea/libraries/Maven__com_json_json_1_1.xml new file mode 100644 index 0000000..6c3cc2c --- /dev/null +++ b/.idea/libraries/Maven__com_json_json_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_codec_commons_codec_1_6.xml b/.idea/libraries/Maven__commons_codec_commons_codec_1_6.xml new file mode 100644 index 0000000..e8a6a9f --- /dev/null +++ b/.idea/libraries/Maven__commons_codec_commons_codec_1_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_1.xml b/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_1.xml new file mode 100644 index 0000000..18d3b23 --- /dev/null +++ b/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_io_commons_io_2_2.xml b/.idea/libraries/Maven__commons_io_commons_io_2_2.xml new file mode 100644 index 0000000..f8084ec --- /dev/null +++ b/.idea/libraries/Maven__commons_io_commons_io_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_logging_commons_logging_1_1_3.xml b/.idea/libraries/Maven__commons_logging_commons_logging_1_1_3.xml new file mode 100644 index 0000000..01c7b8e --- /dev/null +++ b/.idea/libraries/Maven__commons_logging_commons_logging_1_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml b/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml new file mode 100644 index 0000000..eab40b3 --- /dev/null +++ b/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_net_commons_net_3_3.xml b/.idea/libraries/Maven__commons_net_commons_net_3_3.xml new file mode 100644 index 0000000..6844bee --- /dev/null +++ b/.idea/libraries/Maven__commons_net_commons_net_3_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_servlet_servlet_api_2_5.xml b/.idea/libraries/Maven__javax_servlet_servlet_api_2_5.xml new file mode 100644 index 0000000..679e09a --- /dev/null +++ b/.idea/libraries/Maven__javax_servlet_servlet_api_2_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_32.xml b/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_32.xml new file mode 100644 index 0000000..004138c --- /dev/null +++ b/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_32.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_1.xml b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_1.xml new file mode 100644 index 0000000..32bfe3b --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_5.xml b/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_5.xml new file mode 100644 index 0000000..5601459 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_3_2.xml b/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_3_2.xml new file mode 100644 index 0000000..1c14963 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_3_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_4.xml b/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_4.xml new file mode 100644 index 0000000..94a4132 --- /dev/null +++ b/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_csource_fastdfs_client_java_1_27_SNAPSHOT.xml b/.idea/libraries/Maven__org_csource_fastdfs_client_java_1_27_SNAPSHOT.xml new file mode 100644 index 0000000..381d8a8 --- /dev/null +++ b/.idea/libraries/Maven__org_csource_fastdfs_client_java_1_27_SNAPSHOT.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_freemarker_freemarker_2_3_28.xml b/.idea/libraries/Maven__org_freemarker_freemarker_2_3_28.xml new file mode 100644 index 0000000..3471c5b --- /dev/null +++ b/.idea/libraries/Maven__org_freemarker_freemarker_2_3_28.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_mybatis_3_2_8.xml b/.idea/libraries/Maven__org_mybatis_mybatis_3_2_8.xml new file mode 100644 index 0000000..956e478 --- /dev/null +++ b/.idea/libraries/Maven__org_mybatis_mybatis_3_2_8.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_2_2.xml b/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_2_2.xml new file mode 100644 index 0000000..8828a9a --- /dev/null +++ b/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_aop_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_aop_4_1_3_RELEASE.xml new file mode 100644 index 0000000..5ad17a5 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_aop_4_1_3_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_aspects_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_aspects_4_1_3_RELEASE.xml new file mode 100644 index 0000000..838787d --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_aspects_4_1_3_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_beans_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_beans_4_1_3_RELEASE.xml new file mode 100644 index 0000000..e399d68 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_beans_4_1_3_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_context_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_context_4_1_3_RELEASE.xml new file mode 100644 index 0000000..955ceee --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_context_4_1_3_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_context_support_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_context_support_4_1_3_RELEASE.xml new file mode 100644 index 0000000..404c0ae --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_context_support_4_1_3_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_core_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_core_4_1_3_RELEASE.xml new file mode 100644 index 0000000..8d25b60 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_core_4_1_3_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_expression_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_expression_4_1_3_RELEASE.xml new file mode 100644 index 0000000..a85cdaf --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_expression_4_1_3_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_jdbc_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_jdbc_4_1_3_RELEASE.xml new file mode 100644 index 0000000..6b6ad8e --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_jdbc_4_1_3_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_tx_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_tx_4_1_3_RELEASE.xml new file mode 100644 index 0000000..87e3876 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_tx_4_1_3_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_web_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_web_4_1_3_RELEASE.xml new file mode 100644 index 0000000..28a4ce5 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_web_4_1_3_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_webmvc_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_webmvc_4_1_3_RELEASE.xml new file mode 100644 index 0000000..60e13b8 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_webmvc_4_1_3_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/manong_common_1_0_SNAPSHOT.xml b/.idea/libraries/manong_common_1_0_SNAPSHOT.xml new file mode 100644 index 0000000..c45fc7a --- /dev/null +++ b/.idea/libraries/manong_common_1_0_SNAPSHOT.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..05d877e --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..b114828 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..0021519 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,578 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - select - - distinct - - - from product_category - - - - - order by ${orderByClause} - - - - - delete from product_category - where id = #{id,jdbcType=SMALLINT} - - - delete from product_category - - - - - - insert into product_category (id, name, sorderorder, - status, parent_id) - values (#{id,jdbcType=SMALLINT}, #{name,jdbcType=VARCHAR}, #{sorderorder,jdbcType=SMALLINT}, - #{status,jdbcType=TINYINT}, #{parentId,jdbcType=SMALLINT}) - - - insert into product_category - - - id, - - - name, - - - sorderorder, - - - status, - - - parent_id, - - - - - #{id,jdbcType=SMALLINT}, - - - #{name,jdbcType=VARCHAR}, - - - #{sorderorder,jdbcType=SMALLINT}, - - - #{status,jdbcType=TINYINT}, - - - #{parentId,jdbcType=SMALLINT}, - - - - - - update product_category - - - id = #{record.id,jdbcType=SMALLINT}, - - - name = #{record.name,jdbcType=VARCHAR}, - - - sorderorder = #{record.sorderorder,jdbcType=SMALLINT}, - - - status = #{record.status,jdbcType=TINYINT}, - - - parent_id = #{record.parentId,jdbcType=SMALLINT}, - - - - - - - - update product_category - set id = #{record.id,jdbcType=SMALLINT}, - name = #{record.name,jdbcType=VARCHAR}, - sorderorder = #{record.sorderorder,jdbcType=SMALLINT}, - status = #{record.status,jdbcType=TINYINT}, - parent_id = #{record.parentId,jdbcType=SMALLINT} - - - - - - update product_category - - - name = #{name,jdbcType=VARCHAR}, - - - sorderorder = #{sorderorder,jdbcType=SMALLINT}, - - - status = #{status,jdbcType=TINYINT}, - - - parent_id = #{parentId,jdbcType=SMALLINT}, - - - where id = #{id,jdbcType=SMALLINT} - - - update product_category - set name = #{name,jdbcType=VARCHAR}, - sorderorder = #{sorderorder,jdbcType=SMALLINT}, - status = #{status,jdbcType=TINYINT}, - parent_id = #{parentId,jdbcType=SMALLINT} - where id = #{id,jdbcType=SMALLINT} - - \ No newline at end of file diff --git a/manong_manager/manong_manager_mapper/target/classes/com/manong/mapper/ProductMapper.class b/manong_manager/manong_manager_mapper/target/classes/com/manong/mapper/ProductMapper.class deleted file mode 100644 index e90925b4c6224716a0687ccda0a5839089021749..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 952 zcmb7DT}vY|6g}x`>vwf@{r&(&&=&)XZxvw$1+ikW;Cng^HDx9lGMQrknh*N}_D3yy zJDstEI-n23&D@-O?#;=`-+!-v0G#8XhP@j08J2vLXm>Tdei305NQR@6rf)(X3T`9x}SCx*X zbqu?u?Z$n^xHfh3of^=5^*CJ@I{zxAc$;`UMdDPzn<{nK4MXdvrnZcCSiljXod5hto;MXwS$Q?U|F)U9^_|WN-ld2316?zH4 z{1n3vOaT<9vsgtf{hz^X8t1Y&j|Hk*q^b&*2w%r?y1xRC@~f2JsL*1KzMnDHC(8{2 TZ+-=|m37)4MXKLPd+q)Q!!-`b diff --git a/manong_manager/manong_manager_mapper/target/classes/com/manong/mapper/ProductMapper.xml b/manong_manager/manong_manager_mapper/target/classes/com/manong/mapper/ProductMapper.xml deleted file mode 100644 index ef9b9c3..0000000 --- a/manong_manager/manong_manager_mapper/target/classes/com/manong/mapper/ProductMapper.xml +++ /dev/null @@ -1,275 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - id, category_id, name, image, maket_price, price, status, description, product_number - - - - - delete from product - where id = #{id,jdbcType=INTEGER} - - - delete from product - - - - - - insert into product (id, category_id, name, - image, maket_price, price, - status, description, product_number - ) - values (#{id,jdbcType=INTEGER}, #{categoryId,jdbcType=SMALLINT}, #{name,jdbcType=VARCHAR}, - #{image,jdbcType=VARCHAR}, #{maketPrice,jdbcType=DECIMAL}, #{price,jdbcType=DECIMAL}, - #{status,jdbcType=TINYINT}, #{description,jdbcType=VARCHAR}, #{productNumber,jdbcType=VARCHAR} - ) - - - insert into product - - - id, - - - category_id, - - - name, - - - image, - - - maket_price, - - - price, - - - status, - - - description, - - - product_number, - - - - - #{id,jdbcType=INTEGER}, - - - #{categoryId,jdbcType=SMALLINT}, - - - #{name,jdbcType=VARCHAR}, - - - #{image,jdbcType=VARCHAR}, - - - #{maketPrice,jdbcType=DECIMAL}, - - - #{price,jdbcType=DECIMAL}, - - - #{status,jdbcType=TINYINT}, - - - #{description,jdbcType=VARCHAR}, - - - #{productNumber,jdbcType=VARCHAR}, - - - - - - update product - - - id = #{record.id,jdbcType=INTEGER}, - - - category_id = #{record.categoryId,jdbcType=SMALLINT}, - - - name = #{record.name,jdbcType=VARCHAR}, - - - image = #{record.image,jdbcType=VARCHAR}, - - - maket_price = #{record.maketPrice,jdbcType=DECIMAL}, - - - price = #{record.price,jdbcType=DECIMAL}, - - - status = #{record.status,jdbcType=TINYINT}, - - - description = #{record.description,jdbcType=VARCHAR}, - - - product_number = #{record.productNumber,jdbcType=VARCHAR}, - - - - - - - - update product - set id = #{record.id,jdbcType=INTEGER}, - category_id = #{record.categoryId,jdbcType=SMALLINT}, - name = #{record.name,jdbcType=VARCHAR}, - image = #{record.image,jdbcType=VARCHAR}, - maket_price = #{record.maketPrice,jdbcType=DECIMAL}, - price = #{record.price,jdbcType=DECIMAL}, - status = #{record.status,jdbcType=TINYINT}, - description = #{record.description,jdbcType=VARCHAR}, - product_number = #{record.productNumber,jdbcType=VARCHAR} - - - - - - update product - - - category_id = #{categoryId,jdbcType=SMALLINT}, - - - name = #{name,jdbcType=VARCHAR}, - - - image = #{image,jdbcType=VARCHAR}, - - - maket_price = #{maketPrice,jdbcType=DECIMAL}, - - - price = #{price,jdbcType=DECIMAL}, - - - status = #{status,jdbcType=TINYINT}, - - - description = #{description,jdbcType=VARCHAR}, - - - product_number = #{productNumber,jdbcType=VARCHAR}, - - - where id = #{id,jdbcType=INTEGER} - - - update product - set category_id = #{categoryId,jdbcType=SMALLINT}, - name = #{name,jdbcType=VARCHAR}, - image = #{image,jdbcType=VARCHAR}, - maket_price = #{maketPrice,jdbcType=DECIMAL}, - price = #{price,jdbcType=DECIMAL}, - status = #{status,jdbcType=TINYINT}, - description = #{description,jdbcType=VARCHAR}, - product_number = #{productNumber,jdbcType=VARCHAR} - where id = #{id,jdbcType=INTEGER} - - \ No newline at end of file diff --git a/manong_manager/manong_manager_mapper/target/classes/com/manong/mapper/UserMapper.class b/manong_manager/manong_manager_mapper/target/classes/com/manong/mapper/UserMapper.class deleted file mode 100644 index f5d849c4a7cfc1855ef30cd06872ad02e505faa6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 922 zcmb7CU279T6g?Buq-|=pjkZZm{6G*Yh0crgB~nnZQj8c3`aanV>xA8zWp*~0zt)HT z0DqM9W|B0E-3R-y+}V5Yx#xbIKYy=p0KCJ?I-b|@f}t6jT)U6+PrpTy#**RH$sjZd zPlPr);;ES${v(ri74N^jVhAQOmQEHxt+i)pRU+*Ci<~nYoeZX8CU`8U(3N&FlGfvE zN>fG0a9qx{Bv~enh$?hyMx6zje-~(ZIsUHKC4cTz%m*rSeTJQpinMUKrFx$qhJIhV zm;MD+ZLK>ij(=J@et8jwPM%IgVW)+;&&&JlmzKJlo$mDdJDpY~@~6twIF>_UMM8J8 zAG9`3IAwIk@Md6a#6>E?Uy`daxic;{3EZP-#;uu%bJ|+X%Fx&eLtU;V6a3RVLwD`j zETk|{>wc7BcVu!K%1gBnVX%y8qwCj<>rj+rS>-9uum9Cglg%_wfU?$p3`=?Fv1f(s!8QX!C4S Ta_4`Nj#o_27MAc`&(*sHKs5pu diff --git a/manong_manager/manong_manager_mapper/target/classes/com/manong/mapper/UserMapper.xml b/manong_manager/manong_manager_mapper/target/classes/com/manong/mapper/UserMapper.xml deleted file mode 100644 index a546841..0000000 --- a/manong_manager/manong_manager_mapper/target/classes/com/manong/mapper/UserMapper.xml +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - id, userName - - - - - delete from user - where id = #{id,jdbcType=INTEGER} - - - delete from user - - - - - - insert into user (id, userName) - values (#{id,jdbcType=INTEGER}, #{username,jdbcType=VARCHAR}) - - - insert into user - - - id, - - - userName, - - - - - #{id,jdbcType=INTEGER}, - - - #{username,jdbcType=VARCHAR}, - - - - - - update user - - - id = #{record.id,jdbcType=INTEGER}, - - - userName = #{record.username,jdbcType=VARCHAR}, - - - - - - - - update user - set id = #{record.id,jdbcType=INTEGER}, - userName = #{record.username,jdbcType=VARCHAR} - - - - - - update user - - - userName = #{username,jdbcType=VARCHAR}, - - - where id = #{id,jdbcType=INTEGER} - - - update user - set userName = #{username,jdbcType=VARCHAR} - where id = #{id,jdbcType=INTEGER} - - \ No newline at end of file diff --git a/manong_manager/manong_manager_mapper/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/manong_manager/manong_manager_mapper/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst deleted file mode 100644 index 3b4704c..0000000 --- a/manong_manager/manong_manager_mapper/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ /dev/null @@ -1,3 +0,0 @@ -com\manong\mapper\ProductMapper.class -com\manong\mapper\ProductCategoryMapper.class -com\manong\mapper\UserMapper.class diff --git a/manong_manager/manong_manager_mapper/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/manong_manager/manong_manager_mapper/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst deleted file mode 100644 index 7523655..0000000 --- a/manong_manager/manong_manager_mapper/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ /dev/null @@ -1,3 +0,0 @@ -F:\githubproject\manong\manong_manager\manong_manager_mapper\src\main\java\com\manong\mapper\ProductMapper.java -F:\githubproject\manong\manong_manager\manong_manager_mapper\src\main\java\com\manong\mapper\ProductCategoryMapper.java -F:\githubproject\manong\manong_manager\manong_manager_mapper\src\main\java\com\manong\mapper\UserMapper.java diff --git a/manong_manager/manong_manager_pojo/manong_manager_pojo.iml b/manong_manager/manong_manager_pojo/manong_manager_pojo.iml deleted file mode 100644 index 2ee29af..0000000 --- a/manong_manager/manong_manager_pojo/manong_manager_pojo.iml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/Product.class b/manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/Product.class deleted file mode 100644 index 50b9425dceeb5fc19c5c2b20700d75f9e801f375..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2563 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 YQIbDv`MR0*(TOyOe;wFIe^#0Q0x%^V$p8QV diff --git a/manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/ProductCategoryExample$Criterion.class b/manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/ProductCategoryExample$Criterion.class deleted file mode 100644 index 6471163768ec5f484dcbc3b70b802131a0e58b87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2287 zcmb7EOK%%h6#lL~&UoyxTiP^`7UB|0<4l~ml<+7m1!`K_5(<(_gxF1-t1w|Q6U~eZ z{R#X8egQ04fJ9UYBoJbOR2D2)u;3-}6hZ=tw*&&txpNsi?g*uub02fR^L^*L=g!r? z-*^kaBFuI=&mnl0F?>>V+Ha4L1m>_RVlTY(Ei& ztNmWmaTB=~Mwd@N?`~}R@=%t7sxOmNUBh;nnLl+p(H*wP^5P5snN)1fl1())?hYGO z_u^CAtg3qP(!eavcyZXTu@he4B_{>;HLo>lc3I$9&i>Fzt#xQeUp-@M-NfxZ`GcRu z`%qDbca|Qv(xb1_PosQn6~JdeulJ(^!MRejK29Gp*V* z3K~n!>kzN1W4BNo<4y4-`gD@z;>sRz_xJWL8FIX|e+DrlbYjL;otELS!{OjDxWL1?6&_9RL6T diff --git a/manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/ProductCategoryExample$GeneratedCriteria.class b/manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/ProductCategoryExample$GeneratedCriteria.class deleted file mode 100644 index deacfb97a02a2e3ac7e161db0ebe6515fd3e3273..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11418 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 diff --git a/manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/ProductCategoryExample.class b/manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/ProductCategoryExample.class deleted file mode 100644 index 0f07b0eaac90b0aae47b2f0d48cf635d938b19cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2258 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 VK=GJ&!rX2~;{QTF;oaSu`9FV4kl+9S diff --git a/manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/ProductExample$Criterion.class b/manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/ProductExample$Criterion.class deleted file mode 100644 index a4ce676c07154a086e9e76d80a3bf03575494df7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2255 zcmb7FOK;p%6#nkDXFQ(qOiPmnQXo^(LMF~6!y`OOOMwn8Z3zWwN`%-s6Dv44c4T`B z`~-dizW^32Kq9Kd0*NI^ELe2Gf&~i}yd=s)2#He8xi+3httxEJefWOo`_6aIo%!OQ zPd){(ii;-dc!I+T4o`A8$>9`-r#PJE@N^XoJY(S5DlN`%=o&a{;GBTj4}(oF@xnmh z(Au_h#p(D?u+`}$kr!;86ewMB{DC|E@uiJzx1Z3*TI@1@Jw0LsVKx)5@i$7~yV;Jl z;U;goZjdca-;0xMUQ6EIb{lRO+9(ti>cOb64BKRNrBv$N~F$8#uET_K5?_HlW+FAX};8@0yt;!FRTqqP>vp1K$JMh$9s@tHA; zYF@lHG>J1_9`&hw$_u>Yw7}uktp+Ww3!Es}A32$69ofmQoU!#@;`HBm(b-i7s$O|s zwadc3l5&a{_H}ZE{;d4vnj%}saAwcayMa(9U29VCHrHD z57n`IDVBLtevUbsTj>EbF;6RjV>nK65-cadUlxMzF9d6o;I9h74`88yS^r={_O(KA zs}Nk81b%{ykG5uCc|BneujMPO5KGa^1j#1|Bl-Fhx)fR{cn(`Xa3~I$N=q+Tto| zLqDoqv-}%|yrI~Srss0@O3q%%*g5ZNmiHY(lb>kb>V{^|k`K!M@{n#02KxbBqdzlE zqM>P+(sayfCCq7MC1Ev9nM-Kq5}LUIP5zlvQk%+(wA@ECS+7tAz9edc_A=FL4F#xr mH4_!BI^wpOlbJc0nUk3rnZ#q1RN`^^tpchyNV3iDqTN{8+M diff --git a/manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/ProductExample$GeneratedCriteria.class b/manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/ProductExample$GeneratedCriteria.class deleted file mode 100644 index 391b0d786243297e7ac125c2619e5633e35edf93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19036 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 DX48^r diff --git a/manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/UserExample$Criteria.class b/manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/UserExample$Criteria.class deleted file mode 100644 index 8ff2241f5ff47e824c2d3649ddc0b549f122ae75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3509 zcma)-ZBr9h6vxknkZ4$W60E2NwW#4iqZKVRRtpF;x<*@&w)Al!w_$O!3%i@PAF40f zSIqQ9KY$;mGwla(JpX00xyYT&g_-~EefXV|J@=e*-@N_%A0nEkxJZ}jOUPG{b;t(f z6=W0gHRKz}w~#H!caZNPKR|wj`~>+K;y|_`JCHg=LVkfXAiEG3vIlt$@gPlzU!eU0 z9SF)lbbU8|B&fGEy(uWS9Mq+tLEH6Zt<~I?;fAyA@yv)F>^R=06S^3uleu`;jRc)q z4&7MtiXf}%`!ZbioG6mKa^2nun&qbB2Y#cxAM6F?SCI@?es`Mto}6l96+vT;U&oT~ zG-WM_mt_2#l)fOlWbZk@I%Usc1M6|<`i;uTnQ2ouBZ`~M$B;6~zN_qZA$8k|U9W7r zQCu;0aYnHQQ>sh0Zo98Jnh!LeW$a;4@o;4Bk~$-!Xk*v$UxX_MEyvpk1fA6^3z}4B z*Fx#=3BJdj)9*NOTA3sDTeHbg#Y#2e5Y$?pC#Y01{@~%`77`pmsMgg~si`ro`mt=t zP|cP0l(AbYagn7-vF#D3T1W(2=ZT&*i>T)@c` zhbKFRqp!(^1IY&EJo?)cNqGAkGH#bA=P;jDQih#+5H!GB7Co=CtKdePj_1~sUa}>q zxE{2^9l7eFe+(&we+#xOxX<{&remPKXAZMtL8$B?^_dB{D;eaI(}1<0rL zz@iG|A$?}iBgkVI_#CoGOBO9do&wXWzw_+-R!n) zO>!UPnyPo=Gpw1r*u@41Xp&ns{w64gaFL*ocyyPaf}edeha~>ummZp8E%KA-Ki>L3 zUE??FXcJwhX`-P;ggP~FhkE&+s4z1-cSt>d^6Qa_e1iO|;Drq5L(<~CW;h>jir;2u z_@()o*+a^8qw|?_&I=vgXGU{E>FB%}&6%j93uZK@u#P@uMsx1#=+kC27mbcCn$cWs zI=bJC<}%gMmKn|Ut)tJF(cBnPy3EgZsSI?3`?6HyhN6K7&0uasDSW)fhPvUM8siqG z#fQysZhk3#tj0#V(VZIOuBoHXn$g^Db@Zqi&3#%&kD1Zj;C1vlGn#J(9sPkB%~y(! zK5s_zU8JMO&1k;FQd-UP3*F#Op7Z6WfiIfDd}(UnOJ*=%wi@_DGng-F4LtEjmpd%| cX1;V@B)eWxiJv1po}_?o&}qJ90}6B2JN`6dLjV8( diff --git a/manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/UserExample$Criterion.class b/manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/UserExample$Criterion.class deleted file mode 100644 index 3b7f284ed8f58731219017792c4bf88d502ce508..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2243 zcmb7EU31e$6g_Lpk!8ycB_TAVjcI_|R-BlRPzs>|Vm<;*>4PED>6_y01O-LPND76Y z(4Wv>&_48`ooR-dK6Iw9{ZVc2U2SE@Xqfcn?uYi=bMD!@`s?rC{{XOpCl+e>oWo5H zw>YeFxXs}U4r?6lR8YrV6Za~#Sm)3)@xa7G0c#KjJ6__2fxzj_J@=K{_1$2%+fO1d z*j*JUy>k6SdHmzo+k0}5(8p>l8NZbtF@sRg#JBv768KW@*xNGsPRc+pE#He1J+CHj z4&;U#?D#SguyN#_O>TODe0sRQEu&}dwy$J{1J~bjBahd5(@0); zG1c0OyhKK-R{L=f$f)PLaV+Umb8`^xclX^Oq}mU{y|DW{meGUP?*4%oz8F%EkvcZDWeVG|t$V;c%A2ha6`4NCz7Nb@e_D6VLDR z?eOk0hZPf#1umVag-FHlm8C+DZKW3>K#fB3=iZYOpU^|D(~qEx0@p#a0+*sjsz!}e zkQ%8bHBwn>q{`Gt#nD)Uz&XrO{D@Xv8U>9d=QoI7)Ul5#PVlBMF;8}n}!4u=)xm>W53pU5W zja=|z?p2k?4ZDy7HmF^fv|-;+zZA%)Y3D60XYmNa5l1LH#u1EPGyi5#q8o0)5G`1u zjk<6!B^FignG~tjW-fvo zZh<-*Vwsq`#C(~UuMqQ9oDsr=x%D|UIZO~bwdhMZrwBAQ3i;WStt&Ggd$gGUa(qsjEMo9~}LH{bC MLS!}E$9Y))0%y5%aR2}S diff --git a/manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/UserExample$GeneratedCriteria.class b/manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/UserExample$GeneratedCriteria.class deleted file mode 100644 index a4c569a036f628814106a0dd2c9bf563dd11a01a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6284 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 YnPs&V58_(>Ud`v8XaXDgJc!o+0i>%VO#lD@ diff --git a/manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/UserExample.class b/manong_manager/manong_manager_pojo/target/classes/com/manong/pojo/UserExample.class deleted file mode 100644 index 9efe6a15e8fc89fdb2175af9acbb825d2da626be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2137 zcmb7G(Q?~F6g_LpmaWK+>!yJ=X=qEEI(AzFEfDI|ZIiSm#Z4XpW$4?+)&vDb%1AOp z`4ql^2bdvrLTC5@zKLNtE6KLv1W%aEtX8YN=bn4^+;#r?=Z`-D+{2cEGFm!T3}nzM zqJ#%(XshAj6dvKR!P%;st?5`dV4$U5p6Gb0stPrBZI&S z1PaL~sbfRn+%tli$mxBi-HRcIeygZi_HII|yyJ z8w!Y5Oyc=zh)NvN4{fK};YJ1&x9we5hJBxi%VVEcI$dwSxi4LhDGt0nulZGA`A>e3 z`v;D7eZZ{MCQN?CcI~h&kgYAf6wubZ9s#F2wrg$n_jfG+OS$7jq`j_mUP|9q@5!PT zerr>L%ahVEMYS8sGSr+<*)3X*g8{NI=NS1ilFO5&9vGp6>iwUXpI$7$>|6& zEoOB9n3nVYiN*gRV#f0YmTHq^7^$v!7P_&Yq`>0Yq6BJWc&1|&D0h8}9vmDrEw~-Z z?sqTbL3D6*xxno4JsU3l?Mg==*L5t(dW>za?{}@IwmSYw%0PFNeN9}(g24I6%8`(d zeP6y-<}`5;mrPv1tciEzCg#sr?_k41vUk)pQR8J%PPg(guNs->ZPrnJxle^ zjR^sRV^EEJd(ysB`nWu*Rh7w>k-eV4F)PO$TFQ7@VE;(v=)w(L z(nL>+1y;#<2J@KWoXT>1k1MN;5PVkZZy@S#k@@BgvWL)qjdow*Smq88UE^$;e^>ct z#xb~t_xVP(aU;QNGe?GN`Fi6JxemLib!rqq=uy=ctm9G5czQ;mq=vpKZq#VRN^`s309g&{^v0w3#Ssf zh1;a76ix?g<5gTcB{)8)JIvk02ML39f++z_N})B5pl9&)cuk8u+MB7G%%Qj@KEy{v zQiyjG#LWb;TK^q|P71a$;us%&omw?e!L1Z_HNno&7z6BkLu@C(UKnB@p(yYZ%Hw&m z(TP@RF0j@dvCfg{JbzS`&0>=*40Byfa(&Ei1&F^fuj3QOvh9RatOG5kG=SR|xvL&K5~|D(3$HMYP!@4{7m7QHHop jW|9mU=2afP&lBI8P!(ae7V?eCkk diff --git a/manong_manager/manong_manager_pojo/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/manong_manager/manong_manager_pojo/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst deleted file mode 100644 index 00e3879..0000000 --- a/manong_manager/manong_manager_pojo/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ /dev/null @@ -1,15 +0,0 @@ -com\manong\pojo\UserExample$Criteria.class -com\manong\pojo\ProductExample$Criterion.class -com\manong\pojo\User.class -com\manong\pojo\ProductCategoryExample$GeneratedCriteria.class -com\manong\pojo\ProductCategoryExample$Criteria.class -com\manong\pojo\Product.class -com\manong\pojo\UserExample$GeneratedCriteria.class -com\manong\pojo\ProductExample.class -com\manong\pojo\ProductExample$GeneratedCriteria.class -com\manong\pojo\UserExample.class -com\manong\pojo\ProductCategoryExample$Criterion.class -com\manong\pojo\ProductExample$Criteria.class -com\manong\pojo\UserExample$Criterion.class -com\manong\pojo\ProductCategory.class -com\manong\pojo\ProductCategoryExample.class diff --git a/manong_manager/manong_manager_pojo/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/manong_manager/manong_manager_pojo/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst deleted file mode 100644 index e2b5c9b..0000000 --- a/manong_manager/manong_manager_pojo/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ /dev/null @@ -1,6 +0,0 @@ -F:\githubproject\manong\manong_manager\manong_manager_pojo\src\main\java\com\manong\pojo\UserExample.java -F:\githubproject\manong\manong_manager\manong_manager_pojo\src\main\java\com\manong\pojo\ProductCategoryExample.java -F:\githubproject\manong\manong_manager\manong_manager_pojo\src\main\java\com\manong\pojo\ProductExample.java -F:\githubproject\manong\manong_manager\manong_manager_pojo\src\main\java\com\manong\pojo\ProductCategory.java -F:\githubproject\manong\manong_manager\manong_manager_pojo\src\main\java\com\manong\pojo\User.java -F:\githubproject\manong\manong_manager\manong_manager_pojo\src\main\java\com\manong\pojo\Product.java diff --git a/manong_manager/manong_manager_service/manong_manager_service.iml b/manong_manager/manong_manager_service/manong_manager_service.iml deleted file mode 100644 index b696ca0..0000000 --- a/manong_manager/manong_manager_service/manong_manager_service.iml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_service/target/classes/com/manong/service/ProductCategoryService.class b/manong_manager/manong_manager_service/target/classes/com/manong/service/ProductCategoryService.class deleted file mode 100644 index cbde1b01fd726e7c0591c5a8ee36b2a6706505b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 479 zcmaixO-{ow5QU%H($E5hJuAe9Ztw=N33LGhsVEW^fdiO$2#!*_vYkq~8Ve4qI$!R!@W_?Z=W~{~#&E zT<}upoTrb*`gpjkR9=<5c^)(LQk84rD@zQ=|4*DGGgBCTAzXbozO_X0C_pxZlpi)2 zM&B`?op`Hs9;_@tH{@nUJGyd4hkI2vo(7Ui^0XqJ{!M(}?RQ{5HI>ciQk7xL-7mSN zWalcQ!zL_-VP>X$Dzpiqxn+m{JixHC%J=%dpv-p}7+T@0fOdzWjZV;OLAB5gI>I^- O&K~-q7Ghg;Hs1h!P?CWF diff --git a/manong_manager/manong_manager_service/target/classes/com/manong/service/ProductService.class b/manong_manager/manong_manager_service/target/classes/com/manong/service/ProductService.class deleted file mode 100644 index 32ac7ec9504c95d2cad2537662349c2fca595f8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 249 zcmYk1!4APd5QhJul)6az1a4gP(wj3vnh<@0wKlTNwkzFj6R+mr0X&r0QsOi-|9tuX znaA^X2M}ZAW9TCwj0~&AzSO6RTS7cdxXz=T6}mV_7oF*--7RLxdprnp(S;FPqYKwp z$}XIVlE(f_!s%wy(o1Hp>r$Q^6QsH-xmZah2w@ASqO2ts^NiJuF!{?ipUpSE1qtH@ hjTCd|?T(q?wof2*+*3fuBXr>buJ+J(3c+u53|?kvMiKx3 diff --git a/manong_manager/manong_manager_service/target/classes/com/manong/service/UserService.class b/manong_manager/manong_manager_service/target/classes/com/manong/service/UserService.class deleted file mode 100644 index 7cd24cfd122be8f03dd4b6a861bbdaba47959caf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190 zcmX^0Z`VEs1_l!bPId-%b_Nbc2JZCKlF;JRBBx5v6h;PZ4WF#UvPAuy#JqHU&%Bb< z^wc72O`qiaT>ad{ynLWwL4H=gK1hQ#BLi1(erZv1s#|7GDkFmcNH93Hs4O!%RS#qc zBZC~0KA2CNmT3aAHRnSWANYH|r1BLgD?6VQbW42&#{49pBHAQl5FkYr+D0|1Ep BGt>Y8 diff --git a/manong_manager/manong_manager_service/target/classes/com/manong/service/impl/ProductCategoryServiceImpl.class b/manong_manager/manong_manager_service/target/classes/com/manong/service/impl/ProductCategoryServiceImpl.class deleted file mode 100644 index e0d2f86e139c3c6aced650548c7c84e364fb7ade..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4142 zcmbVP`&%4m6@F*g-C33anoUC8H1|XTNywUp#=4|Y0!gzeAqfyL)r!OJgbZ0`wllLy zsP}4Zz0^y+HeRb$tkt&Bx{;#wuC@Aa_&@lI#`nw&%d$}5@p)k8yPR{rbKdiw@65jW z-`8FT(2aj4k-?OTt4TyKC68hf4`R9zhhR0qMoGn^O>p2Qk$@+oaucrMx;$>Em{IXq z60M@zf)6F}VSGfUAC>9HWb|ngsX;+qOKmmIrL&U<~j zXH448%vrruG8_e+19^KoGp$>;HOZGOX3no9+M^&nRJJ^G+88xmbE0VUT9)nUo@raI zg8K(-XENiK9MhV-?C8_Rb=$d`nJ{$A&0N;=9*@lERfSA%*|V>kj!~f5_%YKmz2gcR zIyy%cMEmT5p`dlZw2Z;>^n~Gz=sZn9YQWCx#ZlccWgad@y(=b<@2(BQHJoc^-pH8K zrDAx?@;guApE~$H0_+P0ti{A~bx(cD$a>V5RJt z#f*s4Qqs`fnX)eeXG#m%K2oQ7Y%QO9j?;@h%e3m#BT~)7o}RzTy6~Chm(ERI z1Vlx}w^V#PC~g(sQP4PSPFlKGc8K)Rwdrwe86D)jCcRKts73|Hmz$~0wpI5qGT=LeiJ@O+Hs`O~M4@VWW*W79=l~zc9 z4d2E0G<+Y=X*i5~Rs2B15Ai&S>!auwc(3E=GeTU_K*NvlV>x10!%y%6S)t*lcu~X8 z@N7 z@P>xJ<4q0!z^nq*E$8!w%M!h}Cf0S{w=Dccx6e&X8F}6Xoh#T`nGFguHL|NDwR!;& z@5KZCn_EH4Vq$~KD7CndBb{`1swIvN`$a^>ykoF;E?jO3j&v;Po$GOkWt!62aKhel z^3k$h9I+MjFR!lu$M(J&d{%4a#KmQO=h^0}4I{hmjUbOfb|dx;tpxAPuPcu-sw(WYdDY-*N+{P&zhg_zijElI@@)^Fndu5*pQu z<-n6+D!74yO2t9{c3f&XNUium!4d!H%}X*7-nxvYi6$1(#@Hy&ZsGByxO_5MEYGf5 z&CusC?BL76Hx||@&s-uOda{~)!m}5s*v#X5J=&Wnd(xR3*h%<>w~_+{wTaS;u5YT9 z3cqF;pCAxG6gSyf9HwONnvCd?bjPWA)}7?%0-2pFR5=}yI_h52Mo7SF&Gra)T7&je zL(c>2HRSu$NS`D>Wf!~n;huqlckn+VcRb%m_^BV~yPNMQ-|QHCzLPVNlfS@{u8ag%~2nUD-rBkyb0% zP(iAKjlpD71)GCW8<%e)k-B>pvDDitNT(C?*h0m7M2WjwQ`;)oUcrtEcBW(L#2j`- zFgAPV>2&NBIvw=`&GP33a1VdlY(+D+G34#oft|!$z!T`ib2xw( zagbf?kPprfHODZ5<9IhmgLnk*K`&GRB?L@HC(uXW5_kdqI7#rD@jOo94B^{>XYddP z=uHNX<19xpS^?T973`g>?w#k}1@2jh-l6lViXj!lDn?XXR59xRjRAM~)2MO9Jr(a& zaR~|^cj(WmLJONw06e)(ejX1WGdcCBb(6Ku> zw~B6mh%SA>I6g>A2~t$D&_KQI&@th2KF>V*zAH_XiPO?}NZUa=70pITTM}w#I?5nA z$NaTeI>t$CtScR>VE-(V;bs`(ftnC0x&d!ga4;Q9QMV%?SwjuU`si3c>2?a6nW3#X zO^W46sWVLdLoCw)hIft<7f6F4T*NRTzvzd2ny~C9AO>Xx^zmx&ANleV+QbRcq!0g<>Lp=vp5uR#a6L$ir_uO7hQM5$ diff --git a/manong_manager/manong_manager_service/target/classes/com/manong/service/impl/ProductServiceImpl.class b/manong_manager/manong_manager_service/target/classes/com/manong/service/impl/ProductServiceImpl.class deleted file mode 100644 index 12319bc514415d6ab5cbb83ce2aef46c947f362d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2113 zcmai0Yg5}s6g~1w#t2A4fx1uv^kp!K(ll*TOi6%}U}_!(3Z>~wHftj)OCCvv@(=oR z+L;a{Wu~7y{TKNonVywpB2t`=2JPzZIrpBud+(ZmUi|qNfP1KBFn~e^v-muNIXvjX z8+h1_c`T?{%pfJ#Quso}QU+b};}IUq!&BAupPU`K^paqD5RhuyVdc$gO zVyk5<(!`M6o^d3??J2mIi?SQeq0?p+CQHHRrtlivrdaVDoAajS(}^0UkcsKYr)u{< zTuJEcw%am2|3X`Tu2>93EE(R(W7m`^OE!#};I@?_^W{3noc4xlmVPm~N2Y76lc*3O z(-3k>jHuvR>CiYb^rmlGy0j3GmT`)9)oHt{nf^hutV{EOu!1595fUvzh4S=*4Mrpn zUOv5(M*9TwuY{fLq`NT37=>W9vy9iXGh0s6t%ygaOwdr6*vAtMLM~55LjF&$uquM0unb-c>*YgHVWEs)!M~hK zmg7s>!imppt4D^_6zf$5{ket7)|m%hsWT|Qa}vWS-x3Tuy2-cJ0$_};!TAK<;aiejqT?Lj%_p8B zc8d7aA4ue%AsNH&IZ}IPP*ba0`)0T PG2G{BjFH=CI0O6(Oyehz diff --git a/manong_manager/manong_manager_service/target/classes/com/manong/service/impl/UserServiceImpl.class b/manong_manager/manong_manager_service/target/classes/com/manong/service/impl/UserServiceImpl.class deleted file mode 100644 index 99cfe98e3c81e44cbc170527cce1ac095f5ca9e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1567 zcma)6TTc@~7(LS#7TO{xpdtcZP|I}@@mfRyF=xDAZo*M|<$a{Xt4ywL(OWVGzsMntV(k>|J2KKgeLeJl`Wt3pA)!Gqoj1(rY1{2{6&GJ+2+{t-Y zJIdCTYPsIQW+RZ}n)Om86`H=*_HspmnM{61?n=8X*>%nhRZ02T18`Mu$E(9IH>Q~~ z*dc?kM$3&il0`^%tesGV(A*|akK^l5u@wtuwccC_q;syT{PnU70>#EI{tIWam1ZDJ z`MeH7fq@3UTBysmiE#J$LGAXcE&ZC^M`xEi*2}ICqi-{m&P%$bEK2yiqD`;n zJL-2zWPwXLG1ZQ#2?IlK;q%t%m;Km zn|_b(*-x-yxRn@5{6POmBK`?IF?>VsTk)1z37AUbusEJX4^jJYinyowy&cCS#|50L zGgxX=X)<6vo*N~H9!&G}7+Lh;0&~tG&a6S4XLf>-2KPqfA|sa=p&a{Iu#mAZWidaF X8AfB6jYOK``YeA*R+!+<8T9@F - - - - - - file://$MODULE_DIR$/src/main/resources/spring/applicationContext-Dao.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/target/classes/com/manong/controller/FileController.class b/manong_manager/manong_manager_web/target/classes/com/manong/controller/FileController.class deleted file mode 100644 index a39f5f48f92edf58359826ceda3fd973a1d4358b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1571 zcmb7E$x;(R82*|hjD(;pB7&%hs6mi%K~ZsIt)eOjMJO(wI!O~6Ce!0g56Tm0dGh2{ zA3;4RF6GgK&w)OLW%>6c1W>FpsY);Z^8Nk&%Y6Iw@e6=qOeWEQbB#!&-z?{o7{Fiy zE@0>Y>?AJYl7-6_t}xW!lCIQu7-H%EC5HHfDhP%{8R?4qVJRp4MV@m=(wb3u?ksU% zntMeU*DEq$IGf35TG=cHsHa zEiU`KBpxY$&3+_ub}4kU^ti9>+3l0T8tu=l@^x-IoZ@7)@iU-hKm*Nisb)+{fpMLg zG#vMVZ^~+(Uz_D##M#0yMVxw^7oL{N4J=$`=v)Y0ElXla29lC9=DJGrNX>BlpAX7O zw_x+Ct-T-~h9b}u$tx2}taB$MPW2_BR}^Jzq-Lzhk#ZEDpUW;XT&n>f@Q9umSA`Ao z@7>FAo||%M;qReZ3wlH~f-x1$s?g61Q(}fTv+Z=vkSPhnz`idJ=m|pU4NurR9-}EF z(P-gX3M06l!VTQCK*C$NZQ)J|cX5wOy|wvl>+`E0FP?0DdiUe$^Y71IS{O@V91{$E z|I^M4%{$#Pms=Hiy+>5;PvR3RojNauCetQ4i<%;alKFzu;3+zj&x-l4EBzK z^4UhFbG|G}mpdk#E)|R6@V5Ql@#)z`c9{pdupHRav`ffWY@38L5S$2cUM?7LGq!{g0)Onig3Q5CdJAJ#v3<>kmFkY3%?55Pegi|;`-#_!K z13e#&w5I50)6Qs5oPQ7YCQ>)iS|15paFEWavH=dEnQja%Xhl47UMH{^$xaM>Kpl1D z2gDdQ5uY9WipIA{wAR0aHTaq=Vlb%24>&?N9XO1m=tfr*p{I;ei9mR0BR%yFY1_%Z zj_g4M*iUp@M5f3RyEea1jc{gt2cGnJGZ=?Pd zJRx}C1NbP!IEl)wieRPn*yEWqXU_QB_b*=oJVC310Jj5d1h`YhU2F!p7htQ5?K18& zl%6TA+;fI}v(;lL?3=!1SnMh-Uu8)s?Hdusf*Y!oVW%6JgeO89 zJ>Zei&YC!umUpa_iLj>xB2(992vTwWQpT}ic--t7JK*WaDm^&1B9UWbPkE;J0WpZ% zt?r396Fe3KdE|T$h}lds-VOoHCl&KD{(~EJGeD-RI&W zmLJOZ84*7aqtUGXnTRtIqr`{PE{eV(MdI-xt(7B_*+_Pj7i{JC?jQMf7b*Wrnb9K-s& zK`_)rzrW{b1Yzcg$BX9QlljFn1*P%L18rjyWqOwW%Y*qoX|2+UlVxO!4?lr@q)iSr zT1yjW6<29rn+9M3i*%xnuuM@txkF$%vJ1QQTs{98g*@KYiyz1{MX5|~mne35g0wn~ yo*_{l>R2JfYaWB_b^2G|fu*=XyS4dsN`KZ_qdJZMtkWPyHz#~=O<4H8*MT1=>Ec`f diff --git a/manong_manager/manong_manager_web/target/classes/com/manong/controller/PageController.class b/manong_manager/manong_manager_web/target/classes/com/manong/controller/PageController.class deleted file mode 100644 index af62f0b5d7503c068d76f094032cfc4dfae551f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1862 zcmah}U31e$6g_JvQLxnj0n$P#0TPlp0k)qhtY(XQ`lfu*_^c4b!uVbGRw zW|bR5ovQ+upC^IwyL!`){bonkf*>@?_+bzW+^dHXkLX2y(B6tvSMP<<8`;z+3>j+X>0NBXBk$Hs0jY@xoRc9rZX*55ET`D*2~ ziAnWR|H)x{!%N@OP1*E=R)5vcGwdg-*Rx0hqr0k;Fb_xmYyo}|xH-u2hO%559SxAZ zJe2HVh#SgmA2CKeH?Mv@Xz6`{iwi@G6;j~*5l@*IYOR()HDhZ(RZ2%2xou2OKIUKr zMMGZSa0;FLM1lE~#rGd0Q1UXx`kFmHmyw?sza#5@Y*^3Kpd=1@N3xhX;k#1rg*%~q zsN#c{>n|d$tE-j{nO}_8%GOtEgh}M-N4{0tg+b}uwK}mEW|+)lHb{qt@Ul;AF3#aR zdrT4NeHSi1aPXarRor**y^9(iI9PM>10FhfraT7{n(e!t?-VtOd8^@P%^mF- z-k!In#&#Id;-pf0wq?8C7-+lQCmEGKu>XGw1a54xs1xsmZOMZJ3RVYZoovnw+^rNO zhwbm+Et}|jrNG{_wQ1-$=4-=ClIwP8Tk?7kS+D;_oOH|HQ~4Mhked zbciuB;@m#OIEy=Dp^9li6RG!x*`1MN;sLkq0e8nz`{Dz-%Z!O-mn| z#MC4GD2}aH-q<)1cu=#B5N&7T=8;n^eQMoLvaVH}$RpM8^eR=)Kt4*nJvB~;gq_?m zvGKbC<(1V#fy$l@N$pC_#QIsy+8DOqpAH+tdBd-mD90*5(+G@)Q;7Ol96I=4qjU4w^s{E>P;kTCh-Kh)b1I~ zUCPOWW^t^BHox4ldEQwOFQE1x>%XY2KZ zM}v&6-Knn2x{1TVvhC}iQ=Ryys@-Ot>3`xxMJatx$cXtMhmmbC8Y*eCbM#{yb_jIq zd~dM~>>;n+xhDHR=sD3GhUg{3f(D^JQfcH53(DdS%cH{ZY$ybFFD7uXq(19y_CQ{T zeO=K1Cb2Qkgr%EGOww7S4m3_-MWMT3!HF6NCP|JILml-gJ{(W6+ofX|O2P?DAK272 z^w%bvtHq%q=nu(e7Dx6otx3Vw`(`!r9J+-JB~xHCkqv%E>}ncl?O?-0N8P{I|inKEz%`3xd!E)tPD|i6Hvi54 j#3=vwiMsV#|I19+c>gl@U&5U{zPmk!pYYyK-lzWnZ4K_w diff --git a/manong_manager/manong_manager_web/target/classes/com/manong/controller/ProductConrtroller.class b/manong_manager/manong_manager_web/target/classes/com/manong/controller/ProductConrtroller.class deleted file mode 100644 index 40ad12e33d5fdcad0cc3f2bf92bf11037ee18645..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1408 zcmb7DTTc@~6#iygD3lfu6y&1Z1WUOrC^04&6C`Rd;_G%yLZKDU0`It?uTAg9eRORtf&p&*P#qO?FRyn z3)(QWW<3A+$jGW{X!F4>D(MIAkt~JUoVoHcz}={ay5SjBCT!;u&-cQo0*T!Gp+Is| zmr1Fw;Q4B&UM(u~S~8o!KtY#eW>aj5yzW10u-&#OP`=Qa5iZT~9Y--=cCMN8u zctIFfCoq`X+L|xa^oe$#%i!##@hquiO&&9+*y7db22*sY_^;)5-MxMJ4OMiDo?mXQ zd|!R6t03H#wHjN+OdY4PQfI2H8&Acx^aLKY?Pz<*pvEDnXS#ew!0D@F+LLx1p)yzI z^*`tl;RuH4nX)>P^-6fyWGz+&oYfUJHIS$3vZ-si)`3LbivO+0z1~+%(ys#T^G-y9 zr{WfH*ZvyMMKFKF+JGoaTi8qt`_6I{NFV6BDXABp-Kyc3SIdelpU6`wu+Vk@0XwO5 zcve#`LoSvogC1luNTDl*hZziDFoS8#2;^EG)<5@Bpx>r-E0Rxew|JsT+<~c<==RSN zQ+(o`eDZ=H(^Gcy)=8PBOi+>;&nz{U()xAeze0TG#X&Dm>kJH{kEeB|1Nw1;lD(!q z5e2`YOw!hy{{m-h{2Yk{c9uTT(nLv90(Xco5h3N9-Z2v6a1*y8^j-|{=Fro@Fm4mq zQXZf-!vCXhAp(qHJVFDe92)QP=V(BLi2#$o^&zWIQD?8|VQbu_Oi*Sm&4qI$9c(XN rXF1EJ%tb6Go6eUkv$%&@0`?GQ4)=Nf$t@Rgb1=^|4)T``UjTjq+7Du? diff --git a/manong_manager/manong_manager_web/target/classes/com/manong/controller/UserController.class b/manong_manager/manong_manager_web/target/classes/com/manong/controller/UserController.class deleted file mode 100644 index aa5149c34978a0892545852d9c2c80c4dd2a59da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1069 zcma)5TTc@~6#k~At+eGLC>JkS5Rr>{OhrX)V>oH=LC_nmLfnf>+q$4>yy@VJZuYNHszVg*ZhSi*7%j~FUx zBJGj19TiH3T0Jyv-WJ;ECZ_`*<;VSuO@{fyR6Es{Cn`}vB)7CSPB>+B!tkPQEa76S zbo11TwmdiXJrAVN2|pE~Gq%e`55TulXU>(C4Wcc+R9d-L4Efcy6NZr;(;z()b*1H- zv>izMR!}vDsk#Y8bRw+s{$+5)ohd56GN?W@+F27t(qA6&_(v;5MYP-AJVAxo# zw?s$qNYJHswUbS0H`fNaV$(7iix=t}rU*7Y1VzIAF~iJt@Zl{wmjMryZVYzkP<}{d z;`T%wQ#+}0p(CP{S}@Li4gT>$$R~#9L)$)_Gl^+Za@#bz#JF^ImIuPm%t?D?sQ=G? zAl%vC$q;+_$fP!uua%$M^f77f58zu>HMCaA<79na zVf`D}m+W|q)?yZ%z&P!z7YUfaBzerMM?M4Z6Iq^OW9wg$+xU)r4tq~NQy>RVQYH(` zQmwg+sCJQjNklMA;}#KCDDO6AX!Sa$$j(x9?j2ZydEBAcUHVF1=snuxa6elYde?dY F`~l6?9cTam diff --git a/manong_manager/manong_manager_web/target/classes/com/manong/fastdfs/FastDFSClient.class b/manong_manager/manong_manager_web/target/classes/com/manong/fastdfs/FastDFSClient.class deleted file mode 100644 index f73ee5bd5658deda103f447a79d346f2caef7af2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3461 zcma)9>wgnf8h$37c9LOQYD>i^Xi>yA&_+dZX#kgo7Ak4V5~y1%#%Vf9r%YzzWCC?> z>fZ17D|=U5c6BeMuBkuS-}=oD{zLm|mwnF6q)9Y_A9CiL_q_M_dEc3Q@V|He4d5}n ztzrb9Rk46)#IhK}Af8pZTu`wO&k0&y!SgZbSW;2IvI0Xz5v3?rRG3(e;-Yw3Vks-I z6*y5;RJ;IJMHQZk0o25DNx@|mabYZuwHPTcM)A2QJ}=H+Q1L~4Nx@4oK3`U`2d{|b z%VPP8g0Bi^zNX;o68fs1TX3CZTI&bY6m-c9snZ+cTzZWNYOm!#$@jS)>ePoPuu6>#ixzAyM{L%&LU@GXtm>Ear0FDQ>`Kkcd9IQ`=?aM=oy#xPibV;L#YrYd5X@x}z3*P^QyMUND$u)48= zrB|zGbZ>ET{c%Ck@CL3bcvHh)@w$XPokl@hK{fmhe;3yOpyZQdYNDKU8Wid5?ry|7{=gYi^Nij*7-C*gU|v^Y={vpPxgMG5z`DoU^D zZq9h2X4nNIHTnz(3{l|ercIG;?0j#=UN+X|2$eSbjUmfy#;UcYsy}lD&rHXpY;P7h zEyf9Tb1t1Vf_Dtz(&|z}cTf}C@RH}xW;g+YHVMxRD4c8(c8qj1+RG-US_}m{EC29Np7|uII=b1eX>^_+GlTrx0{Eg6bDKMvd(L#OV>~7KWZ2vpxK2S%`gdCSAxWbv8se1X(7rXijMl(0(r1?2s6mmj8!UA#*$=rM*e&if?# z80a8Fjq_XeAv{jKhe=J*&M{g#f=}TnKFxiarxSRB`VZ4;igu6D@)6{CzsUUs(hH=Q zxL+mRBHiO&q_oIt^wHbLs9&bWD0Mx-q(^X^r^9^8coGwo?xGL7D1DTaT*xQWZk(E) zB%c-1L`UtEc_Fu#moKP@zle&5oOe;7U5d6(aND5BHZc<$&xDwbJlP9Q6AD_S!`kCQDobvM)KylcQPSjSQInp0t4rUvOmhK>}n>ViX z7UUZkSQr=_*ipw&9d~YGXB~H)zJd6{ChjI!@7cgEt^>Q9+k3gKvJ& gV42S0JZ-Ep_lJmzATu#U{sWVBROr?`i4i>ge~1HQ<^TWy diff --git a/manong_manager/manong_manager_web/target/classes/conf/fdfs_client.conf b/manong_manager/manong_manager_web/target/classes/conf/fdfs_client.conf deleted file mode 100644 index 84eab9b..0000000 --- a/manong_manager/manong_manager_web/target/classes/conf/fdfs_client.conf +++ /dev/null @@ -1,8 +0,0 @@ -connect_timeout = 2 -network_timeout = 30 -charset = UTF-8 -http.tracker_http_port = 8080 -http.anti_steal_token = no -http.secret_key = FastDFS1234567890 - -tracker_server = 65.49.227.129:22122 diff --git a/manong_manager/manong_manager_web/target/classes/mybatis/sqlMapConfig.xml b/manong_manager/manong_manager_web/target/classes/mybatis/sqlMapConfig.xml deleted file mode 100644 index edbc230..0000000 --- a/manong_manager/manong_manager_web/target/classes/mybatis/sqlMapConfig.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/target/classes/properties/db.properties b/manong_manager/manong_manager_web/target/classes/properties/db.properties deleted file mode 100644 index d3e91ec..0000000 --- a/manong_manager/manong_manager_web/target/classes/properties/db.properties +++ /dev/null @@ -1,4 +0,0 @@ -jdbc_url=jdbc:mysql://localhost:3306/manong?characterEncoding=utf-8 -jdbc_user=root -jdbc_password=admin -jdbc_driver=com.mysql.jdbc.Driver \ No newline at end of file diff --git a/manong_manager/manong_manager_web/target/classes/spring/applicationContext-dao.xml b/manong_manager/manong_manager_web/target/classes/spring/applicationContext-dao.xml deleted file mode 100644 index db2f305..0000000 --- a/manong_manager/manong_manager_web/target/classes/spring/applicationContext-dao.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/target/classes/spring/applicationContext-service.xml b/manong_manager/manong_manager_web/target/classes/spring/applicationContext-service.xml deleted file mode 100644 index 30a855a..0000000 --- a/manong_manager/manong_manager_web/target/classes/spring/applicationContext-service.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/target/classes/spring/applicationContext-trans.xml b/manong_manager/manong_manager_web/target/classes/spring/applicationContext-trans.xml deleted file mode 100644 index 5b3cef2..0000000 --- a/manong_manager/manong_manager_web/target/classes/spring/applicationContext-trans.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/target/classes/spring/springmvc.xml b/manong_manager/manong_manager_web/target/classes/spring/springmvc.xml deleted file mode 100644 index d23c677..0000000 --- a/manong_manager/manong_manager_web/target/classes/spring/springmvc.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/manong_manager/manong_manager_web/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst deleted file mode 100644 index 75a9fa3..0000000 --- a/manong_manager/manong_manager_web/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ /dev/null @@ -1,7 +0,0 @@ -com\manong\controller\UserController.class -com\manong\controller\ProductCategoryController.class -com\manong\controller\FreemarkerTest.class -com\manong\fastdfs\FastDFSClient.class -com\manong\controller\ProductConrtroller.class -com\manong\controller\PageController.class -com\manong\controller\FileController.class diff --git a/manong_manager/manong_manager_web/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/manong_manager/manong_manager_web/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst deleted file mode 100644 index 2da470f..0000000 --- a/manong_manager/manong_manager_web/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ /dev/null @@ -1,7 +0,0 @@ -F:\githubproject\manong\manong_manager\manong_manager_web\src\main\java\com\manong\controller\FileController.java -F:\githubproject\manong\manong_manager\manong_manager_web\src\main\java\com\manong\controller\ProductConrtroller.java -F:\githubproject\manong\manong_manager\manong_manager_web\src\main\java\com\manong\controller\UserController.java -F:\githubproject\manong\manong_manager\manong_manager_web\src\main\java\com\manong\controller\PageController.java -F:\githubproject\manong\manong_manager\manong_manager_web\src\main\java\com\manong\controller\FreemarkerTest.java -F:\githubproject\manong\manong_manager\manong_manager_web\src\main\java\com\manong\fastdfs\FastDFSClient.java -F:\githubproject\manong\manong_manager\manong_manager_web\src\main\java\com\manong\controller\ProductCategoryController.java diff --git a/manong_manager/manong_manager_web/target/tomcat/conf/logging.properties b/manong_manager/manong_manager_web/target/tomcat/conf/logging.properties deleted file mode 100644 index 76c9512..0000000 --- a/manong_manager/manong_manager_web/target/tomcat/conf/logging.properties +++ /dev/null @@ -1,64 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You 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. - -handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler - -.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler - -############################################################ -# Handler specific properties. -# Describes specific configuration info for Handlers. -############################################################ - -1catalina.org.apache.juli.FileHandler.level = FINE -1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs -1catalina.org.apache.juli.FileHandler.prefix = catalina. - -2localhost.org.apache.juli.FileHandler.level = FINE -2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs -2localhost.org.apache.juli.FileHandler.prefix = localhost. - -3manager.org.apache.juli.FileHandler.level = FINE -3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs -3manager.org.apache.juli.FileHandler.prefix = manager. - -4host-manager.org.apache.juli.FileHandler.level = FINE -4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs -4host-manager.org.apache.juli.FileHandler.prefix = host-manager. - -java.util.logging.ConsoleHandler.level = FINE -java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter - - -############################################################ -# Facility specific properties. -# Provides extra control for each logger. -############################################################ - -org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO -org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler - -org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO -org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler - -org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO -org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.FileHandler - -# For example, set the org.apache.catalina.util.LifecycleBase logger to log -# each component that extends LifecycleBase changing state: -#org.apache.catalina.util.LifecycleBase.level = FINE - -# To see debug messages in TldLocationsCache, uncomment the following line: -#org.apache.jasper.compiler.TldLocationsCache.level = FINE diff --git a/manong_manager/manong_manager_web/target/tomcat/conf/tomcat-users.xml b/manong_manager/manong_manager_web/target/tomcat/conf/tomcat-users.xml deleted file mode 100644 index 7114f5d..0000000 --- a/manong_manager/manong_manager_web/target/tomcat/conf/tomcat-users.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - diff --git a/manong_manager/manong_manager_web/target/tomcat/conf/web.xml b/manong_manager/manong_manager_web/target/tomcat/conf/web.xml deleted file mode 100644 index cc8383c..0000000 --- a/manong_manager/manong_manager_web/target/tomcat/conf/web.xml +++ /dev/null @@ -1,4283 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - default - org.apache.catalina.servlets.DefaultServlet - - debug - 0 - - - listings - false - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - jsp - org.apache.jasper.servlet.JspServlet - - fork - false - - - xpoweredBy - false - - 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - default - / - - - - - jsp - *.jsp - *.jspx - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 30 - - - - - - - - - - - - 123 - application/vnd.lotus-1-2-3 - - - 3dml - text/vnd.in3d.3dml - - - 3g2 - video/3gpp2 - - - 3gp - video/3gpp - - - 7z - application/x-7z-compressed - - - aab - application/x-authorware-bin - - - aac - audio/x-aac - - - aam - application/x-authorware-map - - - aas - application/x-authorware-seg - - - abs - audio/x-mpeg - - - abw - application/x-abiword - - - ac - application/pkix-attr-cert - - - acc - application/vnd.americandynamics.acc - - - ace - application/x-ace-compressed - - - acu - application/vnd.acucobol - - - acutc - application/vnd.acucorp - - - adp - audio/adpcm - - - aep - application/vnd.audiograph - - - afm - application/x-font-type1 - - - afp - application/vnd.ibm.modcap - - - ahead - application/vnd.ahead.space - - - ai - application/postscript - - - aif - audio/x-aiff - - - aifc - audio/x-aiff - - - aiff - audio/x-aiff - - - aim - application/x-aim - - - air - application/vnd.adobe.air-application-installer-package+zip - - - ait - application/vnd.dvb.ait - - - ami - application/vnd.amiga.ami - - - anx - application/annodex - - - apk - application/vnd.android.package-archive - - - application - application/x-ms-application - - - apr - application/vnd.lotus-approach - - - art - image/x-jg - - - asc - application/pgp-signature - - - asf - video/x-ms-asf - - - asm - text/x-asm - - - aso - application/vnd.accpac.simply.aso - - - asx - video/x-ms-asf - - - atc - application/vnd.acucorp - - - atom - application/atom+xml - - - atomcat - application/atomcat+xml - - - atomsvc - application/atomsvc+xml - - - atx - application/vnd.antix.game-component - - - au - audio/basic - - - avi - video/x-msvideo - - - avx - video/x-rad-screenplay - - - aw - application/applixware - - - axa - audio/annodex - - - axv - video/annodex - - - azf - application/vnd.airzip.filesecure.azf - - - azs - application/vnd.airzip.filesecure.azs - - - azw - application/vnd.amazon.ebook - - - bat - application/x-msdownload - - - bcpio - application/x-bcpio - - - bdf - application/x-font-bdf - - - bdm - application/vnd.syncml.dm+wbxml - - - bed - application/vnd.realvnc.bed - - - bh2 - application/vnd.fujitsu.oasysprs - - - bin - application/octet-stream - - - bmi - application/vnd.bmi - - - bmp - image/bmp - - - body - text/html - - - book - application/vnd.framemaker - - - box - application/vnd.previewsystems.box - - - boz - application/x-bzip2 - - - bpk - application/octet-stream - - - btif - image/prs.btif - - - bz - application/x-bzip - - - bz2 - application/x-bzip2 - - - c - text/x-c - - - c11amc - application/vnd.cluetrust.cartomobile-config - - - c11amz - application/vnd.cluetrust.cartomobile-config-pkg - - - c4d - application/vnd.clonk.c4group - - - c4f - application/vnd.clonk.c4group - - - c4g - application/vnd.clonk.c4group - - - c4p - application/vnd.clonk.c4group - - - c4u - application/vnd.clonk.c4group - - - cab - application/vnd.ms-cab-compressed - - - cap - application/vnd.tcpdump.pcap - - - car - application/vnd.curl.car - - - cat - application/vnd.ms-pki.seccat - - - cc - text/x-c - - - cct - application/x-director - - - ccxml - application/ccxml+xml - - - cdbcmsg - application/vnd.contact.cmsg - - - cdf - application/x-cdf - - - cdkey - application/vnd.mediastation.cdkey - - - cdmia - application/cdmi-capability - - - cdmic - application/cdmi-container - - - cdmid - application/cdmi-domain - - - cdmio - application/cdmi-object - - - cdmiq - application/cdmi-queue - - - cdx - chemical/x-cdx - - - cdxml - application/vnd.chemdraw+xml - - - cdy - application/vnd.cinderella - - - cer - application/pkix-cert - - - cgm - image/cgm - - - chat - application/x-chat - - - chm - application/vnd.ms-htmlhelp - - - chrt - application/vnd.kde.kchart - - - cif - chemical/x-cif - - - cii - application/vnd.anser-web-certificate-issue-initiation - - - cil - application/vnd.ms-artgalry - - - cla - application/vnd.claymore - - - class - application/java - - - clkk - application/vnd.crick.clicker.keyboard - - - clkp - application/vnd.crick.clicker.palette - - - clkt - application/vnd.crick.clicker.template - - - clkw - application/vnd.crick.clicker.wordbank - - - clkx - application/vnd.crick.clicker - - - clp - application/x-msclip - - - cmc - application/vnd.cosmocaller - - - cmdf - chemical/x-cmdf - - - cml - chemical/x-cml - - - cmp - application/vnd.yellowriver-custom-menu - - - cmx - image/x-cmx - - - cod - application/vnd.rim.cod - - - com - application/x-msdownload - - - conf - text/plain - - - cpio - application/x-cpio - - - cpp - text/x-c - - - cpt - application/mac-compactpro - - - crd - application/x-mscardfile - - - crl - application/pkix-crl - - - crt - application/x-x509-ca-cert - - - cryptonote - application/vnd.rig.cryptonote - - - csh - application/x-csh - - - csml - chemical/x-csml - - - csp - application/vnd.commonspace - - - css - text/css - - - cst - application/x-director - - - csv - text/csv - - - cu - application/cu-seeme - - - curl - text/vnd.curl - - - cww - application/prs.cww - - - cxt - application/x-director - - - cxx - text/x-c - - - dae - model/vnd.collada+xml - - - daf - application/vnd.mobius.daf - - - dataless - application/vnd.fdsn.seed - - - davmount - application/davmount+xml - - - dcr - application/x-director - - - dcurl - text/vnd.curl.dcurl - - - dd2 - application/vnd.oma.dd2+xml - - - ddd - application/vnd.fujixerox.ddd - - - deb - application/x-debian-package - - - def - text/plain - - - deploy - application/octet-stream - - - der - application/x-x509-ca-cert - - - dfac - application/vnd.dreamfactory - - - dib - image/bmp - - - dic - text/x-c - - - dir - application/x-director - - - dis - application/vnd.mobius.dis - - - dist - application/octet-stream - - - distz - application/octet-stream - - - djv - image/vnd.djvu - - - djvu - image/vnd.djvu - - - dll - application/x-msdownload - - - dmg - application/octet-stream - - - dmp - application/vnd.tcpdump.pcap - - - dms - application/octet-stream - - - dna - application/vnd.dna - - - doc - application/msword - - - docm - application/vnd.ms-word.document.macroenabled.12 - - - docx - application/vnd.openxmlformats-officedocument.wordprocessingml.document - - - dot - application/msword - - - dotm - application/vnd.ms-word.template.macroenabled.12 - - - dotx - application/vnd.openxmlformats-officedocument.wordprocessingml.template - - - dp - application/vnd.osgi.dp - - - dpg - application/vnd.dpgraph - - - dra - audio/vnd.dra - - - dsc - text/prs.lines.tag - - - dssc - application/dssc+der - - - dtb - application/x-dtbook+xml - - - dtd - application/xml-dtd - - - dts - audio/vnd.dts - - - dtshd - audio/vnd.dts.hd - - - dump - application/octet-stream - - - dv - video/x-dv - - - dvb - video/vnd.dvb.file - - - dvi - application/x-dvi - - - dwf - model/vnd.dwf - - - dwg - image/vnd.dwg - - - dxf - image/vnd.dxf - - - dxp - application/vnd.spotfire.dxp - - - dxr - application/x-director - - - ecelp4800 - audio/vnd.nuera.ecelp4800 - - - ecelp7470 - audio/vnd.nuera.ecelp7470 - - - ecelp9600 - audio/vnd.nuera.ecelp9600 - - - ecma - application/ecmascript - - - edm - application/vnd.novadigm.edm - - - edx - application/vnd.novadigm.edx - - - efif - application/vnd.picsel - - - ei6 - application/vnd.pg.osasli - - - elc - application/octet-stream - - - eml - message/rfc822 - - - emma - application/emma+xml - - - eol - audio/vnd.digital-winds - - - eot - application/vnd.ms-fontobject - - - eps - application/postscript - - - epub - application/epub+zip - - - es3 - application/vnd.eszigno3+xml - - - esf - application/vnd.epson.esf - - - et3 - application/vnd.eszigno3+xml - - - etx - text/x-setext - - - exe - application/octet-stream - - - exi - application/exi - - - ext - application/vnd.novadigm.ext - - - ez - application/andrew-inset - - - ez2 - application/vnd.ezpix-album - - - ez3 - application/vnd.ezpix-package - - - f - text/x-fortran - - - f4v - video/x-f4v - - - f77 - text/x-fortran - - - f90 - text/x-fortran - - - fbs - image/vnd.fastbidsheet - - - fcs - application/vnd.isac.fcs - - - fdf - application/vnd.fdf - - - fe_launch - application/vnd.denovo.fcselayout-link - - - fg5 - application/vnd.fujitsu.oasysgp - - - fgd - application/x-director - - - fh - image/x-freehand - - - fh4 - image/x-freehand - - - fh5 - image/x-freehand - - - fh7 - image/x-freehand - - - fhc - image/x-freehand - - - fig - application/x-xfig - - - flac - audio/flac - - - fli - video/x-fli - - - flo - application/vnd.micrografx.flo - - - flv - video/x-flv - - - flw - application/vnd.kde.kivio - - - flx - text/vnd.fmi.flexstor - - - fly - text/vnd.fly - - - fm - application/vnd.framemaker - - - fnc - application/vnd.frogans.fnc - - - for - text/x-fortran - - - fpx - image/vnd.fpx - - - frame - application/vnd.framemaker - - - fsc - application/vnd.fsc.weblaunch - - - fst - image/vnd.fst - - - ftc - application/vnd.fluxtime.clip - - - fti - application/vnd.anser-web-funds-transfer-initiation - - - fvt - video/vnd.fvt - - - fxp - application/vnd.adobe.fxp - - - fxpl - application/vnd.adobe.fxp - - - fzs - application/vnd.fuzzysheet - - - g2w - application/vnd.geoplan - - - g3 - image/g3fax - - - g3w - application/vnd.geospace - - - gac - application/vnd.groove-account - - - gbr - application/rpki-ghostbusters - - - gdl - model/vnd.gdl - - - geo - application/vnd.dynageo - - - gex - application/vnd.geometry-explorer - - - ggb - application/vnd.geogebra.file - - - ggt - application/vnd.geogebra.tool - - - ghf - application/vnd.groove-help - - - gif - image/gif - - - gim - application/vnd.groove-identity-message - - - gmx - application/vnd.gmx - - - gnumeric - application/x-gnumeric - - - gph - application/vnd.flographit - - - gqf - application/vnd.grafeq - - - gqs - application/vnd.grafeq - - - gram - application/srgs - - - gre - application/vnd.geometry-explorer - - - grv - application/vnd.groove-injector - - - grxml - application/srgs+xml - - - gsf - application/x-font-ghostscript - - - gtar - application/x-gtar - - - gtm - application/vnd.groove-tool-message - - - gtw - model/vnd.gtw - - - gv - text/vnd.graphviz - - - gxt - application/vnd.geonext - - - gz - application/x-gzip - - - h - text/x-c - - - h261 - video/h261 - - - h263 - video/h263 - - - h264 - video/h264 - - - hal - application/vnd.hal+xml - - - hbci - application/vnd.hbci - - - hdf - application/x-hdf - - - hh - text/x-c - - - hlp - application/winhlp - - - hpgl - application/vnd.hp-hpgl - - - hpid - application/vnd.hp-hpid - - - hps - application/vnd.hp-hps - - - hqx - application/mac-binhex40 - - - htc - text/x-component - - - htke - application/vnd.kenameaapp - - - htm - text/html - - - html - text/html - - - hvd - application/vnd.yamaha.hv-dic - - - hvp - application/vnd.yamaha.hv-voice - - - hvs - application/vnd.yamaha.hv-script - - - i2g - application/vnd.intergeo - - - icc - application/vnd.iccprofile - - - ice - x-conference/x-cooltalk - - - icm - application/vnd.iccprofile - - - ico - image/x-icon - - - ics - text/calendar - - - ief - image/ief - - - ifb - text/calendar - - - ifm - application/vnd.shana.informed.formdata - - - iges - model/iges - - - igl - application/vnd.igloader - - - igm - application/vnd.insors.igm - - - igs - model/iges - - - igx - application/vnd.micrografx.igx - - - iif - application/vnd.shana.informed.interchange - - - imp - application/vnd.accpac.simply.imp - - - ims - application/vnd.ms-ims - - - in - text/plain - - - ink - application/inkml+xml - - - inkml - application/inkml+xml - - - iota - application/vnd.astraea-software.iota - - - ipfix - application/ipfix - - - ipk - application/vnd.shana.informed.package - - - irm - application/vnd.ibm.rights-management - - - irp - application/vnd.irepository.package+xml - - - iso - application/octet-stream - - - itp - application/vnd.shana.informed.formtemplate - - - ivp - application/vnd.immervision-ivp - - - ivu - application/vnd.immervision-ivu - - - jad - text/vnd.sun.j2me.app-descriptor - - - jam - application/vnd.jam - - - jar - application/java-archive - - - java - text/x-java-source - - - jisp - application/vnd.jisp - - - jlt - application/vnd.hp-jlyt - - - jnlp - application/x-java-jnlp-file - - - joda - application/vnd.joost.joda-archive - - - jpe - image/jpeg - - - jpeg - image/jpeg - - - jpg - image/jpeg - - - jpgm - video/jpm - - - jpgv - video/jpeg - - - jpm - video/jpm - - - js - application/javascript - - - jsf - text/plain - - - json - application/json - - - jspf - text/plain - - - kar - audio/midi - - - karbon - application/vnd.kde.karbon - - - kfo - application/vnd.kde.kformula - - - kia - application/vnd.kidspiration - - - kml - application/vnd.google-earth.kml+xml - - - kmz - application/vnd.google-earth.kmz - - - kne - application/vnd.kinar - - - knp - application/vnd.kinar - - - kon - application/vnd.kde.kontour - - - kpr - application/vnd.kde.kpresenter - - - kpt - application/vnd.kde.kpresenter - - - ksp - application/vnd.kde.kspread - - - ktr - application/vnd.kahootz - - - ktx - image/ktx - - - ktz - application/vnd.kahootz - - - kwd - application/vnd.kde.kword - - - kwt - application/vnd.kde.kword - - - lasxml - application/vnd.las.las+xml - - - latex - application/x-latex - - - lbd - application/vnd.llamagraphics.life-balance.desktop - - - lbe - application/vnd.llamagraphics.life-balance.exchange+xml - - - les - application/vnd.hhe.lesson-player - - - lha - application/octet-stream - - - link66 - application/vnd.route66.link66+xml - - - list - text/plain - - - list3820 - application/vnd.ibm.modcap - - - listafp - application/vnd.ibm.modcap - - - log - text/plain - - - lostxml - application/lost+xml - - - lrf - application/octet-stream - - - lrm - application/vnd.ms-lrm - - - ltf - application/vnd.frogans.ltf - - - lvp - audio/vnd.lucent.voice - - - lwp - application/vnd.lotus-wordpro - - - lzh - application/octet-stream - - - m13 - application/x-msmediaview - - - m14 - application/x-msmediaview - - - m1v - video/mpeg - - - m21 - application/mp21 - - - m2a - audio/mpeg - - - m2v - video/mpeg - - - m3a - audio/mpeg - - - m3u - audio/x-mpegurl - - - m3u8 - application/vnd.apple.mpegurl - - - m4a - audio/mp4 - - - m4b - audio/mp4 - - - m4r - audio/mp4 - - - m4u - video/vnd.mpegurl - - - m4v - video/mp4 - - - ma - application/mathematica - - - mac - image/x-macpaint - - - mads - application/mads+xml - - - mag - application/vnd.ecowin.chart - - - maker - application/vnd.framemaker - - - man - text/troff - - - mathml - application/mathml+xml - - - mb - application/mathematica - - - mbk - application/vnd.mobius.mbk - - - mbox - application/mbox - - - mc1 - application/vnd.medcalcdata - - - mcd - application/vnd.mcd - - - mcurl - text/vnd.curl.mcurl - - - mdb - application/x-msaccess - - - mdi - image/vnd.ms-modi - - - me - text/troff - - - mesh - model/mesh - - - meta4 - application/metalink4+xml - - - mets - application/mets+xml - - - mfm - application/vnd.mfmp - - - mft - application/rpki-manifest - - - mgp - application/vnd.osgeo.mapguide.package - - - mgz - application/vnd.proteus.magazine - - - mid - audio/midi - - - midi - audio/midi - - - mif - application/x-mif - - - mime - message/rfc822 - - - mj2 - video/mj2 - - - mjp2 - video/mj2 - - - mlp - application/vnd.dolby.mlp - - - mmd - application/vnd.chipnuts.karaoke-mmd - - - mmf - application/vnd.smaf - - - mmr - image/vnd.fujixerox.edmics-mmr - - - mny - application/x-msmoney - - - mobi - application/x-mobipocket-ebook - - - mods - application/mods+xml - - - mov - video/quicktime - - - movie - video/x-sgi-movie - - - mp1 - audio/mpeg - - - mp2 - audio/mpeg - - - mp21 - application/mp21 - - - mp2a - audio/mpeg - - - mp3 - audio/mpeg - - - mp4 - video/mp4 - - - mp4a - audio/mp4 - - - mp4s - application/mp4 - - - mp4v - video/mp4 - - - mpa - audio/mpeg - - - mpc - application/vnd.mophun.certificate - - - mpe - video/mpeg - - - mpeg - video/mpeg - - - mpega - audio/x-mpeg - - - mpg - video/mpeg - - - mpg4 - video/mp4 - - - mpga - audio/mpeg - - - mpkg - application/vnd.apple.installer+xml - - - mpm - application/vnd.blueice.multipass - - - mpn - application/vnd.mophun.application - - - mpp - application/vnd.ms-project - - - mpt - application/vnd.ms-project - - - mpv2 - video/mpeg2 - - - mpy - application/vnd.ibm.minipay - - - mqy - application/vnd.mobius.mqy - - - mrc - application/marc - - - mrcx - application/marcxml+xml - - - ms - text/troff - - - mscml - application/mediaservercontrol+xml - - - mseed - application/vnd.fdsn.mseed - - - mseq - application/vnd.mseq - - - msf - application/vnd.epson.msf - - - msh - model/mesh - - - msi - application/x-msdownload - - - msl - application/vnd.mobius.msl - - - msty - application/vnd.muvee.style - - - mts - model/vnd.mts - - - mus - application/vnd.musician - - - musicxml - application/vnd.recordare.musicxml+xml - - - mvb - application/x-msmediaview - - - mwf - application/vnd.mfer - - - mxf - application/mxf - - - mxl - application/vnd.recordare.musicxml - - - mxml - application/xv+xml - - - mxs - application/vnd.triscape.mxs - - - mxu - video/vnd.mpegurl - - - n-gage - application/vnd.nokia.n-gage.symbian.install - - - n3 - text/n3 - - - nb - application/mathematica - - - nbp - application/vnd.wolfram.player - - - nc - application/x-netcdf - - - ncx - application/x-dtbncx+xml - - - ngdat - application/vnd.nokia.n-gage.data - - - nlu - application/vnd.neurolanguage.nlu - - - nml - application/vnd.enliven - - - nnd - application/vnd.noblenet-directory - - - nns - application/vnd.noblenet-sealer - - - nnw - application/vnd.noblenet-web - - - npx - image/vnd.net-fpx - - - nsf - application/vnd.lotus-notes - - - oa2 - application/vnd.fujitsu.oasys2 - - - oa3 - application/vnd.fujitsu.oasys3 - - - oas - application/vnd.fujitsu.oasys - - - obd - application/x-msbinder - - - oda - application/oda - - - - odb - application/vnd.oasis.opendocument.database - - - - odc - application/vnd.oasis.opendocument.chart - - - - odf - application/vnd.oasis.opendocument.formula - - - odft - application/vnd.oasis.opendocument.formula-template - - - - odg - application/vnd.oasis.opendocument.graphics - - - - odi - application/vnd.oasis.opendocument.image - - - - odm - application/vnd.oasis.opendocument.text-master - - - - odp - application/vnd.oasis.opendocument.presentation - - - - ods - application/vnd.oasis.opendocument.spreadsheet - - - - odt - application/vnd.oasis.opendocument.text - - - oga - audio/ogg - - - ogg - audio/ogg - - - ogv - video/ogg - - - - ogx - application/ogg - - - onepkg - application/onenote - - - onetmp - application/onenote - - - onetoc - application/onenote - - - onetoc2 - application/onenote - - - opf - application/oebps-package+xml - - - oprc - application/vnd.palm - - - org - application/vnd.lotus-organizer - - - osf - application/vnd.yamaha.openscoreformat - - - osfpvg - application/vnd.yamaha.openscoreformat.osfpvg+xml - - - otc - application/vnd.oasis.opendocument.chart-template - - - otf - application/x-font-otf - - - - otg - application/vnd.oasis.opendocument.graphics-template - - - - oth - application/vnd.oasis.opendocument.text-web - - - oti - application/vnd.oasis.opendocument.image-template - - - - otp - application/vnd.oasis.opendocument.presentation-template - - - - ots - application/vnd.oasis.opendocument.spreadsheet-template - - - - ott - application/vnd.oasis.opendocument.text-template - - - oxps - application/oxps - - - oxt - application/vnd.openofficeorg.extension - - - p - text/x-pascal - - - p10 - application/pkcs10 - - - p12 - application/x-pkcs12 - - - p7b - application/x-pkcs7-certificates - - - p7c - application/pkcs7-mime - - - p7m - application/pkcs7-mime - - - p7r - application/x-pkcs7-certreqresp - - - p7s - application/pkcs7-signature - - - p8 - application/pkcs8 - - - pas - text/x-pascal - - - paw - application/vnd.pawaafile - - - pbd - application/vnd.powerbuilder6 - - - pbm - image/x-portable-bitmap - - - pcap - application/vnd.tcpdump.pcap - - - pcf - application/x-font-pcf - - - pcl - application/vnd.hp-pcl - - - pclxl - application/vnd.hp-pclxl - - - pct - image/pict - - - pcurl - application/vnd.curl.pcurl - - - pcx - image/x-pcx - - - pdb - application/vnd.palm - - - pdf - application/pdf - - - pfa - application/x-font-type1 - - - pfb - application/x-font-type1 - - - pfm - application/x-font-type1 - - - pfr - application/font-tdpfr - - - pfx - application/x-pkcs12 - - - pgm - image/x-portable-graymap - - - pgn - application/x-chess-pgn - - - pgp - application/pgp-encrypted - - - pic - image/pict - - - pict - image/pict - - - pkg - application/octet-stream - - - pki - application/pkixcmp - - - pkipath - application/pkix-pkipath - - - plb - application/vnd.3gpp.pic-bw-large - - - plc - application/vnd.mobius.plc - - - plf - application/vnd.pocketlearn - - - pls - audio/x-scpls - - - pml - application/vnd.ctc-posml - - - png - image/png - - - pnm - image/x-portable-anymap - - - pnt - image/x-macpaint - - - portpkg - application/vnd.macports.portpkg - - - pot - application/vnd.ms-powerpoint - - - potm - application/vnd.ms-powerpoint.template.macroenabled.12 - - - potx - application/vnd.openxmlformats-officedocument.presentationml.template - - - ppam - application/vnd.ms-powerpoint.addin.macroenabled.12 - - - ppd - application/vnd.cups-ppd - - - ppm - image/x-portable-pixmap - - - pps - application/vnd.ms-powerpoint - - - ppsm - application/vnd.ms-powerpoint.slideshow.macroenabled.12 - - - ppsx - application/vnd.openxmlformats-officedocument.presentationml.slideshow - - - ppt - application/vnd.ms-powerpoint - - - pptm - application/vnd.ms-powerpoint.presentation.macroenabled.12 - - - pptx - application/vnd.openxmlformats-officedocument.presentationml.presentation - - - pqa - application/vnd.palm - - - prc - application/x-mobipocket-ebook - - - pre - application/vnd.lotus-freelance - - - prf - application/pics-rules - - - ps - application/postscript - - - psb - application/vnd.3gpp.pic-bw-small - - - psd - image/vnd.adobe.photoshop - - - psf - application/x-font-linux-psf - - - pskcxml - application/pskc+xml - - - ptid - application/vnd.pvi.ptid1 - - - pub - application/x-mspublisher - - - pvb - application/vnd.3gpp.pic-bw-var - - - pwn - application/vnd.3m.post-it-notes - - - pya - audio/vnd.ms-playready.media.pya - - - pyv - video/vnd.ms-playready.media.pyv - - - qam - application/vnd.epson.quickanime - - - qbo - application/vnd.intu.qbo - - - qfx - application/vnd.intu.qfx - - - qps - application/vnd.publishare-delta-tree - - - qt - video/quicktime - - - qti - image/x-quicktime - - - qtif - image/x-quicktime - - - qwd - application/vnd.quark.quarkxpress - - - qwt - application/vnd.quark.quarkxpress - - - qxb - application/vnd.quark.quarkxpress - - - qxd - application/vnd.quark.quarkxpress - - - qxl - application/vnd.quark.quarkxpress - - - qxt - application/vnd.quark.quarkxpress - - - ra - audio/x-pn-realaudio - - - ram - audio/x-pn-realaudio - - - rar - application/x-rar-compressed - - - ras - image/x-cmu-raster - - - rcprofile - application/vnd.ipunplugged.rcprofile - - - rdf - application/rdf+xml - - - rdz - application/vnd.data-vision.rdz - - - rep - application/vnd.businessobjects - - - res - application/x-dtbresource+xml - - - rgb - image/x-rgb - - - rif - application/reginfo+xml - - - rip - audio/vnd.rip - - - rl - application/resource-lists+xml - - - rlc - image/vnd.fujixerox.edmics-rlc - - - rld - application/resource-lists-diff+xml - - - rm - application/vnd.rn-realmedia - - - rmi - audio/midi - - - rmp - audio/x-pn-realaudio-plugin - - - rms - application/vnd.jcp.javame.midlet-rms - - - rnc - application/relax-ng-compact-syntax - - - roa - application/rpki-roa - - - roff - text/troff - - - rp9 - application/vnd.cloanto.rp9 - - - rpss - application/vnd.nokia.radio-presets - - - rpst - application/vnd.nokia.radio-preset - - - rq - application/sparql-query - - - rs - application/rls-services+xml - - - rsd - application/rsd+xml - - - rss - application/rss+xml - - - rtf - application/rtf - - - rtx - text/richtext - - - s - text/x-asm - - - saf - application/vnd.yamaha.smaf-audio - - - sbml - application/sbml+xml - - - sc - application/vnd.ibm.secure-container - - - scd - application/x-msschedule - - - scm - application/vnd.lotus-screencam - - - scq - application/scvp-cv-request - - - scs - application/scvp-cv-response - - - scurl - text/vnd.curl.scurl - - - sda - application/vnd.stardivision.draw - - - sdc - application/vnd.stardivision.calc - - - sdd - application/vnd.stardivision.impress - - - sdkd - application/vnd.solent.sdkm+xml - - - sdkm - application/vnd.solent.sdkm+xml - - - sdp - application/sdp - - - sdw - application/vnd.stardivision.writer - - - see - application/vnd.seemail - - - seed - application/vnd.fdsn.seed - - - sema - application/vnd.sema - - - semd - application/vnd.semd - - - semf - application/vnd.semf - - - ser - application/java-serialized-object - - - setpay - application/set-payment-initiation - - - setreg - application/set-registration-initiation - - - sfd-hdstx - application/vnd.hydrostatix.sof-data - - - sfs - application/vnd.spotfire.sfs - - - sgl - application/vnd.stardivision.writer-global - - - sgm - text/sgml - - - sgml - text/sgml - - - sh - application/x-sh - - - shar - application/x-shar - - - shf - application/shf+xml - - - - sig - application/pgp-signature - - - silo - model/mesh - - - sis - application/vnd.symbian.install - - - sisx - application/vnd.symbian.install - - - sit - application/x-stuffit - - - sitx - application/x-stuffitx - - - skd - application/vnd.koan - - - skm - application/vnd.koan - - - skp - application/vnd.koan - - - skt - application/vnd.koan - - - sldm - application/vnd.ms-powerpoint.slide.macroenabled.12 - - - sldx - application/vnd.openxmlformats-officedocument.presentationml.slide - - - slt - application/vnd.epson.salt - - - sm - application/vnd.stepmania.stepchart - - - smf - application/vnd.stardivision.math - - - smi - application/smil+xml - - - smil - application/smil+xml - - - smzip - application/vnd.stepmania.package - - - snd - audio/basic - - - snf - application/x-font-snf - - - so - application/octet-stream - - - spc - application/x-pkcs7-certificates - - - spf - application/vnd.yamaha.smaf-phrase - - - spl - application/x-futuresplash - - - spot - text/vnd.in3d.spot - - - spp - application/scvp-vp-response - - - spq - application/scvp-vp-request - - - spx - audio/ogg - - - src - application/x-wais-source - - - sru - application/sru+xml - - - srx - application/sparql-results+xml - - - sse - application/vnd.kodak-descriptor - - - ssf - application/vnd.epson.ssf - - - ssml - application/ssml+xml - - - st - application/vnd.sailingtracker.track - - - stc - application/vnd.sun.xml.calc.template - - - std - application/vnd.sun.xml.draw.template - - - stf - application/vnd.wt.stf - - - sti - application/vnd.sun.xml.impress.template - - - stk - application/hyperstudio - - - stl - application/vnd.ms-pki.stl - - - str - application/vnd.pg.format - - - stw - application/vnd.sun.xml.writer.template - - - sub - text/vnd.dvb.subtitle - - - sus - application/vnd.sus-calendar - - - susp - application/vnd.sus-calendar - - - sv4cpio - application/x-sv4cpio - - - sv4crc - application/x-sv4crc - - - svc - application/vnd.dvb.service - - - svd - application/vnd.svd - - - svg - image/svg+xml - - - svgz - image/svg+xml - - - swa - application/x-director - - - swf - application/x-shockwave-flash - - - swi - application/vnd.aristanetworks.swi - - - sxc - application/vnd.sun.xml.calc - - - sxd - application/vnd.sun.xml.draw - - - sxg - application/vnd.sun.xml.writer.global - - - sxi - application/vnd.sun.xml.impress - - - sxm - application/vnd.sun.xml.math - - - sxw - application/vnd.sun.xml.writer - - - t - text/troff - - - taglet - application/vnd.mynfc - - - tao - application/vnd.tao.intent-module-archive - - - tar - application/x-tar - - - tcap - application/vnd.3gpp2.tcap - - - tcl - application/x-tcl - - - teacher - application/vnd.smart.teacher - - - tei - application/tei+xml - - - teicorpus - application/tei+xml - - - tex - application/x-tex - - - texi - application/x-texinfo - - - texinfo - application/x-texinfo - - - text - text/plain - - - tfi - application/thraud+xml - - - tfm - application/x-tex-tfm - - - thmx - application/vnd.ms-officetheme - - - tif - image/tiff - - - tiff - image/tiff - - - tmo - application/vnd.tmobile-livetv - - - torrent - application/x-bittorrent - - - tpl - application/vnd.groove-tool-template - - - tpt - application/vnd.trid.tpt - - - tr - text/troff - - - tra - application/vnd.trueapp - - - trm - application/x-msterminal - - - tsd - application/timestamped-data - - - tsv - text/tab-separated-values - - - ttc - application/x-font-ttf - - - ttf - application/x-font-ttf - - - ttl - text/turtle - - - twd - application/vnd.simtech-mindmapper - - - twds - application/vnd.simtech-mindmapper - - - txd - application/vnd.genomatix.tuxedo - - - txf - application/vnd.mobius.txf - - - txt - text/plain - - - u32 - application/x-authorware-bin - - - udeb - application/x-debian-package - - - ufd - application/vnd.ufdl - - - ufdl - application/vnd.ufdl - - - ulw - audio/basic - - - umj - application/vnd.umajin - - - unityweb - application/vnd.unity - - - uoml - application/vnd.uoml+xml - - - uri - text/uri-list - - - uris - text/uri-list - - - urls - text/uri-list - - - ustar - application/x-ustar - - - utz - application/vnd.uiq.theme - - - uu - text/x-uuencode - - - uva - audio/vnd.dece.audio - - - uvd - application/vnd.dece.data - - - uvf - application/vnd.dece.data - - - uvg - image/vnd.dece.graphic - - - uvh - video/vnd.dece.hd - - - uvi - image/vnd.dece.graphic - - - uvm - video/vnd.dece.mobile - - - uvp - video/vnd.dece.pd - - - uvs - video/vnd.dece.sd - - - uvt - application/vnd.dece.ttml+xml - - - uvu - video/vnd.uvvu.mp4 - - - uvv - video/vnd.dece.video - - - uvva - audio/vnd.dece.audio - - - uvvd - application/vnd.dece.data - - - uvvf - application/vnd.dece.data - - - uvvg - image/vnd.dece.graphic - - - uvvh - video/vnd.dece.hd - - - uvvi - image/vnd.dece.graphic - - - uvvm - video/vnd.dece.mobile - - - uvvp - video/vnd.dece.pd - - - uvvs - video/vnd.dece.sd - - - uvvt - application/vnd.dece.ttml+xml - - - uvvu - video/vnd.uvvu.mp4 - - - uvvv - video/vnd.dece.video - - - uvvx - application/vnd.dece.unspecified - - - uvvz - application/vnd.dece.zip - - - uvx - application/vnd.dece.unspecified - - - uvz - application/vnd.dece.zip - - - vcard - text/vcard - - - vcd - application/x-cdlink - - - vcf - text/x-vcard - - - vcg - application/vnd.groove-vcard - - - vcs - text/x-vcalendar - - - vcx - application/vnd.vcx - - - vis - application/vnd.visionary - - - viv - video/vnd.vivo - - - vor - application/vnd.stardivision.writer - - - vox - application/x-authorware-bin - - - vrml - model/vrml - - - vsd - application/vnd.visio - - - vsf - application/vnd.vsf - - - vss - application/vnd.visio - - - vst - application/vnd.visio - - - vsw - application/vnd.visio - - - vtu - model/vnd.vtu - - - vxml - application/voicexml+xml - - - w3d - application/x-director - - - wad - application/x-doom - - - wav - audio/x-wav - - - wax - audio/x-ms-wax - - - - wbmp - image/vnd.wap.wbmp - - - wbs - application/vnd.criticaltools.wbs+xml - - - wbxml - application/vnd.wap.wbxml - - - wcm - application/vnd.ms-works - - - wdb - application/vnd.ms-works - - - weba - audio/webm - - - webm - video/webm - - - webp - image/webp - - - wg - application/vnd.pmi.widget - - - wgt - application/widget - - - wks - application/vnd.ms-works - - - wm - video/x-ms-wm - - - wma - audio/x-ms-wma - - - wmd - application/x-ms-wmd - - - wmf - application/x-msmetafile - - - - wml - text/vnd.wap.wml - - - - wmlc - application/vnd.wap.wmlc - - - - wmls - text/vnd.wap.wmlscript - - - - wmlsc - application/vnd.wap.wmlscriptc - - - wmv - video/x-ms-wmv - - - wmx - video/x-ms-wmx - - - wmz - application/x-ms-wmz - - - woff - application/x-font-woff - - - wpd - application/vnd.wordperfect - - - wpl - application/vnd.ms-wpl - - - wps - application/vnd.ms-works - - - wqd - application/vnd.wqd - - - wri - application/x-mswrite - - - wrl - model/vrml - - - wsdl - application/wsdl+xml - - - wspolicy - application/wspolicy+xml - - - wtb - application/vnd.webturbo - - - wvx - video/x-ms-wvx - - - x32 - application/x-authorware-bin - - - x3d - application/vnd.hzn-3d-crossword - - - xap - application/x-silverlight-app - - - xar - application/vnd.xara - - - xbap - application/x-ms-xbap - - - xbd - application/vnd.fujixerox.docuworks.binder - - - xbm - image/x-xbitmap - - - xdf - application/xcap-diff+xml - - - xdm - application/vnd.syncml.dm+xml - - - xdp - application/vnd.adobe.xdp+xml - - - xdssc - application/dssc+xml - - - xdw - application/vnd.fujixerox.docuworks - - - xenc - application/xenc+xml - - - xer - application/patch-ops-error+xml - - - xfdf - application/vnd.adobe.xfdf - - - xfdl - application/vnd.xfdl - - - xht - application/xhtml+xml - - - xhtml - application/xhtml+xml - - - xhvml - application/xv+xml - - - xif - image/vnd.xiff - - - xla - application/vnd.ms-excel - - - xlam - application/vnd.ms-excel.addin.macroenabled.12 - - - xlc - application/vnd.ms-excel - - - xlm - application/vnd.ms-excel - - - xls - application/vnd.ms-excel - - - xlsb - application/vnd.ms-excel.sheet.binary.macroenabled.12 - - - xlsm - application/vnd.ms-excel.sheet.macroenabled.12 - - - xlsx - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet - - - xlt - application/vnd.ms-excel - - - xltm - application/vnd.ms-excel.template.macroenabled.12 - - - xltx - application/vnd.openxmlformats-officedocument.spreadsheetml.template - - - xlw - application/vnd.ms-excel - - - xml - application/xml - - - xo - application/vnd.olpc-sugar - - - xop - application/xop+xml - - - xpi - application/x-xpinstall - - - xpm - image/x-xpixmap - - - xpr - application/vnd.is-xpr - - - xps - application/vnd.ms-xpsdocument - - - xpw - application/vnd.intercon.formnet - - - xpx - application/vnd.intercon.formnet - - - xsl - application/xml - - - xslt - application/xslt+xml - - - xsm - application/vnd.syncml+xml - - - xspf - application/xspf+xml - - - xul - application/vnd.mozilla.xul+xml - - - xvm - application/xv+xml - - - xvml - application/xv+xml - - - xwd - image/x-xwindowdump - - - xyz - chemical/x-xyz - - - yang - application/yang - - - yin - application/yin+xml - - - z - application/x-compress - - - Z - application/x-compress - - - zaz - application/vnd.zzazz.deck+xml - - - zip - application/zip - - - zir - application/vnd.zul - - - zirz - application/vnd.zul - - - zmm - application/vnd.handheld-entertainment+xml - - - - - - - - - - - - - - - - - - index.html - index.htm - index.jsp - - - diff --git a/manong_manager/manong_manager_web/target/tomcat/logs/access_log.2019-01-08 b/manong_manager/manong_manager_web/target/tomcat/logs/access_log.2019-01-08 deleted file mode 100644 index 9dccf90..0000000 --- a/manong_manager/manong_manager_web/target/tomcat/logs/access_log.2019-01-08 +++ /dev/null @@ -1,5 +0,0 @@ -0:0:0:0:0:0:0:1 - - [08/Jan/2019:21:32:55 +0800] "GET / HTTP/1.1" 200 1895 http-bio-8080-exec-1 3037 -0:0:0:0:0:0:0:1 - - [08/Jan/2019:21:33:00 +0800] "GET /product_list?_=1546954377039 HTTP/1.1" 200 1218 http-bio-8080-exec-3 429 -0:0:0:0:0:0:0:1 - - [08/Jan/2019:21:33:23 +0800] "POST /product/list HTTP/1.1" 200 1860 http-bio-8080-exec-4 22750 -0:0:0:0:0:0:0:1 - - [08/Jan/2019:21:33:47 +0800] "POST /product/list HTTP/1.1" 200 1860 http-bio-8080-exec-5 15202 -0:0:0:0:0:0:0:1 - - [08/Jan/2019:21:34:11 +0800] "POST /product/list HTTP/1.1" 200 3693 http-bio-8080-exec-6 6602 diff --git a/manong_manager/manong_manager_web/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/WEB_002dINF/jsp/index_jsp.class b/manong_manager/manong_manager_web/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/WEB_002dINF/jsp/index_jsp.class deleted file mode 100644 index f3a34bda8b7e0357885bbf53259d465b7c72256d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6460 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 diff --git a/manong_manager/manong_manager_web/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/WEB_002dINF/jsp/index_jsp.java b/manong_manager/manong_manager_web/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/WEB_002dINF/jsp/index_jsp.java deleted file mode 100644 index d419735..0000000 --- a/manong_manager/manong_manager_web/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/WEB_002dINF/jsp/index_jsp.java +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Generated by the Jasper component of Apache Tomcat - * Version: Apache Tomcat/7.0.47 - * Generated at: 2019-01-08 13:32:53 UTC - * Note: The last modified time of this file was set to - * the last modified time of the source file after - * generation to assist with modification tracking. - */ -package org.apache.jsp.WEB_002dINF.jsp; - -import javax.servlet.*; -import javax.servlet.http.*; -import javax.servlet.jsp.*; - -public final class index_jsp extends org.apache.jasper.runtime.HttpJspBase - implements org.apache.jasper.runtime.JspSourceDependent { - - private static final javax.servlet.jsp.JspFactory _jspxFactory = - javax.servlet.jsp.JspFactory.getDefaultFactory(); - - private static java.util.Map _jspx_dependants; - - private javax.el.ExpressionFactory _el_expressionfactory; - private org.apache.tomcat.InstanceManager _jsp_instancemanager; - - public java.util.Map getDependants() { - return _jspx_dependants; - } - - public void _jspInit() { - _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory(); - _jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig()); - } - - public void _jspDestroy() { - } - - public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response) - throws java.io.IOException, javax.servlet.ServletException { - - final javax.servlet.jsp.PageContext pageContext; - javax.servlet.http.HttpSession session = null; - final javax.servlet.ServletContext application; - final javax.servlet.ServletConfig config; - javax.servlet.jsp.JspWriter out = null; - final java.lang.Object page = this; - javax.servlet.jsp.JspWriter _jspx_out = null; - javax.servlet.jsp.PageContext _jspx_page_context = null; - - - try { - response.setContentType("text/html;charset=UTF-8"); - pageContext = _jspxFactory.getPageContext(this, request, response, - null, true, 8192, true); - _jspx_page_context = pageContext; - application = pageContext.getServletContext(); - config = pageContext.getServletConfig(); - session = pageContext.getSession(); - out = pageContext.getOut(); - _jspx_out = out; - - out.write("\r\n"); - out.write("\r\n"); - out.write("\r\n"); - out.write("\r\n"); - out.write(" Title\r\n"); - out.write(" \r\n"); - out.write(" \r\n"); - out.write(" \r\n"); - out.write(" \r\n"); - out.write(" \r\n"); - out.write("\r\n"); - out.write("\r\n"); - out.write("
\r\n"); - out.write("\r\n"); - out.write("
    \r\n"); - out.write("
  • \r\n"); - out.write(" 商品分类管理\r\n"); - out.write("
      \r\n"); - out.write("
    • 商品分类列表
    • \r\n"); - out.write("
    \r\n"); - out.write("
  • \r\n"); - out.write("
  • \r\n"); - out.write(" 商品管理\r\n"); - out.write("
      \r\n"); - out.write("
    • 商品列表
    • \r\n"); - out.write("
    • 商品添加
    • \r\n"); - out.write("
    \r\n"); - out.write("
  • \r\n"); - out.write("
\r\n"); - out.write("\r\n"); - out.write("
\r\n"); - out.write("
\r\n"); - out.write("\r\n"); - out.write("
\r\n"); - out.write("
\r\n"); - out.write(" 首页\r\n"); - out.write("
\r\n"); - out.write("
\r\n"); - out.write("\r\n"); - out.write("
\r\n"); - out.write("\r\n"); - out.write("\r\n"); - out.write("\r\n"); - out.write("\r\n"); - } catch (java.lang.Throwable t) { - if (!(t instanceof javax.servlet.jsp.SkipPageException)){ - out = _jspx_out; - if (out != null && out.getBufferSize() != 0) - try { out.clearBuffer(); } catch (java.io.IOException e) {} - if (_jspx_page_context != null) _jspx_page_context.handlePageException(t); - else throw new ServletException(t); - } - } finally { - _jspxFactory.releasePageContext(_jspx_page_context); - } - } -} diff --git a/manong_manager/manong_manager_web/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/WEB_002dINF/jsp/product_005flist_jsp.class b/manong_manager/manong_manager_web/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/WEB_002dINF/jsp/product_005flist_jsp.class deleted file mode 100644 index 0b6afd5d1f23cf9df341b5aafcadfb4fb6405d5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5508 zcmb_gS$G@O75;BxTehMkBqR_8LKG2jY|9?U!AUI3hJ@H)<19obW(hcBX)H}5OJZh} z*eq>XN+~Urls(Y0v?X+*Wpy?h3Tk}qC^sR3^l>T?FJeK4bc<6lgoVoX& zd(OFMyXWZr|DHSzpbh`Jx zwU1^@+ZiU34^;w}ly21RykTipA?ui9hIX~%sf?jEh+ zm>F%mo+naW+)QP4r(hX8bNOma4KsQ+rNte~%%(a^W(IN`cay^MVIwnajOQ)Gw#{62 zbXvX(UF31i$Y?#@>Wp;Dq;$h()^_x4!Wh%Dddjc_E*>aRijx~l=#JJ`MB1*9$g?(< z$e3Bv=@yv3u3?Wr)s?xV;m2~E@56Zl7k-v%0$72dz><{VY%@mnLdNlQ8d}#-lzI-W z)6c8VGZgd87gq;KrW$Y_UM)=$HmE-m@BCt^AQT*A}pn}PTHh3 z+Dp$$ZG0gobV$mn==80tux$mIIZQvB6pyqSQ6D;}tnwpCBc7Fe0G)^lETeR@ zf`Oszsqn19BCXOLz(OqY;|gr`VT(X(Nto;}Pcs$aQgrSBuEaLFC?%*s5ZF4mW@zHh zhEhMBBPOMcy#Xx7IRXo$=WH`<$I3BJxg)7+Gr)YwA_^^YDE;m<^rH50CT>|GzZ_(1u zSf(?P)-Bs`x~?1SZQi^9yD{iPT;S4jDszbzz;&Q-i%7xs!K^blk*5llD-~#^iM3&m zbmHp+xB)kE3yrjk`OtIS2P(Bzl)O?)pRGf0wWzw1Y+lUoH}>6lwkRl(g~7I0hV#t= ztIE|NeZK@z;x)?Gz5sNL&`3N~T-^}@VbA03;`LRcMfVlfIQH zjAiYpV-<{u&09KS#Ep!RaMVnmeiS!vGotMg`8mLC(VN;M>sur1+aqnQH@iIV6o@I7 zAt#s1jObQZ_+q}pA?`6*A277K!jeNcWaSQJ-Aj-1yEE?DzRYV$QiwU;;qRi&)s*F; z+#}E-$MPXs#py;(Ba@8Qo5}jfAv5Wuqw8B+!`)_*+D*ILzbeq9Hh;$UtUhLx5hxn! z;RnwgeZ?d7HG#p;C1s9LT_v<4qd99#cj#qNJDoe!Czr$BA09t7_4H|v^4A5f`CQ6l z`T@qb#e7&oKHNQZ{O+k|PJVdm*hkO3unsUip zZ$IH>vMVed%$=vE?KAMXC>;b+dg z@j^_~T~1F4jQpQD8A;P2A8P00(}$<|JS_uX<3U}n-;r9d6PB5G-0`ylO;U={LN*~o zE95!Ux`TR#Vayndm@NCp8$!3sobbFrP;QWqIl7L^Ev|bOm%lfYGF%kPU_qY^g=6Me zDr7qo8KbK{ZJ4RF6Adw}^5dN$6=Na2;N+)>&oF~gmEVFymY0+q-q~eG6L<8)0d}Nr z&*Z~j*hiQ9!|e08Wg-Jh^~t@aY`}tNYs*_CCDz{44fRMN)idrGS=p_!>)-+TUyUlP zlzkn41MtfRh;s}0Jr4o?v-EbqS>6)X5NipR660KsG(!3Kj$_&DSotbH=ix%W7m+ZC zGM}h5be>i23W&}ouw=8`Ufp;Mt7o>>xHK2LTLSKPHP#?ZL96O4Ir?CBopzjz?y-hs_YbNpYqgWBG zogM^hz4=$^N_C<`#PE(75_`okZC58I#J#lSd^aLKK{vmfInwB!t+eN545W6PkB#(% zc6z`jI`?KYpo2deM6rQga|dGR;=XOTob;|>6Sjp-(pKzaKbzug7Ck7S7kA()+=Hv} z0KMlhz2`|{KZ^mpNdI{mJMac};uLn_U0jRbk;(^%s0+$0ubuQ-pb&MMp@)?!#RVV`J&E;`uHbR!{pkre$f#1MOweMpHMyN?Mr9rt3t zxR3B5WW-^@r`Tu6=-(~Vi#SsBboup5{7Qx{zkZGP==E#F3j7AYrH1BC2v{{W~Y{OkY# diff --git a/manong_manager/manong_manager_web/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/WEB_002dINF/jsp/product_005flist_jsp.java b/manong_manager/manong_manager_web/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/WEB_002dINF/jsp/product_005flist_jsp.java deleted file mode 100644 index f8e77cf..0000000 --- a/manong_manager/manong_manager_web/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/WEB_002dINF/jsp/product_005flist_jsp.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Generated by the Jasper component of Apache Tomcat - * Version: Apache Tomcat/7.0.47 - * Generated at: 2019-01-08 13:33:00 UTC - * Note: The last modified time of this file was set to - * the last modified time of the source file after - * generation to assist with modification tracking. - */ -package org.apache.jsp.WEB_002dINF.jsp; - -import javax.servlet.*; -import javax.servlet.http.*; -import javax.servlet.jsp.*; - -public final class product_005flist_jsp extends org.apache.jasper.runtime.HttpJspBase - implements org.apache.jasper.runtime.JspSourceDependent { - - private static final javax.servlet.jsp.JspFactory _jspxFactory = - javax.servlet.jsp.JspFactory.getDefaultFactory(); - - private static java.util.Map _jspx_dependants; - - private javax.el.ExpressionFactory _el_expressionfactory; - private org.apache.tomcat.InstanceManager _jsp_instancemanager; - - public java.util.Map getDependants() { - return _jspx_dependants; - } - - public void _jspInit() { - _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory(); - _jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig()); - } - - public void _jspDestroy() { - } - - public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response) - throws java.io.IOException, javax.servlet.ServletException { - - final javax.servlet.jsp.PageContext pageContext; - javax.servlet.http.HttpSession session = null; - final javax.servlet.ServletContext application; - final javax.servlet.ServletConfig config; - javax.servlet.jsp.JspWriter out = null; - final java.lang.Object page = this; - javax.servlet.jsp.JspWriter _jspx_out = null; - javax.servlet.jsp.PageContext _jspx_page_context = null; - - - try { - response.setContentType("text/html;charset=UTF-8"); - pageContext = _jspxFactory.getPageContext(this, request, response, - null, true, 8192, true); - _jspx_page_context = pageContext; - application = pageContext.getServletContext(); - config = pageContext.getServletConfig(); - session = pageContext.getSession(); - out = pageContext.getOut(); - _jspx_out = out; - - out.write("\r\n"); - out.write("\r\n"); - out.write("\r\n"); - out.write("\r\n"); - out.write(" 商品列表\r\n"); - out.write("\r\n"); - out.write("\r\n"); - out.write("\r\n"); - out.write(" \r\n"); - out.write(" \r\n"); - out.write(" \r\n"); - out.write(" \r\n"); - out.write(" \r\n"); - out.write(" \r\n"); - out.write(" \r\n"); - out.write(" \r\n"); - out.write(" \r\n"); - out.write(" \r\n"); - out.write("
id商品名称主图市场价格价格商品编码
\r\n"); - out.write("\r\n"); - out.write("
\r\n"); - out.write(" 搜索\r\n"); - out.write(" 编辑\r\n"); - out.write("
\r\n"); - out.write("\r\n"); - out.write("\r\n"); - out.write("\r\n"); - out.write("\r\n"); - } catch (java.lang.Throwable t) { - if (!(t instanceof javax.servlet.jsp.SkipPageException)){ - out = _jspx_out; - if (out != null && out.getBufferSize() != 0) - try { out.clearBuffer(); } catch (java.io.IOException e) {} - if (_jspx_page_context != null) _jspx_page_context.handlePageException(t); - else throw new ServletException(t); - } - } finally { - _jspxFactory.releasePageContext(_jspx_page_context); - } - } -} diff --git a/manong_manager/pom.xml b/manong_manager/pom.xml index 9b4590d..e51785f 100644 --- a/manong_manager/pom.xml +++ b/manong_manager/pom.xml @@ -23,6 +23,7 @@ org.apache.tomcat.maven tomcat7-maven-plugin + 2.2 8080 / diff --git a/manong_parent/manong_parent.iml b/manong_parent/manong_parent.iml deleted file mode 100644 index 2ee29af..0000000 --- a/manong_parent/manong_parent.iml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/manong_parent/pom.xml b/manong_parent/pom.xml index 498e2df..815c326 100644 --- a/manong_parent/pom.xml +++ b/manong_parent/pom.xml @@ -202,29 +202,29 @@ - - - - org.apache.maven.plugins - maven-resources-plugin - ${maven-resources-plugin} - - UTF-8 - - - - - org.apache.maven.plugins - maven-compiler-plugin - ${maven-compiler-plugin} - - 1.8 - 1.8 - 1.8 - UTF-8 - - - + + + org.apache.maven.plugins + maven-resources-plugin + ${maven-resources-plugin} + + UTF-8 + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${maven-compiler-plugin} + + 1.8 + 1.8 + 1.8 + UTF-8 + + + + diff --git a/manong_portal/manong_portal.iml b/manong_portal/manong_portal.iml deleted file mode 100644 index d0c8219..0000000 --- a/manong_portal/manong_portal.iml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/manong_portal/pom.xml b/manong_portal/pom.xml index 4409a2c..fd424dd 100644 --- a/manong_portal/pom.xml +++ b/manong_portal/pom.xml @@ -95,6 +95,7 @@ org.apache.tomcat.maven tomcat7-maven-plugin + 2.2 8081 / diff --git a/manong_portal/target/classes/com/manong/portal/controller/FreemarkerTest.class b/manong_portal/target/classes/com/manong/portal/controller/FreemarkerTest.class deleted file mode 100644 index d95f78dcb42dcbac18506922dfaaf3bd2ef3c235..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 987 zcmb7C+invv5IxRyNkT6vlm<$nToWR&gm^#-LaK@)9#W9nDm?Jy-I&Dft{uGIM*S;z zLh!%`@KK0y5|vvOsVl9=9?zUPbH+b@e)|sK8Cn$txEWw8z^y87V>`f|0C&r{SH^vY z(hH@Pd&!V*w)zZ(T{Dmj%RQy#n=A>XJrrR~o_fzjBJK;T{CVyyxRFX39`_=X@I+{% zhkR_T6ETmBcGkqPw7hGjOoTlqESb6vLy(Ho*D{U`!_#KZ*db5HR_WmfD-t;|_Lygi z?-7x>)9M|G6TxFa$Op~`QGPM;cMMyLa~T@@nRY6XeU&O=y`!~p!YQMP^z(C*Co<%r z(gQBeV)?%Om=W!RozQludt(ONk$nT=#udEM6j?*55yhoOCL z@zhBxjXNDnzI!HLr-nOv`W84qfBh$hJ~XOZ*8+ZPxG!^&@U--bsr zatxb`=D|=CgTaoYNragrIV)=L3J7ztkWPy*Qb1MOj-E8H-TTV CpXclV diff --git a/manong_portal/target/classes/com/manong/portal/controller/IndexController.class b/manong_portal/target/classes/com/manong/portal/controller/IndexController.class deleted file mode 100644 index caf18b78906d3d30fc986d66fec5b0a0d63e0e41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1167 zcmah|TW=CU7(GLwP`bTgv8}hZUZGItMH7=6lctHrglYn&KJ>xNE>k*ncL!%@i~U!c z7>z#o1N>3OZ-D?QG|gt_+wU@G&YW-N@4w%F06ax4j~uqv=rHqa0SV zc$~!(h80g(+15tMs4304@+8A<-O~XNM5x0y?`UI%&!c{lA6zcqW7ufKp;duAQjv0f zxgUnw3afM&F+8tp)8w{hS~^Ip(y428P(gnuNAO8h}EZBG?#Uz>6iPlwiM-jlSX-dssmX&wSiAgQ^&@W zuT-Mm>Lm?o$)Ol3Q^`kG8ma9?NAfY%94uhb!5s2glpK_?lSRcr6}t@8$*Xj={tU|_ zN#D6=(zC>565-0r$gt3sb|fCdTB&@6s+-d;=2(9j9MNj+Tk5PETT<$EX|myCkv?C# z71!YIVVfRgjvgqZL86hJr@vXU4%rl0(v#*T@;KR~F0=C!>{~CrOmk8UDq5l0=@+1Y z8{|<(Q6!LL@iAuT1ByG}k@|%hhQmrBUHyT~hr;YvN~Dm0E%u9u$xQ-T>w#_!Vtr78 kpxhdP=ZWh&HfUwSIbnH=#_eOU2zMxYw}*Ofc%n_dMV+7!HJ4CJ%4;WE~Th!<4aat>Imv zTTR#+DOIT}sd80|58A2b2dF=Vu;?Y_bO&GV1)Go%2vK(tpqMa1+&7H7jF5Z*7JxNB diff --git a/manong_portal/target/classes/com/manong/portal/service/impl/CategoriesServiceImpl.class b/manong_portal/target/classes/com/manong/portal/service/impl/CategoriesServiceImpl.class deleted file mode 100644 index 91e6e211cb27d857ffa3d662b8acb0fc3b91ede3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1437 zcmbVMU2hvj6g}g(*~HnTAx$U^r4%Ts6E__`LJOo6Qj?aTZ7aoYq&`KH&BU2>y|daK z2P(vG;V%@aN-K~M&-^IVGqxKC+)9Xt-MMq`oqNvxnEC7P-~Irwg4-2Lp%&mu1trwR zF^Od_UGo@!ceF|ixu;@h z^T$#hACOxr>1c*Lb?60wiAz7d1pirJvMblun%mJvqbV@mx4zWSW%Pzgjk_r@QeE5< zDA(;S!<>#xs_%8$J34PFQuK+~SS4F3H-6t&mfgM~=W9`H+p?`v%PcdSJC(>n=Z7ZN z(zLTg)|JyOn;Ts;dg={o$$GM--M}Vrwz?Q)_Q1+bU2G2w^c>A~(Mg=Z6ou{hIG(`V zYfcD~p6gZLSh;b3{l{2mzQ`W8;Z*$SuFAT3u!91XhVA6BzHNN6^8@S?gs=Km3RGX& zp~C50TlYBAvVUYX#9KJWr2ahtw>l=-)p>|%yb)p*H$uGWrLS-^z}F$Z!J5FCSJWZE ztq^s5OKUggKl2K)?%`JcPcJwc1D5x94s^^?*IplKs6OnF$}*kq3M^NLXMS-=)h_~@ zG3IRVW(dr({{tS!_hq)@Oj5}2oXhHo(W!gDy+E)}#T`wi3;zj{SQm#=^0DQe!lphb zhk0x-x9#t_7r1^hY&}s$u{uoeB;#J?h;!QCU)PGqM7m9b5#Ds_}wc{qS_Hc@uVB@GOA=e z(uJERAP9DzAPa=45@eAu%lM#6VF_ifAv5Gic zBr1W#2k=pdv$j**HsZnS+1WW~X3p&X{`2D(fM>~QI*R> z1&8&lMe9ZJ#Xk(x^(HUxikfGE!(w&wm`a8KVo>tJGKOty0&Y*nT`jR z-!}#hJ;knP8qSg7+j1W}Grb8Xx0<1Uf|pAP$InWQ0Be@5Xisxy>Z0&JjvK`jLD>#K*W5>6meF8 ztmzo1rvfX9_=tc~jKXr0$(;KTBZ}vZb44;<YLUpTh4V+-h*&PyHaEg z8m?(5U_pVdVHG6}6+9MLpLc&^P7P16C$K3){&x!mmM;%dpfrzI;KEGfz7tABLz+9& zoatLez}D7k^|?wkvBig@@*z}5!tK9? di_`_wC&R)tRv=5CHLpRzHtzCV;9i*F{$CzB4(9*> diff --git a/manong_portal/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/manong_portal/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index 6d60c43..81ad9c8 100644 --- a/manong_portal/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/manong_portal/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -1,5 +1,5 @@ -com\manong\portal\util\GsonUtils.class -com\manong\portal\controller\FreemarkerTest.class -com\manong\portal\service\impl\CategoriesServiceImpl.class -com\manong\portal\controller\IndexController.class -com\manong\portal\service\CategoriesService.class +com/manong/portal/util/GsonUtils.class +com/manong/portal/service/impl/CategoriesServiceImpl.class +com/manong/portal/controller/FreemarkerTest.class +com/manong/portal/controller/IndexController.class +com/manong/portal/service/CategoriesService.class diff --git a/manong_portal/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/manong_portal/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index 7efff4d..d3689a3 100644 --- a/manong_portal/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/manong_portal/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -1,5 +1,5 @@ -F:\githubproject\manong\manong_portal\src\main\java\com\manong\portal\service\impl\CategoriesServiceImpl.java -F:\githubproject\manong\manong_portal\src\main\java\com\manong\portal\service\CategoriesService.java -F:\githubproject\manong\manong_portal\src\main\java\com\manong\portal\util\GsonUtils.java -F:\githubproject\manong\manong_portal\src\main\java\com\manong\portal\controller\FreemarkerTest.java -F:\githubproject\manong\manong_portal\src\main\java\com\manong\portal\controller\IndexController.java +/home/wistbean/manong-ssm/manong_portal/src/main/java/com/manong/portal/controller/IndexController.java +/home/wistbean/manong-ssm/manong_portal/src/main/java/com/manong/portal/service/impl/CategoriesServiceImpl.java +/home/wistbean/manong-ssm/manong_portal/src/main/java/com/manong/portal/controller/FreemarkerTest.java +/home/wistbean/manong-ssm/manong_portal/src/main/java/com/manong/portal/service/CategoriesService.java +/home/wistbean/manong-ssm/manong_portal/src/main/java/com/manong/portal/util/GsonUtils.java diff --git a/manong_portal/target/tomcat/logs/access_log.2019-02-26 b/manong_portal/target/tomcat/logs/access_log.2019-02-26 deleted file mode 100644 index 0ca3c13..0000000 --- a/manong_portal/target/tomcat/logs/access_log.2019-02-26 +++ /dev/null @@ -1,90 +0,0 @@ -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:37:20 +0800] "GET / HTTP/1.1" 200 13143 http-bio-8081-exec-1 7645 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:37:21 +0800] "GET /img/search.gif HTTP/1.1" 404 979 http-bio-8081-exec-3 26 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:37:21 +0800] "GET /img/banner1.png HTTP/1.1" 404 981 http-bio-8081-exec-2 51 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:37:22 +0800] "GET /img/banner2.png HTTP/1.1" 404 981 http-bio-8081-exec-5 6 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:38:59 +0800] "GET / HTTP/1.1" 200 137440 http-bio-8081-exec-7 2259 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:38:59 +0800] "GET /img/banner1.png HTTP/1.1" 404 981 http-bio-8081-exec-8 4 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:38:59 +0800] "GET /img/search.gif HTTP/1.1" 404 979 http-bio-8081-exec-9 4 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:00 +0800] "GET /img/banner2.png HTTP/1.1" 404 981 http-bio-8081-exec-10 5 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:00 +0800] "GET /img/banner/banner3.jpg HTTP/1.1" 404 995 http-bio-8081-exec-8 10 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:00 +0800] "GET /img/banner/bannerI1.jpg HTTP/1.1" 404 997 http-bio-8081-exec-8 4 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:00 +0800] "GET /img/banner/bannerI2.jpg HTTP/1.1" 404 997 http-bio-8081-exec-2 6 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:00 +0800] "GET /img/banner/banner4.jpg HTTP/1.1" 404 995 http-bio-8081-exec-5 4 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:00 +0800] "GET /img/banner/bannerI5.jpg HTTP/1.1" 404 997 http-bio-8081-exec-6 5 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:00 +0800] "GET /img/banner/bannerI6.jpg HTTP/1.1" 404 997 http-bio-8081-exec-6 4 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:00 +0800] "GET /img/banner/banner5.jpg HTTP/1.1" 404 995 http-bio-8081-exec-5 4 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:00 +0800] "GET /img/banner/bannerI7.jpg HTTP/1.1" 404 997 http-bio-8081-exec-10 4 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:00 +0800] "GET /img/banner/bannerI4.jpg HTTP/1.1" 404 997 http-bio-8081-exec-8 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:00 +0800] "GET /img/banner/banner6.jpg HTTP/1.1" 404 995 http-bio-8081-exec-4 4 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:00 +0800] "GET /img/banner/right1.webp HTTP/1.1" 404 995 http-bio-8081-exec-2 41 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/banner/banner7.jpg HTTP/1.1" 404 995 http-bio-8081-exec-10 5 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/banner/banner8.jpg HTTP/1.1" 404 995 http-bio-8081-exec-4 4 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/banner/bannerI3.jpg HTTP/1.1" 404 997 http-bio-8081-exec-8 2 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/banner/right1.jpg HTTP/1.1" 404 993 http-bio-8081-exec-1 5 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/banner/bannerI8.jpg HTTP/1.1" 404 997 http-bio-8081-exec-2 47 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/content/summer.png HTTP/1.1" 404 995 http-bio-8081-exec-2 4 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/content/first1.jpg HTTP/1.1" 404 995 http-bio-8081-exec-1 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/content/first2.jpg HTTP/1.1" 404 995 http-bio-8081-exec-8 2 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/content/first4.jpg HTTP/1.1" 404 995 http-bio-8081-exec-10 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/content/first3.jpg HTTP/1.1" 404 995 http-bio-8081-exec-4 2 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/content/first5.jpg HTTP/1.1" 404 995 http-bio-8081-exec-6 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/content/sec_1.jpg HTTP/1.1" 404 993 http-bio-8081-exec-2 15 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/content/sec_3.jpg HTTP/1.1" 404 993 http-bio-8081-exec-6 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/content/sec_2.jpg HTTP/1.1" 404 993 http-bio-8081-exec-2 5 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/content/tubiao/tubiao_3.jpg HTTP/1.1" 404 1013 http-bio-8081-exec-8 4 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/content/tubiao/tubiao_2.jpg HTTP/1.1" 404 1013 http-bio-8081-exec-4 10 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/content/tubiao/tubiao_1.jpg HTTP/1.1" 404 1013 http-bio-8081-exec-10 20 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/content/tubiao/tubiao_4.jpg HTTP/1.1" 404 1013 http-bio-8081-exec-1 20 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/erWeiMaBackground.png HTTP/1.1" 404 1001 http-bio-8081-exec-2 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/qipao.png HTTP/1.1" 404 977 http-bio-8081-exec-6 5 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/right_top.png HTTP/1.1" 404 985 http-bio-8081-exec-8 4 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/erWeiMa1.jpg HTTP/1.1" 404 983 http-bio-8081-exec-4 35 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/content/tubiao/tubiao_5.jpg HTTP/1.1" 404 1013 http-bio-8081-exec-2 8 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/content/tubiao/tubiao_7.jpg HTTP/1.1" 404 1013 http-bio-8081-exec-10 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/content/tubiao/tubiao_6.jpg HTTP/1.1" 404 1013 http-bio-8081-exec-1 12 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/content/tubiao/tubiao_11.jpg HTTP/1.1" 404 1015 http-bio-8081-exec-6 4 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/content/tubiao/tubiao_9.jpg HTTP/1.1" 404 1013 http-bio-8081-exec-4 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:01 +0800] "GET /img/content/tubiao/tubiao_10.jpg HTTP/1.1" 404 1015 http-bio-8081-exec-8 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/tubiao/tubiao_8.jpg HTTP/1.1" 404 1013 http-bio-8081-exec-2 32 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/tubiao/tubiao_12.jpg HTTP/1.1" 404 1015 http-bio-8081-exec-1 7 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/tubiao/tubiao_13.jpg HTTP/1.1" 404 1015 http-bio-8081-exec-8 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/four_r1.jpg HTTP/1.1" 404 997 http-bio-8081-exec-6 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/four_1.png HTTP/1.1" 404 995 http-bio-8081-exec-4 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/tubiao/tubiao_14.jpg HTTP/1.1" 404 1015 http-bio-8081-exec-2 4 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/four_wei.jpg HTTP/1.1" 404 999 http-bio-8081-exec-1 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/four_xi.jpg HTTP/1.1" 404 997 http-bio-8081-exec-10 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/f11.jpg HTTP/1.1" 404 989 http-bio-8081-exec-10 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/f12.jpg HTTP/1.1" 404 989 http-bio-8081-exec-1 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/f14.jpg HTTP/1.1" 404 989 http-bio-8081-exec-4 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/f13.jpg HTTP/1.1" 404 989 http-bio-8081-exec-2 5 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/f15.jpg HTTP/1.1" 404 989 http-bio-8081-exec-6 7 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/f16.jpg HTTP/1.1" 404 989 http-bio-8081-exec-8 18 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/four_2.png HTTP/1.1" 404 995 http-bio-8081-exec-8 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/f28.jpg HTTP/1.1" 404 989 http-bio-8081-exec-6 2 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/f23.jpg HTTP/1.1" 404 989 http-bio-8081-exec-4 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/f22.jpg HTTP/1.1" 404 989 http-bio-8081-exec-2 2 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/f21.jpg HTTP/1.1" 404 989 http-bio-8081-exec-1 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/f24.jpg HTTP/1.1" 404 989 http-bio-8081-exec-10 6 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/f25.jpg HTTP/1.1" 404 989 http-bio-8081-exec-10 4 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/f26.jpg HTTP/1.1" 404 989 http-bio-8081-exec-1 4 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/six_1.jpg HTTP/1.1" 404 993 http-bio-8081-exec-6 4 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/f27.jpg HTTP/1.1" 404 989 http-bio-8081-exec-4 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/seven_1.jpg HTTP/1.1" 404 997 http-bio-8081-exec-8 4 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/five.jpg HTTP/1.1" 404 991 http-bio-8081-exec-2 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/xia.png HTTP/1.1" 404 989 http-bio-8081-exec-2 4 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/love.jpg HTTP/1.1" 404 991 http-bio-8081-exec-8 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/puer.jpg HTTP/1.1" 404 991 http-bio-8081-exec-4 4 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/huwai.jpg HTTP/1.1" 404 993 http-bio-8081-exec-6 7 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/images/map_1_01.png HTTP/1.1" 404 1013 http-bio-8081-exec-5 2 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/images/map_2_02.png HTTP/1.1" 404 1013 http-bio-8081-exec-10 4 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/images/map_4_02.png HTTP/1.1" 404 1013 http-bio-8081-exec-5 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/images/map_3_02.png HTTP/1.1" 404 1013 http-bio-8081-exec-10 4 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/images/eweimaIMG.png HTTP/1.1" 404 1015 http-bio-8081-exec-6 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/tianMaoPic.png HTTP/1.1" 404 987 http-bio-8081-exec-4 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/police.png HTTP/1.1" 404 979 http-bio-8081-exec-8 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:02 +0800] "GET /img/content/images/map_bottom1.jpg HTTP/1.1" 404 1019 http-bio-8081-exec-2 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:03 +0800] "GET /img/content/four_tu.png HTTP/1.1" 404 997 http-bio-8081-exec-6 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:03 +0800] "GET /img/content/images/map_bottom2.jpg HTTP/1.1" 404 1019 http-bio-8081-exec-2 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:03 +0800] "GET /img/tianMao-picture.jpg HTTP/1.1" 404 997 http-bio-8081-exec-8 2 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:03 +0800] "GET /img/content/four_jiantou.png HTTP/1.1" 404 1007 http-bio-8081-exec-4 3 -0:0:0:0:0:0:0:1 - - [26/Feb/2019:15:39:03 +0800] "GET /img/content/tianmao.png HTTP/1.1" 404 997 http-bio-8081-exec-5 3 diff --git a/manong_portal/target/tomcat/logs/access_log.2019-03-26 b/manong_portal/target/tomcat/logs/access_log.2019-03-26 new file mode 100644 index 0000000..e0e1144 --- /dev/null +++ b/manong_portal/target/tomcat/logs/access_log.2019-03-26 @@ -0,0 +1,7 @@ +0:0:0:0:0:0:0:1 - - [26/Mar/2019:22:20:23 +0800] "GET /css/index.css HTTP/1.1" 200 27585 http-bio-8081-exec-2 63 +0:0:0:0:0:0:0:1 - - [26/Mar/2019:22:20:23 +0800] "GET /img/search.gif HTTP/1.1" 404 979 http-bio-8081-exec-4 36 +0:0:0:0:0:0:0:1 - - [26/Mar/2019:22:20:23 +0800] "GET /css/public.css HTTP/1.1" 200 183 http-bio-8081-exec-3 32 +0:0:0:0:0:0:0:1 - - [26/Mar/2019:22:20:23 +0800] "GET / HTTP/1.1" 200 12919 http-bio-8081-exec-1 1764 +0:0:0:0:0:0:0:1 - - [26/Mar/2019:22:20:23 +0800] "GET /img/banner1.png HTTP/1.1" 404 981 http-bio-8081-exec-5 47 +0:0:0:0:0:0:0:1 - - [26/Mar/2019:22:20:24 +0800] "GET /img/banner2.png HTTP/1.1" 404 981 http-bio-8081-exec-10 2 +0:0:0:0:0:0:0:1 - - [26/Mar/2019:22:20:24 +0800] "GET /img/tianMlogo.png HTTP/1.1" 404 985 http-bio-8081-exec-10 3 diff --git a/manong_portal/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/index_jsp.class b/manong_portal/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/index_jsp.class deleted file mode 100644 index a28efffa0a63ae94b33eb9b6b5c9fe81fed4ae19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3691 zcma)8ZF3XX6@IQQYwh*gfCD8W5KKx^ENm|YY(O%k7~4UPZ76b}fu!ytucbBeYO`8_ zpl#ANZIY(%?@7L9I&`MfPMl7h(9Sf|FZs}))DKOcdskksBs)_EYj^KG_nhZE=k5Oc zzkmNHfRlJnLx;fQ6~Aa&o>eH>=4#b59e3HTFY!%7Lg4B6u2uDH-}Gy4;H=r^-IC*01IsPgYnE#jZC~Ka zb1_na%38q+%v?igJ`|$O?ukO#ah>3TKjH^Om1SGUKJ3@@LCIk>4#a&W8(Wz~7yA@E8T>GGdm7N_2iDV1h7TT4)JYQMVHPZqv0IMYIaFR zYFq0DvX~IqOLT1+&w7n0+_oZQR4y3kL%)u%VN%0IffKP>SZ(elEj7`|U;~#h#XKZ} z76F0Dota^XvqSM@+@bI!#u)>0tl|38dMIt!Qy?76zmHr zFyq~G=((rS99UtTm9gvh>9qM!OB_VlBJT#Bb(qZdU~{EG)K{ zWI4YqaHyFEnfoz8DVLT%-!fp~HiJZ`^5Gy5cq+>HYGX#lSX9G88Co`AV?`jzvsY^D z1?|nIQF1qYC$Rl&H%bB>eY%cSlr`LGYdTHh2G(SRy6(xt-KcQpl`3oYs0_Y@{)z!# z3TP`8|DNS9%NPX)YPicn^6j$CaUFA6y4BKRT1a8GYN&IRwNsbB<9Je6l#J4a2L`^4 z?}QzHvbM5f`+4U9Q;3r-C-+}9@S2<&y#-?NLkS7|`v!i1*I5W9%Uv!jjFDdU$an%S zmi)>+Ig^M@$2@){2hr;q-rOuBm8Ovt$?(GpW%FxsHWos4@7OG5&Jx}LRJjVYGSq&k zk)8C)i`T&67Hh54l9h@~kwe?a%~rief-uD4-ABm|gzwVMQeksW2rAj9l!PT3`7TFq zKClXRct27TT*L2qt80#ByFaR*G5^C`+l(Wx1O3s>a8w@WWZ1mZ-L4g<>w)dc3lnD| zz2aXN5;!2Q7QAcfay)abm+u`g_{YJZ-r0QlOj2qO1}O0uzf3;mKkXCj{TmLf^R)v9 z`P)y$phzc0lg#TwY6leOJtTHm9`8zjjKf<;lS=0J#j zeuU{Qe4%THd6yd`o+B|EMXO#;bc%BtQnmZCC zy@zY-B9joAE|EzN4_tYKuXjKKKRzrHdj^r%z>S5GOmbucw{Gy~oAPH#{uDBaR3g)r zN(>Y?;A}pU1MUVqDo7`hVS{dZx==XW0>aU+%d41K9& zO54Eq9-{9bn13;)eT*M|x~b(Mc4xXbKT_SFt~0ZGIN5ID4cuk3d6h27@Av7-=WO=n8P3W{0kQF0j{V(TvOS<-UtM###{KY z%B*#~jh`?mM`-n@_!$v);;+>83;LGCpYcn+brJ8M@GI^nX*r8u<2S6Q-_oNTw9g4h z(;zhbP9sJQtLpzta^;QBnc3ajY;sHPKac+Zpl6m}vK0S7g&lO^T|O7`^B1q`&4sSd t=CA7M{GfWw=*I_73@U+9cC%1ay`|^$vEfsh@ss+Q%=qcy(|USZ{~xg6;2{72 diff --git a/manong_portal/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/index_jsp.java b/manong_portal/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/index_jsp.java index 8370ad8..8556373 100644 --- a/manong_portal/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/index_jsp.java +++ b/manong_portal/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/index_jsp.java @@ -1,7 +1,7 @@ /* * Generated by the Jasper component of Apache Tomcat * Version: Apache Tomcat/7.0.47 - * Generated at: 2019-02-26 07:37:14 UTC + * Generated at: 2019-03-26 14:20:22 UTC * Note: The last modified time of this file was set to * the last modified time of the source file after * generation to assist with modification tracking. @@ -59,8 +59,8 @@ public void _jspService(final javax.servlet.http.HttpServletRequest request, fin out = pageContext.getOut(); _jspx_out = out; - out.write("\r\n"); - out.write("\r\n"); + out.write('\n'); + out.write('\n'); if (true) { _jspx_page_context.forward("home.html"); return; diff --git a/manong_redis/manong_redis.iml b/manong_redis/manong_redis.iml deleted file mode 100644 index 2ee29af..0000000 --- a/manong_redis/manong_redis.iml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/manong_redis/target/manong_redis-1.0-SNAPSHOT.jar b/manong_redis/target/manong_redis-1.0-SNAPSHOT.jar deleted file mode 100644 index 31e053029193e2e01d06f0dd1a88161beb5cf1e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1523 zcmWIWW@h1H0D)H%RDHn=D8UJ&eO*Hwbv^yu^aG&EI2c|6l?lq6yif#`?gC;FWM#gN zex7cw!6ACSZl8V6oc8h7)w{^+t*dqJ%=yhh23L$9JT21kI(I_HTi1z${mGKBDPr0O zR4R7P@iH#?R zlWn~_j)}yspOP~nR;-HcBiph)F?(VdU~a_p3O}+Na}&!_^WYxBR4j+7I5|I8FFQ3a zB{MHQqcjtbUTuPUa})FO^U~vsQd2UE;RbOqbO~|z`c8D4Aqwt`rgg}~!YfO&mM(GhiYo2adE6AeVd7hc`SI6V7@R}$?e6cb zE;qXOrBrlVjP$}3skH$@tuaPZxg(cc{Qc3guE$K}KyTRnIX5qCT_(ycV!fXmao zU8GNW^-a-Jxc&YCqiUX)K;LoiYkLL5Bd?dP*!{g}w@T!}=Xuoy!dX(>nL1N@&Odcq z(_4R6%WZA^=lI_r#1@gj{f@2DJs$Ir;>?p*C4+O1il=@vRX3gLCAPe=De;@p zMeeoddYxyiy2wAho_AV$W8x9@XG`-Q-Rk4d_rLitwf=~~B4Pi}r&#kU-EutznvRNH zu#ms5+s2xEg6Xrtjxfvhc6yI%^LV&*IPzGo*@&mjH0QYU<)Qh6cv$k_0H^fthUX?$ z0Ry=jh%HGE?1G~Fg4Cjt%+%uGGXJyQx?Vb-zJVUALO%HFc%OazG>DJAs5zKhgvUpe zM|Ta+nYBE+qH~&^MS6I6bSrkA3hM4M{`@(I_bX3H^IsX}Cfh&G6+16=fAZ$G3C@}P zx%lg*;LkxupD!7E8CUKU>h?0aEHv4>A!ui3<d?B5ekEv$BDVVh2Jcph3HtK|BDxmC!r@ diff --git a/manong_redis/target/maven-archiver/pom.properties b/manong_redis/target/maven-archiver/pom.properties deleted file mode 100644 index 43404ac..0000000 --- a/manong_redis/target/maven-archiver/pom.properties +++ /dev/null @@ -1,5 +0,0 @@ -#Generated by Maven -#Wed Sep 05 18:07:19 CST 2018 -version=1.0-SNAPSHOT -groupId=com.kendinghui -artifactId=manong_redis diff --git a/manong_redis/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/manong_redis/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst deleted file mode 100644 index e69de29..0000000 diff --git a/manong_redis/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/manong_redis/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst deleted file mode 100644 index e69de29..0000000 diff --git a/manong_rest/manong_rest.iml b/manong_rest/manong_rest.iml deleted file mode 100644 index a738cfd..0000000 --- a/manong_rest/manong_rest.iml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/manong_rest/pom.xml b/manong_rest/pom.xml index d4c5e04..07df23b 100644 --- a/manong_rest/pom.xml +++ b/manong_rest/pom.xml @@ -103,6 +103,7 @@ org.apache.tomcat.maven tomcat7-maven-plugin + 2.2 8088 / diff --git a/manong_rest/target/classes/com/manong/rest/controller/ProductCategoriesController.class b/manong_rest/target/classes/com/manong/rest/controller/ProductCategoriesController.class deleted file mode 100644 index 681905d163237919c2c43483904e7985987427ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1043 zcmbVL+invv5FMwvkaSB+APwc(a*=wGu#gZ!0wI+ko|cQ!Dla@B?`9etcJ0OXCdyxd zgoNOM58$H^<4qgdCL>j;MfBhen98OazK+z(@&@>D3T2Hc=^+)iEm&Ek~D3^uyCax%r9v@%L?Un%W` zlUi8@k3ww*+-63q!I2Ruj- z8Q@f(!bO^G?}V8iYTiZrt`M$pP-Hzmk&!{`FENXC7-PgEsrsiS=;Ftmbbl$bj5H(q z%19(R&Dok?8c(Ek3?43&crmrjXe;Lod6q8ps)5w4YUD+(dqQLKdBGdb7uzFT~^ULx^rjl{k`4i`Tc(P^4CAV{Q+PrZbYyF zM`frH1jINRK?q01BN;&oS_FLCTf8~t$ck}FJWdLkQxO`S7H_A8u~&uv*JQjNLA}tc7XtOd(is_NWxOGw zCS#eYY|`md9c|pSrU%tbMzbU|$CKt{Y*IB$W1NGSjO{HY+9e^nFKamZq;^2J_0hD} zV;H8RI=X4t61K%nYdmIWEZrC%v(!oLq-hh{^a0h<#kW5ha*pYA-T1xSV3qKI~$Qi&BwXj&{VUy?S; zla}siWJ|`I{Oa?+By7G<8;!FnG*(?0kV{k~e}mx7^) zr^W?#y0$a0EelNL6;w&)gjUA_tr8hm6oBh)Ny1T+$638@{<{TEd`AhfjC16ksVw3Y zd1{$1O6!|EUul&Uo;YS&PFHi0cY$wFG6|GA{u?S10(y!T7r13@r%&e8vcIhI0>+{Q~s1s}wWg{}YR422U$(rdftzv%j=u*&%HVG?A zFel;BMY6yz69wn-HUUv^0q-by7w;+9h$a~q6}*oRXnnqxdn`+x76nbF6?}+~B&;jp zyC`cEe2h;d)GZQ^f=l>R!DqP42I%_q^2HGiy*I0;Q<|mVb9|xTOI(ovFhmC(9| z%L)?Mui$H3SMUwKRq!3IOW3-2d<)Bphe=+r57f+A0Q0dAk4|Vw_QTlStlcFS3N_pv zc0Pl9{u8>;{tguRj zFCr~&>0%#2HN`Lsb~zj7VF^n-o8mgig8~h_Qf>e{7k>~cNoDDG8jEo5hZzJ8-9j)vgAm8? zU|SAlL+!y|A?Hwju;mw2wB1G|fX>hiDk-6KhJzhtHD%GzZ7h-SJw|7+l=I6v^7E3MIR4t1?RG1!p1!9Cm@uo~r9gDR{=4IbgYIwI7-?X5>IF&rRz zhlpR2_?;zY=ZM-xYF{EO*C=y?P~7C74+5ky0x^KS{CW~HwR*7)Ptp2CUj94Lg$i`= zg5Qm&2`vHh!7QhZ?RbW8R^ck1MGxVx!DVXiB(yE`x{JCYMl^-z_!h=)YS(kkv%80O zJ*j~?sW_zuDOHES9Xgd|49OUlu~)|PGWPL5>HHfLbj4QBr(p5~O;%9pg3r&O&*V@$ znd}TjL#?w!wtGbS{Dpn~hG$SuavI2AxRAfQvbJuH+x2Y)Wc}DSPg4h$Fe(9L7a{6K zEdg9h$eIb(Hp10|9T+B9#|c!H;GE(7c@iNgd5Jsfq5KOtKuU%==TXvz7w3q$;1j`} z;~?jGzom^s^cJAMDVLHUy=GiWLiGExONmEBEu}p9J$&=l2J+!=^Wi`20`D{6!haA) o7-E1y25C~fy+Q+C;f-+Y;BPh8mU86@ZlsU=?%-I@nSNCK3;2r#YXATM diff --git a/manong_rest/target/classes/mybatis/sqlMapConfig.xml b/manong_rest/target/classes/mybatis/sqlMapConfig.xml deleted file mode 100644 index edbc230..0000000 --- a/manong_rest/target/classes/mybatis/sqlMapConfig.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/manong_rest/target/classes/properties/db.properties b/manong_rest/target/classes/properties/db.properties deleted file mode 100644 index d3e91ec..0000000 --- a/manong_rest/target/classes/properties/db.properties +++ /dev/null @@ -1,4 +0,0 @@ -jdbc_url=jdbc:mysql://localhost:3306/manong?characterEncoding=utf-8 -jdbc_user=root -jdbc_password=admin -jdbc_driver=com.mysql.jdbc.Driver \ No newline at end of file diff --git a/manong_rest/target/classes/spring/applicationContext-dao.xml b/manong_rest/target/classes/spring/applicationContext-dao.xml deleted file mode 100644 index db2f305..0000000 --- a/manong_rest/target/classes/spring/applicationContext-dao.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/manong_rest/target/classes/spring/applicationContext-service.xml b/manong_rest/target/classes/spring/applicationContext-service.xml deleted file mode 100644 index b14ad81..0000000 --- a/manong_rest/target/classes/spring/applicationContext-service.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - \ No newline at end of file diff --git a/manong_rest/target/classes/spring/applicationContext-trans.xml b/manong_rest/target/classes/spring/applicationContext-trans.xml deleted file mode 100644 index 5b3cef2..0000000 --- a/manong_rest/target/classes/spring/applicationContext-trans.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/manong_rest/target/classes/spring/springmvc.xml b/manong_rest/target/classes/spring/springmvc.xml deleted file mode 100644 index 2cc196b..0000000 --- a/manong_rest/target/classes/spring/springmvc.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/manong_rest/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/manong_rest/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst deleted file mode 100644 index 681b61b..0000000 --- a/manong_rest/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ /dev/null @@ -1,3 +0,0 @@ -com\manong\rest\service\ProductCategriesService.class -com\manong\rest\controller\ProductCategoriesController.class -com\manong\rest\service\impl\ProductCategriesServiceImpl.class diff --git a/manong_rest/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/manong_rest/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst deleted file mode 100644 index 2409725..0000000 --- a/manong_rest/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ /dev/null @@ -1,3 +0,0 @@ -F:\githubproject\manong\manong_rest\src\main\java\com\manong\rest\service\ProductCategriesService.java -F:\githubproject\manong\manong_rest\src\main\java\com\manong\rest\service\impl\ProductCategriesServiceImpl.java -F:\githubproject\manong\manong_rest\src\main\java\com\manong\rest\controller\ProductCategoriesController.java diff --git a/manong_rest/target/tomcat/conf/logging.properties b/manong_rest/target/tomcat/conf/logging.properties deleted file mode 100644 index 76c9512..0000000 --- a/manong_rest/target/tomcat/conf/logging.properties +++ /dev/null @@ -1,64 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You 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. - -handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler - -.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler - -############################################################ -# Handler specific properties. -# Describes specific configuration info for Handlers. -############################################################ - -1catalina.org.apache.juli.FileHandler.level = FINE -1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs -1catalina.org.apache.juli.FileHandler.prefix = catalina. - -2localhost.org.apache.juli.FileHandler.level = FINE -2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs -2localhost.org.apache.juli.FileHandler.prefix = localhost. - -3manager.org.apache.juli.FileHandler.level = FINE -3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs -3manager.org.apache.juli.FileHandler.prefix = manager. - -4host-manager.org.apache.juli.FileHandler.level = FINE -4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs -4host-manager.org.apache.juli.FileHandler.prefix = host-manager. - -java.util.logging.ConsoleHandler.level = FINE -java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter - - -############################################################ -# Facility specific properties. -# Provides extra control for each logger. -############################################################ - -org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO -org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler - -org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO -org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler - -org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO -org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.FileHandler - -# For example, set the org.apache.catalina.util.LifecycleBase logger to log -# each component that extends LifecycleBase changing state: -#org.apache.catalina.util.LifecycleBase.level = FINE - -# To see debug messages in TldLocationsCache, uncomment the following line: -#org.apache.jasper.compiler.TldLocationsCache.level = FINE diff --git a/manong_rest/target/tomcat/conf/tomcat-users.xml b/manong_rest/target/tomcat/conf/tomcat-users.xml deleted file mode 100644 index 7114f5d..0000000 --- a/manong_rest/target/tomcat/conf/tomcat-users.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - diff --git a/manong_rest/target/tomcat/conf/web.xml b/manong_rest/target/tomcat/conf/web.xml deleted file mode 100644 index cc8383c..0000000 --- a/manong_rest/target/tomcat/conf/web.xml +++ /dev/null @@ -1,4283 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - default - org.apache.catalina.servlets.DefaultServlet - - debug - 0 - - - listings - false - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - jsp - org.apache.jasper.servlet.JspServlet - - fork - false - - - xpoweredBy - false - - 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - default - / - - - - - jsp - *.jsp - *.jspx - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 30 - - - - - - - - - - - - 123 - application/vnd.lotus-1-2-3 - - - 3dml - text/vnd.in3d.3dml - - - 3g2 - video/3gpp2 - - - 3gp - video/3gpp - - - 7z - application/x-7z-compressed - - - aab - application/x-authorware-bin - - - aac - audio/x-aac - - - aam - application/x-authorware-map - - - aas - application/x-authorware-seg - - - abs - audio/x-mpeg - - - abw - application/x-abiword - - - ac - application/pkix-attr-cert - - - acc - application/vnd.americandynamics.acc - - - ace - application/x-ace-compressed - - - acu - application/vnd.acucobol - - - acutc - application/vnd.acucorp - - - adp - audio/adpcm - - - aep - application/vnd.audiograph - - - afm - application/x-font-type1 - - - afp - application/vnd.ibm.modcap - - - ahead - application/vnd.ahead.space - - - ai - application/postscript - - - aif - audio/x-aiff - - - aifc - audio/x-aiff - - - aiff - audio/x-aiff - - - aim - application/x-aim - - - air - application/vnd.adobe.air-application-installer-package+zip - - - ait - application/vnd.dvb.ait - - - ami - application/vnd.amiga.ami - - - anx - application/annodex - - - apk - application/vnd.android.package-archive - - - application - application/x-ms-application - - - apr - application/vnd.lotus-approach - - - art - image/x-jg - - - asc - application/pgp-signature - - - asf - video/x-ms-asf - - - asm - text/x-asm - - - aso - application/vnd.accpac.simply.aso - - - asx - video/x-ms-asf - - - atc - application/vnd.acucorp - - - atom - application/atom+xml - - - atomcat - application/atomcat+xml - - - atomsvc - application/atomsvc+xml - - - atx - application/vnd.antix.game-component - - - au - audio/basic - - - avi - video/x-msvideo - - - avx - video/x-rad-screenplay - - - aw - application/applixware - - - axa - audio/annodex - - - axv - video/annodex - - - azf - application/vnd.airzip.filesecure.azf - - - azs - application/vnd.airzip.filesecure.azs - - - azw - application/vnd.amazon.ebook - - - bat - application/x-msdownload - - - bcpio - application/x-bcpio - - - bdf - application/x-font-bdf - - - bdm - application/vnd.syncml.dm+wbxml - - - bed - application/vnd.realvnc.bed - - - bh2 - application/vnd.fujitsu.oasysprs - - - bin - application/octet-stream - - - bmi - application/vnd.bmi - - - bmp - image/bmp - - - body - text/html - - - book - application/vnd.framemaker - - - box - application/vnd.previewsystems.box - - - boz - application/x-bzip2 - - - bpk - application/octet-stream - - - btif - image/prs.btif - - - bz - application/x-bzip - - - bz2 - application/x-bzip2 - - - c - text/x-c - - - c11amc - application/vnd.cluetrust.cartomobile-config - - - c11amz - application/vnd.cluetrust.cartomobile-config-pkg - - - c4d - application/vnd.clonk.c4group - - - c4f - application/vnd.clonk.c4group - - - c4g - application/vnd.clonk.c4group - - - c4p - application/vnd.clonk.c4group - - - c4u - application/vnd.clonk.c4group - - - cab - application/vnd.ms-cab-compressed - - - cap - application/vnd.tcpdump.pcap - - - car - application/vnd.curl.car - - - cat - application/vnd.ms-pki.seccat - - - cc - text/x-c - - - cct - application/x-director - - - ccxml - application/ccxml+xml - - - cdbcmsg - application/vnd.contact.cmsg - - - cdf - application/x-cdf - - - cdkey - application/vnd.mediastation.cdkey - - - cdmia - application/cdmi-capability - - - cdmic - application/cdmi-container - - - cdmid - application/cdmi-domain - - - cdmio - application/cdmi-object - - - cdmiq - application/cdmi-queue - - - cdx - chemical/x-cdx - - - cdxml - application/vnd.chemdraw+xml - - - cdy - application/vnd.cinderella - - - cer - application/pkix-cert - - - cgm - image/cgm - - - chat - application/x-chat - - - chm - application/vnd.ms-htmlhelp - - - chrt - application/vnd.kde.kchart - - - cif - chemical/x-cif - - - cii - application/vnd.anser-web-certificate-issue-initiation - - - cil - application/vnd.ms-artgalry - - - cla - application/vnd.claymore - - - class - application/java - - - clkk - application/vnd.crick.clicker.keyboard - - - clkp - application/vnd.crick.clicker.palette - - - clkt - application/vnd.crick.clicker.template - - - clkw - application/vnd.crick.clicker.wordbank - - - clkx - application/vnd.crick.clicker - - - clp - application/x-msclip - - - cmc - application/vnd.cosmocaller - - - cmdf - chemical/x-cmdf - - - cml - chemical/x-cml - - - cmp - application/vnd.yellowriver-custom-menu - - - cmx - image/x-cmx - - - cod - application/vnd.rim.cod - - - com - application/x-msdownload - - - conf - text/plain - - - cpio - application/x-cpio - - - cpp - text/x-c - - - cpt - application/mac-compactpro - - - crd - application/x-mscardfile - - - crl - application/pkix-crl - - - crt - application/x-x509-ca-cert - - - cryptonote - application/vnd.rig.cryptonote - - - csh - application/x-csh - - - csml - chemical/x-csml - - - csp - application/vnd.commonspace - - - css - text/css - - - cst - application/x-director - - - csv - text/csv - - - cu - application/cu-seeme - - - curl - text/vnd.curl - - - cww - application/prs.cww - - - cxt - application/x-director - - - cxx - text/x-c - - - dae - model/vnd.collada+xml - - - daf - application/vnd.mobius.daf - - - dataless - application/vnd.fdsn.seed - - - davmount - application/davmount+xml - - - dcr - application/x-director - - - dcurl - text/vnd.curl.dcurl - - - dd2 - application/vnd.oma.dd2+xml - - - ddd - application/vnd.fujixerox.ddd - - - deb - application/x-debian-package - - - def - text/plain - - - deploy - application/octet-stream - - - der - application/x-x509-ca-cert - - - dfac - application/vnd.dreamfactory - - - dib - image/bmp - - - dic - text/x-c - - - dir - application/x-director - - - dis - application/vnd.mobius.dis - - - dist - application/octet-stream - - - distz - application/octet-stream - - - djv - image/vnd.djvu - - - djvu - image/vnd.djvu - - - dll - application/x-msdownload - - - dmg - application/octet-stream - - - dmp - application/vnd.tcpdump.pcap - - - dms - application/octet-stream - - - dna - application/vnd.dna - - - doc - application/msword - - - docm - application/vnd.ms-word.document.macroenabled.12 - - - docx - application/vnd.openxmlformats-officedocument.wordprocessingml.document - - - dot - application/msword - - - dotm - application/vnd.ms-word.template.macroenabled.12 - - - dotx - application/vnd.openxmlformats-officedocument.wordprocessingml.template - - - dp - application/vnd.osgi.dp - - - dpg - application/vnd.dpgraph - - - dra - audio/vnd.dra - - - dsc - text/prs.lines.tag - - - dssc - application/dssc+der - - - dtb - application/x-dtbook+xml - - - dtd - application/xml-dtd - - - dts - audio/vnd.dts - - - dtshd - audio/vnd.dts.hd - - - dump - application/octet-stream - - - dv - video/x-dv - - - dvb - video/vnd.dvb.file - - - dvi - application/x-dvi - - - dwf - model/vnd.dwf - - - dwg - image/vnd.dwg - - - dxf - image/vnd.dxf - - - dxp - application/vnd.spotfire.dxp - - - dxr - application/x-director - - - ecelp4800 - audio/vnd.nuera.ecelp4800 - - - ecelp7470 - audio/vnd.nuera.ecelp7470 - - - ecelp9600 - audio/vnd.nuera.ecelp9600 - - - ecma - application/ecmascript - - - edm - application/vnd.novadigm.edm - - - edx - application/vnd.novadigm.edx - - - efif - application/vnd.picsel - - - ei6 - application/vnd.pg.osasli - - - elc - application/octet-stream - - - eml - message/rfc822 - - - emma - application/emma+xml - - - eol - audio/vnd.digital-winds - - - eot - application/vnd.ms-fontobject - - - eps - application/postscript - - - epub - application/epub+zip - - - es3 - application/vnd.eszigno3+xml - - - esf - application/vnd.epson.esf - - - et3 - application/vnd.eszigno3+xml - - - etx - text/x-setext - - - exe - application/octet-stream - - - exi - application/exi - - - ext - application/vnd.novadigm.ext - - - ez - application/andrew-inset - - - ez2 - application/vnd.ezpix-album - - - ez3 - application/vnd.ezpix-package - - - f - text/x-fortran - - - f4v - video/x-f4v - - - f77 - text/x-fortran - - - f90 - text/x-fortran - - - fbs - image/vnd.fastbidsheet - - - fcs - application/vnd.isac.fcs - - - fdf - application/vnd.fdf - - - fe_launch - application/vnd.denovo.fcselayout-link - - - fg5 - application/vnd.fujitsu.oasysgp - - - fgd - application/x-director - - - fh - image/x-freehand - - - fh4 - image/x-freehand - - - fh5 - image/x-freehand - - - fh7 - image/x-freehand - - - fhc - image/x-freehand - - - fig - application/x-xfig - - - flac - audio/flac - - - fli - video/x-fli - - - flo - application/vnd.micrografx.flo - - - flv - video/x-flv - - - flw - application/vnd.kde.kivio - - - flx - text/vnd.fmi.flexstor - - - fly - text/vnd.fly - - - fm - application/vnd.framemaker - - - fnc - application/vnd.frogans.fnc - - - for - text/x-fortran - - - fpx - image/vnd.fpx - - - frame - application/vnd.framemaker - - - fsc - application/vnd.fsc.weblaunch - - - fst - image/vnd.fst - - - ftc - application/vnd.fluxtime.clip - - - fti - application/vnd.anser-web-funds-transfer-initiation - - - fvt - video/vnd.fvt - - - fxp - application/vnd.adobe.fxp - - - fxpl - application/vnd.adobe.fxp - - - fzs - application/vnd.fuzzysheet - - - g2w - application/vnd.geoplan - - - g3 - image/g3fax - - - g3w - application/vnd.geospace - - - gac - application/vnd.groove-account - - - gbr - application/rpki-ghostbusters - - - gdl - model/vnd.gdl - - - geo - application/vnd.dynageo - - - gex - application/vnd.geometry-explorer - - - ggb - application/vnd.geogebra.file - - - ggt - application/vnd.geogebra.tool - - - ghf - application/vnd.groove-help - - - gif - image/gif - - - gim - application/vnd.groove-identity-message - - - gmx - application/vnd.gmx - - - gnumeric - application/x-gnumeric - - - gph - application/vnd.flographit - - - gqf - application/vnd.grafeq - - - gqs - application/vnd.grafeq - - - gram - application/srgs - - - gre - application/vnd.geometry-explorer - - - grv - application/vnd.groove-injector - - - grxml - application/srgs+xml - - - gsf - application/x-font-ghostscript - - - gtar - application/x-gtar - - - gtm - application/vnd.groove-tool-message - - - gtw - model/vnd.gtw - - - gv - text/vnd.graphviz - - - gxt - application/vnd.geonext - - - gz - application/x-gzip - - - h - text/x-c - - - h261 - video/h261 - - - h263 - video/h263 - - - h264 - video/h264 - - - hal - application/vnd.hal+xml - - - hbci - application/vnd.hbci - - - hdf - application/x-hdf - - - hh - text/x-c - - - hlp - application/winhlp - - - hpgl - application/vnd.hp-hpgl - - - hpid - application/vnd.hp-hpid - - - hps - application/vnd.hp-hps - - - hqx - application/mac-binhex40 - - - htc - text/x-component - - - htke - application/vnd.kenameaapp - - - htm - text/html - - - html - text/html - - - hvd - application/vnd.yamaha.hv-dic - - - hvp - application/vnd.yamaha.hv-voice - - - hvs - application/vnd.yamaha.hv-script - - - i2g - application/vnd.intergeo - - - icc - application/vnd.iccprofile - - - ice - x-conference/x-cooltalk - - - icm - application/vnd.iccprofile - - - ico - image/x-icon - - - ics - text/calendar - - - ief - image/ief - - - ifb - text/calendar - - - ifm - application/vnd.shana.informed.formdata - - - iges - model/iges - - - igl - application/vnd.igloader - - - igm - application/vnd.insors.igm - - - igs - model/iges - - - igx - application/vnd.micrografx.igx - - - iif - application/vnd.shana.informed.interchange - - - imp - application/vnd.accpac.simply.imp - - - ims - application/vnd.ms-ims - - - in - text/plain - - - ink - application/inkml+xml - - - inkml - application/inkml+xml - - - iota - application/vnd.astraea-software.iota - - - ipfix - application/ipfix - - - ipk - application/vnd.shana.informed.package - - - irm - application/vnd.ibm.rights-management - - - irp - application/vnd.irepository.package+xml - - - iso - application/octet-stream - - - itp - application/vnd.shana.informed.formtemplate - - - ivp - application/vnd.immervision-ivp - - - ivu - application/vnd.immervision-ivu - - - jad - text/vnd.sun.j2me.app-descriptor - - - jam - application/vnd.jam - - - jar - application/java-archive - - - java - text/x-java-source - - - jisp - application/vnd.jisp - - - jlt - application/vnd.hp-jlyt - - - jnlp - application/x-java-jnlp-file - - - joda - application/vnd.joost.joda-archive - - - jpe - image/jpeg - - - jpeg - image/jpeg - - - jpg - image/jpeg - - - jpgm - video/jpm - - - jpgv - video/jpeg - - - jpm - video/jpm - - - js - application/javascript - - - jsf - text/plain - - - json - application/json - - - jspf - text/plain - - - kar - audio/midi - - - karbon - application/vnd.kde.karbon - - - kfo - application/vnd.kde.kformula - - - kia - application/vnd.kidspiration - - - kml - application/vnd.google-earth.kml+xml - - - kmz - application/vnd.google-earth.kmz - - - kne - application/vnd.kinar - - - knp - application/vnd.kinar - - - kon - application/vnd.kde.kontour - - - kpr - application/vnd.kde.kpresenter - - - kpt - application/vnd.kde.kpresenter - - - ksp - application/vnd.kde.kspread - - - ktr - application/vnd.kahootz - - - ktx - image/ktx - - - ktz - application/vnd.kahootz - - - kwd - application/vnd.kde.kword - - - kwt - application/vnd.kde.kword - - - lasxml - application/vnd.las.las+xml - - - latex - application/x-latex - - - lbd - application/vnd.llamagraphics.life-balance.desktop - - - lbe - application/vnd.llamagraphics.life-balance.exchange+xml - - - les - application/vnd.hhe.lesson-player - - - lha - application/octet-stream - - - link66 - application/vnd.route66.link66+xml - - - list - text/plain - - - list3820 - application/vnd.ibm.modcap - - - listafp - application/vnd.ibm.modcap - - - log - text/plain - - - lostxml - application/lost+xml - - - lrf - application/octet-stream - - - lrm - application/vnd.ms-lrm - - - ltf - application/vnd.frogans.ltf - - - lvp - audio/vnd.lucent.voice - - - lwp - application/vnd.lotus-wordpro - - - lzh - application/octet-stream - - - m13 - application/x-msmediaview - - - m14 - application/x-msmediaview - - - m1v - video/mpeg - - - m21 - application/mp21 - - - m2a - audio/mpeg - - - m2v - video/mpeg - - - m3a - audio/mpeg - - - m3u - audio/x-mpegurl - - - m3u8 - application/vnd.apple.mpegurl - - - m4a - audio/mp4 - - - m4b - audio/mp4 - - - m4r - audio/mp4 - - - m4u - video/vnd.mpegurl - - - m4v - video/mp4 - - - ma - application/mathematica - - - mac - image/x-macpaint - - - mads - application/mads+xml - - - mag - application/vnd.ecowin.chart - - - maker - application/vnd.framemaker - - - man - text/troff - - - mathml - application/mathml+xml - - - mb - application/mathematica - - - mbk - application/vnd.mobius.mbk - - - mbox - application/mbox - - - mc1 - application/vnd.medcalcdata - - - mcd - application/vnd.mcd - - - mcurl - text/vnd.curl.mcurl - - - mdb - application/x-msaccess - - - mdi - image/vnd.ms-modi - - - me - text/troff - - - mesh - model/mesh - - - meta4 - application/metalink4+xml - - - mets - application/mets+xml - - - mfm - application/vnd.mfmp - - - mft - application/rpki-manifest - - - mgp - application/vnd.osgeo.mapguide.package - - - mgz - application/vnd.proteus.magazine - - - mid - audio/midi - - - midi - audio/midi - - - mif - application/x-mif - - - mime - message/rfc822 - - - mj2 - video/mj2 - - - mjp2 - video/mj2 - - - mlp - application/vnd.dolby.mlp - - - mmd - application/vnd.chipnuts.karaoke-mmd - - - mmf - application/vnd.smaf - - - mmr - image/vnd.fujixerox.edmics-mmr - - - mny - application/x-msmoney - - - mobi - application/x-mobipocket-ebook - - - mods - application/mods+xml - - - mov - video/quicktime - - - movie - video/x-sgi-movie - - - mp1 - audio/mpeg - - - mp2 - audio/mpeg - - - mp21 - application/mp21 - - - mp2a - audio/mpeg - - - mp3 - audio/mpeg - - - mp4 - video/mp4 - - - mp4a - audio/mp4 - - - mp4s - application/mp4 - - - mp4v - video/mp4 - - - mpa - audio/mpeg - - - mpc - application/vnd.mophun.certificate - - - mpe - video/mpeg - - - mpeg - video/mpeg - - - mpega - audio/x-mpeg - - - mpg - video/mpeg - - - mpg4 - video/mp4 - - - mpga - audio/mpeg - - - mpkg - application/vnd.apple.installer+xml - - - mpm - application/vnd.blueice.multipass - - - mpn - application/vnd.mophun.application - - - mpp - application/vnd.ms-project - - - mpt - application/vnd.ms-project - - - mpv2 - video/mpeg2 - - - mpy - application/vnd.ibm.minipay - - - mqy - application/vnd.mobius.mqy - - - mrc - application/marc - - - mrcx - application/marcxml+xml - - - ms - text/troff - - - mscml - application/mediaservercontrol+xml - - - mseed - application/vnd.fdsn.mseed - - - mseq - application/vnd.mseq - - - msf - application/vnd.epson.msf - - - msh - model/mesh - - - msi - application/x-msdownload - - - msl - application/vnd.mobius.msl - - - msty - application/vnd.muvee.style - - - mts - model/vnd.mts - - - mus - application/vnd.musician - - - musicxml - application/vnd.recordare.musicxml+xml - - - mvb - application/x-msmediaview - - - mwf - application/vnd.mfer - - - mxf - application/mxf - - - mxl - application/vnd.recordare.musicxml - - - mxml - application/xv+xml - - - mxs - application/vnd.triscape.mxs - - - mxu - video/vnd.mpegurl - - - n-gage - application/vnd.nokia.n-gage.symbian.install - - - n3 - text/n3 - - - nb - application/mathematica - - - nbp - application/vnd.wolfram.player - - - nc - application/x-netcdf - - - ncx - application/x-dtbncx+xml - - - ngdat - application/vnd.nokia.n-gage.data - - - nlu - application/vnd.neurolanguage.nlu - - - nml - application/vnd.enliven - - - nnd - application/vnd.noblenet-directory - - - nns - application/vnd.noblenet-sealer - - - nnw - application/vnd.noblenet-web - - - npx - image/vnd.net-fpx - - - nsf - application/vnd.lotus-notes - - - oa2 - application/vnd.fujitsu.oasys2 - - - oa3 - application/vnd.fujitsu.oasys3 - - - oas - application/vnd.fujitsu.oasys - - - obd - application/x-msbinder - - - oda - application/oda - - - - odb - application/vnd.oasis.opendocument.database - - - - odc - application/vnd.oasis.opendocument.chart - - - - odf - application/vnd.oasis.opendocument.formula - - - odft - application/vnd.oasis.opendocument.formula-template - - - - odg - application/vnd.oasis.opendocument.graphics - - - - odi - application/vnd.oasis.opendocument.image - - - - odm - application/vnd.oasis.opendocument.text-master - - - - odp - application/vnd.oasis.opendocument.presentation - - - - ods - application/vnd.oasis.opendocument.spreadsheet - - - - odt - application/vnd.oasis.opendocument.text - - - oga - audio/ogg - - - ogg - audio/ogg - - - ogv - video/ogg - - - - ogx - application/ogg - - - onepkg - application/onenote - - - onetmp - application/onenote - - - onetoc - application/onenote - - - onetoc2 - application/onenote - - - opf - application/oebps-package+xml - - - oprc - application/vnd.palm - - - org - application/vnd.lotus-organizer - - - osf - application/vnd.yamaha.openscoreformat - - - osfpvg - application/vnd.yamaha.openscoreformat.osfpvg+xml - - - otc - application/vnd.oasis.opendocument.chart-template - - - otf - application/x-font-otf - - - - otg - application/vnd.oasis.opendocument.graphics-template - - - - oth - application/vnd.oasis.opendocument.text-web - - - oti - application/vnd.oasis.opendocument.image-template - - - - otp - application/vnd.oasis.opendocument.presentation-template - - - - ots - application/vnd.oasis.opendocument.spreadsheet-template - - - - ott - application/vnd.oasis.opendocument.text-template - - - oxps - application/oxps - - - oxt - application/vnd.openofficeorg.extension - - - p - text/x-pascal - - - p10 - application/pkcs10 - - - p12 - application/x-pkcs12 - - - p7b - application/x-pkcs7-certificates - - - p7c - application/pkcs7-mime - - - p7m - application/pkcs7-mime - - - p7r - application/x-pkcs7-certreqresp - - - p7s - application/pkcs7-signature - - - p8 - application/pkcs8 - - - pas - text/x-pascal - - - paw - application/vnd.pawaafile - - - pbd - application/vnd.powerbuilder6 - - - pbm - image/x-portable-bitmap - - - pcap - application/vnd.tcpdump.pcap - - - pcf - application/x-font-pcf - - - pcl - application/vnd.hp-pcl - - - pclxl - application/vnd.hp-pclxl - - - pct - image/pict - - - pcurl - application/vnd.curl.pcurl - - - pcx - image/x-pcx - - - pdb - application/vnd.palm - - - pdf - application/pdf - - - pfa - application/x-font-type1 - - - pfb - application/x-font-type1 - - - pfm - application/x-font-type1 - - - pfr - application/font-tdpfr - - - pfx - application/x-pkcs12 - - - pgm - image/x-portable-graymap - - - pgn - application/x-chess-pgn - - - pgp - application/pgp-encrypted - - - pic - image/pict - - - pict - image/pict - - - pkg - application/octet-stream - - - pki - application/pkixcmp - - - pkipath - application/pkix-pkipath - - - plb - application/vnd.3gpp.pic-bw-large - - - plc - application/vnd.mobius.plc - - - plf - application/vnd.pocketlearn - - - pls - audio/x-scpls - - - pml - application/vnd.ctc-posml - - - png - image/png - - - pnm - image/x-portable-anymap - - - pnt - image/x-macpaint - - - portpkg - application/vnd.macports.portpkg - - - pot - application/vnd.ms-powerpoint - - - potm - application/vnd.ms-powerpoint.template.macroenabled.12 - - - potx - application/vnd.openxmlformats-officedocument.presentationml.template - - - ppam - application/vnd.ms-powerpoint.addin.macroenabled.12 - - - ppd - application/vnd.cups-ppd - - - ppm - image/x-portable-pixmap - - - pps - application/vnd.ms-powerpoint - - - ppsm - application/vnd.ms-powerpoint.slideshow.macroenabled.12 - - - ppsx - application/vnd.openxmlformats-officedocument.presentationml.slideshow - - - ppt - application/vnd.ms-powerpoint - - - pptm - application/vnd.ms-powerpoint.presentation.macroenabled.12 - - - pptx - application/vnd.openxmlformats-officedocument.presentationml.presentation - - - pqa - application/vnd.palm - - - prc - application/x-mobipocket-ebook - - - pre - application/vnd.lotus-freelance - - - prf - application/pics-rules - - - ps - application/postscript - - - psb - application/vnd.3gpp.pic-bw-small - - - psd - image/vnd.adobe.photoshop - - - psf - application/x-font-linux-psf - - - pskcxml - application/pskc+xml - - - ptid - application/vnd.pvi.ptid1 - - - pub - application/x-mspublisher - - - pvb - application/vnd.3gpp.pic-bw-var - - - pwn - application/vnd.3m.post-it-notes - - - pya - audio/vnd.ms-playready.media.pya - - - pyv - video/vnd.ms-playready.media.pyv - - - qam - application/vnd.epson.quickanime - - - qbo - application/vnd.intu.qbo - - - qfx - application/vnd.intu.qfx - - - qps - application/vnd.publishare-delta-tree - - - qt - video/quicktime - - - qti - image/x-quicktime - - - qtif - image/x-quicktime - - - qwd - application/vnd.quark.quarkxpress - - - qwt - application/vnd.quark.quarkxpress - - - qxb - application/vnd.quark.quarkxpress - - - qxd - application/vnd.quark.quarkxpress - - - qxl - application/vnd.quark.quarkxpress - - - qxt - application/vnd.quark.quarkxpress - - - ra - audio/x-pn-realaudio - - - ram - audio/x-pn-realaudio - - - rar - application/x-rar-compressed - - - ras - image/x-cmu-raster - - - rcprofile - application/vnd.ipunplugged.rcprofile - - - rdf - application/rdf+xml - - - rdz - application/vnd.data-vision.rdz - - - rep - application/vnd.businessobjects - - - res - application/x-dtbresource+xml - - - rgb - image/x-rgb - - - rif - application/reginfo+xml - - - rip - audio/vnd.rip - - - rl - application/resource-lists+xml - - - rlc - image/vnd.fujixerox.edmics-rlc - - - rld - application/resource-lists-diff+xml - - - rm - application/vnd.rn-realmedia - - - rmi - audio/midi - - - rmp - audio/x-pn-realaudio-plugin - - - rms - application/vnd.jcp.javame.midlet-rms - - - rnc - application/relax-ng-compact-syntax - - - roa - application/rpki-roa - - - roff - text/troff - - - rp9 - application/vnd.cloanto.rp9 - - - rpss - application/vnd.nokia.radio-presets - - - rpst - application/vnd.nokia.radio-preset - - - rq - application/sparql-query - - - rs - application/rls-services+xml - - - rsd - application/rsd+xml - - - rss - application/rss+xml - - - rtf - application/rtf - - - rtx - text/richtext - - - s - text/x-asm - - - saf - application/vnd.yamaha.smaf-audio - - - sbml - application/sbml+xml - - - sc - application/vnd.ibm.secure-container - - - scd - application/x-msschedule - - - scm - application/vnd.lotus-screencam - - - scq - application/scvp-cv-request - - - scs - application/scvp-cv-response - - - scurl - text/vnd.curl.scurl - - - sda - application/vnd.stardivision.draw - - - sdc - application/vnd.stardivision.calc - - - sdd - application/vnd.stardivision.impress - - - sdkd - application/vnd.solent.sdkm+xml - - - sdkm - application/vnd.solent.sdkm+xml - - - sdp - application/sdp - - - sdw - application/vnd.stardivision.writer - - - see - application/vnd.seemail - - - seed - application/vnd.fdsn.seed - - - sema - application/vnd.sema - - - semd - application/vnd.semd - - - semf - application/vnd.semf - - - ser - application/java-serialized-object - - - setpay - application/set-payment-initiation - - - setreg - application/set-registration-initiation - - - sfd-hdstx - application/vnd.hydrostatix.sof-data - - - sfs - application/vnd.spotfire.sfs - - - sgl - application/vnd.stardivision.writer-global - - - sgm - text/sgml - - - sgml - text/sgml - - - sh - application/x-sh - - - shar - application/x-shar - - - shf - application/shf+xml - - - - sig - application/pgp-signature - - - silo - model/mesh - - - sis - application/vnd.symbian.install - - - sisx - application/vnd.symbian.install - - - sit - application/x-stuffit - - - sitx - application/x-stuffitx - - - skd - application/vnd.koan - - - skm - application/vnd.koan - - - skp - application/vnd.koan - - - skt - application/vnd.koan - - - sldm - application/vnd.ms-powerpoint.slide.macroenabled.12 - - - sldx - application/vnd.openxmlformats-officedocument.presentationml.slide - - - slt - application/vnd.epson.salt - - - sm - application/vnd.stepmania.stepchart - - - smf - application/vnd.stardivision.math - - - smi - application/smil+xml - - - smil - application/smil+xml - - - smzip - application/vnd.stepmania.package - - - snd - audio/basic - - - snf - application/x-font-snf - - - so - application/octet-stream - - - spc - application/x-pkcs7-certificates - - - spf - application/vnd.yamaha.smaf-phrase - - - spl - application/x-futuresplash - - - spot - text/vnd.in3d.spot - - - spp - application/scvp-vp-response - - - spq - application/scvp-vp-request - - - spx - audio/ogg - - - src - application/x-wais-source - - - sru - application/sru+xml - - - srx - application/sparql-results+xml - - - sse - application/vnd.kodak-descriptor - - - ssf - application/vnd.epson.ssf - - - ssml - application/ssml+xml - - - st - application/vnd.sailingtracker.track - - - stc - application/vnd.sun.xml.calc.template - - - std - application/vnd.sun.xml.draw.template - - - stf - application/vnd.wt.stf - - - sti - application/vnd.sun.xml.impress.template - - - stk - application/hyperstudio - - - stl - application/vnd.ms-pki.stl - - - str - application/vnd.pg.format - - - stw - application/vnd.sun.xml.writer.template - - - sub - text/vnd.dvb.subtitle - - - sus - application/vnd.sus-calendar - - - susp - application/vnd.sus-calendar - - - sv4cpio - application/x-sv4cpio - - - sv4crc - application/x-sv4crc - - - svc - application/vnd.dvb.service - - - svd - application/vnd.svd - - - svg - image/svg+xml - - - svgz - image/svg+xml - - - swa - application/x-director - - - swf - application/x-shockwave-flash - - - swi - application/vnd.aristanetworks.swi - - - sxc - application/vnd.sun.xml.calc - - - sxd - application/vnd.sun.xml.draw - - - sxg - application/vnd.sun.xml.writer.global - - - sxi - application/vnd.sun.xml.impress - - - sxm - application/vnd.sun.xml.math - - - sxw - application/vnd.sun.xml.writer - - - t - text/troff - - - taglet - application/vnd.mynfc - - - tao - application/vnd.tao.intent-module-archive - - - tar - application/x-tar - - - tcap - application/vnd.3gpp2.tcap - - - tcl - application/x-tcl - - - teacher - application/vnd.smart.teacher - - - tei - application/tei+xml - - - teicorpus - application/tei+xml - - - tex - application/x-tex - - - texi - application/x-texinfo - - - texinfo - application/x-texinfo - - - text - text/plain - - - tfi - application/thraud+xml - - - tfm - application/x-tex-tfm - - - thmx - application/vnd.ms-officetheme - - - tif - image/tiff - - - tiff - image/tiff - - - tmo - application/vnd.tmobile-livetv - - - torrent - application/x-bittorrent - - - tpl - application/vnd.groove-tool-template - - - tpt - application/vnd.trid.tpt - - - tr - text/troff - - - tra - application/vnd.trueapp - - - trm - application/x-msterminal - - - tsd - application/timestamped-data - - - tsv - text/tab-separated-values - - - ttc - application/x-font-ttf - - - ttf - application/x-font-ttf - - - ttl - text/turtle - - - twd - application/vnd.simtech-mindmapper - - - twds - application/vnd.simtech-mindmapper - - - txd - application/vnd.genomatix.tuxedo - - - txf - application/vnd.mobius.txf - - - txt - text/plain - - - u32 - application/x-authorware-bin - - - udeb - application/x-debian-package - - - ufd - application/vnd.ufdl - - - ufdl - application/vnd.ufdl - - - ulw - audio/basic - - - umj - application/vnd.umajin - - - unityweb - application/vnd.unity - - - uoml - application/vnd.uoml+xml - - - uri - text/uri-list - - - uris - text/uri-list - - - urls - text/uri-list - - - ustar - application/x-ustar - - - utz - application/vnd.uiq.theme - - - uu - text/x-uuencode - - - uva - audio/vnd.dece.audio - - - uvd - application/vnd.dece.data - - - uvf - application/vnd.dece.data - - - uvg - image/vnd.dece.graphic - - - uvh - video/vnd.dece.hd - - - uvi - image/vnd.dece.graphic - - - uvm - video/vnd.dece.mobile - - - uvp - video/vnd.dece.pd - - - uvs - video/vnd.dece.sd - - - uvt - application/vnd.dece.ttml+xml - - - uvu - video/vnd.uvvu.mp4 - - - uvv - video/vnd.dece.video - - - uvva - audio/vnd.dece.audio - - - uvvd - application/vnd.dece.data - - - uvvf - application/vnd.dece.data - - - uvvg - image/vnd.dece.graphic - - - uvvh - video/vnd.dece.hd - - - uvvi - image/vnd.dece.graphic - - - uvvm - video/vnd.dece.mobile - - - uvvp - video/vnd.dece.pd - - - uvvs - video/vnd.dece.sd - - - uvvt - application/vnd.dece.ttml+xml - - - uvvu - video/vnd.uvvu.mp4 - - - uvvv - video/vnd.dece.video - - - uvvx - application/vnd.dece.unspecified - - - uvvz - application/vnd.dece.zip - - - uvx - application/vnd.dece.unspecified - - - uvz - application/vnd.dece.zip - - - vcard - text/vcard - - - vcd - application/x-cdlink - - - vcf - text/x-vcard - - - vcg - application/vnd.groove-vcard - - - vcs - text/x-vcalendar - - - vcx - application/vnd.vcx - - - vis - application/vnd.visionary - - - viv - video/vnd.vivo - - - vor - application/vnd.stardivision.writer - - - vox - application/x-authorware-bin - - - vrml - model/vrml - - - vsd - application/vnd.visio - - - vsf - application/vnd.vsf - - - vss - application/vnd.visio - - - vst - application/vnd.visio - - - vsw - application/vnd.visio - - - vtu - model/vnd.vtu - - - vxml - application/voicexml+xml - - - w3d - application/x-director - - - wad - application/x-doom - - - wav - audio/x-wav - - - wax - audio/x-ms-wax - - - - wbmp - image/vnd.wap.wbmp - - - wbs - application/vnd.criticaltools.wbs+xml - - - wbxml - application/vnd.wap.wbxml - - - wcm - application/vnd.ms-works - - - wdb - application/vnd.ms-works - - - weba - audio/webm - - - webm - video/webm - - - webp - image/webp - - - wg - application/vnd.pmi.widget - - - wgt - application/widget - - - wks - application/vnd.ms-works - - - wm - video/x-ms-wm - - - wma - audio/x-ms-wma - - - wmd - application/x-ms-wmd - - - wmf - application/x-msmetafile - - - - wml - text/vnd.wap.wml - - - - wmlc - application/vnd.wap.wmlc - - - - wmls - text/vnd.wap.wmlscript - - - - wmlsc - application/vnd.wap.wmlscriptc - - - wmv - video/x-ms-wmv - - - wmx - video/x-ms-wmx - - - wmz - application/x-ms-wmz - - - woff - application/x-font-woff - - - wpd - application/vnd.wordperfect - - - wpl - application/vnd.ms-wpl - - - wps - application/vnd.ms-works - - - wqd - application/vnd.wqd - - - wri - application/x-mswrite - - - wrl - model/vrml - - - wsdl - application/wsdl+xml - - - wspolicy - application/wspolicy+xml - - - wtb - application/vnd.webturbo - - - wvx - video/x-ms-wvx - - - x32 - application/x-authorware-bin - - - x3d - application/vnd.hzn-3d-crossword - - - xap - application/x-silverlight-app - - - xar - application/vnd.xara - - - xbap - application/x-ms-xbap - - - xbd - application/vnd.fujixerox.docuworks.binder - - - xbm - image/x-xbitmap - - - xdf - application/xcap-diff+xml - - - xdm - application/vnd.syncml.dm+xml - - - xdp - application/vnd.adobe.xdp+xml - - - xdssc - application/dssc+xml - - - xdw - application/vnd.fujixerox.docuworks - - - xenc - application/xenc+xml - - - xer - application/patch-ops-error+xml - - - xfdf - application/vnd.adobe.xfdf - - - xfdl - application/vnd.xfdl - - - xht - application/xhtml+xml - - - xhtml - application/xhtml+xml - - - xhvml - application/xv+xml - - - xif - image/vnd.xiff - - - xla - application/vnd.ms-excel - - - xlam - application/vnd.ms-excel.addin.macroenabled.12 - - - xlc - application/vnd.ms-excel - - - xlm - application/vnd.ms-excel - - - xls - application/vnd.ms-excel - - - xlsb - application/vnd.ms-excel.sheet.binary.macroenabled.12 - - - xlsm - application/vnd.ms-excel.sheet.macroenabled.12 - - - xlsx - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet - - - xlt - application/vnd.ms-excel - - - xltm - application/vnd.ms-excel.template.macroenabled.12 - - - xltx - application/vnd.openxmlformats-officedocument.spreadsheetml.template - - - xlw - application/vnd.ms-excel - - - xml - application/xml - - - xo - application/vnd.olpc-sugar - - - xop - application/xop+xml - - - xpi - application/x-xpinstall - - - xpm - image/x-xpixmap - - - xpr - application/vnd.is-xpr - - - xps - application/vnd.ms-xpsdocument - - - xpw - application/vnd.intercon.formnet - - - xpx - application/vnd.intercon.formnet - - - xsl - application/xml - - - xslt - application/xslt+xml - - - xsm - application/vnd.syncml+xml - - - xspf - application/xspf+xml - - - xul - application/vnd.mozilla.xul+xml - - - xvm - application/xv+xml - - - xvml - application/xv+xml - - - xwd - image/x-xwindowdump - - - xyz - chemical/x-xyz - - - yang - application/yang - - - yin - application/yin+xml - - - z - application/x-compress - - - Z - application/x-compress - - - zaz - application/vnd.zzazz.deck+xml - - - zip - application/zip - - - zir - application/vnd.zul - - - zirz - application/vnd.zul - - - zmm - application/vnd.handheld-entertainment+xml - - - - - - - - - - - - - - - - - - index.html - index.htm - index.jsp - - - diff --git a/manong_rest/target/tomcat/logs/access_log.2019-02-26 b/manong_rest/target/tomcat/logs/access_log.2019-02-26 deleted file mode 100644 index e69de29..0000000 diff --git a/manong_search/manong_search.iml b/manong_search/manong_search.iml deleted file mode 100644 index 2ee29af..0000000 --- a/manong_search/manong_search.iml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/manong_search/target/manong_search-1.0-SNAPSHOT.jar b/manong_search/target/manong_search-1.0-SNAPSHOT.jar deleted file mode 100644 index 478a420ac667939d01aee93b4fa3f76b43c4809d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1531 zcmWIWW@h1H0D)H%RDHn=D8UJ&eO*Hwbv^yu^aG&EI2c|6l?lq6yif#`?gC;FWM#gN zex7cw!6ACSZl8V6oc8h7)w{^+t*dqJ%=yhh23L$9JT21kI(I_HTi1z${mGKBDPr0O zR4R7P@iH#?R zlWn~_j)}yspOP~nR;-HcBiph)F?(VdU~a_p3O}+Na}&!_^WYxBR4j+7I5|I8FFQ3a zB{MHQqcjtbULAsZa})FO^U~vsQxl7lGvFq1Fia8R@YUlqO^{<`V6bOmU@#`pqynH5 zD{^yMgKYf|8;IQbti9;XNAE_)&~@5kEJ5DdTNSpQD)LEMVV|x-D|$xJHx1w zyTj>9Kv?mTT-MuXrQ`wxm#MrgSd?gf~XB5REp6QdT%ulpyp#-HhML;soLyDD4ezP~qb+wSRSveFHsKg?#YU@jmobMe3UKUoah;uM3`~s zV4%N%K!D+`BZx-I&oFJ+b2LaX2rOw-2a<4YNclU!8)gD#76Ror2oPZS|Nk_Q2{!?j z`*3Rp - - - - - - - - - - - - - - \ No newline at end of file diff --git a/manong_sso/target/manong_sso-1.0-SNAPSHOT.jar b/manong_sso/target/manong_sso-1.0-SNAPSHOT.jar deleted file mode 100644 index 08a1cae9a1bdbbd086a6ac17209882c3e42ebbcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1508 zcmWIWW@h1H0D)H%RDHn=D8UJ&eO*Hwbv^yu^aG&EI2c|6l?lq6yif#`?gC;FWM#gN zex7cw!6ACSZl8V6oc8h7)w{^+t*dqJ%=yhh23L$9JT21kI(I_HTi1z${mGKBDPr0O zR4R7P@iH#?R zlWn~_j)}yspOP~nR;-HcBiph)F?(VdU~a_p3O}+Na}&!_^WYxBR4j+7I5|I8FFQ3a zB{MHQqcjtbUQL2}a})FO^U~vsi}T^ea4^&garmA~>AWSw$iQI3#K2%ciZKO1$5rI! zv<7X=JFFmb=dY;P?n=Mg3pa5DPG2>3lG>!ptD;*Bwq_=8Xt?q3Pms*2(Ha=ky^Z;wR~f`_HLJ{#lCC-o5M8D zNFCE|+^U(l{q6x~zrRy7LdcnLs>3EE*VcSiy z3l;MBbsHsfPcU6i^jOPX_{XB3e<$ae4H~-yZ$#PpOS{&6`yl=TDWpM(T=l|%xC&qh zR|2s)sUclZlwXiqRFaum99-sq)?3$0$I~~^V^zopUmfqWkDmtdu@^N5bBpl!i1O&J z;W@LGM^|)Cv$IGK507re&Qn3%UB;h3=kR{zDQW&I!`x*1$GKwXrS4DO+%~~ElRp=K z-4y&e$msJWV=v>%okHDSMwf*qdp88_?5zA*`SRn@qd&pPoRLX{8F!uq`UnUF7~VR9 zXrvqr(}q0{gA{|nl16nP3D<^{qXWEQCSYb7P!59t0fztoPXn276JYrbw`Nd|g8-1` zA3!FWW{muY+bmEHgaD9PCcq4Z-z=2;2s0LYj)WP!q_LV5W1;yI5qccpq82?BB20e@ dECGmiG{|&Bnhfw}Wdj++4ump5V>U5^cmT*>)Bpeg diff --git a/manong_sso/target/maven-archiver/pom.properties b/manong_sso/target/maven-archiver/pom.properties deleted file mode 100644 index 553e108..0000000 --- a/manong_sso/target/maven-archiver/pom.properties +++ /dev/null @@ -1,5 +0,0 @@ -#Generated by Maven -#Wed Sep 05 18:07:19 CST 2018 -version=1.0-SNAPSHOT -groupId=com.kendinghui -artifactId=manong_sso diff --git a/manong_sso/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/manong_sso/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst deleted file mode 100644 index e69de29..0000000 diff --git a/manong_sso/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/manong_sso/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst deleted file mode 100644 index e69de29..0000000 From 2824f8d11c105e037b64a4144ae2c5e700c9f8e5 Mon Sep 17 00:00:00 2001 From: wistbean <354142480@qq.com> Date: Wed, 27 Mar 2019 00:11:53 +0800 Subject: [PATCH 02/14] del .idea --- .idea/artifacts/manong_manager_web_war.xml | 14 - .../manong_manager_web_war_exploded.xml | 71 --- .idea/artifacts/manong_portal_war.xml | 14 - .../artifacts/manong_portal_war_exploded.xml | 57 -- .idea/artifacts/manong_rest_war.xml | 14 - .idea/artifacts/manong_rest_war_exploded.xml | 64 -- .idea/compiler.xml | 36 -- .idea/encodings.xml | 17 - .../Maven__aopalliance_aopalliance_1_0.xml | 13 - .../Maven__com_alibaba_druid_1_0_9.xml | 13 - .../Maven__com_baidu_ueditor_1_1_2.xml | 13 - ...jackson_core_jackson_annotations_2_4_0.xml | 13 - ...terxml_jackson_core_jackson_core_2_4_2.xml | 13 - ...ml_jackson_core_jackson_databind_2_4_2.xml | 13 - ...com_github_jsqlparser_jsqlparser_0_9_4.xml | 13 - ...com_github_pagehelper_pagehelper_4_1_1.xml | 13 - .../Maven__com_google_code_gson_gson_2_7.xml | 13 - .idea/libraries/Maven__com_json_json_1_1.xml | 13 - ...Maven__commons_codec_commons_codec_1_6.xml | 13 - ...ns_fileupload_commons_fileupload_1_3_1.xml | 13 - .../Maven__commons_io_commons_io_2_2.xml | 13 - ..._commons_logging_commons_logging_1_1_3.xml | 13 - ...n__commons_logging_commons_logging_1_2.xml | 13 - .../Maven__commons_net_commons_net_3_3.xml | 13 - .../Maven__javax_servlet_servlet_api_2_5.xml | 13 - ...ven__mysql_mysql_connector_java_5_1_32.xml | 13 - ...__org_apache_commons_commons_lang3_3_1.xml | 13 - ...apache_httpcomponents_httpclient_4_3_5.xml | 13 - ...g_apache_httpcomponents_httpcore_4_3_2.xml | 13 - ...Maven__org_aspectj_aspectjweaver_1_8_4.xml | 13 - ...urce_fastdfs_client_java_1_27_SNAPSHOT.xml | 13 - ...aven__org_freemarker_freemarker_2_3_28.xml | 13 - .../Maven__org_mybatis_mybatis_3_2_8.xml | 13 - ...aven__org_mybatis_mybatis_spring_1_2_2.xml | 13 - ...ringframework_spring_aop_4_1_3_RELEASE.xml | 13 - ...framework_spring_aspects_4_1_3_RELEASE.xml | 13 - ...ngframework_spring_beans_4_1_3_RELEASE.xml | 13 - ...framework_spring_context_4_1_3_RELEASE.xml | 13 - ...k_spring_context_support_4_1_3_RELEASE.xml | 13 - ...ingframework_spring_core_4_1_3_RELEASE.xml | 13 - ...mework_spring_expression_4_1_3_RELEASE.xml | 13 - ...ingframework_spring_jdbc_4_1_3_RELEASE.xml | 13 - ...pringframework_spring_tx_4_1_3_RELEASE.xml | 13 - ...ringframework_spring_web_4_1_3_RELEASE.xml | 13 - ...gframework_spring_webmvc_4_1_3_RELEASE.xml | 13 - .../libraries/manong_common_1_0_SNAPSHOT.xml | 9 - .idea/misc.xml | 22 - .idea/modules.xml | 20 - .idea/vcs.xml | 6 - .idea/workspace.xml | 578 ------------------ 50 files changed, 1403 deletions(-) delete mode 100644 .idea/artifacts/manong_manager_web_war.xml delete mode 100644 .idea/artifacts/manong_manager_web_war_exploded.xml delete mode 100644 .idea/artifacts/manong_portal_war.xml delete mode 100644 .idea/artifacts/manong_portal_war_exploded.xml delete mode 100644 .idea/artifacts/manong_rest_war.xml delete mode 100644 .idea/artifacts/manong_rest_war_exploded.xml delete mode 100644 .idea/compiler.xml delete mode 100644 .idea/encodings.xml delete mode 100644 .idea/libraries/Maven__aopalliance_aopalliance_1_0.xml delete mode 100644 .idea/libraries/Maven__com_alibaba_druid_1_0_9.xml delete mode 100644 .idea/libraries/Maven__com_baidu_ueditor_1_1_2.xml delete mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_4_0.xml delete mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_4_2.xml delete mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_4_2.xml delete mode 100644 .idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_4.xml delete mode 100644 .idea/libraries/Maven__com_github_pagehelper_pagehelper_4_1_1.xml delete mode 100644 .idea/libraries/Maven__com_google_code_gson_gson_2_7.xml delete mode 100644 .idea/libraries/Maven__com_json_json_1_1.xml delete mode 100644 .idea/libraries/Maven__commons_codec_commons_codec_1_6.xml delete mode 100644 .idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_1.xml delete mode 100644 .idea/libraries/Maven__commons_io_commons_io_2_2.xml delete mode 100644 .idea/libraries/Maven__commons_logging_commons_logging_1_1_3.xml delete mode 100644 .idea/libraries/Maven__commons_logging_commons_logging_1_2.xml delete mode 100644 .idea/libraries/Maven__commons_net_commons_net_3_3.xml delete mode 100644 .idea/libraries/Maven__javax_servlet_servlet_api_2_5.xml delete mode 100644 .idea/libraries/Maven__mysql_mysql_connector_java_5_1_32.xml delete mode 100644 .idea/libraries/Maven__org_apache_commons_commons_lang3_3_1.xml delete mode 100644 .idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_5.xml delete mode 100644 .idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_3_2.xml delete mode 100644 .idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_4.xml delete mode 100644 .idea/libraries/Maven__org_csource_fastdfs_client_java_1_27_SNAPSHOT.xml delete mode 100644 .idea/libraries/Maven__org_freemarker_freemarker_2_3_28.xml delete mode 100644 .idea/libraries/Maven__org_mybatis_mybatis_3_2_8.xml delete mode 100644 .idea/libraries/Maven__org_mybatis_mybatis_spring_1_2_2.xml delete mode 100644 .idea/libraries/Maven__org_springframework_spring_aop_4_1_3_RELEASE.xml delete mode 100644 .idea/libraries/Maven__org_springframework_spring_aspects_4_1_3_RELEASE.xml delete mode 100644 .idea/libraries/Maven__org_springframework_spring_beans_4_1_3_RELEASE.xml delete mode 100644 .idea/libraries/Maven__org_springframework_spring_context_4_1_3_RELEASE.xml delete mode 100644 .idea/libraries/Maven__org_springframework_spring_context_support_4_1_3_RELEASE.xml delete mode 100644 .idea/libraries/Maven__org_springframework_spring_core_4_1_3_RELEASE.xml delete mode 100644 .idea/libraries/Maven__org_springframework_spring_expression_4_1_3_RELEASE.xml delete mode 100644 .idea/libraries/Maven__org_springframework_spring_jdbc_4_1_3_RELEASE.xml delete mode 100644 .idea/libraries/Maven__org_springframework_spring_tx_4_1_3_RELEASE.xml delete mode 100644 .idea/libraries/Maven__org_springframework_spring_web_4_1_3_RELEASE.xml delete mode 100644 .idea/libraries/Maven__org_springframework_spring_webmvc_4_1_3_RELEASE.xml delete mode 100644 .idea/libraries/manong_common_1_0_SNAPSHOT.xml delete mode 100644 .idea/misc.xml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/vcs.xml delete mode 100644 .idea/workspace.xml diff --git a/.idea/artifacts/manong_manager_web_war.xml b/.idea/artifacts/manong_manager_web_war.xml deleted file mode 100644 index a1f6b7a..0000000 --- a/.idea/artifacts/manong_manager_web_war.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - $PROJECT_DIR$/manong_manager/manong_manager_web/target - - - manong_manager_web - war - - - - - - - \ No newline at end of file diff --git a/.idea/artifacts/manong_manager_web_war_exploded.xml b/.idea/artifacts/manong_manager_web_war_exploded.xml deleted file mode 100644 index 21cc071..0000000 --- a/.idea/artifacts/manong_manager_web_war_exploded.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - $PROJECT_DIR$/manong_manager/manong_manager_web/target/manong_manager_web-1.0-SNAPSHOT - - - true - manong_manager_web - war - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/artifacts/manong_portal_war.xml b/.idea/artifacts/manong_portal_war.xml deleted file mode 100644 index a5d9212..0000000 --- a/.idea/artifacts/manong_portal_war.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - $PROJECT_DIR$/manong_portal/target - - - manong_portal - war - - - - - - - \ No newline at end of file diff --git a/.idea/artifacts/manong_portal_war_exploded.xml b/.idea/artifacts/manong_portal_war_exploded.xml deleted file mode 100644 index b7a8e0f..0000000 --- a/.idea/artifacts/manong_portal_war_exploded.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - $PROJECT_DIR$/manong_portal/target/manong_portal-1.0-SNAPSHOT - - - true - manong_portal - war - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/artifacts/manong_rest_war.xml b/.idea/artifacts/manong_rest_war.xml deleted file mode 100644 index 9bc70c4..0000000 --- a/.idea/artifacts/manong_rest_war.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - $PROJECT_DIR$/manong_rest/target - - - manong_rest - war - - - - - - - \ No newline at end of file diff --git a/.idea/artifacts/manong_rest_war_exploded.xml b/.idea/artifacts/manong_rest_war_exploded.xml deleted file mode 100644 index eab26f5..0000000 --- a/.idea/artifacts/manong_rest_war_exploded.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - $PROJECT_DIR$/manong_rest/target/manong_rest-1.0-SNAPSHOT - - - true - manong_rest - war - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml deleted file mode 100644 index bf8c80f..0000000 --- a/.idea/compiler.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml deleted file mode 100644 index 5a98ada..0000000 --- a/.idea/encodings.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml b/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml deleted file mode 100644 index 30ff5cb..0000000 --- a/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_alibaba_druid_1_0_9.xml b/.idea/libraries/Maven__com_alibaba_druid_1_0_9.xml deleted file mode 100644 index a533418..0000000 --- a/.idea/libraries/Maven__com_alibaba_druid_1_0_9.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_baidu_ueditor_1_1_2.xml b/.idea/libraries/Maven__com_baidu_ueditor_1_1_2.xml deleted file mode 100644 index e4f3945..0000000 --- a/.idea/libraries/Maven__com_baidu_ueditor_1_1_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_4_0.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_4_0.xml deleted file mode 100644 index 0119075..0000000 --- a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_4_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_4_2.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_4_2.xml deleted file mode 100644 index 5a0115e..0000000 --- a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_4_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_4_2.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_4_2.xml deleted file mode 100644 index 01f92e7..0000000 --- a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_4_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_4.xml b/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_4.xml deleted file mode 100644 index 01dedb4..0000000 --- a/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_pagehelper_pagehelper_4_1_1.xml b/.idea/libraries/Maven__com_github_pagehelper_pagehelper_4_1_1.xml deleted file mode 100644 index 7ec0235..0000000 --- a/.idea/libraries/Maven__com_github_pagehelper_pagehelper_4_1_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_code_gson_gson_2_7.xml b/.idea/libraries/Maven__com_google_code_gson_gson_2_7.xml deleted file mode 100644 index 59098ba..0000000 --- a/.idea/libraries/Maven__com_google_code_gson_gson_2_7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_json_json_1_1.xml b/.idea/libraries/Maven__com_json_json_1_1.xml deleted file mode 100644 index 6c3cc2c..0000000 --- a/.idea/libraries/Maven__com_json_json_1_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_codec_commons_codec_1_6.xml b/.idea/libraries/Maven__commons_codec_commons_codec_1_6.xml deleted file mode 100644 index e8a6a9f..0000000 --- a/.idea/libraries/Maven__commons_codec_commons_codec_1_6.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_1.xml b/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_1.xml deleted file mode 100644 index 18d3b23..0000000 --- a/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_io_commons_io_2_2.xml b/.idea/libraries/Maven__commons_io_commons_io_2_2.xml deleted file mode 100644 index f8084ec..0000000 --- a/.idea/libraries/Maven__commons_io_commons_io_2_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_logging_commons_logging_1_1_3.xml b/.idea/libraries/Maven__commons_logging_commons_logging_1_1_3.xml deleted file mode 100644 index 01c7b8e..0000000 --- a/.idea/libraries/Maven__commons_logging_commons_logging_1_1_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml b/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml deleted file mode 100644 index eab40b3..0000000 --- a/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_net_commons_net_3_3.xml b/.idea/libraries/Maven__commons_net_commons_net_3_3.xml deleted file mode 100644 index 6844bee..0000000 --- a/.idea/libraries/Maven__commons_net_commons_net_3_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_servlet_servlet_api_2_5.xml b/.idea/libraries/Maven__javax_servlet_servlet_api_2_5.xml deleted file mode 100644 index 679e09a..0000000 --- a/.idea/libraries/Maven__javax_servlet_servlet_api_2_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_32.xml b/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_32.xml deleted file mode 100644 index 004138c..0000000 --- a/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_32.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_1.xml b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_1.xml deleted file mode 100644 index 32bfe3b..0000000 --- a/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_5.xml b/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_5.xml deleted file mode 100644 index 5601459..0000000 --- a/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_3_2.xml b/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_3_2.xml deleted file mode 100644 index 1c14963..0000000 --- a/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_3_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_4.xml b/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_4.xml deleted file mode 100644 index 94a4132..0000000 --- a/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_csource_fastdfs_client_java_1_27_SNAPSHOT.xml b/.idea/libraries/Maven__org_csource_fastdfs_client_java_1_27_SNAPSHOT.xml deleted file mode 100644 index 381d8a8..0000000 --- a/.idea/libraries/Maven__org_csource_fastdfs_client_java_1_27_SNAPSHOT.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_freemarker_freemarker_2_3_28.xml b/.idea/libraries/Maven__org_freemarker_freemarker_2_3_28.xml deleted file mode 100644 index 3471c5b..0000000 --- a/.idea/libraries/Maven__org_freemarker_freemarker_2_3_28.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_mybatis_3_2_8.xml b/.idea/libraries/Maven__org_mybatis_mybatis_3_2_8.xml deleted file mode 100644 index 956e478..0000000 --- a/.idea/libraries/Maven__org_mybatis_mybatis_3_2_8.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_2_2.xml b/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_2_2.xml deleted file mode 100644 index 8828a9a..0000000 --- a/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_2_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_aop_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_aop_4_1_3_RELEASE.xml deleted file mode 100644 index 5ad17a5..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_aop_4_1_3_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_aspects_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_aspects_4_1_3_RELEASE.xml deleted file mode 100644 index 838787d..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_aspects_4_1_3_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_beans_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_beans_4_1_3_RELEASE.xml deleted file mode 100644 index e399d68..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_beans_4_1_3_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_context_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_context_4_1_3_RELEASE.xml deleted file mode 100644 index 955ceee..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_context_4_1_3_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_context_support_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_context_support_4_1_3_RELEASE.xml deleted file mode 100644 index 404c0ae..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_context_support_4_1_3_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_core_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_core_4_1_3_RELEASE.xml deleted file mode 100644 index 8d25b60..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_core_4_1_3_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_expression_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_expression_4_1_3_RELEASE.xml deleted file mode 100644 index a85cdaf..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_expression_4_1_3_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_jdbc_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_jdbc_4_1_3_RELEASE.xml deleted file mode 100644 index 6b6ad8e..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_jdbc_4_1_3_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_tx_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_tx_4_1_3_RELEASE.xml deleted file mode 100644 index 87e3876..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_tx_4_1_3_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_web_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_web_4_1_3_RELEASE.xml deleted file mode 100644 index 28a4ce5..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_web_4_1_3_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_webmvc_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_webmvc_4_1_3_RELEASE.xml deleted file mode 100644 index 60e13b8..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_webmvc_4_1_3_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/manong_common_1_0_SNAPSHOT.xml b/.idea/libraries/manong_common_1_0_SNAPSHOT.xml deleted file mode 100644 index c45fc7a..0000000 --- a/.idea/libraries/manong_common_1_0_SNAPSHOT.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 05d877e..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index b114828..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1dd..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml deleted file mode 100644 index 0021519..0000000 --- a/.idea/workspace.xml +++ /dev/null @@ -1,578 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1553455302128 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + manong_manager_web:war + + + + + + + + Web + + + + + + + + + + + + + + + 1.8 + + + + + + + + manong_search + + + + + + + + manong_common-1.0-SNAPSHOT + + + + + + + +
\ No newline at end of file diff --git a/manong_common/target/maven-archiver/pom.properties b/manong_common/target/maven-archiver/pom.properties new file mode 100644 index 0000000..7cbce2a --- /dev/null +++ b/manong_common/target/maven-archiver/pom.properties @@ -0,0 +1,5 @@ +#Generated by Maven +#Tue Mar 26 21:58:03 CST 2019 +version=1.0-SNAPSHOT +groupId=com.kendinghui +artifactId=manong_common diff --git a/manong_common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/manong_common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..bf67cbe --- /dev/null +++ b/manong_common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,7 @@ +pojo/Res_Categories$CategoriesBean$SubCetegoriesBean.class +pojo/ResponseJsonResult.class +pojo/EasyUITree.class +utils/HttpClientUtil.class +pojo/Res_Categories$CategoriesBean.class +pojo/Res_Categories.class +pojo/EasyGrid.class diff --git a/manong_common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/manong_common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..e5df604 --- /dev/null +++ b/manong_common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,5 @@ +/home/wistbean/manong-ssm/manong_common/src/main/java/pojo/Res_Categories.java +/home/wistbean/manong-ssm/manong_common/src/main/java/utils/HttpClientUtil.java +/home/wistbean/manong-ssm/manong_common/src/main/java/pojo/ResponseJsonResult.java +/home/wistbean/manong-ssm/manong_common/src/main/java/pojo/EasyUITree.java +/home/wistbean/manong-ssm/manong_common/src/main/java/pojo/EasyGrid.java diff --git a/manong_parent/pom.xml b/manong_parent/pom.xml index 815c326..d52043c 100644 --- a/manong_parent/pom.xml +++ b/manong_parent/pom.xml @@ -31,9 +31,9 @@ 4.1.3.RELEASE 1.0.9 5.1.32 - 2.4.2 + [2.8.11.1,) 1.27-SNAPSHOT - 1.3.1 + [1.3.3,) 2.2 3.1 1.6 @@ -42,7 +42,7 @@ 2.3.28 2.5 4.1.1 - 4.3.5 + [4.3.6,) 3.3 2.7 diff --git a/manong_portal/target/classes/resource/resource.properties b/manong_portal/target/classes/resource/resource.properties new file mode 100644 index 0000000..2fae647 --- /dev/null +++ b/manong_portal/target/classes/resource/resource.properties @@ -0,0 +1,5 @@ +# REST +REST_URL = http://127.0.0.1:8088/rest/ + +# REST ȡƷ +REST_CAT_LIST = productCategries/list \ No newline at end of file diff --git a/manong_portal/target/classes/spring/applicationContext-service.xml b/manong_portal/target/classes/spring/applicationContext-service.xml new file mode 100644 index 0000000..63a54fc --- /dev/null +++ b/manong_portal/target/classes/spring/applicationContext-service.xml @@ -0,0 +1,18 @@ + + + + + + classpath:resource/resource.properties + + + + + + \ No newline at end of file diff --git a/manong_portal/target/classes/spring/springmvc.xml b/manong_portal/target/classes/spring/springmvc.xml new file mode 100644 index 0000000..93e7ba4 --- /dev/null +++ b/manong_portal/target/classes/spring/springmvc.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/manong_portal/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/manong_portal/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..81ad9c8 --- /dev/null +++ b/manong_portal/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,5 @@ +com/manong/portal/util/GsonUtils.class +com/manong/portal/service/impl/CategoriesServiceImpl.class +com/manong/portal/controller/FreemarkerTest.class +com/manong/portal/controller/IndexController.class +com/manong/portal/service/CategoriesService.class diff --git a/manong_portal/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/manong_portal/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..d3689a3 --- /dev/null +++ b/manong_portal/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,5 @@ +/home/wistbean/manong-ssm/manong_portal/src/main/java/com/manong/portal/controller/IndexController.java +/home/wistbean/manong-ssm/manong_portal/src/main/java/com/manong/portal/service/impl/CategoriesServiceImpl.java +/home/wistbean/manong-ssm/manong_portal/src/main/java/com/manong/portal/controller/FreemarkerTest.java +/home/wistbean/manong-ssm/manong_portal/src/main/java/com/manong/portal/service/CategoriesService.java +/home/wistbean/manong-ssm/manong_portal/src/main/java/com/manong/portal/util/GsonUtils.java diff --git a/manong_portal/target/tomcat/conf/logging.properties b/manong_portal/target/tomcat/conf/logging.properties new file mode 100644 index 0000000..76c9512 --- /dev/null +++ b/manong_portal/target/tomcat/conf/logging.properties @@ -0,0 +1,64 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler + +.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler + +############################################################ +# Handler specific properties. +# Describes specific configuration info for Handlers. +############################################################ + +1catalina.org.apache.juli.FileHandler.level = FINE +1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs +1catalina.org.apache.juli.FileHandler.prefix = catalina. + +2localhost.org.apache.juli.FileHandler.level = FINE +2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs +2localhost.org.apache.juli.FileHandler.prefix = localhost. + +3manager.org.apache.juli.FileHandler.level = FINE +3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs +3manager.org.apache.juli.FileHandler.prefix = manager. + +4host-manager.org.apache.juli.FileHandler.level = FINE +4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs +4host-manager.org.apache.juli.FileHandler.prefix = host-manager. + +java.util.logging.ConsoleHandler.level = FINE +java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter + + +############################################################ +# Facility specific properties. +# Provides extra control for each logger. +############################################################ + +org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO +org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler + +org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO +org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler + +org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO +org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.FileHandler + +# For example, set the org.apache.catalina.util.LifecycleBase logger to log +# each component that extends LifecycleBase changing state: +#org.apache.catalina.util.LifecycleBase.level = FINE + +# To see debug messages in TldLocationsCache, uncomment the following line: +#org.apache.jasper.compiler.TldLocationsCache.level = FINE diff --git a/manong_portal/target/tomcat/conf/tomcat-users.xml b/manong_portal/target/tomcat/conf/tomcat-users.xml new file mode 100644 index 0000000..7114f5d --- /dev/null +++ b/manong_portal/target/tomcat/conf/tomcat-users.xml @@ -0,0 +1,26 @@ + + + + + diff --git a/manong_portal/target/tomcat/conf/web.xml b/manong_portal/target/tomcat/conf/web.xml new file mode 100644 index 0000000..cc8383c --- /dev/null +++ b/manong_portal/target/tomcat/conf/web.xml @@ -0,0 +1,4283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + default + org.apache.catalina.servlets.DefaultServlet + + debug + 0 + + + listings + false + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + jsp + org.apache.jasper.servlet.JspServlet + + fork + false + + + xpoweredBy + false + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + default + / + + + + + jsp + *.jsp + *.jspx + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 30 + + + + + + + + + + + + 123 + application/vnd.lotus-1-2-3 + + + 3dml + text/vnd.in3d.3dml + + + 3g2 + video/3gpp2 + + + 3gp + video/3gpp + + + 7z + application/x-7z-compressed + + + aab + application/x-authorware-bin + + + aac + audio/x-aac + + + aam + application/x-authorware-map + + + aas + application/x-authorware-seg + + + abs + audio/x-mpeg + + + abw + application/x-abiword + + + ac + application/pkix-attr-cert + + + acc + application/vnd.americandynamics.acc + + + ace + application/x-ace-compressed + + + acu + application/vnd.acucobol + + + acutc + application/vnd.acucorp + + + adp + audio/adpcm + + + aep + application/vnd.audiograph + + + afm + application/x-font-type1 + + + afp + application/vnd.ibm.modcap + + + ahead + application/vnd.ahead.space + + + ai + application/postscript + + + aif + audio/x-aiff + + + aifc + audio/x-aiff + + + aiff + audio/x-aiff + + + aim + application/x-aim + + + air + application/vnd.adobe.air-application-installer-package+zip + + + ait + application/vnd.dvb.ait + + + ami + application/vnd.amiga.ami + + + anx + application/annodex + + + apk + application/vnd.android.package-archive + + + application + application/x-ms-application + + + apr + application/vnd.lotus-approach + + + art + image/x-jg + + + asc + application/pgp-signature + + + asf + video/x-ms-asf + + + asm + text/x-asm + + + aso + application/vnd.accpac.simply.aso + + + asx + video/x-ms-asf + + + atc + application/vnd.acucorp + + + atom + application/atom+xml + + + atomcat + application/atomcat+xml + + + atomsvc + application/atomsvc+xml + + + atx + application/vnd.antix.game-component + + + au + audio/basic + + + avi + video/x-msvideo + + + avx + video/x-rad-screenplay + + + aw + application/applixware + + + axa + audio/annodex + + + axv + video/annodex + + + azf + application/vnd.airzip.filesecure.azf + + + azs + application/vnd.airzip.filesecure.azs + + + azw + application/vnd.amazon.ebook + + + bat + application/x-msdownload + + + bcpio + application/x-bcpio + + + bdf + application/x-font-bdf + + + bdm + application/vnd.syncml.dm+wbxml + + + bed + application/vnd.realvnc.bed + + + bh2 + application/vnd.fujitsu.oasysprs + + + bin + application/octet-stream + + + bmi + application/vnd.bmi + + + bmp + image/bmp + + + body + text/html + + + book + application/vnd.framemaker + + + box + application/vnd.previewsystems.box + + + boz + application/x-bzip2 + + + bpk + application/octet-stream + + + btif + image/prs.btif + + + bz + application/x-bzip + + + bz2 + application/x-bzip2 + + + c + text/x-c + + + c11amc + application/vnd.cluetrust.cartomobile-config + + + c11amz + application/vnd.cluetrust.cartomobile-config-pkg + + + c4d + application/vnd.clonk.c4group + + + c4f + application/vnd.clonk.c4group + + + c4g + application/vnd.clonk.c4group + + + c4p + application/vnd.clonk.c4group + + + c4u + application/vnd.clonk.c4group + + + cab + application/vnd.ms-cab-compressed + + + cap + application/vnd.tcpdump.pcap + + + car + application/vnd.curl.car + + + cat + application/vnd.ms-pki.seccat + + + cc + text/x-c + + + cct + application/x-director + + + ccxml + application/ccxml+xml + + + cdbcmsg + application/vnd.contact.cmsg + + + cdf + application/x-cdf + + + cdkey + application/vnd.mediastation.cdkey + + + cdmia + application/cdmi-capability + + + cdmic + application/cdmi-container + + + cdmid + application/cdmi-domain + + + cdmio + application/cdmi-object + + + cdmiq + application/cdmi-queue + + + cdx + chemical/x-cdx + + + cdxml + application/vnd.chemdraw+xml + + + cdy + application/vnd.cinderella + + + cer + application/pkix-cert + + + cgm + image/cgm + + + chat + application/x-chat + + + chm + application/vnd.ms-htmlhelp + + + chrt + application/vnd.kde.kchart + + + cif + chemical/x-cif + + + cii + application/vnd.anser-web-certificate-issue-initiation + + + cil + application/vnd.ms-artgalry + + + cla + application/vnd.claymore + + + class + application/java + + + clkk + application/vnd.crick.clicker.keyboard + + + clkp + application/vnd.crick.clicker.palette + + + clkt + application/vnd.crick.clicker.template + + + clkw + application/vnd.crick.clicker.wordbank + + + clkx + application/vnd.crick.clicker + + + clp + application/x-msclip + + + cmc + application/vnd.cosmocaller + + + cmdf + chemical/x-cmdf + + + cml + chemical/x-cml + + + cmp + application/vnd.yellowriver-custom-menu + + + cmx + image/x-cmx + + + cod + application/vnd.rim.cod + + + com + application/x-msdownload + + + conf + text/plain + + + cpio + application/x-cpio + + + cpp + text/x-c + + + cpt + application/mac-compactpro + + + crd + application/x-mscardfile + + + crl + application/pkix-crl + + + crt + application/x-x509-ca-cert + + + cryptonote + application/vnd.rig.cryptonote + + + csh + application/x-csh + + + csml + chemical/x-csml + + + csp + application/vnd.commonspace + + + css + text/css + + + cst + application/x-director + + + csv + text/csv + + + cu + application/cu-seeme + + + curl + text/vnd.curl + + + cww + application/prs.cww + + + cxt + application/x-director + + + cxx + text/x-c + + + dae + model/vnd.collada+xml + + + daf + application/vnd.mobius.daf + + + dataless + application/vnd.fdsn.seed + + + davmount + application/davmount+xml + + + dcr + application/x-director + + + dcurl + text/vnd.curl.dcurl + + + dd2 + application/vnd.oma.dd2+xml + + + ddd + application/vnd.fujixerox.ddd + + + deb + application/x-debian-package + + + def + text/plain + + + deploy + application/octet-stream + + + der + application/x-x509-ca-cert + + + dfac + application/vnd.dreamfactory + + + dib + image/bmp + + + dic + text/x-c + + + dir + application/x-director + + + dis + application/vnd.mobius.dis + + + dist + application/octet-stream + + + distz + application/octet-stream + + + djv + image/vnd.djvu + + + djvu + image/vnd.djvu + + + dll + application/x-msdownload + + + dmg + application/octet-stream + + + dmp + application/vnd.tcpdump.pcap + + + dms + application/octet-stream + + + dna + application/vnd.dna + + + doc + application/msword + + + docm + application/vnd.ms-word.document.macroenabled.12 + + + docx + application/vnd.openxmlformats-officedocument.wordprocessingml.document + + + dot + application/msword + + + dotm + application/vnd.ms-word.template.macroenabled.12 + + + dotx + application/vnd.openxmlformats-officedocument.wordprocessingml.template + + + dp + application/vnd.osgi.dp + + + dpg + application/vnd.dpgraph + + + dra + audio/vnd.dra + + + dsc + text/prs.lines.tag + + + dssc + application/dssc+der + + + dtb + application/x-dtbook+xml + + + dtd + application/xml-dtd + + + dts + audio/vnd.dts + + + dtshd + audio/vnd.dts.hd + + + dump + application/octet-stream + + + dv + video/x-dv + + + dvb + video/vnd.dvb.file + + + dvi + application/x-dvi + + + dwf + model/vnd.dwf + + + dwg + image/vnd.dwg + + + dxf + image/vnd.dxf + + + dxp + application/vnd.spotfire.dxp + + + dxr + application/x-director + + + ecelp4800 + audio/vnd.nuera.ecelp4800 + + + ecelp7470 + audio/vnd.nuera.ecelp7470 + + + ecelp9600 + audio/vnd.nuera.ecelp9600 + + + ecma + application/ecmascript + + + edm + application/vnd.novadigm.edm + + + edx + application/vnd.novadigm.edx + + + efif + application/vnd.picsel + + + ei6 + application/vnd.pg.osasli + + + elc + application/octet-stream + + + eml + message/rfc822 + + + emma + application/emma+xml + + + eol + audio/vnd.digital-winds + + + eot + application/vnd.ms-fontobject + + + eps + application/postscript + + + epub + application/epub+zip + + + es3 + application/vnd.eszigno3+xml + + + esf + application/vnd.epson.esf + + + et3 + application/vnd.eszigno3+xml + + + etx + text/x-setext + + + exe + application/octet-stream + + + exi + application/exi + + + ext + application/vnd.novadigm.ext + + + ez + application/andrew-inset + + + ez2 + application/vnd.ezpix-album + + + ez3 + application/vnd.ezpix-package + + + f + text/x-fortran + + + f4v + video/x-f4v + + + f77 + text/x-fortran + + + f90 + text/x-fortran + + + fbs + image/vnd.fastbidsheet + + + fcs + application/vnd.isac.fcs + + + fdf + application/vnd.fdf + + + fe_launch + application/vnd.denovo.fcselayout-link + + + fg5 + application/vnd.fujitsu.oasysgp + + + fgd + application/x-director + + + fh + image/x-freehand + + + fh4 + image/x-freehand + + + fh5 + image/x-freehand + + + fh7 + image/x-freehand + + + fhc + image/x-freehand + + + fig + application/x-xfig + + + flac + audio/flac + + + fli + video/x-fli + + + flo + application/vnd.micrografx.flo + + + flv + video/x-flv + + + flw + application/vnd.kde.kivio + + + flx + text/vnd.fmi.flexstor + + + fly + text/vnd.fly + + + fm + application/vnd.framemaker + + + fnc + application/vnd.frogans.fnc + + + for + text/x-fortran + + + fpx + image/vnd.fpx + + + frame + application/vnd.framemaker + + + fsc + application/vnd.fsc.weblaunch + + + fst + image/vnd.fst + + + ftc + application/vnd.fluxtime.clip + + + fti + application/vnd.anser-web-funds-transfer-initiation + + + fvt + video/vnd.fvt + + + fxp + application/vnd.adobe.fxp + + + fxpl + application/vnd.adobe.fxp + + + fzs + application/vnd.fuzzysheet + + + g2w + application/vnd.geoplan + + + g3 + image/g3fax + + + g3w + application/vnd.geospace + + + gac + application/vnd.groove-account + + + gbr + application/rpki-ghostbusters + + + gdl + model/vnd.gdl + + + geo + application/vnd.dynageo + + + gex + application/vnd.geometry-explorer + + + ggb + application/vnd.geogebra.file + + + ggt + application/vnd.geogebra.tool + + + ghf + application/vnd.groove-help + + + gif + image/gif + + + gim + application/vnd.groove-identity-message + + + gmx + application/vnd.gmx + + + gnumeric + application/x-gnumeric + + + gph + application/vnd.flographit + + + gqf + application/vnd.grafeq + + + gqs + application/vnd.grafeq + + + gram + application/srgs + + + gre + application/vnd.geometry-explorer + + + grv + application/vnd.groove-injector + + + grxml + application/srgs+xml + + + gsf + application/x-font-ghostscript + + + gtar + application/x-gtar + + + gtm + application/vnd.groove-tool-message + + + gtw + model/vnd.gtw + + + gv + text/vnd.graphviz + + + gxt + application/vnd.geonext + + + gz + application/x-gzip + + + h + text/x-c + + + h261 + video/h261 + + + h263 + video/h263 + + + h264 + video/h264 + + + hal + application/vnd.hal+xml + + + hbci + application/vnd.hbci + + + hdf + application/x-hdf + + + hh + text/x-c + + + hlp + application/winhlp + + + hpgl + application/vnd.hp-hpgl + + + hpid + application/vnd.hp-hpid + + + hps + application/vnd.hp-hps + + + hqx + application/mac-binhex40 + + + htc + text/x-component + + + htke + application/vnd.kenameaapp + + + htm + text/html + + + html + text/html + + + hvd + application/vnd.yamaha.hv-dic + + + hvp + application/vnd.yamaha.hv-voice + + + hvs + application/vnd.yamaha.hv-script + + + i2g + application/vnd.intergeo + + + icc + application/vnd.iccprofile + + + ice + x-conference/x-cooltalk + + + icm + application/vnd.iccprofile + + + ico + image/x-icon + + + ics + text/calendar + + + ief + image/ief + + + ifb + text/calendar + + + ifm + application/vnd.shana.informed.formdata + + + iges + model/iges + + + igl + application/vnd.igloader + + + igm + application/vnd.insors.igm + + + igs + model/iges + + + igx + application/vnd.micrografx.igx + + + iif + application/vnd.shana.informed.interchange + + + imp + application/vnd.accpac.simply.imp + + + ims + application/vnd.ms-ims + + + in + text/plain + + + ink + application/inkml+xml + + + inkml + application/inkml+xml + + + iota + application/vnd.astraea-software.iota + + + ipfix + application/ipfix + + + ipk + application/vnd.shana.informed.package + + + irm + application/vnd.ibm.rights-management + + + irp + application/vnd.irepository.package+xml + + + iso + application/octet-stream + + + itp + application/vnd.shana.informed.formtemplate + + + ivp + application/vnd.immervision-ivp + + + ivu + application/vnd.immervision-ivu + + + jad + text/vnd.sun.j2me.app-descriptor + + + jam + application/vnd.jam + + + jar + application/java-archive + + + java + text/x-java-source + + + jisp + application/vnd.jisp + + + jlt + application/vnd.hp-jlyt + + + jnlp + application/x-java-jnlp-file + + + joda + application/vnd.joost.joda-archive + + + jpe + image/jpeg + + + jpeg + image/jpeg + + + jpg + image/jpeg + + + jpgm + video/jpm + + + jpgv + video/jpeg + + + jpm + video/jpm + + + js + application/javascript + + + jsf + text/plain + + + json + application/json + + + jspf + text/plain + + + kar + audio/midi + + + karbon + application/vnd.kde.karbon + + + kfo + application/vnd.kde.kformula + + + kia + application/vnd.kidspiration + + + kml + application/vnd.google-earth.kml+xml + + + kmz + application/vnd.google-earth.kmz + + + kne + application/vnd.kinar + + + knp + application/vnd.kinar + + + kon + application/vnd.kde.kontour + + + kpr + application/vnd.kde.kpresenter + + + kpt + application/vnd.kde.kpresenter + + + ksp + application/vnd.kde.kspread + + + ktr + application/vnd.kahootz + + + ktx + image/ktx + + + ktz + application/vnd.kahootz + + + kwd + application/vnd.kde.kword + + + kwt + application/vnd.kde.kword + + + lasxml + application/vnd.las.las+xml + + + latex + application/x-latex + + + lbd + application/vnd.llamagraphics.life-balance.desktop + + + lbe + application/vnd.llamagraphics.life-balance.exchange+xml + + + les + application/vnd.hhe.lesson-player + + + lha + application/octet-stream + + + link66 + application/vnd.route66.link66+xml + + + list + text/plain + + + list3820 + application/vnd.ibm.modcap + + + listafp + application/vnd.ibm.modcap + + + log + text/plain + + + lostxml + application/lost+xml + + + lrf + application/octet-stream + + + lrm + application/vnd.ms-lrm + + + ltf + application/vnd.frogans.ltf + + + lvp + audio/vnd.lucent.voice + + + lwp + application/vnd.lotus-wordpro + + + lzh + application/octet-stream + + + m13 + application/x-msmediaview + + + m14 + application/x-msmediaview + + + m1v + video/mpeg + + + m21 + application/mp21 + + + m2a + audio/mpeg + + + m2v + video/mpeg + + + m3a + audio/mpeg + + + m3u + audio/x-mpegurl + + + m3u8 + application/vnd.apple.mpegurl + + + m4a + audio/mp4 + + + m4b + audio/mp4 + + + m4r + audio/mp4 + + + m4u + video/vnd.mpegurl + + + m4v + video/mp4 + + + ma + application/mathematica + + + mac + image/x-macpaint + + + mads + application/mads+xml + + + mag + application/vnd.ecowin.chart + + + maker + application/vnd.framemaker + + + man + text/troff + + + mathml + application/mathml+xml + + + mb + application/mathematica + + + mbk + application/vnd.mobius.mbk + + + mbox + application/mbox + + + mc1 + application/vnd.medcalcdata + + + mcd + application/vnd.mcd + + + mcurl + text/vnd.curl.mcurl + + + mdb + application/x-msaccess + + + mdi + image/vnd.ms-modi + + + me + text/troff + + + mesh + model/mesh + + + meta4 + application/metalink4+xml + + + mets + application/mets+xml + + + mfm + application/vnd.mfmp + + + mft + application/rpki-manifest + + + mgp + application/vnd.osgeo.mapguide.package + + + mgz + application/vnd.proteus.magazine + + + mid + audio/midi + + + midi + audio/midi + + + mif + application/x-mif + + + mime + message/rfc822 + + + mj2 + video/mj2 + + + mjp2 + video/mj2 + + + mlp + application/vnd.dolby.mlp + + + mmd + application/vnd.chipnuts.karaoke-mmd + + + mmf + application/vnd.smaf + + + mmr + image/vnd.fujixerox.edmics-mmr + + + mny + application/x-msmoney + + + mobi + application/x-mobipocket-ebook + + + mods + application/mods+xml + + + mov + video/quicktime + + + movie + video/x-sgi-movie + + + mp1 + audio/mpeg + + + mp2 + audio/mpeg + + + mp21 + application/mp21 + + + mp2a + audio/mpeg + + + mp3 + audio/mpeg + + + mp4 + video/mp4 + + + mp4a + audio/mp4 + + + mp4s + application/mp4 + + + mp4v + video/mp4 + + + mpa + audio/mpeg + + + mpc + application/vnd.mophun.certificate + + + mpe + video/mpeg + + + mpeg + video/mpeg + + + mpega + audio/x-mpeg + + + mpg + video/mpeg + + + mpg4 + video/mp4 + + + mpga + audio/mpeg + + + mpkg + application/vnd.apple.installer+xml + + + mpm + application/vnd.blueice.multipass + + + mpn + application/vnd.mophun.application + + + mpp + application/vnd.ms-project + + + mpt + application/vnd.ms-project + + + mpv2 + video/mpeg2 + + + mpy + application/vnd.ibm.minipay + + + mqy + application/vnd.mobius.mqy + + + mrc + application/marc + + + mrcx + application/marcxml+xml + + + ms + text/troff + + + mscml + application/mediaservercontrol+xml + + + mseed + application/vnd.fdsn.mseed + + + mseq + application/vnd.mseq + + + msf + application/vnd.epson.msf + + + msh + model/mesh + + + msi + application/x-msdownload + + + msl + application/vnd.mobius.msl + + + msty + application/vnd.muvee.style + + + mts + model/vnd.mts + + + mus + application/vnd.musician + + + musicxml + application/vnd.recordare.musicxml+xml + + + mvb + application/x-msmediaview + + + mwf + application/vnd.mfer + + + mxf + application/mxf + + + mxl + application/vnd.recordare.musicxml + + + mxml + application/xv+xml + + + mxs + application/vnd.triscape.mxs + + + mxu + video/vnd.mpegurl + + + n-gage + application/vnd.nokia.n-gage.symbian.install + + + n3 + text/n3 + + + nb + application/mathematica + + + nbp + application/vnd.wolfram.player + + + nc + application/x-netcdf + + + ncx + application/x-dtbncx+xml + + + ngdat + application/vnd.nokia.n-gage.data + + + nlu + application/vnd.neurolanguage.nlu + + + nml + application/vnd.enliven + + + nnd + application/vnd.noblenet-directory + + + nns + application/vnd.noblenet-sealer + + + nnw + application/vnd.noblenet-web + + + npx + image/vnd.net-fpx + + + nsf + application/vnd.lotus-notes + + + oa2 + application/vnd.fujitsu.oasys2 + + + oa3 + application/vnd.fujitsu.oasys3 + + + oas + application/vnd.fujitsu.oasys + + + obd + application/x-msbinder + + + oda + application/oda + + + + odb + application/vnd.oasis.opendocument.database + + + + odc + application/vnd.oasis.opendocument.chart + + + + odf + application/vnd.oasis.opendocument.formula + + + odft + application/vnd.oasis.opendocument.formula-template + + + + odg + application/vnd.oasis.opendocument.graphics + + + + odi + application/vnd.oasis.opendocument.image + + + + odm + application/vnd.oasis.opendocument.text-master + + + + odp + application/vnd.oasis.opendocument.presentation + + + + ods + application/vnd.oasis.opendocument.spreadsheet + + + + odt + application/vnd.oasis.opendocument.text + + + oga + audio/ogg + + + ogg + audio/ogg + + + ogv + video/ogg + + + + ogx + application/ogg + + + onepkg + application/onenote + + + onetmp + application/onenote + + + onetoc + application/onenote + + + onetoc2 + application/onenote + + + opf + application/oebps-package+xml + + + oprc + application/vnd.palm + + + org + application/vnd.lotus-organizer + + + osf + application/vnd.yamaha.openscoreformat + + + osfpvg + application/vnd.yamaha.openscoreformat.osfpvg+xml + + + otc + application/vnd.oasis.opendocument.chart-template + + + otf + application/x-font-otf + + + + otg + application/vnd.oasis.opendocument.graphics-template + + + + oth + application/vnd.oasis.opendocument.text-web + + + oti + application/vnd.oasis.opendocument.image-template + + + + otp + application/vnd.oasis.opendocument.presentation-template + + + + ots + application/vnd.oasis.opendocument.spreadsheet-template + + + + ott + application/vnd.oasis.opendocument.text-template + + + oxps + application/oxps + + + oxt + application/vnd.openofficeorg.extension + + + p + text/x-pascal + + + p10 + application/pkcs10 + + + p12 + application/x-pkcs12 + + + p7b + application/x-pkcs7-certificates + + + p7c + application/pkcs7-mime + + + p7m + application/pkcs7-mime + + + p7r + application/x-pkcs7-certreqresp + + + p7s + application/pkcs7-signature + + + p8 + application/pkcs8 + + + pas + text/x-pascal + + + paw + application/vnd.pawaafile + + + pbd + application/vnd.powerbuilder6 + + + pbm + image/x-portable-bitmap + + + pcap + application/vnd.tcpdump.pcap + + + pcf + application/x-font-pcf + + + pcl + application/vnd.hp-pcl + + + pclxl + application/vnd.hp-pclxl + + + pct + image/pict + + + pcurl + application/vnd.curl.pcurl + + + pcx + image/x-pcx + + + pdb + application/vnd.palm + + + pdf + application/pdf + + + pfa + application/x-font-type1 + + + pfb + application/x-font-type1 + + + pfm + application/x-font-type1 + + + pfr + application/font-tdpfr + + + pfx + application/x-pkcs12 + + + pgm + image/x-portable-graymap + + + pgn + application/x-chess-pgn + + + pgp + application/pgp-encrypted + + + pic + image/pict + + + pict + image/pict + + + pkg + application/octet-stream + + + pki + application/pkixcmp + + + pkipath + application/pkix-pkipath + + + plb + application/vnd.3gpp.pic-bw-large + + + plc + application/vnd.mobius.plc + + + plf + application/vnd.pocketlearn + + + pls + audio/x-scpls + + + pml + application/vnd.ctc-posml + + + png + image/png + + + pnm + image/x-portable-anymap + + + pnt + image/x-macpaint + + + portpkg + application/vnd.macports.portpkg + + + pot + application/vnd.ms-powerpoint + + + potm + application/vnd.ms-powerpoint.template.macroenabled.12 + + + potx + application/vnd.openxmlformats-officedocument.presentationml.template + + + ppam + application/vnd.ms-powerpoint.addin.macroenabled.12 + + + ppd + application/vnd.cups-ppd + + + ppm + image/x-portable-pixmap + + + pps + application/vnd.ms-powerpoint + + + ppsm + application/vnd.ms-powerpoint.slideshow.macroenabled.12 + + + ppsx + application/vnd.openxmlformats-officedocument.presentationml.slideshow + + + ppt + application/vnd.ms-powerpoint + + + pptm + application/vnd.ms-powerpoint.presentation.macroenabled.12 + + + pptx + application/vnd.openxmlformats-officedocument.presentationml.presentation + + + pqa + application/vnd.palm + + + prc + application/x-mobipocket-ebook + + + pre + application/vnd.lotus-freelance + + + prf + application/pics-rules + + + ps + application/postscript + + + psb + application/vnd.3gpp.pic-bw-small + + + psd + image/vnd.adobe.photoshop + + + psf + application/x-font-linux-psf + + + pskcxml + application/pskc+xml + + + ptid + application/vnd.pvi.ptid1 + + + pub + application/x-mspublisher + + + pvb + application/vnd.3gpp.pic-bw-var + + + pwn + application/vnd.3m.post-it-notes + + + pya + audio/vnd.ms-playready.media.pya + + + pyv + video/vnd.ms-playready.media.pyv + + + qam + application/vnd.epson.quickanime + + + qbo + application/vnd.intu.qbo + + + qfx + application/vnd.intu.qfx + + + qps + application/vnd.publishare-delta-tree + + + qt + video/quicktime + + + qti + image/x-quicktime + + + qtif + image/x-quicktime + + + qwd + application/vnd.quark.quarkxpress + + + qwt + application/vnd.quark.quarkxpress + + + qxb + application/vnd.quark.quarkxpress + + + qxd + application/vnd.quark.quarkxpress + + + qxl + application/vnd.quark.quarkxpress + + + qxt + application/vnd.quark.quarkxpress + + + ra + audio/x-pn-realaudio + + + ram + audio/x-pn-realaudio + + + rar + application/x-rar-compressed + + + ras + image/x-cmu-raster + + + rcprofile + application/vnd.ipunplugged.rcprofile + + + rdf + application/rdf+xml + + + rdz + application/vnd.data-vision.rdz + + + rep + application/vnd.businessobjects + + + res + application/x-dtbresource+xml + + + rgb + image/x-rgb + + + rif + application/reginfo+xml + + + rip + audio/vnd.rip + + + rl + application/resource-lists+xml + + + rlc + image/vnd.fujixerox.edmics-rlc + + + rld + application/resource-lists-diff+xml + + + rm + application/vnd.rn-realmedia + + + rmi + audio/midi + + + rmp + audio/x-pn-realaudio-plugin + + + rms + application/vnd.jcp.javame.midlet-rms + + + rnc + application/relax-ng-compact-syntax + + + roa + application/rpki-roa + + + roff + text/troff + + + rp9 + application/vnd.cloanto.rp9 + + + rpss + application/vnd.nokia.radio-presets + + + rpst + application/vnd.nokia.radio-preset + + + rq + application/sparql-query + + + rs + application/rls-services+xml + + + rsd + application/rsd+xml + + + rss + application/rss+xml + + + rtf + application/rtf + + + rtx + text/richtext + + + s + text/x-asm + + + saf + application/vnd.yamaha.smaf-audio + + + sbml + application/sbml+xml + + + sc + application/vnd.ibm.secure-container + + + scd + application/x-msschedule + + + scm + application/vnd.lotus-screencam + + + scq + application/scvp-cv-request + + + scs + application/scvp-cv-response + + + scurl + text/vnd.curl.scurl + + + sda + application/vnd.stardivision.draw + + + sdc + application/vnd.stardivision.calc + + + sdd + application/vnd.stardivision.impress + + + sdkd + application/vnd.solent.sdkm+xml + + + sdkm + application/vnd.solent.sdkm+xml + + + sdp + application/sdp + + + sdw + application/vnd.stardivision.writer + + + see + application/vnd.seemail + + + seed + application/vnd.fdsn.seed + + + sema + application/vnd.sema + + + semd + application/vnd.semd + + + semf + application/vnd.semf + + + ser + application/java-serialized-object + + + setpay + application/set-payment-initiation + + + setreg + application/set-registration-initiation + + + sfd-hdstx + application/vnd.hydrostatix.sof-data + + + sfs + application/vnd.spotfire.sfs + + + sgl + application/vnd.stardivision.writer-global + + + sgm + text/sgml + + + sgml + text/sgml + + + sh + application/x-sh + + + shar + application/x-shar + + + shf + application/shf+xml + + + + sig + application/pgp-signature + + + silo + model/mesh + + + sis + application/vnd.symbian.install + + + sisx + application/vnd.symbian.install + + + sit + application/x-stuffit + + + sitx + application/x-stuffitx + + + skd + application/vnd.koan + + + skm + application/vnd.koan + + + skp + application/vnd.koan + + + skt + application/vnd.koan + + + sldm + application/vnd.ms-powerpoint.slide.macroenabled.12 + + + sldx + application/vnd.openxmlformats-officedocument.presentationml.slide + + + slt + application/vnd.epson.salt + + + sm + application/vnd.stepmania.stepchart + + + smf + application/vnd.stardivision.math + + + smi + application/smil+xml + + + smil + application/smil+xml + + + smzip + application/vnd.stepmania.package + + + snd + audio/basic + + + snf + application/x-font-snf + + + so + application/octet-stream + + + spc + application/x-pkcs7-certificates + + + spf + application/vnd.yamaha.smaf-phrase + + + spl + application/x-futuresplash + + + spot + text/vnd.in3d.spot + + + spp + application/scvp-vp-response + + + spq + application/scvp-vp-request + + + spx + audio/ogg + + + src + application/x-wais-source + + + sru + application/sru+xml + + + srx + application/sparql-results+xml + + + sse + application/vnd.kodak-descriptor + + + ssf + application/vnd.epson.ssf + + + ssml + application/ssml+xml + + + st + application/vnd.sailingtracker.track + + + stc + application/vnd.sun.xml.calc.template + + + std + application/vnd.sun.xml.draw.template + + + stf + application/vnd.wt.stf + + + sti + application/vnd.sun.xml.impress.template + + + stk + application/hyperstudio + + + stl + application/vnd.ms-pki.stl + + + str + application/vnd.pg.format + + + stw + application/vnd.sun.xml.writer.template + + + sub + text/vnd.dvb.subtitle + + + sus + application/vnd.sus-calendar + + + susp + application/vnd.sus-calendar + + + sv4cpio + application/x-sv4cpio + + + sv4crc + application/x-sv4crc + + + svc + application/vnd.dvb.service + + + svd + application/vnd.svd + + + svg + image/svg+xml + + + svgz + image/svg+xml + + + swa + application/x-director + + + swf + application/x-shockwave-flash + + + swi + application/vnd.aristanetworks.swi + + + sxc + application/vnd.sun.xml.calc + + + sxd + application/vnd.sun.xml.draw + + + sxg + application/vnd.sun.xml.writer.global + + + sxi + application/vnd.sun.xml.impress + + + sxm + application/vnd.sun.xml.math + + + sxw + application/vnd.sun.xml.writer + + + t + text/troff + + + taglet + application/vnd.mynfc + + + tao + application/vnd.tao.intent-module-archive + + + tar + application/x-tar + + + tcap + application/vnd.3gpp2.tcap + + + tcl + application/x-tcl + + + teacher + application/vnd.smart.teacher + + + tei + application/tei+xml + + + teicorpus + application/tei+xml + + + tex + application/x-tex + + + texi + application/x-texinfo + + + texinfo + application/x-texinfo + + + text + text/plain + + + tfi + application/thraud+xml + + + tfm + application/x-tex-tfm + + + thmx + application/vnd.ms-officetheme + + + tif + image/tiff + + + tiff + image/tiff + + + tmo + application/vnd.tmobile-livetv + + + torrent + application/x-bittorrent + + + tpl + application/vnd.groove-tool-template + + + tpt + application/vnd.trid.tpt + + + tr + text/troff + + + tra + application/vnd.trueapp + + + trm + application/x-msterminal + + + tsd + application/timestamped-data + + + tsv + text/tab-separated-values + + + ttc + application/x-font-ttf + + + ttf + application/x-font-ttf + + + ttl + text/turtle + + + twd + application/vnd.simtech-mindmapper + + + twds + application/vnd.simtech-mindmapper + + + txd + application/vnd.genomatix.tuxedo + + + txf + application/vnd.mobius.txf + + + txt + text/plain + + + u32 + application/x-authorware-bin + + + udeb + application/x-debian-package + + + ufd + application/vnd.ufdl + + + ufdl + application/vnd.ufdl + + + ulw + audio/basic + + + umj + application/vnd.umajin + + + unityweb + application/vnd.unity + + + uoml + application/vnd.uoml+xml + + + uri + text/uri-list + + + uris + text/uri-list + + + urls + text/uri-list + + + ustar + application/x-ustar + + + utz + application/vnd.uiq.theme + + + uu + text/x-uuencode + + + uva + audio/vnd.dece.audio + + + uvd + application/vnd.dece.data + + + uvf + application/vnd.dece.data + + + uvg + image/vnd.dece.graphic + + + uvh + video/vnd.dece.hd + + + uvi + image/vnd.dece.graphic + + + uvm + video/vnd.dece.mobile + + + uvp + video/vnd.dece.pd + + + uvs + video/vnd.dece.sd + + + uvt + application/vnd.dece.ttml+xml + + + uvu + video/vnd.uvvu.mp4 + + + uvv + video/vnd.dece.video + + + uvva + audio/vnd.dece.audio + + + uvvd + application/vnd.dece.data + + + uvvf + application/vnd.dece.data + + + uvvg + image/vnd.dece.graphic + + + uvvh + video/vnd.dece.hd + + + uvvi + image/vnd.dece.graphic + + + uvvm + video/vnd.dece.mobile + + + uvvp + video/vnd.dece.pd + + + uvvs + video/vnd.dece.sd + + + uvvt + application/vnd.dece.ttml+xml + + + uvvu + video/vnd.uvvu.mp4 + + + uvvv + video/vnd.dece.video + + + uvvx + application/vnd.dece.unspecified + + + uvvz + application/vnd.dece.zip + + + uvx + application/vnd.dece.unspecified + + + uvz + application/vnd.dece.zip + + + vcard + text/vcard + + + vcd + application/x-cdlink + + + vcf + text/x-vcard + + + vcg + application/vnd.groove-vcard + + + vcs + text/x-vcalendar + + + vcx + application/vnd.vcx + + + vis + application/vnd.visionary + + + viv + video/vnd.vivo + + + vor + application/vnd.stardivision.writer + + + vox + application/x-authorware-bin + + + vrml + model/vrml + + + vsd + application/vnd.visio + + + vsf + application/vnd.vsf + + + vss + application/vnd.visio + + + vst + application/vnd.visio + + + vsw + application/vnd.visio + + + vtu + model/vnd.vtu + + + vxml + application/voicexml+xml + + + w3d + application/x-director + + + wad + application/x-doom + + + wav + audio/x-wav + + + wax + audio/x-ms-wax + + + + wbmp + image/vnd.wap.wbmp + + + wbs + application/vnd.criticaltools.wbs+xml + + + wbxml + application/vnd.wap.wbxml + + + wcm + application/vnd.ms-works + + + wdb + application/vnd.ms-works + + + weba + audio/webm + + + webm + video/webm + + + webp + image/webp + + + wg + application/vnd.pmi.widget + + + wgt + application/widget + + + wks + application/vnd.ms-works + + + wm + video/x-ms-wm + + + wma + audio/x-ms-wma + + + wmd + application/x-ms-wmd + + + wmf + application/x-msmetafile + + + + wml + text/vnd.wap.wml + + + + wmlc + application/vnd.wap.wmlc + + + + wmls + text/vnd.wap.wmlscript + + + + wmlsc + application/vnd.wap.wmlscriptc + + + wmv + video/x-ms-wmv + + + wmx + video/x-ms-wmx + + + wmz + application/x-ms-wmz + + + woff + application/x-font-woff + + + wpd + application/vnd.wordperfect + + + wpl + application/vnd.ms-wpl + + + wps + application/vnd.ms-works + + + wqd + application/vnd.wqd + + + wri + application/x-mswrite + + + wrl + model/vrml + + + wsdl + application/wsdl+xml + + + wspolicy + application/wspolicy+xml + + + wtb + application/vnd.webturbo + + + wvx + video/x-ms-wvx + + + x32 + application/x-authorware-bin + + + x3d + application/vnd.hzn-3d-crossword + + + xap + application/x-silverlight-app + + + xar + application/vnd.xara + + + xbap + application/x-ms-xbap + + + xbd + application/vnd.fujixerox.docuworks.binder + + + xbm + image/x-xbitmap + + + xdf + application/xcap-diff+xml + + + xdm + application/vnd.syncml.dm+xml + + + xdp + application/vnd.adobe.xdp+xml + + + xdssc + application/dssc+xml + + + xdw + application/vnd.fujixerox.docuworks + + + xenc + application/xenc+xml + + + xer + application/patch-ops-error+xml + + + xfdf + application/vnd.adobe.xfdf + + + xfdl + application/vnd.xfdl + + + xht + application/xhtml+xml + + + xhtml + application/xhtml+xml + + + xhvml + application/xv+xml + + + xif + image/vnd.xiff + + + xla + application/vnd.ms-excel + + + xlam + application/vnd.ms-excel.addin.macroenabled.12 + + + xlc + application/vnd.ms-excel + + + xlm + application/vnd.ms-excel + + + xls + application/vnd.ms-excel + + + xlsb + application/vnd.ms-excel.sheet.binary.macroenabled.12 + + + xlsm + application/vnd.ms-excel.sheet.macroenabled.12 + + + xlsx + application/vnd.openxmlformats-officedocument.spreadsheetml.sheet + + + xlt + application/vnd.ms-excel + + + xltm + application/vnd.ms-excel.template.macroenabled.12 + + + xltx + application/vnd.openxmlformats-officedocument.spreadsheetml.template + + + xlw + application/vnd.ms-excel + + + xml + application/xml + + + xo + application/vnd.olpc-sugar + + + xop + application/xop+xml + + + xpi + application/x-xpinstall + + + xpm + image/x-xpixmap + + + xpr + application/vnd.is-xpr + + + xps + application/vnd.ms-xpsdocument + + + xpw + application/vnd.intercon.formnet + + + xpx + application/vnd.intercon.formnet + + + xsl + application/xml + + + xslt + application/xslt+xml + + + xsm + application/vnd.syncml+xml + + + xspf + application/xspf+xml + + + xul + application/vnd.mozilla.xul+xml + + + xvm + application/xv+xml + + + xvml + application/xv+xml + + + xwd + image/x-xwindowdump + + + xyz + chemical/x-xyz + + + yang + application/yang + + + yin + application/yin+xml + + + z + application/x-compress + + + Z + application/x-compress + + + zaz + application/vnd.zzazz.deck+xml + + + zip + application/zip + + + zir + application/vnd.zul + + + zirz + application/vnd.zul + + + zmm + application/vnd.handheld-entertainment+xml + + + + + + + + + + + + + + + + + + index.html + index.htm + index.jsp + + + diff --git a/manong_portal/target/tomcat/logs/access_log.2019-03-26 b/manong_portal/target/tomcat/logs/access_log.2019-03-26 new file mode 100644 index 0000000..e0e1144 --- /dev/null +++ b/manong_portal/target/tomcat/logs/access_log.2019-03-26 @@ -0,0 +1,7 @@ +0:0:0:0:0:0:0:1 - - [26/Mar/2019:22:20:23 +0800] "GET /css/index.css HTTP/1.1" 200 27585 http-bio-8081-exec-2 63 +0:0:0:0:0:0:0:1 - - [26/Mar/2019:22:20:23 +0800] "GET /img/search.gif HTTP/1.1" 404 979 http-bio-8081-exec-4 36 +0:0:0:0:0:0:0:1 - - [26/Mar/2019:22:20:23 +0800] "GET /css/public.css HTTP/1.1" 200 183 http-bio-8081-exec-3 32 +0:0:0:0:0:0:0:1 - - [26/Mar/2019:22:20:23 +0800] "GET / HTTP/1.1" 200 12919 http-bio-8081-exec-1 1764 +0:0:0:0:0:0:0:1 - - [26/Mar/2019:22:20:23 +0800] "GET /img/banner1.png HTTP/1.1" 404 981 http-bio-8081-exec-5 47 +0:0:0:0:0:0:0:1 - - [26/Mar/2019:22:20:24 +0800] "GET /img/banner2.png HTTP/1.1" 404 981 http-bio-8081-exec-10 2 +0:0:0:0:0:0:0:1 - - [26/Mar/2019:22:20:24 +0800] "GET /img/tianMlogo.png HTTP/1.1" 404 985 http-bio-8081-exec-10 3 diff --git a/manong_portal/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/index_jsp.java b/manong_portal/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/index_jsp.java new file mode 100644 index 0000000..8556373 --- /dev/null +++ b/manong_portal/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/index_jsp.java @@ -0,0 +1,80 @@ +/* + * Generated by the Jasper component of Apache Tomcat + * Version: Apache Tomcat/7.0.47 + * Generated at: 2019-03-26 14:20:22 UTC + * Note: The last modified time of this file was set to + * the last modified time of the source file after + * generation to assist with modification tracking. + */ +package org.apache.jsp; + +import javax.servlet.*; +import javax.servlet.http.*; +import javax.servlet.jsp.*; + +public final class index_jsp extends org.apache.jasper.runtime.HttpJspBase + implements org.apache.jasper.runtime.JspSourceDependent { + + private static final javax.servlet.jsp.JspFactory _jspxFactory = + javax.servlet.jsp.JspFactory.getDefaultFactory(); + + private static java.util.Map _jspx_dependants; + + private javax.el.ExpressionFactory _el_expressionfactory; + private org.apache.tomcat.InstanceManager _jsp_instancemanager; + + public java.util.Map getDependants() { + return _jspx_dependants; + } + + public void _jspInit() { + _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory(); + _jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig()); + } + + public void _jspDestroy() { + } + + public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response) + throws java.io.IOException, javax.servlet.ServletException { + + final javax.servlet.jsp.PageContext pageContext; + javax.servlet.http.HttpSession session = null; + final javax.servlet.ServletContext application; + final javax.servlet.ServletConfig config; + javax.servlet.jsp.JspWriter out = null; + final java.lang.Object page = this; + javax.servlet.jsp.JspWriter _jspx_out = null; + javax.servlet.jsp.PageContext _jspx_page_context = null; + + + try { + response.setContentType("text/html;charset=UTF-8"); + pageContext = _jspxFactory.getPageContext(this, request, response, + null, true, 8192, true); + _jspx_page_context = pageContext; + application = pageContext.getServletContext(); + config = pageContext.getServletConfig(); + session = pageContext.getSession(); + out = pageContext.getOut(); + _jspx_out = out; + + out.write('\n'); + out.write('\n'); + if (true) { + _jspx_page_context.forward("home.html"); + return; + } + } catch (java.lang.Throwable t) { + if (!(t instanceof javax.servlet.jsp.SkipPageException)){ + out = _jspx_out; + if (out != null && out.getBufferSize() != 0) + try { out.clearBuffer(); } catch (java.io.IOException e) {} + if (_jspx_page_context != null) _jspx_page_context.handlePageException(t); + else throw new ServletException(t); + } + } finally { + _jspxFactory.releasePageContext(_jspx_page_context); + } + } +} From 411346dc9a7560e474b7cbe396c4870d55ffc7c2 Mon Sep 17 00:00:00 2001 From: wistbean <354142480@qq.com> Date: Wed, 27 Mar 2019 00:24:52 +0800 Subject: [PATCH 05/14] update .gitignore and version --- .../manong_manager_web_war_exploded.xml | 39 ++++++++++++++++--- .../artifacts/manong_portal_war_exploded.xml | 8 ++-- .idea/artifacts/manong_rest_war_exploded.xml | 8 ++-- ...ackson_core_jackson_annotations_2_9_0.xml} | 8 ++-- ...erxml_jackson_core_jackson_core_2_9_8.xml} | 8 ++-- ...l_jackson_core_jackson_databind_2_9_8.xml} | 8 ++-- ...ons_fileupload_commons_fileupload_1_4.xml} | 8 ++-- .idea/workspace.xml | 39 ++++++++++++------- 8 files changed, 83 insertions(+), 43 deletions(-) rename .idea/libraries/{Maven__com_fasterxml_jackson_core_jackson_annotations_2_4_0.xml => Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml} (67%) rename .idea/libraries/{Maven__com_fasterxml_jackson_core_jackson_core_2_4_2.xml => Maven__com_fasterxml_jackson_core_jackson_core_2_9_8.xml} (68%) rename .idea/libraries/{Maven__com_fasterxml_jackson_core_jackson_databind_2_4_2.xml => Maven__com_fasterxml_jackson_core_jackson_databind_2_9_8.xml} (67%) rename .idea/libraries/{Maven__commons_fileupload_commons_fileupload_1_3_1.xml => Maven__commons_fileupload_commons_fileupload_1_4.xml} (67%) diff --git a/.idea/artifacts/manong_manager_web_war_exploded.xml b/.idea/artifacts/manong_manager_web_war_exploded.xml index f2a20ba..a8a763a 100644 --- a/.idea/artifacts/manong_manager_web_war_exploded.xml +++ b/.idea/artifacts/manong_manager_web_war_exploded.xml @@ -17,8 +17,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -26,11 +58,6 @@ - - - - - diff --git a/.idea/artifacts/manong_portal_war_exploded.xml b/.idea/artifacts/manong_portal_war_exploded.xml index 0704641..8e142ca 100644 --- a/.idea/artifacts/manong_portal_war_exploded.xml +++ b/.idea/artifacts/manong_portal_war_exploded.xml @@ -18,9 +18,9 @@ - - - + + + @@ -28,7 +28,7 @@ - + diff --git a/.idea/artifacts/manong_rest_war_exploded.xml b/.idea/artifacts/manong_rest_war_exploded.xml index 7c1a8a6..c6f288e 100644 --- a/.idea/artifacts/manong_rest_war_exploded.xml +++ b/.idea/artifacts/manong_rest_war_exploded.xml @@ -30,7 +30,7 @@ - + @@ -50,9 +50,9 @@ - - - + + + diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_4_0.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml similarity index 67% rename from .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_4_0.xml rename to .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml index 0119075..06441f4 100644 --- a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_4_0.xml +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml @@ -1,13 +1,13 @@ - + - + - + - + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_4_2.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_9_8.xml similarity index 68% rename from .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_4_2.xml rename to .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_9_8.xml index 5a0115e..2c9ac2a 100644 --- a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_4_2.xml +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_9_8.xml @@ -1,13 +1,13 @@ - + - + - + - + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_4_2.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_9_8.xml similarity index 67% rename from .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_4_2.xml rename to .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_9_8.xml index 01f92e7..c8ac135 100644 --- a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_4_2.xml +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_9_8.xml @@ -1,13 +1,13 @@ - + - + - + - + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_1.xml b/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_4.xml similarity index 67% rename from .idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_1.xml rename to .idea/libraries/Maven__commons_fileupload_commons_fileupload_1_4.xml index 18d3b23..3b9dcc0 100644 --- a/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_1.xml +++ b/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_4.xml @@ -1,13 +1,13 @@ - + - + - + - + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml index afd6336..6e8e263 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,7 +2,14 @@ - + + + + + + + + @@ -42,7 +49,7 @@ - + @@ -50,14 +57,21 @@ - - + + + + + httpclient + commons-fileupload + jackson-databind + + @@ -168,7 +182,7 @@ - + @@ -258,18 +272,17 @@ - + - - - + @@ -284,7 +297,7 @@ - + @@ -381,14 +394,14 @@ - + - - + + From 4ec701e73d3f56ecc0be1321ee4df4ae4f34a8d9 Mon Sep 17 00:00:00 2001 From: wistbean <354142480@qq.com> Date: Wed, 27 Mar 2019 00:27:56 +0800 Subject: [PATCH 06/14] update .gitignore --- .gitattributes | 3 - .gitignore | 30 - .idea/artifacts/manong_manager_web_war.xml | 14 - .../manong_manager_web_war_exploded.xml | 71 - .idea/artifacts/manong_portal_war.xml | 14 - .../artifacts/manong_portal_war_exploded.xml | 57 - .idea/artifacts/manong_rest_war.xml | 14 - .idea/artifacts/manong_rest_war_exploded.xml | 64 - .idea/compiler.xml | 36 - .idea/encodings.xml | 17 - .../Maven__aopalliance_aopalliance_1_0.xml | 13 - .../Maven__com_alibaba_druid_1_0_9.xml | 13 - .../Maven__com_baidu_ueditor_1_1_2.xml | 13 - ...jackson_core_jackson_annotations_2_9_0.xml | 13 - ...terxml_jackson_core_jackson_core_2_9_8.xml | 13 - ...ml_jackson_core_jackson_databind_2_9_8.xml | 13 - ...com_github_jsqlparser_jsqlparser_0_9_4.xml | 13 - ...com_github_pagehelper_pagehelper_4_1_1.xml | 13 - .../Maven__com_google_code_gson_gson_2_7.xml | 13 - .idea/libraries/Maven__com_json_json_1_1.xml | 13 - ...Maven__commons_codec_commons_codec_1_6.xml | 13 - ...mons_fileupload_commons_fileupload_1_4.xml | 13 - .../Maven__commons_io_commons_io_2_2.xml | 13 - ...n__commons_logging_commons_logging_1_2.xml | 13 - .../Maven__commons_net_commons_net_3_3.xml | 13 - .../Maven__javax_servlet_servlet_api_2_5.xml | 13 - ...ven__mysql_mysql_connector_java_5_1_32.xml | 13 - ...__org_apache_commons_commons_lang3_3_1.xml | 13 - ...apache_httpcomponents_httpclient_4_5_7.xml | 13 - ..._apache_httpcomponents_httpcore_4_4_11.xml | 13 - ...Maven__org_aspectj_aspectjweaver_1_8_4.xml | 13 - ...urce_fastdfs_client_java_1_27_SNAPSHOT.xml | 13 - ...aven__org_freemarker_freemarker_2_3_28.xml | 13 - .../Maven__org_mybatis_mybatis_3_2_8.xml | 13 - ...aven__org_mybatis_mybatis_spring_1_2_2.xml | 13 - ...ringframework_spring_aop_4_1_3_RELEASE.xml | 13 - ...framework_spring_aspects_4_1_3_RELEASE.xml | 13 - ...ngframework_spring_beans_4_1_3_RELEASE.xml | 13 - ...framework_spring_context_4_1_3_RELEASE.xml | 13 - ...k_spring_context_support_4_1_3_RELEASE.xml | 13 - ...ingframework_spring_core_4_1_3_RELEASE.xml | 13 - ...mework_spring_expression_4_1_3_RELEASE.xml | 13 - ...ingframework_spring_jdbc_4_1_3_RELEASE.xml | 13 - ...pringframework_spring_tx_4_1_3_RELEASE.xml | 13 - ...ringframework_spring_web_4_1_3_RELEASE.xml | 13 - ...gframework_spring_webmvc_4_1_3_RELEASE.xml | 13 - .../libraries/manong_common_1_0_SNAPSHOT.xml | 9 - .idea/misc.xml | 22 - .idea/modules.xml | 20 - .idea/vcs.xml | 6 - .idea/workspace.xml | 487 - README.md | 54 - manong.sql | 74 - manong_common/pom.xml | 39 - .../src/main/java/pojo/EasyGrid.java | 28 - .../src/main/java/pojo/EasyUITree.java | 44 - .../src/main/java/pojo/Res_Categories.java | 81 - .../main/java/pojo/ResponseJsonResult.java | 47 - .../src/main/java/utils/HttpClientUtil.java | 163 - .../target/maven-archiver/pom.properties | 5 - .../compile/default-compile/createdFiles.lst | 7 - .../compile/default-compile/inputFiles.lst | 5 - manong_manager/manong_manager_mapper/pom.xml | 60 - .../manong/mapper/ProductCategoryMapper.java | 32 - .../manong/mapper/ProductCategoryMapper.xml | 211 - .../java/com/manong/mapper/ProductMapper.java | 31 - .../java/com/manong/mapper/ProductMapper.xml | 275 - .../java/com/manong/mapper/UserMapper.java | 31 - .../java/com/manong/mapper/UserMapper.xml | 164 - manong_manager/manong_manager_pojo/pom.xml | 14 - .../main/java/com/manong/pojo/Product.java | 93 - .../java/com/manong/pojo/ProductCategory.java | 53 - .../manong/pojo/ProductCategoryExample.java | 510 - .../java/com/manong/pojo/ProductExample.java | 780 - .../src/main/java/com/manong/pojo/User.java | 23 - .../java/com/manong/pojo/UserExample.java | 330 - manong_manager/manong_manager_service/pom.xml | 59 - .../service/ProductCategoryService.java | 22 - .../com/manong/service/ProductService.java | 13 - .../java/com/manong/service/UserService.java | 11 - .../impl/ProductCategoryServiceImpl.java | 87 - .../service/impl/ProductServiceImpl.java | 52 - .../manong/service/impl/UserServiceImpl.java | 36 - manong_manager/manong_manager_web/pom.xml | 76 - .../com/manong/controller/FileController.java | 29 - .../com/manong/controller/FreemarkerTest.java | 28 - .../com/manong/controller/PageController.java | 41 - .../controller/ProductCategoryController.java | 59 - .../manong/controller/ProductConrtroller.java | 41 - .../com/manong/controller/UserController.java | 28 - .../com/manong/fastdfs/FastDFSClient.java | 76 - .../src/main/resources/conf/fdfs_client.conf | 8 - .../main/resources/mybatis/sqlMapConfig.xml | 13 - .../main/resources/properties/db.properties | 4 - .../spring/applicationContext-dao.xml | 53 - .../spring/applicationContext-service.xml | 11 - .../spring/applicationContext-trans.xml | 34 - .../src/main/resources/spring/springmvc.xml | 37 - .../webapp/WEB-INF/css/themes/angular.css | 639 - .../WEB-INF/css/themes/black/accordion.css | 89 - .../WEB-INF/css/themes/black/calendar.css | 203 - .../WEB-INF/css/themes/black/checkbox.css | 31 - .../webapp/WEB-INF/css/themes/black/combo.css | 35 - .../WEB-INF/css/themes/black/combobox.css | 40 - .../WEB-INF/css/themes/black/datagrid.css | 291 - .../WEB-INF/css/themes/black/datalist.css | 95 - .../WEB-INF/css/themes/black/datebox.css | 36 - .../WEB-INF/css/themes/black/dialog.css | 47 - .../WEB-INF/css/themes/black/easyui.css | 3438 -- .../WEB-INF/css/themes/black/filebox.css | 20 - .../themes/black/images/accordion_arrows.png | Bin 122 -> 0 bytes .../WEB-INF/css/themes/black/images/blank.gif | Bin 43 -> 0 bytes .../themes/black/images/calendar_arrows.png | Bin 173 -> 0 bytes .../css/themes/black/images/combo_arrow.png | Bin 100 -> 0 bytes .../themes/black/images/datagrid_icons.png | Bin 300 -> 0 bytes .../css/themes/black/images/datebox_arrow.png | Bin 626 -> 0 bytes .../css/themes/black/images/layout_arrows.png | Bin 179 -> 0 bytes .../css/themes/black/images/linkbutton_bg.png | Bin 1274 -> 0 bytes .../css/themes/black/images/loading.gif | Bin 1737 -> 0 bytes .../css/themes/black/images/menu_arrows.png | Bin 134 -> 0 bytes .../themes/black/images/messager_icons.png | Bin 2224 -> 0 bytes .../themes/black/images/pagination_icons.png | Bin 339 -> 0 bytes .../css/themes/black/images/panel_tools.png | Bin 184 -> 0 bytes .../themes/black/images/passwordbox_close.png | Bin 149 -> 0 bytes .../themes/black/images/passwordbox_open.png | Bin 160 -> 0 bytes .../themes/black/images/searchbox_button.png | Bin 813 -> 0 bytes .../css/themes/black/images/slider_handle.png | Bin 863 -> 0 bytes .../themes/black/images/spinner_arrows.png | Bin 140 -> 0 bytes .../css/themes/black/images/tabs_icons.png | Bin 144 -> 0 bytes .../css/themes/black/images/tagbox_icons.png | Bin 133 -> 0 bytes .../css/themes/black/images/tree_icons.png | Bin 3086 -> 0 bytes .../black/images/validatebox_warning.png | Bin 921 -> 0 bytes .../WEB-INF/css/themes/black/layout.css | 150 - .../WEB-INF/css/themes/black/linkbutton.css | 203 - .../webapp/WEB-INF/css/themes/black/menu.css | 119 - .../WEB-INF/css/themes/black/menubutton.css | 94 - .../WEB-INF/css/themes/black/messager.css | 44 - .../WEB-INF/css/themes/black/numberbox.css | 0 .../WEB-INF/css/themes/black/pagination.css | 77 - .../webapp/WEB-INF/css/themes/black/panel.css | 267 - .../WEB-INF/css/themes/black/passwordbox.css | 6 - .../WEB-INF/css/themes/black/progressbar.css | 33 - .../WEB-INF/css/themes/black/propertygrid.css | 27 - .../WEB-INF/css/themes/black/radiobutton.css | 25 - .../WEB-INF/css/themes/black/searchbox.css | 61 - .../WEB-INF/css/themes/black/sidemenu.css | 72 - .../WEB-INF/css/themes/black/slider.css | 101 - .../WEB-INF/css/themes/black/spinner.css | 114 - .../WEB-INF/css/themes/black/splitbutton.css | 12 - .../WEB-INF/css/themes/black/switchbutton.css | 77 - .../webapp/WEB-INF/css/themes/black/tabs.css | 413 - .../WEB-INF/css/themes/black/tagbox.css | 44 - .../WEB-INF/css/themes/black/textbox.css | 144 - .../WEB-INF/css/themes/black/tooltip.css | 103 - .../webapp/WEB-INF/css/themes/black/tree.css | 164 - .../WEB-INF/css/themes/black/validatebox.css | 13 - .../WEB-INF/css/themes/black/window.css | 188 - .../css/themes/bootstrap/accordion.css | 89 - .../WEB-INF/css/themes/bootstrap/calendar.css | 203 - .../WEB-INF/css/themes/bootstrap/checkbox.css | 31 - .../WEB-INF/css/themes/bootstrap/combo.css | 35 - .../WEB-INF/css/themes/bootstrap/combobox.css | 40 - .../WEB-INF/css/themes/bootstrap/datagrid.css | 291 - .../WEB-INF/css/themes/bootstrap/datalist.css | 95 - .../WEB-INF/css/themes/bootstrap/datebox.css | 36 - .../WEB-INF/css/themes/bootstrap/dialog.css | 47 - .../WEB-INF/css/themes/bootstrap/easyui.css | 3457 -- .../WEB-INF/css/themes/bootstrap/filebox.css | 20 - .../bootstrap/images/accordion_arrows.png | Bin 184 -> 0 bytes .../css/themes/bootstrap/images/blank.gif | Bin 43 -> 0 bytes .../bootstrap/images/calendar_arrows.png | Bin 173 -> 0 bytes .../themes/bootstrap/images/combo_arrow.png | Bin 117 -> 0 bytes .../bootstrap/images/datagrid_icons.png | Bin 307 -> 0 bytes .../themes/bootstrap/images/datebox_arrow.png | Bin 626 -> 0 bytes .../themes/bootstrap/images/layout_arrows.png | Bin 319 -> 0 bytes .../themes/bootstrap/images/linkbutton_bg.png | Bin 1274 -> 0 bytes .../css/themes/bootstrap/images/loading.gif | Bin 1737 -> 0 bytes .../themes/bootstrap/images/menu_arrows.png | Bin 160 -> 0 bytes .../bootstrap/images/messager_icons.png | Bin 2224 -> 0 bytes .../bootstrap/images/pagination_icons.png | Bin 628 -> 0 bytes .../themes/bootstrap/images/panel_tools.png | Bin 194 -> 0 bytes .../bootstrap/images/passwordbox_close.png | Bin 159 -> 0 bytes .../bootstrap/images/passwordbox_open.png | Bin 165 -> 0 bytes .../bootstrap/images/searchbox_button.png | Bin 813 -> 0 bytes .../themes/bootstrap/images/slider_handle.png | Bin 863 -> 0 bytes .../bootstrap/images/spinner_arrows.png | Bin 149 -> 0 bytes .../themes/bootstrap/images/tabs_icons.png | Bin 150 -> 0 bytes .../themes/bootstrap/images/tagbox_icons.png | Bin 134 -> 0 bytes .../themes/bootstrap/images/tree_icons.png | Bin 3115 -> 0 bytes .../bootstrap/images/validatebox_warning.png | Bin 921 -> 0 bytes .../WEB-INF/css/themes/bootstrap/layout.css | 150 - .../css/themes/bootstrap/linkbutton.css | 203 - .../WEB-INF/css/themes/bootstrap/menu.css | 119 - .../css/themes/bootstrap/menubutton.css | 94 - .../WEB-INF/css/themes/bootstrap/messager.css | 44 - .../css/themes/bootstrap/numberbox.css | 0 .../css/themes/bootstrap/pagination.css | 77 - .../WEB-INF/css/themes/bootstrap/panel.css | 267 - .../css/themes/bootstrap/passwordbox.css | 6 - .../css/themes/bootstrap/progressbar.css | 33 - .../css/themes/bootstrap/propertygrid.css | 27 - .../css/themes/bootstrap/radiobutton.css | 25 - .../css/themes/bootstrap/searchbox.css | 61 - .../WEB-INF/css/themes/bootstrap/sidemenu.css | 72 - .../WEB-INF/css/themes/bootstrap/slider.css | 101 - .../WEB-INF/css/themes/bootstrap/spinner.css | 114 - .../css/themes/bootstrap/splitbutton.css | 12 - .../css/themes/bootstrap/switchbutton.css | 77 - .../WEB-INF/css/themes/bootstrap/tabs.css | 413 - .../WEB-INF/css/themes/bootstrap/tagbox.css | 44 - .../WEB-INF/css/themes/bootstrap/textbox.css | 144 - .../WEB-INF/css/themes/bootstrap/tooltip.css | 103 - .../WEB-INF/css/themes/bootstrap/tree.css | 164 - .../css/themes/bootstrap/validatebox.css | 13 - .../WEB-INF/css/themes/bootstrap/window.css | 188 - .../main/webapp/WEB-INF/css/themes/color.css | 210 - .../WEB-INF/css/themes/default/accordion.css | 89 - .../WEB-INF/css/themes/default/calendar.css | 203 - .../WEB-INF/css/themes/default/checkbox.css | 31 - .../WEB-INF/css/themes/default/combo.css | 35 - .../WEB-INF/css/themes/default/combobox.css | 40 - .../WEB-INF/css/themes/default/datagrid.css | 291 - .../WEB-INF/css/themes/default/datalist.css | 95 - .../WEB-INF/css/themes/default/datebox.css | 36 - .../WEB-INF/css/themes/default/dialog.css | 47 - .../WEB-INF/css/themes/default/easyui.css | 3438 -- .../WEB-INF/css/themes/default/filebox.css | 20 - .../default/images/accordion_arrows.png | Bin 184 -> 0 bytes .../css/themes/default/images/blank.gif | Bin 43 -> 0 bytes .../themes/default/images/calendar_arrows.png | Bin 173 -> 0 bytes .../css/themes/default/images/combo_arrow.png | Bin 117 -> 0 bytes .../themes/default/images/datagrid_icons.png | Bin 307 -> 0 bytes .../themes/default/images/datebox_arrow.png | Bin 626 -> 0 bytes .../themes/default/images/layout_arrows.png | Bin 319 -> 0 bytes .../themes/default/images/linkbutton_bg.png | Bin 1274 -> 0 bytes .../css/themes/default/images/loading.gif | Bin 1737 -> 0 bytes .../css/themes/default/images/menu_arrows.png | Bin 160 -> 0 bytes .../themes/default/images/messager_icons.png | Bin 2224 -> 0 bytes .../default/images/pagination_icons.png | Bin 628 -> 0 bytes .../css/themes/default/images/panel_tools.png | Bin 852 -> 0 bytes .../default/images/passwordbox_close.png | Bin 159 -> 0 bytes .../default/images/passwordbox_open.png | Bin 165 -> 0 bytes .../default/images/searchbox_button.png | Bin 813 -> 0 bytes .../themes/default/images/slider_handle.png | Bin 863 -> 0 bytes .../themes/default/images/spinner_arrows.png | Bin 149 -> 0 bytes .../css/themes/default/images/tabs_icons.png | Bin 150 -> 0 bytes .../themes/default/images/tagbox_icons.png | Bin 134 -> 0 bytes .../css/themes/default/images/tree_icons.png | Bin 3115 -> 0 bytes .../default/images/validatebox_warning.png | Bin 921 -> 0 bytes .../WEB-INF/css/themes/default/layout.css | 150 - .../WEB-INF/css/themes/default/linkbutton.css | 203 - .../WEB-INF/css/themes/default/menu.css | 119 - .../WEB-INF/css/themes/default/menubutton.css | 94 - .../WEB-INF/css/themes/default/messager.css | 44 - .../WEB-INF/css/themes/default/numberbox.css | 0 .../WEB-INF/css/themes/default/pagination.css | 77 - .../WEB-INF/css/themes/default/panel.css | 267 - .../css/themes/default/passwordbox.css | 6 - .../css/themes/default/progressbar.css | 33 - .../css/themes/default/propertygrid.css | 27 - .../css/themes/default/radiobutton.css | 25 - .../WEB-INF/css/themes/default/searchbox.css | 61 - .../WEB-INF/css/themes/default/sidemenu.css | 72 - .../WEB-INF/css/themes/default/slider.css | 101 - .../WEB-INF/css/themes/default/spinner.css | 114 - .../css/themes/default/splitbutton.css | 12 - .../css/themes/default/switchbutton.css | 77 - .../WEB-INF/css/themes/default/tabs.css | 413 - .../WEB-INF/css/themes/default/tagbox.css | 44 - .../WEB-INF/css/themes/default/textbox.css | 144 - .../WEB-INF/css/themes/default/tooltip.css | 103 - .../WEB-INF/css/themes/default/tree.css | 164 - .../css/themes/default/validatebox.css | 13 - .../WEB-INF/css/themes/default/window.css | 188 - .../WEB-INF/css/themes/gray/accordion.css | 89 - .../WEB-INF/css/themes/gray/calendar.css | 203 - .../WEB-INF/css/themes/gray/checkbox.css | 31 - .../webapp/WEB-INF/css/themes/gray/combo.css | 35 - .../WEB-INF/css/themes/gray/combobox.css | 40 - .../WEB-INF/css/themes/gray/datagrid.css | 291 - .../WEB-INF/css/themes/gray/datalist.css | 95 - .../WEB-INF/css/themes/gray/datebox.css | 36 - .../webapp/WEB-INF/css/themes/gray/dialog.css | 47 - .../webapp/WEB-INF/css/themes/gray/easyui.css | 3438 -- .../WEB-INF/css/themes/gray/filebox.css | 20 - .../themes/gray/images/accordion_arrows.png | Bin 125 -> 0 bytes .../WEB-INF/css/themes/gray/images/blank.gif | Bin 43 -> 0 bytes .../themes/gray/images/calendar_arrows.png | Bin 173 -> 0 bytes .../css/themes/gray/images/combo_arrow.png | Bin 103 -> 0 bytes .../css/themes/gray/images/datagrid_icons.png | Bin 330 -> 0 bytes .../css/themes/gray/images/datebox_arrow.png | Bin 626 -> 0 bytes .../css/themes/gray/images/layout_arrows.png | Bin 181 -> 0 bytes .../css/themes/gray/images/linkbutton_bg.png | Bin 1274 -> 0 bytes .../css/themes/gray/images/loading.gif | Bin 1737 -> 0 bytes .../css/themes/gray/images/menu_arrows.png | Bin 160 -> 0 bytes .../css/themes/gray/images/messager_icons.png | Bin 2224 -> 0 bytes .../themes/gray/images/pagination_icons.png | Bin 466 -> 0 bytes .../css/themes/gray/images/panel_tools.png | Bin 191 -> 0 bytes .../themes/gray/images/passwordbox_close.png | Bin 149 -> 0 bytes .../themes/gray/images/passwordbox_open.png | Bin 160 -> 0 bytes .../themes/gray/images/searchbox_button.png | Bin 813 -> 0 bytes .../css/themes/gray/images/slider_handle.png | Bin 863 -> 0 bytes .../css/themes/gray/images/spinner_arrows.png | Bin 149 -> 0 bytes .../css/themes/gray/images/tabs_icons.png | Bin 144 -> 0 bytes .../css/themes/gray/images/tagbox_icons.png | Bin 133 -> 0 bytes .../css/themes/gray/images/tree_icons.png | Bin 3115 -> 0 bytes .../gray/images/validatebox_warning.png | Bin 921 -> 0 bytes .../webapp/WEB-INF/css/themes/gray/layout.css | 150 - .../WEB-INF/css/themes/gray/linkbutton.css | 203 - .../webapp/WEB-INF/css/themes/gray/menu.css | 119 - .../WEB-INF/css/themes/gray/menubutton.css | 94 - .../WEB-INF/css/themes/gray/messager.css | 44 - .../WEB-INF/css/themes/gray/numberbox.css | 0 .../WEB-INF/css/themes/gray/pagination.css | 77 - .../webapp/WEB-INF/css/themes/gray/panel.css | 267 - .../WEB-INF/css/themes/gray/passwordbox.css | 6 - .../WEB-INF/css/themes/gray/progressbar.css | 33 - .../WEB-INF/css/themes/gray/propertygrid.css | 27 - .../WEB-INF/css/themes/gray/radiobutton.css | 25 - .../WEB-INF/css/themes/gray/searchbox.css | 61 - .../WEB-INF/css/themes/gray/sidemenu.css | 72 - .../webapp/WEB-INF/css/themes/gray/slider.css | 101 - .../WEB-INF/css/themes/gray/spinner.css | 114 - .../WEB-INF/css/themes/gray/splitbutton.css | 12 - .../WEB-INF/css/themes/gray/switchbutton.css | 77 - .../webapp/WEB-INF/css/themes/gray/tabs.css | 413 - .../webapp/WEB-INF/css/themes/gray/tagbox.css | 44 - .../WEB-INF/css/themes/gray/textbox.css | 144 - .../WEB-INF/css/themes/gray/tooltip.css | 103 - .../webapp/WEB-INF/css/themes/gray/tree.css | 164 - .../WEB-INF/css/themes/gray/validatebox.css | 13 - .../webapp/WEB-INF/css/themes/gray/window.css | 188 - .../main/webapp/WEB-INF/css/themes/icon.css | 96 - .../webapp/WEB-INF/css/themes/icons/back.png | Bin 912 -> 0 bytes .../webapp/WEB-INF/css/themes/icons/blank.gif | Bin 43 -> 0 bytes .../WEB-INF/css/themes/icons/cancel.png | Bin 1133 -> 0 bytes .../webapp/WEB-INF/css/themes/icons/clear.png | Bin 779 -> 0 bytes .../webapp/WEB-INF/css/themes/icons/cut.png | Bin 1024 -> 0 bytes .../WEB-INF/css/themes/icons/edit_add.png | Bin 1088 -> 0 bytes .../WEB-INF/css/themes/icons/edit_remove.png | Bin 625 -> 0 bytes .../WEB-INF/css/themes/icons/filesave.png | Bin 898 -> 0 bytes .../WEB-INF/css/themes/icons/filter.png | Bin 305 -> 0 bytes .../webapp/WEB-INF/css/themes/icons/help.png | Bin 1187 -> 0 bytes .../WEB-INF/css/themes/icons/large_chart.png | Bin 1669 -> 0 bytes .../css/themes/icons/large_clipart.png | Bin 1727 -> 0 bytes .../css/themes/icons/large_picture.png | Bin 1667 -> 0 bytes .../WEB-INF/css/themes/icons/large_shapes.png | Bin 1318 -> 0 bytes .../css/themes/icons/large_smartart.png | Bin 1336 -> 0 bytes .../webapp/WEB-INF/css/themes/icons/lock.png | Bin 311 -> 0 bytes .../webapp/WEB-INF/css/themes/icons/man.png | Bin 244 -> 0 bytes .../WEB-INF/css/themes/icons/mini_add.png | Bin 244 -> 0 bytes .../WEB-INF/css/themes/icons/mini_edit.png | Bin 161 -> 0 bytes .../WEB-INF/css/themes/icons/mini_refresh.png | Bin 160 -> 0 bytes .../webapp/WEB-INF/css/themes/icons/more.png | Bin 110 -> 0 bytes .../webapp/WEB-INF/css/themes/icons/no.png | Bin 922 -> 0 bytes .../webapp/WEB-INF/css/themes/icons/ok.png | Bin 883 -> 0 bytes .../WEB-INF/css/themes/icons/pencil.png | Bin 713 -> 0 bytes .../webapp/WEB-INF/css/themes/icons/print.png | Bin 1057 -> 0 bytes .../webapp/WEB-INF/css/themes/icons/redo.png | Bin 708 -> 0 bytes .../WEB-INF/css/themes/icons/reload.png | Bin 1045 -> 0 bytes .../WEB-INF/css/themes/icons/search.png | Bin 813 -> 0 bytes .../webapp/WEB-INF/css/themes/icons/sum.png | Bin 289 -> 0 bytes .../webapp/WEB-INF/css/themes/icons/tip.png | Bin 743 -> 0 bytes .../webapp/WEB-INF/css/themes/icons/undo.png | Bin 707 -> 0 bytes .../css/themes/material-teal/accordion.css | 89 - .../css/themes/material-teal/calendar.css | 203 - .../css/themes/material-teal/checkbox.css | 31 - .../css/themes/material-teal/combo.css | 35 - .../css/themes/material-teal/combobox.css | 40 - .../css/themes/material-teal/datagrid.css | 285 - .../css/themes/material-teal/datalist.css | 95 - .../css/themes/material-teal/datebox.css | 36 - .../css/themes/material-teal/dialog.css | 47 - .../css/themes/material-teal/easyui.css | 3560 -- .../css/themes/material-teal/filebox.css | 20 - .../css/themes/material-teal/images/Thumbs.db | Bin 35328 -> 0 bytes .../material-teal/images/accordion_arrows.png | Bin 121 -> 0 bytes .../css/themes/material-teal/images/blank.gif | Bin 43 -> 0 bytes .../material-teal/images/calendar_arrows.png | Bin 173 -> 0 bytes .../material-teal/images/combo_arrow.png | Bin 103 -> 0 bytes .../material-teal/images/datagrid_icons.png | Bin 330 -> 0 bytes .../material-teal/images/datebox_arrow.png | Bin 626 -> 0 bytes .../material-teal/images/layout_arrows.png | Bin 170 -> 0 bytes .../material-teal/images/linkbutton_bg.png | Bin 1274 -> 0 bytes .../themes/material-teal/images/loading.gif | Bin 1737 -> 0 bytes .../material-teal/images/menu_arrows.png | Bin 160 -> 0 bytes .../material-teal/images/messager_icons.png | Bin 2224 -> 0 bytes .../material-teal/images/pagination_icons.png | Bin 466 -> 0 bytes .../material-teal/images/panel_tools.png | Bin 191 -> 0 bytes .../images/passwordbox_close.png | Bin 149 -> 0 bytes .../material-teal/images/passwordbox_open.png | Bin 160 -> 0 bytes .../material-teal/images/searchbox_button.png | Bin 813 -> 0 bytes .../material-teal/images/slider_handle.png | Bin 863 -> 0 bytes .../material-teal/images/spinner_arrows.png | Bin 149 -> 0 bytes .../material-teal/images/tabs_icons.png | Bin 143 -> 0 bytes .../material-teal/images/tagbox_icons.png | Bin 133 -> 0 bytes .../material-teal/images/tree_icons.png | Bin 3115 -> 0 bytes .../images/validatebox_warning.png | Bin 921 -> 0 bytes .../css/themes/material-teal/layout.css | 150 - .../css/themes/material-teal/linkbutton.css | 191 - .../WEB-INF/css/themes/material-teal/menu.css | 119 - .../css/themes/material-teal/menubutton.css | 94 - .../css/themes/material-teal/messager.css | 44 - .../css/themes/material-teal/numberbox.css | 0 .../css/themes/material-teal/pagination.css | 77 - .../css/themes/material-teal/panel.css | 261 - .../css/themes/material-teal/passwordbox.css | 6 - .../css/themes/material-teal/progressbar.css | 33 - .../css/themes/material-teal/propertygrid.css | 27 - .../css/themes/material-teal/radiobutton.css | 25 - .../css/themes/material-teal/searchbox.css | 61 - .../css/themes/material-teal/sidemenu.css | 72 - .../css/themes/material-teal/slider.css | 101 - .../css/themes/material-teal/spinner.css | 114 - .../css/themes/material-teal/splitbutton.css | 12 - .../css/themes/material-teal/switchbutton.css | 77 - .../WEB-INF/css/themes/material-teal/tabs.css | 377 - .../css/themes/material-teal/tagbox.css | 44 - .../css/themes/material-teal/textbox.css | 144 - .../css/themes/material-teal/tooltip.css | 103 - .../WEB-INF/css/themes/material-teal/tree.css | 164 - .../css/themes/material-teal/validatebox.css | 13 - .../css/themes/material-teal/window.css | 182 - .../WEB-INF/css/themes/material/accordion.css | 89 - .../WEB-INF/css/themes/material/calendar.css | 203 - .../WEB-INF/css/themes/material/checkbox.css | 31 - .../WEB-INF/css/themes/material/combo.css | 35 - .../WEB-INF/css/themes/material/combobox.css | 40 - .../WEB-INF/css/themes/material/datagrid.css | 285 - .../WEB-INF/css/themes/material/datalist.css | 95 - .../WEB-INF/css/themes/material/datebox.css | 36 - .../WEB-INF/css/themes/material/dialog.css | 47 - .../WEB-INF/css/themes/material/easyui.css | 3447 -- .../WEB-INF/css/themes/material/filebox.css | 20 - .../css/themes/material/images/Thumbs.db | Bin 35328 -> 0 bytes .../material/images/accordion_arrows.png | Bin 121 -> 0 bytes .../css/themes/material/images/blank.gif | Bin 43 -> 0 bytes .../material/images/calendar_arrows.png | Bin 173 -> 0 bytes .../themes/material/images/combo_arrow.png | Bin 103 -> 0 bytes .../themes/material/images/datagrid_icons.png | Bin 330 -> 0 bytes .../themes/material/images/datebox_arrow.png | Bin 626 -> 0 bytes .../themes/material/images/layout_arrows.png | Bin 170 -> 0 bytes .../themes/material/images/linkbutton_bg.png | Bin 1274 -> 0 bytes .../css/themes/material/images/loading.gif | Bin 1737 -> 0 bytes .../themes/material/images/menu_arrows.png | Bin 160 -> 0 bytes .../themes/material/images/messager_icons.png | Bin 2224 -> 0 bytes .../material/images/pagination_icons.png | Bin 466 -> 0 bytes .../themes/material/images/panel_tools.png | Bin 191 -> 0 bytes .../material/images/passwordbox_close.png | Bin 149 -> 0 bytes .../material/images/passwordbox_open.png | Bin 160 -> 0 bytes .../material/images/searchbox_button.png | Bin 813 -> 0 bytes .../themes/material/images/slider_handle.png | Bin 863 -> 0 bytes .../themes/material/images/spinner_arrows.png | Bin 149 -> 0 bytes .../css/themes/material/images/tabs_icons.png | Bin 143 -> 0 bytes .../themes/material/images/tagbox_icons.png | Bin 133 -> 0 bytes .../css/themes/material/images/tree_icons.png | Bin 3115 -> 0 bytes .../material/images/validatebox_warning.png | Bin 921 -> 0 bytes .../WEB-INF/css/themes/material/layout.css | 150 - .../css/themes/material/linkbutton.css | 191 - .../WEB-INF/css/themes/material/menu.css | 119 - .../css/themes/material/menubutton.css | 94 - .../WEB-INF/css/themes/material/messager.css | 44 - .../WEB-INF/css/themes/material/numberbox.css | 0 .../css/themes/material/pagination.css | 77 - .../WEB-INF/css/themes/material/panel.css | 261 - .../css/themes/material/passwordbox.css | 6 - .../css/themes/material/progressbar.css | 33 - .../css/themes/material/propertygrid.css | 27 - .../css/themes/material/radiobutton.css | 25 - .../WEB-INF/css/themes/material/searchbox.css | 61 - .../WEB-INF/css/themes/material/sidemenu.css | 72 - .../WEB-INF/css/themes/material/slider.css | 101 - .../WEB-INF/css/themes/material/spinner.css | 114 - .../css/themes/material/splitbutton.css | 12 - .../css/themes/material/switchbutton.css | 77 - .../WEB-INF/css/themes/material/tabs.css | 377 - .../WEB-INF/css/themes/material/tagbox.css | 44 - .../WEB-INF/css/themes/material/textbox.css | 144 - .../WEB-INF/css/themes/material/tooltip.css | 103 - .../WEB-INF/css/themes/material/tree.css | 164 - .../css/themes/material/validatebox.css | 13 - .../WEB-INF/css/themes/material/window.css | 182 - .../WEB-INF/css/themes/metro/accordion.css | 89 - .../WEB-INF/css/themes/metro/calendar.css | 203 - .../WEB-INF/css/themes/metro/checkbox.css | 31 - .../webapp/WEB-INF/css/themes/metro/combo.css | 35 - .../WEB-INF/css/themes/metro/combobox.css | 40 - .../WEB-INF/css/themes/metro/datagrid.css | 285 - .../WEB-INF/css/themes/metro/datalist.css | 95 - .../WEB-INF/css/themes/metro/datebox.css | 36 - .../WEB-INF/css/themes/metro/dialog.css | 47 - .../WEB-INF/css/themes/metro/easyui.css | 3384 -- .../WEB-INF/css/themes/metro/filebox.css | 20 - .../themes/metro/images/accordion_arrows.png | Bin 184 -> 0 bytes .../WEB-INF/css/themes/metro/images/blank.gif | Bin 43 -> 0 bytes .../themes/metro/images/calendar_arrows.png | Bin 173 -> 0 bytes .../css/themes/metro/images/combo_arrow.png | Bin 117 -> 0 bytes .../themes/metro/images/datagrid_icons.png | Bin 307 -> 0 bytes .../css/themes/metro/images/datebox_arrow.png | Bin 626 -> 0 bytes .../css/themes/metro/images/layout_arrows.png | Bin 319 -> 0 bytes .../css/themes/metro/images/linkbutton_bg.png | Bin 1274 -> 0 bytes .../css/themes/metro/images/loading.gif | Bin 1737 -> 0 bytes .../css/themes/metro/images/menu_arrows.png | Bin 160 -> 0 bytes .../themes/metro/images/messager_icons.png | Bin 2224 -> 0 bytes .../themes/metro/images/pagination_icons.png | Bin 628 -> 0 bytes .../css/themes/metro/images/panel_tools.png | Bin 194 -> 0 bytes .../themes/metro/images/passwordbox_close.png | Bin 159 -> 0 bytes .../themes/metro/images/passwordbox_open.png | Bin 165 -> 0 bytes .../themes/metro/images/searchbox_button.png | Bin 813 -> 0 bytes .../css/themes/metro/images/slider_handle.png | Bin 863 -> 0 bytes .../themes/metro/images/spinner_arrows.png | Bin 149 -> 0 bytes .../css/themes/metro/images/tabs_icons.png | Bin 150 -> 0 bytes .../css/themes/metro/images/tagbox_icons.png | Bin 134 -> 0 bytes .../css/themes/metro/images/tree_icons.png | Bin 3115 -> 0 bytes .../metro/images/validatebox_warning.png | Bin 921 -> 0 bytes .../WEB-INF/css/themes/metro/layout.css | 150 - .../WEB-INF/css/themes/metro/linkbutton.css | 203 - .../webapp/WEB-INF/css/themes/metro/menu.css | 119 - .../WEB-INF/css/themes/metro/menubutton.css | 94 - .../WEB-INF/css/themes/metro/messager.css | 44 - .../WEB-INF/css/themes/metro/numberbox.css | 0 .../WEB-INF/css/themes/metro/pagination.css | 77 - .../webapp/WEB-INF/css/themes/metro/panel.css | 261 - .../WEB-INF/css/themes/metro/passwordbox.css | 6 - .../WEB-INF/css/themes/metro/progressbar.css | 33 - .../WEB-INF/css/themes/metro/propertygrid.css | 27 - .../WEB-INF/css/themes/metro/radiobutton.css | 25 - .../WEB-INF/css/themes/metro/searchbox.css | 61 - .../WEB-INF/css/themes/metro/sidemenu.css | 72 - .../WEB-INF/css/themes/metro/slider.css | 101 - .../WEB-INF/css/themes/metro/spinner.css | 114 - .../WEB-INF/css/themes/metro/splitbutton.css | 12 - .../WEB-INF/css/themes/metro/switchbutton.css | 77 - .../webapp/WEB-INF/css/themes/metro/tabs.css | 377 - .../WEB-INF/css/themes/metro/tagbox.css | 44 - .../WEB-INF/css/themes/metro/textbox.css | 144 - .../WEB-INF/css/themes/metro/tooltip.css | 103 - .../webapp/WEB-INF/css/themes/metro/tree.css | 164 - .../WEB-INF/css/themes/metro/validatebox.css | 13 - .../WEB-INF/css/themes/metro/window.css | 182 - .../main/webapp/WEB-INF/css/themes/mobile.css | 355 - .../main/webapp/WEB-INF/css/themes/vue.css | 634 - .../src/main/webapp/WEB-INF/ftl/hello.ftl | 1 - .../main/webapp/WEB-INF/js/ajaxFileUpload.js | 236 - .../webapp/WEB-INF/js/jquery.easyui.min.js | 17117 --------- .../src/main/webapp/WEB-INF/js/jquery.min.js | 5 - .../src/main/webapp/WEB-INF/js/product_add.js | 81 - .../src/main/webapp/WEB-INF/jsp/hi.jsp | 14 - .../src/main/webapp/WEB-INF/jsp/index.jsp | 69 - .../main/webapp/WEB-INF/jsp/product_add.jsp | 136 - .../webapp/WEB-INF/jsp/product_cat_list.jsp | 112 - .../main/webapp/WEB-INF/jsp/product_list.jsp | 40 - .../main/webapp/WEB-INF/jsp/ueditor_test.jsp | 179 - .../src/main/webapp/WEB-INF/web.xml | 49 - .../webapp/ueditor/dialogs/anchor/anchor.html | 40 - .../ueditor/dialogs/attachment/attachment.css | 681 - .../dialogs/attachment/attachment.html | 60 - .../ueditor/dialogs/attachment/attachment.js | 754 - .../attachment/fileTypeImages/icon_chm.gif | Bin 923 -> 0 bytes .../fileTypeImages/icon_default.png | Bin 841 -> 0 bytes .../attachment/fileTypeImages/icon_doc.gif | Bin 1012 -> 0 bytes .../attachment/fileTypeImages/icon_exe.gif | Bin 949 -> 0 bytes .../attachment/fileTypeImages/icon_jpg.gif | Bin 950 -> 0 bytes .../attachment/fileTypeImages/icon_mp3.gif | Bin 986 -> 0 bytes .../attachment/fileTypeImages/icon_mv.gif | Bin 1001 -> 0 bytes .../attachment/fileTypeImages/icon_pdf.gif | Bin 996 -> 0 bytes .../attachment/fileTypeImages/icon_ppt.gif | Bin 1001 -> 0 bytes .../attachment/fileTypeImages/icon_psd.gif | Bin 1009 -> 0 bytes .../attachment/fileTypeImages/icon_rar.gif | Bin 1007 -> 0 bytes .../attachment/fileTypeImages/icon_txt.gif | Bin 970 -> 0 bytes .../attachment/fileTypeImages/icon_xls.gif | Bin 1005 -> 0 bytes .../dialogs/attachment/images/alignicon.gif | Bin 1051 -> 0 bytes .../dialogs/attachment/images/alignicon.png | Bin 3714 -> 0 bytes .../ueditor/dialogs/attachment/images/bg.png | Bin 2810 -> 0 bytes .../dialogs/attachment/images/file-icons.gif | Bin 20097 -> 0 bytes .../dialogs/attachment/images/file-icons.png | Bin 44070 -> 0 bytes .../dialogs/attachment/images/icons.gif | Bin 453 -> 0 bytes .../dialogs/attachment/images/icons.png | Bin 2678 -> 0 bytes .../dialogs/attachment/images/image.png | Bin 1672 -> 0 bytes .../dialogs/attachment/images/progress.png | Bin 1269 -> 0 bytes .../dialogs/attachment/images/success.gif | Bin 445 -> 0 bytes .../dialogs/attachment/images/success.png | Bin 1621 -> 0 bytes .../ueditor/dialogs/background/background.css | 94 - .../dialogs/background/background.html | 56 - .../ueditor/dialogs/background/background.js | 376 - .../ueditor/dialogs/background/images/bg.png | Bin 2810 -> 0 bytes .../dialogs/background/images/success.png | Bin 1621 -> 0 bytes .../ueditor/dialogs/charts/chart.config.js | 65 - .../webapp/ueditor/dialogs/charts/charts.css | 165 - .../webapp/ueditor/dialogs/charts/charts.html | 89 - .../webapp/ueditor/dialogs/charts/charts.js | 519 - .../ueditor/dialogs/charts/images/charts0.png | Bin 25306 -> 0 bytes .../ueditor/dialogs/charts/images/charts1.png | Bin 19263 -> 0 bytes .../ueditor/dialogs/charts/images/charts2.png | Bin 23016 -> 0 bytes .../ueditor/dialogs/charts/images/charts3.png | Bin 7823 -> 0 bytes .../ueditor/dialogs/charts/images/charts4.png | Bin 8344 -> 0 bytes .../ueditor/dialogs/charts/images/charts5.png | Bin 47084 -> 0 bytes .../ueditor/dialogs/emotion/emotion.css | 43 - .../ueditor/dialogs/emotion/emotion.html | 54 - .../webapp/ueditor/dialogs/emotion/emotion.js | 186 - .../ueditor/dialogs/emotion/images/0.gif | Bin 43 -> 0 bytes .../ueditor/dialogs/emotion/images/bface.gif | Bin 27167 -> 0 bytes .../ueditor/dialogs/emotion/images/cface.gif | Bin 8603 -> 0 bytes .../ueditor/dialogs/emotion/images/fface.gif | Bin 18479 -> 0 bytes .../dialogs/emotion/images/jxface2.gif | Bin 40706 -> 0 bytes .../emotion/images/neweditor-tab-bg.png | Bin 216 -> 0 bytes .../ueditor/dialogs/emotion/images/tface.gif | Bin 19805 -> 0 bytes .../ueditor/dialogs/emotion/images/wface.gif | Bin 49850 -> 0 bytes .../ueditor/dialogs/emotion/images/yface.gif | Bin 28409 -> 0 bytes .../webapp/ueditor/dialogs/gmap/gmap.html | 89 - .../main/webapp/ueditor/dialogs/help/help.css | 7 - .../webapp/ueditor/dialogs/help/help.html | 82 - .../main/webapp/ueditor/dialogs/help/help.js | 56 - .../webapp/ueditor/dialogs/image/image.css | 894 - .../webapp/ueditor/dialogs/image/image.html | 120 - .../webapp/ueditor/dialogs/image/image.js | 1142 - .../dialogs/image/images/alignicon.jpg | Bin 16101 -> 0 bytes .../ueditor/dialogs/image/images/bg.png | Bin 2810 -> 0 bytes .../ueditor/dialogs/image/images/icons.gif | Bin 453 -> 0 bytes .../ueditor/dialogs/image/images/icons.png | Bin 2678 -> 0 bytes .../ueditor/dialogs/image/images/image.png | Bin 1672 -> 0 bytes .../ueditor/dialogs/image/images/progress.png | Bin 1269 -> 0 bytes .../ueditor/dialogs/image/images/success.gif | Bin 445 -> 0 bytes .../ueditor/dialogs/image/images/success.png | Bin 1621 -> 0 bytes .../dialogs/insertframe/insertframe.html | 98 - .../main/webapp/ueditor/dialogs/internal.js | 81 - .../webapp/ueditor/dialogs/link/link.html | 126 - .../main/webapp/ueditor/dialogs/map/map.html | 135 - .../main/webapp/ueditor/dialogs/map/show.html | 118 - .../webapp/ueditor/dialogs/music/music.css | 30 - .../webapp/ueditor/dialogs/music/music.html | 32 - .../webapp/ueditor/dialogs/music/music.js | 192 - .../ueditor/dialogs/preview/preview.html | 40 - .../ueditor/dialogs/scrawl/images/addimg.png | Bin 628 -> 0 bytes .../ueditor/dialogs/scrawl/images/brush.png | Bin 608 -> 0 bytes .../ueditor/dialogs/scrawl/images/delimg.png | Bin 516 -> 0 bytes .../ueditor/dialogs/scrawl/images/delimgH.png | Bin 578 -> 0 bytes .../ueditor/dialogs/scrawl/images/empty.png | Bin 519 -> 0 bytes .../ueditor/dialogs/scrawl/images/emptyH.png | Bin 657 -> 0 bytes .../ueditor/dialogs/scrawl/images/eraser.png | Bin 43271 -> 0 bytes .../ueditor/dialogs/scrawl/images/redo.png | Bin 454 -> 0 bytes .../ueditor/dialogs/scrawl/images/redoH.png | Bin 536 -> 0 bytes .../ueditor/dialogs/scrawl/images/scale.png | Bin 435 -> 0 bytes .../ueditor/dialogs/scrawl/images/scaleH.png | Bin 330 -> 0 bytes .../ueditor/dialogs/scrawl/images/size.png | Bin 775 -> 0 bytes .../ueditor/dialogs/scrawl/images/undo.png | Bin 444 -> 0 bytes .../ueditor/dialogs/scrawl/images/undoH.png | Bin 511 -> 0 bytes .../webapp/ueditor/dialogs/scrawl/scrawl.css | 72 - .../webapp/ueditor/dialogs/scrawl/scrawl.html | 95 - .../webapp/ueditor/dialogs/scrawl/scrawl.js | 671 - .../dialogs/searchreplace/searchreplace.html | 102 - .../dialogs/searchreplace/searchreplace.js | 164 - .../dialogs/snapscreen/snapscreen.html | 58 - .../ueditor/dialogs/spechars/spechars.html | 21 - .../ueditor/dialogs/spechars/spechars.js | 57 - .../webapp/ueditor/dialogs/table/dragicon.png | Bin 304 -> 0 bytes .../ueditor/dialogs/table/edittable.css | 84 - .../ueditor/dialogs/table/edittable.html | 64 - .../webapp/ueditor/dialogs/table/edittable.js | 237 - .../webapp/ueditor/dialogs/table/edittd.html | 61 - .../webapp/ueditor/dialogs/table/edittip.html | 33 - .../webapp/ueditor/dialogs/template/config.js | 42 - .../ueditor/dialogs/template/images/bg.gif | Bin 84 -> 0 bytes .../ueditor/dialogs/template/images/pre0.png | Bin 250 -> 0 bytes .../ueditor/dialogs/template/images/pre1.png | Bin 291 -> 0 bytes .../ueditor/dialogs/template/images/pre2.png | Bin 394 -> 0 bytes .../ueditor/dialogs/template/images/pre3.png | Bin 485 -> 0 bytes .../ueditor/dialogs/template/images/pre4.png | Bin 393 -> 0 bytes .../ueditor/dialogs/template/template.css | 18 - .../ueditor/dialogs/template/template.html | 26 - .../ueditor/dialogs/template/template.js | 53 - .../ueditor/dialogs/video/images/bg.png | Bin 2810 -> 0 bytes .../dialogs/video/images/center_focus.jpg | Bin 11795 -> 0 bytes .../dialogs/video/images/file-icons.gif | Bin 20097 -> 0 bytes .../dialogs/video/images/file-icons.png | Bin 44070 -> 0 bytes .../ueditor/dialogs/video/images/icons.gif | Bin 453 -> 0 bytes .../ueditor/dialogs/video/images/icons.png | Bin 2678 -> 0 bytes .../ueditor/dialogs/video/images/image.png | Bin 1672 -> 0 bytes .../dialogs/video/images/left_focus.jpg | Bin 11423 -> 0 bytes .../dialogs/video/images/none_focus.jpg | Bin 11546 -> 0 bytes .../ueditor/dialogs/video/images/progress.png | Bin 1269 -> 0 bytes .../dialogs/video/images/right_focus.jpg | Bin 11334 -> 0 bytes .../ueditor/dialogs/video/images/success.gif | Bin 445 -> 0 bytes .../ueditor/dialogs/video/images/success.png | Bin 1621 -> 0 bytes .../webapp/ueditor/dialogs/video/video.css | 635 - .../webapp/ueditor/dialogs/video/video.html | 86 - .../webapp/ueditor/dialogs/video/video.js | 791 - .../webapp/ueditor/dialogs/webapp/webapp.html | 53 - .../dialogs/wordimage/fClipboard_ueditor.swf | Bin 1908 -> 0 bytes .../dialogs/wordimage/imageUploader.swf | Bin 62857 -> 0 bytes .../ueditor/dialogs/wordimage/tangram.js | 1495 - .../ueditor/dialogs/wordimage/wordimage.html | 111 - .../ueditor/dialogs/wordimage/wordimage.js | 157 - .../src/main/webapp/ueditor/index.html | 175 - .../src/main/webapp/ueditor/jsp/config.json | 94 - .../main/webapp/ueditor/jsp/controller.jsp | 14 - .../image/20181204/1543858596077013255.png | Bin 24674 -> 0 bytes .../image/20181204/1543858816403038748.png | Bin 24674 -> 0 bytes .../image/20181218/1545124074789022151.png | Bin 29162 -> 0 bytes .../image/20190105/1546693501508030129.png | Bin 95825 -> 0 bytes .../src/main/webapp/ueditor/lang/en/en.js | 684 - .../ueditor/lang/en/images/addimage.png | Bin 3373 -> 0 bytes .../lang/en/images/alldeletebtnhoverskin.png | Bin 743 -> 0 bytes .../lang/en/images/alldeletebtnupskin.png | Bin 743 -> 0 bytes .../ueditor/lang/en/images/background.png | Bin 3854 -> 0 bytes .../webapp/ueditor/lang/en/images/button.png | Bin 4929 -> 0 bytes .../webapp/ueditor/lang/en/images/copy.png | Bin 1222 -> 0 bytes .../ueditor/lang/en/images/deletedisable.png | Bin 649 -> 0 bytes .../ueditor/lang/en/images/deleteenable.png | Bin 664 -> 0 bytes .../ueditor/lang/en/images/listbackground.png | Bin 3750 -> 0 bytes .../ueditor/lang/en/images/localimage.png | Bin 3083 -> 0 bytes .../webapp/ueditor/lang/en/images/music.png | Bin 91561 -> 0 bytes .../lang/en/images/rotateleftdisable.png | Bin 719 -> 0 bytes .../lang/en/images/rotateleftenable.png | Bin 952 -> 0 bytes .../lang/en/images/rotaterightdisable.png | Bin 754 -> 0 bytes .../lang/en/images/rotaterightenable.png | Bin 1007 -> 0 bytes .../webapp/ueditor/lang/en/images/upload.png | Bin 3941 -> 0 bytes .../webapp/ueditor/lang/zh-cn/images/copy.png | Bin 4319 -> 0 bytes .../ueditor/lang/zh-cn/images/localimage.png | Bin 6979 -> 0 bytes .../ueditor/lang/zh-cn/images/music.png | Bin 23106 -> 0 bytes .../ueditor/lang/zh-cn/images/upload.png | Bin 6608 -> 0 bytes .../main/webapp/ueditor/lang/zh-cn/zh-cn.js | 669 - .../ueditor/themes/default/css/ueditor.css | 1903 - .../themes/default/css/ueditor.min.css | 8 - .../ueditor/themes/default/dialogbase.css | 100 - .../ueditor/themes/default/images/anchor.gif | Bin 184 -> 0 bytes .../ueditor/themes/default/images/arrow.png | Bin 1173 -> 0 bytes .../themes/default/images/arrow_down.png | Bin 1610 -> 0 bytes .../themes/default/images/arrow_up.png | Bin 1649 -> 0 bytes .../themes/default/images/button-bg.gif | Bin 1114 -> 0 bytes .../themes/default/images/cancelbutton.gif | Bin 1227 -> 0 bytes .../ueditor/themes/default/images/charts.png | Bin 518 -> 0 bytes .../themes/default/images/cursor_h.gif | Bin 253 -> 0 bytes .../themes/default/images/cursor_h.png | Bin 175 -> 0 bytes .../themes/default/images/cursor_v.gif | Bin 370 -> 0 bytes .../themes/default/images/cursor_v.png | Bin 177 -> 0 bytes .../themes/default/images/dialog-title-bg.png | Bin 938 -> 0 bytes .../themes/default/images/filescan.png | Bin 4282 -> 0 bytes .../themes/default/images/highlighted.gif | Bin 111 -> 0 bytes .../themes/default/images/icons-all.gif | Bin 3750 -> 0 bytes .../ueditor/themes/default/images/icons.gif | Bin 20947 -> 0 bytes .../ueditor/themes/default/images/icons.png | Bin 19694 -> 0 bytes .../themes/default/images/loaderror.png | Bin 3209 -> 0 bytes .../ueditor/themes/default/images/loading.gif | Bin 734 -> 0 bytes .../ueditor/themes/default/images/lock.gif | Bin 1062 -> 0 bytes .../default/images/neweditor-tab-bg.png | Bin 216 -> 0 bytes .../themes/default/images/pagebreak.gif | Bin 54 -> 0 bytes .../ueditor/themes/default/images/scale.png | Bin 167 -> 0 bytes .../themes/default/images/sortable.png | Bin 2851 -> 0 bytes .../ueditor/themes/default/images/spacer.gif | Bin 43 -> 0 bytes .../themes/default/images/sparator_v.png | Bin 122 -> 0 bytes .../default/images/table-cell-align.png | Bin 1847 -> 0 bytes .../default/images/tangram-colorpicker.png | Bin 17355 -> 0 bytes .../themes/default/images/toolbar_bg.png | Bin 170 -> 0 bytes .../themes/default/images/unhighlighted.gif | Bin 111 -> 0 bytes .../ueditor/themes/default/images/upload.png | Bin 6608 -> 0 bytes .../themes/default/images/videologo.gif | Bin 1604 -> 0 bytes .../ueditor/themes/default/images/word.gif | Bin 1019 -> 0 bytes .../themes/default/images/wordpaste.png | Bin 6467 -> 0 bytes .../src/main/webapp/ueditor/themes/iframe.css | 1 - .../third-party/SyntaxHighlighter/shCore.js | 3655 -- .../SyntaxHighlighter/shCoreDefault.css | 1 - .../third-party/codemirror/codemirror.css | 104 - .../third-party/codemirror/codemirror.js | 3581 -- .../highcharts/adapters/mootools-adapter.js | 13 - .../adapters/mootools-adapter.src.js | 313 - .../highcharts/adapters/prototype-adapter.js | 15 - .../adapters/prototype-adapter.src.js | 316 - .../adapters/standalone-framework.js | 17 - .../adapters/standalone-framework.src.js | 583 - .../third-party/highcharts/highcharts-more.js | 50 - .../highcharts/highcharts-more.src.js | 2430 -- .../third-party/highcharts/highcharts.js | 283 - .../third-party/highcharts/highcharts.src.js | 16974 --------- .../highcharts/modules/annotations.js | 7 - .../highcharts/modules/annotations.src.js | 401 - .../highcharts/modules/canvas-tools.js | 133 - .../highcharts/modules/canvas-tools.src.js | 3113 -- .../third-party/highcharts/modules/data.js | 17 - .../highcharts/modules/data.src.js | 582 - .../highcharts/modules/drilldown.js | 11 - .../highcharts/modules/drilldown.src.js | 447 - .../highcharts/modules/exporting.js | 22 - .../highcharts/modules/exporting.src.js | 709 - .../third-party/highcharts/modules/funnel.js | 12 - .../highcharts/modules/funnel.src.js | 289 - .../third-party/highcharts/modules/heatmap.js | 1 - .../highcharts/modules/heatmap.src.js | 53 - .../third-party/highcharts/modules/map.js | 27 - .../third-party/highcharts/modules/map.src.js | 1002 - .../highcharts/modules/no-data-to-display.js | 12 - .../modules/no-data-to-display.src.js | 128 - .../highcharts/themes/dark-blue.js | 254 - .../highcharts/themes/dark-green.js | 255 - .../third-party/highcharts/themes/gray.js | 257 - .../third-party/highcharts/themes/grid.js | 103 - .../third-party/highcharts/themes/skies.js | 89 - .../ueditor/third-party/jquery-1.10.2.js | 9789 ----- .../ueditor/third-party/jquery-1.10.2.min.js | 6 - .../ueditor/third-party/jquery-1.10.2.min.map | 1 - .../snapscreen/UEditorSnapscreen.exe | Bin 519936 -> 0 bytes .../ueditor/third-party/video-js/font/vjs.eot | Bin 3536 -> 0 bytes .../ueditor/third-party/video-js/font/vjs.svg | 65 - .../ueditor/third-party/video-js/font/vjs.ttf | Bin 3372 -> 0 bytes .../third-party/video-js/font/vjs.woff | Bin 4228 -> 0 bytes .../ueditor/third-party/video-js/video-js.css | 766 - .../third-party/video-js/video-js.min.css | 5 - .../ueditor/third-party/video-js/video-js.swf | Bin 16745 -> 0 bytes .../ueditor/third-party/video-js/video.dev.js | 7108 ---- .../ueditor/third-party/video-js/video.js | 129 - .../third-party/webuploader/Uploader.swf | Bin 49382 -> 0 bytes .../third-party/webuploader/webuploader.css | 28 - .../webuploader/webuploader.custom.js | 5670 --- .../webuploader/webuploader.custom.min.js | 2 - .../webuploader/webuploader.flashonly.js | 4176 --- .../webuploader/webuploader.flashonly.min.js | 2 - .../webuploader/webuploader.html5only.js | 5559 --- .../webuploader/webuploader.html5only.min.js | 2 - .../third-party/webuploader/webuploader.js | 6733 ---- .../webuploader/webuploader.min.js | 2 - .../webuploader/webuploader.withoutimage.js | 4593 --- .../webuploader.withoutimage.min.js | 2 - .../webapp/ueditor/third-party/xss.min.js | 1 - .../zeroclipboard/ZeroClipboard.js | 1256 - .../zeroclipboard/ZeroClipboard.min.js | 9 - .../zeroclipboard/ZeroClipboard.swf | Bin 3933 -> 0 bytes .../src/main/webapp/ueditor/ueditor.all.js | 29568 ---------------- .../main/webapp/ueditor/ueditor.all.min.js | 18 - .../src/main/webapp/ueditor/ueditor.config.js | 499 - .../src/main/webapp/ueditor/ueditor.parse.js | 1022 - .../main/webapp/ueditor/ueditor.parse.min.js | 7 - manong_manager/pom.xml | 34 - manong_parent/pom.xml | 231 - manong_portal/pom.xml | 107 - .../portal/controller/FreemarkerTest.java | 28 - .../portal/controller/IndexController.java | 27 - .../portal/service/CategoriesService.java | 12 - .../service/impl/CategoriesServiceImpl.java | 37 - .../com/manong/portal/util/GsonUtils.java | 26 - .../resources/resource/resource.properties | 5 - .../spring/applicationContext-service.xml | 18 - .../src/main/resources/spring/springmvc.xml | 37 - .../src/main/webapp/WEB-INF/css/index.css | 1539 - .../src/main/webapp/WEB-INF/css/public.css | 10 - .../src/main/webapp/WEB-INF/ftl/hello.ftl | 5 - .../src/main/webapp/WEB-INF/ftl/index.ftl | 2357 -- .../src/main/webapp/WEB-INF/js/index.js | 204 - manong_portal/src/main/webapp/WEB-INF/web.xml | 49 - manong_portal/src/main/webapp/index.jsp | 7 - .../classes/resource/resource.properties | 5 - .../spring/applicationContext-service.xml | 18 - .../target/classes/spring/springmvc.xml | 37 - .../compile/default-compile/createdFiles.lst | 5 - .../compile/default-compile/inputFiles.lst | 5 - .../target/tomcat/conf/logging.properties | 64 - .../target/tomcat/conf/tomcat-users.xml | 26 - manong_portal/target/tomcat/conf/web.xml | 4283 --- .../target/tomcat/logs/access_log.2019-03-26 | 7 - .../localhost/_/org/apache/jsp/index_jsp.java | 80 - manong_redis/pom.xml | 16 - manong_rest/pom.xml | 115 - .../ProductCategoriesController.java | 27 - .../rest/service/ProductCategriesService.java | 12 - .../impl/ProductCategriesServiceImpl.java | 77 - .../main/resources/mybatis/sqlMapConfig.xml | 13 - .../main/resources/properties/db.properties | 4 - .../spring/applicationContext-dao.xml | 53 - .../spring/applicationContext-service.xml | 11 - .../spring/applicationContext-trans.xml | 34 - .../src/main/resources/spring/springmvc.xml | 19 - manong_rest/src/main/webapp/WEB-INF/web.xml | 49 - manong_rest/src/main/webapp/index.jsp | 14 - manong_search/pom.xml | 16 - manong_sso/pom.xml | 16 - 874 files changed, 211593 deletions(-) delete mode 100644 .gitattributes delete mode 100644 .gitignore delete mode 100644 .idea/artifacts/manong_manager_web_war.xml delete mode 100644 .idea/artifacts/manong_manager_web_war_exploded.xml delete mode 100644 .idea/artifacts/manong_portal_war.xml delete mode 100644 .idea/artifacts/manong_portal_war_exploded.xml delete mode 100644 .idea/artifacts/manong_rest_war.xml delete mode 100644 .idea/artifacts/manong_rest_war_exploded.xml delete mode 100644 .idea/compiler.xml delete mode 100644 .idea/encodings.xml delete mode 100644 .idea/libraries/Maven__aopalliance_aopalliance_1_0.xml delete mode 100644 .idea/libraries/Maven__com_alibaba_druid_1_0_9.xml delete mode 100644 .idea/libraries/Maven__com_baidu_ueditor_1_1_2.xml delete mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml delete mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_9_8.xml delete mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_9_8.xml delete mode 100644 .idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_4.xml delete mode 100644 .idea/libraries/Maven__com_github_pagehelper_pagehelper_4_1_1.xml delete mode 100644 .idea/libraries/Maven__com_google_code_gson_gson_2_7.xml delete mode 100644 .idea/libraries/Maven__com_json_json_1_1.xml delete mode 100644 .idea/libraries/Maven__commons_codec_commons_codec_1_6.xml delete mode 100644 .idea/libraries/Maven__commons_fileupload_commons_fileupload_1_4.xml delete mode 100644 .idea/libraries/Maven__commons_io_commons_io_2_2.xml delete mode 100644 .idea/libraries/Maven__commons_logging_commons_logging_1_2.xml delete mode 100644 .idea/libraries/Maven__commons_net_commons_net_3_3.xml delete mode 100644 .idea/libraries/Maven__javax_servlet_servlet_api_2_5.xml delete mode 100644 .idea/libraries/Maven__mysql_mysql_connector_java_5_1_32.xml delete mode 100644 .idea/libraries/Maven__org_apache_commons_commons_lang3_3_1.xml delete mode 100644 .idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_7.xml delete mode 100644 .idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_11.xml delete mode 100644 .idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_4.xml delete mode 100644 .idea/libraries/Maven__org_csource_fastdfs_client_java_1_27_SNAPSHOT.xml delete mode 100644 .idea/libraries/Maven__org_freemarker_freemarker_2_3_28.xml delete mode 100644 .idea/libraries/Maven__org_mybatis_mybatis_3_2_8.xml delete mode 100644 .idea/libraries/Maven__org_mybatis_mybatis_spring_1_2_2.xml delete mode 100644 .idea/libraries/Maven__org_springframework_spring_aop_4_1_3_RELEASE.xml delete mode 100644 .idea/libraries/Maven__org_springframework_spring_aspects_4_1_3_RELEASE.xml delete mode 100644 .idea/libraries/Maven__org_springframework_spring_beans_4_1_3_RELEASE.xml delete mode 100644 .idea/libraries/Maven__org_springframework_spring_context_4_1_3_RELEASE.xml delete mode 100644 .idea/libraries/Maven__org_springframework_spring_context_support_4_1_3_RELEASE.xml delete mode 100644 .idea/libraries/Maven__org_springframework_spring_core_4_1_3_RELEASE.xml delete mode 100644 .idea/libraries/Maven__org_springframework_spring_expression_4_1_3_RELEASE.xml delete mode 100644 .idea/libraries/Maven__org_springframework_spring_jdbc_4_1_3_RELEASE.xml delete mode 100644 .idea/libraries/Maven__org_springframework_spring_tx_4_1_3_RELEASE.xml delete mode 100644 .idea/libraries/Maven__org_springframework_spring_web_4_1_3_RELEASE.xml delete mode 100644 .idea/libraries/Maven__org_springframework_spring_webmvc_4_1_3_RELEASE.xml delete mode 100644 .idea/libraries/manong_common_1_0_SNAPSHOT.xml delete mode 100644 .idea/misc.xml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/vcs.xml delete mode 100644 .idea/workspace.xml delete mode 100644 README.md delete mode 100644 manong.sql delete mode 100644 manong_common/pom.xml delete mode 100644 manong_common/src/main/java/pojo/EasyGrid.java delete mode 100644 manong_common/src/main/java/pojo/EasyUITree.java delete mode 100644 manong_common/src/main/java/pojo/Res_Categories.java delete mode 100644 manong_common/src/main/java/pojo/ResponseJsonResult.java delete mode 100644 manong_common/src/main/java/utils/HttpClientUtil.java delete mode 100644 manong_common/target/maven-archiver/pom.properties delete mode 100644 manong_common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst delete mode 100644 manong_common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst delete mode 100644 manong_manager/manong_manager_mapper/pom.xml delete mode 100644 manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductCategoryMapper.java delete mode 100644 manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductCategoryMapper.xml delete mode 100644 manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductMapper.java delete mode 100644 manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductMapper.xml delete mode 100644 manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/UserMapper.java delete mode 100644 manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/UserMapper.xml delete mode 100644 manong_manager/manong_manager_pojo/pom.xml delete mode 100644 manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/Product.java delete mode 100644 manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/ProductCategory.java delete mode 100644 manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/ProductCategoryExample.java delete mode 100644 manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/ProductExample.java delete mode 100644 manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/User.java delete mode 100644 manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/UserExample.java delete mode 100644 manong_manager/manong_manager_service/pom.xml delete mode 100644 manong_manager/manong_manager_service/src/main/java/com/manong/service/ProductCategoryService.java delete mode 100644 manong_manager/manong_manager_service/src/main/java/com/manong/service/ProductService.java delete mode 100644 manong_manager/manong_manager_service/src/main/java/com/manong/service/UserService.java delete mode 100644 manong_manager/manong_manager_service/src/main/java/com/manong/service/impl/ProductCategoryServiceImpl.java delete mode 100644 manong_manager/manong_manager_service/src/main/java/com/manong/service/impl/ProductServiceImpl.java delete mode 100644 manong_manager/manong_manager_service/src/main/java/com/manong/service/impl/UserServiceImpl.java delete mode 100644 manong_manager/manong_manager_web/pom.xml delete mode 100644 manong_manager/manong_manager_web/src/main/java/com/manong/controller/FileController.java delete mode 100644 manong_manager/manong_manager_web/src/main/java/com/manong/controller/FreemarkerTest.java delete mode 100644 manong_manager/manong_manager_web/src/main/java/com/manong/controller/PageController.java delete mode 100644 manong_manager/manong_manager_web/src/main/java/com/manong/controller/ProductCategoryController.java delete mode 100644 manong_manager/manong_manager_web/src/main/java/com/manong/controller/ProductConrtroller.java delete mode 100644 manong_manager/manong_manager_web/src/main/java/com/manong/controller/UserController.java delete mode 100644 manong_manager/manong_manager_web/src/main/java/com/manong/fastdfs/FastDFSClient.java delete mode 100644 manong_manager/manong_manager_web/src/main/resources/conf/fdfs_client.conf delete mode 100644 manong_manager/manong_manager_web/src/main/resources/mybatis/sqlMapConfig.xml delete mode 100644 manong_manager/manong_manager_web/src/main/resources/properties/db.properties delete mode 100644 manong_manager/manong_manager_web/src/main/resources/spring/applicationContext-dao.xml delete mode 100644 manong_manager/manong_manager_web/src/main/resources/spring/applicationContext-service.xml delete mode 100644 manong_manager/manong_manager_web/src/main/resources/spring/applicationContext-trans.xml delete mode 100644 manong_manager/manong_manager_web/src/main/resources/spring/springmvc.xml delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/angular.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/accordion.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/calendar.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/checkbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/combo.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/combobox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/datagrid.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/datalist.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/datebox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/dialog.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/easyui.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/filebox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/accordion_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/blank.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/calendar_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/combo_arrow.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/datagrid_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/datebox_arrow.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/layout_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/linkbutton_bg.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/loading.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/menu_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/messager_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/pagination_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/panel_tools.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/passwordbox_close.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/passwordbox_open.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/searchbox_button.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/slider_handle.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/spinner_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/tabs_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/tagbox_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/tree_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/validatebox_warning.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/layout.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/linkbutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/menu.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/menubutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/messager.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/numberbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/pagination.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/panel.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/passwordbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/progressbar.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/propertygrid.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/radiobutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/searchbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/sidemenu.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/slider.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/spinner.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/splitbutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/switchbutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tabs.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tagbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/textbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tooltip.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tree.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/validatebox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/window.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/accordion.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/calendar.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/checkbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/combo.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/combobox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/datagrid.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/datalist.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/datebox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/dialog.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/easyui.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/filebox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/accordion_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/blank.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/calendar_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/combo_arrow.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/datagrid_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/datebox_arrow.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/layout_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/linkbutton_bg.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/loading.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/menu_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/messager_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/pagination_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/panel_tools.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/passwordbox_close.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/passwordbox_open.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/searchbox_button.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/slider_handle.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/spinner_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/tabs_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/tagbox_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/tree_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/validatebox_warning.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/layout.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/linkbutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/menu.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/menubutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/messager.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/numberbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/pagination.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/panel.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/passwordbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/progressbar.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/propertygrid.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/radiobutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/searchbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/sidemenu.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/slider.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/spinner.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/splitbutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/switchbutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tabs.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tagbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/textbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tooltip.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tree.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/validatebox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/window.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/color.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/accordion.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/calendar.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/checkbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/combo.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/combobox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/datagrid.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/datalist.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/datebox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/dialog.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/easyui.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/filebox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/accordion_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/blank.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/calendar_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/combo_arrow.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/datagrid_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/datebox_arrow.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/layout_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/linkbutton_bg.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/loading.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/menu_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/messager_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/pagination_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/panel_tools.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/passwordbox_close.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/passwordbox_open.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/searchbox_button.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/slider_handle.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/spinner_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/tabs_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/tagbox_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/tree_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/validatebox_warning.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/layout.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/linkbutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/menu.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/menubutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/messager.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/numberbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/pagination.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/panel.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/passwordbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/progressbar.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/propertygrid.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/radiobutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/searchbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/sidemenu.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/slider.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/spinner.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/splitbutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/switchbutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tabs.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tagbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/textbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tooltip.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tree.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/validatebox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/window.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/accordion.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/calendar.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/checkbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/combo.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/combobox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/datagrid.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/datalist.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/datebox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/dialog.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/easyui.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/filebox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/accordion_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/blank.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/calendar_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/combo_arrow.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/datagrid_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/datebox_arrow.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/layout_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/linkbutton_bg.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/loading.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/menu_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/messager_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/pagination_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/panel_tools.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/passwordbox_close.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/passwordbox_open.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/searchbox_button.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/slider_handle.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/spinner_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/tabs_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/tagbox_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/tree_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/validatebox_warning.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/layout.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/linkbutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/menu.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/menubutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/messager.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/numberbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/pagination.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/panel.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/passwordbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/progressbar.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/propertygrid.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/radiobutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/searchbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/sidemenu.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/slider.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/spinner.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/splitbutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/switchbutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tabs.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tagbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/textbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tooltip.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tree.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/validatebox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/window.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icon.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/back.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/blank.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/cancel.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/clear.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/cut.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/edit_add.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/edit_remove.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/filesave.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/filter.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/help.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_chart.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_clipart.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_picture.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_shapes.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_smartart.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/lock.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/man.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/mini_add.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/mini_edit.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/mini_refresh.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/more.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/no.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/ok.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/pencil.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/print.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/redo.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/reload.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/search.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/sum.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/tip.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/undo.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/accordion.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/calendar.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/checkbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/combo.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/combobox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/datagrid.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/datalist.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/datebox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/dialog.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/easyui.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/filebox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/Thumbs.db delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/accordion_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/blank.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/calendar_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/combo_arrow.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/datagrid_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/datebox_arrow.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/layout_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/linkbutton_bg.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/loading.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/menu_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/messager_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/pagination_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/panel_tools.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/passwordbox_close.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/passwordbox_open.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/searchbox_button.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/slider_handle.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/spinner_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/tabs_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/tagbox_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/tree_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/validatebox_warning.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/layout.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/linkbutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/menu.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/menubutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/messager.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/numberbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/pagination.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/panel.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/passwordbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/progressbar.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/propertygrid.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/radiobutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/searchbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/sidemenu.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/slider.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/spinner.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/splitbutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/switchbutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tabs.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tagbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/textbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tooltip.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tree.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/validatebox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/window.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/accordion.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/calendar.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/checkbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/combo.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/combobox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/datagrid.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/datalist.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/datebox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/dialog.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/easyui.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/filebox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/Thumbs.db delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/accordion_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/blank.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/calendar_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/combo_arrow.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/datagrid_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/datebox_arrow.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/layout_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/linkbutton_bg.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/loading.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/menu_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/messager_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/pagination_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/panel_tools.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/passwordbox_close.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/passwordbox_open.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/searchbox_button.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/slider_handle.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/spinner_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/tabs_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/tagbox_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/tree_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/validatebox_warning.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/layout.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/linkbutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/menu.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/menubutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/messager.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/numberbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/pagination.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/panel.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/passwordbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/progressbar.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/propertygrid.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/radiobutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/searchbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/sidemenu.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/slider.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/spinner.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/splitbutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/switchbutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tabs.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tagbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/textbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tooltip.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tree.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/validatebox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/window.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/accordion.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/calendar.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/checkbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/combo.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/combobox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/datagrid.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/datalist.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/datebox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/dialog.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/easyui.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/filebox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/accordion_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/blank.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/calendar_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/combo_arrow.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/datagrid_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/datebox_arrow.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/layout_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/linkbutton_bg.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/loading.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/menu_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/messager_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/pagination_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/panel_tools.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/passwordbox_close.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/passwordbox_open.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/searchbox_button.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/slider_handle.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/spinner_arrows.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/tabs_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/tagbox_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/tree_icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/validatebox_warning.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/layout.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/linkbutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/menu.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/menubutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/messager.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/numberbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/pagination.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/panel.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/passwordbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/progressbar.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/propertygrid.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/radiobutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/searchbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/sidemenu.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/slider.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/spinner.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/splitbutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/switchbutton.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tabs.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tagbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/textbox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tooltip.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tree.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/validatebox.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/window.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/mobile.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/vue.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/ftl/hello.ftl delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/js/ajaxFileUpload.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/js/jquery.easyui.min.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/js/jquery.min.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/js/product_add.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/jsp/hi.jsp delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/jsp/index.jsp delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/jsp/product_add.jsp delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/jsp/product_cat_list.jsp delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/jsp/product_list.jsp delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/jsp/ueditor_test.jsp delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/web.xml delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/anchor/anchor.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/attachment.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/attachment.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/attachment.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_chm.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_default.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_doc.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_exe.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_jpg.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_mp3.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_mv.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_pdf.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_ppt.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_psd.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_rar.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_txt.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_xls.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/images/alignicon.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/images/alignicon.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/images/bg.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/images/file-icons.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/images/file-icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/images/icons.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/images/icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/images/image.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/images/progress.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/images/success.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/images/success.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/background/background.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/background/background.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/background/background.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/background/images/bg.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/background/images/success.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/charts/chart.config.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/charts/charts.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/charts/charts.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/charts/charts.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/charts/images/charts0.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/charts/images/charts1.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/charts/images/charts2.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/charts/images/charts3.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/charts/images/charts4.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/charts/images/charts5.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/emotion/emotion.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/emotion/emotion.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/emotion/emotion.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/emotion/images/0.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/emotion/images/bface.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/emotion/images/cface.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/emotion/images/fface.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/emotion/images/jxface2.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/emotion/images/neweditor-tab-bg.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/emotion/images/tface.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/emotion/images/wface.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/emotion/images/yface.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/gmap/gmap.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/help/help.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/help/help.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/help/help.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/image/image.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/image/image.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/image/image.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/image/images/alignicon.jpg delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/image/images/bg.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/image/images/icons.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/image/images/icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/image/images/image.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/image/images/progress.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/image/images/success.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/image/images/success.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/insertframe/insertframe.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/internal.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/link/link.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/map/map.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/map/show.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/music/music.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/music/music.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/music/music.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/preview/preview.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/addimg.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/brush.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/delimg.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/delimgH.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/empty.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/emptyH.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/eraser.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/redo.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/redoH.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/scale.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/scaleH.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/size.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/undo.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/undoH.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/scrawl.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/scrawl.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/scrawl.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/searchreplace/searchreplace.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/searchreplace/searchreplace.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/snapscreen/snapscreen.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/spechars/spechars.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/spechars/spechars.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/dragicon.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittable.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittable.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittable.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittd.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittip.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/config.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/bg.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/pre0.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/pre1.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/pre2.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/pre3.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/pre4.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/template.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/template.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/template.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/bg.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/center_focus.jpg delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/file-icons.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/file-icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/icons.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/image.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/left_focus.jpg delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/none_focus.jpg delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/progress.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/right_focus.jpg delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/success.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/success.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/video.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/video.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/video.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/webapp/webapp.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/fClipboard_ueditor.swf delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/imageUploader.swf delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/tangram.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/wordimage.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/wordimage.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/index.html delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/config.json delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/controller.jsp delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/upload/image/20181204/1543858596077013255.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/upload/image/20181204/1543858816403038748.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/upload/image/20181218/1545124074789022151.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/upload/image/20190105/1546693501508030129.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/en.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/addimage.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/alldeletebtnhoverskin.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/alldeletebtnupskin.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/background.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/button.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/copy.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/deletedisable.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/deleteenable.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/listbackground.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/localimage.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/music.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/rotateleftdisable.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/rotateleftenable.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/rotaterightdisable.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/rotaterightenable.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/upload.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/zh-cn/images/copy.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/zh-cn/images/localimage.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/zh-cn/images/music.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/zh-cn/images/upload.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/zh-cn/zh-cn.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/css/ueditor.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/css/ueditor.min.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/dialogbase.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/anchor.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/arrow.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/arrow_down.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/arrow_up.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/button-bg.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/cancelbutton.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/charts.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/cursor_h.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/cursor_h.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/cursor_v.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/cursor_v.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/dialog-title-bg.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/filescan.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/highlighted.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/icons-all.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/icons.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/icons.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/loaderror.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/loading.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/lock.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/neweditor-tab-bg.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/pagebreak.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/scale.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/sortable.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/spacer.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/sparator_v.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/table-cell-align.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/tangram-colorpicker.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/toolbar_bg.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/unhighlighted.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/upload.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/videologo.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/word.gif delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/wordpaste.png delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/iframe.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/SyntaxHighlighter/shCore.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/SyntaxHighlighter/shCoreDefault.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/codemirror/codemirror.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/codemirror/codemirror.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/adapters/mootools-adapter.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/adapters/mootools-adapter.src.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/adapters/prototype-adapter.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/adapters/prototype-adapter.src.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/adapters/standalone-framework.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/adapters/standalone-framework.src.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/highcharts-more.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/highcharts-more.src.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/highcharts.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/highcharts.src.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/annotations.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/annotations.src.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/canvas-tools.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/canvas-tools.src.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/data.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/data.src.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/drilldown.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/drilldown.src.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/exporting.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/exporting.src.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/funnel.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/funnel.src.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/heatmap.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/heatmap.src.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/map.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/map.src.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/no-data-to-display.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/no-data-to-display.src.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/themes/dark-blue.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/themes/dark-green.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/themes/gray.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/themes/grid.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/themes/skies.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/jquery-1.10.2.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/jquery-1.10.2.min.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/jquery-1.10.2.min.map delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/snapscreen/UEditorSnapscreen.exe delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/video-js/font/vjs.eot delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/video-js/font/vjs.svg delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/video-js/font/vjs.ttf delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/video-js/font/vjs.woff delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/video-js/video-js.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/video-js/video-js.min.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/video-js/video-js.swf delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/video-js/video.dev.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/video-js/video.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/webuploader/Uploader.swf delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/webuploader/webuploader.css delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/webuploader/webuploader.custom.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/webuploader/webuploader.custom.min.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/webuploader/webuploader.flashonly.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/webuploader/webuploader.flashonly.min.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/webuploader/webuploader.html5only.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/webuploader/webuploader.html5only.min.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/webuploader/webuploader.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/webuploader/webuploader.min.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/webuploader/webuploader.withoutimage.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/webuploader/webuploader.withoutimage.min.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/xss.min.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/zeroclipboard/ZeroClipboard.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/zeroclipboard/ZeroClipboard.min.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/zeroclipboard/ZeroClipboard.swf delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.all.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.all.min.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.config.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.parse.js delete mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.parse.min.js delete mode 100644 manong_manager/pom.xml delete mode 100644 manong_parent/pom.xml delete mode 100644 manong_portal/pom.xml delete mode 100644 manong_portal/src/main/java/com/manong/portal/controller/FreemarkerTest.java delete mode 100644 manong_portal/src/main/java/com/manong/portal/controller/IndexController.java delete mode 100644 manong_portal/src/main/java/com/manong/portal/service/CategoriesService.java delete mode 100644 manong_portal/src/main/java/com/manong/portal/service/impl/CategoriesServiceImpl.java delete mode 100644 manong_portal/src/main/java/com/manong/portal/util/GsonUtils.java delete mode 100644 manong_portal/src/main/resources/resource/resource.properties delete mode 100644 manong_portal/src/main/resources/spring/applicationContext-service.xml delete mode 100644 manong_portal/src/main/resources/spring/springmvc.xml delete mode 100644 manong_portal/src/main/webapp/WEB-INF/css/index.css delete mode 100644 manong_portal/src/main/webapp/WEB-INF/css/public.css delete mode 100644 manong_portal/src/main/webapp/WEB-INF/ftl/hello.ftl delete mode 100644 manong_portal/src/main/webapp/WEB-INF/ftl/index.ftl delete mode 100644 manong_portal/src/main/webapp/WEB-INF/js/index.js delete mode 100644 manong_portal/src/main/webapp/WEB-INF/web.xml delete mode 100644 manong_portal/src/main/webapp/index.jsp delete mode 100644 manong_portal/target/classes/resource/resource.properties delete mode 100644 manong_portal/target/classes/spring/applicationContext-service.xml delete mode 100644 manong_portal/target/classes/spring/springmvc.xml delete mode 100644 manong_portal/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst delete mode 100644 manong_portal/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst delete mode 100644 manong_portal/target/tomcat/conf/logging.properties delete mode 100644 manong_portal/target/tomcat/conf/tomcat-users.xml delete mode 100644 manong_portal/target/tomcat/conf/web.xml delete mode 100644 manong_portal/target/tomcat/logs/access_log.2019-03-26 delete mode 100644 manong_portal/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/index_jsp.java delete mode 100644 manong_redis/pom.xml delete mode 100644 manong_rest/pom.xml delete mode 100644 manong_rest/src/main/java/com/manong/rest/controller/ProductCategoriesController.java delete mode 100644 manong_rest/src/main/java/com/manong/rest/service/ProductCategriesService.java delete mode 100644 manong_rest/src/main/java/com/manong/rest/service/impl/ProductCategriesServiceImpl.java delete mode 100644 manong_rest/src/main/resources/mybatis/sqlMapConfig.xml delete mode 100644 manong_rest/src/main/resources/properties/db.properties delete mode 100644 manong_rest/src/main/resources/spring/applicationContext-dao.xml delete mode 100644 manong_rest/src/main/resources/spring/applicationContext-service.xml delete mode 100644 manong_rest/src/main/resources/spring/applicationContext-trans.xml delete mode 100644 manong_rest/src/main/resources/spring/springmvc.xml delete mode 100644 manong_rest/src/main/webapp/WEB-INF/web.xml delete mode 100644 manong_rest/src/main/webapp/index.jsp delete mode 100644 manong_search/pom.xml delete mode 100644 manong_sso/pom.xml diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 2959201..0000000 --- a/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -*.js linguist-language=java -*.css linguist-language=java -*.html linguist-language=java diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 3b9ccc7..0000000 --- a/.gitignore +++ /dev/null @@ -1,30 +0,0 @@ -# Compiled class file -*.class -/target/ -/.dea/ - -# Log file -*.log - -# BlueJ files -*.ctxt - -# Mobile Tools for Java (J2ME) -.mtj.tmp/ - -# Package Files # -*.jar -*.war -*.nar -*.ear -*.zip -*.tar.gz -*.rar -*.iml - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* - - - - diff --git a/.idea/artifacts/manong_manager_web_war.xml b/.idea/artifacts/manong_manager_web_war.xml deleted file mode 100644 index a1f6b7a..0000000 --- a/.idea/artifacts/manong_manager_web_war.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - $PROJECT_DIR$/manong_manager/manong_manager_web/target - - - manong_manager_web - war - - - - - - - \ No newline at end of file diff --git a/.idea/artifacts/manong_manager_web_war_exploded.xml b/.idea/artifacts/manong_manager_web_war_exploded.xml deleted file mode 100644 index a8a763a..0000000 --- a/.idea/artifacts/manong_manager_web_war_exploded.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - $PROJECT_DIR$/manong_manager/manong_manager_web/target/manong_manager_web-1.0-SNAPSHOT - - - true - manong_manager_web - war - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/artifacts/manong_portal_war.xml b/.idea/artifacts/manong_portal_war.xml deleted file mode 100644 index a5d9212..0000000 --- a/.idea/artifacts/manong_portal_war.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - $PROJECT_DIR$/manong_portal/target - - - manong_portal - war - - - - - - - \ No newline at end of file diff --git a/.idea/artifacts/manong_portal_war_exploded.xml b/.idea/artifacts/manong_portal_war_exploded.xml deleted file mode 100644 index 8e142ca..0000000 --- a/.idea/artifacts/manong_portal_war_exploded.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - $PROJECT_DIR$/manong_portal/target/manong_portal-1.0-SNAPSHOT - - - true - manong_portal - war - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/artifacts/manong_rest_war.xml b/.idea/artifacts/manong_rest_war.xml deleted file mode 100644 index 9bc70c4..0000000 --- a/.idea/artifacts/manong_rest_war.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - $PROJECT_DIR$/manong_rest/target - - - manong_rest - war - - - - - - - \ No newline at end of file diff --git a/.idea/artifacts/manong_rest_war_exploded.xml b/.idea/artifacts/manong_rest_war_exploded.xml deleted file mode 100644 index c6f288e..0000000 --- a/.idea/artifacts/manong_rest_war_exploded.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - $PROJECT_DIR$/manong_rest/target/manong_rest-1.0-SNAPSHOT - - - true - manong_rest - war - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml deleted file mode 100644 index bf8c80f..0000000 --- a/.idea/compiler.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml deleted file mode 100644 index 5a98ada..0000000 --- a/.idea/encodings.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml b/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml deleted file mode 100644 index 30ff5cb..0000000 --- a/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_alibaba_druid_1_0_9.xml b/.idea/libraries/Maven__com_alibaba_druid_1_0_9.xml deleted file mode 100644 index a533418..0000000 --- a/.idea/libraries/Maven__com_alibaba_druid_1_0_9.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_baidu_ueditor_1_1_2.xml b/.idea/libraries/Maven__com_baidu_ueditor_1_1_2.xml deleted file mode 100644 index e4f3945..0000000 --- a/.idea/libraries/Maven__com_baidu_ueditor_1_1_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml deleted file mode 100644 index 06441f4..0000000 --- a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_9_8.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_9_8.xml deleted file mode 100644 index 2c9ac2a..0000000 --- a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_9_8.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_9_8.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_9_8.xml deleted file mode 100644 index c8ac135..0000000 --- a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_9_8.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_4.xml b/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_4.xml deleted file mode 100644 index 01dedb4..0000000 --- a/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_pagehelper_pagehelper_4_1_1.xml b/.idea/libraries/Maven__com_github_pagehelper_pagehelper_4_1_1.xml deleted file mode 100644 index 7ec0235..0000000 --- a/.idea/libraries/Maven__com_github_pagehelper_pagehelper_4_1_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_code_gson_gson_2_7.xml b/.idea/libraries/Maven__com_google_code_gson_gson_2_7.xml deleted file mode 100644 index 59098ba..0000000 --- a/.idea/libraries/Maven__com_google_code_gson_gson_2_7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_json_json_1_1.xml b/.idea/libraries/Maven__com_json_json_1_1.xml deleted file mode 100644 index 6c3cc2c..0000000 --- a/.idea/libraries/Maven__com_json_json_1_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_codec_commons_codec_1_6.xml b/.idea/libraries/Maven__commons_codec_commons_codec_1_6.xml deleted file mode 100644 index e8a6a9f..0000000 --- a/.idea/libraries/Maven__commons_codec_commons_codec_1_6.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_4.xml b/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_4.xml deleted file mode 100644 index 3b9dcc0..0000000 --- a/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_io_commons_io_2_2.xml b/.idea/libraries/Maven__commons_io_commons_io_2_2.xml deleted file mode 100644 index f8084ec..0000000 --- a/.idea/libraries/Maven__commons_io_commons_io_2_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml b/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml deleted file mode 100644 index eab40b3..0000000 --- a/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_net_commons_net_3_3.xml b/.idea/libraries/Maven__commons_net_commons_net_3_3.xml deleted file mode 100644 index 6844bee..0000000 --- a/.idea/libraries/Maven__commons_net_commons_net_3_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_servlet_servlet_api_2_5.xml b/.idea/libraries/Maven__javax_servlet_servlet_api_2_5.xml deleted file mode 100644 index 679e09a..0000000 --- a/.idea/libraries/Maven__javax_servlet_servlet_api_2_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_32.xml b/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_32.xml deleted file mode 100644 index 004138c..0000000 --- a/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_32.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_1.xml b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_1.xml deleted file mode 100644 index 32bfe3b..0000000 --- a/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_7.xml b/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_7.xml deleted file mode 100644 index 18d2e57..0000000 --- a/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_11.xml b/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_11.xml deleted file mode 100644 index e5fd71a..0000000 --- a/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_11.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_4.xml b/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_4.xml deleted file mode 100644 index 94a4132..0000000 --- a/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_csource_fastdfs_client_java_1_27_SNAPSHOT.xml b/.idea/libraries/Maven__org_csource_fastdfs_client_java_1_27_SNAPSHOT.xml deleted file mode 100644 index 381d8a8..0000000 --- a/.idea/libraries/Maven__org_csource_fastdfs_client_java_1_27_SNAPSHOT.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_freemarker_freemarker_2_3_28.xml b/.idea/libraries/Maven__org_freemarker_freemarker_2_3_28.xml deleted file mode 100644 index 3471c5b..0000000 --- a/.idea/libraries/Maven__org_freemarker_freemarker_2_3_28.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_mybatis_3_2_8.xml b/.idea/libraries/Maven__org_mybatis_mybatis_3_2_8.xml deleted file mode 100644 index 956e478..0000000 --- a/.idea/libraries/Maven__org_mybatis_mybatis_3_2_8.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_2_2.xml b/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_2_2.xml deleted file mode 100644 index 8828a9a..0000000 --- a/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_2_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_aop_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_aop_4_1_3_RELEASE.xml deleted file mode 100644 index 5ad17a5..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_aop_4_1_3_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_aspects_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_aspects_4_1_3_RELEASE.xml deleted file mode 100644 index 838787d..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_aspects_4_1_3_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_beans_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_beans_4_1_3_RELEASE.xml deleted file mode 100644 index e399d68..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_beans_4_1_3_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_context_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_context_4_1_3_RELEASE.xml deleted file mode 100644 index 955ceee..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_context_4_1_3_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_context_support_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_context_support_4_1_3_RELEASE.xml deleted file mode 100644 index 404c0ae..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_context_support_4_1_3_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_core_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_core_4_1_3_RELEASE.xml deleted file mode 100644 index 8d25b60..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_core_4_1_3_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_expression_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_expression_4_1_3_RELEASE.xml deleted file mode 100644 index a85cdaf..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_expression_4_1_3_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_jdbc_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_jdbc_4_1_3_RELEASE.xml deleted file mode 100644 index 6b6ad8e..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_jdbc_4_1_3_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_tx_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_tx_4_1_3_RELEASE.xml deleted file mode 100644 index 87e3876..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_tx_4_1_3_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_web_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_web_4_1_3_RELEASE.xml deleted file mode 100644 index 28a4ce5..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_web_4_1_3_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_webmvc_4_1_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_webmvc_4_1_3_RELEASE.xml deleted file mode 100644 index 60e13b8..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_webmvc_4_1_3_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/manong_common_1_0_SNAPSHOT.xml b/.idea/libraries/manong_common_1_0_SNAPSHOT.xml deleted file mode 100644 index c45fc7a..0000000 --- a/.idea/libraries/manong_common_1_0_SNAPSHOT.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 05d877e..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index b114828..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1dd..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml deleted file mode 100644 index 6e8e263..0000000 --- a/.idea/workspace.xml +++ /dev/null @@ -1,487 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - select - - distinct - - - from product_category - - - - - order by ${orderByClause} - - - - - delete from product_category - where id = #{id,jdbcType=SMALLINT} - - - delete from product_category - - - - - - insert into product_category (id, name, sorderorder, - status, parent_id) - values (#{id,jdbcType=SMALLINT}, #{name,jdbcType=VARCHAR}, #{sorderorder,jdbcType=SMALLINT}, - #{status,jdbcType=TINYINT}, #{parentId,jdbcType=SMALLINT}) - - - insert into product_category - - - id, - - - name, - - - sorderorder, - - - status, - - - parent_id, - - - - - #{id,jdbcType=SMALLINT}, - - - #{name,jdbcType=VARCHAR}, - - - #{sorderorder,jdbcType=SMALLINT}, - - - #{status,jdbcType=TINYINT}, - - - #{parentId,jdbcType=SMALLINT}, - - - - - - update product_category - - - id = #{record.id,jdbcType=SMALLINT}, - - - name = #{record.name,jdbcType=VARCHAR}, - - - sorderorder = #{record.sorderorder,jdbcType=SMALLINT}, - - - status = #{record.status,jdbcType=TINYINT}, - - - parent_id = #{record.parentId,jdbcType=SMALLINT}, - - - - - - - - update product_category - set id = #{record.id,jdbcType=SMALLINT}, - name = #{record.name,jdbcType=VARCHAR}, - sorderorder = #{record.sorderorder,jdbcType=SMALLINT}, - status = #{record.status,jdbcType=TINYINT}, - parent_id = #{record.parentId,jdbcType=SMALLINT} - - - - - - update product_category - - - name = #{name,jdbcType=VARCHAR}, - - - sorderorder = #{sorderorder,jdbcType=SMALLINT}, - - - status = #{status,jdbcType=TINYINT}, - - - parent_id = #{parentId,jdbcType=SMALLINT}, - - - where id = #{id,jdbcType=SMALLINT} - - - update product_category - set name = #{name,jdbcType=VARCHAR}, - sorderorder = #{sorderorder,jdbcType=SMALLINT}, - status = #{status,jdbcType=TINYINT}, - parent_id = #{parentId,jdbcType=SMALLINT} - where id = #{id,jdbcType=SMALLINT} - - \ No newline at end of file diff --git a/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductMapper.java b/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductMapper.java deleted file mode 100644 index 673c5ce..0000000 --- a/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductMapper.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.manong.mapper; - -import com.manong.pojo.Product; -import com.manong.pojo.ProductExample; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -public interface ProductMapper { - int countByExample(ProductExample example); - - int deleteByExample(ProductExample example); - - int deleteByPrimaryKey(Integer id); - - int insert(Product record); - - int insertSelective(Product record); - - List selectByExample(ProductExample example); - - Product selectByPrimaryKey(Integer id); - - int updateByExampleSelective(@Param("record") Product record, @Param("example") ProductExample example); - - int updateByExample(@Param("record") Product record, @Param("example") ProductExample example); - - int updateByPrimaryKeySelective(Product record); - - int updateByPrimaryKey(Product record); -} \ No newline at end of file diff --git a/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductMapper.xml b/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductMapper.xml deleted file mode 100644 index ef9b9c3..0000000 --- a/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductMapper.xml +++ /dev/null @@ -1,275 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - id, category_id, name, image, maket_price, price, status, description, product_number - - - - - delete from product - where id = #{id,jdbcType=INTEGER} - - - delete from product - - - - - - insert into product (id, category_id, name, - image, maket_price, price, - status, description, product_number - ) - values (#{id,jdbcType=INTEGER}, #{categoryId,jdbcType=SMALLINT}, #{name,jdbcType=VARCHAR}, - #{image,jdbcType=VARCHAR}, #{maketPrice,jdbcType=DECIMAL}, #{price,jdbcType=DECIMAL}, - #{status,jdbcType=TINYINT}, #{description,jdbcType=VARCHAR}, #{productNumber,jdbcType=VARCHAR} - ) - - - insert into product - - - id, - - - category_id, - - - name, - - - image, - - - maket_price, - - - price, - - - status, - - - description, - - - product_number, - - - - - #{id,jdbcType=INTEGER}, - - - #{categoryId,jdbcType=SMALLINT}, - - - #{name,jdbcType=VARCHAR}, - - - #{image,jdbcType=VARCHAR}, - - - #{maketPrice,jdbcType=DECIMAL}, - - - #{price,jdbcType=DECIMAL}, - - - #{status,jdbcType=TINYINT}, - - - #{description,jdbcType=VARCHAR}, - - - #{productNumber,jdbcType=VARCHAR}, - - - - - - update product - - - id = #{record.id,jdbcType=INTEGER}, - - - category_id = #{record.categoryId,jdbcType=SMALLINT}, - - - name = #{record.name,jdbcType=VARCHAR}, - - - image = #{record.image,jdbcType=VARCHAR}, - - - maket_price = #{record.maketPrice,jdbcType=DECIMAL}, - - - price = #{record.price,jdbcType=DECIMAL}, - - - status = #{record.status,jdbcType=TINYINT}, - - - description = #{record.description,jdbcType=VARCHAR}, - - - product_number = #{record.productNumber,jdbcType=VARCHAR}, - - - - - - - - update product - set id = #{record.id,jdbcType=INTEGER}, - category_id = #{record.categoryId,jdbcType=SMALLINT}, - name = #{record.name,jdbcType=VARCHAR}, - image = #{record.image,jdbcType=VARCHAR}, - maket_price = #{record.maketPrice,jdbcType=DECIMAL}, - price = #{record.price,jdbcType=DECIMAL}, - status = #{record.status,jdbcType=TINYINT}, - description = #{record.description,jdbcType=VARCHAR}, - product_number = #{record.productNumber,jdbcType=VARCHAR} - - - - - - update product - - - category_id = #{categoryId,jdbcType=SMALLINT}, - - - name = #{name,jdbcType=VARCHAR}, - - - image = #{image,jdbcType=VARCHAR}, - - - maket_price = #{maketPrice,jdbcType=DECIMAL}, - - - price = #{price,jdbcType=DECIMAL}, - - - status = #{status,jdbcType=TINYINT}, - - - description = #{description,jdbcType=VARCHAR}, - - - product_number = #{productNumber,jdbcType=VARCHAR}, - - - where id = #{id,jdbcType=INTEGER} - - - update product - set category_id = #{categoryId,jdbcType=SMALLINT}, - name = #{name,jdbcType=VARCHAR}, - image = #{image,jdbcType=VARCHAR}, - maket_price = #{maketPrice,jdbcType=DECIMAL}, - price = #{price,jdbcType=DECIMAL}, - status = #{status,jdbcType=TINYINT}, - description = #{description,jdbcType=VARCHAR}, - product_number = #{productNumber,jdbcType=VARCHAR} - where id = #{id,jdbcType=INTEGER} - - \ No newline at end of file diff --git a/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/UserMapper.java b/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/UserMapper.java deleted file mode 100644 index 6cabb45..0000000 --- a/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/UserMapper.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.manong.mapper; - -import com.manong.pojo.User; -import com.manong.pojo.UserExample; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -public interface UserMapper { - int countByExample(UserExample example); - - int deleteByExample(UserExample example); - - int deleteByPrimaryKey(Integer id); - - int insert(User record); - - int insertSelective(User record); - - List selectByExample(UserExample example); - - User selectByPrimaryKey(Integer id); - - int updateByExampleSelective(@Param("record") User record, @Param("example") UserExample example); - - int updateByExample(@Param("record") User record, @Param("example") UserExample example); - - int updateByPrimaryKeySelective(User record); - - int updateByPrimaryKey(User record); -} \ No newline at end of file diff --git a/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/UserMapper.xml b/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/UserMapper.xml deleted file mode 100644 index a546841..0000000 --- a/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/UserMapper.xml +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - id, userName - - - - - delete from user - where id = #{id,jdbcType=INTEGER} - - - delete from user - - - - - - insert into user (id, userName) - values (#{id,jdbcType=INTEGER}, #{username,jdbcType=VARCHAR}) - - - insert into user - - - id, - - - userName, - - - - - #{id,jdbcType=INTEGER}, - - - #{username,jdbcType=VARCHAR}, - - - - - - update user - - - id = #{record.id,jdbcType=INTEGER}, - - - userName = #{record.username,jdbcType=VARCHAR}, - - - - - - - - update user - set id = #{record.id,jdbcType=INTEGER}, - userName = #{record.username,jdbcType=VARCHAR} - - - - - - update user - - - userName = #{username,jdbcType=VARCHAR}, - - - where id = #{id,jdbcType=INTEGER} - - - update user - set userName = #{username,jdbcType=VARCHAR} - where id = #{id,jdbcType=INTEGER} - - \ No newline at end of file diff --git a/manong_manager/manong_manager_pojo/pom.xml b/manong_manager/manong_manager_pojo/pom.xml deleted file mode 100644 index 0ca0c77..0000000 --- a/manong_manager/manong_manager_pojo/pom.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - manong_manager - com.kendinghui - 1.0-SNAPSHOT - - 4.0.0 - jar - manong_manager_pojo - - \ No newline at end of file diff --git a/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/Product.java b/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/Product.java deleted file mode 100644 index 2b3c483..0000000 --- a/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/Product.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.manong.pojo; - -public class Product { - private Integer id; - - private Short categoryId; - - private String name; - - private String image; - - private Long maketPrice; - - private Long price; - - private Byte status; - - private String description; - - private String productNumber; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public Short getCategoryId() { - return categoryId; - } - - public void setCategoryId(Short categoryId) { - this.categoryId = categoryId; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name == null ? null : name.trim(); - } - - public String getImage() { - return image; - } - - public void setImage(String image) { - this.image = image == null ? null : image.trim(); - } - - public Long getMaketPrice() { - return maketPrice; - } - - public void setMaketPrice(Long maketPrice) { - this.maketPrice = maketPrice; - } - - public Long getPrice() { - return price; - } - - public void setPrice(Long price) { - this.price = price; - } - - public Byte getStatus() { - return status; - } - - public void setStatus(Byte status) { - this.status = status; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description == null ? null : description.trim(); - } - - public String getProductNumber() { - return productNumber; - } - - public void setProductNumber(String productNumber) { - this.productNumber = productNumber == null ? null : productNumber.trim(); - } -} \ No newline at end of file diff --git a/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/ProductCategory.java b/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/ProductCategory.java deleted file mode 100644 index 6730e27..0000000 --- a/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/ProductCategory.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.manong.pojo; - -public class ProductCategory { - private Short id; - - private String name; - - private Short sorderorder = 999; - - private Byte status = 0; - - private Short parentId = 0; - - public Short getId() { - return id; - } - - public void setId(Short id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name == null ? null : name.trim(); - } - - public Short getSorderorder() { - return sorderorder; - } - - public void setSorderorder(Short sorderorder) { - this.sorderorder = sorderorder; - } - - public Byte getStatus() { - return status; - } - - public void setStatus(Byte status) { - this.status = status; - } - - public Short getParentId() { - return parentId; - } - - public void setParentId(Short parentId) { - this.parentId = parentId; - } -} \ No newline at end of file diff --git a/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/ProductCategoryExample.java b/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/ProductCategoryExample.java deleted file mode 100644 index 47aac2f..0000000 --- a/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/ProductCategoryExample.java +++ /dev/null @@ -1,510 +0,0 @@ -package com.manong.pojo; - -import java.util.ArrayList; -import java.util.List; - -public class ProductCategoryExample { - protected String orderByClause; - - protected boolean distinct; - - protected List oredCriteria; - - public ProductCategoryExample() { - oredCriteria = new ArrayList(); - } - - public void setOrderByClause(String orderByClause) { - this.orderByClause = orderByClause; - } - - public String getOrderByClause() { - return orderByClause; - } - - public void setDistinct(boolean distinct) { - this.distinct = distinct; - } - - public boolean isDistinct() { - return distinct; - } - - public List getOredCriteria() { - return oredCriteria; - } - - public void or(Criteria criteria) { - oredCriteria.add(criteria); - } - - public Criteria or() { - Criteria criteria = createCriteriaInternal(); - oredCriteria.add(criteria); - return criteria; - } - - public Criteria createCriteria() { - Criteria criteria = createCriteriaInternal(); - if (oredCriteria.size() == 0) { - oredCriteria.add(criteria); - } - return criteria; - } - - protected Criteria createCriteriaInternal() { - Criteria criteria = new Criteria(); - return criteria; - } - - public void clear() { - oredCriteria.clear(); - orderByClause = null; - distinct = false; - } - - protected abstract static class GeneratedCriteria { - protected List criteria; - - protected GeneratedCriteria() { - super(); - criteria = new ArrayList(); - } - - public boolean isValid() { - return criteria.size() > 0; - } - - public List getAllCriteria() { - return criteria; - } - - public List getCriteria() { - return criteria; - } - - protected void addCriterion(String condition) { - if (condition == null) { - throw new RuntimeException("Value for condition cannot be null"); - } - criteria.add(new Criterion(condition)); - } - - protected void addCriterion(String condition, Object value, String property) { - if (value == null) { - throw new RuntimeException("Value for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value)); - } - - protected void addCriterion(String condition, Object value1, Object value2, String property) { - if (value1 == null || value2 == null) { - throw new RuntimeException("Between values for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value1, value2)); - } - - public Criteria andIdIsNull() { - addCriterion("id is null"); - return (Criteria) this; - } - - public Criteria andIdIsNotNull() { - addCriterion("id is not null"); - return (Criteria) this; - } - - public Criteria andIdEqualTo(Short value) { - addCriterion("id =", value, "id"); - return (Criteria) this; - } - - public Criteria andIdNotEqualTo(Short value) { - addCriterion("id <>", value, "id"); - return (Criteria) this; - } - - public Criteria andIdGreaterThan(Short value) { - addCriterion("id >", value, "id"); - return (Criteria) this; - } - - public Criteria andIdGreaterThanOrEqualTo(Short value) { - addCriterion("id >=", value, "id"); - return (Criteria) this; - } - - public Criteria andIdLessThan(Short value) { - addCriterion("id <", value, "id"); - return (Criteria) this; - } - - public Criteria andIdLessThanOrEqualTo(Short value) { - addCriterion("id <=", value, "id"); - return (Criteria) this; - } - - public Criteria andIdIn(List values) { - addCriterion("id in", values, "id"); - return (Criteria) this; - } - - public Criteria andIdNotIn(List values) { - addCriterion("id not in", values, "id"); - return (Criteria) this; - } - - public Criteria andIdBetween(Short value1, Short value2) { - addCriterion("id between", value1, value2, "id"); - return (Criteria) this; - } - - public Criteria andIdNotBetween(Short value1, Short value2) { - addCriterion("id not between", value1, value2, "id"); - return (Criteria) this; - } - - public Criteria andNameIsNull() { - addCriterion("name is null"); - return (Criteria) this; - } - - public Criteria andNameIsNotNull() { - addCriterion("name is not null"); - return (Criteria) this; - } - - public Criteria andNameEqualTo(String value) { - addCriterion("name =", value, "name"); - return (Criteria) this; - } - - public Criteria andNameNotEqualTo(String value) { - addCriterion("name <>", value, "name"); - return (Criteria) this; - } - - public Criteria andNameGreaterThan(String value) { - addCriterion("name >", value, "name"); - return (Criteria) this; - } - - public Criteria andNameGreaterThanOrEqualTo(String value) { - addCriterion("name >=", value, "name"); - return (Criteria) this; - } - - public Criteria andNameLessThan(String value) { - addCriterion("name <", value, "name"); - return (Criteria) this; - } - - public Criteria andNameLessThanOrEqualTo(String value) { - addCriterion("name <=", value, "name"); - return (Criteria) this; - } - - public Criteria andNameLike(String value) { - addCriterion("name like", value, "name"); - return (Criteria) this; - } - - public Criteria andNameNotLike(String value) { - addCriterion("name not like", value, "name"); - return (Criteria) this; - } - - public Criteria andNameIn(List values) { - addCriterion("name in", values, "name"); - return (Criteria) this; - } - - public Criteria andNameNotIn(List values) { - addCriterion("name not in", values, "name"); - return (Criteria) this; - } - - public Criteria andNameBetween(String value1, String value2) { - addCriterion("name between", value1, value2, "name"); - return (Criteria) this; - } - - public Criteria andNameNotBetween(String value1, String value2) { - addCriterion("name not between", value1, value2, "name"); - return (Criteria) this; - } - - public Criteria andSorderorderIsNull() { - addCriterion("sorderorder is null"); - return (Criteria) this; - } - - public Criteria andSorderorderIsNotNull() { - addCriterion("sorderorder is not null"); - return (Criteria) this; - } - - public Criteria andSorderorderEqualTo(Short value) { - addCriterion("sorderorder =", value, "sorderorder"); - return (Criteria) this; - } - - public Criteria andSorderorderNotEqualTo(Short value) { - addCriterion("sorderorder <>", value, "sorderorder"); - return (Criteria) this; - } - - public Criteria andSorderorderGreaterThan(Short value) { - addCriterion("sorderorder >", value, "sorderorder"); - return (Criteria) this; - } - - public Criteria andSorderorderGreaterThanOrEqualTo(Short value) { - addCriterion("sorderorder >=", value, "sorderorder"); - return (Criteria) this; - } - - public Criteria andSorderorderLessThan(Short value) { - addCriterion("sorderorder <", value, "sorderorder"); - return (Criteria) this; - } - - public Criteria andSorderorderLessThanOrEqualTo(Short value) { - addCriterion("sorderorder <=", value, "sorderorder"); - return (Criteria) this; - } - - public Criteria andSorderorderIn(List values) { - addCriterion("sorderorder in", values, "sorderorder"); - return (Criteria) this; - } - - public Criteria andSorderorderNotIn(List values) { - addCriterion("sorderorder not in", values, "sorderorder"); - return (Criteria) this; - } - - public Criteria andSorderorderBetween(Short value1, Short value2) { - addCriterion("sorderorder between", value1, value2, "sorderorder"); - return (Criteria) this; - } - - public Criteria andSorderorderNotBetween(Short value1, Short value2) { - addCriterion("sorderorder not between", value1, value2, "sorderorder"); - return (Criteria) this; - } - - public Criteria andStatusIsNull() { - addCriterion("status is null"); - return (Criteria) this; - } - - public Criteria andStatusIsNotNull() { - addCriterion("status is not null"); - return (Criteria) this; - } - - public Criteria andStatusEqualTo(Byte value) { - addCriterion("status =", value, "status"); - return (Criteria) this; - } - - public Criteria andStatusNotEqualTo(Byte value) { - addCriterion("status <>", value, "status"); - return (Criteria) this; - } - - public Criteria andStatusGreaterThan(Byte value) { - addCriterion("status >", value, "status"); - return (Criteria) this; - } - - public Criteria andStatusGreaterThanOrEqualTo(Byte value) { - addCriterion("status >=", value, "status"); - return (Criteria) this; - } - - public Criteria andStatusLessThan(Byte value) { - addCriterion("status <", value, "status"); - return (Criteria) this; - } - - public Criteria andStatusLessThanOrEqualTo(Byte value) { - addCriterion("status <=", value, "status"); - return (Criteria) this; - } - - public Criteria andStatusIn(List values) { - addCriterion("status in", values, "status"); - return (Criteria) this; - } - - public Criteria andStatusNotIn(List values) { - addCriterion("status not in", values, "status"); - return (Criteria) this; - } - - public Criteria andStatusBetween(Byte value1, Byte value2) { - addCriterion("status between", value1, value2, "status"); - return (Criteria) this; - } - - public Criteria andStatusNotBetween(Byte value1, Byte value2) { - addCriterion("status not between", value1, value2, "status"); - return (Criteria) this; - } - - public Criteria andParentIdIsNull() { - addCriterion("parent_id is null"); - return (Criteria) this; - } - - public Criteria andParentIdIsNotNull() { - addCriterion("parent_id is not null"); - return (Criteria) this; - } - - public Criteria andParentIdEqualTo(Short value) { - addCriterion("parent_id =", value, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdNotEqualTo(Short value) { - addCriterion("parent_id <>", value, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdGreaterThan(Short value) { - addCriterion("parent_id >", value, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdGreaterThanOrEqualTo(Short value) { - addCriterion("parent_id >=", value, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdLessThan(Short value) { - addCriterion("parent_id <", value, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdLessThanOrEqualTo(Short value) { - addCriterion("parent_id <=", value, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdIn(List values) { - addCriterion("parent_id in", values, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdNotIn(List values) { - addCriterion("parent_id not in", values, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdBetween(Short value1, Short value2) { - addCriterion("parent_id between", value1, value2, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdNotBetween(Short value1, Short value2) { - addCriterion("parent_id not between", value1, value2, "parentId"); - return (Criteria) this; - } - } - - public static class Criteria extends GeneratedCriteria { - - protected Criteria() { - super(); - } - } - - public static class Criterion { - private String condition; - - private Object value; - - private Object secondValue; - - private boolean noValue; - - private boolean singleValue; - - private boolean betweenValue; - - private boolean listValue; - - private String typeHandler; - - public String getCondition() { - return condition; - } - - public Object getValue() { - return value; - } - - public Object getSecondValue() { - return secondValue; - } - - public boolean isNoValue() { - return noValue; - } - - public boolean isSingleValue() { - return singleValue; - } - - public boolean isBetweenValue() { - return betweenValue; - } - - public boolean isListValue() { - return listValue; - } - - public String getTypeHandler() { - return typeHandler; - } - - protected Criterion(String condition) { - super(); - this.condition = condition; - this.typeHandler = null; - this.noValue = true; - } - - protected Criterion(String condition, Object value, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.typeHandler = typeHandler; - if (value instanceof List) { - this.listValue = true; - } else { - this.singleValue = true; - } - } - - protected Criterion(String condition, Object value) { - this(condition, value, null); - } - - protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.secondValue = secondValue; - this.typeHandler = typeHandler; - this.betweenValue = true; - } - - protected Criterion(String condition, Object value, Object secondValue) { - this(condition, value, secondValue, null); - } - } -} \ No newline at end of file diff --git a/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/ProductExample.java b/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/ProductExample.java deleted file mode 100644 index 4ea090e..0000000 --- a/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/ProductExample.java +++ /dev/null @@ -1,780 +0,0 @@ -package com.manong.pojo; - -import java.util.ArrayList; -import java.util.List; - -public class ProductExample { - protected String orderByClause; - - protected boolean distinct; - - protected List oredCriteria; - - public ProductExample() { - oredCriteria = new ArrayList(); - } - - public void setOrderByClause(String orderByClause) { - this.orderByClause = orderByClause; - } - - public String getOrderByClause() { - return orderByClause; - } - - public void setDistinct(boolean distinct) { - this.distinct = distinct; - } - - public boolean isDistinct() { - return distinct; - } - - public List getOredCriteria() { - return oredCriteria; - } - - public void or(Criteria criteria) { - oredCriteria.add(criteria); - } - - public Criteria or() { - Criteria criteria = createCriteriaInternal(); - oredCriteria.add(criteria); - return criteria; - } - - public Criteria createCriteria() { - Criteria criteria = createCriteriaInternal(); - if (oredCriteria.size() == 0) { - oredCriteria.add(criteria); - } - return criteria; - } - - protected Criteria createCriteriaInternal() { - Criteria criteria = new Criteria(); - return criteria; - } - - public void clear() { - oredCriteria.clear(); - orderByClause = null; - distinct = false; - } - - protected abstract static class GeneratedCriteria { - protected List criteria; - - protected GeneratedCriteria() { - super(); - criteria = new ArrayList(); - } - - public boolean isValid() { - return criteria.size() > 0; - } - - public List getAllCriteria() { - return criteria; - } - - public List getCriteria() { - return criteria; - } - - protected void addCriterion(String condition) { - if (condition == null) { - throw new RuntimeException("Value for condition cannot be null"); - } - criteria.add(new Criterion(condition)); - } - - protected void addCriterion(String condition, Object value, String property) { - if (value == null) { - throw new RuntimeException("Value for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value)); - } - - protected void addCriterion(String condition, Object value1, Object value2, String property) { - if (value1 == null || value2 == null) { - throw new RuntimeException("Between values for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value1, value2)); - } - - public Criteria andIdIsNull() { - addCriterion("id is null"); - return (Criteria) this; - } - - public Criteria andIdIsNotNull() { - addCriterion("id is not null"); - return (Criteria) this; - } - - public Criteria andIdEqualTo(Integer value) { - addCriterion("id =", value, "id"); - return (Criteria) this; - } - - public Criteria andIdNotEqualTo(Integer value) { - addCriterion("id <>", value, "id"); - return (Criteria) this; - } - - public Criteria andIdGreaterThan(Integer value) { - addCriterion("id >", value, "id"); - return (Criteria) this; - } - - public Criteria andIdGreaterThanOrEqualTo(Integer value) { - addCriterion("id >=", value, "id"); - return (Criteria) this; - } - - public Criteria andIdLessThan(Integer value) { - addCriterion("id <", value, "id"); - return (Criteria) this; - } - - public Criteria andIdLessThanOrEqualTo(Integer value) { - addCriterion("id <=", value, "id"); - return (Criteria) this; - } - - public Criteria andIdIn(List values) { - addCriterion("id in", values, "id"); - return (Criteria) this; - } - - public Criteria andIdNotIn(List values) { - addCriterion("id not in", values, "id"); - return (Criteria) this; - } - - public Criteria andIdBetween(Integer value1, Integer value2) { - addCriterion("id between", value1, value2, "id"); - return (Criteria) this; - } - - public Criteria andIdNotBetween(Integer value1, Integer value2) { - addCriterion("id not between", value1, value2, "id"); - return (Criteria) this; - } - - public Criteria andCategoryIdIsNull() { - addCriterion("category_id is null"); - return (Criteria) this; - } - - public Criteria andCategoryIdIsNotNull() { - addCriterion("category_id is not null"); - return (Criteria) this; - } - - public Criteria andCategoryIdEqualTo(Short value) { - addCriterion("category_id =", value, "categoryId"); - return (Criteria) this; - } - - public Criteria andCategoryIdNotEqualTo(Short value) { - addCriterion("category_id <>", value, "categoryId"); - return (Criteria) this; - } - - public Criteria andCategoryIdGreaterThan(Short value) { - addCriterion("category_id >", value, "categoryId"); - return (Criteria) this; - } - - public Criteria andCategoryIdGreaterThanOrEqualTo(Short value) { - addCriterion("category_id >=", value, "categoryId"); - return (Criteria) this; - } - - public Criteria andCategoryIdLessThan(Short value) { - addCriterion("category_id <", value, "categoryId"); - return (Criteria) this; - } - - public Criteria andCategoryIdLessThanOrEqualTo(Short value) { - addCriterion("category_id <=", value, "categoryId"); - return (Criteria) this; - } - - public Criteria andCategoryIdIn(List values) { - addCriterion("category_id in", values, "categoryId"); - return (Criteria) this; - } - - public Criteria andCategoryIdNotIn(List values) { - addCriterion("category_id not in", values, "categoryId"); - return (Criteria) this; - } - - public Criteria andCategoryIdBetween(Short value1, Short value2) { - addCriterion("category_id between", value1, value2, "categoryId"); - return (Criteria) this; - } - - public Criteria andCategoryIdNotBetween(Short value1, Short value2) { - addCriterion("category_id not between", value1, value2, "categoryId"); - return (Criteria) this; - } - - public Criteria andNameIsNull() { - addCriterion("name is null"); - return (Criteria) this; - } - - public Criteria andNameIsNotNull() { - addCriterion("name is not null"); - return (Criteria) this; - } - - public Criteria andNameEqualTo(String value) { - addCriterion("name =", value, "name"); - return (Criteria) this; - } - - public Criteria andNameNotEqualTo(String value) { - addCriterion("name <>", value, "name"); - return (Criteria) this; - } - - public Criteria andNameGreaterThan(String value) { - addCriterion("name >", value, "name"); - return (Criteria) this; - } - - public Criteria andNameGreaterThanOrEqualTo(String value) { - addCriterion("name >=", value, "name"); - return (Criteria) this; - } - - public Criteria andNameLessThan(String value) { - addCriterion("name <", value, "name"); - return (Criteria) this; - } - - public Criteria andNameLessThanOrEqualTo(String value) { - addCriterion("name <=", value, "name"); - return (Criteria) this; - } - - public Criteria andNameLike(String value) { - addCriterion("name like", value, "name"); - return (Criteria) this; - } - - public Criteria andNameNotLike(String value) { - addCriterion("name not like", value, "name"); - return (Criteria) this; - } - - public Criteria andNameIn(List values) { - addCriterion("name in", values, "name"); - return (Criteria) this; - } - - public Criteria andNameNotIn(List values) { - addCriterion("name not in", values, "name"); - return (Criteria) this; - } - - public Criteria andNameBetween(String value1, String value2) { - addCriterion("name between", value1, value2, "name"); - return (Criteria) this; - } - - public Criteria andNameNotBetween(String value1, String value2) { - addCriterion("name not between", value1, value2, "name"); - return (Criteria) this; - } - - public Criteria andImageIsNull() { - addCriterion("image is null"); - return (Criteria) this; - } - - public Criteria andImageIsNotNull() { - addCriterion("image is not null"); - return (Criteria) this; - } - - public Criteria andImageEqualTo(String value) { - addCriterion("image =", value, "image"); - return (Criteria) this; - } - - public Criteria andImageNotEqualTo(String value) { - addCriterion("image <>", value, "image"); - return (Criteria) this; - } - - public Criteria andImageGreaterThan(String value) { - addCriterion("image >", value, "image"); - return (Criteria) this; - } - - public Criteria andImageGreaterThanOrEqualTo(String value) { - addCriterion("image >=", value, "image"); - return (Criteria) this; - } - - public Criteria andImageLessThan(String value) { - addCriterion("image <", value, "image"); - return (Criteria) this; - } - - public Criteria andImageLessThanOrEqualTo(String value) { - addCriterion("image <=", value, "image"); - return (Criteria) this; - } - - public Criteria andImageLike(String value) { - addCriterion("image like", value, "image"); - return (Criteria) this; - } - - public Criteria andImageNotLike(String value) { - addCriterion("image not like", value, "image"); - return (Criteria) this; - } - - public Criteria andImageIn(List values) { - addCriterion("image in", values, "image"); - return (Criteria) this; - } - - public Criteria andImageNotIn(List values) { - addCriterion("image not in", values, "image"); - return (Criteria) this; - } - - public Criteria andImageBetween(String value1, String value2) { - addCriterion("image between", value1, value2, "image"); - return (Criteria) this; - } - - public Criteria andImageNotBetween(String value1, String value2) { - addCriterion("image not between", value1, value2, "image"); - return (Criteria) this; - } - - public Criteria andMaketPriceIsNull() { - addCriterion("maket_price is null"); - return (Criteria) this; - } - - public Criteria andMaketPriceIsNotNull() { - addCriterion("maket_price is not null"); - return (Criteria) this; - } - - public Criteria andMaketPriceEqualTo(Long value) { - addCriterion("maket_price =", value, "maketPrice"); - return (Criteria) this; - } - - public Criteria andMaketPriceNotEqualTo(Long value) { - addCriterion("maket_price <>", value, "maketPrice"); - return (Criteria) this; - } - - public Criteria andMaketPriceGreaterThan(Long value) { - addCriterion("maket_price >", value, "maketPrice"); - return (Criteria) this; - } - - public Criteria andMaketPriceGreaterThanOrEqualTo(Long value) { - addCriterion("maket_price >=", value, "maketPrice"); - return (Criteria) this; - } - - public Criteria andMaketPriceLessThan(Long value) { - addCriterion("maket_price <", value, "maketPrice"); - return (Criteria) this; - } - - public Criteria andMaketPriceLessThanOrEqualTo(Long value) { - addCriterion("maket_price <=", value, "maketPrice"); - return (Criteria) this; - } - - public Criteria andMaketPriceIn(List values) { - addCriterion("maket_price in", values, "maketPrice"); - return (Criteria) this; - } - - public Criteria andMaketPriceNotIn(List values) { - addCriterion("maket_price not in", values, "maketPrice"); - return (Criteria) this; - } - - public Criteria andMaketPriceBetween(Long value1, Long value2) { - addCriterion("maket_price between", value1, value2, "maketPrice"); - return (Criteria) this; - } - - public Criteria andMaketPriceNotBetween(Long value1, Long value2) { - addCriterion("maket_price not between", value1, value2, "maketPrice"); - return (Criteria) this; - } - - public Criteria andPriceIsNull() { - addCriterion("price is null"); - return (Criteria) this; - } - - public Criteria andPriceIsNotNull() { - addCriterion("price is not null"); - return (Criteria) this; - } - - public Criteria andPriceEqualTo(Long value) { - addCriterion("price =", value, "price"); - return (Criteria) this; - } - - public Criteria andPriceNotEqualTo(Long value) { - addCriterion("price <>", value, "price"); - return (Criteria) this; - } - - public Criteria andPriceGreaterThan(Long value) { - addCriterion("price >", value, "price"); - return (Criteria) this; - } - - public Criteria andPriceGreaterThanOrEqualTo(Long value) { - addCriterion("price >=", value, "price"); - return (Criteria) this; - } - - public Criteria andPriceLessThan(Long value) { - addCriterion("price <", value, "price"); - return (Criteria) this; - } - - public Criteria andPriceLessThanOrEqualTo(Long value) { - addCriterion("price <=", value, "price"); - return (Criteria) this; - } - - public Criteria andPriceIn(List values) { - addCriterion("price in", values, "price"); - return (Criteria) this; - } - - public Criteria andPriceNotIn(List values) { - addCriterion("price not in", values, "price"); - return (Criteria) this; - } - - public Criteria andPriceBetween(Long value1, Long value2) { - addCriterion("price between", value1, value2, "price"); - return (Criteria) this; - } - - public Criteria andPriceNotBetween(Long value1, Long value2) { - addCriterion("price not between", value1, value2, "price"); - return (Criteria) this; - } - - public Criteria andStatusIsNull() { - addCriterion("status is null"); - return (Criteria) this; - } - - public Criteria andStatusIsNotNull() { - addCriterion("status is not null"); - return (Criteria) this; - } - - public Criteria andStatusEqualTo(Byte value) { - addCriterion("status =", value, "status"); - return (Criteria) this; - } - - public Criteria andStatusNotEqualTo(Byte value) { - addCriterion("status <>", value, "status"); - return (Criteria) this; - } - - public Criteria andStatusGreaterThan(Byte value) { - addCriterion("status >", value, "status"); - return (Criteria) this; - } - - public Criteria andStatusGreaterThanOrEqualTo(Byte value) { - addCriterion("status >=", value, "status"); - return (Criteria) this; - } - - public Criteria andStatusLessThan(Byte value) { - addCriterion("status <", value, "status"); - return (Criteria) this; - } - - public Criteria andStatusLessThanOrEqualTo(Byte value) { - addCriterion("status <=", value, "status"); - return (Criteria) this; - } - - public Criteria andStatusIn(List values) { - addCriterion("status in", values, "status"); - return (Criteria) this; - } - - public Criteria andStatusNotIn(List values) { - addCriterion("status not in", values, "status"); - return (Criteria) this; - } - - public Criteria andStatusBetween(Byte value1, Byte value2) { - addCriterion("status between", value1, value2, "status"); - return (Criteria) this; - } - - public Criteria andStatusNotBetween(Byte value1, Byte value2) { - addCriterion("status not between", value1, value2, "status"); - return (Criteria) this; - } - - public Criteria andDescriptionIsNull() { - addCriterion("description is null"); - return (Criteria) this; - } - - public Criteria andDescriptionIsNotNull() { - addCriterion("description is not null"); - return (Criteria) this; - } - - public Criteria andDescriptionEqualTo(String value) { - addCriterion("description =", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionNotEqualTo(String value) { - addCriterion("description <>", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionGreaterThan(String value) { - addCriterion("description >", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionGreaterThanOrEqualTo(String value) { - addCriterion("description >=", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionLessThan(String value) { - addCriterion("description <", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionLessThanOrEqualTo(String value) { - addCriterion("description <=", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionLike(String value) { - addCriterion("description like", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionNotLike(String value) { - addCriterion("description not like", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionIn(List values) { - addCriterion("description in", values, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionNotIn(List values) { - addCriterion("description not in", values, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionBetween(String value1, String value2) { - addCriterion("description between", value1, value2, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionNotBetween(String value1, String value2) { - addCriterion("description not between", value1, value2, "description"); - return (Criteria) this; - } - - public Criteria andProductNumberIsNull() { - addCriterion("product_number is null"); - return (Criteria) this; - } - - public Criteria andProductNumberIsNotNull() { - addCriterion("product_number is not null"); - return (Criteria) this; - } - - public Criteria andProductNumberEqualTo(String value) { - addCriterion("product_number =", value, "productNumber"); - return (Criteria) this; - } - - public Criteria andProductNumberNotEqualTo(String value) { - addCriterion("product_number <>", value, "productNumber"); - return (Criteria) this; - } - - public Criteria andProductNumberGreaterThan(String value) { - addCriterion("product_number >", value, "productNumber"); - return (Criteria) this; - } - - public Criteria andProductNumberGreaterThanOrEqualTo(String value) { - addCriterion("product_number >=", value, "productNumber"); - return (Criteria) this; - } - - public Criteria andProductNumberLessThan(String value) { - addCriterion("product_number <", value, "productNumber"); - return (Criteria) this; - } - - public Criteria andProductNumberLessThanOrEqualTo(String value) { - addCriterion("product_number <=", value, "productNumber"); - return (Criteria) this; - } - - public Criteria andProductNumberLike(String value) { - addCriterion("product_number like", value, "productNumber"); - return (Criteria) this; - } - - public Criteria andProductNumberNotLike(String value) { - addCriterion("product_number not like", value, "productNumber"); - return (Criteria) this; - } - - public Criteria andProductNumberIn(List values) { - addCriterion("product_number in", values, "productNumber"); - return (Criteria) this; - } - - public Criteria andProductNumberNotIn(List values) { - addCriterion("product_number not in", values, "productNumber"); - return (Criteria) this; - } - - public Criteria andProductNumberBetween(String value1, String value2) { - addCriterion("product_number between", value1, value2, "productNumber"); - return (Criteria) this; - } - - public Criteria andProductNumberNotBetween(String value1, String value2) { - addCriterion("product_number not between", value1, value2, "productNumber"); - return (Criteria) this; - } - } - - public static class Criteria extends GeneratedCriteria { - - protected Criteria() { - super(); - } - } - - public static class Criterion { - private String condition; - - private Object value; - - private Object secondValue; - - private boolean noValue; - - private boolean singleValue; - - private boolean betweenValue; - - private boolean listValue; - - private String typeHandler; - - public String getCondition() { - return condition; - } - - public Object getValue() { - return value; - } - - public Object getSecondValue() { - return secondValue; - } - - public boolean isNoValue() { - return noValue; - } - - public boolean isSingleValue() { - return singleValue; - } - - public boolean isBetweenValue() { - return betweenValue; - } - - public boolean isListValue() { - return listValue; - } - - public String getTypeHandler() { - return typeHandler; - } - - protected Criterion(String condition) { - super(); - this.condition = condition; - this.typeHandler = null; - this.noValue = true; - } - - protected Criterion(String condition, Object value, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.typeHandler = typeHandler; - if (value instanceof List) { - this.listValue = true; - } else { - this.singleValue = true; - } - } - - protected Criterion(String condition, Object value) { - this(condition, value, null); - } - - protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.secondValue = secondValue; - this.typeHandler = typeHandler; - this.betweenValue = true; - } - - protected Criterion(String condition, Object value, Object secondValue) { - this(condition, value, secondValue, null); - } - } -} \ No newline at end of file diff --git a/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/User.java b/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/User.java deleted file mode 100644 index 85598b3..0000000 --- a/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/User.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.manong.pojo; - -public class User { - private Integer id; - - private String username; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username == null ? null : username.trim(); - } -} \ No newline at end of file diff --git a/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/UserExample.java b/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/UserExample.java deleted file mode 100644 index 4ca71eb..0000000 --- a/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/UserExample.java +++ /dev/null @@ -1,330 +0,0 @@ -package com.manong.pojo; - -import java.util.ArrayList; -import java.util.List; - -public class UserExample { - protected String orderByClause; - - protected boolean distinct; - - protected List oredCriteria; - - public UserExample() { - oredCriteria = new ArrayList(); - } - - public void setOrderByClause(String orderByClause) { - this.orderByClause = orderByClause; - } - - public String getOrderByClause() { - return orderByClause; - } - - public void setDistinct(boolean distinct) { - this.distinct = distinct; - } - - public boolean isDistinct() { - return distinct; - } - - public List getOredCriteria() { - return oredCriteria; - } - - public void or(Criteria criteria) { - oredCriteria.add(criteria); - } - - public Criteria or() { - Criteria criteria = createCriteriaInternal(); - oredCriteria.add(criteria); - return criteria; - } - - public Criteria createCriteria() { - Criteria criteria = createCriteriaInternal(); - if (oredCriteria.size() == 0) { - oredCriteria.add(criteria); - } - return criteria; - } - - protected Criteria createCriteriaInternal() { - Criteria criteria = new Criteria(); - return criteria; - } - - public void clear() { - oredCriteria.clear(); - orderByClause = null; - distinct = false; - } - - protected abstract static class GeneratedCriteria { - protected List criteria; - - protected GeneratedCriteria() { - super(); - criteria = new ArrayList(); - } - - public boolean isValid() { - return criteria.size() > 0; - } - - public List getAllCriteria() { - return criteria; - } - - public List getCriteria() { - return criteria; - } - - protected void addCriterion(String condition) { - if (condition == null) { - throw new RuntimeException("Value for condition cannot be null"); - } - criteria.add(new Criterion(condition)); - } - - protected void addCriterion(String condition, Object value, String property) { - if (value == null) { - throw new RuntimeException("Value for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value)); - } - - protected void addCriterion(String condition, Object value1, Object value2, String property) { - if (value1 == null || value2 == null) { - throw new RuntimeException("Between values for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value1, value2)); - } - - public Criteria andIdIsNull() { - addCriterion("id is null"); - return (Criteria) this; - } - - public Criteria andIdIsNotNull() { - addCriterion("id is not null"); - return (Criteria) this; - } - - public Criteria andIdEqualTo(Integer value) { - addCriterion("id =", value, "id"); - return (Criteria) this; - } - - public Criteria andIdNotEqualTo(Integer value) { - addCriterion("id <>", value, "id"); - return (Criteria) this; - } - - public Criteria andIdGreaterThan(Integer value) { - addCriterion("id >", value, "id"); - return (Criteria) this; - } - - public Criteria andIdGreaterThanOrEqualTo(Integer value) { - addCriterion("id >=", value, "id"); - return (Criteria) this; - } - - public Criteria andIdLessThan(Integer value) { - addCriterion("id <", value, "id"); - return (Criteria) this; - } - - public Criteria andIdLessThanOrEqualTo(Integer value) { - addCriterion("id <=", value, "id"); - return (Criteria) this; - } - - public Criteria andIdIn(List values) { - addCriterion("id in", values, "id"); - return (Criteria) this; - } - - public Criteria andIdNotIn(List values) { - addCriterion("id not in", values, "id"); - return (Criteria) this; - } - - public Criteria andIdBetween(Integer value1, Integer value2) { - addCriterion("id between", value1, value2, "id"); - return (Criteria) this; - } - - public Criteria andIdNotBetween(Integer value1, Integer value2) { - addCriterion("id not between", value1, value2, "id"); - return (Criteria) this; - } - - public Criteria andUsernameIsNull() { - addCriterion("userName is null"); - return (Criteria) this; - } - - public Criteria andUsernameIsNotNull() { - addCriterion("userName is not null"); - return (Criteria) this; - } - - public Criteria andUsernameEqualTo(String value) { - addCriterion("userName =", value, "username"); - return (Criteria) this; - } - - public Criteria andUsernameNotEqualTo(String value) { - addCriterion("userName <>", value, "username"); - return (Criteria) this; - } - - public Criteria andUsernameGreaterThan(String value) { - addCriterion("userName >", value, "username"); - return (Criteria) this; - } - - public Criteria andUsernameGreaterThanOrEqualTo(String value) { - addCriterion("userName >=", value, "username"); - return (Criteria) this; - } - - public Criteria andUsernameLessThan(String value) { - addCriterion("userName <", value, "username"); - return (Criteria) this; - } - - public Criteria andUsernameLessThanOrEqualTo(String value) { - addCriterion("userName <=", value, "username"); - return (Criteria) this; - } - - public Criteria andUsernameLike(String value) { - addCriterion("userName like", value, "username"); - return (Criteria) this; - } - - public Criteria andUsernameNotLike(String value) { - addCriterion("userName not like", value, "username"); - return (Criteria) this; - } - - public Criteria andUsernameIn(List values) { - addCriterion("userName in", values, "username"); - return (Criteria) this; - } - - public Criteria andUsernameNotIn(List values) { - addCriterion("userName not in", values, "username"); - return (Criteria) this; - } - - public Criteria andUsernameBetween(String value1, String value2) { - addCriterion("userName between", value1, value2, "username"); - return (Criteria) this; - } - - public Criteria andUsernameNotBetween(String value1, String value2) { - addCriterion("userName not between", value1, value2, "username"); - return (Criteria) this; - } - } - - public static class Criteria extends GeneratedCriteria { - - protected Criteria() { - super(); - } - } - - public static class Criterion { - private String condition; - - private Object value; - - private Object secondValue; - - private boolean noValue; - - private boolean singleValue; - - private boolean betweenValue; - - private boolean listValue; - - private String typeHandler; - - public String getCondition() { - return condition; - } - - public Object getValue() { - return value; - } - - public Object getSecondValue() { - return secondValue; - } - - public boolean isNoValue() { - return noValue; - } - - public boolean isSingleValue() { - return singleValue; - } - - public boolean isBetweenValue() { - return betweenValue; - } - - public boolean isListValue() { - return listValue; - } - - public String getTypeHandler() { - return typeHandler; - } - - protected Criterion(String condition) { - super(); - this.condition = condition; - this.typeHandler = null; - this.noValue = true; - } - - protected Criterion(String condition, Object value, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.typeHandler = typeHandler; - if (value instanceof List) { - this.listValue = true; - } else { - this.singleValue = true; - } - } - - protected Criterion(String condition, Object value) { - this(condition, value, null); - } - - protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.secondValue = secondValue; - this.typeHandler = typeHandler; - this.betweenValue = true; - } - - protected Criterion(String condition, Object value, Object secondValue) { - this(condition, value, secondValue, null); - } - } -} \ No newline at end of file diff --git a/manong_manager/manong_manager_service/pom.xml b/manong_manager/manong_manager_service/pom.xml deleted file mode 100644 index d1e88c7..0000000 --- a/manong_manager/manong_manager_service/pom.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - manong_manager - com.kendinghui - 1.0-SNAPSHOT - - 4.0.0 - jar - manong_manager_service - - - - com.kendinghui - manong_manager_mapper - 1.0-SNAPSHOT - - - - org.springframework - spring-context - - - - org.springframework - spring-jdbc - - - - org.springframework - spring-aspects - - - - org.springframework - spring-webmvc - - - - org.springframework - spring-beans - - - - com.kendinghui - manong_common - 1.0-SNAPSHOT - - - - com.github.pagehelper - pagehelper - - - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_service/src/main/java/com/manong/service/ProductCategoryService.java b/manong_manager/manong_manager_service/src/main/java/com/manong/service/ProductCategoryService.java deleted file mode 100644 index 1ed4ea1..0000000 --- a/manong_manager/manong_manager_service/src/main/java/com/manong/service/ProductCategoryService.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.manong.service; - - -import pojo.EasyUITree; -import pojo.ResponseJsonResult; - -import java.util.List; - -/** - * Created by wistbean on 2018/10/2. - */ -public interface ProductCategoryService { - - List findProductCategoryListByParentId(Short parentid); - - ResponseJsonResult addCategory(Short parentid, String name); - - ResponseJsonResult deleteCategory(Short parentid,Short id); - - - -} diff --git a/manong_manager/manong_manager_service/src/main/java/com/manong/service/ProductService.java b/manong_manager/manong_manager_service/src/main/java/com/manong/service/ProductService.java deleted file mode 100644 index aad7a35..0000000 --- a/manong_manager/manong_manager_service/src/main/java/com/manong/service/ProductService.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.manong.service; - -import com.manong.pojo.Product; -import pojo.EasyGrid; -import pojo.ResponseJsonResult; - -/** - * Created by wistbean on 2019/1/5. - */ -public interface ProductService { - ResponseJsonResult saveProduct(Product product); - EasyGrid listProduct(int pages,int rows); -} diff --git a/manong_manager/manong_manager_service/src/main/java/com/manong/service/UserService.java b/manong_manager/manong_manager_service/src/main/java/com/manong/service/UserService.java deleted file mode 100644 index 01d0b15..0000000 --- a/manong_manager/manong_manager_service/src/main/java/com/manong/service/UserService.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.manong.service; - -import com.manong.pojo.User; - -/** - * Created by wistbean on 2018/9/6. - */ -public interface UserService { - - User getUserById(Integer id); -} diff --git a/manong_manager/manong_manager_service/src/main/java/com/manong/service/impl/ProductCategoryServiceImpl.java b/manong_manager/manong_manager_service/src/main/java/com/manong/service/impl/ProductCategoryServiceImpl.java deleted file mode 100644 index c580938..0000000 --- a/manong_manager/manong_manager_service/src/main/java/com/manong/service/impl/ProductCategoryServiceImpl.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.manong.service.impl; - -import com.manong.mapper.ProductCategoryMapper; -import com.manong.pojo.ProductCategory; -import com.manong.pojo.ProductCategoryExample; -import com.manong.service.ProductCategoryService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import pojo.EasyUITree; -import pojo.ResponseJsonResult; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by wistbean on 2018/10/2. - */ -@Service -public class ProductCategoryServiceImpl implements ProductCategoryService { - - @Autowired - private ProductCategoryMapper productCategoryMapper; - - @Override - public List findProductCategoryListByParentId(Short parentid) { - - ProductCategoryExample productCategoryExample = new ProductCategoryExample(); - ProductCategoryExample.Criteria criteria = productCategoryExample.createCriteria(); - criteria.andParentIdEqualTo(parentid); - List productCategoryList = productCategoryMapper.selectByExample(productCategoryExample); - - List easyUITrees = new ArrayList<>(productCategoryList.size()); - - for (ProductCategory productCategory:productCategoryList) { - - EasyUITree easyuiTree = new EasyUITree(); - - easyuiTree.setId(productCategory.getId()); - easyuiTree.setText(productCategory.getName()); - easyuiTree.setState(productCategory.getParentId()==0?"closed":"open"); - easyuiTree.setAttributes(productCategory.getParentId()+""); - - easyUITrees.add(easyuiTree); - } - - return easyUITrees; - } - - @Override - public ResponseJsonResult addCategory(Short parentid, String name) { - - ProductCategory productCategory = new ProductCategory(); - productCategory.setParentId(parentid); - productCategory.setName(name); - - productCategoryMapper.insert(productCategory); - - ResponseJsonResult responseJsonResult = new ResponseJsonResult(); - responseJsonResult.setMsg(productCategory.getId()+""); - - return responseJsonResult; - } - - @Override - public ResponseJsonResult deleteCategory(Short parentid, Short id) { - - ProductCategoryExample productCategoryExample = new ProductCategoryExample(); - ProductCategoryExample.Criteria criteria = productCategoryExample.createCriteria(); - - if(parentid == 0){ - criteria.andIdEqualTo(id); - ProductCategoryExample.Criteria criteria1 = productCategoryExample.createCriteria(); - criteria1.andParentIdEqualTo(id); - productCategoryExample.or(criteria1); - }else{ - criteria.andIdEqualTo(id); - } - - productCategoryMapper.deleteByExample(productCategoryExample); - - ResponseJsonResult responseJsonResult = new ResponseJsonResult(); - responseJsonResult.setStatus(200); - responseJsonResult.setMsg("success"); - - return responseJsonResult; - } -} diff --git a/manong_manager/manong_manager_service/src/main/java/com/manong/service/impl/ProductServiceImpl.java b/manong_manager/manong_manager_service/src/main/java/com/manong/service/impl/ProductServiceImpl.java deleted file mode 100644 index 39eab43..0000000 --- a/manong_manager/manong_manager_service/src/main/java/com/manong/service/impl/ProductServiceImpl.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.manong.service.impl; - -import com.github.pagehelper.PageHelper; -import com.github.pagehelper.PageInfo; -import com.manong.mapper.ProductMapper; -import com.manong.pojo.Product; -import com.manong.pojo.ProductExample; -import com.manong.service.ProductService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import pojo.EasyGrid; -import pojo.ResponseJsonResult; - -import java.util.List; - -/** - * Created by wistbean on 2019/1/5. - */ -@Service -public class ProductServiceImpl implements ProductService { - - @Autowired - ProductMapper productMapper; - - @Override - public ResponseJsonResult saveProduct(Product product) { - - product.setStatus((byte) 1); - productMapper.insert(product); - - ResponseJsonResult responseJsonResult = new ResponseJsonResult(); - responseJsonResult.setStatus(200); - - return responseJsonResult; - } - - @Override - public EasyGrid listProduct(int pages, int rows) { - - ProductExample productExample = new ProductExample(); - PageHelper.startPage(pages,rows); - List productList = productMapper.selectByExample(productExample); - - PageInfo pageInfo = new PageInfo<>(productList); - - EasyGrid easyGrid = new EasyGrid(); - easyGrid.setTotal((int) pageInfo.getTotal()); - easyGrid.setRows(productList); - - return easyGrid; - } -} diff --git a/manong_manager/manong_manager_service/src/main/java/com/manong/service/impl/UserServiceImpl.java b/manong_manager/manong_manager_service/src/main/java/com/manong/service/impl/UserServiceImpl.java deleted file mode 100644 index 3c491df..0000000 --- a/manong_manager/manong_manager_service/src/main/java/com/manong/service/impl/UserServiceImpl.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.manong.service.impl; - -import com.manong.mapper.UserMapper; -import com.manong.pojo.User; -import com.manong.pojo.UserExample; -import com.manong.service.UserService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * Created by wistbean on 2018/9/6. - */ -@Service -public class UserServiceImpl implements UserService { - - @Autowired - UserMapper userMapper; - - @Override - public User getUserById(Integer id) { - - UserExample userExample = new UserExample(); - UserExample.Criteria criteria = userExample.createCriteria(); - criteria.andIdEqualTo(id); - - List userList = userMapper.selectByExample(userExample); - - if(userList!=null){ - return userList.get(0); - } - - return null; - } -} diff --git a/manong_manager/manong_manager_web/pom.xml b/manong_manager/manong_manager_web/pom.xml deleted file mode 100644 index 4f2bbdf..0000000 --- a/manong_manager/manong_manager_web/pom.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - manong_manager - com.kendinghui - 1.0-SNAPSHOT - - 4.0.0 - war - manong_manager_web - - - - com.kendinghui - manong_manager_service - 1.0-SNAPSHOT - - - - org.csource - fastdfs-client-java - - - - commons-fileupload - commons-fileupload - - - - commons-io - commons-io - - - - org.apache.commons - commons-lang3 - - - - commons-codec - commons-codec - - - - com.json - json - - - - com.baidu - ueditor - - - - org.freemarker - freemarker - - - - org.springframework - spring-context-support - - - - javax.servlet - servlet-api - provided - - - - - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/java/com/manong/controller/FileController.java b/manong_manager/manong_manager_web/src/main/java/com/manong/controller/FileController.java deleted file mode 100644 index e94c5e3..0000000 --- a/manong_manager/manong_manager_web/src/main/java/com/manong/controller/FileController.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.manong.controller; - -import com.manong.fastdfs.FastDFSClient; -import org.springframework.stereotype.Controller; -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 java.io.IOException; - -/** - * Created by wistbean on 2018/11/29. - */ -@Controller -public class FileController { - - @RequestMapping(value = "uploadfile",method = RequestMethod.POST) - @ResponseBody - public String fileupload(@RequestParam MultipartFile uploadfile) throws IOException { - String fileID = FastDFSClient.uploadFile(uploadfile.getInputStream(), uploadfile.getOriginalFilename()); - if(fileID!=null){ - System.out.print("上传文件成功"); - } - return fileID; - - } -} diff --git a/manong_manager/manong_manager_web/src/main/java/com/manong/controller/FreemarkerTest.java b/manong_manager/manong_manager_web/src/main/java/com/manong/controller/FreemarkerTest.java deleted file mode 100644 index a5c4042..0000000 --- a/manong_manager/manong_manager_web/src/main/java/com/manong/controller/FreemarkerTest.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.manong.controller; - -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.RequestMapping; - -/** - * Created by wistbean on 2018/12/12. - */ -@Controller -public class FreemarkerTest { - - @RequestMapping("/hello") - public String sayHello(Model model){ - - model.addAttribute("name","wistbean"); - return "hello"; - - } - - @RequestMapping("/hi") - public String sayHi(Model model){ - - model.addAttribute("name","wistbean"); - return "hi"; - - } -} diff --git a/manong_manager/manong_manager_web/src/main/java/com/manong/controller/PageController.java b/manong_manager/manong_manager_web/src/main/java/com/manong/controller/PageController.java deleted file mode 100644 index aa1634e..0000000 --- a/manong_manager/manong_manager_web/src/main/java/com/manong/controller/PageController.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.manong.controller; - -import com.manong.service.ProductCategoryService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import pojo.EasyUITree; - -import javax.servlet.http.HttpServletRequest; -import java.util.List; - -/** - * Created by wistbean on 2018/10/2. - * 页面管理控制器 - */ -@Controller -public class PageController { - - - @Autowired - ProductCategoryService productCategoryService; - - @RequestMapping("/{page}") - public String requestPage(@PathVariable String page){ - return page; - } - - @RequestMapping("/") - public String requestIndex(){ - return "index"; - } - - @RequestMapping("/product_add") - public String requestProductAdd(HttpServletRequest request){ - List categories = productCategoryService.findProductCategoryListByParentId((short) 0); - request.getSession().setAttribute("categories",categories); - return "product_add"; - } - -} diff --git a/manong_manager/manong_manager_web/src/main/java/com/manong/controller/ProductCategoryController.java b/manong_manager/manong_manager_web/src/main/java/com/manong/controller/ProductCategoryController.java deleted file mode 100644 index c0f157d..0000000 --- a/manong_manager/manong_manager_web/src/main/java/com/manong/controller/ProductCategoryController.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.manong.controller; - -import com.manong.service.ProductCategoryService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; -import pojo.EasyUITree; -import pojo.ResponseJsonResult; - -import java.util.List; - -/** - * Created by wistbean on 2018/10/2. - * 商品分类管理控制器 - */ -@Controller -@RequestMapping("/product_category") -public class ProductCategoryController { - - @Autowired - ProductCategoryService productCategoryService; - - /** - * 根据parentid返回数据列表 - */ - @RequestMapping("/list") - @ResponseBody - public List getProductCategoryByParentId(@RequestParam(value = "id", defaultValue = "0") Short - parentId) { - List easyUITrees = productCategoryService.findProductCategoryListByParentId(parentId); - return easyUITrees; - } - - - /** - * 添加分类 - */ - @RequestMapping("/add") - @ResponseBody - public ResponseJsonResult addCategory(Short parentId,String name){ - ResponseJsonResult responseJsonResult = productCategoryService.addCategory(parentId, name); - return responseJsonResult; - } - - /** - * 删除分类 - */ - @RequestMapping("/del") - @ResponseBody - public ResponseJsonResult delCategory(Short parentId,Short id){ - ResponseJsonResult responseJsonResult = productCategoryService.deleteCategory(parentId, id); - return responseJsonResult; - } - - - -} diff --git a/manong_manager/manong_manager_web/src/main/java/com/manong/controller/ProductConrtroller.java b/manong_manager/manong_manager_web/src/main/java/com/manong/controller/ProductConrtroller.java deleted file mode 100644 index 0304109..0000000 --- a/manong_manager/manong_manager_web/src/main/java/com/manong/controller/ProductConrtroller.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.manong.controller; - -import com.manong.pojo.Product; -import com.manong.service.ProductService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; -import pojo.EasyGrid; -import pojo.ResponseJsonResult; - -/** - * Created by wistbean on 2018/9/19. - * 商品管理控制层 - */ - -@Controller -public class ProductConrtroller { - - @Autowired - ProductService productService; - - @RequestMapping("/product/list") - @ResponseBody - public EasyGrid listProduct(@RequestParam(value = "page" , defaultValue = "1")int page,@RequestParam(value = - "rows",defaultValue = "10")int rows){ - - EasyGrid easyGrid = productService.listProduct(page, rows); - - return easyGrid; - } - - @RequestMapping("product_save") - @ResponseBody - public ResponseJsonResult saveProduct(Product product){ - ResponseJsonResult responseJsonResult = productService.saveProduct(product); - return responseJsonResult; - } - -} diff --git a/manong_manager/manong_manager_web/src/main/java/com/manong/controller/UserController.java b/manong_manager/manong_manager_web/src/main/java/com/manong/controller/UserController.java deleted file mode 100644 index 550e034..0000000 --- a/manong_manager/manong_manager_web/src/main/java/com/manong/controller/UserController.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.manong.controller; - -import com.manong.pojo.User; -import com.manong.service.UserService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; - -/** - * Created by wistbean on 2018/9/6. - */ -@Controller -public class UserController { - - @Autowired - UserService userService; - - @RequestMapping("/user/{userid}") - @ResponseBody - public User getUserById(@PathVariable Integer userid){ - User user = userService.getUserById(userid); - return user; - } - - -} diff --git a/manong_manager/manong_manager_web/src/main/java/com/manong/fastdfs/FastDFSClient.java b/manong_manager/manong_manager_web/src/main/java/com/manong/fastdfs/FastDFSClient.java deleted file mode 100644 index 029be1f..0000000 --- a/manong_manager/manong_manager_web/src/main/java/com/manong/fastdfs/FastDFSClient.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.manong.fastdfs; - -import org.apache.commons.lang3.StringUtils; -import org.csource.common.NameValuePair; -import org.csource.fastdfs.*; - -import java.io.File; -import java.io.IOException; -import java.io.InputStream; - -/** - * Created by wistbean on 2018/11/29. - */ -public class FastDFSClient { - - private static StorageClient1 storageClient1 = null; - - static { - try { - // 获取配置文件 - String classPath = new File(FastDFSClient.class.getResource("/").getFile()).getCanonicalPath(); - String CONF_FILENAME = classPath + File.separator + "conf" + File.separator + "fdfs_client.conf"; - ClientGlobal.init(CONF_FILENAME); - // 获取触发器 - TrackerClient trackerClient = new TrackerClient(ClientGlobal.g_tracker_group); - TrackerServer trackerServer = trackerClient.getConnection(); - // 获取存储服务器 - StorageServer storageServer = trackerClient.getStoreStorage(trackerServer); - storageClient1 = new StorageClient1(trackerServer, storageServer); - } catch (Exception e) { - System.out.println(e); - } - } - - /** - * @param fis 文件输入流 - * @param fileName 文件名称 - * @return - */ - public static String uploadFile(InputStream fis, String fileName) { - try { - NameValuePair[] meta_list = null; - - //将输入流写入file_buff数组 - byte[] file_buff = null; - if (fis != null) { - int len = fis.available(); - file_buff = new byte[len]; - fis.read(file_buff); - } - - String fileid = storageClient1.upload_file1(file_buff, getFileExt(fileName), meta_list); - return fileid; - } catch (Exception ex) { - return null; - } finally { - if (fis != null) { - try { - fis.close(); - } catch (IOException e) { - System.out.println(e); - } - } - } - } - - - private static String getFileExt(String fileName) { - if (StringUtils.isBlank(fileName) || !fileName.contains(".")) { - return ""; - } else { - return fileName.substring(fileName.lastIndexOf(".") + 1); - } - } - -} diff --git a/manong_manager/manong_manager_web/src/main/resources/conf/fdfs_client.conf b/manong_manager/manong_manager_web/src/main/resources/conf/fdfs_client.conf deleted file mode 100644 index 84eab9b..0000000 --- a/manong_manager/manong_manager_web/src/main/resources/conf/fdfs_client.conf +++ /dev/null @@ -1,8 +0,0 @@ -connect_timeout = 2 -network_timeout = 30 -charset = UTF-8 -http.tracker_http_port = 8080 -http.anti_steal_token = no -http.secret_key = FastDFS1234567890 - -tracker_server = 65.49.227.129:22122 diff --git a/manong_manager/manong_manager_web/src/main/resources/mybatis/sqlMapConfig.xml b/manong_manager/manong_manager_web/src/main/resources/mybatis/sqlMapConfig.xml deleted file mode 100644 index edbc230..0000000 --- a/manong_manager/manong_manager_web/src/main/resources/mybatis/sqlMapConfig.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/resources/properties/db.properties b/manong_manager/manong_manager_web/src/main/resources/properties/db.properties deleted file mode 100644 index d3e91ec..0000000 --- a/manong_manager/manong_manager_web/src/main/resources/properties/db.properties +++ /dev/null @@ -1,4 +0,0 @@ -jdbc_url=jdbc:mysql://localhost:3306/manong?characterEncoding=utf-8 -jdbc_user=root -jdbc_password=admin -jdbc_driver=com.mysql.jdbc.Driver \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/resources/spring/applicationContext-dao.xml b/manong_manager/manong_manager_web/src/main/resources/spring/applicationContext-dao.xml deleted file mode 100644 index db2f305..0000000 --- a/manong_manager/manong_manager_web/src/main/resources/spring/applicationContext-dao.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/resources/spring/applicationContext-service.xml b/manong_manager/manong_manager_web/src/main/resources/spring/applicationContext-service.xml deleted file mode 100644 index 30a855a..0000000 --- a/manong_manager/manong_manager_web/src/main/resources/spring/applicationContext-service.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/resources/spring/applicationContext-trans.xml b/manong_manager/manong_manager_web/src/main/resources/spring/applicationContext-trans.xml deleted file mode 100644 index 5b3cef2..0000000 --- a/manong_manager/manong_manager_web/src/main/resources/spring/applicationContext-trans.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/resources/spring/springmvc.xml b/manong_manager/manong_manager_web/src/main/resources/spring/springmvc.xml deleted file mode 100644 index d23c677..0000000 --- a/manong_manager/manong_manager_web/src/main/resources/spring/springmvc.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/angular.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/angular.css deleted file mode 100644 index b2ea7d4..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/angular.css +++ /dev/null @@ -1,639 +0,0 @@ -*{ - box-sizing: border-box; -} -.f-block{ - display: block; - position: relative; -} -.f-row{ - display: -webkit-box; - display: -webkit-flex; - display: -moz-flex; - display: -ms-flexbox; - display: flex; - position: relative; -} -.f-column{ - display: -webkit-box; - display: -webkit-flex; - display: -moz-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-direction: normal; - -webkit-box-orient: vertical; - -webkit-flex-direction: column; - -moz-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - position: relative; -} -.f-inline-row{ - white-space: nowrap; - display: -webkit-inline-box; - display: -ms-inline-box; - display: inline-flex; - vertical-align: middle; - position: relative; - align-items: stretch; - -webkit-tap-highlight-color: transparent; -} -.f-content-center{ - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - -moz-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - -moz-align-items: center; - align-items: center; -} -.f-full{ - -webkit-box-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; -} -.f-hide{ - display: none; -} -.f-order0{ - order: 0; -} -.f-order1{ - order: 1; -} -.f-order2{ - order: 2; -} -.f-order3{ - order: 3; -} -.f-order4{ - order: 4; -} -.f-order5{ - order: 5; -} -.f-order6{ - order: 6; -} -.f-order7{ - order: 7; -} -.f-order8{ - order: 8; -} -.f-noshrink{ - -webkit-flex-shrink: 0; - -moz-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; -} -.f-animate{ - transition: all .3s; -} - -.scroll-body{ - overflow: auto; - position: relative; -} - -.textbox .textbox-text{ - width: 100%; - height: auto; - overflow: hidden; -} -.textbox-addon{ - align-items: center; -} -.textbox-disabled>.textbox-addon .textbox-icon, -.textbox-readonly>.textbox-addon .textbox-icon{ - cursor: default; -} -.textbox-disabled>.textbox-addon .textbox-icon:hover, -.textbox-readonly>.textbox-addon .textbox-icon:hover{ - opacity: 0.6; - cursor: default; -} -.textbox-addon .textbox-icon{ - width: 26px; - height: 18px; -} - -.spinner .textbox-text{ - height: auto; -} -.spinner-button-left,.spinner-button-right{ - width: 26px; -} -.spinner-button-updown{ - width: 26px; -} -.spinner-button-top,.spinner-button-bottom{ - position: absolute; - width: 100%; - height: 26px; -} -.spinner-button-top{ - top: 0; -} -.spinner-button-bottom{ - top: auto; - bottom: 0; -} -.spinner-button{ - display: inline-block; - position: absolute; - width: 16px; - height: 16px; - left: 50%; - margin-left: -8px; - top: 50%; - margin-top: -8px; -} -.spinner-arrow{ - cursor: pointer; - opacity: 0.6; -} - -.textbox-disabled .spinner-arrow:hover, -.textbox-readonly .spinner-arrow:hover -{ - opacity: 0.6; - cursor: default; -} -.textbox-readonly .spinner-arrow .spinner-arrow-up:hover, -.textbox-disabled .spinner-arrow .spinner-arrow-up:hover, -.textbox-readonly .spinner-arrow .spinner-arrow-down:hover, -.textbox-disabled .spinner-arrow .spinner-arrow-down:hover -{ - cursor: default; -} - -.l-btn{ - width: 100%; -} -.l-btn-empty{ - height: 28px; -} -.l-btn-large .l-btn-empty{ - height: 44px; -} -.l-btn-left{ - overflow: visible; -} -.m-btn .l-btn-left .m-btn-line{ - top: -100px; - width: 36px; - right: -20px; -} -eui-button-group eui-linkbutton.f-inline-row{ - margin-left: -1px; -} -eui-button-group .l-btn:hover{ - z-index: 99; -} -eui-button-group eui-linkbutton:not(:first-child):not(:last-child) .l-btn{ - border-radius: 0; -} -eui-button-group eui-linkbutton:first-child .l-btn{ - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -eui-button-group eui-linkbutton:last-child .l-btn{ - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.switchbutton-on,.switchbutton-off{ - position: absolute; - left: 0; - width: calc(100% - 15px); - height: 100%; -} -.switchbutton-on span,.switchbutton-off span,.switchbutton-handle span{ - height: 100%; -} -.switchbutton-on span{ - text-indent: -15px; -} -.switchbutton-off span{ - text-indent: 15px; -} -.switchbutton-off{ - left: calc(100% - 15px); -} -.switchbutton-handle{ - width: 30px; - left: auto; - right: 0; - z-index: 9; -} -.switchbutton-inner{ - transition: all 200ms ease-out; - overflow: visible; - position: absolute; - width: 100%; - top: -1px; - bottom: -1px; - left: calc(-100% + 30px); - right: auto; -} -.switchbutton-checked .switchbutton-inner{ - left: 0; -} -.draggable-reverting{ - transition: all 200ms ease-out; -} -.slider-h .slider-tip{ - transform: translateX(-50%); -} -.slider-h .slider-rulelabel span{ - transform: translateX(-50%); -} -.slider-v .slider-tip{ - margin-top: 0; - transform: translate(-100%,-50%); -} -.slider-v .slider-rulelabel span{ - transform: translateY(-50%); -} -.slider-v .slider-inner{ - height: auto; -} - - -.panel{ - position:relative; -} -.panel-title{ - height: 20px; - line-height: 20px; -} -.panel-footer-fixed{ - position:absolute; - width:100%; - bottom:0; -} -.window{ - position: absolute; -} -.window-mask{ - position: fixed; -} -.window .window-footer{ - top: 0; -} -.dialog-toolbar{ - border-width: 0 0 1px 0; -} -.dialog-button{ - border-width: 1px 0 0 0; - top: 0; -} - -.tabs{ - width: 100%; - height: auto; -} -.tabs-scrollable{ - transition: left 400ms, right 400ms; - position: absolute; - width: auto; - height: 100%; - left: 0; - top: 0; -} -.tabs li{ - display: inherit; -} -.tabs li a.tabs-inner{ - height: auto; - line-height: normal; - display: inherit; - overflow: hidden; -} -.tabs-title{ - display: inherit; - align-items: center; - line-height: normal; -} -.tabs-close{ - outline: none; -} -.tabs-scroller-left,.tabs-scroller-right{ - position: relative; - display: block; - width: 21px; - height: 100%; -} -.tabs-header-left .tabs li{ - right: -1px; -} -.tabs-header-left .tabs li,.tabs-header-right .tabs li, -.tabs-header-left .tabs li a.tabs-inner, -.tabs-header-right .tabs li a.tabs-inner{ - display: inherit; -} - -.combo-panel{ - position: absolute; - height: 200px; - z-index: 9999; -} -.combo-panel eui-virtual-scroll, -.combo-panel eui-datagrid, -.combo-panel eui-treegrid{ - width: 100%; - height: 100%; -} -.combobox-item{ - padding: 6px 4px; - line-height: 20px; -} -.tagbox-labels{ - padding-bottom: 4px; -} -.tagbox-label{ - height: 20px; - line-height: 20px; -} -.tagbox .textbox-text{ - width: 50px; - max-width: 100%; - margin-top: 4px; - padding-top: 0; - padding-bottom: 0; - height: 20px; - line-height: 20px; -} - -.datagrid,eui-datagrid, -eui-datagrid-view,eui-datagrid-body, -eui-treegrid-view,eui-treegrid-body{ - overflow: hidden; -} -.datagrid-view,.datagrid-view1,.datagrid-view2{ - position: relative; -} -.datagrid-vbody{ - overflow: hidden; -} -.datagrid-view3{ - margin-left: -1px; -} -.datagrid-view3 .datagrid-body{ - overflow: hidden; -} -.datagrid-view3 .datagrid-body-inner{ - padding-bottom: 20px; -} -.datagrid-view3 .datagrid-header td, -.datagrid-view3 .datagrid-body td, -.datagrid-view3 .datagrid-footer td { - border-width: 0 0 1px 1px; -} -.datagrid-htable,.datagrid-btable,.datagrid-ftable{ - table-layout: fixed; - width: 100%; -} -.datagrid-htable{ - height: 100%; -} -.datagrid-header .datagrid-header, -.datagrid-footer .datagrid-header{ - border-width: 0 0 0 1px; -} -.datagrid-header-inner,.datagrid-footer-inner{ - overflow: hidden; -} -.datagrid-header-row, .datagrid-row{ - height: 32px; -} -.datagrid-cell{ - text-align: left; - height: auto; - font-size: inherit; -} -.datagrid-cell-group{ - text-align: center; -} -.datagrid .datagrid-pager{ - padding: 2px 4px; - display: inherit; -} -.datagrid-loading{ - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - justify-content: center; - align-items: center; -} -.datagrid-mask{ - display: block; -} -.datagrid-mask-msg{ - display: block; - position: static; - line-height: 36px; - height: 40px; - margin: 0; - padding: 0 5px 0 30px; - z-index: 9; -} -.datagrid-body .datagrid-td-group{ - border-left-color: transparent; - border-right-color: transparent; -} -.datagrid-group-expander{ - cursor: pointer; -} -.datagrid-row-expander{ - display: inline-block; - width: 16px; - height: 18px; - cursor: pointer; -} -.datagrid-group-title{ - align-self: center; - padding: 0 4px; - white-space: nowrap; - word-break: normal; - position: relative; -} -.datagrid-editable> .f-field, -.datagrid-editable> *{ - width: 100%; - height: 31px; -} -.datagrid-editable .textbox, .datagrid-editable .textbox-text{ - border-radius: 0; -} -.datagrid-filter-row .textbox{ - border-radius: 0; -} -.datagrid-filter-c{ - padding: 4px; - height: 38px; -} -.datagrid-filter-c> .f-field, -.datagrid-filter-c> *{ - height: 30px; -} -.datagrid-filter-c .datagrid-editable-input{ - width: 100%; -} -.datagrid-filter-btn{ - width: 30px; -} -.datagrid-filter-btn .textbox-icon{ - width: 28px; -} -.datagrid-filter-btn .textbox{ - background-color: transparent; -} -.datagrid-filter-btn-left{ - margin-right: 4px; -} -.datagrid-filter-btn-right{ - margin-left: 4px; -} - -eui-menu.menu-inline{ - position: relative; - display: inline; - margin: 0; - padding: 0; -} -eui-menu> .menu-container{ - position: relative; -} -.menu-container{ - position: absolute; - left: 0; - top: 0; - min-width: 200px; -} -.menu{ - overflow: visible; -} -.menu-shadow{ - width: 100%; - height: 100%; - left: 0; - top: 0; -} -.menu-item{ - overflow: visible; -} -.menu-text{ - height: 32px; - line-height: 32px; - float: none; -} -.menu-line{ - z-index: 9999999; - height: 100%; -} -.menu-active{ - z-index: 99999999; -} - -.progressbar-value{ - overflow: visible; -} - -.searchbox .textbox-button, -.searchbox .textbox-button:hover{ - position: inherit; -} - -.calendar-content{ - position: absolute; - width: 100%; - height: 100%; - left: 0; - top: 0; -} -.calendar-menu{ - position: absolute; - width: 100%; - height: 100%; -} -.calendar-menu-month-inner{ - position: relative; -} - -.f-field{ - width: 12em; - height: 30px; -} -eui-tagbox{ - width: 12em; - height: auto; - min-height: 30px; -} -eui-switchbutton{ - width: 70px; - height: 30px; -} -eui-radiobutton{ - width: 20px; - height: 20px; -} -eui-checkbox{ - width: 20px; - height: 20px; -} -eui-progressbar{ - height: 24px; -} -eui-pagination{ - height: 34px; - padding: 2px; -} -eui-layout{ - display: block; -} -.layout{ - height: 100%; -} -.layout-animate{ - transition: transform 400ms; -} -.layout-panel-north,.layout-panel-south{ - position: absolute; - width: 100%; - left: 0; - top: 0; -} -.layout-panel-south{ - top: auto; - bottom: 0; -} -.layout-panel-west,.layout-panel-east{ - position: absolute; - left: 0; - top: 0; - bottom: 0; -} -.layout-panel-east{ - left: auto; - right: 0; -} -.layout-panel-west.layout-collapsed{ - transform: translate3d(-100%, 0, 0); -} -.layout-panel-east.layout-collapsed{ - transform: translate3d(100%, 0, 0) -} -.layout-panel-north.layout-collapsed{ - transform: translate3d(0, -100%, 0) -} -.layout-panel-south.layout-collapsed{ - transform: translate3d(0, 100%, 0) -} - diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/accordion.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/accordion.css deleted file mode 100644 index b2dba52..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/accordion.css +++ /dev/null @@ -1,89 +0,0 @@ -.accordion { - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.accordion .accordion-header { - border-width: 0 0 1px; - cursor: pointer; -} -.accordion .accordion-body { - border-width: 0 0 1px; -} -.accordion-noborder { - border-width: 0; -} -.accordion-noborder .accordion-header { - border-width: 0 0 1px; -} -.accordion-noborder .accordion-body { - border-width: 0 0 1px; -} -.accordion-collapse { - background: url('images/accordion_arrows.png') no-repeat 0 0; -} -.accordion-expand { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.accordion { - background: #666; - border-color: #000; -} -.accordion .accordion-header { - background: #3d3d3d; - filter: none; -} -.accordion .accordion-header-selected { - background: #0052A3; -} -.accordion .accordion-header-selected .panel-title { - color: #fff; -} -.accordion .panel-last > .accordion-header { - border-bottom-color: #3d3d3d; -} -.accordion .panel-last > .accordion-body { - border-bottom-color: #666; -} -.accordion .panel-last > .accordion-header-selected, -.accordion .panel-last > .accordion-header-border { - border-bottom-color: #000; -} -.accordion> .panel-hleft { - float: left; -} -.accordion> .panel-hleft>.panel-header { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft> .panel-body { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft.panel-last > .accordion-header { - border-right-color: #3d3d3d; -} -.accordion> .panel-hleft.panel-last > .accordion-body { - border-right-color: #666; -} -.accordion> .panel-hleft.panel-last > .accordion-header-selected, -.accordion> .panel-hleft.panel-last > .accordion-header-border { - border-right-color: #000; -} -.accordion> .panel-hright { - float: right; -} -.accordion> .panel-hright>.panel-header { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright> .panel-body { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright.panel-last > .accordion-header { - border-left-color: #3d3d3d; -} -.accordion> .panel-hright.panel-last > .accordion-body { - border-left-color: #666; -} -.accordion> .panel-hright.panel-last > .accordion-header-selected, -.accordion> .panel-hright.panel-last > .accordion-header-border { - border-left-color: #000; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/calendar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/calendar.css deleted file mode 100644 index eed5a4b..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/calendar.css +++ /dev/null @@ -1,203 +0,0 @@ -.calendar { - border-width: 1px; - border-style: solid; - padding: 1px; - overflow: hidden; -} -.calendar table { - table-layout: fixed; - border-collapse: separate; - font-size: 14px; - width: 100%; - height: 100%; -} -.calendar table td, -.calendar table th { - font-size: 14px; -} -.calendar-noborder { - border: 0; -} -.calendar-header { - position: relative; - height: 28px; -} -.calendar-title { - text-align: center; - height: 28px; -} -.calendar-title span { - position: relative; - display: inline-block; - top: 0px; - padding: 0 3px; - height: 28px; - line-height: 28px; - font-size: 14px; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-prevmonth, -.calendar-nextmonth, -.calendar-prevyear, -.calendar-nextyear { - position: absolute; - top: 50%; - margin-top: -8px; - width: 16px; - height: 16px; - cursor: pointer; - font-size: 1px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-prevmonth { - left: 20px; - background: url('images/calendar_arrows.png') no-repeat -16px 0; -} -.calendar-nextmonth { - right: 20px; - background: url('images/calendar_arrows.png') no-repeat -32px 0; -} -.calendar-prevyear { - left: 3px; - background: url('images/calendar_arrows.png') no-repeat 0px 0; -} -.calendar-nextyear { - right: 3px; - background: url('images/calendar_arrows.png') no-repeat -48px 0; -} -.calendar-body { - position: relative; -} -.calendar-body th, -.calendar-body td { - text-align: center; -} -.calendar-day { - border: 0; - padding: 1px; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-other-month { - opacity: 0.3; - filter: alpha(opacity=30); -} -.calendar-disabled { - opacity: 0.6; - filter: alpha(opacity=60); - cursor: default; -} -.calendar-menu { - position: absolute; - top: 0; - left: 0; - width: 180px; - height: 150px; - padding: 5px; - font-size: 14px; - display: none; - overflow: hidden; -} -.calendar-menu-year-inner { - text-align: center; - padding-bottom: 5px; -} -.calendar-menu-year { - width: 80px; - line-height: 26px; - text-align: center; - border-width: 1px; - border-style: solid; - outline-style: none; - resize: none; - margin: 0; - padding: 0; - font-weight: bold; - font-size: 14px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-menu-prev, -.calendar-menu-next { - display: inline-block; - width: 25px; - height: 28px; - vertical-align: top; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-menu-prev { - margin-right: 10px; - background: url('images/calendar_arrows.png') no-repeat 5px center; -} -.calendar-menu-next { - margin-left: 10px; - background: url('images/calendar_arrows.png') no-repeat -44px center; -} -.calendar-menu-month { - text-align: center; - cursor: pointer; - font-weight: bold; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-body th, -.calendar-menu-month { - color: #ffffff; -} -.calendar-day { - color: #fff; -} -.calendar-sunday { - color: #CC2222; -} -.calendar-saturday { - color: #00ee00; -} -.calendar-today { - color: #0000ff; -} -.calendar-menu-year { - border-color: #000; -} -.calendar { - border-color: #000; -} -.calendar-header { - background: #3d3d3d; -} -.calendar-body, -.calendar-menu { - background: #666; -} -.calendar-body th { - background: #555; - padding: 4px 0; -} -.calendar-hover, -.calendar-nav-hover, -.calendar-menu-hover { - background-color: #777; - color: #fff; -} -.calendar-hover { - border: 1px solid #555; - padding: 0; -} -.calendar-selected { - background-color: #0052A3; - color: #fff; - border: 1px solid #00458a; - padding: 0; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/checkbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/checkbox.css deleted file mode 100644 index e84e80d..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/checkbox.css +++ /dev/null @@ -1,31 +0,0 @@ -.checkbox { - position: relative; - border: 2px solid #00458a; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.checkbox-checked { - border: 0; - background: #00458a; -} -.checkbox-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; -} -.checkbox path { - stroke-width: 2px; -} -.checkbox-disabled { - opacity: 0.6; -} -.checkbox-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/combo.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/combo.css deleted file mode 100644 index 0798ce1..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/combo.css +++ /dev/null @@ -1,35 +0,0 @@ -.combo-arrow { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.combo-arrow-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.combo-panel { - overflow: auto; -} -.combo-arrow { - background: url('images/combo_arrow.png') no-repeat center center; -} -.combo-panel { - background-color: #666; -} -.combo-arrow { - background-color: #3d3d3d; -} -.combo-arrow-hover { - background-color: #777; -} -.combo-arrow:hover { - background-color: #777; -} -.combo .textbox-icon-disabled:hover { - cursor: default; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/combobox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/combobox.css deleted file mode 100644 index 6415d08..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/combobox.css +++ /dev/null @@ -1,40 +0,0 @@ -.combobox-item, -.combobox-group, -.combobox-stick { - font-size: 14px; - padding: 6px 4px; - line-height: 20px; -} -.combobox-item-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.combobox-gitem { - padding-left: 10px; -} -.combobox-group, -.combobox-stick { - font-weight: bold; -} -.combobox-stick { - position: absolute; - top: 1px; - left: 1px; - right: 1px; - background: inherit; -} -.combobox-item-hover { - background-color: #777; - color: #fff; -} -.combobox-item-selected { - background-color: #0052A3; - color: #fff; -} -.combobox-icon { - display: inline-block; - width: 16px; - height: 16px; - vertical-align: middle; - margin-right: 2px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/datagrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/datagrid.css deleted file mode 100644 index 376206d..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/datagrid.css +++ /dev/null @@ -1,291 +0,0 @@ -.datagrid .panel-body { - overflow: hidden; - position: relative; -} -.datagrid-view { - position: relative; - overflow: hidden; -} -.datagrid-view1, -.datagrid-view2 { - position: absolute; - overflow: hidden; - top: 0; -} -.datagrid-view1 { - left: 0; -} -.datagrid-view2 { - right: 0; -} -.datagrid-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0.3; - filter: alpha(opacity=30); - display: none; -} -.datagrid-mask-msg { - position: absolute; - top: 50%; - margin-top: -20px; - padding: 10px 5px 10px 30px; - width: auto; - height: 16px; - border-width: 2px; - border-style: solid; - display: none; -} -.datagrid-empty { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 25px; - line-height: 25px; - text-align: center; -} -.datagrid-sort-icon { - padding: 0; - display: none; -} -.datagrid-toolbar { - height: auto; - padding: 1px 2px; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-btn-separator { - float: left; - height: 24px; - border-left: 1px solid #444; - border-right: 1px solid #777; - margin: 2px 1px; -} -.datagrid .datagrid-pager { - display: block; - margin: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.datagrid .datagrid-pager-top { - border-width: 0 0 1px 0; -} -.datagrid-header { - overflow: hidden; - cursor: default; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-header-inner { - float: left; - width: 10000px; -} -.datagrid-header-row, -.datagrid-row { - height: 32px; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-width: 0 1px 1px 0; - border-style: dotted; - margin: 0; - padding: 0; -} -.datagrid-cell, -.datagrid-cell-group, -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - margin: 0; - padding: 0 4px; - white-space: nowrap; - word-wrap: normal; - overflow: hidden; - height: 18px; - line-height: 18px; - font-size: 14px; -} -.datagrid-header .datagrid-cell { - height: auto; -} -.datagrid-header .datagrid-cell span { - font-size: 14px; -} -.datagrid-cell-group { - text-align: center; - text-overflow: ellipsis; -} -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - width: 30px; - text-align: center; - margin: 0; - padding: 0; -} -.datagrid-body { - margin: 0; - padding: 0; - overflow: auto; - zoom: 1; -} -.datagrid-view1 .datagrid-body-inner { - padding-bottom: 20px; -} -.datagrid-view1 .datagrid-body { - overflow: hidden; -} -.datagrid-footer { - overflow: hidden; -} -.datagrid-footer-inner { - border-width: 1px 0 0 0; - border-style: solid; - width: 10000px; - float: left; -} -.datagrid-row-editing .datagrid-cell { - height: auto; -} -.datagrid-header-check, -.datagrid-cell-check { - padding: 0; - width: 27px; - height: 18px; - font-size: 1px; - text-align: center; - overflow: hidden; -} -.datagrid-header-check input, -.datagrid-cell-check input { - margin: 0; - padding: 0; - width: 15px; - height: 18px; -} -.datagrid-resize-proxy { - position: absolute; - width: 1px; - height: 10000px; - top: 0; - cursor: e-resize; - display: none; -} -.datagrid-body .datagrid-editable { - margin: 0; - padding: 0; -} -.datagrid-body .datagrid-editable table { - width: 100%; - height: 100%; -} -.datagrid-body .datagrid-editable td { - border: 0; - margin: 0; - padding: 0; -} -.datagrid-view .datagrid-editable-input { - margin: 0; - padding: 2px 4px; - border: 1px solid #000; - font-size: 14px; - outline-style: none; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-view .validatebox-invalid { - border-color: #ffa8a8; -} -.datagrid-sort .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -64px center; -} -.datagrid-sort-desc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -16px center; -} -.datagrid-sort-asc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat 0px center; -} -.datagrid-row-collapse { - background: url('images/datagrid_icons.png') no-repeat -48px center; -} -.datagrid-row-expand { - background: url('images/datagrid_icons.png') no-repeat -32px center; -} -.datagrid-mask-msg { - background: #666 url('images/loading.gif') no-repeat scroll 5px center; -} -.datagrid-header, -.datagrid-td-rownumber { - background-color: #444; - background: -webkit-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%); - background: -moz-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%); - background: -o-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%); - background: linear-gradient(to bottom,#4c4c4c 0,#3f3f3f 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4c4c4c,endColorstr=#3f3f3f,GradientType=0); -} -.datagrid-cell-rownumber { - color: #fff; -} -.datagrid-resize-proxy { - background: #cccccc; -} -.datagrid-mask { - background: #000; -} -.datagrid-mask-msg { - border-color: #000; -} -.datagrid-toolbar, -.datagrid-pager { - background: #555; -} -.datagrid-header, -.datagrid-toolbar, -.datagrid-pager, -.datagrid-footer-inner { - border-color: #222; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-color: #222; -} -.datagrid-htable, -.datagrid-btable, -.datagrid-ftable { - color: #fff; - border-collapse: separate; -} -.datagrid-row-alt { - background: #555; -} -.datagrid-row-over, -.datagrid-header td.datagrid-header-over { - background: #777; - color: #fff; - cursor: default; -} -.datagrid-row-selected { - background: #0052A3; - color: #fff; -} -.datagrid-row-editing .textbox, -.datagrid-row-editing .textbox-text { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-header .datagrid-filter-row td.datagrid-header-over { - background: inherit; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/datalist.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/datalist.css deleted file mode 100644 index 94dd67e..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/datalist.css +++ /dev/null @@ -1,95 +0,0 @@ -.datalist .datagrid-header { - border-width: 0; -} -.datalist .datagrid-group, -.m-list .m-list-group { - height: 25px; - line-height: 25px; - font-weight: bold; - overflow: hidden; - background-color: #444; - border-style: solid; - border-width: 0 0 1px 0; - border-color: #222; -} -.datalist .datagrid-group-expander { - display: none; -} -.datalist .datagrid-group-title { - padding: 0 4px; -} -.datalist .datagrid-btable { - width: 100%; - table-layout: fixed; -} -.datalist .datagrid-row td { - border-style: solid; - border-left-color: transparent; - border-right-color: transparent; - border-bottom-width: 0; -} -.datalist-lines .datagrid-row td { - border-bottom-width: 1px; -} -.datalist .datagrid-cell, -.m-list li { - width: auto; - height: auto; - padding: 2px 4px; - line-height: 18px; - position: relative; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link, -.m-list li>a { - display: block; - position: relative; - cursor: pointer; - color: #fff; - text-decoration: none; - overflow: hidden; - margin: -2px -4px; - padding: 2px 4px; - padding-right: 16px; - line-height: 18px; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link::after, -.m-list li>a::after { - position: absolute; - display: block; - width: 8px; - height: 8px; - content: ''; - right: 6px; - top: 50%; - margin-top: -4px; - border-style: solid; - border-width: 1px 1px 0 0; - -ms-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -webkit-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); -} -.m-list { - margin: 0; - padding: 0; - list-style: none; -} -.m-list li { - border-style: solid; - border-width: 0 0 1px 0; - border-color: #222; -} -.m-list li>a:hover { - background: #777; - color: #fff; -} -.m-list .m-list-group { - padding: 0 4px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/datebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/datebox.css deleted file mode 100644 index ae25037..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/datebox.css +++ /dev/null @@ -1,36 +0,0 @@ -.datebox-calendar-inner { - height: 250px; -} -.datebox-button { - padding: 4px 0; - text-align: center; -} -.datebox-button a { - line-height: 22px; - font-size: 14px; - font-weight: bold; - text-decoration: none; - opacity: 0.6; - filter: alpha(opacity=60); -} -.datebox-button a:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.datebox-current, -.datebox-close { - float: left; -} -.datebox-close { - float: right; -} -.datebox .combo-arrow { - background-image: url('images/datebox_arrow.png'); - background-position: center center; -} -.datebox-button { - background-color: #555; -} -.datebox-button a { - color: #fff; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/dialog.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/dialog.css deleted file mode 100644 index 4a6f36e..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/dialog.css +++ /dev/null @@ -1,47 +0,0 @@ -.dialog-content { - overflow: auto; -} -.dialog-toolbar { - position: relative; - padding: 2px 5px; -} -.dialog-tool-separator { - float: left; - height: 24px; - border-left: 1px solid #444; - border-right: 1px solid #777; - margin: 2px 1px; -} -.dialog-button { - position: relative; - top: -1px; - padding: 5px; - text-align: right; -} -.dialog-button .l-btn { - margin-left: 5px; -} -.dialog-toolbar, -.dialog-button { - background: #555; - border-width: 1px; - border-style: solid; -} -.dialog-toolbar { - border-color: #000 #000 #222 #000; -} -.dialog-button { - border-color: #222 #000 #000 #000; -} -.window-thinborder .dialog-toolbar { - border-left: transparent; - border-right: transparent; - border-top-color: #555; -} -.window-thinborder .dialog-button { - top: 0px; - padding: 5px 8px 8px 8px; - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/easyui.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/easyui.css deleted file mode 100644 index 16cdbff..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/easyui.css +++ /dev/null @@ -1,3438 +0,0 @@ -.panel { - overflow: hidden; - text-align: left; - margin: 0; - border: 0; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.panel-header, -.panel-body { - border-width: 1px; - border-style: solid; -} -.panel-header { - padding: 5px; - position: relative; -} -.panel-title { - background: url('images/blank.gif') no-repeat; -} -.panel-header-noborder { - border-width: 0 0 1px 0; -} -.panel-body { - overflow: auto; - border-top-width: 0; - padding: 0; -} -.panel-body-noheader { - border-top-width: 1px; -} -.panel-body-noborder { - border-width: 0px; -} -.panel-body-nobottom { - border-bottom-width: 0; -} -.panel-with-icon { - padding-left: 18px; -} -.panel-icon, -.panel-tool { - position: absolute; - top: 50%; - margin-top: -8px; - height: 16px; - overflow: hidden; -} -.panel-icon { - left: 5px; - width: 16px; -} -.panel-tool { - right: 5px; - width: auto; -} -.panel-tool a { - display: inline-block; - width: 16px; - height: 16px; - opacity: 0.6; - filter: alpha(opacity=60); - margin: 0 0 0 2px; - vertical-align: top; -} -.panel-tool a:hover { - opacity: 1; - filter: alpha(opacity=100); - background-color: #777; - -moz-border-radius: 3px 3px 3px 3px; - -webkit-border-radius: 3px 3px 3px 3px; - border-radius: 3px 3px 3px 3px; -} -.panel-loading { - padding: 11px 0px 10px 30px; -} -.panel-noscroll { - overflow: hidden; -} -.panel-fit, -.panel-fit body { - height: 100%; - margin: 0; - padding: 0; - border: 0; - overflow: hidden; -} -.panel-loading { - background: url('images/loading.gif') no-repeat 10px 10px; -} -.panel-tool-close { - background: url('images/panel_tools.png') no-repeat -16px 0px; -} -.panel-tool-min { - background: url('images/panel_tools.png') no-repeat 0px 0px; -} -.panel-tool-max { - background: url('images/panel_tools.png') no-repeat 0px -16px; -} -.panel-tool-restore { - background: url('images/panel_tools.png') no-repeat -16px -16px; -} -.panel-tool-collapse { - background: url('images/panel_tools.png') no-repeat -32px 0; -} -.panel-tool-expand { - background: url('images/panel_tools.png') no-repeat -32px -16px; -} -.panel-header, -.panel-body { - border-color: #000; -} -.panel-header { - background-color: #3d3d3d; - background: -webkit-linear-gradient(top,#454545 0,#383838 100%); - background: -moz-linear-gradient(top,#454545 0,#383838 100%); - background: -o-linear-gradient(top,#454545 0,#383838 100%); - background: linear-gradient(to bottom,#454545 0,#383838 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0); -} -.panel-body { - background-color: #666; - color: #fff; - font-size: 14px; -} -.panel-title { - font-size: 14px; - font-weight: bold; - color: #fff; - height: 20px; - line-height: 20px; -} -.panel-footer { - border: 1px solid #000; - overflow: hidden; - background: #555; -} -.panel-footer-noborder { - border-width: 1px 0 0 0; -} -.panel-hleft, -.panel-hright { - position: relative; -} -.panel-hleft>.panel-body, -.panel-hright>.panel-body { - position: absolute; -} -.panel-hleft>.panel-header { - float: left; -} -.panel-hright>.panel-header { - float: right; -} -.panel-hleft>.panel-body { - border-top-width: 1px; - border-left-width: 0; -} -.panel-hright>.panel-body { - border-top-width: 1px; - border-right-width: 0; -} -.panel-hleft>.panel-body-nobottom { - border-bottom-width: 1px; - border-right-width: 0; -} -.panel-hright>.panel-body-nobottom { - border-bottom-width: 1px; - border-left-width: 0; -} -.panel-hleft>.panel-footer { - position: absolute; - right: 0; -} -.panel-hright>.panel-footer { - position: absolute; - left: 0; -} -.panel-hleft>.panel-header-noborder { - border-width: 0 1px 0 0; -} -.panel-hright>.panel-header-noborder { - border-width: 0 0 0 1px; -} -.panel-hleft>.panel-body-noborder { - border-width: 0; -} -.panel-hright>.panel-body-noborder { - border-width: 0; -} -.panel-hleft>.panel-body-noheader { - border-left-width: 1px; -} -.panel-hright>.panel-body-noheader { - border-right-width: 1px; -} -.panel-hleft>.panel-footer-noborder { - border-width: 0 0 0 1px; -} -.panel-hright>.panel-footer-noborder { - border-width: 0 1px 0 0; -} -.panel-hleft>.panel-header .panel-icon, -.panel-hright>.panel-header .panel-icon { - margin-top: 0; - top: 5px; - left: 50%; - margin-left: -8px; -} -.panel-hleft>.panel-header .panel-title, -.panel-hright>.panel-header .panel-title { - position: absolute; - min-width: 16px; - left: 25px; - top: 5px; - bottom: auto; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(90deg); - -o-transform-origin: 0 0; - transform: rotate(90deg); - transform-origin: 0 0; -} -.panel-hleft>.panel-header .panel-title-up, -.panel-hright>.panel-header .panel-title-up { - position: absolute; - min-width: 16px; - left: 21px; - top: auto; - bottom: 0px; - text-align: right; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(-90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(-90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(-90deg); - -o-transform-origin: 0 0; - transform: rotate(-90deg); - transform-origin: 0 16px; -} -.panel-hleft>.panel-header .panel-with-icon.panel-title-up, -.panel-hright>.panel-header .panel-with-icon.panel-title-up { - padding-left: 0; - padding-right: 18px; -} -.panel-hleft>.panel-header .panel-tool, -.panel-hright>.panel-header .panel-tool { - top: auto; - bottom: 5px; - width: 16px; - height: auto; - left: 50%; - margin-left: -8px; - margin-top: 0; -} -.panel-hleft>.panel-header .panel-tool a, -.panel-hright>.panel-header .panel-tool a { - margin: 2px 0 0 0; -} -.accordion { - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.accordion .accordion-header { - border-width: 0 0 1px; - cursor: pointer; -} -.accordion .accordion-body { - border-width: 0 0 1px; -} -.accordion-noborder { - border-width: 0; -} -.accordion-noborder .accordion-header { - border-width: 0 0 1px; -} -.accordion-noborder .accordion-body { - border-width: 0 0 1px; -} -.accordion-collapse { - background: url('images/accordion_arrows.png') no-repeat 0 0; -} -.accordion-expand { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.accordion { - background: #666; - border-color: #000; -} -.accordion .accordion-header { - background: #3d3d3d; - filter: none; -} -.accordion .accordion-header-selected { - background: #0052A3; -} -.accordion .accordion-header-selected .panel-title { - color: #fff; -} -.accordion .panel-last > .accordion-header { - border-bottom-color: #3d3d3d; -} -.accordion .panel-last > .accordion-body { - border-bottom-color: #666; -} -.accordion .panel-last > .accordion-header-selected, -.accordion .panel-last > .accordion-header-border { - border-bottom-color: #000; -} -.accordion> .panel-hleft { - float: left; -} -.accordion> .panel-hleft>.panel-header { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft> .panel-body { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft.panel-last > .accordion-header { - border-right-color: #3d3d3d; -} -.accordion> .panel-hleft.panel-last > .accordion-body { - border-right-color: #666; -} -.accordion> .panel-hleft.panel-last > .accordion-header-selected, -.accordion> .panel-hleft.panel-last > .accordion-header-border { - border-right-color: #000; -} -.accordion> .panel-hright { - float: right; -} -.accordion> .panel-hright>.panel-header { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright> .panel-body { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright.panel-last > .accordion-header { - border-left-color: #3d3d3d; -} -.accordion> .panel-hright.panel-last > .accordion-body { - border-left-color: #666; -} -.accordion> .panel-hright.panel-last > .accordion-header-selected, -.accordion> .panel-hright.panel-last > .accordion-header-border { - border-left-color: #000; -} -.window { - overflow: hidden; - padding: 5px; - border-width: 1px; - border-style: solid; -} -.window .window-header { - background: transparent; - padding: 0px 0px 6px 0px; -} -.window .window-body { - border-width: 1px; - border-style: solid; - border-top-width: 0px; -} -.window .window-body-noheader { - border-top-width: 1px; -} -.window .panel-body-nobottom { - border-bottom-width: 0; -} -.window .window-header .panel-icon, -.window .window-header .panel-tool { - top: 50%; - margin-top: -11px; -} -.window .window-header .panel-icon { - left: 1px; -} -.window .window-header .panel-tool { - right: 1px; -} -.window .window-header .panel-with-icon { - padding-left: 18px; -} -.window-proxy { - position: absolute; - overflow: hidden; -} -.window-proxy-mask { - position: absolute; - filter: alpha(opacity=5); - opacity: 0.05; -} -.window-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - filter: alpha(opacity=40); - opacity: 0.40; - font-size: 1px; - overflow: hidden; -} -.window, -.window-shadow { - position: absolute; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.window-shadow { - background: #777; - -moz-box-shadow: 2px 2px 3px #787878; - -webkit-box-shadow: 2px 2px 3px #787878; - box-shadow: 2px 2px 3px #787878; - filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); -} -.window, -.window .window-body { - border-color: #000; -} -.window { - background-color: #3d3d3d; - background: -webkit-linear-gradient(top,#454545 0,#383838 20%); - background: -moz-linear-gradient(top,#454545 0,#383838 20%); - background: -o-linear-gradient(top,#454545 0,#383838 20%); - background: linear-gradient(to bottom,#454545 0,#383838 20%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0); -} -.window-proxy { - border: 1px dashed #000; -} -.window-proxy-mask, -.window-mask { - background: #000; -} -.window .panel-footer { - border: 1px solid #000; - position: relative; - top: -1px; -} -.window-thinborder { - padding: 0; -} -.window-thinborder .window-header { - padding: 5px 5px 6px 5px; -} -.window-thinborder .window-body { - border-width: 0px; -} -.window-thinborder .window-footer { - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} -.window-thinborder .window-header .panel-icon, -.window-thinborder .window-header .panel-tool { - margin-top: -9px; - margin-left: 5px; - margin-right: 5px; -} -.window-noborder { - border: 0; -} -.window.panel-hleft .window-header { - padding: 0 6px 0 0; -} -.window.panel-hright .window-header { - padding: 0 0 0 6px; -} -.window.panel-hleft>.panel-header .panel-title { - top: auto; - left: 16px; -} -.window.panel-hright>.panel-header .panel-title { - top: auto; - right: 16px; -} -.window.panel-hleft>.panel-header .panel-title-up, -.window.panel-hright>.panel-header .panel-title-up { - bottom: 0; -} -.window.panel-hleft .window-body { - border-width: 1px 1px 1px 0; -} -.window.panel-hright .window-body { - border-width: 1px 0 1px 1px; -} -.window.panel-hleft .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: 0; -} -.window.panel-hright .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: auto; - right: 1px; -} -.window.panel-hleft .window-header .panel-tool, -.window.panel-hright .window-header .panel-tool { - margin-top: 0; - top: auto; - bottom: 1px; - right: auto; - margin-right: 0; - left: 50%; - margin-left: -11px; -} -.window.panel-hright .window-header .panel-tool { - left: auto; - right: 1px; -} -.window-thinborder.panel-hleft .window-header { - padding: 5px 6px 5px 5px; -} -.window-thinborder.panel-hright .window-header { - padding: 5px 5px 5px 6px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title { - left: 21px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title-up, -.window-thinborder.panel-hright>.panel-header .panel-title-up { - bottom: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-icon, -.window-thinborder.panel-hright .window-header .panel-icon { - margin-top: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-tool, -.window-thinborder.panel-hright .window-header .panel-tool { - left: 16px; - bottom: 5px; -} -.dialog-content { - overflow: auto; -} -.dialog-toolbar { - position: relative; - padding: 2px 5px; -} -.dialog-tool-separator { - float: left; - height: 24px; - border-left: 1px solid #444; - border-right: 1px solid #777; - margin: 2px 1px; -} -.dialog-button { - position: relative; - top: -1px; - padding: 5px; - text-align: right; -} -.dialog-button .l-btn { - margin-left: 5px; -} -.dialog-toolbar, -.dialog-button { - background: #555; - border-width: 1px; - border-style: solid; -} -.dialog-toolbar { - border-color: #000 #000 #222 #000; -} -.dialog-button { - border-color: #222 #000 #000 #000; -} -.window-thinborder .dialog-toolbar { - border-left: transparent; - border-right: transparent; - border-top-color: #555; -} -.window-thinborder .dialog-button { - top: 0px; - padding: 5px 8px 8px 8px; - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} -.l-btn { - text-decoration: none; - display: inline-block; - overflow: hidden; - margin: 0; - padding: 0; - cursor: pointer; - outline: none; - text-align: center; - vertical-align: middle; - line-height: normal; -} -.l-btn-plain { - border-width: 0; - padding: 1px; -} -.l-btn-left { - display: inline-block; - position: relative; - overflow: hidden; - margin: 0; - padding: 0; - vertical-align: top; -} -.l-btn-text { - display: inline-block; - vertical-align: top; - width: auto; - line-height: 28px; - font-size: 14px; - padding: 0; - margin: 0 6px; -} -.l-btn-icon { - display: inline-block; - width: 16px; - height: 16px; - line-height: 16px; - position: absolute; - top: 50%; - margin-top: -8px; - font-size: 1px; -} -.l-btn span span .l-btn-empty { - display: inline-block; - margin: 0; - width: 16px; - height: 24px; - font-size: 1px; - vertical-align: top; -} -.l-btn span .l-btn-icon-left { - padding: 0 0 0 20px; - background-position: left center; -} -.l-btn span .l-btn-icon-right { - padding: 0 20px 0 0; - background-position: right center; -} -.l-btn-icon-left .l-btn-text { - margin: 0 6px 0 26px; -} -.l-btn-icon-left .l-btn-icon { - left: 6px; -} -.l-btn-icon-right .l-btn-text { - margin: 0 26px 0 6px; -} -.l-btn-icon-right .l-btn-icon { - right: 6px; -} -.l-btn-icon-top .l-btn-text { - margin: 20px 4px 0 4px; -} -.l-btn-icon-top .l-btn-icon { - top: 4px; - left: 50%; - margin: 0 0 0 -8px; -} -.l-btn-icon-bottom .l-btn-text { - margin: 0 4px 20px 4px; -} -.l-btn-icon-bottom .l-btn-icon { - top: auto; - bottom: 4px; - left: 50%; - margin: 0 0 0 -8px; -} -.l-btn-left .l-btn-empty { - margin: 0 6px; - width: 16px; -} -.l-btn-plain:hover { - padding: 0; -} -.l-btn-focus { - outline: #0000FF dotted thin; -} -.l-btn-large .l-btn-text { - line-height: 44px; -} -.l-btn-large .l-btn-icon { - width: 32px; - height: 32px; - line-height: 32px; - margin-top: -16px; -} -.l-btn-large .l-btn-icon-left .l-btn-text { - margin-left: 40px; -} -.l-btn-large .l-btn-icon-right .l-btn-text { - margin-right: 40px; -} -.l-btn-large .l-btn-icon-top .l-btn-text { - margin-top: 36px; - line-height: 24px; - min-width: 32px; -} -.l-btn-large .l-btn-icon-top .l-btn-icon { - margin: 0 0 0 -16px; -} -.l-btn-large .l-btn-icon-bottom .l-btn-text { - margin-bottom: 36px; - line-height: 24px; - min-width: 32px; -} -.l-btn-large .l-btn-icon-bottom .l-btn-icon { - margin: 0 0 0 -16px; -} -.l-btn-large .l-btn-left .l-btn-empty { - margin: 0 6px; - width: 32px; -} -.l-btn { - color: #fff; - background: #777; - background-repeat: repeat-x; - border: 1px solid #555; - background: -webkit-linear-gradient(top,#919191 0,#6a6a6a 100%); - background: -moz-linear-gradient(top,#919191 0,#6a6a6a 100%); - background: -o-linear-gradient(top,#919191 0,#6a6a6a 100%); - background: linear-gradient(to bottom,#919191 0,#6a6a6a 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#919191,endColorstr=#6a6a6a,GradientType=0); - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.l-btn:hover { - background: #777; - color: #fff; - border: 1px solid #555; - filter: none; -} -.l-btn-plain { - background: transparent; - border-width: 0; - filter: none; -} -.l-btn-outline { - border-width: 1px; - border-color: #555; - padding: 0; -} -.l-btn-plain:hover { - background: #777; - color: #fff; - border: 1px solid #555; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.l-btn-disabled, -.l-btn-disabled:hover { - opacity: 0.5; - cursor: default; - background: #777; - color: #fff; - background: -webkit-linear-gradient(top,#919191 0,#6a6a6a 100%); - background: -moz-linear-gradient(top,#919191 0,#6a6a6a 100%); - background: -o-linear-gradient(top,#919191 0,#6a6a6a 100%); - background: linear-gradient(to bottom,#919191 0,#6a6a6a 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#919191,endColorstr=#6a6a6a,GradientType=0); -} -.l-btn-disabled .l-btn-text, -.l-btn-disabled .l-btn-icon { - filter: alpha(opacity=50); -} -.l-btn-plain-disabled, -.l-btn-plain-disabled:hover { - background: transparent; - filter: alpha(opacity=50); -} -.l-btn-selected, -.l-btn-selected:hover { - background: #000; - filter: none; -} -.l-btn-plain-selected, -.l-btn-plain-selected:hover { - background: #000; -} -.textbox { - position: relative; - border: 1px solid #000; - background-color: #fff; - vertical-align: middle; - display: inline-block; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.textbox .textbox-text { - font-size: 14px; - border: 0; - margin: 0; - padding: 0 4px; - white-space: normal; - vertical-align: top; - outline-style: none; - resize: none; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - height: 28px; - line-height: 28px; -} -.textbox textarea.textbox-text { - line-height: normal; -} -.textbox .textbox-text::-ms-clear, -.textbox .textbox-text::-ms-reveal { - display: none; -} -.textbox textarea.textbox-text { - white-space: pre-wrap; -} -.textbox .textbox-prompt { - font-size: 14px; - color: #aaa; -} -.textbox .textbox-bgicon { - background-position: 3px center; - padding-left: 21px; -} -.textbox .textbox-button, -.textbox .textbox-button:hover { - position: absolute; - top: 0; - padding: 0; - vertical-align: top; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.textbox .textbox-button-right, -.textbox .textbox-button-right:hover { - right: 0; - border-width: 0 0 0 1px; -} -.textbox .textbox-button-left, -.textbox .textbox-button-left:hover { - left: 0; - border-width: 0 1px 0 0; -} -.textbox .textbox-button-top, -.textbox .textbox-button-top:hover { - left: 0; - border-width: 0 0 1px 0; -} -.textbox .textbox-button-bottom, -.textbox .textbox-button-bottom:hover { - top: auto; - bottom: 0; - left: 0; - border-width: 1px 0 0 0; -} -.textbox-addon { - position: absolute; - top: 0; -} -.textbox-label { - display: inline-block; - width: 80px; - height: 30px; - line-height: 30px; - vertical-align: middle; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - margin: 0; - padding-right: 5px; -} -.textbox-label-after { - padding-left: 5px; - padding-right: 0; -} -.textbox-label-top { - display: block; - width: auto; - padding: 0; -} -.textbox-disabled, -.textbox-label-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-icon { - display: inline-block; - width: 18px; - height: 20px; - overflow: hidden; - vertical-align: top; - background-position: center center; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); - text-decoration: none; - outline-style: none; -} -.textbox-icon-disabled, -.textbox-icon-readonly { - cursor: default; -} -.textbox-icon:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.textbox-icon-disabled:hover { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-focused { - border-color: #000000; - -moz-box-shadow: 0 0 3px 0 #000; - -webkit-box-shadow: 0 0 3px 0 #000; - box-shadow: 0 0 3px 0 #000; -} -.textbox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; -} -.passwordbox-open { - background: url('images/passwordbox_open.png') no-repeat center center; -} -.passwordbox-close { - background: url('images/passwordbox_close.png') no-repeat center center; -} -.filebox .textbox-value { - vertical-align: top; - position: absolute; - top: 0; - left: -5000px; -} -.filebox-label { - display: inline-block; - position: absolute; - width: 100%; - height: 100%; - cursor: pointer; - left: 0; - top: 0; - z-index: 10; - background: url('images/blank.gif') no-repeat; -} -.l-btn-disabled .filebox-label { - cursor: default; -} -.combo-arrow { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.combo-arrow-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.combo-panel { - overflow: auto; -} -.combo-arrow { - background: url('images/combo_arrow.png') no-repeat center center; -} -.combo-panel { - background-color: #666; -} -.combo-arrow { - background-color: #3d3d3d; -} -.combo-arrow-hover { - background-color: #777; -} -.combo-arrow:hover { - background-color: #777; -} -.combo .textbox-icon-disabled:hover { - cursor: default; -} -.combobox-item, -.combobox-group, -.combobox-stick { - font-size: 14px; - padding: 6px 4px; - line-height: 20px; -} -.combobox-item-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.combobox-gitem { - padding-left: 10px; -} -.combobox-group, -.combobox-stick { - font-weight: bold; -} -.combobox-stick { - position: absolute; - top: 1px; - left: 1px; - right: 1px; - background: inherit; -} -.combobox-item-hover { - background-color: #777; - color: #fff; -} -.combobox-item-selected { - background-color: #0052A3; - color: #fff; -} -.combobox-icon { - display: inline-block; - width: 16px; - height: 16px; - vertical-align: middle; - margin-right: 2px; -} -.tagbox { - cursor: text; -} -.tagbox .textbox-text { - float: left; -} -.tagbox-label { - position: relative; - display: block; - margin: 4px 0 0 4px; - padding: 0 20px 0 4px; - float: left; - vertical-align: top; - text-decoration: none; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - background: #777; - color: #fff; -} -.tagbox-remove { - background: url('images/tagbox_icons.png') no-repeat -16px center; - position: absolute; - display: block; - width: 16px; - height: 16px; - right: 2px; - top: 50%; - margin-top: -8px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tagbox-remove:hover { - opacity: 1; - filter: alpha(opacity=100); -} -.textbox-disabled .tagbox-label { - cursor: default; -} -.textbox-disabled .tagbox-remove:hover { - cursor: default; - opacity: 0.6; - filter: alpha(opacity=60); -} -.layout { - position: relative; - overflow: hidden; - margin: 0; - padding: 0; - z-index: 0; -} -.layout-panel { - position: absolute; - overflow: hidden; -} -.layout-body { - min-width: 1px; - min-height: 1px; -} -.layout-panel-east, -.layout-panel-west { - z-index: 2; -} -.layout-panel-north, -.layout-panel-south { - z-index: 3; -} -.layout-expand { - position: absolute; - padding: 0px; - font-size: 1px; - cursor: pointer; - z-index: 1; -} -.layout-expand .panel-header, -.layout-expand .panel-body { - background: transparent; - filter: none; - overflow: hidden; -} -.layout-expand .panel-header { - border-bottom-width: 0px; -} -.layout-expand .panel-body { - position: relative; -} -.layout-expand .panel-body .panel-icon { - margin-top: 0; - top: 0; - left: 50%; - margin-left: -8px; -} -.layout-expand-west .panel-header .panel-icon, -.layout-expand-east .panel-header .panel-icon { - display: none; -} -.layout-expand-title { - position: absolute; - top: 0; - left: 21px; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(90deg); - -o-transform-origin: 0 0; - transform: rotate(90deg); - transform-origin: 0 0; -} -.layout-expand-title-up { - position: absolute; - top: 0; - left: 0; - text-align: right; - padding-left: 5px; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(-90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(-90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(-90deg); - -o-transform-origin: 0 0; - transform: rotate(-90deg); - transform-origin: 0 0; -} -.layout-expand-with-icon { - top: 18px; -} -.layout-expand .panel-body-noheader .layout-expand-title, -.layout-expand .panel-body-noheader .panel-icon { - top: 5px; -} -.layout-expand .panel-body-noheader .layout-expand-with-icon { - top: 23px; -} -.layout-split-proxy-h, -.layout-split-proxy-v { - position: absolute; - font-size: 1px; - display: none; - z-index: 5; -} -.layout-split-proxy-h { - width: 5px; - cursor: e-resize; -} -.layout-split-proxy-v { - height: 5px; - cursor: n-resize; -} -.layout-mask { - position: absolute; - background: #fafafa; - filter: alpha(opacity=10); - opacity: 0.10; - z-index: 4; -} -.layout-button-up { - background: url('images/layout_arrows.png') no-repeat -16px -16px; -} -.layout-button-down { - background: url('images/layout_arrows.png') no-repeat -16px 0; -} -.layout-button-left { - background: url('images/layout_arrows.png') no-repeat 0 0; -} -.layout-button-right { - background: url('images/layout_arrows.png') no-repeat 0 -16px; -} -.layout-split-proxy-h, -.layout-split-proxy-v { - background-color: #cccccc; -} -.layout-split-north { - border-bottom: 5px solid #444; -} -.layout-split-south { - border-top: 5px solid #444; -} -.layout-split-east { - border-left: 5px solid #444; -} -.layout-split-west { - border-right: 5px solid #444; -} -.layout-expand { - background-color: #3d3d3d; -} -.layout-expand-over { - background-color: #3d3d3d; -} -.tabs-container { - overflow: hidden; -} -.tabs-header { - border-width: 1px; - border-style: solid; - border-bottom-width: 0; - position: relative; - padding: 0; - padding-top: 2px; - overflow: hidden; -} -.tabs-scroller-left, -.tabs-scroller-right { - position: absolute; - top: auto; - bottom: 0; - width: 18px; - font-size: 1px; - display: none; - cursor: pointer; - border-width: 1px; - border-style: solid; -} -.tabs-scroller-left { - left: 0; -} -.tabs-scroller-right { - right: 0; -} -.tabs-tool { - position: absolute; - bottom: 0; - padding: 1px; - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.tabs-header-plain .tabs-tool { - padding: 0 1px; -} -.tabs-wrap { - position: relative; - left: 0; - overflow: hidden; - width: 100%; - margin: 0; - padding: 0; -} -.tabs-scrolling { - margin-left: 18px; - margin-right: 18px; -} -.tabs-disabled { - opacity: 0.3; - filter: alpha(opacity=30); -} -.tabs { - list-style-type: none; - height: 26px; - margin: 0px; - padding: 0px; - padding-left: 4px; - width: 50000px; - border-style: solid; - border-width: 0 0 1px 0; -} -.tabs li { - float: left; - display: inline-block; - margin: 0 4px -1px 0; - padding: 0; - position: relative; - border: 0; -} -.tabs li a.tabs-inner { - display: inline-block; - text-decoration: none; - margin: 0; - padding: 0 10px; - height: 25px; - line-height: 25px; - text-align: center; - white-space: nowrap; - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 0 0; - -webkit-border-radius: 5px 5px 0 0; - border-radius: 5px 5px 0 0; -} -.tabs li.tabs-selected a.tabs-inner { - font-weight: bold; - outline: none; -} -.tabs li.tabs-selected a:hover.tabs-inner { - cursor: default; - pointer: default; -} -.tabs li a.tabs-close, -.tabs-p-tool { - position: absolute; - font-size: 1px; - display: block; - height: 12px; - padding: 0; - top: 50%; - margin-top: -6px; - overflow: hidden; -} -.tabs li a.tabs-close { - width: 12px; - right: 5px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs-p-tool { - right: 16px; -} -.tabs-p-tool a { - display: inline-block; - font-size: 1px; - width: 12px; - height: 12px; - margin: 0; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs li a:hover.tabs-close, -.tabs-p-tool a:hover { - opacity: 1; - filter: alpha(opacity=100); - cursor: hand; - cursor: pointer; -} -.tabs-with-icon { - padding-left: 18px; -} -.tabs-icon { - position: absolute; - width: 16px; - height: 16px; - left: 10px; - top: 50%; - margin-top: -8px; -} -.tabs-title { - font-size: 14px; -} -.tabs-closable { - padding-right: 8px; -} -.tabs-panels { - margin: 0px; - padding: 0px; - border-width: 1px; - border-style: solid; - border-top-width: 0; - overflow: hidden; -} -.tabs-header-bottom { - border-width: 0 1px 1px 1px; - padding: 0 0 2px 0; -} -.tabs-header-bottom .tabs { - border-width: 1px 0 0 0; -} -.tabs-header-bottom .tabs li { - margin: -1px 4px 0 0; -} -.tabs-header-bottom .tabs li a.tabs-inner { - -moz-border-radius: 0 0 5px 5px; - -webkit-border-radius: 0 0 5px 5px; - border-radius: 0 0 5px 5px; -} -.tabs-header-bottom .tabs-tool { - top: 0; -} -.tabs-header-bottom .tabs-scroller-left, -.tabs-header-bottom .tabs-scroller-right { - top: 0; - bottom: auto; -} -.tabs-panels-top { - border-width: 1px 1px 0 1px; -} -.tabs-header-left { - float: left; - border-width: 1px 0 1px 1px; - padding: 0; -} -.tabs-header-right { - float: right; - border-width: 1px 1px 1px 0; - padding: 0; -} -.tabs-header-left .tabs-wrap, -.tabs-header-right .tabs-wrap { - height: 100%; -} -.tabs-header-left .tabs { - height: 100%; - padding: 4px 0 0 2px; - border-width: 0 1px 0 0; -} -.tabs-header-right .tabs { - height: 100%; - padding: 4px 2px 0 0; - border-width: 0 0 0 1px; -} -.tabs-header-left .tabs li, -.tabs-header-right .tabs li { - display: block; - width: 100%; - position: relative; -} -.tabs-header-left .tabs li { - left: auto; - right: 0; - margin: 0 -1px 4px 0; - float: right; -} -.tabs-header-right .tabs li { - left: 0; - right: auto; - margin: 0 0 4px -1px; - float: left; -} -.tabs-justified li a.tabs-inner { - padding-left: 0; - padding-right: 0; -} -.tabs-header-left .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.tabs-header-right .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 0 5px 5px 0; - -webkit-border-radius: 0 5px 5px 0; - border-radius: 0 5px 5px 0; -} -.tabs-panels-right { - float: right; - border-width: 1px 1px 1px 0; -} -.tabs-panels-left { - float: left; - border-width: 1px 0 1px 1px; -} -.tabs-header-noborder, -.tabs-panels-noborder { - border: 0px; -} -.tabs-header-plain { - border: 0px; - background: transparent; -} -.tabs-pill { - padding-bottom: 3px; -} -.tabs-header-bottom .tabs-pill { - padding-top: 3px; - padding-bottom: 0; -} -.tabs-header-left .tabs-pill { - padding-right: 3px; -} -.tabs-header-right .tabs-pill { - padding-left: 3px; -} -.tabs-header .tabs-pill li a.tabs-inner { - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.tabs-header-narrow, -.tabs-header-narrow .tabs-narrow { - padding: 0; -} -.tabs-narrow li, -.tabs-header-bottom .tabs-narrow li { - margin-left: 0; - margin-right: -1px; -} -.tabs-narrow li.tabs-last, -.tabs-header-bottom .tabs-narrow li.tabs-last { - margin-right: 0; -} -.tabs-header-left .tabs-narrow, -.tabs-header-right .tabs-narrow { - padding-top: 0; -} -.tabs-header-left .tabs-narrow li { - margin-bottom: -1px; - margin-right: -1px; -} -.tabs-header-left .tabs-narrow li.tabs-last, -.tabs-header-right .tabs-narrow li.tabs-last { - margin-bottom: 0; -} -.tabs-header-right .tabs-narrow li { - margin-bottom: -1px; - margin-left: -1px; -} -.tabs-scroller-left { - background: #3d3d3d url('images/tabs_icons.png') no-repeat 1px center; -} -.tabs-scroller-right { - background: #3d3d3d url('images/tabs_icons.png') no-repeat -15px center; -} -.tabs li a.tabs-close { - background: url('images/tabs_icons.png') no-repeat -34px center; -} -.tabs li a.tabs-inner:hover { - background: #777; - color: #fff; - filter: none; -} -.tabs li.tabs-selected a.tabs-inner { - background-color: #666; - color: #fff; - background: -webkit-linear-gradient(top,#454545 0,#666 100%); - background: -moz-linear-gradient(top,#454545 0,#666 100%); - background: -o-linear-gradient(top,#454545 0,#666 100%); - background: linear-gradient(to bottom,#454545 0,#666 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#666,GradientType=0); -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(top,#666 0,#454545 100%); - background: -moz-linear-gradient(top,#666 0,#454545 100%); - background: -o-linear-gradient(top,#666 0,#454545 100%); - background: linear-gradient(to bottom,#666 0,#454545 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#666,endColorstr=#454545,GradientType=0); -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(left,#454545 0,#666 100%); - background: -moz-linear-gradient(left,#454545 0,#666 100%); - background: -o-linear-gradient(left,#454545 0,#666 100%); - background: linear-gradient(to right,#454545 0,#666 100%); - background-repeat: repeat-y; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#666,GradientType=1); -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(left,#666 0,#454545 100%); - background: -moz-linear-gradient(left,#666 0,#454545 100%); - background: -o-linear-gradient(left,#666 0,#454545 100%); - background: linear-gradient(to right,#666 0,#454545 100%); - background-repeat: repeat-y; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#666,endColorstr=#454545,GradientType=1); -} -.tabs li a.tabs-inner { - color: #fff; - background-color: #3d3d3d; - background: -webkit-linear-gradient(top,#454545 0,#383838 100%); - background: -moz-linear-gradient(top,#454545 0,#383838 100%); - background: -o-linear-gradient(top,#454545 0,#383838 100%); - background: linear-gradient(to bottom,#454545 0,#383838 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0); -} -.tabs-header, -.tabs-tool { - background-color: #3d3d3d; -} -.tabs-header-plain { - background: transparent; -} -.tabs-header, -.tabs-scroller-left, -.tabs-scroller-right, -.tabs-tool, -.tabs, -.tabs-panels, -.tabs li a.tabs-inner, -.tabs li.tabs-selected a.tabs-inner, -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, -.tabs-header-left .tabs li.tabs-selected a.tabs-inner, -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-color: #000; -} -.tabs-p-tool a:hover, -.tabs li a:hover.tabs-close, -.tabs-scroller-over { - background-color: #777; -} -.tabs li.tabs-selected a.tabs-inner { - border-bottom: 1px solid #666; -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - border-top: 1px solid #666; -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - border-right: 1px solid #666; -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-left: 1px solid #666; -} -.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { - background: #0052A3; - color: #fff; - filter: none; - border-color: #000; -} -.datagrid .panel-body { - overflow: hidden; - position: relative; -} -.datagrid-view { - position: relative; - overflow: hidden; -} -.datagrid-view1, -.datagrid-view2 { - position: absolute; - overflow: hidden; - top: 0; -} -.datagrid-view1 { - left: 0; -} -.datagrid-view2 { - right: 0; -} -.datagrid-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0.3; - filter: alpha(opacity=30); - display: none; -} -.datagrid-mask-msg { - position: absolute; - top: 50%; - margin-top: -20px; - padding: 10px 5px 10px 30px; - width: auto; - height: 16px; - border-width: 2px; - border-style: solid; - display: none; -} -.datagrid-empty { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 25px; - line-height: 25px; - text-align: center; -} -.datagrid-sort-icon { - padding: 0; - display: none; -} -.datagrid-toolbar { - height: auto; - padding: 1px 2px; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-btn-separator { - float: left; - height: 24px; - border-left: 1px solid #444; - border-right: 1px solid #777; - margin: 2px 1px; -} -.datagrid .datagrid-pager { - display: block; - margin: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.datagrid .datagrid-pager-top { - border-width: 0 0 1px 0; -} -.datagrid-header { - overflow: hidden; - cursor: default; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-header-inner { - float: left; - width: 10000px; -} -.datagrid-header-row, -.datagrid-row { - height: 32px; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-width: 0 1px 1px 0; - border-style: dotted; - margin: 0; - padding: 0; -} -.datagrid-cell, -.datagrid-cell-group, -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - margin: 0; - padding: 0 4px; - white-space: nowrap; - word-wrap: normal; - overflow: hidden; - height: 18px; - line-height: 18px; - font-size: 14px; -} -.datagrid-header .datagrid-cell { - height: auto; -} -.datagrid-header .datagrid-cell span { - font-size: 14px; -} -.datagrid-cell-group { - text-align: center; - text-overflow: ellipsis; -} -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - width: 30px; - text-align: center; - margin: 0; - padding: 0; -} -.datagrid-body { - margin: 0; - padding: 0; - overflow: auto; - zoom: 1; -} -.datagrid-view1 .datagrid-body-inner { - padding-bottom: 20px; -} -.datagrid-view1 .datagrid-body { - overflow: hidden; -} -.datagrid-footer { - overflow: hidden; -} -.datagrid-footer-inner { - border-width: 1px 0 0 0; - border-style: solid; - width: 10000px; - float: left; -} -.datagrid-row-editing .datagrid-cell { - height: auto; -} -.datagrid-header-check, -.datagrid-cell-check { - padding: 0; - width: 27px; - height: 18px; - font-size: 1px; - text-align: center; - overflow: hidden; -} -.datagrid-header-check input, -.datagrid-cell-check input { - margin: 0; - padding: 0; - width: 15px; - height: 18px; -} -.datagrid-resize-proxy { - position: absolute; - width: 1px; - height: 10000px; - top: 0; - cursor: e-resize; - display: none; -} -.datagrid-body .datagrid-editable { - margin: 0; - padding: 0; -} -.datagrid-body .datagrid-editable table { - width: 100%; - height: 100%; -} -.datagrid-body .datagrid-editable td { - border: 0; - margin: 0; - padding: 0; -} -.datagrid-view .datagrid-editable-input { - margin: 0; - padding: 2px 4px; - border: 1px solid #000; - font-size: 14px; - outline-style: none; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-view .validatebox-invalid { - border-color: #ffa8a8; -} -.datagrid-sort .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -64px center; -} -.datagrid-sort-desc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -16px center; -} -.datagrid-sort-asc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat 0px center; -} -.datagrid-row-collapse { - background: url('images/datagrid_icons.png') no-repeat -48px center; -} -.datagrid-row-expand { - background: url('images/datagrid_icons.png') no-repeat -32px center; -} -.datagrid-mask-msg { - background: #666 url('images/loading.gif') no-repeat scroll 5px center; -} -.datagrid-header, -.datagrid-td-rownumber { - background-color: #444; - background: -webkit-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%); - background: -moz-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%); - background: -o-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%); - background: linear-gradient(to bottom,#4c4c4c 0,#3f3f3f 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4c4c4c,endColorstr=#3f3f3f,GradientType=0); -} -.datagrid-cell-rownumber { - color: #fff; -} -.datagrid-resize-proxy { - background: #cccccc; -} -.datagrid-mask { - background: #000; -} -.datagrid-mask-msg { - border-color: #000; -} -.datagrid-toolbar, -.datagrid-pager { - background: #555; -} -.datagrid-header, -.datagrid-toolbar, -.datagrid-pager, -.datagrid-footer-inner { - border-color: #222; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-color: #222; -} -.datagrid-htable, -.datagrid-btable, -.datagrid-ftable { - color: #fff; - border-collapse: separate; -} -.datagrid-row-alt { - background: #555; -} -.datagrid-row-over, -.datagrid-header td.datagrid-header-over { - background: #777; - color: #fff; - cursor: default; -} -.datagrid-row-selected { - background: #0052A3; - color: #fff; -} -.datagrid-row-editing .textbox, -.datagrid-row-editing .textbox-text { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-header .datagrid-filter-row td.datagrid-header-over { - background: inherit; -} -.propertygrid .datagrid-view1 .datagrid-body td { - padding-bottom: 1px; - border-width: 0 1px 0 0; -} -.propertygrid .datagrid-group { - overflow: hidden; - border-width: 0 0 1px 0; - border-style: solid; -} -.propertygrid .datagrid-group span { - font-weight: bold; -} -.propertygrid .datagrid-view1 .datagrid-body td { - border-color: #222; -} -.propertygrid .datagrid-view1 .datagrid-group { - border-color: #3d3d3d; -} -.propertygrid .datagrid-view2 .datagrid-group { - border-color: #222; -} -.propertygrid .datagrid-group, -.propertygrid .datagrid-view1 .datagrid-body, -.propertygrid .datagrid-view1 .datagrid-row-over, -.propertygrid .datagrid-view1 .datagrid-row-selected { - background: #3d3d3d; -} -.datalist .datagrid-header { - border-width: 0; -} -.datalist .datagrid-group, -.m-list .m-list-group { - height: 25px; - line-height: 25px; - font-weight: bold; - overflow: hidden; - background-color: #444; - border-style: solid; - border-width: 0 0 1px 0; - border-color: #222; -} -.datalist .datagrid-group-expander { - display: none; -} -.datalist .datagrid-group-title { - padding: 0 4px; -} -.datalist .datagrid-btable { - width: 100%; - table-layout: fixed; -} -.datalist .datagrid-row td { - border-style: solid; - border-left-color: transparent; - border-right-color: transparent; - border-bottom-width: 0; -} -.datalist-lines .datagrid-row td { - border-bottom-width: 1px; -} -.datalist .datagrid-cell, -.m-list li { - width: auto; - height: auto; - padding: 2px 4px; - line-height: 18px; - position: relative; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link, -.m-list li>a { - display: block; - position: relative; - cursor: pointer; - color: #fff; - text-decoration: none; - overflow: hidden; - margin: -2px -4px; - padding: 2px 4px; - padding-right: 16px; - line-height: 18px; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link::after, -.m-list li>a::after { - position: absolute; - display: block; - width: 8px; - height: 8px; - content: ''; - right: 6px; - top: 50%; - margin-top: -4px; - border-style: solid; - border-width: 1px 1px 0 0; - -ms-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -webkit-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); -} -.m-list { - margin: 0; - padding: 0; - list-style: none; -} -.m-list li { - border-style: solid; - border-width: 0 0 1px 0; - border-color: #222; -} -.m-list li>a:hover { - background: #777; - color: #fff; -} -.m-list .m-list-group { - padding: 0 4px; -} -.pagination { - zoom: 1; - padding: 2px; -} -.pagination table { - float: left; - height: 30px; -} -.pagination td { - border: 0; -} -.pagination-btn-separator { - float: left; - height: 24px; - border-left: 1px solid #444; - border-right: 1px solid #777; - margin: 3px 1px; -} -.pagination .pagination-num { - border-width: 1px; - border-style: solid; - margin: 0 2px; - padding: 2px; - width: 3em; - height: auto; - text-align: center; - font-size: 14px; -} -.pagination-page-list { - margin: 0px 6px; - padding: 1px 2px; - width: auto; - height: auto; - border-width: 1px; - border-style: solid; -} -.pagination-info { - float: right; - margin: 0 6px; - padding: 0; - height: 30px; - line-height: 30px; - font-size: 14px; -} -.pagination span { - font-size: 14px; -} -.pagination-link .l-btn-text { - box-sizing: border-box; - text-align: center; - margin: 0; - padding: 0 .5em; - width: auto; - min-width: 28px; -} -.pagination-first { - background: url('images/pagination_icons.png') no-repeat 0 center; -} -.pagination-prev { - background: url('images/pagination_icons.png') no-repeat -16px center; -} -.pagination-next { - background: url('images/pagination_icons.png') no-repeat -32px center; -} -.pagination-last { - background: url('images/pagination_icons.png') no-repeat -48px center; -} -.pagination-load { - background: url('images/pagination_icons.png') no-repeat -64px center; -} -.pagination-loading { - background: url('images/loading.gif') no-repeat center center; -} -.pagination-page-list, -.pagination .pagination-num { - border-color: #000; -} -.calendar { - border-width: 1px; - border-style: solid; - padding: 1px; - overflow: hidden; -} -.calendar table { - table-layout: fixed; - border-collapse: separate; - font-size: 14px; - width: 100%; - height: 100%; -} -.calendar table td, -.calendar table th { - font-size: 14px; -} -.calendar-noborder { - border: 0; -} -.calendar-header { - position: relative; - height: 28px; -} -.calendar-title { - text-align: center; - height: 28px; -} -.calendar-title span { - position: relative; - display: inline-block; - top: 0px; - padding: 0 3px; - height: 28px; - line-height: 28px; - font-size: 14px; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-prevmonth, -.calendar-nextmonth, -.calendar-prevyear, -.calendar-nextyear { - position: absolute; - top: 50%; - margin-top: -8px; - width: 16px; - height: 16px; - cursor: pointer; - font-size: 1px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-prevmonth { - left: 20px; - background: url('images/calendar_arrows.png') no-repeat -16px 0; -} -.calendar-nextmonth { - right: 20px; - background: url('images/calendar_arrows.png') no-repeat -32px 0; -} -.calendar-prevyear { - left: 3px; - background: url('images/calendar_arrows.png') no-repeat 0px 0; -} -.calendar-nextyear { - right: 3px; - background: url('images/calendar_arrows.png') no-repeat -48px 0; -} -.calendar-body { - position: relative; -} -.calendar-body th, -.calendar-body td { - text-align: center; -} -.calendar-day { - border: 0; - padding: 1px; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-other-month { - opacity: 0.3; - filter: alpha(opacity=30); -} -.calendar-disabled { - opacity: 0.6; - filter: alpha(opacity=60); - cursor: default; -} -.calendar-menu { - position: absolute; - top: 0; - left: 0; - width: 180px; - height: 150px; - padding: 5px; - font-size: 14px; - display: none; - overflow: hidden; -} -.calendar-menu-year-inner { - text-align: center; - padding-bottom: 5px; -} -.calendar-menu-year { - width: 80px; - line-height: 26px; - text-align: center; - border-width: 1px; - border-style: solid; - outline-style: none; - resize: none; - margin: 0; - padding: 0; - font-weight: bold; - font-size: 14px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-menu-prev, -.calendar-menu-next { - display: inline-block; - width: 25px; - height: 28px; - vertical-align: top; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-menu-prev { - margin-right: 10px; - background: url('images/calendar_arrows.png') no-repeat 5px center; -} -.calendar-menu-next { - margin-left: 10px; - background: url('images/calendar_arrows.png') no-repeat -44px center; -} -.calendar-menu-month { - text-align: center; - cursor: pointer; - font-weight: bold; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-body th, -.calendar-menu-month { - color: #ffffff; -} -.calendar-day { - color: #fff; -} -.calendar-sunday { - color: #CC2222; -} -.calendar-saturday { - color: #00ee00; -} -.calendar-today { - color: #0000ff; -} -.calendar-menu-year { - border-color: #000; -} -.calendar { - border-color: #000; -} -.calendar-header { - background: #3d3d3d; -} -.calendar-body, -.calendar-menu { - background: #666; -} -.calendar-body th { - background: #555; - padding: 4px 0; -} -.calendar-hover, -.calendar-nav-hover, -.calendar-menu-hover { - background-color: #777; - color: #fff; -} -.calendar-hover { - border: 1px solid #555; - padding: 0; -} -.calendar-selected { - background-color: #0052A3; - color: #fff; - border: 1px solid #00458a; - padding: 0; -} -.datebox-calendar-inner { - height: 250px; -} -.datebox-button { - padding: 4px 0; - text-align: center; -} -.datebox-button a { - line-height: 22px; - font-size: 14px; - font-weight: bold; - text-decoration: none; - opacity: 0.6; - filter: alpha(opacity=60); -} -.datebox-button a:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.datebox-current, -.datebox-close { - float: left; -} -.datebox-close { - float: right; -} -.datebox .combo-arrow { - background-image: url('images/datebox_arrow.png'); - background-position: center center; -} -.datebox-button { - background-color: #555; -} -.datebox-button a { - color: #fff; -} -.spinner-arrow { - display: inline-block; - overflow: hidden; - vertical-align: top; - margin: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - width: 18px; -} -.spinner-arrow.spinner-button-top, -.spinner-arrow.spinner-button-bottom, -.spinner-arrow.spinner-button-left, -.spinner-arrow.spinner-button-right { - background-color: #3d3d3d; -} -.spinner-arrow-up, -.spinner-arrow-down { - opacity: 0.6; - filter: alpha(opacity=60); - display: block; - font-size: 1px; - width: 18px; - height: 10px; - width: 100%; - height: 50%; - color: #fff; - outline-style: none; - background-color: #3d3d3d; -} -.spinner-button-updown { - opacity: 1.0; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - position: relative; - display: block; - width: 100%; - height: 50%; -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down { - opacity: 1.0; - filter: alpha(opacity=100); - cursor: pointer; - width: 16px; - height: 16px; - top: 50%; - left: 50%; - margin-top: -8px; - margin-left: -8px; - position: absolute; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-button-updown .spinner-button-top:hover, -.spinner-button-updown .spinner-button-bottom:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down, -.spinner-button-updown .spinner-arrow-up:hover, -.spinner-button-updown .spinner-arrow-down:hover { - background-color: transparent; -} -.spinner-arrow-hover { - background-color: #777; - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-top:hover, -.spinner-button-bottom:hover, -.spinner-button-left:hover, -.spinner-button-right:hover, -.spinner-arrow-up:hover, -.spinner-arrow-down:hover { - opacity: 1.0; - filter: alpha(opacity=100); - background-color: #777; -} -.textbox-disabled .spinner-button-top:hover, -.textbox-disabled .spinner-button-bottom:hover, -.textbox-disabled .spinner-button-left:hover, -.textbox-disabled .spinner-button-right:hover, -.textbox-icon-disabled .spinner-arrow-up:hover, -.textbox-icon-disabled .spinner-arrow-down:hover { - opacity: 0.6; - filter: alpha(opacity=60); - background-color: #3d3d3d; - cursor: default; -} -.spinner .textbox-icon-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-arrow-up { - background: url('images/spinner_arrows.png') no-repeat 1px center; - background-color: #3d3d3d; -} -.spinner-arrow-down { - background: url('images/spinner_arrows.png') no-repeat -15px center; - background-color: #3d3d3d; -} -.spinner-button-up { - background: url('images/spinner_arrows.png') no-repeat -32px center; -} -.spinner-button-down { - background: url('images/spinner_arrows.png') no-repeat -48px center; -} -.progressbar { - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - overflow: hidden; - position: relative; -} -.progressbar-text { - text-align: center; - position: absolute; -} -.progressbar-value { - position: relative; - overflow: hidden; - width: 0; - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.progressbar { - border-color: #000; -} -.progressbar-text { - color: #fff; - font-size: 14px; -} -.progressbar-value, -.progressbar-value .progressbar-text { - background-color: #0052A3; - color: #fff; -} -.searchbox-button { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.searchbox-button-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.searchbox .l-btn-plain { - border: 0; - padding: 0; - vertical-align: top; - opacity: 0.6; - filter: alpha(opacity=60); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .l-btn-plain:hover { - border: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox a.m-btn-plain-active { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .m-btn-active { - border-width: 0 1px 0 0; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .textbox-button-right { - border-width: 0 0 0 1px; -} -.searchbox .textbox-button-left { - border-width: 0 1px 0 0; -} -.searchbox-button { - background: url('images/searchbox_button.png') no-repeat center center; -} -.searchbox .l-btn-plain { - background: #3d3d3d; -} -.searchbox .l-btn-plain-disabled, -.searchbox .l-btn-plain-disabled:hover { - opacity: 0.5; - filter: alpha(opacity=50); -} -.slider-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.slider-h { - height: 22px; -} -.slider-v { - width: 22px; -} -.slider-inner { - position: relative; - height: 6px; - top: 7px; - border-width: 1px; - border-style: solid; - border-radius: 5px; -} -.slider-handle { - position: absolute; - display: block; - outline: none; - width: 20px; - height: 20px; - top: 50%; - margin-top: -10px; - margin-left: -10px; -} -.slider-tip { - position: absolute; - display: inline-block; - line-height: 12px; - font-size: 14px; - white-space: nowrap; - top: -22px; -} -.slider-rule { - position: relative; - top: 15px; -} -.slider-rule span { - position: absolute; - display: inline-block; - font-size: 0; - height: 5px; - border-width: 0 0 0 1px; - border-style: solid; -} -.slider-rulelabel { - position: relative; - top: 20px; -} -.slider-rulelabel span { - position: absolute; - display: inline-block; - font-size: 14px; -} -.slider-v .slider-inner { - width: 6px; - left: 7px; - top: 0; - float: left; -} -.slider-v .slider-handle { - left: 50%; - margin-top: -10px; -} -.slider-v .slider-tip { - left: -10px; - margin-top: -6px; -} -.slider-v .slider-rule { - float: left; - top: 0; - left: 16px; -} -.slider-v .slider-rule span { - width: 5px; - height: 'auto'; - border-left: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.slider-v .slider-rulelabel { - float: left; - top: 0; - left: 23px; -} -.slider-handle { - background: url('images/slider_handle.png') no-repeat; -} -.slider-inner { - border-color: #000; - background: #3d3d3d; -} -.slider-rule span { - border-color: #000; -} -.slider-rulelabel span { - color: #fff; -} -.menu { - position: absolute; - margin: 0; - padding: 2px; - border-width: 1px; - border-style: solid; - overflow: hidden; -} -.menu-inline { - position: relative; -} -.menu-item { - position: relative; - margin: 0; - padding: 0; - overflow: hidden; - white-space: nowrap; - cursor: pointer; - border-width: 1px; - border-style: solid; -} -.menu-text { - height: 20px; - line-height: 20px; - float: left; - padding-left: 28px; -} -.menu-icon { - position: absolute; - width: 16px; - height: 16px; - left: 2px; - top: 50%; - margin-top: -8px; -} -.menu-rightarrow { - position: absolute; - width: 16px; - height: 16px; - right: 0; - top: 50%; - margin-top: -8px; -} -.menu-line { - position: absolute; - left: 26px; - top: 0; - height: 2000px; - font-size: 1px; -} -.menu-sep { - margin: 3px 0px 3px 25px; - font-size: 1px; -} -.menu-noline .menu-line { - display: none; -} -.menu-noline .menu-sep { - margin-left: 0; - margin-right: 0; -} -.menu-active { - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.menu-item-disabled { - opacity: 0.5; - filter: alpha(opacity=50); - cursor: default; -} -.menu-text, -.menu-text span { - font-size: 14px; -} -.menu-shadow { - position: absolute; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - background: #777; - -moz-box-shadow: 2px 2px 3px #787878; - -webkit-box-shadow: 2px 2px 3px #787878; - box-shadow: 2px 2px 3px #787878; - filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); -} -.menu-rightarrow { - background: url('images/menu_arrows.png') no-repeat -32px center; -} -.menu-line { - border-left: 1px solid #444; - border-right: 1px solid #777; -} -.menu-sep { - border-top: 1px solid #444; - border-bottom: 1px solid #777; -} -.menu { - background-color: #666; - border-color: #444; - color: #fff; -} -.menu-content { - background: #666; -} -.menu-item { - border-color: transparent; - _border-color: #666; -} -.menu-active { - border-color: #555; - color: #fff; - background: #777; -} -.menu-active-disabled { - border-color: transparent; - background: transparent; - color: #fff; -} -.m-btn-downarrow, -.s-btn-downarrow { - display: inline-block; - position: absolute; - width: 16px; - height: 16px; - font-size: 1px; - right: 0; - top: 50%; - margin-top: -8px; -} -.m-btn-active, -.s-btn-active { - background: #777; - color: #fff; - border: 1px solid #555; - filter: none; -} -.m-btn-plain-active, -.s-btn-plain-active { - background: transparent; - padding: 0; - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.m-btn .l-btn-left .l-btn-text { - margin-right: 20px; -} -.m-btn .l-btn-icon-right .l-btn-text { - margin-right: 40px; -} -.m-btn .l-btn-icon-right .l-btn-icon { - right: 20px; -} -.m-btn .l-btn-icon-top .l-btn-text { - margin-right: 4px; - margin-bottom: 14px; -} -.m-btn .l-btn-icon-bottom .l-btn-text { - margin-right: 4px; - margin-bottom: 34px; -} -.m-btn .l-btn-icon-bottom .l-btn-icon { - top: auto; - bottom: 20px; -} -.m-btn .l-btn-icon-top .m-btn-downarrow, -.m-btn .l-btn-icon-bottom .m-btn-downarrow { - top: auto; - bottom: 0px; - left: 50%; - margin-left: -8px; -} -.m-btn-line { - display: inline-block; - position: absolute; - font-size: 1px; - display: none; -} -.m-btn .l-btn-left .m-btn-line { - right: 0; - width: 16px; - height: 500px; - border-style: solid; - border-color: #cccccc; - border-width: 0 0 0 1px; -} -.m-btn .l-btn-icon-top .m-btn-line, -.m-btn .l-btn-icon-bottom .m-btn-line { - left: 0; - bottom: 0; - width: 500px; - height: 16px; - border-width: 1px 0 0 0; -} -.m-btn-large .l-btn-icon-right .l-btn-text { - margin-right: 56px; -} -.m-btn-large .l-btn-icon-bottom .l-btn-text { - margin-bottom: 50px; -} -.m-btn-downarrow, -.s-btn-downarrow { - background: url('images/menu_arrows.png') no-repeat 0 center; -} -.m-btn-plain-active, -.s-btn-plain-active { - border-color: #555; - background-color: #777; - color: #fff; -} -.s-btn:hover .m-btn-line, -.s-btn-active .m-btn-line, -.s-btn-plain-active .m-btn-line { - display: inline-block; -} -.l-btn:hover .s-btn-downarrow, -.s-btn-active .s-btn-downarrow, -.s-btn-plain-active .s-btn-downarrow { - border-style: solid; - border-color: #cccccc; - border-width: 0 0 0 1px; -} -.messager-body { - padding: 10px 10px 30px 10px; - overflow: auto; -} -.messager-button { - text-align: center; - padding: 5px; -} -.messager-button .l-btn { - width: 70px; -} -.messager-icon { - float: left; - width: 32px; - height: 32px; - margin: 0 10px 10px 0; -} -.messager-error { - background: url('images/messager_icons.png') no-repeat scroll -64px 0; -} -.messager-info { - background: url('images/messager_icons.png') no-repeat scroll 0 0; -} -.messager-question { - background: url('images/messager_icons.png') no-repeat scroll -32px 0; -} -.messager-warning { - background: url('images/messager_icons.png') no-repeat scroll -96px 0; -} -.messager-progress { - padding: 10px; -} -.messager-p-msg { - margin-bottom: 5px; -} -.messager-body .messager-input { - width: 100%; - padding: 4px 0; - outline-style: none; - border: 1px solid #000; -} -.window-thinborder .messager-button { - padding-bottom: 8px; -} -.tree { - margin: 0; - padding: 0; - list-style-type: none; -} -.tree li { - white-space: nowrap; -} -.tree li ul { - list-style-type: none; - margin: 0; - padding: 0; -} -.tree-node { - height: 26px; - white-space: nowrap; - cursor: pointer; -} -.tree-hit { - cursor: pointer; -} -.tree-expanded, -.tree-collapsed, -.tree-folder, -.tree-file, -.tree-checkbox, -.tree-indent { - display: inline-block; - width: 16px; - height: 18px; - margin: 4px 0; - vertical-align: middle; - overflow: hidden; -} -.tree-expanded { - background: url('images/tree_icons.png') no-repeat -18px 0px; -} -.tree-expanded-hover { - background: url('images/tree_icons.png') no-repeat -50px 0px; -} -.tree-collapsed { - background: url('images/tree_icons.png') no-repeat 0px 0px; -} -.tree-collapsed-hover { - background: url('images/tree_icons.png') no-repeat -32px 0px; -} -.tree-lines .tree-expanded, -.tree-lines .tree-root-first .tree-expanded { - background: url('images/tree_icons.png') no-repeat -144px 0; -} -.tree-lines .tree-collapsed, -.tree-lines .tree-root-first .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -128px 0; -} -.tree-lines .tree-node-last .tree-expanded, -.tree-lines .tree-root-one .tree-expanded { - background: url('images/tree_icons.png') no-repeat -80px 0; -} -.tree-lines .tree-node-last .tree-collapsed, -.tree-lines .tree-root-one .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -64px 0; -} -.tree-line { - background: url('images/tree_icons.png') no-repeat -176px 0; -} -.tree-join { - background: url('images/tree_icons.png') no-repeat -192px 0; -} -.tree-joinbottom { - background: url('images/tree_icons.png') no-repeat -160px 0; -} -.tree-folder { - background: url('images/tree_icons.png') no-repeat -208px 0; -} -.tree-folder-open { - background: url('images/tree_icons.png') no-repeat -224px 0; -} -.tree-file { - background: url('images/tree_icons.png') no-repeat -240px 0; -} -.tree-loading { - background: url('images/loading.gif') no-repeat center center; -} -.tree-checkbox0 { - background: url('images/tree_icons.png') no-repeat -208px -18px; -} -.tree-checkbox1 { - background: url('images/tree_icons.png') no-repeat -224px -18px; -} -.tree-checkbox2 { - background: url('images/tree_icons.png') no-repeat -240px -18px; -} -.tree-title { - font-size: 14px; - display: inline-block; - text-decoration: none; - vertical-align: middle; - white-space: nowrap; - padding: 0 2px; - margin: 4px 0; - height: 18px; - line-height: 18px; -} -.tree-node-proxy { - font-size: 14px; - line-height: 20px; - padding: 0 2px 0 20px; - border-width: 1px; - border-style: solid; - z-index: 9900000; -} -.tree-dnd-icon { - display: inline-block; - position: absolute; - width: 16px; - height: 18px; - left: 2px; - top: 50%; - margin-top: -9px; -} -.tree-dnd-yes { - background: url('images/tree_icons.png') no-repeat -256px 0; -} -.tree-dnd-no { - background: url('images/tree_icons.png') no-repeat -256px -18px; -} -.tree-node-top { - border-top: 1px dotted red; -} -.tree-node-bottom { - border-bottom: 1px dotted red; -} -.tree-node-append .tree-title { - border: 1px dotted red; -} -.tree-editor { - border: 1px solid #000; - font-size: 14px; - height: 26px; - line-height: 26px; - padding: 0 4px; - margin: 0; - width: 80px; - outline-style: none; - vertical-align: middle; - position: absolute; - top: 0; -} -.tree-node-proxy { - background-color: #666; - color: #fff; - border-color: #000; -} -.tree-node-hover { - background: #777; - color: #fff; -} -.tree-node-selected { - background: #0052A3; - color: #fff; -} -.tree-node-hidden { - display: none; -} -.inputbox { - display: inline-block; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; -} -.validatebox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; - color: #000; -} -.tooltip { - position: absolute; - display: none; - z-index: 9900000; - outline: none; - opacity: 1; - filter: alpha(opacity=100); - padding: 5px; - border-width: 1px; - border-style: solid; - border-radius: 5px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.tooltip-content { - font-size: 14px; -} -.tooltip-arrow-outer, -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - line-height: 0; - font-size: 0; - border-style: solid; - border-width: 6px; - border-color: transparent; - _border-color: tomato; - _filter: chroma(color=tomato); -} -.tooltip-arrow { - display: none \9; -} -.tooltip-right .tooltip-arrow-outer { - left: 0; - top: 50%; - margin: -6px 0 0 -13px; -} -.tooltip-right .tooltip-arrow { - left: 0; - top: 50%; - margin: -6px 0 0 -12px; -} -.tooltip-left .tooltip-arrow-outer { - right: 0; - top: 50%; - margin: -6px -13px 0 0; -} -.tooltip-left .tooltip-arrow { - right: 0; - top: 50%; - margin: -6px -12px 0 0; -} -.tooltip-top .tooltip-arrow-outer { - bottom: 0; - left: 50%; - margin: 0 0 -13px -6px; -} -.tooltip-top .tooltip-arrow { - bottom: 0; - left: 50%; - margin: 0 0 -12px -6px; -} -.tooltip-bottom .tooltip-arrow-outer { - top: 0; - left: 50%; - margin: -13px 0 0 -6px; -} -.tooltip-bottom .tooltip-arrow { - top: 0; - left: 50%; - margin: -12px 0 0 -6px; -} -.tooltip { - background-color: #666; - border-color: #000; - color: #fff; -} -.tooltip-right .tooltip-arrow-outer { - border-right-color: #000; -} -.tooltip-right .tooltip-arrow { - border-right-color: #666; -} -.tooltip-left .tooltip-arrow-outer { - border-left-color: #000; -} -.tooltip-left .tooltip-arrow { - border-left-color: #666; -} -.tooltip-top .tooltip-arrow-outer { - border-top-color: #000; -} -.tooltip-top .tooltip-arrow { - border-top-color: #666; -} -.tooltip-bottom .tooltip-arrow-outer { - border-bottom-color: #000; -} -.tooltip-bottom .tooltip-arrow { - border-bottom-color: #666; -} -.switchbutton { - text-decoration: none; - display: inline-block; - overflow: hidden; - vertical-align: middle; - margin: 0; - padding: 0; - cursor: pointer; - background: #555; - border: 1px solid #555; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.switchbutton-inner { - display: inline-block; - overflow: hidden; - position: relative; - top: -1px; - left: -1px; -} -.switchbutton-on, -.switchbutton-off, -.switchbutton-handle { - display: inline-block; - text-align: center; - height: 100%; - float: left; - font-size: 14px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.switchbutton-on { - background: #0052A3; - color: #fff; -} -.switchbutton-off { - background-color: #666; - color: #fff; -} -.switchbutton-on, -.switchbutton-reversed .switchbutton-off { - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.switchbutton-off, -.switchbutton-reversed .switchbutton-on { - -moz-border-radius: 0 5px 5px 0; - -webkit-border-radius: 0 5px 5px 0; - border-radius: 0 5px 5px 0; -} -.switchbutton-handle { - position: absolute; - top: 0; - left: 50%; - background-color: #666; - color: #fff; - border: 1px solid #555; - -moz-box-shadow: 0 0 3px 0 #555; - -webkit-box-shadow: 0 0 3px 0 #555; - box-shadow: 0 0 3px 0 #555; -} -.switchbutton-value { - position: absolute; - top: 0; - left: -5000px; -} -.switchbutton-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.switchbutton-disabled, -.switchbutton-readonly { - cursor: default; -} -.radiobutton { - position: relative; - border: 2px solid #00458a; - border-radius: 50%; -} -.radiobutton-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #00458a; - border-radius: 50%; - transform: scale(.6); -} -.radiobutton-disabled { - opacity: 0.6; -} -.radiobutton-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} -.checkbox { - position: relative; - border: 2px solid #00458a; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.checkbox-checked { - border: 0; - background: #00458a; -} -.checkbox-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; -} -.checkbox path { - stroke-width: 2px; -} -.checkbox-disabled { - opacity: 0.6; -} -.checkbox-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} -.sidemenu .tree-hit { - background-image: none; -} -.sidemenu-default-icon { - background-image: none; - width: 0; -} -.sidemenu .accordion .accordion-header, -.sidemenu .accordion .accordion-body { - border-bottom-color: transparent; - background: transparent; -} -.sidemenu .accordion .accordion-header { - color: #fff; -} -.sidemenu .accordion-header .panel-title { - height: 30px; - line-height: 30px; - color: #fff; -} -.sidemenu .accordion-header:hover { - background: #777; - color: #fff; -} -.sidemenu .tree-node-hover { - background: #777; - color: #fff; -} -.sidemenu .tree-node-selected { - border-right: 2px solid #00458a; - color: #fff; - background: #0052A3; -} -.sidemenu .tree-node { - height: 40px; -} -.sidemenu .tree-title { - margin: 11px 0; -} -.sidemenu .tree-node-nonleaf { - position: relative; -} -.sidemenu .tree-node-nonleaf::after { - display: inline-block; - content: ''; - position: absolute; - top: 50%; - margin-top: -8px; - background: url('images/accordion_arrows.png') no-repeat 0 0; - width: 16px; - height: 16px; - right: 5px; -} -.sidemenu .tree-node-nonleaf-collapsed::after { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.sidemenu-collapsed .panel-icon { - left: 50%; - margin-left: -8px; -} -.sidemenu-tooltip { - padding: 0; - margin: 0 -12px; - border: 0; -} -.sidemenu-tooltip.tooltip-left { - margin: 0 12px; -} -.sidemenu-tooltip .tooltip-arrow-outer, -.sidemenu-tooltip .tooltip-arrow { - display: none; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/filebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/filebox.css deleted file mode 100644 index c6bac66..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/filebox.css +++ /dev/null @@ -1,20 +0,0 @@ -.filebox .textbox-value { - vertical-align: top; - position: absolute; - top: 0; - left: -5000px; -} -.filebox-label { - display: inline-block; - position: absolute; - width: 100%; - height: 100%; - cursor: pointer; - left: 0; - top: 0; - z-index: 10; - background: url('images/blank.gif') no-repeat; -} -.l-btn-disabled .filebox-label { - cursor: default; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/accordion_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/accordion_arrows.png deleted file mode 100644 index 45fd44aa30476e107428feeea74273a354d3b003..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel%uDMV@SoVN1z5L3B> xDW~hhNx=}0EonJY9@lzK3(R79rLjPWf#H~1{zPk!fAK(V44$rjF6*2Ung9evL?JRtAPgomjiGH|9{f$n(B`$j zEeb&pg!EKZW!#K$4@xNm$yT6c41rc&wh}>_*7}p71!8&8673tn-QQiFh646*YwHT+ z)EV#dB}QIviTL0tB!=YS+5%Rf3nh>uG`~OIR&I9Pb&1#X>AvnQFNH)(9OKtKv|Z?jXgA8=g#}$o8PwWf~s)v4TOWbIh-FayvCIQ*!i4(A|Z*a`pRGU y`z_2`-mf|ief_$wXW7b|3Y(^xL#4%pFkRlNzMe3nx0Htf00005OC%H;f`~O(q$Q#t2<^v$A>fbmv%e#dKTwK=Ku{5lS|}<-`a#7b zzTCOnnT>at)D}AMFuOZ5&%EqFN(lyumd$2ASF6=;nM~%2?gqc@U=#|4PqkX@EBo-9 z7pD#bO_RUa>*faM`8;MYfVi$JnB-zcBFc6gjl$d!bF98Q!!!(Z1_R~P?e!pt#6CHJ9S&n_n&@=9 z%GP;!@Co4c*at+6vNz7o(6en^Q1%qHrc;1)9IRaz-$@S$Z-qdC^ds3X0NvQH;KS)D z-dh&rW&@X;1cS(45z)J&BVt+tv&GMVJ%!EiW) zLBGZW)#Z+gl-Lih&?>X3SS-S#ujQ;9JRXmIB7X)8`d6ETj)D#Q2+$s|<_b7-B9Xvq zwNfqlEp%y3$uY`h{Y$(Gn5@}sqEsq95lpAkFO5dyBmP6^H-51G4J|rN2Ujt<`2YX_ M07*qoM6N<$f3kcwMx!yWk;1b9CG_kXOx zmzFK*Ssi^NN-27((w?4M8@u`^_qP=9nfy4m{lwb6;U^wS@qDtp9?C45@HGEwayQ3S z%Ua=ZSB3W+c`gDw6;3c4*f@AGFEUxQKH4x2D*a5)78&qol`;+03qN((f|Me diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/linkbutton_bg.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/linkbutton_bg.png deleted file mode 100644 index fc66bd2cd24047b8377342365a1df3846327ecde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1274 zcmVc6j2;SWMDuL>F^vlqEUI{oOgO!xNf*11TukM z6kTZ3V2qd3<~<$H&Lrt?SpXUxF5Zb^}(={r!EHE+$QMdH|XZ zSYbMyc0tQc3qbP$tG{U_Jyg>I(0srOscEGU?-T)4AzuS$_2J>6`+BJ50YDY<^>2vV z+uI880P2ui(hyHiPrK$)CkbHg=kD&V3^8pD z0v3QOB&8eT@87?rgaGPrb#+ySxU;jP=nkL`nZ_{0e*BD+1Tc5b&d$oLo}8R$90gF1 z^ij>~#>R%HIRNUB_kgpQ+Lg!80Gbb2saY8>1EBeUm7A3TegK*dSciv)Wqp0!h-3im z1+1f^qq4iZ+ZEMUS63~e0I+zh`2rwd0l@!F(!7sM%_`|&0+*B!z{1(u+A9BIU&~T- z2he=L>dmc7TLXZFkeTeCHMcE|qX51{z>0ZC=xGjss*FaXGOMX+dHf8Z8hL6ntGQ_z zF9V<&dwY9jh`D7czyqj4g3S=~)zFA!0980RI4DC*Ez1%L09D8%=OHF&S@Q*;3bRfe zeL2-ZzyeT(Av4`$>R3`j096>WH7BOELD3yR70%Dk%Mk4)1W=73OH{L_UgIc$YFu7k zmRaq`&NxK?Rk*skDzlhL4IV!OsLJ*Ab@{BRT^TO}pgQC6xO~R6G8o_oU?C)>`xlc2 zriH~zU-;g$PyPA_&X!OBSU6SIeB~eKNAhF&(fs&F|1n9<+Yj^2T+4Dj%UFjr zZ%rnX^7Qmn0ANwP308gILtaQfK0Z1j0Br`Wq<=~Ka+?BxW&>7kRtZ+q>C~wJXg6S` zW|cJ1%?d#C0V@Ue)T{uY>425ig?tTsczEc(0+M8_c7^t|!sm-1Nw(}#nnLr?FgGlc zY}ut0+w(d)Uk6FDWtY;*aCdjteIX>tmhA#o+8PqHNU~+SlrTfyKRaNHBx~Ch-FJ3& z%B(Y&NwStp{rH$6Yj{YqhR=Gk~Mtw_&K$#yeTBf z7JV~bCN(VwL$c|B^>Topn-X{+7;S!yV~2^ zBgv-iMkME}U;-COwrsbABDvwg!2wA&ZMWttf5^jTl5E*7V41=|@=Hu>NJ^O8(7b4p z&ChgC(LF5>Md#{+4LgS{%KA|H(Xv`l4P^KdiBKB*_;1&m|Q7!{|O$ k%vVK{T!hwqk^D0L0mO==@4IV9lK=n!07*qoM6N<$f|Ge;n*aa+ diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/loading.gif b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/loading.gif deleted file mode 100644 index 68f01d04813c1f622810864a3aaa04b4a17ac8f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1737 zcmaKsX;2e)7>CzDa{xjjy99|1A!tC(kfocDi)<1$AxHpOQ4k^l!Vx1W6x7<&|FYXU zqO4jEiU-!VR1p+Xj1?4-iuI_J;!&?!+ghg|JJad3U)pMGzcKxNeCM6tJnuX+uPvX@ zZY|=AHdxt2Xr2y*)5|c6#FSEuyJ+Y3Z&l z2hJWo`9;lJ$6wzSoW60tqkB|d$oiO*d-^85^ojn{*NR{MP*%{@H*#gihZ8BKyB68E z-MIbjgNNV0y5khpJ^Jv`51aR%={<4jhaVq5e*9D5+*hL)XCHn4{^d%hPu@?KpKbc=eN!D=XUjDmH#n{YHNS zHCX6BV)yn2CuTNujhN~V+`RKpyXO6^ht92eqhIIlQLfz6eeCnH_C7`NPNrw9ks366 z4xX9(`s~z=+1uX^ocZ$2_fBs=JihPfWYufOIuD&AU-@`>>qn~cy$1)T7CU!5z2(U8 z)9Kt9)l`f6?NU41j6XbXfR{OHwm|T4}&24tIf+!C-g~6cQfY2^n$?AT&ZW zgqm`}3-jS2NS6n=k;sr5Hv(Q%%n)qW0X|neWVBd;Ko}d(=u%?{O0-a>kSI}shOd9n z5top}%gUCf=>?tg;*;#7!^HOL3k$fMxd=O-6Y4@%u8LS)C1D_a?27R6^vcC+6tttL z)GmTahbyJB!xmcHL#ya8ZXyfRl)a!N0BJE0y3BBfAV5;#=K&Z2VkaKZ)?9`1h5P_% znt*b}%j1|#j`b|aQDx@~wA#$PYRN2xE6UO;;vE(@$&xww-s8fZ5HmJ(eJ*rQrDbaawDbrfe_8F(wq{ge?)qQG`aXV;r(*6EM|ESje;52aFmrX!f=Pw^2oGQX$1|o4yts|b_5@w_kNwtl{wDP#JGMvIp#!SYX?Wq9S&`&_ZwkgGH5CLB7DEGJ6=R4J~p3Z4i^A}hs=-uZeD zs92l6u@**R$~L()G{5N8*7cE5-q$SCo`q4|NSVF*+A7&xZnypm$EdXgf)E%(VJHFD zSgi(H!D!(;9Zcc#GrCCJh=RlvXBQ-hv4Vodse`a32ZUFWgP5ZhM5LeV(#D^H8p@Lg ztra5R32z@1rQv{6u&RZL5%Z@Ye{q|t#6aM_1hIrpl@)oH6}os*cbAQywa{5<`ekzW O1il%9bk82&KlvLjD^%40 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/menu_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/menu_arrows.png deleted file mode 100644 index 2a984941d6590c78d67ee68d2087d8cc88efbac6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQof!pjv*Dd-d;V(%b>u);`l3H z>g53sy@tf+`c*Dhco^6|8Eg#8WENqsU-wu%RB=*I5D$X7F_Nb6Mw<&;$S;RV&B< diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/messager_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/messager_icons.png deleted file mode 100644 index 86b0b0e6c73d6bdedc843763484982e5c9e71b0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2224 zcmV;h2v7HkP)0TZF_syd)JvG$EOP;OXl2_@ozH4?s>%2|oTwk-b#M@+T@HSg~T`g7w0_SiobkCd%&#I<4b9v=7 z%W~Tf*1XET2;d0?KMU``yUFTr&z~>@16E;`C+ZErOO-imklASv*2BJcwaj^9+J z(ce$~`|aaXJWZDEzGh316nGgC@Vl@EtVN~VysRP{oAee|;N?WHwZNLB`rV%xrgs$R zTUmjZ5dp6SYm(}(nka^`ew(py=9j}=%8)+ADHdHeV* zymQ;s0$*Yc+F&O8~ocB)}g+f;g4{c0LBbQ*H2vkRXmF2=9C% z@H;PAQPuaE$bK*rn|g8*3~LF%Pt%zFB3mmO7z`pfjyi6kNh_;}-GNd}0DhX(?0dI8 ziF!|dj{00BD9~^a`Kx!J?($sJSvZl%9Vo>FcFp({myT~8De$H4Kq)2wKTT@(0q|Fz zH=ry-x*)5T8mZiYVoU(R8Y%eCuCt@qBk#LQbdPVp9A^) zaDX*E{5WbaKZNS}NeRJiuuMgr$0~();$;U;T}HMv)uV~_ofSg~0P?rPLX{m1NfCuS zpCX_G-~X@2FaFc}2ZDlCpb84H&gkyfmn8zft7L(wZ{T_@@~oc{z5iJzCdUc!zTdu? zzzXQg#NE&FW%0ld+`J{M>pN|aO9BAD+u;(Pg?AE=V6Rx@!8tokK$k251XqA{iWNSp zB2QSJDm;x!&t6A|Yj2`?Mb-3~0oDn+p=w7`dJIPbDfp2C-W`?zI#VxH454aAQ{+*L079_{DuzONSLKwCJQg^<7)rM! zfnWc%n(+1ypw6{Md3>-TJ8B_r){$ieShtHa=EgJW05*Ugj|58KC$bhoETGMJ6-u|X zDV-Vw2nB@ZTn*IkS-_k8ZWVfScbyRYflFW_0oD!mdm;k-buJX>b>2|C-*a@O_|FeC z9wH(D=yvLiC5ilcJQA>iAIb=fJE4Amw+H~bH9`}I61c1tRj9hvE&kx^Z9Qn_>YrIE zg!RzGApy&`Z4UCEFGjvSFUao|&lQ5g$kDZbKA8o;y0I^AAc@=+NpR*YGx#Alz&oIc zbN4KOwLv58>XFKVEw!>Npx{swOLfpE?dq{e*WQ;<(C?)R0Hs|-41$j|eN!RL*^e)>{lVl0k^+C<%P8328_xd*QIG8->NRL{c!30X=O+t( zm;n7OWnHxh05WO`;8{Nz=lpGv>>qWPFJW4TmH@*pr){Pr!;ps#cxTXQHB1lF^H z4`x3$CZHjKi!;@-1cA^9dMsyx2>!gM4Xho)2BtJnH5WjU2FeMrS=0?hASMeym6A#(@!>2C@`_)FJ>)AxIVjeDxset1A<_g3RsV zP$6guEBNuU0}>KAv>6Lo3PI}42$*x3O2MiSfU*>fIkH1+z4R)F1$DGe{N${`j8I{)NVnck2@@0if#5 zASnq5nn8P5n?YdmAIXl!0B}z02E=9%OFKAO0ECD~*JO$G}@g9(+^dIgRGNWJbc=^;Y!a9K8rWoWr%GM#5-^ zLYHDU&~nR*uC?``!o$t~i=j~ABM^>vkK|CO)buAa6bd6?wtbm`kdA}J9SR*A3y+S4 zLxpZ6z`yW-@u7QqEPU+4kZ?Sp%gBc5T{X?VBW*&~sQ55s?9;H&0i)Y6y$cb062V?S z1bj+9|DOIdZ0zGuiAzYymP2Jv3>80t+5#NSCz>DdY1?+6=lRq-0N)F#H;wIQi`C_sJ!SVT`Wft}8_wH~Q%XA*9t9fT|c lGy-mR diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/panel_tools.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/panel_tools.png deleted file mode 100644 index f97761eb393def3b5f61774142413e740fe8fe8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^20*O9!3HEluKbn(QuUrLjv*Dd-p+93Yfuni{`r6T z$48CLf{EOzXU|M@xy0GMavBpu(5ti8zb3QZ+Tfp^siO37?WI*8%sM?7u5w1XttgAw z*Z5axHOr-aZj1~Mw;UHx3vIVCg!0FXpSG5`Po diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/passwordbox_close.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/passwordbox_close.png deleted file mode 100644 index 276b57974284d1449250e362644dd7416632d92c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`F`h1tAr-fh6C~yxIB_Cl)5eV- z>r;4yl-<@d?s6;P338s2Hlg>#j0uWN8C(aFPJB{e^6h1c5$jHyQsD5--fSz=3o~iS wnLdu+*z}wOVj6h@O#h^}NFFlaV$)<`u-+3C6wY^M3(y`0Pgg&ebxsLQ04X#uG5`Po diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/passwordbox_open.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/passwordbox_open.png deleted file mode 100644 index 0f25d535e05b22b406fd72647611aace9cfa6249..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>7Fi*Ar-fh6C~yxIB_Cl)5eV- z>r;4yl-<@d?s6;P338s2rmQ?!Qz1HW#so#C46Xx7Cq5}K`Svo!h;^q;DRB5^Z?=`` zg<12Qetm(ByO<;&a5^L{7TnL>!KiVsAxlibJl4>NC!c|#Jtt+3rSZgWpp^`su6{1- HoD!M<3i~r2 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/searchbox_button.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/searchbox_button.png deleted file mode 100644 index 6dd1931589b453f6cc9772fd1851d8705d6b6631..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 813 zcmV+|1JeA7P)lXvaa)1B=8vtU6i;3jw7+Lm8D5$Z@i10EnF)=bcefw4K z$^E-CUfjQG`svfBbfD6|R#sLFj6lo3FG$G6@;ee>>~6i|H^5OY8c00W#fi<*1vzh{0&qu3dB`V0{{XDY`}(1n>S9M(9!zw#!&`A z#;*+0{6GVMSeWGp!`o{o8NPge#o%jgs54WT$qnQYpsyGNpauX05F;oJfZ`Pdw6!$j zynTH0RMa&!n3$Pa9zVGEY{&L(3qnPBl_DG6<9Xk0`Fl3`LiD4@pH{vDsxJWQ1qdJp zEJ>M}osCtQlY?CgW>F{;gVK#SmgoOZnEn5J%EtIXaWQXAO>Rdf)WFR;gt~f zXaA3z{{L{q=l48y!32yJ3i0hJ2BS=^}@sXzH{F9Iq&OW375;I7CG-}Vr|aF#l<(fySwu2>`YdxRW*W0f#2un=W5Jmvoe`XCK%I_Y++#`fwE+= zSd{sEULGDE%A=#BOW<6gP*6VfMa^fr8qe`5w%)P0a^Y9WGTw! zvI^|$>l@1Da^Ke1*T3RdY7KqM%gaBb(P+oP!GW;b?ZRfW3Bxc1H@GCaHK#XhZ*Lc= zRBC@>V&W#x&B5%(#>OW5`};d6I5Qw218EG_q@1gtr!Nl*v7yn?(MPMRt4SNy%--JK zanm#f^bw^}Nr7b(EUg}TUi(2;)deX10lAo=83+VA(QksJI6(zwptET-y~avN=J9w$ zI2`W5lG|aOkjY7(&!@;Jx*nUA>~J`Q)9L&(G8y=g$3a4YgD7z)5>gXQNKhw=uR0zF z#jHruh)gDv=bj|2ZES4(fEM?I!JyKqo=}sj-fBYTcDt4KXq)eFQH}wW`vh%Mla}#@ z@Mb`C)x@YkK{xd2>8ZLg+E!Lps$Q@6DY-~!0=Gs+Mm~_JnW1EbX2uxClEdN>Y@I78 z=ke_9?7sX@o0*x}M{JB77MIXj_MmNE%+1Xe{*{crh)9={dR(U;y-{jrxUXmG%Gt002ovPDHLkV1hy(sXhPz diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/spinner_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/spinner_arrows.png deleted file mode 100644 index 349d7d9d1dd5757fe673c74779ca4397b3ac9880..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQo)`sjv*Dd-cGgTVld!f`TKvl zx$i261Imkz%njSa<|ydo5x!wz!%F5U-;Ot$9v8}1XAs{bw8eCRinje8hmeGw4b#=% p?40+0pF;`bK1VJIy@m-jV#fsL6&$#pdj@DcgQu&X%Q~loCIE{>Fhc+U diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/tabs_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/tabs_icons.png deleted file mode 100644 index 732b1237a14cf6c525dee8646f322d5603664866..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^20$#p!3HD)*8SNCq{2O2978H@B_~L*E^a7$U@!3C zaj-Z4S(*MEORM>}ezCPaUb%ArQw1m64&Nzopr0N{TzyZ`_I diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/tagbox_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/tagbox_icons.png deleted file mode 100644 index faddd10cab63488000e766ca3cb10a4a21671c10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel#i#2V@SoV($fFg z6O)c!JXo)x5GJ#nd4ld?HMbLtC#EF|E8h}a647_oX_D^oryN0xCn=p~zr)BZ#mYR7 hgWX2DuSt-dVWQ=IMMbkYnLu+HJYD@<);T3K0RXNJC2Rly diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/tree_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/tree_icons.png deleted file mode 100644 index 2b4fd2025c7588c84df27d89466b470e273f5c06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3086 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 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/validatebox_warning.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/validatebox_warning.png deleted file mode 100644 index 2b3d4f05babf3f82b146350e96570fac02075de0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 921 zcmV;K17`e*P)nRv1_mBsMY*-M^XCf)eflW5 z|MC^)Hw+AW{sHCCF+cz@{fF8J!+#-kxoSv=7^|!zgOQUngSQ}mDo|J)n+pH}hzZ#= zr~y18$_m-?9v%$;?mu8);}>9vFgFvDXJDwrW&l6{p}625M66yTFhGz^K$w9^O$BHi zFN2Ym7DIple*#cW4BY^L0Al(Jbv6k9U|^6IQBp{hx3XdQ&CJ4Z_|YSVr@XujY(PVT zlok1<85nBO4FCurumK>O|A07*jFlSRUcxLAQVcIR*co#3@)&jj4Pj7KXRri%#h;fa z4ya5O*#Lk5Vq!q}T~=CGH(uV-hJk^fkAYoGjN#AMuMF($>N=giWG}IXse|=+c=i>7HEg>%*E%fLD!-uy|85n^6W?^Dt(9zXp5EB&z+w>_knBmdiKMbzi z?A!`WOl>e100a=&05*1xZdFls?*HtZ48H?o7=HW%ivIu45E2~BASWx!@DIpmv9e}h zaPwji|L}pqor@y`=yxrU0RRES^qYY}O;TRcU+DKIhL4`%3_nyf8U6tS<<-ZJ40D$( zWjJ%`G6NIPHNP2{7am*Fp% z{>ShK#0G`~kjd~57_BU.panel-body, -.panel-hright>.panel-body { - position: absolute; -} -.panel-hleft>.panel-header { - float: left; -} -.panel-hright>.panel-header { - float: right; -} -.panel-hleft>.panel-body { - border-top-width: 1px; - border-left-width: 0; -} -.panel-hright>.panel-body { - border-top-width: 1px; - border-right-width: 0; -} -.panel-hleft>.panel-body-nobottom { - border-bottom-width: 1px; - border-right-width: 0; -} -.panel-hright>.panel-body-nobottom { - border-bottom-width: 1px; - border-left-width: 0; -} -.panel-hleft>.panel-footer { - position: absolute; - right: 0; -} -.panel-hright>.panel-footer { - position: absolute; - left: 0; -} -.panel-hleft>.panel-header-noborder { - border-width: 0 1px 0 0; -} -.panel-hright>.panel-header-noborder { - border-width: 0 0 0 1px; -} -.panel-hleft>.panel-body-noborder { - border-width: 0; -} -.panel-hright>.panel-body-noborder { - border-width: 0; -} -.panel-hleft>.panel-body-noheader { - border-left-width: 1px; -} -.panel-hright>.panel-body-noheader { - border-right-width: 1px; -} -.panel-hleft>.panel-footer-noborder { - border-width: 0 0 0 1px; -} -.panel-hright>.panel-footer-noborder { - border-width: 0 1px 0 0; -} -.panel-hleft>.panel-header .panel-icon, -.panel-hright>.panel-header .panel-icon { - margin-top: 0; - top: 5px; - left: 50%; - margin-left: -8px; -} -.panel-hleft>.panel-header .panel-title, -.panel-hright>.panel-header .panel-title { - position: absolute; - min-width: 16px; - left: 25px; - top: 5px; - bottom: auto; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(90deg); - -o-transform-origin: 0 0; - transform: rotate(90deg); - transform-origin: 0 0; -} -.panel-hleft>.panel-header .panel-title-up, -.panel-hright>.panel-header .panel-title-up { - position: absolute; - min-width: 16px; - left: 21px; - top: auto; - bottom: 0px; - text-align: right; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(-90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(-90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(-90deg); - -o-transform-origin: 0 0; - transform: rotate(-90deg); - transform-origin: 0 16px; -} -.panel-hleft>.panel-header .panel-with-icon.panel-title-up, -.panel-hright>.panel-header .panel-with-icon.panel-title-up { - padding-left: 0; - padding-right: 18px; -} -.panel-hleft>.panel-header .panel-tool, -.panel-hright>.panel-header .panel-tool { - top: auto; - bottom: 5px; - width: 16px; - height: auto; - left: 50%; - margin-left: -8px; - margin-top: 0; -} -.panel-hleft>.panel-header .panel-tool a, -.panel-hright>.panel-header .panel-tool a { - margin: 2px 0 0 0; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/passwordbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/passwordbox.css deleted file mode 100644 index 92c9ce5..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/passwordbox.css +++ /dev/null @@ -1,6 +0,0 @@ -.passwordbox-open { - background: url('images/passwordbox_open.png') no-repeat center center; -} -.passwordbox-close { - background: url('images/passwordbox_close.png') no-repeat center center; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/progressbar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/progressbar.css deleted file mode 100644 index e89cb3a..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/progressbar.css +++ /dev/null @@ -1,33 +0,0 @@ -.progressbar { - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - overflow: hidden; - position: relative; -} -.progressbar-text { - text-align: center; - position: absolute; -} -.progressbar-value { - position: relative; - overflow: hidden; - width: 0; - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.progressbar { - border-color: #000; -} -.progressbar-text { - color: #fff; - font-size: 14px; -} -.progressbar-value, -.progressbar-value .progressbar-text { - background-color: #0052A3; - color: #fff; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/propertygrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/propertygrid.css deleted file mode 100644 index 871c585..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/propertygrid.css +++ /dev/null @@ -1,27 +0,0 @@ -.propertygrid .datagrid-view1 .datagrid-body td { - padding-bottom: 1px; - border-width: 0 1px 0 0; -} -.propertygrid .datagrid-group { - overflow: hidden; - border-width: 0 0 1px 0; - border-style: solid; -} -.propertygrid .datagrid-group span { - font-weight: bold; -} -.propertygrid .datagrid-view1 .datagrid-body td { - border-color: #222; -} -.propertygrid .datagrid-view1 .datagrid-group { - border-color: #3d3d3d; -} -.propertygrid .datagrid-view2 .datagrid-group { - border-color: #222; -} -.propertygrid .datagrid-group, -.propertygrid .datagrid-view1 .datagrid-body, -.propertygrid .datagrid-view1 .datagrid-row-over, -.propertygrid .datagrid-view1 .datagrid-row-selected { - background: #3d3d3d; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/radiobutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/radiobutton.css deleted file mode 100644 index a31bc36..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/radiobutton.css +++ /dev/null @@ -1,25 +0,0 @@ -.radiobutton { - position: relative; - border: 2px solid #00458a; - border-radius: 50%; -} -.radiobutton-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #00458a; - border-radius: 50%; - transform: scale(.6); -} -.radiobutton-disabled { - opacity: 0.6; -} -.radiobutton-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/searchbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/searchbox.css deleted file mode 100644 index 01f6697..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/searchbox.css +++ /dev/null @@ -1,61 +0,0 @@ -.searchbox-button { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.searchbox-button-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.searchbox .l-btn-plain { - border: 0; - padding: 0; - vertical-align: top; - opacity: 0.6; - filter: alpha(opacity=60); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .l-btn-plain:hover { - border: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox a.m-btn-plain-active { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .m-btn-active { - border-width: 0 1px 0 0; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .textbox-button-right { - border-width: 0 0 0 1px; -} -.searchbox .textbox-button-left { - border-width: 0 1px 0 0; -} -.searchbox-button { - background: url('images/searchbox_button.png') no-repeat center center; -} -.searchbox .l-btn-plain { - background: #3d3d3d; -} -.searchbox .l-btn-plain-disabled, -.searchbox .l-btn-plain-disabled:hover { - opacity: 0.5; - filter: alpha(opacity=50); -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/sidemenu.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/sidemenu.css deleted file mode 100644 index 12d6181..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/sidemenu.css +++ /dev/null @@ -1,72 +0,0 @@ -.sidemenu .tree-hit { - background-image: none; -} -.sidemenu-default-icon { - background-image: none; - width: 0; -} -.sidemenu .accordion .accordion-header, -.sidemenu .accordion .accordion-body { - border-bottom-color: transparent; - background: transparent; -} -.sidemenu .accordion .accordion-header { - color: #fff; -} -.sidemenu .accordion-header .panel-title { - height: 30px; - line-height: 30px; - color: #fff; -} -.sidemenu .accordion-header:hover { - background: #777; - color: #fff; -} -.sidemenu .tree-node-hover { - background: #777; - color: #fff; -} -.sidemenu .tree-node-selected { - border-right: 2px solid #00458a; - color: #fff; - background: #0052A3; -} -.sidemenu .tree-node { - height: 40px; -} -.sidemenu .tree-title { - margin: 11px 0; -} -.sidemenu .tree-node-nonleaf { - position: relative; -} -.sidemenu .tree-node-nonleaf::after { - display: inline-block; - content: ''; - position: absolute; - top: 50%; - margin-top: -8px; - background: url('images/accordion_arrows.png') no-repeat 0 0; - width: 16px; - height: 16px; - right: 5px; -} -.sidemenu .tree-node-nonleaf-collapsed::after { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.sidemenu-collapsed .panel-icon { - left: 50%; - margin-left: -8px; -} -.sidemenu-tooltip { - padding: 0; - margin: 0 -12px; - border: 0; -} -.sidemenu-tooltip.tooltip-left { - margin: 0 12px; -} -.sidemenu-tooltip .tooltip-arrow-outer, -.sidemenu-tooltip .tooltip-arrow { - display: none; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/slider.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/slider.css deleted file mode 100644 index 22d9744..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/slider.css +++ /dev/null @@ -1,101 +0,0 @@ -.slider-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.slider-h { - height: 22px; -} -.slider-v { - width: 22px; -} -.slider-inner { - position: relative; - height: 6px; - top: 7px; - border-width: 1px; - border-style: solid; - border-radius: 5px; -} -.slider-handle { - position: absolute; - display: block; - outline: none; - width: 20px; - height: 20px; - top: 50%; - margin-top: -10px; - margin-left: -10px; -} -.slider-tip { - position: absolute; - display: inline-block; - line-height: 12px; - font-size: 14px; - white-space: nowrap; - top: -22px; -} -.slider-rule { - position: relative; - top: 15px; -} -.slider-rule span { - position: absolute; - display: inline-block; - font-size: 0; - height: 5px; - border-width: 0 0 0 1px; - border-style: solid; -} -.slider-rulelabel { - position: relative; - top: 20px; -} -.slider-rulelabel span { - position: absolute; - display: inline-block; - font-size: 14px; -} -.slider-v .slider-inner { - width: 6px; - left: 7px; - top: 0; - float: left; -} -.slider-v .slider-handle { - left: 50%; - margin-top: -10px; -} -.slider-v .slider-tip { - left: -10px; - margin-top: -6px; -} -.slider-v .slider-rule { - float: left; - top: 0; - left: 16px; -} -.slider-v .slider-rule span { - width: 5px; - height: 'auto'; - border-left: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.slider-v .slider-rulelabel { - float: left; - top: 0; - left: 23px; -} -.slider-handle { - background: url('images/slider_handle.png') no-repeat; -} -.slider-inner { - border-color: #000; - background: #3d3d3d; -} -.slider-rule span { - border-color: #000; -} -.slider-rulelabel span { - color: #fff; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/spinner.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/spinner.css deleted file mode 100644 index 9d80102..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/spinner.css +++ /dev/null @@ -1,114 +0,0 @@ -.spinner-arrow { - display: inline-block; - overflow: hidden; - vertical-align: top; - margin: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - width: 18px; -} -.spinner-arrow.spinner-button-top, -.spinner-arrow.spinner-button-bottom, -.spinner-arrow.spinner-button-left, -.spinner-arrow.spinner-button-right { - background-color: #3d3d3d; -} -.spinner-arrow-up, -.spinner-arrow-down { - opacity: 0.6; - filter: alpha(opacity=60); - display: block; - font-size: 1px; - width: 18px; - height: 10px; - width: 100%; - height: 50%; - color: #fff; - outline-style: none; - background-color: #3d3d3d; -} -.spinner-button-updown { - opacity: 1.0; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - position: relative; - display: block; - width: 100%; - height: 50%; -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down { - opacity: 1.0; - filter: alpha(opacity=100); - cursor: pointer; - width: 16px; - height: 16px; - top: 50%; - left: 50%; - margin-top: -8px; - margin-left: -8px; - position: absolute; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-button-updown .spinner-button-top:hover, -.spinner-button-updown .spinner-button-bottom:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down, -.spinner-button-updown .spinner-arrow-up:hover, -.spinner-button-updown .spinner-arrow-down:hover { - background-color: transparent; -} -.spinner-arrow-hover { - background-color: #777; - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-top:hover, -.spinner-button-bottom:hover, -.spinner-button-left:hover, -.spinner-button-right:hover, -.spinner-arrow-up:hover, -.spinner-arrow-down:hover { - opacity: 1.0; - filter: alpha(opacity=100); - background-color: #777; -} -.textbox-disabled .spinner-button-top:hover, -.textbox-disabled .spinner-button-bottom:hover, -.textbox-disabled .spinner-button-left:hover, -.textbox-disabled .spinner-button-right:hover, -.textbox-icon-disabled .spinner-arrow-up:hover, -.textbox-icon-disabled .spinner-arrow-down:hover { - opacity: 0.6; - filter: alpha(opacity=60); - background-color: #3d3d3d; - cursor: default; -} -.spinner .textbox-icon-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-arrow-up { - background: url('images/spinner_arrows.png') no-repeat 1px center; - background-color: #3d3d3d; -} -.spinner-arrow-down { - background: url('images/spinner_arrows.png') no-repeat -15px center; - background-color: #3d3d3d; -} -.spinner-button-up { - background: url('images/spinner_arrows.png') no-repeat -32px center; -} -.spinner-button-down { - background: url('images/spinner_arrows.png') no-repeat -48px center; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/splitbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/splitbutton.css deleted file mode 100644 index b42e396..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/splitbutton.css +++ /dev/null @@ -1,12 +0,0 @@ -.s-btn:hover .m-btn-line, -.s-btn-active .m-btn-line, -.s-btn-plain-active .m-btn-line { - display: inline-block; -} -.l-btn:hover .s-btn-downarrow, -.s-btn-active .s-btn-downarrow, -.s-btn-plain-active .s-btn-downarrow { - border-style: solid; - border-color: #cccccc; - border-width: 0 0 0 1px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/switchbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/switchbutton.css deleted file mode 100644 index 0e78b56..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/switchbutton.css +++ /dev/null @@ -1,77 +0,0 @@ -.switchbutton { - text-decoration: none; - display: inline-block; - overflow: hidden; - vertical-align: middle; - margin: 0; - padding: 0; - cursor: pointer; - background: #555; - border: 1px solid #555; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.switchbutton-inner { - display: inline-block; - overflow: hidden; - position: relative; - top: -1px; - left: -1px; -} -.switchbutton-on, -.switchbutton-off, -.switchbutton-handle { - display: inline-block; - text-align: center; - height: 100%; - float: left; - font-size: 14px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.switchbutton-on { - background: #0052A3; - color: #fff; -} -.switchbutton-off { - background-color: #666; - color: #fff; -} -.switchbutton-on, -.switchbutton-reversed .switchbutton-off { - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.switchbutton-off, -.switchbutton-reversed .switchbutton-on { - -moz-border-radius: 0 5px 5px 0; - -webkit-border-radius: 0 5px 5px 0; - border-radius: 0 5px 5px 0; -} -.switchbutton-handle { - position: absolute; - top: 0; - left: 50%; - background-color: #666; - color: #fff; - border: 1px solid #555; - -moz-box-shadow: 0 0 3px 0 #555; - -webkit-box-shadow: 0 0 3px 0 #555; - box-shadow: 0 0 3px 0 #555; -} -.switchbutton-value { - position: absolute; - top: 0; - left: -5000px; -} -.switchbutton-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.switchbutton-disabled, -.switchbutton-readonly { - cursor: default; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tabs.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tabs.css deleted file mode 100644 index 65a465c..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tabs.css +++ /dev/null @@ -1,413 +0,0 @@ -.tabs-container { - overflow: hidden; -} -.tabs-header { - border-width: 1px; - border-style: solid; - border-bottom-width: 0; - position: relative; - padding: 0; - padding-top: 2px; - overflow: hidden; -} -.tabs-scroller-left, -.tabs-scroller-right { - position: absolute; - top: auto; - bottom: 0; - width: 18px; - font-size: 1px; - display: none; - cursor: pointer; - border-width: 1px; - border-style: solid; -} -.tabs-scroller-left { - left: 0; -} -.tabs-scroller-right { - right: 0; -} -.tabs-tool { - position: absolute; - bottom: 0; - padding: 1px; - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.tabs-header-plain .tabs-tool { - padding: 0 1px; -} -.tabs-wrap { - position: relative; - left: 0; - overflow: hidden; - width: 100%; - margin: 0; - padding: 0; -} -.tabs-scrolling { - margin-left: 18px; - margin-right: 18px; -} -.tabs-disabled { - opacity: 0.3; - filter: alpha(opacity=30); -} -.tabs { - list-style-type: none; - height: 26px; - margin: 0px; - padding: 0px; - padding-left: 4px; - width: 50000px; - border-style: solid; - border-width: 0 0 1px 0; -} -.tabs li { - float: left; - display: inline-block; - margin: 0 4px -1px 0; - padding: 0; - position: relative; - border: 0; -} -.tabs li a.tabs-inner { - display: inline-block; - text-decoration: none; - margin: 0; - padding: 0 10px; - height: 25px; - line-height: 25px; - text-align: center; - white-space: nowrap; - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 0 0; - -webkit-border-radius: 5px 5px 0 0; - border-radius: 5px 5px 0 0; -} -.tabs li.tabs-selected a.tabs-inner { - font-weight: bold; - outline: none; -} -.tabs li.tabs-selected a:hover.tabs-inner { - cursor: default; - pointer: default; -} -.tabs li a.tabs-close, -.tabs-p-tool { - position: absolute; - font-size: 1px; - display: block; - height: 12px; - padding: 0; - top: 50%; - margin-top: -6px; - overflow: hidden; -} -.tabs li a.tabs-close { - width: 12px; - right: 5px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs-p-tool { - right: 16px; -} -.tabs-p-tool a { - display: inline-block; - font-size: 1px; - width: 12px; - height: 12px; - margin: 0; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs li a:hover.tabs-close, -.tabs-p-tool a:hover { - opacity: 1; - filter: alpha(opacity=100); - cursor: hand; - cursor: pointer; -} -.tabs-with-icon { - padding-left: 18px; -} -.tabs-icon { - position: absolute; - width: 16px; - height: 16px; - left: 10px; - top: 50%; - margin-top: -8px; -} -.tabs-title { - font-size: 14px; -} -.tabs-closable { - padding-right: 8px; -} -.tabs-panels { - margin: 0px; - padding: 0px; - border-width: 1px; - border-style: solid; - border-top-width: 0; - overflow: hidden; -} -.tabs-header-bottom { - border-width: 0 1px 1px 1px; - padding: 0 0 2px 0; -} -.tabs-header-bottom .tabs { - border-width: 1px 0 0 0; -} -.tabs-header-bottom .tabs li { - margin: -1px 4px 0 0; -} -.tabs-header-bottom .tabs li a.tabs-inner { - -moz-border-radius: 0 0 5px 5px; - -webkit-border-radius: 0 0 5px 5px; - border-radius: 0 0 5px 5px; -} -.tabs-header-bottom .tabs-tool { - top: 0; -} -.tabs-header-bottom .tabs-scroller-left, -.tabs-header-bottom .tabs-scroller-right { - top: 0; - bottom: auto; -} -.tabs-panels-top { - border-width: 1px 1px 0 1px; -} -.tabs-header-left { - float: left; - border-width: 1px 0 1px 1px; - padding: 0; -} -.tabs-header-right { - float: right; - border-width: 1px 1px 1px 0; - padding: 0; -} -.tabs-header-left .tabs-wrap, -.tabs-header-right .tabs-wrap { - height: 100%; -} -.tabs-header-left .tabs { - height: 100%; - padding: 4px 0 0 2px; - border-width: 0 1px 0 0; -} -.tabs-header-right .tabs { - height: 100%; - padding: 4px 2px 0 0; - border-width: 0 0 0 1px; -} -.tabs-header-left .tabs li, -.tabs-header-right .tabs li { - display: block; - width: 100%; - position: relative; -} -.tabs-header-left .tabs li { - left: auto; - right: 0; - margin: 0 -1px 4px 0; - float: right; -} -.tabs-header-right .tabs li { - left: 0; - right: auto; - margin: 0 0 4px -1px; - float: left; -} -.tabs-justified li a.tabs-inner { - padding-left: 0; - padding-right: 0; -} -.tabs-header-left .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.tabs-header-right .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 0 5px 5px 0; - -webkit-border-radius: 0 5px 5px 0; - border-radius: 0 5px 5px 0; -} -.tabs-panels-right { - float: right; - border-width: 1px 1px 1px 0; -} -.tabs-panels-left { - float: left; - border-width: 1px 0 1px 1px; -} -.tabs-header-noborder, -.tabs-panels-noborder { - border: 0px; -} -.tabs-header-plain { - border: 0px; - background: transparent; -} -.tabs-pill { - padding-bottom: 3px; -} -.tabs-header-bottom .tabs-pill { - padding-top: 3px; - padding-bottom: 0; -} -.tabs-header-left .tabs-pill { - padding-right: 3px; -} -.tabs-header-right .tabs-pill { - padding-left: 3px; -} -.tabs-header .tabs-pill li a.tabs-inner { - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.tabs-header-narrow, -.tabs-header-narrow .tabs-narrow { - padding: 0; -} -.tabs-narrow li, -.tabs-header-bottom .tabs-narrow li { - margin-left: 0; - margin-right: -1px; -} -.tabs-narrow li.tabs-last, -.tabs-header-bottom .tabs-narrow li.tabs-last { - margin-right: 0; -} -.tabs-header-left .tabs-narrow, -.tabs-header-right .tabs-narrow { - padding-top: 0; -} -.tabs-header-left .tabs-narrow li { - margin-bottom: -1px; - margin-right: -1px; -} -.tabs-header-left .tabs-narrow li.tabs-last, -.tabs-header-right .tabs-narrow li.tabs-last { - margin-bottom: 0; -} -.tabs-header-right .tabs-narrow li { - margin-bottom: -1px; - margin-left: -1px; -} -.tabs-scroller-left { - background: #3d3d3d url('images/tabs_icons.png') no-repeat 1px center; -} -.tabs-scroller-right { - background: #3d3d3d url('images/tabs_icons.png') no-repeat -15px center; -} -.tabs li a.tabs-close { - background: url('images/tabs_icons.png') no-repeat -34px center; -} -.tabs li a.tabs-inner:hover { - background: #777; - color: #fff; - filter: none; -} -.tabs li.tabs-selected a.tabs-inner { - background-color: #666; - color: #fff; - background: -webkit-linear-gradient(top,#454545 0,#666 100%); - background: -moz-linear-gradient(top,#454545 0,#666 100%); - background: -o-linear-gradient(top,#454545 0,#666 100%); - background: linear-gradient(to bottom,#454545 0,#666 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#666,GradientType=0); -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(top,#666 0,#454545 100%); - background: -moz-linear-gradient(top,#666 0,#454545 100%); - background: -o-linear-gradient(top,#666 0,#454545 100%); - background: linear-gradient(to bottom,#666 0,#454545 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#666,endColorstr=#454545,GradientType=0); -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(left,#454545 0,#666 100%); - background: -moz-linear-gradient(left,#454545 0,#666 100%); - background: -o-linear-gradient(left,#454545 0,#666 100%); - background: linear-gradient(to right,#454545 0,#666 100%); - background-repeat: repeat-y; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#666,GradientType=1); -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(left,#666 0,#454545 100%); - background: -moz-linear-gradient(left,#666 0,#454545 100%); - background: -o-linear-gradient(left,#666 0,#454545 100%); - background: linear-gradient(to right,#666 0,#454545 100%); - background-repeat: repeat-y; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#666,endColorstr=#454545,GradientType=1); -} -.tabs li a.tabs-inner { - color: #fff; - background-color: #3d3d3d; - background: -webkit-linear-gradient(top,#454545 0,#383838 100%); - background: -moz-linear-gradient(top,#454545 0,#383838 100%); - background: -o-linear-gradient(top,#454545 0,#383838 100%); - background: linear-gradient(to bottom,#454545 0,#383838 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0); -} -.tabs-header, -.tabs-tool { - background-color: #3d3d3d; -} -.tabs-header-plain { - background: transparent; -} -.tabs-header, -.tabs-scroller-left, -.tabs-scroller-right, -.tabs-tool, -.tabs, -.tabs-panels, -.tabs li a.tabs-inner, -.tabs li.tabs-selected a.tabs-inner, -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, -.tabs-header-left .tabs li.tabs-selected a.tabs-inner, -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-color: #000; -} -.tabs-p-tool a:hover, -.tabs li a:hover.tabs-close, -.tabs-scroller-over { - background-color: #777; -} -.tabs li.tabs-selected a.tabs-inner { - border-bottom: 1px solid #666; -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - border-top: 1px solid #666; -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - border-right: 1px solid #666; -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-left: 1px solid #666; -} -.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { - background: #0052A3; - color: #fff; - filter: none; - border-color: #000; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tagbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tagbox.css deleted file mode 100644 index e08ec87..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tagbox.css +++ /dev/null @@ -1,44 +0,0 @@ -.tagbox { - cursor: text; -} -.tagbox .textbox-text { - float: left; -} -.tagbox-label { - position: relative; - display: block; - margin: 4px 0 0 4px; - padding: 0 20px 0 4px; - float: left; - vertical-align: top; - text-decoration: none; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - background: #777; - color: #fff; -} -.tagbox-remove { - background: url('images/tagbox_icons.png') no-repeat -16px center; - position: absolute; - display: block; - width: 16px; - height: 16px; - right: 2px; - top: 50%; - margin-top: -8px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tagbox-remove:hover { - opacity: 1; - filter: alpha(opacity=100); -} -.textbox-disabled .tagbox-label { - cursor: default; -} -.textbox-disabled .tagbox-remove:hover { - cursor: default; - opacity: 0.6; - filter: alpha(opacity=60); -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/textbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/textbox.css deleted file mode 100644 index 1d18ad9..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/textbox.css +++ /dev/null @@ -1,144 +0,0 @@ -.textbox { - position: relative; - border: 1px solid #000; - background-color: #fff; - vertical-align: middle; - display: inline-block; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.textbox .textbox-text { - font-size: 14px; - border: 0; - margin: 0; - padding: 0 4px; - white-space: normal; - vertical-align: top; - outline-style: none; - resize: none; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - height: 28px; - line-height: 28px; -} -.textbox textarea.textbox-text { - line-height: normal; -} -.textbox .textbox-text::-ms-clear, -.textbox .textbox-text::-ms-reveal { - display: none; -} -.textbox textarea.textbox-text { - white-space: pre-wrap; -} -.textbox .textbox-prompt { - font-size: 14px; - color: #aaa; -} -.textbox .textbox-bgicon { - background-position: 3px center; - padding-left: 21px; -} -.textbox .textbox-button, -.textbox .textbox-button:hover { - position: absolute; - top: 0; - padding: 0; - vertical-align: top; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.textbox .textbox-button-right, -.textbox .textbox-button-right:hover { - right: 0; - border-width: 0 0 0 1px; -} -.textbox .textbox-button-left, -.textbox .textbox-button-left:hover { - left: 0; - border-width: 0 1px 0 0; -} -.textbox .textbox-button-top, -.textbox .textbox-button-top:hover { - left: 0; - border-width: 0 0 1px 0; -} -.textbox .textbox-button-bottom, -.textbox .textbox-button-bottom:hover { - top: auto; - bottom: 0; - left: 0; - border-width: 1px 0 0 0; -} -.textbox-addon { - position: absolute; - top: 0; -} -.textbox-label { - display: inline-block; - width: 80px; - height: 30px; - line-height: 30px; - vertical-align: middle; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - margin: 0; - padding-right: 5px; -} -.textbox-label-after { - padding-left: 5px; - padding-right: 0; -} -.textbox-label-top { - display: block; - width: auto; - padding: 0; -} -.textbox-disabled, -.textbox-label-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-icon { - display: inline-block; - width: 18px; - height: 20px; - overflow: hidden; - vertical-align: top; - background-position: center center; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); - text-decoration: none; - outline-style: none; -} -.textbox-icon-disabled, -.textbox-icon-readonly { - cursor: default; -} -.textbox-icon:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.textbox-icon-disabled:hover { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-focused { - border-color: #000000; - -moz-box-shadow: 0 0 3px 0 #000; - -webkit-box-shadow: 0 0 3px 0 #000; - box-shadow: 0 0 3px 0 #000; -} -.textbox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tooltip.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tooltip.css deleted file mode 100644 index 13e310d..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tooltip.css +++ /dev/null @@ -1,103 +0,0 @@ -.tooltip { - position: absolute; - display: none; - z-index: 9900000; - outline: none; - opacity: 1; - filter: alpha(opacity=100); - padding: 5px; - border-width: 1px; - border-style: solid; - border-radius: 5px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.tooltip-content { - font-size: 14px; -} -.tooltip-arrow-outer, -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - line-height: 0; - font-size: 0; - border-style: solid; - border-width: 6px; - border-color: transparent; - _border-color: tomato; - _filter: chroma(color=tomato); -} -.tooltip-arrow { - display: none \9; -} -.tooltip-right .tooltip-arrow-outer { - left: 0; - top: 50%; - margin: -6px 0 0 -13px; -} -.tooltip-right .tooltip-arrow { - left: 0; - top: 50%; - margin: -6px 0 0 -12px; -} -.tooltip-left .tooltip-arrow-outer { - right: 0; - top: 50%; - margin: -6px -13px 0 0; -} -.tooltip-left .tooltip-arrow { - right: 0; - top: 50%; - margin: -6px -12px 0 0; -} -.tooltip-top .tooltip-arrow-outer { - bottom: 0; - left: 50%; - margin: 0 0 -13px -6px; -} -.tooltip-top .tooltip-arrow { - bottom: 0; - left: 50%; - margin: 0 0 -12px -6px; -} -.tooltip-bottom .tooltip-arrow-outer { - top: 0; - left: 50%; - margin: -13px 0 0 -6px; -} -.tooltip-bottom .tooltip-arrow { - top: 0; - left: 50%; - margin: -12px 0 0 -6px; -} -.tooltip { - background-color: #666; - border-color: #000; - color: #fff; -} -.tooltip-right .tooltip-arrow-outer { - border-right-color: #000; -} -.tooltip-right .tooltip-arrow { - border-right-color: #666; -} -.tooltip-left .tooltip-arrow-outer { - border-left-color: #000; -} -.tooltip-left .tooltip-arrow { - border-left-color: #666; -} -.tooltip-top .tooltip-arrow-outer { - border-top-color: #000; -} -.tooltip-top .tooltip-arrow { - border-top-color: #666; -} -.tooltip-bottom .tooltip-arrow-outer { - border-bottom-color: #000; -} -.tooltip-bottom .tooltip-arrow { - border-bottom-color: #666; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tree.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tree.css deleted file mode 100644 index 08e4849..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tree.css +++ /dev/null @@ -1,164 +0,0 @@ -.tree { - margin: 0; - padding: 0; - list-style-type: none; -} -.tree li { - white-space: nowrap; -} -.tree li ul { - list-style-type: none; - margin: 0; - padding: 0; -} -.tree-node { - height: 26px; - white-space: nowrap; - cursor: pointer; -} -.tree-hit { - cursor: pointer; -} -.tree-expanded, -.tree-collapsed, -.tree-folder, -.tree-file, -.tree-checkbox, -.tree-indent { - display: inline-block; - width: 16px; - height: 18px; - margin: 4px 0; - vertical-align: middle; - overflow: hidden; -} -.tree-expanded { - background: url('images/tree_icons.png') no-repeat -18px 0px; -} -.tree-expanded-hover { - background: url('images/tree_icons.png') no-repeat -50px 0px; -} -.tree-collapsed { - background: url('images/tree_icons.png') no-repeat 0px 0px; -} -.tree-collapsed-hover { - background: url('images/tree_icons.png') no-repeat -32px 0px; -} -.tree-lines .tree-expanded, -.tree-lines .tree-root-first .tree-expanded { - background: url('images/tree_icons.png') no-repeat -144px 0; -} -.tree-lines .tree-collapsed, -.tree-lines .tree-root-first .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -128px 0; -} -.tree-lines .tree-node-last .tree-expanded, -.tree-lines .tree-root-one .tree-expanded { - background: url('images/tree_icons.png') no-repeat -80px 0; -} -.tree-lines .tree-node-last .tree-collapsed, -.tree-lines .tree-root-one .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -64px 0; -} -.tree-line { - background: url('images/tree_icons.png') no-repeat -176px 0; -} -.tree-join { - background: url('images/tree_icons.png') no-repeat -192px 0; -} -.tree-joinbottom { - background: url('images/tree_icons.png') no-repeat -160px 0; -} -.tree-folder { - background: url('images/tree_icons.png') no-repeat -208px 0; -} -.tree-folder-open { - background: url('images/tree_icons.png') no-repeat -224px 0; -} -.tree-file { - background: url('images/tree_icons.png') no-repeat -240px 0; -} -.tree-loading { - background: url('images/loading.gif') no-repeat center center; -} -.tree-checkbox0 { - background: url('images/tree_icons.png') no-repeat -208px -18px; -} -.tree-checkbox1 { - background: url('images/tree_icons.png') no-repeat -224px -18px; -} -.tree-checkbox2 { - background: url('images/tree_icons.png') no-repeat -240px -18px; -} -.tree-title { - font-size: 14px; - display: inline-block; - text-decoration: none; - vertical-align: middle; - white-space: nowrap; - padding: 0 2px; - margin: 4px 0; - height: 18px; - line-height: 18px; -} -.tree-node-proxy { - font-size: 14px; - line-height: 20px; - padding: 0 2px 0 20px; - border-width: 1px; - border-style: solid; - z-index: 9900000; -} -.tree-dnd-icon { - display: inline-block; - position: absolute; - width: 16px; - height: 18px; - left: 2px; - top: 50%; - margin-top: -9px; -} -.tree-dnd-yes { - background: url('images/tree_icons.png') no-repeat -256px 0; -} -.tree-dnd-no { - background: url('images/tree_icons.png') no-repeat -256px -18px; -} -.tree-node-top { - border-top: 1px dotted red; -} -.tree-node-bottom { - border-bottom: 1px dotted red; -} -.tree-node-append .tree-title { - border: 1px dotted red; -} -.tree-editor { - border: 1px solid #000; - font-size: 14px; - height: 26px; - line-height: 26px; - padding: 0 4px; - margin: 0; - width: 80px; - outline-style: none; - vertical-align: middle; - position: absolute; - top: 0; -} -.tree-node-proxy { - background-color: #666; - color: #fff; - border-color: #000; -} -.tree-node-hover { - background: #777; - color: #fff; -} -.tree-node-selected { - background: #0052A3; - color: #fff; -} -.tree-node-hidden { - display: none; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/validatebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/validatebox.css deleted file mode 100644 index 4d566de..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/validatebox.css +++ /dev/null @@ -1,13 +0,0 @@ -.inputbox { - display: inline-block; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; -} -.validatebox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; - color: #000; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/window.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/window.css deleted file mode 100644 index 0369589..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/window.css +++ /dev/null @@ -1,188 +0,0 @@ -.window { - overflow: hidden; - padding: 5px; - border-width: 1px; - border-style: solid; -} -.window .window-header { - background: transparent; - padding: 0px 0px 6px 0px; -} -.window .window-body { - border-width: 1px; - border-style: solid; - border-top-width: 0px; -} -.window .window-body-noheader { - border-top-width: 1px; -} -.window .panel-body-nobottom { - border-bottom-width: 0; -} -.window .window-header .panel-icon, -.window .window-header .panel-tool { - top: 50%; - margin-top: -11px; -} -.window .window-header .panel-icon { - left: 1px; -} -.window .window-header .panel-tool { - right: 1px; -} -.window .window-header .panel-with-icon { - padding-left: 18px; -} -.window-proxy { - position: absolute; - overflow: hidden; -} -.window-proxy-mask { - position: absolute; - filter: alpha(opacity=5); - opacity: 0.05; -} -.window-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - filter: alpha(opacity=40); - opacity: 0.40; - font-size: 1px; - overflow: hidden; -} -.window, -.window-shadow { - position: absolute; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.window-shadow { - background: #777; - -moz-box-shadow: 2px 2px 3px #787878; - -webkit-box-shadow: 2px 2px 3px #787878; - box-shadow: 2px 2px 3px #787878; - filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); -} -.window, -.window .window-body { - border-color: #000; -} -.window { - background-color: #3d3d3d; - background: -webkit-linear-gradient(top,#454545 0,#383838 20%); - background: -moz-linear-gradient(top,#454545 0,#383838 20%); - background: -o-linear-gradient(top,#454545 0,#383838 20%); - background: linear-gradient(to bottom,#454545 0,#383838 20%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0); -} -.window-proxy { - border: 1px dashed #000; -} -.window-proxy-mask, -.window-mask { - background: #000; -} -.window .panel-footer { - border: 1px solid #000; - position: relative; - top: -1px; -} -.window-thinborder { - padding: 0; -} -.window-thinborder .window-header { - padding: 5px 5px 6px 5px; -} -.window-thinborder .window-body { - border-width: 0px; -} -.window-thinborder .window-footer { - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} -.window-thinborder .window-header .panel-icon, -.window-thinborder .window-header .panel-tool { - margin-top: -9px; - margin-left: 5px; - margin-right: 5px; -} -.window-noborder { - border: 0; -} -.window.panel-hleft .window-header { - padding: 0 6px 0 0; -} -.window.panel-hright .window-header { - padding: 0 0 0 6px; -} -.window.panel-hleft>.panel-header .panel-title { - top: auto; - left: 16px; -} -.window.panel-hright>.panel-header .panel-title { - top: auto; - right: 16px; -} -.window.panel-hleft>.panel-header .panel-title-up, -.window.panel-hright>.panel-header .panel-title-up { - bottom: 0; -} -.window.panel-hleft .window-body { - border-width: 1px 1px 1px 0; -} -.window.panel-hright .window-body { - border-width: 1px 0 1px 1px; -} -.window.panel-hleft .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: 0; -} -.window.panel-hright .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: auto; - right: 1px; -} -.window.panel-hleft .window-header .panel-tool, -.window.panel-hright .window-header .panel-tool { - margin-top: 0; - top: auto; - bottom: 1px; - right: auto; - margin-right: 0; - left: 50%; - margin-left: -11px; -} -.window.panel-hright .window-header .panel-tool { - left: auto; - right: 1px; -} -.window-thinborder.panel-hleft .window-header { - padding: 5px 6px 5px 5px; -} -.window-thinborder.panel-hright .window-header { - padding: 5px 5px 5px 6px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title { - left: 21px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title-up, -.window-thinborder.panel-hright>.panel-header .panel-title-up { - bottom: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-icon, -.window-thinborder.panel-hright .window-header .panel-icon { - margin-top: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-tool, -.window-thinborder.panel-hright .window-header .panel-tool { - left: 16px; - bottom: 5px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/accordion.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/accordion.css deleted file mode 100644 index 9d268c0..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/accordion.css +++ /dev/null @@ -1,89 +0,0 @@ -.accordion { - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.accordion .accordion-header { - border-width: 0 0 1px; - cursor: pointer; -} -.accordion .accordion-body { - border-width: 0 0 1px; -} -.accordion-noborder { - border-width: 0; -} -.accordion-noborder .accordion-header { - border-width: 0 0 1px; -} -.accordion-noborder .accordion-body { - border-width: 0 0 1px; -} -.accordion-collapse { - background: url('images/accordion_arrows.png') no-repeat 0 0; -} -.accordion-expand { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.accordion { - background: #ffffff; - border-color: #D4D4D4; -} -.accordion .accordion-header { - background: #F2F2F2; - filter: none; -} -.accordion .accordion-header-selected { - background: #0081c2; -} -.accordion .accordion-header-selected .panel-title { - color: #fff; -} -.accordion .panel-last > .accordion-header { - border-bottom-color: #F2F2F2; -} -.accordion .panel-last > .accordion-body { - border-bottom-color: #ffffff; -} -.accordion .panel-last > .accordion-header-selected, -.accordion .panel-last > .accordion-header-border { - border-bottom-color: #D4D4D4; -} -.accordion> .panel-hleft { - float: left; -} -.accordion> .panel-hleft>.panel-header { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft> .panel-body { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft.panel-last > .accordion-header { - border-right-color: #F2F2F2; -} -.accordion> .panel-hleft.panel-last > .accordion-body { - border-right-color: #ffffff; -} -.accordion> .panel-hleft.panel-last > .accordion-header-selected, -.accordion> .panel-hleft.panel-last > .accordion-header-border { - border-right-color: #D4D4D4; -} -.accordion> .panel-hright { - float: right; -} -.accordion> .panel-hright>.panel-header { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright> .panel-body { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright.panel-last > .accordion-header { - border-left-color: #F2F2F2; -} -.accordion> .panel-hright.panel-last > .accordion-body { - border-left-color: #ffffff; -} -.accordion> .panel-hright.panel-last > .accordion-header-selected, -.accordion> .panel-hright.panel-last > .accordion-header-border { - border-left-color: #D4D4D4; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/calendar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/calendar.css deleted file mode 100644 index b3c7495..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/calendar.css +++ /dev/null @@ -1,203 +0,0 @@ -.calendar { - border-width: 1px; - border-style: solid; - padding: 1px; - overflow: hidden; -} -.calendar table { - table-layout: fixed; - border-collapse: separate; - font-size: 12px; - width: 100%; - height: 100%; -} -.calendar table td, -.calendar table th { - font-size: 12px; -} -.calendar-noborder { - border: 0; -} -.calendar-header { - position: relative; - height: 28px; -} -.calendar-title { - text-align: center; - height: 28px; -} -.calendar-title span { - position: relative; - display: inline-block; - top: 0px; - padding: 0 3px; - height: 28px; - line-height: 28px; - font-size: 12px; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-prevmonth, -.calendar-nextmonth, -.calendar-prevyear, -.calendar-nextyear { - position: absolute; - top: 50%; - margin-top: -8px; - width: 16px; - height: 16px; - cursor: pointer; - font-size: 1px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-prevmonth { - left: 20px; - background: url('images/calendar_arrows.png') no-repeat -16px 0; -} -.calendar-nextmonth { - right: 20px; - background: url('images/calendar_arrows.png') no-repeat -32px 0; -} -.calendar-prevyear { - left: 3px; - background: url('images/calendar_arrows.png') no-repeat 0px 0; -} -.calendar-nextyear { - right: 3px; - background: url('images/calendar_arrows.png') no-repeat -48px 0; -} -.calendar-body { - position: relative; -} -.calendar-body th, -.calendar-body td { - text-align: center; -} -.calendar-day { - border: 0; - padding: 1px; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-other-month { - opacity: 0.3; - filter: alpha(opacity=30); -} -.calendar-disabled { - opacity: 0.6; - filter: alpha(opacity=60); - cursor: default; -} -.calendar-menu { - position: absolute; - top: 0; - left: 0; - width: 180px; - height: 150px; - padding: 5px; - font-size: 12px; - display: none; - overflow: hidden; -} -.calendar-menu-year-inner { - text-align: center; - padding-bottom: 5px; -} -.calendar-menu-year { - width: 80px; - line-height: 26px; - text-align: center; - border-width: 1px; - border-style: solid; - outline-style: none; - resize: none; - margin: 0; - padding: 0; - font-weight: bold; - font-size: 12px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-menu-prev, -.calendar-menu-next { - display: inline-block; - width: 25px; - height: 28px; - vertical-align: top; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-menu-prev { - margin-right: 10px; - background: url('images/calendar_arrows.png') no-repeat 5px center; -} -.calendar-menu-next { - margin-left: 10px; - background: url('images/calendar_arrows.png') no-repeat -44px center; -} -.calendar-menu-month { - text-align: center; - cursor: pointer; - font-weight: bold; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-body th, -.calendar-menu-month { - color: #808080; -} -.calendar-day { - color: #333; -} -.calendar-sunday { - color: #CC2222; -} -.calendar-saturday { - color: #00ee00; -} -.calendar-today { - color: #0000ff; -} -.calendar-menu-year { - border-color: #D4D4D4; -} -.calendar { - border-color: #D4D4D4; -} -.calendar-header { - background: #F2F2F2; -} -.calendar-body, -.calendar-menu { - background: #ffffff; -} -.calendar-body th { - background: #F5F5F5; - padding: 4px 0; -} -.calendar-hover, -.calendar-nav-hover, -.calendar-menu-hover { - background-color: #e6e6e6; - color: #00438a; -} -.calendar-hover { - border: 1px solid #ddd; - padding: 0; -} -.calendar-selected { - background-color: #0081c2; - color: #fff; - border: 1px solid #0070a9; - padding: 0; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/checkbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/checkbox.css deleted file mode 100644 index 0edec67..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/checkbox.css +++ /dev/null @@ -1,31 +0,0 @@ -.checkbox { - position: relative; - border: 2px solid #0070a9; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.checkbox-checked { - border: 0; - background: #0070a9; -} -.checkbox-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; -} -.checkbox path { - stroke-width: 2px; -} -.checkbox-disabled { - opacity: 0.6; -} -.checkbox-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/combo.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/combo.css deleted file mode 100644 index fc9030d..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/combo.css +++ /dev/null @@ -1,35 +0,0 @@ -.combo-arrow { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.combo-arrow-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.combo-panel { - overflow: auto; -} -.combo-arrow { - background: url('images/combo_arrow.png') no-repeat center center; -} -.combo-panel { - background-color: #ffffff; -} -.combo-arrow { - background-color: #F2F2F2; -} -.combo-arrow-hover { - background-color: #e6e6e6; -} -.combo-arrow:hover { - background-color: #e6e6e6; -} -.combo .textbox-icon-disabled:hover { - cursor: default; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/combobox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/combobox.css deleted file mode 100644 index f490811..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/combobox.css +++ /dev/null @@ -1,40 +0,0 @@ -.combobox-item, -.combobox-group, -.combobox-stick { - font-size: 12px; - padding: 6px 4px; - line-height: 20px; -} -.combobox-item-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.combobox-gitem { - padding-left: 10px; -} -.combobox-group, -.combobox-stick { - font-weight: bold; -} -.combobox-stick { - position: absolute; - top: 1px; - left: 1px; - right: 1px; - background: inherit; -} -.combobox-item-hover { - background-color: #e6e6e6; - color: #00438a; -} -.combobox-item-selected { - background-color: #0081c2; - color: #fff; -} -.combobox-icon { - display: inline-block; - width: 16px; - height: 16px; - vertical-align: middle; - margin-right: 2px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/datagrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/datagrid.css deleted file mode 100644 index 8c67b17..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/datagrid.css +++ /dev/null @@ -1,291 +0,0 @@ -.datagrid .panel-body { - overflow: hidden; - position: relative; -} -.datagrid-view { - position: relative; - overflow: hidden; -} -.datagrid-view1, -.datagrid-view2 { - position: absolute; - overflow: hidden; - top: 0; -} -.datagrid-view1 { - left: 0; -} -.datagrid-view2 { - right: 0; -} -.datagrid-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0.3; - filter: alpha(opacity=30); - display: none; -} -.datagrid-mask-msg { - position: absolute; - top: 50%; - margin-top: -20px; - padding: 10px 5px 10px 30px; - width: auto; - height: 16px; - border-width: 2px; - border-style: solid; - display: none; -} -.datagrid-empty { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 25px; - line-height: 25px; - text-align: center; -} -.datagrid-sort-icon { - padding: 0; - display: none; -} -.datagrid-toolbar { - height: auto; - padding: 1px 2px; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-btn-separator { - float: left; - height: 24px; - border-left: 1px solid #ccc; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.datagrid .datagrid-pager { - display: block; - margin: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.datagrid .datagrid-pager-top { - border-width: 0 0 1px 0; -} -.datagrid-header { - overflow: hidden; - cursor: default; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-header-inner { - float: left; - width: 10000px; -} -.datagrid-header-row, -.datagrid-row { - height: 32px; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-width: 0 1px 1px 0; - border-style: dotted; - margin: 0; - padding: 0; -} -.datagrid-cell, -.datagrid-cell-group, -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - margin: 0; - padding: 0 4px; - white-space: nowrap; - word-wrap: normal; - overflow: hidden; - height: 18px; - line-height: 18px; - font-size: 12px; -} -.datagrid-header .datagrid-cell { - height: auto; -} -.datagrid-header .datagrid-cell span { - font-size: 12px; -} -.datagrid-cell-group { - text-align: center; - text-overflow: ellipsis; -} -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - width: 30px; - text-align: center; - margin: 0; - padding: 0; -} -.datagrid-body { - margin: 0; - padding: 0; - overflow: auto; - zoom: 1; -} -.datagrid-view1 .datagrid-body-inner { - padding-bottom: 20px; -} -.datagrid-view1 .datagrid-body { - overflow: hidden; -} -.datagrid-footer { - overflow: hidden; -} -.datagrid-footer-inner { - border-width: 1px 0 0 0; - border-style: solid; - width: 10000px; - float: left; -} -.datagrid-row-editing .datagrid-cell { - height: auto; -} -.datagrid-header-check, -.datagrid-cell-check { - padding: 0; - width: 27px; - height: 18px; - font-size: 1px; - text-align: center; - overflow: hidden; -} -.datagrid-header-check input, -.datagrid-cell-check input { - margin: 0; - padding: 0; - width: 15px; - height: 18px; -} -.datagrid-resize-proxy { - position: absolute; - width: 1px; - height: 10000px; - top: 0; - cursor: e-resize; - display: none; -} -.datagrid-body .datagrid-editable { - margin: 0; - padding: 0; -} -.datagrid-body .datagrid-editable table { - width: 100%; - height: 100%; -} -.datagrid-body .datagrid-editable td { - border: 0; - margin: 0; - padding: 0; -} -.datagrid-view .datagrid-editable-input { - margin: 0; - padding: 2px 4px; - border: 1px solid #D4D4D4; - font-size: 12px; - outline-style: none; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-view .validatebox-invalid { - border-color: #ffa8a8; -} -.datagrid-sort .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -64px center; -} -.datagrid-sort-desc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -16px center; -} -.datagrid-sort-asc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat 0px center; -} -.datagrid-row-collapse { - background: url('images/datagrid_icons.png') no-repeat -48px center; -} -.datagrid-row-expand { - background: url('images/datagrid_icons.png') no-repeat -32px center; -} -.datagrid-mask-msg { - background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; -} -.datagrid-header, -.datagrid-td-rownumber { - background-color: #F2F2F2; - background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 100%); - background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 100%); - background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 100%); - background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0); -} -.datagrid-cell-rownumber { - color: #333; -} -.datagrid-resize-proxy { - background: #bbb; -} -.datagrid-mask { - background: #ccc; -} -.datagrid-mask-msg { - border-color: #D4D4D4; -} -.datagrid-toolbar, -.datagrid-pager { - background: #F5F5F5; -} -.datagrid-header, -.datagrid-toolbar, -.datagrid-pager, -.datagrid-footer-inner { - border-color: #e6e6e6; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-color: #ccc; -} -.datagrid-htable, -.datagrid-btable, -.datagrid-ftable { - color: #333; - border-collapse: separate; -} -.datagrid-row-alt { - background: #F5F5F5; -} -.datagrid-row-over, -.datagrid-header td.datagrid-header-over { - background: #e6e6e6; - color: #00438a; - cursor: default; -} -.datagrid-row-selected { - background: #0081c2; - color: #fff; -} -.datagrid-row-editing .textbox, -.datagrid-row-editing .textbox-text { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-header .datagrid-filter-row td.datagrid-header-over { - background: inherit; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/datalist.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/datalist.css deleted file mode 100644 index 68e8df6..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/datalist.css +++ /dev/null @@ -1,95 +0,0 @@ -.datalist .datagrid-header { - border-width: 0; -} -.datalist .datagrid-group, -.m-list .m-list-group { - height: 25px; - line-height: 25px; - font-weight: bold; - overflow: hidden; - background-color: #F2F2F2; - border-style: solid; - border-width: 0 0 1px 0; - border-color: #ccc; -} -.datalist .datagrid-group-expander { - display: none; -} -.datalist .datagrid-group-title { - padding: 0 4px; -} -.datalist .datagrid-btable { - width: 100%; - table-layout: fixed; -} -.datalist .datagrid-row td { - border-style: solid; - border-left-color: transparent; - border-right-color: transparent; - border-bottom-width: 0; -} -.datalist-lines .datagrid-row td { - border-bottom-width: 1px; -} -.datalist .datagrid-cell, -.m-list li { - width: auto; - height: auto; - padding: 2px 4px; - line-height: 18px; - position: relative; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link, -.m-list li>a { - display: block; - position: relative; - cursor: pointer; - color: #333; - text-decoration: none; - overflow: hidden; - margin: -2px -4px; - padding: 2px 4px; - padding-right: 16px; - line-height: 18px; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link::after, -.m-list li>a::after { - position: absolute; - display: block; - width: 8px; - height: 8px; - content: ''; - right: 6px; - top: 50%; - margin-top: -4px; - border-style: solid; - border-width: 1px 1px 0 0; - -ms-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -webkit-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); -} -.m-list { - margin: 0; - padding: 0; - list-style: none; -} -.m-list li { - border-style: solid; - border-width: 0 0 1px 0; - border-color: #ccc; -} -.m-list li>a:hover { - background: #e6e6e6; - color: #00438a; -} -.m-list .m-list-group { - padding: 0 4px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/datebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/datebox.css deleted file mode 100644 index 34e376f..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/datebox.css +++ /dev/null @@ -1,36 +0,0 @@ -.datebox-calendar-inner { - height: 250px; -} -.datebox-button { - padding: 4px 0; - text-align: center; -} -.datebox-button a { - line-height: 22px; - font-size: 12px; - font-weight: bold; - text-decoration: none; - opacity: 0.6; - filter: alpha(opacity=60); -} -.datebox-button a:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.datebox-current, -.datebox-close { - float: left; -} -.datebox-close { - float: right; -} -.datebox .combo-arrow { - background-image: url('images/datebox_arrow.png'); - background-position: center center; -} -.datebox-button { - background-color: #F5F5F5; -} -.datebox-button a { - color: #444; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/dialog.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/dialog.css deleted file mode 100644 index b44497f..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/dialog.css +++ /dev/null @@ -1,47 +0,0 @@ -.dialog-content { - overflow: auto; -} -.dialog-toolbar { - position: relative; - padding: 2px 5px; -} -.dialog-tool-separator { - float: left; - height: 24px; - border-left: 1px solid #ccc; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.dialog-button { - position: relative; - top: -1px; - padding: 5px; - text-align: right; -} -.dialog-button .l-btn { - margin-left: 5px; -} -.dialog-toolbar, -.dialog-button { - background: #F5F5F5; - border-width: 1px; - border-style: solid; -} -.dialog-toolbar { - border-color: #D4D4D4 #D4D4D4 #e6e6e6 #D4D4D4; -} -.dialog-button { - border-color: #e6e6e6 #D4D4D4 #D4D4D4 #D4D4D4; -} -.window-thinborder .dialog-toolbar { - border-left: transparent; - border-right: transparent; - border-top-color: #F5F5F5; -} -.window-thinborder .dialog-button { - top: 0px; - padding: 5px 8px 8px 8px; - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/easyui.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/easyui.css deleted file mode 100644 index 012f8c2..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/easyui.css +++ /dev/null @@ -1,3457 +0,0 @@ -.panel { - overflow: hidden; - text-align: left; - margin: 0; - border: 0; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.panel-header, -.panel-body { - border-width: 1px; - border-style: solid; -} -.panel-header { - padding: 5px; - position: relative; -} -.panel-title { - background: url('images/blank.gif') no-repeat; -} -.panel-header-noborder { - border-width: 0 0 1px 0; -} -.panel-body { - overflow: auto; - border-top-width: 0; - padding: 0; -} -.panel-body-noheader { - border-top-width: 1px; -} -.panel-body-noborder { - border-width: 0px; -} -.panel-body-nobottom { - border-bottom-width: 0; -} -.panel-with-icon { - padding-left: 18px; -} -.panel-icon, -.panel-tool { - position: absolute; - top: 50%; - margin-top: -8px; - height: 16px; - overflow: hidden; -} -.panel-icon { - left: 5px; - width: 16px; -} -.panel-tool { - right: 5px; - width: auto; -} -.panel-tool a { - display: inline-block; - width: 16px; - height: 16px; - opacity: 0.6; - filter: alpha(opacity=60); - margin: 0 0 0 2px; - vertical-align: top; -} -.panel-tool a:hover { - opacity: 1; - filter: alpha(opacity=100); - background-color: #e6e6e6; - -moz-border-radius: 3px 3px 3px 3px; - -webkit-border-radius: 3px 3px 3px 3px; - border-radius: 3px 3px 3px 3px; -} -.panel-loading { - padding: 11px 0px 10px 30px; -} -.panel-noscroll { - overflow: hidden; -} -.panel-fit, -.panel-fit body { - height: 100%; - margin: 0; - padding: 0; - border: 0; - overflow: hidden; -} -.panel-loading { - background: url('images/loading.gif') no-repeat 10px 10px; -} -.panel-tool-close { - background: url('images/panel_tools.png') no-repeat -16px 0px; -} -.panel-tool-min { - background: url('images/panel_tools.png') no-repeat 0px 0px; -} -.panel-tool-max { - background: url('images/panel_tools.png') no-repeat 0px -16px; -} -.panel-tool-restore { - background: url('images/panel_tools.png') no-repeat -16px -16px; -} -.panel-tool-collapse { - background: url('images/panel_tools.png') no-repeat -32px 0; -} -.panel-tool-expand { - background: url('images/panel_tools.png') no-repeat -32px -16px; -} -.panel-header, -.panel-body { - border-color: #D4D4D4; -} -.panel-header { - background-color: #F2F2F2; - background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 100%); - background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 100%); - background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 100%); - background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0); -} -.panel-body { - background-color: #ffffff; - color: #333; - font-size: 12px; -} -.panel-title { - font-size: 12px; - font-weight: bold; - color: #777; - height: 20px; - line-height: 20px; -} -.panel-footer { - border: 1px solid #D4D4D4; - overflow: hidden; - background: #F5F5F5; -} -.panel-footer-noborder { - border-width: 1px 0 0 0; -} -.panel-hleft, -.panel-hright { - position: relative; -} -.panel-hleft>.panel-body, -.panel-hright>.panel-body { - position: absolute; -} -.panel-hleft>.panel-header { - float: left; -} -.panel-hright>.panel-header { - float: right; -} -.panel-hleft>.panel-body { - border-top-width: 1px; - border-left-width: 0; -} -.panel-hright>.panel-body { - border-top-width: 1px; - border-right-width: 0; -} -.panel-hleft>.panel-body-nobottom { - border-bottom-width: 1px; - border-right-width: 0; -} -.panel-hright>.panel-body-nobottom { - border-bottom-width: 1px; - border-left-width: 0; -} -.panel-hleft>.panel-footer { - position: absolute; - right: 0; -} -.panel-hright>.panel-footer { - position: absolute; - left: 0; -} -.panel-hleft>.panel-header-noborder { - border-width: 0 1px 0 0; -} -.panel-hright>.panel-header-noborder { - border-width: 0 0 0 1px; -} -.panel-hleft>.panel-body-noborder { - border-width: 0; -} -.panel-hright>.panel-body-noborder { - border-width: 0; -} -.panel-hleft>.panel-body-noheader { - border-left-width: 1px; -} -.panel-hright>.panel-body-noheader { - border-right-width: 1px; -} -.panel-hleft>.panel-footer-noborder { - border-width: 0 0 0 1px; -} -.panel-hright>.panel-footer-noborder { - border-width: 0 1px 0 0; -} -.panel-hleft>.panel-header .panel-icon, -.panel-hright>.panel-header .panel-icon { - margin-top: 0; - top: 5px; - left: 50%; - margin-left: -8px; -} -.panel-hleft>.panel-header .panel-title, -.panel-hright>.panel-header .panel-title { - position: absolute; - min-width: 16px; - left: 25px; - top: 5px; - bottom: auto; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(90deg); - -o-transform-origin: 0 0; - transform: rotate(90deg); - transform-origin: 0 0; -} -.panel-hleft>.panel-header .panel-title-up, -.panel-hright>.panel-header .panel-title-up { - position: absolute; - min-width: 16px; - left: 21px; - top: auto; - bottom: 0px; - text-align: right; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(-90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(-90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(-90deg); - -o-transform-origin: 0 0; - transform: rotate(-90deg); - transform-origin: 0 16px; -} -.panel-hleft>.panel-header .panel-with-icon.panel-title-up, -.panel-hright>.panel-header .panel-with-icon.panel-title-up { - padding-left: 0; - padding-right: 18px; -} -.panel-hleft>.panel-header .panel-tool, -.panel-hright>.panel-header .panel-tool { - top: auto; - bottom: 5px; - width: 16px; - height: auto; - left: 50%; - margin-left: -8px; - margin-top: 0; -} -.panel-hleft>.panel-header .panel-tool a, -.panel-hright>.panel-header .panel-tool a { - margin: 2px 0 0 0; -} -.accordion { - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.accordion .accordion-header { - border-width: 0 0 1px; - cursor: pointer; -} -.accordion .accordion-body { - border-width: 0 0 1px; -} -.accordion-noborder { - border-width: 0; -} -.accordion-noborder .accordion-header { - border-width: 0 0 1px; -} -.accordion-noborder .accordion-body { - border-width: 0 0 1px; -} -.accordion-collapse { - background: url('images/accordion_arrows.png') no-repeat 0 0; -} -.accordion-expand { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.accordion { - background: #ffffff; - border-color: #D4D4D4; -} -.accordion .accordion-header { - background: #F2F2F2; - filter: none; -} -.accordion .accordion-header-selected { - background: #0081c2; -} -.accordion .accordion-header-selected .panel-title { - color: #fff; -} -.accordion .panel-last > .accordion-header { - border-bottom-color: #F2F2F2; -} -.accordion .panel-last > .accordion-body { - border-bottom-color: #ffffff; -} -.accordion .panel-last > .accordion-header-selected, -.accordion .panel-last > .accordion-header-border { - border-bottom-color: #D4D4D4; -} -.accordion> .panel-hleft { - float: left; -} -.accordion> .panel-hleft>.panel-header { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft> .panel-body { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft.panel-last > .accordion-header { - border-right-color: #F2F2F2; -} -.accordion> .panel-hleft.panel-last > .accordion-body { - border-right-color: #ffffff; -} -.accordion> .panel-hleft.panel-last > .accordion-header-selected, -.accordion> .panel-hleft.panel-last > .accordion-header-border { - border-right-color: #D4D4D4; -} -.accordion> .panel-hright { - float: right; -} -.accordion> .panel-hright>.panel-header { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright> .panel-body { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright.panel-last > .accordion-header { - border-left-color: #F2F2F2; -} -.accordion> .panel-hright.panel-last > .accordion-body { - border-left-color: #ffffff; -} -.accordion> .panel-hright.panel-last > .accordion-header-selected, -.accordion> .panel-hright.panel-last > .accordion-header-border { - border-left-color: #D4D4D4; -} -.window { - overflow: hidden; - padding: 5px; - border-width: 1px; - border-style: solid; -} -.window .window-header { - background: transparent; - padding: 0px 0px 6px 0px; -} -.window .window-body { - border-width: 1px; - border-style: solid; - border-top-width: 0px; -} -.window .window-body-noheader { - border-top-width: 1px; -} -.window .panel-body-nobottom { - border-bottom-width: 0; -} -.window .window-header .panel-icon, -.window .window-header .panel-tool { - top: 50%; - margin-top: -11px; -} -.window .window-header .panel-icon { - left: 1px; -} -.window .window-header .panel-tool { - right: 1px; -} -.window .window-header .panel-with-icon { - padding-left: 18px; -} -.window-proxy { - position: absolute; - overflow: hidden; -} -.window-proxy-mask { - position: absolute; - filter: alpha(opacity=5); - opacity: 0.05; -} -.window-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - filter: alpha(opacity=40); - opacity: 0.40; - font-size: 1px; - overflow: hidden; -} -.window, -.window-shadow { - position: absolute; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.window-shadow { - background: #ccc; - -moz-box-shadow: 2px 2px 3px #cccccc; - -webkit-box-shadow: 2px 2px 3px #cccccc; - box-shadow: 2px 2px 3px #cccccc; - filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); -} -.window, -.window .window-body { - border-color: #D4D4D4; -} -.window { - background-color: #F2F2F2; - background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 20%); - background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 20%); - background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 20%); - background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 20%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0); -} -.window-proxy { - border: 1px dashed #D4D4D4; -} -.window-proxy-mask, -.window-mask { - background: #ccc; -} -.window .panel-footer { - border: 1px solid #D4D4D4; - position: relative; - top: -1px; -} -.window-thinborder { - padding: 0; -} -.window-thinborder .window-header { - padding: 5px 5px 6px 5px; -} -.window-thinborder .window-body { - border-width: 0px; -} -.window-thinborder .window-footer { - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} -.window-thinborder .window-header .panel-icon, -.window-thinborder .window-header .panel-tool { - margin-top: -9px; - margin-left: 5px; - margin-right: 5px; -} -.window-noborder { - border: 0; -} -.window.panel-hleft .window-header { - padding: 0 6px 0 0; -} -.window.panel-hright .window-header { - padding: 0 0 0 6px; -} -.window.panel-hleft>.panel-header .panel-title { - top: auto; - left: 16px; -} -.window.panel-hright>.panel-header .panel-title { - top: auto; - right: 16px; -} -.window.panel-hleft>.panel-header .panel-title-up, -.window.panel-hright>.panel-header .panel-title-up { - bottom: 0; -} -.window.panel-hleft .window-body { - border-width: 1px 1px 1px 0; -} -.window.panel-hright .window-body { - border-width: 1px 0 1px 1px; -} -.window.panel-hleft .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: 0; -} -.window.panel-hright .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: auto; - right: 1px; -} -.window.panel-hleft .window-header .panel-tool, -.window.panel-hright .window-header .panel-tool { - margin-top: 0; - top: auto; - bottom: 1px; - right: auto; - margin-right: 0; - left: 50%; - margin-left: -11px; -} -.window.panel-hright .window-header .panel-tool { - left: auto; - right: 1px; -} -.window-thinborder.panel-hleft .window-header { - padding: 5px 6px 5px 5px; -} -.window-thinborder.panel-hright .window-header { - padding: 5px 5px 5px 6px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title { - left: 21px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title-up, -.window-thinborder.panel-hright>.panel-header .panel-title-up { - bottom: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-icon, -.window-thinborder.panel-hright .window-header .panel-icon { - margin-top: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-tool, -.window-thinborder.panel-hright .window-header .panel-tool { - left: 16px; - bottom: 5px; -} -.dialog-content { - overflow: auto; -} -.dialog-toolbar { - position: relative; - padding: 2px 5px; -} -.dialog-tool-separator { - float: left; - height: 24px; - border-left: 1px solid #ccc; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.dialog-button { - position: relative; - top: -1px; - padding: 5px; - text-align: right; -} -.dialog-button .l-btn { - margin-left: 5px; -} -.dialog-toolbar, -.dialog-button { - background: #F5F5F5; - border-width: 1px; - border-style: solid; -} -.dialog-toolbar { - border-color: #D4D4D4 #D4D4D4 #e6e6e6 #D4D4D4; -} -.dialog-button { - border-color: #e6e6e6 #D4D4D4 #D4D4D4 #D4D4D4; -} -.window-thinborder .dialog-toolbar { - border-left: transparent; - border-right: transparent; - border-top-color: #F5F5F5; -} -.window-thinborder .dialog-button { - top: 0px; - padding: 5px 8px 8px 8px; - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} -.l-btn { - text-decoration: none; - display: inline-block; - overflow: hidden; - margin: 0; - padding: 0; - cursor: pointer; - outline: none; - text-align: center; - vertical-align: middle; - line-height: normal; -} -.l-btn-plain { - border-width: 0; - padding: 1px; -} -.l-btn-left { - display: inline-block; - position: relative; - overflow: hidden; - margin: 0; - padding: 0; - vertical-align: top; -} -.l-btn-text { - display: inline-block; - vertical-align: top; - width: auto; - line-height: 28px; - font-size: 12px; - padding: 0; - margin: 0 6px; -} -.l-btn-icon { - display: inline-block; - width: 16px; - height: 16px; - line-height: 16px; - position: absolute; - top: 50%; - margin-top: -8px; - font-size: 1px; -} -.l-btn span span .l-btn-empty { - display: inline-block; - margin: 0; - width: 16px; - height: 24px; - font-size: 1px; - vertical-align: top; -} -.l-btn span .l-btn-icon-left { - padding: 0 0 0 20px; - background-position: left center; -} -.l-btn span .l-btn-icon-right { - padding: 0 20px 0 0; - background-position: right center; -} -.l-btn-icon-left .l-btn-text { - margin: 0 6px 0 26px; -} -.l-btn-icon-left .l-btn-icon { - left: 6px; -} -.l-btn-icon-right .l-btn-text { - margin: 0 26px 0 6px; -} -.l-btn-icon-right .l-btn-icon { - right: 6px; -} -.l-btn-icon-top .l-btn-text { - margin: 20px 4px 0 4px; -} -.l-btn-icon-top .l-btn-icon { - top: 4px; - left: 50%; - margin: 0 0 0 -8px; -} -.l-btn-icon-bottom .l-btn-text { - margin: 0 4px 20px 4px; -} -.l-btn-icon-bottom .l-btn-icon { - top: auto; - bottom: 4px; - left: 50%; - margin: 0 0 0 -8px; -} -.l-btn-left .l-btn-empty { - margin: 0 6px; - width: 16px; -} -.l-btn-plain:hover { - padding: 0; -} -.l-btn-focus { - outline: #0000FF dotted thin; -} -.l-btn-large .l-btn-text { - line-height: 44px; -} -.l-btn-large .l-btn-icon { - width: 32px; - height: 32px; - line-height: 32px; - margin-top: -16px; -} -.l-btn-large .l-btn-icon-left .l-btn-text { - margin-left: 40px; -} -.l-btn-large .l-btn-icon-right .l-btn-text { - margin-right: 40px; -} -.l-btn-large .l-btn-icon-top .l-btn-text { - margin-top: 36px; - line-height: 24px; - min-width: 32px; -} -.l-btn-large .l-btn-icon-top .l-btn-icon { - margin: 0 0 0 -16px; -} -.l-btn-large .l-btn-icon-bottom .l-btn-text { - margin-bottom: 36px; - line-height: 24px; - min-width: 32px; -} -.l-btn-large .l-btn-icon-bottom .l-btn-icon { - margin: 0 0 0 -16px; -} -.l-btn-large .l-btn-left .l-btn-empty { - margin: 0 6px; - width: 32px; -} -.l-btn { - color: #444; - background: #f5f5f5; - background-repeat: repeat-x; - border: 1px solid #bbb; - background: -webkit-linear-gradient(top,#ffffff 0,#e6e6e6 100%); - background: -moz-linear-gradient(top,#ffffff 0,#e6e6e6 100%); - background: -o-linear-gradient(top,#ffffff 0,#e6e6e6 100%); - background: linear-gradient(to bottom,#ffffff 0,#e6e6e6 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#e6e6e6,GradientType=0); - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.l-btn:hover { - background: #e6e6e6; - color: #00438a; - border: 1px solid #ddd; - filter: none; -} -.l-btn-plain { - background: transparent; - border-width: 0; - filter: none; -} -.l-btn-outline { - border-width: 1px; - border-color: #ddd; - padding: 0; -} -.l-btn-plain:hover { - background: #e6e6e6; - color: #00438a; - border: 1px solid #ddd; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.l-btn-disabled, -.l-btn-disabled:hover { - opacity: 0.5; - cursor: default; - background: #f5f5f5; - color: #444; - background: -webkit-linear-gradient(top,#ffffff 0,#e6e6e6 100%); - background: -moz-linear-gradient(top,#ffffff 0,#e6e6e6 100%); - background: -o-linear-gradient(top,#ffffff 0,#e6e6e6 100%); - background: linear-gradient(to bottom,#ffffff 0,#e6e6e6 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#e6e6e6,GradientType=0); -} -.l-btn-disabled .l-btn-text, -.l-btn-disabled .l-btn-icon { - filter: alpha(opacity=50); -} -.l-btn-plain-disabled, -.l-btn-plain-disabled:hover { - background: transparent; - filter: alpha(opacity=50); -} -.l-btn-selected, -.l-btn-selected:hover { - background: #ddd; - filter: none; -} -.l-btn-plain-selected, -.l-btn-plain-selected:hover { - background: #ddd; -} -.textbox { - position: relative; - border: 1px solid #D4D4D4; - background-color: #fff; - vertical-align: middle; - display: inline-block; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.textbox .textbox-text { - font-size: 12px; - border: 0; - margin: 0; - padding: 0 4px; - white-space: normal; - vertical-align: top; - outline-style: none; - resize: none; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - height: 28px; - line-height: 28px; -} -.textbox textarea.textbox-text { - line-height: normal; -} -.textbox .textbox-text::-ms-clear, -.textbox .textbox-text::-ms-reveal { - display: none; -} -.textbox textarea.textbox-text { - white-space: pre-wrap; -} -.textbox .textbox-prompt { - font-size: 12px; - color: #aaa; -} -.textbox .textbox-bgicon { - background-position: 3px center; - padding-left: 21px; -} -.textbox .textbox-button, -.textbox .textbox-button:hover { - position: absolute; - top: 0; - padding: 0; - vertical-align: top; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.textbox .textbox-button-right, -.textbox .textbox-button-right:hover { - right: 0; - border-width: 0 0 0 1px; -} -.textbox .textbox-button-left, -.textbox .textbox-button-left:hover { - left: 0; - border-width: 0 1px 0 0; -} -.textbox .textbox-button-top, -.textbox .textbox-button-top:hover { - left: 0; - border-width: 0 0 1px 0; -} -.textbox .textbox-button-bottom, -.textbox .textbox-button-bottom:hover { - top: auto; - bottom: 0; - left: 0; - border-width: 1px 0 0 0; -} -.textbox-addon { - position: absolute; - top: 0; -} -.textbox-label { - display: inline-block; - width: 80px; - height: 30px; - line-height: 30px; - vertical-align: middle; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - margin: 0; - padding-right: 5px; -} -.textbox-label-after { - padding-left: 5px; - padding-right: 0; -} -.textbox-label-top { - display: block; - width: auto; - padding: 0; -} -.textbox-disabled, -.textbox-label-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-icon { - display: inline-block; - width: 18px; - height: 20px; - overflow: hidden; - vertical-align: top; - background-position: center center; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); - text-decoration: none; - outline-style: none; -} -.textbox-icon-disabled, -.textbox-icon-readonly { - cursor: default; -} -.textbox-icon:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.textbox-icon-disabled:hover { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-focused { - border-color: #bbbbbb; - -moz-box-shadow: 0 0 3px 0 #D4D4D4; - -webkit-box-shadow: 0 0 3px 0 #D4D4D4; - box-shadow: 0 0 3px 0 #D4D4D4; -} -.textbox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; -} -.passwordbox-open { - background: url('images/passwordbox_open.png') no-repeat center center; -} -.passwordbox-close { - background: url('images/passwordbox_close.png') no-repeat center center; -} -.filebox .textbox-value { - vertical-align: top; - position: absolute; - top: 0; - left: -5000px; -} -.filebox-label { - display: inline-block; - position: absolute; - width: 100%; - height: 100%; - cursor: pointer; - left: 0; - top: 0; - z-index: 10; - background: url('images/blank.gif') no-repeat; -} -.l-btn-disabled .filebox-label { - cursor: default; -} -.combo-arrow { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.combo-arrow-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.combo-panel { - overflow: auto; -} -.combo-arrow { - background: url('images/combo_arrow.png') no-repeat center center; -} -.combo-panel { - background-color: #ffffff; -} -.combo-arrow { - background-color: #F2F2F2; -} -.combo-arrow-hover { - background-color: #e6e6e6; -} -.combo-arrow:hover { - background-color: #e6e6e6; -} -.combo .textbox-icon-disabled:hover { - cursor: default; -} -.combobox-item, -.combobox-group, -.combobox-stick { - font-size: 12px; - padding: 6px 4px; - line-height: 20px; -} -.combobox-item-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.combobox-gitem { - padding-left: 10px; -} -.combobox-group, -.combobox-stick { - font-weight: bold; -} -.combobox-stick { - position: absolute; - top: 1px; - left: 1px; - right: 1px; - background: inherit; -} -.combobox-item-hover { - background-color: #e6e6e6; - color: #00438a; -} -.combobox-item-selected { - background-color: #0081c2; - color: #fff; -} -.combobox-icon { - display: inline-block; - width: 16px; - height: 16px; - vertical-align: middle; - margin-right: 2px; -} -.tagbox { - cursor: text; -} -.tagbox .textbox-text { - float: left; -} -.tagbox-label { - position: relative; - display: block; - margin: 4px 0 0 4px; - padding: 0 20px 0 4px; - float: left; - vertical-align: top; - text-decoration: none; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - background: #e6e6e6; - color: #00438a; -} -.tagbox-remove { - background: url('images/tagbox_icons.png') no-repeat -16px center; - position: absolute; - display: block; - width: 16px; - height: 16px; - right: 2px; - top: 50%; - margin-top: -8px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tagbox-remove:hover { - opacity: 1; - filter: alpha(opacity=100); -} -.textbox-disabled .tagbox-label { - cursor: default; -} -.textbox-disabled .tagbox-remove:hover { - cursor: default; - opacity: 0.6; - filter: alpha(opacity=60); -} -.layout { - position: relative; - overflow: hidden; - margin: 0; - padding: 0; - z-index: 0; -} -.layout-panel { - position: absolute; - overflow: hidden; -} -.layout-body { - min-width: 1px; - min-height: 1px; -} -.layout-panel-east, -.layout-panel-west { - z-index: 2; -} -.layout-panel-north, -.layout-panel-south { - z-index: 3; -} -.layout-expand { - position: absolute; - padding: 0px; - font-size: 1px; - cursor: pointer; - z-index: 1; -} -.layout-expand .panel-header, -.layout-expand .panel-body { - background: transparent; - filter: none; - overflow: hidden; -} -.layout-expand .panel-header { - border-bottom-width: 0px; -} -.layout-expand .panel-body { - position: relative; -} -.layout-expand .panel-body .panel-icon { - margin-top: 0; - top: 0; - left: 50%; - margin-left: -8px; -} -.layout-expand-west .panel-header .panel-icon, -.layout-expand-east .panel-header .panel-icon { - display: none; -} -.layout-expand-title { - position: absolute; - top: 0; - left: 21px; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(90deg); - -o-transform-origin: 0 0; - transform: rotate(90deg); - transform-origin: 0 0; -} -.layout-expand-title-up { - position: absolute; - top: 0; - left: 0; - text-align: right; - padding-left: 5px; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(-90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(-90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(-90deg); - -o-transform-origin: 0 0; - transform: rotate(-90deg); - transform-origin: 0 0; -} -.layout-expand-with-icon { - top: 18px; -} -.layout-expand .panel-body-noheader .layout-expand-title, -.layout-expand .panel-body-noheader .panel-icon { - top: 5px; -} -.layout-expand .panel-body-noheader .layout-expand-with-icon { - top: 23px; -} -.layout-split-proxy-h, -.layout-split-proxy-v { - position: absolute; - font-size: 1px; - display: none; - z-index: 5; -} -.layout-split-proxy-h { - width: 5px; - cursor: e-resize; -} -.layout-split-proxy-v { - height: 5px; - cursor: n-resize; -} -.layout-mask { - position: absolute; - background: #fafafa; - filter: alpha(opacity=10); - opacity: 0.10; - z-index: 4; -} -.layout-button-up { - background: url('images/layout_arrows.png') no-repeat -16px -16px; -} -.layout-button-down { - background: url('images/layout_arrows.png') no-repeat -16px 0; -} -.layout-button-left { - background: url('images/layout_arrows.png') no-repeat 0 0; -} -.layout-button-right { - background: url('images/layout_arrows.png') no-repeat 0 -16px; -} -.layout-split-proxy-h, -.layout-split-proxy-v { - background-color: #bbb; -} -.layout-split-north { - border-bottom: 5px solid #eee; -} -.layout-split-south { - border-top: 5px solid #eee; -} -.layout-split-east { - border-left: 5px solid #eee; -} -.layout-split-west { - border-right: 5px solid #eee; -} -.layout-expand { - background-color: #F2F2F2; -} -.layout-expand-over { - background-color: #F2F2F2; -} -.tabs-container { - overflow: hidden; -} -.tabs-header { - border-width: 1px; - border-style: solid; - border-bottom-width: 0; - position: relative; - padding: 0; - padding-top: 2px; - overflow: hidden; -} -.tabs-scroller-left, -.tabs-scroller-right { - position: absolute; - top: auto; - bottom: 0; - width: 18px; - font-size: 1px; - display: none; - cursor: pointer; - border-width: 1px; - border-style: solid; -} -.tabs-scroller-left { - left: 0; -} -.tabs-scroller-right { - right: 0; -} -.tabs-tool { - position: absolute; - bottom: 0; - padding: 1px; - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.tabs-header-plain .tabs-tool { - padding: 0 1px; -} -.tabs-wrap { - position: relative; - left: 0; - overflow: hidden; - width: 100%; - margin: 0; - padding: 0; -} -.tabs-scrolling { - margin-left: 18px; - margin-right: 18px; -} -.tabs-disabled { - opacity: 0.3; - filter: alpha(opacity=30); -} -.tabs { - list-style-type: none; - height: 26px; - margin: 0px; - padding: 0px; - padding-left: 4px; - width: 50000px; - border-style: solid; - border-width: 0 0 1px 0; -} -.tabs li { - float: left; - display: inline-block; - margin: 0 4px -1px 0; - padding: 0; - position: relative; - border: 0; -} -.tabs li a.tabs-inner { - display: inline-block; - text-decoration: none; - margin: 0; - padding: 0 10px; - height: 25px; - line-height: 25px; - text-align: center; - white-space: nowrap; - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 0 0; - -webkit-border-radius: 5px 5px 0 0; - border-radius: 5px 5px 0 0; -} -.tabs li.tabs-selected a.tabs-inner { - font-weight: bold; - outline: none; -} -.tabs li.tabs-selected a:hover.tabs-inner { - cursor: default; - pointer: default; -} -.tabs li a.tabs-close, -.tabs-p-tool { - position: absolute; - font-size: 1px; - display: block; - height: 12px; - padding: 0; - top: 50%; - margin-top: -6px; - overflow: hidden; -} -.tabs li a.tabs-close { - width: 12px; - right: 5px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs-p-tool { - right: 16px; -} -.tabs-p-tool a { - display: inline-block; - font-size: 1px; - width: 12px; - height: 12px; - margin: 0; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs li a:hover.tabs-close, -.tabs-p-tool a:hover { - opacity: 1; - filter: alpha(opacity=100); - cursor: hand; - cursor: pointer; -} -.tabs-with-icon { - padding-left: 18px; -} -.tabs-icon { - position: absolute; - width: 16px; - height: 16px; - left: 10px; - top: 50%; - margin-top: -8px; -} -.tabs-title { - font-size: 12px; -} -.tabs-closable { - padding-right: 8px; -} -.tabs-panels { - margin: 0px; - padding: 0px; - border-width: 1px; - border-style: solid; - border-top-width: 0; - overflow: hidden; -} -.tabs-header-bottom { - border-width: 0 1px 1px 1px; - padding: 0 0 2px 0; -} -.tabs-header-bottom .tabs { - border-width: 1px 0 0 0; -} -.tabs-header-bottom .tabs li { - margin: -1px 4px 0 0; -} -.tabs-header-bottom .tabs li a.tabs-inner { - -moz-border-radius: 0 0 5px 5px; - -webkit-border-radius: 0 0 5px 5px; - border-radius: 0 0 5px 5px; -} -.tabs-header-bottom .tabs-tool { - top: 0; -} -.tabs-header-bottom .tabs-scroller-left, -.tabs-header-bottom .tabs-scroller-right { - top: 0; - bottom: auto; -} -.tabs-panels-top { - border-width: 1px 1px 0 1px; -} -.tabs-header-left { - float: left; - border-width: 1px 0 1px 1px; - padding: 0; -} -.tabs-header-right { - float: right; - border-width: 1px 1px 1px 0; - padding: 0; -} -.tabs-header-left .tabs-wrap, -.tabs-header-right .tabs-wrap { - height: 100%; -} -.tabs-header-left .tabs { - height: 100%; - padding: 4px 0 0 2px; - border-width: 0 1px 0 0; -} -.tabs-header-right .tabs { - height: 100%; - padding: 4px 2px 0 0; - border-width: 0 0 0 1px; -} -.tabs-header-left .tabs li, -.tabs-header-right .tabs li { - display: block; - width: 100%; - position: relative; -} -.tabs-header-left .tabs li { - left: auto; - right: 0; - margin: 0 -1px 4px 0; - float: right; -} -.tabs-header-right .tabs li { - left: 0; - right: auto; - margin: 0 0 4px -1px; - float: left; -} -.tabs-justified li a.tabs-inner { - padding-left: 0; - padding-right: 0; -} -.tabs-header-left .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.tabs-header-right .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 0 5px 5px 0; - -webkit-border-radius: 0 5px 5px 0; - border-radius: 0 5px 5px 0; -} -.tabs-panels-right { - float: right; - border-width: 1px 1px 1px 0; -} -.tabs-panels-left { - float: left; - border-width: 1px 0 1px 1px; -} -.tabs-header-noborder, -.tabs-panels-noborder { - border: 0px; -} -.tabs-header-plain { - border: 0px; - background: transparent; -} -.tabs-pill { - padding-bottom: 3px; -} -.tabs-header-bottom .tabs-pill { - padding-top: 3px; - padding-bottom: 0; -} -.tabs-header-left .tabs-pill { - padding-right: 3px; -} -.tabs-header-right .tabs-pill { - padding-left: 3px; -} -.tabs-header .tabs-pill li a.tabs-inner { - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.tabs-header-narrow, -.tabs-header-narrow .tabs-narrow { - padding: 0; -} -.tabs-narrow li, -.tabs-header-bottom .tabs-narrow li { - margin-left: 0; - margin-right: -1px; -} -.tabs-narrow li.tabs-last, -.tabs-header-bottom .tabs-narrow li.tabs-last { - margin-right: 0; -} -.tabs-header-left .tabs-narrow, -.tabs-header-right .tabs-narrow { - padding-top: 0; -} -.tabs-header-left .tabs-narrow li { - margin-bottom: -1px; - margin-right: -1px; -} -.tabs-header-left .tabs-narrow li.tabs-last, -.tabs-header-right .tabs-narrow li.tabs-last { - margin-bottom: 0; -} -.tabs-header-right .tabs-narrow li { - margin-bottom: -1px; - margin-left: -1px; -} -.tabs-scroller-left { - background: #F2F2F2 url('images/tabs_icons.png') no-repeat 1px center; -} -.tabs-scroller-right { - background: #F2F2F2 url('images/tabs_icons.png') no-repeat -15px center; -} -.tabs li a.tabs-close { - background: url('images/tabs_icons.png') no-repeat -34px center; -} -.tabs li a.tabs-inner:hover { - background: #e6e6e6; - color: #00438a; - filter: none; -} -.tabs li.tabs-selected a.tabs-inner { - background-color: #ffffff; - color: #777; - background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%); - background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%); - background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%); - background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0); -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%); - background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%); - background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%); - background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0); -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(left,#ffffff 0,#ffffff 100%); - background: -moz-linear-gradient(left,#ffffff 0,#ffffff 100%); - background: -o-linear-gradient(left,#ffffff 0,#ffffff 100%); - background: linear-gradient(to right,#ffffff 0,#ffffff 100%); - background-repeat: repeat-y; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=1); -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(left,#ffffff 0,#ffffff 100%); - background: -moz-linear-gradient(left,#ffffff 0,#ffffff 100%); - background: -o-linear-gradient(left,#ffffff 0,#ffffff 100%); - background: linear-gradient(to right,#ffffff 0,#ffffff 100%); - background-repeat: repeat-y; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=1); -} -.tabs li a.tabs-inner { - color: #777; - background-color: #F2F2F2; - background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 100%); - background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 100%); - background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 100%); - background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0); -} -.tabs-header, -.tabs-tool { - background-color: #F2F2F2; -} -.tabs-header-plain { - background: transparent; -} -.tabs-header, -.tabs-scroller-left, -.tabs-scroller-right, -.tabs-tool, -.tabs, -.tabs-panels, -.tabs li a.tabs-inner, -.tabs li.tabs-selected a.tabs-inner, -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, -.tabs-header-left .tabs li.tabs-selected a.tabs-inner, -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-color: #D4D4D4; -} -.tabs-p-tool a:hover, -.tabs li a:hover.tabs-close, -.tabs-scroller-over { - background-color: #e6e6e6; -} -.tabs li.tabs-selected a.tabs-inner { - border-bottom: 1px solid #ffffff; -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - border-top: 1px solid #ffffff; -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - border-right: 1px solid #ffffff; -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-left: 1px solid #ffffff; -} -.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { - background: #0081c2; - color: #fff; - filter: none; - border-color: #D4D4D4; -} -.datagrid .panel-body { - overflow: hidden; - position: relative; -} -.datagrid-view { - position: relative; - overflow: hidden; -} -.datagrid-view1, -.datagrid-view2 { - position: absolute; - overflow: hidden; - top: 0; -} -.datagrid-view1 { - left: 0; -} -.datagrid-view2 { - right: 0; -} -.datagrid-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0.3; - filter: alpha(opacity=30); - display: none; -} -.datagrid-mask-msg { - position: absolute; - top: 50%; - margin-top: -20px; - padding: 10px 5px 10px 30px; - width: auto; - height: 16px; - border-width: 2px; - border-style: solid; - display: none; -} -.datagrid-empty { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 25px; - line-height: 25px; - text-align: center; -} -.datagrid-sort-icon { - padding: 0; - display: none; -} -.datagrid-toolbar { - height: auto; - padding: 1px 2px; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-btn-separator { - float: left; - height: 24px; - border-left: 1px solid #ccc; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.datagrid .datagrid-pager { - display: block; - margin: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.datagrid .datagrid-pager-top { - border-width: 0 0 1px 0; -} -.datagrid-header { - overflow: hidden; - cursor: default; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-header-inner { - float: left; - width: 10000px; -} -.datagrid-header-row, -.datagrid-row { - height: 32px; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-width: 0 1px 1px 0; - border-style: dotted; - margin: 0; - padding: 0; -} -.datagrid-cell, -.datagrid-cell-group, -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - margin: 0; - padding: 0 4px; - white-space: nowrap; - word-wrap: normal; - overflow: hidden; - height: 18px; - line-height: 18px; - font-size: 12px; -} -.datagrid-header .datagrid-cell { - height: auto; -} -.datagrid-header .datagrid-cell span { - font-size: 12px; -} -.datagrid-cell-group { - text-align: center; - text-overflow: ellipsis; -} -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - width: 30px; - text-align: center; - margin: 0; - padding: 0; -} -.datagrid-body { - margin: 0; - padding: 0; - overflow: auto; - zoom: 1; -} -.datagrid-view1 .datagrid-body-inner { - padding-bottom: 20px; -} -.datagrid-view1 .datagrid-body { - overflow: hidden; -} -.datagrid-footer { - overflow: hidden; -} -.datagrid-footer-inner { - border-width: 1px 0 0 0; - border-style: solid; - width: 10000px; - float: left; -} -.datagrid-row-editing .datagrid-cell { - height: auto; -} -.datagrid-header-check, -.datagrid-cell-check { - padding: 0; - width: 27px; - height: 18px; - font-size: 1px; - text-align: center; - overflow: hidden; -} -.datagrid-header-check input, -.datagrid-cell-check input { - margin: 0; - padding: 0; - width: 15px; - height: 18px; -} -.datagrid-resize-proxy { - position: absolute; - width: 1px; - height: 10000px; - top: 0; - cursor: e-resize; - display: none; -} -.datagrid-body .datagrid-editable { - margin: 0; - padding: 0; -} -.datagrid-body .datagrid-editable table { - width: 100%; - height: 100%; -} -.datagrid-body .datagrid-editable td { - border: 0; - margin: 0; - padding: 0; -} -.datagrid-view .datagrid-editable-input { - margin: 0; - padding: 2px 4px; - border: 1px solid #D4D4D4; - font-size: 12px; - outline-style: none; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-view .validatebox-invalid { - border-color: #ffa8a8; -} -.datagrid-sort .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -64px center; -} -.datagrid-sort-desc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -16px center; -} -.datagrid-sort-asc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat 0px center; -} -.datagrid-row-collapse { - background: url('images/datagrid_icons.png') no-repeat -48px center; -} -.datagrid-row-expand { - background: url('images/datagrid_icons.png') no-repeat -32px center; -} -.datagrid-mask-msg { - background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; -} -.datagrid-header, -.datagrid-td-rownumber { - background-color: #F2F2F2; - background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 100%); - background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 100%); - background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 100%); - background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0); -} -.datagrid-cell-rownumber { - color: #333; -} -.datagrid-resize-proxy { - background: #bbb; -} -.datagrid-mask { - background: #ccc; -} -.datagrid-mask-msg { - border-color: #D4D4D4; -} -.datagrid-toolbar, -.datagrid-pager { - background: #F5F5F5; -} -.datagrid-header, -.datagrid-toolbar, -.datagrid-pager, -.datagrid-footer-inner { - border-color: #e6e6e6; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-color: #ccc; -} -.datagrid-htable, -.datagrid-btable, -.datagrid-ftable { - color: #333; - border-collapse: separate; -} -.datagrid-row-alt { - background: #F5F5F5; -} -.datagrid-row-over, -.datagrid-header td.datagrid-header-over { - background: #e6e6e6; - color: #00438a; - cursor: default; -} -.datagrid-row-selected { - background: #0081c2; - color: #fff; -} -.datagrid-row-editing .textbox, -.datagrid-row-editing .textbox-text { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-header .datagrid-filter-row td.datagrid-header-over { - background: inherit; -} -.propertygrid .datagrid-view1 .datagrid-body td { - padding-bottom: 1px; - border-width: 0 1px 0 0; -} -.propertygrid .datagrid-group { - overflow: hidden; - border-width: 0 0 1px 0; - border-style: solid; -} -.propertygrid .datagrid-group span { - font-weight: bold; -} -.propertygrid .datagrid-view1 .datagrid-body td { - border-color: #e6e6e6; -} -.propertygrid .datagrid-view1 .datagrid-group { - border-color: #F2F2F2; -} -.propertygrid .datagrid-view2 .datagrid-group { - border-color: #e6e6e6; -} -.propertygrid .datagrid-group, -.propertygrid .datagrid-view1 .datagrid-body, -.propertygrid .datagrid-view1 .datagrid-row-over, -.propertygrid .datagrid-view1 .datagrid-row-selected { - background: #F2F2F2; -} -.datalist .datagrid-header { - border-width: 0; -} -.datalist .datagrid-group, -.m-list .m-list-group { - height: 25px; - line-height: 25px; - font-weight: bold; - overflow: hidden; - background-color: #F2F2F2; - border-style: solid; - border-width: 0 0 1px 0; - border-color: #ccc; -} -.datalist .datagrid-group-expander { - display: none; -} -.datalist .datagrid-group-title { - padding: 0 4px; -} -.datalist .datagrid-btable { - width: 100%; - table-layout: fixed; -} -.datalist .datagrid-row td { - border-style: solid; - border-left-color: transparent; - border-right-color: transparent; - border-bottom-width: 0; -} -.datalist-lines .datagrid-row td { - border-bottom-width: 1px; -} -.datalist .datagrid-cell, -.m-list li { - width: auto; - height: auto; - padding: 2px 4px; - line-height: 18px; - position: relative; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link, -.m-list li>a { - display: block; - position: relative; - cursor: pointer; - color: #333; - text-decoration: none; - overflow: hidden; - margin: -2px -4px; - padding: 2px 4px; - padding-right: 16px; - line-height: 18px; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link::after, -.m-list li>a::after { - position: absolute; - display: block; - width: 8px; - height: 8px; - content: ''; - right: 6px; - top: 50%; - margin-top: -4px; - border-style: solid; - border-width: 1px 1px 0 0; - -ms-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -webkit-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); -} -.m-list { - margin: 0; - padding: 0; - list-style: none; -} -.m-list li { - border-style: solid; - border-width: 0 0 1px 0; - border-color: #ccc; -} -.m-list li>a:hover { - background: #e6e6e6; - color: #00438a; -} -.m-list .m-list-group { - padding: 0 4px; -} -.pagination { - zoom: 1; - padding: 2px; -} -.pagination table { - float: left; - height: 30px; -} -.pagination td { - border: 0; -} -.pagination-btn-separator { - float: left; - height: 24px; - border-left: 1px solid #ccc; - border-right: 1px solid #fff; - margin: 3px 1px; -} -.pagination .pagination-num { - border-width: 1px; - border-style: solid; - margin: 0 2px; - padding: 2px; - width: 3em; - height: auto; - text-align: center; - font-size: 12px; -} -.pagination-page-list { - margin: 0px 6px; - padding: 1px 2px; - width: auto; - height: auto; - border-width: 1px; - border-style: solid; -} -.pagination-info { - float: right; - margin: 0 6px; - padding: 0; - height: 30px; - line-height: 30px; - font-size: 12px; -} -.pagination span { - font-size: 12px; -} -.pagination-link .l-btn-text { - box-sizing: border-box; - text-align: center; - margin: 0; - padding: 0 .5em; - width: auto; - min-width: 28px; -} -.pagination-first { - background: url('images/pagination_icons.png') no-repeat 0 center; -} -.pagination-prev { - background: url('images/pagination_icons.png') no-repeat -16px center; -} -.pagination-next { - background: url('images/pagination_icons.png') no-repeat -32px center; -} -.pagination-last { - background: url('images/pagination_icons.png') no-repeat -48px center; -} -.pagination-load { - background: url('images/pagination_icons.png') no-repeat -64px center; -} -.pagination-loading { - background: url('images/loading.gif') no-repeat center center; -} -.pagination-page-list, -.pagination .pagination-num { - border-color: #D4D4D4; -} -.calendar { - border-width: 1px; - border-style: solid; - padding: 1px; - overflow: hidden; -} -.calendar table { - table-layout: fixed; - border-collapse: separate; - font-size: 12px; - width: 100%; - height: 100%; -} -.calendar table td, -.calendar table th { - font-size: 12px; -} -.calendar-noborder { - border: 0; -} -.calendar-header { - position: relative; - height: 28px; -} -.calendar-title { - text-align: center; - height: 28px; -} -.calendar-title span { - position: relative; - display: inline-block; - top: 0px; - padding: 0 3px; - height: 28px; - line-height: 28px; - font-size: 12px; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-prevmonth, -.calendar-nextmonth, -.calendar-prevyear, -.calendar-nextyear { - position: absolute; - top: 50%; - margin-top: -8px; - width: 16px; - height: 16px; - cursor: pointer; - font-size: 1px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-prevmonth { - left: 20px; - background: url('images/calendar_arrows.png') no-repeat -16px 0; -} -.calendar-nextmonth { - right: 20px; - background: url('images/calendar_arrows.png') no-repeat -32px 0; -} -.calendar-prevyear { - left: 3px; - background: url('images/calendar_arrows.png') no-repeat 0px 0; -} -.calendar-nextyear { - right: 3px; - background: url('images/calendar_arrows.png') no-repeat -48px 0; -} -.calendar-body { - position: relative; -} -.calendar-body th, -.calendar-body td { - text-align: center; -} -.calendar-day { - border: 0; - padding: 1px; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-other-month { - opacity: 0.3; - filter: alpha(opacity=30); -} -.calendar-disabled { - opacity: 0.6; - filter: alpha(opacity=60); - cursor: default; -} -.calendar-menu { - position: absolute; - top: 0; - left: 0; - width: 180px; - height: 150px; - padding: 5px; - font-size: 12px; - display: none; - overflow: hidden; -} -.calendar-menu-year-inner { - text-align: center; - padding-bottom: 5px; -} -.calendar-menu-year { - width: 80px; - line-height: 26px; - text-align: center; - border-width: 1px; - border-style: solid; - outline-style: none; - resize: none; - margin: 0; - padding: 0; - font-weight: bold; - font-size: 12px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-menu-prev, -.calendar-menu-next { - display: inline-block; - width: 25px; - height: 28px; - vertical-align: top; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-menu-prev { - margin-right: 10px; - background: url('images/calendar_arrows.png') no-repeat 5px center; -} -.calendar-menu-next { - margin-left: 10px; - background: url('images/calendar_arrows.png') no-repeat -44px center; -} -.calendar-menu-month { - text-align: center; - cursor: pointer; - font-weight: bold; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-body th, -.calendar-menu-month { - color: #808080; -} -.calendar-day { - color: #333; -} -.calendar-sunday { - color: #CC2222; -} -.calendar-saturday { - color: #00ee00; -} -.calendar-today { - color: #0000ff; -} -.calendar-menu-year { - border-color: #D4D4D4; -} -.calendar { - border-color: #D4D4D4; -} -.calendar-header { - background: #F2F2F2; -} -.calendar-body, -.calendar-menu { - background: #ffffff; -} -.calendar-body th { - background: #F5F5F5; - padding: 4px 0; -} -.calendar-hover, -.calendar-nav-hover, -.calendar-menu-hover { - background-color: #e6e6e6; - color: #00438a; -} -.calendar-hover { - border: 1px solid #ddd; - padding: 0; -} -.calendar-selected { - background-color: #0081c2; - color: #fff; - border: 1px solid #0070a9; - padding: 0; -} -.datebox-calendar-inner { - height: 250px; -} -.datebox-button { - padding: 4px 0; - text-align: center; -} -.datebox-button a { - line-height: 22px; - font-size: 12px; - font-weight: bold; - text-decoration: none; - opacity: 0.6; - filter: alpha(opacity=60); -} -.datebox-button a:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.datebox-current, -.datebox-close { - float: left; -} -.datebox-close { - float: right; -} -.datebox .combo-arrow { - background-image: url('images/datebox_arrow.png'); - background-position: center center; -} -.datebox-button { - background-color: #F5F5F5; -} -.datebox-button a { - color: #444; -} -.spinner-arrow { - display: inline-block; - overflow: hidden; - vertical-align: top; - margin: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - width: 18px; -} -.spinner-arrow.spinner-button-top, -.spinner-arrow.spinner-button-bottom, -.spinner-arrow.spinner-button-left, -.spinner-arrow.spinner-button-right { - background-color: #F2F2F2; -} -.spinner-arrow-up, -.spinner-arrow-down { - opacity: 0.6; - filter: alpha(opacity=60); - display: block; - font-size: 1px; - width: 18px; - height: 10px; - width: 100%; - height: 50%; - color: #444; - outline-style: none; - background-color: #F2F2F2; -} -.spinner-button-updown { - opacity: 1.0; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - position: relative; - display: block; - width: 100%; - height: 50%; -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down { - opacity: 1.0; - filter: alpha(opacity=100); - cursor: pointer; - width: 16px; - height: 16px; - top: 50%; - left: 50%; - margin-top: -8px; - margin-left: -8px; - position: absolute; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-button-updown .spinner-button-top:hover, -.spinner-button-updown .spinner-button-bottom:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down, -.spinner-button-updown .spinner-arrow-up:hover, -.spinner-button-updown .spinner-arrow-down:hover { - background-color: transparent; -} -.spinner-arrow-hover { - background-color: #e6e6e6; - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-top:hover, -.spinner-button-bottom:hover, -.spinner-button-left:hover, -.spinner-button-right:hover, -.spinner-arrow-up:hover, -.spinner-arrow-down:hover { - opacity: 1.0; - filter: alpha(opacity=100); - background-color: #e6e6e6; -} -.textbox-disabled .spinner-button-top:hover, -.textbox-disabled .spinner-button-bottom:hover, -.textbox-disabled .spinner-button-left:hover, -.textbox-disabled .spinner-button-right:hover, -.textbox-icon-disabled .spinner-arrow-up:hover, -.textbox-icon-disabled .spinner-arrow-down:hover { - opacity: 0.6; - filter: alpha(opacity=60); - background-color: #F2F2F2; - cursor: default; -} -.spinner .textbox-icon-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-arrow-up { - background: url('images/spinner_arrows.png') no-repeat 1px center; - background-color: #F2F2F2; -} -.spinner-arrow-down { - background: url('images/spinner_arrows.png') no-repeat -15px center; - background-color: #F2F2F2; -} -.spinner-button-up { - background: url('images/spinner_arrows.png') no-repeat -32px center; -} -.spinner-button-down { - background: url('images/spinner_arrows.png') no-repeat -48px center; -} -.progressbar { - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - overflow: hidden; - position: relative; -} -.progressbar-text { - text-align: center; - position: absolute; -} -.progressbar-value { - position: relative; - overflow: hidden; - width: 0; - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.progressbar { - border-color: #D4D4D4; -} -.progressbar-text { - color: #333; - font-size: 12px; -} -.progressbar-value, -.progressbar-value .progressbar-text { - background-color: #0081c2; - color: #fff; -} -.searchbox-button { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.searchbox-button-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.searchbox .l-btn-plain { - border: 0; - padding: 0; - vertical-align: top; - opacity: 0.6; - filter: alpha(opacity=60); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .l-btn-plain:hover { - border: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox a.m-btn-plain-active { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .m-btn-active { - border-width: 0 1px 0 0; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .textbox-button-right { - border-width: 0 0 0 1px; -} -.searchbox .textbox-button-left { - border-width: 0 1px 0 0; -} -.searchbox-button { - background: url('images/searchbox_button.png') no-repeat center center; -} -.searchbox .l-btn-plain { - background: #F2F2F2; -} -.searchbox .l-btn-plain-disabled, -.searchbox .l-btn-plain-disabled:hover { - opacity: 0.5; - filter: alpha(opacity=50); -} -.slider-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.slider-h { - height: 22px; -} -.slider-v { - width: 22px; -} -.slider-inner { - position: relative; - height: 6px; - top: 7px; - border-width: 1px; - border-style: solid; - border-radius: 5px; -} -.slider-handle { - position: absolute; - display: block; - outline: none; - width: 20px; - height: 20px; - top: 50%; - margin-top: -10px; - margin-left: -10px; -} -.slider-tip { - position: absolute; - display: inline-block; - line-height: 12px; - font-size: 12px; - white-space: nowrap; - top: -22px; -} -.slider-rule { - position: relative; - top: 15px; -} -.slider-rule span { - position: absolute; - display: inline-block; - font-size: 0; - height: 5px; - border-width: 0 0 0 1px; - border-style: solid; -} -.slider-rulelabel { - position: relative; - top: 20px; -} -.slider-rulelabel span { - position: absolute; - display: inline-block; - font-size: 12px; -} -.slider-v .slider-inner { - width: 6px; - left: 7px; - top: 0; - float: left; -} -.slider-v .slider-handle { - left: 50%; - margin-top: -10px; -} -.slider-v .slider-tip { - left: -10px; - margin-top: -6px; -} -.slider-v .slider-rule { - float: left; - top: 0; - left: 16px; -} -.slider-v .slider-rule span { - width: 5px; - height: 'auto'; - border-left: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.slider-v .slider-rulelabel { - float: left; - top: 0; - left: 23px; -} -.slider-handle { - background: url('images/slider_handle.png') no-repeat; -} -.slider-inner { - border-color: #D4D4D4; - background: #F2F2F2; -} -.slider-rule span { - border-color: #D4D4D4; -} -.slider-rulelabel span { - color: #333; -} -.menu { - position: absolute; - margin: 0; - padding: 2px; - border-width: 1px; - border-style: solid; - overflow: hidden; -} -.menu-inline { - position: relative; -} -.menu-item { - position: relative; - margin: 0; - padding: 0; - overflow: hidden; - white-space: nowrap; - cursor: pointer; - border-width: 1px; - border-style: solid; -} -.menu-text { - height: 20px; - line-height: 20px; - float: left; - padding-left: 28px; -} -.menu-icon { - position: absolute; - width: 16px; - height: 16px; - left: 2px; - top: 50%; - margin-top: -8px; -} -.menu-rightarrow { - position: absolute; - width: 16px; - height: 16px; - right: 0; - top: 50%; - margin-top: -8px; -} -.menu-line { - position: absolute; - left: 26px; - top: 0; - height: 2000px; - font-size: 1px; -} -.menu-sep { - margin: 3px 0px 3px 25px; - font-size: 1px; -} -.menu-noline .menu-line { - display: none; -} -.menu-noline .menu-sep { - margin-left: 0; - margin-right: 0; -} -.menu-active { - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.menu-item-disabled { - opacity: 0.5; - filter: alpha(opacity=50); - cursor: default; -} -.menu-text, -.menu-text span { - font-size: 12px; -} -.menu-shadow { - position: absolute; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - background: #ccc; - -moz-box-shadow: 2px 2px 3px #cccccc; - -webkit-box-shadow: 2px 2px 3px #cccccc; - box-shadow: 2px 2px 3px #cccccc; - filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); -} -.menu-rightarrow { - background: url('images/menu_arrows.png') no-repeat -32px center; -} -.menu-line { - border-left: 1px solid #ccc; - border-right: 1px solid #fff; -} -.menu-sep { - border-top: 1px solid #ccc; - border-bottom: 1px solid #fff; -} -.menu { - background-color: #fff; - border-color: #e6e6e6; - color: #333; -} -.menu-content { - background: #ffffff; -} -.menu-item { - border-color: transparent; - _border-color: #fff; -} -.menu-active { - border-color: #ddd; - color: #00438a; - background: #e6e6e6; -} -.menu-active-disabled { - border-color: transparent; - background: transparent; - color: #333; -} -.m-btn-downarrow, -.s-btn-downarrow { - display: inline-block; - position: absolute; - width: 16px; - height: 16px; - font-size: 1px; - right: 0; - top: 50%; - margin-top: -8px; -} -.m-btn-active, -.s-btn-active { - background: #e6e6e6; - color: #00438a; - border: 1px solid #ddd; - filter: none; -} -.m-btn-plain-active, -.s-btn-plain-active { - background: transparent; - padding: 0; - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.m-btn .l-btn-left .l-btn-text { - margin-right: 20px; -} -.m-btn .l-btn-icon-right .l-btn-text { - margin-right: 40px; -} -.m-btn .l-btn-icon-right .l-btn-icon { - right: 20px; -} -.m-btn .l-btn-icon-top .l-btn-text { - margin-right: 4px; - margin-bottom: 14px; -} -.m-btn .l-btn-icon-bottom .l-btn-text { - margin-right: 4px; - margin-bottom: 34px; -} -.m-btn .l-btn-icon-bottom .l-btn-icon { - top: auto; - bottom: 20px; -} -.m-btn .l-btn-icon-top .m-btn-downarrow, -.m-btn .l-btn-icon-bottom .m-btn-downarrow { - top: auto; - bottom: 0px; - left: 50%; - margin-left: -8px; -} -.m-btn-line { - display: inline-block; - position: absolute; - font-size: 1px; - display: none; -} -.m-btn .l-btn-left .m-btn-line { - right: 0; - width: 16px; - height: 500px; - border-style: solid; - border-color: #bbb; - border-width: 0 0 0 1px; -} -.m-btn .l-btn-icon-top .m-btn-line, -.m-btn .l-btn-icon-bottom .m-btn-line { - left: 0; - bottom: 0; - width: 500px; - height: 16px; - border-width: 1px 0 0 0; -} -.m-btn-large .l-btn-icon-right .l-btn-text { - margin-right: 56px; -} -.m-btn-large .l-btn-icon-bottom .l-btn-text { - margin-bottom: 50px; -} -.m-btn-downarrow, -.s-btn-downarrow { - background: url('images/menu_arrows.png') no-repeat 0 center; -} -.m-btn-plain-active, -.s-btn-plain-active { - border-color: #ddd; - background-color: #e6e6e6; - color: #00438a; -} -.s-btn:hover .m-btn-line, -.s-btn-active .m-btn-line, -.s-btn-plain-active .m-btn-line { - display: inline-block; -} -.l-btn:hover .s-btn-downarrow, -.s-btn-active .s-btn-downarrow, -.s-btn-plain-active .s-btn-downarrow { - border-style: solid; - border-color: #bbb; - border-width: 0 0 0 1px; -} -.messager-body { - padding: 10px 10px 30px 10px; - overflow: auto; -} -.messager-button { - text-align: center; - padding: 5px; -} -.messager-button .l-btn { - width: 70px; -} -.messager-icon { - float: left; - width: 32px; - height: 32px; - margin: 0 10px 10px 0; -} -.messager-error { - background: url('images/messager_icons.png') no-repeat scroll -64px 0; -} -.messager-info { - background: url('images/messager_icons.png') no-repeat scroll 0 0; -} -.messager-question { - background: url('images/messager_icons.png') no-repeat scroll -32px 0; -} -.messager-warning { - background: url('images/messager_icons.png') no-repeat scroll -96px 0; -} -.messager-progress { - padding: 10px; -} -.messager-p-msg { - margin-bottom: 5px; -} -.messager-body .messager-input { - width: 100%; - padding: 4px 0; - outline-style: none; - border: 1px solid #D4D4D4; -} -.window-thinborder .messager-button { - padding-bottom: 8px; -} -.tree { - margin: 0; - padding: 0; - list-style-type: none; -} -.tree li { - white-space: nowrap; -} -.tree li ul { - list-style-type: none; - margin: 0; - padding: 0; -} -.tree-node { - height: 26px; - white-space: nowrap; - cursor: pointer; -} -.tree-hit { - cursor: pointer; -} -.tree-expanded, -.tree-collapsed, -.tree-folder, -.tree-file, -.tree-checkbox, -.tree-indent { - display: inline-block; - width: 16px; - height: 18px; - margin: 4px 0; - vertical-align: middle; - overflow: hidden; -} -.tree-expanded { - background: url('images/tree_icons.png') no-repeat -18px 0px; -} -.tree-expanded-hover { - background: url('images/tree_icons.png') no-repeat -50px 0px; -} -.tree-collapsed { - background: url('images/tree_icons.png') no-repeat 0px 0px; -} -.tree-collapsed-hover { - background: url('images/tree_icons.png') no-repeat -32px 0px; -} -.tree-lines .tree-expanded, -.tree-lines .tree-root-first .tree-expanded { - background: url('images/tree_icons.png') no-repeat -144px 0; -} -.tree-lines .tree-collapsed, -.tree-lines .tree-root-first .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -128px 0; -} -.tree-lines .tree-node-last .tree-expanded, -.tree-lines .tree-root-one .tree-expanded { - background: url('images/tree_icons.png') no-repeat -80px 0; -} -.tree-lines .tree-node-last .tree-collapsed, -.tree-lines .tree-root-one .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -64px 0; -} -.tree-line { - background: url('images/tree_icons.png') no-repeat -176px 0; -} -.tree-join { - background: url('images/tree_icons.png') no-repeat -192px 0; -} -.tree-joinbottom { - background: url('images/tree_icons.png') no-repeat -160px 0; -} -.tree-folder { - background: url('images/tree_icons.png') no-repeat -208px 0; -} -.tree-folder-open { - background: url('images/tree_icons.png') no-repeat -224px 0; -} -.tree-file { - background: url('images/tree_icons.png') no-repeat -240px 0; -} -.tree-loading { - background: url('images/loading.gif') no-repeat center center; -} -.tree-checkbox0 { - background: url('images/tree_icons.png') no-repeat -208px -18px; -} -.tree-checkbox1 { - background: url('images/tree_icons.png') no-repeat -224px -18px; -} -.tree-checkbox2 { - background: url('images/tree_icons.png') no-repeat -240px -18px; -} -.tree-title { - font-size: 12px; - display: inline-block; - text-decoration: none; - vertical-align: middle; - white-space: nowrap; - padding: 0 2px; - margin: 4px 0; - height: 18px; - line-height: 18px; -} -.tree-node-proxy { - font-size: 12px; - line-height: 20px; - padding: 0 2px 0 20px; - border-width: 1px; - border-style: solid; - z-index: 9900000; -} -.tree-dnd-icon { - display: inline-block; - position: absolute; - width: 16px; - height: 18px; - left: 2px; - top: 50%; - margin-top: -9px; -} -.tree-dnd-yes { - background: url('images/tree_icons.png') no-repeat -256px 0; -} -.tree-dnd-no { - background: url('images/tree_icons.png') no-repeat -256px -18px; -} -.tree-node-top { - border-top: 1px dotted red; -} -.tree-node-bottom { - border-bottom: 1px dotted red; -} -.tree-node-append .tree-title { - border: 1px dotted red; -} -.tree-editor { - border: 1px solid #D4D4D4; - font-size: 12px; - height: 26px; - line-height: 26px; - padding: 0 4px; - margin: 0; - width: 80px; - outline-style: none; - vertical-align: middle; - position: absolute; - top: 0; -} -.tree-node-proxy { - background-color: #ffffff; - color: #333; - border-color: #D4D4D4; -} -.tree-node-hover { - background: #e6e6e6; - color: #00438a; -} -.tree-node-selected { - background: #0081c2; - color: #fff; -} -.tree-node-hidden { - display: none; -} -.inputbox { - display: inline-block; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; -} -.validatebox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; - color: #000; -} -.tooltip { - position: absolute; - display: none; - z-index: 9900000; - outline: none; - opacity: 1; - filter: alpha(opacity=100); - padding: 5px; - border-width: 1px; - border-style: solid; - border-radius: 5px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.tooltip-content { - font-size: 12px; -} -.tooltip-arrow-outer, -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - line-height: 0; - font-size: 0; - border-style: solid; - border-width: 6px; - border-color: transparent; - _border-color: tomato; - _filter: chroma(color=tomato); -} -.tooltip-arrow { - display: none \9; -} -.tooltip-right .tooltip-arrow-outer { - left: 0; - top: 50%; - margin: -6px 0 0 -13px; -} -.tooltip-right .tooltip-arrow { - left: 0; - top: 50%; - margin: -6px 0 0 -12px; -} -.tooltip-left .tooltip-arrow-outer { - right: 0; - top: 50%; - margin: -6px -13px 0 0; -} -.tooltip-left .tooltip-arrow { - right: 0; - top: 50%; - margin: -6px -12px 0 0; -} -.tooltip-top .tooltip-arrow-outer { - bottom: 0; - left: 50%; - margin: 0 0 -13px -6px; -} -.tooltip-top .tooltip-arrow { - bottom: 0; - left: 50%; - margin: 0 0 -12px -6px; -} -.tooltip-bottom .tooltip-arrow-outer { - top: 0; - left: 50%; - margin: -13px 0 0 -6px; -} -.tooltip-bottom .tooltip-arrow { - top: 0; - left: 50%; - margin: -12px 0 0 -6px; -} -.tooltip { - background-color: #ffffff; - border-color: #D4D4D4; - color: #333; -} -.tooltip-right .tooltip-arrow-outer { - border-right-color: #D4D4D4; -} -.tooltip-right .tooltip-arrow { - border-right-color: #ffffff; -} -.tooltip-left .tooltip-arrow-outer { - border-left-color: #D4D4D4; -} -.tooltip-left .tooltip-arrow { - border-left-color: #ffffff; -} -.tooltip-top .tooltip-arrow-outer { - border-top-color: #D4D4D4; -} -.tooltip-top .tooltip-arrow { - border-top-color: #ffffff; -} -.tooltip-bottom .tooltip-arrow-outer { - border-bottom-color: #D4D4D4; -} -.tooltip-bottom .tooltip-arrow { - border-bottom-color: #ffffff; -} -.switchbutton { - text-decoration: none; - display: inline-block; - overflow: hidden; - vertical-align: middle; - margin: 0; - padding: 0; - cursor: pointer; - background: #bbb; - border: 1px solid #bbb; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.switchbutton-inner { - display: inline-block; - overflow: hidden; - position: relative; - top: -1px; - left: -1px; -} -.switchbutton-on, -.switchbutton-off, -.switchbutton-handle { - display: inline-block; - text-align: center; - height: 100%; - float: left; - font-size: 12px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.switchbutton-on { - background: #0081c2; - color: #fff; -} -.switchbutton-off { - background-color: #ffffff; - color: #333; -} -.switchbutton-on, -.switchbutton-reversed .switchbutton-off { - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.switchbutton-off, -.switchbutton-reversed .switchbutton-on { - -moz-border-radius: 0 5px 5px 0; - -webkit-border-radius: 0 5px 5px 0; - border-radius: 0 5px 5px 0; -} -.switchbutton-handle { - position: absolute; - top: 0; - left: 50%; - background-color: #ffffff; - color: #333; - border: 1px solid #bbb; - -moz-box-shadow: 0 0 3px 0 #bbb; - -webkit-box-shadow: 0 0 3px 0 #bbb; - box-shadow: 0 0 3px 0 #bbb; -} -.switchbutton-value { - position: absolute; - top: 0; - left: -5000px; -} -.switchbutton-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.switchbutton-disabled, -.switchbutton-readonly { - cursor: default; -} -.radiobutton { - position: relative; - border: 2px solid #0070a9; - border-radius: 50%; -} -.radiobutton-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #0070a9; - border-radius: 50%; - transform: scale(.6); -} -.radiobutton-disabled { - opacity: 0.6; -} -.radiobutton-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} -.checkbox { - position: relative; - border: 2px solid #0070a9; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.checkbox-checked { - border: 0; - background: #0070a9; -} -.checkbox-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; -} -.checkbox path { - stroke-width: 2px; -} -.checkbox-disabled { - opacity: 0.6; -} -.checkbox-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} -.sidemenu .tree-hit { - background-image: none; -} -.sidemenu-default-icon { - background-image: none; - width: 0; -} -.sidemenu .accordion .accordion-header, -.sidemenu .accordion .accordion-body { - border-bottom-color: transparent; - background: transparent; -} -.sidemenu .accordion .accordion-header { - color: #777; -} -.sidemenu .accordion-header .panel-title { - height: 30px; - line-height: 30px; - color: #777; -} -.sidemenu .accordion-header:hover { - background: #e6e6e6; - color: #777; -} -.sidemenu .tree-node-hover { - background: #e6e6e6; - color: #777; -} -.sidemenu .tree-node-selected { - border-right: 2px solid #0070a9; - color: #fff; - background: #0081c2; -} -.sidemenu .tree-node { - height: 40px; -} -.sidemenu .tree-title { - margin: 11px 0; -} -.sidemenu .tree-node-nonleaf { - position: relative; -} -.sidemenu .tree-node-nonleaf::after { - display: inline-block; - content: ''; - position: absolute; - top: 50%; - margin-top: -8px; - background: url('images/accordion_arrows.png') no-repeat 0 0; - width: 16px; - height: 16px; - right: 5px; -} -.sidemenu .tree-node-nonleaf-collapsed::after { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.sidemenu-collapsed .panel-icon { - left: 50%; - margin-left: -8px; -} -.sidemenu-tooltip { - padding: 0; - margin: 0 -12px; - border: 0; -} -.sidemenu-tooltip.tooltip-left { - margin: 0 12px; -} -.sidemenu-tooltip .tooltip-arrow-outer, -.sidemenu-tooltip .tooltip-arrow { - display: none; -} -.tabs-panels { - border-color: transparent; -} -.tabs li a.tabs-inner { - border-color: transparent; - background: transparent; - filter: none; - color: #0088CC; -} -.menu-active { - background-color: #0081C2; - border-color: #0081C2; - color: #fff; -} -.menu-active-disabled { - border-color: transparent; - background: transparent; - color: #333; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/filebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/filebox.css deleted file mode 100644 index c6bac66..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/filebox.css +++ /dev/null @@ -1,20 +0,0 @@ -.filebox .textbox-value { - vertical-align: top; - position: absolute; - top: 0; - left: -5000px; -} -.filebox-label { - display: inline-block; - position: absolute; - width: 100%; - height: 100%; - cursor: pointer; - left: 0; - top: 0; - z-index: 10; - background: url('images/blank.gif') no-repeat; -} -.l-btn-disabled .filebox-label { - cursor: default; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/accordion_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/accordion_arrows.png deleted file mode 100644 index 720835f69c96c17ec32a20b03ac9753aa59b7f4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYeRK2H*V@SoVUT_Y-nKxaI`{RC0WjSLJ&w^R(C-|JQTojLXc1&{d*_z{$ jW+oTMdQ(F|jDg|L>K${_)^zO#I)%a0)z4*}Q$iB}_fAN- diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/blank.gif b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/blank.gif deleted file mode 100644 index 1d11fa9ada9e93505b3d736acb204083f45d5fbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43 scmZ?wbhEHbWMp7uX!y@?;J^U}1_s5SEQ~;kK?g*DWEhy3To@Uw0n;G|I{*Lx diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/calendar_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/calendar_arrows.png deleted file mode 100644 index 430c4ad685b8c0068ecb7e3cbef74f493a84ad0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQYD@)jv*Dd-cCEn)nLHm{QbZE z+q@uWwandfr?Jb4eDYYmB3UAt=OO2Vt+MMT&+KD%&6hZDt!FBpej;sEpMN69^tKl% zp6y<4_lG^P z=;=eQ4Vs74-2)Ua&f1tcVdk$#{GPKe@&?ZMHmT&SMw?IV&w7)}ixLbB3d$Zg{&KGb P8OPx1>gTe~DWM4fp>5!O@Gl{c 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 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/loading.gif b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/loading.gif deleted file mode 100644 index 68f01d04813c1f622810864a3aaa04b4a17ac8f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1737 zcmaKsX;2e)7>CzDa{xjjy99|1A!tC(kfocDi)<1$AxHpOQ4k^l!Vx1W6x7<&|FYXU zqO4jEiU-!VR1p+Xj1?4-iuI_J;!&?!+ghg|JJad3U)pMGzcKxNeCM6tJnuX+uPvX@ zZY|=AHdxt2Xr2y*)5|c6#FSEuyJ+Y3Z&l z2hJWo`9;lJ$6wzSoW60tqkB|d$oiO*d-^85^ojn{*NR{MP*%{@H*#gihZ8BKyB68E z-MIbjgNNV0y5khpJ^Jv`51aR%={<4jhaVq5e*9D5+*hL)XCHn4{^d%hPu@?KpKbc=eN!D=XUjDmH#n{YHNS zHCX6BV)yn2CuTNujhN~V+`RKpyXO6^ht92eqhIIlQLfz6eeCnH_C7`NPNrw9ks366 z4xX9(`s~z=+1uX^ocZ$2_fBs=JihPfWYufOIuD&AU-@`>>qn~cy$1)T7CU!5z2(U8 z)9Kt9)l`f6?NU41j6XbXfR{OHwm|T4}&24tIf+!C-g~6cQfY2^n$?AT&ZW zgqm`}3-jS2NS6n=k;sr5Hv(Q%%n)qW0X|neWVBd;Ko}d(=u%?{O0-a>kSI}shOd9n z5top}%gUCf=>?tg;*;#7!^HOL3k$fMxd=O-6Y4@%u8LS)C1D_a?27R6^vcC+6tttL z)GmTahbyJB!xmcHL#ya8ZXyfRl)a!N0BJE0y3BBfAV5;#=K&Z2VkaKZ)?9`1h5P_% znt*b}%j1|#j`b|aQDx@~wA#$PYRN2xE6UO;;vE(@$&xww-s8fZ5HmJ(eJ*rQrDbaawDbrfe_8F(wq{ge?)qQG`aXV;r(*6EM|ESje;52aFmrX!f=Pw^2oGQX$1|o4yts|b_5@w_kNwtl{wDP#JGMvIp#!SYX?Wq9S&`&_ZwkgGH5CLB7DEGJ6=R4J~p3Z4i^A}hs=-uZeD zs92l6u@**R$~L()G{5N8*7cE5-q$SCo`q4|NSVF*+A7&xZnypm$EdXgf)E%(VJHFD zSgi(H!D!(;9Zcc#GrCCJh=RlvXBQ-hv4Vodse`a32ZUFWgP5ZhM5LeV(#D^H8p@Lg ztra5R32z@1rQv{6u&RZL5%Z@Ye{q|t#6aM_1hIrpl@)oH6}os*cbAQywa{5<`ekzW O1il%9bk82&KlvLjD^%40 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/menu_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/menu_arrows.png deleted file mode 100644 index b986842e7e4044caed18edbcb4b376a4bb915623..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQt6&9jv*Dd-cB{-J7B=U{PTZ! zWrKV9%Z3|Wt5t$(gq+#d+-OocB$0fsr9DfRx52vPhSu$$+yXuy+69hDZ54DDTxx#r zL7>-12UT01v)>tZ+;HI4pDNf?@KK~EC$@35ykmXyu^HJF3})N>8P9Uwo&~g$!PC{x JWt~$(697!FIeGv9 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/messager_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/messager_icons.png deleted file mode 100644 index 86b0b0e6c73d6bdedc843763484982e5c9e71b0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2224 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 G5}E*M5;#5p diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/passwordbox_open.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/passwordbox_open.png deleted file mode 100644 index d328891f6a18ea703fd25a47b228df9cb13b4744..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ii4<#Ar-fh6C~y}*jFF6I{2&m zf8fW~lSf{d9=Ouc<(SoRr6$ox=6dW5rxOB`TRe8 z#G%R{$Nj@Z)5m5kM@2RMITi_;Npmte=_#;rBych_7F`xqKKy}=f%DM}Q4`(M(}DIf Nc)I$ztaD0e0su|qH(3Ax diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/searchbox_button.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/searchbox_button.png deleted file mode 100644 index 6dd1931589b453f6cc9772fd1851d8705d6b6631..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 813 zcmV+|1JeA7P)lXvaa)1B=8vtU6i;3jw7+Lm8D5$Z@i10EnF)=bcefw4K z$^E-CUfjQG`svfBbfD6|R#sLFj6lo3FG$G6@;ee>>~6i|H^5OY8c00W#fi<*1vzh{0&qu3dB`V0{{XDY`}(1n>S9M(9!zw#!&`A z#;*+0{6GVMSeWGp!`o{o8NPge#o%jgs54WT$qnQYpsyGNpauX05F;oJfZ`Pdw6!$j zynTH0RMa&!n3$Pa9zVGEY{&L(3qnPBl_DG6<9Xk0`Fl3`LiD4@pH{vDsxJWQ1qdJp zEJ>M}osCtQlY?CgW>F{;gVK#SmgoOZnEn5J%EtIXaWQXAO>Rdf)WFR;gt~f zXaA3z{{L{q=l48y!32yJ3i0hJ2BS=^}@sXzH{F9Iq&OW375;I7CG-}Vr|aF#l<(fySwu2>`YdxRW*W0f#2un=W5Jmvoe`XCK%I_Y++#`fwE+= zSd{sEULGDE%A=#BOW<6gP*6VfMa^fr8qe`5w%)P0a^Y9WGTw! zvI^|$>l@1Da^Ke1*T3RdY7KqM%gaBb(P+oP!GW;b?ZRfW3Bxc1H@GCaHK#XhZ*Lc= zRBC@>V&W#x&B5%(#>OW5`};d6I5Qw218EG_q@1gtr!Nl*v7yn?(MPMRt4SNy%--JK zanm#f^bw^}Nr7b(EUg}TUi(2;)deX10lAo=83+VA(QksJI6(zwptET-y~avN=J9w$ zI2`W5lG|aOkjY7(&!@;Jx*nUA>~J`Q)9L&(G8y=g$3a4YgD7z)5>gXQNKhw=uR0zF z#jHruh)gDv=bj|2ZES4(fEM?I!JyKqo=}sj-fBYTcDt4KXq)eFQH}wW`vh%Mla}#@ z@Mb`C)x@YkK{xd2>8ZLg+E!Lps$Q@6DY-~!0=Gs+Mm~_JnW1EbX2uxClEdN>Y@I78 z=ke_9?7sX@o0*x}M{JB77MIXj_MmNE%+1Xe{*{crh)9={dR(U;y-{jrxUXmG%Gt002ovPDHLkV1hy(sXhPz diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/spinner_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/spinner_arrows.png deleted file mode 100644 index 7c2df483dbb30dfb3a51332c03fe6f0c229c0547..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQZb$`jv*Ddk`p9Y7bl4Dgeh3R zJz6gy$J;RRRRiNz`7}$-z5~nWg=}UsVYp!HpQ#{_&8An~S<1fjm*zKyrHmF27#+^4 x`1rk&EZfSkR8C?on>%wt3;O{L3Dzy_3@=Og7TEqO`UJFx!PC{xWt~$(69D$UE$jdQ diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/tabs_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/tabs_icons.png deleted file mode 100644 index 4d29966d7154338a9e2e358821a5f72655eba43e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^20$#p!3HD)*8SNCq+&f?978H@B_~L*E^a7uNPG49 z|BoM6E;$_tDnm{r-UW|t3f!- diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/tagbox_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/tagbox_icons.png deleted file mode 100644 index bd02e2d817c6b7c4e2a105919e9a89cc0a1d577f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel&`0YV@SoV>_0CQASS diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/tree_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/tree_icons.png deleted file mode 100644 index e9be4f3a9965e49a4e4078f8c53f486d761a7468..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3115 zcmV+`4Ak?9P)g24+u&k_UG+WCVnOW0FwMG}(2wGOI!IUx6nn{~p zK+GuW#mGkun)pBk1bIKq2~!>yc`1oJM7TV}|D1iU2d{7+=iGY*Zhd>Ly{>T1|31#) z``!Py&-u2D@h}=|*RDlx>VNK^-`@2+c<|uCg9rZx;|}7def~CV*Z^~Bvlk0y6WzaX zO7)0#uj7>9!NW$89WfP@S>cZ$8!Q+fgf5CL6uf3z7yRUM87*26} zc7){+S-^&{P?s;BN|=J}jRBY%>({~FW^;}1pOKM)t5>h~iiN9a?!cQxZAh)Xj-Cbx z-`;!M?b&%0#)k;`qJa#-vG>Q}$a}tsUq2e(hTV((>qg+4HQwkBk0=8Pvw9^Cq^lEg zdeuqA0@yH%5C8TbQ7FAuPv)$7}<1EDF0(%7?l zFbWC^aJxRrM0VGoK7AU797tDK7;+<$&S&$O=E0jr=dtI#Mi}^Lj%@MJAfHcF&7V~L z9{C-M@yx;LV9VXsm^~;2kSkZNAUZl48jS|l!o$zcPfR)cpTBxt1jyGH+b}s@ix?{* zva6z1d_Kwx*Em4z1t9hkRIktt&M27~fn9HSAUiu7xAa1^d@L`8=OBG*YAWP95Muxt z_tB*4MY&JFGt@VQ&0vE%Kh&Zz69xp2+C4k&QT(@l8FD*tj#rt$qJ}_46BhKjt3qv;#5snD)toChHG|az}_Ova+&pD$++$mLMTL8(gYsda--Qdr^s;scOOAj6rKuR0A1K|$D zwvqa;$-2QQ+d)KN+h3hJ0V2=6MBx01WxD;(t{3%&0iw)-+&xz{e$xAoYSY?2!)r+k zZ#XX*S26khN18sn5QI$aW}IkRjhB<2h5O?Bsf!mj*3+{)$lP6*009WQ@_QKCDZbm|CEu64xY6& z5Gt5Tbq^`!7Ey~DbpY8fz=NhQUtUyR1EGScRQHgQes`%^5kUBM?m)~&;y)+o24}@P z@>1A0D#$?u2K9l9?LjKVz)ogJSEeFiN7VNp}@yO1c)Y7cDEG($y9!m{QGyrY+<=2p)AU z*G&S1-^bB+?gOzG2SS%w#lczlhP)K^ja<^NJ3z>Vm;{d+XAk)!Z@ZtUSL{Ht4LT5U zCNpZ0f5KZi0f?K5I7Aer^o`C=v>eLmnr)!Qs)%VeL0~SXdbB`TZ-=>)+tD?{7n~`)x0Lx#}LM zSGtQ=OsMEdbqkt$(BMx@OvITpXKn)s?b|hXu5iQlV3*tUGQoF{PPQ?3zHwiBdeZmRsDM2OMC?I;L(FYK%i-foYaSh6a)mCmdHtcct`+I zl7`;@l&2SNnDo+uwuv(rzRAxf54-vX=kK2f4<0;t@ZjHKedqJ@o*+DU@ZiCNI}q+b zxc;Xae`jps9$(+=lYy^bo2Tcu3mEf|wmr?5>lQb+z43v8`22wf&Ms$c8Ycq}9yW}T z^VdR2QuG!5CIKE_Pk#7^y7TAIQCWr0=;?W=_}Fo@mlmQ{Q;djT zJzg4QPY|K*WHmi>UkJaOly@bwL{EdVsOYSiWo5-emY}k-43{odqNb)Ab#*mpXsAPD zV}m$=>Cx7Do$gkWma?|?vY4bXq~Go5ce?(Z0FS8k&`ubNj-z`}nU#Z&y}XWn;No&X zlYA15Nr#a)YzQu_S&1Jnlw$J(lZs^>K)M^1?n><~cu-d|x+|5sl=TJ6&bRaRFs1-v zZtyoXT@wc|ZL_sr4m_Hho4V;!UVarF7mEdW3`D&T!{srK(8ljZ>B&?S9Xp1G*;#RCMe;#Qa46TRJU)rxEXz?7a%C+>QP&YDKOh@Zts7sj=Ev<#2 z#dEYO*Gho!6}i0#5PNbUat6Ov+YD)6rFvDg3N0;KGx}oOx5E#k)V>(I(^q`--8oiF zf`uB8BxR^eI#5$Zxl-N>jb83Ba4lqu2ELON*`F7*ZB0I^Si*pma1 z1CQ3$783w44G%d0A+2hsN(6^$`%QSLM~VL?c(k{-bt3MB$O z&U-NwjCRK9QEtd|6W}4ZkFqa5M};ueS*KEEy(qk-(St#~Kd1)?^#TzGvlRf5`hX~b z2z4JL=Rw`bsHqS^;H*M`&?;R0PGo8$5HZo^N>*1dYxO1uSdZv?`}14db<9>%QfptI z2BjQ$7#hG`^#lq-@SrrMm!>U}10j$QK%}2ZYfL|vG53!K4m_ecnS#2wuLO9wAy+gbS0xM zWHgPTu4FXusY{uX*QVw{#=4U6t04R;%$;x`a^PVK0H&rba`e*G7JcU-O=IYH#`IeT z4cS|K^eC>Lh)4b~S6$7+nL)EPN^l;#5a;NCy}}nsjH4sYsnsY*PDaS^;m7XyRTyi7 zx{*;=G8*{QrA&#II*$=V$cfN&hH4^IST*(k!bpGM{5}remCOXAH=Ez7K@DlF@x2)TNB^;L(R2h#YvB1Aqh%N=x+S;9*D~IdNiPZHWe@p(~N( z?uLr35hyPxz&j&HX1?L&b)qOMOLQLLuC6#57>IIVb`m;$dWGGb9O_O+UCQ{MY0n4m z2_oNtC`m&A=q-H+V^hOt&eU8k)u1sy7Z>vK5T;UPQJuqwF&Ca| z&YY@+jQR7?!Gnj5g1*_w0nn9@uD6sM%f6&v%GfVAPnz^YTyO~1d3z^6&sgVwb-9SK zdxAYZ52=?gN9aQjmHvjYS^SLi;10wN-aii>Jb3(M`wpy diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/validatebox_warning.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/validatebox_warning.png deleted file mode 100644 index 2b3d4f05babf3f82b146350e96570fac02075de0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 921 zcmV;K17`e*P)nRv1_mBsMY*-M^XCf)eflW5 z|MC^)Hw+AW{sHCCF+cz@{fF8J!+#-kxoSv=7^|!zgOQUngSQ}mDo|J)n+pH}hzZ#= zr~y18$_m-?9v%$;?mu8);}>9vFgFvDXJDwrW&l6{p}625M66yTFhGz^K$w9^O$BHi zFN2Ym7DIple*#cW4BY^L0Al(Jbv6k9U|^6IQBp{hx3XdQ&CJ4Z_|YSVr@XujY(PVT zlok1<85nBO4FCurumK>O|A07*jFlSRUcxLAQVcIR*co#3@)&jj4Pj7KXRri%#h;fa z4ya5O*#Lk5Vq!q}T~=CGH(uV-hJk^fkAYoGjN#AMuMF($>N=giWG}IXse|=+c=i>7HEg>%*E%fLD!-uy|85n^6W?^Dt(9zXp5EB&z+w>_knBmdiKMbzi z?A!`WOl>e100a=&05*1xZdFls?*HtZ48H?o7=HW%ivIu45E2~BASWx!@DIpmv9e}h zaPwji|L}pqor@y`=yxrU0RRES^qYY}O;TRcU+DKIhL4`%3_nyf8U6tS<<-ZJ40D$( zWjJ%`G6NIPHNP2{7am*Fp% z{>ShK#0G`~kjd~57_BU.panel-body, -.panel-hright>.panel-body { - position: absolute; -} -.panel-hleft>.panel-header { - float: left; -} -.panel-hright>.panel-header { - float: right; -} -.panel-hleft>.panel-body { - border-top-width: 1px; - border-left-width: 0; -} -.panel-hright>.panel-body { - border-top-width: 1px; - border-right-width: 0; -} -.panel-hleft>.panel-body-nobottom { - border-bottom-width: 1px; - border-right-width: 0; -} -.panel-hright>.panel-body-nobottom { - border-bottom-width: 1px; - border-left-width: 0; -} -.panel-hleft>.panel-footer { - position: absolute; - right: 0; -} -.panel-hright>.panel-footer { - position: absolute; - left: 0; -} -.panel-hleft>.panel-header-noborder { - border-width: 0 1px 0 0; -} -.panel-hright>.panel-header-noborder { - border-width: 0 0 0 1px; -} -.panel-hleft>.panel-body-noborder { - border-width: 0; -} -.panel-hright>.panel-body-noborder { - border-width: 0; -} -.panel-hleft>.panel-body-noheader { - border-left-width: 1px; -} -.panel-hright>.panel-body-noheader { - border-right-width: 1px; -} -.panel-hleft>.panel-footer-noborder { - border-width: 0 0 0 1px; -} -.panel-hright>.panel-footer-noborder { - border-width: 0 1px 0 0; -} -.panel-hleft>.panel-header .panel-icon, -.panel-hright>.panel-header .panel-icon { - margin-top: 0; - top: 5px; - left: 50%; - margin-left: -8px; -} -.panel-hleft>.panel-header .panel-title, -.panel-hright>.panel-header .panel-title { - position: absolute; - min-width: 16px; - left: 25px; - top: 5px; - bottom: auto; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(90deg); - -o-transform-origin: 0 0; - transform: rotate(90deg); - transform-origin: 0 0; -} -.panel-hleft>.panel-header .panel-title-up, -.panel-hright>.panel-header .panel-title-up { - position: absolute; - min-width: 16px; - left: 21px; - top: auto; - bottom: 0px; - text-align: right; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(-90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(-90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(-90deg); - -o-transform-origin: 0 0; - transform: rotate(-90deg); - transform-origin: 0 16px; -} -.panel-hleft>.panel-header .panel-with-icon.panel-title-up, -.panel-hright>.panel-header .panel-with-icon.panel-title-up { - padding-left: 0; - padding-right: 18px; -} -.panel-hleft>.panel-header .panel-tool, -.panel-hright>.panel-header .panel-tool { - top: auto; - bottom: 5px; - width: 16px; - height: auto; - left: 50%; - margin-left: -8px; - margin-top: 0; -} -.panel-hleft>.panel-header .panel-tool a, -.panel-hright>.panel-header .panel-tool a { - margin: 2px 0 0 0; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/passwordbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/passwordbox.css deleted file mode 100644 index 92c9ce5..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/passwordbox.css +++ /dev/null @@ -1,6 +0,0 @@ -.passwordbox-open { - background: url('images/passwordbox_open.png') no-repeat center center; -} -.passwordbox-close { - background: url('images/passwordbox_close.png') no-repeat center center; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/progressbar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/progressbar.css deleted file mode 100644 index 73f0de0..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/progressbar.css +++ /dev/null @@ -1,33 +0,0 @@ -.progressbar { - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - overflow: hidden; - position: relative; -} -.progressbar-text { - text-align: center; - position: absolute; -} -.progressbar-value { - position: relative; - overflow: hidden; - width: 0; - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.progressbar { - border-color: #D4D4D4; -} -.progressbar-text { - color: #333; - font-size: 12px; -} -.progressbar-value, -.progressbar-value .progressbar-text { - background-color: #0081c2; - color: #fff; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/propertygrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/propertygrid.css deleted file mode 100644 index 4b37fa6..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/propertygrid.css +++ /dev/null @@ -1,27 +0,0 @@ -.propertygrid .datagrid-view1 .datagrid-body td { - padding-bottom: 1px; - border-width: 0 1px 0 0; -} -.propertygrid .datagrid-group { - overflow: hidden; - border-width: 0 0 1px 0; - border-style: solid; -} -.propertygrid .datagrid-group span { - font-weight: bold; -} -.propertygrid .datagrid-view1 .datagrid-body td { - border-color: #e6e6e6; -} -.propertygrid .datagrid-view1 .datagrid-group { - border-color: #F2F2F2; -} -.propertygrid .datagrid-view2 .datagrid-group { - border-color: #e6e6e6; -} -.propertygrid .datagrid-group, -.propertygrid .datagrid-view1 .datagrid-body, -.propertygrid .datagrid-view1 .datagrid-row-over, -.propertygrid .datagrid-view1 .datagrid-row-selected { - background: #F2F2F2; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/radiobutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/radiobutton.css deleted file mode 100644 index 341e570..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/radiobutton.css +++ /dev/null @@ -1,25 +0,0 @@ -.radiobutton { - position: relative; - border: 2px solid #0070a9; - border-radius: 50%; -} -.radiobutton-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #0070a9; - border-radius: 50%; - transform: scale(.6); -} -.radiobutton-disabled { - opacity: 0.6; -} -.radiobutton-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/searchbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/searchbox.css deleted file mode 100644 index bf615de..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/searchbox.css +++ /dev/null @@ -1,61 +0,0 @@ -.searchbox-button { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.searchbox-button-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.searchbox .l-btn-plain { - border: 0; - padding: 0; - vertical-align: top; - opacity: 0.6; - filter: alpha(opacity=60); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .l-btn-plain:hover { - border: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox a.m-btn-plain-active { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .m-btn-active { - border-width: 0 1px 0 0; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .textbox-button-right { - border-width: 0 0 0 1px; -} -.searchbox .textbox-button-left { - border-width: 0 1px 0 0; -} -.searchbox-button { - background: url('images/searchbox_button.png') no-repeat center center; -} -.searchbox .l-btn-plain { - background: #F2F2F2; -} -.searchbox .l-btn-plain-disabled, -.searchbox .l-btn-plain-disabled:hover { - opacity: 0.5; - filter: alpha(opacity=50); -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/sidemenu.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/sidemenu.css deleted file mode 100644 index 3c526c2..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/sidemenu.css +++ /dev/null @@ -1,72 +0,0 @@ -.sidemenu .tree-hit { - background-image: none; -} -.sidemenu-default-icon { - background-image: none; - width: 0; -} -.sidemenu .accordion .accordion-header, -.sidemenu .accordion .accordion-body { - border-bottom-color: transparent; - background: transparent; -} -.sidemenu .accordion .accordion-header { - color: #777; -} -.sidemenu .accordion-header .panel-title { - height: 30px; - line-height: 30px; - color: #777; -} -.sidemenu .accordion-header:hover { - background: #e6e6e6; - color: #777; -} -.sidemenu .tree-node-hover { - background: #e6e6e6; - color: #777; -} -.sidemenu .tree-node-selected { - border-right: 2px solid #0070a9; - color: #fff; - background: #0081c2; -} -.sidemenu .tree-node { - height: 40px; -} -.sidemenu .tree-title { - margin: 11px 0; -} -.sidemenu .tree-node-nonleaf { - position: relative; -} -.sidemenu .tree-node-nonleaf::after { - display: inline-block; - content: ''; - position: absolute; - top: 50%; - margin-top: -8px; - background: url('images/accordion_arrows.png') no-repeat 0 0; - width: 16px; - height: 16px; - right: 5px; -} -.sidemenu .tree-node-nonleaf-collapsed::after { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.sidemenu-collapsed .panel-icon { - left: 50%; - margin-left: -8px; -} -.sidemenu-tooltip { - padding: 0; - margin: 0 -12px; - border: 0; -} -.sidemenu-tooltip.tooltip-left { - margin: 0 12px; -} -.sidemenu-tooltip .tooltip-arrow-outer, -.sidemenu-tooltip .tooltip-arrow { - display: none; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/slider.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/slider.css deleted file mode 100644 index b58d8de..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/slider.css +++ /dev/null @@ -1,101 +0,0 @@ -.slider-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.slider-h { - height: 22px; -} -.slider-v { - width: 22px; -} -.slider-inner { - position: relative; - height: 6px; - top: 7px; - border-width: 1px; - border-style: solid; - border-radius: 5px; -} -.slider-handle { - position: absolute; - display: block; - outline: none; - width: 20px; - height: 20px; - top: 50%; - margin-top: -10px; - margin-left: -10px; -} -.slider-tip { - position: absolute; - display: inline-block; - line-height: 12px; - font-size: 12px; - white-space: nowrap; - top: -22px; -} -.slider-rule { - position: relative; - top: 15px; -} -.slider-rule span { - position: absolute; - display: inline-block; - font-size: 0; - height: 5px; - border-width: 0 0 0 1px; - border-style: solid; -} -.slider-rulelabel { - position: relative; - top: 20px; -} -.slider-rulelabel span { - position: absolute; - display: inline-block; - font-size: 12px; -} -.slider-v .slider-inner { - width: 6px; - left: 7px; - top: 0; - float: left; -} -.slider-v .slider-handle { - left: 50%; - margin-top: -10px; -} -.slider-v .slider-tip { - left: -10px; - margin-top: -6px; -} -.slider-v .slider-rule { - float: left; - top: 0; - left: 16px; -} -.slider-v .slider-rule span { - width: 5px; - height: 'auto'; - border-left: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.slider-v .slider-rulelabel { - float: left; - top: 0; - left: 23px; -} -.slider-handle { - background: url('images/slider_handle.png') no-repeat; -} -.slider-inner { - border-color: #D4D4D4; - background: #F2F2F2; -} -.slider-rule span { - border-color: #D4D4D4; -} -.slider-rulelabel span { - color: #333; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/spinner.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/spinner.css deleted file mode 100644 index 6a6e6fc..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/spinner.css +++ /dev/null @@ -1,114 +0,0 @@ -.spinner-arrow { - display: inline-block; - overflow: hidden; - vertical-align: top; - margin: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - width: 18px; -} -.spinner-arrow.spinner-button-top, -.spinner-arrow.spinner-button-bottom, -.spinner-arrow.spinner-button-left, -.spinner-arrow.spinner-button-right { - background-color: #F2F2F2; -} -.spinner-arrow-up, -.spinner-arrow-down { - opacity: 0.6; - filter: alpha(opacity=60); - display: block; - font-size: 1px; - width: 18px; - height: 10px; - width: 100%; - height: 50%; - color: #444; - outline-style: none; - background-color: #F2F2F2; -} -.spinner-button-updown { - opacity: 1.0; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - position: relative; - display: block; - width: 100%; - height: 50%; -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down { - opacity: 1.0; - filter: alpha(opacity=100); - cursor: pointer; - width: 16px; - height: 16px; - top: 50%; - left: 50%; - margin-top: -8px; - margin-left: -8px; - position: absolute; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-button-updown .spinner-button-top:hover, -.spinner-button-updown .spinner-button-bottom:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down, -.spinner-button-updown .spinner-arrow-up:hover, -.spinner-button-updown .spinner-arrow-down:hover { - background-color: transparent; -} -.spinner-arrow-hover { - background-color: #e6e6e6; - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-top:hover, -.spinner-button-bottom:hover, -.spinner-button-left:hover, -.spinner-button-right:hover, -.spinner-arrow-up:hover, -.spinner-arrow-down:hover { - opacity: 1.0; - filter: alpha(opacity=100); - background-color: #e6e6e6; -} -.textbox-disabled .spinner-button-top:hover, -.textbox-disabled .spinner-button-bottom:hover, -.textbox-disabled .spinner-button-left:hover, -.textbox-disabled .spinner-button-right:hover, -.textbox-icon-disabled .spinner-arrow-up:hover, -.textbox-icon-disabled .spinner-arrow-down:hover { - opacity: 0.6; - filter: alpha(opacity=60); - background-color: #F2F2F2; - cursor: default; -} -.spinner .textbox-icon-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-arrow-up { - background: url('images/spinner_arrows.png') no-repeat 1px center; - background-color: #F2F2F2; -} -.spinner-arrow-down { - background: url('images/spinner_arrows.png') no-repeat -15px center; - background-color: #F2F2F2; -} -.spinner-button-up { - background: url('images/spinner_arrows.png') no-repeat -32px center; -} -.spinner-button-down { - background: url('images/spinner_arrows.png') no-repeat -48px center; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/splitbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/splitbutton.css deleted file mode 100644 index bf86453..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/splitbutton.css +++ /dev/null @@ -1,12 +0,0 @@ -.s-btn:hover .m-btn-line, -.s-btn-active .m-btn-line, -.s-btn-plain-active .m-btn-line { - display: inline-block; -} -.l-btn:hover .s-btn-downarrow, -.s-btn-active .s-btn-downarrow, -.s-btn-plain-active .s-btn-downarrow { - border-style: solid; - border-color: #bbb; - border-width: 0 0 0 1px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/switchbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/switchbutton.css deleted file mode 100644 index 38803aa..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/switchbutton.css +++ /dev/null @@ -1,77 +0,0 @@ -.switchbutton { - text-decoration: none; - display: inline-block; - overflow: hidden; - vertical-align: middle; - margin: 0; - padding: 0; - cursor: pointer; - background: #bbb; - border: 1px solid #bbb; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.switchbutton-inner { - display: inline-block; - overflow: hidden; - position: relative; - top: -1px; - left: -1px; -} -.switchbutton-on, -.switchbutton-off, -.switchbutton-handle { - display: inline-block; - text-align: center; - height: 100%; - float: left; - font-size: 12px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.switchbutton-on { - background: #0081c2; - color: #fff; -} -.switchbutton-off { - background-color: #ffffff; - color: #333; -} -.switchbutton-on, -.switchbutton-reversed .switchbutton-off { - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.switchbutton-off, -.switchbutton-reversed .switchbutton-on { - -moz-border-radius: 0 5px 5px 0; - -webkit-border-radius: 0 5px 5px 0; - border-radius: 0 5px 5px 0; -} -.switchbutton-handle { - position: absolute; - top: 0; - left: 50%; - background-color: #ffffff; - color: #333; - border: 1px solid #bbb; - -moz-box-shadow: 0 0 3px 0 #bbb; - -webkit-box-shadow: 0 0 3px 0 #bbb; - box-shadow: 0 0 3px 0 #bbb; -} -.switchbutton-value { - position: absolute; - top: 0; - left: -5000px; -} -.switchbutton-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.switchbutton-disabled, -.switchbutton-readonly { - cursor: default; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tabs.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tabs.css deleted file mode 100644 index c06a4aa..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tabs.css +++ /dev/null @@ -1,413 +0,0 @@ -.tabs-container { - overflow: hidden; -} -.tabs-header { - border-width: 1px; - border-style: solid; - border-bottom-width: 0; - position: relative; - padding: 0; - padding-top: 2px; - overflow: hidden; -} -.tabs-scroller-left, -.tabs-scroller-right { - position: absolute; - top: auto; - bottom: 0; - width: 18px; - font-size: 1px; - display: none; - cursor: pointer; - border-width: 1px; - border-style: solid; -} -.tabs-scroller-left { - left: 0; -} -.tabs-scroller-right { - right: 0; -} -.tabs-tool { - position: absolute; - bottom: 0; - padding: 1px; - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.tabs-header-plain .tabs-tool { - padding: 0 1px; -} -.tabs-wrap { - position: relative; - left: 0; - overflow: hidden; - width: 100%; - margin: 0; - padding: 0; -} -.tabs-scrolling { - margin-left: 18px; - margin-right: 18px; -} -.tabs-disabled { - opacity: 0.3; - filter: alpha(opacity=30); -} -.tabs { - list-style-type: none; - height: 26px; - margin: 0px; - padding: 0px; - padding-left: 4px; - width: 50000px; - border-style: solid; - border-width: 0 0 1px 0; -} -.tabs li { - float: left; - display: inline-block; - margin: 0 4px -1px 0; - padding: 0; - position: relative; - border: 0; -} -.tabs li a.tabs-inner { - display: inline-block; - text-decoration: none; - margin: 0; - padding: 0 10px; - height: 25px; - line-height: 25px; - text-align: center; - white-space: nowrap; - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 0 0; - -webkit-border-radius: 5px 5px 0 0; - border-radius: 5px 5px 0 0; -} -.tabs li.tabs-selected a.tabs-inner { - font-weight: bold; - outline: none; -} -.tabs li.tabs-selected a:hover.tabs-inner { - cursor: default; - pointer: default; -} -.tabs li a.tabs-close, -.tabs-p-tool { - position: absolute; - font-size: 1px; - display: block; - height: 12px; - padding: 0; - top: 50%; - margin-top: -6px; - overflow: hidden; -} -.tabs li a.tabs-close { - width: 12px; - right: 5px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs-p-tool { - right: 16px; -} -.tabs-p-tool a { - display: inline-block; - font-size: 1px; - width: 12px; - height: 12px; - margin: 0; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs li a:hover.tabs-close, -.tabs-p-tool a:hover { - opacity: 1; - filter: alpha(opacity=100); - cursor: hand; - cursor: pointer; -} -.tabs-with-icon { - padding-left: 18px; -} -.tabs-icon { - position: absolute; - width: 16px; - height: 16px; - left: 10px; - top: 50%; - margin-top: -8px; -} -.tabs-title { - font-size: 12px; -} -.tabs-closable { - padding-right: 8px; -} -.tabs-panels { - margin: 0px; - padding: 0px; - border-width: 1px; - border-style: solid; - border-top-width: 0; - overflow: hidden; -} -.tabs-header-bottom { - border-width: 0 1px 1px 1px; - padding: 0 0 2px 0; -} -.tabs-header-bottom .tabs { - border-width: 1px 0 0 0; -} -.tabs-header-bottom .tabs li { - margin: -1px 4px 0 0; -} -.tabs-header-bottom .tabs li a.tabs-inner { - -moz-border-radius: 0 0 5px 5px; - -webkit-border-radius: 0 0 5px 5px; - border-radius: 0 0 5px 5px; -} -.tabs-header-bottom .tabs-tool { - top: 0; -} -.tabs-header-bottom .tabs-scroller-left, -.tabs-header-bottom .tabs-scroller-right { - top: 0; - bottom: auto; -} -.tabs-panels-top { - border-width: 1px 1px 0 1px; -} -.tabs-header-left { - float: left; - border-width: 1px 0 1px 1px; - padding: 0; -} -.tabs-header-right { - float: right; - border-width: 1px 1px 1px 0; - padding: 0; -} -.tabs-header-left .tabs-wrap, -.tabs-header-right .tabs-wrap { - height: 100%; -} -.tabs-header-left .tabs { - height: 100%; - padding: 4px 0 0 2px; - border-width: 0 1px 0 0; -} -.tabs-header-right .tabs { - height: 100%; - padding: 4px 2px 0 0; - border-width: 0 0 0 1px; -} -.tabs-header-left .tabs li, -.tabs-header-right .tabs li { - display: block; - width: 100%; - position: relative; -} -.tabs-header-left .tabs li { - left: auto; - right: 0; - margin: 0 -1px 4px 0; - float: right; -} -.tabs-header-right .tabs li { - left: 0; - right: auto; - margin: 0 0 4px -1px; - float: left; -} -.tabs-justified li a.tabs-inner { - padding-left: 0; - padding-right: 0; -} -.tabs-header-left .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.tabs-header-right .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 0 5px 5px 0; - -webkit-border-radius: 0 5px 5px 0; - border-radius: 0 5px 5px 0; -} -.tabs-panels-right { - float: right; - border-width: 1px 1px 1px 0; -} -.tabs-panels-left { - float: left; - border-width: 1px 0 1px 1px; -} -.tabs-header-noborder, -.tabs-panels-noborder { - border: 0px; -} -.tabs-header-plain { - border: 0px; - background: transparent; -} -.tabs-pill { - padding-bottom: 3px; -} -.tabs-header-bottom .tabs-pill { - padding-top: 3px; - padding-bottom: 0; -} -.tabs-header-left .tabs-pill { - padding-right: 3px; -} -.tabs-header-right .tabs-pill { - padding-left: 3px; -} -.tabs-header .tabs-pill li a.tabs-inner { - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.tabs-header-narrow, -.tabs-header-narrow .tabs-narrow { - padding: 0; -} -.tabs-narrow li, -.tabs-header-bottom .tabs-narrow li { - margin-left: 0; - margin-right: -1px; -} -.tabs-narrow li.tabs-last, -.tabs-header-bottom .tabs-narrow li.tabs-last { - margin-right: 0; -} -.tabs-header-left .tabs-narrow, -.tabs-header-right .tabs-narrow { - padding-top: 0; -} -.tabs-header-left .tabs-narrow li { - margin-bottom: -1px; - margin-right: -1px; -} -.tabs-header-left .tabs-narrow li.tabs-last, -.tabs-header-right .tabs-narrow li.tabs-last { - margin-bottom: 0; -} -.tabs-header-right .tabs-narrow li { - margin-bottom: -1px; - margin-left: -1px; -} -.tabs-scroller-left { - background: #F2F2F2 url('images/tabs_icons.png') no-repeat 1px center; -} -.tabs-scroller-right { - background: #F2F2F2 url('images/tabs_icons.png') no-repeat -15px center; -} -.tabs li a.tabs-close { - background: url('images/tabs_icons.png') no-repeat -34px center; -} -.tabs li a.tabs-inner:hover { - background: #e6e6e6; - color: #00438a; - filter: none; -} -.tabs li.tabs-selected a.tabs-inner { - background-color: #ffffff; - color: #777; - background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%); - background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%); - background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%); - background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0); -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%); - background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%); - background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%); - background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0); -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(left,#ffffff 0,#ffffff 100%); - background: -moz-linear-gradient(left,#ffffff 0,#ffffff 100%); - background: -o-linear-gradient(left,#ffffff 0,#ffffff 100%); - background: linear-gradient(to right,#ffffff 0,#ffffff 100%); - background-repeat: repeat-y; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=1); -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(left,#ffffff 0,#ffffff 100%); - background: -moz-linear-gradient(left,#ffffff 0,#ffffff 100%); - background: -o-linear-gradient(left,#ffffff 0,#ffffff 100%); - background: linear-gradient(to right,#ffffff 0,#ffffff 100%); - background-repeat: repeat-y; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=1); -} -.tabs li a.tabs-inner { - color: #777; - background-color: #F2F2F2; - background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 100%); - background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 100%); - background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 100%); - background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0); -} -.tabs-header, -.tabs-tool { - background-color: #F2F2F2; -} -.tabs-header-plain { - background: transparent; -} -.tabs-header, -.tabs-scroller-left, -.tabs-scroller-right, -.tabs-tool, -.tabs, -.tabs-panels, -.tabs li a.tabs-inner, -.tabs li.tabs-selected a.tabs-inner, -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, -.tabs-header-left .tabs li.tabs-selected a.tabs-inner, -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-color: #D4D4D4; -} -.tabs-p-tool a:hover, -.tabs li a:hover.tabs-close, -.tabs-scroller-over { - background-color: #e6e6e6; -} -.tabs li.tabs-selected a.tabs-inner { - border-bottom: 1px solid #ffffff; -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - border-top: 1px solid #ffffff; -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - border-right: 1px solid #ffffff; -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-left: 1px solid #ffffff; -} -.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { - background: #0081c2; - color: #fff; - filter: none; - border-color: #D4D4D4; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tagbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tagbox.css deleted file mode 100644 index 7e98a0a..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tagbox.css +++ /dev/null @@ -1,44 +0,0 @@ -.tagbox { - cursor: text; -} -.tagbox .textbox-text { - float: left; -} -.tagbox-label { - position: relative; - display: block; - margin: 4px 0 0 4px; - padding: 0 20px 0 4px; - float: left; - vertical-align: top; - text-decoration: none; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - background: #e6e6e6; - color: #00438a; -} -.tagbox-remove { - background: url('images/tagbox_icons.png') no-repeat -16px center; - position: absolute; - display: block; - width: 16px; - height: 16px; - right: 2px; - top: 50%; - margin-top: -8px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tagbox-remove:hover { - opacity: 1; - filter: alpha(opacity=100); -} -.textbox-disabled .tagbox-label { - cursor: default; -} -.textbox-disabled .tagbox-remove:hover { - cursor: default; - opacity: 0.6; - filter: alpha(opacity=60); -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/textbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/textbox.css deleted file mode 100644 index a708ce3..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/textbox.css +++ /dev/null @@ -1,144 +0,0 @@ -.textbox { - position: relative; - border: 1px solid #D4D4D4; - background-color: #fff; - vertical-align: middle; - display: inline-block; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.textbox .textbox-text { - font-size: 12px; - border: 0; - margin: 0; - padding: 0 4px; - white-space: normal; - vertical-align: top; - outline-style: none; - resize: none; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - height: 28px; - line-height: 28px; -} -.textbox textarea.textbox-text { - line-height: normal; -} -.textbox .textbox-text::-ms-clear, -.textbox .textbox-text::-ms-reveal { - display: none; -} -.textbox textarea.textbox-text { - white-space: pre-wrap; -} -.textbox .textbox-prompt { - font-size: 12px; - color: #aaa; -} -.textbox .textbox-bgicon { - background-position: 3px center; - padding-left: 21px; -} -.textbox .textbox-button, -.textbox .textbox-button:hover { - position: absolute; - top: 0; - padding: 0; - vertical-align: top; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.textbox .textbox-button-right, -.textbox .textbox-button-right:hover { - right: 0; - border-width: 0 0 0 1px; -} -.textbox .textbox-button-left, -.textbox .textbox-button-left:hover { - left: 0; - border-width: 0 1px 0 0; -} -.textbox .textbox-button-top, -.textbox .textbox-button-top:hover { - left: 0; - border-width: 0 0 1px 0; -} -.textbox .textbox-button-bottom, -.textbox .textbox-button-bottom:hover { - top: auto; - bottom: 0; - left: 0; - border-width: 1px 0 0 0; -} -.textbox-addon { - position: absolute; - top: 0; -} -.textbox-label { - display: inline-block; - width: 80px; - height: 30px; - line-height: 30px; - vertical-align: middle; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - margin: 0; - padding-right: 5px; -} -.textbox-label-after { - padding-left: 5px; - padding-right: 0; -} -.textbox-label-top { - display: block; - width: auto; - padding: 0; -} -.textbox-disabled, -.textbox-label-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-icon { - display: inline-block; - width: 18px; - height: 20px; - overflow: hidden; - vertical-align: top; - background-position: center center; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); - text-decoration: none; - outline-style: none; -} -.textbox-icon-disabled, -.textbox-icon-readonly { - cursor: default; -} -.textbox-icon:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.textbox-icon-disabled:hover { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-focused { - border-color: #bbbbbb; - -moz-box-shadow: 0 0 3px 0 #D4D4D4; - -webkit-box-shadow: 0 0 3px 0 #D4D4D4; - box-shadow: 0 0 3px 0 #D4D4D4; -} -.textbox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tooltip.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tooltip.css deleted file mode 100644 index ed9fe1c..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tooltip.css +++ /dev/null @@ -1,103 +0,0 @@ -.tooltip { - position: absolute; - display: none; - z-index: 9900000; - outline: none; - opacity: 1; - filter: alpha(opacity=100); - padding: 5px; - border-width: 1px; - border-style: solid; - border-radius: 5px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.tooltip-content { - font-size: 12px; -} -.tooltip-arrow-outer, -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - line-height: 0; - font-size: 0; - border-style: solid; - border-width: 6px; - border-color: transparent; - _border-color: tomato; - _filter: chroma(color=tomato); -} -.tooltip-arrow { - display: none \9; -} -.tooltip-right .tooltip-arrow-outer { - left: 0; - top: 50%; - margin: -6px 0 0 -13px; -} -.tooltip-right .tooltip-arrow { - left: 0; - top: 50%; - margin: -6px 0 0 -12px; -} -.tooltip-left .tooltip-arrow-outer { - right: 0; - top: 50%; - margin: -6px -13px 0 0; -} -.tooltip-left .tooltip-arrow { - right: 0; - top: 50%; - margin: -6px -12px 0 0; -} -.tooltip-top .tooltip-arrow-outer { - bottom: 0; - left: 50%; - margin: 0 0 -13px -6px; -} -.tooltip-top .tooltip-arrow { - bottom: 0; - left: 50%; - margin: 0 0 -12px -6px; -} -.tooltip-bottom .tooltip-arrow-outer { - top: 0; - left: 50%; - margin: -13px 0 0 -6px; -} -.tooltip-bottom .tooltip-arrow { - top: 0; - left: 50%; - margin: -12px 0 0 -6px; -} -.tooltip { - background-color: #ffffff; - border-color: #D4D4D4; - color: #333; -} -.tooltip-right .tooltip-arrow-outer { - border-right-color: #D4D4D4; -} -.tooltip-right .tooltip-arrow { - border-right-color: #ffffff; -} -.tooltip-left .tooltip-arrow-outer { - border-left-color: #D4D4D4; -} -.tooltip-left .tooltip-arrow { - border-left-color: #ffffff; -} -.tooltip-top .tooltip-arrow-outer { - border-top-color: #D4D4D4; -} -.tooltip-top .tooltip-arrow { - border-top-color: #ffffff; -} -.tooltip-bottom .tooltip-arrow-outer { - border-bottom-color: #D4D4D4; -} -.tooltip-bottom .tooltip-arrow { - border-bottom-color: #ffffff; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tree.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tree.css deleted file mode 100644 index 87d2474..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tree.css +++ /dev/null @@ -1,164 +0,0 @@ -.tree { - margin: 0; - padding: 0; - list-style-type: none; -} -.tree li { - white-space: nowrap; -} -.tree li ul { - list-style-type: none; - margin: 0; - padding: 0; -} -.tree-node { - height: 26px; - white-space: nowrap; - cursor: pointer; -} -.tree-hit { - cursor: pointer; -} -.tree-expanded, -.tree-collapsed, -.tree-folder, -.tree-file, -.tree-checkbox, -.tree-indent { - display: inline-block; - width: 16px; - height: 18px; - margin: 4px 0; - vertical-align: middle; - overflow: hidden; -} -.tree-expanded { - background: url('images/tree_icons.png') no-repeat -18px 0px; -} -.tree-expanded-hover { - background: url('images/tree_icons.png') no-repeat -50px 0px; -} -.tree-collapsed { - background: url('images/tree_icons.png') no-repeat 0px 0px; -} -.tree-collapsed-hover { - background: url('images/tree_icons.png') no-repeat -32px 0px; -} -.tree-lines .tree-expanded, -.tree-lines .tree-root-first .tree-expanded { - background: url('images/tree_icons.png') no-repeat -144px 0; -} -.tree-lines .tree-collapsed, -.tree-lines .tree-root-first .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -128px 0; -} -.tree-lines .tree-node-last .tree-expanded, -.tree-lines .tree-root-one .tree-expanded { - background: url('images/tree_icons.png') no-repeat -80px 0; -} -.tree-lines .tree-node-last .tree-collapsed, -.tree-lines .tree-root-one .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -64px 0; -} -.tree-line { - background: url('images/tree_icons.png') no-repeat -176px 0; -} -.tree-join { - background: url('images/tree_icons.png') no-repeat -192px 0; -} -.tree-joinbottom { - background: url('images/tree_icons.png') no-repeat -160px 0; -} -.tree-folder { - background: url('images/tree_icons.png') no-repeat -208px 0; -} -.tree-folder-open { - background: url('images/tree_icons.png') no-repeat -224px 0; -} -.tree-file { - background: url('images/tree_icons.png') no-repeat -240px 0; -} -.tree-loading { - background: url('images/loading.gif') no-repeat center center; -} -.tree-checkbox0 { - background: url('images/tree_icons.png') no-repeat -208px -18px; -} -.tree-checkbox1 { - background: url('images/tree_icons.png') no-repeat -224px -18px; -} -.tree-checkbox2 { - background: url('images/tree_icons.png') no-repeat -240px -18px; -} -.tree-title { - font-size: 12px; - display: inline-block; - text-decoration: none; - vertical-align: middle; - white-space: nowrap; - padding: 0 2px; - margin: 4px 0; - height: 18px; - line-height: 18px; -} -.tree-node-proxy { - font-size: 12px; - line-height: 20px; - padding: 0 2px 0 20px; - border-width: 1px; - border-style: solid; - z-index: 9900000; -} -.tree-dnd-icon { - display: inline-block; - position: absolute; - width: 16px; - height: 18px; - left: 2px; - top: 50%; - margin-top: -9px; -} -.tree-dnd-yes { - background: url('images/tree_icons.png') no-repeat -256px 0; -} -.tree-dnd-no { - background: url('images/tree_icons.png') no-repeat -256px -18px; -} -.tree-node-top { - border-top: 1px dotted red; -} -.tree-node-bottom { - border-bottom: 1px dotted red; -} -.tree-node-append .tree-title { - border: 1px dotted red; -} -.tree-editor { - border: 1px solid #D4D4D4; - font-size: 12px; - height: 26px; - line-height: 26px; - padding: 0 4px; - margin: 0; - width: 80px; - outline-style: none; - vertical-align: middle; - position: absolute; - top: 0; -} -.tree-node-proxy { - background-color: #ffffff; - color: #333; - border-color: #D4D4D4; -} -.tree-node-hover { - background: #e6e6e6; - color: #00438a; -} -.tree-node-selected { - background: #0081c2; - color: #fff; -} -.tree-node-hidden { - display: none; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/validatebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/validatebox.css deleted file mode 100644 index 4d566de..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/validatebox.css +++ /dev/null @@ -1,13 +0,0 @@ -.inputbox { - display: inline-block; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; -} -.validatebox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; - color: #000; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/window.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/window.css deleted file mode 100644 index a544a4e..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/window.css +++ /dev/null @@ -1,188 +0,0 @@ -.window { - overflow: hidden; - padding: 5px; - border-width: 1px; - border-style: solid; -} -.window .window-header { - background: transparent; - padding: 0px 0px 6px 0px; -} -.window .window-body { - border-width: 1px; - border-style: solid; - border-top-width: 0px; -} -.window .window-body-noheader { - border-top-width: 1px; -} -.window .panel-body-nobottom { - border-bottom-width: 0; -} -.window .window-header .panel-icon, -.window .window-header .panel-tool { - top: 50%; - margin-top: -11px; -} -.window .window-header .panel-icon { - left: 1px; -} -.window .window-header .panel-tool { - right: 1px; -} -.window .window-header .panel-with-icon { - padding-left: 18px; -} -.window-proxy { - position: absolute; - overflow: hidden; -} -.window-proxy-mask { - position: absolute; - filter: alpha(opacity=5); - opacity: 0.05; -} -.window-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - filter: alpha(opacity=40); - opacity: 0.40; - font-size: 1px; - overflow: hidden; -} -.window, -.window-shadow { - position: absolute; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.window-shadow { - background: #ccc; - -moz-box-shadow: 2px 2px 3px #cccccc; - -webkit-box-shadow: 2px 2px 3px #cccccc; - box-shadow: 2px 2px 3px #cccccc; - filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); -} -.window, -.window .window-body { - border-color: #D4D4D4; -} -.window { - background-color: #F2F2F2; - background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 20%); - background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 20%); - background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 20%); - background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 20%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0); -} -.window-proxy { - border: 1px dashed #D4D4D4; -} -.window-proxy-mask, -.window-mask { - background: #ccc; -} -.window .panel-footer { - border: 1px solid #D4D4D4; - position: relative; - top: -1px; -} -.window-thinborder { - padding: 0; -} -.window-thinborder .window-header { - padding: 5px 5px 6px 5px; -} -.window-thinborder .window-body { - border-width: 0px; -} -.window-thinborder .window-footer { - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} -.window-thinborder .window-header .panel-icon, -.window-thinborder .window-header .panel-tool { - margin-top: -9px; - margin-left: 5px; - margin-right: 5px; -} -.window-noborder { - border: 0; -} -.window.panel-hleft .window-header { - padding: 0 6px 0 0; -} -.window.panel-hright .window-header { - padding: 0 0 0 6px; -} -.window.panel-hleft>.panel-header .panel-title { - top: auto; - left: 16px; -} -.window.panel-hright>.panel-header .panel-title { - top: auto; - right: 16px; -} -.window.panel-hleft>.panel-header .panel-title-up, -.window.panel-hright>.panel-header .panel-title-up { - bottom: 0; -} -.window.panel-hleft .window-body { - border-width: 1px 1px 1px 0; -} -.window.panel-hright .window-body { - border-width: 1px 0 1px 1px; -} -.window.panel-hleft .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: 0; -} -.window.panel-hright .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: auto; - right: 1px; -} -.window.panel-hleft .window-header .panel-tool, -.window.panel-hright .window-header .panel-tool { - margin-top: 0; - top: auto; - bottom: 1px; - right: auto; - margin-right: 0; - left: 50%; - margin-left: -11px; -} -.window.panel-hright .window-header .panel-tool { - left: auto; - right: 1px; -} -.window-thinborder.panel-hleft .window-header { - padding: 5px 6px 5px 5px; -} -.window-thinborder.panel-hright .window-header { - padding: 5px 5px 5px 6px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title { - left: 21px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title-up, -.window-thinborder.panel-hright>.panel-header .panel-title-up { - bottom: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-icon, -.window-thinborder.panel-hright .window-header .panel-icon { - margin-top: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-tool, -.window-thinborder.panel-hright .window-header .panel-tool { - left: 16px; - bottom: 5px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/color.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/color.css deleted file mode 100644 index bfb8ecb..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/color.css +++ /dev/null @@ -1,210 +0,0 @@ -.c1,.c1:hover,.c1>.panel-header{ - color: #fff; - border-color: #3c8b3c; - background: #4cae4c; - background: -webkit-linear-gradient(top,#4cae4c 0,#449d44 100%); - background: -moz-linear-gradient(top,#4cae4c 0,#449d44 100%); - background: -o-linear-gradient(top,#4cae4c 0,#449d44 100%); - background: linear-gradient(to bottom,#4cae4c 0,#449d44 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4cae4c,endColorstr=#449d44,GradientType=0); -} -a.c1:hover{ - background: #449d44; - filter: none; -} -.c1>.panel-body{ - border-color: #3c8b3c; -} -.c1>.dialog-toolbar,.c1>.dialog-button{ - border-left-color: #3c8b3c; - border-right-color: #3c8b3c; -} -.c1>.dialog-button{ - border-bottom-color: #3c8b3c; -} -.c2,.c2:hover,.c2>.panel-header{ - color: #fff; - border-color: #5f5f5f; - background: #747474; - background: -webkit-linear-gradient(top,#747474 0,#676767 100%); - background: -moz-linear-gradient(top,#747474 0,#676767 100%); - background: -o-linear-gradient(top,#747474 0,#676767 100%); - background: linear-gradient(to bottom,#747474 0,#676767 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#747474,endColorstr=#676767,GradientType=0); -} -a.c2:hover{ - background: #676767; - filter: none; -} -.c2>.panel-body{ - border-color: #5f5f5f; -} -.c2>.dialog-toolbar,.c2>.dialog-button{ - border-left-color: #5f5f5f; - border-right-color: #5f5f5f; -} -.c2>.dialog-button{ - border-bottom-color: #5f5f5f; -} -.c3,.c3:hover,.c3>.panel-header{ - color: #333; - border-color: #ff8080; - background: #ffb3b3; - background: -webkit-linear-gradient(top,#ffb3b3 0,#ff9999 100%); - background: -moz-linear-gradient(top,#ffb3b3 0,#ff9999 100%); - background: -o-linear-gradient(top,#ffb3b3 0,#ff9999 100%); - background: linear-gradient(to bottom,#ffb3b3 0,#ff9999 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffb3b3,endColorstr=#ff9999,GradientType=0); -} -a.c3:hover{ - background: #ff9999; - filter: none; -} -.c3>.panel-body{ - border-color: #ff8080; -} -.c3>.dialog-toolbar,.c3>.dialog-button{ - border-left-color: #ff8080; - border-right-color: #ff8080; -} -.c3>.dialog-button{ - border-bottom-color: #ff8080; -} -.c4,.c4:hover,.c4>.panel-header{ - color: #333; - border-color: #52d689; - background: #b8eecf; - background: -webkit-linear-gradient(top,#b8eecf 0,#a4e9c1 100%); - background: -moz-linear-gradient(top,#b8eecf 0,#a4e9c1 100%); - background: -o-linear-gradient(top,#b8eecf 0,#a4e9c1 100%); - background: linear-gradient(to bottom,#b8eecf 0,#a4e9c1 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#b8eecf,endColorstr=#a4e9c1,GradientType=0); -} -a.c4:hover{ - background: #a4e9c1; - filter: none; -} -.c4>.panel-body{ - border-color: #52d689; -} -.c4>.dialog-toolbar,.c4>.dialog-button{ - border-left-color: #52d689; - border-right-color: #52d689; -} -.c4>.dialog-button{ - border-bottom-color: #52d689; -} -.c5,.c5:hover,.c5>.panel-header{ - color: #fff; - border-color: #b52b27; - background: #d84f4b; - background: -webkit-linear-gradient(top,#d84f4b 0,#c9302c 100%); - background: -moz-linear-gradient(top,#d84f4b 0,#c9302c 100%); - background: -o-linear-gradient(top,#d84f4b 0,#c9302c 100%); - background: linear-gradient(to bottom,#d84f4b 0,#c9302c 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#d84f4b,endColorstr=#c9302c,GradientType=0); -} -a.c5:hover{ - background: #c9302c; - filter: none; -} -.c5>.panel-body{ - border-color: #b52b27; -} -.c5>.dialog-toolbar,.c5>.dialog-button{ - border-left-color: #b52b27; - border-right-color: #b52b27; -} -.c5>.dialog-button{ - border-bottom-color: #b52b27; -} -.c6,.c6:hover,.c6>.panel-header{ - color: #fff; - border-color: #1f637b; - background: #2984a4; - background: -webkit-linear-gradient(top,#2984a4 0,#24748f 100%); - background: -moz-linear-gradient(top,#2984a4 0,#24748f 100%); - background: -o-linear-gradient(top,#2984a4 0,#24748f 100%); - background: linear-gradient(to bottom,#2984a4 0,#24748f 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#2984a4,endColorstr=#24748f,GradientType=0); -} -a.c6:hover{ - background: #24748f; - filter: none; -} -.c6>.panel-body{ - border-color: #1f637b; -} -.c6>.dialog-toolbar,.c6>.dialog-button{ - border-left-color: #1f637b; - border-right-color: #1f637b; -} -.c6>.dialog-button{ - border-bottom-color: #1f637b; -} -.c7,.c7:hover,.c7>.panel-header{ - color: #333; - border-color: #e68900; - background: #ffab2e; - background: -webkit-linear-gradient(top,#ffab2e 0,#ff9900 100%); - background: -moz-linear-gradient(top,#ffab2e 0,#ff9900 100%); - background: -o-linear-gradient(top,#ffab2e 0,#ff9900 100%); - background: linear-gradient(to bottom,#ffab2e 0,#ff9900 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffab2e,endColorstr=#ff9900,GradientType=0); -} -a.c7:hover{ - background: #ff9900; - filter: none; -} -.c7>.panel-body{ - border-color: #e68900; -} -.c7>.dialog-toolbar,.c7>.dialog-button{ - border-left-color: #e68900; - border-right-color: #e68900; -} -.c7>.dialog-button{ - border-bottom-color: #e68900; -} -.c8,.c8:hover,.c8>.panel-header{ - color: #fff; - border-color: #4b72a4; - background: #698cba; - background: -webkit-linear-gradient(top,#698cba 0,#577eb2 100%); - background: -moz-linear-gradient(top,#698cba 0,#577eb2 100%); - background: -o-linear-gradient(top,#698cba 0,#577eb2 100%); - background: linear-gradient(to bottom,#698cba 0,#577eb2 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#698cba,endColorstr=#577eb2,GradientType=0); -} -a.c8:hover{ - background: #577eb2; - filter: none; -} -.c8>.panel-body{ - border-color: #4b72a4; -} -.c8>.dialog-toolbar,.c8>.dialog-button{ - border-left-color: #4b72a4; - border-right-color: #4b72a4; -} -.c8>.dialog-button{ - border-bottom-color: #4b72a4; -} -.c1>.panel-header>.panel-title,.c2>.panel-header>.panel-title, -.c5>.panel-header>.panel-title,.c6>.panel-header>.panel-title,.c8>.panel-header>.panel-title{ - color: #fff; -} -.c-plain{ - border-color: #fff; - background: #fff; -} -.c-plain>.panel-header, -.c-plain>.panel-body, -.c-plain>.dialog-button, -.c-plain>.dialog-toolbar{ - border-color: transparent; - background: transparent; -} -.c-raised{ - box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/accordion.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/accordion.css deleted file mode 100644 index 9d60531..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/accordion.css +++ /dev/null @@ -1,89 +0,0 @@ -.accordion { - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.accordion .accordion-header { - border-width: 0 0 1px; - cursor: pointer; -} -.accordion .accordion-body { - border-width: 0 0 1px; -} -.accordion-noborder { - border-width: 0; -} -.accordion-noborder .accordion-header { - border-width: 0 0 1px; -} -.accordion-noborder .accordion-body { - border-width: 0 0 1px; -} -.accordion-collapse { - background: url('images/accordion_arrows.png') no-repeat 0 0; -} -.accordion-expand { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.accordion { - background: #ffffff; - border-color: #95B8E7; -} -.accordion .accordion-header { - background: #E0ECFF; - filter: none; -} -.accordion .accordion-header-selected { - background: #ffe48d; -} -.accordion .accordion-header-selected .panel-title { - color: #000000; -} -.accordion .panel-last > .accordion-header { - border-bottom-color: #E0ECFF; -} -.accordion .panel-last > .accordion-body { - border-bottom-color: #ffffff; -} -.accordion .panel-last > .accordion-header-selected, -.accordion .panel-last > .accordion-header-border { - border-bottom-color: #95B8E7; -} -.accordion> .panel-hleft { - float: left; -} -.accordion> .panel-hleft>.panel-header { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft> .panel-body { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft.panel-last > .accordion-header { - border-right-color: #E0ECFF; -} -.accordion> .panel-hleft.panel-last > .accordion-body { - border-right-color: #ffffff; -} -.accordion> .panel-hleft.panel-last > .accordion-header-selected, -.accordion> .panel-hleft.panel-last > .accordion-header-border { - border-right-color: #95B8E7; -} -.accordion> .panel-hright { - float: right; -} -.accordion> .panel-hright>.panel-header { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright> .panel-body { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright.panel-last > .accordion-header { - border-left-color: #E0ECFF; -} -.accordion> .panel-hright.panel-last > .accordion-body { - border-left-color: #ffffff; -} -.accordion> .panel-hright.panel-last > .accordion-header-selected, -.accordion> .panel-hright.panel-last > .accordion-header-border { - border-left-color: #95B8E7; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/calendar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/calendar.css deleted file mode 100644 index f25a458..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/calendar.css +++ /dev/null @@ -1,203 +0,0 @@ -.calendar { - border-width: 1px; - border-style: solid; - padding: 1px; - overflow: hidden; -} -.calendar table { - table-layout: fixed; - border-collapse: separate; - font-size: 14px; - width: 100%; - height: 100%; -} -.calendar table td, -.calendar table th { - font-size: 14px; -} -.calendar-noborder { - border: 0; -} -.calendar-header { - position: relative; - height: 28px; -} -.calendar-title { - text-align: center; - height: 28px; -} -.calendar-title span { - position: relative; - display: inline-block; - top: 0px; - padding: 0 3px; - height: 28px; - line-height: 28px; - font-size: 14px; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-prevmonth, -.calendar-nextmonth, -.calendar-prevyear, -.calendar-nextyear { - position: absolute; - top: 50%; - margin-top: -8px; - width: 16px; - height: 16px; - cursor: pointer; - font-size: 1px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-prevmonth { - left: 20px; - background: url('images/calendar_arrows.png') no-repeat -16px 0; -} -.calendar-nextmonth { - right: 20px; - background: url('images/calendar_arrows.png') no-repeat -32px 0; -} -.calendar-prevyear { - left: 3px; - background: url('images/calendar_arrows.png') no-repeat 0px 0; -} -.calendar-nextyear { - right: 3px; - background: url('images/calendar_arrows.png') no-repeat -48px 0; -} -.calendar-body { - position: relative; -} -.calendar-body th, -.calendar-body td { - text-align: center; -} -.calendar-day { - border: 0; - padding: 1px; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-other-month { - opacity: 0.3; - filter: alpha(opacity=30); -} -.calendar-disabled { - opacity: 0.6; - filter: alpha(opacity=60); - cursor: default; -} -.calendar-menu { - position: absolute; - top: 0; - left: 0; - width: 180px; - height: 150px; - padding: 5px; - font-size: 14px; - display: none; - overflow: hidden; -} -.calendar-menu-year-inner { - text-align: center; - padding-bottom: 5px; -} -.calendar-menu-year { - width: 80px; - line-height: 26px; - text-align: center; - border-width: 1px; - border-style: solid; - outline-style: none; - resize: none; - margin: 0; - padding: 0; - font-weight: bold; - font-size: 14px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-menu-prev, -.calendar-menu-next { - display: inline-block; - width: 25px; - height: 28px; - vertical-align: top; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-menu-prev { - margin-right: 10px; - background: url('images/calendar_arrows.png') no-repeat 5px center; -} -.calendar-menu-next { - margin-left: 10px; - background: url('images/calendar_arrows.png') no-repeat -44px center; -} -.calendar-menu-month { - text-align: center; - cursor: pointer; - font-weight: bold; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-body th, -.calendar-menu-month { - color: #4d4d4d; -} -.calendar-day { - color: #000000; -} -.calendar-sunday { - color: #CC2222; -} -.calendar-saturday { - color: #00ee00; -} -.calendar-today { - color: #0000ff; -} -.calendar-menu-year { - border-color: #95B8E7; -} -.calendar { - border-color: #95B8E7; -} -.calendar-header { - background: #E0ECFF; -} -.calendar-body, -.calendar-menu { - background: #ffffff; -} -.calendar-body th { - background: #F4F4F4; - padding: 4px 0; -} -.calendar-hover, -.calendar-nav-hover, -.calendar-menu-hover { - background-color: #eaf2ff; - color: #000000; -} -.calendar-hover { - border: 1px solid #b7d2ff; - padding: 0; -} -.calendar-selected { - background-color: #ffe48d; - color: #000000; - border: 1px solid #ffab3f; - padding: 0; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/checkbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/checkbox.css deleted file mode 100644 index 61c5351..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/checkbox.css +++ /dev/null @@ -1,31 +0,0 @@ -.checkbox { - position: relative; - border: 2px solid #ffab3f; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.checkbox-checked { - border: 0; - background: #ffab3f; -} -.checkbox-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; -} -.checkbox path { - stroke-width: 2px; -} -.checkbox-disabled { - opacity: 0.6; -} -.checkbox-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/combo.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/combo.css deleted file mode 100644 index a516386..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/combo.css +++ /dev/null @@ -1,35 +0,0 @@ -.combo-arrow { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.combo-arrow-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.combo-panel { - overflow: auto; -} -.combo-arrow { - background: url('images/combo_arrow.png') no-repeat center center; -} -.combo-panel { - background-color: #ffffff; -} -.combo-arrow { - background-color: #E0ECFF; -} -.combo-arrow-hover { - background-color: #eaf2ff; -} -.combo-arrow:hover { - background-color: #eaf2ff; -} -.combo .textbox-icon-disabled:hover { - cursor: default; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/combobox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/combobox.css deleted file mode 100644 index c315199..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/combobox.css +++ /dev/null @@ -1,40 +0,0 @@ -.combobox-item, -.combobox-group, -.combobox-stick { - font-size: 14px; - padding: 6px 4px; - line-height: 20px; -} -.combobox-item-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.combobox-gitem { - padding-left: 10px; -} -.combobox-group, -.combobox-stick { - font-weight: bold; -} -.combobox-stick { - position: absolute; - top: 1px; - left: 1px; - right: 1px; - background: inherit; -} -.combobox-item-hover { - background-color: #eaf2ff; - color: #000000; -} -.combobox-item-selected { - background-color: #ffe48d; - color: #000000; -} -.combobox-icon { - display: inline-block; - width: 16px; - height: 16px; - vertical-align: middle; - margin-right: 2px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/datagrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/datagrid.css deleted file mode 100644 index f86aa14..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/datagrid.css +++ /dev/null @@ -1,291 +0,0 @@ -.datagrid .panel-body { - overflow: hidden; - position: relative; -} -.datagrid-view { - position: relative; - overflow: hidden; -} -.datagrid-view1, -.datagrid-view2 { - position: absolute; - overflow: hidden; - top: 0; -} -.datagrid-view1 { - left: 0; -} -.datagrid-view2 { - right: 0; -} -.datagrid-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0.3; - filter: alpha(opacity=30); - display: none; -} -.datagrid-mask-msg { - position: absolute; - top: 50%; - margin-top: -20px; - padding: 10px 5px 10px 30px; - width: auto; - height: 16px; - border-width: 2px; - border-style: solid; - display: none; -} -.datagrid-empty { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 25px; - line-height: 25px; - text-align: center; -} -.datagrid-sort-icon { - padding: 0; - display: none; -} -.datagrid-toolbar { - height: auto; - padding: 1px 2px; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-btn-separator { - float: left; - height: 24px; - border-left: 1px solid #ccc; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.datagrid .datagrid-pager { - display: block; - margin: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.datagrid .datagrid-pager-top { - border-width: 0 0 1px 0; -} -.datagrid-header { - overflow: hidden; - cursor: default; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-header-inner { - float: left; - width: 10000px; -} -.datagrid-header-row, -.datagrid-row { - height: 32px; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-width: 0 1px 1px 0; - border-style: dotted; - margin: 0; - padding: 0; -} -.datagrid-cell, -.datagrid-cell-group, -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - margin: 0; - padding: 0 4px; - white-space: nowrap; - word-wrap: normal; - overflow: hidden; - height: 18px; - line-height: 18px; - font-size: 14px; -} -.datagrid-header .datagrid-cell { - height: auto; -} -.datagrid-header .datagrid-cell span { - font-size: 14px; -} -.datagrid-cell-group { - text-align: center; - text-overflow: ellipsis; -} -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - width: 30px; - text-align: center; - margin: 0; - padding: 0; -} -.datagrid-body { - margin: 0; - padding: 0; - overflow: auto; - zoom: 1; -} -.datagrid-view1 .datagrid-body-inner { - padding-bottom: 20px; -} -.datagrid-view1 .datagrid-body { - overflow: hidden; -} -.datagrid-footer { - overflow: hidden; -} -.datagrid-footer-inner { - border-width: 1px 0 0 0; - border-style: solid; - width: 10000px; - float: left; -} -.datagrid-row-editing .datagrid-cell { - height: auto; -} -.datagrid-header-check, -.datagrid-cell-check { - padding: 0; - width: 27px; - height: 18px; - font-size: 1px; - text-align: center; - overflow: hidden; -} -.datagrid-header-check input, -.datagrid-cell-check input { - margin: 0; - padding: 0; - width: 15px; - height: 18px; -} -.datagrid-resize-proxy { - position: absolute; - width: 1px; - height: 10000px; - top: 0; - cursor: e-resize; - display: none; -} -.datagrid-body .datagrid-editable { - margin: 0; - padding: 0; -} -.datagrid-body .datagrid-editable table { - width: 100%; - height: 100%; -} -.datagrid-body .datagrid-editable td { - border: 0; - margin: 0; - padding: 0; -} -.datagrid-view .datagrid-editable-input { - margin: 0; - padding: 2px 4px; - border: 1px solid #95B8E7; - font-size: 14px; - outline-style: none; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-view .validatebox-invalid { - border-color: #ffa8a8; -} -.datagrid-sort .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -64px center; -} -.datagrid-sort-desc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -16px center; -} -.datagrid-sort-asc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat 0px center; -} -.datagrid-row-collapse { - background: url('images/datagrid_icons.png') no-repeat -48px center; -} -.datagrid-row-expand { - background: url('images/datagrid_icons.png') no-repeat -32px center; -} -.datagrid-mask-msg { - background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; -} -.datagrid-header, -.datagrid-td-rownumber { - background-color: #efefef; - background: -webkit-linear-gradient(top,#F9F9F9 0,#efefef 100%); - background: -moz-linear-gradient(top,#F9F9F9 0,#efefef 100%); - background: -o-linear-gradient(top,#F9F9F9 0,#efefef 100%); - background: linear-gradient(to bottom,#F9F9F9 0,#efefef 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F9F9F9,endColorstr=#efefef,GradientType=0); -} -.datagrid-cell-rownumber { - color: #000000; -} -.datagrid-resize-proxy { - background: #aac5e7; -} -.datagrid-mask { - background: #ccc; -} -.datagrid-mask-msg { - border-color: #95B8E7; -} -.datagrid-toolbar, -.datagrid-pager { - background: #F4F4F4; -} -.datagrid-header, -.datagrid-toolbar, -.datagrid-pager, -.datagrid-footer-inner { - border-color: #dddddd; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-color: #ccc; -} -.datagrid-htable, -.datagrid-btable, -.datagrid-ftable { - color: #000000; - border-collapse: separate; -} -.datagrid-row-alt { - background: #fafafa; -} -.datagrid-row-over, -.datagrid-header td.datagrid-header-over { - background: #eaf2ff; - color: #000000; - cursor: default; -} -.datagrid-row-selected { - background: #ffe48d; - color: #000000; -} -.datagrid-row-editing .textbox, -.datagrid-row-editing .textbox-text { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-header .datagrid-filter-row td.datagrid-header-over { - background: inherit; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/datalist.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/datalist.css deleted file mode 100644 index eedd25b..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/datalist.css +++ /dev/null @@ -1,95 +0,0 @@ -.datalist .datagrid-header { - border-width: 0; -} -.datalist .datagrid-group, -.m-list .m-list-group { - height: 25px; - line-height: 25px; - font-weight: bold; - overflow: hidden; - background-color: #efefef; - border-style: solid; - border-width: 0 0 1px 0; - border-color: #ccc; -} -.datalist .datagrid-group-expander { - display: none; -} -.datalist .datagrid-group-title { - padding: 0 4px; -} -.datalist .datagrid-btable { - width: 100%; - table-layout: fixed; -} -.datalist .datagrid-row td { - border-style: solid; - border-left-color: transparent; - border-right-color: transparent; - border-bottom-width: 0; -} -.datalist-lines .datagrid-row td { - border-bottom-width: 1px; -} -.datalist .datagrid-cell, -.m-list li { - width: auto; - height: auto; - padding: 2px 4px; - line-height: 18px; - position: relative; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link, -.m-list li>a { - display: block; - position: relative; - cursor: pointer; - color: #000000; - text-decoration: none; - overflow: hidden; - margin: -2px -4px; - padding: 2px 4px; - padding-right: 16px; - line-height: 18px; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link::after, -.m-list li>a::after { - position: absolute; - display: block; - width: 8px; - height: 8px; - content: ''; - right: 6px; - top: 50%; - margin-top: -4px; - border-style: solid; - border-width: 1px 1px 0 0; - -ms-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -webkit-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); -} -.m-list { - margin: 0; - padding: 0; - list-style: none; -} -.m-list li { - border-style: solid; - border-width: 0 0 1px 0; - border-color: #ccc; -} -.m-list li>a:hover { - background: #eaf2ff; - color: #000000; -} -.m-list .m-list-group { - padding: 0 4px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/datebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/datebox.css deleted file mode 100644 index 61093f0..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/datebox.css +++ /dev/null @@ -1,36 +0,0 @@ -.datebox-calendar-inner { - height: 250px; -} -.datebox-button { - padding: 4px 0; - text-align: center; -} -.datebox-button a { - line-height: 22px; - font-size: 14px; - font-weight: bold; - text-decoration: none; - opacity: 0.6; - filter: alpha(opacity=60); -} -.datebox-button a:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.datebox-current, -.datebox-close { - float: left; -} -.datebox-close { - float: right; -} -.datebox .combo-arrow { - background-image: url('images/datebox_arrow.png'); - background-position: center center; -} -.datebox-button { - background-color: #F4F4F4; -} -.datebox-button a { - color: #444; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/dialog.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/dialog.css deleted file mode 100644 index ff55387..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/dialog.css +++ /dev/null @@ -1,47 +0,0 @@ -.dialog-content { - overflow: auto; -} -.dialog-toolbar { - position: relative; - padding: 2px 5px; -} -.dialog-tool-separator { - float: left; - height: 24px; - border-left: 1px solid #ccc; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.dialog-button { - position: relative; - top: -1px; - padding: 5px; - text-align: right; -} -.dialog-button .l-btn { - margin-left: 5px; -} -.dialog-toolbar, -.dialog-button { - background: #F4F4F4; - border-width: 1px; - border-style: solid; -} -.dialog-toolbar { - border-color: #95B8E7 #95B8E7 #dddddd #95B8E7; -} -.dialog-button { - border-color: #dddddd #95B8E7 #95B8E7 #95B8E7; -} -.window-thinborder .dialog-toolbar { - border-left: transparent; - border-right: transparent; - border-top-color: #F4F4F4; -} -.window-thinborder .dialog-button { - top: 0px; - padding: 5px 8px 8px 8px; - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/easyui.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/easyui.css deleted file mode 100644 index b864948..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/easyui.css +++ /dev/null @@ -1,3438 +0,0 @@ -.panel { - overflow: hidden; - text-align: left; - margin: 0; - border: 0; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.panel-header, -.panel-body { - border-width: 1px; - border-style: solid; -} -.panel-header { - padding: 5px; - position: relative; -} -.panel-title { - background: url('images/blank.gif') no-repeat; -} -.panel-header-noborder { - border-width: 0 0 1px 0; -} -.panel-body { - overflow: auto; - border-top-width: 0; - padding: 0; -} -.panel-body-noheader { - border-top-width: 1px; -} -.panel-body-noborder { - border-width: 0px; -} -.panel-body-nobottom { - border-bottom-width: 0; -} -.panel-with-icon { - padding-left: 18px; -} -.panel-icon, -.panel-tool { - position: absolute; - top: 50%; - margin-top: -8px; - height: 16px; - overflow: hidden; -} -.panel-icon { - left: 5px; - width: 16px; -} -.panel-tool { - right: 5px; - width: auto; -} -.panel-tool a { - display: inline-block; - width: 16px; - height: 16px; - opacity: 0.6; - filter: alpha(opacity=60); - margin: 0 0 0 2px; - vertical-align: top; -} -.panel-tool a:hover { - opacity: 1; - filter: alpha(opacity=100); - background-color: #eaf2ff; - -moz-border-radius: 3px 3px 3px 3px; - -webkit-border-radius: 3px 3px 3px 3px; - border-radius: 3px 3px 3px 3px; -} -.panel-loading { - padding: 11px 0px 10px 30px; -} -.panel-noscroll { - overflow: hidden; -} -.panel-fit, -.panel-fit body { - height: 100%; - margin: 0; - padding: 0; - border: 0; - overflow: hidden; -} -.panel-loading { - background: url('images/loading.gif') no-repeat 10px 10px; -} -.panel-tool-close { - background: url('images/panel_tools.png') no-repeat -16px 0px; -} -.panel-tool-min { - background: url('images/panel_tools.png') no-repeat 0px 0px; -} -.panel-tool-max { - background: url('images/panel_tools.png') no-repeat 0px -16px; -} -.panel-tool-restore { - background: url('images/panel_tools.png') no-repeat -16px -16px; -} -.panel-tool-collapse { - background: url('images/panel_tools.png') no-repeat -32px 0; -} -.panel-tool-expand { - background: url('images/panel_tools.png') no-repeat -32px -16px; -} -.panel-header, -.panel-body { - border-color: #95B8E7; -} -.panel-header { - background-color: #E0ECFF; - background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); - background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); - background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); - background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0); -} -.panel-body { - background-color: #ffffff; - color: #000000; - font-size: 14px; -} -.panel-title { - font-size: 14px; - font-weight: bold; - color: #0E2D5F; - height: 20px; - line-height: 20px; -} -.panel-footer { - border: 1px solid #95B8E7; - overflow: hidden; - background: #F4F4F4; -} -.panel-footer-noborder { - border-width: 1px 0 0 0; -} -.panel-hleft, -.panel-hright { - position: relative; -} -.panel-hleft>.panel-body, -.panel-hright>.panel-body { - position: absolute; -} -.panel-hleft>.panel-header { - float: left; -} -.panel-hright>.panel-header { - float: right; -} -.panel-hleft>.panel-body { - border-top-width: 1px; - border-left-width: 0; -} -.panel-hright>.panel-body { - border-top-width: 1px; - border-right-width: 0; -} -.panel-hleft>.panel-body-nobottom { - border-bottom-width: 1px; - border-right-width: 0; -} -.panel-hright>.panel-body-nobottom { - border-bottom-width: 1px; - border-left-width: 0; -} -.panel-hleft>.panel-footer { - position: absolute; - right: 0; -} -.panel-hright>.panel-footer { - position: absolute; - left: 0; -} -.panel-hleft>.panel-header-noborder { - border-width: 0 1px 0 0; -} -.panel-hright>.panel-header-noborder { - border-width: 0 0 0 1px; -} -.panel-hleft>.panel-body-noborder { - border-width: 0; -} -.panel-hright>.panel-body-noborder { - border-width: 0; -} -.panel-hleft>.panel-body-noheader { - border-left-width: 1px; -} -.panel-hright>.panel-body-noheader { - border-right-width: 1px; -} -.panel-hleft>.panel-footer-noborder { - border-width: 0 0 0 1px; -} -.panel-hright>.panel-footer-noborder { - border-width: 0 1px 0 0; -} -.panel-hleft>.panel-header .panel-icon, -.panel-hright>.panel-header .panel-icon { - margin-top: 0; - top: 5px; - left: 50%; - margin-left: -8px; -} -.panel-hleft>.panel-header .panel-title, -.panel-hright>.panel-header .panel-title { - position: absolute; - min-width: 16px; - left: 25px; - top: 5px; - bottom: auto; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(90deg); - -o-transform-origin: 0 0; - transform: rotate(90deg); - transform-origin: 0 0; -} -.panel-hleft>.panel-header .panel-title-up, -.panel-hright>.panel-header .panel-title-up { - position: absolute; - min-width: 16px; - left: 21px; - top: auto; - bottom: 0px; - text-align: right; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(-90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(-90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(-90deg); - -o-transform-origin: 0 0; - transform: rotate(-90deg); - transform-origin: 0 16px; -} -.panel-hleft>.panel-header .panel-with-icon.panel-title-up, -.panel-hright>.panel-header .panel-with-icon.panel-title-up { - padding-left: 0; - padding-right: 18px; -} -.panel-hleft>.panel-header .panel-tool, -.panel-hright>.panel-header .panel-tool { - top: auto; - bottom: 5px; - width: 16px; - height: auto; - left: 50%; - margin-left: -8px; - margin-top: 0; -} -.panel-hleft>.panel-header .panel-tool a, -.panel-hright>.panel-header .panel-tool a { - margin: 2px 0 0 0; -} -.accordion { - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.accordion .accordion-header { - border-width: 0 0 1px; - cursor: pointer; -} -.accordion .accordion-body { - border-width: 0 0 1px; -} -.accordion-noborder { - border-width: 0; -} -.accordion-noborder .accordion-header { - border-width: 0 0 1px; -} -.accordion-noborder .accordion-body { - border-width: 0 0 1px; -} -.accordion-collapse { - background: url('images/accordion_arrows.png') no-repeat 0 0; -} -.accordion-expand { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.accordion { - background: #ffffff; - border-color: #95B8E7; -} -.accordion .accordion-header { - background: #E0ECFF; - filter: none; -} -.accordion .accordion-header-selected { - background: #ffe48d; -} -.accordion .accordion-header-selected .panel-title { - color: #000000; -} -.accordion .panel-last > .accordion-header { - border-bottom-color: #E0ECFF; -} -.accordion .panel-last > .accordion-body { - border-bottom-color: #ffffff; -} -.accordion .panel-last > .accordion-header-selected, -.accordion .panel-last > .accordion-header-border { - border-bottom-color: #95B8E7; -} -.accordion> .panel-hleft { - float: left; -} -.accordion> .panel-hleft>.panel-header { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft> .panel-body { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft.panel-last > .accordion-header { - border-right-color: #E0ECFF; -} -.accordion> .panel-hleft.panel-last > .accordion-body { - border-right-color: #ffffff; -} -.accordion> .panel-hleft.panel-last > .accordion-header-selected, -.accordion> .panel-hleft.panel-last > .accordion-header-border { - border-right-color: #95B8E7; -} -.accordion> .panel-hright { - float: right; -} -.accordion> .panel-hright>.panel-header { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright> .panel-body { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright.panel-last > .accordion-header { - border-left-color: #E0ECFF; -} -.accordion> .panel-hright.panel-last > .accordion-body { - border-left-color: #ffffff; -} -.accordion> .panel-hright.panel-last > .accordion-header-selected, -.accordion> .panel-hright.panel-last > .accordion-header-border { - border-left-color: #95B8E7; -} -.window { - overflow: hidden; - padding: 5px; - border-width: 1px; - border-style: solid; -} -.window .window-header { - background: transparent; - padding: 0px 0px 6px 0px; -} -.window .window-body { - border-width: 1px; - border-style: solid; - border-top-width: 0px; -} -.window .window-body-noheader { - border-top-width: 1px; -} -.window .panel-body-nobottom { - border-bottom-width: 0; -} -.window .window-header .panel-icon, -.window .window-header .panel-tool { - top: 50%; - margin-top: -11px; -} -.window .window-header .panel-icon { - left: 1px; -} -.window .window-header .panel-tool { - right: 1px; -} -.window .window-header .panel-with-icon { - padding-left: 18px; -} -.window-proxy { - position: absolute; - overflow: hidden; -} -.window-proxy-mask { - position: absolute; - filter: alpha(opacity=5); - opacity: 0.05; -} -.window-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - filter: alpha(opacity=40); - opacity: 0.40; - font-size: 1px; - overflow: hidden; -} -.window, -.window-shadow { - position: absolute; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.window-shadow { - background: #ccc; - -moz-box-shadow: 2px 2px 3px #cccccc; - -webkit-box-shadow: 2px 2px 3px #cccccc; - box-shadow: 2px 2px 3px #cccccc; - filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); -} -.window, -.window .window-body { - border-color: #95B8E7; -} -.window { - background-color: #E0ECFF; - background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%); - background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%); - background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%); - background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 20%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0); -} -.window-proxy { - border: 1px dashed #95B8E7; -} -.window-proxy-mask, -.window-mask { - background: #ccc; -} -.window .panel-footer { - border: 1px solid #95B8E7; - position: relative; - top: -1px; -} -.window-thinborder { - padding: 0; -} -.window-thinborder .window-header { - padding: 5px 5px 6px 5px; -} -.window-thinborder .window-body { - border-width: 0px; -} -.window-thinborder .window-footer { - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} -.window-thinborder .window-header .panel-icon, -.window-thinborder .window-header .panel-tool { - margin-top: -9px; - margin-left: 5px; - margin-right: 5px; -} -.window-noborder { - border: 0; -} -.window.panel-hleft .window-header { - padding: 0 6px 0 0; -} -.window.panel-hright .window-header { - padding: 0 0 0 6px; -} -.window.panel-hleft>.panel-header .panel-title { - top: auto; - left: 16px; -} -.window.panel-hright>.panel-header .panel-title { - top: auto; - right: 16px; -} -.window.panel-hleft>.panel-header .panel-title-up, -.window.panel-hright>.panel-header .panel-title-up { - bottom: 0; -} -.window.panel-hleft .window-body { - border-width: 1px 1px 1px 0; -} -.window.panel-hright .window-body { - border-width: 1px 0 1px 1px; -} -.window.panel-hleft .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: 0; -} -.window.panel-hright .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: auto; - right: 1px; -} -.window.panel-hleft .window-header .panel-tool, -.window.panel-hright .window-header .panel-tool { - margin-top: 0; - top: auto; - bottom: 1px; - right: auto; - margin-right: 0; - left: 50%; - margin-left: -11px; -} -.window.panel-hright .window-header .panel-tool { - left: auto; - right: 1px; -} -.window-thinborder.panel-hleft .window-header { - padding: 5px 6px 5px 5px; -} -.window-thinborder.panel-hright .window-header { - padding: 5px 5px 5px 6px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title { - left: 21px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title-up, -.window-thinborder.panel-hright>.panel-header .panel-title-up { - bottom: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-icon, -.window-thinborder.panel-hright .window-header .panel-icon { - margin-top: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-tool, -.window-thinborder.panel-hright .window-header .panel-tool { - left: 16px; - bottom: 5px; -} -.dialog-content { - overflow: auto; -} -.dialog-toolbar { - position: relative; - padding: 2px 5px; -} -.dialog-tool-separator { - float: left; - height: 24px; - border-left: 1px solid #ccc; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.dialog-button { - position: relative; - top: -1px; - padding: 5px; - text-align: right; -} -.dialog-button .l-btn { - margin-left: 5px; -} -.dialog-toolbar, -.dialog-button { - background: #F4F4F4; - border-width: 1px; - border-style: solid; -} -.dialog-toolbar { - border-color: #95B8E7 #95B8E7 #dddddd #95B8E7; -} -.dialog-button { - border-color: #dddddd #95B8E7 #95B8E7 #95B8E7; -} -.window-thinborder .dialog-toolbar { - border-left: transparent; - border-right: transparent; - border-top-color: #F4F4F4; -} -.window-thinborder .dialog-button { - top: 0px; - padding: 5px 8px 8px 8px; - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} -.l-btn { - text-decoration: none; - display: inline-block; - overflow: hidden; - margin: 0; - padding: 0; - cursor: pointer; - outline: none; - text-align: center; - vertical-align: middle; - line-height: normal; -} -.l-btn-plain { - border-width: 0; - padding: 1px; -} -.l-btn-left { - display: inline-block; - position: relative; - overflow: hidden; - margin: 0; - padding: 0; - vertical-align: top; -} -.l-btn-text { - display: inline-block; - vertical-align: top; - width: auto; - line-height: 28px; - font-size: 14px; - padding: 0; - margin: 0 6px; -} -.l-btn-icon { - display: inline-block; - width: 16px; - height: 16px; - line-height: 16px; - position: absolute; - top: 50%; - margin-top: -8px; - font-size: 1px; -} -.l-btn span span .l-btn-empty { - display: inline-block; - margin: 0; - width: 16px; - height: 24px; - font-size: 1px; - vertical-align: top; -} -.l-btn span .l-btn-icon-left { - padding: 0 0 0 20px; - background-position: left center; -} -.l-btn span .l-btn-icon-right { - padding: 0 20px 0 0; - background-position: right center; -} -.l-btn-icon-left .l-btn-text { - margin: 0 6px 0 26px; -} -.l-btn-icon-left .l-btn-icon { - left: 6px; -} -.l-btn-icon-right .l-btn-text { - margin: 0 26px 0 6px; -} -.l-btn-icon-right .l-btn-icon { - right: 6px; -} -.l-btn-icon-top .l-btn-text { - margin: 20px 4px 0 4px; -} -.l-btn-icon-top .l-btn-icon { - top: 4px; - left: 50%; - margin: 0 0 0 -8px; -} -.l-btn-icon-bottom .l-btn-text { - margin: 0 4px 20px 4px; -} -.l-btn-icon-bottom .l-btn-icon { - top: auto; - bottom: 4px; - left: 50%; - margin: 0 0 0 -8px; -} -.l-btn-left .l-btn-empty { - margin: 0 6px; - width: 16px; -} -.l-btn-plain:hover { - padding: 0; -} -.l-btn-focus { - outline: #0000FF dotted thin; -} -.l-btn-large .l-btn-text { - line-height: 44px; -} -.l-btn-large .l-btn-icon { - width: 32px; - height: 32px; - line-height: 32px; - margin-top: -16px; -} -.l-btn-large .l-btn-icon-left .l-btn-text { - margin-left: 40px; -} -.l-btn-large .l-btn-icon-right .l-btn-text { - margin-right: 40px; -} -.l-btn-large .l-btn-icon-top .l-btn-text { - margin-top: 36px; - line-height: 24px; - min-width: 32px; -} -.l-btn-large .l-btn-icon-top .l-btn-icon { - margin: 0 0 0 -16px; -} -.l-btn-large .l-btn-icon-bottom .l-btn-text { - margin-bottom: 36px; - line-height: 24px; - min-width: 32px; -} -.l-btn-large .l-btn-icon-bottom .l-btn-icon { - margin: 0 0 0 -16px; -} -.l-btn-large .l-btn-left .l-btn-empty { - margin: 0 6px; - width: 32px; -} -.l-btn { - color: #444; - background: #fafafa; - background-repeat: repeat-x; - border: 1px solid #bbb; - background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%); - background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%); - background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%); - background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0); - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.l-btn:hover { - background: #eaf2ff; - color: #000000; - border: 1px solid #b7d2ff; - filter: none; -} -.l-btn-plain { - background: transparent; - border-width: 0; - filter: none; -} -.l-btn-outline { - border-width: 1px; - border-color: #b7d2ff; - padding: 0; -} -.l-btn-plain:hover { - background: #eaf2ff; - color: #000000; - border: 1px solid #b7d2ff; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.l-btn-disabled, -.l-btn-disabled:hover { - opacity: 0.5; - cursor: default; - background: #fafafa; - color: #444; - background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%); - background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%); - background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%); - background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0); -} -.l-btn-disabled .l-btn-text, -.l-btn-disabled .l-btn-icon { - filter: alpha(opacity=50); -} -.l-btn-plain-disabled, -.l-btn-plain-disabled:hover { - background: transparent; - filter: alpha(opacity=50); -} -.l-btn-selected, -.l-btn-selected:hover { - background: #ddd; - filter: none; -} -.l-btn-plain-selected, -.l-btn-plain-selected:hover { - background: #ddd; -} -.textbox { - position: relative; - border: 1px solid #95B8E7; - background-color: #fff; - vertical-align: middle; - display: inline-block; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.textbox .textbox-text { - font-size: 14px; - border: 0; - margin: 0; - padding: 0 4px; - white-space: normal; - vertical-align: top; - outline-style: none; - resize: none; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - height: 28px; - line-height: 28px; -} -.textbox textarea.textbox-text { - line-height: normal; -} -.textbox .textbox-text::-ms-clear, -.textbox .textbox-text::-ms-reveal { - display: none; -} -.textbox textarea.textbox-text { - white-space: pre-wrap; -} -.textbox .textbox-prompt { - font-size: 14px; - color: #aaa; -} -.textbox .textbox-bgicon { - background-position: 3px center; - padding-left: 21px; -} -.textbox .textbox-button, -.textbox .textbox-button:hover { - position: absolute; - top: 0; - padding: 0; - vertical-align: top; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.textbox .textbox-button-right, -.textbox .textbox-button-right:hover { - right: 0; - border-width: 0 0 0 1px; -} -.textbox .textbox-button-left, -.textbox .textbox-button-left:hover { - left: 0; - border-width: 0 1px 0 0; -} -.textbox .textbox-button-top, -.textbox .textbox-button-top:hover { - left: 0; - border-width: 0 0 1px 0; -} -.textbox .textbox-button-bottom, -.textbox .textbox-button-bottom:hover { - top: auto; - bottom: 0; - left: 0; - border-width: 1px 0 0 0; -} -.textbox-addon { - position: absolute; - top: 0; -} -.textbox-label { - display: inline-block; - width: 80px; - height: 30px; - line-height: 30px; - vertical-align: middle; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - margin: 0; - padding-right: 5px; -} -.textbox-label-after { - padding-left: 5px; - padding-right: 0; -} -.textbox-label-top { - display: block; - width: auto; - padding: 0; -} -.textbox-disabled, -.textbox-label-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-icon { - display: inline-block; - width: 18px; - height: 20px; - overflow: hidden; - vertical-align: top; - background-position: center center; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); - text-decoration: none; - outline-style: none; -} -.textbox-icon-disabled, -.textbox-icon-readonly { - cursor: default; -} -.textbox-icon:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.textbox-icon-disabled:hover { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-focused { - border-color: #6b9cde; - -moz-box-shadow: 0 0 3px 0 #95B8E7; - -webkit-box-shadow: 0 0 3px 0 #95B8E7; - box-shadow: 0 0 3px 0 #95B8E7; -} -.textbox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; -} -.passwordbox-open { - background: url('images/passwordbox_open.png') no-repeat center center; -} -.passwordbox-close { - background: url('images/passwordbox_close.png') no-repeat center center; -} -.filebox .textbox-value { - vertical-align: top; - position: absolute; - top: 0; - left: -5000px; -} -.filebox-label { - display: inline-block; - position: absolute; - width: 100%; - height: 100%; - cursor: pointer; - left: 0; - top: 0; - z-index: 10; - background: url('images/blank.gif') no-repeat; -} -.l-btn-disabled .filebox-label { - cursor: default; -} -.combo-arrow { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.combo-arrow-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.combo-panel { - overflow: auto; -} -.combo-arrow { - background: url('images/combo_arrow.png') no-repeat center center; -} -.combo-panel { - background-color: #ffffff; -} -.combo-arrow { - background-color: #E0ECFF; -} -.combo-arrow-hover { - background-color: #eaf2ff; -} -.combo-arrow:hover { - background-color: #eaf2ff; -} -.combo .textbox-icon-disabled:hover { - cursor: default; -} -.combobox-item, -.combobox-group, -.combobox-stick { - font-size: 14px; - padding: 6px 4px; - line-height: 20px; -} -.combobox-item-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.combobox-gitem { - padding-left: 10px; -} -.combobox-group, -.combobox-stick { - font-weight: bold; -} -.combobox-stick { - position: absolute; - top: 1px; - left: 1px; - right: 1px; - background: inherit; -} -.combobox-item-hover { - background-color: #eaf2ff; - color: #000000; -} -.combobox-item-selected { - background-color: #ffe48d; - color: #000000; -} -.combobox-icon { - display: inline-block; - width: 16px; - height: 16px; - vertical-align: middle; - margin-right: 2px; -} -.tagbox { - cursor: text; -} -.tagbox .textbox-text { - float: left; -} -.tagbox-label { - position: relative; - display: block; - margin: 4px 0 0 4px; - padding: 0 20px 0 4px; - float: left; - vertical-align: top; - text-decoration: none; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - background: #eaf2ff; - color: #000000; -} -.tagbox-remove { - background: url('images/tagbox_icons.png') no-repeat -16px center; - position: absolute; - display: block; - width: 16px; - height: 16px; - right: 2px; - top: 50%; - margin-top: -8px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tagbox-remove:hover { - opacity: 1; - filter: alpha(opacity=100); -} -.textbox-disabled .tagbox-label { - cursor: default; -} -.textbox-disabled .tagbox-remove:hover { - cursor: default; - opacity: 0.6; - filter: alpha(opacity=60); -} -.layout { - position: relative; - overflow: hidden; - margin: 0; - padding: 0; - z-index: 0; -} -.layout-panel { - position: absolute; - overflow: hidden; -} -.layout-body { - min-width: 1px; - min-height: 1px; -} -.layout-panel-east, -.layout-panel-west { - z-index: 2; -} -.layout-panel-north, -.layout-panel-south { - z-index: 3; -} -.layout-expand { - position: absolute; - padding: 0px; - font-size: 1px; - cursor: pointer; - z-index: 1; -} -.layout-expand .panel-header, -.layout-expand .panel-body { - background: transparent; - filter: none; - overflow: hidden; -} -.layout-expand .panel-header { - border-bottom-width: 0px; -} -.layout-expand .panel-body { - position: relative; -} -.layout-expand .panel-body .panel-icon { - margin-top: 0; - top: 0; - left: 50%; - margin-left: -8px; -} -.layout-expand-west .panel-header .panel-icon, -.layout-expand-east .panel-header .panel-icon { - display: none; -} -.layout-expand-title { - position: absolute; - top: 0; - left: 21px; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(90deg); - -o-transform-origin: 0 0; - transform: rotate(90deg); - transform-origin: 0 0; -} -.layout-expand-title-up { - position: absolute; - top: 0; - left: 0; - text-align: right; - padding-left: 5px; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(-90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(-90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(-90deg); - -o-transform-origin: 0 0; - transform: rotate(-90deg); - transform-origin: 0 0; -} -.layout-expand-with-icon { - top: 18px; -} -.layout-expand .panel-body-noheader .layout-expand-title, -.layout-expand .panel-body-noheader .panel-icon { - top: 5px; -} -.layout-expand .panel-body-noheader .layout-expand-with-icon { - top: 23px; -} -.layout-split-proxy-h, -.layout-split-proxy-v { - position: absolute; - font-size: 1px; - display: none; - z-index: 5; -} -.layout-split-proxy-h { - width: 5px; - cursor: e-resize; -} -.layout-split-proxy-v { - height: 5px; - cursor: n-resize; -} -.layout-mask { - position: absolute; - background: #fafafa; - filter: alpha(opacity=10); - opacity: 0.10; - z-index: 4; -} -.layout-button-up { - background: url('images/layout_arrows.png') no-repeat -16px -16px; -} -.layout-button-down { - background: url('images/layout_arrows.png') no-repeat -16px 0; -} -.layout-button-left { - background: url('images/layout_arrows.png') no-repeat 0 0; -} -.layout-button-right { - background: url('images/layout_arrows.png') no-repeat 0 -16px; -} -.layout-split-proxy-h, -.layout-split-proxy-v { - background-color: #aac5e7; -} -.layout-split-north { - border-bottom: 5px solid #E6EEF8; -} -.layout-split-south { - border-top: 5px solid #E6EEF8; -} -.layout-split-east { - border-left: 5px solid #E6EEF8; -} -.layout-split-west { - border-right: 5px solid #E6EEF8; -} -.layout-expand { - background-color: #E0ECFF; -} -.layout-expand-over { - background-color: #E0ECFF; -} -.tabs-container { - overflow: hidden; -} -.tabs-header { - border-width: 1px; - border-style: solid; - border-bottom-width: 0; - position: relative; - padding: 0; - padding-top: 2px; - overflow: hidden; -} -.tabs-scroller-left, -.tabs-scroller-right { - position: absolute; - top: auto; - bottom: 0; - width: 18px; - font-size: 1px; - display: none; - cursor: pointer; - border-width: 1px; - border-style: solid; -} -.tabs-scroller-left { - left: 0; -} -.tabs-scroller-right { - right: 0; -} -.tabs-tool { - position: absolute; - bottom: 0; - padding: 1px; - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.tabs-header-plain .tabs-tool { - padding: 0 1px; -} -.tabs-wrap { - position: relative; - left: 0; - overflow: hidden; - width: 100%; - margin: 0; - padding: 0; -} -.tabs-scrolling { - margin-left: 18px; - margin-right: 18px; -} -.tabs-disabled { - opacity: 0.3; - filter: alpha(opacity=30); -} -.tabs { - list-style-type: none; - height: 26px; - margin: 0px; - padding: 0px; - padding-left: 4px; - width: 50000px; - border-style: solid; - border-width: 0 0 1px 0; -} -.tabs li { - float: left; - display: inline-block; - margin: 0 4px -1px 0; - padding: 0; - position: relative; - border: 0; -} -.tabs li a.tabs-inner { - display: inline-block; - text-decoration: none; - margin: 0; - padding: 0 10px; - height: 25px; - line-height: 25px; - text-align: center; - white-space: nowrap; - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 0 0; - -webkit-border-radius: 5px 5px 0 0; - border-radius: 5px 5px 0 0; -} -.tabs li.tabs-selected a.tabs-inner { - font-weight: bold; - outline: none; -} -.tabs li.tabs-selected a:hover.tabs-inner { - cursor: default; - pointer: default; -} -.tabs li a.tabs-close, -.tabs-p-tool { - position: absolute; - font-size: 1px; - display: block; - height: 12px; - padding: 0; - top: 50%; - margin-top: -6px; - overflow: hidden; -} -.tabs li a.tabs-close { - width: 12px; - right: 5px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs-p-tool { - right: 16px; -} -.tabs-p-tool a { - display: inline-block; - font-size: 1px; - width: 12px; - height: 12px; - margin: 0; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs li a:hover.tabs-close, -.tabs-p-tool a:hover { - opacity: 1; - filter: alpha(opacity=100); - cursor: hand; - cursor: pointer; -} -.tabs-with-icon { - padding-left: 18px; -} -.tabs-icon { - position: absolute; - width: 16px; - height: 16px; - left: 10px; - top: 50%; - margin-top: -8px; -} -.tabs-title { - font-size: 14px; -} -.tabs-closable { - padding-right: 8px; -} -.tabs-panels { - margin: 0px; - padding: 0px; - border-width: 1px; - border-style: solid; - border-top-width: 0; - overflow: hidden; -} -.tabs-header-bottom { - border-width: 0 1px 1px 1px; - padding: 0 0 2px 0; -} -.tabs-header-bottom .tabs { - border-width: 1px 0 0 0; -} -.tabs-header-bottom .tabs li { - margin: -1px 4px 0 0; -} -.tabs-header-bottom .tabs li a.tabs-inner { - -moz-border-radius: 0 0 5px 5px; - -webkit-border-radius: 0 0 5px 5px; - border-radius: 0 0 5px 5px; -} -.tabs-header-bottom .tabs-tool { - top: 0; -} -.tabs-header-bottom .tabs-scroller-left, -.tabs-header-bottom .tabs-scroller-right { - top: 0; - bottom: auto; -} -.tabs-panels-top { - border-width: 1px 1px 0 1px; -} -.tabs-header-left { - float: left; - border-width: 1px 0 1px 1px; - padding: 0; -} -.tabs-header-right { - float: right; - border-width: 1px 1px 1px 0; - padding: 0; -} -.tabs-header-left .tabs-wrap, -.tabs-header-right .tabs-wrap { - height: 100%; -} -.tabs-header-left .tabs { - height: 100%; - padding: 4px 0 0 2px; - border-width: 0 1px 0 0; -} -.tabs-header-right .tabs { - height: 100%; - padding: 4px 2px 0 0; - border-width: 0 0 0 1px; -} -.tabs-header-left .tabs li, -.tabs-header-right .tabs li { - display: block; - width: 100%; - position: relative; -} -.tabs-header-left .tabs li { - left: auto; - right: 0; - margin: 0 -1px 4px 0; - float: right; -} -.tabs-header-right .tabs li { - left: 0; - right: auto; - margin: 0 0 4px -1px; - float: left; -} -.tabs-justified li a.tabs-inner { - padding-left: 0; - padding-right: 0; -} -.tabs-header-left .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.tabs-header-right .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 0 5px 5px 0; - -webkit-border-radius: 0 5px 5px 0; - border-radius: 0 5px 5px 0; -} -.tabs-panels-right { - float: right; - border-width: 1px 1px 1px 0; -} -.tabs-panels-left { - float: left; - border-width: 1px 0 1px 1px; -} -.tabs-header-noborder, -.tabs-panels-noborder { - border: 0px; -} -.tabs-header-plain { - border: 0px; - background: transparent; -} -.tabs-pill { - padding-bottom: 3px; -} -.tabs-header-bottom .tabs-pill { - padding-top: 3px; - padding-bottom: 0; -} -.tabs-header-left .tabs-pill { - padding-right: 3px; -} -.tabs-header-right .tabs-pill { - padding-left: 3px; -} -.tabs-header .tabs-pill li a.tabs-inner { - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.tabs-header-narrow, -.tabs-header-narrow .tabs-narrow { - padding: 0; -} -.tabs-narrow li, -.tabs-header-bottom .tabs-narrow li { - margin-left: 0; - margin-right: -1px; -} -.tabs-narrow li.tabs-last, -.tabs-header-bottom .tabs-narrow li.tabs-last { - margin-right: 0; -} -.tabs-header-left .tabs-narrow, -.tabs-header-right .tabs-narrow { - padding-top: 0; -} -.tabs-header-left .tabs-narrow li { - margin-bottom: -1px; - margin-right: -1px; -} -.tabs-header-left .tabs-narrow li.tabs-last, -.tabs-header-right .tabs-narrow li.tabs-last { - margin-bottom: 0; -} -.tabs-header-right .tabs-narrow li { - margin-bottom: -1px; - margin-left: -1px; -} -.tabs-scroller-left { - background: #E0ECFF url('images/tabs_icons.png') no-repeat 1px center; -} -.tabs-scroller-right { - background: #E0ECFF url('images/tabs_icons.png') no-repeat -15px center; -} -.tabs li a.tabs-close { - background: url('images/tabs_icons.png') no-repeat -34px center; -} -.tabs li a.tabs-inner:hover { - background: #eaf2ff; - color: #000000; - filter: none; -} -.tabs li.tabs-selected a.tabs-inner { - background-color: #ffffff; - color: #0E2D5F; - background: -webkit-linear-gradient(top,#EFF5FF 0,#ffffff 100%); - background: -moz-linear-gradient(top,#EFF5FF 0,#ffffff 100%); - background: -o-linear-gradient(top,#EFF5FF 0,#ffffff 100%); - background: linear-gradient(to bottom,#EFF5FF 0,#ffffff 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#ffffff,GradientType=0); -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(top,#ffffff 0,#EFF5FF 100%); - background: -moz-linear-gradient(top,#ffffff 0,#EFF5FF 100%); - background: -o-linear-gradient(top,#ffffff 0,#EFF5FF 100%); - background: linear-gradient(to bottom,#ffffff 0,#EFF5FF 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#EFF5FF,GradientType=0); -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(left,#EFF5FF 0,#ffffff 100%); - background: -moz-linear-gradient(left,#EFF5FF 0,#ffffff 100%); - background: -o-linear-gradient(left,#EFF5FF 0,#ffffff 100%); - background: linear-gradient(to right,#EFF5FF 0,#ffffff 100%); - background-repeat: repeat-y; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#ffffff,GradientType=1); -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(left,#ffffff 0,#EFF5FF 100%); - background: -moz-linear-gradient(left,#ffffff 0,#EFF5FF 100%); - background: -o-linear-gradient(left,#ffffff 0,#EFF5FF 100%); - background: linear-gradient(to right,#ffffff 0,#EFF5FF 100%); - background-repeat: repeat-y; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#EFF5FF,GradientType=1); -} -.tabs li a.tabs-inner { - color: #0E2D5F; - background-color: #E0ECFF; - background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); - background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); - background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); - background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0); -} -.tabs-header, -.tabs-tool { - background-color: #E0ECFF; -} -.tabs-header-plain { - background: transparent; -} -.tabs-header, -.tabs-scroller-left, -.tabs-scroller-right, -.tabs-tool, -.tabs, -.tabs-panels, -.tabs li a.tabs-inner, -.tabs li.tabs-selected a.tabs-inner, -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, -.tabs-header-left .tabs li.tabs-selected a.tabs-inner, -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-color: #95B8E7; -} -.tabs-p-tool a:hover, -.tabs li a:hover.tabs-close, -.tabs-scroller-over { - background-color: #eaf2ff; -} -.tabs li.tabs-selected a.tabs-inner { - border-bottom: 1px solid #ffffff; -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - border-top: 1px solid #ffffff; -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - border-right: 1px solid #ffffff; -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-left: 1px solid #ffffff; -} -.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { - background: #ffe48d; - color: #000000; - filter: none; - border-color: #95B8E7; -} -.datagrid .panel-body { - overflow: hidden; - position: relative; -} -.datagrid-view { - position: relative; - overflow: hidden; -} -.datagrid-view1, -.datagrid-view2 { - position: absolute; - overflow: hidden; - top: 0; -} -.datagrid-view1 { - left: 0; -} -.datagrid-view2 { - right: 0; -} -.datagrid-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0.3; - filter: alpha(opacity=30); - display: none; -} -.datagrid-mask-msg { - position: absolute; - top: 50%; - margin-top: -20px; - padding: 10px 5px 10px 30px; - width: auto; - height: 16px; - border-width: 2px; - border-style: solid; - display: none; -} -.datagrid-empty { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 25px; - line-height: 25px; - text-align: center; -} -.datagrid-sort-icon { - padding: 0; - display: none; -} -.datagrid-toolbar { - height: auto; - padding: 1px 2px; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-btn-separator { - float: left; - height: 24px; - border-left: 1px solid #ccc; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.datagrid .datagrid-pager { - display: block; - margin: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.datagrid .datagrid-pager-top { - border-width: 0 0 1px 0; -} -.datagrid-header { - overflow: hidden; - cursor: default; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-header-inner { - float: left; - width: 10000px; -} -.datagrid-header-row, -.datagrid-row { - height: 32px; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-width: 0 1px 1px 0; - border-style: dotted; - margin: 0; - padding: 0; -} -.datagrid-cell, -.datagrid-cell-group, -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - margin: 0; - padding: 0 4px; - white-space: nowrap; - word-wrap: normal; - overflow: hidden; - height: 18px; - line-height: 18px; - font-size: 14px; -} -.datagrid-header .datagrid-cell { - height: auto; -} -.datagrid-header .datagrid-cell span { - font-size: 14px; -} -.datagrid-cell-group { - text-align: center; - text-overflow: ellipsis; -} -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - width: 30px; - text-align: center; - margin: 0; - padding: 0; -} -.datagrid-body { - margin: 0; - padding: 0; - overflow: auto; - zoom: 1; -} -.datagrid-view1 .datagrid-body-inner { - padding-bottom: 20px; -} -.datagrid-view1 .datagrid-body { - overflow: hidden; -} -.datagrid-footer { - overflow: hidden; -} -.datagrid-footer-inner { - border-width: 1px 0 0 0; - border-style: solid; - width: 10000px; - float: left; -} -.datagrid-row-editing .datagrid-cell { - height: auto; -} -.datagrid-header-check, -.datagrid-cell-check { - padding: 0; - width: 27px; - height: 18px; - font-size: 1px; - text-align: center; - overflow: hidden; -} -.datagrid-header-check input, -.datagrid-cell-check input { - margin: 0; - padding: 0; - width: 15px; - height: 18px; -} -.datagrid-resize-proxy { - position: absolute; - width: 1px; - height: 10000px; - top: 0; - cursor: e-resize; - display: none; -} -.datagrid-body .datagrid-editable { - margin: 0; - padding: 0; -} -.datagrid-body .datagrid-editable table { - width: 100%; - height: 100%; -} -.datagrid-body .datagrid-editable td { - border: 0; - margin: 0; - padding: 0; -} -.datagrid-view .datagrid-editable-input { - margin: 0; - padding: 2px 4px; - border: 1px solid #95B8E7; - font-size: 14px; - outline-style: none; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-view .validatebox-invalid { - border-color: #ffa8a8; -} -.datagrid-sort .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -64px center; -} -.datagrid-sort-desc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -16px center; -} -.datagrid-sort-asc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat 0px center; -} -.datagrid-row-collapse { - background: url('images/datagrid_icons.png') no-repeat -48px center; -} -.datagrid-row-expand { - background: url('images/datagrid_icons.png') no-repeat -32px center; -} -.datagrid-mask-msg { - background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; -} -.datagrid-header, -.datagrid-td-rownumber { - background-color: #efefef; - background: -webkit-linear-gradient(top,#F9F9F9 0,#efefef 100%); - background: -moz-linear-gradient(top,#F9F9F9 0,#efefef 100%); - background: -o-linear-gradient(top,#F9F9F9 0,#efefef 100%); - background: linear-gradient(to bottom,#F9F9F9 0,#efefef 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F9F9F9,endColorstr=#efefef,GradientType=0); -} -.datagrid-cell-rownumber { - color: #000000; -} -.datagrid-resize-proxy { - background: #aac5e7; -} -.datagrid-mask { - background: #ccc; -} -.datagrid-mask-msg { - border-color: #95B8E7; -} -.datagrid-toolbar, -.datagrid-pager { - background: #F4F4F4; -} -.datagrid-header, -.datagrid-toolbar, -.datagrid-pager, -.datagrid-footer-inner { - border-color: #dddddd; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-color: #ccc; -} -.datagrid-htable, -.datagrid-btable, -.datagrid-ftable { - color: #000000; - border-collapse: separate; -} -.datagrid-row-alt { - background: #fafafa; -} -.datagrid-row-over, -.datagrid-header td.datagrid-header-over { - background: #eaf2ff; - color: #000000; - cursor: default; -} -.datagrid-row-selected { - background: #ffe48d; - color: #000000; -} -.datagrid-row-editing .textbox, -.datagrid-row-editing .textbox-text { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-header .datagrid-filter-row td.datagrid-header-over { - background: inherit; -} -.propertygrid .datagrid-view1 .datagrid-body td { - padding-bottom: 1px; - border-width: 0 1px 0 0; -} -.propertygrid .datagrid-group { - overflow: hidden; - border-width: 0 0 1px 0; - border-style: solid; -} -.propertygrid .datagrid-group span { - font-weight: bold; -} -.propertygrid .datagrid-view1 .datagrid-body td { - border-color: #dddddd; -} -.propertygrid .datagrid-view1 .datagrid-group { - border-color: #E0ECFF; -} -.propertygrid .datagrid-view2 .datagrid-group { - border-color: #dddddd; -} -.propertygrid .datagrid-group, -.propertygrid .datagrid-view1 .datagrid-body, -.propertygrid .datagrid-view1 .datagrid-row-over, -.propertygrid .datagrid-view1 .datagrid-row-selected { - background: #E0ECFF; -} -.datalist .datagrid-header { - border-width: 0; -} -.datalist .datagrid-group, -.m-list .m-list-group { - height: 25px; - line-height: 25px; - font-weight: bold; - overflow: hidden; - background-color: #efefef; - border-style: solid; - border-width: 0 0 1px 0; - border-color: #ccc; -} -.datalist .datagrid-group-expander { - display: none; -} -.datalist .datagrid-group-title { - padding: 0 4px; -} -.datalist .datagrid-btable { - width: 100%; - table-layout: fixed; -} -.datalist .datagrid-row td { - border-style: solid; - border-left-color: transparent; - border-right-color: transparent; - border-bottom-width: 0; -} -.datalist-lines .datagrid-row td { - border-bottom-width: 1px; -} -.datalist .datagrid-cell, -.m-list li { - width: auto; - height: auto; - padding: 2px 4px; - line-height: 18px; - position: relative; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link, -.m-list li>a { - display: block; - position: relative; - cursor: pointer; - color: #000000; - text-decoration: none; - overflow: hidden; - margin: -2px -4px; - padding: 2px 4px; - padding-right: 16px; - line-height: 18px; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link::after, -.m-list li>a::after { - position: absolute; - display: block; - width: 8px; - height: 8px; - content: ''; - right: 6px; - top: 50%; - margin-top: -4px; - border-style: solid; - border-width: 1px 1px 0 0; - -ms-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -webkit-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); -} -.m-list { - margin: 0; - padding: 0; - list-style: none; -} -.m-list li { - border-style: solid; - border-width: 0 0 1px 0; - border-color: #ccc; -} -.m-list li>a:hover { - background: #eaf2ff; - color: #000000; -} -.m-list .m-list-group { - padding: 0 4px; -} -.pagination { - zoom: 1; - padding: 2px; -} -.pagination table { - float: left; - height: 30px; -} -.pagination td { - border: 0; -} -.pagination-btn-separator { - float: left; - height: 24px; - border-left: 1px solid #ccc; - border-right: 1px solid #fff; - margin: 3px 1px; -} -.pagination .pagination-num { - border-width: 1px; - border-style: solid; - margin: 0 2px; - padding: 2px; - width: 3em; - height: auto; - text-align: center; - font-size: 14px; -} -.pagination-page-list { - margin: 0px 6px; - padding: 1px 2px; - width: auto; - height: auto; - border-width: 1px; - border-style: solid; -} -.pagination-info { - float: right; - margin: 0 6px; - padding: 0; - height: 30px; - line-height: 30px; - font-size: 14px; -} -.pagination span { - font-size: 14px; -} -.pagination-link .l-btn-text { - box-sizing: border-box; - text-align: center; - margin: 0; - padding: 0 .5em; - width: auto; - min-width: 28px; -} -.pagination-first { - background: url('images/pagination_icons.png') no-repeat 0 center; -} -.pagination-prev { - background: url('images/pagination_icons.png') no-repeat -16px center; -} -.pagination-next { - background: url('images/pagination_icons.png') no-repeat -32px center; -} -.pagination-last { - background: url('images/pagination_icons.png') no-repeat -48px center; -} -.pagination-load { - background: url('images/pagination_icons.png') no-repeat -64px center; -} -.pagination-loading { - background: url('images/loading.gif') no-repeat center center; -} -.pagination-page-list, -.pagination .pagination-num { - border-color: #95B8E7; -} -.calendar { - border-width: 1px; - border-style: solid; - padding: 1px; - overflow: hidden; -} -.calendar table { - table-layout: fixed; - border-collapse: separate; - font-size: 14px; - width: 100%; - height: 100%; -} -.calendar table td, -.calendar table th { - font-size: 14px; -} -.calendar-noborder { - border: 0; -} -.calendar-header { - position: relative; - height: 28px; -} -.calendar-title { - text-align: center; - height: 28px; -} -.calendar-title span { - position: relative; - display: inline-block; - top: 0px; - padding: 0 3px; - height: 28px; - line-height: 28px; - font-size: 14px; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-prevmonth, -.calendar-nextmonth, -.calendar-prevyear, -.calendar-nextyear { - position: absolute; - top: 50%; - margin-top: -8px; - width: 16px; - height: 16px; - cursor: pointer; - font-size: 1px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-prevmonth { - left: 20px; - background: url('images/calendar_arrows.png') no-repeat -16px 0; -} -.calendar-nextmonth { - right: 20px; - background: url('images/calendar_arrows.png') no-repeat -32px 0; -} -.calendar-prevyear { - left: 3px; - background: url('images/calendar_arrows.png') no-repeat 0px 0; -} -.calendar-nextyear { - right: 3px; - background: url('images/calendar_arrows.png') no-repeat -48px 0; -} -.calendar-body { - position: relative; -} -.calendar-body th, -.calendar-body td { - text-align: center; -} -.calendar-day { - border: 0; - padding: 1px; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-other-month { - opacity: 0.3; - filter: alpha(opacity=30); -} -.calendar-disabled { - opacity: 0.6; - filter: alpha(opacity=60); - cursor: default; -} -.calendar-menu { - position: absolute; - top: 0; - left: 0; - width: 180px; - height: 150px; - padding: 5px; - font-size: 14px; - display: none; - overflow: hidden; -} -.calendar-menu-year-inner { - text-align: center; - padding-bottom: 5px; -} -.calendar-menu-year { - width: 80px; - line-height: 26px; - text-align: center; - border-width: 1px; - border-style: solid; - outline-style: none; - resize: none; - margin: 0; - padding: 0; - font-weight: bold; - font-size: 14px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-menu-prev, -.calendar-menu-next { - display: inline-block; - width: 25px; - height: 28px; - vertical-align: top; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-menu-prev { - margin-right: 10px; - background: url('images/calendar_arrows.png') no-repeat 5px center; -} -.calendar-menu-next { - margin-left: 10px; - background: url('images/calendar_arrows.png') no-repeat -44px center; -} -.calendar-menu-month { - text-align: center; - cursor: pointer; - font-weight: bold; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-body th, -.calendar-menu-month { - color: #4d4d4d; -} -.calendar-day { - color: #000000; -} -.calendar-sunday { - color: #CC2222; -} -.calendar-saturday { - color: #00ee00; -} -.calendar-today { - color: #0000ff; -} -.calendar-menu-year { - border-color: #95B8E7; -} -.calendar { - border-color: #95B8E7; -} -.calendar-header { - background: #E0ECFF; -} -.calendar-body, -.calendar-menu { - background: #ffffff; -} -.calendar-body th { - background: #F4F4F4; - padding: 4px 0; -} -.calendar-hover, -.calendar-nav-hover, -.calendar-menu-hover { - background-color: #eaf2ff; - color: #000000; -} -.calendar-hover { - border: 1px solid #b7d2ff; - padding: 0; -} -.calendar-selected { - background-color: #ffe48d; - color: #000000; - border: 1px solid #ffab3f; - padding: 0; -} -.datebox-calendar-inner { - height: 250px; -} -.datebox-button { - padding: 4px 0; - text-align: center; -} -.datebox-button a { - line-height: 22px; - font-size: 14px; - font-weight: bold; - text-decoration: none; - opacity: 0.6; - filter: alpha(opacity=60); -} -.datebox-button a:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.datebox-current, -.datebox-close { - float: left; -} -.datebox-close { - float: right; -} -.datebox .combo-arrow { - background-image: url('images/datebox_arrow.png'); - background-position: center center; -} -.datebox-button { - background-color: #F4F4F4; -} -.datebox-button a { - color: #444; -} -.spinner-arrow { - display: inline-block; - overflow: hidden; - vertical-align: top; - margin: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - width: 18px; -} -.spinner-arrow.spinner-button-top, -.spinner-arrow.spinner-button-bottom, -.spinner-arrow.spinner-button-left, -.spinner-arrow.spinner-button-right { - background-color: #E0ECFF; -} -.spinner-arrow-up, -.spinner-arrow-down { - opacity: 0.6; - filter: alpha(opacity=60); - display: block; - font-size: 1px; - width: 18px; - height: 10px; - width: 100%; - height: 50%; - color: #444; - outline-style: none; - background-color: #E0ECFF; -} -.spinner-button-updown { - opacity: 1.0; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - position: relative; - display: block; - width: 100%; - height: 50%; -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down { - opacity: 1.0; - filter: alpha(opacity=100); - cursor: pointer; - width: 16px; - height: 16px; - top: 50%; - left: 50%; - margin-top: -8px; - margin-left: -8px; - position: absolute; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-button-updown .spinner-button-top:hover, -.spinner-button-updown .spinner-button-bottom:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down, -.spinner-button-updown .spinner-arrow-up:hover, -.spinner-button-updown .spinner-arrow-down:hover { - background-color: transparent; -} -.spinner-arrow-hover { - background-color: #eaf2ff; - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-top:hover, -.spinner-button-bottom:hover, -.spinner-button-left:hover, -.spinner-button-right:hover, -.spinner-arrow-up:hover, -.spinner-arrow-down:hover { - opacity: 1.0; - filter: alpha(opacity=100); - background-color: #eaf2ff; -} -.textbox-disabled .spinner-button-top:hover, -.textbox-disabled .spinner-button-bottom:hover, -.textbox-disabled .spinner-button-left:hover, -.textbox-disabled .spinner-button-right:hover, -.textbox-icon-disabled .spinner-arrow-up:hover, -.textbox-icon-disabled .spinner-arrow-down:hover { - opacity: 0.6; - filter: alpha(opacity=60); - background-color: #E0ECFF; - cursor: default; -} -.spinner .textbox-icon-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-arrow-up { - background: url('images/spinner_arrows.png') no-repeat 1px center; - background-color: #E0ECFF; -} -.spinner-arrow-down { - background: url('images/spinner_arrows.png') no-repeat -15px center; - background-color: #E0ECFF; -} -.spinner-button-up { - background: url('images/spinner_arrows.png') no-repeat -32px center; -} -.spinner-button-down { - background: url('images/spinner_arrows.png') no-repeat -48px center; -} -.progressbar { - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - overflow: hidden; - position: relative; -} -.progressbar-text { - text-align: center; - position: absolute; -} -.progressbar-value { - position: relative; - overflow: hidden; - width: 0; - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.progressbar { - border-color: #95B8E7; -} -.progressbar-text { - color: #000000; - font-size: 14px; -} -.progressbar-value, -.progressbar-value .progressbar-text { - background-color: #ffe48d; - color: #000000; -} -.searchbox-button { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.searchbox-button-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.searchbox .l-btn-plain { - border: 0; - padding: 0; - vertical-align: top; - opacity: 0.6; - filter: alpha(opacity=60); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .l-btn-plain:hover { - border: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox a.m-btn-plain-active { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .m-btn-active { - border-width: 0 1px 0 0; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .textbox-button-right { - border-width: 0 0 0 1px; -} -.searchbox .textbox-button-left { - border-width: 0 1px 0 0; -} -.searchbox-button { - background: url('images/searchbox_button.png') no-repeat center center; -} -.searchbox .l-btn-plain { - background: #E0ECFF; -} -.searchbox .l-btn-plain-disabled, -.searchbox .l-btn-plain-disabled:hover { - opacity: 0.5; - filter: alpha(opacity=50); -} -.slider-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.slider-h { - height: 22px; -} -.slider-v { - width: 22px; -} -.slider-inner { - position: relative; - height: 6px; - top: 7px; - border-width: 1px; - border-style: solid; - border-radius: 5px; -} -.slider-handle { - position: absolute; - display: block; - outline: none; - width: 20px; - height: 20px; - top: 50%; - margin-top: -10px; - margin-left: -10px; -} -.slider-tip { - position: absolute; - display: inline-block; - line-height: 12px; - font-size: 14px; - white-space: nowrap; - top: -22px; -} -.slider-rule { - position: relative; - top: 15px; -} -.slider-rule span { - position: absolute; - display: inline-block; - font-size: 0; - height: 5px; - border-width: 0 0 0 1px; - border-style: solid; -} -.slider-rulelabel { - position: relative; - top: 20px; -} -.slider-rulelabel span { - position: absolute; - display: inline-block; - font-size: 14px; -} -.slider-v .slider-inner { - width: 6px; - left: 7px; - top: 0; - float: left; -} -.slider-v .slider-handle { - left: 50%; - margin-top: -10px; -} -.slider-v .slider-tip { - left: -10px; - margin-top: -6px; -} -.slider-v .slider-rule { - float: left; - top: 0; - left: 16px; -} -.slider-v .slider-rule span { - width: 5px; - height: 'auto'; - border-left: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.slider-v .slider-rulelabel { - float: left; - top: 0; - left: 23px; -} -.slider-handle { - background: url('images/slider_handle.png') no-repeat; -} -.slider-inner { - border-color: #95B8E7; - background: #E0ECFF; -} -.slider-rule span { - border-color: #95B8E7; -} -.slider-rulelabel span { - color: #000000; -} -.menu { - position: absolute; - margin: 0; - padding: 2px; - border-width: 1px; - border-style: solid; - overflow: hidden; -} -.menu-inline { - position: relative; -} -.menu-item { - position: relative; - margin: 0; - padding: 0; - overflow: hidden; - white-space: nowrap; - cursor: pointer; - border-width: 1px; - border-style: solid; -} -.menu-text { - height: 20px; - line-height: 20px; - float: left; - padding-left: 28px; -} -.menu-icon { - position: absolute; - width: 16px; - height: 16px; - left: 2px; - top: 50%; - margin-top: -8px; -} -.menu-rightarrow { - position: absolute; - width: 16px; - height: 16px; - right: 0; - top: 50%; - margin-top: -8px; -} -.menu-line { - position: absolute; - left: 26px; - top: 0; - height: 2000px; - font-size: 1px; -} -.menu-sep { - margin: 3px 0px 3px 25px; - font-size: 1px; -} -.menu-noline .menu-line { - display: none; -} -.menu-noline .menu-sep { - margin-left: 0; - margin-right: 0; -} -.menu-active { - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.menu-item-disabled { - opacity: 0.5; - filter: alpha(opacity=50); - cursor: default; -} -.menu-text, -.menu-text span { - font-size: 14px; -} -.menu-shadow { - position: absolute; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - background: #ccc; - -moz-box-shadow: 2px 2px 3px #cccccc; - -webkit-box-shadow: 2px 2px 3px #cccccc; - box-shadow: 2px 2px 3px #cccccc; - filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); -} -.menu-rightarrow { - background: url('images/menu_arrows.png') no-repeat -32px center; -} -.menu-line { - border-left: 1px solid #ccc; - border-right: 1px solid #fff; -} -.menu-sep { - border-top: 1px solid #ccc; - border-bottom: 1px solid #fff; -} -.menu { - background-color: #fafafa; - border-color: #ddd; - color: #444; -} -.menu-content { - background: #ffffff; -} -.menu-item { - border-color: transparent; - _border-color: #fafafa; -} -.menu-active { - border-color: #b7d2ff; - color: #000000; - background: #eaf2ff; -} -.menu-active-disabled { - border-color: transparent; - background: transparent; - color: #444; -} -.m-btn-downarrow, -.s-btn-downarrow { - display: inline-block; - position: absolute; - width: 16px; - height: 16px; - font-size: 1px; - right: 0; - top: 50%; - margin-top: -8px; -} -.m-btn-active, -.s-btn-active { - background: #eaf2ff; - color: #000000; - border: 1px solid #b7d2ff; - filter: none; -} -.m-btn-plain-active, -.s-btn-plain-active { - background: transparent; - padding: 0; - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.m-btn .l-btn-left .l-btn-text { - margin-right: 20px; -} -.m-btn .l-btn-icon-right .l-btn-text { - margin-right: 40px; -} -.m-btn .l-btn-icon-right .l-btn-icon { - right: 20px; -} -.m-btn .l-btn-icon-top .l-btn-text { - margin-right: 4px; - margin-bottom: 14px; -} -.m-btn .l-btn-icon-bottom .l-btn-text { - margin-right: 4px; - margin-bottom: 34px; -} -.m-btn .l-btn-icon-bottom .l-btn-icon { - top: auto; - bottom: 20px; -} -.m-btn .l-btn-icon-top .m-btn-downarrow, -.m-btn .l-btn-icon-bottom .m-btn-downarrow { - top: auto; - bottom: 0px; - left: 50%; - margin-left: -8px; -} -.m-btn-line { - display: inline-block; - position: absolute; - font-size: 1px; - display: none; -} -.m-btn .l-btn-left .m-btn-line { - right: 0; - width: 16px; - height: 500px; - border-style: solid; - border-color: #aac5e7; - border-width: 0 0 0 1px; -} -.m-btn .l-btn-icon-top .m-btn-line, -.m-btn .l-btn-icon-bottom .m-btn-line { - left: 0; - bottom: 0; - width: 500px; - height: 16px; - border-width: 1px 0 0 0; -} -.m-btn-large .l-btn-icon-right .l-btn-text { - margin-right: 56px; -} -.m-btn-large .l-btn-icon-bottom .l-btn-text { - margin-bottom: 50px; -} -.m-btn-downarrow, -.s-btn-downarrow { - background: url('images/menu_arrows.png') no-repeat 0 center; -} -.m-btn-plain-active, -.s-btn-plain-active { - border-color: #b7d2ff; - background-color: #eaf2ff; - color: #000000; -} -.s-btn:hover .m-btn-line, -.s-btn-active .m-btn-line, -.s-btn-plain-active .m-btn-line { - display: inline-block; -} -.l-btn:hover .s-btn-downarrow, -.s-btn-active .s-btn-downarrow, -.s-btn-plain-active .s-btn-downarrow { - border-style: solid; - border-color: #aac5e7; - border-width: 0 0 0 1px; -} -.messager-body { - padding: 10px 10px 30px 10px; - overflow: auto; -} -.messager-button { - text-align: center; - padding: 5px; -} -.messager-button .l-btn { - width: 70px; -} -.messager-icon { - float: left; - width: 32px; - height: 32px; - margin: 0 10px 10px 0; -} -.messager-error { - background: url('images/messager_icons.png') no-repeat scroll -64px 0; -} -.messager-info { - background: url('images/messager_icons.png') no-repeat scroll 0 0; -} -.messager-question { - background: url('images/messager_icons.png') no-repeat scroll -32px 0; -} -.messager-warning { - background: url('images/messager_icons.png') no-repeat scroll -96px 0; -} -.messager-progress { - padding: 10px; -} -.messager-p-msg { - margin-bottom: 5px; -} -.messager-body .messager-input { - width: 100%; - padding: 4px 0; - outline-style: none; - border: 1px solid #95B8E7; -} -.window-thinborder .messager-button { - padding-bottom: 8px; -} -.tree { - margin: 0; - padding: 0; - list-style-type: none; -} -.tree li { - white-space: nowrap; -} -.tree li ul { - list-style-type: none; - margin: 0; - padding: 0; -} -.tree-node { - height: 26px; - white-space: nowrap; - cursor: pointer; -} -.tree-hit { - cursor: pointer; -} -.tree-expanded, -.tree-collapsed, -.tree-folder, -.tree-file, -.tree-checkbox, -.tree-indent { - display: inline-block; - width: 16px; - height: 18px; - margin: 4px 0; - vertical-align: middle; - overflow: hidden; -} -.tree-expanded { - background: url('images/tree_icons.png') no-repeat -18px 0px; -} -.tree-expanded-hover { - background: url('images/tree_icons.png') no-repeat -50px 0px; -} -.tree-collapsed { - background: url('images/tree_icons.png') no-repeat 0px 0px; -} -.tree-collapsed-hover { - background: url('images/tree_icons.png') no-repeat -32px 0px; -} -.tree-lines .tree-expanded, -.tree-lines .tree-root-first .tree-expanded { - background: url('images/tree_icons.png') no-repeat -144px 0; -} -.tree-lines .tree-collapsed, -.tree-lines .tree-root-first .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -128px 0; -} -.tree-lines .tree-node-last .tree-expanded, -.tree-lines .tree-root-one .tree-expanded { - background: url('images/tree_icons.png') no-repeat -80px 0; -} -.tree-lines .tree-node-last .tree-collapsed, -.tree-lines .tree-root-one .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -64px 0; -} -.tree-line { - background: url('images/tree_icons.png') no-repeat -176px 0; -} -.tree-join { - background: url('images/tree_icons.png') no-repeat -192px 0; -} -.tree-joinbottom { - background: url('images/tree_icons.png') no-repeat -160px 0; -} -.tree-folder { - background: url('images/tree_icons.png') no-repeat -208px 0; -} -.tree-folder-open { - background: url('images/tree_icons.png') no-repeat -224px 0; -} -.tree-file { - background: url('images/tree_icons.png') no-repeat -240px 0; -} -.tree-loading { - background: url('images/loading.gif') no-repeat center center; -} -.tree-checkbox0 { - background: url('images/tree_icons.png') no-repeat -208px -18px; -} -.tree-checkbox1 { - background: url('images/tree_icons.png') no-repeat -224px -18px; -} -.tree-checkbox2 { - background: url('images/tree_icons.png') no-repeat -240px -18px; -} -.tree-title { - font-size: 14px; - display: inline-block; - text-decoration: none; - vertical-align: middle; - white-space: nowrap; - padding: 0 2px; - margin: 4px 0; - height: 18px; - line-height: 18px; -} -.tree-node-proxy { - font-size: 14px; - line-height: 20px; - padding: 0 2px 0 20px; - border-width: 1px; - border-style: solid; - z-index: 9900000; -} -.tree-dnd-icon { - display: inline-block; - position: absolute; - width: 16px; - height: 18px; - left: 2px; - top: 50%; - margin-top: -9px; -} -.tree-dnd-yes { - background: url('images/tree_icons.png') no-repeat -256px 0; -} -.tree-dnd-no { - background: url('images/tree_icons.png') no-repeat -256px -18px; -} -.tree-node-top { - border-top: 1px dotted red; -} -.tree-node-bottom { - border-bottom: 1px dotted red; -} -.tree-node-append .tree-title { - border: 1px dotted red; -} -.tree-editor { - border: 1px solid #95B8E7; - font-size: 14px; - height: 26px; - line-height: 26px; - padding: 0 4px; - margin: 0; - width: 80px; - outline-style: none; - vertical-align: middle; - position: absolute; - top: 0; -} -.tree-node-proxy { - background-color: #ffffff; - color: #000000; - border-color: #95B8E7; -} -.tree-node-hover { - background: #eaf2ff; - color: #000000; -} -.tree-node-selected { - background: #ffe48d; - color: #000000; -} -.tree-node-hidden { - display: none; -} -.inputbox { - display: inline-block; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; -} -.validatebox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; - color: #000; -} -.tooltip { - position: absolute; - display: none; - z-index: 9900000; - outline: none; - opacity: 1; - filter: alpha(opacity=100); - padding: 5px; - border-width: 1px; - border-style: solid; - border-radius: 5px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.tooltip-content { - font-size: 14px; -} -.tooltip-arrow-outer, -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - line-height: 0; - font-size: 0; - border-style: solid; - border-width: 6px; - border-color: transparent; - _border-color: tomato; - _filter: chroma(color=tomato); -} -.tooltip-arrow { - display: none \9; -} -.tooltip-right .tooltip-arrow-outer { - left: 0; - top: 50%; - margin: -6px 0 0 -13px; -} -.tooltip-right .tooltip-arrow { - left: 0; - top: 50%; - margin: -6px 0 0 -12px; -} -.tooltip-left .tooltip-arrow-outer { - right: 0; - top: 50%; - margin: -6px -13px 0 0; -} -.tooltip-left .tooltip-arrow { - right: 0; - top: 50%; - margin: -6px -12px 0 0; -} -.tooltip-top .tooltip-arrow-outer { - bottom: 0; - left: 50%; - margin: 0 0 -13px -6px; -} -.tooltip-top .tooltip-arrow { - bottom: 0; - left: 50%; - margin: 0 0 -12px -6px; -} -.tooltip-bottom .tooltip-arrow-outer { - top: 0; - left: 50%; - margin: -13px 0 0 -6px; -} -.tooltip-bottom .tooltip-arrow { - top: 0; - left: 50%; - margin: -12px 0 0 -6px; -} -.tooltip { - background-color: #ffffff; - border-color: #95B8E7; - color: #000000; -} -.tooltip-right .tooltip-arrow-outer { - border-right-color: #95B8E7; -} -.tooltip-right .tooltip-arrow { - border-right-color: #ffffff; -} -.tooltip-left .tooltip-arrow-outer { - border-left-color: #95B8E7; -} -.tooltip-left .tooltip-arrow { - border-left-color: #ffffff; -} -.tooltip-top .tooltip-arrow-outer { - border-top-color: #95B8E7; -} -.tooltip-top .tooltip-arrow { - border-top-color: #ffffff; -} -.tooltip-bottom .tooltip-arrow-outer { - border-bottom-color: #95B8E7; -} -.tooltip-bottom .tooltip-arrow { - border-bottom-color: #ffffff; -} -.switchbutton { - text-decoration: none; - display: inline-block; - overflow: hidden; - vertical-align: middle; - margin: 0; - padding: 0; - cursor: pointer; - background: #bbb; - border: 1px solid #bbb; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.switchbutton-inner { - display: inline-block; - overflow: hidden; - position: relative; - top: -1px; - left: -1px; -} -.switchbutton-on, -.switchbutton-off, -.switchbutton-handle { - display: inline-block; - text-align: center; - height: 100%; - float: left; - font-size: 14px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.switchbutton-on { - background: #ffe48d; - color: #000000; -} -.switchbutton-off { - background-color: #ffffff; - color: #000000; -} -.switchbutton-on, -.switchbutton-reversed .switchbutton-off { - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.switchbutton-off, -.switchbutton-reversed .switchbutton-on { - -moz-border-radius: 0 5px 5px 0; - -webkit-border-radius: 0 5px 5px 0; - border-radius: 0 5px 5px 0; -} -.switchbutton-handle { - position: absolute; - top: 0; - left: 50%; - background-color: #ffffff; - color: #000000; - border: 1px solid #bbb; - -moz-box-shadow: 0 0 3px 0 #bbb; - -webkit-box-shadow: 0 0 3px 0 #bbb; - box-shadow: 0 0 3px 0 #bbb; -} -.switchbutton-value { - position: absolute; - top: 0; - left: -5000px; -} -.switchbutton-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.switchbutton-disabled, -.switchbutton-readonly { - cursor: default; -} -.radiobutton { - position: relative; - border: 2px solid #ffab3f; - border-radius: 50%; -} -.radiobutton-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #ffab3f; - border-radius: 50%; - transform: scale(.6); -} -.radiobutton-disabled { - opacity: 0.6; -} -.radiobutton-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} -.checkbox { - position: relative; - border: 2px solid #ffab3f; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.checkbox-checked { - border: 0; - background: #ffab3f; -} -.checkbox-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; -} -.checkbox path { - stroke-width: 2px; -} -.checkbox-disabled { - opacity: 0.6; -} -.checkbox-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} -.sidemenu .tree-hit { - background-image: none; -} -.sidemenu-default-icon { - background-image: none; - width: 0; -} -.sidemenu .accordion .accordion-header, -.sidemenu .accordion .accordion-body { - border-bottom-color: transparent; - background: transparent; -} -.sidemenu .accordion .accordion-header { - color: #0E2D5F; -} -.sidemenu .accordion-header .panel-title { - height: 30px; - line-height: 30px; - color: #0E2D5F; -} -.sidemenu .accordion-header:hover { - background: #eaf2ff; - color: #0E2D5F; -} -.sidemenu .tree-node-hover { - background: #eaf2ff; - color: #0E2D5F; -} -.sidemenu .tree-node-selected { - border-right: 2px solid #ffab3f; - color: #000000; - background: #ffe48d; -} -.sidemenu .tree-node { - height: 40px; -} -.sidemenu .tree-title { - margin: 11px 0; -} -.sidemenu .tree-node-nonleaf { - position: relative; -} -.sidemenu .tree-node-nonleaf::after { - display: inline-block; - content: ''; - position: absolute; - top: 50%; - margin-top: -8px; - background: url('images/accordion_arrows.png') no-repeat 0 0; - width: 16px; - height: 16px; - right: 5px; -} -.sidemenu .tree-node-nonleaf-collapsed::after { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.sidemenu-collapsed .panel-icon { - left: 50%; - margin-left: -8px; -} -.sidemenu-tooltip { - padding: 0; - margin: 0 -12px; - border: 0; -} -.sidemenu-tooltip.tooltip-left { - margin: 0 12px; -} -.sidemenu-tooltip .tooltip-arrow-outer, -.sidemenu-tooltip .tooltip-arrow { - display: none; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/filebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/filebox.css deleted file mode 100644 index c6bac66..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/filebox.css +++ /dev/null @@ -1,20 +0,0 @@ -.filebox .textbox-value { - vertical-align: top; - position: absolute; - top: 0; - left: -5000px; -} -.filebox-label { - display: inline-block; - position: absolute; - width: 100%; - height: 100%; - cursor: pointer; - left: 0; - top: 0; - z-index: 10; - background: url('images/blank.gif') no-repeat; -} -.l-btn-disabled .filebox-label { - cursor: default; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/accordion_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/accordion_arrows.png deleted file mode 100644 index 720835f69c96c17ec32a20b03ac9753aa59b7f4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYeRK2H*V@SoVUT_Y-nKxaI`{RC0WjSLJ&w^R(C-|JQTojLXc1&{d*_z{$ jW+oTMdQ(F|jDg|L>K${_)^zO#I)%a0)z4*}Q$iB}_fAN- diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/blank.gif b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/blank.gif deleted file mode 100644 index 1d11fa9ada9e93505b3d736acb204083f45d5fbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43 scmZ?wbhEHbWMp7uX!y@?;J^U}1_s5SEQ~;kK?g*DWEhy3To@Uw0n;G|I{*Lx diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/calendar_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/calendar_arrows.png deleted file mode 100644 index 430c4ad685b8c0068ecb7e3cbef74f493a84ad0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQYD@)jv*Dd-cCEn)nLHm{QbZE z+q@uWwandfr?Jb4eDYYmB3UAt=OO2Vt+MMT&+KD%&6hZDt!FBpej;sEpMN69^tKl% zp6y<4_lG^P z=;=eQ4Vs74-2)Ua&f1tcVdk$#{GPKe@&?ZMHmT&SMw?IV&w7)}ixLbB3d$Zg{&KGb P8OPx1>gTe~DWM4fp>5!O@Gl{c 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 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/loading.gif b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/loading.gif deleted file mode 100644 index 68f01d04813c1f622810864a3aaa04b4a17ac8f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1737 zcmaKsX;2e)7>CzDa{xjjy99|1A!tC(kfocDi)<1$AxHpOQ4k^l!Vx1W6x7<&|FYXU zqO4jEiU-!VR1p+Xj1?4-iuI_J;!&?!+ghg|JJad3U)pMGzcKxNeCM6tJnuX+uPvX@ zZY|=AHdxt2Xr2y*)5|c6#FSEuyJ+Y3Z&l z2hJWo`9;lJ$6wzSoW60tqkB|d$oiO*d-^85^ojn{*NR{MP*%{@H*#gihZ8BKyB68E z-MIbjgNNV0y5khpJ^Jv`51aR%={<4jhaVq5e*9D5+*hL)XCHn4{^d%hPu@?KpKbc=eN!D=XUjDmH#n{YHNS zHCX6BV)yn2CuTNujhN~V+`RKpyXO6^ht92eqhIIlQLfz6eeCnH_C7`NPNrw9ks366 z4xX9(`s~z=+1uX^ocZ$2_fBs=JihPfWYufOIuD&AU-@`>>qn~cy$1)T7CU!5z2(U8 z)9Kt9)l`f6?NU41j6XbXfR{OHwm|T4}&24tIf+!C-g~6cQfY2^n$?AT&ZW zgqm`}3-jS2NS6n=k;sr5Hv(Q%%n)qW0X|neWVBd;Ko}d(=u%?{O0-a>kSI}shOd9n z5top}%gUCf=>?tg;*;#7!^HOL3k$fMxd=O-6Y4@%u8LS)C1D_a?27R6^vcC+6tttL z)GmTahbyJB!xmcHL#ya8ZXyfRl)a!N0BJE0y3BBfAV5;#=K&Z2VkaKZ)?9`1h5P_% znt*b}%j1|#j`b|aQDx@~wA#$PYRN2xE6UO;;vE(@$&xww-s8fZ5HmJ(eJ*rQrDbaawDbrfe_8F(wq{ge?)qQG`aXV;r(*6EM|ESje;52aFmrX!f=Pw^2oGQX$1|o4yts|b_5@w_kNwtl{wDP#JGMvIp#!SYX?Wq9S&`&_ZwkgGH5CLB7DEGJ6=R4J~p3Z4i^A}hs=-uZeD zs92l6u@**R$~L()G{5N8*7cE5-q$SCo`q4|NSVF*+A7&xZnypm$EdXgf)E%(VJHFD zSgi(H!D!(;9Zcc#GrCCJh=RlvXBQ-hv4Vodse`a32ZUFWgP5ZhM5LeV(#D^H8p@Lg ztra5R32z@1rQv{6u&RZL5%Z@Ye{q|t#6aM_1hIrpl@)oH6}os*cbAQywa{5<`ekzW O1il%9bk82&KlvLjD^%40 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/menu_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/menu_arrows.png deleted file mode 100644 index b986842e7e4044caed18edbcb4b376a4bb915623..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQt6&9jv*Dd-cB{-J7B=U{PTZ! zWrKV9%Z3|Wt5t$(gq+#d+-OocB$0fsr9DfRx52vPhSu$$+yXuy+69hDZ54DDTxx#r zL7>-12UT01v)>tZ+;HI4pDNf?@KK~EC$@35ykmXyu^HJF3})N>8P9Uwo&~g$!PC{x JWt~$(697!FIeGv9 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/messager_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/messager_icons.png deleted file mode 100644 index 86b0b0e6c73d6bdedc843763484982e5c9e71b0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2224 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 eBlUQ{{Qm&YJg{HE_Fe7(0000`TRe8 z#G%R{$NfX%tci2`Gda4n1O70V3HltacN37lc`VT21_Oig(wY*}T!mDijSQZyelF{r G5}E*M5;#5p diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/passwordbox_open.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/passwordbox_open.png deleted file mode 100644 index d328891f6a18ea703fd25a47b228df9cb13b4744..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ii4<#Ar-fh6C~y}*jFF6I{2&m zf8fW~lSf{d9=Ouc<(SoRr6$ox=6dW5rxOB`TRe8 z#G%R{$Nj@Z)5m5kM@2RMITi_;Npmte=_#;rBych_7F`xqKKy}=f%DM}Q4`(M(}DIf Nc)I$ztaD0e0su|qH(3Ax diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/searchbox_button.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/searchbox_button.png deleted file mode 100644 index 6dd1931589b453f6cc9772fd1851d8705d6b6631..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 813 zcmV+|1JeA7P)lXvaa)1B=8vtU6i;3jw7+Lm8D5$Z@i10EnF)=bcefw4K z$^E-CUfjQG`svfBbfD6|R#sLFj6lo3FG$G6@;ee>>~6i|H^5OY8c00W#fi<*1vzh{0&qu3dB`V0{{XDY`}(1n>S9M(9!zw#!&`A z#;*+0{6GVMSeWGp!`o{o8NPge#o%jgs54WT$qnQYpsyGNpauX05F;oJfZ`Pdw6!$j zynTH0RMa&!n3$Pa9zVGEY{&L(3qnPBl_DG6<9Xk0`Fl3`LiD4@pH{vDsxJWQ1qdJp zEJ>M}osCtQlY?CgW>F{;gVK#SmgoOZnEn5J%EtIXaWQXAO>Rdf)WFR;gt~f zXaA3z{{L{q=l48y!32yJ3i0hJ2BS=^}@sXzH{F9Iq&OW375;I7CG-}Vr|aF#l<(fySwu2>`YdxRW*W0f#2un=W5Jmvoe`XCK%I_Y++#`fwE+= zSd{sEULGDE%A=#BOW<6gP*6VfMa^fr8qe`5w%)P0a^Y9WGTw! zvI^|$>l@1Da^Ke1*T3RdY7KqM%gaBb(P+oP!GW;b?ZRfW3Bxc1H@GCaHK#XhZ*Lc= zRBC@>V&W#x&B5%(#>OW5`};d6I5Qw218EG_q@1gtr!Nl*v7yn?(MPMRt4SNy%--JK zanm#f^bw^}Nr7b(EUg}TUi(2;)deX10lAo=83+VA(QksJI6(zwptET-y~avN=J9w$ zI2`W5lG|aOkjY7(&!@;Jx*nUA>~J`Q)9L&(G8y=g$3a4YgD7z)5>gXQNKhw=uR0zF z#jHruh)gDv=bj|2ZES4(fEM?I!JyKqo=}sj-fBYTcDt4KXq)eFQH}wW`vh%Mla}#@ z@Mb`C)x@YkK{xd2>8ZLg+E!Lps$Q@6DY-~!0=Gs+Mm~_JnW1EbX2uxClEdN>Y@I78 z=ke_9?7sX@o0*x}M{JB77MIXj_MmNE%+1Xe{*{crh)9={dR(U;y-{jrxUXmG%Gt002ovPDHLkV1hy(sXhPz diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/spinner_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/spinner_arrows.png deleted file mode 100644 index 7c2df483dbb30dfb3a51332c03fe6f0c229c0547..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQZb$`jv*Ddk`p9Y7bl4Dgeh3R zJz6gy$J;RRRRiNz`7}$-z5~nWg=}UsVYp!HpQ#{_&8An~S<1fjm*zKyrHmF27#+^4 x`1rk&EZfSkR8C?on>%wt3;O{L3Dzy_3@=Og7TEqO`UJFx!PC{xWt~$(69D$UE$jdQ diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/tabs_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/tabs_icons.png deleted file mode 100644 index 4d29966d7154338a9e2e358821a5f72655eba43e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^20$#p!3HD)*8SNCq+&f?978H@B_~L*E^a7uNPG49 z|BoM6E;$_tDnm{r-UW|t3f!- diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/tagbox_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/tagbox_icons.png deleted file mode 100644 index bd02e2d817c6b7c4e2a105919e9a89cc0a1d577f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel&`0YV@SoV>_0CQASS diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/tree_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/tree_icons.png deleted file mode 100644 index e9be4f3a9965e49a4e4078f8c53f486d761a7468..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3115 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 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/validatebox_warning.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/validatebox_warning.png deleted file mode 100644 index 2b3d4f05babf3f82b146350e96570fac02075de0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 921 zcmV;K17`e*P)nRv1_mBsMY*-M^XCf)eflW5 z|MC^)Hw+AW{sHCCF+cz@{fF8J!+#-kxoSv=7^|!zgOQUngSQ}mDo|J)n+pH}hzZ#= zr~y18$_m-?9v%$;?mu8);}>9vFgFvDXJDwrW&l6{p}625M66yTFhGz^K$w9^O$BHi zFN2Ym7DIple*#cW4BY^L0Al(Jbv6k9U|^6IQBp{hx3XdQ&CJ4Z_|YSVr@XujY(PVT zlok1<85nBO4FCurumK>O|A07*jFlSRUcxLAQVcIR*co#3@)&jj4Pj7KXRri%#h;fa z4ya5O*#Lk5Vq!q}T~=CGH(uV-hJk^fkAYoGjN#AMuMF($>N=giWG}IXse|=+c=i>7HEg>%*E%fLD!-uy|85n^6W?^Dt(9zXp5EB&z+w>_knBmdiKMbzi z?A!`WOl>e100a=&05*1xZdFls?*HtZ48H?o7=HW%ivIu45E2~BASWx!@DIpmv9e}h zaPwji|L}pqor@y`=yxrU0RRES^qYY}O;TRcU+DKIhL4`%3_nyf8U6tS<<-ZJ40D$( zWjJ%`G6NIPHNP2{7am*Fp% z{>ShK#0G`~kjd~57_BU.panel-body, -.panel-hright>.panel-body { - position: absolute; -} -.panel-hleft>.panel-header { - float: left; -} -.panel-hright>.panel-header { - float: right; -} -.panel-hleft>.panel-body { - border-top-width: 1px; - border-left-width: 0; -} -.panel-hright>.panel-body { - border-top-width: 1px; - border-right-width: 0; -} -.panel-hleft>.panel-body-nobottom { - border-bottom-width: 1px; - border-right-width: 0; -} -.panel-hright>.panel-body-nobottom { - border-bottom-width: 1px; - border-left-width: 0; -} -.panel-hleft>.panel-footer { - position: absolute; - right: 0; -} -.panel-hright>.panel-footer { - position: absolute; - left: 0; -} -.panel-hleft>.panel-header-noborder { - border-width: 0 1px 0 0; -} -.panel-hright>.panel-header-noborder { - border-width: 0 0 0 1px; -} -.panel-hleft>.panel-body-noborder { - border-width: 0; -} -.panel-hright>.panel-body-noborder { - border-width: 0; -} -.panel-hleft>.panel-body-noheader { - border-left-width: 1px; -} -.panel-hright>.panel-body-noheader { - border-right-width: 1px; -} -.panel-hleft>.panel-footer-noborder { - border-width: 0 0 0 1px; -} -.panel-hright>.panel-footer-noborder { - border-width: 0 1px 0 0; -} -.panel-hleft>.panel-header .panel-icon, -.panel-hright>.panel-header .panel-icon { - margin-top: 0; - top: 5px; - left: 50%; - margin-left: -8px; -} -.panel-hleft>.panel-header .panel-title, -.panel-hright>.panel-header .panel-title { - position: absolute; - min-width: 16px; - left: 25px; - top: 5px; - bottom: auto; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(90deg); - -o-transform-origin: 0 0; - transform: rotate(90deg); - transform-origin: 0 0; -} -.panel-hleft>.panel-header .panel-title-up, -.panel-hright>.panel-header .panel-title-up { - position: absolute; - min-width: 16px; - left: 21px; - top: auto; - bottom: 0px; - text-align: right; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(-90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(-90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(-90deg); - -o-transform-origin: 0 0; - transform: rotate(-90deg); - transform-origin: 0 16px; -} -.panel-hleft>.panel-header .panel-with-icon.panel-title-up, -.panel-hright>.panel-header .panel-with-icon.panel-title-up { - padding-left: 0; - padding-right: 18px; -} -.panel-hleft>.panel-header .panel-tool, -.panel-hright>.panel-header .panel-tool { - top: auto; - bottom: 5px; - width: 16px; - height: auto; - left: 50%; - margin-left: -8px; - margin-top: 0; -} -.panel-hleft>.panel-header .panel-tool a, -.panel-hright>.panel-header .panel-tool a { - margin: 2px 0 0 0; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/passwordbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/passwordbox.css deleted file mode 100644 index 92c9ce5..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/passwordbox.css +++ /dev/null @@ -1,6 +0,0 @@ -.passwordbox-open { - background: url('images/passwordbox_open.png') no-repeat center center; -} -.passwordbox-close { - background: url('images/passwordbox_close.png') no-repeat center center; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/progressbar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/progressbar.css deleted file mode 100644 index 9fbcb3a..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/progressbar.css +++ /dev/null @@ -1,33 +0,0 @@ -.progressbar { - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - overflow: hidden; - position: relative; -} -.progressbar-text { - text-align: center; - position: absolute; -} -.progressbar-value { - position: relative; - overflow: hidden; - width: 0; - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.progressbar { - border-color: #95B8E7; -} -.progressbar-text { - color: #000000; - font-size: 14px; -} -.progressbar-value, -.progressbar-value .progressbar-text { - background-color: #ffe48d; - color: #000000; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/propertygrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/propertygrid.css deleted file mode 100644 index 3b6f419..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/propertygrid.css +++ /dev/null @@ -1,27 +0,0 @@ -.propertygrid .datagrid-view1 .datagrid-body td { - padding-bottom: 1px; - border-width: 0 1px 0 0; -} -.propertygrid .datagrid-group { - overflow: hidden; - border-width: 0 0 1px 0; - border-style: solid; -} -.propertygrid .datagrid-group span { - font-weight: bold; -} -.propertygrid .datagrid-view1 .datagrid-body td { - border-color: #dddddd; -} -.propertygrid .datagrid-view1 .datagrid-group { - border-color: #E0ECFF; -} -.propertygrid .datagrid-view2 .datagrid-group { - border-color: #dddddd; -} -.propertygrid .datagrid-group, -.propertygrid .datagrid-view1 .datagrid-body, -.propertygrid .datagrid-view1 .datagrid-row-over, -.propertygrid .datagrid-view1 .datagrid-row-selected { - background: #E0ECFF; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/radiobutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/radiobutton.css deleted file mode 100644 index 82533c8..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/radiobutton.css +++ /dev/null @@ -1,25 +0,0 @@ -.radiobutton { - position: relative; - border: 2px solid #ffab3f; - border-radius: 50%; -} -.radiobutton-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #ffab3f; - border-radius: 50%; - transform: scale(.6); -} -.radiobutton-disabled { - opacity: 0.6; -} -.radiobutton-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/searchbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/searchbox.css deleted file mode 100644 index ada5ce3..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/searchbox.css +++ /dev/null @@ -1,61 +0,0 @@ -.searchbox-button { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.searchbox-button-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.searchbox .l-btn-plain { - border: 0; - padding: 0; - vertical-align: top; - opacity: 0.6; - filter: alpha(opacity=60); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .l-btn-plain:hover { - border: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox a.m-btn-plain-active { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .m-btn-active { - border-width: 0 1px 0 0; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .textbox-button-right { - border-width: 0 0 0 1px; -} -.searchbox .textbox-button-left { - border-width: 0 1px 0 0; -} -.searchbox-button { - background: url('images/searchbox_button.png') no-repeat center center; -} -.searchbox .l-btn-plain { - background: #E0ECFF; -} -.searchbox .l-btn-plain-disabled, -.searchbox .l-btn-plain-disabled:hover { - opacity: 0.5; - filter: alpha(opacity=50); -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/sidemenu.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/sidemenu.css deleted file mode 100644 index 65c6b42..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/sidemenu.css +++ /dev/null @@ -1,72 +0,0 @@ -.sidemenu .tree-hit { - background-image: none; -} -.sidemenu-default-icon { - background-image: none; - width: 0; -} -.sidemenu .accordion .accordion-header, -.sidemenu .accordion .accordion-body { - border-bottom-color: transparent; - background: transparent; -} -.sidemenu .accordion .accordion-header { - color: #0E2D5F; -} -.sidemenu .accordion-header .panel-title { - height: 30px; - line-height: 30px; - color: #0E2D5F; -} -.sidemenu .accordion-header:hover { - background: #eaf2ff; - color: #0E2D5F; -} -.sidemenu .tree-node-hover { - background: #eaf2ff; - color: #0E2D5F; -} -.sidemenu .tree-node-selected { - border-right: 2px solid #ffab3f; - color: #000000; - background: #ffe48d; -} -.sidemenu .tree-node { - height: 40px; -} -.sidemenu .tree-title { - margin: 11px 0; -} -.sidemenu .tree-node-nonleaf { - position: relative; -} -.sidemenu .tree-node-nonleaf::after { - display: inline-block; - content: ''; - position: absolute; - top: 50%; - margin-top: -8px; - background: url('images/accordion_arrows.png') no-repeat 0 0; - width: 16px; - height: 16px; - right: 5px; -} -.sidemenu .tree-node-nonleaf-collapsed::after { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.sidemenu-collapsed .panel-icon { - left: 50%; - margin-left: -8px; -} -.sidemenu-tooltip { - padding: 0; - margin: 0 -12px; - border: 0; -} -.sidemenu-tooltip.tooltip-left { - margin: 0 12px; -} -.sidemenu-tooltip .tooltip-arrow-outer, -.sidemenu-tooltip .tooltip-arrow { - display: none; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/slider.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/slider.css deleted file mode 100644 index 8721832..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/slider.css +++ /dev/null @@ -1,101 +0,0 @@ -.slider-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.slider-h { - height: 22px; -} -.slider-v { - width: 22px; -} -.slider-inner { - position: relative; - height: 6px; - top: 7px; - border-width: 1px; - border-style: solid; - border-radius: 5px; -} -.slider-handle { - position: absolute; - display: block; - outline: none; - width: 20px; - height: 20px; - top: 50%; - margin-top: -10px; - margin-left: -10px; -} -.slider-tip { - position: absolute; - display: inline-block; - line-height: 12px; - font-size: 14px; - white-space: nowrap; - top: -22px; -} -.slider-rule { - position: relative; - top: 15px; -} -.slider-rule span { - position: absolute; - display: inline-block; - font-size: 0; - height: 5px; - border-width: 0 0 0 1px; - border-style: solid; -} -.slider-rulelabel { - position: relative; - top: 20px; -} -.slider-rulelabel span { - position: absolute; - display: inline-block; - font-size: 14px; -} -.slider-v .slider-inner { - width: 6px; - left: 7px; - top: 0; - float: left; -} -.slider-v .slider-handle { - left: 50%; - margin-top: -10px; -} -.slider-v .slider-tip { - left: -10px; - margin-top: -6px; -} -.slider-v .slider-rule { - float: left; - top: 0; - left: 16px; -} -.slider-v .slider-rule span { - width: 5px; - height: 'auto'; - border-left: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.slider-v .slider-rulelabel { - float: left; - top: 0; - left: 23px; -} -.slider-handle { - background: url('images/slider_handle.png') no-repeat; -} -.slider-inner { - border-color: #95B8E7; - background: #E0ECFF; -} -.slider-rule span { - border-color: #95B8E7; -} -.slider-rulelabel span { - color: #000000; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/spinner.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/spinner.css deleted file mode 100644 index 9e163f9..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/spinner.css +++ /dev/null @@ -1,114 +0,0 @@ -.spinner-arrow { - display: inline-block; - overflow: hidden; - vertical-align: top; - margin: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - width: 18px; -} -.spinner-arrow.spinner-button-top, -.spinner-arrow.spinner-button-bottom, -.spinner-arrow.spinner-button-left, -.spinner-arrow.spinner-button-right { - background-color: #E0ECFF; -} -.spinner-arrow-up, -.spinner-arrow-down { - opacity: 0.6; - filter: alpha(opacity=60); - display: block; - font-size: 1px; - width: 18px; - height: 10px; - width: 100%; - height: 50%; - color: #444; - outline-style: none; - background-color: #E0ECFF; -} -.spinner-button-updown { - opacity: 1.0; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - position: relative; - display: block; - width: 100%; - height: 50%; -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down { - opacity: 1.0; - filter: alpha(opacity=100); - cursor: pointer; - width: 16px; - height: 16px; - top: 50%; - left: 50%; - margin-top: -8px; - margin-left: -8px; - position: absolute; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-button-updown .spinner-button-top:hover, -.spinner-button-updown .spinner-button-bottom:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down, -.spinner-button-updown .spinner-arrow-up:hover, -.spinner-button-updown .spinner-arrow-down:hover { - background-color: transparent; -} -.spinner-arrow-hover { - background-color: #eaf2ff; - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-top:hover, -.spinner-button-bottom:hover, -.spinner-button-left:hover, -.spinner-button-right:hover, -.spinner-arrow-up:hover, -.spinner-arrow-down:hover { - opacity: 1.0; - filter: alpha(opacity=100); - background-color: #eaf2ff; -} -.textbox-disabled .spinner-button-top:hover, -.textbox-disabled .spinner-button-bottom:hover, -.textbox-disabled .spinner-button-left:hover, -.textbox-disabled .spinner-button-right:hover, -.textbox-icon-disabled .spinner-arrow-up:hover, -.textbox-icon-disabled .spinner-arrow-down:hover { - opacity: 0.6; - filter: alpha(opacity=60); - background-color: #E0ECFF; - cursor: default; -} -.spinner .textbox-icon-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-arrow-up { - background: url('images/spinner_arrows.png') no-repeat 1px center; - background-color: #E0ECFF; -} -.spinner-arrow-down { - background: url('images/spinner_arrows.png') no-repeat -15px center; - background-color: #E0ECFF; -} -.spinner-button-up { - background: url('images/spinner_arrows.png') no-repeat -32px center; -} -.spinner-button-down { - background: url('images/spinner_arrows.png') no-repeat -48px center; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/splitbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/splitbutton.css deleted file mode 100644 index 86d6da5..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/splitbutton.css +++ /dev/null @@ -1,12 +0,0 @@ -.s-btn:hover .m-btn-line, -.s-btn-active .m-btn-line, -.s-btn-plain-active .m-btn-line { - display: inline-block; -} -.l-btn:hover .s-btn-downarrow, -.s-btn-active .s-btn-downarrow, -.s-btn-plain-active .s-btn-downarrow { - border-style: solid; - border-color: #aac5e7; - border-width: 0 0 0 1px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/switchbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/switchbutton.css deleted file mode 100644 index 4b5d4ad..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/switchbutton.css +++ /dev/null @@ -1,77 +0,0 @@ -.switchbutton { - text-decoration: none; - display: inline-block; - overflow: hidden; - vertical-align: middle; - margin: 0; - padding: 0; - cursor: pointer; - background: #bbb; - border: 1px solid #bbb; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.switchbutton-inner { - display: inline-block; - overflow: hidden; - position: relative; - top: -1px; - left: -1px; -} -.switchbutton-on, -.switchbutton-off, -.switchbutton-handle { - display: inline-block; - text-align: center; - height: 100%; - float: left; - font-size: 14px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.switchbutton-on { - background: #ffe48d; - color: #000000; -} -.switchbutton-off { - background-color: #ffffff; - color: #000000; -} -.switchbutton-on, -.switchbutton-reversed .switchbutton-off { - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.switchbutton-off, -.switchbutton-reversed .switchbutton-on { - -moz-border-radius: 0 5px 5px 0; - -webkit-border-radius: 0 5px 5px 0; - border-radius: 0 5px 5px 0; -} -.switchbutton-handle { - position: absolute; - top: 0; - left: 50%; - background-color: #ffffff; - color: #000000; - border: 1px solid #bbb; - -moz-box-shadow: 0 0 3px 0 #bbb; - -webkit-box-shadow: 0 0 3px 0 #bbb; - box-shadow: 0 0 3px 0 #bbb; -} -.switchbutton-value { - position: absolute; - top: 0; - left: -5000px; -} -.switchbutton-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.switchbutton-disabled, -.switchbutton-readonly { - cursor: default; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tabs.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tabs.css deleted file mode 100644 index e3e97c7..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tabs.css +++ /dev/null @@ -1,413 +0,0 @@ -.tabs-container { - overflow: hidden; -} -.tabs-header { - border-width: 1px; - border-style: solid; - border-bottom-width: 0; - position: relative; - padding: 0; - padding-top: 2px; - overflow: hidden; -} -.tabs-scroller-left, -.tabs-scroller-right { - position: absolute; - top: auto; - bottom: 0; - width: 18px; - font-size: 1px; - display: none; - cursor: pointer; - border-width: 1px; - border-style: solid; -} -.tabs-scroller-left { - left: 0; -} -.tabs-scroller-right { - right: 0; -} -.tabs-tool { - position: absolute; - bottom: 0; - padding: 1px; - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.tabs-header-plain .tabs-tool { - padding: 0 1px; -} -.tabs-wrap { - position: relative; - left: 0; - overflow: hidden; - width: 100%; - margin: 0; - padding: 0; -} -.tabs-scrolling { - margin-left: 18px; - margin-right: 18px; -} -.tabs-disabled { - opacity: 0.3; - filter: alpha(opacity=30); -} -.tabs { - list-style-type: none; - height: 26px; - margin: 0px; - padding: 0px; - padding-left: 4px; - width: 50000px; - border-style: solid; - border-width: 0 0 1px 0; -} -.tabs li { - float: left; - display: inline-block; - margin: 0 4px -1px 0; - padding: 0; - position: relative; - border: 0; -} -.tabs li a.tabs-inner { - display: inline-block; - text-decoration: none; - margin: 0; - padding: 0 10px; - height: 25px; - line-height: 25px; - text-align: center; - white-space: nowrap; - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 0 0; - -webkit-border-radius: 5px 5px 0 0; - border-radius: 5px 5px 0 0; -} -.tabs li.tabs-selected a.tabs-inner { - font-weight: bold; - outline: none; -} -.tabs li.tabs-selected a:hover.tabs-inner { - cursor: default; - pointer: default; -} -.tabs li a.tabs-close, -.tabs-p-tool { - position: absolute; - font-size: 1px; - display: block; - height: 12px; - padding: 0; - top: 50%; - margin-top: -6px; - overflow: hidden; -} -.tabs li a.tabs-close { - width: 12px; - right: 5px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs-p-tool { - right: 16px; -} -.tabs-p-tool a { - display: inline-block; - font-size: 1px; - width: 12px; - height: 12px; - margin: 0; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs li a:hover.tabs-close, -.tabs-p-tool a:hover { - opacity: 1; - filter: alpha(opacity=100); - cursor: hand; - cursor: pointer; -} -.tabs-with-icon { - padding-left: 18px; -} -.tabs-icon { - position: absolute; - width: 16px; - height: 16px; - left: 10px; - top: 50%; - margin-top: -8px; -} -.tabs-title { - font-size: 14px; -} -.tabs-closable { - padding-right: 8px; -} -.tabs-panels { - margin: 0px; - padding: 0px; - border-width: 1px; - border-style: solid; - border-top-width: 0; - overflow: hidden; -} -.tabs-header-bottom { - border-width: 0 1px 1px 1px; - padding: 0 0 2px 0; -} -.tabs-header-bottom .tabs { - border-width: 1px 0 0 0; -} -.tabs-header-bottom .tabs li { - margin: -1px 4px 0 0; -} -.tabs-header-bottom .tabs li a.tabs-inner { - -moz-border-radius: 0 0 5px 5px; - -webkit-border-radius: 0 0 5px 5px; - border-radius: 0 0 5px 5px; -} -.tabs-header-bottom .tabs-tool { - top: 0; -} -.tabs-header-bottom .tabs-scroller-left, -.tabs-header-bottom .tabs-scroller-right { - top: 0; - bottom: auto; -} -.tabs-panels-top { - border-width: 1px 1px 0 1px; -} -.tabs-header-left { - float: left; - border-width: 1px 0 1px 1px; - padding: 0; -} -.tabs-header-right { - float: right; - border-width: 1px 1px 1px 0; - padding: 0; -} -.tabs-header-left .tabs-wrap, -.tabs-header-right .tabs-wrap { - height: 100%; -} -.tabs-header-left .tabs { - height: 100%; - padding: 4px 0 0 2px; - border-width: 0 1px 0 0; -} -.tabs-header-right .tabs { - height: 100%; - padding: 4px 2px 0 0; - border-width: 0 0 0 1px; -} -.tabs-header-left .tabs li, -.tabs-header-right .tabs li { - display: block; - width: 100%; - position: relative; -} -.tabs-header-left .tabs li { - left: auto; - right: 0; - margin: 0 -1px 4px 0; - float: right; -} -.tabs-header-right .tabs li { - left: 0; - right: auto; - margin: 0 0 4px -1px; - float: left; -} -.tabs-justified li a.tabs-inner { - padding-left: 0; - padding-right: 0; -} -.tabs-header-left .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.tabs-header-right .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 0 5px 5px 0; - -webkit-border-radius: 0 5px 5px 0; - border-radius: 0 5px 5px 0; -} -.tabs-panels-right { - float: right; - border-width: 1px 1px 1px 0; -} -.tabs-panels-left { - float: left; - border-width: 1px 0 1px 1px; -} -.tabs-header-noborder, -.tabs-panels-noborder { - border: 0px; -} -.tabs-header-plain { - border: 0px; - background: transparent; -} -.tabs-pill { - padding-bottom: 3px; -} -.tabs-header-bottom .tabs-pill { - padding-top: 3px; - padding-bottom: 0; -} -.tabs-header-left .tabs-pill { - padding-right: 3px; -} -.tabs-header-right .tabs-pill { - padding-left: 3px; -} -.tabs-header .tabs-pill li a.tabs-inner { - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.tabs-header-narrow, -.tabs-header-narrow .tabs-narrow { - padding: 0; -} -.tabs-narrow li, -.tabs-header-bottom .tabs-narrow li { - margin-left: 0; - margin-right: -1px; -} -.tabs-narrow li.tabs-last, -.tabs-header-bottom .tabs-narrow li.tabs-last { - margin-right: 0; -} -.tabs-header-left .tabs-narrow, -.tabs-header-right .tabs-narrow { - padding-top: 0; -} -.tabs-header-left .tabs-narrow li { - margin-bottom: -1px; - margin-right: -1px; -} -.tabs-header-left .tabs-narrow li.tabs-last, -.tabs-header-right .tabs-narrow li.tabs-last { - margin-bottom: 0; -} -.tabs-header-right .tabs-narrow li { - margin-bottom: -1px; - margin-left: -1px; -} -.tabs-scroller-left { - background: #E0ECFF url('images/tabs_icons.png') no-repeat 1px center; -} -.tabs-scroller-right { - background: #E0ECFF url('images/tabs_icons.png') no-repeat -15px center; -} -.tabs li a.tabs-close { - background: url('images/tabs_icons.png') no-repeat -34px center; -} -.tabs li a.tabs-inner:hover { - background: #eaf2ff; - color: #000000; - filter: none; -} -.tabs li.tabs-selected a.tabs-inner { - background-color: #ffffff; - color: #0E2D5F; - background: -webkit-linear-gradient(top,#EFF5FF 0,#ffffff 100%); - background: -moz-linear-gradient(top,#EFF5FF 0,#ffffff 100%); - background: -o-linear-gradient(top,#EFF5FF 0,#ffffff 100%); - background: linear-gradient(to bottom,#EFF5FF 0,#ffffff 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#ffffff,GradientType=0); -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(top,#ffffff 0,#EFF5FF 100%); - background: -moz-linear-gradient(top,#ffffff 0,#EFF5FF 100%); - background: -o-linear-gradient(top,#ffffff 0,#EFF5FF 100%); - background: linear-gradient(to bottom,#ffffff 0,#EFF5FF 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#EFF5FF,GradientType=0); -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(left,#EFF5FF 0,#ffffff 100%); - background: -moz-linear-gradient(left,#EFF5FF 0,#ffffff 100%); - background: -o-linear-gradient(left,#EFF5FF 0,#ffffff 100%); - background: linear-gradient(to right,#EFF5FF 0,#ffffff 100%); - background-repeat: repeat-y; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#ffffff,GradientType=1); -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(left,#ffffff 0,#EFF5FF 100%); - background: -moz-linear-gradient(left,#ffffff 0,#EFF5FF 100%); - background: -o-linear-gradient(left,#ffffff 0,#EFF5FF 100%); - background: linear-gradient(to right,#ffffff 0,#EFF5FF 100%); - background-repeat: repeat-y; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#EFF5FF,GradientType=1); -} -.tabs li a.tabs-inner { - color: #0E2D5F; - background-color: #E0ECFF; - background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); - background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); - background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); - background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0); -} -.tabs-header, -.tabs-tool { - background-color: #E0ECFF; -} -.tabs-header-plain { - background: transparent; -} -.tabs-header, -.tabs-scroller-left, -.tabs-scroller-right, -.tabs-tool, -.tabs, -.tabs-panels, -.tabs li a.tabs-inner, -.tabs li.tabs-selected a.tabs-inner, -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, -.tabs-header-left .tabs li.tabs-selected a.tabs-inner, -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-color: #95B8E7; -} -.tabs-p-tool a:hover, -.tabs li a:hover.tabs-close, -.tabs-scroller-over { - background-color: #eaf2ff; -} -.tabs li.tabs-selected a.tabs-inner { - border-bottom: 1px solid #ffffff; -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - border-top: 1px solid #ffffff; -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - border-right: 1px solid #ffffff; -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-left: 1px solid #ffffff; -} -.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { - background: #ffe48d; - color: #000000; - filter: none; - border-color: #95B8E7; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tagbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tagbox.css deleted file mode 100644 index 67d51a3..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tagbox.css +++ /dev/null @@ -1,44 +0,0 @@ -.tagbox { - cursor: text; -} -.tagbox .textbox-text { - float: left; -} -.tagbox-label { - position: relative; - display: block; - margin: 4px 0 0 4px; - padding: 0 20px 0 4px; - float: left; - vertical-align: top; - text-decoration: none; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - background: #eaf2ff; - color: #000000; -} -.tagbox-remove { - background: url('images/tagbox_icons.png') no-repeat -16px center; - position: absolute; - display: block; - width: 16px; - height: 16px; - right: 2px; - top: 50%; - margin-top: -8px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tagbox-remove:hover { - opacity: 1; - filter: alpha(opacity=100); -} -.textbox-disabled .tagbox-label { - cursor: default; -} -.textbox-disabled .tagbox-remove:hover { - cursor: default; - opacity: 0.6; - filter: alpha(opacity=60); -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/textbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/textbox.css deleted file mode 100644 index 71b154a..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/textbox.css +++ /dev/null @@ -1,144 +0,0 @@ -.textbox { - position: relative; - border: 1px solid #95B8E7; - background-color: #fff; - vertical-align: middle; - display: inline-block; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.textbox .textbox-text { - font-size: 14px; - border: 0; - margin: 0; - padding: 0 4px; - white-space: normal; - vertical-align: top; - outline-style: none; - resize: none; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - height: 28px; - line-height: 28px; -} -.textbox textarea.textbox-text { - line-height: normal; -} -.textbox .textbox-text::-ms-clear, -.textbox .textbox-text::-ms-reveal { - display: none; -} -.textbox textarea.textbox-text { - white-space: pre-wrap; -} -.textbox .textbox-prompt { - font-size: 14px; - color: #aaa; -} -.textbox .textbox-bgicon { - background-position: 3px center; - padding-left: 21px; -} -.textbox .textbox-button, -.textbox .textbox-button:hover { - position: absolute; - top: 0; - padding: 0; - vertical-align: top; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.textbox .textbox-button-right, -.textbox .textbox-button-right:hover { - right: 0; - border-width: 0 0 0 1px; -} -.textbox .textbox-button-left, -.textbox .textbox-button-left:hover { - left: 0; - border-width: 0 1px 0 0; -} -.textbox .textbox-button-top, -.textbox .textbox-button-top:hover { - left: 0; - border-width: 0 0 1px 0; -} -.textbox .textbox-button-bottom, -.textbox .textbox-button-bottom:hover { - top: auto; - bottom: 0; - left: 0; - border-width: 1px 0 0 0; -} -.textbox-addon { - position: absolute; - top: 0; -} -.textbox-label { - display: inline-block; - width: 80px; - height: 30px; - line-height: 30px; - vertical-align: middle; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - margin: 0; - padding-right: 5px; -} -.textbox-label-after { - padding-left: 5px; - padding-right: 0; -} -.textbox-label-top { - display: block; - width: auto; - padding: 0; -} -.textbox-disabled, -.textbox-label-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-icon { - display: inline-block; - width: 18px; - height: 20px; - overflow: hidden; - vertical-align: top; - background-position: center center; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); - text-decoration: none; - outline-style: none; -} -.textbox-icon-disabled, -.textbox-icon-readonly { - cursor: default; -} -.textbox-icon:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.textbox-icon-disabled:hover { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-focused { - border-color: #6b9cde; - -moz-box-shadow: 0 0 3px 0 #95B8E7; - -webkit-box-shadow: 0 0 3px 0 #95B8E7; - box-shadow: 0 0 3px 0 #95B8E7; -} -.textbox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tooltip.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tooltip.css deleted file mode 100644 index 8ce21b4..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tooltip.css +++ /dev/null @@ -1,103 +0,0 @@ -.tooltip { - position: absolute; - display: none; - z-index: 9900000; - outline: none; - opacity: 1; - filter: alpha(opacity=100); - padding: 5px; - border-width: 1px; - border-style: solid; - border-radius: 5px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.tooltip-content { - font-size: 14px; -} -.tooltip-arrow-outer, -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - line-height: 0; - font-size: 0; - border-style: solid; - border-width: 6px; - border-color: transparent; - _border-color: tomato; - _filter: chroma(color=tomato); -} -.tooltip-arrow { - display: none \9; -} -.tooltip-right .tooltip-arrow-outer { - left: 0; - top: 50%; - margin: -6px 0 0 -13px; -} -.tooltip-right .tooltip-arrow { - left: 0; - top: 50%; - margin: -6px 0 0 -12px; -} -.tooltip-left .tooltip-arrow-outer { - right: 0; - top: 50%; - margin: -6px -13px 0 0; -} -.tooltip-left .tooltip-arrow { - right: 0; - top: 50%; - margin: -6px -12px 0 0; -} -.tooltip-top .tooltip-arrow-outer { - bottom: 0; - left: 50%; - margin: 0 0 -13px -6px; -} -.tooltip-top .tooltip-arrow { - bottom: 0; - left: 50%; - margin: 0 0 -12px -6px; -} -.tooltip-bottom .tooltip-arrow-outer { - top: 0; - left: 50%; - margin: -13px 0 0 -6px; -} -.tooltip-bottom .tooltip-arrow { - top: 0; - left: 50%; - margin: -12px 0 0 -6px; -} -.tooltip { - background-color: #ffffff; - border-color: #95B8E7; - color: #000000; -} -.tooltip-right .tooltip-arrow-outer { - border-right-color: #95B8E7; -} -.tooltip-right .tooltip-arrow { - border-right-color: #ffffff; -} -.tooltip-left .tooltip-arrow-outer { - border-left-color: #95B8E7; -} -.tooltip-left .tooltip-arrow { - border-left-color: #ffffff; -} -.tooltip-top .tooltip-arrow-outer { - border-top-color: #95B8E7; -} -.tooltip-top .tooltip-arrow { - border-top-color: #ffffff; -} -.tooltip-bottom .tooltip-arrow-outer { - border-bottom-color: #95B8E7; -} -.tooltip-bottom .tooltip-arrow { - border-bottom-color: #ffffff; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tree.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tree.css deleted file mode 100644 index 4a1bce0..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tree.css +++ /dev/null @@ -1,164 +0,0 @@ -.tree { - margin: 0; - padding: 0; - list-style-type: none; -} -.tree li { - white-space: nowrap; -} -.tree li ul { - list-style-type: none; - margin: 0; - padding: 0; -} -.tree-node { - height: 26px; - white-space: nowrap; - cursor: pointer; -} -.tree-hit { - cursor: pointer; -} -.tree-expanded, -.tree-collapsed, -.tree-folder, -.tree-file, -.tree-checkbox, -.tree-indent { - display: inline-block; - width: 16px; - height: 18px; - margin: 4px 0; - vertical-align: middle; - overflow: hidden; -} -.tree-expanded { - background: url('images/tree_icons.png') no-repeat -18px 0px; -} -.tree-expanded-hover { - background: url('images/tree_icons.png') no-repeat -50px 0px; -} -.tree-collapsed { - background: url('images/tree_icons.png') no-repeat 0px 0px; -} -.tree-collapsed-hover { - background: url('images/tree_icons.png') no-repeat -32px 0px; -} -.tree-lines .tree-expanded, -.tree-lines .tree-root-first .tree-expanded { - background: url('images/tree_icons.png') no-repeat -144px 0; -} -.tree-lines .tree-collapsed, -.tree-lines .tree-root-first .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -128px 0; -} -.tree-lines .tree-node-last .tree-expanded, -.tree-lines .tree-root-one .tree-expanded { - background: url('images/tree_icons.png') no-repeat -80px 0; -} -.tree-lines .tree-node-last .tree-collapsed, -.tree-lines .tree-root-one .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -64px 0; -} -.tree-line { - background: url('images/tree_icons.png') no-repeat -176px 0; -} -.tree-join { - background: url('images/tree_icons.png') no-repeat -192px 0; -} -.tree-joinbottom { - background: url('images/tree_icons.png') no-repeat -160px 0; -} -.tree-folder { - background: url('images/tree_icons.png') no-repeat -208px 0; -} -.tree-folder-open { - background: url('images/tree_icons.png') no-repeat -224px 0; -} -.tree-file { - background: url('images/tree_icons.png') no-repeat -240px 0; -} -.tree-loading { - background: url('images/loading.gif') no-repeat center center; -} -.tree-checkbox0 { - background: url('images/tree_icons.png') no-repeat -208px -18px; -} -.tree-checkbox1 { - background: url('images/tree_icons.png') no-repeat -224px -18px; -} -.tree-checkbox2 { - background: url('images/tree_icons.png') no-repeat -240px -18px; -} -.tree-title { - font-size: 14px; - display: inline-block; - text-decoration: none; - vertical-align: middle; - white-space: nowrap; - padding: 0 2px; - margin: 4px 0; - height: 18px; - line-height: 18px; -} -.tree-node-proxy { - font-size: 14px; - line-height: 20px; - padding: 0 2px 0 20px; - border-width: 1px; - border-style: solid; - z-index: 9900000; -} -.tree-dnd-icon { - display: inline-block; - position: absolute; - width: 16px; - height: 18px; - left: 2px; - top: 50%; - margin-top: -9px; -} -.tree-dnd-yes { - background: url('images/tree_icons.png') no-repeat -256px 0; -} -.tree-dnd-no { - background: url('images/tree_icons.png') no-repeat -256px -18px; -} -.tree-node-top { - border-top: 1px dotted red; -} -.tree-node-bottom { - border-bottom: 1px dotted red; -} -.tree-node-append .tree-title { - border: 1px dotted red; -} -.tree-editor { - border: 1px solid #95B8E7; - font-size: 14px; - height: 26px; - line-height: 26px; - padding: 0 4px; - margin: 0; - width: 80px; - outline-style: none; - vertical-align: middle; - position: absolute; - top: 0; -} -.tree-node-proxy { - background-color: #ffffff; - color: #000000; - border-color: #95B8E7; -} -.tree-node-hover { - background: #eaf2ff; - color: #000000; -} -.tree-node-selected { - background: #ffe48d; - color: #000000; -} -.tree-node-hidden { - display: none; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/validatebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/validatebox.css deleted file mode 100644 index 4d566de..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/validatebox.css +++ /dev/null @@ -1,13 +0,0 @@ -.inputbox { - display: inline-block; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; -} -.validatebox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; - color: #000; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/window.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/window.css deleted file mode 100644 index 25a4bee..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/window.css +++ /dev/null @@ -1,188 +0,0 @@ -.window { - overflow: hidden; - padding: 5px; - border-width: 1px; - border-style: solid; -} -.window .window-header { - background: transparent; - padding: 0px 0px 6px 0px; -} -.window .window-body { - border-width: 1px; - border-style: solid; - border-top-width: 0px; -} -.window .window-body-noheader { - border-top-width: 1px; -} -.window .panel-body-nobottom { - border-bottom-width: 0; -} -.window .window-header .panel-icon, -.window .window-header .panel-tool { - top: 50%; - margin-top: -11px; -} -.window .window-header .panel-icon { - left: 1px; -} -.window .window-header .panel-tool { - right: 1px; -} -.window .window-header .panel-with-icon { - padding-left: 18px; -} -.window-proxy { - position: absolute; - overflow: hidden; -} -.window-proxy-mask { - position: absolute; - filter: alpha(opacity=5); - opacity: 0.05; -} -.window-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - filter: alpha(opacity=40); - opacity: 0.40; - font-size: 1px; - overflow: hidden; -} -.window, -.window-shadow { - position: absolute; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.window-shadow { - background: #ccc; - -moz-box-shadow: 2px 2px 3px #cccccc; - -webkit-box-shadow: 2px 2px 3px #cccccc; - box-shadow: 2px 2px 3px #cccccc; - filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); -} -.window, -.window .window-body { - border-color: #95B8E7; -} -.window { - background-color: #E0ECFF; - background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%); - background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%); - background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%); - background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 20%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0); -} -.window-proxy { - border: 1px dashed #95B8E7; -} -.window-proxy-mask, -.window-mask { - background: #ccc; -} -.window .panel-footer { - border: 1px solid #95B8E7; - position: relative; - top: -1px; -} -.window-thinborder { - padding: 0; -} -.window-thinborder .window-header { - padding: 5px 5px 6px 5px; -} -.window-thinborder .window-body { - border-width: 0px; -} -.window-thinborder .window-footer { - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} -.window-thinborder .window-header .panel-icon, -.window-thinborder .window-header .panel-tool { - margin-top: -9px; - margin-left: 5px; - margin-right: 5px; -} -.window-noborder { - border: 0; -} -.window.panel-hleft .window-header { - padding: 0 6px 0 0; -} -.window.panel-hright .window-header { - padding: 0 0 0 6px; -} -.window.panel-hleft>.panel-header .panel-title { - top: auto; - left: 16px; -} -.window.panel-hright>.panel-header .panel-title { - top: auto; - right: 16px; -} -.window.panel-hleft>.panel-header .panel-title-up, -.window.panel-hright>.panel-header .panel-title-up { - bottom: 0; -} -.window.panel-hleft .window-body { - border-width: 1px 1px 1px 0; -} -.window.panel-hright .window-body { - border-width: 1px 0 1px 1px; -} -.window.panel-hleft .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: 0; -} -.window.panel-hright .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: auto; - right: 1px; -} -.window.panel-hleft .window-header .panel-tool, -.window.panel-hright .window-header .panel-tool { - margin-top: 0; - top: auto; - bottom: 1px; - right: auto; - margin-right: 0; - left: 50%; - margin-left: -11px; -} -.window.panel-hright .window-header .panel-tool { - left: auto; - right: 1px; -} -.window-thinborder.panel-hleft .window-header { - padding: 5px 6px 5px 5px; -} -.window-thinborder.panel-hright .window-header { - padding: 5px 5px 5px 6px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title { - left: 21px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title-up, -.window-thinborder.panel-hright>.panel-header .panel-title-up { - bottom: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-icon, -.window-thinborder.panel-hright .window-header .panel-icon { - margin-top: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-tool, -.window-thinborder.panel-hright .window-header .panel-tool { - left: 16px; - bottom: 5px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/accordion.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/accordion.css deleted file mode 100644 index 3226cb3..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/accordion.css +++ /dev/null @@ -1,89 +0,0 @@ -.accordion { - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.accordion .accordion-header { - border-width: 0 0 1px; - cursor: pointer; -} -.accordion .accordion-body { - border-width: 0 0 1px; -} -.accordion-noborder { - border-width: 0; -} -.accordion-noborder .accordion-header { - border-width: 0 0 1px; -} -.accordion-noborder .accordion-body { - border-width: 0 0 1px; -} -.accordion-collapse { - background: url('images/accordion_arrows.png') no-repeat 0 0; -} -.accordion-expand { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.accordion { - background: #ffffff; - border-color: #D3D3D3; -} -.accordion .accordion-header { - background: #f3f3f3; - filter: none; -} -.accordion .accordion-header-selected { - background: #0092DC; -} -.accordion .accordion-header-selected .panel-title { - color: #fff; -} -.accordion .panel-last > .accordion-header { - border-bottom-color: #f3f3f3; -} -.accordion .panel-last > .accordion-body { - border-bottom-color: #ffffff; -} -.accordion .panel-last > .accordion-header-selected, -.accordion .panel-last > .accordion-header-border { - border-bottom-color: #D3D3D3; -} -.accordion> .panel-hleft { - float: left; -} -.accordion> .panel-hleft>.panel-header { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft> .panel-body { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft.panel-last > .accordion-header { - border-right-color: #f3f3f3; -} -.accordion> .panel-hleft.panel-last > .accordion-body { - border-right-color: #ffffff; -} -.accordion> .panel-hleft.panel-last > .accordion-header-selected, -.accordion> .panel-hleft.panel-last > .accordion-header-border { - border-right-color: #D3D3D3; -} -.accordion> .panel-hright { - float: right; -} -.accordion> .panel-hright>.panel-header { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright> .panel-body { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright.panel-last > .accordion-header { - border-left-color: #f3f3f3; -} -.accordion> .panel-hright.panel-last > .accordion-body { - border-left-color: #ffffff; -} -.accordion> .panel-hright.panel-last > .accordion-header-selected, -.accordion> .panel-hright.panel-last > .accordion-header-border { - border-left-color: #D3D3D3; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/calendar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/calendar.css deleted file mode 100644 index c647dcd..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/calendar.css +++ /dev/null @@ -1,203 +0,0 @@ -.calendar { - border-width: 1px; - border-style: solid; - padding: 1px; - overflow: hidden; -} -.calendar table { - table-layout: fixed; - border-collapse: separate; - font-size: 14px; - width: 100%; - height: 100%; -} -.calendar table td, -.calendar table th { - font-size: 14px; -} -.calendar-noborder { - border: 0; -} -.calendar-header { - position: relative; - height: 28px; -} -.calendar-title { - text-align: center; - height: 28px; -} -.calendar-title span { - position: relative; - display: inline-block; - top: 0px; - padding: 0 3px; - height: 28px; - line-height: 28px; - font-size: 14px; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-prevmonth, -.calendar-nextmonth, -.calendar-prevyear, -.calendar-nextyear { - position: absolute; - top: 50%; - margin-top: -8px; - width: 16px; - height: 16px; - cursor: pointer; - font-size: 1px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-prevmonth { - left: 20px; - background: url('images/calendar_arrows.png') no-repeat -16px 0; -} -.calendar-nextmonth { - right: 20px; - background: url('images/calendar_arrows.png') no-repeat -32px 0; -} -.calendar-prevyear { - left: 3px; - background: url('images/calendar_arrows.png') no-repeat 0px 0; -} -.calendar-nextyear { - right: 3px; - background: url('images/calendar_arrows.png') no-repeat -48px 0; -} -.calendar-body { - position: relative; -} -.calendar-body th, -.calendar-body td { - text-align: center; -} -.calendar-day { - border: 0; - padding: 1px; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-other-month { - opacity: 0.3; - filter: alpha(opacity=30); -} -.calendar-disabled { - opacity: 0.6; - filter: alpha(opacity=60); - cursor: default; -} -.calendar-menu { - position: absolute; - top: 0; - left: 0; - width: 180px; - height: 150px; - padding: 5px; - font-size: 14px; - display: none; - overflow: hidden; -} -.calendar-menu-year-inner { - text-align: center; - padding-bottom: 5px; -} -.calendar-menu-year { - width: 80px; - line-height: 26px; - text-align: center; - border-width: 1px; - border-style: solid; - outline-style: none; - resize: none; - margin: 0; - padding: 0; - font-weight: bold; - font-size: 14px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-menu-prev, -.calendar-menu-next { - display: inline-block; - width: 25px; - height: 28px; - vertical-align: top; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-menu-prev { - margin-right: 10px; - background: url('images/calendar_arrows.png') no-repeat 5px center; -} -.calendar-menu-next { - margin-left: 10px; - background: url('images/calendar_arrows.png') no-repeat -44px center; -} -.calendar-menu-month { - text-align: center; - cursor: pointer; - font-weight: bold; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-body th, -.calendar-menu-month { - color: #4d4d4d; -} -.calendar-day { - color: #000000; -} -.calendar-sunday { - color: #CC2222; -} -.calendar-saturday { - color: #00ee00; -} -.calendar-today { - color: #0000ff; -} -.calendar-menu-year { - border-color: #D3D3D3; -} -.calendar { - border-color: #D3D3D3; -} -.calendar-header { - background: #f3f3f3; -} -.calendar-body, -.calendar-menu { - background: #ffffff; -} -.calendar-body th { - background: #fafafa; - padding: 4px 0; -} -.calendar-hover, -.calendar-nav-hover, -.calendar-menu-hover { - background-color: #e2e2e2; - color: #000000; -} -.calendar-hover { - border: 1px solid #ccc; - padding: 0; -} -.calendar-selected { - background-color: #0092DC; - color: #fff; - border: 1px solid #0070a9; - padding: 0; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/checkbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/checkbox.css deleted file mode 100644 index 0edec67..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/checkbox.css +++ /dev/null @@ -1,31 +0,0 @@ -.checkbox { - position: relative; - border: 2px solid #0070a9; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.checkbox-checked { - border: 0; - background: #0070a9; -} -.checkbox-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; -} -.checkbox path { - stroke-width: 2px; -} -.checkbox-disabled { - opacity: 0.6; -} -.checkbox-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/combo.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/combo.css deleted file mode 100644 index 6ebdf5e..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/combo.css +++ /dev/null @@ -1,35 +0,0 @@ -.combo-arrow { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.combo-arrow-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.combo-panel { - overflow: auto; -} -.combo-arrow { - background: url('images/combo_arrow.png') no-repeat center center; -} -.combo-panel { - background-color: #ffffff; -} -.combo-arrow { - background-color: #f3f3f3; -} -.combo-arrow-hover { - background-color: #e2e2e2; -} -.combo-arrow:hover { - background-color: #e2e2e2; -} -.combo .textbox-icon-disabled:hover { - cursor: default; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/combobox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/combobox.css deleted file mode 100644 index 06613c1..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/combobox.css +++ /dev/null @@ -1,40 +0,0 @@ -.combobox-item, -.combobox-group, -.combobox-stick { - font-size: 14px; - padding: 6px 4px; - line-height: 20px; -} -.combobox-item-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.combobox-gitem { - padding-left: 10px; -} -.combobox-group, -.combobox-stick { - font-weight: bold; -} -.combobox-stick { - position: absolute; - top: 1px; - left: 1px; - right: 1px; - background: inherit; -} -.combobox-item-hover { - background-color: #e2e2e2; - color: #000000; -} -.combobox-item-selected { - background-color: #0092DC; - color: #fff; -} -.combobox-icon { - display: inline-block; - width: 16px; - height: 16px; - vertical-align: middle; - margin-right: 2px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/datagrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/datagrid.css deleted file mode 100644 index f5e39b4..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/datagrid.css +++ /dev/null @@ -1,291 +0,0 @@ -.datagrid .panel-body { - overflow: hidden; - position: relative; -} -.datagrid-view { - position: relative; - overflow: hidden; -} -.datagrid-view1, -.datagrid-view2 { - position: absolute; - overflow: hidden; - top: 0; -} -.datagrid-view1 { - left: 0; -} -.datagrid-view2 { - right: 0; -} -.datagrid-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0.3; - filter: alpha(opacity=30); - display: none; -} -.datagrid-mask-msg { - position: absolute; - top: 50%; - margin-top: -20px; - padding: 10px 5px 10px 30px; - width: auto; - height: 16px; - border-width: 2px; - border-style: solid; - display: none; -} -.datagrid-empty { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 25px; - line-height: 25px; - text-align: center; -} -.datagrid-sort-icon { - padding: 0; - display: none; -} -.datagrid-toolbar { - height: auto; - padding: 1px 2px; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-btn-separator { - float: left; - height: 24px; - border-left: 1px solid #ccc; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.datagrid .datagrid-pager { - display: block; - margin: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.datagrid .datagrid-pager-top { - border-width: 0 0 1px 0; -} -.datagrid-header { - overflow: hidden; - cursor: default; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-header-inner { - float: left; - width: 10000px; -} -.datagrid-header-row, -.datagrid-row { - height: 32px; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-width: 0 1px 1px 0; - border-style: dotted; - margin: 0; - padding: 0; -} -.datagrid-cell, -.datagrid-cell-group, -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - margin: 0; - padding: 0 4px; - white-space: nowrap; - word-wrap: normal; - overflow: hidden; - height: 18px; - line-height: 18px; - font-size: 14px; -} -.datagrid-header .datagrid-cell { - height: auto; -} -.datagrid-header .datagrid-cell span { - font-size: 14px; -} -.datagrid-cell-group { - text-align: center; - text-overflow: ellipsis; -} -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - width: 30px; - text-align: center; - margin: 0; - padding: 0; -} -.datagrid-body { - margin: 0; - padding: 0; - overflow: auto; - zoom: 1; -} -.datagrid-view1 .datagrid-body-inner { - padding-bottom: 20px; -} -.datagrid-view1 .datagrid-body { - overflow: hidden; -} -.datagrid-footer { - overflow: hidden; -} -.datagrid-footer-inner { - border-width: 1px 0 0 0; - border-style: solid; - width: 10000px; - float: left; -} -.datagrid-row-editing .datagrid-cell { - height: auto; -} -.datagrid-header-check, -.datagrid-cell-check { - padding: 0; - width: 27px; - height: 18px; - font-size: 1px; - text-align: center; - overflow: hidden; -} -.datagrid-header-check input, -.datagrid-cell-check input { - margin: 0; - padding: 0; - width: 15px; - height: 18px; -} -.datagrid-resize-proxy { - position: absolute; - width: 1px; - height: 10000px; - top: 0; - cursor: e-resize; - display: none; -} -.datagrid-body .datagrid-editable { - margin: 0; - padding: 0; -} -.datagrid-body .datagrid-editable table { - width: 100%; - height: 100%; -} -.datagrid-body .datagrid-editable td { - border: 0; - margin: 0; - padding: 0; -} -.datagrid-view .datagrid-editable-input { - margin: 0; - padding: 2px 4px; - border: 1px solid #D3D3D3; - font-size: 14px; - outline-style: none; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-view .validatebox-invalid { - border-color: #ffa8a8; -} -.datagrid-sort .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -64px center; -} -.datagrid-sort-desc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -16px center; -} -.datagrid-sort-asc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat 0px center; -} -.datagrid-row-collapse { - background: url('images/datagrid_icons.png') no-repeat -48px center; -} -.datagrid-row-expand { - background: url('images/datagrid_icons.png') no-repeat -32px center; -} -.datagrid-mask-msg { - background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; -} -.datagrid-header, -.datagrid-td-rownumber { - background-color: #fafafa; - background: -webkit-linear-gradient(top,#fdfdfd 0,#f5f5f5 100%); - background: -moz-linear-gradient(top,#fdfdfd 0,#f5f5f5 100%); - background: -o-linear-gradient(top,#fdfdfd 0,#f5f5f5 100%); - background: linear-gradient(to bottom,#fdfdfd 0,#f5f5f5 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#fdfdfd,endColorstr=#f5f5f5,GradientType=0); -} -.datagrid-cell-rownumber { - color: #000000; -} -.datagrid-resize-proxy { - background: #bfbfbf; -} -.datagrid-mask { - background: #ccc; -} -.datagrid-mask-msg { - border-color: #D3D3D3; -} -.datagrid-toolbar, -.datagrid-pager { - background: #fafafa; -} -.datagrid-header, -.datagrid-toolbar, -.datagrid-pager, -.datagrid-footer-inner { - border-color: #ddd; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-color: #ccc; -} -.datagrid-htable, -.datagrid-btable, -.datagrid-ftable { - color: #000000; - border-collapse: separate; -} -.datagrid-row-alt { - background: #fafafa; -} -.datagrid-row-over, -.datagrid-header td.datagrid-header-over { - background: #e2e2e2; - color: #000000; - cursor: default; -} -.datagrid-row-selected { - background: #0092DC; - color: #fff; -} -.datagrid-row-editing .textbox, -.datagrid-row-editing .textbox-text { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-header .datagrid-filter-row td.datagrid-header-over { - background: inherit; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/datalist.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/datalist.css deleted file mode 100644 index de149ef..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/datalist.css +++ /dev/null @@ -1,95 +0,0 @@ -.datalist .datagrid-header { - border-width: 0; -} -.datalist .datagrid-group, -.m-list .m-list-group { - height: 25px; - line-height: 25px; - font-weight: bold; - overflow: hidden; - background-color: #fafafa; - border-style: solid; - border-width: 0 0 1px 0; - border-color: #ccc; -} -.datalist .datagrid-group-expander { - display: none; -} -.datalist .datagrid-group-title { - padding: 0 4px; -} -.datalist .datagrid-btable { - width: 100%; - table-layout: fixed; -} -.datalist .datagrid-row td { - border-style: solid; - border-left-color: transparent; - border-right-color: transparent; - border-bottom-width: 0; -} -.datalist-lines .datagrid-row td { - border-bottom-width: 1px; -} -.datalist .datagrid-cell, -.m-list li { - width: auto; - height: auto; - padding: 2px 4px; - line-height: 18px; - position: relative; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link, -.m-list li>a { - display: block; - position: relative; - cursor: pointer; - color: #000000; - text-decoration: none; - overflow: hidden; - margin: -2px -4px; - padding: 2px 4px; - padding-right: 16px; - line-height: 18px; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link::after, -.m-list li>a::after { - position: absolute; - display: block; - width: 8px; - height: 8px; - content: ''; - right: 6px; - top: 50%; - margin-top: -4px; - border-style: solid; - border-width: 1px 1px 0 0; - -ms-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -webkit-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); -} -.m-list { - margin: 0; - padding: 0; - list-style: none; -} -.m-list li { - border-style: solid; - border-width: 0 0 1px 0; - border-color: #ccc; -} -.m-list li>a:hover { - background: #e2e2e2; - color: #000000; -} -.m-list .m-list-group { - padding: 0 4px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/datebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/datebox.css deleted file mode 100644 index 36281af..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/datebox.css +++ /dev/null @@ -1,36 +0,0 @@ -.datebox-calendar-inner { - height: 250px; -} -.datebox-button { - padding: 4px 0; - text-align: center; -} -.datebox-button a { - line-height: 22px; - font-size: 14px; - font-weight: bold; - text-decoration: none; - opacity: 0.6; - filter: alpha(opacity=60); -} -.datebox-button a:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.datebox-current, -.datebox-close { - float: left; -} -.datebox-close { - float: right; -} -.datebox .combo-arrow { - background-image: url('images/datebox_arrow.png'); - background-position: center center; -} -.datebox-button { - background-color: #fafafa; -} -.datebox-button a { - color: #444; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/dialog.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/dialog.css deleted file mode 100644 index 2850ca1..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/dialog.css +++ /dev/null @@ -1,47 +0,0 @@ -.dialog-content { - overflow: auto; -} -.dialog-toolbar { - position: relative; - padding: 2px 5px; -} -.dialog-tool-separator { - float: left; - height: 24px; - border-left: 1px solid #ccc; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.dialog-button { - position: relative; - top: -1px; - padding: 5px; - text-align: right; -} -.dialog-button .l-btn { - margin-left: 5px; -} -.dialog-toolbar, -.dialog-button { - background: #fafafa; - border-width: 1px; - border-style: solid; -} -.dialog-toolbar { - border-color: #D3D3D3 #D3D3D3 #ddd #D3D3D3; -} -.dialog-button { - border-color: #ddd #D3D3D3 #D3D3D3 #D3D3D3; -} -.window-thinborder .dialog-toolbar { - border-left: transparent; - border-right: transparent; - border-top-color: #fafafa; -} -.window-thinborder .dialog-button { - top: 0px; - padding: 5px 8px 8px 8px; - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/easyui.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/easyui.css deleted file mode 100644 index 199a66d..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/easyui.css +++ /dev/null @@ -1,3438 +0,0 @@ -.panel { - overflow: hidden; - text-align: left; - margin: 0; - border: 0; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.panel-header, -.panel-body { - border-width: 1px; - border-style: solid; -} -.panel-header { - padding: 5px; - position: relative; -} -.panel-title { - background: url('images/blank.gif') no-repeat; -} -.panel-header-noborder { - border-width: 0 0 1px 0; -} -.panel-body { - overflow: auto; - border-top-width: 0; - padding: 0; -} -.panel-body-noheader { - border-top-width: 1px; -} -.panel-body-noborder { - border-width: 0px; -} -.panel-body-nobottom { - border-bottom-width: 0; -} -.panel-with-icon { - padding-left: 18px; -} -.panel-icon, -.panel-tool { - position: absolute; - top: 50%; - margin-top: -8px; - height: 16px; - overflow: hidden; -} -.panel-icon { - left: 5px; - width: 16px; -} -.panel-tool { - right: 5px; - width: auto; -} -.panel-tool a { - display: inline-block; - width: 16px; - height: 16px; - opacity: 0.6; - filter: alpha(opacity=60); - margin: 0 0 0 2px; - vertical-align: top; -} -.panel-tool a:hover { - opacity: 1; - filter: alpha(opacity=100); - background-color: #e2e2e2; - -moz-border-radius: 3px 3px 3px 3px; - -webkit-border-radius: 3px 3px 3px 3px; - border-radius: 3px 3px 3px 3px; -} -.panel-loading { - padding: 11px 0px 10px 30px; -} -.panel-noscroll { - overflow: hidden; -} -.panel-fit, -.panel-fit body { - height: 100%; - margin: 0; - padding: 0; - border: 0; - overflow: hidden; -} -.panel-loading { - background: url('images/loading.gif') no-repeat 10px 10px; -} -.panel-tool-close { - background: url('images/panel_tools.png') no-repeat -16px 0px; -} -.panel-tool-min { - background: url('images/panel_tools.png') no-repeat 0px 0px; -} -.panel-tool-max { - background: url('images/panel_tools.png') no-repeat 0px -16px; -} -.panel-tool-restore { - background: url('images/panel_tools.png') no-repeat -16px -16px; -} -.panel-tool-collapse { - background: url('images/panel_tools.png') no-repeat -32px 0; -} -.panel-tool-expand { - background: url('images/panel_tools.png') no-repeat -32px -16px; -} -.panel-header, -.panel-body { - border-color: #D3D3D3; -} -.panel-header { - background-color: #f3f3f3; - background: -webkit-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); - background: -moz-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); - background: -o-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); - background: linear-gradient(to bottom,#F8F8F8 0,#eeeeee 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#eeeeee,GradientType=0); -} -.panel-body { - background-color: #ffffff; - color: #000000; - font-size: 14px; -} -.panel-title { - font-size: 14px; - font-weight: bold; - color: #575765; - height: 20px; - line-height: 20px; -} -.panel-footer { - border: 1px solid #D3D3D3; - overflow: hidden; - background: #fafafa; -} -.panel-footer-noborder { - border-width: 1px 0 0 0; -} -.panel-hleft, -.panel-hright { - position: relative; -} -.panel-hleft>.panel-body, -.panel-hright>.panel-body { - position: absolute; -} -.panel-hleft>.panel-header { - float: left; -} -.panel-hright>.panel-header { - float: right; -} -.panel-hleft>.panel-body { - border-top-width: 1px; - border-left-width: 0; -} -.panel-hright>.panel-body { - border-top-width: 1px; - border-right-width: 0; -} -.panel-hleft>.panel-body-nobottom { - border-bottom-width: 1px; - border-right-width: 0; -} -.panel-hright>.panel-body-nobottom { - border-bottom-width: 1px; - border-left-width: 0; -} -.panel-hleft>.panel-footer { - position: absolute; - right: 0; -} -.panel-hright>.panel-footer { - position: absolute; - left: 0; -} -.panel-hleft>.panel-header-noborder { - border-width: 0 1px 0 0; -} -.panel-hright>.panel-header-noborder { - border-width: 0 0 0 1px; -} -.panel-hleft>.panel-body-noborder { - border-width: 0; -} -.panel-hright>.panel-body-noborder { - border-width: 0; -} -.panel-hleft>.panel-body-noheader { - border-left-width: 1px; -} -.panel-hright>.panel-body-noheader { - border-right-width: 1px; -} -.panel-hleft>.panel-footer-noborder { - border-width: 0 0 0 1px; -} -.panel-hright>.panel-footer-noborder { - border-width: 0 1px 0 0; -} -.panel-hleft>.panel-header .panel-icon, -.panel-hright>.panel-header .panel-icon { - margin-top: 0; - top: 5px; - left: 50%; - margin-left: -8px; -} -.panel-hleft>.panel-header .panel-title, -.panel-hright>.panel-header .panel-title { - position: absolute; - min-width: 16px; - left: 25px; - top: 5px; - bottom: auto; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(90deg); - -o-transform-origin: 0 0; - transform: rotate(90deg); - transform-origin: 0 0; -} -.panel-hleft>.panel-header .panel-title-up, -.panel-hright>.panel-header .panel-title-up { - position: absolute; - min-width: 16px; - left: 21px; - top: auto; - bottom: 0px; - text-align: right; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(-90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(-90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(-90deg); - -o-transform-origin: 0 0; - transform: rotate(-90deg); - transform-origin: 0 16px; -} -.panel-hleft>.panel-header .panel-with-icon.panel-title-up, -.panel-hright>.panel-header .panel-with-icon.panel-title-up { - padding-left: 0; - padding-right: 18px; -} -.panel-hleft>.panel-header .panel-tool, -.panel-hright>.panel-header .panel-tool { - top: auto; - bottom: 5px; - width: 16px; - height: auto; - left: 50%; - margin-left: -8px; - margin-top: 0; -} -.panel-hleft>.panel-header .panel-tool a, -.panel-hright>.panel-header .panel-tool a { - margin: 2px 0 0 0; -} -.accordion { - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.accordion .accordion-header { - border-width: 0 0 1px; - cursor: pointer; -} -.accordion .accordion-body { - border-width: 0 0 1px; -} -.accordion-noborder { - border-width: 0; -} -.accordion-noborder .accordion-header { - border-width: 0 0 1px; -} -.accordion-noborder .accordion-body { - border-width: 0 0 1px; -} -.accordion-collapse { - background: url('images/accordion_arrows.png') no-repeat 0 0; -} -.accordion-expand { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.accordion { - background: #ffffff; - border-color: #D3D3D3; -} -.accordion .accordion-header { - background: #f3f3f3; - filter: none; -} -.accordion .accordion-header-selected { - background: #0092DC; -} -.accordion .accordion-header-selected .panel-title { - color: #fff; -} -.accordion .panel-last > .accordion-header { - border-bottom-color: #f3f3f3; -} -.accordion .panel-last > .accordion-body { - border-bottom-color: #ffffff; -} -.accordion .panel-last > .accordion-header-selected, -.accordion .panel-last > .accordion-header-border { - border-bottom-color: #D3D3D3; -} -.accordion> .panel-hleft { - float: left; -} -.accordion> .panel-hleft>.panel-header { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft> .panel-body { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft.panel-last > .accordion-header { - border-right-color: #f3f3f3; -} -.accordion> .panel-hleft.panel-last > .accordion-body { - border-right-color: #ffffff; -} -.accordion> .panel-hleft.panel-last > .accordion-header-selected, -.accordion> .panel-hleft.panel-last > .accordion-header-border { - border-right-color: #D3D3D3; -} -.accordion> .panel-hright { - float: right; -} -.accordion> .panel-hright>.panel-header { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright> .panel-body { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright.panel-last > .accordion-header { - border-left-color: #f3f3f3; -} -.accordion> .panel-hright.panel-last > .accordion-body { - border-left-color: #ffffff; -} -.accordion> .panel-hright.panel-last > .accordion-header-selected, -.accordion> .panel-hright.panel-last > .accordion-header-border { - border-left-color: #D3D3D3; -} -.window { - overflow: hidden; - padding: 5px; - border-width: 1px; - border-style: solid; -} -.window .window-header { - background: transparent; - padding: 0px 0px 6px 0px; -} -.window .window-body { - border-width: 1px; - border-style: solid; - border-top-width: 0px; -} -.window .window-body-noheader { - border-top-width: 1px; -} -.window .panel-body-nobottom { - border-bottom-width: 0; -} -.window .window-header .panel-icon, -.window .window-header .panel-tool { - top: 50%; - margin-top: -11px; -} -.window .window-header .panel-icon { - left: 1px; -} -.window .window-header .panel-tool { - right: 1px; -} -.window .window-header .panel-with-icon { - padding-left: 18px; -} -.window-proxy { - position: absolute; - overflow: hidden; -} -.window-proxy-mask { - position: absolute; - filter: alpha(opacity=5); - opacity: 0.05; -} -.window-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - filter: alpha(opacity=40); - opacity: 0.40; - font-size: 1px; - overflow: hidden; -} -.window, -.window-shadow { - position: absolute; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.window-shadow { - background: #ccc; - -moz-box-shadow: 2px 2px 3px #cccccc; - -webkit-box-shadow: 2px 2px 3px #cccccc; - box-shadow: 2px 2px 3px #cccccc; - filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); -} -.window, -.window .window-body { - border-color: #D3D3D3; -} -.window { - background-color: #f3f3f3; - background: -webkit-linear-gradient(top,#F8F8F8 0,#eeeeee 20%); - background: -moz-linear-gradient(top,#F8F8F8 0,#eeeeee 20%); - background: -o-linear-gradient(top,#F8F8F8 0,#eeeeee 20%); - background: linear-gradient(to bottom,#F8F8F8 0,#eeeeee 20%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#eeeeee,GradientType=0); -} -.window-proxy { - border: 1px dashed #D3D3D3; -} -.window-proxy-mask, -.window-mask { - background: #ccc; -} -.window .panel-footer { - border: 1px solid #D3D3D3; - position: relative; - top: -1px; -} -.window-thinborder { - padding: 0; -} -.window-thinborder .window-header { - padding: 5px 5px 6px 5px; -} -.window-thinborder .window-body { - border-width: 0px; -} -.window-thinborder .window-footer { - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} -.window-thinborder .window-header .panel-icon, -.window-thinborder .window-header .panel-tool { - margin-top: -9px; - margin-left: 5px; - margin-right: 5px; -} -.window-noborder { - border: 0; -} -.window.panel-hleft .window-header { - padding: 0 6px 0 0; -} -.window.panel-hright .window-header { - padding: 0 0 0 6px; -} -.window.panel-hleft>.panel-header .panel-title { - top: auto; - left: 16px; -} -.window.panel-hright>.panel-header .panel-title { - top: auto; - right: 16px; -} -.window.panel-hleft>.panel-header .panel-title-up, -.window.panel-hright>.panel-header .panel-title-up { - bottom: 0; -} -.window.panel-hleft .window-body { - border-width: 1px 1px 1px 0; -} -.window.panel-hright .window-body { - border-width: 1px 0 1px 1px; -} -.window.panel-hleft .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: 0; -} -.window.panel-hright .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: auto; - right: 1px; -} -.window.panel-hleft .window-header .panel-tool, -.window.panel-hright .window-header .panel-tool { - margin-top: 0; - top: auto; - bottom: 1px; - right: auto; - margin-right: 0; - left: 50%; - margin-left: -11px; -} -.window.panel-hright .window-header .panel-tool { - left: auto; - right: 1px; -} -.window-thinborder.panel-hleft .window-header { - padding: 5px 6px 5px 5px; -} -.window-thinborder.panel-hright .window-header { - padding: 5px 5px 5px 6px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title { - left: 21px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title-up, -.window-thinborder.panel-hright>.panel-header .panel-title-up { - bottom: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-icon, -.window-thinborder.panel-hright .window-header .panel-icon { - margin-top: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-tool, -.window-thinborder.panel-hright .window-header .panel-tool { - left: 16px; - bottom: 5px; -} -.dialog-content { - overflow: auto; -} -.dialog-toolbar { - position: relative; - padding: 2px 5px; -} -.dialog-tool-separator { - float: left; - height: 24px; - border-left: 1px solid #ccc; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.dialog-button { - position: relative; - top: -1px; - padding: 5px; - text-align: right; -} -.dialog-button .l-btn { - margin-left: 5px; -} -.dialog-toolbar, -.dialog-button { - background: #fafafa; - border-width: 1px; - border-style: solid; -} -.dialog-toolbar { - border-color: #D3D3D3 #D3D3D3 #ddd #D3D3D3; -} -.dialog-button { - border-color: #ddd #D3D3D3 #D3D3D3 #D3D3D3; -} -.window-thinborder .dialog-toolbar { - border-left: transparent; - border-right: transparent; - border-top-color: #fafafa; -} -.window-thinborder .dialog-button { - top: 0px; - padding: 5px 8px 8px 8px; - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} -.l-btn { - text-decoration: none; - display: inline-block; - overflow: hidden; - margin: 0; - padding: 0; - cursor: pointer; - outline: none; - text-align: center; - vertical-align: middle; - line-height: normal; -} -.l-btn-plain { - border-width: 0; - padding: 1px; -} -.l-btn-left { - display: inline-block; - position: relative; - overflow: hidden; - margin: 0; - padding: 0; - vertical-align: top; -} -.l-btn-text { - display: inline-block; - vertical-align: top; - width: auto; - line-height: 28px; - font-size: 14px; - padding: 0; - margin: 0 6px; -} -.l-btn-icon { - display: inline-block; - width: 16px; - height: 16px; - line-height: 16px; - position: absolute; - top: 50%; - margin-top: -8px; - font-size: 1px; -} -.l-btn span span .l-btn-empty { - display: inline-block; - margin: 0; - width: 16px; - height: 24px; - font-size: 1px; - vertical-align: top; -} -.l-btn span .l-btn-icon-left { - padding: 0 0 0 20px; - background-position: left center; -} -.l-btn span .l-btn-icon-right { - padding: 0 20px 0 0; - background-position: right center; -} -.l-btn-icon-left .l-btn-text { - margin: 0 6px 0 26px; -} -.l-btn-icon-left .l-btn-icon { - left: 6px; -} -.l-btn-icon-right .l-btn-text { - margin: 0 26px 0 6px; -} -.l-btn-icon-right .l-btn-icon { - right: 6px; -} -.l-btn-icon-top .l-btn-text { - margin: 20px 4px 0 4px; -} -.l-btn-icon-top .l-btn-icon { - top: 4px; - left: 50%; - margin: 0 0 0 -8px; -} -.l-btn-icon-bottom .l-btn-text { - margin: 0 4px 20px 4px; -} -.l-btn-icon-bottom .l-btn-icon { - top: auto; - bottom: 4px; - left: 50%; - margin: 0 0 0 -8px; -} -.l-btn-left .l-btn-empty { - margin: 0 6px; - width: 16px; -} -.l-btn-plain:hover { - padding: 0; -} -.l-btn-focus { - outline: #0000FF dotted thin; -} -.l-btn-large .l-btn-text { - line-height: 44px; -} -.l-btn-large .l-btn-icon { - width: 32px; - height: 32px; - line-height: 32px; - margin-top: -16px; -} -.l-btn-large .l-btn-icon-left .l-btn-text { - margin-left: 40px; -} -.l-btn-large .l-btn-icon-right .l-btn-text { - margin-right: 40px; -} -.l-btn-large .l-btn-icon-top .l-btn-text { - margin-top: 36px; - line-height: 24px; - min-width: 32px; -} -.l-btn-large .l-btn-icon-top .l-btn-icon { - margin: 0 0 0 -16px; -} -.l-btn-large .l-btn-icon-bottom .l-btn-text { - margin-bottom: 36px; - line-height: 24px; - min-width: 32px; -} -.l-btn-large .l-btn-icon-bottom .l-btn-icon { - margin: 0 0 0 -16px; -} -.l-btn-large .l-btn-left .l-btn-empty { - margin: 0 6px; - width: 32px; -} -.l-btn { - color: #444; - background: #fafafa; - background-repeat: repeat-x; - border: 1px solid #bbb; - background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%); - background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%); - background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%); - background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0); - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.l-btn:hover { - background: #e2e2e2; - color: #000000; - border: 1px solid #ccc; - filter: none; -} -.l-btn-plain { - background: transparent; - border-width: 0; - filter: none; -} -.l-btn-outline { - border-width: 1px; - border-color: #ccc; - padding: 0; -} -.l-btn-plain:hover { - background: #e2e2e2; - color: #000000; - border: 1px solid #ccc; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.l-btn-disabled, -.l-btn-disabled:hover { - opacity: 0.5; - cursor: default; - background: #fafafa; - color: #444; - background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%); - background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%); - background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%); - background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0); -} -.l-btn-disabled .l-btn-text, -.l-btn-disabled .l-btn-icon { - filter: alpha(opacity=50); -} -.l-btn-plain-disabled, -.l-btn-plain-disabled:hover { - background: transparent; - filter: alpha(opacity=50); -} -.l-btn-selected, -.l-btn-selected:hover { - background: #ddd; - filter: none; -} -.l-btn-plain-selected, -.l-btn-plain-selected:hover { - background: #ddd; -} -.textbox { - position: relative; - border: 1px solid #D3D3D3; - background-color: #fff; - vertical-align: middle; - display: inline-block; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.textbox .textbox-text { - font-size: 14px; - border: 0; - margin: 0; - padding: 0 4px; - white-space: normal; - vertical-align: top; - outline-style: none; - resize: none; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - height: 28px; - line-height: 28px; -} -.textbox textarea.textbox-text { - line-height: normal; -} -.textbox .textbox-text::-ms-clear, -.textbox .textbox-text::-ms-reveal { - display: none; -} -.textbox textarea.textbox-text { - white-space: pre-wrap; -} -.textbox .textbox-prompt { - font-size: 14px; - color: #aaa; -} -.textbox .textbox-bgicon { - background-position: 3px center; - padding-left: 21px; -} -.textbox .textbox-button, -.textbox .textbox-button:hover { - position: absolute; - top: 0; - padding: 0; - vertical-align: top; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.textbox .textbox-button-right, -.textbox .textbox-button-right:hover { - right: 0; - border-width: 0 0 0 1px; -} -.textbox .textbox-button-left, -.textbox .textbox-button-left:hover { - left: 0; - border-width: 0 1px 0 0; -} -.textbox .textbox-button-top, -.textbox .textbox-button-top:hover { - left: 0; - border-width: 0 0 1px 0; -} -.textbox .textbox-button-bottom, -.textbox .textbox-button-bottom:hover { - top: auto; - bottom: 0; - left: 0; - border-width: 1px 0 0 0; -} -.textbox-addon { - position: absolute; - top: 0; -} -.textbox-label { - display: inline-block; - width: 80px; - height: 30px; - line-height: 30px; - vertical-align: middle; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - margin: 0; - padding-right: 5px; -} -.textbox-label-after { - padding-left: 5px; - padding-right: 0; -} -.textbox-label-top { - display: block; - width: auto; - padding: 0; -} -.textbox-disabled, -.textbox-label-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-icon { - display: inline-block; - width: 18px; - height: 20px; - overflow: hidden; - vertical-align: top; - background-position: center center; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); - text-decoration: none; - outline-style: none; -} -.textbox-icon-disabled, -.textbox-icon-readonly { - cursor: default; -} -.textbox-icon:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.textbox-icon-disabled:hover { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-focused { - border-color: #bababa; - -moz-box-shadow: 0 0 3px 0 #D3D3D3; - -webkit-box-shadow: 0 0 3px 0 #D3D3D3; - box-shadow: 0 0 3px 0 #D3D3D3; -} -.textbox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; -} -.passwordbox-open { - background: url('images/passwordbox_open.png') no-repeat center center; -} -.passwordbox-close { - background: url('images/passwordbox_close.png') no-repeat center center; -} -.filebox .textbox-value { - vertical-align: top; - position: absolute; - top: 0; - left: -5000px; -} -.filebox-label { - display: inline-block; - position: absolute; - width: 100%; - height: 100%; - cursor: pointer; - left: 0; - top: 0; - z-index: 10; - background: url('images/blank.gif') no-repeat; -} -.l-btn-disabled .filebox-label { - cursor: default; -} -.combo-arrow { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.combo-arrow-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.combo-panel { - overflow: auto; -} -.combo-arrow { - background: url('images/combo_arrow.png') no-repeat center center; -} -.combo-panel { - background-color: #ffffff; -} -.combo-arrow { - background-color: #f3f3f3; -} -.combo-arrow-hover { - background-color: #e2e2e2; -} -.combo-arrow:hover { - background-color: #e2e2e2; -} -.combo .textbox-icon-disabled:hover { - cursor: default; -} -.combobox-item, -.combobox-group, -.combobox-stick { - font-size: 14px; - padding: 6px 4px; - line-height: 20px; -} -.combobox-item-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.combobox-gitem { - padding-left: 10px; -} -.combobox-group, -.combobox-stick { - font-weight: bold; -} -.combobox-stick { - position: absolute; - top: 1px; - left: 1px; - right: 1px; - background: inherit; -} -.combobox-item-hover { - background-color: #e2e2e2; - color: #000000; -} -.combobox-item-selected { - background-color: #0092DC; - color: #fff; -} -.combobox-icon { - display: inline-block; - width: 16px; - height: 16px; - vertical-align: middle; - margin-right: 2px; -} -.tagbox { - cursor: text; -} -.tagbox .textbox-text { - float: left; -} -.tagbox-label { - position: relative; - display: block; - margin: 4px 0 0 4px; - padding: 0 20px 0 4px; - float: left; - vertical-align: top; - text-decoration: none; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - background: #e2e2e2; - color: #000000; -} -.tagbox-remove { - background: url('images/tagbox_icons.png') no-repeat -16px center; - position: absolute; - display: block; - width: 16px; - height: 16px; - right: 2px; - top: 50%; - margin-top: -8px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tagbox-remove:hover { - opacity: 1; - filter: alpha(opacity=100); -} -.textbox-disabled .tagbox-label { - cursor: default; -} -.textbox-disabled .tagbox-remove:hover { - cursor: default; - opacity: 0.6; - filter: alpha(opacity=60); -} -.layout { - position: relative; - overflow: hidden; - margin: 0; - padding: 0; - z-index: 0; -} -.layout-panel { - position: absolute; - overflow: hidden; -} -.layout-body { - min-width: 1px; - min-height: 1px; -} -.layout-panel-east, -.layout-panel-west { - z-index: 2; -} -.layout-panel-north, -.layout-panel-south { - z-index: 3; -} -.layout-expand { - position: absolute; - padding: 0px; - font-size: 1px; - cursor: pointer; - z-index: 1; -} -.layout-expand .panel-header, -.layout-expand .panel-body { - background: transparent; - filter: none; - overflow: hidden; -} -.layout-expand .panel-header { - border-bottom-width: 0px; -} -.layout-expand .panel-body { - position: relative; -} -.layout-expand .panel-body .panel-icon { - margin-top: 0; - top: 0; - left: 50%; - margin-left: -8px; -} -.layout-expand-west .panel-header .panel-icon, -.layout-expand-east .panel-header .panel-icon { - display: none; -} -.layout-expand-title { - position: absolute; - top: 0; - left: 21px; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(90deg); - -o-transform-origin: 0 0; - transform: rotate(90deg); - transform-origin: 0 0; -} -.layout-expand-title-up { - position: absolute; - top: 0; - left: 0; - text-align: right; - padding-left: 5px; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(-90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(-90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(-90deg); - -o-transform-origin: 0 0; - transform: rotate(-90deg); - transform-origin: 0 0; -} -.layout-expand-with-icon { - top: 18px; -} -.layout-expand .panel-body-noheader .layout-expand-title, -.layout-expand .panel-body-noheader .panel-icon { - top: 5px; -} -.layout-expand .panel-body-noheader .layout-expand-with-icon { - top: 23px; -} -.layout-split-proxy-h, -.layout-split-proxy-v { - position: absolute; - font-size: 1px; - display: none; - z-index: 5; -} -.layout-split-proxy-h { - width: 5px; - cursor: e-resize; -} -.layout-split-proxy-v { - height: 5px; - cursor: n-resize; -} -.layout-mask { - position: absolute; - background: #fafafa; - filter: alpha(opacity=10); - opacity: 0.10; - z-index: 4; -} -.layout-button-up { - background: url('images/layout_arrows.png') no-repeat -16px -16px; -} -.layout-button-down { - background: url('images/layout_arrows.png') no-repeat -16px 0; -} -.layout-button-left { - background: url('images/layout_arrows.png') no-repeat 0 0; -} -.layout-button-right { - background: url('images/layout_arrows.png') no-repeat 0 -16px; -} -.layout-split-proxy-h, -.layout-split-proxy-v { - background-color: #bfbfbf; -} -.layout-split-north { - border-bottom: 5px solid #efefef; -} -.layout-split-south { - border-top: 5px solid #efefef; -} -.layout-split-east { - border-left: 5px solid #efefef; -} -.layout-split-west { - border-right: 5px solid #efefef; -} -.layout-expand { - background-color: #f3f3f3; -} -.layout-expand-over { - background-color: #f3f3f3; -} -.tabs-container { - overflow: hidden; -} -.tabs-header { - border-width: 1px; - border-style: solid; - border-bottom-width: 0; - position: relative; - padding: 0; - padding-top: 2px; - overflow: hidden; -} -.tabs-scroller-left, -.tabs-scroller-right { - position: absolute; - top: auto; - bottom: 0; - width: 18px; - font-size: 1px; - display: none; - cursor: pointer; - border-width: 1px; - border-style: solid; -} -.tabs-scroller-left { - left: 0; -} -.tabs-scroller-right { - right: 0; -} -.tabs-tool { - position: absolute; - bottom: 0; - padding: 1px; - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.tabs-header-plain .tabs-tool { - padding: 0 1px; -} -.tabs-wrap { - position: relative; - left: 0; - overflow: hidden; - width: 100%; - margin: 0; - padding: 0; -} -.tabs-scrolling { - margin-left: 18px; - margin-right: 18px; -} -.tabs-disabled { - opacity: 0.3; - filter: alpha(opacity=30); -} -.tabs { - list-style-type: none; - height: 26px; - margin: 0px; - padding: 0px; - padding-left: 4px; - width: 50000px; - border-style: solid; - border-width: 0 0 1px 0; -} -.tabs li { - float: left; - display: inline-block; - margin: 0 4px -1px 0; - padding: 0; - position: relative; - border: 0; -} -.tabs li a.tabs-inner { - display: inline-block; - text-decoration: none; - margin: 0; - padding: 0 10px; - height: 25px; - line-height: 25px; - text-align: center; - white-space: nowrap; - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 0 0; - -webkit-border-radius: 5px 5px 0 0; - border-radius: 5px 5px 0 0; -} -.tabs li.tabs-selected a.tabs-inner { - font-weight: bold; - outline: none; -} -.tabs li.tabs-selected a:hover.tabs-inner { - cursor: default; - pointer: default; -} -.tabs li a.tabs-close, -.tabs-p-tool { - position: absolute; - font-size: 1px; - display: block; - height: 12px; - padding: 0; - top: 50%; - margin-top: -6px; - overflow: hidden; -} -.tabs li a.tabs-close { - width: 12px; - right: 5px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs-p-tool { - right: 16px; -} -.tabs-p-tool a { - display: inline-block; - font-size: 1px; - width: 12px; - height: 12px; - margin: 0; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs li a:hover.tabs-close, -.tabs-p-tool a:hover { - opacity: 1; - filter: alpha(opacity=100); - cursor: hand; - cursor: pointer; -} -.tabs-with-icon { - padding-left: 18px; -} -.tabs-icon { - position: absolute; - width: 16px; - height: 16px; - left: 10px; - top: 50%; - margin-top: -8px; -} -.tabs-title { - font-size: 14px; -} -.tabs-closable { - padding-right: 8px; -} -.tabs-panels { - margin: 0px; - padding: 0px; - border-width: 1px; - border-style: solid; - border-top-width: 0; - overflow: hidden; -} -.tabs-header-bottom { - border-width: 0 1px 1px 1px; - padding: 0 0 2px 0; -} -.tabs-header-bottom .tabs { - border-width: 1px 0 0 0; -} -.tabs-header-bottom .tabs li { - margin: -1px 4px 0 0; -} -.tabs-header-bottom .tabs li a.tabs-inner { - -moz-border-radius: 0 0 5px 5px; - -webkit-border-radius: 0 0 5px 5px; - border-radius: 0 0 5px 5px; -} -.tabs-header-bottom .tabs-tool { - top: 0; -} -.tabs-header-bottom .tabs-scroller-left, -.tabs-header-bottom .tabs-scroller-right { - top: 0; - bottom: auto; -} -.tabs-panels-top { - border-width: 1px 1px 0 1px; -} -.tabs-header-left { - float: left; - border-width: 1px 0 1px 1px; - padding: 0; -} -.tabs-header-right { - float: right; - border-width: 1px 1px 1px 0; - padding: 0; -} -.tabs-header-left .tabs-wrap, -.tabs-header-right .tabs-wrap { - height: 100%; -} -.tabs-header-left .tabs { - height: 100%; - padding: 4px 0 0 2px; - border-width: 0 1px 0 0; -} -.tabs-header-right .tabs { - height: 100%; - padding: 4px 2px 0 0; - border-width: 0 0 0 1px; -} -.tabs-header-left .tabs li, -.tabs-header-right .tabs li { - display: block; - width: 100%; - position: relative; -} -.tabs-header-left .tabs li { - left: auto; - right: 0; - margin: 0 -1px 4px 0; - float: right; -} -.tabs-header-right .tabs li { - left: 0; - right: auto; - margin: 0 0 4px -1px; - float: left; -} -.tabs-justified li a.tabs-inner { - padding-left: 0; - padding-right: 0; -} -.tabs-header-left .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.tabs-header-right .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 0 5px 5px 0; - -webkit-border-radius: 0 5px 5px 0; - border-radius: 0 5px 5px 0; -} -.tabs-panels-right { - float: right; - border-width: 1px 1px 1px 0; -} -.tabs-panels-left { - float: left; - border-width: 1px 0 1px 1px; -} -.tabs-header-noborder, -.tabs-panels-noborder { - border: 0px; -} -.tabs-header-plain { - border: 0px; - background: transparent; -} -.tabs-pill { - padding-bottom: 3px; -} -.tabs-header-bottom .tabs-pill { - padding-top: 3px; - padding-bottom: 0; -} -.tabs-header-left .tabs-pill { - padding-right: 3px; -} -.tabs-header-right .tabs-pill { - padding-left: 3px; -} -.tabs-header .tabs-pill li a.tabs-inner { - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.tabs-header-narrow, -.tabs-header-narrow .tabs-narrow { - padding: 0; -} -.tabs-narrow li, -.tabs-header-bottom .tabs-narrow li { - margin-left: 0; - margin-right: -1px; -} -.tabs-narrow li.tabs-last, -.tabs-header-bottom .tabs-narrow li.tabs-last { - margin-right: 0; -} -.tabs-header-left .tabs-narrow, -.tabs-header-right .tabs-narrow { - padding-top: 0; -} -.tabs-header-left .tabs-narrow li { - margin-bottom: -1px; - margin-right: -1px; -} -.tabs-header-left .tabs-narrow li.tabs-last, -.tabs-header-right .tabs-narrow li.tabs-last { - margin-bottom: 0; -} -.tabs-header-right .tabs-narrow li { - margin-bottom: -1px; - margin-left: -1px; -} -.tabs-scroller-left { - background: #f3f3f3 url('images/tabs_icons.png') no-repeat 1px center; -} -.tabs-scroller-right { - background: #f3f3f3 url('images/tabs_icons.png') no-repeat -15px center; -} -.tabs li a.tabs-close { - background: url('images/tabs_icons.png') no-repeat -34px center; -} -.tabs li a.tabs-inner:hover { - background: #e2e2e2; - color: #000000; - filter: none; -} -.tabs li.tabs-selected a.tabs-inner { - background-color: #ffffff; - color: #575765; - background: -webkit-linear-gradient(top,#F8F8F8 0,#ffffff 100%); - background: -moz-linear-gradient(top,#F8F8F8 0,#ffffff 100%); - background: -o-linear-gradient(top,#F8F8F8 0,#ffffff 100%); - background: linear-gradient(to bottom,#F8F8F8 0,#ffffff 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#ffffff,GradientType=0); -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(top,#ffffff 0,#F8F8F8 100%); - background: -moz-linear-gradient(top,#ffffff 0,#F8F8F8 100%); - background: -o-linear-gradient(top,#ffffff 0,#F8F8F8 100%); - background: linear-gradient(to bottom,#ffffff 0,#F8F8F8 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F8F8F8,GradientType=0); -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(left,#F8F8F8 0,#ffffff 100%); - background: -moz-linear-gradient(left,#F8F8F8 0,#ffffff 100%); - background: -o-linear-gradient(left,#F8F8F8 0,#ffffff 100%); - background: linear-gradient(to right,#F8F8F8 0,#ffffff 100%); - background-repeat: repeat-y; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#ffffff,GradientType=1); -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(left,#ffffff 0,#F8F8F8 100%); - background: -moz-linear-gradient(left,#ffffff 0,#F8F8F8 100%); - background: -o-linear-gradient(left,#ffffff 0,#F8F8F8 100%); - background: linear-gradient(to right,#ffffff 0,#F8F8F8 100%); - background-repeat: repeat-y; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F8F8F8,GradientType=1); -} -.tabs li a.tabs-inner { - color: #575765; - background-color: #f3f3f3; - background: -webkit-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); - background: -moz-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); - background: -o-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); - background: linear-gradient(to bottom,#F8F8F8 0,#eeeeee 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#eeeeee,GradientType=0); -} -.tabs-header, -.tabs-tool { - background-color: #f3f3f3; -} -.tabs-header-plain { - background: transparent; -} -.tabs-header, -.tabs-scroller-left, -.tabs-scroller-right, -.tabs-tool, -.tabs, -.tabs-panels, -.tabs li a.tabs-inner, -.tabs li.tabs-selected a.tabs-inner, -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, -.tabs-header-left .tabs li.tabs-selected a.tabs-inner, -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-color: #D3D3D3; -} -.tabs-p-tool a:hover, -.tabs li a:hover.tabs-close, -.tabs-scroller-over { - background-color: #e2e2e2; -} -.tabs li.tabs-selected a.tabs-inner { - border-bottom: 1px solid #ffffff; -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - border-top: 1px solid #ffffff; -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - border-right: 1px solid #ffffff; -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-left: 1px solid #ffffff; -} -.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { - background: #0092DC; - color: #fff; - filter: none; - border-color: #D3D3D3; -} -.datagrid .panel-body { - overflow: hidden; - position: relative; -} -.datagrid-view { - position: relative; - overflow: hidden; -} -.datagrid-view1, -.datagrid-view2 { - position: absolute; - overflow: hidden; - top: 0; -} -.datagrid-view1 { - left: 0; -} -.datagrid-view2 { - right: 0; -} -.datagrid-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0.3; - filter: alpha(opacity=30); - display: none; -} -.datagrid-mask-msg { - position: absolute; - top: 50%; - margin-top: -20px; - padding: 10px 5px 10px 30px; - width: auto; - height: 16px; - border-width: 2px; - border-style: solid; - display: none; -} -.datagrid-empty { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 25px; - line-height: 25px; - text-align: center; -} -.datagrid-sort-icon { - padding: 0; - display: none; -} -.datagrid-toolbar { - height: auto; - padding: 1px 2px; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-btn-separator { - float: left; - height: 24px; - border-left: 1px solid #ccc; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.datagrid .datagrid-pager { - display: block; - margin: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.datagrid .datagrid-pager-top { - border-width: 0 0 1px 0; -} -.datagrid-header { - overflow: hidden; - cursor: default; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-header-inner { - float: left; - width: 10000px; -} -.datagrid-header-row, -.datagrid-row { - height: 32px; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-width: 0 1px 1px 0; - border-style: dotted; - margin: 0; - padding: 0; -} -.datagrid-cell, -.datagrid-cell-group, -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - margin: 0; - padding: 0 4px; - white-space: nowrap; - word-wrap: normal; - overflow: hidden; - height: 18px; - line-height: 18px; - font-size: 14px; -} -.datagrid-header .datagrid-cell { - height: auto; -} -.datagrid-header .datagrid-cell span { - font-size: 14px; -} -.datagrid-cell-group { - text-align: center; - text-overflow: ellipsis; -} -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - width: 30px; - text-align: center; - margin: 0; - padding: 0; -} -.datagrid-body { - margin: 0; - padding: 0; - overflow: auto; - zoom: 1; -} -.datagrid-view1 .datagrid-body-inner { - padding-bottom: 20px; -} -.datagrid-view1 .datagrid-body { - overflow: hidden; -} -.datagrid-footer { - overflow: hidden; -} -.datagrid-footer-inner { - border-width: 1px 0 0 0; - border-style: solid; - width: 10000px; - float: left; -} -.datagrid-row-editing .datagrid-cell { - height: auto; -} -.datagrid-header-check, -.datagrid-cell-check { - padding: 0; - width: 27px; - height: 18px; - font-size: 1px; - text-align: center; - overflow: hidden; -} -.datagrid-header-check input, -.datagrid-cell-check input { - margin: 0; - padding: 0; - width: 15px; - height: 18px; -} -.datagrid-resize-proxy { - position: absolute; - width: 1px; - height: 10000px; - top: 0; - cursor: e-resize; - display: none; -} -.datagrid-body .datagrid-editable { - margin: 0; - padding: 0; -} -.datagrid-body .datagrid-editable table { - width: 100%; - height: 100%; -} -.datagrid-body .datagrid-editable td { - border: 0; - margin: 0; - padding: 0; -} -.datagrid-view .datagrid-editable-input { - margin: 0; - padding: 2px 4px; - border: 1px solid #D3D3D3; - font-size: 14px; - outline-style: none; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-view .validatebox-invalid { - border-color: #ffa8a8; -} -.datagrid-sort .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -64px center; -} -.datagrid-sort-desc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -16px center; -} -.datagrid-sort-asc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat 0px center; -} -.datagrid-row-collapse { - background: url('images/datagrid_icons.png') no-repeat -48px center; -} -.datagrid-row-expand { - background: url('images/datagrid_icons.png') no-repeat -32px center; -} -.datagrid-mask-msg { - background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; -} -.datagrid-header, -.datagrid-td-rownumber { - background-color: #fafafa; - background: -webkit-linear-gradient(top,#fdfdfd 0,#f5f5f5 100%); - background: -moz-linear-gradient(top,#fdfdfd 0,#f5f5f5 100%); - background: -o-linear-gradient(top,#fdfdfd 0,#f5f5f5 100%); - background: linear-gradient(to bottom,#fdfdfd 0,#f5f5f5 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#fdfdfd,endColorstr=#f5f5f5,GradientType=0); -} -.datagrid-cell-rownumber { - color: #000000; -} -.datagrid-resize-proxy { - background: #bfbfbf; -} -.datagrid-mask { - background: #ccc; -} -.datagrid-mask-msg { - border-color: #D3D3D3; -} -.datagrid-toolbar, -.datagrid-pager { - background: #fafafa; -} -.datagrid-header, -.datagrid-toolbar, -.datagrid-pager, -.datagrid-footer-inner { - border-color: #ddd; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-color: #ccc; -} -.datagrid-htable, -.datagrid-btable, -.datagrid-ftable { - color: #000000; - border-collapse: separate; -} -.datagrid-row-alt { - background: #fafafa; -} -.datagrid-row-over, -.datagrid-header td.datagrid-header-over { - background: #e2e2e2; - color: #000000; - cursor: default; -} -.datagrid-row-selected { - background: #0092DC; - color: #fff; -} -.datagrid-row-editing .textbox, -.datagrid-row-editing .textbox-text { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-header .datagrid-filter-row td.datagrid-header-over { - background: inherit; -} -.propertygrid .datagrid-view1 .datagrid-body td { - padding-bottom: 1px; - border-width: 0 1px 0 0; -} -.propertygrid .datagrid-group { - overflow: hidden; - border-width: 0 0 1px 0; - border-style: solid; -} -.propertygrid .datagrid-group span { - font-weight: bold; -} -.propertygrid .datagrid-view1 .datagrid-body td { - border-color: #ddd; -} -.propertygrid .datagrid-view1 .datagrid-group { - border-color: #f3f3f3; -} -.propertygrid .datagrid-view2 .datagrid-group { - border-color: #ddd; -} -.propertygrid .datagrid-group, -.propertygrid .datagrid-view1 .datagrid-body, -.propertygrid .datagrid-view1 .datagrid-row-over, -.propertygrid .datagrid-view1 .datagrid-row-selected { - background: #f3f3f3; -} -.datalist .datagrid-header { - border-width: 0; -} -.datalist .datagrid-group, -.m-list .m-list-group { - height: 25px; - line-height: 25px; - font-weight: bold; - overflow: hidden; - background-color: #fafafa; - border-style: solid; - border-width: 0 0 1px 0; - border-color: #ccc; -} -.datalist .datagrid-group-expander { - display: none; -} -.datalist .datagrid-group-title { - padding: 0 4px; -} -.datalist .datagrid-btable { - width: 100%; - table-layout: fixed; -} -.datalist .datagrid-row td { - border-style: solid; - border-left-color: transparent; - border-right-color: transparent; - border-bottom-width: 0; -} -.datalist-lines .datagrid-row td { - border-bottom-width: 1px; -} -.datalist .datagrid-cell, -.m-list li { - width: auto; - height: auto; - padding: 2px 4px; - line-height: 18px; - position: relative; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link, -.m-list li>a { - display: block; - position: relative; - cursor: pointer; - color: #000000; - text-decoration: none; - overflow: hidden; - margin: -2px -4px; - padding: 2px 4px; - padding-right: 16px; - line-height: 18px; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link::after, -.m-list li>a::after { - position: absolute; - display: block; - width: 8px; - height: 8px; - content: ''; - right: 6px; - top: 50%; - margin-top: -4px; - border-style: solid; - border-width: 1px 1px 0 0; - -ms-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -webkit-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); -} -.m-list { - margin: 0; - padding: 0; - list-style: none; -} -.m-list li { - border-style: solid; - border-width: 0 0 1px 0; - border-color: #ccc; -} -.m-list li>a:hover { - background: #e2e2e2; - color: #000000; -} -.m-list .m-list-group { - padding: 0 4px; -} -.pagination { - zoom: 1; - padding: 2px; -} -.pagination table { - float: left; - height: 30px; -} -.pagination td { - border: 0; -} -.pagination-btn-separator { - float: left; - height: 24px; - border-left: 1px solid #ccc; - border-right: 1px solid #fff; - margin: 3px 1px; -} -.pagination .pagination-num { - border-width: 1px; - border-style: solid; - margin: 0 2px; - padding: 2px; - width: 3em; - height: auto; - text-align: center; - font-size: 14px; -} -.pagination-page-list { - margin: 0px 6px; - padding: 1px 2px; - width: auto; - height: auto; - border-width: 1px; - border-style: solid; -} -.pagination-info { - float: right; - margin: 0 6px; - padding: 0; - height: 30px; - line-height: 30px; - font-size: 14px; -} -.pagination span { - font-size: 14px; -} -.pagination-link .l-btn-text { - box-sizing: border-box; - text-align: center; - margin: 0; - padding: 0 .5em; - width: auto; - min-width: 28px; -} -.pagination-first { - background: url('images/pagination_icons.png') no-repeat 0 center; -} -.pagination-prev { - background: url('images/pagination_icons.png') no-repeat -16px center; -} -.pagination-next { - background: url('images/pagination_icons.png') no-repeat -32px center; -} -.pagination-last { - background: url('images/pagination_icons.png') no-repeat -48px center; -} -.pagination-load { - background: url('images/pagination_icons.png') no-repeat -64px center; -} -.pagination-loading { - background: url('images/loading.gif') no-repeat center center; -} -.pagination-page-list, -.pagination .pagination-num { - border-color: #D3D3D3; -} -.calendar { - border-width: 1px; - border-style: solid; - padding: 1px; - overflow: hidden; -} -.calendar table { - table-layout: fixed; - border-collapse: separate; - font-size: 14px; - width: 100%; - height: 100%; -} -.calendar table td, -.calendar table th { - font-size: 14px; -} -.calendar-noborder { - border: 0; -} -.calendar-header { - position: relative; - height: 28px; -} -.calendar-title { - text-align: center; - height: 28px; -} -.calendar-title span { - position: relative; - display: inline-block; - top: 0px; - padding: 0 3px; - height: 28px; - line-height: 28px; - font-size: 14px; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-prevmonth, -.calendar-nextmonth, -.calendar-prevyear, -.calendar-nextyear { - position: absolute; - top: 50%; - margin-top: -8px; - width: 16px; - height: 16px; - cursor: pointer; - font-size: 1px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-prevmonth { - left: 20px; - background: url('images/calendar_arrows.png') no-repeat -16px 0; -} -.calendar-nextmonth { - right: 20px; - background: url('images/calendar_arrows.png') no-repeat -32px 0; -} -.calendar-prevyear { - left: 3px; - background: url('images/calendar_arrows.png') no-repeat 0px 0; -} -.calendar-nextyear { - right: 3px; - background: url('images/calendar_arrows.png') no-repeat -48px 0; -} -.calendar-body { - position: relative; -} -.calendar-body th, -.calendar-body td { - text-align: center; -} -.calendar-day { - border: 0; - padding: 1px; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-other-month { - opacity: 0.3; - filter: alpha(opacity=30); -} -.calendar-disabled { - opacity: 0.6; - filter: alpha(opacity=60); - cursor: default; -} -.calendar-menu { - position: absolute; - top: 0; - left: 0; - width: 180px; - height: 150px; - padding: 5px; - font-size: 14px; - display: none; - overflow: hidden; -} -.calendar-menu-year-inner { - text-align: center; - padding-bottom: 5px; -} -.calendar-menu-year { - width: 80px; - line-height: 26px; - text-align: center; - border-width: 1px; - border-style: solid; - outline-style: none; - resize: none; - margin: 0; - padding: 0; - font-weight: bold; - font-size: 14px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-menu-prev, -.calendar-menu-next { - display: inline-block; - width: 25px; - height: 28px; - vertical-align: top; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-menu-prev { - margin-right: 10px; - background: url('images/calendar_arrows.png') no-repeat 5px center; -} -.calendar-menu-next { - margin-left: 10px; - background: url('images/calendar_arrows.png') no-repeat -44px center; -} -.calendar-menu-month { - text-align: center; - cursor: pointer; - font-weight: bold; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-body th, -.calendar-menu-month { - color: #4d4d4d; -} -.calendar-day { - color: #000000; -} -.calendar-sunday { - color: #CC2222; -} -.calendar-saturday { - color: #00ee00; -} -.calendar-today { - color: #0000ff; -} -.calendar-menu-year { - border-color: #D3D3D3; -} -.calendar { - border-color: #D3D3D3; -} -.calendar-header { - background: #f3f3f3; -} -.calendar-body, -.calendar-menu { - background: #ffffff; -} -.calendar-body th { - background: #fafafa; - padding: 4px 0; -} -.calendar-hover, -.calendar-nav-hover, -.calendar-menu-hover { - background-color: #e2e2e2; - color: #000000; -} -.calendar-hover { - border: 1px solid #ccc; - padding: 0; -} -.calendar-selected { - background-color: #0092DC; - color: #fff; - border: 1px solid #0070a9; - padding: 0; -} -.datebox-calendar-inner { - height: 250px; -} -.datebox-button { - padding: 4px 0; - text-align: center; -} -.datebox-button a { - line-height: 22px; - font-size: 14px; - font-weight: bold; - text-decoration: none; - opacity: 0.6; - filter: alpha(opacity=60); -} -.datebox-button a:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.datebox-current, -.datebox-close { - float: left; -} -.datebox-close { - float: right; -} -.datebox .combo-arrow { - background-image: url('images/datebox_arrow.png'); - background-position: center center; -} -.datebox-button { - background-color: #fafafa; -} -.datebox-button a { - color: #444; -} -.spinner-arrow { - display: inline-block; - overflow: hidden; - vertical-align: top; - margin: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - width: 18px; -} -.spinner-arrow.spinner-button-top, -.spinner-arrow.spinner-button-bottom, -.spinner-arrow.spinner-button-left, -.spinner-arrow.spinner-button-right { - background-color: #f3f3f3; -} -.spinner-arrow-up, -.spinner-arrow-down { - opacity: 0.6; - filter: alpha(opacity=60); - display: block; - font-size: 1px; - width: 18px; - height: 10px; - width: 100%; - height: 50%; - color: #444; - outline-style: none; - background-color: #f3f3f3; -} -.spinner-button-updown { - opacity: 1.0; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - position: relative; - display: block; - width: 100%; - height: 50%; -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down { - opacity: 1.0; - filter: alpha(opacity=100); - cursor: pointer; - width: 16px; - height: 16px; - top: 50%; - left: 50%; - margin-top: -8px; - margin-left: -8px; - position: absolute; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-button-updown .spinner-button-top:hover, -.spinner-button-updown .spinner-button-bottom:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down, -.spinner-button-updown .spinner-arrow-up:hover, -.spinner-button-updown .spinner-arrow-down:hover { - background-color: transparent; -} -.spinner-arrow-hover { - background-color: #e2e2e2; - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-top:hover, -.spinner-button-bottom:hover, -.spinner-button-left:hover, -.spinner-button-right:hover, -.spinner-arrow-up:hover, -.spinner-arrow-down:hover { - opacity: 1.0; - filter: alpha(opacity=100); - background-color: #e2e2e2; -} -.textbox-disabled .spinner-button-top:hover, -.textbox-disabled .spinner-button-bottom:hover, -.textbox-disabled .spinner-button-left:hover, -.textbox-disabled .spinner-button-right:hover, -.textbox-icon-disabled .spinner-arrow-up:hover, -.textbox-icon-disabled .spinner-arrow-down:hover { - opacity: 0.6; - filter: alpha(opacity=60); - background-color: #f3f3f3; - cursor: default; -} -.spinner .textbox-icon-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-arrow-up { - background: url('images/spinner_arrows.png') no-repeat 1px center; - background-color: #f3f3f3; -} -.spinner-arrow-down { - background: url('images/spinner_arrows.png') no-repeat -15px center; - background-color: #f3f3f3; -} -.spinner-button-up { - background: url('images/spinner_arrows.png') no-repeat -32px center; -} -.spinner-button-down { - background: url('images/spinner_arrows.png') no-repeat -48px center; -} -.progressbar { - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - overflow: hidden; - position: relative; -} -.progressbar-text { - text-align: center; - position: absolute; -} -.progressbar-value { - position: relative; - overflow: hidden; - width: 0; - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.progressbar { - border-color: #D3D3D3; -} -.progressbar-text { - color: #000000; - font-size: 14px; -} -.progressbar-value, -.progressbar-value .progressbar-text { - background-color: #0092DC; - color: #fff; -} -.searchbox-button { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.searchbox-button-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.searchbox .l-btn-plain { - border: 0; - padding: 0; - vertical-align: top; - opacity: 0.6; - filter: alpha(opacity=60); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .l-btn-plain:hover { - border: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox a.m-btn-plain-active { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .m-btn-active { - border-width: 0 1px 0 0; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .textbox-button-right { - border-width: 0 0 0 1px; -} -.searchbox .textbox-button-left { - border-width: 0 1px 0 0; -} -.searchbox-button { - background: url('images/searchbox_button.png') no-repeat center center; -} -.searchbox .l-btn-plain { - background: #f3f3f3; -} -.searchbox .l-btn-plain-disabled, -.searchbox .l-btn-plain-disabled:hover { - opacity: 0.5; - filter: alpha(opacity=50); -} -.slider-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.slider-h { - height: 22px; -} -.slider-v { - width: 22px; -} -.slider-inner { - position: relative; - height: 6px; - top: 7px; - border-width: 1px; - border-style: solid; - border-radius: 5px; -} -.slider-handle { - position: absolute; - display: block; - outline: none; - width: 20px; - height: 20px; - top: 50%; - margin-top: -10px; - margin-left: -10px; -} -.slider-tip { - position: absolute; - display: inline-block; - line-height: 12px; - font-size: 14px; - white-space: nowrap; - top: -22px; -} -.slider-rule { - position: relative; - top: 15px; -} -.slider-rule span { - position: absolute; - display: inline-block; - font-size: 0; - height: 5px; - border-width: 0 0 0 1px; - border-style: solid; -} -.slider-rulelabel { - position: relative; - top: 20px; -} -.slider-rulelabel span { - position: absolute; - display: inline-block; - font-size: 14px; -} -.slider-v .slider-inner { - width: 6px; - left: 7px; - top: 0; - float: left; -} -.slider-v .slider-handle { - left: 50%; - margin-top: -10px; -} -.slider-v .slider-tip { - left: -10px; - margin-top: -6px; -} -.slider-v .slider-rule { - float: left; - top: 0; - left: 16px; -} -.slider-v .slider-rule span { - width: 5px; - height: 'auto'; - border-left: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.slider-v .slider-rulelabel { - float: left; - top: 0; - left: 23px; -} -.slider-handle { - background: url('images/slider_handle.png') no-repeat; -} -.slider-inner { - border-color: #D3D3D3; - background: #f3f3f3; -} -.slider-rule span { - border-color: #D3D3D3; -} -.slider-rulelabel span { - color: #000000; -} -.menu { - position: absolute; - margin: 0; - padding: 2px; - border-width: 1px; - border-style: solid; - overflow: hidden; -} -.menu-inline { - position: relative; -} -.menu-item { - position: relative; - margin: 0; - padding: 0; - overflow: hidden; - white-space: nowrap; - cursor: pointer; - border-width: 1px; - border-style: solid; -} -.menu-text { - height: 20px; - line-height: 20px; - float: left; - padding-left: 28px; -} -.menu-icon { - position: absolute; - width: 16px; - height: 16px; - left: 2px; - top: 50%; - margin-top: -8px; -} -.menu-rightarrow { - position: absolute; - width: 16px; - height: 16px; - right: 0; - top: 50%; - margin-top: -8px; -} -.menu-line { - position: absolute; - left: 26px; - top: 0; - height: 2000px; - font-size: 1px; -} -.menu-sep { - margin: 3px 0px 3px 25px; - font-size: 1px; -} -.menu-noline .menu-line { - display: none; -} -.menu-noline .menu-sep { - margin-left: 0; - margin-right: 0; -} -.menu-active { - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.menu-item-disabled { - opacity: 0.5; - filter: alpha(opacity=50); - cursor: default; -} -.menu-text, -.menu-text span { - font-size: 14px; -} -.menu-shadow { - position: absolute; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - background: #ccc; - -moz-box-shadow: 2px 2px 3px #cccccc; - -webkit-box-shadow: 2px 2px 3px #cccccc; - box-shadow: 2px 2px 3px #cccccc; - filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); -} -.menu-rightarrow { - background: url('images/menu_arrows.png') no-repeat -32px center; -} -.menu-line { - border-left: 1px solid #ccc; - border-right: 1px solid #fff; -} -.menu-sep { - border-top: 1px solid #ccc; - border-bottom: 1px solid #fff; -} -.menu { - background-color: #f3f3f3; - border-color: #D3D3D3; - color: #444; -} -.menu-content { - background: #ffffff; -} -.menu-item { - border-color: transparent; - _border-color: #f3f3f3; -} -.menu-active { - border-color: #ccc; - color: #000000; - background: #e2e2e2; -} -.menu-active-disabled { - border-color: transparent; - background: transparent; - color: #444; -} -.m-btn-downarrow, -.s-btn-downarrow { - display: inline-block; - position: absolute; - width: 16px; - height: 16px; - font-size: 1px; - right: 0; - top: 50%; - margin-top: -8px; -} -.m-btn-active, -.s-btn-active { - background: #e2e2e2; - color: #000000; - border: 1px solid #ccc; - filter: none; -} -.m-btn-plain-active, -.s-btn-plain-active { - background: transparent; - padding: 0; - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.m-btn .l-btn-left .l-btn-text { - margin-right: 20px; -} -.m-btn .l-btn-icon-right .l-btn-text { - margin-right: 40px; -} -.m-btn .l-btn-icon-right .l-btn-icon { - right: 20px; -} -.m-btn .l-btn-icon-top .l-btn-text { - margin-right: 4px; - margin-bottom: 14px; -} -.m-btn .l-btn-icon-bottom .l-btn-text { - margin-right: 4px; - margin-bottom: 34px; -} -.m-btn .l-btn-icon-bottom .l-btn-icon { - top: auto; - bottom: 20px; -} -.m-btn .l-btn-icon-top .m-btn-downarrow, -.m-btn .l-btn-icon-bottom .m-btn-downarrow { - top: auto; - bottom: 0px; - left: 50%; - margin-left: -8px; -} -.m-btn-line { - display: inline-block; - position: absolute; - font-size: 1px; - display: none; -} -.m-btn .l-btn-left .m-btn-line { - right: 0; - width: 16px; - height: 500px; - border-style: solid; - border-color: #bfbfbf; - border-width: 0 0 0 1px; -} -.m-btn .l-btn-icon-top .m-btn-line, -.m-btn .l-btn-icon-bottom .m-btn-line { - left: 0; - bottom: 0; - width: 500px; - height: 16px; - border-width: 1px 0 0 0; -} -.m-btn-large .l-btn-icon-right .l-btn-text { - margin-right: 56px; -} -.m-btn-large .l-btn-icon-bottom .l-btn-text { - margin-bottom: 50px; -} -.m-btn-downarrow, -.s-btn-downarrow { - background: url('images/menu_arrows.png') no-repeat 0 center; -} -.m-btn-plain-active, -.s-btn-plain-active { - border-color: #ccc; - background-color: #e2e2e2; - color: #000000; -} -.s-btn:hover .m-btn-line, -.s-btn-active .m-btn-line, -.s-btn-plain-active .m-btn-line { - display: inline-block; -} -.l-btn:hover .s-btn-downarrow, -.s-btn-active .s-btn-downarrow, -.s-btn-plain-active .s-btn-downarrow { - border-style: solid; - border-color: #bfbfbf; - border-width: 0 0 0 1px; -} -.messager-body { - padding: 10px 10px 30px 10px; - overflow: auto; -} -.messager-button { - text-align: center; - padding: 5px; -} -.messager-button .l-btn { - width: 70px; -} -.messager-icon { - float: left; - width: 32px; - height: 32px; - margin: 0 10px 10px 0; -} -.messager-error { - background: url('images/messager_icons.png') no-repeat scroll -64px 0; -} -.messager-info { - background: url('images/messager_icons.png') no-repeat scroll 0 0; -} -.messager-question { - background: url('images/messager_icons.png') no-repeat scroll -32px 0; -} -.messager-warning { - background: url('images/messager_icons.png') no-repeat scroll -96px 0; -} -.messager-progress { - padding: 10px; -} -.messager-p-msg { - margin-bottom: 5px; -} -.messager-body .messager-input { - width: 100%; - padding: 4px 0; - outline-style: none; - border: 1px solid #D3D3D3; -} -.window-thinborder .messager-button { - padding-bottom: 8px; -} -.tree { - margin: 0; - padding: 0; - list-style-type: none; -} -.tree li { - white-space: nowrap; -} -.tree li ul { - list-style-type: none; - margin: 0; - padding: 0; -} -.tree-node { - height: 26px; - white-space: nowrap; - cursor: pointer; -} -.tree-hit { - cursor: pointer; -} -.tree-expanded, -.tree-collapsed, -.tree-folder, -.tree-file, -.tree-checkbox, -.tree-indent { - display: inline-block; - width: 16px; - height: 18px; - margin: 4px 0; - vertical-align: middle; - overflow: hidden; -} -.tree-expanded { - background: url('images/tree_icons.png') no-repeat -18px 0px; -} -.tree-expanded-hover { - background: url('images/tree_icons.png') no-repeat -50px 0px; -} -.tree-collapsed { - background: url('images/tree_icons.png') no-repeat 0px 0px; -} -.tree-collapsed-hover { - background: url('images/tree_icons.png') no-repeat -32px 0px; -} -.tree-lines .tree-expanded, -.tree-lines .tree-root-first .tree-expanded { - background: url('images/tree_icons.png') no-repeat -144px 0; -} -.tree-lines .tree-collapsed, -.tree-lines .tree-root-first .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -128px 0; -} -.tree-lines .tree-node-last .tree-expanded, -.tree-lines .tree-root-one .tree-expanded { - background: url('images/tree_icons.png') no-repeat -80px 0; -} -.tree-lines .tree-node-last .tree-collapsed, -.tree-lines .tree-root-one .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -64px 0; -} -.tree-line { - background: url('images/tree_icons.png') no-repeat -176px 0; -} -.tree-join { - background: url('images/tree_icons.png') no-repeat -192px 0; -} -.tree-joinbottom { - background: url('images/tree_icons.png') no-repeat -160px 0; -} -.tree-folder { - background: url('images/tree_icons.png') no-repeat -208px 0; -} -.tree-folder-open { - background: url('images/tree_icons.png') no-repeat -224px 0; -} -.tree-file { - background: url('images/tree_icons.png') no-repeat -240px 0; -} -.tree-loading { - background: url('images/loading.gif') no-repeat center center; -} -.tree-checkbox0 { - background: url('images/tree_icons.png') no-repeat -208px -18px; -} -.tree-checkbox1 { - background: url('images/tree_icons.png') no-repeat -224px -18px; -} -.tree-checkbox2 { - background: url('images/tree_icons.png') no-repeat -240px -18px; -} -.tree-title { - font-size: 14px; - display: inline-block; - text-decoration: none; - vertical-align: middle; - white-space: nowrap; - padding: 0 2px; - margin: 4px 0; - height: 18px; - line-height: 18px; -} -.tree-node-proxy { - font-size: 14px; - line-height: 20px; - padding: 0 2px 0 20px; - border-width: 1px; - border-style: solid; - z-index: 9900000; -} -.tree-dnd-icon { - display: inline-block; - position: absolute; - width: 16px; - height: 18px; - left: 2px; - top: 50%; - margin-top: -9px; -} -.tree-dnd-yes { - background: url('images/tree_icons.png') no-repeat -256px 0; -} -.tree-dnd-no { - background: url('images/tree_icons.png') no-repeat -256px -18px; -} -.tree-node-top { - border-top: 1px dotted red; -} -.tree-node-bottom { - border-bottom: 1px dotted red; -} -.tree-node-append .tree-title { - border: 1px dotted red; -} -.tree-editor { - border: 1px solid #D3D3D3; - font-size: 14px; - height: 26px; - line-height: 26px; - padding: 0 4px; - margin: 0; - width: 80px; - outline-style: none; - vertical-align: middle; - position: absolute; - top: 0; -} -.tree-node-proxy { - background-color: #ffffff; - color: #000000; - border-color: #D3D3D3; -} -.tree-node-hover { - background: #e2e2e2; - color: #000000; -} -.tree-node-selected { - background: #0092DC; - color: #fff; -} -.tree-node-hidden { - display: none; -} -.inputbox { - display: inline-block; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; -} -.validatebox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; - color: #000; -} -.tooltip { - position: absolute; - display: none; - z-index: 9900000; - outline: none; - opacity: 1; - filter: alpha(opacity=100); - padding: 5px; - border-width: 1px; - border-style: solid; - border-radius: 5px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.tooltip-content { - font-size: 14px; -} -.tooltip-arrow-outer, -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - line-height: 0; - font-size: 0; - border-style: solid; - border-width: 6px; - border-color: transparent; - _border-color: tomato; - _filter: chroma(color=tomato); -} -.tooltip-arrow { - display: none \9; -} -.tooltip-right .tooltip-arrow-outer { - left: 0; - top: 50%; - margin: -6px 0 0 -13px; -} -.tooltip-right .tooltip-arrow { - left: 0; - top: 50%; - margin: -6px 0 0 -12px; -} -.tooltip-left .tooltip-arrow-outer { - right: 0; - top: 50%; - margin: -6px -13px 0 0; -} -.tooltip-left .tooltip-arrow { - right: 0; - top: 50%; - margin: -6px -12px 0 0; -} -.tooltip-top .tooltip-arrow-outer { - bottom: 0; - left: 50%; - margin: 0 0 -13px -6px; -} -.tooltip-top .tooltip-arrow { - bottom: 0; - left: 50%; - margin: 0 0 -12px -6px; -} -.tooltip-bottom .tooltip-arrow-outer { - top: 0; - left: 50%; - margin: -13px 0 0 -6px; -} -.tooltip-bottom .tooltip-arrow { - top: 0; - left: 50%; - margin: -12px 0 0 -6px; -} -.tooltip { - background-color: #ffffff; - border-color: #D3D3D3; - color: #000000; -} -.tooltip-right .tooltip-arrow-outer { - border-right-color: #D3D3D3; -} -.tooltip-right .tooltip-arrow { - border-right-color: #ffffff; -} -.tooltip-left .tooltip-arrow-outer { - border-left-color: #D3D3D3; -} -.tooltip-left .tooltip-arrow { - border-left-color: #ffffff; -} -.tooltip-top .tooltip-arrow-outer { - border-top-color: #D3D3D3; -} -.tooltip-top .tooltip-arrow { - border-top-color: #ffffff; -} -.tooltip-bottom .tooltip-arrow-outer { - border-bottom-color: #D3D3D3; -} -.tooltip-bottom .tooltip-arrow { - border-bottom-color: #ffffff; -} -.switchbutton { - text-decoration: none; - display: inline-block; - overflow: hidden; - vertical-align: middle; - margin: 0; - padding: 0; - cursor: pointer; - background: #bbb; - border: 1px solid #bbb; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.switchbutton-inner { - display: inline-block; - overflow: hidden; - position: relative; - top: -1px; - left: -1px; -} -.switchbutton-on, -.switchbutton-off, -.switchbutton-handle { - display: inline-block; - text-align: center; - height: 100%; - float: left; - font-size: 14px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.switchbutton-on { - background: #0092DC; - color: #fff; -} -.switchbutton-off { - background-color: #ffffff; - color: #000000; -} -.switchbutton-on, -.switchbutton-reversed .switchbutton-off { - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.switchbutton-off, -.switchbutton-reversed .switchbutton-on { - -moz-border-radius: 0 5px 5px 0; - -webkit-border-radius: 0 5px 5px 0; - border-radius: 0 5px 5px 0; -} -.switchbutton-handle { - position: absolute; - top: 0; - left: 50%; - background-color: #ffffff; - color: #000000; - border: 1px solid #bbb; - -moz-box-shadow: 0 0 3px 0 #bbb; - -webkit-box-shadow: 0 0 3px 0 #bbb; - box-shadow: 0 0 3px 0 #bbb; -} -.switchbutton-value { - position: absolute; - top: 0; - left: -5000px; -} -.switchbutton-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.switchbutton-disabled, -.switchbutton-readonly { - cursor: default; -} -.radiobutton { - position: relative; - border: 2px solid #0070a9; - border-radius: 50%; -} -.radiobutton-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #0070a9; - border-radius: 50%; - transform: scale(.6); -} -.radiobutton-disabled { - opacity: 0.6; -} -.radiobutton-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} -.checkbox { - position: relative; - border: 2px solid #0070a9; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.checkbox-checked { - border: 0; - background: #0070a9; -} -.checkbox-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; -} -.checkbox path { - stroke-width: 2px; -} -.checkbox-disabled { - opacity: 0.6; -} -.checkbox-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} -.sidemenu .tree-hit { - background-image: none; -} -.sidemenu-default-icon { - background-image: none; - width: 0; -} -.sidemenu .accordion .accordion-header, -.sidemenu .accordion .accordion-body { - border-bottom-color: transparent; - background: transparent; -} -.sidemenu .accordion .accordion-header { - color: #575765; -} -.sidemenu .accordion-header .panel-title { - height: 30px; - line-height: 30px; - color: #575765; -} -.sidemenu .accordion-header:hover { - background: #e2e2e2; - color: #575765; -} -.sidemenu .tree-node-hover { - background: #e2e2e2; - color: #575765; -} -.sidemenu .tree-node-selected { - border-right: 2px solid #0070a9; - color: #fff; - background: #0092DC; -} -.sidemenu .tree-node { - height: 40px; -} -.sidemenu .tree-title { - margin: 11px 0; -} -.sidemenu .tree-node-nonleaf { - position: relative; -} -.sidemenu .tree-node-nonleaf::after { - display: inline-block; - content: ''; - position: absolute; - top: 50%; - margin-top: -8px; - background: url('images/accordion_arrows.png') no-repeat 0 0; - width: 16px; - height: 16px; - right: 5px; -} -.sidemenu .tree-node-nonleaf-collapsed::after { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.sidemenu-collapsed .panel-icon { - left: 50%; - margin-left: -8px; -} -.sidemenu-tooltip { - padding: 0; - margin: 0 -12px; - border: 0; -} -.sidemenu-tooltip.tooltip-left { - margin: 0 12px; -} -.sidemenu-tooltip .tooltip-arrow-outer, -.sidemenu-tooltip .tooltip-arrow { - display: none; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/filebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/filebox.css deleted file mode 100644 index c6bac66..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/filebox.css +++ /dev/null @@ -1,20 +0,0 @@ -.filebox .textbox-value { - vertical-align: top; - position: absolute; - top: 0; - left: -5000px; -} -.filebox-label { - display: inline-block; - position: absolute; - width: 100%; - height: 100%; - cursor: pointer; - left: 0; - top: 0; - z-index: 10; - background: url('images/blank.gif') no-repeat; -} -.l-btn-disabled .filebox-label { - cursor: default; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/accordion_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/accordion_arrows.png deleted file mode 100644 index a0b8769cc5091d81760c7ed555ac3c3453febbfd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel#8c}V@SoVHq8x z8Mn?6aTf^k-V*tOYvn_ZO}fk5lvg|}E|PI9vs&aPwII@?XO4*juRBlIrj#un@>dub Yl7)&6CQe}74m6L!)78&qol`;+0Id=veEh?7!oT zn93bYIb9!43Wj)WNz0M)xYl!8U>3_OjRiss3@1j_Zvlb#iD~jUnsR3em#t_3WtUHqj%c^0} zFSrhZpjU$)YHUS-lsMx)nN8pghWK6h!524#*oXjC@NjHF9H1y2K%G?c=lr%4eY%ue zT+7R9Pld<2<$C}OAU0HZIJPqD0RA&Sip042zF(tA4uaUhZ>jL`*HN0POocjDIidNRbTZ#@zvW7@I c5>Ct23v;ttA1D3-v;Y7A07*qoM6N<$f&+eyE&u=k diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/datebox_arrow.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/datebox_arrow.png deleted file mode 100644 index 783c83357fdf90a1c7c024358e1d768b5c09c135..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 626 zcmV-&0*(ENP)5OC%H;f`~O(q$Q#t2<^v$A>fbmv%e#dKTwK=Ku{5lS|}<-`a#7b zzTCOnnT>at)D}AMFuOZ5&%EqFN(lyumd$2ASF6=;nM~%2?gqc@U=#|4PqkX@EBo-9 z7pD#bO_RUa>*faM`8;MYfVi$JnB-zcBFc6gjl$d!bF98Q!!!(Z1_R~P?e!pt#6CHJ9S&n_n&@=9 z%GP;!@Co4c*at+6vNz7o(6en^Q1%qHrc;1)9IRaz-$@S$Z-qdC^ds3X0NvQH;KS)D z-dh&rW&@X;1cS(45z)J&BVt+tv&GMVJ%!EiW) zLBGZW)#Z+gl-Lih&?>X3SS-S#ujQ;9JRXmIB7X)8`d6ETj)D#Q2+$s|<_b7-B9Xvq zwNfqlEp%y3$uY`h{Y$(Gn5@}sqEsq95lpAkFO5dyBmP6^H-51G4J|rN2Ujt<`2YX_ M07*qoM6N<$fWs*_M~|PZK4f_B}P-f8$r|z#h zE+)9D_?OzcE{A)9cRCb`94D|RR5VOsbIEjx-=1{JpsQ;^Px3ZX?(@vc^nEOU2KU{_ gJ$cDa*@;a`BkgHpqSBTGpgR~mUHx3vIVCg!07Oqo9{>OV diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/linkbutton_bg.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/linkbutton_bg.png deleted file mode 100644 index fc66bd2cd24047b8377342365a1df3846327ecde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1274 zcmVc6j2;SWMDuL>F^vlqEUI{oOgO!xNf*11TukM z6kTZ3V2qd3<~<$H&Lrt?SpXUxF5Zb^}(={r!EHE+$QMdH|XZ zSYbMyc0tQc3qbP$tG{U_Jyg>I(0srOscEGU?-T)4AzuS$_2J>6`+BJ50YDY<^>2vV z+uI880P2ui(hyHiPrK$)CkbHg=kD&V3^8pD z0v3QOB&8eT@87?rgaGPrb#+ySxU;jP=nkL`nZ_{0e*BD+1Tc5b&d$oLo}8R$90gF1 z^ij>~#>R%HIRNUB_kgpQ+Lg!80Gbb2saY8>1EBeUm7A3TegK*dSciv)Wqp0!h-3im z1+1f^qq4iZ+ZEMUS63~e0I+zh`2rwd0l@!F(!7sM%_`|&0+*B!z{1(u+A9BIU&~T- z2he=L>dmc7TLXZFkeTeCHMcE|qX51{z>0ZC=xGjss*FaXGOMX+dHf8Z8hL6ntGQ_z zF9V<&dwY9jh`D7czyqj4g3S=~)zFA!0980RI4DC*Ez1%L09D8%=OHF&S@Q*;3bRfe zeL2-ZzyeT(Av4`$>R3`j096>WH7BOELD3yR70%Dk%Mk4)1W=73OH{L_UgIc$YFu7k zmRaq`&NxK?Rk*skDzlhL4IV!OsLJ*Ab@{BRT^TO}pgQC6xO~R6G8o_oU?C)>`xlc2 zriH~zU-;g$PyPA_&X!OBSU6SIeB~eKNAhF&(fs&F|1n9<+Yj^2T+4Dj%UFjr zZ%rnX^7Qmn0ANwP308gILtaQfK0Z1j0Br`Wq<=~Ka+?BxW&>7kRtZ+q>C~wJXg6S` zW|cJ1%?d#C0V@Ue)T{uY>425ig?tTsczEc(0+M8_c7^t|!sm-1Nw(}#nnLr?FgGlc zY}ut0+w(d)Uk6FDWtY;*aCdjteIX>tmhA#o+8PqHNU~+SlrTfyKRaNHBx~Ch-FJ3& z%B(Y&NwStp{rH$6Yj{YqhR=Gk~Mtw_&K$#yeTBf z7JV~bCN(VwL$c|B^>Topn-X{+7;S!yV~2^ zBgv-iMkME}U;-COwrsbABDvwg!2wA&ZMWttf5^jTl5E*7V41=|@=Hu>NJ^O8(7b4p z&ChgC(LF5>Md#{+4LgS{%KA|H(Xv`l4P^KdiBKB*_;1&m|Q7!{|O$ k%vVK{T!hwqk^D0L0mO==@4IV9lK=n!07*qoM6N<$f|Ge;n*aa+ diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/loading.gif b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/loading.gif deleted file mode 100644 index 68f01d04813c1f622810864a3aaa04b4a17ac8f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1737 zcmaKsX;2e)7>CzDa{xjjy99|1A!tC(kfocDi)<1$AxHpOQ4k^l!Vx1W6x7<&|FYXU zqO4jEiU-!VR1p+Xj1?4-iuI_J;!&?!+ghg|JJad3U)pMGzcKxNeCM6tJnuX+uPvX@ zZY|=AHdxt2Xr2y*)5|c6#FSEuyJ+Y3Z&l z2hJWo`9;lJ$6wzSoW60tqkB|d$oiO*d-^85^ojn{*NR{MP*%{@H*#gihZ8BKyB68E z-MIbjgNNV0y5khpJ^Jv`51aR%={<4jhaVq5e*9D5+*hL)XCHn4{^d%hPu@?KpKbc=eN!D=XUjDmH#n{YHNS zHCX6BV)yn2CuTNujhN~V+`RKpyXO6^ht92eqhIIlQLfz6eeCnH_C7`NPNrw9ks366 z4xX9(`s~z=+1uX^ocZ$2_fBs=JihPfWYufOIuD&AU-@`>>qn~cy$1)T7CU!5z2(U8 z)9Kt9)l`f6?NU41j6XbXfR{OHwm|T4}&24tIf+!C-g~6cQfY2^n$?AT&ZW zgqm`}3-jS2NS6n=k;sr5Hv(Q%%n)qW0X|neWVBd;Ko}d(=u%?{O0-a>kSI}shOd9n z5top}%gUCf=>?tg;*;#7!^HOL3k$fMxd=O-6Y4@%u8LS)C1D_a?27R6^vcC+6tttL z)GmTahbyJB!xmcHL#ya8ZXyfRl)a!N0BJE0y3BBfAV5;#=K&Z2VkaKZ)?9`1h5P_% znt*b}%j1|#j`b|aQDx@~wA#$PYRN2xE6UO;;vE(@$&xww-s8fZ5HmJ(eJ*rQrDbaawDbrfe_8F(wq{ge?)qQG`aXV;r(*6EM|ESje;52aFmrX!f=Pw^2oGQX$1|o4yts|b_5@w_kNwtl{wDP#JGMvIp#!SYX?Wq9S&`&_ZwkgGH5CLB7DEGJ6=R4J~p3Z4i^A}hs=-uZeD zs92l6u@**R$~L()G{5N8*7cE5-q$SCo`q4|NSVF*+A7&xZnypm$EdXgf)E%(VJHFD zSgi(H!D!(;9Zcc#GrCCJh=RlvXBQ-hv4Vodse`a32ZUFWgP5ZhM5LeV(#D^H8p@Lg ztra5R32z@1rQv{6u&RZL5%Z@Ye{q|t#6aM_1hIrpl@)oH6}os*cbAQywa{5<`ekzW O1il%9bk82&KlvLjD^%40 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/menu_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/menu_arrows.png deleted file mode 100644 index b986842e7e4044caed18edbcb4b376a4bb915623..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQt6&9jv*Dd-cB{-J7B=U{PTZ! zWrKV9%Z3|Wt5t$(gq+#d+-OocB$0fsr9DfRx52vPhSu$$+yXuy+69hDZ54DDTxx#r zL7>-12UT01v)>tZ+;HI4pDNf?@KK~EC$@35ykmXyu^HJF3})N>8P9Uwo&~g$!PC{x JWt~$(697!FIeGv9 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/messager_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/messager_icons.png deleted file mode 100644 index 86b0b0e6c73d6bdedc843763484982e5c9e71b0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2224 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 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/passwordbox_open.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/passwordbox_open.png deleted file mode 100644 index 0f25d535e05b22b406fd72647611aace9cfa6249..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>7Fi*Ar-fh6C~yxIB_Cl)5eV- z>r;4yl-<@d?s6;P338s2rmQ?!Qz1HW#so#C46Xx7Cq5}K`Svo!h;^q;DRB5^Z?=`` zg<12Qetm(ByO<;&a5^L{7TnL>!KiVsAxlibJl4>NC!c|#Jtt+3rSZgWpp^`su6{1- HoD!M<3i~r2 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/searchbox_button.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/searchbox_button.png deleted file mode 100644 index 6dd1931589b453f6cc9772fd1851d8705d6b6631..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 813 zcmV+|1JeA7P)lXvaa)1B=8vtU6i;3jw7+Lm8D5$Z@i10EnF)=bcefw4K z$^E-CUfjQG`svfBbfD6|R#sLFj6lo3FG$G6@;ee>>~6i|H^5OY8c00W#fi<*1vzh{0&qu3dB`V0{{XDY`}(1n>S9M(9!zw#!&`A z#;*+0{6GVMSeWGp!`o{o8NPge#o%jgs54WT$qnQYpsyGNpauX05F;oJfZ`Pdw6!$j zynTH0RMa&!n3$Pa9zVGEY{&L(3qnPBl_DG6<9Xk0`Fl3`LiD4@pH{vDsxJWQ1qdJp zEJ>M}osCtQlY?CgW>F{;gVK#SmgoOZnEn5J%EtIXaWQXAO>Rdf)WFR;gt~f zXaA3z{{L{q=l48y!32yJ3i0hJ2BS=^}@sXzH{F9Iq&OW375;I7CG-}Vr|aF#l<(fySwu2>`YdxRW*W0f#2un=W5Jmvoe`XCK%I_Y++#`fwE+= zSd{sEULGDE%A=#BOW<6gP*6VfMa^fr8qe`5w%)P0a^Y9WGTw! zvI^|$>l@1Da^Ke1*T3RdY7KqM%gaBb(P+oP!GW;b?ZRfW3Bxc1H@GCaHK#XhZ*Lc= zRBC@>V&W#x&B5%(#>OW5`};d6I5Qw218EG_q@1gtr!Nl*v7yn?(MPMRt4SNy%--JK zanm#f^bw^}Nr7b(EUg}TUi(2;)deX10lAo=83+VA(QksJI6(zwptET-y~avN=J9w$ zI2`W5lG|aOkjY7(&!@;Jx*nUA>~J`Q)9L&(G8y=g$3a4YgD7z)5>gXQNKhw=uR0zF z#jHruh)gDv=bj|2ZES4(fEM?I!JyKqo=}sj-fBYTcDt4KXq)eFQH}wW`vh%Mla}#@ z@Mb`C)x@YkK{xd2>8ZLg+E!Lps$Q@6DY-~!0=Gs+Mm~_JnW1EbX2uxClEdN>Y@I78 z=ke_9?7sX@o0*x}M{JB77MIXj_MmNE%+1Xe{*{crh)9={dR(U;y-{jrxUXmG%Gt002ovPDHLkV1hy(sXhPz diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/spinner_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/spinner_arrows.png deleted file mode 100644 index b1773c24b20b30318e38c4b84690e3d0010c9c43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQZb$`jv*Ddk`p9Y7bl4DgeBzU z{E=^QXHHmRmEiEUJ<_jB`NK-}t7{l}8A{FvOK}{T)p$BC>8|6-x-MIXOa{IRh5%#E x$&;(vVs#x>vb(K5c#%QkA)^788{=C>2L8QE5AM%P*8@KmF984m diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/tabs_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/tabs_icons.png deleted file mode 100644 index dfa10f7d78b3dc6965ef86957a0e4345ec000bc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^20$#p!3HD)*8SNCq{2O2978H@B_~L*E^a70aO1`g zdpoacw*Y(&nwsF2UyID`n8m&$nZ<^krzppre_*0C6=+@buQ_y%c^L~IL^<_ t&+}8oM91jk1`W4%S64GGH^xE+hOnLmClB8dn+LRl!PC{xWt~$(69Df$H1z-g diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/tagbox_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/tagbox_icons.png deleted file mode 100644 index 8ec64360884b3fdb81255ad6074bc08ed183232c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel#i#2V@SoVtb9vwNkrdSr%AfUpK=5(o}_e|{SG6u6f5&Q g4t5*qz9vC-hN^}472i&@1{u%b>FVdQ&MBb@08Zm4@c;k- diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/tree_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/tree_icons.png deleted file mode 100644 index e9be4f3a9965e49a4e4078f8c53f486d761a7468..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3115 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 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/validatebox_warning.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/validatebox_warning.png deleted file mode 100644 index 2b3d4f05babf3f82b146350e96570fac02075de0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 921 zcmV;K17`e*P)nRv1_mBsMY*-M^XCf)eflW5 z|MC^)Hw+AW{sHCCF+cz@{fF8J!+#-kxoSv=7^|!zgOQUngSQ}mDo|J)n+pH}hzZ#= zr~y18$_m-?9v%$;?mu8);}>9vFgFvDXJDwrW&l6{p}625M66yTFhGz^K$w9^O$BHi zFN2Ym7DIple*#cW4BY^L0Al(Jbv6k9U|^6IQBp{hx3XdQ&CJ4Z_|YSVr@XujY(PVT zlok1<85nBO4FCurumK>O|A07*jFlSRUcxLAQVcIR*co#3@)&jj4Pj7KXRri%#h;fa z4ya5O*#Lk5Vq!q}T~=CGH(uV-hJk^fkAYoGjN#AMuMF($>N=giWG}IXse|=+c=i>7HEg>%*E%fLD!-uy|85n^6W?^Dt(9zXp5EB&z+w>_knBmdiKMbzi z?A!`WOl>e100a=&05*1xZdFls?*HtZ48H?o7=HW%ivIu45E2~BASWx!@DIpmv9e}h zaPwji|L}pqor@y`=yxrU0RRES^qYY}O;TRcU+DKIhL4`%3_nyf8U6tS<<-ZJ40D$( zWjJ%`G6NIPHNP2{7am*Fp% z{>ShK#0G`~kjd~57_BU.panel-body, -.panel-hright>.panel-body { - position: absolute; -} -.panel-hleft>.panel-header { - float: left; -} -.panel-hright>.panel-header { - float: right; -} -.panel-hleft>.panel-body { - border-top-width: 1px; - border-left-width: 0; -} -.panel-hright>.panel-body { - border-top-width: 1px; - border-right-width: 0; -} -.panel-hleft>.panel-body-nobottom { - border-bottom-width: 1px; - border-right-width: 0; -} -.panel-hright>.panel-body-nobottom { - border-bottom-width: 1px; - border-left-width: 0; -} -.panel-hleft>.panel-footer { - position: absolute; - right: 0; -} -.panel-hright>.panel-footer { - position: absolute; - left: 0; -} -.panel-hleft>.panel-header-noborder { - border-width: 0 1px 0 0; -} -.panel-hright>.panel-header-noborder { - border-width: 0 0 0 1px; -} -.panel-hleft>.panel-body-noborder { - border-width: 0; -} -.panel-hright>.panel-body-noborder { - border-width: 0; -} -.panel-hleft>.panel-body-noheader { - border-left-width: 1px; -} -.panel-hright>.panel-body-noheader { - border-right-width: 1px; -} -.panel-hleft>.panel-footer-noborder { - border-width: 0 0 0 1px; -} -.panel-hright>.panel-footer-noborder { - border-width: 0 1px 0 0; -} -.panel-hleft>.panel-header .panel-icon, -.panel-hright>.panel-header .panel-icon { - margin-top: 0; - top: 5px; - left: 50%; - margin-left: -8px; -} -.panel-hleft>.panel-header .panel-title, -.panel-hright>.panel-header .panel-title { - position: absolute; - min-width: 16px; - left: 25px; - top: 5px; - bottom: auto; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(90deg); - -o-transform-origin: 0 0; - transform: rotate(90deg); - transform-origin: 0 0; -} -.panel-hleft>.panel-header .panel-title-up, -.panel-hright>.panel-header .panel-title-up { - position: absolute; - min-width: 16px; - left: 21px; - top: auto; - bottom: 0px; - text-align: right; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(-90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(-90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(-90deg); - -o-transform-origin: 0 0; - transform: rotate(-90deg); - transform-origin: 0 16px; -} -.panel-hleft>.panel-header .panel-with-icon.panel-title-up, -.panel-hright>.panel-header .panel-with-icon.panel-title-up { - padding-left: 0; - padding-right: 18px; -} -.panel-hleft>.panel-header .panel-tool, -.panel-hright>.panel-header .panel-tool { - top: auto; - bottom: 5px; - width: 16px; - height: auto; - left: 50%; - margin-left: -8px; - margin-top: 0; -} -.panel-hleft>.panel-header .panel-tool a, -.panel-hright>.panel-header .panel-tool a { - margin: 2px 0 0 0; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/passwordbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/passwordbox.css deleted file mode 100644 index 92c9ce5..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/passwordbox.css +++ /dev/null @@ -1,6 +0,0 @@ -.passwordbox-open { - background: url('images/passwordbox_open.png') no-repeat center center; -} -.passwordbox-close { - background: url('images/passwordbox_close.png') no-repeat center center; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/progressbar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/progressbar.css deleted file mode 100644 index ca49e94..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/progressbar.css +++ /dev/null @@ -1,33 +0,0 @@ -.progressbar { - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - overflow: hidden; - position: relative; -} -.progressbar-text { - text-align: center; - position: absolute; -} -.progressbar-value { - position: relative; - overflow: hidden; - width: 0; - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.progressbar { - border-color: #D3D3D3; -} -.progressbar-text { - color: #000000; - font-size: 14px; -} -.progressbar-value, -.progressbar-value .progressbar-text { - background-color: #0092DC; - color: #fff; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/propertygrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/propertygrid.css deleted file mode 100644 index e9f98ee..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/propertygrid.css +++ /dev/null @@ -1,27 +0,0 @@ -.propertygrid .datagrid-view1 .datagrid-body td { - padding-bottom: 1px; - border-width: 0 1px 0 0; -} -.propertygrid .datagrid-group { - overflow: hidden; - border-width: 0 0 1px 0; - border-style: solid; -} -.propertygrid .datagrid-group span { - font-weight: bold; -} -.propertygrid .datagrid-view1 .datagrid-body td { - border-color: #ddd; -} -.propertygrid .datagrid-view1 .datagrid-group { - border-color: #f3f3f3; -} -.propertygrid .datagrid-view2 .datagrid-group { - border-color: #ddd; -} -.propertygrid .datagrid-group, -.propertygrid .datagrid-view1 .datagrid-body, -.propertygrid .datagrid-view1 .datagrid-row-over, -.propertygrid .datagrid-view1 .datagrid-row-selected { - background: #f3f3f3; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/radiobutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/radiobutton.css deleted file mode 100644 index 341e570..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/radiobutton.css +++ /dev/null @@ -1,25 +0,0 @@ -.radiobutton { - position: relative; - border: 2px solid #0070a9; - border-radius: 50%; -} -.radiobutton-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #0070a9; - border-radius: 50%; - transform: scale(.6); -} -.radiobutton-disabled { - opacity: 0.6; -} -.radiobutton-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/searchbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/searchbox.css deleted file mode 100644 index 7b15815..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/searchbox.css +++ /dev/null @@ -1,61 +0,0 @@ -.searchbox-button { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.searchbox-button-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.searchbox .l-btn-plain { - border: 0; - padding: 0; - vertical-align: top; - opacity: 0.6; - filter: alpha(opacity=60); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .l-btn-plain:hover { - border: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox a.m-btn-plain-active { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .m-btn-active { - border-width: 0 1px 0 0; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .textbox-button-right { - border-width: 0 0 0 1px; -} -.searchbox .textbox-button-left { - border-width: 0 1px 0 0; -} -.searchbox-button { - background: url('images/searchbox_button.png') no-repeat center center; -} -.searchbox .l-btn-plain { - background: #f3f3f3; -} -.searchbox .l-btn-plain-disabled, -.searchbox .l-btn-plain-disabled:hover { - opacity: 0.5; - filter: alpha(opacity=50); -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/sidemenu.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/sidemenu.css deleted file mode 100644 index b2ac5fe..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/sidemenu.css +++ /dev/null @@ -1,72 +0,0 @@ -.sidemenu .tree-hit { - background-image: none; -} -.sidemenu-default-icon { - background-image: none; - width: 0; -} -.sidemenu .accordion .accordion-header, -.sidemenu .accordion .accordion-body { - border-bottom-color: transparent; - background: transparent; -} -.sidemenu .accordion .accordion-header { - color: #575765; -} -.sidemenu .accordion-header .panel-title { - height: 30px; - line-height: 30px; - color: #575765; -} -.sidemenu .accordion-header:hover { - background: #e2e2e2; - color: #575765; -} -.sidemenu .tree-node-hover { - background: #e2e2e2; - color: #575765; -} -.sidemenu .tree-node-selected { - border-right: 2px solid #0070a9; - color: #fff; - background: #0092DC; -} -.sidemenu .tree-node { - height: 40px; -} -.sidemenu .tree-title { - margin: 11px 0; -} -.sidemenu .tree-node-nonleaf { - position: relative; -} -.sidemenu .tree-node-nonleaf::after { - display: inline-block; - content: ''; - position: absolute; - top: 50%; - margin-top: -8px; - background: url('images/accordion_arrows.png') no-repeat 0 0; - width: 16px; - height: 16px; - right: 5px; -} -.sidemenu .tree-node-nonleaf-collapsed::after { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.sidemenu-collapsed .panel-icon { - left: 50%; - margin-left: -8px; -} -.sidemenu-tooltip { - padding: 0; - margin: 0 -12px; - border: 0; -} -.sidemenu-tooltip.tooltip-left { - margin: 0 12px; -} -.sidemenu-tooltip .tooltip-arrow-outer, -.sidemenu-tooltip .tooltip-arrow { - display: none; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/slider.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/slider.css deleted file mode 100644 index 11c8b26..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/slider.css +++ /dev/null @@ -1,101 +0,0 @@ -.slider-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.slider-h { - height: 22px; -} -.slider-v { - width: 22px; -} -.slider-inner { - position: relative; - height: 6px; - top: 7px; - border-width: 1px; - border-style: solid; - border-radius: 5px; -} -.slider-handle { - position: absolute; - display: block; - outline: none; - width: 20px; - height: 20px; - top: 50%; - margin-top: -10px; - margin-left: -10px; -} -.slider-tip { - position: absolute; - display: inline-block; - line-height: 12px; - font-size: 14px; - white-space: nowrap; - top: -22px; -} -.slider-rule { - position: relative; - top: 15px; -} -.slider-rule span { - position: absolute; - display: inline-block; - font-size: 0; - height: 5px; - border-width: 0 0 0 1px; - border-style: solid; -} -.slider-rulelabel { - position: relative; - top: 20px; -} -.slider-rulelabel span { - position: absolute; - display: inline-block; - font-size: 14px; -} -.slider-v .slider-inner { - width: 6px; - left: 7px; - top: 0; - float: left; -} -.slider-v .slider-handle { - left: 50%; - margin-top: -10px; -} -.slider-v .slider-tip { - left: -10px; - margin-top: -6px; -} -.slider-v .slider-rule { - float: left; - top: 0; - left: 16px; -} -.slider-v .slider-rule span { - width: 5px; - height: 'auto'; - border-left: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.slider-v .slider-rulelabel { - float: left; - top: 0; - left: 23px; -} -.slider-handle { - background: url('images/slider_handle.png') no-repeat; -} -.slider-inner { - border-color: #D3D3D3; - background: #f3f3f3; -} -.slider-rule span { - border-color: #D3D3D3; -} -.slider-rulelabel span { - color: #000000; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/spinner.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/spinner.css deleted file mode 100644 index 391f227..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/spinner.css +++ /dev/null @@ -1,114 +0,0 @@ -.spinner-arrow { - display: inline-block; - overflow: hidden; - vertical-align: top; - margin: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - width: 18px; -} -.spinner-arrow.spinner-button-top, -.spinner-arrow.spinner-button-bottom, -.spinner-arrow.spinner-button-left, -.spinner-arrow.spinner-button-right { - background-color: #f3f3f3; -} -.spinner-arrow-up, -.spinner-arrow-down { - opacity: 0.6; - filter: alpha(opacity=60); - display: block; - font-size: 1px; - width: 18px; - height: 10px; - width: 100%; - height: 50%; - color: #444; - outline-style: none; - background-color: #f3f3f3; -} -.spinner-button-updown { - opacity: 1.0; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - position: relative; - display: block; - width: 100%; - height: 50%; -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down { - opacity: 1.0; - filter: alpha(opacity=100); - cursor: pointer; - width: 16px; - height: 16px; - top: 50%; - left: 50%; - margin-top: -8px; - margin-left: -8px; - position: absolute; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-button-updown .spinner-button-top:hover, -.spinner-button-updown .spinner-button-bottom:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down, -.spinner-button-updown .spinner-arrow-up:hover, -.spinner-button-updown .spinner-arrow-down:hover { - background-color: transparent; -} -.spinner-arrow-hover { - background-color: #e2e2e2; - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-top:hover, -.spinner-button-bottom:hover, -.spinner-button-left:hover, -.spinner-button-right:hover, -.spinner-arrow-up:hover, -.spinner-arrow-down:hover { - opacity: 1.0; - filter: alpha(opacity=100); - background-color: #e2e2e2; -} -.textbox-disabled .spinner-button-top:hover, -.textbox-disabled .spinner-button-bottom:hover, -.textbox-disabled .spinner-button-left:hover, -.textbox-disabled .spinner-button-right:hover, -.textbox-icon-disabled .spinner-arrow-up:hover, -.textbox-icon-disabled .spinner-arrow-down:hover { - opacity: 0.6; - filter: alpha(opacity=60); - background-color: #f3f3f3; - cursor: default; -} -.spinner .textbox-icon-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-arrow-up { - background: url('images/spinner_arrows.png') no-repeat 1px center; - background-color: #f3f3f3; -} -.spinner-arrow-down { - background: url('images/spinner_arrows.png') no-repeat -15px center; - background-color: #f3f3f3; -} -.spinner-button-up { - background: url('images/spinner_arrows.png') no-repeat -32px center; -} -.spinner-button-down { - background: url('images/spinner_arrows.png') no-repeat -48px center; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/splitbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/splitbutton.css deleted file mode 100644 index bb2b6da..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/splitbutton.css +++ /dev/null @@ -1,12 +0,0 @@ -.s-btn:hover .m-btn-line, -.s-btn-active .m-btn-line, -.s-btn-plain-active .m-btn-line { - display: inline-block; -} -.l-btn:hover .s-btn-downarrow, -.s-btn-active .s-btn-downarrow, -.s-btn-plain-active .s-btn-downarrow { - border-style: solid; - border-color: #bfbfbf; - border-width: 0 0 0 1px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/switchbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/switchbutton.css deleted file mode 100644 index a5bf61f..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/switchbutton.css +++ /dev/null @@ -1,77 +0,0 @@ -.switchbutton { - text-decoration: none; - display: inline-block; - overflow: hidden; - vertical-align: middle; - margin: 0; - padding: 0; - cursor: pointer; - background: #bbb; - border: 1px solid #bbb; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.switchbutton-inner { - display: inline-block; - overflow: hidden; - position: relative; - top: -1px; - left: -1px; -} -.switchbutton-on, -.switchbutton-off, -.switchbutton-handle { - display: inline-block; - text-align: center; - height: 100%; - float: left; - font-size: 14px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.switchbutton-on { - background: #0092DC; - color: #fff; -} -.switchbutton-off { - background-color: #ffffff; - color: #000000; -} -.switchbutton-on, -.switchbutton-reversed .switchbutton-off { - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.switchbutton-off, -.switchbutton-reversed .switchbutton-on { - -moz-border-radius: 0 5px 5px 0; - -webkit-border-radius: 0 5px 5px 0; - border-radius: 0 5px 5px 0; -} -.switchbutton-handle { - position: absolute; - top: 0; - left: 50%; - background-color: #ffffff; - color: #000000; - border: 1px solid #bbb; - -moz-box-shadow: 0 0 3px 0 #bbb; - -webkit-box-shadow: 0 0 3px 0 #bbb; - box-shadow: 0 0 3px 0 #bbb; -} -.switchbutton-value { - position: absolute; - top: 0; - left: -5000px; -} -.switchbutton-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.switchbutton-disabled, -.switchbutton-readonly { - cursor: default; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tabs.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tabs.css deleted file mode 100644 index 2767fc0..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tabs.css +++ /dev/null @@ -1,413 +0,0 @@ -.tabs-container { - overflow: hidden; -} -.tabs-header { - border-width: 1px; - border-style: solid; - border-bottom-width: 0; - position: relative; - padding: 0; - padding-top: 2px; - overflow: hidden; -} -.tabs-scroller-left, -.tabs-scroller-right { - position: absolute; - top: auto; - bottom: 0; - width: 18px; - font-size: 1px; - display: none; - cursor: pointer; - border-width: 1px; - border-style: solid; -} -.tabs-scroller-left { - left: 0; -} -.tabs-scroller-right { - right: 0; -} -.tabs-tool { - position: absolute; - bottom: 0; - padding: 1px; - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.tabs-header-plain .tabs-tool { - padding: 0 1px; -} -.tabs-wrap { - position: relative; - left: 0; - overflow: hidden; - width: 100%; - margin: 0; - padding: 0; -} -.tabs-scrolling { - margin-left: 18px; - margin-right: 18px; -} -.tabs-disabled { - opacity: 0.3; - filter: alpha(opacity=30); -} -.tabs { - list-style-type: none; - height: 26px; - margin: 0px; - padding: 0px; - padding-left: 4px; - width: 50000px; - border-style: solid; - border-width: 0 0 1px 0; -} -.tabs li { - float: left; - display: inline-block; - margin: 0 4px -1px 0; - padding: 0; - position: relative; - border: 0; -} -.tabs li a.tabs-inner { - display: inline-block; - text-decoration: none; - margin: 0; - padding: 0 10px; - height: 25px; - line-height: 25px; - text-align: center; - white-space: nowrap; - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 0 0; - -webkit-border-radius: 5px 5px 0 0; - border-radius: 5px 5px 0 0; -} -.tabs li.tabs-selected a.tabs-inner { - font-weight: bold; - outline: none; -} -.tabs li.tabs-selected a:hover.tabs-inner { - cursor: default; - pointer: default; -} -.tabs li a.tabs-close, -.tabs-p-tool { - position: absolute; - font-size: 1px; - display: block; - height: 12px; - padding: 0; - top: 50%; - margin-top: -6px; - overflow: hidden; -} -.tabs li a.tabs-close { - width: 12px; - right: 5px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs-p-tool { - right: 16px; -} -.tabs-p-tool a { - display: inline-block; - font-size: 1px; - width: 12px; - height: 12px; - margin: 0; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs li a:hover.tabs-close, -.tabs-p-tool a:hover { - opacity: 1; - filter: alpha(opacity=100); - cursor: hand; - cursor: pointer; -} -.tabs-with-icon { - padding-left: 18px; -} -.tabs-icon { - position: absolute; - width: 16px; - height: 16px; - left: 10px; - top: 50%; - margin-top: -8px; -} -.tabs-title { - font-size: 14px; -} -.tabs-closable { - padding-right: 8px; -} -.tabs-panels { - margin: 0px; - padding: 0px; - border-width: 1px; - border-style: solid; - border-top-width: 0; - overflow: hidden; -} -.tabs-header-bottom { - border-width: 0 1px 1px 1px; - padding: 0 0 2px 0; -} -.tabs-header-bottom .tabs { - border-width: 1px 0 0 0; -} -.tabs-header-bottom .tabs li { - margin: -1px 4px 0 0; -} -.tabs-header-bottom .tabs li a.tabs-inner { - -moz-border-radius: 0 0 5px 5px; - -webkit-border-radius: 0 0 5px 5px; - border-radius: 0 0 5px 5px; -} -.tabs-header-bottom .tabs-tool { - top: 0; -} -.tabs-header-bottom .tabs-scroller-left, -.tabs-header-bottom .tabs-scroller-right { - top: 0; - bottom: auto; -} -.tabs-panels-top { - border-width: 1px 1px 0 1px; -} -.tabs-header-left { - float: left; - border-width: 1px 0 1px 1px; - padding: 0; -} -.tabs-header-right { - float: right; - border-width: 1px 1px 1px 0; - padding: 0; -} -.tabs-header-left .tabs-wrap, -.tabs-header-right .tabs-wrap { - height: 100%; -} -.tabs-header-left .tabs { - height: 100%; - padding: 4px 0 0 2px; - border-width: 0 1px 0 0; -} -.tabs-header-right .tabs { - height: 100%; - padding: 4px 2px 0 0; - border-width: 0 0 0 1px; -} -.tabs-header-left .tabs li, -.tabs-header-right .tabs li { - display: block; - width: 100%; - position: relative; -} -.tabs-header-left .tabs li { - left: auto; - right: 0; - margin: 0 -1px 4px 0; - float: right; -} -.tabs-header-right .tabs li { - left: 0; - right: auto; - margin: 0 0 4px -1px; - float: left; -} -.tabs-justified li a.tabs-inner { - padding-left: 0; - padding-right: 0; -} -.tabs-header-left .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.tabs-header-right .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 0 5px 5px 0; - -webkit-border-radius: 0 5px 5px 0; - border-radius: 0 5px 5px 0; -} -.tabs-panels-right { - float: right; - border-width: 1px 1px 1px 0; -} -.tabs-panels-left { - float: left; - border-width: 1px 0 1px 1px; -} -.tabs-header-noborder, -.tabs-panels-noborder { - border: 0px; -} -.tabs-header-plain { - border: 0px; - background: transparent; -} -.tabs-pill { - padding-bottom: 3px; -} -.tabs-header-bottom .tabs-pill { - padding-top: 3px; - padding-bottom: 0; -} -.tabs-header-left .tabs-pill { - padding-right: 3px; -} -.tabs-header-right .tabs-pill { - padding-left: 3px; -} -.tabs-header .tabs-pill li a.tabs-inner { - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.tabs-header-narrow, -.tabs-header-narrow .tabs-narrow { - padding: 0; -} -.tabs-narrow li, -.tabs-header-bottom .tabs-narrow li { - margin-left: 0; - margin-right: -1px; -} -.tabs-narrow li.tabs-last, -.tabs-header-bottom .tabs-narrow li.tabs-last { - margin-right: 0; -} -.tabs-header-left .tabs-narrow, -.tabs-header-right .tabs-narrow { - padding-top: 0; -} -.tabs-header-left .tabs-narrow li { - margin-bottom: -1px; - margin-right: -1px; -} -.tabs-header-left .tabs-narrow li.tabs-last, -.tabs-header-right .tabs-narrow li.tabs-last { - margin-bottom: 0; -} -.tabs-header-right .tabs-narrow li { - margin-bottom: -1px; - margin-left: -1px; -} -.tabs-scroller-left { - background: #f3f3f3 url('images/tabs_icons.png') no-repeat 1px center; -} -.tabs-scroller-right { - background: #f3f3f3 url('images/tabs_icons.png') no-repeat -15px center; -} -.tabs li a.tabs-close { - background: url('images/tabs_icons.png') no-repeat -34px center; -} -.tabs li a.tabs-inner:hover { - background: #e2e2e2; - color: #000000; - filter: none; -} -.tabs li.tabs-selected a.tabs-inner { - background-color: #ffffff; - color: #575765; - background: -webkit-linear-gradient(top,#F8F8F8 0,#ffffff 100%); - background: -moz-linear-gradient(top,#F8F8F8 0,#ffffff 100%); - background: -o-linear-gradient(top,#F8F8F8 0,#ffffff 100%); - background: linear-gradient(to bottom,#F8F8F8 0,#ffffff 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#ffffff,GradientType=0); -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(top,#ffffff 0,#F8F8F8 100%); - background: -moz-linear-gradient(top,#ffffff 0,#F8F8F8 100%); - background: -o-linear-gradient(top,#ffffff 0,#F8F8F8 100%); - background: linear-gradient(to bottom,#ffffff 0,#F8F8F8 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F8F8F8,GradientType=0); -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(left,#F8F8F8 0,#ffffff 100%); - background: -moz-linear-gradient(left,#F8F8F8 0,#ffffff 100%); - background: -o-linear-gradient(left,#F8F8F8 0,#ffffff 100%); - background: linear-gradient(to right,#F8F8F8 0,#ffffff 100%); - background-repeat: repeat-y; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#ffffff,GradientType=1); -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(left,#ffffff 0,#F8F8F8 100%); - background: -moz-linear-gradient(left,#ffffff 0,#F8F8F8 100%); - background: -o-linear-gradient(left,#ffffff 0,#F8F8F8 100%); - background: linear-gradient(to right,#ffffff 0,#F8F8F8 100%); - background-repeat: repeat-y; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F8F8F8,GradientType=1); -} -.tabs li a.tabs-inner { - color: #575765; - background-color: #f3f3f3; - background: -webkit-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); - background: -moz-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); - background: -o-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); - background: linear-gradient(to bottom,#F8F8F8 0,#eeeeee 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#eeeeee,GradientType=0); -} -.tabs-header, -.tabs-tool { - background-color: #f3f3f3; -} -.tabs-header-plain { - background: transparent; -} -.tabs-header, -.tabs-scroller-left, -.tabs-scroller-right, -.tabs-tool, -.tabs, -.tabs-panels, -.tabs li a.tabs-inner, -.tabs li.tabs-selected a.tabs-inner, -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, -.tabs-header-left .tabs li.tabs-selected a.tabs-inner, -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-color: #D3D3D3; -} -.tabs-p-tool a:hover, -.tabs li a:hover.tabs-close, -.tabs-scroller-over { - background-color: #e2e2e2; -} -.tabs li.tabs-selected a.tabs-inner { - border-bottom: 1px solid #ffffff; -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - border-top: 1px solid #ffffff; -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - border-right: 1px solid #ffffff; -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-left: 1px solid #ffffff; -} -.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { - background: #0092DC; - color: #fff; - filter: none; - border-color: #D3D3D3; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tagbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tagbox.css deleted file mode 100644 index 46cbd33..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tagbox.css +++ /dev/null @@ -1,44 +0,0 @@ -.tagbox { - cursor: text; -} -.tagbox .textbox-text { - float: left; -} -.tagbox-label { - position: relative; - display: block; - margin: 4px 0 0 4px; - padding: 0 20px 0 4px; - float: left; - vertical-align: top; - text-decoration: none; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - background: #e2e2e2; - color: #000000; -} -.tagbox-remove { - background: url('images/tagbox_icons.png') no-repeat -16px center; - position: absolute; - display: block; - width: 16px; - height: 16px; - right: 2px; - top: 50%; - margin-top: -8px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tagbox-remove:hover { - opacity: 1; - filter: alpha(opacity=100); -} -.textbox-disabled .tagbox-label { - cursor: default; -} -.textbox-disabled .tagbox-remove:hover { - cursor: default; - opacity: 0.6; - filter: alpha(opacity=60); -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/textbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/textbox.css deleted file mode 100644 index 2705ebc..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/textbox.css +++ /dev/null @@ -1,144 +0,0 @@ -.textbox { - position: relative; - border: 1px solid #D3D3D3; - background-color: #fff; - vertical-align: middle; - display: inline-block; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.textbox .textbox-text { - font-size: 14px; - border: 0; - margin: 0; - padding: 0 4px; - white-space: normal; - vertical-align: top; - outline-style: none; - resize: none; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - height: 28px; - line-height: 28px; -} -.textbox textarea.textbox-text { - line-height: normal; -} -.textbox .textbox-text::-ms-clear, -.textbox .textbox-text::-ms-reveal { - display: none; -} -.textbox textarea.textbox-text { - white-space: pre-wrap; -} -.textbox .textbox-prompt { - font-size: 14px; - color: #aaa; -} -.textbox .textbox-bgicon { - background-position: 3px center; - padding-left: 21px; -} -.textbox .textbox-button, -.textbox .textbox-button:hover { - position: absolute; - top: 0; - padding: 0; - vertical-align: top; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.textbox .textbox-button-right, -.textbox .textbox-button-right:hover { - right: 0; - border-width: 0 0 0 1px; -} -.textbox .textbox-button-left, -.textbox .textbox-button-left:hover { - left: 0; - border-width: 0 1px 0 0; -} -.textbox .textbox-button-top, -.textbox .textbox-button-top:hover { - left: 0; - border-width: 0 0 1px 0; -} -.textbox .textbox-button-bottom, -.textbox .textbox-button-bottom:hover { - top: auto; - bottom: 0; - left: 0; - border-width: 1px 0 0 0; -} -.textbox-addon { - position: absolute; - top: 0; -} -.textbox-label { - display: inline-block; - width: 80px; - height: 30px; - line-height: 30px; - vertical-align: middle; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - margin: 0; - padding-right: 5px; -} -.textbox-label-after { - padding-left: 5px; - padding-right: 0; -} -.textbox-label-top { - display: block; - width: auto; - padding: 0; -} -.textbox-disabled, -.textbox-label-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-icon { - display: inline-block; - width: 18px; - height: 20px; - overflow: hidden; - vertical-align: top; - background-position: center center; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); - text-decoration: none; - outline-style: none; -} -.textbox-icon-disabled, -.textbox-icon-readonly { - cursor: default; -} -.textbox-icon:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.textbox-icon-disabled:hover { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-focused { - border-color: #bababa; - -moz-box-shadow: 0 0 3px 0 #D3D3D3; - -webkit-box-shadow: 0 0 3px 0 #D3D3D3; - box-shadow: 0 0 3px 0 #D3D3D3; -} -.textbox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tooltip.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tooltip.css deleted file mode 100644 index fee263f..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tooltip.css +++ /dev/null @@ -1,103 +0,0 @@ -.tooltip { - position: absolute; - display: none; - z-index: 9900000; - outline: none; - opacity: 1; - filter: alpha(opacity=100); - padding: 5px; - border-width: 1px; - border-style: solid; - border-radius: 5px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.tooltip-content { - font-size: 14px; -} -.tooltip-arrow-outer, -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - line-height: 0; - font-size: 0; - border-style: solid; - border-width: 6px; - border-color: transparent; - _border-color: tomato; - _filter: chroma(color=tomato); -} -.tooltip-arrow { - display: none \9; -} -.tooltip-right .tooltip-arrow-outer { - left: 0; - top: 50%; - margin: -6px 0 0 -13px; -} -.tooltip-right .tooltip-arrow { - left: 0; - top: 50%; - margin: -6px 0 0 -12px; -} -.tooltip-left .tooltip-arrow-outer { - right: 0; - top: 50%; - margin: -6px -13px 0 0; -} -.tooltip-left .tooltip-arrow { - right: 0; - top: 50%; - margin: -6px -12px 0 0; -} -.tooltip-top .tooltip-arrow-outer { - bottom: 0; - left: 50%; - margin: 0 0 -13px -6px; -} -.tooltip-top .tooltip-arrow { - bottom: 0; - left: 50%; - margin: 0 0 -12px -6px; -} -.tooltip-bottom .tooltip-arrow-outer { - top: 0; - left: 50%; - margin: -13px 0 0 -6px; -} -.tooltip-bottom .tooltip-arrow { - top: 0; - left: 50%; - margin: -12px 0 0 -6px; -} -.tooltip { - background-color: #ffffff; - border-color: #D3D3D3; - color: #000000; -} -.tooltip-right .tooltip-arrow-outer { - border-right-color: #D3D3D3; -} -.tooltip-right .tooltip-arrow { - border-right-color: #ffffff; -} -.tooltip-left .tooltip-arrow-outer { - border-left-color: #D3D3D3; -} -.tooltip-left .tooltip-arrow { - border-left-color: #ffffff; -} -.tooltip-top .tooltip-arrow-outer { - border-top-color: #D3D3D3; -} -.tooltip-top .tooltip-arrow { - border-top-color: #ffffff; -} -.tooltip-bottom .tooltip-arrow-outer { - border-bottom-color: #D3D3D3; -} -.tooltip-bottom .tooltip-arrow { - border-bottom-color: #ffffff; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tree.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tree.css deleted file mode 100644 index 1cc4f2d..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tree.css +++ /dev/null @@ -1,164 +0,0 @@ -.tree { - margin: 0; - padding: 0; - list-style-type: none; -} -.tree li { - white-space: nowrap; -} -.tree li ul { - list-style-type: none; - margin: 0; - padding: 0; -} -.tree-node { - height: 26px; - white-space: nowrap; - cursor: pointer; -} -.tree-hit { - cursor: pointer; -} -.tree-expanded, -.tree-collapsed, -.tree-folder, -.tree-file, -.tree-checkbox, -.tree-indent { - display: inline-block; - width: 16px; - height: 18px; - margin: 4px 0; - vertical-align: middle; - overflow: hidden; -} -.tree-expanded { - background: url('images/tree_icons.png') no-repeat -18px 0px; -} -.tree-expanded-hover { - background: url('images/tree_icons.png') no-repeat -50px 0px; -} -.tree-collapsed { - background: url('images/tree_icons.png') no-repeat 0px 0px; -} -.tree-collapsed-hover { - background: url('images/tree_icons.png') no-repeat -32px 0px; -} -.tree-lines .tree-expanded, -.tree-lines .tree-root-first .tree-expanded { - background: url('images/tree_icons.png') no-repeat -144px 0; -} -.tree-lines .tree-collapsed, -.tree-lines .tree-root-first .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -128px 0; -} -.tree-lines .tree-node-last .tree-expanded, -.tree-lines .tree-root-one .tree-expanded { - background: url('images/tree_icons.png') no-repeat -80px 0; -} -.tree-lines .tree-node-last .tree-collapsed, -.tree-lines .tree-root-one .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -64px 0; -} -.tree-line { - background: url('images/tree_icons.png') no-repeat -176px 0; -} -.tree-join { - background: url('images/tree_icons.png') no-repeat -192px 0; -} -.tree-joinbottom { - background: url('images/tree_icons.png') no-repeat -160px 0; -} -.tree-folder { - background: url('images/tree_icons.png') no-repeat -208px 0; -} -.tree-folder-open { - background: url('images/tree_icons.png') no-repeat -224px 0; -} -.tree-file { - background: url('images/tree_icons.png') no-repeat -240px 0; -} -.tree-loading { - background: url('images/loading.gif') no-repeat center center; -} -.tree-checkbox0 { - background: url('images/tree_icons.png') no-repeat -208px -18px; -} -.tree-checkbox1 { - background: url('images/tree_icons.png') no-repeat -224px -18px; -} -.tree-checkbox2 { - background: url('images/tree_icons.png') no-repeat -240px -18px; -} -.tree-title { - font-size: 14px; - display: inline-block; - text-decoration: none; - vertical-align: middle; - white-space: nowrap; - padding: 0 2px; - margin: 4px 0; - height: 18px; - line-height: 18px; -} -.tree-node-proxy { - font-size: 14px; - line-height: 20px; - padding: 0 2px 0 20px; - border-width: 1px; - border-style: solid; - z-index: 9900000; -} -.tree-dnd-icon { - display: inline-block; - position: absolute; - width: 16px; - height: 18px; - left: 2px; - top: 50%; - margin-top: -9px; -} -.tree-dnd-yes { - background: url('images/tree_icons.png') no-repeat -256px 0; -} -.tree-dnd-no { - background: url('images/tree_icons.png') no-repeat -256px -18px; -} -.tree-node-top { - border-top: 1px dotted red; -} -.tree-node-bottom { - border-bottom: 1px dotted red; -} -.tree-node-append .tree-title { - border: 1px dotted red; -} -.tree-editor { - border: 1px solid #D3D3D3; - font-size: 14px; - height: 26px; - line-height: 26px; - padding: 0 4px; - margin: 0; - width: 80px; - outline-style: none; - vertical-align: middle; - position: absolute; - top: 0; -} -.tree-node-proxy { - background-color: #ffffff; - color: #000000; - border-color: #D3D3D3; -} -.tree-node-hover { - background: #e2e2e2; - color: #000000; -} -.tree-node-selected { - background: #0092DC; - color: #fff; -} -.tree-node-hidden { - display: none; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/validatebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/validatebox.css deleted file mode 100644 index 4d566de..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/validatebox.css +++ /dev/null @@ -1,13 +0,0 @@ -.inputbox { - display: inline-block; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; -} -.validatebox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; - color: #000; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/window.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/window.css deleted file mode 100644 index 0e522cd..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/window.css +++ /dev/null @@ -1,188 +0,0 @@ -.window { - overflow: hidden; - padding: 5px; - border-width: 1px; - border-style: solid; -} -.window .window-header { - background: transparent; - padding: 0px 0px 6px 0px; -} -.window .window-body { - border-width: 1px; - border-style: solid; - border-top-width: 0px; -} -.window .window-body-noheader { - border-top-width: 1px; -} -.window .panel-body-nobottom { - border-bottom-width: 0; -} -.window .window-header .panel-icon, -.window .window-header .panel-tool { - top: 50%; - margin-top: -11px; -} -.window .window-header .panel-icon { - left: 1px; -} -.window .window-header .panel-tool { - right: 1px; -} -.window .window-header .panel-with-icon { - padding-left: 18px; -} -.window-proxy { - position: absolute; - overflow: hidden; -} -.window-proxy-mask { - position: absolute; - filter: alpha(opacity=5); - opacity: 0.05; -} -.window-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - filter: alpha(opacity=40); - opacity: 0.40; - font-size: 1px; - overflow: hidden; -} -.window, -.window-shadow { - position: absolute; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.window-shadow { - background: #ccc; - -moz-box-shadow: 2px 2px 3px #cccccc; - -webkit-box-shadow: 2px 2px 3px #cccccc; - box-shadow: 2px 2px 3px #cccccc; - filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); -} -.window, -.window .window-body { - border-color: #D3D3D3; -} -.window { - background-color: #f3f3f3; - background: -webkit-linear-gradient(top,#F8F8F8 0,#eeeeee 20%); - background: -moz-linear-gradient(top,#F8F8F8 0,#eeeeee 20%); - background: -o-linear-gradient(top,#F8F8F8 0,#eeeeee 20%); - background: linear-gradient(to bottom,#F8F8F8 0,#eeeeee 20%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#eeeeee,GradientType=0); -} -.window-proxy { - border: 1px dashed #D3D3D3; -} -.window-proxy-mask, -.window-mask { - background: #ccc; -} -.window .panel-footer { - border: 1px solid #D3D3D3; - position: relative; - top: -1px; -} -.window-thinborder { - padding: 0; -} -.window-thinborder .window-header { - padding: 5px 5px 6px 5px; -} -.window-thinborder .window-body { - border-width: 0px; -} -.window-thinborder .window-footer { - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} -.window-thinborder .window-header .panel-icon, -.window-thinborder .window-header .panel-tool { - margin-top: -9px; - margin-left: 5px; - margin-right: 5px; -} -.window-noborder { - border: 0; -} -.window.panel-hleft .window-header { - padding: 0 6px 0 0; -} -.window.panel-hright .window-header { - padding: 0 0 0 6px; -} -.window.panel-hleft>.panel-header .panel-title { - top: auto; - left: 16px; -} -.window.panel-hright>.panel-header .panel-title { - top: auto; - right: 16px; -} -.window.panel-hleft>.panel-header .panel-title-up, -.window.panel-hright>.panel-header .panel-title-up { - bottom: 0; -} -.window.panel-hleft .window-body { - border-width: 1px 1px 1px 0; -} -.window.panel-hright .window-body { - border-width: 1px 0 1px 1px; -} -.window.panel-hleft .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: 0; -} -.window.panel-hright .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: auto; - right: 1px; -} -.window.panel-hleft .window-header .panel-tool, -.window.panel-hright .window-header .panel-tool { - margin-top: 0; - top: auto; - bottom: 1px; - right: auto; - margin-right: 0; - left: 50%; - margin-left: -11px; -} -.window.panel-hright .window-header .panel-tool { - left: auto; - right: 1px; -} -.window-thinborder.panel-hleft .window-header { - padding: 5px 6px 5px 5px; -} -.window-thinborder.panel-hright .window-header { - padding: 5px 5px 5px 6px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title { - left: 21px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title-up, -.window-thinborder.panel-hright>.panel-header .panel-title-up { - bottom: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-icon, -.window-thinborder.panel-hright .window-header .panel-icon { - margin-top: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-tool, -.window-thinborder.panel-hright .window-header .panel-tool { - left: 16px; - bottom: 5px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icon.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icon.css deleted file mode 100644 index c2d3b21..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icon.css +++ /dev/null @@ -1,96 +0,0 @@ -.icon-blank{ - background:url('icons/blank.gif') no-repeat center center; -} -.icon-add{ - background:url('icons/edit_add.png') no-repeat center center; -} -.icon-edit{ - background:url('icons/pencil.png') no-repeat center center; -} -.icon-clear{ - background:url('icons/clear.png') no-repeat center center; -} -.icon-remove{ - background:url('icons/edit_remove.png') no-repeat center center; -} -.icon-save{ - background:url('icons/filesave.png') no-repeat center center; -} -.icon-cut{ - background:url('icons/cut.png') no-repeat center center; -} -.icon-ok{ - background:url('icons/ok.png') no-repeat center center; -} -.icon-no{ - background:url('icons/no.png') no-repeat center center; -} -.icon-cancel{ - background:url('icons/cancel.png') no-repeat center center; -} -.icon-reload{ - background:url('icons/reload.png') no-repeat center center; -} -.icon-search{ - background:url('icons/search.png') no-repeat center center; -} -.icon-print{ - background:url('icons/print.png') no-repeat center center; -} -.icon-help{ - background:url('icons/help.png') no-repeat center center; -} -.icon-undo{ - background:url('icons/undo.png') no-repeat center center; -} -.icon-redo{ - background:url('icons/redo.png') no-repeat center center; -} -.icon-back{ - background:url('icons/back.png') no-repeat center center; -} -.icon-sum{ - background:url('icons/sum.png') no-repeat center center; -} -.icon-tip{ - background:url('icons/tip.png') no-repeat center center; -} -.icon-filter{ - background:url('icons/filter.png') no-repeat center center; -} -.icon-man{ - background:url('icons/man.png') no-repeat center center; -} -.icon-lock{ - background:url('icons/lock.png') no-repeat center center; -} -.icon-more{ - background:url('icons/more.png') no-repeat center center; -} - - -.icon-mini-add{ - background:url('icons/mini_add.png') no-repeat center center; -} -.icon-mini-edit{ - background:url('icons/mini_edit.png') no-repeat center center; -} -.icon-mini-refresh{ - background:url('icons/mini_refresh.png') no-repeat center center; -} - -.icon-large-picture{ - background:url('icons/large_picture.png') no-repeat center center; -} -.icon-large-clipart{ - background:url('icons/large_clipart.png') no-repeat center center; -} -.icon-large-shapes{ - background:url('icons/large_shapes.png') no-repeat center center; -} -.icon-large-smartart{ - background:url('icons/large_smartart.png') no-repeat center center; -} -.icon-large-chart{ - background:url('icons/large_chart.png') no-repeat center center; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/back.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/back.png deleted file mode 100644 index 3fe8b178ec9eb9fdbfefe0f2c81c8d4acf0dc275..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 912 zcmV;B18@9^P)DPbufGfoO#dy!l?7(~R{rJuB|Ic3( zr2qlMf}#2UUndb!-U*#ucDjkNIt+}=Obow%{r$o4^UqfXE*6k;foc%S0Rjlgfd4?5 zf5px&s!cN{J9F|ViZCp>{+}U8Tk|V?U_iPMphZz_IS$;9h@%hJaXH%3`;KjXZQ*9FFVV3hN%aCGjMUR1HHn+ z@a^MI26o0j4AJ(Y49b$+;J^R~Ag}?Z#!~g|?RE?+ZZR?}IQyT0vRH6Gfp6#Aq|XXnD!yol{GeUeEH15z{&iNK}>*+ff=Ho0U&_D2K@WS)Y#U3 zL<*QjlG@v>7^K*LF;uO1$H33~kD)O@mf_`_pA4@*{$OBc;sM6se}=oyzcD<1{hb-4 z7a)M3fynfS;s3w1j*cU*?%aD#}SqhQ+&{GkpB3~WDG86SXj0t66JI$#2Z>i^0$tFE0td*)?Zf4{AAccL7__n-e5zW@IF`Rlho zISk)^-(&#U%K~&i4@4_K0AWeW%&YF-``{WFx_xe1-VuhUFTXRebF#1lJi_@W|M}sAhw_srY>W~TKsPfouoxLJNIief_Uq!sAfaEsA{^Y@xOjmE zgETUH_`vZ0)G3BDOP2h+bm&kaKmak@u(Mx&^y$-mrq{2%AP9OrSt~`cWMBe}Df@WdXVtAb^-{fqrKM zhBm{WKbK$p{CV}~>(@b&Z{ISrfec|{VqpC9hvEOnj||^|n$Pav|M&czJ4yfk{hPxK ziXor@00G3p|Me>aP=MhdQ1O2@wh#Zfxc+?xI`hkm7YtzU0Ks3N8c+cLWnuXTwCn>L zPz;1Y=>#Bvm|a;}8UBK7;o$HwmX%#&_3Ev z8Du=HOuX z4|L&Apeyv`#@8bfBxE!U^>5?3)J&j7~IN0z^T7prh^aQ_9m=nqi-_p@gVCMG7_z;K%h5I{^nzkYr61?WsB zppBr|;1UpEcqk91j^EtPTT1|U8QuVY?eYHqKSSK zP3o7x#7F%IgmygBVw*mDl7H^Z{OA78x#wJf^N>g+(A}*)`QG z5RTB`_EMce+Rq7v1K^?@u()CXf6xoz7!8!yDW$`H4viiQVXJBa++G(roc6hNHhJa` zc)tgNK1C=T#LYg4#zR25R*jil>eLtT{GdaAuGwmA2T&d-c>V5!!d9NyEp9Qmxe|`j ziex$g4vI7tOS{$FMw-cFlc$u|)oH@xv;lB4TdF3p9zS6L`{g|*5)D-xF1xRMSgLOC z7MSARP8Hv+kyxnx2--m{*z6VvMS>8Zy#!`G*)JEFkDm^i! z57&EQSe~y>rx{P4Jq8WqI_>n@dK|C^u()ifPp27dDGN*U z^*)3m0U({Lwv9rzno6%R=}dwtY~>hiY=vzs3$T+mn9{vzjZvdfBXyxZ39Q1lxt*_O za!Cf)+FBy^2Uli$r+^So1&^UvC9Uv!asn@3M*|?0O5yp7r!a4LH=D=I>FhdY&DZp^ zI_lx02LqV>=f-B1VTE_&n|?;e8M}28xLj@nAnp)D|3JTRN;i4Tjw+i=)$ZND8$(OU zO0JNPx!jIl*?fw5pNO9Is(T6ipVtD2MW9ltL~^<8_V~oBFC(MFPBbrJi4vhmDCP_J z3YkoHXME!2*U=lJE*_6}vFCCRm&4&S04zz3eYkpUkW2Ite1g#M`uYfvc1r7BSCpMy$Yx?I diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/cut.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/cut.png deleted file mode 100644 index 21fdb4dc3c8ee79a0ce59a981c336538bb334442..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1024 zcmV+b1poVqP)KUssI7R0t_;S-$0W-{rMx#%*eo)+e?%RfoV-A` z?ccwj;n}liPhDMIlit34>!qu!Yo(>7CAn+YuBQM2#PSp96fq8t;>8MTUb14+5!+ zh1}fS`vC%oB~w|slAW3PZ_cGlj@4{z(`tBmEnEc!mA;smFnr?YXSj9d48xmOul_%M z{`}=lpp}mwKc2(K$G039!2g(mVFeICEJ7?SLUQ8b%?bbpD{3O`OVC%+UevppX=w(zf+GMz2w2fBr5aagUt~(wq2b6{=H%aCSg#% z;Q+?Mw_m@&E&&K2CXiWwfX;daOnK_U!VcEb(%ehWpTE%h^=r=l|Nr0dGcxisGXPUK z$TlG61Zw>H_%XwOp!#1x0|5dEoRGc&4FEao?Uyf)o&i%`p`f6d>(i&31V4QeYY`CW z`^e6IpfT9{;&=|5oFFCgx5C zCdU5^zkvGwFf#xI5F^9@Mj&PZ>i;XIDz1EIW7#HNO(``7Wbpj`D~6DkIEG`Fj~g>E zv7BT0%MMh}%m5HTKwUu1|AE&0`w6t2L0CglgBzr|=0G*WndfI1m|2+_WcXznrnpXK zFxRwXICk!k9K(Oca|}%X!CCZghWKjC@{mZ}K|9&$aet3l8(A`4} z3_y#NM3or6{{6!6{l|9(hVS2X7}(iA0KNK@fra@tKmf4-8BwZIYO@XHj5z=N`2F8h z!HkKOiG_iOjfa7mgPDPijg5hqofqgzMg|KtBZgP5QB79zkL@az9?F#YcPyZ^3>T>rDQvi#@l=KQZeU;qEDcej8t|Nj34Vi0)x=H-9m zRJUIM0mPyts?4V;rOD8+yMbZvjlB#koIpo0{bjiO@h$^58#ge#m>6Dvd(DusJA;9f zos;1k5E_WURn1feKaiAuu1|BaZK*xijMU?6_J&-MoG9!s-C zzdQA+U}|%2STXXENpkw6Jq=WB#30h**Zqx80G7xg2LKoZVN&=1FEccT3xQkve43;n zjZvX^?*P{BPNoA(9dqA2RbK$HFf%bTgA}R?sWRwG>M<~LvjC&_AH(x+&l!FKqZXu* zgNcJdK|q0lm5r6*+rMuN%KXYeyO>(c-8{PO?x|MdU-|N8&%^z#2WXiNJ7h~@6v zdzJqE0h7#>E!qD3`omx(tIv?@mCeAx!U6Ut*b6}K$qC3ZY&&|8VcW@F4D1|S3|H@7 z|9AS=o?ccaRt6&pBZl99|1dDI zGBU^m{m;e1#lXV}Oi-MhCxK>dW&i~p&}9Gt!~zOUV9)~%0Wtr6y!+zLuZM3QbN0IR zG5i5SP>3@F;m5C^8P4814U9_G7Yt0G+{*~gyZ`~j$dJs4lARg<{>{>s*6r4l)n@}` z=l}m08CV!u816i~$8h@Qg}#6P7^{HU`5(hCMsRip2rvLwO?vxoke4F>0000k-9#K@4yU?IRNuvAG{MT+4+!{7h^fL{8`$iM*d**|6= z4P^fVVJ0wUWME=o`p?At@cFZEuRncB1qdJpzI47ba}Uk?|Kr!s|G$3!`TyhRum9hF zK=JqAK>Q1Wzk%@Y|3AL{`Tz6B-~ZcB?f)+or2iBkfLOGob+i+#;~6f!yu|SE{X+(J z7B&V3CZLTV1o9vwBM<>GNC3$H3xvX)LJS_J4h&{mrV;=F#KOtK@sEj#iJ^O6H^aK~ z>lj$LSr{0AW-tI<&&a~az|73dz{Cu6HVXuQ`~Qu>M#h?9tM@hrPBzZJ00F2XV-x^j z7z9cv`TuhRA=;X)qu}73hnoGd)hHEGiI`W8Wd+4gnzL6}5;?d6hzTh;Al{IJA|HldbA>qGJ3W z(Akj0gy6FuMFMs&||L0%d|AW9UApQ!(pZ@&+|Lq@y|Mx!xy!-m`f6?aW|CJIi zgSZR;0Vo`U6o5e(2o6=NC;k67TPnoF(0CnomdWR}+}Y*TYj=gwum!e34a6bEszh3= z!9Qg_5-j;~e*pwG;QznB|Ns7DWME)o1UvLUBgD}l>Nil}H_*V}Ob~(JKmlGpK?W`k zuzm)B0AgW)14af$paG0PMQqGK9!Q=Us_72{I7~pU0)`4Wj6lu@0e}Dk8vxV?mSALJ zf(SB0Y-eDC7z8r(H&F8*sH6WgGBGeRL#zb|Ah-*dfU4M-L8kr%^O=DPIDxwV0X6*r zc?B39|Nnu!_Y-I?Cj%2yA3y*>0ujjj`kRsA*aK#UKmY##Z39LlQ0L#je}VLWhQA;$ z03i$WUxq(F{xf{~!^yw`jbDHO0vo{2@}J?wcLs(tS6LbUeES7<^Pj&!!+?SC_b(&` z`~X_;?h`WuhX6AJJ3lZ+SRe)f1Q6H&W}qLx0b`K!=QoB7%dZUL;!F%*zcDiW`~?XM z77j*++Yf#-Kmb7k5$NBaKxeYD{AG|5`NuGK?Oz55Qziy; zeKv;gK$mfHGBNIfE{W8Kmb9!05tU%&_vdFGjGd1eqWv00a=k1&oZ$Yy|!NK66*5ZHhV+bRpY|MBzx zeXpJ~@NlyNT?C9qXd+?)M%h=O&F_E~aC~8Ako(8TcyI5es|*dw3;+Sd2uqUW0)PMm Y07EoBQ)jr0B>(^b07*qoM6N<$g57L=!vFvP diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/filter.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/filter.png deleted file mode 100644 index 1fedf7ae66f9512c8991a91f606e33926210dfd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 305 zcmV-10nYx3P)i;JxOiC&m|MyN^@V~Zu%6~m0)Bj`zY(-tqe_OBM|76EZZDa3$M~@)# z4XCPX|L^4POMwARE&rW8d?@fjbNzpNXSe?h!y5nqPb`Zh>Gjmx00000NkvXXu0mjf D9Yd^C diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/help.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/help.png deleted file mode 100644 index 28a0f9e5e6a24fe2cc3d842d0708e70512dbf84b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1187 zcmXX`YfMuI6h6Hzx2+Ut1EjYq1A-3cSfq4{Is$g`oXj!QjiG^7TiBdhXGlOZxm1@9 zS*DOla3bRT0cHN_rJ;^5DgN)q2ZN z|EAt&1z&5w`m%mvX&4t+@c4Ki)zj^n9Qtq}u-Kkgm|S+sG2Fc6RK?X36?YJhP0dA}?VOU?JP&>G6klO2uGz08Gy=gKR?}h(b{K&aenodIzi% z2f@MJp01+RY|(6BJziiDpcm1+C)f4BSg6zCdpJmKRiimi){G4(q} z1^PxxRYp%IvSXi?q6Z{WU1=c||G9fvjNOV8M5eGC9+9=$-Km*DQ5AV*WII_(dnpARZKp%77uh;KZ$z~72R!)*N`!~x=0M8DAMel@xO((;7NkGYln^j z>m@53+D`)q@q?T2z|AfKr0Wq7@&V%3vEWE%IJj2*@I~|AQ1|l-SXw1vg>V7oa|8I- z0PP3HCDVWP3>La6dZtL>>2W$NTXeTeE3}I*#OEs`#HLvXE;&}!k}!JOU8}8G*^*;= zPjSv0_%M5yo+6j0Lw14m9`2dn-mf1NjIPg)Vw7)%a0o9zj^>|q#+Vv13MJSTT;}7h z4Zfq*P7G=k-K=j!InVUNj9wh!)4I~ern6^GUXtfu4!SZ`QB}@5t|WV`n%8=*ErSn) zGjYM$*~Vxc9q@=I`#Q~!`<=w&Se+$ud=Pk1O*Brwau1*M?WFKRth>8iTZJdIQgn~v zCzI($b7!BT>3&ZqyhH4&mz1-ow|8KFVjY;l(ti5lghhYge-hacl;-uimIqemZ0Qjj zBEs2%Kv-FHfq7&Jo><&)%Bjgdi{^SdvbB+` z{s9&)87BY$ diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_chart.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_chart.png deleted file mode 100644 index 527608ee94683724de57fac1ed7593714ac41be4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1669 zcmV;027394P)OoL=dNpfT{jDe$P=9Ivhqz^iKm@S3IrUXvM(0iptmQ@N;^Xr`2l z>4!e;MtyMJ3@@+P z*cta0P;qWNgQ5t%kIIj;1wLh)>WhuhRMihnmHnENfO~VPJZBe!rXUHBxK2!dnjp`y z(`>y!X!;Ed4J}m4t$ZUqDz_on(tKFP<=Z=Rs60EC!Cg-WdZizNtwDlZX0M^Vz;da) zRk?SP0@rg5(0I-o4d?oDoM&fiyuRg4U;@stq2@8HW2l!$}hO{43f| zkRR=*CN3~#OC`C|Iv#~EN98>g3S3CjgZzXU!JJQyrc1M^d~XB;xx@+$vxiXb(Hu;2 zFkVG15abzF9mEABn@ce}UQW15nZ?ctSFs`YA(b2XNb$S02Wm1+P?Kd!R)b`wDdkb6 zCzU6LGN^U6z@3>6xI=D6HtT0{`DdiBAW!S7q=4(sCGh;Unj`KKp_&pQYoKyNuN0h3 z>4uAkjZtyfh~o%1H-B;Tyx`6PO>T7N03V` zRm26HLyu!xbTQ#9Pcfzv)@CTEytl`8oQ&&CR-qS4QuImc^K&oUE}l;1F@X$9N9*IV zt0kqDPnO3&c?t4VOC>Ad6r2G`;c zZL$jAAUCcD$!6rIrcrt1d7v}p0A*tdPKG=NXjthX$oHBn*@BUalQ2H`5S$6` z=j!BAD(~+66VldeLAJFU$F}YQwYk%%Jlu!D>47@<&9NuWwLl;BLGFS)*|eRw!0-ie za0*Js*mo@Da%Dm>mFtdK4rzo2jz;S?v#Be|uBeu|QF-WW1}FM!qG)(`6n)FmjZ1QT zD{!hH-)-`>xWHha&2U__1EVQB;porJD|X~jx$a1R>xdQ@kmMRh^?hR)nfvf`+O z%7Z-_$ZXV*Kcq8G59xyZ!8~ME1WXp>iN;C_IDEeWBj(2tw(!JIf?{P<-f74@B!zT< zbe#^N6Q4RbKqyO}MCB`HFgRwVijxkV$WJf1UsxQp=`3I5BFGbr+K3C-O%KIT?T?T-@#dA#9Q z;sUmAt1xJ0IEN>jVHikqadaA$YuV30+)`ES3DG2Ik=5Xmr9?W3%2^JXwn3&%2M%i% zH8QK=vahos-)X311*~0{V8FCs!YV!q?!oZixSz_^ZQSt75)~w@)IcI3VHJxeJuXgl z5elRlllOu?D&(=NLi0!;Rg$Wxo;OaAr}+IKF3`u>4|bBJu$#P;roAMHWDxu!_E7ma z?={#K&<>Oq`+Z|wn+bg3ZL(&JZbVMWEEBYkyTWk)Z(So z!f8HiUHo|hg!B!M$GACb=$E$mwIkcmQAGak2~^IWlW0V?!K{sl3*KXpx^l@oc}8YI z#pD*RYzcN>l)?XzF!)U82=c!Hwib{lHNGh0 P00000NkvXXu0mjf#2YXZ diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_clipart.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_clipart.png deleted file mode 100644 index 9c9c44002b6f76fcddea75aad020f5f58e91d10f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1727 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 N002ovPDHLkV1luY1RVeX diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_shapes.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_shapes.png deleted file mode 100644 index 90a0dcacd8d8b851262102fbbd9f99e23404da11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1318 zcmV+>1=;$EP)9s!&kf1?`{(nr_nL4ijp z@Q59_AEy-e%+o#ZJ=sso=F5O#0npiiBF!K&3p5uYxXhffFJlfWXEo!=YI0RFHj|7W z&H(1NBtX7zVpRehUIYfo{O?&edZ&-@i=qNGe+_v<@V;`X*;FshvcF;T88V-8p>5(AZNn>gl#-9;-jVL6Zqt{a0Jynq z=d$e|UqepKAj-6p7_e+%Y4Zq2$EP^I+-^6v4_uhEA3$qbL2-*2*?;t+e{vhTc{lps zyU|0LcUUCzma!wWo44>?RMtg+^*yP4@*ZZC^RgtE6sv5dFQ1Brbbj=2NJS70%oFl<4p8eh$siTIRu^T?<{w4o zO=R3)cB1v26SpHX{{@gzDCU}*i#0~06P{d1)GpdTw`eE^IVH2hW2ryhkXf6>4UOp# zRk|J0HfjvJl%W&1!qN%;80}=O&W=zzH!cA1_^~mI4a1TO(K6ve z?<_6=*!%$084n2hL;y(UQs(uhebgHEQKjF7vU&gsFDiWikiolUNjzeqNd@?G()}L* zxB$S=w?dza%-LLHI-ttz3G;^GJw&FyhN`l|8z3UNK#ZSRo^4V{Vt@eSC-^$#iIh2& zy_QVXdIx>(Kz4Z_VxN`K88EW#bq<6luOHzqnF*auL*&S>Jxa^#HoxuSGW$xFUS7_o(5!A3KNgoUV^#B8C2JFaD4^28?_+<%y_grD6z~>!07Bw^NBr{&sH!?HH|NF8(A;BIaA(R2wgPNQaZIAy zso^etBH|Aig2zHuumB$OaE=wwGvPG=oXvS4>p?=k_etpRK8oMk&H$u2_nv~F0q)1= z`33l#F$@~uhhJ49*yRA;Q^42P2Jmx6849&?=&_ywoSa@>fm-^tE9siYou3rJ190ai zDb^faoa~#vtuJo{>G47$b(*}il2nl)ZxD%s9IQ=WSaMlM1aFb`3 z193JPDm9|h@^P24;|Gp!!_sg!T7jrk71ETISDX8*K*;AqW8dg)8OE1{Dc=+5++PL8 cmjX5Y2jT&te&o4V^Z)<=07*qoM6N<$f=jV;pa1{> diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_smartart.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_smartart.png deleted file mode 100644 index b47da08fa7ff9b56f6abb2517cb6c2177029faf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1336 zcmV-81;_e{P)pBh)O^%3AYgtAK>fS=bS`B3ob2ygd+n1+_U!rp`nRtOoyGX4 z=(KTP5eZuwP_)XRw^g9SUyshotLT2$geTLtU<+8$8*JY(&u4BU|8g?AY}~;uO)!@y z>wkj2Plaovm1yv2ah0#c4PJ+vZatdah8=NjxDqu^B~rEDZ*79zU=O5Q_QT*TLmht} zwVWEYLlv+Ll%uADk^-pOgQdid1!+XCm|3L0E>AWS|%q`)HvTg}BgDAjS}svlza|@=dV0YH3{6 zlZT?;5|LSXFg_DGEyrMdDaVDrLR8!HQDr-gs^@uODs6dD`NlaRe|~z?Tn_SS-8^HO zU}CG+Gl3mS)#Gevp5;KhOEeN}tbCY(<8&VG+4;sTzoc?ne#H5wCtc4@QF? z8cVQTnB(CM;}OWMQX}i!QL5g(8gmDdE#IO1!7org&JZwKo8epZkf0|V$L4v74MG7o zJcM^+9+U|181awbSYB>Oyz{eXAknlJC0$8SK1!oriRi62Nth>L9^(s4)GaU?ieYgV zJaaBVj2Fgk@RYj=*9-@zyBDWaMz-}_mz__EdJB@w-=eVNXR1C0G$ibX+|Vviq-%pr(~4|WBhpIhalD`wM{`U#l%)eVbHj>odMUZ zi>l_pO^={|bO3{14*t0nOwO%F8_?aWhOCXmyOUAvI0e&iVHD<$R!ppni;K(T>4rEm0?aX^j%&w4$RTOCJA`P6-9ma{O zACRd&6cbHd132F>F(fcNK7^q$k-^bdR3Sz0t1tr|#vu9$-@C17zr@~VMVO#}j;dx*^?pe_mVpFjf=$HYdWRi><#o(0 zeIOGbkS;e7227I?h2al@VqH55G;KIp(Ta?c8%Qp!$FbZ?IGk-HQ)>bff`R(azXe-e z*V}s$T>gl_(nm6}PA1l+U0B1rAR!4%(oQg@NXRcSF}o`CpNa3nfIYT>`7av?@4)O1 z4P0$!E%+$5V3EWb)Qai(55f*ig$Nm$TNA~Jx2$>+enXM5GXr;DKyA4#e3((VOSWww uo;PJ%&{}NG?HKsto3b6^`p5L2x&8(W8B7jWgRVFL0000P$7bO0Bg$#2^g^4GL=P|t$hNq6Wo3a*(T;p z0vQVx+}+~^FZg$7F5mpj8TfC>dxjeSoPQ1VOMaA_u^ZnVr5#t%}HrnH>ScvMk452cyww4>){z4m<+~ zz$VYjod;A^<#YL=rT|^%{p!C3c<0*i002ov JPDHLkV1n}aiueEk diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/man.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/man.png deleted file mode 100644 index a8cafcb9a1bc9fafbc429093084aa2e5b37103b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmVC_BI~?$baTUM>r&7#gjkN^eHIi#o0SqI#KDxPp zw@9vyR-*q#A1*f^_CI2jYYrM;0TvR|rdBA|{&P?5Vul}=KM*D;@QW`DQsz%=+`fM~ u3QS{w?+kN@RWQ}B0CTJ}SKVj!J=PhX&@(3LQ}*Qm0000>$j+3?x7IEPn{3BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrH1%xd!-zxLTAQhakJ^Q+73{+?&sPG@tVTk}cBH8-FbMA2gTIwZ$R1rnqZ!{LQN5dZW*_A98)a hcb&}1B^+S+>+nau>-9y|=gz9{lr;}c=wVN)Q*o7; z#1rt#{)*L{NuLvUInMbWz@F$~q+t2X*32`7HA0n}1B^+RR-Z*1Eqt_euNB=!4?3hCYmYkCBcssH5 zPdnEk2K$~yJ;tQ}=`B*K3`ckaI0gPP&VH(3X7A9z$Z+9+&@?^iN_(Jb44$rjF6*2U FngA=BGHCz+ diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/more.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/more.png deleted file mode 100644 index 94922a2c86cb6b1cd2a7085e055073226ad591ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`rk*a2Ar-fh6Atj!H2mNcuy5Mr z$>!hq!(QaR^6>_B54Jn1#~Jije3o~(=`7H5>`;cz1${9F%W##sAI~(r1scHM>FVdQ I&MBb@08~pNrT_o{ diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/no.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/no.png deleted file mode 100644 index 37a7c7497782dadcf14a765051a62dd5616200c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 922 zcmV;L17-Y)P)~H)FpGiVA+maa075~P;^Ost z%FF+My>{*Y{|_Jj|9|)H|Nl2{{{Mgd`v2FHC;#tBN%>zXAW)C22Oxl$VT=}a_4z4N zrW6=>dNQ#7{ma1c;R6H1`}YhCZ{IR7ym`aG`ujJ7l8z38nu>}8%kkq1$A10V2+{`- zKwtwZB_!%oy1NTx6%`p6K7NE?kmh&qz?vCezh+=~@q&Tj`Ev$7py4W#k_H^-&M_Qi zU^oa6K+Hft^Ls=_t}xct=3w~ph2g@XLkuqj1Q@RF*ukL03^f1MD~7#5#lI~rfyxgu zaNW7Xz<&Nb!`D}@41jje0SF)#Adz5aXehvN>=*+B8yf?swKapfn;XM72M30|Sy>DW zKpQP*⪼M8hY&JO$LjiB8ETz{xN7UFbD`TFvI`^5R0b1z5^G~7O=A!85y{?ZDaUm zW(L+^Ic*v^d_e5S7cMYxwYD<+1#12S6ypJ6X$A&ofB<6R;@}Wqc=-|@XtF@Rz6ILy z4af&+glT^3?aiPM6a#4n;om^~pMgONAb^+{fF?40{tPhyif@4oL;}JJ3Jh;0B^mw# zW8x=}{|jLN13&;Vy?*uT0mILqkWdF|-uwSQgXPktaGPN+vD~wV;i$eo!w;Y)5C$0p zwDt}_05Ls!`0&8vU%%kCa{`?TcealY!&?szxFJjd0dNCeK=2WO00KL4xwZBE|LW@h z|4T~#eCJ-NHV0gBdfguHGz&s%LFGwFi05M|8lxzVE3}(QD5+KCD wpazO6V0O9-%njRjGcW*?E5jFL#Q*^Y0M({d4SP?a6aWAK07*qoM6N<$f&>VU5C8xG diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/ok.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/ok.png deleted file mode 100644 index 5b0f6a6174f67879d89b8c970d88734cd6f9f844..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 883 zcmV-(1C0EMP)wF51aIxG|t0o~WeTux?(*f!J?S`!vJrWM3^ z)v?u>(g^>@;xO#mkNlu=e*%b!BkO=S9U%&s|{QUTj4;ur+Qxv`b{1=&{q{_{@=tdkKKPJjPv{N-R+ z=H{q0b!wOgrI|?`QkZ(!{_7i9LV-VtRJx`%DQ2F^23wD{DqBhIRk` zF);r5{m+$GoMl&Put7+Jt2=`@4-Z4{!AlI=w!d7({+qd+0V(7F0suh(zW)OTFd63V z^!sFSNlF9<4gMd;*WzU&Dh*+FS2`3*A~OK^{__Bz$W0R(*Uum z?9l=80a*nF0_+3*1ONs71^@>82>=H93IGBCK>)u00}wAF|NZm@`|<(rTQ4UU0WcOM z00aL60Pp?k0KeVV0IsF+;Q#FbO$G-6;062!00#UB00{XE00{OE015OE00M|vNJE=} z^$*A6FQ5Ne@vDAS;$dfD`1Jo3!|5mY7`86`{^s{nmH;M>-&g)K|ATm%5g73x%=8b8 z0Ro7L;}<&v=RdZejL-PCo<9Aa;W^_ShKsN6GwfXY>&vg(Trted45#rWFn|DJV*bm{ z0Ky#q*cZJ%!~O8Y?dJ?fS26$kepw(JsCg%$6bcYP%o1uwz$j&AU}9wa&h(8#?9FW+ ziyzl{>lm2-O#9FFhv6UdZ-)OYzzhWT0wab200G2EX?6w(FaS`kAv2YZ@FM^K002ov JPDHLkV1n^7jC=q9 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/pencil.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/pencil.png deleted file mode 100644 index 5b8cc893d0e50c0e15cf10fbbb08706f81ec224a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 713 zcmV;)0yh1LP)R)!_m*FeI9eJ0Gxq#H zf0_XxfS9lv%LmkKB8}kx16siJFV!*nd7pOS69ERhSDg(18DcA(#PsQ(DfoWDDC{a=@>nto>xWzb;o zP$*;Aa%nq5TlT(fKhM4o2P*mk(g_ei5CcqsHvff2=RY9k`aMC~Kn&o76a{330bLQrJ&U26`M=Sy3)uqGxWf%F0d5QMO1 v>|l^)2n34pz-1YUGXNlf7%9!p009O71V-RMzjpE=00000NkvXXu0mjfxvf2L diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/print.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/print.png deleted file mode 100644 index fdf67a1e2771c1481d4fdf3c3bb219904cdde434..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1057 zcmV++1m63JP)z1G?hxZ;&`ED+>cNGYingzZn1m zi0SLs4-79~-etIOVGqOe=l2>Z%BAk7f^KhW_13_pMU`pwSH#-O94%^)f& z3N-K^13&;VLHzfh;p^8g3^#9{H2wblqZrJ9KS1%{Kv(?!`4i~P{|ua*91=XdJgT6; z`St4;*p&bQ!~(?P!otFnEG?~V1q1{|M1_S}KY#tr@b%YUh9AFvGyDPKzd*%*zcVld z`Ugr`TiaZI_Ty@A>nW=<)yo#7xKlEh(vj1xwlt7#MgWzP$bT0%*uZWO;x9 z!fSwov9Uh~14Beagrk7ItviRhqIkg9=T8*)ge4C=e*XL?NDV*$F=Er`Vr(4mXr?g1 z)x}1@)Y^!FfsqM{nHgR`f5y<=G55mJn=cZMojrRIAb>Coh_o}9pPyizU~Z|yz`(=; z#6U+fLTM=f>$l$wi{@|tuwv(>V1NKZ@j|4%et%nvY=(}S5Cg-n4-5>yKLTkW{__dQ z{tTo)gT>g`J~N1_^Ko3f_)G{OfLLIf9gU6cqmAAaD6jz)zkJHTz{3~O8o!7fdBvhJL&&7 zEzS8KWN)@fPg66=+sNqB{}Vy~Up;L5Ul8klLse1H6FK$(0tk$}jE(!hOym0h|8~m% zDNRwIbd{B3fWmAbIX`3L{U`QU{to~eC?zhgj2`F!0R%=(K`Q6}?=tznbY|Lr4LLb~ zWE+4{s&A&Qo(5!cV$%x{Kwva8UiSa1o0b3Vw6&)alRA+BKmf4-{V&fa#mul`<-^an zUcH*g01htV0YCr&lNW=6vZVpTfxUMQymyyFg$$D!0_P3$1SAV4gvrH q1Tx^k^5vIKzWDHAF9R6>Aiw}@kj85RTB}e10000VP)p|3y6O+Fnsy(*G|dGwA8_{sE@0VD?kY)l*s511}8@N@DpuwT|nH_3V>hx1ODQ%gn&~@8_@IOt#8aVhL_V%$IK8 zWk{S+eg652N7)Q)9AE25ELv$HybnO!M{I#uKD}#=M;vYf7lrQFmo`l@cj9I@ZL*+0D=T!0-G4a z_us4x|CxR%P+4O z%=m19E(1m6KcMkUz;yA2;myD24DM`^3=_Jyz22~IyVL&*H?9B#5X1$4SsA{6|NY{@ z(^>zp*f|F>^Eg`1=E%Jp>r!82Fy*Fx0GG_T{`ts%Hw-;|-9sl#=*HT~_cnLQ6 zZwyY1jNAqP|1re_1K>S4TZ6MV5dUL@_zCI)fB*vkslXvaa)1B=8vtU6i;3jw7+Lm8D5$Z@i10EnF)=bcefw4K z$^E-CUfjQG`svfBbfD6|R#sLFj6lo3FG$G6@;ee>>~6i|H^5OY8c00W#fi<*1vzh{0&qu3dB`V0{{XDY`}(1n>S9M(9!zw#!&`A z#;*+0{6GVMSeWGp!`o{o8NPge#o%jgs54WT$qnQYpsyGNpauX05F;oJfZ`Pdw6!$j zynTH0RMa&!n3$Pa9zVGEY{&L(3qnPBl_DG6<9Xk0`Fl3`LiD4@pH{vDsxJWQ1qdJp zEJ>M}osCtQlY?CgW>F{;gVK#SmgoOZnEn5J%EtIXaWQXAO>Rdf)WFR;gt~f zXaA3z{{L{q=l48y!32dEcNn4H`bJ0C+qr9t=q z3IB5(AiS{sSlm!hKmUK){R9C#j!Zc}`+sBs9tE)p5$}U$;ZzVK5OzQCHlA<@UGIO! zvj@U9`H!I>IKl6{$7vAD0_aTr_h<@&41C_Zzj3U$sW?P)s`^}rT?-9$gz_!>OcE=Nf062l+NnAOE%LIKMeUciG zG5@4$#o>#0(^REaszX( z@Br;Y1jl>uI&DD}m2Idxq%!Gwkr0;PT_BnCf*VQmb@KBW^WVSl?z4#ixOz4Ke!ssk zy+~qx3HN1Lmf_*JwldghDRx~#Huv5AzuyA9NNmE;P!yvrh(>!r*9CAQI{gJZ77+*H z@%Rxtk;~ diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/undo.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/undo.png deleted file mode 100644 index 6129fa0c77eb1d2100ed1c99b5643ab8990a9566..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 707 zcmV;!0zCbRP)gx00G1Zv_aomR`x(qRh0l2FE0bbpFa!?fB$08 zkFQ)|s9L!2z&&2xfMaLReuNnS5I{^UzkfRf$Hoe9fp{-pGBCV;4WVDWU|@Lm41ym& zW{~CPX6X0xb5MHuav8D<00M~l)~8P=@1HyOnT?gzU0Y6$f#K#&28Oq985rKZgBbSe z6~w?NPZ+p>wDzArsy8?}Ki_-*{y4}0fB<3!5w|~mI{y0k^X(5GJqk7R^5S3xY54Gg z;V@9{y|_37pRO(g>+jzT438c$h_JFUeEIar>Y2FstQW6ee+LL4W|&hReEj(I13UYi znbkhd^K)@A%v-naX4mP{i91)X{{CA+!pI;bgn{AeRR)QlKiRi``0yC0=M+Ey zVT~0JdHJSom6iV+{r%6t#LV>djcY9}FMXXe=l_3O+y7ZoQhPw+00D#(*(oWx*+@tv zp{LLZetz%&x3v79qNw;ED8va6Kn$b;P{O)4dGi0A+S>nhH8gAh0*IMZ1Ma+ke^KiH z{{%~Qb%Axyo~;K6ASMPf!11eBC%hFCV_^OEO$;D_$THxanAm~S7cMXefB&up5J1f2 p81VS{^OpjgoMw-I|K0`=U;x^&`B18C?@a&z002ovPDHLkV1f|(PF(;1 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/accordion.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/accordion.css deleted file mode 100644 index 5f104a4..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/accordion.css +++ /dev/null @@ -1,89 +0,0 @@ -.accordion { - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.accordion .accordion-header { - border-width: 0 0 1px; - cursor: pointer; -} -.accordion .accordion-body { - border-width: 0 0 1px; -} -.accordion-noborder { - border-width: 0; -} -.accordion-noborder .accordion-header { - border-width: 0 0 1px; -} -.accordion-noborder .accordion-body { - border-width: 0 0 1px; -} -.accordion-collapse { - background: url('images/accordion_arrows.png') no-repeat 0 0; -} -.accordion-expand { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.accordion { - background: #ffffff; - border-color: #dfdfdf; -} -.accordion .accordion-header { - background: #fafafa; - filter: none; -} -.accordion .accordion-header-selected { - background: #eee; -} -.accordion .accordion-header-selected .panel-title { - color: #39c; -} -.accordion .panel-last > .accordion-header { - border-bottom-color: #fafafa; -} -.accordion .panel-last > .accordion-body { - border-bottom-color: #ffffff; -} -.accordion .panel-last > .accordion-header-selected, -.accordion .panel-last > .accordion-header-border { - border-bottom-color: #dfdfdf; -} -.accordion> .panel-hleft { - float: left; -} -.accordion> .panel-hleft>.panel-header { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft> .panel-body { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft.panel-last > .accordion-header { - border-right-color: #fafafa; -} -.accordion> .panel-hleft.panel-last > .accordion-body { - border-right-color: #ffffff; -} -.accordion> .panel-hleft.panel-last > .accordion-header-selected, -.accordion> .panel-hleft.panel-last > .accordion-header-border { - border-right-color: #dfdfdf; -} -.accordion> .panel-hright { - float: right; -} -.accordion> .panel-hright>.panel-header { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright> .panel-body { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright.panel-last > .accordion-header { - border-left-color: #fafafa; -} -.accordion> .panel-hright.panel-last > .accordion-body { - border-left-color: #ffffff; -} -.accordion> .panel-hright.panel-last > .accordion-header-selected, -.accordion> .panel-hright.panel-last > .accordion-header-border { - border-left-color: #dfdfdf; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/calendar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/calendar.css deleted file mode 100644 index 194f6f6..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/calendar.css +++ /dev/null @@ -1,203 +0,0 @@ -.calendar { - border-width: 1px; - border-style: solid; - padding: 1px; - overflow: hidden; -} -.calendar table { - table-layout: fixed; - border-collapse: separate; - font-size: 14px; - width: 100%; - height: 100%; -} -.calendar table td, -.calendar table th { - font-size: 14px; -} -.calendar-noborder { - border: 0; -} -.calendar-header { - position: relative; - height: 28px; -} -.calendar-title { - text-align: center; - height: 28px; -} -.calendar-title span { - position: relative; - display: inline-block; - top: 0px; - padding: 0 3px; - height: 28px; - line-height: 28px; - font-size: 14px; - cursor: pointer; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.calendar-prevmonth, -.calendar-nextmonth, -.calendar-prevyear, -.calendar-nextyear { - position: absolute; - top: 50%; - margin-top: -8px; - width: 16px; - height: 16px; - cursor: pointer; - font-size: 1px; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.calendar-prevmonth { - left: 20px; - background: url('images/calendar_arrows.png') no-repeat -16px 0; -} -.calendar-nextmonth { - right: 20px; - background: url('images/calendar_arrows.png') no-repeat -32px 0; -} -.calendar-prevyear { - left: 3px; - background: url('images/calendar_arrows.png') no-repeat 0px 0; -} -.calendar-nextyear { - right: 3px; - background: url('images/calendar_arrows.png') no-repeat -48px 0; -} -.calendar-body { - position: relative; -} -.calendar-body th, -.calendar-body td { - text-align: center; -} -.calendar-day { - border: 0; - padding: 1px; - cursor: pointer; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.calendar-other-month { - opacity: 0.3; - filter: alpha(opacity=30); -} -.calendar-disabled { - opacity: 0.6; - filter: alpha(opacity=60); - cursor: default; -} -.calendar-menu { - position: absolute; - top: 0; - left: 0; - width: 180px; - height: 150px; - padding: 5px; - font-size: 14px; - display: none; - overflow: hidden; -} -.calendar-menu-year-inner { - text-align: center; - padding-bottom: 5px; -} -.calendar-menu-year { - width: 80px; - line-height: 26px; - text-align: center; - border-width: 1px; - border-style: solid; - outline-style: none; - resize: none; - margin: 0; - padding: 0; - font-weight: bold; - font-size: 14px; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.calendar-menu-prev, -.calendar-menu-next { - display: inline-block; - width: 25px; - height: 28px; - vertical-align: top; - cursor: pointer; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.calendar-menu-prev { - margin-right: 10px; - background: url('images/calendar_arrows.png') no-repeat 5px center; -} -.calendar-menu-next { - margin-left: 10px; - background: url('images/calendar_arrows.png') no-repeat -44px center; -} -.calendar-menu-month { - text-align: center; - cursor: pointer; - font-weight: bold; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.calendar-body th, -.calendar-menu-month { - color: #8d8d8d; -} -.calendar-day { - color: #404040; -} -.calendar-sunday { - color: #CC2222; -} -.calendar-saturday { - color: #00ee00; -} -.calendar-today { - color: #0000ff; -} -.calendar-menu-year { - border-color: #dfdfdf; -} -.calendar { - border-color: #dfdfdf; -} -.calendar-header { - background: #fafafa; -} -.calendar-body, -.calendar-menu { - background: #ffffff; -} -.calendar-body th { - background: #fafafa; - padding: 4px 0; -} -.calendar-hover, -.calendar-nav-hover, -.calendar-menu-hover { - background-color: #eee; - color: #404040; -} -.calendar-hover { - border: 1px solid #ccc; - padding: 0; -} -.calendar-selected { - background-color: #eee; - color: #39c; - border: 1px solid #39c; - padding: 0; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/checkbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/checkbox.css deleted file mode 100644 index 8cd106b..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/checkbox.css +++ /dev/null @@ -1,31 +0,0 @@ -.checkbox { - position: relative; - border: 2px solid #39c; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.checkbox-checked { - border: 0; - background: #39c; -} -.checkbox-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; -} -.checkbox path { - stroke-width: 2px; -} -.checkbox-disabled { - opacity: 0.6; -} -.checkbox-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/combo.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/combo.css deleted file mode 100644 index cbe460b..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/combo.css +++ /dev/null @@ -1,35 +0,0 @@ -.combo-arrow { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.combo-arrow-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.combo-panel { - overflow: auto; -} -.combo-arrow { - background: url('images/combo_arrow.png') no-repeat center center; -} -.combo-panel { - background-color: #ffffff; -} -.combo-arrow { - background-color: #fafafa; -} -.combo-arrow-hover { - background-color: #eee; -} -.combo-arrow:hover { - background-color: #eee; -} -.combo .textbox-icon-disabled:hover { - cursor: default; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/combobox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/combobox.css deleted file mode 100644 index bacfda0..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/combobox.css +++ /dev/null @@ -1,40 +0,0 @@ -.combobox-item, -.combobox-group, -.combobox-stick { - font-size: 14px; - padding: 6px 4px; - line-height: 20px; -} -.combobox-item-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.combobox-gitem { - padding-left: 10px; -} -.combobox-group, -.combobox-stick { - font-weight: bold; -} -.combobox-stick { - position: absolute; - top: 1px; - left: 1px; - right: 1px; - background: inherit; -} -.combobox-item-hover { - background-color: #eee; - color: #404040; -} -.combobox-item-selected { - background-color: #eee; - color: #39c; -} -.combobox-icon { - display: inline-block; - width: 16px; - height: 16px; - vertical-align: middle; - margin-right: 2px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/datagrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/datagrid.css deleted file mode 100644 index 5f73ebe..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/datagrid.css +++ /dev/null @@ -1,285 +0,0 @@ -.datagrid .panel-body { - overflow: hidden; - position: relative; -} -.datagrid-view { - position: relative; - overflow: hidden; -} -.datagrid-view1, -.datagrid-view2 { - position: absolute; - overflow: hidden; - top: 0; -} -.datagrid-view1 { - left: 0; -} -.datagrid-view2 { - right: 0; -} -.datagrid-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0.3; - filter: alpha(opacity=30); - display: none; -} -.datagrid-mask-msg { - position: absolute; - top: 50%; - margin-top: -20px; - padding: 10px 5px 10px 30px; - width: auto; - height: 16px; - border-width: 2px; - border-style: solid; - display: none; -} -.datagrid-empty { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 25px; - line-height: 25px; - text-align: center; -} -.datagrid-sort-icon { - padding: 0; - display: none; -} -.datagrid-toolbar { - height: auto; - padding: 1px 2px; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-btn-separator { - float: left; - height: 24px; - border-left: 1px solid #dfdfdf; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.datagrid .datagrid-pager { - display: block; - margin: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.datagrid .datagrid-pager-top { - border-width: 0 0 1px 0; -} -.datagrid-header { - overflow: hidden; - cursor: default; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-header-inner { - float: left; - width: 10000px; -} -.datagrid-header-row, -.datagrid-row { - height: 32px; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-width: 0 1px 1px 0; - border-style: dotted; - margin: 0; - padding: 0; -} -.datagrid-cell, -.datagrid-cell-group, -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - margin: 0; - padding: 0 4px; - white-space: nowrap; - word-wrap: normal; - overflow: hidden; - height: 18px; - line-height: 18px; - font-size: 14px; -} -.datagrid-header .datagrid-cell { - height: auto; -} -.datagrid-header .datagrid-cell span { - font-size: 14px; -} -.datagrid-cell-group { - text-align: center; - text-overflow: ellipsis; -} -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - width: 30px; - text-align: center; - margin: 0; - padding: 0; -} -.datagrid-body { - margin: 0; - padding: 0; - overflow: auto; - zoom: 1; -} -.datagrid-view1 .datagrid-body-inner { - padding-bottom: 20px; -} -.datagrid-view1 .datagrid-body { - overflow: hidden; -} -.datagrid-footer { - overflow: hidden; -} -.datagrid-footer-inner { - border-width: 1px 0 0 0; - border-style: solid; - width: 10000px; - float: left; -} -.datagrid-row-editing .datagrid-cell { - height: auto; -} -.datagrid-header-check, -.datagrid-cell-check { - padding: 0; - width: 27px; - height: 18px; - font-size: 1px; - text-align: center; - overflow: hidden; -} -.datagrid-header-check input, -.datagrid-cell-check input { - margin: 0; - padding: 0; - width: 15px; - height: 18px; -} -.datagrid-resize-proxy { - position: absolute; - width: 1px; - height: 10000px; - top: 0; - cursor: e-resize; - display: none; -} -.datagrid-body .datagrid-editable { - margin: 0; - padding: 0; -} -.datagrid-body .datagrid-editable table { - width: 100%; - height: 100%; -} -.datagrid-body .datagrid-editable td { - border: 0; - margin: 0; - padding: 0; -} -.datagrid-view .datagrid-editable-input { - margin: 0; - padding: 2px 4px; - border: 1px solid #dfdfdf; - font-size: 14px; - outline-style: none; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-view .validatebox-invalid { - border-color: #ffa8a8; -} -.datagrid-sort .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -64px center; -} -.datagrid-sort-desc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -16px center; -} -.datagrid-sort-asc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat 0px center; -} -.datagrid-row-collapse { - background: url('images/datagrid_icons.png') no-repeat -48px center; -} -.datagrid-row-expand { - background: url('images/datagrid_icons.png') no-repeat -32px center; -} -.datagrid-mask-msg { - background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; -} -.datagrid-header, -.datagrid-td-rownumber { - background-color: #fff; -} -.datagrid-cell-rownumber { - color: #404040; -} -.datagrid-resize-proxy { - background: #ccc; -} -.datagrid-mask { - background: #eee; -} -.datagrid-mask-msg { - border-color: #dfdfdf; -} -.datagrid-toolbar, -.datagrid-pager { - background: #fafafa; -} -.datagrid-header, -.datagrid-toolbar, -.datagrid-pager, -.datagrid-footer-inner { - border-color: #dfdfdf; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-color: #dfdfdf; -} -.datagrid-htable, -.datagrid-btable, -.datagrid-ftable { - color: #404040; - border-collapse: separate; -} -.datagrid-row-alt { - background: #fafafa; -} -.datagrid-row-over, -.datagrid-header td.datagrid-header-over { - background: #eee; - color: #404040; - cursor: default; -} -.datagrid-row-selected { - background: #eee; - color: #39c; -} -.datagrid-row-editing .textbox, -.datagrid-row-editing .textbox-text { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-header .datagrid-filter-row td.datagrid-header-over { - background: inherit; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/datalist.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/datalist.css deleted file mode 100644 index 3085482..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/datalist.css +++ /dev/null @@ -1,95 +0,0 @@ -.datalist .datagrid-header { - border-width: 0; -} -.datalist .datagrid-group, -.m-list .m-list-group { - height: 25px; - line-height: 25px; - font-weight: bold; - overflow: hidden; - background-color: #fff; - border-style: solid; - border-width: 0 0 1px 0; - border-color: #dfdfdf; -} -.datalist .datagrid-group-expander { - display: none; -} -.datalist .datagrid-group-title { - padding: 0 4px; -} -.datalist .datagrid-btable { - width: 100%; - table-layout: fixed; -} -.datalist .datagrid-row td { - border-style: solid; - border-left-color: transparent; - border-right-color: transparent; - border-bottom-width: 0; -} -.datalist-lines .datagrid-row td { - border-bottom-width: 1px; -} -.datalist .datagrid-cell, -.m-list li { - width: auto; - height: auto; - padding: 2px 4px; - line-height: 18px; - position: relative; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link, -.m-list li>a { - display: block; - position: relative; - cursor: pointer; - color: #404040; - text-decoration: none; - overflow: hidden; - margin: -2px -4px; - padding: 2px 4px; - padding-right: 16px; - line-height: 18px; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link::after, -.m-list li>a::after { - position: absolute; - display: block; - width: 8px; - height: 8px; - content: ''; - right: 6px; - top: 50%; - margin-top: -4px; - border-style: solid; - border-width: 1px 1px 0 0; - -ms-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -webkit-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); -} -.m-list { - margin: 0; - padding: 0; - list-style: none; -} -.m-list li { - border-style: solid; - border-width: 0 0 1px 0; - border-color: #dfdfdf; -} -.m-list li>a:hover { - background: #eee; - color: #404040; -} -.m-list .m-list-group { - padding: 0 4px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/datebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/datebox.css deleted file mode 100644 index 392b779..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/datebox.css +++ /dev/null @@ -1,36 +0,0 @@ -.datebox-calendar-inner { - height: 250px; -} -.datebox-button { - padding: 4px 0; - text-align: center; -} -.datebox-button a { - line-height: 22px; - font-size: 14px; - font-weight: bold; - text-decoration: none; - opacity: 0.6; - filter: alpha(opacity=60); -} -.datebox-button a:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.datebox-current, -.datebox-close { - float: left; -} -.datebox-close { - float: right; -} -.datebox .combo-arrow { - background-image: url('images/datebox_arrow.png'); - background-position: center center; -} -.datebox-button { - background-color: #fafafa; -} -.datebox-button a { - color: #404040; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/dialog.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/dialog.css deleted file mode 100644 index c962c42..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/dialog.css +++ /dev/null @@ -1,47 +0,0 @@ -.dialog-content { - overflow: auto; -} -.dialog-toolbar { - position: relative; - padding: 2px 5px; -} -.dialog-tool-separator { - float: left; - height: 24px; - border-left: 1px solid #dfdfdf; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.dialog-button { - position: relative; - top: -1px; - padding: 5px; - text-align: right; -} -.dialog-button .l-btn { - margin-left: 5px; -} -.dialog-toolbar, -.dialog-button { - background: #fafafa; - border-width: 1px; - border-style: solid; -} -.dialog-toolbar { - border-color: #dfdfdf #dfdfdf #dfdfdf #dfdfdf; -} -.dialog-button { - border-color: #dfdfdf #dfdfdf #dfdfdf #dfdfdf; -} -.window-thinborder .dialog-toolbar { - border-left: transparent; - border-right: transparent; - border-top-color: #fafafa; -} -.window-thinborder .dialog-button { - top: 0px; - padding: 5px 8px 8px 8px; - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/easyui.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/easyui.css deleted file mode 100644 index 49b3de0..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/easyui.css +++ /dev/null @@ -1,3560 +0,0 @@ -.panel { - overflow: hidden; - text-align: left; - margin: 0; - border: 0; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.panel-header, -.panel-body { - border-width: 1px; - border-style: solid; -} -.panel-header { - padding: 5px; - position: relative; -} -.panel-title { - background: url('images/blank.gif') no-repeat; -} -.panel-header-noborder { - border-width: 0 0 1px 0; -} -.panel-body { - overflow: auto; - border-top-width: 0; - padding: 0; -} -.panel-body-noheader { - border-top-width: 1px; -} -.panel-body-noborder { - border-width: 0px; -} -.panel-body-nobottom { - border-bottom-width: 0; -} -.panel-with-icon { - padding-left: 18px; -} -.panel-icon, -.panel-tool { - position: absolute; - top: 50%; - margin-top: -8px; - height: 16px; - overflow: hidden; -} -.panel-icon { - left: 5px; - width: 16px; -} -.panel-tool { - right: 5px; - width: auto; -} -.panel-tool a { - display: inline-block; - width: 16px; - height: 16px; - opacity: 0.6; - filter: alpha(opacity=60); - margin: 0 0 0 2px; - vertical-align: top; -} -.panel-tool a:hover { - opacity: 1; - filter: alpha(opacity=100); - background-color: #eee; - -moz-border-radius: 2px 2px 2px 2px; - -webkit-border-radius: 2px 2px 2px 2px; - border-radius: 2px 2px 2px 2px; -} -.panel-loading { - padding: 11px 0px 10px 30px; -} -.panel-noscroll { - overflow: hidden; -} -.panel-fit, -.panel-fit body { - height: 100%; - margin: 0; - padding: 0; - border: 0; - overflow: hidden; -} -.panel-loading { - background: url('images/loading.gif') no-repeat 10px 10px; -} -.panel-tool-close { - background: url('images/panel_tools.png') no-repeat -16px 0px; -} -.panel-tool-min { - background: url('images/panel_tools.png') no-repeat 0px 0px; -} -.panel-tool-max { - background: url('images/panel_tools.png') no-repeat 0px -16px; -} -.panel-tool-restore { - background: url('images/panel_tools.png') no-repeat -16px -16px; -} -.panel-tool-collapse { - background: url('images/panel_tools.png') no-repeat -32px 0; -} -.panel-tool-expand { - background: url('images/panel_tools.png') no-repeat -32px -16px; -} -.panel-header, -.panel-body { - border-color: #dfdfdf; -} -.panel-header { - background-color: #fafafa; -} -.panel-body { - background-color: #ffffff; - color: #404040; - font-size: 14px; -} -.panel-title { - font-size: 14px; - font-weight: bold; - color: #404040; - height: 20px; - line-height: 20px; -} -.panel-footer { - border: 1px solid #dfdfdf; - overflow: hidden; - background: #fafafa; -} -.panel-footer-noborder { - border-width: 1px 0 0 0; -} -.panel-hleft, -.panel-hright { - position: relative; -} -.panel-hleft>.panel-body, -.panel-hright>.panel-body { - position: absolute; -} -.panel-hleft>.panel-header { - float: left; -} -.panel-hright>.panel-header { - float: right; -} -.panel-hleft>.panel-body { - border-top-width: 1px; - border-left-width: 0; -} -.panel-hright>.panel-body { - border-top-width: 1px; - border-right-width: 0; -} -.panel-hleft>.panel-body-nobottom { - border-bottom-width: 1px; - border-right-width: 0; -} -.panel-hright>.panel-body-nobottom { - border-bottom-width: 1px; - border-left-width: 0; -} -.panel-hleft>.panel-footer { - position: absolute; - right: 0; -} -.panel-hright>.panel-footer { - position: absolute; - left: 0; -} -.panel-hleft>.panel-header-noborder { - border-width: 0 1px 0 0; -} -.panel-hright>.panel-header-noborder { - border-width: 0 0 0 1px; -} -.panel-hleft>.panel-body-noborder { - border-width: 0; -} -.panel-hright>.panel-body-noborder { - border-width: 0; -} -.panel-hleft>.panel-body-noheader { - border-left-width: 1px; -} -.panel-hright>.panel-body-noheader { - border-right-width: 1px; -} -.panel-hleft>.panel-footer-noborder { - border-width: 0 0 0 1px; -} -.panel-hright>.panel-footer-noborder { - border-width: 0 1px 0 0; -} -.panel-hleft>.panel-header .panel-icon, -.panel-hright>.panel-header .panel-icon { - margin-top: 0; - top: 5px; - left: 50%; - margin-left: -8px; -} -.panel-hleft>.panel-header .panel-title, -.panel-hright>.panel-header .panel-title { - position: absolute; - min-width: 16px; - left: 25px; - top: 5px; - bottom: auto; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(90deg); - -o-transform-origin: 0 0; - transform: rotate(90deg); - transform-origin: 0 0; -} -.panel-hleft>.panel-header .panel-title-up, -.panel-hright>.panel-header .panel-title-up { - position: absolute; - min-width: 16px; - left: 21px; - top: auto; - bottom: 0px; - text-align: right; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(-90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(-90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(-90deg); - -o-transform-origin: 0 0; - transform: rotate(-90deg); - transform-origin: 0 16px; -} -.panel-hleft>.panel-header .panel-with-icon.panel-title-up, -.panel-hright>.panel-header .panel-with-icon.panel-title-up { - padding-left: 0; - padding-right: 18px; -} -.panel-hleft>.panel-header .panel-tool, -.panel-hright>.panel-header .panel-tool { - top: auto; - bottom: 5px; - width: 16px; - height: auto; - left: 50%; - margin-left: -8px; - margin-top: 0; -} -.panel-hleft>.panel-header .panel-tool a, -.panel-hright>.panel-header .panel-tool a { - margin: 2px 0 0 0; -} -.accordion { - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.accordion .accordion-header { - border-width: 0 0 1px; - cursor: pointer; -} -.accordion .accordion-body { - border-width: 0 0 1px; -} -.accordion-noborder { - border-width: 0; -} -.accordion-noborder .accordion-header { - border-width: 0 0 1px; -} -.accordion-noborder .accordion-body { - border-width: 0 0 1px; -} -.accordion-collapse { - background: url('images/accordion_arrows.png') no-repeat 0 0; -} -.accordion-expand { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.accordion { - background: #ffffff; - border-color: #dfdfdf; -} -.accordion .accordion-header { - background: #fafafa; - filter: none; -} -.accordion .accordion-header-selected { - background: #eee; -} -.accordion .accordion-header-selected .panel-title { - color: #39c; -} -.accordion .panel-last > .accordion-header { - border-bottom-color: #fafafa; -} -.accordion .panel-last > .accordion-body { - border-bottom-color: #ffffff; -} -.accordion .panel-last > .accordion-header-selected, -.accordion .panel-last > .accordion-header-border { - border-bottom-color: #dfdfdf; -} -.accordion> .panel-hleft { - float: left; -} -.accordion> .panel-hleft>.panel-header { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft> .panel-body { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft.panel-last > .accordion-header { - border-right-color: #fafafa; -} -.accordion> .panel-hleft.panel-last > .accordion-body { - border-right-color: #ffffff; -} -.accordion> .panel-hleft.panel-last > .accordion-header-selected, -.accordion> .panel-hleft.panel-last > .accordion-header-border { - border-right-color: #dfdfdf; -} -.accordion> .panel-hright { - float: right; -} -.accordion> .panel-hright>.panel-header { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright> .panel-body { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright.panel-last > .accordion-header { - border-left-color: #fafafa; -} -.accordion> .panel-hright.panel-last > .accordion-body { - border-left-color: #ffffff; -} -.accordion> .panel-hright.panel-last > .accordion-header-selected, -.accordion> .panel-hright.panel-last > .accordion-header-border { - border-left-color: #dfdfdf; -} -.window { - overflow: hidden; - padding: 5px; - border-width: 1px; - border-style: solid; -} -.window .window-header { - background: transparent; - padding: 0px 0px 6px 0px; -} -.window .window-body { - border-width: 1px; - border-style: solid; - border-top-width: 0px; -} -.window .window-body-noheader { - border-top-width: 1px; -} -.window .panel-body-nobottom { - border-bottom-width: 0; -} -.window .window-header .panel-icon, -.window .window-header .panel-tool { - top: 50%; - margin-top: -11px; -} -.window .window-header .panel-icon { - left: 1px; -} -.window .window-header .panel-tool { - right: 1px; -} -.window .window-header .panel-with-icon { - padding-left: 18px; -} -.window-proxy { - position: absolute; - overflow: hidden; -} -.window-proxy-mask { - position: absolute; - filter: alpha(opacity=5); - opacity: 0.05; -} -.window-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - filter: alpha(opacity=40); - opacity: 0.40; - font-size: 1px; - overflow: hidden; -} -.window, -.window-shadow { - position: absolute; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.window-shadow { - background: #ccc; - -moz-box-shadow: 2px 2px 3px #cccccc; - -webkit-box-shadow: 2px 2px 3px #cccccc; - box-shadow: 2px 2px 3px #cccccc; - filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); -} -.window, -.window .window-body { - border-color: #dfdfdf; -} -.window { - background-color: #fafafa; -} -.window-proxy { - border: 1px dashed #dfdfdf; -} -.window-proxy-mask, -.window-mask { - background: #eee; -} -.window .panel-footer { - border: 1px solid #dfdfdf; - position: relative; - top: -1px; -} -.window-thinborder { - padding: 0; -} -.window-thinborder .window-header { - padding: 5px 5px 6px 5px; -} -.window-thinborder .window-body { - border-width: 0px; -} -.window-thinborder .window-footer { - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} -.window-thinborder .window-header .panel-icon, -.window-thinborder .window-header .panel-tool { - margin-top: -9px; - margin-left: 5px; - margin-right: 5px; -} -.window-noborder { - border: 0; -} -.window.panel-hleft .window-header { - padding: 0 6px 0 0; -} -.window.panel-hright .window-header { - padding: 0 0 0 6px; -} -.window.panel-hleft>.panel-header .panel-title { - top: auto; - left: 16px; -} -.window.panel-hright>.panel-header .panel-title { - top: auto; - right: 16px; -} -.window.panel-hleft>.panel-header .panel-title-up, -.window.panel-hright>.panel-header .panel-title-up { - bottom: 0; -} -.window.panel-hleft .window-body { - border-width: 1px 1px 1px 0; -} -.window.panel-hright .window-body { - border-width: 1px 0 1px 1px; -} -.window.panel-hleft .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: 0; -} -.window.panel-hright .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: auto; - right: 1px; -} -.window.panel-hleft .window-header .panel-tool, -.window.panel-hright .window-header .panel-tool { - margin-top: 0; - top: auto; - bottom: 1px; - right: auto; - margin-right: 0; - left: 50%; - margin-left: -11px; -} -.window.panel-hright .window-header .panel-tool { - left: auto; - right: 1px; -} -.window-thinborder.panel-hleft .window-header { - padding: 5px 6px 5px 5px; -} -.window-thinborder.panel-hright .window-header { - padding: 5px 5px 5px 6px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title { - left: 21px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title-up, -.window-thinborder.panel-hright>.panel-header .panel-title-up { - bottom: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-icon, -.window-thinborder.panel-hright .window-header .panel-icon { - margin-top: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-tool, -.window-thinborder.panel-hright .window-header .panel-tool { - left: 16px; - bottom: 5px; -} -.dialog-content { - overflow: auto; -} -.dialog-toolbar { - position: relative; - padding: 2px 5px; -} -.dialog-tool-separator { - float: left; - height: 24px; - border-left: 1px solid #dfdfdf; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.dialog-button { - position: relative; - top: -1px; - padding: 5px; - text-align: right; -} -.dialog-button .l-btn { - margin-left: 5px; -} -.dialog-toolbar, -.dialog-button { - background: #fafafa; - border-width: 1px; - border-style: solid; -} -.dialog-toolbar { - border-color: #dfdfdf #dfdfdf #dfdfdf #dfdfdf; -} -.dialog-button { - border-color: #dfdfdf #dfdfdf #dfdfdf #dfdfdf; -} -.window-thinborder .dialog-toolbar { - border-left: transparent; - border-right: transparent; - border-top-color: #fafafa; -} -.window-thinborder .dialog-button { - top: 0px; - padding: 5px 8px 8px 8px; - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} -.l-btn { - text-decoration: none; - display: inline-block; - overflow: hidden; - margin: 0; - padding: 0; - cursor: pointer; - outline: none; - text-align: center; - vertical-align: middle; - line-height: normal; -} -.l-btn-plain { - border-width: 0; - padding: 1px; -} -.l-btn-left { - display: inline-block; - position: relative; - overflow: hidden; - margin: 0; - padding: 0; - vertical-align: top; -} -.l-btn-text { - display: inline-block; - vertical-align: top; - width: auto; - line-height: 28px; - font-size: 14px; - padding: 0; - margin: 0 6px; -} -.l-btn-icon { - display: inline-block; - width: 16px; - height: 16px; - line-height: 16px; - position: absolute; - top: 50%; - margin-top: -8px; - font-size: 1px; -} -.l-btn span span .l-btn-empty { - display: inline-block; - margin: 0; - width: 16px; - height: 24px; - font-size: 1px; - vertical-align: top; -} -.l-btn span .l-btn-icon-left { - padding: 0 0 0 20px; - background-position: left center; -} -.l-btn span .l-btn-icon-right { - padding: 0 20px 0 0; - background-position: right center; -} -.l-btn-icon-left .l-btn-text { - margin: 0 6px 0 26px; -} -.l-btn-icon-left .l-btn-icon { - left: 6px; -} -.l-btn-icon-right .l-btn-text { - margin: 0 26px 0 6px; -} -.l-btn-icon-right .l-btn-icon { - right: 6px; -} -.l-btn-icon-top .l-btn-text { - margin: 20px 4px 0 4px; -} -.l-btn-icon-top .l-btn-icon { - top: 4px; - left: 50%; - margin: 0 0 0 -8px; -} -.l-btn-icon-bottom .l-btn-text { - margin: 0 4px 20px 4px; -} -.l-btn-icon-bottom .l-btn-icon { - top: auto; - bottom: 4px; - left: 50%; - margin: 0 0 0 -8px; -} -.l-btn-left .l-btn-empty { - margin: 0 6px; - width: 16px; -} -.l-btn-plain:hover { - padding: 0; -} -.l-btn-focus { - outline: #0000FF dotted thin; -} -.l-btn-large .l-btn-text { - line-height: 44px; -} -.l-btn-large .l-btn-icon { - width: 32px; - height: 32px; - line-height: 32px; - margin-top: -16px; -} -.l-btn-large .l-btn-icon-left .l-btn-text { - margin-left: 40px; -} -.l-btn-large .l-btn-icon-right .l-btn-text { - margin-right: 40px; -} -.l-btn-large .l-btn-icon-top .l-btn-text { - margin-top: 36px; - line-height: 24px; - min-width: 32px; -} -.l-btn-large .l-btn-icon-top .l-btn-icon { - margin: 0 0 0 -16px; -} -.l-btn-large .l-btn-icon-bottom .l-btn-text { - margin-bottom: 36px; - line-height: 24px; - min-width: 32px; -} -.l-btn-large .l-btn-icon-bottom .l-btn-icon { - margin: 0 0 0 -16px; -} -.l-btn-large .l-btn-left .l-btn-empty { - margin: 0 6px; - width: 32px; -} -.l-btn { - color: #404040; - background: #fafafa; - background-repeat: repeat-x; - border: 1px solid #dfdfdf; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.l-btn:hover { - background: #eee; - color: #404040; - border: 1px solid #ccc; - filter: none; -} -.l-btn-plain { - background: transparent; - border-width: 0; - filter: none; -} -.l-btn-outline { - border-width: 1px; - border-color: #ccc; - padding: 0; -} -.l-btn-plain:hover { - background: #eee; - color: #404040; - border: 1px solid #ccc; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.l-btn-disabled, -.l-btn-disabled:hover { - opacity: 0.5; - cursor: default; - background: #fafafa; - color: #404040; -} -.l-btn-disabled .l-btn-text, -.l-btn-disabled .l-btn-icon { - filter: alpha(opacity=50); -} -.l-btn-plain-disabled, -.l-btn-plain-disabled:hover { - background: transparent; - filter: alpha(opacity=50); -} -.l-btn-selected, -.l-btn-selected:hover { - background: #39c; - filter: none; -} -.l-btn-plain-selected, -.l-btn-plain-selected:hover { - background: #39c; -} -.textbox { - position: relative; - border: 1px solid #dfdfdf; - background-color: #fff; - vertical-align: middle; - display: inline-block; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.textbox .textbox-text { - font-size: 14px; - border: 0; - margin: 0; - padding: 0 4px; - white-space: normal; - vertical-align: top; - outline-style: none; - resize: none; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; - height: 28px; - line-height: 28px; -} -.textbox textarea.textbox-text { - line-height: normal; -} -.textbox .textbox-text::-ms-clear, -.textbox .textbox-text::-ms-reveal { - display: none; -} -.textbox textarea.textbox-text { - white-space: pre-wrap; -} -.textbox .textbox-prompt { - font-size: 14px; - color: #aaa; -} -.textbox .textbox-bgicon { - background-position: 3px center; - padding-left: 21px; -} -.textbox .textbox-button, -.textbox .textbox-button:hover { - position: absolute; - top: 0; - padding: 0; - vertical-align: top; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.textbox .textbox-button-right, -.textbox .textbox-button-right:hover { - right: 0; - border-width: 0 0 0 1px; -} -.textbox .textbox-button-left, -.textbox .textbox-button-left:hover { - left: 0; - border-width: 0 1px 0 0; -} -.textbox .textbox-button-top, -.textbox .textbox-button-top:hover { - left: 0; - border-width: 0 0 1px 0; -} -.textbox .textbox-button-bottom, -.textbox .textbox-button-bottom:hover { - top: auto; - bottom: 0; - left: 0; - border-width: 1px 0 0 0; -} -.textbox-addon { - position: absolute; - top: 0; -} -.textbox-label { - display: inline-block; - width: 80px; - height: 30px; - line-height: 30px; - vertical-align: middle; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - margin: 0; - padding-right: 5px; -} -.textbox-label-after { - padding-left: 5px; - padding-right: 0; -} -.textbox-label-top { - display: block; - width: auto; - padding: 0; -} -.textbox-disabled, -.textbox-label-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-icon { - display: inline-block; - width: 18px; - height: 20px; - overflow: hidden; - vertical-align: top; - background-position: center center; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); - text-decoration: none; - outline-style: none; -} -.textbox-icon-disabled, -.textbox-icon-readonly { - cursor: default; -} -.textbox-icon:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.textbox-icon-disabled:hover { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-focused { - border-color: #c6c6c6; - -moz-box-shadow: 0 0 3px 0 #dfdfdf; - -webkit-box-shadow: 0 0 3px 0 #dfdfdf; - box-shadow: 0 0 3px 0 #dfdfdf; -} -.textbox-invalid { - border-color: #ffa8a8; - background-color: #fff; -} -.passwordbox-open { - background: url('images/passwordbox_open.png') no-repeat center center; -} -.passwordbox-close { - background: url('images/passwordbox_close.png') no-repeat center center; -} -.filebox .textbox-value { - vertical-align: top; - position: absolute; - top: 0; - left: -5000px; -} -.filebox-label { - display: inline-block; - position: absolute; - width: 100%; - height: 100%; - cursor: pointer; - left: 0; - top: 0; - z-index: 10; - background: url('images/blank.gif') no-repeat; -} -.l-btn-disabled .filebox-label { - cursor: default; -} -.combo-arrow { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.combo-arrow-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.combo-panel { - overflow: auto; -} -.combo-arrow { - background: url('images/combo_arrow.png') no-repeat center center; -} -.combo-panel { - background-color: #ffffff; -} -.combo-arrow { - background-color: #fafafa; -} -.combo-arrow-hover { - background-color: #eee; -} -.combo-arrow:hover { - background-color: #eee; -} -.combo .textbox-icon-disabled:hover { - cursor: default; -} -.combobox-item, -.combobox-group, -.combobox-stick { - font-size: 14px; - padding: 6px 4px; - line-height: 20px; -} -.combobox-item-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.combobox-gitem { - padding-left: 10px; -} -.combobox-group, -.combobox-stick { - font-weight: bold; -} -.combobox-stick { - position: absolute; - top: 1px; - left: 1px; - right: 1px; - background: inherit; -} -.combobox-item-hover { - background-color: #eee; - color: #404040; -} -.combobox-item-selected { - background-color: #eee; - color: #39c; -} -.combobox-icon { - display: inline-block; - width: 16px; - height: 16px; - vertical-align: middle; - margin-right: 2px; -} -.tagbox { - cursor: text; -} -.tagbox .textbox-text { - float: left; -} -.tagbox-label { - position: relative; - display: block; - margin: 4px 0 0 4px; - padding: 0 20px 0 4px; - float: left; - vertical-align: top; - text-decoration: none; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; - background: #eee; - color: #404040; -} -.tagbox-remove { - background: url('images/tagbox_icons.png') no-repeat -16px center; - position: absolute; - display: block; - width: 16px; - height: 16px; - right: 2px; - top: 50%; - margin-top: -8px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tagbox-remove:hover { - opacity: 1; - filter: alpha(opacity=100); -} -.textbox-disabled .tagbox-label { - cursor: default; -} -.textbox-disabled .tagbox-remove:hover { - cursor: default; - opacity: 0.6; - filter: alpha(opacity=60); -} -.layout { - position: relative; - overflow: hidden; - margin: 0; - padding: 0; - z-index: 0; -} -.layout-panel { - position: absolute; - overflow: hidden; -} -.layout-body { - min-width: 1px; - min-height: 1px; -} -.layout-panel-east, -.layout-panel-west { - z-index: 2; -} -.layout-panel-north, -.layout-panel-south { - z-index: 3; -} -.layout-expand { - position: absolute; - padding: 0px; - font-size: 1px; - cursor: pointer; - z-index: 1; -} -.layout-expand .panel-header, -.layout-expand .panel-body { - background: transparent; - filter: none; - overflow: hidden; -} -.layout-expand .panel-header { - border-bottom-width: 0px; -} -.layout-expand .panel-body { - position: relative; -} -.layout-expand .panel-body .panel-icon { - margin-top: 0; - top: 0; - left: 50%; - margin-left: -8px; -} -.layout-expand-west .panel-header .panel-icon, -.layout-expand-east .panel-header .panel-icon { - display: none; -} -.layout-expand-title { - position: absolute; - top: 0; - left: 21px; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(90deg); - -o-transform-origin: 0 0; - transform: rotate(90deg); - transform-origin: 0 0; -} -.layout-expand-title-up { - position: absolute; - top: 0; - left: 0; - text-align: right; - padding-left: 5px; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(-90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(-90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(-90deg); - -o-transform-origin: 0 0; - transform: rotate(-90deg); - transform-origin: 0 0; -} -.layout-expand-with-icon { - top: 18px; -} -.layout-expand .panel-body-noheader .layout-expand-title, -.layout-expand .panel-body-noheader .panel-icon { - top: 5px; -} -.layout-expand .panel-body-noheader .layout-expand-with-icon { - top: 23px; -} -.layout-split-proxy-h, -.layout-split-proxy-v { - position: absolute; - font-size: 1px; - display: none; - z-index: 5; -} -.layout-split-proxy-h { - width: 5px; - cursor: e-resize; -} -.layout-split-proxy-v { - height: 5px; - cursor: n-resize; -} -.layout-mask { - position: absolute; - background: #fafafa; - filter: alpha(opacity=10); - opacity: 0.10; - z-index: 4; -} -.layout-button-up { - background: url('images/layout_arrows.png') no-repeat -16px -16px; -} -.layout-button-down { - background: url('images/layout_arrows.png') no-repeat -16px 0; -} -.layout-button-left { - background: url('images/layout_arrows.png') no-repeat 0 0; -} -.layout-button-right { - background: url('images/layout_arrows.png') no-repeat 0 -16px; -} -.layout-split-proxy-h, -.layout-split-proxy-v { - background-color: #ccc; -} -.layout-split-north { - border-bottom: 5px solid #ffffff; -} -.layout-split-south { - border-top: 5px solid #ffffff; -} -.layout-split-east { - border-left: 5px solid #ffffff; -} -.layout-split-west { - border-right: 5px solid #ffffff; -} -.layout-expand { - background-color: #fafafa; -} -.layout-expand-over { - background-color: #fafafa; -} -.tabs-container { - overflow: hidden; -} -.tabs-header { - border-width: 1px; - border-style: solid; - border-bottom-width: 0; - position: relative; - padding: 0; - padding-top: 2px; - overflow: hidden; -} -.tabs-scroller-left, -.tabs-scroller-right { - position: absolute; - top: auto; - bottom: 0; - width: 18px; - font-size: 1px; - display: none; - cursor: pointer; - border-width: 1px; - border-style: solid; -} -.tabs-scroller-left { - left: 0; -} -.tabs-scroller-right { - right: 0; -} -.tabs-tool { - position: absolute; - bottom: 0; - padding: 1px; - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.tabs-header-plain .tabs-tool { - padding: 0 1px; -} -.tabs-wrap { - position: relative; - left: 0; - overflow: hidden; - width: 100%; - margin: 0; - padding: 0; -} -.tabs-scrolling { - margin-left: 18px; - margin-right: 18px; -} -.tabs-disabled { - opacity: 0.3; - filter: alpha(opacity=30); -} -.tabs { - list-style-type: none; - height: 26px; - margin: 0px; - padding: 0px; - padding-left: 4px; - width: 50000px; - border-style: solid; - border-width: 0 0 1px 0; -} -.tabs li { - float: left; - display: inline-block; - margin: 0 4px -1px 0; - padding: 0; - position: relative; - border: 0; -} -.tabs li a.tabs-inner { - display: inline-block; - text-decoration: none; - margin: 0; - padding: 0 10px; - height: 25px; - line-height: 25px; - text-align: center; - white-space: nowrap; - border-width: 1px; - border-style: solid; - -moz-border-radius: 4px 4px 0 0; - -webkit-border-radius: 4px 4px 0 0; - border-radius: 4px 4px 0 0; -} -.tabs li.tabs-selected a.tabs-inner { - font-weight: bold; - outline: none; -} -.tabs li.tabs-selected a:hover.tabs-inner { - cursor: default; - pointer: default; -} -.tabs li a.tabs-close, -.tabs-p-tool { - position: absolute; - font-size: 1px; - display: block; - height: 12px; - padding: 0; - top: 50%; - margin-top: -6px; - overflow: hidden; -} -.tabs li a.tabs-close { - width: 12px; - right: 5px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs-p-tool { - right: 16px; -} -.tabs-p-tool a { - display: inline-block; - font-size: 1px; - width: 12px; - height: 12px; - margin: 0; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs li a:hover.tabs-close, -.tabs-p-tool a:hover { - opacity: 1; - filter: alpha(opacity=100); - cursor: hand; - cursor: pointer; -} -.tabs-with-icon { - padding-left: 18px; -} -.tabs-icon { - position: absolute; - width: 16px; - height: 16px; - left: 10px; - top: 50%; - margin-top: -8px; -} -.tabs-title { - font-size: 14px; -} -.tabs-closable { - padding-right: 8px; -} -.tabs-panels { - margin: 0px; - padding: 0px; - border-width: 1px; - border-style: solid; - border-top-width: 0; - overflow: hidden; -} -.tabs-header-bottom { - border-width: 0 1px 1px 1px; - padding: 0 0 2px 0; -} -.tabs-header-bottom .tabs { - border-width: 1px 0 0 0; -} -.tabs-header-bottom .tabs li { - margin: -1px 4px 0 0; -} -.tabs-header-bottom .tabs li a.tabs-inner { - -moz-border-radius: 0 0 4px 4px; - -webkit-border-radius: 0 0 4px 4px; - border-radius: 0 0 4px 4px; -} -.tabs-header-bottom .tabs-tool { - top: 0; -} -.tabs-header-bottom .tabs-scroller-left, -.tabs-header-bottom .tabs-scroller-right { - top: 0; - bottom: auto; -} -.tabs-panels-top { - border-width: 1px 1px 0 1px; -} -.tabs-header-left { - float: left; - border-width: 1px 0 1px 1px; - padding: 0; -} -.tabs-header-right { - float: right; - border-width: 1px 1px 1px 0; - padding: 0; -} -.tabs-header-left .tabs-wrap, -.tabs-header-right .tabs-wrap { - height: 100%; -} -.tabs-header-left .tabs { - height: 100%; - padding: 4px 0 0 2px; - border-width: 0 1px 0 0; -} -.tabs-header-right .tabs { - height: 100%; - padding: 4px 2px 0 0; - border-width: 0 0 0 1px; -} -.tabs-header-left .tabs li, -.tabs-header-right .tabs li { - display: block; - width: 100%; - position: relative; -} -.tabs-header-left .tabs li { - left: auto; - right: 0; - margin: 0 -1px 4px 0; - float: right; -} -.tabs-header-right .tabs li { - left: 0; - right: auto; - margin: 0 0 4px -1px; - float: left; -} -.tabs-justified li a.tabs-inner { - padding-left: 0; - padding-right: 0; -} -.tabs-header-left .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 4px 0 0 4px; - -webkit-border-radius: 4px 0 0 4px; - border-radius: 4px 0 0 4px; -} -.tabs-header-right .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 0 4px 4px 0; - -webkit-border-radius: 0 4px 4px 0; - border-radius: 0 4px 4px 0; -} -.tabs-panels-right { - float: right; - border-width: 1px 1px 1px 0; -} -.tabs-panels-left { - float: left; - border-width: 1px 0 1px 1px; -} -.tabs-header-noborder, -.tabs-panels-noborder { - border: 0px; -} -.tabs-header-plain { - border: 0px; - background: transparent; -} -.tabs-pill { - padding-bottom: 3px; -} -.tabs-header-bottom .tabs-pill { - padding-top: 3px; - padding-bottom: 0; -} -.tabs-header-left .tabs-pill { - padding-right: 3px; -} -.tabs-header-right .tabs-pill { - padding-left: 3px; -} -.tabs-header .tabs-pill li a.tabs-inner { - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.tabs-header-narrow, -.tabs-header-narrow .tabs-narrow { - padding: 0; -} -.tabs-narrow li, -.tabs-header-bottom .tabs-narrow li { - margin-left: 0; - margin-right: -1px; -} -.tabs-narrow li.tabs-last, -.tabs-header-bottom .tabs-narrow li.tabs-last { - margin-right: 0; -} -.tabs-header-left .tabs-narrow, -.tabs-header-right .tabs-narrow { - padding-top: 0; -} -.tabs-header-left .tabs-narrow li { - margin-bottom: -1px; - margin-right: -1px; -} -.tabs-header-left .tabs-narrow li.tabs-last, -.tabs-header-right .tabs-narrow li.tabs-last { - margin-bottom: 0; -} -.tabs-header-right .tabs-narrow li { - margin-bottom: -1px; - margin-left: -1px; -} -.tabs-scroller-left { - background: #fafafa url('images/tabs_icons.png') no-repeat 1px center; -} -.tabs-scroller-right { - background: #fafafa url('images/tabs_icons.png') no-repeat -15px center; -} -.tabs li a.tabs-close { - background: url('images/tabs_icons.png') no-repeat -34px center; -} -.tabs li a.tabs-inner:hover { - background: #eee; - color: #404040; - filter: none; -} -.tabs li.tabs-selected a.tabs-inner { - background-color: #ffffff; - color: #404040; -} -.tabs li a.tabs-inner { - color: #404040; - background-color: #fafafa; -} -.tabs-header, -.tabs-tool { - background-color: #fafafa; -} -.tabs-header-plain { - background: transparent; -} -.tabs-header, -.tabs-scroller-left, -.tabs-scroller-right, -.tabs-tool, -.tabs, -.tabs-panels, -.tabs li a.tabs-inner, -.tabs li.tabs-selected a.tabs-inner, -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, -.tabs-header-left .tabs li.tabs-selected a.tabs-inner, -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-color: #dfdfdf; -} -.tabs-p-tool a:hover, -.tabs li a:hover.tabs-close, -.tabs-scroller-over { - background-color: #eee; -} -.tabs li.tabs-selected a.tabs-inner { - border-bottom: 1px solid #ffffff; -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - border-top: 1px solid #ffffff; -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - border-right: 1px solid #ffffff; -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-left: 1px solid #ffffff; -} -.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { - background: #eee; - color: #39c; - filter: none; - border-color: #dfdfdf; -} -.datagrid .panel-body { - overflow: hidden; - position: relative; -} -.datagrid-view { - position: relative; - overflow: hidden; -} -.datagrid-view1, -.datagrid-view2 { - position: absolute; - overflow: hidden; - top: 0; -} -.datagrid-view1 { - left: 0; -} -.datagrid-view2 { - right: 0; -} -.datagrid-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0.3; - filter: alpha(opacity=30); - display: none; -} -.datagrid-mask-msg { - position: absolute; - top: 50%; - margin-top: -20px; - padding: 10px 5px 10px 30px; - width: auto; - height: 16px; - border-width: 2px; - border-style: solid; - display: none; -} -.datagrid-empty { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 25px; - line-height: 25px; - text-align: center; -} -.datagrid-sort-icon { - padding: 0; - display: none; -} -.datagrid-toolbar { - height: auto; - padding: 1px 2px; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-btn-separator { - float: left; - height: 24px; - border-left: 1px solid #dfdfdf; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.datagrid .datagrid-pager { - display: block; - margin: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.datagrid .datagrid-pager-top { - border-width: 0 0 1px 0; -} -.datagrid-header { - overflow: hidden; - cursor: default; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-header-inner { - float: left; - width: 10000px; -} -.datagrid-header-row, -.datagrid-row { - height: 32px; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-width: 0 1px 1px 0; - border-style: dotted; - margin: 0; - padding: 0; -} -.datagrid-cell, -.datagrid-cell-group, -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - margin: 0; - padding: 0 4px; - white-space: nowrap; - word-wrap: normal; - overflow: hidden; - height: 18px; - line-height: 18px; - font-size: 14px; -} -.datagrid-header .datagrid-cell { - height: auto; -} -.datagrid-header .datagrid-cell span { - font-size: 14px; -} -.datagrid-cell-group { - text-align: center; - text-overflow: ellipsis; -} -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - width: 30px; - text-align: center; - margin: 0; - padding: 0; -} -.datagrid-body { - margin: 0; - padding: 0; - overflow: auto; - zoom: 1; -} -.datagrid-view1 .datagrid-body-inner { - padding-bottom: 20px; -} -.datagrid-view1 .datagrid-body { - overflow: hidden; -} -.datagrid-footer { - overflow: hidden; -} -.datagrid-footer-inner { - border-width: 1px 0 0 0; - border-style: solid; - width: 10000px; - float: left; -} -.datagrid-row-editing .datagrid-cell { - height: auto; -} -.datagrid-header-check, -.datagrid-cell-check { - padding: 0; - width: 27px; - height: 18px; - font-size: 1px; - text-align: center; - overflow: hidden; -} -.datagrid-header-check input, -.datagrid-cell-check input { - margin: 0; - padding: 0; - width: 15px; - height: 18px; -} -.datagrid-resize-proxy { - position: absolute; - width: 1px; - height: 10000px; - top: 0; - cursor: e-resize; - display: none; -} -.datagrid-body .datagrid-editable { - margin: 0; - padding: 0; -} -.datagrid-body .datagrid-editable table { - width: 100%; - height: 100%; -} -.datagrid-body .datagrid-editable td { - border: 0; - margin: 0; - padding: 0; -} -.datagrid-view .datagrid-editable-input { - margin: 0; - padding: 2px 4px; - border: 1px solid #dfdfdf; - font-size: 14px; - outline-style: none; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-view .validatebox-invalid { - border-color: #ffa8a8; -} -.datagrid-sort .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -64px center; -} -.datagrid-sort-desc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -16px center; -} -.datagrid-sort-asc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat 0px center; -} -.datagrid-row-collapse { - background: url('images/datagrid_icons.png') no-repeat -48px center; -} -.datagrid-row-expand { - background: url('images/datagrid_icons.png') no-repeat -32px center; -} -.datagrid-mask-msg { - background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; -} -.datagrid-header, -.datagrid-td-rownumber { - background-color: #fff; -} -.datagrid-cell-rownumber { - color: #404040; -} -.datagrid-resize-proxy { - background: #ccc; -} -.datagrid-mask { - background: #eee; -} -.datagrid-mask-msg { - border-color: #dfdfdf; -} -.datagrid-toolbar, -.datagrid-pager { - background: #fafafa; -} -.datagrid-header, -.datagrid-toolbar, -.datagrid-pager, -.datagrid-footer-inner { - border-color: #dfdfdf; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-color: #dfdfdf; -} -.datagrid-htable, -.datagrid-btable, -.datagrid-ftable { - color: #404040; - border-collapse: separate; -} -.datagrid-row-alt { - background: #fafafa; -} -.datagrid-row-over, -.datagrid-header td.datagrid-header-over { - background: #eee; - color: #404040; - cursor: default; -} -.datagrid-row-selected { - background: #eee; - color: #39c; -} -.datagrid-row-editing .textbox, -.datagrid-row-editing .textbox-text { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-header .datagrid-filter-row td.datagrid-header-over { - background: inherit; -} -.propertygrid .datagrid-view1 .datagrid-body td { - padding-bottom: 1px; - border-width: 0 1px 0 0; -} -.propertygrid .datagrid-group { - overflow: hidden; - border-width: 0 0 1px 0; - border-style: solid; -} -.propertygrid .datagrid-group span { - font-weight: bold; -} -.propertygrid .datagrid-view1 .datagrid-body td { - border-color: #dfdfdf; -} -.propertygrid .datagrid-view1 .datagrid-group { - border-color: #fafafa; -} -.propertygrid .datagrid-view2 .datagrid-group { - border-color: #dfdfdf; -} -.propertygrid .datagrid-group, -.propertygrid .datagrid-view1 .datagrid-body, -.propertygrid .datagrid-view1 .datagrid-row-over, -.propertygrid .datagrid-view1 .datagrid-row-selected { - background: #fafafa; -} -.datalist .datagrid-header { - border-width: 0; -} -.datalist .datagrid-group, -.m-list .m-list-group { - height: 25px; - line-height: 25px; - font-weight: bold; - overflow: hidden; - background-color: #fff; - border-style: solid; - border-width: 0 0 1px 0; - border-color: #dfdfdf; -} -.datalist .datagrid-group-expander { - display: none; -} -.datalist .datagrid-group-title { - padding: 0 4px; -} -.datalist .datagrid-btable { - width: 100%; - table-layout: fixed; -} -.datalist .datagrid-row td { - border-style: solid; - border-left-color: transparent; - border-right-color: transparent; - border-bottom-width: 0; -} -.datalist-lines .datagrid-row td { - border-bottom-width: 1px; -} -.datalist .datagrid-cell, -.m-list li { - width: auto; - height: auto; - padding: 2px 4px; - line-height: 18px; - position: relative; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link, -.m-list li>a { - display: block; - position: relative; - cursor: pointer; - color: #404040; - text-decoration: none; - overflow: hidden; - margin: -2px -4px; - padding: 2px 4px; - padding-right: 16px; - line-height: 18px; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link::after, -.m-list li>a::after { - position: absolute; - display: block; - width: 8px; - height: 8px; - content: ''; - right: 6px; - top: 50%; - margin-top: -4px; - border-style: solid; - border-width: 1px 1px 0 0; - -ms-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -webkit-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); -} -.m-list { - margin: 0; - padding: 0; - list-style: none; -} -.m-list li { - border-style: solid; - border-width: 0 0 1px 0; - border-color: #dfdfdf; -} -.m-list li>a:hover { - background: #eee; - color: #404040; -} -.m-list .m-list-group { - padding: 0 4px; -} -.pagination { - zoom: 1; - padding: 2px; -} -.pagination table { - float: left; - height: 30px; -} -.pagination td { - border: 0; -} -.pagination-btn-separator { - float: left; - height: 24px; - border-left: 1px solid #dfdfdf; - border-right: 1px solid #fff; - margin: 3px 1px; -} -.pagination .pagination-num { - border-width: 1px; - border-style: solid; - margin: 0 2px; - padding: 2px; - width: 3em; - height: auto; - text-align: center; - font-size: 14px; -} -.pagination-page-list { - margin: 0px 6px; - padding: 1px 2px; - width: auto; - height: auto; - border-width: 1px; - border-style: solid; -} -.pagination-info { - float: right; - margin: 0 6px; - padding: 0; - height: 30px; - line-height: 30px; - font-size: 14px; -} -.pagination span { - font-size: 14px; -} -.pagination-link .l-btn-text { - box-sizing: border-box; - text-align: center; - margin: 0; - padding: 0 .5em; - width: auto; - min-width: 28px; -} -.pagination-first { - background: url('images/pagination_icons.png') no-repeat 0 center; -} -.pagination-prev { - background: url('images/pagination_icons.png') no-repeat -16px center; -} -.pagination-next { - background: url('images/pagination_icons.png') no-repeat -32px center; -} -.pagination-last { - background: url('images/pagination_icons.png') no-repeat -48px center; -} -.pagination-load { - background: url('images/pagination_icons.png') no-repeat -64px center; -} -.pagination-loading { - background: url('images/loading.gif') no-repeat center center; -} -.pagination-page-list, -.pagination .pagination-num { - border-color: #dfdfdf; -} -.calendar { - border-width: 1px; - border-style: solid; - padding: 1px; - overflow: hidden; -} -.calendar table { - table-layout: fixed; - border-collapse: separate; - font-size: 14px; - width: 100%; - height: 100%; -} -.calendar table td, -.calendar table th { - font-size: 14px; -} -.calendar-noborder { - border: 0; -} -.calendar-header { - position: relative; - height: 28px; -} -.calendar-title { - text-align: center; - height: 28px; -} -.calendar-title span { - position: relative; - display: inline-block; - top: 0px; - padding: 0 3px; - height: 28px; - line-height: 28px; - font-size: 14px; - cursor: pointer; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.calendar-prevmonth, -.calendar-nextmonth, -.calendar-prevyear, -.calendar-nextyear { - position: absolute; - top: 50%; - margin-top: -8px; - width: 16px; - height: 16px; - cursor: pointer; - font-size: 1px; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.calendar-prevmonth { - left: 20px; - background: url('images/calendar_arrows.png') no-repeat -16px 0; -} -.calendar-nextmonth { - right: 20px; - background: url('images/calendar_arrows.png') no-repeat -32px 0; -} -.calendar-prevyear { - left: 3px; - background: url('images/calendar_arrows.png') no-repeat 0px 0; -} -.calendar-nextyear { - right: 3px; - background: url('images/calendar_arrows.png') no-repeat -48px 0; -} -.calendar-body { - position: relative; -} -.calendar-body th, -.calendar-body td { - text-align: center; -} -.calendar-day { - border: 0; - padding: 1px; - cursor: pointer; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.calendar-other-month { - opacity: 0.3; - filter: alpha(opacity=30); -} -.calendar-disabled { - opacity: 0.6; - filter: alpha(opacity=60); - cursor: default; -} -.calendar-menu { - position: absolute; - top: 0; - left: 0; - width: 180px; - height: 150px; - padding: 5px; - font-size: 14px; - display: none; - overflow: hidden; -} -.calendar-menu-year-inner { - text-align: center; - padding-bottom: 5px; -} -.calendar-menu-year { - width: 80px; - line-height: 26px; - text-align: center; - border-width: 1px; - border-style: solid; - outline-style: none; - resize: none; - margin: 0; - padding: 0; - font-weight: bold; - font-size: 14px; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.calendar-menu-prev, -.calendar-menu-next { - display: inline-block; - width: 25px; - height: 28px; - vertical-align: top; - cursor: pointer; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.calendar-menu-prev { - margin-right: 10px; - background: url('images/calendar_arrows.png') no-repeat 5px center; -} -.calendar-menu-next { - margin-left: 10px; - background: url('images/calendar_arrows.png') no-repeat -44px center; -} -.calendar-menu-month { - text-align: center; - cursor: pointer; - font-weight: bold; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.calendar-body th, -.calendar-menu-month { - color: #8d8d8d; -} -.calendar-day { - color: #404040; -} -.calendar-sunday { - color: #CC2222; -} -.calendar-saturday { - color: #00ee00; -} -.calendar-today { - color: #0000ff; -} -.calendar-menu-year { - border-color: #dfdfdf; -} -.calendar { - border-color: #dfdfdf; -} -.calendar-header { - background: #fafafa; -} -.calendar-body, -.calendar-menu { - background: #ffffff; -} -.calendar-body th { - background: #fafafa; - padding: 4px 0; -} -.calendar-hover, -.calendar-nav-hover, -.calendar-menu-hover { - background-color: #eee; - color: #404040; -} -.calendar-hover { - border: 1px solid #ccc; - padding: 0; -} -.calendar-selected { - background-color: #eee; - color: #39c; - border: 1px solid #39c; - padding: 0; -} -.datebox-calendar-inner { - height: 250px; -} -.datebox-button { - padding: 4px 0; - text-align: center; -} -.datebox-button a { - line-height: 22px; - font-size: 14px; - font-weight: bold; - text-decoration: none; - opacity: 0.6; - filter: alpha(opacity=60); -} -.datebox-button a:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.datebox-current, -.datebox-close { - float: left; -} -.datebox-close { - float: right; -} -.datebox .combo-arrow { - background-image: url('images/datebox_arrow.png'); - background-position: center center; -} -.datebox-button { - background-color: #fafafa; -} -.datebox-button a { - color: #404040; -} -.spinner-arrow { - display: inline-block; - overflow: hidden; - vertical-align: top; - margin: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - width: 18px; -} -.spinner-arrow.spinner-button-top, -.spinner-arrow.spinner-button-bottom, -.spinner-arrow.spinner-button-left, -.spinner-arrow.spinner-button-right { - background-color: #fafafa; -} -.spinner-arrow-up, -.spinner-arrow-down { - opacity: 0.6; - filter: alpha(opacity=60); - display: block; - font-size: 1px; - width: 18px; - height: 10px; - width: 100%; - height: 50%; - color: #404040; - outline-style: none; - background-color: #fafafa; -} -.spinner-button-updown { - opacity: 1.0; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - position: relative; - display: block; - width: 100%; - height: 50%; -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down { - opacity: 1.0; - filter: alpha(opacity=100); - cursor: pointer; - width: 16px; - height: 16px; - top: 50%; - left: 50%; - margin-top: -8px; - margin-left: -8px; - position: absolute; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-button-updown .spinner-button-top:hover, -.spinner-button-updown .spinner-button-bottom:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down, -.spinner-button-updown .spinner-arrow-up:hover, -.spinner-button-updown .spinner-arrow-down:hover { - background-color: transparent; -} -.spinner-arrow-hover { - background-color: #eee; - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-top:hover, -.spinner-button-bottom:hover, -.spinner-button-left:hover, -.spinner-button-right:hover, -.spinner-arrow-up:hover, -.spinner-arrow-down:hover { - opacity: 1.0; - filter: alpha(opacity=100); - background-color: #eee; -} -.textbox-disabled .spinner-button-top:hover, -.textbox-disabled .spinner-button-bottom:hover, -.textbox-disabled .spinner-button-left:hover, -.textbox-disabled .spinner-button-right:hover, -.textbox-icon-disabled .spinner-arrow-up:hover, -.textbox-icon-disabled .spinner-arrow-down:hover { - opacity: 0.6; - filter: alpha(opacity=60); - background-color: #fafafa; - cursor: default; -} -.spinner .textbox-icon-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-arrow-up { - background: url('images/spinner_arrows.png') no-repeat 1px center; - background-color: #fafafa; -} -.spinner-arrow-down { - background: url('images/spinner_arrows.png') no-repeat -15px center; - background-color: #fafafa; -} -.spinner-button-up { - background: url('images/spinner_arrows.png') no-repeat -32px center; -} -.spinner-button-down { - background: url('images/spinner_arrows.png') no-repeat -48px center; -} -.progressbar { - border-width: 1px; - border-style: solid; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; - overflow: hidden; - position: relative; -} -.progressbar-text { - text-align: center; - position: absolute; -} -.progressbar-value { - position: relative; - overflow: hidden; - width: 0; - -moz-border-radius: 4px 0 0 4px; - -webkit-border-radius: 4px 0 0 4px; - border-radius: 4px 0 0 4px; -} -.progressbar { - border-color: #dfdfdf; -} -.progressbar-text { - color: #404040; - font-size: 14px; -} -.progressbar-value, -.progressbar-value .progressbar-text { - background-color: #eee; - color: #39c; -} -.searchbox-button { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.searchbox-button-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.searchbox .l-btn-plain { - border: 0; - padding: 0; - vertical-align: top; - opacity: 0.6; - filter: alpha(opacity=60); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .l-btn-plain:hover { - border: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox a.m-btn-plain-active { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .m-btn-active { - border-width: 0 1px 0 0; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .textbox-button-right { - border-width: 0 0 0 1px; -} -.searchbox .textbox-button-left { - border-width: 0 1px 0 0; -} -.searchbox-button { - background: url('images/searchbox_button.png') no-repeat center center; -} -.searchbox .l-btn-plain { - background: #fafafa; -} -.searchbox .l-btn-plain-disabled, -.searchbox .l-btn-plain-disabled:hover { - opacity: 0.5; - filter: alpha(opacity=50); -} -.slider-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.slider-h { - height: 22px; -} -.slider-v { - width: 22px; -} -.slider-inner { - position: relative; - height: 6px; - top: 7px; - border-width: 1px; - border-style: solid; - border-radius: 4px; -} -.slider-handle { - position: absolute; - display: block; - outline: none; - width: 20px; - height: 20px; - top: 50%; - margin-top: -10px; - margin-left: -10px; -} -.slider-tip { - position: absolute; - display: inline-block; - line-height: 12px; - font-size: 14px; - white-space: nowrap; - top: -22px; -} -.slider-rule { - position: relative; - top: 15px; -} -.slider-rule span { - position: absolute; - display: inline-block; - font-size: 0; - height: 5px; - border-width: 0 0 0 1px; - border-style: solid; -} -.slider-rulelabel { - position: relative; - top: 20px; -} -.slider-rulelabel span { - position: absolute; - display: inline-block; - font-size: 14px; -} -.slider-v .slider-inner { - width: 6px; - left: 7px; - top: 0; - float: left; -} -.slider-v .slider-handle { - left: 50%; - margin-top: -10px; -} -.slider-v .slider-tip { - left: -10px; - margin-top: -6px; -} -.slider-v .slider-rule { - float: left; - top: 0; - left: 16px; -} -.slider-v .slider-rule span { - width: 5px; - height: 'auto'; - border-left: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.slider-v .slider-rulelabel { - float: left; - top: 0; - left: 23px; -} -.slider-handle { - background: url('images/slider_handle.png') no-repeat; -} -.slider-inner { - border-color: #dfdfdf; - background: #fafafa; -} -.slider-rule span { - border-color: #dfdfdf; -} -.slider-rulelabel span { - color: #404040; -} -.menu { - position: absolute; - margin: 0; - padding: 2px; - border-width: 1px; - border-style: solid; - overflow: hidden; -} -.menu-inline { - position: relative; -} -.menu-item { - position: relative; - margin: 0; - padding: 0; - overflow: hidden; - white-space: nowrap; - cursor: pointer; - border-width: 1px; - border-style: solid; -} -.menu-text { - height: 20px; - line-height: 20px; - float: left; - padding-left: 28px; -} -.menu-icon { - position: absolute; - width: 16px; - height: 16px; - left: 2px; - top: 50%; - margin-top: -8px; -} -.menu-rightarrow { - position: absolute; - width: 16px; - height: 16px; - right: 0; - top: 50%; - margin-top: -8px; -} -.menu-line { - position: absolute; - left: 26px; - top: 0; - height: 2000px; - font-size: 1px; -} -.menu-sep { - margin: 3px 0px 3px 25px; - font-size: 1px; -} -.menu-noline .menu-line { - display: none; -} -.menu-noline .menu-sep { - margin-left: 0; - margin-right: 0; -} -.menu-active { - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.menu-item-disabled { - opacity: 0.5; - filter: alpha(opacity=50); - cursor: default; -} -.menu-text, -.menu-text span { - font-size: 14px; -} -.menu-shadow { - position: absolute; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; - background: #ccc; - -moz-box-shadow: 2px 2px 3px #cccccc; - -webkit-box-shadow: 2px 2px 3px #cccccc; - box-shadow: 2px 2px 3px #cccccc; - filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); -} -.menu-rightarrow { - background: url('images/menu_arrows.png') no-repeat -32px center; -} -.menu-line { - border-left: 1px solid #dfdfdf; - border-right: 1px solid #fff; -} -.menu-sep { - border-top: 1px solid #dfdfdf; - border-bottom: 1px solid #fff; -} -.menu { - background-color: #fff; - border-color: #eee; - color: #404040; -} -.menu-content { - background: #ffffff; -} -.menu-item { - border-color: transparent; - _border-color: #fff; -} -.menu-active { - border-color: #ccc; - color: #404040; - background: #eee; -} -.menu-active-disabled { - border-color: transparent; - background: transparent; - color: #404040; -} -.m-btn-downarrow, -.s-btn-downarrow { - display: inline-block; - position: absolute; - width: 16px; - height: 16px; - font-size: 1px; - right: 0; - top: 50%; - margin-top: -8px; -} -.m-btn-active, -.s-btn-active { - background: #eee; - color: #404040; - border: 1px solid #ccc; - filter: none; -} -.m-btn-plain-active, -.s-btn-plain-active { - background: transparent; - padding: 0; - border-width: 1px; - border-style: solid; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.m-btn .l-btn-left .l-btn-text { - margin-right: 20px; -} -.m-btn .l-btn-icon-right .l-btn-text { - margin-right: 40px; -} -.m-btn .l-btn-icon-right .l-btn-icon { - right: 20px; -} -.m-btn .l-btn-icon-top .l-btn-text { - margin-right: 4px; - margin-bottom: 14px; -} -.m-btn .l-btn-icon-bottom .l-btn-text { - margin-right: 4px; - margin-bottom: 34px; -} -.m-btn .l-btn-icon-bottom .l-btn-icon { - top: auto; - bottom: 20px; -} -.m-btn .l-btn-icon-top .m-btn-downarrow, -.m-btn .l-btn-icon-bottom .m-btn-downarrow { - top: auto; - bottom: 0px; - left: 50%; - margin-left: -8px; -} -.m-btn-line { - display: inline-block; - position: absolute; - font-size: 1px; - display: none; -} -.m-btn .l-btn-left .m-btn-line { - right: 0; - width: 16px; - height: 500px; - border-style: solid; - border-color: #ccc; - border-width: 0 0 0 1px; -} -.m-btn .l-btn-icon-top .m-btn-line, -.m-btn .l-btn-icon-bottom .m-btn-line { - left: 0; - bottom: 0; - width: 500px; - height: 16px; - border-width: 1px 0 0 0; -} -.m-btn-large .l-btn-icon-right .l-btn-text { - margin-right: 56px; -} -.m-btn-large .l-btn-icon-bottom .l-btn-text { - margin-bottom: 50px; -} -.m-btn-downarrow, -.s-btn-downarrow { - background: url('images/menu_arrows.png') no-repeat 0 center; -} -.m-btn-plain-active, -.s-btn-plain-active { - border-color: #ccc; - background-color: #eee; - color: #404040; -} -.s-btn:hover .m-btn-line, -.s-btn-active .m-btn-line, -.s-btn-plain-active .m-btn-line { - display: inline-block; -} -.l-btn:hover .s-btn-downarrow, -.s-btn-active .s-btn-downarrow, -.s-btn-plain-active .s-btn-downarrow { - border-style: solid; - border-color: #ccc; - border-width: 0 0 0 1px; -} -.messager-body { - padding: 10px 10px 30px 10px; - overflow: auto; -} -.messager-button { - text-align: center; - padding: 5px; -} -.messager-button .l-btn { - width: 70px; -} -.messager-icon { - float: left; - width: 32px; - height: 32px; - margin: 0 10px 10px 0; -} -.messager-error { - background: url('images/messager_icons.png') no-repeat scroll -64px 0; -} -.messager-info { - background: url('images/messager_icons.png') no-repeat scroll 0 0; -} -.messager-question { - background: url('images/messager_icons.png') no-repeat scroll -32px 0; -} -.messager-warning { - background: url('images/messager_icons.png') no-repeat scroll -96px 0; -} -.messager-progress { - padding: 10px; -} -.messager-p-msg { - margin-bottom: 5px; -} -.messager-body .messager-input { - width: 100%; - padding: 4px 0; - outline-style: none; - border: 1px solid #dfdfdf; -} -.window-thinborder .messager-button { - padding-bottom: 8px; -} -.tree { - margin: 0; - padding: 0; - list-style-type: none; -} -.tree li { - white-space: nowrap; -} -.tree li ul { - list-style-type: none; - margin: 0; - padding: 0; -} -.tree-node { - height: 26px; - white-space: nowrap; - cursor: pointer; -} -.tree-hit { - cursor: pointer; -} -.tree-expanded, -.tree-collapsed, -.tree-folder, -.tree-file, -.tree-checkbox, -.tree-indent { - display: inline-block; - width: 16px; - height: 18px; - margin: 4px 0; - vertical-align: middle; - overflow: hidden; -} -.tree-expanded { - background: url('images/tree_icons.png') no-repeat -18px 0px; -} -.tree-expanded-hover { - background: url('images/tree_icons.png') no-repeat -50px 0px; -} -.tree-collapsed { - background: url('images/tree_icons.png') no-repeat 0px 0px; -} -.tree-collapsed-hover { - background: url('images/tree_icons.png') no-repeat -32px 0px; -} -.tree-lines .tree-expanded, -.tree-lines .tree-root-first .tree-expanded { - background: url('images/tree_icons.png') no-repeat -144px 0; -} -.tree-lines .tree-collapsed, -.tree-lines .tree-root-first .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -128px 0; -} -.tree-lines .tree-node-last .tree-expanded, -.tree-lines .tree-root-one .tree-expanded { - background: url('images/tree_icons.png') no-repeat -80px 0; -} -.tree-lines .tree-node-last .tree-collapsed, -.tree-lines .tree-root-one .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -64px 0; -} -.tree-line { - background: url('images/tree_icons.png') no-repeat -176px 0; -} -.tree-join { - background: url('images/tree_icons.png') no-repeat -192px 0; -} -.tree-joinbottom { - background: url('images/tree_icons.png') no-repeat -160px 0; -} -.tree-folder { - background: url('images/tree_icons.png') no-repeat -208px 0; -} -.tree-folder-open { - background: url('images/tree_icons.png') no-repeat -224px 0; -} -.tree-file { - background: url('images/tree_icons.png') no-repeat -240px 0; -} -.tree-loading { - background: url('images/loading.gif') no-repeat center center; -} -.tree-checkbox0 { - background: url('images/tree_icons.png') no-repeat -208px -18px; -} -.tree-checkbox1 { - background: url('images/tree_icons.png') no-repeat -224px -18px; -} -.tree-checkbox2 { - background: url('images/tree_icons.png') no-repeat -240px -18px; -} -.tree-title { - font-size: 14px; - display: inline-block; - text-decoration: none; - vertical-align: middle; - white-space: nowrap; - padding: 0 2px; - margin: 4px 0; - height: 18px; - line-height: 18px; -} -.tree-node-proxy { - font-size: 14px; - line-height: 20px; - padding: 0 2px 0 20px; - border-width: 1px; - border-style: solid; - z-index: 9900000; -} -.tree-dnd-icon { - display: inline-block; - position: absolute; - width: 16px; - height: 18px; - left: 2px; - top: 50%; - margin-top: -9px; -} -.tree-dnd-yes { - background: url('images/tree_icons.png') no-repeat -256px 0; -} -.tree-dnd-no { - background: url('images/tree_icons.png') no-repeat -256px -18px; -} -.tree-node-top { - border-top: 1px dotted red; -} -.tree-node-bottom { - border-bottom: 1px dotted red; -} -.tree-node-append .tree-title { - border: 1px dotted red; -} -.tree-editor { - border: 1px solid #dfdfdf; - font-size: 14px; - height: 26px; - line-height: 26px; - padding: 0 4px; - margin: 0; - width: 80px; - outline-style: none; - vertical-align: middle; - position: absolute; - top: 0; -} -.tree-node-proxy { - background-color: #ffffff; - color: #404040; - border-color: #dfdfdf; -} -.tree-node-hover { - background: #eee; - color: #404040; -} -.tree-node-selected { - background: #eee; - color: #39c; -} -.tree-node-hidden { - display: none; -} -.inputbox { - display: inline-block; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; -} -.validatebox-invalid { - border-color: #ffa8a8; - background-color: #fff; - color: #404040; -} -.tooltip { - position: absolute; - display: none; - z-index: 9900000; - outline: none; - opacity: 1; - filter: alpha(opacity=100); - padding: 5px; - border-width: 1px; - border-style: solid; - border-radius: 5px; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.tooltip-content { - font-size: 14px; -} -.tooltip-arrow-outer, -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - line-height: 0; - font-size: 0; - border-style: solid; - border-width: 6px; - border-color: transparent; - _border-color: tomato; - _filter: chroma(color=tomato); -} -.tooltip-arrow { - display: none \9; -} -.tooltip-right .tooltip-arrow-outer { - left: 0; - top: 50%; - margin: -6px 0 0 -13px; -} -.tooltip-right .tooltip-arrow { - left: 0; - top: 50%; - margin: -6px 0 0 -12px; -} -.tooltip-left .tooltip-arrow-outer { - right: 0; - top: 50%; - margin: -6px -13px 0 0; -} -.tooltip-left .tooltip-arrow { - right: 0; - top: 50%; - margin: -6px -12px 0 0; -} -.tooltip-top .tooltip-arrow-outer { - bottom: 0; - left: 50%; - margin: 0 0 -13px -6px; -} -.tooltip-top .tooltip-arrow { - bottom: 0; - left: 50%; - margin: 0 0 -12px -6px; -} -.tooltip-bottom .tooltip-arrow-outer { - top: 0; - left: 50%; - margin: -13px 0 0 -6px; -} -.tooltip-bottom .tooltip-arrow { - top: 0; - left: 50%; - margin: -12px 0 0 -6px; -} -.tooltip { - background-color: #ffffff; - border-color: #dfdfdf; - color: #404040; -} -.tooltip-right .tooltip-arrow-outer { - border-right-color: #dfdfdf; -} -.tooltip-right .tooltip-arrow { - border-right-color: #ffffff; -} -.tooltip-left .tooltip-arrow-outer { - border-left-color: #dfdfdf; -} -.tooltip-left .tooltip-arrow { - border-left-color: #ffffff; -} -.tooltip-top .tooltip-arrow-outer { - border-top-color: #dfdfdf; -} -.tooltip-top .tooltip-arrow { - border-top-color: #ffffff; -} -.tooltip-bottom .tooltip-arrow-outer { - border-bottom-color: #dfdfdf; -} -.tooltip-bottom .tooltip-arrow { - border-bottom-color: #ffffff; -} -.switchbutton { - text-decoration: none; - display: inline-block; - overflow: hidden; - vertical-align: middle; - margin: 0; - padding: 0; - cursor: pointer; - background: #dfdfdf; - border: 1px solid #dfdfdf; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.switchbutton-inner { - display: inline-block; - overflow: hidden; - position: relative; - top: -1px; - left: -1px; -} -.switchbutton-on, -.switchbutton-off, -.switchbutton-handle { - display: inline-block; - text-align: center; - height: 100%; - float: left; - font-size: 14px; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.switchbutton-on { - background: #eee; - color: #39c; -} -.switchbutton-off { - background-color: #ffffff; - color: #404040; -} -.switchbutton-on, -.switchbutton-reversed .switchbutton-off { - -moz-border-radius: 4px 0 0 4px; - -webkit-border-radius: 4px 0 0 4px; - border-radius: 4px 0 0 4px; -} -.switchbutton-off, -.switchbutton-reversed .switchbutton-on { - -moz-border-radius: 0 4px 4px 0; - -webkit-border-radius: 0 4px 4px 0; - border-radius: 0 4px 4px 0; -} -.switchbutton-handle { - position: absolute; - top: 0; - left: 50%; - background-color: #ffffff; - color: #404040; - border: 1px solid #dfdfdf; - -moz-box-shadow: 0 0 3px 0 #dfdfdf; - -webkit-box-shadow: 0 0 3px 0 #dfdfdf; - box-shadow: 0 0 3px 0 #dfdfdf; -} -.switchbutton-value { - position: absolute; - top: 0; - left: -5000px; -} -.switchbutton-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.switchbutton-disabled, -.switchbutton-readonly { - cursor: default; -} -.radiobutton { - position: relative; - border: 2px solid #39c; - border-radius: 50%; -} -.radiobutton-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #39c; - border-radius: 50%; - transform: scale(.6); -} -.radiobutton-disabled { - opacity: 0.6; -} -.radiobutton-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} -.checkbox { - position: relative; - border: 2px solid #39c; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.checkbox-checked { - border: 0; - background: #39c; -} -.checkbox-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; -} -.checkbox path { - stroke-width: 2px; -} -.checkbox-disabled { - opacity: 0.6; -} -.checkbox-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} -.sidemenu .tree-hit { - background-image: none; -} -.sidemenu-default-icon { - background-image: none; - width: 0; -} -.sidemenu .accordion .accordion-header, -.sidemenu .accordion .accordion-body { - border-bottom-color: transparent; - background: transparent; -} -.sidemenu .accordion .accordion-header { - color: #404040; -} -.sidemenu .accordion-header .panel-title { - height: 30px; - line-height: 30px; - color: #404040; -} -.sidemenu .accordion-header:hover { - background: #eee; - color: #404040; -} -.sidemenu .tree-node-hover { - background: #eee; - color: #404040; -} -.sidemenu .tree-node-selected { - border-right: 2px solid #39c; - color: #39c; - background: #eee; -} -.sidemenu .tree-node { - height: 40px; -} -.sidemenu .tree-title { - margin: 11px 0; -} -.sidemenu .tree-node-nonleaf { - position: relative; -} -.sidemenu .tree-node-nonleaf::after { - display: inline-block; - content: ''; - position: absolute; - top: 50%; - margin-top: -8px; - background: url('images/accordion_arrows.png') no-repeat 0 0; - width: 16px; - height: 16px; - right: 5px; -} -.sidemenu .tree-node-nonleaf-collapsed::after { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.sidemenu-collapsed .panel-icon { - left: 50%; - margin-left: -8px; -} -.sidemenu-tooltip { - padding: 0; - margin: 0 -12px; - border: 0; -} -.sidemenu-tooltip.tooltip-left { - margin: 0 12px; -} -.sidemenu-tooltip .tooltip-arrow-outer, -.sidemenu-tooltip .tooltip-arrow { - display: none; -} -.textbox { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; - border-top-color: transparent; - border-left-color: transparent; - border-right-color: transparent; -} -.textbox-focused { - border-color: #39c; - border-top-color: transparent; - border-left-color: transparent; - border-right-color: transparent; - -moz-box-shadow: 0 0 3px 0 transparent; - -webkit-box-shadow: 0 0 3px 0 transparent; - box-shadow: 0 0 3px 0 transparent; -} -.textbox .textbox-button { - background-color: transparent; -} -.textbox .textbox-button-left, -.textbox .textbox-button-right, -.textbox .textbox-button-top, -.textbox .textbox-button-bottom { - border-color: transparent; -} -.combo-arrow, -.combo-arrow:hover, -.spinner-arrow-up, -.spinner-arrow-up:hover, -.spinner-arrow-down, -.spinner-arrow-down:hover { - background-color: transparent; -} -.spinner-arrow.spinner-button-top, -.spinner-arrow.spinner-button-bottom { - background-color: transparent; -} -.datagrid-header .datagrid-cell, -.datagrid-cell-group { - color: #a6a6a6; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-style: solid; - border-left-color: transparent; - border-right-color: transparent; -} -.datagrid-row-alt .datagrid-td-rownumber { - background-color: #fafafa; -} -.datagrid-row-over .datagrid-td-rownumber { - background-color: #eee; -} -.datagrid-row-selected .datagrid-td-rownumber { - background-color: #eee; -} -.datagrid-row-selected .datagrid-cell-rownumber { - color: #39c; -} -.datagrid-filter-row .textbox, -.datagrid-editable .textbox { - border: 1px solid #dfdfdf; -} -.tree-node { - border-left: 2px solid transparent; -} -.tree-node-selected { - border-left: 2px solid #39c; -} -.calendar-header, -.calendar-body th { - background: transparent; -} -.calendar-selected { - background: #39c; - color: #fff; - border-color: transparent; -} -.calendar-selected.calendar-saturday { - background: #00ee00; -} -.calendar-selected.calendar-sunday { - background: #CC2222; -} -.tabs-header, -.tabs-tool { - padding-top: 0; -} -.tabs li { - margin-bottom: 0; -} -.tabs li a.tabs-inner, -.tabs li a:hover.tabs-inner { - color: #404040; - background: transparent; - border-color: transparent; - border-left-width: 0; - border-right-width: 0; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.tabs li.tabs-selected a.tabs-inner { - background: transparent; - border-color: transparent; - color: #39c; - border-bottom: 2px solid #39c; - border-radius: 0; - font-weight: normal; -} -.tabs-header-bottom .tabs li a.tabs-inner { - border-top: 2px solid transparent; -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - border-top: 2px solid #39c; - border-bottom: 0; -} -.tabs-header-left .tabs li a.tabs-inner { - border-right: 2px solid transparent; -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - border-right: 2px solid #39c; - border-top-color: transparent; - border-bottom-color: transparent; -} -.tabs-header-right .tabs li a.tabs-inner { - border-left: 2px solid transparent; -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-left: 2px solid #39c; - border-top-color: transparent; - border-bottom-color: transparent; -} -.l-btn-selected, -.l-btn-selected:hover { - color: #fff; -} -.slider-handle { - background: #39c; - -moz-border-radius: 50% 50% 50% 50%; - -webkit-border-radius: 50% 50% 50% 50%; - border-radius: 50% 50% 50% 50%; -} -.menu-shadow, -.combo-p { - -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); - -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); - box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); - filter: none; -} -.menu { - padding: 3px 0; - border: 0; -} -.menu-icon { - left: 4px; -} -.menu-active { - border-color: transparent; - color: #39c; - background: #eee; - border-radius: 0; -} -.menu-active-disabled { - border-color: transparent; - background: transparent; - color: #404040; -} -.window { - background-color: #fff; -} -.window-proxy { - border-color: #ccc; -} -.window-shadow { - -moz-box-shadow: 0 7px 8px -4px rgba(0,0,0,0.2), 0 13px 19px 2px rgba(0,0,0,0.14), 0 5px 24px 4px rgba(0,0,0,0.12); - -webkit-box-shadow: 0 7px 8px -4px rgba(0,0,0,0.2), 0 13px 19px 2px rgba(0,0,0,0.14), 0 5px 24px 4px rgba(0,0,0,0.12); - box-shadow: 0 7px 8px -4px rgba(0,0,0,0.2), 0 13px 19px 2px rgba(0,0,0,0.14), 0 5px 24px 4px rgba(0,0,0,0.12); - filter: none; -} -.window-mask { - background: #000; -} -.sidemenu .tree-node-selected { - border-right: 0; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/filebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/filebox.css deleted file mode 100644 index c6bac66..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/filebox.css +++ /dev/null @@ -1,20 +0,0 @@ -.filebox .textbox-value { - vertical-align: top; - position: absolute; - top: 0; - left: -5000px; -} -.filebox-label { - display: inline-block; - position: absolute; - width: 100%; - height: 100%; - cursor: pointer; - left: 0; - top: 0; - z-index: 10; - background: url('images/blank.gif') no-repeat; -} -.l-btn-disabled .filebox-label { - cursor: default; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/Thumbs.db b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/Thumbs.db deleted file mode 100644 index 5f257a2a49959543d36e2641d352572547e40e63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35328 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 T0gjLZeOBaa?|wA#e_!~27*z{8 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/accordion_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/accordion_arrows.png deleted file mode 100644 index b6368d636e2ff36501ff9c6b14f7ce09997f3743..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel!K>>V@SoV?_1tQrr|vg#{&FxgXS!5MW?fq8aJ< T>6BX`&@2W|S3j3^P6h?7!oT zn93bYIb9!43Wj)WNz0M)xYl!8U>3_OjRiss3@1j_Zvlb#iD~jUnsR3em#t_3WtUHqj%c^0} zFSrhZpjU$)YHUS-lsMx)nN8pghWK6h!524#*oXjC@NjHF9H1y2K%G?c=lr%4eY%ue zT+7R9Pld<2<$C}OAU0HZIJPqD0RA&Sip042zF(tA4uaUhZ>jL`*HN0POocjDIidNRbTZ#@zvW7@I c5>Ct23v;ttA1D3-v;Y7A07*qoM6N<$f&+eyE&u=k diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/datebox_arrow.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/datebox_arrow.png deleted file mode 100644 index 783c83357fdf90a1c7c024358e1d768b5c09c135..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 626 zcmV-&0*(ENP)5OC%H;f`~O(q$Q#t2<^v$A>fbmv%e#dKTwK=Ku{5lS|}<-`a#7b zzTCOnnT>at)D}AMFuOZ5&%EqFN(lyumd$2ASF6=;nM~%2?gqc@U=#|4PqkX@EBo-9 z7pD#bO_RUa>*faM`8;MYfVi$JnB-zcBFc6gjl$d!bF98Q!!!(Z1_R~P?e!pt#6CHJ9S&n_n&@=9 z%GP;!@Co4c*at+6vNz7o(6en^Q1%qHrc;1)9IRaz-$@S$Z-qdC^ds3X0NvQH;KS)D z-dh&rW&@X;1cS(45z)J&BVt+tv&GMVJ%!EiW) zLBGZW)#Z+gl-Lih&?>X3SS-S#ujQ;9JRXmIB7X)8`d6ETj)D#Q2+$s|<_b7-B9Xvq zwNfqlEp%y3$uY`h{Y$(Gn5@}sqEsq95lpAkFO5dyBmP6^H-51G4J|rN2Ujt<`2YX_ M07*qoM6N<$f|L1?c z_O8;7?=$$OZE)N^=kf)!wu_8{hTkWuP3Lf!{Qqt%*U6B7qRbydZ`F0T{#^CG?%493 zHc6j2;SWMDuL>F^vlqEUI{oOgO!xNf*11TukM z6kTZ3V2qd3<~<$H&Lrt?SpXUxF5Zb^}(={r!EHE+$QMdH|XZ zSYbMyc0tQc3qbP$tG{U_Jyg>I(0srOscEGU?-T)4AzuS$_2J>6`+BJ50YDY<^>2vV z+uI880P2ui(hyHiPrK$)CkbHg=kD&V3^8pD z0v3QOB&8eT@87?rgaGPrb#+ySxU;jP=nkL`nZ_{0e*BD+1Tc5b&d$oLo}8R$90gF1 z^ij>~#>R%HIRNUB_kgpQ+Lg!80Gbb2saY8>1EBeUm7A3TegK*dSciv)Wqp0!h-3im z1+1f^qq4iZ+ZEMUS63~e0I+zh`2rwd0l@!F(!7sM%_`|&0+*B!z{1(u+A9BIU&~T- z2he=L>dmc7TLXZFkeTeCHMcE|qX51{z>0ZC=xGjss*FaXGOMX+dHf8Z8hL6ntGQ_z zF9V<&dwY9jh`D7czyqj4g3S=~)zFA!0980RI4DC*Ez1%L09D8%=OHF&S@Q*;3bRfe zeL2-ZzyeT(Av4`$>R3`j096>WH7BOELD3yR70%Dk%Mk4)1W=73OH{L_UgIc$YFu7k zmRaq`&NxK?Rk*skDzlhL4IV!OsLJ*Ab@{BRT^TO}pgQC6xO~R6G8o_oU?C)>`xlc2 zriH~zU-;g$PyPA_&X!OBSU6SIeB~eKNAhF&(fs&F|1n9<+Yj^2T+4Dj%UFjr zZ%rnX^7Qmn0ANwP308gILtaQfK0Z1j0Br`Wq<=~Ka+?BxW&>7kRtZ+q>C~wJXg6S` zW|cJ1%?d#C0V@Ue)T{uY>425ig?tTsczEc(0+M8_c7^t|!sm-1Nw(}#nnLr?FgGlc zY}ut0+w(d)Uk6FDWtY;*aCdjteIX>tmhA#o+8PqHNU~+SlrTfyKRaNHBx~Ch-FJ3& z%B(Y&NwStp{rH$6Yj{YqhR=Gk~Mtw_&K$#yeTBf z7JV~bCN(VwL$c|B^>Topn-X{+7;S!yV~2^ zBgv-iMkME}U;-COwrsbABDvwg!2wA&ZMWttf5^jTl5E*7V41=|@=Hu>NJ^O8(7b4p z&ChgC(LF5>Md#{+4LgS{%KA|H(Xv`l4P^KdiBKB*_;1&m|Q7!{|O$ k%vVK{T!hwqk^D0L0mO==@4IV9lK=n!07*qoM6N<$f|Ge;n*aa+ diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/loading.gif b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/loading.gif deleted file mode 100644 index 68f01d04813c1f622810864a3aaa04b4a17ac8f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1737 zcmaKsX;2e)7>CzDa{xjjy99|1A!tC(kfocDi)<1$AxHpOQ4k^l!Vx1W6x7<&|FYXU zqO4jEiU-!VR1p+Xj1?4-iuI_J;!&?!+ghg|JJad3U)pMGzcKxNeCM6tJnuX+uPvX@ zZY|=AHdxt2Xr2y*)5|c6#FSEuyJ+Y3Z&l z2hJWo`9;lJ$6wzSoW60tqkB|d$oiO*d-^85^ojn{*NR{MP*%{@H*#gihZ8BKyB68E z-MIbjgNNV0y5khpJ^Jv`51aR%={<4jhaVq5e*9D5+*hL)XCHn4{^d%hPu@?KpKbc=eN!D=XUjDmH#n{YHNS zHCX6BV)yn2CuTNujhN~V+`RKpyXO6^ht92eqhIIlQLfz6eeCnH_C7`NPNrw9ks366 z4xX9(`s~z=+1uX^ocZ$2_fBs=JihPfWYufOIuD&AU-@`>>qn~cy$1)T7CU!5z2(U8 z)9Kt9)l`f6?NU41j6XbXfR{OHwm|T4}&24tIf+!C-g~6cQfY2^n$?AT&ZW zgqm`}3-jS2NS6n=k;sr5Hv(Q%%n)qW0X|neWVBd;Ko}d(=u%?{O0-a>kSI}shOd9n z5top}%gUCf=>?tg;*;#7!^HOL3k$fMxd=O-6Y4@%u8LS)C1D_a?27R6^vcC+6tttL z)GmTahbyJB!xmcHL#ya8ZXyfRl)a!N0BJE0y3BBfAV5;#=K&Z2VkaKZ)?9`1h5P_% znt*b}%j1|#j`b|aQDx@~wA#$PYRN2xE6UO;;vE(@$&xww-s8fZ5HmJ(eJ*rQrDbaawDbrfe_8F(wq{ge?)qQG`aXV;r(*6EM|ESje;52aFmrX!f=Pw^2oGQX$1|o4yts|b_5@w_kNwtl{wDP#JGMvIp#!SYX?Wq9S&`&_ZwkgGH5CLB7DEGJ6=R4J~p3Z4i^A}hs=-uZeD zs92l6u@**R$~L()G{5N8*7cE5-q$SCo`q4|NSVF*+A7&xZnypm$EdXgf)E%(VJHFD zSgi(H!D!(;9Zcc#GrCCJh=RlvXBQ-hv4Vodse`a32ZUFWgP5ZhM5LeV(#D^H8p@Lg ztra5R32z@1rQv{6u&RZL5%Z@Ye{q|t#6aM_1hIrpl@)oH6}os*cbAQywa{5<`ekzW O1il%9bk82&KlvLjD^%40 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/menu_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/menu_arrows.png deleted file mode 100644 index b986842e7e4044caed18edbcb4b376a4bb915623..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQt6&9jv*Dd-cB{-J7B=U{PTZ! zWrKV9%Z3|Wt5t$(gq+#d+-OocB$0fsr9DfRx52vPhSu$$+yXuy+69hDZ54DDTxx#r zL7>-12UT01v)>tZ+;HI4pDNf?@KK~EC$@35ykmXyu^HJF3})N>8P9Uwo&~g$!PC{x JWt~$(697!FIeGv9 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/messager_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/messager_icons.png deleted file mode 100644 index 86b0b0e6c73d6bdedc843763484982e5c9e71b0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2224 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 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/passwordbox_open.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/passwordbox_open.png deleted file mode 100644 index 0f25d535e05b22b406fd72647611aace9cfa6249..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>7Fi*Ar-fh6C~yxIB_Cl)5eV- z>r;4yl-<@d?s6;P338s2rmQ?!Qz1HW#so#C46Xx7Cq5}K`Svo!h;^q;DRB5^Z?=`` zg<12Qetm(ByO<;&a5^L{7TnL>!KiVsAxlibJl4>NC!c|#Jtt+3rSZgWpp^`su6{1- HoD!M<3i~r2 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/searchbox_button.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/searchbox_button.png deleted file mode 100644 index 6dd1931589b453f6cc9772fd1851d8705d6b6631..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 813 zcmV+|1JeA7P)lXvaa)1B=8vtU6i;3jw7+Lm8D5$Z@i10EnF)=bcefw4K z$^E-CUfjQG`svfBbfD6|R#sLFj6lo3FG$G6@;ee>>~6i|H^5OY8c00W#fi<*1vzh{0&qu3dB`V0{{XDY`}(1n>S9M(9!zw#!&`A z#;*+0{6GVMSeWGp!`o{o8NPge#o%jgs54WT$qnQYpsyGNpauX05F;oJfZ`Pdw6!$j zynTH0RMa&!n3$Pa9zVGEY{&L(3qnPBl_DG6<9Xk0`Fl3`LiD4@pH{vDsxJWQ1qdJp zEJ>M}osCtQlY?CgW>F{;gVK#SmgoOZnEn5J%EtIXaWQXAO>Rdf)WFR;gt~f zXaA3z{{L{q=l48y!32yJ3i0hJ2BS=^}@sXzH{F9Iq&OW375;I7CG-}Vr|aF#l<(fySwu2>`YdxRW*W0f#2un=W5Jmvoe`XCK%I_Y++#`fwE+= zSd{sEULGDE%A=#BOW<6gP*6VfMa^fr8qe`5w%)P0a^Y9WGTw! zvI^|$>l@1Da^Ke1*T3RdY7KqM%gaBb(P+oP!GW;b?ZRfW3Bxc1H@GCaHK#XhZ*Lc= zRBC@>V&W#x&B5%(#>OW5`};d6I5Qw218EG_q@1gtr!Nl*v7yn?(MPMRt4SNy%--JK zanm#f^bw^}Nr7b(EUg}TUi(2;)deX10lAo=83+VA(QksJI6(zwptET-y~avN=J9w$ zI2`W5lG|aOkjY7(&!@;Jx*nUA>~J`Q)9L&(G8y=g$3a4YgD7z)5>gXQNKhw=uR0zF z#jHruh)gDv=bj|2ZES4(fEM?I!JyKqo=}sj-fBYTcDt4KXq)eFQH}wW`vh%Mla}#@ z@Mb`C)x@YkK{xd2>8ZLg+E!Lps$Q@6DY-~!0=Gs+Mm~_JnW1EbX2uxClEdN>Y@I78 z=ke_9?7sX@o0*x}M{JB77MIXj_MmNE%+1Xe{*{crh)9={dR(U;y-{jrxUXmG%Gt002ovPDHLkV1hy(sXhPz diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/spinner_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/spinner_arrows.png deleted file mode 100644 index b1773c24b20b30318e38c4b84690e3d0010c9c43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQZb$`jv*Ddk`p9Y7bl4DgeBzU z{E=^QXHHmRmEiEUJ<_jB`NK-}t7{l}8A{FvOK}{T)p$BC>8|6-x-MIXOa{IRh5%#E x$&;(vVs#x>vb(K5c#%QkA)^788{=C>2L8QE5AM%P*8@KmF984m diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/tabs_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/tabs_icons.png deleted file mode 100644 index 4dbacce18ec1310d22dc4de8ff895f597b0d61eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^20$#p!3HD)*8SNCq{2L1978H@B_~L*E^hdC;Kq#~ z_8gbJY-45o``Fp;2v4zS5!xHXwo~JmL(T+=yD|FVdQ&MBb@0IQ}mHUIzs diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/tagbox_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/tagbox_icons.png deleted file mode 100644 index 8ec64360884b3fdb81255ad6074bc08ed183232c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel#i#2V@SoVtb9vwNkrdSr%AfUpK=5(o}_e|{SG6u6f5&Q g4t5*qz9vC-hN^}472i&@1{u%b>FVdQ&MBb@08Zm4@c;k- diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/tree_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/tree_icons.png deleted file mode 100644 index e9be4f3a9965e49a4e4078f8c53f486d761a7468..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3115 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 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/validatebox_warning.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/validatebox_warning.png deleted file mode 100644 index 2b3d4f05babf3f82b146350e96570fac02075de0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 921 zcmV;K17`e*P)nRv1_mBsMY*-M^XCf)eflW5 z|MC^)Hw+AW{sHCCF+cz@{fF8J!+#-kxoSv=7^|!zgOQUngSQ}mDo|J)n+pH}hzZ#= zr~y18$_m-?9v%$;?mu8);}>9vFgFvDXJDwrW&l6{p}625M66yTFhGz^K$w9^O$BHi zFN2Ym7DIple*#cW4BY^L0Al(Jbv6k9U|^6IQBp{hx3XdQ&CJ4Z_|YSVr@XujY(PVT zlok1<85nBO4FCurumK>O|A07*jFlSRUcxLAQVcIR*co#3@)&jj4Pj7KXRri%#h;fa z4ya5O*#Lk5Vq!q}T~=CGH(uV-hJk^fkAYoGjN#AMuMF($>N=giWG}IXse|=+c=i>7HEg>%*E%fLD!-uy|85n^6W?^Dt(9zXp5EB&z+w>_knBmdiKMbzi z?A!`WOl>e100a=&05*1xZdFls?*HtZ48H?o7=HW%ivIu45E2~BASWx!@DIpmv9e}h zaPwji|L}pqor@y`=yxrU0RRES^qYY}O;TRcU+DKIhL4`%3_nyf8U6tS<<-ZJ40D$( zWjJ%`G6NIPHNP2{7am*Fp% z{>ShK#0G`~kjd~57_BU.panel-body, -.panel-hright>.panel-body { - position: absolute; -} -.panel-hleft>.panel-header { - float: left; -} -.panel-hright>.panel-header { - float: right; -} -.panel-hleft>.panel-body { - border-top-width: 1px; - border-left-width: 0; -} -.panel-hright>.panel-body { - border-top-width: 1px; - border-right-width: 0; -} -.panel-hleft>.panel-body-nobottom { - border-bottom-width: 1px; - border-right-width: 0; -} -.panel-hright>.panel-body-nobottom { - border-bottom-width: 1px; - border-left-width: 0; -} -.panel-hleft>.panel-footer { - position: absolute; - right: 0; -} -.panel-hright>.panel-footer { - position: absolute; - left: 0; -} -.panel-hleft>.panel-header-noborder { - border-width: 0 1px 0 0; -} -.panel-hright>.panel-header-noborder { - border-width: 0 0 0 1px; -} -.panel-hleft>.panel-body-noborder { - border-width: 0; -} -.panel-hright>.panel-body-noborder { - border-width: 0; -} -.panel-hleft>.panel-body-noheader { - border-left-width: 1px; -} -.panel-hright>.panel-body-noheader { - border-right-width: 1px; -} -.panel-hleft>.panel-footer-noborder { - border-width: 0 0 0 1px; -} -.panel-hright>.panel-footer-noborder { - border-width: 0 1px 0 0; -} -.panel-hleft>.panel-header .panel-icon, -.panel-hright>.panel-header .panel-icon { - margin-top: 0; - top: 5px; - left: 50%; - margin-left: -8px; -} -.panel-hleft>.panel-header .panel-title, -.panel-hright>.panel-header .panel-title { - position: absolute; - min-width: 16px; - left: 25px; - top: 5px; - bottom: auto; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(90deg); - -o-transform-origin: 0 0; - transform: rotate(90deg); - transform-origin: 0 0; -} -.panel-hleft>.panel-header .panel-title-up, -.panel-hright>.panel-header .panel-title-up { - position: absolute; - min-width: 16px; - left: 21px; - top: auto; - bottom: 0px; - text-align: right; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(-90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(-90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(-90deg); - -o-transform-origin: 0 0; - transform: rotate(-90deg); - transform-origin: 0 16px; -} -.panel-hleft>.panel-header .panel-with-icon.panel-title-up, -.panel-hright>.panel-header .panel-with-icon.panel-title-up { - padding-left: 0; - padding-right: 18px; -} -.panel-hleft>.panel-header .panel-tool, -.panel-hright>.panel-header .panel-tool { - top: auto; - bottom: 5px; - width: 16px; - height: auto; - left: 50%; - margin-left: -8px; - margin-top: 0; -} -.panel-hleft>.panel-header .panel-tool a, -.panel-hright>.panel-header .panel-tool a { - margin: 2px 0 0 0; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/passwordbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/passwordbox.css deleted file mode 100644 index 92c9ce5..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/passwordbox.css +++ /dev/null @@ -1,6 +0,0 @@ -.passwordbox-open { - background: url('images/passwordbox_open.png') no-repeat center center; -} -.passwordbox-close { - background: url('images/passwordbox_close.png') no-repeat center center; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/progressbar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/progressbar.css deleted file mode 100644 index 1acc690..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/progressbar.css +++ /dev/null @@ -1,33 +0,0 @@ -.progressbar { - border-width: 1px; - border-style: solid; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; - overflow: hidden; - position: relative; -} -.progressbar-text { - text-align: center; - position: absolute; -} -.progressbar-value { - position: relative; - overflow: hidden; - width: 0; - -moz-border-radius: 4px 0 0 4px; - -webkit-border-radius: 4px 0 0 4px; - border-radius: 4px 0 0 4px; -} -.progressbar { - border-color: #dfdfdf; -} -.progressbar-text { - color: #404040; - font-size: 14px; -} -.progressbar-value, -.progressbar-value .progressbar-text { - background-color: #eee; - color: #39c; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/propertygrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/propertygrid.css deleted file mode 100644 index 03e222b..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/propertygrid.css +++ /dev/null @@ -1,27 +0,0 @@ -.propertygrid .datagrid-view1 .datagrid-body td { - padding-bottom: 1px; - border-width: 0 1px 0 0; -} -.propertygrid .datagrid-group { - overflow: hidden; - border-width: 0 0 1px 0; - border-style: solid; -} -.propertygrid .datagrid-group span { - font-weight: bold; -} -.propertygrid .datagrid-view1 .datagrid-body td { - border-color: #dfdfdf; -} -.propertygrid .datagrid-view1 .datagrid-group { - border-color: #fafafa; -} -.propertygrid .datagrid-view2 .datagrid-group { - border-color: #dfdfdf; -} -.propertygrid .datagrid-group, -.propertygrid .datagrid-view1 .datagrid-body, -.propertygrid .datagrid-view1 .datagrid-row-over, -.propertygrid .datagrid-view1 .datagrid-row-selected { - background: #fafafa; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/radiobutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/radiobutton.css deleted file mode 100644 index 8e439ee..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/radiobutton.css +++ /dev/null @@ -1,25 +0,0 @@ -.radiobutton { - position: relative; - border: 2px solid #39c; - border-radius: 50%; -} -.radiobutton-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #39c; - border-radius: 50%; - transform: scale(.6); -} -.radiobutton-disabled { - opacity: 0.6; -} -.radiobutton-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/searchbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/searchbox.css deleted file mode 100644 index fc3cb10..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/searchbox.css +++ /dev/null @@ -1,61 +0,0 @@ -.searchbox-button { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.searchbox-button-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.searchbox .l-btn-plain { - border: 0; - padding: 0; - vertical-align: top; - opacity: 0.6; - filter: alpha(opacity=60); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .l-btn-plain:hover { - border: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox a.m-btn-plain-active { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .m-btn-active { - border-width: 0 1px 0 0; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .textbox-button-right { - border-width: 0 0 0 1px; -} -.searchbox .textbox-button-left { - border-width: 0 1px 0 0; -} -.searchbox-button { - background: url('images/searchbox_button.png') no-repeat center center; -} -.searchbox .l-btn-plain { - background: #fafafa; -} -.searchbox .l-btn-plain-disabled, -.searchbox .l-btn-plain-disabled:hover { - opacity: 0.5; - filter: alpha(opacity=50); -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/sidemenu.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/sidemenu.css deleted file mode 100644 index cc6739a..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/sidemenu.css +++ /dev/null @@ -1,72 +0,0 @@ -.sidemenu .tree-hit { - background-image: none; -} -.sidemenu-default-icon { - background-image: none; - width: 0; -} -.sidemenu .accordion .accordion-header, -.sidemenu .accordion .accordion-body { - border-bottom-color: transparent; - background: transparent; -} -.sidemenu .accordion .accordion-header { - color: #404040; -} -.sidemenu .accordion-header .panel-title { - height: 30px; - line-height: 30px; - color: #404040; -} -.sidemenu .accordion-header:hover { - background: #eee; - color: #404040; -} -.sidemenu .tree-node-hover { - background: #eee; - color: #404040; -} -.sidemenu .tree-node-selected { - border-right: 2px solid #39c; - color: #39c; - background: #eee; -} -.sidemenu .tree-node { - height: 40px; -} -.sidemenu .tree-title { - margin: 11px 0; -} -.sidemenu .tree-node-nonleaf { - position: relative; -} -.sidemenu .tree-node-nonleaf::after { - display: inline-block; - content: ''; - position: absolute; - top: 50%; - margin-top: -8px; - background: url('images/accordion_arrows.png') no-repeat 0 0; - width: 16px; - height: 16px; - right: 5px; -} -.sidemenu .tree-node-nonleaf-collapsed::after { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.sidemenu-collapsed .panel-icon { - left: 50%; - margin-left: -8px; -} -.sidemenu-tooltip { - padding: 0; - margin: 0 -12px; - border: 0; -} -.sidemenu-tooltip.tooltip-left { - margin: 0 12px; -} -.sidemenu-tooltip .tooltip-arrow-outer, -.sidemenu-tooltip .tooltip-arrow { - display: none; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/slider.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/slider.css deleted file mode 100644 index 7e4a91c..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/slider.css +++ /dev/null @@ -1,101 +0,0 @@ -.slider-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.slider-h { - height: 22px; -} -.slider-v { - width: 22px; -} -.slider-inner { - position: relative; - height: 6px; - top: 7px; - border-width: 1px; - border-style: solid; - border-radius: 4px; -} -.slider-handle { - position: absolute; - display: block; - outline: none; - width: 20px; - height: 20px; - top: 50%; - margin-top: -10px; - margin-left: -10px; -} -.slider-tip { - position: absolute; - display: inline-block; - line-height: 12px; - font-size: 14px; - white-space: nowrap; - top: -22px; -} -.slider-rule { - position: relative; - top: 15px; -} -.slider-rule span { - position: absolute; - display: inline-block; - font-size: 0; - height: 5px; - border-width: 0 0 0 1px; - border-style: solid; -} -.slider-rulelabel { - position: relative; - top: 20px; -} -.slider-rulelabel span { - position: absolute; - display: inline-block; - font-size: 14px; -} -.slider-v .slider-inner { - width: 6px; - left: 7px; - top: 0; - float: left; -} -.slider-v .slider-handle { - left: 50%; - margin-top: -10px; -} -.slider-v .slider-tip { - left: -10px; - margin-top: -6px; -} -.slider-v .slider-rule { - float: left; - top: 0; - left: 16px; -} -.slider-v .slider-rule span { - width: 5px; - height: 'auto'; - border-left: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.slider-v .slider-rulelabel { - float: left; - top: 0; - left: 23px; -} -.slider-handle { - background: url('images/slider_handle.png') no-repeat; -} -.slider-inner { - border-color: #dfdfdf; - background: #fafafa; -} -.slider-rule span { - border-color: #dfdfdf; -} -.slider-rulelabel span { - color: #404040; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/spinner.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/spinner.css deleted file mode 100644 index f81643c..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/spinner.css +++ /dev/null @@ -1,114 +0,0 @@ -.spinner-arrow { - display: inline-block; - overflow: hidden; - vertical-align: top; - margin: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - width: 18px; -} -.spinner-arrow.spinner-button-top, -.spinner-arrow.spinner-button-bottom, -.spinner-arrow.spinner-button-left, -.spinner-arrow.spinner-button-right { - background-color: #fafafa; -} -.spinner-arrow-up, -.spinner-arrow-down { - opacity: 0.6; - filter: alpha(opacity=60); - display: block; - font-size: 1px; - width: 18px; - height: 10px; - width: 100%; - height: 50%; - color: #404040; - outline-style: none; - background-color: #fafafa; -} -.spinner-button-updown { - opacity: 1.0; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - position: relative; - display: block; - width: 100%; - height: 50%; -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down { - opacity: 1.0; - filter: alpha(opacity=100); - cursor: pointer; - width: 16px; - height: 16px; - top: 50%; - left: 50%; - margin-top: -8px; - margin-left: -8px; - position: absolute; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-button-updown .spinner-button-top:hover, -.spinner-button-updown .spinner-button-bottom:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down, -.spinner-button-updown .spinner-arrow-up:hover, -.spinner-button-updown .spinner-arrow-down:hover { - background-color: transparent; -} -.spinner-arrow-hover { - background-color: #eee; - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-top:hover, -.spinner-button-bottom:hover, -.spinner-button-left:hover, -.spinner-button-right:hover, -.spinner-arrow-up:hover, -.spinner-arrow-down:hover { - opacity: 1.0; - filter: alpha(opacity=100); - background-color: #eee; -} -.textbox-disabled .spinner-button-top:hover, -.textbox-disabled .spinner-button-bottom:hover, -.textbox-disabled .spinner-button-left:hover, -.textbox-disabled .spinner-button-right:hover, -.textbox-icon-disabled .spinner-arrow-up:hover, -.textbox-icon-disabled .spinner-arrow-down:hover { - opacity: 0.6; - filter: alpha(opacity=60); - background-color: #fafafa; - cursor: default; -} -.spinner .textbox-icon-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-arrow-up { - background: url('images/spinner_arrows.png') no-repeat 1px center; - background-color: #fafafa; -} -.spinner-arrow-down { - background: url('images/spinner_arrows.png') no-repeat -15px center; - background-color: #fafafa; -} -.spinner-button-up { - background: url('images/spinner_arrows.png') no-repeat -32px center; -} -.spinner-button-down { - background: url('images/spinner_arrows.png') no-repeat -48px center; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/splitbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/splitbutton.css deleted file mode 100644 index 2ad86f7..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/splitbutton.css +++ /dev/null @@ -1,12 +0,0 @@ -.s-btn:hover .m-btn-line, -.s-btn-active .m-btn-line, -.s-btn-plain-active .m-btn-line { - display: inline-block; -} -.l-btn:hover .s-btn-downarrow, -.s-btn-active .s-btn-downarrow, -.s-btn-plain-active .s-btn-downarrow { - border-style: solid; - border-color: #ccc; - border-width: 0 0 0 1px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/switchbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/switchbutton.css deleted file mode 100644 index 701657a..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/switchbutton.css +++ /dev/null @@ -1,77 +0,0 @@ -.switchbutton { - text-decoration: none; - display: inline-block; - overflow: hidden; - vertical-align: middle; - margin: 0; - padding: 0; - cursor: pointer; - background: #dfdfdf; - border: 1px solid #dfdfdf; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.switchbutton-inner { - display: inline-block; - overflow: hidden; - position: relative; - top: -1px; - left: -1px; -} -.switchbutton-on, -.switchbutton-off, -.switchbutton-handle { - display: inline-block; - text-align: center; - height: 100%; - float: left; - font-size: 14px; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.switchbutton-on { - background: #eee; - color: #39c; -} -.switchbutton-off { - background-color: #ffffff; - color: #404040; -} -.switchbutton-on, -.switchbutton-reversed .switchbutton-off { - -moz-border-radius: 4px 0 0 4px; - -webkit-border-radius: 4px 0 0 4px; - border-radius: 4px 0 0 4px; -} -.switchbutton-off, -.switchbutton-reversed .switchbutton-on { - -moz-border-radius: 0 4px 4px 0; - -webkit-border-radius: 0 4px 4px 0; - border-radius: 0 4px 4px 0; -} -.switchbutton-handle { - position: absolute; - top: 0; - left: 50%; - background-color: #ffffff; - color: #404040; - border: 1px solid #dfdfdf; - -moz-box-shadow: 0 0 3px 0 #dfdfdf; - -webkit-box-shadow: 0 0 3px 0 #dfdfdf; - box-shadow: 0 0 3px 0 #dfdfdf; -} -.switchbutton-value { - position: absolute; - top: 0; - left: -5000px; -} -.switchbutton-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.switchbutton-disabled, -.switchbutton-readonly { - cursor: default; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tabs.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tabs.css deleted file mode 100644 index e438b0b..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tabs.css +++ /dev/null @@ -1,377 +0,0 @@ -.tabs-container { - overflow: hidden; -} -.tabs-header { - border-width: 1px; - border-style: solid; - border-bottom-width: 0; - position: relative; - padding: 0; - padding-top: 2px; - overflow: hidden; -} -.tabs-scroller-left, -.tabs-scroller-right { - position: absolute; - top: auto; - bottom: 0; - width: 18px; - font-size: 1px; - display: none; - cursor: pointer; - border-width: 1px; - border-style: solid; -} -.tabs-scroller-left { - left: 0; -} -.tabs-scroller-right { - right: 0; -} -.tabs-tool { - position: absolute; - bottom: 0; - padding: 1px; - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.tabs-header-plain .tabs-tool { - padding: 0 1px; -} -.tabs-wrap { - position: relative; - left: 0; - overflow: hidden; - width: 100%; - margin: 0; - padding: 0; -} -.tabs-scrolling { - margin-left: 18px; - margin-right: 18px; -} -.tabs-disabled { - opacity: 0.3; - filter: alpha(opacity=30); -} -.tabs { - list-style-type: none; - height: 26px; - margin: 0px; - padding: 0px; - padding-left: 4px; - width: 50000px; - border-style: solid; - border-width: 0 0 1px 0; -} -.tabs li { - float: left; - display: inline-block; - margin: 0 4px -1px 0; - padding: 0; - position: relative; - border: 0; -} -.tabs li a.tabs-inner { - display: inline-block; - text-decoration: none; - margin: 0; - padding: 0 10px; - height: 25px; - line-height: 25px; - text-align: center; - white-space: nowrap; - border-width: 1px; - border-style: solid; - -moz-border-radius: 4px 4px 0 0; - -webkit-border-radius: 4px 4px 0 0; - border-radius: 4px 4px 0 0; -} -.tabs li.tabs-selected a.tabs-inner { - font-weight: bold; - outline: none; -} -.tabs li.tabs-selected a:hover.tabs-inner { - cursor: default; - pointer: default; -} -.tabs li a.tabs-close, -.tabs-p-tool { - position: absolute; - font-size: 1px; - display: block; - height: 12px; - padding: 0; - top: 50%; - margin-top: -6px; - overflow: hidden; -} -.tabs li a.tabs-close { - width: 12px; - right: 5px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs-p-tool { - right: 16px; -} -.tabs-p-tool a { - display: inline-block; - font-size: 1px; - width: 12px; - height: 12px; - margin: 0; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs li a:hover.tabs-close, -.tabs-p-tool a:hover { - opacity: 1; - filter: alpha(opacity=100); - cursor: hand; - cursor: pointer; -} -.tabs-with-icon { - padding-left: 18px; -} -.tabs-icon { - position: absolute; - width: 16px; - height: 16px; - left: 10px; - top: 50%; - margin-top: -8px; -} -.tabs-title { - font-size: 14px; -} -.tabs-closable { - padding-right: 8px; -} -.tabs-panels { - margin: 0px; - padding: 0px; - border-width: 1px; - border-style: solid; - border-top-width: 0; - overflow: hidden; -} -.tabs-header-bottom { - border-width: 0 1px 1px 1px; - padding: 0 0 2px 0; -} -.tabs-header-bottom .tabs { - border-width: 1px 0 0 0; -} -.tabs-header-bottom .tabs li { - margin: -1px 4px 0 0; -} -.tabs-header-bottom .tabs li a.tabs-inner { - -moz-border-radius: 0 0 4px 4px; - -webkit-border-radius: 0 0 4px 4px; - border-radius: 0 0 4px 4px; -} -.tabs-header-bottom .tabs-tool { - top: 0; -} -.tabs-header-bottom .tabs-scroller-left, -.tabs-header-bottom .tabs-scroller-right { - top: 0; - bottom: auto; -} -.tabs-panels-top { - border-width: 1px 1px 0 1px; -} -.tabs-header-left { - float: left; - border-width: 1px 0 1px 1px; - padding: 0; -} -.tabs-header-right { - float: right; - border-width: 1px 1px 1px 0; - padding: 0; -} -.tabs-header-left .tabs-wrap, -.tabs-header-right .tabs-wrap { - height: 100%; -} -.tabs-header-left .tabs { - height: 100%; - padding: 4px 0 0 2px; - border-width: 0 1px 0 0; -} -.tabs-header-right .tabs { - height: 100%; - padding: 4px 2px 0 0; - border-width: 0 0 0 1px; -} -.tabs-header-left .tabs li, -.tabs-header-right .tabs li { - display: block; - width: 100%; - position: relative; -} -.tabs-header-left .tabs li { - left: auto; - right: 0; - margin: 0 -1px 4px 0; - float: right; -} -.tabs-header-right .tabs li { - left: 0; - right: auto; - margin: 0 0 4px -1px; - float: left; -} -.tabs-justified li a.tabs-inner { - padding-left: 0; - padding-right: 0; -} -.tabs-header-left .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 4px 0 0 4px; - -webkit-border-radius: 4px 0 0 4px; - border-radius: 4px 0 0 4px; -} -.tabs-header-right .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 0 4px 4px 0; - -webkit-border-radius: 0 4px 4px 0; - border-radius: 0 4px 4px 0; -} -.tabs-panels-right { - float: right; - border-width: 1px 1px 1px 0; -} -.tabs-panels-left { - float: left; - border-width: 1px 0 1px 1px; -} -.tabs-header-noborder, -.tabs-panels-noborder { - border: 0px; -} -.tabs-header-plain { - border: 0px; - background: transparent; -} -.tabs-pill { - padding-bottom: 3px; -} -.tabs-header-bottom .tabs-pill { - padding-top: 3px; - padding-bottom: 0; -} -.tabs-header-left .tabs-pill { - padding-right: 3px; -} -.tabs-header-right .tabs-pill { - padding-left: 3px; -} -.tabs-header .tabs-pill li a.tabs-inner { - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.tabs-header-narrow, -.tabs-header-narrow .tabs-narrow { - padding: 0; -} -.tabs-narrow li, -.tabs-header-bottom .tabs-narrow li { - margin-left: 0; - margin-right: -1px; -} -.tabs-narrow li.tabs-last, -.tabs-header-bottom .tabs-narrow li.tabs-last { - margin-right: 0; -} -.tabs-header-left .tabs-narrow, -.tabs-header-right .tabs-narrow { - padding-top: 0; -} -.tabs-header-left .tabs-narrow li { - margin-bottom: -1px; - margin-right: -1px; -} -.tabs-header-left .tabs-narrow li.tabs-last, -.tabs-header-right .tabs-narrow li.tabs-last { - margin-bottom: 0; -} -.tabs-header-right .tabs-narrow li { - margin-bottom: -1px; - margin-left: -1px; -} -.tabs-scroller-left { - background: #fafafa url('images/tabs_icons.png') no-repeat 1px center; -} -.tabs-scroller-right { - background: #fafafa url('images/tabs_icons.png') no-repeat -15px center; -} -.tabs li a.tabs-close { - background: url('images/tabs_icons.png') no-repeat -34px center; -} -.tabs li a.tabs-inner:hover { - background: #eee; - color: #404040; - filter: none; -} -.tabs li.tabs-selected a.tabs-inner { - background-color: #ffffff; - color: #404040; -} -.tabs li a.tabs-inner { - color: #404040; - background-color: #fafafa; -} -.tabs-header, -.tabs-tool { - background-color: #fafafa; -} -.tabs-header-plain { - background: transparent; -} -.tabs-header, -.tabs-scroller-left, -.tabs-scroller-right, -.tabs-tool, -.tabs, -.tabs-panels, -.tabs li a.tabs-inner, -.tabs li.tabs-selected a.tabs-inner, -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, -.tabs-header-left .tabs li.tabs-selected a.tabs-inner, -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-color: #dfdfdf; -} -.tabs-p-tool a:hover, -.tabs li a:hover.tabs-close, -.tabs-scroller-over { - background-color: #eee; -} -.tabs li.tabs-selected a.tabs-inner { - border-bottom: 1px solid #ffffff; -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - border-top: 1px solid #ffffff; -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - border-right: 1px solid #ffffff; -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-left: 1px solid #ffffff; -} -.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { - background: #eee; - color: #39c; - filter: none; - border-color: #dfdfdf; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tagbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tagbox.css deleted file mode 100644 index 16ff414..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tagbox.css +++ /dev/null @@ -1,44 +0,0 @@ -.tagbox { - cursor: text; -} -.tagbox .textbox-text { - float: left; -} -.tagbox-label { - position: relative; - display: block; - margin: 4px 0 0 4px; - padding: 0 20px 0 4px; - float: left; - vertical-align: top; - text-decoration: none; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; - background: #eee; - color: #404040; -} -.tagbox-remove { - background: url('images/tagbox_icons.png') no-repeat -16px center; - position: absolute; - display: block; - width: 16px; - height: 16px; - right: 2px; - top: 50%; - margin-top: -8px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tagbox-remove:hover { - opacity: 1; - filter: alpha(opacity=100); -} -.textbox-disabled .tagbox-label { - cursor: default; -} -.textbox-disabled .tagbox-remove:hover { - cursor: default; - opacity: 0.6; - filter: alpha(opacity=60); -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/textbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/textbox.css deleted file mode 100644 index 60f5ce2..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/textbox.css +++ /dev/null @@ -1,144 +0,0 @@ -.textbox { - position: relative; - border: 1px solid #dfdfdf; - background-color: #fff; - vertical-align: middle; - display: inline-block; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.textbox .textbox-text { - font-size: 14px; - border: 0; - margin: 0; - padding: 0 4px; - white-space: normal; - vertical-align: top; - outline-style: none; - resize: none; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; - height: 28px; - line-height: 28px; -} -.textbox textarea.textbox-text { - line-height: normal; -} -.textbox .textbox-text::-ms-clear, -.textbox .textbox-text::-ms-reveal { - display: none; -} -.textbox textarea.textbox-text { - white-space: pre-wrap; -} -.textbox .textbox-prompt { - font-size: 14px; - color: #aaa; -} -.textbox .textbox-bgicon { - background-position: 3px center; - padding-left: 21px; -} -.textbox .textbox-button, -.textbox .textbox-button:hover { - position: absolute; - top: 0; - padding: 0; - vertical-align: top; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.textbox .textbox-button-right, -.textbox .textbox-button-right:hover { - right: 0; - border-width: 0 0 0 1px; -} -.textbox .textbox-button-left, -.textbox .textbox-button-left:hover { - left: 0; - border-width: 0 1px 0 0; -} -.textbox .textbox-button-top, -.textbox .textbox-button-top:hover { - left: 0; - border-width: 0 0 1px 0; -} -.textbox .textbox-button-bottom, -.textbox .textbox-button-bottom:hover { - top: auto; - bottom: 0; - left: 0; - border-width: 1px 0 0 0; -} -.textbox-addon { - position: absolute; - top: 0; -} -.textbox-label { - display: inline-block; - width: 80px; - height: 30px; - line-height: 30px; - vertical-align: middle; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - margin: 0; - padding-right: 5px; -} -.textbox-label-after { - padding-left: 5px; - padding-right: 0; -} -.textbox-label-top { - display: block; - width: auto; - padding: 0; -} -.textbox-disabled, -.textbox-label-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-icon { - display: inline-block; - width: 18px; - height: 20px; - overflow: hidden; - vertical-align: top; - background-position: center center; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); - text-decoration: none; - outline-style: none; -} -.textbox-icon-disabled, -.textbox-icon-readonly { - cursor: default; -} -.textbox-icon:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.textbox-icon-disabled:hover { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-focused { - border-color: #c6c6c6; - -moz-box-shadow: 0 0 3px 0 #dfdfdf; - -webkit-box-shadow: 0 0 3px 0 #dfdfdf; - box-shadow: 0 0 3px 0 #dfdfdf; -} -.textbox-invalid { - border-color: #ffa8a8; - background-color: #fff; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tooltip.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tooltip.css deleted file mode 100644 index 8f1055d..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tooltip.css +++ /dev/null @@ -1,103 +0,0 @@ -.tooltip { - position: absolute; - display: none; - z-index: 9900000; - outline: none; - opacity: 1; - filter: alpha(opacity=100); - padding: 5px; - border-width: 1px; - border-style: solid; - border-radius: 5px; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.tooltip-content { - font-size: 14px; -} -.tooltip-arrow-outer, -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - line-height: 0; - font-size: 0; - border-style: solid; - border-width: 6px; - border-color: transparent; - _border-color: tomato; - _filter: chroma(color=tomato); -} -.tooltip-arrow { - display: none \9; -} -.tooltip-right .tooltip-arrow-outer { - left: 0; - top: 50%; - margin: -6px 0 0 -13px; -} -.tooltip-right .tooltip-arrow { - left: 0; - top: 50%; - margin: -6px 0 0 -12px; -} -.tooltip-left .tooltip-arrow-outer { - right: 0; - top: 50%; - margin: -6px -13px 0 0; -} -.tooltip-left .tooltip-arrow { - right: 0; - top: 50%; - margin: -6px -12px 0 0; -} -.tooltip-top .tooltip-arrow-outer { - bottom: 0; - left: 50%; - margin: 0 0 -13px -6px; -} -.tooltip-top .tooltip-arrow { - bottom: 0; - left: 50%; - margin: 0 0 -12px -6px; -} -.tooltip-bottom .tooltip-arrow-outer { - top: 0; - left: 50%; - margin: -13px 0 0 -6px; -} -.tooltip-bottom .tooltip-arrow { - top: 0; - left: 50%; - margin: -12px 0 0 -6px; -} -.tooltip { - background-color: #ffffff; - border-color: #dfdfdf; - color: #404040; -} -.tooltip-right .tooltip-arrow-outer { - border-right-color: #dfdfdf; -} -.tooltip-right .tooltip-arrow { - border-right-color: #ffffff; -} -.tooltip-left .tooltip-arrow-outer { - border-left-color: #dfdfdf; -} -.tooltip-left .tooltip-arrow { - border-left-color: #ffffff; -} -.tooltip-top .tooltip-arrow-outer { - border-top-color: #dfdfdf; -} -.tooltip-top .tooltip-arrow { - border-top-color: #ffffff; -} -.tooltip-bottom .tooltip-arrow-outer { - border-bottom-color: #dfdfdf; -} -.tooltip-bottom .tooltip-arrow { - border-bottom-color: #ffffff; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tree.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tree.css deleted file mode 100644 index 51d1ee0..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tree.css +++ /dev/null @@ -1,164 +0,0 @@ -.tree { - margin: 0; - padding: 0; - list-style-type: none; -} -.tree li { - white-space: nowrap; -} -.tree li ul { - list-style-type: none; - margin: 0; - padding: 0; -} -.tree-node { - height: 26px; - white-space: nowrap; - cursor: pointer; -} -.tree-hit { - cursor: pointer; -} -.tree-expanded, -.tree-collapsed, -.tree-folder, -.tree-file, -.tree-checkbox, -.tree-indent { - display: inline-block; - width: 16px; - height: 18px; - margin: 4px 0; - vertical-align: middle; - overflow: hidden; -} -.tree-expanded { - background: url('images/tree_icons.png') no-repeat -18px 0px; -} -.tree-expanded-hover { - background: url('images/tree_icons.png') no-repeat -50px 0px; -} -.tree-collapsed { - background: url('images/tree_icons.png') no-repeat 0px 0px; -} -.tree-collapsed-hover { - background: url('images/tree_icons.png') no-repeat -32px 0px; -} -.tree-lines .tree-expanded, -.tree-lines .tree-root-first .tree-expanded { - background: url('images/tree_icons.png') no-repeat -144px 0; -} -.tree-lines .tree-collapsed, -.tree-lines .tree-root-first .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -128px 0; -} -.tree-lines .tree-node-last .tree-expanded, -.tree-lines .tree-root-one .tree-expanded { - background: url('images/tree_icons.png') no-repeat -80px 0; -} -.tree-lines .tree-node-last .tree-collapsed, -.tree-lines .tree-root-one .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -64px 0; -} -.tree-line { - background: url('images/tree_icons.png') no-repeat -176px 0; -} -.tree-join { - background: url('images/tree_icons.png') no-repeat -192px 0; -} -.tree-joinbottom { - background: url('images/tree_icons.png') no-repeat -160px 0; -} -.tree-folder { - background: url('images/tree_icons.png') no-repeat -208px 0; -} -.tree-folder-open { - background: url('images/tree_icons.png') no-repeat -224px 0; -} -.tree-file { - background: url('images/tree_icons.png') no-repeat -240px 0; -} -.tree-loading { - background: url('images/loading.gif') no-repeat center center; -} -.tree-checkbox0 { - background: url('images/tree_icons.png') no-repeat -208px -18px; -} -.tree-checkbox1 { - background: url('images/tree_icons.png') no-repeat -224px -18px; -} -.tree-checkbox2 { - background: url('images/tree_icons.png') no-repeat -240px -18px; -} -.tree-title { - font-size: 14px; - display: inline-block; - text-decoration: none; - vertical-align: middle; - white-space: nowrap; - padding: 0 2px; - margin: 4px 0; - height: 18px; - line-height: 18px; -} -.tree-node-proxy { - font-size: 14px; - line-height: 20px; - padding: 0 2px 0 20px; - border-width: 1px; - border-style: solid; - z-index: 9900000; -} -.tree-dnd-icon { - display: inline-block; - position: absolute; - width: 16px; - height: 18px; - left: 2px; - top: 50%; - margin-top: -9px; -} -.tree-dnd-yes { - background: url('images/tree_icons.png') no-repeat -256px 0; -} -.tree-dnd-no { - background: url('images/tree_icons.png') no-repeat -256px -18px; -} -.tree-node-top { - border-top: 1px dotted red; -} -.tree-node-bottom { - border-bottom: 1px dotted red; -} -.tree-node-append .tree-title { - border: 1px dotted red; -} -.tree-editor { - border: 1px solid #dfdfdf; - font-size: 14px; - height: 26px; - line-height: 26px; - padding: 0 4px; - margin: 0; - width: 80px; - outline-style: none; - vertical-align: middle; - position: absolute; - top: 0; -} -.tree-node-proxy { - background-color: #ffffff; - color: #404040; - border-color: #dfdfdf; -} -.tree-node-hover { - background: #eee; - color: #404040; -} -.tree-node-selected { - background: #eee; - color: #39c; -} -.tree-node-hidden { - display: none; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/validatebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/validatebox.css deleted file mode 100644 index f03f26b..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/validatebox.css +++ /dev/null @@ -1,13 +0,0 @@ -.inputbox { - display: inline-block; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; -} -.validatebox-invalid { - border-color: #ffa8a8; - background-color: #fff; - color: #404040; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/window.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/window.css deleted file mode 100644 index 542f071..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/window.css +++ /dev/null @@ -1,182 +0,0 @@ -.window { - overflow: hidden; - padding: 5px; - border-width: 1px; - border-style: solid; -} -.window .window-header { - background: transparent; - padding: 0px 0px 6px 0px; -} -.window .window-body { - border-width: 1px; - border-style: solid; - border-top-width: 0px; -} -.window .window-body-noheader { - border-top-width: 1px; -} -.window .panel-body-nobottom { - border-bottom-width: 0; -} -.window .window-header .panel-icon, -.window .window-header .panel-tool { - top: 50%; - margin-top: -11px; -} -.window .window-header .panel-icon { - left: 1px; -} -.window .window-header .panel-tool { - right: 1px; -} -.window .window-header .panel-with-icon { - padding-left: 18px; -} -.window-proxy { - position: absolute; - overflow: hidden; -} -.window-proxy-mask { - position: absolute; - filter: alpha(opacity=5); - opacity: 0.05; -} -.window-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - filter: alpha(opacity=40); - opacity: 0.40; - font-size: 1px; - overflow: hidden; -} -.window, -.window-shadow { - position: absolute; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.window-shadow { - background: #ccc; - -moz-box-shadow: 2px 2px 3px #cccccc; - -webkit-box-shadow: 2px 2px 3px #cccccc; - box-shadow: 2px 2px 3px #cccccc; - filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); -} -.window, -.window .window-body { - border-color: #dfdfdf; -} -.window { - background-color: #fafafa; -} -.window-proxy { - border: 1px dashed #dfdfdf; -} -.window-proxy-mask, -.window-mask { - background: #eee; -} -.window .panel-footer { - border: 1px solid #dfdfdf; - position: relative; - top: -1px; -} -.window-thinborder { - padding: 0; -} -.window-thinborder .window-header { - padding: 5px 5px 6px 5px; -} -.window-thinborder .window-body { - border-width: 0px; -} -.window-thinborder .window-footer { - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} -.window-thinborder .window-header .panel-icon, -.window-thinborder .window-header .panel-tool { - margin-top: -9px; - margin-left: 5px; - margin-right: 5px; -} -.window-noborder { - border: 0; -} -.window.panel-hleft .window-header { - padding: 0 6px 0 0; -} -.window.panel-hright .window-header { - padding: 0 0 0 6px; -} -.window.panel-hleft>.panel-header .panel-title { - top: auto; - left: 16px; -} -.window.panel-hright>.panel-header .panel-title { - top: auto; - right: 16px; -} -.window.panel-hleft>.panel-header .panel-title-up, -.window.panel-hright>.panel-header .panel-title-up { - bottom: 0; -} -.window.panel-hleft .window-body { - border-width: 1px 1px 1px 0; -} -.window.panel-hright .window-body { - border-width: 1px 0 1px 1px; -} -.window.panel-hleft .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: 0; -} -.window.panel-hright .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: auto; - right: 1px; -} -.window.panel-hleft .window-header .panel-tool, -.window.panel-hright .window-header .panel-tool { - margin-top: 0; - top: auto; - bottom: 1px; - right: auto; - margin-right: 0; - left: 50%; - margin-left: -11px; -} -.window.panel-hright .window-header .panel-tool { - left: auto; - right: 1px; -} -.window-thinborder.panel-hleft .window-header { - padding: 5px 6px 5px 5px; -} -.window-thinborder.panel-hright .window-header { - padding: 5px 5px 5px 6px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title { - left: 21px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title-up, -.window-thinborder.panel-hright>.panel-header .panel-title-up { - bottom: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-icon, -.window-thinborder.panel-hright .window-header .panel-icon { - margin-top: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-tool, -.window-thinborder.panel-hright .window-header .panel-tool { - left: 16px; - bottom: 5px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/accordion.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/accordion.css deleted file mode 100644 index 51d0c70..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/accordion.css +++ /dev/null @@ -1,89 +0,0 @@ -.accordion { - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.accordion .accordion-header { - border-width: 0 0 1px; - cursor: pointer; -} -.accordion .accordion-body { - border-width: 0 0 1px; -} -.accordion-noborder { - border-width: 0; -} -.accordion-noborder .accordion-header { - border-width: 0 0 1px; -} -.accordion-noborder .accordion-body { - border-width: 0 0 1px; -} -.accordion-collapse { - background: url('images/accordion_arrows.png') no-repeat 0 0; -} -.accordion-expand { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.accordion { - background: #ffffff; - border-color: #ddd; -} -.accordion .accordion-header { - background: #f5f5f5; - filter: none; -} -.accordion .accordion-header-selected { - background: #00bbee; -} -.accordion .accordion-header-selected .panel-title { - color: #fff; -} -.accordion .panel-last > .accordion-header { - border-bottom-color: #f5f5f5; -} -.accordion .panel-last > .accordion-body { - border-bottom-color: #ffffff; -} -.accordion .panel-last > .accordion-header-selected, -.accordion .panel-last > .accordion-header-border { - border-bottom-color: #ddd; -} -.accordion> .panel-hleft { - float: left; -} -.accordion> .panel-hleft>.panel-header { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft> .panel-body { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft.panel-last > .accordion-header { - border-right-color: #f5f5f5; -} -.accordion> .panel-hleft.panel-last > .accordion-body { - border-right-color: #ffffff; -} -.accordion> .panel-hleft.panel-last > .accordion-header-selected, -.accordion> .panel-hleft.panel-last > .accordion-header-border { - border-right-color: #ddd; -} -.accordion> .panel-hright { - float: right; -} -.accordion> .panel-hright>.panel-header { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright> .panel-body { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright.panel-last > .accordion-header { - border-left-color: #f5f5f5; -} -.accordion> .panel-hright.panel-last > .accordion-body { - border-left-color: #ffffff; -} -.accordion> .panel-hright.panel-last > .accordion-header-selected, -.accordion> .panel-hright.panel-last > .accordion-header-border { - border-left-color: #ddd; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/calendar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/calendar.css deleted file mode 100644 index cd20627..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/calendar.css +++ /dev/null @@ -1,203 +0,0 @@ -.calendar { - border-width: 1px; - border-style: solid; - padding: 1px; - overflow: hidden; -} -.calendar table { - table-layout: fixed; - border-collapse: separate; - font-size: 14px; - width: 100%; - height: 100%; -} -.calendar table td, -.calendar table th { - font-size: 14px; -} -.calendar-noborder { - border: 0; -} -.calendar-header { - position: relative; - height: 28px; -} -.calendar-title { - text-align: center; - height: 28px; -} -.calendar-title span { - position: relative; - display: inline-block; - top: 0px; - padding: 0 3px; - height: 28px; - line-height: 28px; - font-size: 14px; - cursor: pointer; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.calendar-prevmonth, -.calendar-nextmonth, -.calendar-prevyear, -.calendar-nextyear { - position: absolute; - top: 50%; - margin-top: -8px; - width: 16px; - height: 16px; - cursor: pointer; - font-size: 1px; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.calendar-prevmonth { - left: 20px; - background: url('images/calendar_arrows.png') no-repeat -16px 0; -} -.calendar-nextmonth { - right: 20px; - background: url('images/calendar_arrows.png') no-repeat -32px 0; -} -.calendar-prevyear { - left: 3px; - background: url('images/calendar_arrows.png') no-repeat 0px 0; -} -.calendar-nextyear { - right: 3px; - background: url('images/calendar_arrows.png') no-repeat -48px 0; -} -.calendar-body { - position: relative; -} -.calendar-body th, -.calendar-body td { - text-align: center; -} -.calendar-day { - border: 0; - padding: 1px; - cursor: pointer; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.calendar-other-month { - opacity: 0.3; - filter: alpha(opacity=30); -} -.calendar-disabled { - opacity: 0.6; - filter: alpha(opacity=60); - cursor: default; -} -.calendar-menu { - position: absolute; - top: 0; - left: 0; - width: 180px; - height: 150px; - padding: 5px; - font-size: 14px; - display: none; - overflow: hidden; -} -.calendar-menu-year-inner { - text-align: center; - padding-bottom: 5px; -} -.calendar-menu-year { - width: 80px; - line-height: 26px; - text-align: center; - border-width: 1px; - border-style: solid; - outline-style: none; - resize: none; - margin: 0; - padding: 0; - font-weight: bold; - font-size: 14px; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.calendar-menu-prev, -.calendar-menu-next { - display: inline-block; - width: 25px; - height: 28px; - vertical-align: top; - cursor: pointer; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.calendar-menu-prev { - margin-right: 10px; - background: url('images/calendar_arrows.png') no-repeat 5px center; -} -.calendar-menu-next { - margin-left: 10px; - background: url('images/calendar_arrows.png') no-repeat -44px center; -} -.calendar-menu-month { - text-align: center; - cursor: pointer; - font-weight: bold; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.calendar-body th, -.calendar-menu-month { - color: #8d8d8d; -} -.calendar-day { - color: #404040; -} -.calendar-sunday { - color: #CC2222; -} -.calendar-saturday { - color: #00ee00; -} -.calendar-today { - color: #0000ff; -} -.calendar-menu-year { - border-color: #ddd; -} -.calendar { - border-color: #ddd; -} -.calendar-header { - background: #f5f5f5; -} -.calendar-body, -.calendar-menu { - background: #ffffff; -} -.calendar-body th { - background: #fafafa; - padding: 4px 0; -} -.calendar-hover, -.calendar-nav-hover, -.calendar-menu-hover { - background-color: #eee; - color: #404040; -} -.calendar-hover { - border: 1px solid #ccc; - padding: 0; -} -.calendar-selected { - background-color: #00bbee; - color: #fff; - border: 1px solid #00bbee; - padding: 0; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/checkbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/checkbox.css deleted file mode 100644 index 5180d43..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/checkbox.css +++ /dev/null @@ -1,31 +0,0 @@ -.checkbox { - position: relative; - border: 2px solid #00bbee; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.checkbox-checked { - border: 0; - background: #00bbee; -} -.checkbox-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; -} -.checkbox path { - stroke-width: 2px; -} -.checkbox-disabled { - opacity: 0.6; -} -.checkbox-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/combo.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/combo.css deleted file mode 100644 index 622d7c2..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/combo.css +++ /dev/null @@ -1,35 +0,0 @@ -.combo-arrow { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.combo-arrow-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.combo-panel { - overflow: auto; -} -.combo-arrow { - background: url('images/combo_arrow.png') no-repeat center center; -} -.combo-panel { - background-color: #ffffff; -} -.combo-arrow { - background-color: #f5f5f5; -} -.combo-arrow-hover { - background-color: #eee; -} -.combo-arrow:hover { - background-color: #eee; -} -.combo .textbox-icon-disabled:hover { - cursor: default; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/combobox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/combobox.css deleted file mode 100644 index 619efd4..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/combobox.css +++ /dev/null @@ -1,40 +0,0 @@ -.combobox-item, -.combobox-group, -.combobox-stick { - font-size: 14px; - padding: 6px 4px; - line-height: 20px; -} -.combobox-item-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.combobox-gitem { - padding-left: 10px; -} -.combobox-group, -.combobox-stick { - font-weight: bold; -} -.combobox-stick { - position: absolute; - top: 1px; - left: 1px; - right: 1px; - background: inherit; -} -.combobox-item-hover { - background-color: #eee; - color: #404040; -} -.combobox-item-selected { - background-color: #00bbee; - color: #fff; -} -.combobox-icon { - display: inline-block; - width: 16px; - height: 16px; - vertical-align: middle; - margin-right: 2px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/datagrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/datagrid.css deleted file mode 100644 index bbc719a..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/datagrid.css +++ /dev/null @@ -1,285 +0,0 @@ -.datagrid .panel-body { - overflow: hidden; - position: relative; -} -.datagrid-view { - position: relative; - overflow: hidden; -} -.datagrid-view1, -.datagrid-view2 { - position: absolute; - overflow: hidden; - top: 0; -} -.datagrid-view1 { - left: 0; -} -.datagrid-view2 { - right: 0; -} -.datagrid-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0.3; - filter: alpha(opacity=30); - display: none; -} -.datagrid-mask-msg { - position: absolute; - top: 50%; - margin-top: -20px; - padding: 10px 5px 10px 30px; - width: auto; - height: 16px; - border-width: 2px; - border-style: solid; - display: none; -} -.datagrid-empty { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 25px; - line-height: 25px; - text-align: center; -} -.datagrid-sort-icon { - padding: 0; - display: none; -} -.datagrid-toolbar { - height: auto; - padding: 1px 2px; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-btn-separator { - float: left; - height: 24px; - border-left: 1px solid #ddd; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.datagrid .datagrid-pager { - display: block; - margin: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.datagrid .datagrid-pager-top { - border-width: 0 0 1px 0; -} -.datagrid-header { - overflow: hidden; - cursor: default; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-header-inner { - float: left; - width: 10000px; -} -.datagrid-header-row, -.datagrid-row { - height: 32px; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-width: 0 1px 1px 0; - border-style: dotted; - margin: 0; - padding: 0; -} -.datagrid-cell, -.datagrid-cell-group, -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - margin: 0; - padding: 0 4px; - white-space: nowrap; - word-wrap: normal; - overflow: hidden; - height: 18px; - line-height: 18px; - font-size: 14px; -} -.datagrid-header .datagrid-cell { - height: auto; -} -.datagrid-header .datagrid-cell span { - font-size: 14px; -} -.datagrid-cell-group { - text-align: center; - text-overflow: ellipsis; -} -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - width: 30px; - text-align: center; - margin: 0; - padding: 0; -} -.datagrid-body { - margin: 0; - padding: 0; - overflow: auto; - zoom: 1; -} -.datagrid-view1 .datagrid-body-inner { - padding-bottom: 20px; -} -.datagrid-view1 .datagrid-body { - overflow: hidden; -} -.datagrid-footer { - overflow: hidden; -} -.datagrid-footer-inner { - border-width: 1px 0 0 0; - border-style: solid; - width: 10000px; - float: left; -} -.datagrid-row-editing .datagrid-cell { - height: auto; -} -.datagrid-header-check, -.datagrid-cell-check { - padding: 0; - width: 27px; - height: 18px; - font-size: 1px; - text-align: center; - overflow: hidden; -} -.datagrid-header-check input, -.datagrid-cell-check input { - margin: 0; - padding: 0; - width: 15px; - height: 18px; -} -.datagrid-resize-proxy { - position: absolute; - width: 1px; - height: 10000px; - top: 0; - cursor: e-resize; - display: none; -} -.datagrid-body .datagrid-editable { - margin: 0; - padding: 0; -} -.datagrid-body .datagrid-editable table { - width: 100%; - height: 100%; -} -.datagrid-body .datagrid-editable td { - border: 0; - margin: 0; - padding: 0; -} -.datagrid-view .datagrid-editable-input { - margin: 0; - padding: 2px 4px; - border: 1px solid #ddd; - font-size: 14px; - outline-style: none; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-view .validatebox-invalid { - border-color: #ffa8a8; -} -.datagrid-sort .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -64px center; -} -.datagrid-sort-desc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -16px center; -} -.datagrid-sort-asc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat 0px center; -} -.datagrid-row-collapse { - background: url('images/datagrid_icons.png') no-repeat -48px center; -} -.datagrid-row-expand { - background: url('images/datagrid_icons.png') no-repeat -32px center; -} -.datagrid-mask-msg { - background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; -} -.datagrid-header, -.datagrid-td-rownumber { - background-color: #fafafa; -} -.datagrid-cell-rownumber { - color: #404040; -} -.datagrid-resize-proxy { - background: #ccc; -} -.datagrid-mask { - background: #eee; -} -.datagrid-mask-msg { - border-color: #ddd; -} -.datagrid-toolbar, -.datagrid-pager { - background: #fafafa; -} -.datagrid-header, -.datagrid-toolbar, -.datagrid-pager, -.datagrid-footer-inner { - border-color: #eee; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-color: #ebebeb; -} -.datagrid-htable, -.datagrid-btable, -.datagrid-ftable { - color: #404040; - border-collapse: separate; -} -.datagrid-row-alt { - background: #f9f9f9; -} -.datagrid-row-over, -.datagrid-header td.datagrid-header-over { - background: #eee; - color: #404040; - cursor: default; -} -.datagrid-row-selected { - background: #00bbee; - color: #fff; -} -.datagrid-row-editing .textbox, -.datagrid-row-editing .textbox-text { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-header .datagrid-filter-row td.datagrid-header-over { - background: inherit; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/datalist.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/datalist.css deleted file mode 100644 index 27617f0..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/datalist.css +++ /dev/null @@ -1,95 +0,0 @@ -.datalist .datagrid-header { - border-width: 0; -} -.datalist .datagrid-group, -.m-list .m-list-group { - height: 25px; - line-height: 25px; - font-weight: bold; - overflow: hidden; - background-color: #fafafa; - border-style: solid; - border-width: 0 0 1px 0; - border-color: #ebebeb; -} -.datalist .datagrid-group-expander { - display: none; -} -.datalist .datagrid-group-title { - padding: 0 4px; -} -.datalist .datagrid-btable { - width: 100%; - table-layout: fixed; -} -.datalist .datagrid-row td { - border-style: solid; - border-left-color: transparent; - border-right-color: transparent; - border-bottom-width: 0; -} -.datalist-lines .datagrid-row td { - border-bottom-width: 1px; -} -.datalist .datagrid-cell, -.m-list li { - width: auto; - height: auto; - padding: 2px 4px; - line-height: 18px; - position: relative; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link, -.m-list li>a { - display: block; - position: relative; - cursor: pointer; - color: #404040; - text-decoration: none; - overflow: hidden; - margin: -2px -4px; - padding: 2px 4px; - padding-right: 16px; - line-height: 18px; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link::after, -.m-list li>a::after { - position: absolute; - display: block; - width: 8px; - height: 8px; - content: ''; - right: 6px; - top: 50%; - margin-top: -4px; - border-style: solid; - border-width: 1px 1px 0 0; - -ms-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -webkit-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); -} -.m-list { - margin: 0; - padding: 0; - list-style: none; -} -.m-list li { - border-style: solid; - border-width: 0 0 1px 0; - border-color: #ebebeb; -} -.m-list li>a:hover { - background: #eee; - color: #404040; -} -.m-list .m-list-group { - padding: 0 4px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/datebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/datebox.css deleted file mode 100644 index 392b779..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/datebox.css +++ /dev/null @@ -1,36 +0,0 @@ -.datebox-calendar-inner { - height: 250px; -} -.datebox-button { - padding: 4px 0; - text-align: center; -} -.datebox-button a { - line-height: 22px; - font-size: 14px; - font-weight: bold; - text-decoration: none; - opacity: 0.6; - filter: alpha(opacity=60); -} -.datebox-button a:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.datebox-current, -.datebox-close { - float: left; -} -.datebox-close { - float: right; -} -.datebox .combo-arrow { - background-image: url('images/datebox_arrow.png'); - background-position: center center; -} -.datebox-button { - background-color: #fafafa; -} -.datebox-button a { - color: #404040; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/dialog.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/dialog.css deleted file mode 100644 index 82a1bb8..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/dialog.css +++ /dev/null @@ -1,47 +0,0 @@ -.dialog-content { - overflow: auto; -} -.dialog-toolbar { - position: relative; - padding: 2px 5px; -} -.dialog-tool-separator { - float: left; - height: 24px; - border-left: 1px solid #ddd; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.dialog-button { - position: relative; - top: -1px; - padding: 5px; - text-align: right; -} -.dialog-button .l-btn { - margin-left: 5px; -} -.dialog-toolbar, -.dialog-button { - background: #fafafa; - border-width: 1px; - border-style: solid; -} -.dialog-toolbar { - border-color: #ddd #ddd #eee #ddd; -} -.dialog-button { - border-color: #eee #ddd #ddd #ddd; -} -.window-thinborder .dialog-toolbar { - border-left: transparent; - border-right: transparent; - border-top-color: #fafafa; -} -.window-thinborder .dialog-button { - top: 0px; - padding: 5px 8px 8px 8px; - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/easyui.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/easyui.css deleted file mode 100644 index 7535f6c..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/easyui.css +++ /dev/null @@ -1,3447 +0,0 @@ -.panel { - overflow: hidden; - text-align: left; - margin: 0; - border: 0; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.panel-header, -.panel-body { - border-width: 1px; - border-style: solid; -} -.panel-header { - padding: 5px; - position: relative; -} -.panel-title { - background: url('images/blank.gif') no-repeat; -} -.panel-header-noborder { - border-width: 0 0 1px 0; -} -.panel-body { - overflow: auto; - border-top-width: 0; - padding: 0; -} -.panel-body-noheader { - border-top-width: 1px; -} -.panel-body-noborder { - border-width: 0px; -} -.panel-body-nobottom { - border-bottom-width: 0; -} -.panel-with-icon { - padding-left: 18px; -} -.panel-icon, -.panel-tool { - position: absolute; - top: 50%; - margin-top: -8px; - height: 16px; - overflow: hidden; -} -.panel-icon { - left: 5px; - width: 16px; -} -.panel-tool { - right: 5px; - width: auto; -} -.panel-tool a { - display: inline-block; - width: 16px; - height: 16px; - opacity: 0.6; - filter: alpha(opacity=60); - margin: 0 0 0 2px; - vertical-align: top; -} -.panel-tool a:hover { - opacity: 1; - filter: alpha(opacity=100); - background-color: #eee; - -moz-border-radius: 2px 2px 2px 2px; - -webkit-border-radius: 2px 2px 2px 2px; - border-radius: 2px 2px 2px 2px; -} -.panel-loading { - padding: 11px 0px 10px 30px; -} -.panel-noscroll { - overflow: hidden; -} -.panel-fit, -.panel-fit body { - height: 100%; - margin: 0; - padding: 0; - border: 0; - overflow: hidden; -} -.panel-loading { - background: url('images/loading.gif') no-repeat 10px 10px; -} -.panel-tool-close { - background: url('images/panel_tools.png') no-repeat -16px 0px; -} -.panel-tool-min { - background: url('images/panel_tools.png') no-repeat 0px 0px; -} -.panel-tool-max { - background: url('images/panel_tools.png') no-repeat 0px -16px; -} -.panel-tool-restore { - background: url('images/panel_tools.png') no-repeat -16px -16px; -} -.panel-tool-collapse { - background: url('images/panel_tools.png') no-repeat -32px 0; -} -.panel-tool-expand { - background: url('images/panel_tools.png') no-repeat -32px -16px; -} -.panel-header, -.panel-body { - border-color: #ddd; -} -.panel-header { - background-color: #f5f5f5; -} -.panel-body { - background-color: #ffffff; - color: #404040; - font-size: 14px; -} -.panel-title { - font-size: 14px; - font-weight: bold; - color: #000000; - height: 20px; - line-height: 20px; -} -.panel-footer { - border: 1px solid #ddd; - overflow: hidden; - background: #fafafa; -} -.panel-footer-noborder { - border-width: 1px 0 0 0; -} -.panel-hleft, -.panel-hright { - position: relative; -} -.panel-hleft>.panel-body, -.panel-hright>.panel-body { - position: absolute; -} -.panel-hleft>.panel-header { - float: left; -} -.panel-hright>.panel-header { - float: right; -} -.panel-hleft>.panel-body { - border-top-width: 1px; - border-left-width: 0; -} -.panel-hright>.panel-body { - border-top-width: 1px; - border-right-width: 0; -} -.panel-hleft>.panel-body-nobottom { - border-bottom-width: 1px; - border-right-width: 0; -} -.panel-hright>.panel-body-nobottom { - border-bottom-width: 1px; - border-left-width: 0; -} -.panel-hleft>.panel-footer { - position: absolute; - right: 0; -} -.panel-hright>.panel-footer { - position: absolute; - left: 0; -} -.panel-hleft>.panel-header-noborder { - border-width: 0 1px 0 0; -} -.panel-hright>.panel-header-noborder { - border-width: 0 0 0 1px; -} -.panel-hleft>.panel-body-noborder { - border-width: 0; -} -.panel-hright>.panel-body-noborder { - border-width: 0; -} -.panel-hleft>.panel-body-noheader { - border-left-width: 1px; -} -.panel-hright>.panel-body-noheader { - border-right-width: 1px; -} -.panel-hleft>.panel-footer-noborder { - border-width: 0 0 0 1px; -} -.panel-hright>.panel-footer-noborder { - border-width: 0 1px 0 0; -} -.panel-hleft>.panel-header .panel-icon, -.panel-hright>.panel-header .panel-icon { - margin-top: 0; - top: 5px; - left: 50%; - margin-left: -8px; -} -.panel-hleft>.panel-header .panel-title, -.panel-hright>.panel-header .panel-title { - position: absolute; - min-width: 16px; - left: 25px; - top: 5px; - bottom: auto; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(90deg); - -o-transform-origin: 0 0; - transform: rotate(90deg); - transform-origin: 0 0; -} -.panel-hleft>.panel-header .panel-title-up, -.panel-hright>.panel-header .panel-title-up { - position: absolute; - min-width: 16px; - left: 21px; - top: auto; - bottom: 0px; - text-align: right; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(-90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(-90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(-90deg); - -o-transform-origin: 0 0; - transform: rotate(-90deg); - transform-origin: 0 16px; -} -.panel-hleft>.panel-header .panel-with-icon.panel-title-up, -.panel-hright>.panel-header .panel-with-icon.panel-title-up { - padding-left: 0; - padding-right: 18px; -} -.panel-hleft>.panel-header .panel-tool, -.panel-hright>.panel-header .panel-tool { - top: auto; - bottom: 5px; - width: 16px; - height: auto; - left: 50%; - margin-left: -8px; - margin-top: 0; -} -.panel-hleft>.panel-header .panel-tool a, -.panel-hright>.panel-header .panel-tool a { - margin: 2px 0 0 0; -} -.accordion { - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.accordion .accordion-header { - border-width: 0 0 1px; - cursor: pointer; -} -.accordion .accordion-body { - border-width: 0 0 1px; -} -.accordion-noborder { - border-width: 0; -} -.accordion-noborder .accordion-header { - border-width: 0 0 1px; -} -.accordion-noborder .accordion-body { - border-width: 0 0 1px; -} -.accordion-collapse { - background: url('images/accordion_arrows.png') no-repeat 0 0; -} -.accordion-expand { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.accordion { - background: #ffffff; - border-color: #ddd; -} -.accordion .accordion-header { - background: #f5f5f5; - filter: none; -} -.accordion .accordion-header-selected { - background: #00bbee; -} -.accordion .accordion-header-selected .panel-title { - color: #fff; -} -.accordion .panel-last > .accordion-header { - border-bottom-color: #f5f5f5; -} -.accordion .panel-last > .accordion-body { - border-bottom-color: #ffffff; -} -.accordion .panel-last > .accordion-header-selected, -.accordion .panel-last > .accordion-header-border { - border-bottom-color: #ddd; -} -.accordion> .panel-hleft { - float: left; -} -.accordion> .panel-hleft>.panel-header { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft> .panel-body { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft.panel-last > .accordion-header { - border-right-color: #f5f5f5; -} -.accordion> .panel-hleft.panel-last > .accordion-body { - border-right-color: #ffffff; -} -.accordion> .panel-hleft.panel-last > .accordion-header-selected, -.accordion> .panel-hleft.panel-last > .accordion-header-border { - border-right-color: #ddd; -} -.accordion> .panel-hright { - float: right; -} -.accordion> .panel-hright>.panel-header { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright> .panel-body { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright.panel-last > .accordion-header { - border-left-color: #f5f5f5; -} -.accordion> .panel-hright.panel-last > .accordion-body { - border-left-color: #ffffff; -} -.accordion> .panel-hright.panel-last > .accordion-header-selected, -.accordion> .panel-hright.panel-last > .accordion-header-border { - border-left-color: #ddd; -} -.window { - overflow: hidden; - padding: 5px; - border-width: 1px; - border-style: solid; -} -.window .window-header { - background: transparent; - padding: 0px 0px 6px 0px; -} -.window .window-body { - border-width: 1px; - border-style: solid; - border-top-width: 0px; -} -.window .window-body-noheader { - border-top-width: 1px; -} -.window .panel-body-nobottom { - border-bottom-width: 0; -} -.window .window-header .panel-icon, -.window .window-header .panel-tool { - top: 50%; - margin-top: -11px; -} -.window .window-header .panel-icon { - left: 1px; -} -.window .window-header .panel-tool { - right: 1px; -} -.window .window-header .panel-with-icon { - padding-left: 18px; -} -.window-proxy { - position: absolute; - overflow: hidden; -} -.window-proxy-mask { - position: absolute; - filter: alpha(opacity=5); - opacity: 0.05; -} -.window-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - filter: alpha(opacity=40); - opacity: 0.40; - font-size: 1px; - overflow: hidden; -} -.window, -.window-shadow { - position: absolute; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.window-shadow { - background: #fafafa; - -moz-box-shadow: 2px 2px 3px #fafafa; - -webkit-box-shadow: 2px 2px 3px #fafafa; - box-shadow: 2px 2px 3px #fafafa; - filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); -} -.window, -.window .window-body { - border-color: #ddd; -} -.window { - background-color: #f5f5f5; -} -.window-proxy { - border: 1px dashed #ddd; -} -.window-proxy-mask, -.window-mask { - background: #eee; -} -.window .panel-footer { - border: 1px solid #ddd; - position: relative; - top: -1px; -} -.window-thinborder { - padding: 0; -} -.window-thinborder .window-header { - padding: 5px 5px 6px 5px; -} -.window-thinborder .window-body { - border-width: 0px; -} -.window-thinborder .window-footer { - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} -.window-thinborder .window-header .panel-icon, -.window-thinborder .window-header .panel-tool { - margin-top: -9px; - margin-left: 5px; - margin-right: 5px; -} -.window-noborder { - border: 0; -} -.window.panel-hleft .window-header { - padding: 0 6px 0 0; -} -.window.panel-hright .window-header { - padding: 0 0 0 6px; -} -.window.panel-hleft>.panel-header .panel-title { - top: auto; - left: 16px; -} -.window.panel-hright>.panel-header .panel-title { - top: auto; - right: 16px; -} -.window.panel-hleft>.panel-header .panel-title-up, -.window.panel-hright>.panel-header .panel-title-up { - bottom: 0; -} -.window.panel-hleft .window-body { - border-width: 1px 1px 1px 0; -} -.window.panel-hright .window-body { - border-width: 1px 0 1px 1px; -} -.window.panel-hleft .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: 0; -} -.window.panel-hright .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: auto; - right: 1px; -} -.window.panel-hleft .window-header .panel-tool, -.window.panel-hright .window-header .panel-tool { - margin-top: 0; - top: auto; - bottom: 1px; - right: auto; - margin-right: 0; - left: 50%; - margin-left: -11px; -} -.window.panel-hright .window-header .panel-tool { - left: auto; - right: 1px; -} -.window-thinborder.panel-hleft .window-header { - padding: 5px 6px 5px 5px; -} -.window-thinborder.panel-hright .window-header { - padding: 5px 5px 5px 6px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title { - left: 21px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title-up, -.window-thinborder.panel-hright>.panel-header .panel-title-up { - bottom: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-icon, -.window-thinborder.panel-hright .window-header .panel-icon { - margin-top: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-tool, -.window-thinborder.panel-hright .window-header .panel-tool { - left: 16px; - bottom: 5px; -} -.dialog-content { - overflow: auto; -} -.dialog-toolbar { - position: relative; - padding: 2px 5px; -} -.dialog-tool-separator { - float: left; - height: 24px; - border-left: 1px solid #ddd; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.dialog-button { - position: relative; - top: -1px; - padding: 5px; - text-align: right; -} -.dialog-button .l-btn { - margin-left: 5px; -} -.dialog-toolbar, -.dialog-button { - background: #fafafa; - border-width: 1px; - border-style: solid; -} -.dialog-toolbar { - border-color: #ddd #ddd #eee #ddd; -} -.dialog-button { - border-color: #eee #ddd #ddd #ddd; -} -.window-thinborder .dialog-toolbar { - border-left: transparent; - border-right: transparent; - border-top-color: #fafafa; -} -.window-thinborder .dialog-button { - top: 0px; - padding: 5px 8px 8px 8px; - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} -.l-btn { - text-decoration: none; - display: inline-block; - overflow: hidden; - margin: 0; - padding: 0; - cursor: pointer; - outline: none; - text-align: center; - vertical-align: middle; - line-height: normal; -} -.l-btn-plain { - border-width: 0; - padding: 1px; -} -.l-btn-left { - display: inline-block; - position: relative; - overflow: hidden; - margin: 0; - padding: 0; - vertical-align: top; -} -.l-btn-text { - display: inline-block; - vertical-align: top; - width: auto; - line-height: 28px; - font-size: 14px; - padding: 0; - margin: 0 6px; -} -.l-btn-icon { - display: inline-block; - width: 16px; - height: 16px; - line-height: 16px; - position: absolute; - top: 50%; - margin-top: -8px; - font-size: 1px; -} -.l-btn span span .l-btn-empty { - display: inline-block; - margin: 0; - width: 16px; - height: 24px; - font-size: 1px; - vertical-align: top; -} -.l-btn span .l-btn-icon-left { - padding: 0 0 0 20px; - background-position: left center; -} -.l-btn span .l-btn-icon-right { - padding: 0 20px 0 0; - background-position: right center; -} -.l-btn-icon-left .l-btn-text { - margin: 0 6px 0 26px; -} -.l-btn-icon-left .l-btn-icon { - left: 6px; -} -.l-btn-icon-right .l-btn-text { - margin: 0 26px 0 6px; -} -.l-btn-icon-right .l-btn-icon { - right: 6px; -} -.l-btn-icon-top .l-btn-text { - margin: 20px 4px 0 4px; -} -.l-btn-icon-top .l-btn-icon { - top: 4px; - left: 50%; - margin: 0 0 0 -8px; -} -.l-btn-icon-bottom .l-btn-text { - margin: 0 4px 20px 4px; -} -.l-btn-icon-bottom .l-btn-icon { - top: auto; - bottom: 4px; - left: 50%; - margin: 0 0 0 -8px; -} -.l-btn-left .l-btn-empty { - margin: 0 6px; - width: 16px; -} -.l-btn-plain:hover { - padding: 0; -} -.l-btn-focus { - outline: #0000FF dotted thin; -} -.l-btn-large .l-btn-text { - line-height: 44px; -} -.l-btn-large .l-btn-icon { - width: 32px; - height: 32px; - line-height: 32px; - margin-top: -16px; -} -.l-btn-large .l-btn-icon-left .l-btn-text { - margin-left: 40px; -} -.l-btn-large .l-btn-icon-right .l-btn-text { - margin-right: 40px; -} -.l-btn-large .l-btn-icon-top .l-btn-text { - margin-top: 36px; - line-height: 24px; - min-width: 32px; -} -.l-btn-large .l-btn-icon-top .l-btn-icon { - margin: 0 0 0 -16px; -} -.l-btn-large .l-btn-icon-bottom .l-btn-text { - margin-bottom: 36px; - line-height: 24px; - min-width: 32px; -} -.l-btn-large .l-btn-icon-bottom .l-btn-icon { - margin: 0 0 0 -16px; -} -.l-btn-large .l-btn-left .l-btn-empty { - margin: 0 6px; - width: 32px; -} -.l-btn { - color: #404040; - background: #fafafa; - background-repeat: repeat-x; - border: 1px solid #d9d9d9; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.l-btn:hover { - background: #eee; - color: #404040; - border: 1px solid #ccc; - filter: none; -} -.l-btn-plain { - background: transparent; - border-width: 0; - filter: none; -} -.l-btn-outline { - border-width: 1px; - border-color: #ccc; - padding: 0; -} -.l-btn-plain:hover { - background: #eee; - color: #404040; - border: 1px solid #ccc; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.l-btn-disabled, -.l-btn-disabled:hover { - opacity: 0.5; - cursor: default; - background: #fafafa; - color: #404040; -} -.l-btn-disabled .l-btn-text, -.l-btn-disabled .l-btn-icon { - filter: alpha(opacity=50); -} -.l-btn-plain-disabled, -.l-btn-plain-disabled:hover { - background: transparent; - filter: alpha(opacity=50); -} -.l-btn-selected, -.l-btn-selected:hover { - background: #00bbee; - filter: none; -} -.l-btn-plain-selected, -.l-btn-plain-selected:hover { - background: #00bbee; -} -.textbox { - position: relative; - border: 1px solid #ddd; - background-color: #fff; - vertical-align: middle; - display: inline-block; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.textbox .textbox-text { - font-size: 14px; - border: 0; - margin: 0; - padding: 0 4px; - white-space: normal; - vertical-align: top; - outline-style: none; - resize: none; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; - height: 28px; - line-height: 28px; -} -.textbox textarea.textbox-text { - line-height: normal; -} -.textbox .textbox-text::-ms-clear, -.textbox .textbox-text::-ms-reveal { - display: none; -} -.textbox textarea.textbox-text { - white-space: pre-wrap; -} -.textbox .textbox-prompt { - font-size: 14px; - color: #aaa; -} -.textbox .textbox-bgicon { - background-position: 3px center; - padding-left: 21px; -} -.textbox .textbox-button, -.textbox .textbox-button:hover { - position: absolute; - top: 0; - padding: 0; - vertical-align: top; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.textbox .textbox-button-right, -.textbox .textbox-button-right:hover { - right: 0; - border-width: 0 0 0 1px; -} -.textbox .textbox-button-left, -.textbox .textbox-button-left:hover { - left: 0; - border-width: 0 1px 0 0; -} -.textbox .textbox-button-top, -.textbox .textbox-button-top:hover { - left: 0; - border-width: 0 0 1px 0; -} -.textbox .textbox-button-bottom, -.textbox .textbox-button-bottom:hover { - top: auto; - bottom: 0; - left: 0; - border-width: 1px 0 0 0; -} -.textbox-addon { - position: absolute; - top: 0; -} -.textbox-label { - display: inline-block; - width: 80px; - height: 30px; - line-height: 30px; - vertical-align: middle; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - margin: 0; - padding-right: 5px; -} -.textbox-label-after { - padding-left: 5px; - padding-right: 0; -} -.textbox-label-top { - display: block; - width: auto; - padding: 0; -} -.textbox-disabled, -.textbox-label-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-icon { - display: inline-block; - width: 18px; - height: 20px; - overflow: hidden; - vertical-align: top; - background-position: center center; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); - text-decoration: none; - outline-style: none; -} -.textbox-icon-disabled, -.textbox-icon-readonly { - cursor: default; -} -.textbox-icon:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.textbox-icon-disabled:hover { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-focused { - border-color: #c4c4c4; - -moz-box-shadow: 0 0 3px 0 #ddd; - -webkit-box-shadow: 0 0 3px 0 #ddd; - box-shadow: 0 0 3px 0 #ddd; -} -.textbox-invalid { - border-color: #ffa8a8; - background-color: #fff; -} -.passwordbox-open { - background: url('images/passwordbox_open.png') no-repeat center center; -} -.passwordbox-close { - background: url('images/passwordbox_close.png') no-repeat center center; -} -.filebox .textbox-value { - vertical-align: top; - position: absolute; - top: 0; - left: -5000px; -} -.filebox-label { - display: inline-block; - position: absolute; - width: 100%; - height: 100%; - cursor: pointer; - left: 0; - top: 0; - z-index: 10; - background: url('images/blank.gif') no-repeat; -} -.l-btn-disabled .filebox-label { - cursor: default; -} -.combo-arrow { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.combo-arrow-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.combo-panel { - overflow: auto; -} -.combo-arrow { - background: url('images/combo_arrow.png') no-repeat center center; -} -.combo-panel { - background-color: #ffffff; -} -.combo-arrow { - background-color: #f5f5f5; -} -.combo-arrow-hover { - background-color: #eee; -} -.combo-arrow:hover { - background-color: #eee; -} -.combo .textbox-icon-disabled:hover { - cursor: default; -} -.combobox-item, -.combobox-group, -.combobox-stick { - font-size: 14px; - padding: 6px 4px; - line-height: 20px; -} -.combobox-item-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.combobox-gitem { - padding-left: 10px; -} -.combobox-group, -.combobox-stick { - font-weight: bold; -} -.combobox-stick { - position: absolute; - top: 1px; - left: 1px; - right: 1px; - background: inherit; -} -.combobox-item-hover { - background-color: #eee; - color: #404040; -} -.combobox-item-selected { - background-color: #00bbee; - color: #fff; -} -.combobox-icon { - display: inline-block; - width: 16px; - height: 16px; - vertical-align: middle; - margin-right: 2px; -} -.tagbox { - cursor: text; -} -.tagbox .textbox-text { - float: left; -} -.tagbox-label { - position: relative; - display: block; - margin: 4px 0 0 4px; - padding: 0 20px 0 4px; - float: left; - vertical-align: top; - text-decoration: none; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; - background: #eee; - color: #404040; -} -.tagbox-remove { - background: url('images/tagbox_icons.png') no-repeat -16px center; - position: absolute; - display: block; - width: 16px; - height: 16px; - right: 2px; - top: 50%; - margin-top: -8px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tagbox-remove:hover { - opacity: 1; - filter: alpha(opacity=100); -} -.textbox-disabled .tagbox-label { - cursor: default; -} -.textbox-disabled .tagbox-remove:hover { - cursor: default; - opacity: 0.6; - filter: alpha(opacity=60); -} -.layout { - position: relative; - overflow: hidden; - margin: 0; - padding: 0; - z-index: 0; -} -.layout-panel { - position: absolute; - overflow: hidden; -} -.layout-body { - min-width: 1px; - min-height: 1px; -} -.layout-panel-east, -.layout-panel-west { - z-index: 2; -} -.layout-panel-north, -.layout-panel-south { - z-index: 3; -} -.layout-expand { - position: absolute; - padding: 0px; - font-size: 1px; - cursor: pointer; - z-index: 1; -} -.layout-expand .panel-header, -.layout-expand .panel-body { - background: transparent; - filter: none; - overflow: hidden; -} -.layout-expand .panel-header { - border-bottom-width: 0px; -} -.layout-expand .panel-body { - position: relative; -} -.layout-expand .panel-body .panel-icon { - margin-top: 0; - top: 0; - left: 50%; - margin-left: -8px; -} -.layout-expand-west .panel-header .panel-icon, -.layout-expand-east .panel-header .panel-icon { - display: none; -} -.layout-expand-title { - position: absolute; - top: 0; - left: 21px; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(90deg); - -o-transform-origin: 0 0; - transform: rotate(90deg); - transform-origin: 0 0; -} -.layout-expand-title-up { - position: absolute; - top: 0; - left: 0; - text-align: right; - padding-left: 5px; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(-90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(-90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(-90deg); - -o-transform-origin: 0 0; - transform: rotate(-90deg); - transform-origin: 0 0; -} -.layout-expand-with-icon { - top: 18px; -} -.layout-expand .panel-body-noheader .layout-expand-title, -.layout-expand .panel-body-noheader .panel-icon { - top: 5px; -} -.layout-expand .panel-body-noheader .layout-expand-with-icon { - top: 23px; -} -.layout-split-proxy-h, -.layout-split-proxy-v { - position: absolute; - font-size: 1px; - display: none; - z-index: 5; -} -.layout-split-proxy-h { - width: 5px; - cursor: e-resize; -} -.layout-split-proxy-v { - height: 5px; - cursor: n-resize; -} -.layout-mask { - position: absolute; - background: #fafafa; - filter: alpha(opacity=10); - opacity: 0.10; - z-index: 4; -} -.layout-button-up { - background: url('images/layout_arrows.png') no-repeat -16px -16px; -} -.layout-button-down { - background: url('images/layout_arrows.png') no-repeat -16px 0; -} -.layout-button-left { - background: url('images/layout_arrows.png') no-repeat 0 0; -} -.layout-button-right { - background: url('images/layout_arrows.png') no-repeat 0 -16px; -} -.layout-split-proxy-h, -.layout-split-proxy-v { - background-color: #ccc; -} -.layout-split-north { - border-bottom: 5px solid #ffffff; -} -.layout-split-south { - border-top: 5px solid #ffffff; -} -.layout-split-east { - border-left: 5px solid #ffffff; -} -.layout-split-west { - border-right: 5px solid #ffffff; -} -.layout-expand { - background-color: #f5f5f5; -} -.layout-expand-over { - background-color: #f5f5f5; -} -.tabs-container { - overflow: hidden; -} -.tabs-header { - border-width: 1px; - border-style: solid; - border-bottom-width: 0; - position: relative; - padding: 0; - padding-top: 2px; - overflow: hidden; -} -.tabs-scroller-left, -.tabs-scroller-right { - position: absolute; - top: auto; - bottom: 0; - width: 18px; - font-size: 1px; - display: none; - cursor: pointer; - border-width: 1px; - border-style: solid; -} -.tabs-scroller-left { - left: 0; -} -.tabs-scroller-right { - right: 0; -} -.tabs-tool { - position: absolute; - bottom: 0; - padding: 1px; - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.tabs-header-plain .tabs-tool { - padding: 0 1px; -} -.tabs-wrap { - position: relative; - left: 0; - overflow: hidden; - width: 100%; - margin: 0; - padding: 0; -} -.tabs-scrolling { - margin-left: 18px; - margin-right: 18px; -} -.tabs-disabled { - opacity: 0.3; - filter: alpha(opacity=30); -} -.tabs { - list-style-type: none; - height: 26px; - margin: 0px; - padding: 0px; - padding-left: 4px; - width: 50000px; - border-style: solid; - border-width: 0 0 1px 0; -} -.tabs li { - float: left; - display: inline-block; - margin: 0 4px -1px 0; - padding: 0; - position: relative; - border: 0; -} -.tabs li a.tabs-inner { - display: inline-block; - text-decoration: none; - margin: 0; - padding: 0 10px; - height: 25px; - line-height: 25px; - text-align: center; - white-space: nowrap; - border-width: 1px; - border-style: solid; - -moz-border-radius: 4px 4px 0 0; - -webkit-border-radius: 4px 4px 0 0; - border-radius: 4px 4px 0 0; -} -.tabs li.tabs-selected a.tabs-inner { - font-weight: bold; - outline: none; -} -.tabs li.tabs-selected a:hover.tabs-inner { - cursor: default; - pointer: default; -} -.tabs li a.tabs-close, -.tabs-p-tool { - position: absolute; - font-size: 1px; - display: block; - height: 12px; - padding: 0; - top: 50%; - margin-top: -6px; - overflow: hidden; -} -.tabs li a.tabs-close { - width: 12px; - right: 5px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs-p-tool { - right: 16px; -} -.tabs-p-tool a { - display: inline-block; - font-size: 1px; - width: 12px; - height: 12px; - margin: 0; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs li a:hover.tabs-close, -.tabs-p-tool a:hover { - opacity: 1; - filter: alpha(opacity=100); - cursor: hand; - cursor: pointer; -} -.tabs-with-icon { - padding-left: 18px; -} -.tabs-icon { - position: absolute; - width: 16px; - height: 16px; - left: 10px; - top: 50%; - margin-top: -8px; -} -.tabs-title { - font-size: 14px; -} -.tabs-closable { - padding-right: 8px; -} -.tabs-panels { - margin: 0px; - padding: 0px; - border-width: 1px; - border-style: solid; - border-top-width: 0; - overflow: hidden; -} -.tabs-header-bottom { - border-width: 0 1px 1px 1px; - padding: 0 0 2px 0; -} -.tabs-header-bottom .tabs { - border-width: 1px 0 0 0; -} -.tabs-header-bottom .tabs li { - margin: -1px 4px 0 0; -} -.tabs-header-bottom .tabs li a.tabs-inner { - -moz-border-radius: 0 0 4px 4px; - -webkit-border-radius: 0 0 4px 4px; - border-radius: 0 0 4px 4px; -} -.tabs-header-bottom .tabs-tool { - top: 0; -} -.tabs-header-bottom .tabs-scroller-left, -.tabs-header-bottom .tabs-scroller-right { - top: 0; - bottom: auto; -} -.tabs-panels-top { - border-width: 1px 1px 0 1px; -} -.tabs-header-left { - float: left; - border-width: 1px 0 1px 1px; - padding: 0; -} -.tabs-header-right { - float: right; - border-width: 1px 1px 1px 0; - padding: 0; -} -.tabs-header-left .tabs-wrap, -.tabs-header-right .tabs-wrap { - height: 100%; -} -.tabs-header-left .tabs { - height: 100%; - padding: 4px 0 0 2px; - border-width: 0 1px 0 0; -} -.tabs-header-right .tabs { - height: 100%; - padding: 4px 2px 0 0; - border-width: 0 0 0 1px; -} -.tabs-header-left .tabs li, -.tabs-header-right .tabs li { - display: block; - width: 100%; - position: relative; -} -.tabs-header-left .tabs li { - left: auto; - right: 0; - margin: 0 -1px 4px 0; - float: right; -} -.tabs-header-right .tabs li { - left: 0; - right: auto; - margin: 0 0 4px -1px; - float: left; -} -.tabs-justified li a.tabs-inner { - padding-left: 0; - padding-right: 0; -} -.tabs-header-left .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 4px 0 0 4px; - -webkit-border-radius: 4px 0 0 4px; - border-radius: 4px 0 0 4px; -} -.tabs-header-right .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 0 4px 4px 0; - -webkit-border-radius: 0 4px 4px 0; - border-radius: 0 4px 4px 0; -} -.tabs-panels-right { - float: right; - border-width: 1px 1px 1px 0; -} -.tabs-panels-left { - float: left; - border-width: 1px 0 1px 1px; -} -.tabs-header-noborder, -.tabs-panels-noborder { - border: 0px; -} -.tabs-header-plain { - border: 0px; - background: transparent; -} -.tabs-pill { - padding-bottom: 3px; -} -.tabs-header-bottom .tabs-pill { - padding-top: 3px; - padding-bottom: 0; -} -.tabs-header-left .tabs-pill { - padding-right: 3px; -} -.tabs-header-right .tabs-pill { - padding-left: 3px; -} -.tabs-header .tabs-pill li a.tabs-inner { - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.tabs-header-narrow, -.tabs-header-narrow .tabs-narrow { - padding: 0; -} -.tabs-narrow li, -.tabs-header-bottom .tabs-narrow li { - margin-left: 0; - margin-right: -1px; -} -.tabs-narrow li.tabs-last, -.tabs-header-bottom .tabs-narrow li.tabs-last { - margin-right: 0; -} -.tabs-header-left .tabs-narrow, -.tabs-header-right .tabs-narrow { - padding-top: 0; -} -.tabs-header-left .tabs-narrow li { - margin-bottom: -1px; - margin-right: -1px; -} -.tabs-header-left .tabs-narrow li.tabs-last, -.tabs-header-right .tabs-narrow li.tabs-last { - margin-bottom: 0; -} -.tabs-header-right .tabs-narrow li { - margin-bottom: -1px; - margin-left: -1px; -} -.tabs-scroller-left { - background: #f5f5f5 url('images/tabs_icons.png') no-repeat 1px center; -} -.tabs-scroller-right { - background: #f5f5f5 url('images/tabs_icons.png') no-repeat -15px center; -} -.tabs li a.tabs-close { - background: url('images/tabs_icons.png') no-repeat -34px center; -} -.tabs li a.tabs-inner:hover { - background: #eee; - color: #404040; - filter: none; -} -.tabs li.tabs-selected a.tabs-inner { - background-color: #ffffff; - color: #000000; -} -.tabs li a.tabs-inner { - color: #000000; - background-color: #f5f5f5; -} -.tabs-header, -.tabs-tool { - background-color: #f5f5f5; -} -.tabs-header-plain { - background: transparent; -} -.tabs-header, -.tabs-scroller-left, -.tabs-scroller-right, -.tabs-tool, -.tabs, -.tabs-panels, -.tabs li a.tabs-inner, -.tabs li.tabs-selected a.tabs-inner, -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, -.tabs-header-left .tabs li.tabs-selected a.tabs-inner, -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-color: #ddd; -} -.tabs-p-tool a:hover, -.tabs li a:hover.tabs-close, -.tabs-scroller-over { - background-color: #eee; -} -.tabs li.tabs-selected a.tabs-inner { - border-bottom: 1px solid #ffffff; -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - border-top: 1px solid #ffffff; -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - border-right: 1px solid #ffffff; -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-left: 1px solid #ffffff; -} -.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { - background: #00bbee; - color: #fff; - filter: none; - border-color: #ddd; -} -.datagrid .panel-body { - overflow: hidden; - position: relative; -} -.datagrid-view { - position: relative; - overflow: hidden; -} -.datagrid-view1, -.datagrid-view2 { - position: absolute; - overflow: hidden; - top: 0; -} -.datagrid-view1 { - left: 0; -} -.datagrid-view2 { - right: 0; -} -.datagrid-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0.3; - filter: alpha(opacity=30); - display: none; -} -.datagrid-mask-msg { - position: absolute; - top: 50%; - margin-top: -20px; - padding: 10px 5px 10px 30px; - width: auto; - height: 16px; - border-width: 2px; - border-style: solid; - display: none; -} -.datagrid-empty { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 25px; - line-height: 25px; - text-align: center; -} -.datagrid-sort-icon { - padding: 0; - display: none; -} -.datagrid-toolbar { - height: auto; - padding: 1px 2px; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-btn-separator { - float: left; - height: 24px; - border-left: 1px solid #ddd; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.datagrid .datagrid-pager { - display: block; - margin: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.datagrid .datagrid-pager-top { - border-width: 0 0 1px 0; -} -.datagrid-header { - overflow: hidden; - cursor: default; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-header-inner { - float: left; - width: 10000px; -} -.datagrid-header-row, -.datagrid-row { - height: 32px; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-width: 0 1px 1px 0; - border-style: dotted; - margin: 0; - padding: 0; -} -.datagrid-cell, -.datagrid-cell-group, -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - margin: 0; - padding: 0 4px; - white-space: nowrap; - word-wrap: normal; - overflow: hidden; - height: 18px; - line-height: 18px; - font-size: 14px; -} -.datagrid-header .datagrid-cell { - height: auto; -} -.datagrid-header .datagrid-cell span { - font-size: 14px; -} -.datagrid-cell-group { - text-align: center; - text-overflow: ellipsis; -} -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - width: 30px; - text-align: center; - margin: 0; - padding: 0; -} -.datagrid-body { - margin: 0; - padding: 0; - overflow: auto; - zoom: 1; -} -.datagrid-view1 .datagrid-body-inner { - padding-bottom: 20px; -} -.datagrid-view1 .datagrid-body { - overflow: hidden; -} -.datagrid-footer { - overflow: hidden; -} -.datagrid-footer-inner { - border-width: 1px 0 0 0; - border-style: solid; - width: 10000px; - float: left; -} -.datagrid-row-editing .datagrid-cell { - height: auto; -} -.datagrid-header-check, -.datagrid-cell-check { - padding: 0; - width: 27px; - height: 18px; - font-size: 1px; - text-align: center; - overflow: hidden; -} -.datagrid-header-check input, -.datagrid-cell-check input { - margin: 0; - padding: 0; - width: 15px; - height: 18px; -} -.datagrid-resize-proxy { - position: absolute; - width: 1px; - height: 10000px; - top: 0; - cursor: e-resize; - display: none; -} -.datagrid-body .datagrid-editable { - margin: 0; - padding: 0; -} -.datagrid-body .datagrid-editable table { - width: 100%; - height: 100%; -} -.datagrid-body .datagrid-editable td { - border: 0; - margin: 0; - padding: 0; -} -.datagrid-view .datagrid-editable-input { - margin: 0; - padding: 2px 4px; - border: 1px solid #ddd; - font-size: 14px; - outline-style: none; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-view .validatebox-invalid { - border-color: #ffa8a8; -} -.datagrid-sort .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -64px center; -} -.datagrid-sort-desc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -16px center; -} -.datagrid-sort-asc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat 0px center; -} -.datagrid-row-collapse { - background: url('images/datagrid_icons.png') no-repeat -48px center; -} -.datagrid-row-expand { - background: url('images/datagrid_icons.png') no-repeat -32px center; -} -.datagrid-mask-msg { - background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; -} -.datagrid-header, -.datagrid-td-rownumber { - background-color: #fafafa; -} -.datagrid-cell-rownumber { - color: #404040; -} -.datagrid-resize-proxy { - background: #ccc; -} -.datagrid-mask { - background: #eee; -} -.datagrid-mask-msg { - border-color: #ddd; -} -.datagrid-toolbar, -.datagrid-pager { - background: #fafafa; -} -.datagrid-header, -.datagrid-toolbar, -.datagrid-pager, -.datagrid-footer-inner { - border-color: #eee; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-color: #ebebeb; -} -.datagrid-htable, -.datagrid-btable, -.datagrid-ftable { - color: #404040; - border-collapse: separate; -} -.datagrid-row-alt { - background: #f9f9f9; -} -.datagrid-row-over, -.datagrid-header td.datagrid-header-over { - background: #eee; - color: #404040; - cursor: default; -} -.datagrid-row-selected { - background: #00bbee; - color: #fff; -} -.datagrid-row-editing .textbox, -.datagrid-row-editing .textbox-text { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-header .datagrid-filter-row td.datagrid-header-over { - background: inherit; -} -.propertygrid .datagrid-view1 .datagrid-body td { - padding-bottom: 1px; - border-width: 0 1px 0 0; -} -.propertygrid .datagrid-group { - overflow: hidden; - border-width: 0 0 1px 0; - border-style: solid; -} -.propertygrid .datagrid-group span { - font-weight: bold; -} -.propertygrid .datagrid-view1 .datagrid-body td { - border-color: #eee; -} -.propertygrid .datagrid-view1 .datagrid-group { - border-color: #f5f5f5; -} -.propertygrid .datagrid-view2 .datagrid-group { - border-color: #eee; -} -.propertygrid .datagrid-group, -.propertygrid .datagrid-view1 .datagrid-body, -.propertygrid .datagrid-view1 .datagrid-row-over, -.propertygrid .datagrid-view1 .datagrid-row-selected { - background: #f5f5f5; -} -.datalist .datagrid-header { - border-width: 0; -} -.datalist .datagrid-group, -.m-list .m-list-group { - height: 25px; - line-height: 25px; - font-weight: bold; - overflow: hidden; - background-color: #fafafa; - border-style: solid; - border-width: 0 0 1px 0; - border-color: #ebebeb; -} -.datalist .datagrid-group-expander { - display: none; -} -.datalist .datagrid-group-title { - padding: 0 4px; -} -.datalist .datagrid-btable { - width: 100%; - table-layout: fixed; -} -.datalist .datagrid-row td { - border-style: solid; - border-left-color: transparent; - border-right-color: transparent; - border-bottom-width: 0; -} -.datalist-lines .datagrid-row td { - border-bottom-width: 1px; -} -.datalist .datagrid-cell, -.m-list li { - width: auto; - height: auto; - padding: 2px 4px; - line-height: 18px; - position: relative; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link, -.m-list li>a { - display: block; - position: relative; - cursor: pointer; - color: #404040; - text-decoration: none; - overflow: hidden; - margin: -2px -4px; - padding: 2px 4px; - padding-right: 16px; - line-height: 18px; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link::after, -.m-list li>a::after { - position: absolute; - display: block; - width: 8px; - height: 8px; - content: ''; - right: 6px; - top: 50%; - margin-top: -4px; - border-style: solid; - border-width: 1px 1px 0 0; - -ms-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -webkit-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); -} -.m-list { - margin: 0; - padding: 0; - list-style: none; -} -.m-list li { - border-style: solid; - border-width: 0 0 1px 0; - border-color: #ebebeb; -} -.m-list li>a:hover { - background: #eee; - color: #404040; -} -.m-list .m-list-group { - padding: 0 4px; -} -.pagination { - zoom: 1; - padding: 2px; -} -.pagination table { - float: left; - height: 30px; -} -.pagination td { - border: 0; -} -.pagination-btn-separator { - float: left; - height: 24px; - border-left: 1px solid #ddd; - border-right: 1px solid #fff; - margin: 3px 1px; -} -.pagination .pagination-num { - border-width: 1px; - border-style: solid; - margin: 0 2px; - padding: 2px; - width: 3em; - height: auto; - text-align: center; - font-size: 14px; -} -.pagination-page-list { - margin: 0px 6px; - padding: 1px 2px; - width: auto; - height: auto; - border-width: 1px; - border-style: solid; -} -.pagination-info { - float: right; - margin: 0 6px; - padding: 0; - height: 30px; - line-height: 30px; - font-size: 14px; -} -.pagination span { - font-size: 14px; -} -.pagination-link .l-btn-text { - box-sizing: border-box; - text-align: center; - margin: 0; - padding: 0 .5em; - width: auto; - min-width: 28px; -} -.pagination-first { - background: url('images/pagination_icons.png') no-repeat 0 center; -} -.pagination-prev { - background: url('images/pagination_icons.png') no-repeat -16px center; -} -.pagination-next { - background: url('images/pagination_icons.png') no-repeat -32px center; -} -.pagination-last { - background: url('images/pagination_icons.png') no-repeat -48px center; -} -.pagination-load { - background: url('images/pagination_icons.png') no-repeat -64px center; -} -.pagination-loading { - background: url('images/loading.gif') no-repeat center center; -} -.pagination-page-list, -.pagination .pagination-num { - border-color: #ddd; -} -.calendar { - border-width: 1px; - border-style: solid; - padding: 1px; - overflow: hidden; -} -.calendar table { - table-layout: fixed; - border-collapse: separate; - font-size: 14px; - width: 100%; - height: 100%; -} -.calendar table td, -.calendar table th { - font-size: 14px; -} -.calendar-noborder { - border: 0; -} -.calendar-header { - position: relative; - height: 28px; -} -.calendar-title { - text-align: center; - height: 28px; -} -.calendar-title span { - position: relative; - display: inline-block; - top: 0px; - padding: 0 3px; - height: 28px; - line-height: 28px; - font-size: 14px; - cursor: pointer; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.calendar-prevmonth, -.calendar-nextmonth, -.calendar-prevyear, -.calendar-nextyear { - position: absolute; - top: 50%; - margin-top: -8px; - width: 16px; - height: 16px; - cursor: pointer; - font-size: 1px; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.calendar-prevmonth { - left: 20px; - background: url('images/calendar_arrows.png') no-repeat -16px 0; -} -.calendar-nextmonth { - right: 20px; - background: url('images/calendar_arrows.png') no-repeat -32px 0; -} -.calendar-prevyear { - left: 3px; - background: url('images/calendar_arrows.png') no-repeat 0px 0; -} -.calendar-nextyear { - right: 3px; - background: url('images/calendar_arrows.png') no-repeat -48px 0; -} -.calendar-body { - position: relative; -} -.calendar-body th, -.calendar-body td { - text-align: center; -} -.calendar-day { - border: 0; - padding: 1px; - cursor: pointer; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.calendar-other-month { - opacity: 0.3; - filter: alpha(opacity=30); -} -.calendar-disabled { - opacity: 0.6; - filter: alpha(opacity=60); - cursor: default; -} -.calendar-menu { - position: absolute; - top: 0; - left: 0; - width: 180px; - height: 150px; - padding: 5px; - font-size: 14px; - display: none; - overflow: hidden; -} -.calendar-menu-year-inner { - text-align: center; - padding-bottom: 5px; -} -.calendar-menu-year { - width: 80px; - line-height: 26px; - text-align: center; - border-width: 1px; - border-style: solid; - outline-style: none; - resize: none; - margin: 0; - padding: 0; - font-weight: bold; - font-size: 14px; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.calendar-menu-prev, -.calendar-menu-next { - display: inline-block; - width: 25px; - height: 28px; - vertical-align: top; - cursor: pointer; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.calendar-menu-prev { - margin-right: 10px; - background: url('images/calendar_arrows.png') no-repeat 5px center; -} -.calendar-menu-next { - margin-left: 10px; - background: url('images/calendar_arrows.png') no-repeat -44px center; -} -.calendar-menu-month { - text-align: center; - cursor: pointer; - font-weight: bold; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.calendar-body th, -.calendar-menu-month { - color: #8d8d8d; -} -.calendar-day { - color: #404040; -} -.calendar-sunday { - color: #CC2222; -} -.calendar-saturday { - color: #00ee00; -} -.calendar-today { - color: #0000ff; -} -.calendar-menu-year { - border-color: #ddd; -} -.calendar { - border-color: #ddd; -} -.calendar-header { - background: #f5f5f5; -} -.calendar-body, -.calendar-menu { - background: #ffffff; -} -.calendar-body th { - background: #fafafa; - padding: 4px 0; -} -.calendar-hover, -.calendar-nav-hover, -.calendar-menu-hover { - background-color: #eee; - color: #404040; -} -.calendar-hover { - border: 1px solid #ccc; - padding: 0; -} -.calendar-selected { - background-color: #00bbee; - color: #fff; - border: 1px solid #00bbee; - padding: 0; -} -.datebox-calendar-inner { - height: 250px; -} -.datebox-button { - padding: 4px 0; - text-align: center; -} -.datebox-button a { - line-height: 22px; - font-size: 14px; - font-weight: bold; - text-decoration: none; - opacity: 0.6; - filter: alpha(opacity=60); -} -.datebox-button a:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.datebox-current, -.datebox-close { - float: left; -} -.datebox-close { - float: right; -} -.datebox .combo-arrow { - background-image: url('images/datebox_arrow.png'); - background-position: center center; -} -.datebox-button { - background-color: #fafafa; -} -.datebox-button a { - color: #404040; -} -.spinner-arrow { - display: inline-block; - overflow: hidden; - vertical-align: top; - margin: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - width: 18px; -} -.spinner-arrow.spinner-button-top, -.spinner-arrow.spinner-button-bottom, -.spinner-arrow.spinner-button-left, -.spinner-arrow.spinner-button-right { - background-color: #f5f5f5; -} -.spinner-arrow-up, -.spinner-arrow-down { - opacity: 0.6; - filter: alpha(opacity=60); - display: block; - font-size: 1px; - width: 18px; - height: 10px; - width: 100%; - height: 50%; - color: #404040; - outline-style: none; - background-color: #f5f5f5; -} -.spinner-button-updown { - opacity: 1.0; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - position: relative; - display: block; - width: 100%; - height: 50%; -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down { - opacity: 1.0; - filter: alpha(opacity=100); - cursor: pointer; - width: 16px; - height: 16px; - top: 50%; - left: 50%; - margin-top: -8px; - margin-left: -8px; - position: absolute; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-button-updown .spinner-button-top:hover, -.spinner-button-updown .spinner-button-bottom:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down, -.spinner-button-updown .spinner-arrow-up:hover, -.spinner-button-updown .spinner-arrow-down:hover { - background-color: transparent; -} -.spinner-arrow-hover { - background-color: #eee; - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-top:hover, -.spinner-button-bottom:hover, -.spinner-button-left:hover, -.spinner-button-right:hover, -.spinner-arrow-up:hover, -.spinner-arrow-down:hover { - opacity: 1.0; - filter: alpha(opacity=100); - background-color: #eee; -} -.textbox-disabled .spinner-button-top:hover, -.textbox-disabled .spinner-button-bottom:hover, -.textbox-disabled .spinner-button-left:hover, -.textbox-disabled .spinner-button-right:hover, -.textbox-icon-disabled .spinner-arrow-up:hover, -.textbox-icon-disabled .spinner-arrow-down:hover { - opacity: 0.6; - filter: alpha(opacity=60); - background-color: #f5f5f5; - cursor: default; -} -.spinner .textbox-icon-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-arrow-up { - background: url('images/spinner_arrows.png') no-repeat 1px center; - background-color: #f5f5f5; -} -.spinner-arrow-down { - background: url('images/spinner_arrows.png') no-repeat -15px center; - background-color: #f5f5f5; -} -.spinner-button-up { - background: url('images/spinner_arrows.png') no-repeat -32px center; -} -.spinner-button-down { - background: url('images/spinner_arrows.png') no-repeat -48px center; -} -.progressbar { - border-width: 1px; - border-style: solid; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; - overflow: hidden; - position: relative; -} -.progressbar-text { - text-align: center; - position: absolute; -} -.progressbar-value { - position: relative; - overflow: hidden; - width: 0; - -moz-border-radius: 4px 0 0 4px; - -webkit-border-radius: 4px 0 0 4px; - border-radius: 4px 0 0 4px; -} -.progressbar { - border-color: #ddd; -} -.progressbar-text { - color: #404040; - font-size: 14px; -} -.progressbar-value, -.progressbar-value .progressbar-text { - background-color: #00bbee; - color: #fff; -} -.searchbox-button { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.searchbox-button-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.searchbox .l-btn-plain { - border: 0; - padding: 0; - vertical-align: top; - opacity: 0.6; - filter: alpha(opacity=60); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .l-btn-plain:hover { - border: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox a.m-btn-plain-active { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .m-btn-active { - border-width: 0 1px 0 0; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .textbox-button-right { - border-width: 0 0 0 1px; -} -.searchbox .textbox-button-left { - border-width: 0 1px 0 0; -} -.searchbox-button { - background: url('images/searchbox_button.png') no-repeat center center; -} -.searchbox .l-btn-plain { - background: #f5f5f5; -} -.searchbox .l-btn-plain-disabled, -.searchbox .l-btn-plain-disabled:hover { - opacity: 0.5; - filter: alpha(opacity=50); -} -.slider-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.slider-h { - height: 22px; -} -.slider-v { - width: 22px; -} -.slider-inner { - position: relative; - height: 6px; - top: 7px; - border-width: 1px; - border-style: solid; - border-radius: 4px; -} -.slider-handle { - position: absolute; - display: block; - outline: none; - width: 20px; - height: 20px; - top: 50%; - margin-top: -10px; - margin-left: -10px; -} -.slider-tip { - position: absolute; - display: inline-block; - line-height: 12px; - font-size: 14px; - white-space: nowrap; - top: -22px; -} -.slider-rule { - position: relative; - top: 15px; -} -.slider-rule span { - position: absolute; - display: inline-block; - font-size: 0; - height: 5px; - border-width: 0 0 0 1px; - border-style: solid; -} -.slider-rulelabel { - position: relative; - top: 20px; -} -.slider-rulelabel span { - position: absolute; - display: inline-block; - font-size: 14px; -} -.slider-v .slider-inner { - width: 6px; - left: 7px; - top: 0; - float: left; -} -.slider-v .slider-handle { - left: 50%; - margin-top: -10px; -} -.slider-v .slider-tip { - left: -10px; - margin-top: -6px; -} -.slider-v .slider-rule { - float: left; - top: 0; - left: 16px; -} -.slider-v .slider-rule span { - width: 5px; - height: 'auto'; - border-left: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.slider-v .slider-rulelabel { - float: left; - top: 0; - left: 23px; -} -.slider-handle { - background: url('images/slider_handle.png') no-repeat; -} -.slider-inner { - border-color: #ddd; - background: #f5f5f5; -} -.slider-rule span { - border-color: #ddd; -} -.slider-rulelabel span { - color: #404040; -} -.menu { - position: absolute; - margin: 0; - padding: 2px; - border-width: 1px; - border-style: solid; - overflow: hidden; -} -.menu-inline { - position: relative; -} -.menu-item { - position: relative; - margin: 0; - padding: 0; - overflow: hidden; - white-space: nowrap; - cursor: pointer; - border-width: 1px; - border-style: solid; -} -.menu-text { - height: 20px; - line-height: 20px; - float: left; - padding-left: 28px; -} -.menu-icon { - position: absolute; - width: 16px; - height: 16px; - left: 2px; - top: 50%; - margin-top: -8px; -} -.menu-rightarrow { - position: absolute; - width: 16px; - height: 16px; - right: 0; - top: 50%; - margin-top: -8px; -} -.menu-line { - position: absolute; - left: 26px; - top: 0; - height: 2000px; - font-size: 1px; -} -.menu-sep { - margin: 3px 0px 3px 25px; - font-size: 1px; -} -.menu-noline .menu-line { - display: none; -} -.menu-noline .menu-sep { - margin-left: 0; - margin-right: 0; -} -.menu-active { - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.menu-item-disabled { - opacity: 0.5; - filter: alpha(opacity=50); - cursor: default; -} -.menu-text, -.menu-text span { - font-size: 14px; -} -.menu-shadow { - position: absolute; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; - background: #fafafa; - -moz-box-shadow: 2px 2px 3px #fafafa; - -webkit-box-shadow: 2px 2px 3px #fafafa; - box-shadow: 2px 2px 3px #fafafa; - filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); -} -.menu-rightarrow { - background: url('images/menu_arrows.png') no-repeat -32px center; -} -.menu-line { - border-left: 1px solid #ddd; - border-right: 1px solid #fff; -} -.menu-sep { - border-top: 1px solid #ddd; - border-bottom: 1px solid #fff; -} -.menu { - background-color: #fff; - border-color: #eee; - color: #404040; -} -.menu-content { - background: #ffffff; -} -.menu-item { - border-color: transparent; - _border-color: #fff; -} -.menu-active { - border-color: #ccc; - color: #404040; - background: #eee; -} -.menu-active-disabled { - border-color: transparent; - background: transparent; - color: #404040; -} -.m-btn-downarrow, -.s-btn-downarrow { - display: inline-block; - position: absolute; - width: 16px; - height: 16px; - font-size: 1px; - right: 0; - top: 50%; - margin-top: -8px; -} -.m-btn-active, -.s-btn-active { - background: #eee; - color: #404040; - border: 1px solid #ccc; - filter: none; -} -.m-btn-plain-active, -.s-btn-plain-active { - background: transparent; - padding: 0; - border-width: 1px; - border-style: solid; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.m-btn .l-btn-left .l-btn-text { - margin-right: 20px; -} -.m-btn .l-btn-icon-right .l-btn-text { - margin-right: 40px; -} -.m-btn .l-btn-icon-right .l-btn-icon { - right: 20px; -} -.m-btn .l-btn-icon-top .l-btn-text { - margin-right: 4px; - margin-bottom: 14px; -} -.m-btn .l-btn-icon-bottom .l-btn-text { - margin-right: 4px; - margin-bottom: 34px; -} -.m-btn .l-btn-icon-bottom .l-btn-icon { - top: auto; - bottom: 20px; -} -.m-btn .l-btn-icon-top .m-btn-downarrow, -.m-btn .l-btn-icon-bottom .m-btn-downarrow { - top: auto; - bottom: 0px; - left: 50%; - margin-left: -8px; -} -.m-btn-line { - display: inline-block; - position: absolute; - font-size: 1px; - display: none; -} -.m-btn .l-btn-left .m-btn-line { - right: 0; - width: 16px; - height: 500px; - border-style: solid; - border-color: #ccc; - border-width: 0 0 0 1px; -} -.m-btn .l-btn-icon-top .m-btn-line, -.m-btn .l-btn-icon-bottom .m-btn-line { - left: 0; - bottom: 0; - width: 500px; - height: 16px; - border-width: 1px 0 0 0; -} -.m-btn-large .l-btn-icon-right .l-btn-text { - margin-right: 56px; -} -.m-btn-large .l-btn-icon-bottom .l-btn-text { - margin-bottom: 50px; -} -.m-btn-downarrow, -.s-btn-downarrow { - background: url('images/menu_arrows.png') no-repeat 0 center; -} -.m-btn-plain-active, -.s-btn-plain-active { - border-color: #ccc; - background-color: #eee; - color: #404040; -} -.s-btn:hover .m-btn-line, -.s-btn-active .m-btn-line, -.s-btn-plain-active .m-btn-line { - display: inline-block; -} -.l-btn:hover .s-btn-downarrow, -.s-btn-active .s-btn-downarrow, -.s-btn-plain-active .s-btn-downarrow { - border-style: solid; - border-color: #ccc; - border-width: 0 0 0 1px; -} -.messager-body { - padding: 10px 10px 30px 10px; - overflow: auto; -} -.messager-button { - text-align: center; - padding: 5px; -} -.messager-button .l-btn { - width: 70px; -} -.messager-icon { - float: left; - width: 32px; - height: 32px; - margin: 0 10px 10px 0; -} -.messager-error { - background: url('images/messager_icons.png') no-repeat scroll -64px 0; -} -.messager-info { - background: url('images/messager_icons.png') no-repeat scroll 0 0; -} -.messager-question { - background: url('images/messager_icons.png') no-repeat scroll -32px 0; -} -.messager-warning { - background: url('images/messager_icons.png') no-repeat scroll -96px 0; -} -.messager-progress { - padding: 10px; -} -.messager-p-msg { - margin-bottom: 5px; -} -.messager-body .messager-input { - width: 100%; - padding: 4px 0; - outline-style: none; - border: 1px solid #ddd; -} -.window-thinborder .messager-button { - padding-bottom: 8px; -} -.tree { - margin: 0; - padding: 0; - list-style-type: none; -} -.tree li { - white-space: nowrap; -} -.tree li ul { - list-style-type: none; - margin: 0; - padding: 0; -} -.tree-node { - height: 26px; - white-space: nowrap; - cursor: pointer; -} -.tree-hit { - cursor: pointer; -} -.tree-expanded, -.tree-collapsed, -.tree-folder, -.tree-file, -.tree-checkbox, -.tree-indent { - display: inline-block; - width: 16px; - height: 18px; - margin: 4px 0; - vertical-align: middle; - overflow: hidden; -} -.tree-expanded { - background: url('images/tree_icons.png') no-repeat -18px 0px; -} -.tree-expanded-hover { - background: url('images/tree_icons.png') no-repeat -50px 0px; -} -.tree-collapsed { - background: url('images/tree_icons.png') no-repeat 0px 0px; -} -.tree-collapsed-hover { - background: url('images/tree_icons.png') no-repeat -32px 0px; -} -.tree-lines .tree-expanded, -.tree-lines .tree-root-first .tree-expanded { - background: url('images/tree_icons.png') no-repeat -144px 0; -} -.tree-lines .tree-collapsed, -.tree-lines .tree-root-first .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -128px 0; -} -.tree-lines .tree-node-last .tree-expanded, -.tree-lines .tree-root-one .tree-expanded { - background: url('images/tree_icons.png') no-repeat -80px 0; -} -.tree-lines .tree-node-last .tree-collapsed, -.tree-lines .tree-root-one .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -64px 0; -} -.tree-line { - background: url('images/tree_icons.png') no-repeat -176px 0; -} -.tree-join { - background: url('images/tree_icons.png') no-repeat -192px 0; -} -.tree-joinbottom { - background: url('images/tree_icons.png') no-repeat -160px 0; -} -.tree-folder { - background: url('images/tree_icons.png') no-repeat -208px 0; -} -.tree-folder-open { - background: url('images/tree_icons.png') no-repeat -224px 0; -} -.tree-file { - background: url('images/tree_icons.png') no-repeat -240px 0; -} -.tree-loading { - background: url('images/loading.gif') no-repeat center center; -} -.tree-checkbox0 { - background: url('images/tree_icons.png') no-repeat -208px -18px; -} -.tree-checkbox1 { - background: url('images/tree_icons.png') no-repeat -224px -18px; -} -.tree-checkbox2 { - background: url('images/tree_icons.png') no-repeat -240px -18px; -} -.tree-title { - font-size: 14px; - display: inline-block; - text-decoration: none; - vertical-align: middle; - white-space: nowrap; - padding: 0 2px; - margin: 4px 0; - height: 18px; - line-height: 18px; -} -.tree-node-proxy { - font-size: 14px; - line-height: 20px; - padding: 0 2px 0 20px; - border-width: 1px; - border-style: solid; - z-index: 9900000; -} -.tree-dnd-icon { - display: inline-block; - position: absolute; - width: 16px; - height: 18px; - left: 2px; - top: 50%; - margin-top: -9px; -} -.tree-dnd-yes { - background: url('images/tree_icons.png') no-repeat -256px 0; -} -.tree-dnd-no { - background: url('images/tree_icons.png') no-repeat -256px -18px; -} -.tree-node-top { - border-top: 1px dotted red; -} -.tree-node-bottom { - border-bottom: 1px dotted red; -} -.tree-node-append .tree-title { - border: 1px dotted red; -} -.tree-editor { - border: 1px solid #ddd; - font-size: 14px; - height: 26px; - line-height: 26px; - padding: 0 4px; - margin: 0; - width: 80px; - outline-style: none; - vertical-align: middle; - position: absolute; - top: 0; -} -.tree-node-proxy { - background-color: #ffffff; - color: #404040; - border-color: #ddd; -} -.tree-node-hover { - background: #eee; - color: #404040; -} -.tree-node-selected { - background: #00bbee; - color: #fff; -} -.tree-node-hidden { - display: none; -} -.inputbox { - display: inline-block; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; -} -.validatebox-invalid { - border-color: #ffa8a8; - background-color: #fff; - color: #404040; -} -.tooltip { - position: absolute; - display: none; - z-index: 9900000; - outline: none; - opacity: 1; - filter: alpha(opacity=100); - padding: 5px; - border-width: 1px; - border-style: solid; - border-radius: 5px; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.tooltip-content { - font-size: 14px; -} -.tooltip-arrow-outer, -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - line-height: 0; - font-size: 0; - border-style: solid; - border-width: 6px; - border-color: transparent; - _border-color: tomato; - _filter: chroma(color=tomato); -} -.tooltip-arrow { - display: none \9; -} -.tooltip-right .tooltip-arrow-outer { - left: 0; - top: 50%; - margin: -6px 0 0 -13px; -} -.tooltip-right .tooltip-arrow { - left: 0; - top: 50%; - margin: -6px 0 0 -12px; -} -.tooltip-left .tooltip-arrow-outer { - right: 0; - top: 50%; - margin: -6px -13px 0 0; -} -.tooltip-left .tooltip-arrow { - right: 0; - top: 50%; - margin: -6px -12px 0 0; -} -.tooltip-top .tooltip-arrow-outer { - bottom: 0; - left: 50%; - margin: 0 0 -13px -6px; -} -.tooltip-top .tooltip-arrow { - bottom: 0; - left: 50%; - margin: 0 0 -12px -6px; -} -.tooltip-bottom .tooltip-arrow-outer { - top: 0; - left: 50%; - margin: -13px 0 0 -6px; -} -.tooltip-bottom .tooltip-arrow { - top: 0; - left: 50%; - margin: -12px 0 0 -6px; -} -.tooltip { - background-color: #ffffff; - border-color: #ddd; - color: #404040; -} -.tooltip-right .tooltip-arrow-outer { - border-right-color: #ddd; -} -.tooltip-right .tooltip-arrow { - border-right-color: #ffffff; -} -.tooltip-left .tooltip-arrow-outer { - border-left-color: #ddd; -} -.tooltip-left .tooltip-arrow { - border-left-color: #ffffff; -} -.tooltip-top .tooltip-arrow-outer { - border-top-color: #ddd; -} -.tooltip-top .tooltip-arrow { - border-top-color: #ffffff; -} -.tooltip-bottom .tooltip-arrow-outer { - border-bottom-color: #ddd; -} -.tooltip-bottom .tooltip-arrow { - border-bottom-color: #ffffff; -} -.switchbutton { - text-decoration: none; - display: inline-block; - overflow: hidden; - vertical-align: middle; - margin: 0; - padding: 0; - cursor: pointer; - background: #d9d9d9; - border: 1px solid #d9d9d9; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.switchbutton-inner { - display: inline-block; - overflow: hidden; - position: relative; - top: -1px; - left: -1px; -} -.switchbutton-on, -.switchbutton-off, -.switchbutton-handle { - display: inline-block; - text-align: center; - height: 100%; - float: left; - font-size: 14px; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.switchbutton-on { - background: #00bbee; - color: #fff; -} -.switchbutton-off { - background-color: #ffffff; - color: #404040; -} -.switchbutton-on, -.switchbutton-reversed .switchbutton-off { - -moz-border-radius: 4px 0 0 4px; - -webkit-border-radius: 4px 0 0 4px; - border-radius: 4px 0 0 4px; -} -.switchbutton-off, -.switchbutton-reversed .switchbutton-on { - -moz-border-radius: 0 4px 4px 0; - -webkit-border-radius: 0 4px 4px 0; - border-radius: 0 4px 4px 0; -} -.switchbutton-handle { - position: absolute; - top: 0; - left: 50%; - background-color: #ffffff; - color: #404040; - border: 1px solid #d9d9d9; - -moz-box-shadow: 0 0 3px 0 #d9d9d9; - -webkit-box-shadow: 0 0 3px 0 #d9d9d9; - box-shadow: 0 0 3px 0 #d9d9d9; -} -.switchbutton-value { - position: absolute; - top: 0; - left: -5000px; -} -.switchbutton-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.switchbutton-disabled, -.switchbutton-readonly { - cursor: default; -} -.radiobutton { - position: relative; - border: 2px solid #00bbee; - border-radius: 50%; -} -.radiobutton-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #00bbee; - border-radius: 50%; - transform: scale(.6); -} -.radiobutton-disabled { - opacity: 0.6; -} -.radiobutton-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} -.checkbox { - position: relative; - border: 2px solid #00bbee; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.checkbox-checked { - border: 0; - background: #00bbee; -} -.checkbox-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; -} -.checkbox path { - stroke-width: 2px; -} -.checkbox-disabled { - opacity: 0.6; -} -.checkbox-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} -.sidemenu .tree-hit { - background-image: none; -} -.sidemenu-default-icon { - background-image: none; - width: 0; -} -.sidemenu .accordion .accordion-header, -.sidemenu .accordion .accordion-body { - border-bottom-color: transparent; - background: transparent; -} -.sidemenu .accordion .accordion-header { - color: #000000; -} -.sidemenu .accordion-header .panel-title { - height: 30px; - line-height: 30px; - color: #000000; -} -.sidemenu .accordion-header:hover { - background: #eee; - color: #000000; -} -.sidemenu .tree-node-hover { - background: #eee; - color: #000000; -} -.sidemenu .tree-node-selected { - border-right: 2px solid #00bbee; - color: #fff; - background: #00bbee; -} -.sidemenu .tree-node { - height: 40px; -} -.sidemenu .tree-title { - margin: 11px 0; -} -.sidemenu .tree-node-nonleaf { - position: relative; -} -.sidemenu .tree-node-nonleaf::after { - display: inline-block; - content: ''; - position: absolute; - top: 50%; - margin-top: -8px; - background: url('images/accordion_arrows.png') no-repeat 0 0; - width: 16px; - height: 16px; - right: 5px; -} -.sidemenu .tree-node-nonleaf-collapsed::after { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.sidemenu-collapsed .panel-icon { - left: 50%; - margin-left: -8px; -} -.sidemenu-tooltip { - padding: 0; - margin: 0 -12px; - border: 0; -} -.sidemenu-tooltip.tooltip-left { - margin: 0 12px; -} -.sidemenu-tooltip .tooltip-arrow-outer, -.sidemenu-tooltip .tooltip-arrow { - display: none; -} -.l-btn { - box-shadow: 0 1px 2px rgba(0,0,0,0.2), 0 1px 1px rgba(0,0,0,0.05); -} -.l-btn:active { - box-shadow: 0 6px 17px 0 rgba(235,235,235,0.3); -} -.l-btn-selected { - box-shadow: 0 1px 2px rgba(89,205,226,0.2), 0 1px 1px rgba(89,205,226,0.05); -} -.l-btn-plain, -.l-btn-disabled, -.l-btn-disabled:active, -.textbox-button { - box-shadow: none; -} -.l-btn-selected, -.l-btn-selected:hover { - background: #00bbee; - color: #fff; -} -.l-btn-plain-selected, -.l-btn-plain-selected:hover { - background: #00bbee; -} -.m-btn-active, -.m-btn-plain-active, -.s-btn-active, -.s-btn-plain-active { - background: #00bbee; - color: #fff; -} -.menu-shadow, -.combo-p { - -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); - -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); - box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); - filter: none; -} -.menu-active { - border-color: transparent; - color: #fff; - background: #00bbee; -} -.menu-active-disabled { - border-color: transparent; - background: transparent; - color: #404040; -} -.window { - background-color: #fff; -} -.window-proxy { - border-color: #ccc; -} -.window-shadow { - -moz-box-shadow: 0 7px 8px -4px rgba(0,0,0,0.2), 0 13px 19px 2px rgba(0,0,0,0.14), 0 5px 24px 4px rgba(0,0,0,0.12); - -webkit-box-shadow: 0 7px 8px -4px rgba(0,0,0,0.2), 0 13px 19px 2px rgba(0,0,0,0.14), 0 5px 24px 4px rgba(0,0,0,0.12); - box-shadow: 0 7px 8px -4px rgba(0,0,0,0.2), 0 13px 19px 2px rgba(0,0,0,0.14), 0 5px 24px 4px rgba(0,0,0,0.12); - filter: none; -} -.window-mask { - background: #000; -} -.datagrid-header .datagrid-cell, -.datagrid-header .datagrid-cell-group { - color: #666; - font-weight: bold; - filter: alpha(opacity=80); - opacity: 0.80; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-style: solid; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/filebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/filebox.css deleted file mode 100644 index c6bac66..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/filebox.css +++ /dev/null @@ -1,20 +0,0 @@ -.filebox .textbox-value { - vertical-align: top; - position: absolute; - top: 0; - left: -5000px; -} -.filebox-label { - display: inline-block; - position: absolute; - width: 100%; - height: 100%; - cursor: pointer; - left: 0; - top: 0; - z-index: 10; - background: url('images/blank.gif') no-repeat; -} -.l-btn-disabled .filebox-label { - cursor: default; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/Thumbs.db b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/Thumbs.db deleted file mode 100644 index 5f257a2a49959543d36e2641d352572547e40e63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35328 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 T0gjLZeOBaa?|wA#e_!~27*z{8 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/accordion_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/accordion_arrows.png deleted file mode 100644 index b6368d636e2ff36501ff9c6b14f7ce09997f3743..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel!K>>V@SoV?_1tQrr|vg#{&FxgXS!5MW?fq8aJ< T>6BX`&@2W|S3j3^P6h?7!oT zn93bYIb9!43Wj)WNz0M)xYl!8U>3_OjRiss3@1j_Zvlb#iD~jUnsR3em#t_3WtUHqj%c^0} zFSrhZpjU$)YHUS-lsMx)nN8pghWK6h!524#*oXjC@NjHF9H1y2K%G?c=lr%4eY%ue zT+7R9Pld<2<$C}OAU0HZIJPqD0RA&Sip042zF(tA4uaUhZ>jL`*HN0POocjDIidNRbTZ#@zvW7@I c5>Ct23v;ttA1D3-v;Y7A07*qoM6N<$f&+eyE&u=k diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/datebox_arrow.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/datebox_arrow.png deleted file mode 100644 index 783c83357fdf90a1c7c024358e1d768b5c09c135..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 626 zcmV-&0*(ENP)5OC%H;f`~O(q$Q#t2<^v$A>fbmv%e#dKTwK=Ku{5lS|}<-`a#7b zzTCOnnT>at)D}AMFuOZ5&%EqFN(lyumd$2ASF6=;nM~%2?gqc@U=#|4PqkX@EBo-9 z7pD#bO_RUa>*faM`8;MYfVi$JnB-zcBFc6gjl$d!bF98Q!!!(Z1_R~P?e!pt#6CHJ9S&n_n&@=9 z%GP;!@Co4c*at+6vNz7o(6en^Q1%qHrc;1)9IRaz-$@S$Z-qdC^ds3X0NvQH;KS)D z-dh&rW&@X;1cS(45z)J&BVt+tv&GMVJ%!EiW) zLBGZW)#Z+gl-Lih&?>X3SS-S#ujQ;9JRXmIB7X)8`d6ETj)D#Q2+$s|<_b7-B9Xvq zwNfqlEp%y3$uY`h{Y$(Gn5@}sqEsq95lpAkFO5dyBmP6^H-51G4J|rN2Ujt<`2YX_ M07*qoM6N<$f|L1?c z_O8;7?=$$OZE)N^=kf)!wu_8{hTkWuP3Lf!{Qqt%*U6B7qRbydZ`F0T{#^CG?%493 zHc6j2;SWMDuL>F^vlqEUI{oOgO!xNf*11TukM z6kTZ3V2qd3<~<$H&Lrt?SpXUxF5Zb^}(={r!EHE+$QMdH|XZ zSYbMyc0tQc3qbP$tG{U_Jyg>I(0srOscEGU?-T)4AzuS$_2J>6`+BJ50YDY<^>2vV z+uI880P2ui(hyHiPrK$)CkbHg=kD&V3^8pD z0v3QOB&8eT@87?rgaGPrb#+ySxU;jP=nkL`nZ_{0e*BD+1Tc5b&d$oLo}8R$90gF1 z^ij>~#>R%HIRNUB_kgpQ+Lg!80Gbb2saY8>1EBeUm7A3TegK*dSciv)Wqp0!h-3im z1+1f^qq4iZ+ZEMUS63~e0I+zh`2rwd0l@!F(!7sM%_`|&0+*B!z{1(u+A9BIU&~T- z2he=L>dmc7TLXZFkeTeCHMcE|qX51{z>0ZC=xGjss*FaXGOMX+dHf8Z8hL6ntGQ_z zF9V<&dwY9jh`D7czyqj4g3S=~)zFA!0980RI4DC*Ez1%L09D8%=OHF&S@Q*;3bRfe zeL2-ZzyeT(Av4`$>R3`j096>WH7BOELD3yR70%Dk%Mk4)1W=73OH{L_UgIc$YFu7k zmRaq`&NxK?Rk*skDzlhL4IV!OsLJ*Ab@{BRT^TO}pgQC6xO~R6G8o_oU?C)>`xlc2 zriH~zU-;g$PyPA_&X!OBSU6SIeB~eKNAhF&(fs&F|1n9<+Yj^2T+4Dj%UFjr zZ%rnX^7Qmn0ANwP308gILtaQfK0Z1j0Br`Wq<=~Ka+?BxW&>7kRtZ+q>C~wJXg6S` zW|cJ1%?d#C0V@Ue)T{uY>425ig?tTsczEc(0+M8_c7^t|!sm-1Nw(}#nnLr?FgGlc zY}ut0+w(d)Uk6FDWtY;*aCdjteIX>tmhA#o+8PqHNU~+SlrTfyKRaNHBx~Ch-FJ3& z%B(Y&NwStp{rH$6Yj{YqhR=Gk~Mtw_&K$#yeTBf z7JV~bCN(VwL$c|B^>Topn-X{+7;S!yV~2^ zBgv-iMkME}U;-COwrsbABDvwg!2wA&ZMWttf5^jTl5E*7V41=|@=Hu>NJ^O8(7b4p z&ChgC(LF5>Md#{+4LgS{%KA|H(Xv`l4P^KdiBKB*_;1&m|Q7!{|O$ k%vVK{T!hwqk^D0L0mO==@4IV9lK=n!07*qoM6N<$f|Ge;n*aa+ diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/loading.gif b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/loading.gif deleted file mode 100644 index 68f01d04813c1f622810864a3aaa04b4a17ac8f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1737 zcmaKsX;2e)7>CzDa{xjjy99|1A!tC(kfocDi)<1$AxHpOQ4k^l!Vx1W6x7<&|FYXU zqO4jEiU-!VR1p+Xj1?4-iuI_J;!&?!+ghg|JJad3U)pMGzcKxNeCM6tJnuX+uPvX@ zZY|=AHdxt2Xr2y*)5|c6#FSEuyJ+Y3Z&l z2hJWo`9;lJ$6wzSoW60tqkB|d$oiO*d-^85^ojn{*NR{MP*%{@H*#gihZ8BKyB68E z-MIbjgNNV0y5khpJ^Jv`51aR%={<4jhaVq5e*9D5+*hL)XCHn4{^d%hPu@?KpKbc=eN!D=XUjDmH#n{YHNS zHCX6BV)yn2CuTNujhN~V+`RKpyXO6^ht92eqhIIlQLfz6eeCnH_C7`NPNrw9ks366 z4xX9(`s~z=+1uX^ocZ$2_fBs=JihPfWYufOIuD&AU-@`>>qn~cy$1)T7CU!5z2(U8 z)9Kt9)l`f6?NU41j6XbXfR{OHwm|T4}&24tIf+!C-g~6cQfY2^n$?AT&ZW zgqm`}3-jS2NS6n=k;sr5Hv(Q%%n)qW0X|neWVBd;Ko}d(=u%?{O0-a>kSI}shOd9n z5top}%gUCf=>?tg;*;#7!^HOL3k$fMxd=O-6Y4@%u8LS)C1D_a?27R6^vcC+6tttL z)GmTahbyJB!xmcHL#ya8ZXyfRl)a!N0BJE0y3BBfAV5;#=K&Z2VkaKZ)?9`1h5P_% znt*b}%j1|#j`b|aQDx@~wA#$PYRN2xE6UO;;vE(@$&xww-s8fZ5HmJ(eJ*rQrDbaawDbrfe_8F(wq{ge?)qQG`aXV;r(*6EM|ESje;52aFmrX!f=Pw^2oGQX$1|o4yts|b_5@w_kNwtl{wDP#JGMvIp#!SYX?Wq9S&`&_ZwkgGH5CLB7DEGJ6=R4J~p3Z4i^A}hs=-uZeD zs92l6u@**R$~L()G{5N8*7cE5-q$SCo`q4|NSVF*+A7&xZnypm$EdXgf)E%(VJHFD zSgi(H!D!(;9Zcc#GrCCJh=RlvXBQ-hv4Vodse`a32ZUFWgP5ZhM5LeV(#D^H8p@Lg ztra5R32z@1rQv{6u&RZL5%Z@Ye{q|t#6aM_1hIrpl@)oH6}os*cbAQywa{5<`ekzW O1il%9bk82&KlvLjD^%40 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/menu_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/menu_arrows.png deleted file mode 100644 index b986842e7e4044caed18edbcb4b376a4bb915623..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQt6&9jv*Dd-cB{-J7B=U{PTZ! zWrKV9%Z3|Wt5t$(gq+#d+-OocB$0fsr9DfRx52vPhSu$$+yXuy+69hDZ54DDTxx#r zL7>-12UT01v)>tZ+;HI4pDNf?@KK~EC$@35ykmXyu^HJF3})N>8P9Uwo&~g$!PC{x JWt~$(697!FIeGv9 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/messager_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/messager_icons.png deleted file mode 100644 index 86b0b0e6c73d6bdedc843763484982e5c9e71b0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2224 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 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/passwordbox_open.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/passwordbox_open.png deleted file mode 100644 index 0f25d535e05b22b406fd72647611aace9cfa6249..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>7Fi*Ar-fh6C~yxIB_Cl)5eV- z>r;4yl-<@d?s6;P338s2rmQ?!Qz1HW#so#C46Xx7Cq5}K`Svo!h;^q;DRB5^Z?=`` zg<12Qetm(ByO<;&a5^L{7TnL>!KiVsAxlibJl4>NC!c|#Jtt+3rSZgWpp^`su6{1- HoD!M<3i~r2 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/searchbox_button.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/searchbox_button.png deleted file mode 100644 index 6dd1931589b453f6cc9772fd1851d8705d6b6631..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 813 zcmV+|1JeA7P)lXvaa)1B=8vtU6i;3jw7+Lm8D5$Z@i10EnF)=bcefw4K z$^E-CUfjQG`svfBbfD6|R#sLFj6lo3FG$G6@;ee>>~6i|H^5OY8c00W#fi<*1vzh{0&qu3dB`V0{{XDY`}(1n>S9M(9!zw#!&`A z#;*+0{6GVMSeWGp!`o{o8NPge#o%jgs54WT$qnQYpsyGNpauX05F;oJfZ`Pdw6!$j zynTH0RMa&!n3$Pa9zVGEY{&L(3qnPBl_DG6<9Xk0`Fl3`LiD4@pH{vDsxJWQ1qdJp zEJ>M}osCtQlY?CgW>F{;gVK#SmgoOZnEn5J%EtIXaWQXAO>Rdf)WFR;gt~f zXaA3z{{L{q=l48y!32yJ3i0hJ2BS=^}@sXzH{F9Iq&OW375;I7CG-}Vr|aF#l<(fySwu2>`YdxRW*W0f#2un=W5Jmvoe`XCK%I_Y++#`fwE+= zSd{sEULGDE%A=#BOW<6gP*6VfMa^fr8qe`5w%)P0a^Y9WGTw! zvI^|$>l@1Da^Ke1*T3RdY7KqM%gaBb(P+oP!GW;b?ZRfW3Bxc1H@GCaHK#XhZ*Lc= zRBC@>V&W#x&B5%(#>OW5`};d6I5Qw218EG_q@1gtr!Nl*v7yn?(MPMRt4SNy%--JK zanm#f^bw^}Nr7b(EUg}TUi(2;)deX10lAo=83+VA(QksJI6(zwptET-y~avN=J9w$ zI2`W5lG|aOkjY7(&!@;Jx*nUA>~J`Q)9L&(G8y=g$3a4YgD7z)5>gXQNKhw=uR0zF z#jHruh)gDv=bj|2ZES4(fEM?I!JyKqo=}sj-fBYTcDt4KXq)eFQH}wW`vh%Mla}#@ z@Mb`C)x@YkK{xd2>8ZLg+E!Lps$Q@6DY-~!0=Gs+Mm~_JnW1EbX2uxClEdN>Y@I78 z=ke_9?7sX@o0*x}M{JB77MIXj_MmNE%+1Xe{*{crh)9={dR(U;y-{jrxUXmG%Gt002ovPDHLkV1hy(sXhPz diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/spinner_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/spinner_arrows.png deleted file mode 100644 index b1773c24b20b30318e38c4b84690e3d0010c9c43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQZb$`jv*Ddk`p9Y7bl4DgeBzU z{E=^QXHHmRmEiEUJ<_jB`NK-}t7{l}8A{FvOK}{T)p$BC>8|6-x-MIXOa{IRh5%#E x$&;(vVs#x>vb(K5c#%QkA)^788{=C>2L8QE5AM%P*8@KmF984m diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/tabs_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/tabs_icons.png deleted file mode 100644 index 4dbacce18ec1310d22dc4de8ff895f597b0d61eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^20$#p!3HD)*8SNCq{2L1978H@B_~L*E^hdC;Kq#~ z_8gbJY-45o``Fp;2v4zS5!xHXwo~JmL(T+=yD|FVdQ&MBb@0IQ}mHUIzs diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/tagbox_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/tagbox_icons.png deleted file mode 100644 index 8ec64360884b3fdb81255ad6074bc08ed183232c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel#i#2V@SoVtb9vwNkrdSr%AfUpK=5(o}_e|{SG6u6f5&Q g4t5*qz9vC-hN^}472i&@1{u%b>FVdQ&MBb@08Zm4@c;k- diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/tree_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/tree_icons.png deleted file mode 100644 index e9be4f3a9965e49a4e4078f8c53f486d761a7468..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3115 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 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/validatebox_warning.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/validatebox_warning.png deleted file mode 100644 index 2b3d4f05babf3f82b146350e96570fac02075de0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 921 zcmV;K17`e*P)nRv1_mBsMY*-M^XCf)eflW5 z|MC^)Hw+AW{sHCCF+cz@{fF8J!+#-kxoSv=7^|!zgOQUngSQ}mDo|J)n+pH}hzZ#= zr~y18$_m-?9v%$;?mu8);}>9vFgFvDXJDwrW&l6{p}625M66yTFhGz^K$w9^O$BHi zFN2Ym7DIple*#cW4BY^L0Al(Jbv6k9U|^6IQBp{hx3XdQ&CJ4Z_|YSVr@XujY(PVT zlok1<85nBO4FCurumK>O|A07*jFlSRUcxLAQVcIR*co#3@)&jj4Pj7KXRri%#h;fa z4ya5O*#Lk5Vq!q}T~=CGH(uV-hJk^fkAYoGjN#AMuMF($>N=giWG}IXse|=+c=i>7HEg>%*E%fLD!-uy|85n^6W?^Dt(9zXp5EB&z+w>_knBmdiKMbzi z?A!`WOl>e100a=&05*1xZdFls?*HtZ48H?o7=HW%ivIu45E2~BASWx!@DIpmv9e}h zaPwji|L}pqor@y`=yxrU0RRES^qYY}O;TRcU+DKIhL4`%3_nyf8U6tS<<-ZJ40D$( zWjJ%`G6NIPHNP2{7am*Fp% z{>ShK#0G`~kjd~57_BU.panel-body, -.panel-hright>.panel-body { - position: absolute; -} -.panel-hleft>.panel-header { - float: left; -} -.panel-hright>.panel-header { - float: right; -} -.panel-hleft>.panel-body { - border-top-width: 1px; - border-left-width: 0; -} -.panel-hright>.panel-body { - border-top-width: 1px; - border-right-width: 0; -} -.panel-hleft>.panel-body-nobottom { - border-bottom-width: 1px; - border-right-width: 0; -} -.panel-hright>.panel-body-nobottom { - border-bottom-width: 1px; - border-left-width: 0; -} -.panel-hleft>.panel-footer { - position: absolute; - right: 0; -} -.panel-hright>.panel-footer { - position: absolute; - left: 0; -} -.panel-hleft>.panel-header-noborder { - border-width: 0 1px 0 0; -} -.panel-hright>.panel-header-noborder { - border-width: 0 0 0 1px; -} -.panel-hleft>.panel-body-noborder { - border-width: 0; -} -.panel-hright>.panel-body-noborder { - border-width: 0; -} -.panel-hleft>.panel-body-noheader { - border-left-width: 1px; -} -.panel-hright>.panel-body-noheader { - border-right-width: 1px; -} -.panel-hleft>.panel-footer-noborder { - border-width: 0 0 0 1px; -} -.panel-hright>.panel-footer-noborder { - border-width: 0 1px 0 0; -} -.panel-hleft>.panel-header .panel-icon, -.panel-hright>.panel-header .panel-icon { - margin-top: 0; - top: 5px; - left: 50%; - margin-left: -8px; -} -.panel-hleft>.panel-header .panel-title, -.panel-hright>.panel-header .panel-title { - position: absolute; - min-width: 16px; - left: 25px; - top: 5px; - bottom: auto; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(90deg); - -o-transform-origin: 0 0; - transform: rotate(90deg); - transform-origin: 0 0; -} -.panel-hleft>.panel-header .panel-title-up, -.panel-hright>.panel-header .panel-title-up { - position: absolute; - min-width: 16px; - left: 21px; - top: auto; - bottom: 0px; - text-align: right; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(-90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(-90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(-90deg); - -o-transform-origin: 0 0; - transform: rotate(-90deg); - transform-origin: 0 16px; -} -.panel-hleft>.panel-header .panel-with-icon.panel-title-up, -.panel-hright>.panel-header .panel-with-icon.panel-title-up { - padding-left: 0; - padding-right: 18px; -} -.panel-hleft>.panel-header .panel-tool, -.panel-hright>.panel-header .panel-tool { - top: auto; - bottom: 5px; - width: 16px; - height: auto; - left: 50%; - margin-left: -8px; - margin-top: 0; -} -.panel-hleft>.panel-header .panel-tool a, -.panel-hright>.panel-header .panel-tool a { - margin: 2px 0 0 0; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/passwordbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/passwordbox.css deleted file mode 100644 index 92c9ce5..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/passwordbox.css +++ /dev/null @@ -1,6 +0,0 @@ -.passwordbox-open { - background: url('images/passwordbox_open.png') no-repeat center center; -} -.passwordbox-close { - background: url('images/passwordbox_close.png') no-repeat center center; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/progressbar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/progressbar.css deleted file mode 100644 index 3eb2e0b..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/progressbar.css +++ /dev/null @@ -1,33 +0,0 @@ -.progressbar { - border-width: 1px; - border-style: solid; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; - overflow: hidden; - position: relative; -} -.progressbar-text { - text-align: center; - position: absolute; -} -.progressbar-value { - position: relative; - overflow: hidden; - width: 0; - -moz-border-radius: 4px 0 0 4px; - -webkit-border-radius: 4px 0 0 4px; - border-radius: 4px 0 0 4px; -} -.progressbar { - border-color: #ddd; -} -.progressbar-text { - color: #404040; - font-size: 14px; -} -.progressbar-value, -.progressbar-value .progressbar-text { - background-color: #00bbee; - color: #fff; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/propertygrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/propertygrid.css deleted file mode 100644 index 1d7a392..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/propertygrid.css +++ /dev/null @@ -1,27 +0,0 @@ -.propertygrid .datagrid-view1 .datagrid-body td { - padding-bottom: 1px; - border-width: 0 1px 0 0; -} -.propertygrid .datagrid-group { - overflow: hidden; - border-width: 0 0 1px 0; - border-style: solid; -} -.propertygrid .datagrid-group span { - font-weight: bold; -} -.propertygrid .datagrid-view1 .datagrid-body td { - border-color: #eee; -} -.propertygrid .datagrid-view1 .datagrid-group { - border-color: #f5f5f5; -} -.propertygrid .datagrid-view2 .datagrid-group { - border-color: #eee; -} -.propertygrid .datagrid-group, -.propertygrid .datagrid-view1 .datagrid-body, -.propertygrid .datagrid-view1 .datagrid-row-over, -.propertygrid .datagrid-view1 .datagrid-row-selected { - background: #f5f5f5; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/radiobutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/radiobutton.css deleted file mode 100644 index 8dda45f..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/radiobutton.css +++ /dev/null @@ -1,25 +0,0 @@ -.radiobutton { - position: relative; - border: 2px solid #00bbee; - border-radius: 50%; -} -.radiobutton-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #00bbee; - border-radius: 50%; - transform: scale(.6); -} -.radiobutton-disabled { - opacity: 0.6; -} -.radiobutton-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/searchbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/searchbox.css deleted file mode 100644 index 54ad885..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/searchbox.css +++ /dev/null @@ -1,61 +0,0 @@ -.searchbox-button { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.searchbox-button-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.searchbox .l-btn-plain { - border: 0; - padding: 0; - vertical-align: top; - opacity: 0.6; - filter: alpha(opacity=60); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .l-btn-plain:hover { - border: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox a.m-btn-plain-active { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .m-btn-active { - border-width: 0 1px 0 0; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .textbox-button-right { - border-width: 0 0 0 1px; -} -.searchbox .textbox-button-left { - border-width: 0 1px 0 0; -} -.searchbox-button { - background: url('images/searchbox_button.png') no-repeat center center; -} -.searchbox .l-btn-plain { - background: #f5f5f5; -} -.searchbox .l-btn-plain-disabled, -.searchbox .l-btn-plain-disabled:hover { - opacity: 0.5; - filter: alpha(opacity=50); -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/sidemenu.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/sidemenu.css deleted file mode 100644 index 2037aac..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/sidemenu.css +++ /dev/null @@ -1,72 +0,0 @@ -.sidemenu .tree-hit { - background-image: none; -} -.sidemenu-default-icon { - background-image: none; - width: 0; -} -.sidemenu .accordion .accordion-header, -.sidemenu .accordion .accordion-body { - border-bottom-color: transparent; - background: transparent; -} -.sidemenu .accordion .accordion-header { - color: #000000; -} -.sidemenu .accordion-header .panel-title { - height: 30px; - line-height: 30px; - color: #000000; -} -.sidemenu .accordion-header:hover { - background: #eee; - color: #000000; -} -.sidemenu .tree-node-hover { - background: #eee; - color: #000000; -} -.sidemenu .tree-node-selected { - border-right: 2px solid #00bbee; - color: #fff; - background: #00bbee; -} -.sidemenu .tree-node { - height: 40px; -} -.sidemenu .tree-title { - margin: 11px 0; -} -.sidemenu .tree-node-nonleaf { - position: relative; -} -.sidemenu .tree-node-nonleaf::after { - display: inline-block; - content: ''; - position: absolute; - top: 50%; - margin-top: -8px; - background: url('images/accordion_arrows.png') no-repeat 0 0; - width: 16px; - height: 16px; - right: 5px; -} -.sidemenu .tree-node-nonleaf-collapsed::after { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.sidemenu-collapsed .panel-icon { - left: 50%; - margin-left: -8px; -} -.sidemenu-tooltip { - padding: 0; - margin: 0 -12px; - border: 0; -} -.sidemenu-tooltip.tooltip-left { - margin: 0 12px; -} -.sidemenu-tooltip .tooltip-arrow-outer, -.sidemenu-tooltip .tooltip-arrow { - display: none; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/slider.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/slider.css deleted file mode 100644 index 43658dd..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/slider.css +++ /dev/null @@ -1,101 +0,0 @@ -.slider-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.slider-h { - height: 22px; -} -.slider-v { - width: 22px; -} -.slider-inner { - position: relative; - height: 6px; - top: 7px; - border-width: 1px; - border-style: solid; - border-radius: 4px; -} -.slider-handle { - position: absolute; - display: block; - outline: none; - width: 20px; - height: 20px; - top: 50%; - margin-top: -10px; - margin-left: -10px; -} -.slider-tip { - position: absolute; - display: inline-block; - line-height: 12px; - font-size: 14px; - white-space: nowrap; - top: -22px; -} -.slider-rule { - position: relative; - top: 15px; -} -.slider-rule span { - position: absolute; - display: inline-block; - font-size: 0; - height: 5px; - border-width: 0 0 0 1px; - border-style: solid; -} -.slider-rulelabel { - position: relative; - top: 20px; -} -.slider-rulelabel span { - position: absolute; - display: inline-block; - font-size: 14px; -} -.slider-v .slider-inner { - width: 6px; - left: 7px; - top: 0; - float: left; -} -.slider-v .slider-handle { - left: 50%; - margin-top: -10px; -} -.slider-v .slider-tip { - left: -10px; - margin-top: -6px; -} -.slider-v .slider-rule { - float: left; - top: 0; - left: 16px; -} -.slider-v .slider-rule span { - width: 5px; - height: 'auto'; - border-left: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.slider-v .slider-rulelabel { - float: left; - top: 0; - left: 23px; -} -.slider-handle { - background: url('images/slider_handle.png') no-repeat; -} -.slider-inner { - border-color: #ddd; - background: #f5f5f5; -} -.slider-rule span { - border-color: #ddd; -} -.slider-rulelabel span { - color: #404040; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/spinner.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/spinner.css deleted file mode 100644 index 55580b3..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/spinner.css +++ /dev/null @@ -1,114 +0,0 @@ -.spinner-arrow { - display: inline-block; - overflow: hidden; - vertical-align: top; - margin: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - width: 18px; -} -.spinner-arrow.spinner-button-top, -.spinner-arrow.spinner-button-bottom, -.spinner-arrow.spinner-button-left, -.spinner-arrow.spinner-button-right { - background-color: #f5f5f5; -} -.spinner-arrow-up, -.spinner-arrow-down { - opacity: 0.6; - filter: alpha(opacity=60); - display: block; - font-size: 1px; - width: 18px; - height: 10px; - width: 100%; - height: 50%; - color: #404040; - outline-style: none; - background-color: #f5f5f5; -} -.spinner-button-updown { - opacity: 1.0; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - position: relative; - display: block; - width: 100%; - height: 50%; -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down { - opacity: 1.0; - filter: alpha(opacity=100); - cursor: pointer; - width: 16px; - height: 16px; - top: 50%; - left: 50%; - margin-top: -8px; - margin-left: -8px; - position: absolute; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-button-updown .spinner-button-top:hover, -.spinner-button-updown .spinner-button-bottom:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down, -.spinner-button-updown .spinner-arrow-up:hover, -.spinner-button-updown .spinner-arrow-down:hover { - background-color: transparent; -} -.spinner-arrow-hover { - background-color: #eee; - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-top:hover, -.spinner-button-bottom:hover, -.spinner-button-left:hover, -.spinner-button-right:hover, -.spinner-arrow-up:hover, -.spinner-arrow-down:hover { - opacity: 1.0; - filter: alpha(opacity=100); - background-color: #eee; -} -.textbox-disabled .spinner-button-top:hover, -.textbox-disabled .spinner-button-bottom:hover, -.textbox-disabled .spinner-button-left:hover, -.textbox-disabled .spinner-button-right:hover, -.textbox-icon-disabled .spinner-arrow-up:hover, -.textbox-icon-disabled .spinner-arrow-down:hover { - opacity: 0.6; - filter: alpha(opacity=60); - background-color: #f5f5f5; - cursor: default; -} -.spinner .textbox-icon-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-arrow-up { - background: url('images/spinner_arrows.png') no-repeat 1px center; - background-color: #f5f5f5; -} -.spinner-arrow-down { - background: url('images/spinner_arrows.png') no-repeat -15px center; - background-color: #f5f5f5; -} -.spinner-button-up { - background: url('images/spinner_arrows.png') no-repeat -32px center; -} -.spinner-button-down { - background: url('images/spinner_arrows.png') no-repeat -48px center; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/splitbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/splitbutton.css deleted file mode 100644 index 2ad86f7..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/splitbutton.css +++ /dev/null @@ -1,12 +0,0 @@ -.s-btn:hover .m-btn-line, -.s-btn-active .m-btn-line, -.s-btn-plain-active .m-btn-line { - display: inline-block; -} -.l-btn:hover .s-btn-downarrow, -.s-btn-active .s-btn-downarrow, -.s-btn-plain-active .s-btn-downarrow { - border-style: solid; - border-color: #ccc; - border-width: 0 0 0 1px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/switchbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/switchbutton.css deleted file mode 100644 index 4c628cf..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/switchbutton.css +++ /dev/null @@ -1,77 +0,0 @@ -.switchbutton { - text-decoration: none; - display: inline-block; - overflow: hidden; - vertical-align: middle; - margin: 0; - padding: 0; - cursor: pointer; - background: #d9d9d9; - border: 1px solid #d9d9d9; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.switchbutton-inner { - display: inline-block; - overflow: hidden; - position: relative; - top: -1px; - left: -1px; -} -.switchbutton-on, -.switchbutton-off, -.switchbutton-handle { - display: inline-block; - text-align: center; - height: 100%; - float: left; - font-size: 14px; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.switchbutton-on { - background: #00bbee; - color: #fff; -} -.switchbutton-off { - background-color: #ffffff; - color: #404040; -} -.switchbutton-on, -.switchbutton-reversed .switchbutton-off { - -moz-border-radius: 4px 0 0 4px; - -webkit-border-radius: 4px 0 0 4px; - border-radius: 4px 0 0 4px; -} -.switchbutton-off, -.switchbutton-reversed .switchbutton-on { - -moz-border-radius: 0 4px 4px 0; - -webkit-border-radius: 0 4px 4px 0; - border-radius: 0 4px 4px 0; -} -.switchbutton-handle { - position: absolute; - top: 0; - left: 50%; - background-color: #ffffff; - color: #404040; - border: 1px solid #d9d9d9; - -moz-box-shadow: 0 0 3px 0 #d9d9d9; - -webkit-box-shadow: 0 0 3px 0 #d9d9d9; - box-shadow: 0 0 3px 0 #d9d9d9; -} -.switchbutton-value { - position: absolute; - top: 0; - left: -5000px; -} -.switchbutton-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.switchbutton-disabled, -.switchbutton-readonly { - cursor: default; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tabs.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tabs.css deleted file mode 100644 index a44d914..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tabs.css +++ /dev/null @@ -1,377 +0,0 @@ -.tabs-container { - overflow: hidden; -} -.tabs-header { - border-width: 1px; - border-style: solid; - border-bottom-width: 0; - position: relative; - padding: 0; - padding-top: 2px; - overflow: hidden; -} -.tabs-scroller-left, -.tabs-scroller-right { - position: absolute; - top: auto; - bottom: 0; - width: 18px; - font-size: 1px; - display: none; - cursor: pointer; - border-width: 1px; - border-style: solid; -} -.tabs-scroller-left { - left: 0; -} -.tabs-scroller-right { - right: 0; -} -.tabs-tool { - position: absolute; - bottom: 0; - padding: 1px; - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.tabs-header-plain .tabs-tool { - padding: 0 1px; -} -.tabs-wrap { - position: relative; - left: 0; - overflow: hidden; - width: 100%; - margin: 0; - padding: 0; -} -.tabs-scrolling { - margin-left: 18px; - margin-right: 18px; -} -.tabs-disabled { - opacity: 0.3; - filter: alpha(opacity=30); -} -.tabs { - list-style-type: none; - height: 26px; - margin: 0px; - padding: 0px; - padding-left: 4px; - width: 50000px; - border-style: solid; - border-width: 0 0 1px 0; -} -.tabs li { - float: left; - display: inline-block; - margin: 0 4px -1px 0; - padding: 0; - position: relative; - border: 0; -} -.tabs li a.tabs-inner { - display: inline-block; - text-decoration: none; - margin: 0; - padding: 0 10px; - height: 25px; - line-height: 25px; - text-align: center; - white-space: nowrap; - border-width: 1px; - border-style: solid; - -moz-border-radius: 4px 4px 0 0; - -webkit-border-radius: 4px 4px 0 0; - border-radius: 4px 4px 0 0; -} -.tabs li.tabs-selected a.tabs-inner { - font-weight: bold; - outline: none; -} -.tabs li.tabs-selected a:hover.tabs-inner { - cursor: default; - pointer: default; -} -.tabs li a.tabs-close, -.tabs-p-tool { - position: absolute; - font-size: 1px; - display: block; - height: 12px; - padding: 0; - top: 50%; - margin-top: -6px; - overflow: hidden; -} -.tabs li a.tabs-close { - width: 12px; - right: 5px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs-p-tool { - right: 16px; -} -.tabs-p-tool a { - display: inline-block; - font-size: 1px; - width: 12px; - height: 12px; - margin: 0; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs li a:hover.tabs-close, -.tabs-p-tool a:hover { - opacity: 1; - filter: alpha(opacity=100); - cursor: hand; - cursor: pointer; -} -.tabs-with-icon { - padding-left: 18px; -} -.tabs-icon { - position: absolute; - width: 16px; - height: 16px; - left: 10px; - top: 50%; - margin-top: -8px; -} -.tabs-title { - font-size: 14px; -} -.tabs-closable { - padding-right: 8px; -} -.tabs-panels { - margin: 0px; - padding: 0px; - border-width: 1px; - border-style: solid; - border-top-width: 0; - overflow: hidden; -} -.tabs-header-bottom { - border-width: 0 1px 1px 1px; - padding: 0 0 2px 0; -} -.tabs-header-bottom .tabs { - border-width: 1px 0 0 0; -} -.tabs-header-bottom .tabs li { - margin: -1px 4px 0 0; -} -.tabs-header-bottom .tabs li a.tabs-inner { - -moz-border-radius: 0 0 4px 4px; - -webkit-border-radius: 0 0 4px 4px; - border-radius: 0 0 4px 4px; -} -.tabs-header-bottom .tabs-tool { - top: 0; -} -.tabs-header-bottom .tabs-scroller-left, -.tabs-header-bottom .tabs-scroller-right { - top: 0; - bottom: auto; -} -.tabs-panels-top { - border-width: 1px 1px 0 1px; -} -.tabs-header-left { - float: left; - border-width: 1px 0 1px 1px; - padding: 0; -} -.tabs-header-right { - float: right; - border-width: 1px 1px 1px 0; - padding: 0; -} -.tabs-header-left .tabs-wrap, -.tabs-header-right .tabs-wrap { - height: 100%; -} -.tabs-header-left .tabs { - height: 100%; - padding: 4px 0 0 2px; - border-width: 0 1px 0 0; -} -.tabs-header-right .tabs { - height: 100%; - padding: 4px 2px 0 0; - border-width: 0 0 0 1px; -} -.tabs-header-left .tabs li, -.tabs-header-right .tabs li { - display: block; - width: 100%; - position: relative; -} -.tabs-header-left .tabs li { - left: auto; - right: 0; - margin: 0 -1px 4px 0; - float: right; -} -.tabs-header-right .tabs li { - left: 0; - right: auto; - margin: 0 0 4px -1px; - float: left; -} -.tabs-justified li a.tabs-inner { - padding-left: 0; - padding-right: 0; -} -.tabs-header-left .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 4px 0 0 4px; - -webkit-border-radius: 4px 0 0 4px; - border-radius: 4px 0 0 4px; -} -.tabs-header-right .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 0 4px 4px 0; - -webkit-border-radius: 0 4px 4px 0; - border-radius: 0 4px 4px 0; -} -.tabs-panels-right { - float: right; - border-width: 1px 1px 1px 0; -} -.tabs-panels-left { - float: left; - border-width: 1px 0 1px 1px; -} -.tabs-header-noborder, -.tabs-panels-noborder { - border: 0px; -} -.tabs-header-plain { - border: 0px; - background: transparent; -} -.tabs-pill { - padding-bottom: 3px; -} -.tabs-header-bottom .tabs-pill { - padding-top: 3px; - padding-bottom: 0; -} -.tabs-header-left .tabs-pill { - padding-right: 3px; -} -.tabs-header-right .tabs-pill { - padding-left: 3px; -} -.tabs-header .tabs-pill li a.tabs-inner { - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.tabs-header-narrow, -.tabs-header-narrow .tabs-narrow { - padding: 0; -} -.tabs-narrow li, -.tabs-header-bottom .tabs-narrow li { - margin-left: 0; - margin-right: -1px; -} -.tabs-narrow li.tabs-last, -.tabs-header-bottom .tabs-narrow li.tabs-last { - margin-right: 0; -} -.tabs-header-left .tabs-narrow, -.tabs-header-right .tabs-narrow { - padding-top: 0; -} -.tabs-header-left .tabs-narrow li { - margin-bottom: -1px; - margin-right: -1px; -} -.tabs-header-left .tabs-narrow li.tabs-last, -.tabs-header-right .tabs-narrow li.tabs-last { - margin-bottom: 0; -} -.tabs-header-right .tabs-narrow li { - margin-bottom: -1px; - margin-left: -1px; -} -.tabs-scroller-left { - background: #f5f5f5 url('images/tabs_icons.png') no-repeat 1px center; -} -.tabs-scroller-right { - background: #f5f5f5 url('images/tabs_icons.png') no-repeat -15px center; -} -.tabs li a.tabs-close { - background: url('images/tabs_icons.png') no-repeat -34px center; -} -.tabs li a.tabs-inner:hover { - background: #eee; - color: #404040; - filter: none; -} -.tabs li.tabs-selected a.tabs-inner { - background-color: #ffffff; - color: #000000; -} -.tabs li a.tabs-inner { - color: #000000; - background-color: #f5f5f5; -} -.tabs-header, -.tabs-tool { - background-color: #f5f5f5; -} -.tabs-header-plain { - background: transparent; -} -.tabs-header, -.tabs-scroller-left, -.tabs-scroller-right, -.tabs-tool, -.tabs, -.tabs-panels, -.tabs li a.tabs-inner, -.tabs li.tabs-selected a.tabs-inner, -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, -.tabs-header-left .tabs li.tabs-selected a.tabs-inner, -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-color: #ddd; -} -.tabs-p-tool a:hover, -.tabs li a:hover.tabs-close, -.tabs-scroller-over { - background-color: #eee; -} -.tabs li.tabs-selected a.tabs-inner { - border-bottom: 1px solid #ffffff; -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - border-top: 1px solid #ffffff; -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - border-right: 1px solid #ffffff; -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-left: 1px solid #ffffff; -} -.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { - background: #00bbee; - color: #fff; - filter: none; - border-color: #ddd; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tagbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tagbox.css deleted file mode 100644 index 16ff414..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tagbox.css +++ /dev/null @@ -1,44 +0,0 @@ -.tagbox { - cursor: text; -} -.tagbox .textbox-text { - float: left; -} -.tagbox-label { - position: relative; - display: block; - margin: 4px 0 0 4px; - padding: 0 20px 0 4px; - float: left; - vertical-align: top; - text-decoration: none; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; - background: #eee; - color: #404040; -} -.tagbox-remove { - background: url('images/tagbox_icons.png') no-repeat -16px center; - position: absolute; - display: block; - width: 16px; - height: 16px; - right: 2px; - top: 50%; - margin-top: -8px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tagbox-remove:hover { - opacity: 1; - filter: alpha(opacity=100); -} -.textbox-disabled .tagbox-label { - cursor: default; -} -.textbox-disabled .tagbox-remove:hover { - cursor: default; - opacity: 0.6; - filter: alpha(opacity=60); -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/textbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/textbox.css deleted file mode 100644 index 488e6b7..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/textbox.css +++ /dev/null @@ -1,144 +0,0 @@ -.textbox { - position: relative; - border: 1px solid #ddd; - background-color: #fff; - vertical-align: middle; - display: inline-block; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.textbox .textbox-text { - font-size: 14px; - border: 0; - margin: 0; - padding: 0 4px; - white-space: normal; - vertical-align: top; - outline-style: none; - resize: none; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; - height: 28px; - line-height: 28px; -} -.textbox textarea.textbox-text { - line-height: normal; -} -.textbox .textbox-text::-ms-clear, -.textbox .textbox-text::-ms-reveal { - display: none; -} -.textbox textarea.textbox-text { - white-space: pre-wrap; -} -.textbox .textbox-prompt { - font-size: 14px; - color: #aaa; -} -.textbox .textbox-bgicon { - background-position: 3px center; - padding-left: 21px; -} -.textbox .textbox-button, -.textbox .textbox-button:hover { - position: absolute; - top: 0; - padding: 0; - vertical-align: top; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.textbox .textbox-button-right, -.textbox .textbox-button-right:hover { - right: 0; - border-width: 0 0 0 1px; -} -.textbox .textbox-button-left, -.textbox .textbox-button-left:hover { - left: 0; - border-width: 0 1px 0 0; -} -.textbox .textbox-button-top, -.textbox .textbox-button-top:hover { - left: 0; - border-width: 0 0 1px 0; -} -.textbox .textbox-button-bottom, -.textbox .textbox-button-bottom:hover { - top: auto; - bottom: 0; - left: 0; - border-width: 1px 0 0 0; -} -.textbox-addon { - position: absolute; - top: 0; -} -.textbox-label { - display: inline-block; - width: 80px; - height: 30px; - line-height: 30px; - vertical-align: middle; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - margin: 0; - padding-right: 5px; -} -.textbox-label-after { - padding-left: 5px; - padding-right: 0; -} -.textbox-label-top { - display: block; - width: auto; - padding: 0; -} -.textbox-disabled, -.textbox-label-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-icon { - display: inline-block; - width: 18px; - height: 20px; - overflow: hidden; - vertical-align: top; - background-position: center center; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); - text-decoration: none; - outline-style: none; -} -.textbox-icon-disabled, -.textbox-icon-readonly { - cursor: default; -} -.textbox-icon:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.textbox-icon-disabled:hover { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-focused { - border-color: #c4c4c4; - -moz-box-shadow: 0 0 3px 0 #ddd; - -webkit-box-shadow: 0 0 3px 0 #ddd; - box-shadow: 0 0 3px 0 #ddd; -} -.textbox-invalid { - border-color: #ffa8a8; - background-color: #fff; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tooltip.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tooltip.css deleted file mode 100644 index a000048..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tooltip.css +++ /dev/null @@ -1,103 +0,0 @@ -.tooltip { - position: absolute; - display: none; - z-index: 9900000; - outline: none; - opacity: 1; - filter: alpha(opacity=100); - padding: 5px; - border-width: 1px; - border-style: solid; - border-radius: 5px; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.tooltip-content { - font-size: 14px; -} -.tooltip-arrow-outer, -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - line-height: 0; - font-size: 0; - border-style: solid; - border-width: 6px; - border-color: transparent; - _border-color: tomato; - _filter: chroma(color=tomato); -} -.tooltip-arrow { - display: none \9; -} -.tooltip-right .tooltip-arrow-outer { - left: 0; - top: 50%; - margin: -6px 0 0 -13px; -} -.tooltip-right .tooltip-arrow { - left: 0; - top: 50%; - margin: -6px 0 0 -12px; -} -.tooltip-left .tooltip-arrow-outer { - right: 0; - top: 50%; - margin: -6px -13px 0 0; -} -.tooltip-left .tooltip-arrow { - right: 0; - top: 50%; - margin: -6px -12px 0 0; -} -.tooltip-top .tooltip-arrow-outer { - bottom: 0; - left: 50%; - margin: 0 0 -13px -6px; -} -.tooltip-top .tooltip-arrow { - bottom: 0; - left: 50%; - margin: 0 0 -12px -6px; -} -.tooltip-bottom .tooltip-arrow-outer { - top: 0; - left: 50%; - margin: -13px 0 0 -6px; -} -.tooltip-bottom .tooltip-arrow { - top: 0; - left: 50%; - margin: -12px 0 0 -6px; -} -.tooltip { - background-color: #ffffff; - border-color: #ddd; - color: #404040; -} -.tooltip-right .tooltip-arrow-outer { - border-right-color: #ddd; -} -.tooltip-right .tooltip-arrow { - border-right-color: #ffffff; -} -.tooltip-left .tooltip-arrow-outer { - border-left-color: #ddd; -} -.tooltip-left .tooltip-arrow { - border-left-color: #ffffff; -} -.tooltip-top .tooltip-arrow-outer { - border-top-color: #ddd; -} -.tooltip-top .tooltip-arrow { - border-top-color: #ffffff; -} -.tooltip-bottom .tooltip-arrow-outer { - border-bottom-color: #ddd; -} -.tooltip-bottom .tooltip-arrow { - border-bottom-color: #ffffff; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tree.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tree.css deleted file mode 100644 index ccb900b..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tree.css +++ /dev/null @@ -1,164 +0,0 @@ -.tree { - margin: 0; - padding: 0; - list-style-type: none; -} -.tree li { - white-space: nowrap; -} -.tree li ul { - list-style-type: none; - margin: 0; - padding: 0; -} -.tree-node { - height: 26px; - white-space: nowrap; - cursor: pointer; -} -.tree-hit { - cursor: pointer; -} -.tree-expanded, -.tree-collapsed, -.tree-folder, -.tree-file, -.tree-checkbox, -.tree-indent { - display: inline-block; - width: 16px; - height: 18px; - margin: 4px 0; - vertical-align: middle; - overflow: hidden; -} -.tree-expanded { - background: url('images/tree_icons.png') no-repeat -18px 0px; -} -.tree-expanded-hover { - background: url('images/tree_icons.png') no-repeat -50px 0px; -} -.tree-collapsed { - background: url('images/tree_icons.png') no-repeat 0px 0px; -} -.tree-collapsed-hover { - background: url('images/tree_icons.png') no-repeat -32px 0px; -} -.tree-lines .tree-expanded, -.tree-lines .tree-root-first .tree-expanded { - background: url('images/tree_icons.png') no-repeat -144px 0; -} -.tree-lines .tree-collapsed, -.tree-lines .tree-root-first .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -128px 0; -} -.tree-lines .tree-node-last .tree-expanded, -.tree-lines .tree-root-one .tree-expanded { - background: url('images/tree_icons.png') no-repeat -80px 0; -} -.tree-lines .tree-node-last .tree-collapsed, -.tree-lines .tree-root-one .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -64px 0; -} -.tree-line { - background: url('images/tree_icons.png') no-repeat -176px 0; -} -.tree-join { - background: url('images/tree_icons.png') no-repeat -192px 0; -} -.tree-joinbottom { - background: url('images/tree_icons.png') no-repeat -160px 0; -} -.tree-folder { - background: url('images/tree_icons.png') no-repeat -208px 0; -} -.tree-folder-open { - background: url('images/tree_icons.png') no-repeat -224px 0; -} -.tree-file { - background: url('images/tree_icons.png') no-repeat -240px 0; -} -.tree-loading { - background: url('images/loading.gif') no-repeat center center; -} -.tree-checkbox0 { - background: url('images/tree_icons.png') no-repeat -208px -18px; -} -.tree-checkbox1 { - background: url('images/tree_icons.png') no-repeat -224px -18px; -} -.tree-checkbox2 { - background: url('images/tree_icons.png') no-repeat -240px -18px; -} -.tree-title { - font-size: 14px; - display: inline-block; - text-decoration: none; - vertical-align: middle; - white-space: nowrap; - padding: 0 2px; - margin: 4px 0; - height: 18px; - line-height: 18px; -} -.tree-node-proxy { - font-size: 14px; - line-height: 20px; - padding: 0 2px 0 20px; - border-width: 1px; - border-style: solid; - z-index: 9900000; -} -.tree-dnd-icon { - display: inline-block; - position: absolute; - width: 16px; - height: 18px; - left: 2px; - top: 50%; - margin-top: -9px; -} -.tree-dnd-yes { - background: url('images/tree_icons.png') no-repeat -256px 0; -} -.tree-dnd-no { - background: url('images/tree_icons.png') no-repeat -256px -18px; -} -.tree-node-top { - border-top: 1px dotted red; -} -.tree-node-bottom { - border-bottom: 1px dotted red; -} -.tree-node-append .tree-title { - border: 1px dotted red; -} -.tree-editor { - border: 1px solid #ddd; - font-size: 14px; - height: 26px; - line-height: 26px; - padding: 0 4px; - margin: 0; - width: 80px; - outline-style: none; - vertical-align: middle; - position: absolute; - top: 0; -} -.tree-node-proxy { - background-color: #ffffff; - color: #404040; - border-color: #ddd; -} -.tree-node-hover { - background: #eee; - color: #404040; -} -.tree-node-selected { - background: #00bbee; - color: #fff; -} -.tree-node-hidden { - display: none; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/validatebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/validatebox.css deleted file mode 100644 index f03f26b..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/validatebox.css +++ /dev/null @@ -1,13 +0,0 @@ -.inputbox { - display: inline-block; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; -} -.validatebox-invalid { - border-color: #ffa8a8; - background-color: #fff; - color: #404040; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/window.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/window.css deleted file mode 100644 index 8f1851e..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/window.css +++ /dev/null @@ -1,182 +0,0 @@ -.window { - overflow: hidden; - padding: 5px; - border-width: 1px; - border-style: solid; -} -.window .window-header { - background: transparent; - padding: 0px 0px 6px 0px; -} -.window .window-body { - border-width: 1px; - border-style: solid; - border-top-width: 0px; -} -.window .window-body-noheader { - border-top-width: 1px; -} -.window .panel-body-nobottom { - border-bottom-width: 0; -} -.window .window-header .panel-icon, -.window .window-header .panel-tool { - top: 50%; - margin-top: -11px; -} -.window .window-header .panel-icon { - left: 1px; -} -.window .window-header .panel-tool { - right: 1px; -} -.window .window-header .panel-with-icon { - padding-left: 18px; -} -.window-proxy { - position: absolute; - overflow: hidden; -} -.window-proxy-mask { - position: absolute; - filter: alpha(opacity=5); - opacity: 0.05; -} -.window-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - filter: alpha(opacity=40); - opacity: 0.40; - font-size: 1px; - overflow: hidden; -} -.window, -.window-shadow { - position: absolute; - -moz-border-radius: 4px 4px 4px 4px; - -webkit-border-radius: 4px 4px 4px 4px; - border-radius: 4px 4px 4px 4px; -} -.window-shadow { - background: #fafafa; - -moz-box-shadow: 2px 2px 3px #fafafa; - -webkit-box-shadow: 2px 2px 3px #fafafa; - box-shadow: 2px 2px 3px #fafafa; - filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); -} -.window, -.window .window-body { - border-color: #ddd; -} -.window { - background-color: #f5f5f5; -} -.window-proxy { - border: 1px dashed #ddd; -} -.window-proxy-mask, -.window-mask { - background: #eee; -} -.window .panel-footer { - border: 1px solid #ddd; - position: relative; - top: -1px; -} -.window-thinborder { - padding: 0; -} -.window-thinborder .window-header { - padding: 5px 5px 6px 5px; -} -.window-thinborder .window-body { - border-width: 0px; -} -.window-thinborder .window-footer { - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} -.window-thinborder .window-header .panel-icon, -.window-thinborder .window-header .panel-tool { - margin-top: -9px; - margin-left: 5px; - margin-right: 5px; -} -.window-noborder { - border: 0; -} -.window.panel-hleft .window-header { - padding: 0 6px 0 0; -} -.window.panel-hright .window-header { - padding: 0 0 0 6px; -} -.window.panel-hleft>.panel-header .panel-title { - top: auto; - left: 16px; -} -.window.panel-hright>.panel-header .panel-title { - top: auto; - right: 16px; -} -.window.panel-hleft>.panel-header .panel-title-up, -.window.panel-hright>.panel-header .panel-title-up { - bottom: 0; -} -.window.panel-hleft .window-body { - border-width: 1px 1px 1px 0; -} -.window.panel-hright .window-body { - border-width: 1px 0 1px 1px; -} -.window.panel-hleft .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: 0; -} -.window.panel-hright .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: auto; - right: 1px; -} -.window.panel-hleft .window-header .panel-tool, -.window.panel-hright .window-header .panel-tool { - margin-top: 0; - top: auto; - bottom: 1px; - right: auto; - margin-right: 0; - left: 50%; - margin-left: -11px; -} -.window.panel-hright .window-header .panel-tool { - left: auto; - right: 1px; -} -.window-thinborder.panel-hleft .window-header { - padding: 5px 6px 5px 5px; -} -.window-thinborder.panel-hright .window-header { - padding: 5px 5px 5px 6px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title { - left: 21px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title-up, -.window-thinborder.panel-hright>.panel-header .panel-title-up { - bottom: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-icon, -.window-thinborder.panel-hright .window-header .panel-icon { - margin-top: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-tool, -.window-thinborder.panel-hright .window-header .panel-tool { - left: 16px; - bottom: 5px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/accordion.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/accordion.css deleted file mode 100644 index fb9f85e..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/accordion.css +++ /dev/null @@ -1,89 +0,0 @@ -.accordion { - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.accordion .accordion-header { - border-width: 0 0 1px; - cursor: pointer; -} -.accordion .accordion-body { - border-width: 0 0 1px; -} -.accordion-noborder { - border-width: 0; -} -.accordion-noborder .accordion-header { - border-width: 0 0 1px; -} -.accordion-noborder .accordion-body { - border-width: 0 0 1px; -} -.accordion-collapse { - background: url('images/accordion_arrows.png') no-repeat 0 0; -} -.accordion-expand { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.accordion { - background: #fff; - border-color: #ddd; -} -.accordion .accordion-header { - background: #ffffff; - filter: none; -} -.accordion .accordion-header-selected { - background: #CCE6FF; -} -.accordion .accordion-header-selected .panel-title { - color: #000; -} -.accordion .panel-last > .accordion-header { - border-bottom-color: #ffffff; -} -.accordion .panel-last > .accordion-body { - border-bottom-color: #fff; -} -.accordion .panel-last > .accordion-header-selected, -.accordion .panel-last > .accordion-header-border { - border-bottom-color: #ddd; -} -.accordion> .panel-hleft { - float: left; -} -.accordion> .panel-hleft>.panel-header { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft> .panel-body { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft.panel-last > .accordion-header { - border-right-color: #ffffff; -} -.accordion> .panel-hleft.panel-last > .accordion-body { - border-right-color: #fff; -} -.accordion> .panel-hleft.panel-last > .accordion-header-selected, -.accordion> .panel-hleft.panel-last > .accordion-header-border { - border-right-color: #ddd; -} -.accordion> .panel-hright { - float: right; -} -.accordion> .panel-hright>.panel-header { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright> .panel-body { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright.panel-last > .accordion-header { - border-left-color: #ffffff; -} -.accordion> .panel-hright.panel-last > .accordion-body { - border-left-color: #fff; -} -.accordion> .panel-hright.panel-last > .accordion-header-selected, -.accordion> .panel-hright.panel-last > .accordion-header-border { - border-left-color: #ddd; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/calendar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/calendar.css deleted file mode 100644 index 3f32d30..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/calendar.css +++ /dev/null @@ -1,203 +0,0 @@ -.calendar { - border-width: 1px; - border-style: solid; - padding: 1px; - overflow: hidden; -} -.calendar table { - table-layout: fixed; - border-collapse: separate; - font-size: 14px; - width: 100%; - height: 100%; -} -.calendar table td, -.calendar table th { - font-size: 14px; -} -.calendar-noborder { - border: 0; -} -.calendar-header { - position: relative; - height: 28px; -} -.calendar-title { - text-align: center; - height: 28px; -} -.calendar-title span { - position: relative; - display: inline-block; - top: 0px; - padding: 0 3px; - height: 28px; - line-height: 28px; - font-size: 14px; - cursor: pointer; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.calendar-prevmonth, -.calendar-nextmonth, -.calendar-prevyear, -.calendar-nextyear { - position: absolute; - top: 50%; - margin-top: -8px; - width: 16px; - height: 16px; - cursor: pointer; - font-size: 1px; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.calendar-prevmonth { - left: 20px; - background: url('images/calendar_arrows.png') no-repeat -16px 0; -} -.calendar-nextmonth { - right: 20px; - background: url('images/calendar_arrows.png') no-repeat -32px 0; -} -.calendar-prevyear { - left: 3px; - background: url('images/calendar_arrows.png') no-repeat 0px 0; -} -.calendar-nextyear { - right: 3px; - background: url('images/calendar_arrows.png') no-repeat -48px 0; -} -.calendar-body { - position: relative; -} -.calendar-body th, -.calendar-body td { - text-align: center; -} -.calendar-day { - border: 0; - padding: 1px; - cursor: pointer; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.calendar-other-month { - opacity: 0.3; - filter: alpha(opacity=30); -} -.calendar-disabled { - opacity: 0.6; - filter: alpha(opacity=60); - cursor: default; -} -.calendar-menu { - position: absolute; - top: 0; - left: 0; - width: 180px; - height: 150px; - padding: 5px; - font-size: 14px; - display: none; - overflow: hidden; -} -.calendar-menu-year-inner { - text-align: center; - padding-bottom: 5px; -} -.calendar-menu-year { - width: 80px; - line-height: 26px; - text-align: center; - border-width: 1px; - border-style: solid; - outline-style: none; - resize: none; - margin: 0; - padding: 0; - font-weight: bold; - font-size: 14px; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.calendar-menu-prev, -.calendar-menu-next { - display: inline-block; - width: 25px; - height: 28px; - vertical-align: top; - cursor: pointer; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.calendar-menu-prev { - margin-right: 10px; - background: url('images/calendar_arrows.png') no-repeat 5px center; -} -.calendar-menu-next { - margin-left: 10px; - background: url('images/calendar_arrows.png') no-repeat -44px center; -} -.calendar-menu-month { - text-align: center; - cursor: pointer; - font-weight: bold; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.calendar-body th, -.calendar-menu-month { - color: #919191; -} -.calendar-day { - color: #444; -} -.calendar-sunday { - color: #CC2222; -} -.calendar-saturday { - color: #00ee00; -} -.calendar-today { - color: #0000ff; -} -.calendar-menu-year { - border-color: #ddd; -} -.calendar { - border-color: #ddd; -} -.calendar-header { - background: #ffffff; -} -.calendar-body, -.calendar-menu { - background: #fff; -} -.calendar-body th { - background: #fff; - padding: 4px 0; -} -.calendar-hover, -.calendar-nav-hover, -.calendar-menu-hover { - background-color: #E6E6E6; - color: #444; -} -.calendar-hover { - border: 1px solid #ddd; - padding: 0; -} -.calendar-selected { - background-color: #CCE6FF; - color: #000; - border: 1px solid #99cdff; - padding: 0; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/checkbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/checkbox.css deleted file mode 100644 index 5c8ebdd..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/checkbox.css +++ /dev/null @@ -1,31 +0,0 @@ -.checkbox { - position: relative; - border: 2px solid #99cdff; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.checkbox-checked { - border: 0; - background: #99cdff; -} -.checkbox-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; -} -.checkbox path { - stroke-width: 2px; -} -.checkbox-disabled { - opacity: 0.6; -} -.checkbox-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/combo.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/combo.css deleted file mode 100644 index 2e89071..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/combo.css +++ /dev/null @@ -1,35 +0,0 @@ -.combo-arrow { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.combo-arrow-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.combo-panel { - overflow: auto; -} -.combo-arrow { - background: url('images/combo_arrow.png') no-repeat center center; -} -.combo-panel { - background-color: #fff; -} -.combo-arrow { - background-color: #ffffff; -} -.combo-arrow-hover { - background-color: #E6E6E6; -} -.combo-arrow:hover { - background-color: #E6E6E6; -} -.combo .textbox-icon-disabled:hover { - cursor: default; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/combobox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/combobox.css deleted file mode 100644 index 115192c..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/combobox.css +++ /dev/null @@ -1,40 +0,0 @@ -.combobox-item, -.combobox-group, -.combobox-stick { - font-size: 14px; - padding: 6px 4px; - line-height: 20px; -} -.combobox-item-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.combobox-gitem { - padding-left: 10px; -} -.combobox-group, -.combobox-stick { - font-weight: bold; -} -.combobox-stick { - position: absolute; - top: 1px; - left: 1px; - right: 1px; - background: inherit; -} -.combobox-item-hover { - background-color: #E6E6E6; - color: #444; -} -.combobox-item-selected { - background-color: #CCE6FF; - color: #000; -} -.combobox-icon { - display: inline-block; - width: 16px; - height: 16px; - vertical-align: middle; - margin-right: 2px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/datagrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/datagrid.css deleted file mode 100644 index 220e6a9..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/datagrid.css +++ /dev/null @@ -1,285 +0,0 @@ -.datagrid .panel-body { - overflow: hidden; - position: relative; -} -.datagrid-view { - position: relative; - overflow: hidden; -} -.datagrid-view1, -.datagrid-view2 { - position: absolute; - overflow: hidden; - top: 0; -} -.datagrid-view1 { - left: 0; -} -.datagrid-view2 { - right: 0; -} -.datagrid-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0.3; - filter: alpha(opacity=30); - display: none; -} -.datagrid-mask-msg { - position: absolute; - top: 50%; - margin-top: -20px; - padding: 10px 5px 10px 30px; - width: auto; - height: 16px; - border-width: 2px; - border-style: solid; - display: none; -} -.datagrid-empty { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 25px; - line-height: 25px; - text-align: center; -} -.datagrid-sort-icon { - padding: 0; - display: none; -} -.datagrid-toolbar { - height: auto; - padding: 1px 2px; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-btn-separator { - float: left; - height: 24px; - border-left: 1px solid #ddd; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.datagrid .datagrid-pager { - display: block; - margin: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.datagrid .datagrid-pager-top { - border-width: 0 0 1px 0; -} -.datagrid-header { - overflow: hidden; - cursor: default; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-header-inner { - float: left; - width: 10000px; -} -.datagrid-header-row, -.datagrid-row { - height: 32px; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-width: 0 1px 1px 0; - border-style: dotted; - margin: 0; - padding: 0; -} -.datagrid-cell, -.datagrid-cell-group, -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - margin: 0; - padding: 0 4px; - white-space: nowrap; - word-wrap: normal; - overflow: hidden; - height: 18px; - line-height: 18px; - font-size: 14px; -} -.datagrid-header .datagrid-cell { - height: auto; -} -.datagrid-header .datagrid-cell span { - font-size: 14px; -} -.datagrid-cell-group { - text-align: center; - text-overflow: ellipsis; -} -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - width: 30px; - text-align: center; - margin: 0; - padding: 0; -} -.datagrid-body { - margin: 0; - padding: 0; - overflow: auto; - zoom: 1; -} -.datagrid-view1 .datagrid-body-inner { - padding-bottom: 20px; -} -.datagrid-view1 .datagrid-body { - overflow: hidden; -} -.datagrid-footer { - overflow: hidden; -} -.datagrid-footer-inner { - border-width: 1px 0 0 0; - border-style: solid; - width: 10000px; - float: left; -} -.datagrid-row-editing .datagrid-cell { - height: auto; -} -.datagrid-header-check, -.datagrid-cell-check { - padding: 0; - width: 27px; - height: 18px; - font-size: 1px; - text-align: center; - overflow: hidden; -} -.datagrid-header-check input, -.datagrid-cell-check input { - margin: 0; - padding: 0; - width: 15px; - height: 18px; -} -.datagrid-resize-proxy { - position: absolute; - width: 1px; - height: 10000px; - top: 0; - cursor: e-resize; - display: none; -} -.datagrid-body .datagrid-editable { - margin: 0; - padding: 0; -} -.datagrid-body .datagrid-editable table { - width: 100%; - height: 100%; -} -.datagrid-body .datagrid-editable td { - border: 0; - margin: 0; - padding: 0; -} -.datagrid-view .datagrid-editable-input { - margin: 0; - padding: 2px 4px; - border: 1px solid #ddd; - font-size: 14px; - outline-style: none; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-view .validatebox-invalid { - border-color: #ffa8a8; -} -.datagrid-sort .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -64px center; -} -.datagrid-sort-desc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -16px center; -} -.datagrid-sort-asc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat 0px center; -} -.datagrid-row-collapse { - background: url('images/datagrid_icons.png') no-repeat -48px center; -} -.datagrid-row-expand { - background: url('images/datagrid_icons.png') no-repeat -32px center; -} -.datagrid-mask-msg { - background: #fff url('images/loading.gif') no-repeat scroll 5px center; -} -.datagrid-header, -.datagrid-td-rownumber { - background-color: #ffffff; -} -.datagrid-cell-rownumber { - color: #444; -} -.datagrid-resize-proxy { - background: #b3b3b3; -} -.datagrid-mask { - background: #eee; -} -.datagrid-mask-msg { - border-color: #ddd; -} -.datagrid-toolbar, -.datagrid-pager { - background: #fff; -} -.datagrid-header, -.datagrid-toolbar, -.datagrid-pager, -.datagrid-footer-inner { - border-color: #ddd; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-color: #ddd; -} -.datagrid-htable, -.datagrid-btable, -.datagrid-ftable { - color: #444; - border-collapse: separate; -} -.datagrid-row-alt { - background: #f5f5f5; -} -.datagrid-row-over, -.datagrid-header td.datagrid-header-over { - background: #E6E6E6; - color: #444; - cursor: default; -} -.datagrid-row-selected { - background: #CCE6FF; - color: #000; -} -.datagrid-row-editing .textbox, -.datagrid-row-editing .textbox-text { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-header .datagrid-filter-row td.datagrid-header-over { - background: inherit; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/datalist.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/datalist.css deleted file mode 100644 index 8a7f949..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/datalist.css +++ /dev/null @@ -1,95 +0,0 @@ -.datalist .datagrid-header { - border-width: 0; -} -.datalist .datagrid-group, -.m-list .m-list-group { - height: 25px; - line-height: 25px; - font-weight: bold; - overflow: hidden; - background-color: #ffffff; - border-style: solid; - border-width: 0 0 1px 0; - border-color: #ddd; -} -.datalist .datagrid-group-expander { - display: none; -} -.datalist .datagrid-group-title { - padding: 0 4px; -} -.datalist .datagrid-btable { - width: 100%; - table-layout: fixed; -} -.datalist .datagrid-row td { - border-style: solid; - border-left-color: transparent; - border-right-color: transparent; - border-bottom-width: 0; -} -.datalist-lines .datagrid-row td { - border-bottom-width: 1px; -} -.datalist .datagrid-cell, -.m-list li { - width: auto; - height: auto; - padding: 2px 4px; - line-height: 18px; - position: relative; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link, -.m-list li>a { - display: block; - position: relative; - cursor: pointer; - color: #444; - text-decoration: none; - overflow: hidden; - margin: -2px -4px; - padding: 2px 4px; - padding-right: 16px; - line-height: 18px; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link::after, -.m-list li>a::after { - position: absolute; - display: block; - width: 8px; - height: 8px; - content: ''; - right: 6px; - top: 50%; - margin-top: -4px; - border-style: solid; - border-width: 1px 1px 0 0; - -ms-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -webkit-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); -} -.m-list { - margin: 0; - padding: 0; - list-style: none; -} -.m-list li { - border-style: solid; - border-width: 0 0 1px 0; - border-color: #ddd; -} -.m-list li>a:hover { - background: #E6E6E6; - color: #444; -} -.m-list .m-list-group { - padding: 0 4px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/datebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/datebox.css deleted file mode 100644 index 931b825..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/datebox.css +++ /dev/null @@ -1,36 +0,0 @@ -.datebox-calendar-inner { - height: 250px; -} -.datebox-button { - padding: 4px 0; - text-align: center; -} -.datebox-button a { - line-height: 22px; - font-size: 14px; - font-weight: bold; - text-decoration: none; - opacity: 0.6; - filter: alpha(opacity=60); -} -.datebox-button a:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.datebox-current, -.datebox-close { - float: left; -} -.datebox-close { - float: right; -} -.datebox .combo-arrow { - background-image: url('images/datebox_arrow.png'); - background-position: center center; -} -.datebox-button { - background-color: #fff; -} -.datebox-button a { - color: #777; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/dialog.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/dialog.css deleted file mode 100644 index 3737479..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/dialog.css +++ /dev/null @@ -1,47 +0,0 @@ -.dialog-content { - overflow: auto; -} -.dialog-toolbar { - position: relative; - padding: 2px 5px; -} -.dialog-tool-separator { - float: left; - height: 24px; - border-left: 1px solid #ddd; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.dialog-button { - position: relative; - top: -1px; - padding: 5px; - text-align: right; -} -.dialog-button .l-btn { - margin-left: 5px; -} -.dialog-toolbar, -.dialog-button { - background: #fff; - border-width: 1px; - border-style: solid; -} -.dialog-toolbar { - border-color: #ddd #ddd #ddd #ddd; -} -.dialog-button { - border-color: #ddd #ddd #ddd #ddd; -} -.window-thinborder .dialog-toolbar { - border-left: transparent; - border-right: transparent; - border-top-color: #fff; -} -.window-thinborder .dialog-button { - top: 0px; - padding: 5px 8px 8px 8px; - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/easyui.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/easyui.css deleted file mode 100644 index 1f4a015..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/easyui.css +++ /dev/null @@ -1,3384 +0,0 @@ -.panel { - overflow: hidden; - text-align: left; - margin: 0; - border: 0; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.panel-header, -.panel-body { - border-width: 1px; - border-style: solid; -} -.panel-header { - padding: 5px; - position: relative; -} -.panel-title { - background: url('images/blank.gif') no-repeat; -} -.panel-header-noborder { - border-width: 0 0 1px 0; -} -.panel-body { - overflow: auto; - border-top-width: 0; - padding: 0; -} -.panel-body-noheader { - border-top-width: 1px; -} -.panel-body-noborder { - border-width: 0px; -} -.panel-body-nobottom { - border-bottom-width: 0; -} -.panel-with-icon { - padding-left: 18px; -} -.panel-icon, -.panel-tool { - position: absolute; - top: 50%; - margin-top: -8px; - height: 16px; - overflow: hidden; -} -.panel-icon { - left: 5px; - width: 16px; -} -.panel-tool { - right: 5px; - width: auto; -} -.panel-tool a { - display: inline-block; - width: 16px; - height: 16px; - opacity: 0.6; - filter: alpha(opacity=60); - margin: 0 0 0 2px; - vertical-align: top; -} -.panel-tool a:hover { - opacity: 1; - filter: alpha(opacity=100); - background-color: #E6E6E6; - -moz-border-radius: -2px -2px -2px -2px; - -webkit-border-radius: -2px -2px -2px -2px; - border-radius: -2px -2px -2px -2px; -} -.panel-loading { - padding: 11px 0px 10px 30px; -} -.panel-noscroll { - overflow: hidden; -} -.panel-fit, -.panel-fit body { - height: 100%; - margin: 0; - padding: 0; - border: 0; - overflow: hidden; -} -.panel-loading { - background: url('images/loading.gif') no-repeat 10px 10px; -} -.panel-tool-close { - background: url('images/panel_tools.png') no-repeat -16px 0px; -} -.panel-tool-min { - background: url('images/panel_tools.png') no-repeat 0px 0px; -} -.panel-tool-max { - background: url('images/panel_tools.png') no-repeat 0px -16px; -} -.panel-tool-restore { - background: url('images/panel_tools.png') no-repeat -16px -16px; -} -.panel-tool-collapse { - background: url('images/panel_tools.png') no-repeat -32px 0; -} -.panel-tool-expand { - background: url('images/panel_tools.png') no-repeat -32px -16px; -} -.panel-header, -.panel-body { - border-color: #ddd; -} -.panel-header { - background-color: #ffffff; -} -.panel-body { - background-color: #fff; - color: #444; - font-size: 14px; -} -.panel-title { - font-size: 14px; - font-weight: bold; - color: #777; - height: 20px; - line-height: 20px; -} -.panel-footer { - border: 1px solid #ddd; - overflow: hidden; - background: #fff; -} -.panel-footer-noborder { - border-width: 1px 0 0 0; -} -.panel-hleft, -.panel-hright { - position: relative; -} -.panel-hleft>.panel-body, -.panel-hright>.panel-body { - position: absolute; -} -.panel-hleft>.panel-header { - float: left; -} -.panel-hright>.panel-header { - float: right; -} -.panel-hleft>.panel-body { - border-top-width: 1px; - border-left-width: 0; -} -.panel-hright>.panel-body { - border-top-width: 1px; - border-right-width: 0; -} -.panel-hleft>.panel-body-nobottom { - border-bottom-width: 1px; - border-right-width: 0; -} -.panel-hright>.panel-body-nobottom { - border-bottom-width: 1px; - border-left-width: 0; -} -.panel-hleft>.panel-footer { - position: absolute; - right: 0; -} -.panel-hright>.panel-footer { - position: absolute; - left: 0; -} -.panel-hleft>.panel-header-noborder { - border-width: 0 1px 0 0; -} -.panel-hright>.panel-header-noborder { - border-width: 0 0 0 1px; -} -.panel-hleft>.panel-body-noborder { - border-width: 0; -} -.panel-hright>.panel-body-noborder { - border-width: 0; -} -.panel-hleft>.panel-body-noheader { - border-left-width: 1px; -} -.panel-hright>.panel-body-noheader { - border-right-width: 1px; -} -.panel-hleft>.panel-footer-noborder { - border-width: 0 0 0 1px; -} -.panel-hright>.panel-footer-noborder { - border-width: 0 1px 0 0; -} -.panel-hleft>.panel-header .panel-icon, -.panel-hright>.panel-header .panel-icon { - margin-top: 0; - top: 5px; - left: 50%; - margin-left: -8px; -} -.panel-hleft>.panel-header .panel-title, -.panel-hright>.panel-header .panel-title { - position: absolute; - min-width: 16px; - left: 25px; - top: 5px; - bottom: auto; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(90deg); - -o-transform-origin: 0 0; - transform: rotate(90deg); - transform-origin: 0 0; -} -.panel-hleft>.panel-header .panel-title-up, -.panel-hright>.panel-header .panel-title-up { - position: absolute; - min-width: 16px; - left: 21px; - top: auto; - bottom: 0px; - text-align: right; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(-90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(-90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(-90deg); - -o-transform-origin: 0 0; - transform: rotate(-90deg); - transform-origin: 0 16px; -} -.panel-hleft>.panel-header .panel-with-icon.panel-title-up, -.panel-hright>.panel-header .panel-with-icon.panel-title-up { - padding-left: 0; - padding-right: 18px; -} -.panel-hleft>.panel-header .panel-tool, -.panel-hright>.panel-header .panel-tool { - top: auto; - bottom: 5px; - width: 16px; - height: auto; - left: 50%; - margin-left: -8px; - margin-top: 0; -} -.panel-hleft>.panel-header .panel-tool a, -.panel-hright>.panel-header .panel-tool a { - margin: 2px 0 0 0; -} -.accordion { - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.accordion .accordion-header { - border-width: 0 0 1px; - cursor: pointer; -} -.accordion .accordion-body { - border-width: 0 0 1px; -} -.accordion-noborder { - border-width: 0; -} -.accordion-noborder .accordion-header { - border-width: 0 0 1px; -} -.accordion-noborder .accordion-body { - border-width: 0 0 1px; -} -.accordion-collapse { - background: url('images/accordion_arrows.png') no-repeat 0 0; -} -.accordion-expand { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.accordion { - background: #fff; - border-color: #ddd; -} -.accordion .accordion-header { - background: #ffffff; - filter: none; -} -.accordion .accordion-header-selected { - background: #CCE6FF; -} -.accordion .accordion-header-selected .panel-title { - color: #000; -} -.accordion .panel-last > .accordion-header { - border-bottom-color: #ffffff; -} -.accordion .panel-last > .accordion-body { - border-bottom-color: #fff; -} -.accordion .panel-last > .accordion-header-selected, -.accordion .panel-last > .accordion-header-border { - border-bottom-color: #ddd; -} -.accordion> .panel-hleft { - float: left; -} -.accordion> .panel-hleft>.panel-header { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft> .panel-body { - border-width: 0 1px 0 0; -} -.accordion> .panel-hleft.panel-last > .accordion-header { - border-right-color: #ffffff; -} -.accordion> .panel-hleft.panel-last > .accordion-body { - border-right-color: #fff; -} -.accordion> .panel-hleft.panel-last > .accordion-header-selected, -.accordion> .panel-hleft.panel-last > .accordion-header-border { - border-right-color: #ddd; -} -.accordion> .panel-hright { - float: right; -} -.accordion> .panel-hright>.panel-header { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright> .panel-body { - border-width: 0 0 0 1px; -} -.accordion> .panel-hright.panel-last > .accordion-header { - border-left-color: #ffffff; -} -.accordion> .panel-hright.panel-last > .accordion-body { - border-left-color: #fff; -} -.accordion> .panel-hright.panel-last > .accordion-header-selected, -.accordion> .panel-hright.panel-last > .accordion-header-border { - border-left-color: #ddd; -} -.window { - overflow: hidden; - padding: 5px; - border-width: 1px; - border-style: solid; -} -.window .window-header { - background: transparent; - padding: 0px 0px 6px 0px; -} -.window .window-body { - border-width: 1px; - border-style: solid; - border-top-width: 0px; -} -.window .window-body-noheader { - border-top-width: 1px; -} -.window .panel-body-nobottom { - border-bottom-width: 0; -} -.window .window-header .panel-icon, -.window .window-header .panel-tool { - top: 50%; - margin-top: -11px; -} -.window .window-header .panel-icon { - left: 1px; -} -.window .window-header .panel-tool { - right: 1px; -} -.window .window-header .panel-with-icon { - padding-left: 18px; -} -.window-proxy { - position: absolute; - overflow: hidden; -} -.window-proxy-mask { - position: absolute; - filter: alpha(opacity=5); - opacity: 0.05; -} -.window-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - filter: alpha(opacity=40); - opacity: 0.40; - font-size: 1px; - overflow: hidden; -} -.window, -.window-shadow { - position: absolute; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.window-shadow { - background: #eee; - -moz-box-shadow: 2px 2px 3px #ededed; - -webkit-box-shadow: 2px 2px 3px #ededed; - box-shadow: 2px 2px 3px #ededed; - filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); -} -.window, -.window .window-body { - border-color: #ddd; -} -.window { - background-color: #ffffff; -} -.window-proxy { - border: 1px dashed #ddd; -} -.window-proxy-mask, -.window-mask { - background: #eee; -} -.window .panel-footer { - border: 1px solid #ddd; - position: relative; - top: -1px; -} -.window-thinborder { - padding: 0; -} -.window-thinborder .window-header { - padding: 5px 5px 6px 5px; -} -.window-thinborder .window-body { - border-width: 0px; -} -.window-thinborder .window-footer { - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} -.window-thinborder .window-header .panel-icon, -.window-thinborder .window-header .panel-tool { - margin-top: -9px; - margin-left: 5px; - margin-right: 5px; -} -.window-noborder { - border: 0; -} -.window.panel-hleft .window-header { - padding: 0 6px 0 0; -} -.window.panel-hright .window-header { - padding: 0 0 0 6px; -} -.window.panel-hleft>.panel-header .panel-title { - top: auto; - left: 16px; -} -.window.panel-hright>.panel-header .panel-title { - top: auto; - right: 16px; -} -.window.panel-hleft>.panel-header .panel-title-up, -.window.panel-hright>.panel-header .panel-title-up { - bottom: 0; -} -.window.panel-hleft .window-body { - border-width: 1px 1px 1px 0; -} -.window.panel-hright .window-body { - border-width: 1px 0 1px 1px; -} -.window.panel-hleft .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: 0; -} -.window.panel-hright .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: auto; - right: 1px; -} -.window.panel-hleft .window-header .panel-tool, -.window.panel-hright .window-header .panel-tool { - margin-top: 0; - top: auto; - bottom: 1px; - right: auto; - margin-right: 0; - left: 50%; - margin-left: -11px; -} -.window.panel-hright .window-header .panel-tool { - left: auto; - right: 1px; -} -.window-thinborder.panel-hleft .window-header { - padding: 5px 6px 5px 5px; -} -.window-thinborder.panel-hright .window-header { - padding: 5px 5px 5px 6px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title { - left: 21px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title-up, -.window-thinborder.panel-hright>.panel-header .panel-title-up { - bottom: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-icon, -.window-thinborder.panel-hright .window-header .panel-icon { - margin-top: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-tool, -.window-thinborder.panel-hright .window-header .panel-tool { - left: 16px; - bottom: 5px; -} -.dialog-content { - overflow: auto; -} -.dialog-toolbar { - position: relative; - padding: 2px 5px; -} -.dialog-tool-separator { - float: left; - height: 24px; - border-left: 1px solid #ddd; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.dialog-button { - position: relative; - top: -1px; - padding: 5px; - text-align: right; -} -.dialog-button .l-btn { - margin-left: 5px; -} -.dialog-toolbar, -.dialog-button { - background: #fff; - border-width: 1px; - border-style: solid; -} -.dialog-toolbar { - border-color: #ddd #ddd #ddd #ddd; -} -.dialog-button { - border-color: #ddd #ddd #ddd #ddd; -} -.window-thinborder .dialog-toolbar { - border-left: transparent; - border-right: transparent; - border-top-color: #fff; -} -.window-thinborder .dialog-button { - top: 0px; - padding: 5px 8px 8px 8px; - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} -.l-btn { - text-decoration: none; - display: inline-block; - overflow: hidden; - margin: 0; - padding: 0; - cursor: pointer; - outline: none; - text-align: center; - vertical-align: middle; - line-height: normal; -} -.l-btn-plain { - border-width: 0; - padding: 1px; -} -.l-btn-left { - display: inline-block; - position: relative; - overflow: hidden; - margin: 0; - padding: 0; - vertical-align: top; -} -.l-btn-text { - display: inline-block; - vertical-align: top; - width: auto; - line-height: 28px; - font-size: 14px; - padding: 0; - margin: 0 6px; -} -.l-btn-icon { - display: inline-block; - width: 16px; - height: 16px; - line-height: 16px; - position: absolute; - top: 50%; - margin-top: -8px; - font-size: 1px; -} -.l-btn span span .l-btn-empty { - display: inline-block; - margin: 0; - width: 16px; - height: 24px; - font-size: 1px; - vertical-align: top; -} -.l-btn span .l-btn-icon-left { - padding: 0 0 0 20px; - background-position: left center; -} -.l-btn span .l-btn-icon-right { - padding: 0 20px 0 0; - background-position: right center; -} -.l-btn-icon-left .l-btn-text { - margin: 0 6px 0 26px; -} -.l-btn-icon-left .l-btn-icon { - left: 6px; -} -.l-btn-icon-right .l-btn-text { - margin: 0 26px 0 6px; -} -.l-btn-icon-right .l-btn-icon { - right: 6px; -} -.l-btn-icon-top .l-btn-text { - margin: 20px 4px 0 4px; -} -.l-btn-icon-top .l-btn-icon { - top: 4px; - left: 50%; - margin: 0 0 0 -8px; -} -.l-btn-icon-bottom .l-btn-text { - margin: 0 4px 20px 4px; -} -.l-btn-icon-bottom .l-btn-icon { - top: auto; - bottom: 4px; - left: 50%; - margin: 0 0 0 -8px; -} -.l-btn-left .l-btn-empty { - margin: 0 6px; - width: 16px; -} -.l-btn-plain:hover { - padding: 0; -} -.l-btn-focus { - outline: #0000FF dotted thin; -} -.l-btn-large .l-btn-text { - line-height: 44px; -} -.l-btn-large .l-btn-icon { - width: 32px; - height: 32px; - line-height: 32px; - margin-top: -16px; -} -.l-btn-large .l-btn-icon-left .l-btn-text { - margin-left: 40px; -} -.l-btn-large .l-btn-icon-right .l-btn-text { - margin-right: 40px; -} -.l-btn-large .l-btn-icon-top .l-btn-text { - margin-top: 36px; - line-height: 24px; - min-width: 32px; -} -.l-btn-large .l-btn-icon-top .l-btn-icon { - margin: 0 0 0 -16px; -} -.l-btn-large .l-btn-icon-bottom .l-btn-text { - margin-bottom: 36px; - line-height: 24px; - min-width: 32px; -} -.l-btn-large .l-btn-icon-bottom .l-btn-icon { - margin: 0 0 0 -16px; -} -.l-btn-large .l-btn-left .l-btn-empty { - margin: 0 6px; - width: 32px; -} -.l-btn { - color: #777; - background: #ffffff; - background-repeat: repeat-x; - border: 1px solid #dddddd; - background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%); - background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%); - background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%); - background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0); - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.l-btn:hover { - background: #E6E6E6; - color: #444; - border: 1px solid #ddd; - filter: none; -} -.l-btn-plain { - background: transparent; - border-width: 0; - filter: none; -} -.l-btn-outline { - border-width: 1px; - border-color: #ddd; - padding: 0; -} -.l-btn-plain:hover { - background: #E6E6E6; - color: #444; - border: 1px solid #ddd; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.l-btn-disabled, -.l-btn-disabled:hover { - opacity: 0.5; - cursor: default; - background: #ffffff; - color: #777; - background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%); - background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%); - background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%); - background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0); -} -.l-btn-disabled .l-btn-text, -.l-btn-disabled .l-btn-icon { - filter: alpha(opacity=50); -} -.l-btn-plain-disabled, -.l-btn-plain-disabled:hover { - background: transparent; - filter: alpha(opacity=50); -} -.l-btn-selected, -.l-btn-selected:hover { - background: #ddd; - filter: none; -} -.l-btn-plain-selected, -.l-btn-plain-selected:hover { - background: #ddd; -} -.textbox { - position: relative; - border: 1px solid #ddd; - background-color: #fff; - vertical-align: middle; - display: inline-block; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.textbox .textbox-text { - font-size: 14px; - border: 0; - margin: 0; - padding: 0 4px; - white-space: normal; - vertical-align: top; - outline-style: none; - resize: none; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; - height: 28px; - line-height: 28px; -} -.textbox textarea.textbox-text { - line-height: normal; -} -.textbox .textbox-text::-ms-clear, -.textbox .textbox-text::-ms-reveal { - display: none; -} -.textbox textarea.textbox-text { - white-space: pre-wrap; -} -.textbox .textbox-prompt { - font-size: 14px; - color: #aaa; -} -.textbox .textbox-bgicon { - background-position: 3px center; - padding-left: 21px; -} -.textbox .textbox-button, -.textbox .textbox-button:hover { - position: absolute; - top: 0; - padding: 0; - vertical-align: top; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.textbox .textbox-button-right, -.textbox .textbox-button-right:hover { - right: 0; - border-width: 0 0 0 1px; -} -.textbox .textbox-button-left, -.textbox .textbox-button-left:hover { - left: 0; - border-width: 0 1px 0 0; -} -.textbox .textbox-button-top, -.textbox .textbox-button-top:hover { - left: 0; - border-width: 0 0 1px 0; -} -.textbox .textbox-button-bottom, -.textbox .textbox-button-bottom:hover { - top: auto; - bottom: 0; - left: 0; - border-width: 1px 0 0 0; -} -.textbox-addon { - position: absolute; - top: 0; -} -.textbox-label { - display: inline-block; - width: 80px; - height: 30px; - line-height: 30px; - vertical-align: middle; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - margin: 0; - padding-right: 5px; -} -.textbox-label-after { - padding-left: 5px; - padding-right: 0; -} -.textbox-label-top { - display: block; - width: auto; - padding: 0; -} -.textbox-disabled, -.textbox-label-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-icon { - display: inline-block; - width: 18px; - height: 20px; - overflow: hidden; - vertical-align: top; - background-position: center center; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); - text-decoration: none; - outline-style: none; -} -.textbox-icon-disabled, -.textbox-icon-readonly { - cursor: default; -} -.textbox-icon:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.textbox-icon-disabled:hover { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-focused { - border-color: #c4c4c4; - -moz-box-shadow: 0 0 3px 0 #ddd; - -webkit-box-shadow: 0 0 3px 0 #ddd; - box-shadow: 0 0 3px 0 #ddd; -} -.textbox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; -} -.passwordbox-open { - background: url('images/passwordbox_open.png') no-repeat center center; -} -.passwordbox-close { - background: url('images/passwordbox_close.png') no-repeat center center; -} -.filebox .textbox-value { - vertical-align: top; - position: absolute; - top: 0; - left: -5000px; -} -.filebox-label { - display: inline-block; - position: absolute; - width: 100%; - height: 100%; - cursor: pointer; - left: 0; - top: 0; - z-index: 10; - background: url('images/blank.gif') no-repeat; -} -.l-btn-disabled .filebox-label { - cursor: default; -} -.combo-arrow { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.combo-arrow-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.combo-panel { - overflow: auto; -} -.combo-arrow { - background: url('images/combo_arrow.png') no-repeat center center; -} -.combo-panel { - background-color: #fff; -} -.combo-arrow { - background-color: #ffffff; -} -.combo-arrow-hover { - background-color: #E6E6E6; -} -.combo-arrow:hover { - background-color: #E6E6E6; -} -.combo .textbox-icon-disabled:hover { - cursor: default; -} -.combobox-item, -.combobox-group, -.combobox-stick { - font-size: 14px; - padding: 6px 4px; - line-height: 20px; -} -.combobox-item-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.combobox-gitem { - padding-left: 10px; -} -.combobox-group, -.combobox-stick { - font-weight: bold; -} -.combobox-stick { - position: absolute; - top: 1px; - left: 1px; - right: 1px; - background: inherit; -} -.combobox-item-hover { - background-color: #E6E6E6; - color: #444; -} -.combobox-item-selected { - background-color: #CCE6FF; - color: #000; -} -.combobox-icon { - display: inline-block; - width: 16px; - height: 16px; - vertical-align: middle; - margin-right: 2px; -} -.tagbox { - cursor: text; -} -.tagbox .textbox-text { - float: left; -} -.tagbox-label { - position: relative; - display: block; - margin: 4px 0 0 4px; - padding: 0 20px 0 4px; - float: left; - vertical-align: top; - text-decoration: none; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; - background: #E6E6E6; - color: #444; -} -.tagbox-remove { - background: url('images/tagbox_icons.png') no-repeat -16px center; - position: absolute; - display: block; - width: 16px; - height: 16px; - right: 2px; - top: 50%; - margin-top: -8px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tagbox-remove:hover { - opacity: 1; - filter: alpha(opacity=100); -} -.textbox-disabled .tagbox-label { - cursor: default; -} -.textbox-disabled .tagbox-remove:hover { - cursor: default; - opacity: 0.6; - filter: alpha(opacity=60); -} -.layout { - position: relative; - overflow: hidden; - margin: 0; - padding: 0; - z-index: 0; -} -.layout-panel { - position: absolute; - overflow: hidden; -} -.layout-body { - min-width: 1px; - min-height: 1px; -} -.layout-panel-east, -.layout-panel-west { - z-index: 2; -} -.layout-panel-north, -.layout-panel-south { - z-index: 3; -} -.layout-expand { - position: absolute; - padding: 0px; - font-size: 1px; - cursor: pointer; - z-index: 1; -} -.layout-expand .panel-header, -.layout-expand .panel-body { - background: transparent; - filter: none; - overflow: hidden; -} -.layout-expand .panel-header { - border-bottom-width: 0px; -} -.layout-expand .panel-body { - position: relative; -} -.layout-expand .panel-body .panel-icon { - margin-top: 0; - top: 0; - left: 50%; - margin-left: -8px; -} -.layout-expand-west .panel-header .panel-icon, -.layout-expand-east .panel-header .panel-icon { - display: none; -} -.layout-expand-title { - position: absolute; - top: 0; - left: 21px; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(90deg); - -o-transform-origin: 0 0; - transform: rotate(90deg); - transform-origin: 0 0; -} -.layout-expand-title-up { - position: absolute; - top: 0; - left: 0; - text-align: right; - padding-left: 5px; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(-90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(-90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(-90deg); - -o-transform-origin: 0 0; - transform: rotate(-90deg); - transform-origin: 0 0; -} -.layout-expand-with-icon { - top: 18px; -} -.layout-expand .panel-body-noheader .layout-expand-title, -.layout-expand .panel-body-noheader .panel-icon { - top: 5px; -} -.layout-expand .panel-body-noheader .layout-expand-with-icon { - top: 23px; -} -.layout-split-proxy-h, -.layout-split-proxy-v { - position: absolute; - font-size: 1px; - display: none; - z-index: 5; -} -.layout-split-proxy-h { - width: 5px; - cursor: e-resize; -} -.layout-split-proxy-v { - height: 5px; - cursor: n-resize; -} -.layout-mask { - position: absolute; - background: #fafafa; - filter: alpha(opacity=10); - opacity: 0.10; - z-index: 4; -} -.layout-button-up { - background: url('images/layout_arrows.png') no-repeat -16px -16px; -} -.layout-button-down { - background: url('images/layout_arrows.png') no-repeat -16px 0; -} -.layout-button-left { - background: url('images/layout_arrows.png') no-repeat 0 0; -} -.layout-button-right { - background: url('images/layout_arrows.png') no-repeat 0 -16px; -} -.layout-split-proxy-h, -.layout-split-proxy-v { - background-color: #b3b3b3; -} -.layout-split-north { - border-bottom: 5px solid #fff; -} -.layout-split-south { - border-top: 5px solid #fff; -} -.layout-split-east { - border-left: 5px solid #fff; -} -.layout-split-west { - border-right: 5px solid #fff; -} -.layout-expand { - background-color: #ffffff; -} -.layout-expand-over { - background-color: #ffffff; -} -.tabs-container { - overflow: hidden; -} -.tabs-header { - border-width: 1px; - border-style: solid; - border-bottom-width: 0; - position: relative; - padding: 0; - padding-top: 2px; - overflow: hidden; -} -.tabs-scroller-left, -.tabs-scroller-right { - position: absolute; - top: auto; - bottom: 0; - width: 18px; - font-size: 1px; - display: none; - cursor: pointer; - border-width: 1px; - border-style: solid; -} -.tabs-scroller-left { - left: 0; -} -.tabs-scroller-right { - right: 0; -} -.tabs-tool { - position: absolute; - bottom: 0; - padding: 1px; - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.tabs-header-plain .tabs-tool { - padding: 0 1px; -} -.tabs-wrap { - position: relative; - left: 0; - overflow: hidden; - width: 100%; - margin: 0; - padding: 0; -} -.tabs-scrolling { - margin-left: 18px; - margin-right: 18px; -} -.tabs-disabled { - opacity: 0.3; - filter: alpha(opacity=30); -} -.tabs { - list-style-type: none; - height: 26px; - margin: 0px; - padding: 0px; - padding-left: 4px; - width: 50000px; - border-style: solid; - border-width: 0 0 1px 0; -} -.tabs li { - float: left; - display: inline-block; - margin: 0 4px -1px 0; - padding: 0; - position: relative; - border: 0; -} -.tabs li a.tabs-inner { - display: inline-block; - text-decoration: none; - margin: 0; - padding: 0 10px; - height: 25px; - line-height: 25px; - text-align: center; - white-space: nowrap; - border-width: 1px; - border-style: solid; - -moz-border-radius: 0px 0px 0 0; - -webkit-border-radius: 0px 0px 0 0; - border-radius: 0px 0px 0 0; -} -.tabs li.tabs-selected a.tabs-inner { - font-weight: bold; - outline: none; -} -.tabs li.tabs-selected a:hover.tabs-inner { - cursor: default; - pointer: default; -} -.tabs li a.tabs-close, -.tabs-p-tool { - position: absolute; - font-size: 1px; - display: block; - height: 12px; - padding: 0; - top: 50%; - margin-top: -6px; - overflow: hidden; -} -.tabs li a.tabs-close { - width: 12px; - right: 5px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs-p-tool { - right: 16px; -} -.tabs-p-tool a { - display: inline-block; - font-size: 1px; - width: 12px; - height: 12px; - margin: 0; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs li a:hover.tabs-close, -.tabs-p-tool a:hover { - opacity: 1; - filter: alpha(opacity=100); - cursor: hand; - cursor: pointer; -} -.tabs-with-icon { - padding-left: 18px; -} -.tabs-icon { - position: absolute; - width: 16px; - height: 16px; - left: 10px; - top: 50%; - margin-top: -8px; -} -.tabs-title { - font-size: 14px; -} -.tabs-closable { - padding-right: 8px; -} -.tabs-panels { - margin: 0px; - padding: 0px; - border-width: 1px; - border-style: solid; - border-top-width: 0; - overflow: hidden; -} -.tabs-header-bottom { - border-width: 0 1px 1px 1px; - padding: 0 0 2px 0; -} -.tabs-header-bottom .tabs { - border-width: 1px 0 0 0; -} -.tabs-header-bottom .tabs li { - margin: -1px 4px 0 0; -} -.tabs-header-bottom .tabs li a.tabs-inner { - -moz-border-radius: 0 0 0px 0px; - -webkit-border-radius: 0 0 0px 0px; - border-radius: 0 0 0px 0px; -} -.tabs-header-bottom .tabs-tool { - top: 0; -} -.tabs-header-bottom .tabs-scroller-left, -.tabs-header-bottom .tabs-scroller-right { - top: 0; - bottom: auto; -} -.tabs-panels-top { - border-width: 1px 1px 0 1px; -} -.tabs-header-left { - float: left; - border-width: 1px 0 1px 1px; - padding: 0; -} -.tabs-header-right { - float: right; - border-width: 1px 1px 1px 0; - padding: 0; -} -.tabs-header-left .tabs-wrap, -.tabs-header-right .tabs-wrap { - height: 100%; -} -.tabs-header-left .tabs { - height: 100%; - padding: 4px 0 0 2px; - border-width: 0 1px 0 0; -} -.tabs-header-right .tabs { - height: 100%; - padding: 4px 2px 0 0; - border-width: 0 0 0 1px; -} -.tabs-header-left .tabs li, -.tabs-header-right .tabs li { - display: block; - width: 100%; - position: relative; -} -.tabs-header-left .tabs li { - left: auto; - right: 0; - margin: 0 -1px 4px 0; - float: right; -} -.tabs-header-right .tabs li { - left: 0; - right: auto; - margin: 0 0 4px -1px; - float: left; -} -.tabs-justified li a.tabs-inner { - padding-left: 0; - padding-right: 0; -} -.tabs-header-left .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 0px 0 0 0px; - -webkit-border-radius: 0px 0 0 0px; - border-radius: 0px 0 0 0px; -} -.tabs-header-right .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 0 0px 0px 0; - -webkit-border-radius: 0 0px 0px 0; - border-radius: 0 0px 0px 0; -} -.tabs-panels-right { - float: right; - border-width: 1px 1px 1px 0; -} -.tabs-panels-left { - float: left; - border-width: 1px 0 1px 1px; -} -.tabs-header-noborder, -.tabs-panels-noborder { - border: 0px; -} -.tabs-header-plain { - border: 0px; - background: transparent; -} -.tabs-pill { - padding-bottom: 3px; -} -.tabs-header-bottom .tabs-pill { - padding-top: 3px; - padding-bottom: 0; -} -.tabs-header-left .tabs-pill { - padding-right: 3px; -} -.tabs-header-right .tabs-pill { - padding-left: 3px; -} -.tabs-header .tabs-pill li a.tabs-inner { - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.tabs-header-narrow, -.tabs-header-narrow .tabs-narrow { - padding: 0; -} -.tabs-narrow li, -.tabs-header-bottom .tabs-narrow li { - margin-left: 0; - margin-right: -1px; -} -.tabs-narrow li.tabs-last, -.tabs-header-bottom .tabs-narrow li.tabs-last { - margin-right: 0; -} -.tabs-header-left .tabs-narrow, -.tabs-header-right .tabs-narrow { - padding-top: 0; -} -.tabs-header-left .tabs-narrow li { - margin-bottom: -1px; - margin-right: -1px; -} -.tabs-header-left .tabs-narrow li.tabs-last, -.tabs-header-right .tabs-narrow li.tabs-last { - margin-bottom: 0; -} -.tabs-header-right .tabs-narrow li { - margin-bottom: -1px; - margin-left: -1px; -} -.tabs-scroller-left { - background: #ffffff url('images/tabs_icons.png') no-repeat 1px center; -} -.tabs-scroller-right { - background: #ffffff url('images/tabs_icons.png') no-repeat -15px center; -} -.tabs li a.tabs-close { - background: url('images/tabs_icons.png') no-repeat -34px center; -} -.tabs li a.tabs-inner:hover { - background: #E6E6E6; - color: #444; - filter: none; -} -.tabs li.tabs-selected a.tabs-inner { - background-color: #fff; - color: #777; -} -.tabs li a.tabs-inner { - color: #777; - background-color: #ffffff; -} -.tabs-header, -.tabs-tool { - background-color: #ffffff; -} -.tabs-header-plain { - background: transparent; -} -.tabs-header, -.tabs-scroller-left, -.tabs-scroller-right, -.tabs-tool, -.tabs, -.tabs-panels, -.tabs li a.tabs-inner, -.tabs li.tabs-selected a.tabs-inner, -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, -.tabs-header-left .tabs li.tabs-selected a.tabs-inner, -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-color: #ddd; -} -.tabs-p-tool a:hover, -.tabs li a:hover.tabs-close, -.tabs-scroller-over { - background-color: #E6E6E6; -} -.tabs li.tabs-selected a.tabs-inner { - border-bottom: 1px solid #fff; -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - border-top: 1px solid #fff; -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - border-right: 1px solid #fff; -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-left: 1px solid #fff; -} -.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { - background: #CCE6FF; - color: #000; - filter: none; - border-color: #ddd; -} -.datagrid .panel-body { - overflow: hidden; - position: relative; -} -.datagrid-view { - position: relative; - overflow: hidden; -} -.datagrid-view1, -.datagrid-view2 { - position: absolute; - overflow: hidden; - top: 0; -} -.datagrid-view1 { - left: 0; -} -.datagrid-view2 { - right: 0; -} -.datagrid-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0.3; - filter: alpha(opacity=30); - display: none; -} -.datagrid-mask-msg { - position: absolute; - top: 50%; - margin-top: -20px; - padding: 10px 5px 10px 30px; - width: auto; - height: 16px; - border-width: 2px; - border-style: solid; - display: none; -} -.datagrid-empty { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 25px; - line-height: 25px; - text-align: center; -} -.datagrid-sort-icon { - padding: 0; - display: none; -} -.datagrid-toolbar { - height: auto; - padding: 1px 2px; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-btn-separator { - float: left; - height: 24px; - border-left: 1px solid #ddd; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.datagrid .datagrid-pager { - display: block; - margin: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.datagrid .datagrid-pager-top { - border-width: 0 0 1px 0; -} -.datagrid-header { - overflow: hidden; - cursor: default; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-header-inner { - float: left; - width: 10000px; -} -.datagrid-header-row, -.datagrid-row { - height: 32px; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-width: 0 1px 1px 0; - border-style: dotted; - margin: 0; - padding: 0; -} -.datagrid-cell, -.datagrid-cell-group, -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - margin: 0; - padding: 0 4px; - white-space: nowrap; - word-wrap: normal; - overflow: hidden; - height: 18px; - line-height: 18px; - font-size: 14px; -} -.datagrid-header .datagrid-cell { - height: auto; -} -.datagrid-header .datagrid-cell span { - font-size: 14px; -} -.datagrid-cell-group { - text-align: center; - text-overflow: ellipsis; -} -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - width: 30px; - text-align: center; - margin: 0; - padding: 0; -} -.datagrid-body { - margin: 0; - padding: 0; - overflow: auto; - zoom: 1; -} -.datagrid-view1 .datagrid-body-inner { - padding-bottom: 20px; -} -.datagrid-view1 .datagrid-body { - overflow: hidden; -} -.datagrid-footer { - overflow: hidden; -} -.datagrid-footer-inner { - border-width: 1px 0 0 0; - border-style: solid; - width: 10000px; - float: left; -} -.datagrid-row-editing .datagrid-cell { - height: auto; -} -.datagrid-header-check, -.datagrid-cell-check { - padding: 0; - width: 27px; - height: 18px; - font-size: 1px; - text-align: center; - overflow: hidden; -} -.datagrid-header-check input, -.datagrid-cell-check input { - margin: 0; - padding: 0; - width: 15px; - height: 18px; -} -.datagrid-resize-proxy { - position: absolute; - width: 1px; - height: 10000px; - top: 0; - cursor: e-resize; - display: none; -} -.datagrid-body .datagrid-editable { - margin: 0; - padding: 0; -} -.datagrid-body .datagrid-editable table { - width: 100%; - height: 100%; -} -.datagrid-body .datagrid-editable td { - border: 0; - margin: 0; - padding: 0; -} -.datagrid-view .datagrid-editable-input { - margin: 0; - padding: 2px 4px; - border: 1px solid #ddd; - font-size: 14px; - outline-style: none; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-view .validatebox-invalid { - border-color: #ffa8a8; -} -.datagrid-sort .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -64px center; -} -.datagrid-sort-desc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -16px center; -} -.datagrid-sort-asc .datagrid-sort-icon { - display: inline; - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat 0px center; -} -.datagrid-row-collapse { - background: url('images/datagrid_icons.png') no-repeat -48px center; -} -.datagrid-row-expand { - background: url('images/datagrid_icons.png') no-repeat -32px center; -} -.datagrid-mask-msg { - background: #fff url('images/loading.gif') no-repeat scroll 5px center; -} -.datagrid-header, -.datagrid-td-rownumber { - background-color: #ffffff; -} -.datagrid-cell-rownumber { - color: #444; -} -.datagrid-resize-proxy { - background: #b3b3b3; -} -.datagrid-mask { - background: #eee; -} -.datagrid-mask-msg { - border-color: #ddd; -} -.datagrid-toolbar, -.datagrid-pager { - background: #fff; -} -.datagrid-header, -.datagrid-toolbar, -.datagrid-pager, -.datagrid-footer-inner { - border-color: #ddd; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-color: #ddd; -} -.datagrid-htable, -.datagrid-btable, -.datagrid-ftable { - color: #444; - border-collapse: separate; -} -.datagrid-row-alt { - background: #f5f5f5; -} -.datagrid-row-over, -.datagrid-header td.datagrid-header-over { - background: #E6E6E6; - color: #444; - cursor: default; -} -.datagrid-row-selected { - background: #CCE6FF; - color: #000; -} -.datagrid-row-editing .textbox, -.datagrid-row-editing .textbox-text { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-header .datagrid-filter-row td.datagrid-header-over { - background: inherit; -} -.propertygrid .datagrid-view1 .datagrid-body td { - padding-bottom: 1px; - border-width: 0 1px 0 0; -} -.propertygrid .datagrid-group { - overflow: hidden; - border-width: 0 0 1px 0; - border-style: solid; -} -.propertygrid .datagrid-group span { - font-weight: bold; -} -.propertygrid .datagrid-view1 .datagrid-body td { - border-color: #ddd; -} -.propertygrid .datagrid-view1 .datagrid-group { - border-color: #ffffff; -} -.propertygrid .datagrid-view2 .datagrid-group { - border-color: #ddd; -} -.propertygrid .datagrid-group, -.propertygrid .datagrid-view1 .datagrid-body, -.propertygrid .datagrid-view1 .datagrid-row-over, -.propertygrid .datagrid-view1 .datagrid-row-selected { - background: #ffffff; -} -.datalist .datagrid-header { - border-width: 0; -} -.datalist .datagrid-group, -.m-list .m-list-group { - height: 25px; - line-height: 25px; - font-weight: bold; - overflow: hidden; - background-color: #ffffff; - border-style: solid; - border-width: 0 0 1px 0; - border-color: #ddd; -} -.datalist .datagrid-group-expander { - display: none; -} -.datalist .datagrid-group-title { - padding: 0 4px; -} -.datalist .datagrid-btable { - width: 100%; - table-layout: fixed; -} -.datalist .datagrid-row td { - border-style: solid; - border-left-color: transparent; - border-right-color: transparent; - border-bottom-width: 0; -} -.datalist-lines .datagrid-row td { - border-bottom-width: 1px; -} -.datalist .datagrid-cell, -.m-list li { - width: auto; - height: auto; - padding: 2px 4px; - line-height: 18px; - position: relative; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link, -.m-list li>a { - display: block; - position: relative; - cursor: pointer; - color: #444; - text-decoration: none; - overflow: hidden; - margin: -2px -4px; - padding: 2px 4px; - padding-right: 16px; - line-height: 18px; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link::after, -.m-list li>a::after { - position: absolute; - display: block; - width: 8px; - height: 8px; - content: ''; - right: 6px; - top: 50%; - margin-top: -4px; - border-style: solid; - border-width: 1px 1px 0 0; - -ms-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -webkit-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); -} -.m-list { - margin: 0; - padding: 0; - list-style: none; -} -.m-list li { - border-style: solid; - border-width: 0 0 1px 0; - border-color: #ddd; -} -.m-list li>a:hover { - background: #E6E6E6; - color: #444; -} -.m-list .m-list-group { - padding: 0 4px; -} -.pagination { - zoom: 1; - padding: 2px; -} -.pagination table { - float: left; - height: 30px; -} -.pagination td { - border: 0; -} -.pagination-btn-separator { - float: left; - height: 24px; - border-left: 1px solid #ddd; - border-right: 1px solid #fff; - margin: 3px 1px; -} -.pagination .pagination-num { - border-width: 1px; - border-style: solid; - margin: 0 2px; - padding: 2px; - width: 3em; - height: auto; - text-align: center; - font-size: 14px; -} -.pagination-page-list { - margin: 0px 6px; - padding: 1px 2px; - width: auto; - height: auto; - border-width: 1px; - border-style: solid; -} -.pagination-info { - float: right; - margin: 0 6px; - padding: 0; - height: 30px; - line-height: 30px; - font-size: 14px; -} -.pagination span { - font-size: 14px; -} -.pagination-link .l-btn-text { - box-sizing: border-box; - text-align: center; - margin: 0; - padding: 0 .5em; - width: auto; - min-width: 28px; -} -.pagination-first { - background: url('images/pagination_icons.png') no-repeat 0 center; -} -.pagination-prev { - background: url('images/pagination_icons.png') no-repeat -16px center; -} -.pagination-next { - background: url('images/pagination_icons.png') no-repeat -32px center; -} -.pagination-last { - background: url('images/pagination_icons.png') no-repeat -48px center; -} -.pagination-load { - background: url('images/pagination_icons.png') no-repeat -64px center; -} -.pagination-loading { - background: url('images/loading.gif') no-repeat center center; -} -.pagination-page-list, -.pagination .pagination-num { - border-color: #ddd; -} -.calendar { - border-width: 1px; - border-style: solid; - padding: 1px; - overflow: hidden; -} -.calendar table { - table-layout: fixed; - border-collapse: separate; - font-size: 14px; - width: 100%; - height: 100%; -} -.calendar table td, -.calendar table th { - font-size: 14px; -} -.calendar-noborder { - border: 0; -} -.calendar-header { - position: relative; - height: 28px; -} -.calendar-title { - text-align: center; - height: 28px; -} -.calendar-title span { - position: relative; - display: inline-block; - top: 0px; - padding: 0 3px; - height: 28px; - line-height: 28px; - font-size: 14px; - cursor: pointer; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.calendar-prevmonth, -.calendar-nextmonth, -.calendar-prevyear, -.calendar-nextyear { - position: absolute; - top: 50%; - margin-top: -8px; - width: 16px; - height: 16px; - cursor: pointer; - font-size: 1px; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.calendar-prevmonth { - left: 20px; - background: url('images/calendar_arrows.png') no-repeat -16px 0; -} -.calendar-nextmonth { - right: 20px; - background: url('images/calendar_arrows.png') no-repeat -32px 0; -} -.calendar-prevyear { - left: 3px; - background: url('images/calendar_arrows.png') no-repeat 0px 0; -} -.calendar-nextyear { - right: 3px; - background: url('images/calendar_arrows.png') no-repeat -48px 0; -} -.calendar-body { - position: relative; -} -.calendar-body th, -.calendar-body td { - text-align: center; -} -.calendar-day { - border: 0; - padding: 1px; - cursor: pointer; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.calendar-other-month { - opacity: 0.3; - filter: alpha(opacity=30); -} -.calendar-disabled { - opacity: 0.6; - filter: alpha(opacity=60); - cursor: default; -} -.calendar-menu { - position: absolute; - top: 0; - left: 0; - width: 180px; - height: 150px; - padding: 5px; - font-size: 14px; - display: none; - overflow: hidden; -} -.calendar-menu-year-inner { - text-align: center; - padding-bottom: 5px; -} -.calendar-menu-year { - width: 80px; - line-height: 26px; - text-align: center; - border-width: 1px; - border-style: solid; - outline-style: none; - resize: none; - margin: 0; - padding: 0; - font-weight: bold; - font-size: 14px; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.calendar-menu-prev, -.calendar-menu-next { - display: inline-block; - width: 25px; - height: 28px; - vertical-align: top; - cursor: pointer; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.calendar-menu-prev { - margin-right: 10px; - background: url('images/calendar_arrows.png') no-repeat 5px center; -} -.calendar-menu-next { - margin-left: 10px; - background: url('images/calendar_arrows.png') no-repeat -44px center; -} -.calendar-menu-month { - text-align: center; - cursor: pointer; - font-weight: bold; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.calendar-body th, -.calendar-menu-month { - color: #919191; -} -.calendar-day { - color: #444; -} -.calendar-sunday { - color: #CC2222; -} -.calendar-saturday { - color: #00ee00; -} -.calendar-today { - color: #0000ff; -} -.calendar-menu-year { - border-color: #ddd; -} -.calendar { - border-color: #ddd; -} -.calendar-header { - background: #ffffff; -} -.calendar-body, -.calendar-menu { - background: #fff; -} -.calendar-body th { - background: #fff; - padding: 4px 0; -} -.calendar-hover, -.calendar-nav-hover, -.calendar-menu-hover { - background-color: #E6E6E6; - color: #444; -} -.calendar-hover { - border: 1px solid #ddd; - padding: 0; -} -.calendar-selected { - background-color: #CCE6FF; - color: #000; - border: 1px solid #99cdff; - padding: 0; -} -.datebox-calendar-inner { - height: 250px; -} -.datebox-button { - padding: 4px 0; - text-align: center; -} -.datebox-button a { - line-height: 22px; - font-size: 14px; - font-weight: bold; - text-decoration: none; - opacity: 0.6; - filter: alpha(opacity=60); -} -.datebox-button a:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.datebox-current, -.datebox-close { - float: left; -} -.datebox-close { - float: right; -} -.datebox .combo-arrow { - background-image: url('images/datebox_arrow.png'); - background-position: center center; -} -.datebox-button { - background-color: #fff; -} -.datebox-button a { - color: #777; -} -.spinner-arrow { - display: inline-block; - overflow: hidden; - vertical-align: top; - margin: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - width: 18px; -} -.spinner-arrow.spinner-button-top, -.spinner-arrow.spinner-button-bottom, -.spinner-arrow.spinner-button-left, -.spinner-arrow.spinner-button-right { - background-color: #ffffff; -} -.spinner-arrow-up, -.spinner-arrow-down { - opacity: 0.6; - filter: alpha(opacity=60); - display: block; - font-size: 1px; - width: 18px; - height: 10px; - width: 100%; - height: 50%; - color: #777; - outline-style: none; - background-color: #ffffff; -} -.spinner-button-updown { - opacity: 1.0; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - position: relative; - display: block; - width: 100%; - height: 50%; -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down { - opacity: 1.0; - filter: alpha(opacity=100); - cursor: pointer; - width: 16px; - height: 16px; - top: 50%; - left: 50%; - margin-top: -8px; - margin-left: -8px; - position: absolute; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-button-updown .spinner-button-top:hover, -.spinner-button-updown .spinner-button-bottom:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down, -.spinner-button-updown .spinner-arrow-up:hover, -.spinner-button-updown .spinner-arrow-down:hover { - background-color: transparent; -} -.spinner-arrow-hover { - background-color: #E6E6E6; - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-top:hover, -.spinner-button-bottom:hover, -.spinner-button-left:hover, -.spinner-button-right:hover, -.spinner-arrow-up:hover, -.spinner-arrow-down:hover { - opacity: 1.0; - filter: alpha(opacity=100); - background-color: #E6E6E6; -} -.textbox-disabled .spinner-button-top:hover, -.textbox-disabled .spinner-button-bottom:hover, -.textbox-disabled .spinner-button-left:hover, -.textbox-disabled .spinner-button-right:hover, -.textbox-icon-disabled .spinner-arrow-up:hover, -.textbox-icon-disabled .spinner-arrow-down:hover { - opacity: 0.6; - filter: alpha(opacity=60); - background-color: #ffffff; - cursor: default; -} -.spinner .textbox-icon-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-arrow-up { - background: url('images/spinner_arrows.png') no-repeat 1px center; - background-color: #ffffff; -} -.spinner-arrow-down { - background: url('images/spinner_arrows.png') no-repeat -15px center; - background-color: #ffffff; -} -.spinner-button-up { - background: url('images/spinner_arrows.png') no-repeat -32px center; -} -.spinner-button-down { - background: url('images/spinner_arrows.png') no-repeat -48px center; -} -.progressbar { - border-width: 1px; - border-style: solid; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; - overflow: hidden; - position: relative; -} -.progressbar-text { - text-align: center; - position: absolute; -} -.progressbar-value { - position: relative; - overflow: hidden; - width: 0; - -moz-border-radius: 0px 0 0 0px; - -webkit-border-radius: 0px 0 0 0px; - border-radius: 0px 0 0 0px; -} -.progressbar { - border-color: #ddd; -} -.progressbar-text { - color: #444; - font-size: 14px; -} -.progressbar-value, -.progressbar-value .progressbar-text { - background-color: #CCE6FF; - color: #000; -} -.searchbox-button { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.searchbox-button-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.searchbox .l-btn-plain { - border: 0; - padding: 0; - vertical-align: top; - opacity: 0.6; - filter: alpha(opacity=60); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .l-btn-plain:hover { - border: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox a.m-btn-plain-active { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .m-btn-active { - border-width: 0 1px 0 0; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .textbox-button-right { - border-width: 0 0 0 1px; -} -.searchbox .textbox-button-left { - border-width: 0 1px 0 0; -} -.searchbox-button { - background: url('images/searchbox_button.png') no-repeat center center; -} -.searchbox .l-btn-plain { - background: #ffffff; -} -.searchbox .l-btn-plain-disabled, -.searchbox .l-btn-plain-disabled:hover { - opacity: 0.5; - filter: alpha(opacity=50); -} -.slider-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.slider-h { - height: 22px; -} -.slider-v { - width: 22px; -} -.slider-inner { - position: relative; - height: 6px; - top: 7px; - border-width: 1px; - border-style: solid; - border-radius: 0px; -} -.slider-handle { - position: absolute; - display: block; - outline: none; - width: 20px; - height: 20px; - top: 50%; - margin-top: -10px; - margin-left: -10px; -} -.slider-tip { - position: absolute; - display: inline-block; - line-height: 12px; - font-size: 14px; - white-space: nowrap; - top: -22px; -} -.slider-rule { - position: relative; - top: 15px; -} -.slider-rule span { - position: absolute; - display: inline-block; - font-size: 0; - height: 5px; - border-width: 0 0 0 1px; - border-style: solid; -} -.slider-rulelabel { - position: relative; - top: 20px; -} -.slider-rulelabel span { - position: absolute; - display: inline-block; - font-size: 14px; -} -.slider-v .slider-inner { - width: 6px; - left: 7px; - top: 0; - float: left; -} -.slider-v .slider-handle { - left: 50%; - margin-top: -10px; -} -.slider-v .slider-tip { - left: -10px; - margin-top: -6px; -} -.slider-v .slider-rule { - float: left; - top: 0; - left: 16px; -} -.slider-v .slider-rule span { - width: 5px; - height: 'auto'; - border-left: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.slider-v .slider-rulelabel { - float: left; - top: 0; - left: 23px; -} -.slider-handle { - background: url('images/slider_handle.png') no-repeat; -} -.slider-inner { - border-color: #ddd; - background: #ffffff; -} -.slider-rule span { - border-color: #ddd; -} -.slider-rulelabel span { - color: #444; -} -.menu { - position: absolute; - margin: 0; - padding: 2px; - border-width: 1px; - border-style: solid; - overflow: hidden; -} -.menu-inline { - position: relative; -} -.menu-item { - position: relative; - margin: 0; - padding: 0; - overflow: hidden; - white-space: nowrap; - cursor: pointer; - border-width: 1px; - border-style: solid; -} -.menu-text { - height: 20px; - line-height: 20px; - float: left; - padding-left: 28px; -} -.menu-icon { - position: absolute; - width: 16px; - height: 16px; - left: 2px; - top: 50%; - margin-top: -8px; -} -.menu-rightarrow { - position: absolute; - width: 16px; - height: 16px; - right: 0; - top: 50%; - margin-top: -8px; -} -.menu-line { - position: absolute; - left: 26px; - top: 0; - height: 2000px; - font-size: 1px; -} -.menu-sep { - margin: 3px 0px 3px 25px; - font-size: 1px; -} -.menu-noline .menu-line { - display: none; -} -.menu-noline .menu-sep { - margin-left: 0; - margin-right: 0; -} -.menu-active { - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.menu-item-disabled { - opacity: 0.5; - filter: alpha(opacity=50); - cursor: default; -} -.menu-text, -.menu-text span { - font-size: 14px; -} -.menu-shadow { - position: absolute; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; - background: #eee; - -moz-box-shadow: 2px 2px 3px #ededed; - -webkit-box-shadow: 2px 2px 3px #ededed; - box-shadow: 2px 2px 3px #ededed; - filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); -} -.menu-rightarrow { - background: url('images/menu_arrows.png') no-repeat -32px center; -} -.menu-line { - border-left: 1px solid #ddd; - border-right: 1px solid #fff; -} -.menu-sep { - border-top: 1px solid #ddd; - border-bottom: 1px solid #fff; -} -.menu { - background-color: #ffffff; - border-color: #ddd; - color: #444; -} -.menu-content { - background: #fff; -} -.menu-item { - border-color: transparent; - _border-color: #ffffff; -} -.menu-active { - border-color: #ddd; - color: #444; - background: #E6E6E6; -} -.menu-active-disabled { - border-color: transparent; - background: transparent; - color: #444; -} -.m-btn-downarrow, -.s-btn-downarrow { - display: inline-block; - position: absolute; - width: 16px; - height: 16px; - font-size: 1px; - right: 0; - top: 50%; - margin-top: -8px; -} -.m-btn-active, -.s-btn-active { - background: #E6E6E6; - color: #444; - border: 1px solid #ddd; - filter: none; -} -.m-btn-plain-active, -.s-btn-plain-active { - background: transparent; - padding: 0; - border-width: 1px; - border-style: solid; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.m-btn .l-btn-left .l-btn-text { - margin-right: 20px; -} -.m-btn .l-btn-icon-right .l-btn-text { - margin-right: 40px; -} -.m-btn .l-btn-icon-right .l-btn-icon { - right: 20px; -} -.m-btn .l-btn-icon-top .l-btn-text { - margin-right: 4px; - margin-bottom: 14px; -} -.m-btn .l-btn-icon-bottom .l-btn-text { - margin-right: 4px; - margin-bottom: 34px; -} -.m-btn .l-btn-icon-bottom .l-btn-icon { - top: auto; - bottom: 20px; -} -.m-btn .l-btn-icon-top .m-btn-downarrow, -.m-btn .l-btn-icon-bottom .m-btn-downarrow { - top: auto; - bottom: 0px; - left: 50%; - margin-left: -8px; -} -.m-btn-line { - display: inline-block; - position: absolute; - font-size: 1px; - display: none; -} -.m-btn .l-btn-left .m-btn-line { - right: 0; - width: 16px; - height: 500px; - border-style: solid; - border-color: #b3b3b3; - border-width: 0 0 0 1px; -} -.m-btn .l-btn-icon-top .m-btn-line, -.m-btn .l-btn-icon-bottom .m-btn-line { - left: 0; - bottom: 0; - width: 500px; - height: 16px; - border-width: 1px 0 0 0; -} -.m-btn-large .l-btn-icon-right .l-btn-text { - margin-right: 56px; -} -.m-btn-large .l-btn-icon-bottom .l-btn-text { - margin-bottom: 50px; -} -.m-btn-downarrow, -.s-btn-downarrow { - background: url('images/menu_arrows.png') no-repeat 0 center; -} -.m-btn-plain-active, -.s-btn-plain-active { - border-color: #ddd; - background-color: #E6E6E6; - color: #444; -} -.s-btn:hover .m-btn-line, -.s-btn-active .m-btn-line, -.s-btn-plain-active .m-btn-line { - display: inline-block; -} -.l-btn:hover .s-btn-downarrow, -.s-btn-active .s-btn-downarrow, -.s-btn-plain-active .s-btn-downarrow { - border-style: solid; - border-color: #b3b3b3; - border-width: 0 0 0 1px; -} -.messager-body { - padding: 10px 10px 30px 10px; - overflow: auto; -} -.messager-button { - text-align: center; - padding: 5px; -} -.messager-button .l-btn { - width: 70px; -} -.messager-icon { - float: left; - width: 32px; - height: 32px; - margin: 0 10px 10px 0; -} -.messager-error { - background: url('images/messager_icons.png') no-repeat scroll -64px 0; -} -.messager-info { - background: url('images/messager_icons.png') no-repeat scroll 0 0; -} -.messager-question { - background: url('images/messager_icons.png') no-repeat scroll -32px 0; -} -.messager-warning { - background: url('images/messager_icons.png') no-repeat scroll -96px 0; -} -.messager-progress { - padding: 10px; -} -.messager-p-msg { - margin-bottom: 5px; -} -.messager-body .messager-input { - width: 100%; - padding: 4px 0; - outline-style: none; - border: 1px solid #ddd; -} -.window-thinborder .messager-button { - padding-bottom: 8px; -} -.tree { - margin: 0; - padding: 0; - list-style-type: none; -} -.tree li { - white-space: nowrap; -} -.tree li ul { - list-style-type: none; - margin: 0; - padding: 0; -} -.tree-node { - height: 26px; - white-space: nowrap; - cursor: pointer; -} -.tree-hit { - cursor: pointer; -} -.tree-expanded, -.tree-collapsed, -.tree-folder, -.tree-file, -.tree-checkbox, -.tree-indent { - display: inline-block; - width: 16px; - height: 18px; - margin: 4px 0; - vertical-align: middle; - overflow: hidden; -} -.tree-expanded { - background: url('images/tree_icons.png') no-repeat -18px 0px; -} -.tree-expanded-hover { - background: url('images/tree_icons.png') no-repeat -50px 0px; -} -.tree-collapsed { - background: url('images/tree_icons.png') no-repeat 0px 0px; -} -.tree-collapsed-hover { - background: url('images/tree_icons.png') no-repeat -32px 0px; -} -.tree-lines .tree-expanded, -.tree-lines .tree-root-first .tree-expanded { - background: url('images/tree_icons.png') no-repeat -144px 0; -} -.tree-lines .tree-collapsed, -.tree-lines .tree-root-first .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -128px 0; -} -.tree-lines .tree-node-last .tree-expanded, -.tree-lines .tree-root-one .tree-expanded { - background: url('images/tree_icons.png') no-repeat -80px 0; -} -.tree-lines .tree-node-last .tree-collapsed, -.tree-lines .tree-root-one .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -64px 0; -} -.tree-line { - background: url('images/tree_icons.png') no-repeat -176px 0; -} -.tree-join { - background: url('images/tree_icons.png') no-repeat -192px 0; -} -.tree-joinbottom { - background: url('images/tree_icons.png') no-repeat -160px 0; -} -.tree-folder { - background: url('images/tree_icons.png') no-repeat -208px 0; -} -.tree-folder-open { - background: url('images/tree_icons.png') no-repeat -224px 0; -} -.tree-file { - background: url('images/tree_icons.png') no-repeat -240px 0; -} -.tree-loading { - background: url('images/loading.gif') no-repeat center center; -} -.tree-checkbox0 { - background: url('images/tree_icons.png') no-repeat -208px -18px; -} -.tree-checkbox1 { - background: url('images/tree_icons.png') no-repeat -224px -18px; -} -.tree-checkbox2 { - background: url('images/tree_icons.png') no-repeat -240px -18px; -} -.tree-title { - font-size: 14px; - display: inline-block; - text-decoration: none; - vertical-align: middle; - white-space: nowrap; - padding: 0 2px; - margin: 4px 0; - height: 18px; - line-height: 18px; -} -.tree-node-proxy { - font-size: 14px; - line-height: 20px; - padding: 0 2px 0 20px; - border-width: 1px; - border-style: solid; - z-index: 9900000; -} -.tree-dnd-icon { - display: inline-block; - position: absolute; - width: 16px; - height: 18px; - left: 2px; - top: 50%; - margin-top: -9px; -} -.tree-dnd-yes { - background: url('images/tree_icons.png') no-repeat -256px 0; -} -.tree-dnd-no { - background: url('images/tree_icons.png') no-repeat -256px -18px; -} -.tree-node-top { - border-top: 1px dotted red; -} -.tree-node-bottom { - border-bottom: 1px dotted red; -} -.tree-node-append .tree-title { - border: 1px dotted red; -} -.tree-editor { - border: 1px solid #ddd; - font-size: 14px; - height: 26px; - line-height: 26px; - padding: 0 4px; - margin: 0; - width: 80px; - outline-style: none; - vertical-align: middle; - position: absolute; - top: 0; -} -.tree-node-proxy { - background-color: #fff; - color: #444; - border-color: #ddd; -} -.tree-node-hover { - background: #E6E6E6; - color: #444; -} -.tree-node-selected { - background: #CCE6FF; - color: #000; -} -.tree-node-hidden { - display: none; -} -.inputbox { - display: inline-block; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; -} -.validatebox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; - color: #000; -} -.tooltip { - position: absolute; - display: none; - z-index: 9900000; - outline: none; - opacity: 1; - filter: alpha(opacity=100); - padding: 5px; - border-width: 1px; - border-style: solid; - border-radius: 5px; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.tooltip-content { - font-size: 14px; -} -.tooltip-arrow-outer, -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - line-height: 0; - font-size: 0; - border-style: solid; - border-width: 6px; - border-color: transparent; - _border-color: tomato; - _filter: chroma(color=tomato); -} -.tooltip-arrow { - display: none \9; -} -.tooltip-right .tooltip-arrow-outer { - left: 0; - top: 50%; - margin: -6px 0 0 -13px; -} -.tooltip-right .tooltip-arrow { - left: 0; - top: 50%; - margin: -6px 0 0 -12px; -} -.tooltip-left .tooltip-arrow-outer { - right: 0; - top: 50%; - margin: -6px -13px 0 0; -} -.tooltip-left .tooltip-arrow { - right: 0; - top: 50%; - margin: -6px -12px 0 0; -} -.tooltip-top .tooltip-arrow-outer { - bottom: 0; - left: 50%; - margin: 0 0 -13px -6px; -} -.tooltip-top .tooltip-arrow { - bottom: 0; - left: 50%; - margin: 0 0 -12px -6px; -} -.tooltip-bottom .tooltip-arrow-outer { - top: 0; - left: 50%; - margin: -13px 0 0 -6px; -} -.tooltip-bottom .tooltip-arrow { - top: 0; - left: 50%; - margin: -12px 0 0 -6px; -} -.tooltip { - background-color: #fff; - border-color: #ddd; - color: #444; -} -.tooltip-right .tooltip-arrow-outer { - border-right-color: #ddd; -} -.tooltip-right .tooltip-arrow { - border-right-color: #fff; -} -.tooltip-left .tooltip-arrow-outer { - border-left-color: #ddd; -} -.tooltip-left .tooltip-arrow { - border-left-color: #fff; -} -.tooltip-top .tooltip-arrow-outer { - border-top-color: #ddd; -} -.tooltip-top .tooltip-arrow { - border-top-color: #fff; -} -.tooltip-bottom .tooltip-arrow-outer { - border-bottom-color: #ddd; -} -.tooltip-bottom .tooltip-arrow { - border-bottom-color: #fff; -} -.switchbutton { - text-decoration: none; - display: inline-block; - overflow: hidden; - vertical-align: middle; - margin: 0; - padding: 0; - cursor: pointer; - background: #dddddd; - border: 1px solid #dddddd; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.switchbutton-inner { - display: inline-block; - overflow: hidden; - position: relative; - top: -1px; - left: -1px; -} -.switchbutton-on, -.switchbutton-off, -.switchbutton-handle { - display: inline-block; - text-align: center; - height: 100%; - float: left; - font-size: 14px; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.switchbutton-on { - background: #CCE6FF; - color: #000; -} -.switchbutton-off { - background-color: #fff; - color: #444; -} -.switchbutton-on, -.switchbutton-reversed .switchbutton-off { - -moz-border-radius: 0px 0 0 0px; - -webkit-border-radius: 0px 0 0 0px; - border-radius: 0px 0 0 0px; -} -.switchbutton-off, -.switchbutton-reversed .switchbutton-on { - -moz-border-radius: 0 0px 0px 0; - -webkit-border-radius: 0 0px 0px 0; - border-radius: 0 0px 0px 0; -} -.switchbutton-handle { - position: absolute; - top: 0; - left: 50%; - background-color: #fff; - color: #444; - border: 1px solid #dddddd; - -moz-box-shadow: 0 0 3px 0 #dddddd; - -webkit-box-shadow: 0 0 3px 0 #dddddd; - box-shadow: 0 0 3px 0 #dddddd; -} -.switchbutton-value { - position: absolute; - top: 0; - left: -5000px; -} -.switchbutton-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.switchbutton-disabled, -.switchbutton-readonly { - cursor: default; -} -.radiobutton { - position: relative; - border: 2px solid #99cdff; - border-radius: 50%; -} -.radiobutton-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #99cdff; - border-radius: 50%; - transform: scale(.6); -} -.radiobutton-disabled { - opacity: 0.6; -} -.radiobutton-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} -.checkbox { - position: relative; - border: 2px solid #99cdff; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.checkbox-checked { - border: 0; - background: #99cdff; -} -.checkbox-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; -} -.checkbox path { - stroke-width: 2px; -} -.checkbox-disabled { - opacity: 0.6; -} -.checkbox-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} -.sidemenu .tree-hit { - background-image: none; -} -.sidemenu-default-icon { - background-image: none; - width: 0; -} -.sidemenu .accordion .accordion-header, -.sidemenu .accordion .accordion-body { - border-bottom-color: transparent; - background: transparent; -} -.sidemenu .accordion .accordion-header { - color: #777; -} -.sidemenu .accordion-header .panel-title { - height: 30px; - line-height: 30px; - color: #777; -} -.sidemenu .accordion-header:hover { - background: #E6E6E6; - color: #777; -} -.sidemenu .tree-node-hover { - background: #E6E6E6; - color: #777; -} -.sidemenu .tree-node-selected { - border-right: 2px solid #99cdff; - color: #000; - background: #CCE6FF; -} -.sidemenu .tree-node { - height: 40px; -} -.sidemenu .tree-title { - margin: 11px 0; -} -.sidemenu .tree-node-nonleaf { - position: relative; -} -.sidemenu .tree-node-nonleaf::after { - display: inline-block; - content: ''; - position: absolute; - top: 50%; - margin-top: -8px; - background: url('images/accordion_arrows.png') no-repeat 0 0; - width: 16px; - height: 16px; - right: 5px; -} -.sidemenu .tree-node-nonleaf-collapsed::after { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.sidemenu-collapsed .panel-icon { - left: 50%; - margin-left: -8px; -} -.sidemenu-tooltip { - padding: 0; - margin: 0 -12px; - border: 0; -} -.sidemenu-tooltip.tooltip-left { - margin: 0 12px; -} -.sidemenu-tooltip .tooltip-arrow-outer, -.sidemenu-tooltip .tooltip-arrow { - display: none; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/filebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/filebox.css deleted file mode 100644 index c6bac66..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/filebox.css +++ /dev/null @@ -1,20 +0,0 @@ -.filebox .textbox-value { - vertical-align: top; - position: absolute; - top: 0; - left: -5000px; -} -.filebox-label { - display: inline-block; - position: absolute; - width: 100%; - height: 100%; - cursor: pointer; - left: 0; - top: 0; - z-index: 10; - background: url('images/blank.gif') no-repeat; -} -.l-btn-disabled .filebox-label { - cursor: default; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/accordion_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/accordion_arrows.png deleted file mode 100644 index 720835f69c96c17ec32a20b03ac9753aa59b7f4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYeRK2H*V@SoVUT_Y-nKxaI`{RC0WjSLJ&w^R(C-|JQTojLXc1&{d*_z{$ jW+oTMdQ(F|jDg|L>K${_)^zO#I)%a0)z4*}Q$iB}_fAN- diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/blank.gif b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/blank.gif deleted file mode 100644 index 1d11fa9ada9e93505b3d736acb204083f45d5fbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43 scmZ?wbhEHbWMp7uX!y@?;J^U}1_s5SEQ~;kK?g*DWEhy3To@Uw0n;G|I{*Lx diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/calendar_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/calendar_arrows.png deleted file mode 100644 index 430c4ad685b8c0068ecb7e3cbef74f493a84ad0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQYD@)jv*Dd-cCEn)nLHm{QbZE z+q@uWwandfr?Jb4eDYYmB3UAt=OO2Vt+MMT&+KD%&6hZDt!FBpej;sEpMN69^tKl% zp6y<4_lG^P z=;=eQ4Vs74-2)Ua&f1tcVdk$#{GPKe@&?ZMHmT&SMw?IV&w7)}ixLbB3d$Zg{&KGb P8OPx1>gTe~DWM4fp>5!O@Gl{c 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 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/loading.gif b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/loading.gif deleted file mode 100644 index 68f01d04813c1f622810864a3aaa04b4a17ac8f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1737 zcmaKsX;2e)7>CzDa{xjjy99|1A!tC(kfocDi)<1$AxHpOQ4k^l!Vx1W6x7<&|FYXU zqO4jEiU-!VR1p+Xj1?4-iuI_J;!&?!+ghg|JJad3U)pMGzcKxNeCM6tJnuX+uPvX@ zZY|=AHdxt2Xr2y*)5|c6#FSEuyJ+Y3Z&l z2hJWo`9;lJ$6wzSoW60tqkB|d$oiO*d-^85^ojn{*NR{MP*%{@H*#gihZ8BKyB68E z-MIbjgNNV0y5khpJ^Jv`51aR%={<4jhaVq5e*9D5+*hL)XCHn4{^d%hPu@?KpKbc=eN!D=XUjDmH#n{YHNS zHCX6BV)yn2CuTNujhN~V+`RKpyXO6^ht92eqhIIlQLfz6eeCnH_C7`NPNrw9ks366 z4xX9(`s~z=+1uX^ocZ$2_fBs=JihPfWYufOIuD&AU-@`>>qn~cy$1)T7CU!5z2(U8 z)9Kt9)l`f6?NU41j6XbXfR{OHwm|T4}&24tIf+!C-g~6cQfY2^n$?AT&ZW zgqm`}3-jS2NS6n=k;sr5Hv(Q%%n)qW0X|neWVBd;Ko}d(=u%?{O0-a>kSI}shOd9n z5top}%gUCf=>?tg;*;#7!^HOL3k$fMxd=O-6Y4@%u8LS)C1D_a?27R6^vcC+6tttL z)GmTahbyJB!xmcHL#ya8ZXyfRl)a!N0BJE0y3BBfAV5;#=K&Z2VkaKZ)?9`1h5P_% znt*b}%j1|#j`b|aQDx@~wA#$PYRN2xE6UO;;vE(@$&xww-s8fZ5HmJ(eJ*rQrDbaawDbrfe_8F(wq{ge?)qQG`aXV;r(*6EM|ESje;52aFmrX!f=Pw^2oGQX$1|o4yts|b_5@w_kNwtl{wDP#JGMvIp#!SYX?Wq9S&`&_ZwkgGH5CLB7DEGJ6=R4J~p3Z4i^A}hs=-uZeD zs92l6u@**R$~L()G{5N8*7cE5-q$SCo`q4|NSVF*+A7&xZnypm$EdXgf)E%(VJHFD zSgi(H!D!(;9Zcc#GrCCJh=RlvXBQ-hv4Vodse`a32ZUFWgP5ZhM5LeV(#D^H8p@Lg ztra5R32z@1rQv{6u&RZL5%Z@Ye{q|t#6aM_1hIrpl@)oH6}os*cbAQywa{5<`ekzW O1il%9bk82&KlvLjD^%40 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/menu_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/menu_arrows.png deleted file mode 100644 index b986842e7e4044caed18edbcb4b376a4bb915623..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQt6&9jv*Dd-cB{-J7B=U{PTZ! zWrKV9%Z3|Wt5t$(gq+#d+-OocB$0fsr9DfRx52vPhSu$$+yXuy+69hDZ54DDTxx#r zL7>-12UT01v)>tZ+;HI4pDNf?@KK~EC$@35ykmXyu^HJF3})N>8P9Uwo&~g$!PC{x JWt~$(697!FIeGv9 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/messager_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/messager_icons.png deleted file mode 100644 index 86b0b0e6c73d6bdedc843763484982e5c9e71b0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2224 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 G5}E*M5;#5p diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/passwordbox_open.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/passwordbox_open.png deleted file mode 100644 index d328891f6a18ea703fd25a47b228df9cb13b4744..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ii4<#Ar-fh6C~y}*jFF6I{2&m zf8fW~lSf{d9=Ouc<(SoRr6$ox=6dW5rxOB`TRe8 z#G%R{$Nj@Z)5m5kM@2RMITi_;Npmte=_#;rBych_7F`xqKKy}=f%DM}Q4`(M(}DIf Nc)I$ztaD0e0su|qH(3Ax diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/searchbox_button.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/searchbox_button.png deleted file mode 100644 index 6dd1931589b453f6cc9772fd1851d8705d6b6631..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 813 zcmV+|1JeA7P)lXvaa)1B=8vtU6i;3jw7+Lm8D5$Z@i10EnF)=bcefw4K z$^E-CUfjQG`svfBbfD6|R#sLFj6lo3FG$G6@;ee>>~6i|H^5OY8c00W#fi<*1vzh{0&qu3dB`V0{{XDY`}(1n>S9M(9!zw#!&`A z#;*+0{6GVMSeWGp!`o{o8NPge#o%jgs54WT$qnQYpsyGNpauX05F;oJfZ`Pdw6!$j zynTH0RMa&!n3$Pa9zVGEY{&L(3qnPBl_DG6<9Xk0`Fl3`LiD4@pH{vDsxJWQ1qdJp zEJ>M}osCtQlY?CgW>F{;gVK#SmgoOZnEn5J%EtIXaWQXAO>Rdf)WFR;gt~f zXaA3z{{L{q=l48y!32yJ3i0hJ2BS=^}@sXzH{F9Iq&OW375;I7CG-}Vr|aF#l<(fySwu2>`YdxRW*W0f#2un=W5Jmvoe`XCK%I_Y++#`fwE+= zSd{sEULGDE%A=#BOW<6gP*6VfMa^fr8qe`5w%)P0a^Y9WGTw! zvI^|$>l@1Da^Ke1*T3RdY7KqM%gaBb(P+oP!GW;b?ZRfW3Bxc1H@GCaHK#XhZ*Lc= zRBC@>V&W#x&B5%(#>OW5`};d6I5Qw218EG_q@1gtr!Nl*v7yn?(MPMRt4SNy%--JK zanm#f^bw^}Nr7b(EUg}TUi(2;)deX10lAo=83+VA(QksJI6(zwptET-y~avN=J9w$ zI2`W5lG|aOkjY7(&!@;Jx*nUA>~J`Q)9L&(G8y=g$3a4YgD7z)5>gXQNKhw=uR0zF z#jHruh)gDv=bj|2ZES4(fEM?I!JyKqo=}sj-fBYTcDt4KXq)eFQH}wW`vh%Mla}#@ z@Mb`C)x@YkK{xd2>8ZLg+E!Lps$Q@6DY-~!0=Gs+Mm~_JnW1EbX2uxClEdN>Y@I78 z=ke_9?7sX@o0*x}M{JB77MIXj_MmNE%+1Xe{*{crh)9={dR(U;y-{jrxUXmG%Gt002ovPDHLkV1hy(sXhPz diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/spinner_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/spinner_arrows.png deleted file mode 100644 index 7c2df483dbb30dfb3a51332c03fe6f0c229c0547..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQZb$`jv*Ddk`p9Y7bl4Dgeh3R zJz6gy$J;RRRRiNz`7}$-z5~nWg=}UsVYp!HpQ#{_&8An~S<1fjm*zKyrHmF27#+^4 x`1rk&EZfSkR8C?on>%wt3;O{L3Dzy_3@=Og7TEqO`UJFx!PC{xWt~$(69D$UE$jdQ diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/tabs_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/tabs_icons.png deleted file mode 100644 index 4d29966d7154338a9e2e358821a5f72655eba43e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^20$#p!3HD)*8SNCq+&f?978H@B_~L*E^a7uNPG49 z|BoM6E;$_tDnm{r-UW|t3f!- diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/tagbox_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/tagbox_icons.png deleted file mode 100644 index bd02e2d817c6b7c4e2a105919e9a89cc0a1d577f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel&`0YV@SoV>_0CQASS diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/tree_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/tree_icons.png deleted file mode 100644 index e9be4f3a9965e49a4e4078f8c53f486d761a7468..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3115 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 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/validatebox_warning.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/validatebox_warning.png deleted file mode 100644 index 2b3d4f05babf3f82b146350e96570fac02075de0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 921 zcmV;K17`e*P)nRv1_mBsMY*-M^XCf)eflW5 z|MC^)Hw+AW{sHCCF+cz@{fF8J!+#-kxoSv=7^|!zgOQUngSQ}mDo|J)n+pH}hzZ#= zr~y18$_m-?9v%$;?mu8);}>9vFgFvDXJDwrW&l6{p}625M66yTFhGz^K$w9^O$BHi zFN2Ym7DIple*#cW4BY^L0Al(Jbv6k9U|^6IQBp{hx3XdQ&CJ4Z_|YSVr@XujY(PVT zlok1<85nBO4FCurumK>O|A07*jFlSRUcxLAQVcIR*co#3@)&jj4Pj7KXRri%#h;fa z4ya5O*#Lk5Vq!q}T~=CGH(uV-hJk^fkAYoGjN#AMuMF($>N=giWG}IXse|=+c=i>7HEg>%*E%fLD!-uy|85n^6W?^Dt(9zXp5EB&z+w>_knBmdiKMbzi z?A!`WOl>e100a=&05*1xZdFls?*HtZ48H?o7=HW%ivIu45E2~BASWx!@DIpmv9e}h zaPwji|L}pqor@y`=yxrU0RRES^qYY}O;TRcU+DKIhL4`%3_nyf8U6tS<<-ZJ40D$( zWjJ%`G6NIPHNP2{7am*Fp% z{>ShK#0G`~kjd~57_BU.panel-body, -.panel-hright>.panel-body { - position: absolute; -} -.panel-hleft>.panel-header { - float: left; -} -.panel-hright>.panel-header { - float: right; -} -.panel-hleft>.panel-body { - border-top-width: 1px; - border-left-width: 0; -} -.panel-hright>.panel-body { - border-top-width: 1px; - border-right-width: 0; -} -.panel-hleft>.panel-body-nobottom { - border-bottom-width: 1px; - border-right-width: 0; -} -.panel-hright>.panel-body-nobottom { - border-bottom-width: 1px; - border-left-width: 0; -} -.panel-hleft>.panel-footer { - position: absolute; - right: 0; -} -.panel-hright>.panel-footer { - position: absolute; - left: 0; -} -.panel-hleft>.panel-header-noborder { - border-width: 0 1px 0 0; -} -.panel-hright>.panel-header-noborder { - border-width: 0 0 0 1px; -} -.panel-hleft>.panel-body-noborder { - border-width: 0; -} -.panel-hright>.panel-body-noborder { - border-width: 0; -} -.panel-hleft>.panel-body-noheader { - border-left-width: 1px; -} -.panel-hright>.panel-body-noheader { - border-right-width: 1px; -} -.panel-hleft>.panel-footer-noborder { - border-width: 0 0 0 1px; -} -.panel-hright>.panel-footer-noborder { - border-width: 0 1px 0 0; -} -.panel-hleft>.panel-header .panel-icon, -.panel-hright>.panel-header .panel-icon { - margin-top: 0; - top: 5px; - left: 50%; - margin-left: -8px; -} -.panel-hleft>.panel-header .panel-title, -.panel-hright>.panel-header .panel-title { - position: absolute; - min-width: 16px; - left: 25px; - top: 5px; - bottom: auto; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(90deg); - -o-transform-origin: 0 0; - transform: rotate(90deg); - transform-origin: 0 0; -} -.panel-hleft>.panel-header .panel-title-up, -.panel-hright>.panel-header .panel-title-up { - position: absolute; - min-width: 16px; - left: 21px; - top: auto; - bottom: 0px; - text-align: right; - white-space: nowrap; - word-wrap: normal; - -webkit-transform: rotate(-90deg); - -webkit-transform-origin: 0 0; - -moz-transform: rotate(-90deg); - -moz-transform-origin: 0 0; - -o-transform: rotate(-90deg); - -o-transform-origin: 0 0; - transform: rotate(-90deg); - transform-origin: 0 16px; -} -.panel-hleft>.panel-header .panel-with-icon.panel-title-up, -.panel-hright>.panel-header .panel-with-icon.panel-title-up { - padding-left: 0; - padding-right: 18px; -} -.panel-hleft>.panel-header .panel-tool, -.panel-hright>.panel-header .panel-tool { - top: auto; - bottom: 5px; - width: 16px; - height: auto; - left: 50%; - margin-left: -8px; - margin-top: 0; -} -.panel-hleft>.panel-header .panel-tool a, -.panel-hright>.panel-header .panel-tool a { - margin: 2px 0 0 0; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/passwordbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/passwordbox.css deleted file mode 100644 index 92c9ce5..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/passwordbox.css +++ /dev/null @@ -1,6 +0,0 @@ -.passwordbox-open { - background: url('images/passwordbox_open.png') no-repeat center center; -} -.passwordbox-close { - background: url('images/passwordbox_close.png') no-repeat center center; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/progressbar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/progressbar.css deleted file mode 100644 index 77512af..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/progressbar.css +++ /dev/null @@ -1,33 +0,0 @@ -.progressbar { - border-width: 1px; - border-style: solid; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; - overflow: hidden; - position: relative; -} -.progressbar-text { - text-align: center; - position: absolute; -} -.progressbar-value { - position: relative; - overflow: hidden; - width: 0; - -moz-border-radius: 0px 0 0 0px; - -webkit-border-radius: 0px 0 0 0px; - border-radius: 0px 0 0 0px; -} -.progressbar { - border-color: #ddd; -} -.progressbar-text { - color: #444; - font-size: 14px; -} -.progressbar-value, -.progressbar-value .progressbar-text { - background-color: #CCE6FF; - color: #000; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/propertygrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/propertygrid.css deleted file mode 100644 index 9c859b1..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/propertygrid.css +++ /dev/null @@ -1,27 +0,0 @@ -.propertygrid .datagrid-view1 .datagrid-body td { - padding-bottom: 1px; - border-width: 0 1px 0 0; -} -.propertygrid .datagrid-group { - overflow: hidden; - border-width: 0 0 1px 0; - border-style: solid; -} -.propertygrid .datagrid-group span { - font-weight: bold; -} -.propertygrid .datagrid-view1 .datagrid-body td { - border-color: #ddd; -} -.propertygrid .datagrid-view1 .datagrid-group { - border-color: #ffffff; -} -.propertygrid .datagrid-view2 .datagrid-group { - border-color: #ddd; -} -.propertygrid .datagrid-group, -.propertygrid .datagrid-view1 .datagrid-body, -.propertygrid .datagrid-view1 .datagrid-row-over, -.propertygrid .datagrid-view1 .datagrid-row-selected { - background: #ffffff; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/radiobutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/radiobutton.css deleted file mode 100644 index d1b61ce..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/radiobutton.css +++ /dev/null @@ -1,25 +0,0 @@ -.radiobutton { - position: relative; - border: 2px solid #99cdff; - border-radius: 50%; -} -.radiobutton-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #99cdff; - border-radius: 50%; - transform: scale(.6); -} -.radiobutton-disabled { - opacity: 0.6; -} -.radiobutton-value { - position: absolute; - overflow: hidden; - width: 1px; - height: 1px; - left: -999px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/searchbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/searchbox.css deleted file mode 100644 index 2d3af1c..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/searchbox.css +++ /dev/null @@ -1,61 +0,0 @@ -.searchbox-button { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.searchbox-button-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.searchbox .l-btn-plain { - border: 0; - padding: 0; - vertical-align: top; - opacity: 0.6; - filter: alpha(opacity=60); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .l-btn-plain:hover { - border: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox a.m-btn-plain-active { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .m-btn-active { - border-width: 0 1px 0 0; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .textbox-button-right { - border-width: 0 0 0 1px; -} -.searchbox .textbox-button-left { - border-width: 0 1px 0 0; -} -.searchbox-button { - background: url('images/searchbox_button.png') no-repeat center center; -} -.searchbox .l-btn-plain { - background: #ffffff; -} -.searchbox .l-btn-plain-disabled, -.searchbox .l-btn-plain-disabled:hover { - opacity: 0.5; - filter: alpha(opacity=50); -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/sidemenu.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/sidemenu.css deleted file mode 100644 index 7e5ebf7..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/sidemenu.css +++ /dev/null @@ -1,72 +0,0 @@ -.sidemenu .tree-hit { - background-image: none; -} -.sidemenu-default-icon { - background-image: none; - width: 0; -} -.sidemenu .accordion .accordion-header, -.sidemenu .accordion .accordion-body { - border-bottom-color: transparent; - background: transparent; -} -.sidemenu .accordion .accordion-header { - color: #777; -} -.sidemenu .accordion-header .panel-title { - height: 30px; - line-height: 30px; - color: #777; -} -.sidemenu .accordion-header:hover { - background: #E6E6E6; - color: #777; -} -.sidemenu .tree-node-hover { - background: #E6E6E6; - color: #777; -} -.sidemenu .tree-node-selected { - border-right: 2px solid #99cdff; - color: #000; - background: #CCE6FF; -} -.sidemenu .tree-node { - height: 40px; -} -.sidemenu .tree-title { - margin: 11px 0; -} -.sidemenu .tree-node-nonleaf { - position: relative; -} -.sidemenu .tree-node-nonleaf::after { - display: inline-block; - content: ''; - position: absolute; - top: 50%; - margin-top: -8px; - background: url('images/accordion_arrows.png') no-repeat 0 0; - width: 16px; - height: 16px; - right: 5px; -} -.sidemenu .tree-node-nonleaf-collapsed::after { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.sidemenu-collapsed .panel-icon { - left: 50%; - margin-left: -8px; -} -.sidemenu-tooltip { - padding: 0; - margin: 0 -12px; - border: 0; -} -.sidemenu-tooltip.tooltip-left { - margin: 0 12px; -} -.sidemenu-tooltip .tooltip-arrow-outer, -.sidemenu-tooltip .tooltip-arrow { - display: none; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/slider.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/slider.css deleted file mode 100644 index 7f84103..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/slider.css +++ /dev/null @@ -1,101 +0,0 @@ -.slider-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.slider-h { - height: 22px; -} -.slider-v { - width: 22px; -} -.slider-inner { - position: relative; - height: 6px; - top: 7px; - border-width: 1px; - border-style: solid; - border-radius: 0px; -} -.slider-handle { - position: absolute; - display: block; - outline: none; - width: 20px; - height: 20px; - top: 50%; - margin-top: -10px; - margin-left: -10px; -} -.slider-tip { - position: absolute; - display: inline-block; - line-height: 12px; - font-size: 14px; - white-space: nowrap; - top: -22px; -} -.slider-rule { - position: relative; - top: 15px; -} -.slider-rule span { - position: absolute; - display: inline-block; - font-size: 0; - height: 5px; - border-width: 0 0 0 1px; - border-style: solid; -} -.slider-rulelabel { - position: relative; - top: 20px; -} -.slider-rulelabel span { - position: absolute; - display: inline-block; - font-size: 14px; -} -.slider-v .slider-inner { - width: 6px; - left: 7px; - top: 0; - float: left; -} -.slider-v .slider-handle { - left: 50%; - margin-top: -10px; -} -.slider-v .slider-tip { - left: -10px; - margin-top: -6px; -} -.slider-v .slider-rule { - float: left; - top: 0; - left: 16px; -} -.slider-v .slider-rule span { - width: 5px; - height: 'auto'; - border-left: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.slider-v .slider-rulelabel { - float: left; - top: 0; - left: 23px; -} -.slider-handle { - background: url('images/slider_handle.png') no-repeat; -} -.slider-inner { - border-color: #ddd; - background: #ffffff; -} -.slider-rule span { - border-color: #ddd; -} -.slider-rulelabel span { - color: #444; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/spinner.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/spinner.css deleted file mode 100644 index cbc7e59..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/spinner.css +++ /dev/null @@ -1,114 +0,0 @@ -.spinner-arrow { - display: inline-block; - overflow: hidden; - vertical-align: top; - margin: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - width: 18px; -} -.spinner-arrow.spinner-button-top, -.spinner-arrow.spinner-button-bottom, -.spinner-arrow.spinner-button-left, -.spinner-arrow.spinner-button-right { - background-color: #ffffff; -} -.spinner-arrow-up, -.spinner-arrow-down { - opacity: 0.6; - filter: alpha(opacity=60); - display: block; - font-size: 1px; - width: 18px; - height: 10px; - width: 100%; - height: 50%; - color: #777; - outline-style: none; - background-color: #ffffff; -} -.spinner-button-updown { - opacity: 1.0; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - position: relative; - display: block; - width: 100%; - height: 50%; -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down { - opacity: 1.0; - filter: alpha(opacity=100); - cursor: pointer; - width: 16px; - height: 16px; - top: 50%; - left: 50%; - margin-top: -8px; - margin-left: -8px; - position: absolute; -} -.spinner-button-updown .spinner-button-top, -.spinner-button-updown .spinner-button-bottom { - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-button-updown .spinner-button-top:hover, -.spinner-button-updown .spinner-button-bottom:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-updown .spinner-arrow-up, -.spinner-button-updown .spinner-arrow-down, -.spinner-button-updown .spinner-arrow-up:hover, -.spinner-button-updown .spinner-arrow-down:hover { - background-color: transparent; -} -.spinner-arrow-hover { - background-color: #E6E6E6; - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-button-top:hover, -.spinner-button-bottom:hover, -.spinner-button-left:hover, -.spinner-button-right:hover, -.spinner-arrow-up:hover, -.spinner-arrow-down:hover { - opacity: 1.0; - filter: alpha(opacity=100); - background-color: #E6E6E6; -} -.textbox-disabled .spinner-button-top:hover, -.textbox-disabled .spinner-button-bottom:hover, -.textbox-disabled .spinner-button-left:hover, -.textbox-disabled .spinner-button-right:hover, -.textbox-icon-disabled .spinner-arrow-up:hover, -.textbox-icon-disabled .spinner-arrow-down:hover { - opacity: 0.6; - filter: alpha(opacity=60); - background-color: #ffffff; - cursor: default; -} -.spinner .textbox-icon-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-arrow-up { - background: url('images/spinner_arrows.png') no-repeat 1px center; - background-color: #ffffff; -} -.spinner-arrow-down { - background: url('images/spinner_arrows.png') no-repeat -15px center; - background-color: #ffffff; -} -.spinner-button-up { - background: url('images/spinner_arrows.png') no-repeat -32px center; -} -.spinner-button-down { - background: url('images/spinner_arrows.png') no-repeat -48px center; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/splitbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/splitbutton.css deleted file mode 100644 index 3451138..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/splitbutton.css +++ /dev/null @@ -1,12 +0,0 @@ -.s-btn:hover .m-btn-line, -.s-btn-active .m-btn-line, -.s-btn-plain-active .m-btn-line { - display: inline-block; -} -.l-btn:hover .s-btn-downarrow, -.s-btn-active .s-btn-downarrow, -.s-btn-plain-active .s-btn-downarrow { - border-style: solid; - border-color: #b3b3b3; - border-width: 0 0 0 1px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/switchbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/switchbutton.css deleted file mode 100644 index 057bf55..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/switchbutton.css +++ /dev/null @@ -1,77 +0,0 @@ -.switchbutton { - text-decoration: none; - display: inline-block; - overflow: hidden; - vertical-align: middle; - margin: 0; - padding: 0; - cursor: pointer; - background: #dddddd; - border: 1px solid #dddddd; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.switchbutton-inner { - display: inline-block; - overflow: hidden; - position: relative; - top: -1px; - left: -1px; -} -.switchbutton-on, -.switchbutton-off, -.switchbutton-handle { - display: inline-block; - text-align: center; - height: 100%; - float: left; - font-size: 14px; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.switchbutton-on { - background: #CCE6FF; - color: #000; -} -.switchbutton-off { - background-color: #fff; - color: #444; -} -.switchbutton-on, -.switchbutton-reversed .switchbutton-off { - -moz-border-radius: 0px 0 0 0px; - -webkit-border-radius: 0px 0 0 0px; - border-radius: 0px 0 0 0px; -} -.switchbutton-off, -.switchbutton-reversed .switchbutton-on { - -moz-border-radius: 0 0px 0px 0; - -webkit-border-radius: 0 0px 0px 0; - border-radius: 0 0px 0px 0; -} -.switchbutton-handle { - position: absolute; - top: 0; - left: 50%; - background-color: #fff; - color: #444; - border: 1px solid #dddddd; - -moz-box-shadow: 0 0 3px 0 #dddddd; - -webkit-box-shadow: 0 0 3px 0 #dddddd; - box-shadow: 0 0 3px 0 #dddddd; -} -.switchbutton-value { - position: absolute; - top: 0; - left: -5000px; -} -.switchbutton-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.switchbutton-disabled, -.switchbutton-readonly { - cursor: default; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tabs.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tabs.css deleted file mode 100644 index cc1500e..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tabs.css +++ /dev/null @@ -1,377 +0,0 @@ -.tabs-container { - overflow: hidden; -} -.tabs-header { - border-width: 1px; - border-style: solid; - border-bottom-width: 0; - position: relative; - padding: 0; - padding-top: 2px; - overflow: hidden; -} -.tabs-scroller-left, -.tabs-scroller-right { - position: absolute; - top: auto; - bottom: 0; - width: 18px; - font-size: 1px; - display: none; - cursor: pointer; - border-width: 1px; - border-style: solid; -} -.tabs-scroller-left { - left: 0; -} -.tabs-scroller-right { - right: 0; -} -.tabs-tool { - position: absolute; - bottom: 0; - padding: 1px; - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.tabs-header-plain .tabs-tool { - padding: 0 1px; -} -.tabs-wrap { - position: relative; - left: 0; - overflow: hidden; - width: 100%; - margin: 0; - padding: 0; -} -.tabs-scrolling { - margin-left: 18px; - margin-right: 18px; -} -.tabs-disabled { - opacity: 0.3; - filter: alpha(opacity=30); -} -.tabs { - list-style-type: none; - height: 26px; - margin: 0px; - padding: 0px; - padding-left: 4px; - width: 50000px; - border-style: solid; - border-width: 0 0 1px 0; -} -.tabs li { - float: left; - display: inline-block; - margin: 0 4px -1px 0; - padding: 0; - position: relative; - border: 0; -} -.tabs li a.tabs-inner { - display: inline-block; - text-decoration: none; - margin: 0; - padding: 0 10px; - height: 25px; - line-height: 25px; - text-align: center; - white-space: nowrap; - border-width: 1px; - border-style: solid; - -moz-border-radius: 0px 0px 0 0; - -webkit-border-radius: 0px 0px 0 0; - border-radius: 0px 0px 0 0; -} -.tabs li.tabs-selected a.tabs-inner { - font-weight: bold; - outline: none; -} -.tabs li.tabs-selected a:hover.tabs-inner { - cursor: default; - pointer: default; -} -.tabs li a.tabs-close, -.tabs-p-tool { - position: absolute; - font-size: 1px; - display: block; - height: 12px; - padding: 0; - top: 50%; - margin-top: -6px; - overflow: hidden; -} -.tabs li a.tabs-close { - width: 12px; - right: 5px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs-p-tool { - right: 16px; -} -.tabs-p-tool a { - display: inline-block; - font-size: 1px; - width: 12px; - height: 12px; - margin: 0; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs li a:hover.tabs-close, -.tabs-p-tool a:hover { - opacity: 1; - filter: alpha(opacity=100); - cursor: hand; - cursor: pointer; -} -.tabs-with-icon { - padding-left: 18px; -} -.tabs-icon { - position: absolute; - width: 16px; - height: 16px; - left: 10px; - top: 50%; - margin-top: -8px; -} -.tabs-title { - font-size: 14px; -} -.tabs-closable { - padding-right: 8px; -} -.tabs-panels { - margin: 0px; - padding: 0px; - border-width: 1px; - border-style: solid; - border-top-width: 0; - overflow: hidden; -} -.tabs-header-bottom { - border-width: 0 1px 1px 1px; - padding: 0 0 2px 0; -} -.tabs-header-bottom .tabs { - border-width: 1px 0 0 0; -} -.tabs-header-bottom .tabs li { - margin: -1px 4px 0 0; -} -.tabs-header-bottom .tabs li a.tabs-inner { - -moz-border-radius: 0 0 0px 0px; - -webkit-border-radius: 0 0 0px 0px; - border-radius: 0 0 0px 0px; -} -.tabs-header-bottom .tabs-tool { - top: 0; -} -.tabs-header-bottom .tabs-scroller-left, -.tabs-header-bottom .tabs-scroller-right { - top: 0; - bottom: auto; -} -.tabs-panels-top { - border-width: 1px 1px 0 1px; -} -.tabs-header-left { - float: left; - border-width: 1px 0 1px 1px; - padding: 0; -} -.tabs-header-right { - float: right; - border-width: 1px 1px 1px 0; - padding: 0; -} -.tabs-header-left .tabs-wrap, -.tabs-header-right .tabs-wrap { - height: 100%; -} -.tabs-header-left .tabs { - height: 100%; - padding: 4px 0 0 2px; - border-width: 0 1px 0 0; -} -.tabs-header-right .tabs { - height: 100%; - padding: 4px 2px 0 0; - border-width: 0 0 0 1px; -} -.tabs-header-left .tabs li, -.tabs-header-right .tabs li { - display: block; - width: 100%; - position: relative; -} -.tabs-header-left .tabs li { - left: auto; - right: 0; - margin: 0 -1px 4px 0; - float: right; -} -.tabs-header-right .tabs li { - left: 0; - right: auto; - margin: 0 0 4px -1px; - float: left; -} -.tabs-justified li a.tabs-inner { - padding-left: 0; - padding-right: 0; -} -.tabs-header-left .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 0px 0 0 0px; - -webkit-border-radius: 0px 0 0 0px; - border-radius: 0px 0 0 0px; -} -.tabs-header-right .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 0 0px 0px 0; - -webkit-border-radius: 0 0px 0px 0; - border-radius: 0 0px 0px 0; -} -.tabs-panels-right { - float: right; - border-width: 1px 1px 1px 0; -} -.tabs-panels-left { - float: left; - border-width: 1px 0 1px 1px; -} -.tabs-header-noborder, -.tabs-panels-noborder { - border: 0px; -} -.tabs-header-plain { - border: 0px; - background: transparent; -} -.tabs-pill { - padding-bottom: 3px; -} -.tabs-header-bottom .tabs-pill { - padding-top: 3px; - padding-bottom: 0; -} -.tabs-header-left .tabs-pill { - padding-right: 3px; -} -.tabs-header-right .tabs-pill { - padding-left: 3px; -} -.tabs-header .tabs-pill li a.tabs-inner { - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.tabs-header-narrow, -.tabs-header-narrow .tabs-narrow { - padding: 0; -} -.tabs-narrow li, -.tabs-header-bottom .tabs-narrow li { - margin-left: 0; - margin-right: -1px; -} -.tabs-narrow li.tabs-last, -.tabs-header-bottom .tabs-narrow li.tabs-last { - margin-right: 0; -} -.tabs-header-left .tabs-narrow, -.tabs-header-right .tabs-narrow { - padding-top: 0; -} -.tabs-header-left .tabs-narrow li { - margin-bottom: -1px; - margin-right: -1px; -} -.tabs-header-left .tabs-narrow li.tabs-last, -.tabs-header-right .tabs-narrow li.tabs-last { - margin-bottom: 0; -} -.tabs-header-right .tabs-narrow li { - margin-bottom: -1px; - margin-left: -1px; -} -.tabs-scroller-left { - background: #ffffff url('images/tabs_icons.png') no-repeat 1px center; -} -.tabs-scroller-right { - background: #ffffff url('images/tabs_icons.png') no-repeat -15px center; -} -.tabs li a.tabs-close { - background: url('images/tabs_icons.png') no-repeat -34px center; -} -.tabs li a.tabs-inner:hover { - background: #E6E6E6; - color: #444; - filter: none; -} -.tabs li.tabs-selected a.tabs-inner { - background-color: #fff; - color: #777; -} -.tabs li a.tabs-inner { - color: #777; - background-color: #ffffff; -} -.tabs-header, -.tabs-tool { - background-color: #ffffff; -} -.tabs-header-plain { - background: transparent; -} -.tabs-header, -.tabs-scroller-left, -.tabs-scroller-right, -.tabs-tool, -.tabs, -.tabs-panels, -.tabs li a.tabs-inner, -.tabs li.tabs-selected a.tabs-inner, -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, -.tabs-header-left .tabs li.tabs-selected a.tabs-inner, -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-color: #ddd; -} -.tabs-p-tool a:hover, -.tabs li a:hover.tabs-close, -.tabs-scroller-over { - background-color: #E6E6E6; -} -.tabs li.tabs-selected a.tabs-inner { - border-bottom: 1px solid #fff; -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - border-top: 1px solid #fff; -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - border-right: 1px solid #fff; -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-left: 1px solid #fff; -} -.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { - background: #CCE6FF; - color: #000; - filter: none; - border-color: #ddd; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tagbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tagbox.css deleted file mode 100644 index 7c6fd15..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tagbox.css +++ /dev/null @@ -1,44 +0,0 @@ -.tagbox { - cursor: text; -} -.tagbox .textbox-text { - float: left; -} -.tagbox-label { - position: relative; - display: block; - margin: 4px 0 0 4px; - padding: 0 20px 0 4px; - float: left; - vertical-align: top; - text-decoration: none; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; - background: #E6E6E6; - color: #444; -} -.tagbox-remove { - background: url('images/tagbox_icons.png') no-repeat -16px center; - position: absolute; - display: block; - width: 16px; - height: 16px; - right: 2px; - top: 50%; - margin-top: -8px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tagbox-remove:hover { - opacity: 1; - filter: alpha(opacity=100); -} -.textbox-disabled .tagbox-label { - cursor: default; -} -.textbox-disabled .tagbox-remove:hover { - cursor: default; - opacity: 0.6; - filter: alpha(opacity=60); -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/textbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/textbox.css deleted file mode 100644 index 55dc503..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/textbox.css +++ /dev/null @@ -1,144 +0,0 @@ -.textbox { - position: relative; - border: 1px solid #ddd; - background-color: #fff; - vertical-align: middle; - display: inline-block; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.textbox .textbox-text { - font-size: 14px; - border: 0; - margin: 0; - padding: 0 4px; - white-space: normal; - vertical-align: top; - outline-style: none; - resize: none; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; - height: 28px; - line-height: 28px; -} -.textbox textarea.textbox-text { - line-height: normal; -} -.textbox .textbox-text::-ms-clear, -.textbox .textbox-text::-ms-reveal { - display: none; -} -.textbox textarea.textbox-text { - white-space: pre-wrap; -} -.textbox .textbox-prompt { - font-size: 14px; - color: #aaa; -} -.textbox .textbox-bgicon { - background-position: 3px center; - padding-left: 21px; -} -.textbox .textbox-button, -.textbox .textbox-button:hover { - position: absolute; - top: 0; - padding: 0; - vertical-align: top; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.textbox .textbox-button-right, -.textbox .textbox-button-right:hover { - right: 0; - border-width: 0 0 0 1px; -} -.textbox .textbox-button-left, -.textbox .textbox-button-left:hover { - left: 0; - border-width: 0 1px 0 0; -} -.textbox .textbox-button-top, -.textbox .textbox-button-top:hover { - left: 0; - border-width: 0 0 1px 0; -} -.textbox .textbox-button-bottom, -.textbox .textbox-button-bottom:hover { - top: auto; - bottom: 0; - left: 0; - border-width: 1px 0 0 0; -} -.textbox-addon { - position: absolute; - top: 0; -} -.textbox-label { - display: inline-block; - width: 80px; - height: 30px; - line-height: 30px; - vertical-align: middle; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - margin: 0; - padding-right: 5px; -} -.textbox-label-after { - padding-left: 5px; - padding-right: 0; -} -.textbox-label-top { - display: block; - width: auto; - padding: 0; -} -.textbox-disabled, -.textbox-label-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-icon { - display: inline-block; - width: 18px; - height: 20px; - overflow: hidden; - vertical-align: top; - background-position: center center; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); - text-decoration: none; - outline-style: none; -} -.textbox-icon-disabled, -.textbox-icon-readonly { - cursor: default; -} -.textbox-icon:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.textbox-icon-disabled:hover { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-focused { - border-color: #c4c4c4; - -moz-box-shadow: 0 0 3px 0 #ddd; - -webkit-box-shadow: 0 0 3px 0 #ddd; - box-shadow: 0 0 3px 0 #ddd; -} -.textbox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tooltip.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tooltip.css deleted file mode 100644 index 21ae211..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tooltip.css +++ /dev/null @@ -1,103 +0,0 @@ -.tooltip { - position: absolute; - display: none; - z-index: 9900000; - outline: none; - opacity: 1; - filter: alpha(opacity=100); - padding: 5px; - border-width: 1px; - border-style: solid; - border-radius: 5px; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.tooltip-content { - font-size: 14px; -} -.tooltip-arrow-outer, -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - line-height: 0; - font-size: 0; - border-style: solid; - border-width: 6px; - border-color: transparent; - _border-color: tomato; - _filter: chroma(color=tomato); -} -.tooltip-arrow { - display: none \9; -} -.tooltip-right .tooltip-arrow-outer { - left: 0; - top: 50%; - margin: -6px 0 0 -13px; -} -.tooltip-right .tooltip-arrow { - left: 0; - top: 50%; - margin: -6px 0 0 -12px; -} -.tooltip-left .tooltip-arrow-outer { - right: 0; - top: 50%; - margin: -6px -13px 0 0; -} -.tooltip-left .tooltip-arrow { - right: 0; - top: 50%; - margin: -6px -12px 0 0; -} -.tooltip-top .tooltip-arrow-outer { - bottom: 0; - left: 50%; - margin: 0 0 -13px -6px; -} -.tooltip-top .tooltip-arrow { - bottom: 0; - left: 50%; - margin: 0 0 -12px -6px; -} -.tooltip-bottom .tooltip-arrow-outer { - top: 0; - left: 50%; - margin: -13px 0 0 -6px; -} -.tooltip-bottom .tooltip-arrow { - top: 0; - left: 50%; - margin: -12px 0 0 -6px; -} -.tooltip { - background-color: #fff; - border-color: #ddd; - color: #444; -} -.tooltip-right .tooltip-arrow-outer { - border-right-color: #ddd; -} -.tooltip-right .tooltip-arrow { - border-right-color: #fff; -} -.tooltip-left .tooltip-arrow-outer { - border-left-color: #ddd; -} -.tooltip-left .tooltip-arrow { - border-left-color: #fff; -} -.tooltip-top .tooltip-arrow-outer { - border-top-color: #ddd; -} -.tooltip-top .tooltip-arrow { - border-top-color: #fff; -} -.tooltip-bottom .tooltip-arrow-outer { - border-bottom-color: #ddd; -} -.tooltip-bottom .tooltip-arrow { - border-bottom-color: #fff; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tree.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tree.css deleted file mode 100644 index ab4efa6..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tree.css +++ /dev/null @@ -1,164 +0,0 @@ -.tree { - margin: 0; - padding: 0; - list-style-type: none; -} -.tree li { - white-space: nowrap; -} -.tree li ul { - list-style-type: none; - margin: 0; - padding: 0; -} -.tree-node { - height: 26px; - white-space: nowrap; - cursor: pointer; -} -.tree-hit { - cursor: pointer; -} -.tree-expanded, -.tree-collapsed, -.tree-folder, -.tree-file, -.tree-checkbox, -.tree-indent { - display: inline-block; - width: 16px; - height: 18px; - margin: 4px 0; - vertical-align: middle; - overflow: hidden; -} -.tree-expanded { - background: url('images/tree_icons.png') no-repeat -18px 0px; -} -.tree-expanded-hover { - background: url('images/tree_icons.png') no-repeat -50px 0px; -} -.tree-collapsed { - background: url('images/tree_icons.png') no-repeat 0px 0px; -} -.tree-collapsed-hover { - background: url('images/tree_icons.png') no-repeat -32px 0px; -} -.tree-lines .tree-expanded, -.tree-lines .tree-root-first .tree-expanded { - background: url('images/tree_icons.png') no-repeat -144px 0; -} -.tree-lines .tree-collapsed, -.tree-lines .tree-root-first .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -128px 0; -} -.tree-lines .tree-node-last .tree-expanded, -.tree-lines .tree-root-one .tree-expanded { - background: url('images/tree_icons.png') no-repeat -80px 0; -} -.tree-lines .tree-node-last .tree-collapsed, -.tree-lines .tree-root-one .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -64px 0; -} -.tree-line { - background: url('images/tree_icons.png') no-repeat -176px 0; -} -.tree-join { - background: url('images/tree_icons.png') no-repeat -192px 0; -} -.tree-joinbottom { - background: url('images/tree_icons.png') no-repeat -160px 0; -} -.tree-folder { - background: url('images/tree_icons.png') no-repeat -208px 0; -} -.tree-folder-open { - background: url('images/tree_icons.png') no-repeat -224px 0; -} -.tree-file { - background: url('images/tree_icons.png') no-repeat -240px 0; -} -.tree-loading { - background: url('images/loading.gif') no-repeat center center; -} -.tree-checkbox0 { - background: url('images/tree_icons.png') no-repeat -208px -18px; -} -.tree-checkbox1 { - background: url('images/tree_icons.png') no-repeat -224px -18px; -} -.tree-checkbox2 { - background: url('images/tree_icons.png') no-repeat -240px -18px; -} -.tree-title { - font-size: 14px; - display: inline-block; - text-decoration: none; - vertical-align: middle; - white-space: nowrap; - padding: 0 2px; - margin: 4px 0; - height: 18px; - line-height: 18px; -} -.tree-node-proxy { - font-size: 14px; - line-height: 20px; - padding: 0 2px 0 20px; - border-width: 1px; - border-style: solid; - z-index: 9900000; -} -.tree-dnd-icon { - display: inline-block; - position: absolute; - width: 16px; - height: 18px; - left: 2px; - top: 50%; - margin-top: -9px; -} -.tree-dnd-yes { - background: url('images/tree_icons.png') no-repeat -256px 0; -} -.tree-dnd-no { - background: url('images/tree_icons.png') no-repeat -256px -18px; -} -.tree-node-top { - border-top: 1px dotted red; -} -.tree-node-bottom { - border-bottom: 1px dotted red; -} -.tree-node-append .tree-title { - border: 1px dotted red; -} -.tree-editor { - border: 1px solid #ddd; - font-size: 14px; - height: 26px; - line-height: 26px; - padding: 0 4px; - margin: 0; - width: 80px; - outline-style: none; - vertical-align: middle; - position: absolute; - top: 0; -} -.tree-node-proxy { - background-color: #fff; - color: #444; - border-color: #ddd; -} -.tree-node-hover { - background: #E6E6E6; - color: #444; -} -.tree-node-selected { - background: #CCE6FF; - color: #000; -} -.tree-node-hidden { - display: none; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/validatebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/validatebox.css deleted file mode 100644 index 4d566de..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/validatebox.css +++ /dev/null @@ -1,13 +0,0 @@ -.inputbox { - display: inline-block; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; -} -.validatebox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; - color: #000; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/window.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/window.css deleted file mode 100644 index 9602f67..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/window.css +++ /dev/null @@ -1,182 +0,0 @@ -.window { - overflow: hidden; - padding: 5px; - border-width: 1px; - border-style: solid; -} -.window .window-header { - background: transparent; - padding: 0px 0px 6px 0px; -} -.window .window-body { - border-width: 1px; - border-style: solid; - border-top-width: 0px; -} -.window .window-body-noheader { - border-top-width: 1px; -} -.window .panel-body-nobottom { - border-bottom-width: 0; -} -.window .window-header .panel-icon, -.window .window-header .panel-tool { - top: 50%; - margin-top: -11px; -} -.window .window-header .panel-icon { - left: 1px; -} -.window .window-header .panel-tool { - right: 1px; -} -.window .window-header .panel-with-icon { - padding-left: 18px; -} -.window-proxy { - position: absolute; - overflow: hidden; -} -.window-proxy-mask { - position: absolute; - filter: alpha(opacity=5); - opacity: 0.05; -} -.window-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - filter: alpha(opacity=40); - opacity: 0.40; - font-size: 1px; - overflow: hidden; -} -.window, -.window-shadow { - position: absolute; - -moz-border-radius: 0px 0px 0px 0px; - -webkit-border-radius: 0px 0px 0px 0px; - border-radius: 0px 0px 0px 0px; -} -.window-shadow { - background: #eee; - -moz-box-shadow: 2px 2px 3px #ededed; - -webkit-box-shadow: 2px 2px 3px #ededed; - box-shadow: 2px 2px 3px #ededed; - filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); -} -.window, -.window .window-body { - border-color: #ddd; -} -.window { - background-color: #ffffff; -} -.window-proxy { - border: 1px dashed #ddd; -} -.window-proxy-mask, -.window-mask { - background: #eee; -} -.window .panel-footer { - border: 1px solid #ddd; - position: relative; - top: -1px; -} -.window-thinborder { - padding: 0; -} -.window-thinborder .window-header { - padding: 5px 5px 6px 5px; -} -.window-thinborder .window-body { - border-width: 0px; -} -.window-thinborder .window-footer { - border-left: transparent; - border-right: transparent; - border-bottom: transparent; -} -.window-thinborder .window-header .panel-icon, -.window-thinborder .window-header .panel-tool { - margin-top: -9px; - margin-left: 5px; - margin-right: 5px; -} -.window-noborder { - border: 0; -} -.window.panel-hleft .window-header { - padding: 0 6px 0 0; -} -.window.panel-hright .window-header { - padding: 0 0 0 6px; -} -.window.panel-hleft>.panel-header .panel-title { - top: auto; - left: 16px; -} -.window.panel-hright>.panel-header .panel-title { - top: auto; - right: 16px; -} -.window.panel-hleft>.panel-header .panel-title-up, -.window.panel-hright>.panel-header .panel-title-up { - bottom: 0; -} -.window.panel-hleft .window-body { - border-width: 1px 1px 1px 0; -} -.window.panel-hright .window-body { - border-width: 1px 0 1px 1px; -} -.window.panel-hleft .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: 0; -} -.window.panel-hright .window-header .panel-icon { - top: 1px; - margin-top: 0; - left: auto; - right: 1px; -} -.window.panel-hleft .window-header .panel-tool, -.window.panel-hright .window-header .panel-tool { - margin-top: 0; - top: auto; - bottom: 1px; - right: auto; - margin-right: 0; - left: 50%; - margin-left: -11px; -} -.window.panel-hright .window-header .panel-tool { - left: auto; - right: 1px; -} -.window-thinborder.panel-hleft .window-header { - padding: 5px 6px 5px 5px; -} -.window-thinborder.panel-hright .window-header { - padding: 5px 5px 5px 6px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title { - left: 21px; -} -.window-thinborder.panel-hleft>.panel-header .panel-title-up, -.window-thinborder.panel-hright>.panel-header .panel-title-up { - bottom: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-icon, -.window-thinborder.panel-hright .window-header .panel-icon { - margin-top: 5px; -} -.window-thinborder.panel-hleft .window-header .panel-tool, -.window-thinborder.panel-hright .window-header .panel-tool { - left: 16px; - bottom: 5px; -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/mobile.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/mobile.css deleted file mode 100644 index ff57245..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/mobile.css +++ /dev/null @@ -1,355 +0,0 @@ -*{ - box-sizing: border-box; -} -.m-toolbar{ - position: relative; - text-align: center; - min-height: 34px; -} -.m-toolbar .m-title{ - line-height: 34px; - font-size: 16px; - font-weight: bold; - text-align: center; -} -.m-left{ - position: absolute; - height: 100%; - vertical-align: middle; - top:0; - left:0; - z-index: 1; -} -.m-right{ - position: absolute; - height: 100%; - vertical-align: middle; - top:0; - right:0; - z-index: 1; -} -.m-left>.l-btn,.m-right>.l-btn, -.m-left>.switchbutton,.m-right>.switchbutton{ - position: relative; - vertical-align: top; - top: 50%; - margin-top: -15px; -} -.m-back::before,.m-next::after{ - display: inline-block; - box-sizing: border-box; - vertical-align: top; - border-style: solid; - -webkit-transform:rotate(45deg); - transform:rotate(45deg); - width: 12px; - height: 12px; - content: ''; - position: absolute; - top: 50%; - margin-top: -6px; -} -.m-back::before{ - border-width: 0 0 1px 1px; - left: 8px; -} -.m-next::after{ - border-width: 1px 1px 0 0; - right: 8px; -} -.m-back .l-btn-text{ - padding-left: 12px; -} -.m-next .l-btn-text{ - padding-right: 12px; -} -.m-buttongroup{ - display: inline-block; - margin: 0; - padding: 0; - overflow: hidden; - vertical-align: middle; -} -.m-buttongroup .l-btn{ - float: left; - margin-left: -1px; -} -.m-buttongroup .l-btn:last-child::after{ - content: ''; - clear: both; -} -.m-buttongroup .l-btn:not(:first-child):not(:last-child){ - border-radius: 0; -} -.m-buttongroup .l-btn:first-child{ - border-top-right-radius: 0; - border-bottom-right-radius: 0; - margin-left: 0; -} -.m-buttongroup .l-btn:last-child{ - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.m-buttongroup-justified{ - display: table; - table-layout: fixed; -} -.m-buttongroup-justified .l-btn{ - float: none; - display: table-cell; -} -.m-badge:not(.l-btn), -.l-btn.m-badge::after{ - display: inline-block; - min-width: 10px; - line-height: 1; - font-size: 12px; - text-align: center; - white-space: nowrap; - border-radius: 10px; - padding: 2px 4px; - border-style: solid; - border-width: 0px; - background-color: #d9534f; - color: #fff; - z-index: 99999; -} -.l-btn.m-badge::after, -.l-btn .m-badge{ - position: absolute; - top: -10px; - right: -10px; -} -.tabs-inner .m-badge{ - position: absolute; - top: 1px; - right: -10px; -} -.tabs-inner>.tabs-title>.m-badge{ - top: 0; - right: 0; -} -.tabs-header-bottom .tabs-inner>.tabs-title>.m-badge{ - top: auto; - bottom: 0; - right: 0; -} -.panel-footer .l-btn .l-btn-icon-top .m-badge, -.panel-footer .l-btn .l-btn-icon-bottom .m-badge{ - top: 0; - right: -10px; -} -.l-btn.m-badge::after{ - content: attr(data-badge); -} -.l-btn,.l-btn-left{ - overflow: visible; - position: relative; -} - -.m-in{ - -webkit-animation-timing-function: ease-out; - -webkit-animation-duration: 250ms; -} -.m-out{ - -webkit-animation-timing-function: ease-in; - -webkit-animation-duration: 250ms; -} -.m-slide-left.m-in{ - -webkit-animation-name: slideLeftIn; -} -.m-slide-left.m-out{ - -webkit-animation-name: slideLeftOut; -} -.m-slide-right.m-in{ - -webkit-animation-name: slideRightIn; -} -.m-slide-right.m-out{ - -webkit-animation-name: slideRightOut; -} -.m-slide-up.m-in{ - -webkit-animation-name: slideUpIn; -} -.m-slide-up.m-out{ - -webkit-animation-name: slideUpOut; -} -.m-slide-down.m-in{ - -webkit-animation-name: slideDownIn; -} -.m-slide-down.m-out{ - -webkit-animation-name: slideDownOut; -} - -@-webkit-keyframes slideLeftIn{ - from {-webkit-transform: translateX(100%);} - to {-webkit-transform: translateX(0);} -} -@-webkit-keyframes slideLeftOut{ - from {-webkit-transform: translateX(0);} - to {-webkit-transform: translateX(-100%);} -} -@-webkit-keyframes slideRightIn{ - from {-webkit-transform: translateX(-100%);} - to {-webkit-transform: translateX(0);} -} -@-webkit-keyframes slideRightOut{ - from {-webkit-transform: translateX(0);} - to {-webkit-transform: translateX(100%);} -} -@-webkit-keyframes slideUpIn{ - from {-webkit-transform: translateY(100%);} - to {-webkit-transform: translateY(0);} -} -@-webkit-keyframes slideUpOut{ - from {-webkit-transform: translateY(0);} - to {-webkit-transform: translateY(-100%);} -} -@-webkit-keyframes slideDownIn{ - from {-webkit-transform: translateY(-100%);} - to {-webkit-transform: translateY(0);} -} -@-webkit-keyframes slideDownOut{ - from {-webkit-transform: translateY(0);} - to {-webkit-transform: translateY(100%);} -} - -.m-fade.m-in{ - -webkit-animation-name: fadeIn; -} -.m-fade.m-out{ - -webkit-animation-name: fadeOut; -} - -@-webkit-keyframes fadeIn{ - from {opacity: 0;} - to {opacity: 1} -} -@-webkit-keyframes fadeOut{ - from {opacity: 1;} - to {opacity: 0;} -} - -.m-pop.m-in{ - -webkit-animation-name: popIn; -} -.m-pop.m-out{ - -webkit-animation-name: popOut; -} -@-webkit-keyframes popIn{ - from { - opacity: 0; - -webkit-transform: scale(.2); - } - to { - opacity: 1; - -webkit-transform: scale(1); - } -} -@-webkit-keyframes popOut{ - from { - opacity: 1; - -webkit-transform: scale(1); - } - to { - opacity: 0; - -webkit-transform: scale(0); - } -} - -.navpanel{ - position: absolute; -} -.textbox .textbox-text{ - padding: 0 4px; - height: 30px; - line-height: 30px; -} -.calendar-header,.calendar-title{ - height: 30px; -} -.calendar-title span{ - height: 30px; - line-height: 30px -} -.datebox-button{ - height: 24px; -} -.datebox-button a{ - line-height: 24px; -} -.tree-node{ - box-sizing: border-box; - height: 32px; - padding: 3px 0; -} - -.panel-title{ - height: 26px; - line-height: 26px; -} -.window{ - padding: 5px 0 0 0; -} -.window-shadow{ - -moz-box-shadow: 0 0 30px 0 #D3D3D3; - -webkit-box-shadow: 0 0 30px 0 #D3D3D3; - box-shadow: 0 0 30px 0 #D3D3D3; -} -.window-header .panel-title{ - height: 26px; - line-height: 26px; - text-align: center; -} -.window-header .panel-tool{ - display: none; -} -.window .window-body{ - border: 0; -} -.dialog-button{ - border-color: transparent; - overflow: hidden; -} -.dialog-button .l-btn{ - margin: 0; -} - -.tabs-justified, -.tabs-justified .l-btn, -.tabs-justified li a.tabs-inner, -.tabs-justified li.tabs-selected a.tabs-inner, -.tabs-header-bottom .tabs-justified li.tabs-selected a.tabs-inner, -.tabs-header-bottom .tabs-justified li a.tabs-inner{ - -moz-border-radius:0; - -webkit-border-radius:0; - border-radius:0; -} - -.datagrid-row,.datagrid-header-row{ - height: 32px; -} -.datalist .datagrid-group-title, -.m-list .m-list-group{ - padding: 0 10px; -} -.datalist .datagrid-cell, -.m-list li{ - padding: 10px; -} -.m-list li .m-right{ - right: 10px; -} -.datalist .datalist-link, -.m-list li>a{ - margin: -10px; - padding: 10px; - padding-right: 24px; -} -.m-list li>a .m-right{ - right: 24px; -} -.datalist .datalist-link::after, -.m-list li>a::after{ - right: 12px; -} - diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/vue.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/vue.css deleted file mode 100644 index 431e32d..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/vue.css +++ /dev/null @@ -1,634 +0,0 @@ -*{ - box-sizing: border-box; -} -.f-block{ - display: block; - position: relative; -} -.f-row{ - display: -webkit-box; - display: -webkit-flex; - display: -moz-flex; - display: -ms-flexbox; - display: flex; - position: relative; -} -.f-column{ - display: -webkit-box; - display: -webkit-flex; - display: -moz-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-direction: normal; - -webkit-box-orient: vertical; - -webkit-flex-direction: column; - -moz-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - position: relative; -} -.f-inline-row{ - white-space: nowrap; - display: -webkit-inline-box; - display: -ms-inline-box; - display: inline-flex; - vertical-align: middle; - position: relative; - align-items: stretch; - -webkit-tap-highlight-color: transparent; -} -.f-content-center{ - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - -moz-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - -moz-align-items: center; - align-items: center; -} -.f-full{ - -webkit-box-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; -} -.f-hide{ - display: none; -} -.f-order0{ - order: 0; -} -.f-order1{ - order: 1; -} -.f-order2{ - order: 2; -} -.f-order3{ - order: 3; -} -.f-order4{ - order: 4; -} -.f-order5{ - order: 5; -} -.f-order6{ - order: 6; -} -.f-order7{ - order: 7; -} -.f-order8{ - order: 8; -} -.f-noshrink{ - -webkit-flex-shrink: 0; - -moz-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; -} -.f-animate{ - transition: all .3s; -} -.f-field{ - width: 12em; - height: 30px; -} - -.scroll-body{ - overflow: auto; - position: relative; -} - -.textbox .textbox-text{ - width: 100%; - height: auto; - overflow: hidden; -} -.textbox-addon{ - align-items: center; -} -.textbox textarea.textbox-text{ - height: auto; - overflow: auto; -} -.textbox-disabled>.textbox-addon .textbox-icon, -.textbox-readonly>.textbox-addon .textbox-icon{ - cursor: default; -} -.textbox-disabled>.textbox-addon .textbox-icon:hover, -.textbox-readonly>.textbox-addon .textbox-icon:hover{ - opacity: 0.6; - cursor: default; -} -.textbox-addon .textbox-icon{ - width: 26px; - height: 18px; -} - -.spinner .textbox-text{ - height: auto; -} -.spinner-button-left,.spinner-button-right{ - width: 26px; -} -.spinner-button-updown{ - width: 26px; -} -.spinner-button-top,.spinner-button-bottom{ - position: absolute; - width: 100%; - height: 26px; -} -.spinner-button-top{ - top: 0; -} -.spinner-button-bottom{ - top: auto; - bottom: 0; -} -.spinner-button{ - display: inline-block; - position: absolute; - width: 16px; - height: 16px; - left: 50%; - margin-left: -8px; - top: 50%; - margin-top: -8px; -} -.spinner-arrow{ - cursor: pointer; - opacity: 0.6; -} - -.textbox-disabled .spinner-arrow:hover, -.textbox-readonly .spinner-arrow:hover -{ - opacity: 0.6; - cursor: default; -} -.textbox-readonly .spinner-arrow .spinner-arrow-up:hover, -.textbox-disabled .spinner-arrow .spinner-arrow-up:hover, -.textbox-readonly .spinner-arrow .spinner-arrow-down:hover, -.textbox-disabled .spinner-arrow .spinner-arrow-down:hover -{ - cursor: default; -} - -.l-btn{ - width1: 100%; -} -.l-btn-empty{ - height: 28px; -} -.l-btn-large .l-btn-empty{ - height: 44px; -} -.l-btn-left{ - overflow: visible; -} -.m-btn .l-btn-left .m-btn-line{ - top: -100px; - width: 36px; - right: -20px; -} -.button-group .l-btn.f-inline-row{ - margin-left: -1px; -} -.button-group .l-btn:hover{ - z-index: 99; -} -.button-group .l-btn:not(:first-child):not(:last-child){ - border-radius: 0; -} -.button-group .l-btn:first-child{ - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.button-group .l-btn:last-child{ - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.switchbutton{ - width: 70px; - height: 30px; -} -.switchbutton-on,.switchbutton-off{ - position: absolute; - left: 0; - width: calc(100% - 15px); - height: 100%; -} -.switchbutton-on span,.switchbutton-off span,.switchbutton-handle span{ - height: 100%; -} -.switchbutton-on span{ - text-indent: -15px; -} -.switchbutton-off span{ - text-indent: 15px; -} -.switchbutton-off{ - left: calc(100% - 15px); -} -.switchbutton-handle{ - width: 30px; - left: auto; - right: 0; - z-index: 9; -} -.switchbutton-inner{ - transition: all 200ms ease-out; - overflow: visible; - position: absolute; - width: 100%; - top: -1px; - bottom: -1px; - left: calc(-100% + 30px); - right: auto; -} -.switchbutton-checked .switchbutton-inner{ - left: 0; -} -.draggable-reverting{ - transition: all 200ms ease-out; -} -.slider-h .slider-tip{ - transform: translateX(-50%); -} -.slider-h .slider-rulelabel span{ - transform: translateX(-50%); -} -.slider-v .slider-tip{ - margin-top: 0; - transform: translate(-100%,-50%); -} -.slider-v .slider-rulelabel span{ - transform: translateY(-50%); -} -.slider-v .slider-inner{ - height: auto; -} - - -.panel{ - position:relative; -} -.panel-title{ - height: 20px; - line-height: 20px; -} -.panel-footer-fixed{ - position:absolute; - width:100%; - bottom:0; -} -.window{ - position: absolute; -} -.window-mask{ - position: fixed; -} -.window .window-footer{ - top: 0; -} -.dialog-toolbar{ - border-width: 0 0 1px 0; -} -.dialog-button{ - border-width: 1px 0 0 0; - top: 0; -} - -.tabs{ - width: 100%; - height: auto; -} -.tabs-scrollable{ - transition: left 400ms, right 400ms; - position: absolute; - width: auto; - height: 100%; - left: 0; - top: 0; -} -.tabs li{ - display: inherit; -} -.tabs li a.tabs-inner{ - height: auto; - line-height: normal; - display: inherit; - overflow: hidden; -} -.tabs-title{ - display: inherit; - align-items: center; - line-height: normal; -} -.tabs-close{ - outline: none; -} -.tabs-scroller-left,.tabs-scroller-right{ - position: relative; - display: block; - width: 21px; - height: 100%; -} -.tabs-header-left .tabs li{ - right: -1px; -} -.tabs-header-left .tabs li,.tabs-header-right .tabs li, -.tabs-header-left .tabs li a.tabs-inner, -.tabs-header-right .tabs li a.tabs-inner{ - display: inherit; -} - -.combo-panel{ - position: absolute; - height: 200px; - z-index: 9999; -} -.combo-panel .tree, -.combo-panel eui-datagrid, -.combo-panel eui-treegrid{ - width: 100%; - height: 100%; -} -.combobox-item{ - padding: 6px 4px; - line-height: 20px; -} -.tagbox-labels{ - padding-bottom: 4px; -} -.tagbox-label{ - height: 20px; - line-height: 20px; -} -.tagbox .textbox-text{ - width: 50px; - max-width: 100%; - margin-top: 4px; - padding-top: 0; - padding-bottom: 0; - height: 20px; - line-height: 20px; -} - -.datagrid, -.datagrid-view,.datagrid-view1,.datagrid-view2{ - position: relative; -} -.datagrid-vbody{ - overflow: hidden; -} -.datagrid-view3{ - margin-left: -1px; -} -.datagrid-view3 .datagrid-body{ - overflow: hidden; -} -.datagrid-view3 .datagrid-body-inner{ - padding-bottom: 20px; -} -.datagrid-view3 .datagrid-header td, -.datagrid-view3 .datagrid-body td, -.datagrid-view3 .datagrid-footer td { - border-width: 0 0 1px 1px; -} -.datagrid-htable,.datagrid-btable,.datagrid-ftable{ - table-layout: fixed; - width: 100%; -} -.datagrid-htable{ - height: 100%; -} -.datagrid-header .datagrid-header, -.datagrid-footer .datagrid-header{ - border-width: 0 0 0 1px; -} -.datagrid-header-inner,.datagrid-footer-inner{ - overflow: hidden; -} -.datagrid-header-row, .datagrid-row{ - height: 32px; -} -.datagrid-header td.datagrid-field-td{ - border-bottom: 0; -} -.datagrid-cell{ - text-align: left; - height: auto; - font-size: inherit; -} -.datagrid-cell-group{ - text-align: center; -} -.datagrid .datagrid-pager{ - padding: 2px 4px; - display: inherit; -} -.datagrid-loading{ - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - justify-content: center; - align-items: center; -} -.datagrid-mask{ - display: block; -} -.datagrid-mask-msg{ - display: block; - position: static; - line-height: 36px; - height: 40px; - margin: 0; - padding: 0 5px 0 30px; - z-index: 9; -} -.datagrid-body .datagrid-td-group{ - border-left-color: transparent; - border-right-color: transparent; -} -.datagrid-group-expander{ - cursor: pointer; -} -.datagrid-row-expander{ - display: inline-block; - width: 16px; - height: 18px; - cursor: pointer; -} -.datagrid-group-title{ - align-self: center; - padding: 0 4px; - white-space: nowrap; - word-break: normal; - position: relative; -} -.datagrid-editable> .f-field, -.datagrid-editable> *{ - width: 100%; - height: 31px; -} -.datagrid-editable .textbox, .datagrid-editable .textbox-text{ - border-radius: 0; -} -.datagrid-filter-row .textbox{ - border-radius: 0; -} -.datagrid-filter-c{ - padding: 4px; - height: 38px; -} -.datagrid-filter-c> .f-field, -.datagrid-filter-c> *{ - height: 30px; -} -.datagrid-filter-c .datagrid-editable-input{ - width: 100%; -} -.datagrid-filter-btn{ - width: 30px; -} -.datagrid-filter-btn .textbox-icon{ - width: 28px; -} -.datagrid-filter-btn .textbox{ - background-color: transparent; -} -.datagrid-filter-btn-left{ - margin-right: 4px; -} -.datagrid-filter-btn-right{ - margin-left: 4px; -} - -.menu-inline{ - position: relative; - display: inline; - margin: 0; - padding: 0; -} -.menu-inline> .menu-container{ - position: relative; -} -.menu-container{ - position: absolute; - left: 0; - top: 0; - min-width: 200px; -} -.menu{ - overflow: visible; -} -.menu-shadow{ - width: 100%; - height: 100%; - left: 0; - top: 0; -} -.menu-item{ - overflow: visible; -} -.menu-text{ - height: 32px; - line-height: 32px; - float: none; -} -.menu-line{ - z-index: 9999999; - height: 100%; -} -.menu-active{ - z-index: 99999999; -} - -.progressbar-value{ - overflow: visible; -} - -.searchbox .textbox-button, -.searchbox .textbox-button:hover{ - position: inherit; -} - -.calendar-content{ - position: absolute; - width: 100%; - height: 100%; - left: 0; - top: 0; -} -.calendar-menu{ - position: absolute; - width: 100%; - height: 100%; -} -.calendar-menu-month-inner{ - position: relative; -} - -.radiobutton{ - width: 20px; - height: 20px; -} -.checkbox{ - width: 20px; - height: 20px; -} -.progressbar{ - height: 24px; -} -.pagination1{ - height: 34px; - padding: 2px; -} -.layout{ - height: 100%; -} -.layout-animate{ - transition: transform 400ms; -} -.layout-panel-north,.layout-panel-south{ - position: absolute; - width: 100%; - left: 0; - top: 0; -} -.layout-panel-south{ - top: auto; - bottom: 0; -} -.layout-panel-west,.layout-panel-east{ - position: absolute; - left: 0; - top: 0; - bottom: 0; -} -.layout-panel-east{ - left: auto; - right: 0; -} -.layout-panel-west.layout-collapsed{ - transform: translate3d(-100%, 0, 0); -} -.layout-panel-east.layout-collapsed{ - transform: translate3d(100%, 0, 0) -} -.layout-panel-north.layout-collapsed{ - transform: translate3d(0, -100%, 0) -} -.layout-panel-south.layout-collapsed{ - transform: translate3d(0, 100%, 0) -} - diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/ftl/hello.ftl b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/ftl/hello.ftl deleted file mode 100644 index f22d509..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/ftl/hello.ftl +++ /dev/null @@ -1 +0,0 @@ -

hello ${name}

\ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/js/ajaxFileUpload.js b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/js/ajaxFileUpload.js deleted file mode 100644 index 579160d..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/js/ajaxFileUpload.js +++ /dev/null @@ -1,236 +0,0 @@ -// JavaScript Document -jQuery.extend({ - - createUploadIframe: function(id, uri) - { - //create frame - var frameId = 'jUploadFrame' + id; - - if(window.ActiveXObject) { - var io = document.createElement('").appendTo("body"); -_62d.attr("src",window.ActiveXObject?"javascript:false":"about:blank"); -_62d.css({position:"absolute",top:-1000,left:-1000}); -_62d.bind("load",cb); -_62e(_62b); -function _62e(_62f){ -var form=$(_62a); -if(opts.url){ -form.attr("action",opts.url); -} -var t=form.attr("target"),a=form.attr("action"); -form.attr("target",_62c); -var _630=$(); -try{ -for(var n in _62f){ -var _631=$("").val(_62f[n]).appendTo(form); -_630=_630.add(_631); -} -_632(); -form[0].submit(); -} -finally{ -form.attr("action",a); -t?form.attr("target",t):form.removeAttr("target"); -_630.remove(); -} -}; -function _632(){ -var f=$("#"+_62c); -if(!f.length){ -return; -} -try{ -var s=f.contents()[0].readyState; -if(s&&s.toLowerCase()=="uninitialized"){ -setTimeout(_632,100); -} -} -catch(e){ -cb(); -} -}; -var _633=10; -function cb(){ -var f=$("#"+_62c); -if(!f.length){ -return; -} -f.unbind(); -var data=""; -try{ -var body=f.contents().find("body"); -data=body.html(); -if(data==""){ -if(--_633){ -setTimeout(cb,100); -return; -} -} -var ta=body.find(">textarea"); -if(ta.length){ -data=ta.val(); -}else{ -var pre=body.find(">pre"); -if(pre.length){ -data=pre.html(); -} -} -} -catch(e){ -} -opts.success.call(_62a,data); -setTimeout(function(){ -f.unbind(); -f.remove(); -},100); -}; -}; -function _629(_634,_635){ -var opts=$.data(_634,"form").options; -var _636=new FormData($(_634)[0]); -for(var name in _635){ -_636.append(name,_635[name]); -} -$.ajax({url:opts.url,type:"post",xhr:function(){ -var xhr=$.ajaxSettings.xhr(); -if(xhr.upload){ -xhr.upload.addEventListener("progress",function(e){ -if(e.lengthComputable){ -var _637=e.total; -var _638=e.loaded||e.position; -var _639=Math.ceil(_638*100/_637); -opts.onProgress.call(_634,_639); -} -},false); -} -return xhr; -},data:_636,dataType:"html",cache:false,contentType:false,processData:false,complete:function(res){ -opts.success.call(_634,res.responseText); -}}); -}; -function load(_63a,data){ -var opts=$.data(_63a,"form").options; -if(typeof data=="string"){ -var _63b={}; -if(opts.onBeforeLoad.call(_63a,_63b)==false){ -return; -} -$.ajax({url:data,data:_63b,dataType:"json",success:function(data){ -_63c(data); -},error:function(){ -opts.onLoadError.apply(_63a,arguments); -}}); -}else{ -_63c(data); -} -function _63c(data){ -var form=$(_63a); -for(var name in data){ -var val=data[name]; -if(!_63d(name,val)){ -if(!_63e(name,val)){ -form.find("input[name=\""+name+"\"]").val(val); -form.find("textarea[name=\""+name+"\"]").val(val); -form.find("select[name=\""+name+"\"]").val(val); -} -} -} -opts.onLoadSuccess.call(_63a,data); -form.form("validate"); -}; -function _63d(name,val){ -var _63f=["switchbutton","radiobutton","checkbox"]; -for(var i=0;i<_63f.length;i++){ -var _640=_63f[i]; -var cc=$(_63a).find("["+_640+"Name=\""+name+"\"]"); -if(cc.length){ -cc[_640]("uncheck"); -cc.each(function(){ -if(_641($(this)[_640]("options").value,val)){ -$(this)[_640]("check"); -} -}); -return true; -} -} -var cc=$(_63a).find("input[name=\""+name+"\"][type=radio], input[name=\""+name+"\"][type=checkbox]"); -if(cc.length){ -cc._propAttr("checked",false); -cc.each(function(){ -if(_641($(this).val(),val)){ -$(this)._propAttr("checked",true); -} -}); -return true; -} -return false; -}; -function _641(v,val){ -if(v==String(val)||$.inArray(v,$.isArray(val)?val:[val])>=0){ -return true; -}else{ -return false; -} -}; -function _63e(name,val){ -var _642=$(_63a).find("[textboxName=\""+name+"\"],[sliderName=\""+name+"\"]"); -if(_642.length){ -for(var i=0;i=0;i--){ -var type=opts.fieldTypes[i]; -var _64a=form.find("."+type+"-f"); -if(_64a.length&&_64a[type]){ -_64a[type]("reset"); -} -} -form.form("validate"); -}; -function _64b(_64c){ -var _64d=$.data(_64c,"form").options; -$(_64c).unbind(".form"); -if(_64d.ajax){ -$(_64c).bind("submit.form",function(){ -setTimeout(function(){ -_622(_64c,_64d); -},0); -return false; -}); -} -$(_64c).bind("_change.form",function(e,t){ -if($.inArray(t,_64d.dirtyFields)==-1){ -_64d.dirtyFields.push(t); -} -_64d.onChange.call(this,t); -}).bind("change.form",function(e){ -var t=e.target; -if(!$(t).hasClass("textbox-text")){ -if($.inArray(t,_64d.dirtyFields)==-1){ -_64d.dirtyFields.push(t); -} -_64d.onChange.call(this,t); -} -}); -_64e(_64c,_64d.novalidate); -}; -function _64f(_650,_651){ -_651=_651||{}; -var _652=$.data(_650,"form"); -if(_652){ -$.extend(_652.options,_651); -}else{ -$.data(_650,"form",{options:$.extend({},$.fn.form.defaults,$.fn.form.parseOptions(_650),_651)}); -} -}; -function _653(_654){ -if($.fn.validatebox){ -var t=$(_654); -t.find(".validatebox-text:not(:disabled)").validatebox("validate"); -var _655=t.find(".validatebox-invalid"); -_655.filter(":not(:disabled):first").focus(); -return _655.length==0; -} -return true; -}; -function _64e(_656,_657){ -var opts=$.data(_656,"form").options; -opts.novalidate=_657; -$(_656).find(".validatebox-text:not(:disabled)").validatebox(_657?"disableValidation":"enableValidation"); -}; -$.fn.form=function(_658,_659){ -if(typeof _658=="string"){ -this.each(function(){ -_64f(this); -}); -return $.fn.form.methods[_658](this,_659); -} -return this.each(function(){ -_64f(this,_658); -_64b(this); -}); -}; -$.fn.form.methods={options:function(jq){ -return $.data(jq[0],"form").options; -},submit:function(jq,_65a){ -return jq.each(function(){ -_622(this,_65a); -}); -},load:function(jq,data){ -return jq.each(function(){ -load(this,data); -}); -},clear:function(jq){ -return jq.each(function(){ -_644(this); -}); -},reset:function(jq){ -return jq.each(function(){ -_648(this); -}); -},validate:function(jq){ -return _653(jq[0]); -},disableValidation:function(jq){ -return jq.each(function(){ -_64e(this,true); -}); -},enableValidation:function(jq){ -return jq.each(function(){ -_64e(this,false); -}); -},resetValidation:function(jq){ -return jq.each(function(){ -$(this).find(".validatebox-text:not(:disabled)").validatebox("resetValidation"); -}); -},resetDirty:function(jq){ -return jq.each(function(){ -$(this).form("options").dirtyFields=[]; -}); -}}; -$.fn.form.parseOptions=function(_65b){ -var t=$(_65b); -return $.extend({},$.parser.parseOptions(_65b,[{ajax:"boolean",dirty:"boolean"}]),{url:(t.attr("action")?t.attr("action"):undefined)}); -}; -$.fn.form.defaults={fieldTypes:["tagbox","combobox","combotree","combogrid","combotreegrid","datetimebox","datebox","combo","datetimespinner","timespinner","numberspinner","spinner","slider","searchbox","numberbox","passwordbox","filebox","textbox","switchbutton","radiobutton","checkbox"],novalidate:false,ajax:true,iframe:true,dirty:false,dirtyFields:[],url:null,queryParams:{},onSubmit:function(_65c){ -return $(this).form("validate"); -},onProgress:function(_65d){ -},success:function(data){ -},onBeforeLoad:function(_65e){ -},onLoadSuccess:function(data){ -},onLoadError:function(){ -},onChange:function(_65f){ -}}; -})(jQuery); -(function($){ -function _660(_661){ -var _662=$.data(_661,"numberbox"); -var opts=_662.options; -$(_661).addClass("numberbox-f").textbox(opts); -$(_661).textbox("textbox").css({imeMode:"disabled"}); -$(_661).attr("numberboxName",$(_661).attr("textboxName")); -_662.numberbox=$(_661).next(); -_662.numberbox.addClass("numberbox"); -var _663=opts.parser.call(_661,opts.value); -var _664=opts.formatter.call(_661,_663); -$(_661).numberbox("initValue",_663).numberbox("setText",_664); -}; -function _665(_666,_667){ -var _668=$.data(_666,"numberbox"); -var opts=_668.options; -opts.value=parseFloat(_667); -var _667=opts.parser.call(_666,_667); -var text=opts.formatter.call(_666,_667); -opts.value=_667; -$(_666).textbox("setText",text).textbox("setValue",_667); -text=opts.formatter.call(_666,$(_666).textbox("getValue")); -$(_666).textbox("setText",text); -}; -$.fn.numberbox=function(_669,_66a){ -if(typeof _669=="string"){ -var _66b=$.fn.numberbox.methods[_669]; -if(_66b){ -return _66b(this,_66a); -}else{ -return this.textbox(_669,_66a); -} -} -_669=_669||{}; -return this.each(function(){ -var _66c=$.data(this,"numberbox"); -if(_66c){ -$.extend(_66c.options,_669); -}else{ -_66c=$.data(this,"numberbox",{options:$.extend({},$.fn.numberbox.defaults,$.fn.numberbox.parseOptions(this),_669)}); -} -_660(this); -}); -}; -$.fn.numberbox.methods={options:function(jq){ -var opts=jq.data("textbox")?jq.textbox("options"):{}; -return $.extend($.data(jq[0],"numberbox").options,{width:opts.width,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly}); -},cloneFrom:function(jq,from){ -return jq.each(function(){ -$(this).textbox("cloneFrom",from); -$.data(this,"numberbox",{options:$.extend(true,{},$(from).numberbox("options"))}); -$(this).addClass("numberbox-f"); -}); -},fix:function(jq){ -return jq.each(function(){ -var opts=$(this).numberbox("options"); -opts.value=null; -var _66d=opts.parser.call(this,$(this).numberbox("getText")); -$(this).numberbox("setValue",_66d); -}); -},setValue:function(jq,_66e){ -return jq.each(function(){ -_665(this,_66e); -}); -},clear:function(jq){ -return jq.each(function(){ -$(this).textbox("clear"); -$(this).numberbox("options").value=""; -}); -},reset:function(jq){ -return jq.each(function(){ -$(this).textbox("reset"); -$(this).numberbox("setValue",$(this).numberbox("getValue")); -}); -}}; -$.fn.numberbox.parseOptions=function(_66f){ -var t=$(_66f); -return $.extend({},$.fn.textbox.parseOptions(_66f),$.parser.parseOptions(_66f,["decimalSeparator","groupSeparator","suffix",{min:"number",max:"number",precision:"number"}]),{prefix:(t.attr("prefix")?t.attr("prefix"):undefined)}); -}; -$.fn.numberbox.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:{keypress:function(e){ -var _670=e.data.target; -var opts=$(_670).numberbox("options"); -return opts.filter.call(_670,e); -},blur:function(e){ -$(e.data.target).numberbox("fix"); -},keydown:function(e){ -if(e.keyCode==13){ -$(e.data.target).numberbox("fix"); -} -}},min:null,max:null,precision:0,decimalSeparator:".",groupSeparator:"",prefix:"",suffix:"",filter:function(e){ -var opts=$(this).numberbox("options"); -var s=$(this).numberbox("getText"); -if(e.metaKey||e.ctrlKey){ -return true; -} -if($.inArray(String(e.which),["46","8","13","0"])>=0){ -return true; -} -var tmp=$(""); -tmp.html(String.fromCharCode(e.which)); -var c=tmp.text(); -tmp.remove(); -if(!c){ -return true; -} -if(c=="-"||c==opts.decimalSeparator){ -return (s.indexOf(c)==-1)?true:false; -}else{ -if(c==opts.groupSeparator){ -return true; -}else{ -if("0123456789".indexOf(c)>=0){ -return true; -}else{ -return false; -} -} -} -},formatter:function(_671){ -if(!_671){ -return _671; -} -_671=_671+""; -var opts=$(this).numberbox("options"); -var s1=_671,s2=""; -var dpos=_671.indexOf("."); -if(dpos>=0){ -s1=_671.substring(0,dpos); -s2=_671.substring(dpos+1,_671.length); -} -if(opts.groupSeparator){ -var p=/(\d+)(\d{3})/; -while(p.test(s1)){ -s1=s1.replace(p,"$1"+opts.groupSeparator+"$2"); -} -} -if(s2){ -return opts.prefix+s1+opts.decimalSeparator+s2+opts.suffix; -}else{ -return opts.prefix+s1+opts.suffix; -} -},parser:function(s){ -s=s+""; -var opts=$(this).numberbox("options"); -if(opts.prefix){ -s=$.trim(s.replace(new RegExp("\\"+$.trim(opts.prefix),"g"),"")); -} -if(opts.suffix){ -s=$.trim(s.replace(new RegExp("\\"+$.trim(opts.suffix),"g"),"")); -} -if(parseFloat(s)!=opts.value){ -if(opts.groupSeparator){ -s=$.trim(s.replace(new RegExp("\\"+opts.groupSeparator,"g"),"")); -} -if(opts.decimalSeparator){ -s=$.trim(s.replace(new RegExp("\\"+opts.decimalSeparator,"g"),".")); -} -s=s.replace(/\s/g,""); -} -var val=parseFloat(s).toFixed(opts.precision); -if(isNaN(val)){ -val=""; -}else{ -if(typeof (opts.min)=="number"&&valopts.max){ -val=opts.max.toFixed(opts.precision); -} -} -} -return val; -}}); -})(jQuery); -(function($){ -function _672(_673,_674){ -var opts=$.data(_673,"calendar").options; -var t=$(_673); -if(_674){ -$.extend(opts,{width:_674.width,height:_674.height}); -} -t._size(opts,t.parent()); -t.find(".calendar-body")._outerHeight(t.height()-t.find(".calendar-header")._outerHeight()); -if(t.find(".calendar-menu").is(":visible")){ -_675(_673); -} -}; -function init(_676){ -$(_676).addClass("calendar").html("
"+"
"+"
"+"
"+"
"+"
"+""+"
"+"
"+"
"+"
"+"
"+""+""+""+"
"+"
"+"
"+"
"+"
"); -$(_676).bind("_resize",function(e,_677){ -if($(this).hasClass("easyui-fluid")||_677){ -_672(_676); -} -return false; -}); -}; -function _678(_679){ -var opts=$.data(_679,"calendar").options; -var menu=$(_679).find(".calendar-menu"); -menu.find(".calendar-menu-year").unbind(".calendar").bind("keypress.calendar",function(e){ -if(e.keyCode==13){ -_67a(true); -} -}); -$(_679).unbind(".calendar").bind("mouseover.calendar",function(e){ -var t=_67b(e.target); -if(t.hasClass("calendar-nav")||t.hasClass("calendar-text")||(t.hasClass("calendar-day")&&!t.hasClass("calendar-disabled"))){ -t.addClass("calendar-nav-hover"); -} -}).bind("mouseout.calendar",function(e){ -var t=_67b(e.target); -if(t.hasClass("calendar-nav")||t.hasClass("calendar-text")||(t.hasClass("calendar-day")&&!t.hasClass("calendar-disabled"))){ -t.removeClass("calendar-nav-hover"); -} -}).bind("click.calendar",function(e){ -var t=_67b(e.target); -if(t.hasClass("calendar-menu-next")||t.hasClass("calendar-nextyear")){ -_67c(1); -}else{ -if(t.hasClass("calendar-menu-prev")||t.hasClass("calendar-prevyear")){ -_67c(-1); -}else{ -if(t.hasClass("calendar-menu-month")){ -menu.find(".calendar-selected").removeClass("calendar-selected"); -t.addClass("calendar-selected"); -_67a(true); -}else{ -if(t.hasClass("calendar-prevmonth")){ -_67d(-1); -}else{ -if(t.hasClass("calendar-nextmonth")){ -_67d(1); -}else{ -if(t.hasClass("calendar-text")){ -if(menu.is(":visible")){ -menu.hide(); -}else{ -_675(_679); -} -}else{ -if(t.hasClass("calendar-day")){ -if(t.hasClass("calendar-disabled")){ -return; -} -var _67e=opts.current; -t.closest("div.calendar-body").find(".calendar-selected").removeClass("calendar-selected"); -t.addClass("calendar-selected"); -var _67f=t.attr("abbr").split(","); -var y=parseInt(_67f[0]); -var m=parseInt(_67f[1]); -var d=parseInt(_67f[2]); -opts.current=new Date(y,m-1,d); -opts.onSelect.call(_679,opts.current); -if(!_67e||_67e.getTime()!=opts.current.getTime()){ -opts.onChange.call(_679,opts.current,_67e); -} -if(opts.year!=y||opts.month!=m){ -opts.year=y; -opts.month=m; -show(_679); -} -} -} -} -} -} -} -} -}); -function _67b(t){ -var day=$(t).closest(".calendar-day"); -if(day.length){ -return day; -}else{ -return $(t); -} -}; -function _67a(_680){ -var menu=$(_679).find(".calendar-menu"); -var year=menu.find(".calendar-menu-year").val(); -var _681=menu.find(".calendar-selected").attr("abbr"); -if(!isNaN(year)){ -opts.year=parseInt(year); -opts.month=parseInt(_681); -show(_679); -} -if(_680){ -menu.hide(); -} -}; -function _67c(_682){ -opts.year+=_682; -show(_679); -menu.find(".calendar-menu-year").val(opts.year); -}; -function _67d(_683){ -opts.month+=_683; -if(opts.month>12){ -opts.year++; -opts.month=1; -}else{ -if(opts.month<1){ -opts.year--; -opts.month=12; -} -} -show(_679); -menu.find("td.calendar-selected").removeClass("calendar-selected"); -menu.find("td:eq("+(opts.month-1)+")").addClass("calendar-selected"); -}; -}; -function _675(_684){ -var opts=$.data(_684,"calendar").options; -$(_684).find(".calendar-menu").show(); -if($(_684).find(".calendar-menu-month-inner").is(":empty")){ -$(_684).find(".calendar-menu-month-inner").empty(); -var t=$("
").appendTo($(_684).find(".calendar-menu-month-inner")); -var idx=0; -for(var i=0;i<3;i++){ -var tr=$("").appendTo(t); -for(var j=0;j<4;j++){ -$("").html(opts.months[idx++]).attr("abbr",idx).appendTo(tr); -} -} -} -var body=$(_684).find(".calendar-body"); -var sele=$(_684).find(".calendar-menu"); -var _685=sele.find(".calendar-menu-year-inner"); -var _686=sele.find(".calendar-menu-month-inner"); -_685.find("input").val(opts.year).focus(); -_686.find("td.calendar-selected").removeClass("calendar-selected"); -_686.find("td:eq("+(opts.month-1)+")").addClass("calendar-selected"); -sele._outerWidth(body._outerWidth()); -sele._outerHeight(body._outerHeight()); -_686._outerHeight(sele.height()-_685._outerHeight()); -}; -function _687(_688,year,_689){ -var opts=$.data(_688,"calendar").options; -var _68a=[]; -var _68b=new Date(year,_689,0).getDate(); -for(var i=1;i<=_68b;i++){ -_68a.push([year,_689,i]); -} -var _68c=[],week=[]; -var _68d=-1; -while(_68a.length>0){ -var date=_68a.shift(); -week.push(date); -var day=new Date(date[0],date[1]-1,date[2]).getDay(); -if(_68d==day){ -day=0; -}else{ -if(day==(opts.firstDay==0?7:opts.firstDay)-1){ -_68c.push(week); -week=[]; -} -} -_68d=day; -} -if(week.length){ -_68c.push(week); -} -var _68e=_68c[0]; -if(_68e.length<7){ -while(_68e.length<7){ -var _68f=_68e[0]; -var date=new Date(_68f[0],_68f[1]-1,_68f[2]-1); -_68e.unshift([date.getFullYear(),date.getMonth()+1,date.getDate()]); -} -}else{ -var _68f=_68e[0]; -var week=[]; -for(var i=1;i<=7;i++){ -var date=new Date(_68f[0],_68f[1]-1,_68f[2]-i); -week.unshift([date.getFullYear(),date.getMonth()+1,date.getDate()]); -} -_68c.unshift(week); -} -var _690=_68c[_68c.length-1]; -while(_690.length<7){ -var _691=_690[_690.length-1]; -var date=new Date(_691[0],_691[1]-1,_691[2]+1); -_690.push([date.getFullYear(),date.getMonth()+1,date.getDate()]); -} -if(_68c.length<6){ -var _691=_690[_690.length-1]; -var week=[]; -for(var i=1;i<=7;i++){ -var date=new Date(_691[0],_691[1]-1,_691[2]+i); -week.push([date.getFullYear(),date.getMonth()+1,date.getDate()]); -} -_68c.push(week); -} -return _68c; -}; -function show(_692){ -var opts=$.data(_692,"calendar").options; -if(opts.current&&!opts.validator.call(_692,opts.current)){ -opts.current=null; -} -var now=new Date(); -var _693=now.getFullYear()+","+(now.getMonth()+1)+","+now.getDate(); -var _694=opts.current?(opts.current.getFullYear()+","+(opts.current.getMonth()+1)+","+opts.current.getDate()):""; -var _695=6-opts.firstDay; -var _696=_695+1; -if(_695>=7){ -_695-=7; -} -if(_696>=7){ -_696-=7; -} -$(_692).find(".calendar-title span").html(opts.months[opts.month-1]+" "+opts.year); -var body=$(_692).find("div.calendar-body"); -body.children("table").remove(); -var data=[""]; -data.push(""); -if(opts.showWeek){ -data.push(""); -} -for(var i=opts.firstDay;i"+opts.weeks[i]+""); -} -for(var i=0;i"+opts.weeks[i]+""); -} -data.push(""); -data.push(""); -var _697=_687(_692,opts.year,opts.month); -for(var i=0;i<_697.length;i++){ -var week=_697[i]; -var cls=""; -if(i==0){ -cls="calendar-first"; -}else{ -if(i==_697.length-1){ -cls="calendar-last"; -} -} -data.push(""); -if(opts.showWeek){ -var _698=opts.getWeekNumber(new Date(week[0][0],parseInt(week[0][1])-1,week[0][2])); -data.push(""); -} -for(var j=0;j"+d+""); -} -data.push(""); -} -data.push(""); -data.push("
"+opts.weekNumberHeader+"
"+_698+"
"); -body.append(data.join("")); -body.children("table.calendar-dtable").prependTo(body); -opts.onNavigate.call(_692,opts.year,opts.month); -}; -$.fn.calendar=function(_69c,_69d){ -if(typeof _69c=="string"){ -return $.fn.calendar.methods[_69c](this,_69d); -} -_69c=_69c||{}; -return this.each(function(){ -var _69e=$.data(this,"calendar"); -if(_69e){ -$.extend(_69e.options,_69c); -}else{ -_69e=$.data(this,"calendar",{options:$.extend({},$.fn.calendar.defaults,$.fn.calendar.parseOptions(this),_69c)}); -init(this); -} -if(_69e.options.border==false){ -$(this).addClass("calendar-noborder"); -} -_672(this); -_678(this); -show(this); -$(this).find("div.calendar-menu").hide(); -}); -}; -$.fn.calendar.methods={options:function(jq){ -return $.data(jq[0],"calendar").options; -},resize:function(jq,_69f){ -return jq.each(function(){ -_672(this,_69f); -}); -},moveTo:function(jq,date){ -return jq.each(function(){ -if(!date){ -var now=new Date(); -$(this).calendar({year:now.getFullYear(),month:now.getMonth()+1,current:date}); -return; -} -var opts=$(this).calendar("options"); -if(opts.validator.call(this,date)){ -var _6a0=opts.current; -$(this).calendar({year:date.getFullYear(),month:date.getMonth()+1,current:date}); -if(!_6a0||_6a0.getTime()!=date.getTime()){ -opts.onChange.call(this,opts.current,_6a0); -} -} -}); -}}; -$.fn.calendar.parseOptions=function(_6a1){ -var t=$(_6a1); -return $.extend({},$.parser.parseOptions(_6a1,["weekNumberHeader",{firstDay:"number",fit:"boolean",border:"boolean",showWeek:"boolean"}])); -}; -$.fn.calendar.defaults={width:180,height:180,fit:false,border:true,showWeek:false,firstDay:0,weeks:["S","M","T","W","T","F","S"],months:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],year:new Date().getFullYear(),month:new Date().getMonth()+1,current:(function(){ -var d=new Date(); -return new Date(d.getFullYear(),d.getMonth(),d.getDate()); -})(),weekNumberHeader:"",getWeekNumber:function(date){ -var _6a2=new Date(date.getTime()); -_6a2.setDate(_6a2.getDate()+4-(_6a2.getDay()||7)); -var time=_6a2.getTime(); -_6a2.setMonth(0); -_6a2.setDate(1); -return Math.floor(Math.round((time-_6a2)/86400000)/7)+1; -},formatter:function(date){ -return date.getDate(); -},styler:function(date){ -return ""; -},validator:function(date){ -return true; -},onSelect:function(date){ -},onChange:function(_6a3,_6a4){ -},onNavigate:function(year,_6a5){ -}}; -})(jQuery); -(function($){ -function _6a6(_6a7){ -var _6a8=$.data(_6a7,"spinner"); -var opts=_6a8.options; -var _6a9=$.extend(true,[],opts.icons); -if(opts.spinAlign=="left"||opts.spinAlign=="right"){ -opts.spinArrow=true; -opts.iconAlign=opts.spinAlign; -var _6aa={iconCls:"spinner-button-updown",handler:function(e){ -var spin=$(e.target).closest(".spinner-arrow-up,.spinner-arrow-down"); -_6b4(e.data.target,spin.hasClass("spinner-arrow-down")); -}}; -if(opts.spinAlign=="left"){ -_6a9.unshift(_6aa); -}else{ -_6a9.push(_6aa); -} -}else{ -opts.spinArrow=false; -if(opts.spinAlign=="vertical"){ -if(opts.buttonAlign!="top"){ -opts.buttonAlign="bottom"; -} -opts.clsLeft="textbox-button-bottom"; -opts.clsRight="textbox-button-top"; -}else{ -opts.clsLeft="textbox-button-left"; -opts.clsRight="textbox-button-right"; -} -} -$(_6a7).addClass("spinner-f").textbox($.extend({},opts,{icons:_6a9,doSize:false,onResize:function(_6ab,_6ac){ -if(!opts.spinArrow){ -var span=$(this).next(); -var btn=span.find(".textbox-button:not(.spinner-button)"); -if(btn.length){ -var _6ad=btn.outerWidth(); -var _6ae=btn.outerHeight(); -var _6af=span.find(".spinner-button."+opts.clsLeft); -var _6b0=span.find(".spinner-button."+opts.clsRight); -if(opts.buttonAlign=="right"){ -_6b0.css("marginRight",_6ad+"px"); -}else{ -if(opts.buttonAlign=="left"){ -_6af.css("marginLeft",_6ad+"px"); -}else{ -if(opts.buttonAlign=="top"){ -_6b0.css("marginTop",_6ae+"px"); -}else{ -_6af.css("marginBottom",_6ae+"px"); -} -} -} -} -} -opts.onResize.call(this,_6ab,_6ac); -}})); -$(_6a7).attr("spinnerName",$(_6a7).attr("textboxName")); -_6a8.spinner=$(_6a7).next(); -_6a8.spinner.addClass("spinner"); -if(opts.spinArrow){ -var _6b1=_6a8.spinner.find(".spinner-button-updown"); -_6b1.append(""+""+""+""+""+""); -}else{ -var _6b2=$("
").addClass(opts.clsLeft).appendTo(_6a8.spinner); -var _6b3=$("").addClass(opts.clsRight).appendTo(_6a8.spinner); -_6b2.linkbutton({iconCls:opts.reversed?"spinner-button-up":"spinner-button-down",onClick:function(){ -_6b4(_6a7,!opts.reversed); -}}); -_6b3.linkbutton({iconCls:opts.reversed?"spinner-button-down":"spinner-button-up",onClick:function(){ -_6b4(_6a7,opts.reversed); -}}); -if(opts.disabled){ -$(_6a7).spinner("disable"); -} -if(opts.readonly){ -$(_6a7).spinner("readonly"); -} -} -$(_6a7).spinner("resize"); -}; -function _6b4(_6b5,down){ -var opts=$(_6b5).spinner("options"); -opts.spin.call(_6b5,down); -opts[down?"onSpinDown":"onSpinUp"].call(_6b5); -$(_6b5).spinner("validate"); -}; -$.fn.spinner=function(_6b6,_6b7){ -if(typeof _6b6=="string"){ -var _6b8=$.fn.spinner.methods[_6b6]; -if(_6b8){ -return _6b8(this,_6b7); -}else{ -return this.textbox(_6b6,_6b7); -} -} -_6b6=_6b6||{}; -return this.each(function(){ -var _6b9=$.data(this,"spinner"); -if(_6b9){ -$.extend(_6b9.options,_6b6); -}else{ -_6b9=$.data(this,"spinner",{options:$.extend({},$.fn.spinner.defaults,$.fn.spinner.parseOptions(this),_6b6)}); -} -_6a6(this); -}); -}; -$.fn.spinner.methods={options:function(jq){ -var opts=jq.textbox("options"); -return $.extend($.data(jq[0],"spinner").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly}); -}}; -$.fn.spinner.parseOptions=function(_6ba){ -return $.extend({},$.fn.textbox.parseOptions(_6ba),$.parser.parseOptions(_6ba,["min","max","spinAlign",{increment:"number",reversed:"boolean"}])); -}; -$.fn.spinner.defaults=$.extend({},$.fn.textbox.defaults,{min:null,max:null,increment:1,spinAlign:"right",reversed:false,spin:function(down){ -},onSpinUp:function(){ -},onSpinDown:function(){ -}}); -})(jQuery); -(function($){ -function _6bb(_6bc){ -$(_6bc).addClass("numberspinner-f"); -var opts=$.data(_6bc,"numberspinner").options; -$(_6bc).numberbox($.extend({},opts,{doSize:false})).spinner(opts); -$(_6bc).numberbox("setValue",opts.value); -}; -function _6bd(_6be,down){ -var opts=$.data(_6be,"numberspinner").options; -var v=parseFloat($(_6be).numberbox("getValue")||opts.value)||0; -if(down){ -v-=opts.increment; -}else{ -v+=opts.increment; -} -$(_6be).numberbox("setValue",v); -}; -$.fn.numberspinner=function(_6bf,_6c0){ -if(typeof _6bf=="string"){ -var _6c1=$.fn.numberspinner.methods[_6bf]; -if(_6c1){ -return _6c1(this,_6c0); -}else{ -return this.numberbox(_6bf,_6c0); -} -} -_6bf=_6bf||{}; -return this.each(function(){ -var _6c2=$.data(this,"numberspinner"); -if(_6c2){ -$.extend(_6c2.options,_6bf); -}else{ -$.data(this,"numberspinner",{options:$.extend({},$.fn.numberspinner.defaults,$.fn.numberspinner.parseOptions(this),_6bf)}); -} -_6bb(this); -}); -}; -$.fn.numberspinner.methods={options:function(jq){ -var opts=jq.numberbox("options"); -return $.extend($.data(jq[0],"numberspinner").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly}); -}}; -$.fn.numberspinner.parseOptions=function(_6c3){ -return $.extend({},$.fn.spinner.parseOptions(_6c3),$.fn.numberbox.parseOptions(_6c3),{}); -}; -$.fn.numberspinner.defaults=$.extend({},$.fn.spinner.defaults,$.fn.numberbox.defaults,{spin:function(down){ -_6bd(this,down); -}}); -})(jQuery); -(function($){ -function _6c4(_6c5){ -var opts=$.data(_6c5,"timespinner").options; -$(_6c5).addClass("timespinner-f").spinner(opts); -var _6c6=opts.formatter.call(_6c5,opts.parser.call(_6c5,opts.value)); -$(_6c5).timespinner("initValue",_6c6); -}; -function _6c7(e){ -var _6c8=e.data.target; -var opts=$.data(_6c8,"timespinner").options; -var _6c9=$(_6c8).timespinner("getSelectionStart"); -for(var i=0;i=_6ca[0]&&_6c9<=_6ca[1]){ -_6cb(_6c8,i); -return; -} -} -}; -function _6cb(_6cc,_6cd){ -var opts=$.data(_6cc,"timespinner").options; -if(_6cd!=undefined){ -opts.highlight=_6cd; -} -var _6ce=opts.selections[opts.highlight]; -if(_6ce){ -var tb=$(_6cc).timespinner("textbox"); -$(_6cc).timespinner("setSelectionRange",{start:_6ce[0],end:_6ce[1]}); -tb.focus(); -} -}; -function _6cf(_6d0,_6d1){ -var opts=$.data(_6d0,"timespinner").options; -var _6d1=opts.parser.call(_6d0,_6d1); -var text=opts.formatter.call(_6d0,_6d1); -$(_6d0).spinner("setValue",text); -}; -function _6d2(_6d3,down){ -var opts=$.data(_6d3,"timespinner").options; -var s=$(_6d3).timespinner("getValue"); -var _6d4=opts.selections[opts.highlight]; -var s1=s.substring(0,_6d4[0]); -var s2=s.substring(_6d4[0],_6d4[1]); -var s3=s.substring(_6d4[1]); -var v=s1+((parseInt(s2,10)||0)+opts.increment*(down?-1:1))+s3; -$(_6d3).timespinner("setValue",v); -_6cb(_6d3); -}; -$.fn.timespinner=function(_6d5,_6d6){ -if(typeof _6d5=="string"){ -var _6d7=$.fn.timespinner.methods[_6d5]; -if(_6d7){ -return _6d7(this,_6d6); -}else{ -return this.spinner(_6d5,_6d6); -} -} -_6d5=_6d5||{}; -return this.each(function(){ -var _6d8=$.data(this,"timespinner"); -if(_6d8){ -$.extend(_6d8.options,_6d5); -}else{ -$.data(this,"timespinner",{options:$.extend({},$.fn.timespinner.defaults,$.fn.timespinner.parseOptions(this),_6d5)}); -} -_6c4(this); -}); -}; -$.fn.timespinner.methods={options:function(jq){ -var opts=jq.data("spinner")?jq.spinner("options"):{}; -return $.extend($.data(jq[0],"timespinner").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly}); -},setValue:function(jq,_6d9){ -return jq.each(function(){ -_6cf(this,_6d9); -}); -},getHours:function(jq){ -var opts=$.data(jq[0],"timespinner").options; -var vv=jq.timespinner("getValue").split(opts.separator); -return parseInt(vv[0],10); -},getMinutes:function(jq){ -var opts=$.data(jq[0],"timespinner").options; -var vv=jq.timespinner("getValue").split(opts.separator); -return parseInt(vv[1],10); -},getSeconds:function(jq){ -var opts=$.data(jq[0],"timespinner").options; -var vv=jq.timespinner("getValue").split(opts.separator); -return parseInt(vv[2],10)||0; -}}; -$.fn.timespinner.parseOptions=function(_6da){ -return $.extend({},$.fn.spinner.parseOptions(_6da),$.parser.parseOptions(_6da,["separator",{showSeconds:"boolean",highlight:"number"}])); -}; -$.fn.timespinner.defaults=$.extend({},$.fn.spinner.defaults,{inputEvents:$.extend({},$.fn.spinner.defaults.inputEvents,{click:function(e){ -_6c7.call(this,e); -},blur:function(e){ -var t=$(e.data.target); -t.timespinner("setValue",t.timespinner("getText")); -},keydown:function(e){ -if(e.keyCode==13){ -var t=$(e.data.target); -t.timespinner("setValue",t.timespinner("getText")); -} -}}),formatter:function(date){ -if(!date){ -return ""; -} -var opts=$(this).timespinner("options"); -var tt=[_6db(date.getHours()),_6db(date.getMinutes())]; -if(opts.showSeconds){ -tt.push(_6db(date.getSeconds())); -} -return tt.join(opts.separator); -function _6db(_6dc){ -return (_6dc<10?"0":"")+_6dc; -}; -},parser:function(s){ -var opts=$(this).timespinner("options"); -var date=_6dd(s); -if(date){ -var min=_6dd(opts.min); -var max=_6dd(opts.max); -if(min&&min>date){ -date=min; -} -if(max&&max"]; -for(var i=0;i<_6f2.length;i++){ -_6f1.cache[_6f2[i][0]]={width:_6f2[i][1]}; -} -var _6f3=0; -for(var s in _6f1.cache){ -var item=_6f1.cache[s]; -item.index=_6f3++; -ss.push(s+"{width:"+item.width+"}"); -} -ss.push(""); -$(ss.join("\n")).appendTo(cc); -cc.children("style[easyui]:not(:last)").remove(); -},getRule:function(_6f4){ -var _6f5=cc.children("style[easyui]:last")[0]; -var _6f6=_6f5.styleSheet?_6f5.styleSheet:(_6f5.sheet||document.styleSheets[document.styleSheets.length-1]); -var _6f7=_6f6.cssRules||_6f6.rules; -return _6f7[_6f4]; -},set:function(_6f8,_6f9){ -var item=_6f1.cache[_6f8]; -if(item){ -item.width=_6f9; -var rule=this.getRule(item.index); -if(rule){ -rule.style["width"]=_6f9; -} -} -},remove:function(_6fa){ -var tmp=[]; -for(var s in _6f1.cache){ -if(s.indexOf(_6fa)==-1){ -tmp.push([s,_6f1.cache[s].width]); -} -} -_6f1.cache={}; -this.add(tmp); -},dirty:function(_6fb){ -if(_6fb){ -_6f1.dirty.push(_6fb); -} -},clean:function(){ -for(var i=0;i<_6f1.dirty.length;i++){ -this.remove(_6f1.dirty[i]); -} -_6f1.dirty=[]; -}}; -}; -function _6fc(_6fd,_6fe){ -var _6ff=$.data(_6fd,"datagrid"); -var opts=_6ff.options; -var _700=_6ff.panel; -if(_6fe){ -$.extend(opts,_6fe); -} -if(opts.fit==true){ -var p=_700.panel("panel").parent(); -opts.width=p.width(); -opts.height=p.height(); -} -_700.panel("resize",opts); -}; -function _701(_702){ -var _703=$.data(_702,"datagrid"); -var opts=_703.options; -var dc=_703.dc; -var wrap=_703.panel; -var _704=wrap.width(); -var _705=wrap.height(); -var view=dc.view; -var _706=dc.view1; -var _707=dc.view2; -var _708=_706.children("div.datagrid-header"); -var _709=_707.children("div.datagrid-header"); -var _70a=_708.find("table"); -var _70b=_709.find("table"); -view.width(_704); -var _70c=_708.children("div.datagrid-header-inner").show(); -_706.width(_70c.find("table").width()); -if(!opts.showHeader){ -_70c.hide(); -} -_707.width(_704-_706._outerWidth()); -_706.children()._outerWidth(_706.width()); -_707.children()._outerWidth(_707.width()); -var all=_708.add(_709).add(_70a).add(_70b); -all.css("height",""); -var hh=Math.max(_70a.height(),_70b.height()); -all._outerHeight(hh); -view.children(".datagrid-empty").css("top",hh+"px"); -dc.body1.add(dc.body2).children("table.datagrid-btable-frozen").css({position:"absolute",top:dc.header2._outerHeight()}); -var _70d=dc.body2.children("table.datagrid-btable-frozen")._outerHeight(); -var _70e=_70d+_709._outerHeight()+_707.children(".datagrid-footer")._outerHeight(); -wrap.children(":not(.datagrid-view,.datagrid-mask,.datagrid-mask-msg)").each(function(){ -_70e+=$(this)._outerHeight(); -}); -var _70f=wrap.outerHeight()-wrap.height(); -var _710=wrap._size("minHeight")||""; -var _711=wrap._size("maxHeight")||""; -_706.add(_707).children("div.datagrid-body").css({marginTop:_70d,height:(isNaN(parseInt(opts.height))?"":(_705-_70e)),minHeight:(_710?_710-_70f-_70e:""),maxHeight:(_711?_711-_70f-_70e:"")}); -view.height(_707.height()); -}; -function _712(_713,_714,_715){ -var rows=$.data(_713,"datagrid").data.rows; -var opts=$.data(_713,"datagrid").options; -var dc=$.data(_713,"datagrid").dc; -var tmp=$("").appendTo("body"); -var _716=tmp.outerHeight(); -tmp.remove(); -if(!dc.body1.is(":empty")&&(!opts.nowrap||opts.autoRowHeight||_715)){ -if(_714!=undefined){ -var tr1=opts.finder.getTr(_713,_714,"body",1); -var tr2=opts.finder.getTr(_713,_714,"body",2); -_717(tr1,tr2); -}else{ -var tr1=opts.finder.getTr(_713,0,"allbody",1); -var tr2=opts.finder.getTr(_713,0,"allbody",2); -_717(tr1,tr2); -if(opts.showFooter){ -var tr1=opts.finder.getTr(_713,0,"allfooter",1); -var tr2=opts.finder.getTr(_713,0,"allfooter",2); -_717(tr1,tr2); -} -} -} -_701(_713); -if(opts.height=="auto"){ -var _718=dc.body1.parent(); -var _719=dc.body2; -var _71a=_71b(_719); -var _71c=_71a.height; -if(_71a.width>_719.width()){ -_71c+=18; -} -_71c-=parseInt(_719.css("marginTop"))||0; -_718.height(_71c); -_719.height(_71c); -dc.view.height(dc.view2.height()); -} -dc.body2.triggerHandler("scroll"); -function _717(trs1,trs2){ -for(var i=0;i"); -} -_724(true); -_724(false); -_701(_721); -function _724(_725){ -var _726=_725?1:2; -var tr=opts.finder.getTr(_721,_722,"body",_726); -(_725?dc.body1:dc.body2).children("table.datagrid-btable-frozen").append(tr); -}; -}; -function _727(_728,_729){ -function _72a(){ -var _72b=[]; -var _72c=[]; -$(_728).children("thead").each(function(){ -var opt=$.parser.parseOptions(this,[{frozen:"boolean"}]); -$(this).find("tr").each(function(){ -var cols=[]; -$(this).find("th").each(function(){ -var th=$(this); -var col=$.extend({},$.parser.parseOptions(this,["id","field","align","halign","order","width",{sortable:"boolean",checkbox:"boolean",resizable:"boolean",fixed:"boolean"},{rowspan:"number",colspan:"number"}]),{title:(th.html()||undefined),hidden:(th.attr("hidden")?true:undefined),formatter:(th.attr("formatter")?eval(th.attr("formatter")):undefined),styler:(th.attr("styler")?eval(th.attr("styler")):undefined),sorter:(th.attr("sorter")?eval(th.attr("sorter")):undefined)}); -if(col.width&&String(col.width).indexOf("%")==-1){ -col.width=parseInt(col.width); -} -if(th.attr("editor")){ -var s=$.trim(th.attr("editor")); -if(s.substr(0,1)=="{"){ -col.editor=eval("("+s+")"); -}else{ -col.editor=s; -} -} -cols.push(col); -}); -opt.frozen?_72b.push(cols):_72c.push(cols); -}); -}); -return [_72b,_72c]; -}; -var _72d=$("
"+"
"+"
"+"
"+"
"+"
"+"
"+"
"+"
"+"
"+""+"
"+"
"+"
"+"
"+"
"+"
"+"
"+"
"+""+"
"+"
"+"
"+"
").insertAfter(_728); -_72d.panel({doSize:false,cls:"datagrid"}); -$(_728).addClass("datagrid-f").hide().appendTo(_72d.children("div.datagrid-view")); -var cc=_72a(); -var view=_72d.children("div.datagrid-view"); -var _72e=view.children("div.datagrid-view1"); -var _72f=view.children("div.datagrid-view2"); -return {panel:_72d,frozenColumns:cc[0],columns:cc[1],dc:{view:view,view1:_72e,view2:_72f,header1:_72e.children("div.datagrid-header").children("div.datagrid-header-inner"),header2:_72f.children("div.datagrid-header").children("div.datagrid-header-inner"),body1:_72e.children("div.datagrid-body").children("div.datagrid-body-inner"),body2:_72f.children("div.datagrid-body"),footer1:_72e.children("div.datagrid-footer").children("div.datagrid-footer-inner"),footer2:_72f.children("div.datagrid-footer").children("div.datagrid-footer-inner")}}; -}; -function _730(_731){ -var _732=$.data(_731,"datagrid"); -var opts=_732.options; -var dc=_732.dc; -var _733=_732.panel; -_732.ss=$(_731).datagrid("createStyleSheet"); -_733.panel($.extend({},opts,{id:null,doSize:false,onResize:function(_734,_735){ -if($.data(_731,"datagrid")){ -_701(_731); -$(_731).datagrid("fitColumns"); -opts.onResize.call(_733,_734,_735); -} -},onExpand:function(){ -if($.data(_731,"datagrid")){ -$(_731).datagrid("fixRowHeight").datagrid("fitColumns"); -opts.onExpand.call(_733); -} -}})); -_732.rowIdPrefix="datagrid-row-r"+(++_6e7); -_732.cellClassPrefix="datagrid-cell-c"+_6e7; -_736(dc.header1,opts.frozenColumns,true); -_736(dc.header2,opts.columns,false); -_737(); -dc.header1.add(dc.header2).css("display",opts.showHeader?"block":"none"); -dc.footer1.add(dc.footer2).css("display",opts.showFooter?"block":"none"); -if(opts.toolbar){ -if($.isArray(opts.toolbar)){ -$("div.datagrid-toolbar",_733).remove(); -var tb=$("
").prependTo(_733); -var tr=tb.find("tr"); -for(var i=0;i
").appendTo(tr); -}else{ -var td=$("").appendTo(tr); -var tool=$("").appendTo(td); -tool[0].onclick=eval(btn.handler||function(){ -}); -tool.linkbutton($.extend({},btn,{plain:true})); -} -} -}else{ -$(opts.toolbar).addClass("datagrid-toolbar").prependTo(_733); -$(opts.toolbar).show(); -} -}else{ -$("div.datagrid-toolbar",_733).remove(); -} -$("div.datagrid-pager",_733).remove(); -if(opts.pagination){ -var _738=$("
"); -if(opts.pagePosition=="bottom"){ -_738.appendTo(_733); -}else{ -if(opts.pagePosition=="top"){ -_738.addClass("datagrid-pager-top").prependTo(_733); -}else{ -var ptop=$("
").prependTo(_733); -_738.appendTo(_733); -_738=_738.add(ptop); -} -} -_738.pagination({total:0,pageNumber:opts.pageNumber,pageSize:opts.pageSize,pageList:opts.pageList,onSelectPage:function(_739,_73a){ -opts.pageNumber=_739||1; -opts.pageSize=_73a; -_738.pagination("refresh",{pageNumber:_739,pageSize:_73a}); -_782(_731); -}}); -opts.pageSize=_738.pagination("options").pageSize; -} -function _736(_73b,_73c,_73d){ -if(!_73c){ -return; -} -$(_73b).show(); -$(_73b).empty(); -var tmp=$("
").appendTo("body"); -tmp._outerWidth(99); -var _73e=100-parseInt(tmp[0].style.width); -tmp.remove(); -var _73f=[]; -var _740=[]; -var _741=[]; -if(opts.sortName){ -_73f=opts.sortName.split(","); -_740=opts.sortOrder.split(","); -} -var t=$("
").appendTo(_73b); -for(var i=0;i<_73c.length;i++){ -var tr=$("").appendTo($("tbody",t)); -var cols=_73c[i]; -for(var j=0;j").appendTo(tr); -if(col.checkbox){ -td.attr("field",col.field); -$("
").html("").appendTo(td); -}else{ -if(col.field){ -td.attr("field",col.field); -td.append("
"); -td.find("span:first").html(col.title); -var cell=td.find("div.datagrid-cell"); -var pos=_6e8(_73f,col.field); -if(pos>=0){ -cell.addClass("datagrid-sort-"+_740[pos]); -} -if(col.sortable){ -cell.addClass("datagrid-sort"); -} -if(col.resizable==false){ -cell.attr("resizable","false"); -} -if(col.width){ -var _742=$.parser.parseValue("width",col.width,dc.view,opts.scrollbarSize+(opts.rownumbers?opts.rownumberWidth:0)); -col.deltaWidth=_73e; -col.boxWidth=_742-_73e; -}else{ -col.auto=true; -} -cell.css("text-align",(col.halign||col.align||"")); -col.cellClass=_732.cellClassPrefix+"-"+col.field.replace(/[\.|\s]/g,"-"); -cell.addClass(col.cellClass); -}else{ -$("
").html(col.title).appendTo(td); -} -} -if(col.hidden){ -td.hide(); -_741.push(col.field); -} -} -} -if(_73d&&opts.rownumbers){ -var td=$("
"); -if($("tr",t).length==0){ -td.wrap("").parent().appendTo($("tbody",t)); -}else{ -td.prependTo($("tr:first",t)); -} -} -for(var i=0;i<_741.length;i++){ -_784(_731,_741[i],-1); -} -}; -function _737(){ -var _743=[[".datagrid-header-rownumber",(opts.rownumberWidth-1)+"px"],[".datagrid-cell-rownumber",(opts.rownumberWidth-1)+"px"]]; -var _744=_745(_731,true).concat(_745(_731)); -for(var i=0;i<_744.length;i++){ -var col=_746(_731,_744[i]); -if(col&&!col.checkbox){ -_743.push(["."+col.cellClass,col.boxWidth?col.boxWidth+"px":"auto"]); -} -} -_732.ss.add(_743); -_732.ss.dirty(_732.cellSelectorPrefix); -_732.cellSelectorPrefix="."+_732.cellClassPrefix; -}; -}; -function _747(_748){ -var _749=$.data(_748,"datagrid"); -var _74a=_749.panel; -var opts=_749.options; -var dc=_749.dc; -var _74b=dc.header1.add(dc.header2); -_74b.unbind(".datagrid"); -for(var _74c in opts.headerEvents){ -_74b.bind(_74c+".datagrid",opts.headerEvents[_74c]); -} -var _74d=_74b.find("div.datagrid-cell"); -var _74e=opts.resizeHandle=="right"?"e":(opts.resizeHandle=="left"?"w":"e,w"); -_74d.each(function(){ -$(this).resizable({handles:_74e,edge:opts.resizeEdge,disabled:($(this).attr("resizable")?$(this).attr("resizable")=="false":false),minWidth:25,onStartResize:function(e){ -_749.resizing=true; -_74b.css("cursor",$("body").css("cursor")); -if(!_749.proxy){ -_749.proxy=$("
").appendTo(dc.view); -} -if(e.data.dir=="e"){ -e.data.deltaEdge=$(this)._outerWidth()-(e.pageX-$(this).offset().left); -}else{ -e.data.deltaEdge=$(this).offset().left-e.pageX-1; -} -_749.proxy.css({left:e.pageX-$(_74a).offset().left-1+e.data.deltaEdge,display:"none"}); -setTimeout(function(){ -if(_749.proxy){ -_749.proxy.show(); -} -},500); -},onResize:function(e){ -_749.proxy.css({left:e.pageX-$(_74a).offset().left-1+e.data.deltaEdge,display:"block"}); -return false; -},onStopResize:function(e){ -_74b.css("cursor",""); -$(this).css("height",""); -var _74f=$(this).parent().attr("field"); -var col=_746(_748,_74f); -col.width=$(this)._outerWidth()+1; -col.boxWidth=col.width-col.deltaWidth; -col.auto=undefined; -$(this).css("width",""); -$(_748).datagrid("fixColumnSize",_74f); -_749.proxy.remove(); -_749.proxy=null; -if($(this).parents("div:first.datagrid-header").parent().hasClass("datagrid-view1")){ -_701(_748); -} -$(_748).datagrid("fitColumns"); -opts.onResizeColumn.call(_748,_74f,col.width); -setTimeout(function(){ -_749.resizing=false; -},0); -}}); -}); -var bb=dc.body1.add(dc.body2); -bb.unbind(); -for(var _74c in opts.rowEvents){ -bb.bind(_74c,opts.rowEvents[_74c]); -} -dc.body1.bind("mousewheel DOMMouseScroll",function(e){ -e.preventDefault(); -var e1=e.originalEvent||window.event; -var _750=e1.wheelDelta||e1.detail*(-1); -if("deltaY" in e1){ -_750=e1.deltaY*-1; -} -var dg=$(e.target).closest("div.datagrid-view").children(".datagrid-f"); -var dc=dg.data("datagrid").dc; -dc.body2.scrollTop(dc.body2.scrollTop()-_750); -}); -dc.body2.bind("scroll",function(){ -var b1=dc.view1.children("div.datagrid-body"); -var stv=$(this).scrollTop(); -$(this).scrollTop(stv); -b1.scrollTop(stv); -var c1=dc.body1.children(":first"); -var c2=dc.body2.children(":first"); -if(c1.length&&c2.length){ -var top1=c1.offset().top; -var top2=c2.offset().top; -if(top1!=top2){ -b1.scrollTop(b1.scrollTop()+top1-top2); -} -} -dc.view2.children("div.datagrid-header,div.datagrid-footer")._scrollLeft($(this)._scrollLeft()); -dc.body2.children("table.datagrid-btable-frozen").css("left",-$(this)._scrollLeft()); -}); -}; -function _751(_752){ -return function(e){ -var td=$(e.target).closest("td[field]"); -if(td.length){ -var _753=_754(td); -if(!$(_753).data("datagrid").resizing&&_752){ -td.addClass("datagrid-header-over"); -}else{ -td.removeClass("datagrid-header-over"); -} -} -}; -}; -function _755(e){ -var _756=_754(e.target); -var opts=$(_756).datagrid("options"); -var ck=$(e.target).closest("input[type=checkbox]"); -if(ck.length){ -if(opts.singleSelect&&opts.selectOnCheck){ -return false; -} -if(ck.is(":checked")){ -_757(_756); -}else{ -_758(_756); -} -e.stopPropagation(); -}else{ -var cell=$(e.target).closest(".datagrid-cell"); -if(cell.length){ -var p1=cell.offset().left+5; -var p2=cell.offset().left+cell._outerWidth()-5; -if(e.pageXp1){ -_759(_756,cell.parent().attr("field")); -} -} -} -}; -function _75a(e){ -var _75b=_754(e.target); -var opts=$(_75b).datagrid("options"); -var cell=$(e.target).closest(".datagrid-cell"); -if(cell.length){ -var p1=cell.offset().left+5; -var p2=cell.offset().left+cell._outerWidth()-5; -var cond=opts.resizeHandle=="right"?(e.pageX>p2):(opts.resizeHandle=="left"?(e.pageXp2)); -if(cond){ -var _75c=cell.parent().attr("field"); -var col=_746(_75b,_75c); -if(col.resizable==false){ -return; -} -$(_75b).datagrid("autoSizeColumn",_75c); -col.auto=false; -} -} -}; -function _75d(e){ -var _75e=_754(e.target); -var opts=$(_75e).datagrid("options"); -var td=$(e.target).closest("td[field]"); -opts.onHeaderContextMenu.call(_75e,e,td.attr("field")); -}; -function _75f(_760){ -return function(e){ -var tr=_761(e.target); -if(!tr){ -return; -} -var _762=_754(tr); -if($.data(_762,"datagrid").resizing){ -return; -} -var _763=_764(tr); -if(_760){ -_765(_762,_763); -}else{ -var opts=$.data(_762,"datagrid").options; -opts.finder.getTr(_762,_763).removeClass("datagrid-row-over"); -} -}; -}; -function _766(e){ -var tr=_761(e.target); -if(!tr){ -return; -} -var _767=_754(tr); -var opts=$.data(_767,"datagrid").options; -var _768=_764(tr); -var tt=$(e.target); -if(tt.parent().hasClass("datagrid-cell-check")){ -if(opts.singleSelect&&opts.selectOnCheck){ -tt._propAttr("checked",!tt.is(":checked")); -_769(_767,_768); -}else{ -if(tt.is(":checked")){ -tt._propAttr("checked",false); -_769(_767,_768); -}else{ -tt._propAttr("checked",true); -_76a(_767,_768); -} -} -}else{ -var row=opts.finder.getRow(_767,_768); -var td=tt.closest("td[field]",tr); -if(td.length){ -var _76b=td.attr("field"); -opts.onClickCell.call(_767,_768,_76b,row[_76b]); -} -if(opts.singleSelect==true){ -_76c(_767,_768); -}else{ -if(opts.ctrlSelect){ -if(e.metaKey||e.ctrlKey){ -if(tr.hasClass("datagrid-row-selected")){ -_76d(_767,_768); -}else{ -_76c(_767,_768); -} -}else{ -if(e.shiftKey){ -$(_767).datagrid("clearSelections"); -var _76e=Math.min(opts.lastSelectedIndex||0,_768); -var _76f=Math.max(opts.lastSelectedIndex||0,_768); -for(var i=_76e;i<=_76f;i++){ -_76c(_767,i); -} -}else{ -$(_767).datagrid("clearSelections"); -_76c(_767,_768); -opts.lastSelectedIndex=_768; -} -} -}else{ -if(tr.hasClass("datagrid-row-selected")){ -_76d(_767,_768); -}else{ -_76c(_767,_768); -} -} -} -opts.onClickRow.apply(_767,_6eb(_767,[_768,row])); -} -}; -function _770(e){ -var tr=_761(e.target); -if(!tr){ -return; -} -var _771=_754(tr); -var opts=$.data(_771,"datagrid").options; -var _772=_764(tr); -var row=opts.finder.getRow(_771,_772); -var td=$(e.target).closest("td[field]",tr); -if(td.length){ -var _773=td.attr("field"); -opts.onDblClickCell.call(_771,_772,_773,row[_773]); -} -opts.onDblClickRow.apply(_771,_6eb(_771,[_772,row])); -}; -function _774(e){ -var tr=_761(e.target); -if(tr){ -var _775=_754(tr); -var opts=$.data(_775,"datagrid").options; -var _776=_764(tr); -var row=opts.finder.getRow(_775,_776); -opts.onRowContextMenu.call(_775,e,_776,row); -}else{ -var body=_761(e.target,".datagrid-body"); -if(body){ -var _775=_754(body); -var opts=$.data(_775,"datagrid").options; -opts.onRowContextMenu.call(_775,e,-1,null); -} -} -}; -function _754(t){ -return $(t).closest("div.datagrid-view").children(".datagrid-f")[0]; -}; -function _761(t,_777){ -var tr=$(t).closest(_777||"tr.datagrid-row"); -if(tr.length&&tr.parent().length){ -return tr; -}else{ -return undefined; -} -}; -function _764(tr){ -if(tr.attr("datagrid-row-index")){ -return parseInt(tr.attr("datagrid-row-index")); -}else{ -return tr.attr("node-id"); -} -}; -function _759(_778,_779){ -var _77a=$.data(_778,"datagrid"); -var opts=_77a.options; -_779=_779||{}; -var _77b={sortName:opts.sortName,sortOrder:opts.sortOrder}; -if(typeof _779=="object"){ -$.extend(_77b,_779); -} -var _77c=[]; -var _77d=[]; -if(_77b.sortName){ -_77c=_77b.sortName.split(","); -_77d=_77b.sortOrder.split(","); -} -if(typeof _779=="string"){ -var _77e=_779; -var col=_746(_778,_77e); -if(!col.sortable||_77a.resizing){ -return; -} -var _77f=col.order||"asc"; -var pos=_6e8(_77c,_77e); -if(pos>=0){ -var _780=_77d[pos]=="asc"?"desc":"asc"; -if(opts.multiSort&&_780==_77f){ -_77c.splice(pos,1); -_77d.splice(pos,1); -}else{ -_77d[pos]=_780; -} -}else{ -if(opts.multiSort){ -_77c.push(_77e); -_77d.push(_77f); -}else{ -_77c=[_77e]; -_77d=[_77f]; -} -} -_77b.sortName=_77c.join(","); -_77b.sortOrder=_77d.join(","); -} -if(opts.onBeforeSortColumn.call(_778,_77b.sortName,_77b.sortOrder)==false){ -return; -} -$.extend(opts,_77b); -var dc=_77a.dc; -var _781=dc.header1.add(dc.header2); -_781.find("div.datagrid-cell").removeClass("datagrid-sort-asc datagrid-sort-desc"); -for(var i=0;i<_77c.length;i++){ -var col=_746(_778,_77c[i]); -_781.find("div."+col.cellClass).addClass("datagrid-sort-"+_77d[i]); -} -if(opts.remoteSort){ -_782(_778); -}else{ -_783(_778,$(_778).datagrid("getData")); -} -opts.onSortColumn.call(_778,opts.sortName,opts.sortOrder); -}; -function _784(_785,_786,_787){ -_788(true); -_788(false); -function _788(_789){ -var aa=_78a(_785,_789); -if(aa.length){ -var _78b=aa[aa.length-1]; -var _78c=_6e8(_78b,_786); -if(_78c>=0){ -for(var _78d=0;_78d=_792.find("table").width()){ -dc.body2.css("overflow-x","hidden"); -} -function _795(){ -if(!opts.fitColumns){ -return; -} -if(!_791.leftWidth){ -_791.leftWidth=0; -} -var _796=0; -var cc=[]; -var _797=_745(_790,false); -for(var i=0;i<_797.length;i++){ -var col=_746(_790,_797[i]); -if(_798(col)){ -_796+=col.width; -cc.push({field:col.field,col:col,addingWidth:0}); -} -} -if(!_796){ -return; -} -cc[cc.length-1].addingWidth-=_791.leftWidth; -var _799=_792.children("div.datagrid-header-inner").show(); -var _79a=_792.width()-_792.find("table").width()-opts.scrollbarSize+_791.leftWidth; -var rate=_79a/_796; -if(!opts.showHeader){ -_799.hide(); -} -for(var i=0;i0){ -c.col.boxWidth+=c.addingWidth; -c.col.width+=c.addingWidth; -} -} -_791.leftWidth=_79a; -$(_790).datagrid("fixColumnSize"); -}; -function _794(){ -var _79c=false; -var _79d=_745(_790,true).concat(_745(_790,false)); -$.map(_79d,function(_79e){ -var col=_746(_790,_79e); -if(String(col.width||"").indexOf("%")>=0){ -var _79f=$.parser.parseValue("width",col.width,dc.view,opts.scrollbarSize+(opts.rownumbers?opts.rownumberWidth:0))-col.deltaWidth; -if(_79f>0){ -col.boxWidth=_79f; -_79c=true; -} -} -}); -if(_79c){ -$(_790).datagrid("fixColumnSize"); -} -}; -function _793(fit){ -var _7a0=dc.header1.add(dc.header2).find(".datagrid-cell-group"); -if(_7a0.length){ -_7a0.each(function(){ -$(this)._outerWidth(fit?$(this).parent().width():10); -}); -if(fit){ -_701(_790); -} -} -}; -function _798(col){ -if(String(col.width||"").indexOf("%")>=0){ -return false; -} -if(!col.hidden&&!col.checkbox&&!col.auto&&!col.fixed){ -return true; -} -}; -}; -function _7a1(_7a2,_7a3){ -var _7a4=$.data(_7a2,"datagrid"); -var opts=_7a4.options; -var dc=_7a4.dc; -var tmp=$("
").appendTo("body"); -if(_7a3){ -_6fc(_7a3); -$(_7a2).datagrid("fitColumns"); -}else{ -var _7a5=false; -var _7a6=_745(_7a2,true).concat(_745(_7a2,false)); -for(var i=0;i<_7a6.length;i++){ -var _7a3=_7a6[i]; -var col=_746(_7a2,_7a3); -if(col.auto){ -_6fc(_7a3); -_7a5=true; -} -} -if(_7a5){ -$(_7a2).datagrid("fitColumns"); -} -} -tmp.remove(); -function _6fc(_7a7){ -var _7a8=dc.view.find("div.datagrid-header td[field=\""+_7a7+"\"] div.datagrid-cell"); -_7a8.css("width",""); -var col=$(_7a2).datagrid("getColumnOption",_7a7); -col.width=undefined; -col.boxWidth=undefined; -col.auto=true; -$(_7a2).datagrid("fixColumnSize",_7a7); -var _7a9=Math.max(_7aa("header"),_7aa("allbody"),_7aa("allfooter"))+1; -_7a8._outerWidth(_7a9-1); -col.width=_7a9; -col.boxWidth=parseInt(_7a8[0].style.width); -col.deltaWidth=_7a9-col.boxWidth; -_7a8.css("width",""); -$(_7a2).datagrid("fixColumnSize",_7a7); -opts.onResizeColumn.call(_7a2,_7a7,col.width); -function _7aa(type){ -var _7ab=0; -if(type=="header"){ -_7ab=_7ac(_7a8); -}else{ -opts.finder.getTr(_7a2,0,type).find("td[field=\""+_7a7+"\"] div.datagrid-cell").each(function(){ -var w=_7ac($(this)); -if(_7ab1){ -var col=_746(_7b5,td.attr("field")); -var _7b7=col.boxWidth+col.deltaWidth-1; -for(var i=1;i<_7b6;i++){ -td=td.next(); -col=_746(_7b5,td.attr("field")); -_7b7+=col.boxWidth+col.deltaWidth; -} -$(this).children("div.datagrid-cell")._outerWidth(_7b7); -} -}); -}; -function _7b3(_7b8){ -var dc=$.data(_7b8,"datagrid").dc; -dc.view.find("div.datagrid-editable").each(function(){ -var cell=$(this); -var _7b9=cell.parent().attr("field"); -var col=$(_7b8).datagrid("getColumnOption",_7b9); -cell._outerWidth(col.boxWidth+col.deltaWidth-1); -var ed=$.data(this,"datagrid.editor"); -if(ed.actions.resize){ -ed.actions.resize(ed.target,cell.width()); -} -}); -}; -function _746(_7ba,_7bb){ -function find(_7bc){ -if(_7bc){ -for(var i=0;i<_7bc.length;i++){ -var cc=_7bc[i]; -for(var j=0;j=0){ -var _7c5=col.field||col.id||""; -for(var c=0;c<(col.colspan||1);c++){ -for(var r=0;r<(col.rowspan||1);r++){ -aa[_7c2+r][_7c3]=_7c5; -} -_7c3++; -} -} -}); -} -return aa; -function _7c1(){ -var _7c6=0; -$.map(_7bf[0]||[],function(col){ -_7c6+=col.colspan||1; -}); -return _7c6; -}; -function _7c4(a){ -for(var i=0;ib?1:-1); -}; -r=_7cd(r1[sn],r2[sn])*(so=="asc"?1:-1); -if(r!=0){ -return r; -} -} -return r; -}); -} -if(opts.view.onBeforeRender){ -opts.view.onBeforeRender.call(opts.view,_7c9,data.rows); -} -opts.view.render.call(opts.view,_7c9,dc.body2,false); -opts.view.render.call(opts.view,_7c9,dc.body1,true); -if(opts.showFooter){ -opts.view.renderFooter.call(opts.view,_7c9,dc.footer2,false); -opts.view.renderFooter.call(opts.view,_7c9,dc.footer1,true); -} -if(opts.view.onAfterRender){ -opts.view.onAfterRender.call(opts.view,_7c9); -} -_7ca.ss.clean(); -var _7ce=$(_7c9).datagrid("getPager"); -if(_7ce.length){ -var _7cf=_7ce.pagination("options"); -if(_7cf.total!=data.total){ -_7ce.pagination("refresh",{pageNumber:opts.pageNumber,total:data.total}); -if(opts.pageNumber!=_7cf.pageNumber&&_7cf.pageNumber>0){ -opts.pageNumber=_7cf.pageNumber; -_782(_7c9); -} -} -} -_712(_7c9); -dc.body2.triggerHandler("scroll"); -$(_7c9).datagrid("setSelectionState"); -$(_7c9).datagrid("autoSizeColumn"); -opts.onLoadSuccess.call(_7c9,data); -}; -function _7d0(_7d1){ -var _7d2=$.data(_7d1,"datagrid"); -var opts=_7d2.options; -var dc=_7d2.dc; -dc.header1.add(dc.header2).find("input[type=checkbox]")._propAttr("checked",false); -if(opts.idField){ -var _7d3=$.data(_7d1,"treegrid")?true:false; -var _7d4=opts.onSelect; -var _7d5=opts.onCheck; -opts.onSelect=opts.onCheck=function(){ -}; -var rows=opts.finder.getRows(_7d1); -for(var i=0;i_7e6.height()-_7e7){ -_7e6.scrollTop(_7e6.scrollTop()+top+tr._outerHeight()-_7e6.height()+_7e7); -} -} -} -}; -function _765(_7e9,_7ea){ -var _7eb=$.data(_7e9,"datagrid"); -var opts=_7eb.options; -opts.finder.getTr(_7e9,_7eb.highlightIndex).removeClass("datagrid-row-over"); -opts.finder.getTr(_7e9,_7ea).addClass("datagrid-row-over"); -_7eb.highlightIndex=_7ea; -}; -function _76c(_7ec,_7ed,_7ee,_7ef){ -var _7f0=$.data(_7ec,"datagrid"); -var opts=_7f0.options; -var row=opts.finder.getRow(_7ec,_7ed); -if(!row){ -return; -} -if(opts.onBeforeSelect.apply(_7ec,_6eb(_7ec,[_7ed,row]))==false){ -return; -} -if(opts.singleSelect){ -_7f1(_7ec,true); -_7f0.selectedRows=[]; -} -if(!_7ee&&opts.checkOnSelect){ -_769(_7ec,_7ed,true); -} -if(opts.idField){ -_6ea(_7f0.selectedRows,opts.idField,row); -} -opts.finder.getTr(_7ec,_7ed).addClass("datagrid-row-selected"); -opts.onSelect.apply(_7ec,_6eb(_7ec,[_7ed,row])); -if(!_7ef&&opts.scrollOnSelect){ -_7e1(_7ec,_7ed); -} -}; -function _76d(_7f2,_7f3,_7f4){ -var _7f5=$.data(_7f2,"datagrid"); -var dc=_7f5.dc; -var opts=_7f5.options; -var row=opts.finder.getRow(_7f2,_7f3); -if(!row){ -return; -} -if(opts.onBeforeUnselect.apply(_7f2,_6eb(_7f2,[_7f3,row]))==false){ -return; -} -if(!_7f4&&opts.checkOnSelect){ -_76a(_7f2,_7f3,true); -} -opts.finder.getTr(_7f2,_7f3).removeClass("datagrid-row-selected"); -if(opts.idField){ -_6e9(_7f5.selectedRows,opts.idField,row[opts.idField]); -} -opts.onUnselect.apply(_7f2,_6eb(_7f2,[_7f3,row])); -}; -function _7f6(_7f7,_7f8){ -var _7f9=$.data(_7f7,"datagrid"); -var opts=_7f9.options; -var rows=opts.finder.getRows(_7f7); -var _7fa=$.data(_7f7,"datagrid").selectedRows; -if(!_7f8&&opts.checkOnSelect){ -_757(_7f7,true); -} -opts.finder.getTr(_7f7,"","allbody").addClass("datagrid-row-selected"); -if(opts.idField){ -for(var _7fb=0;_7fb"); -cell.children("table").bind("click dblclick contextmenu",function(e){ -e.stopPropagation(); -}); -$.data(cell[0],"datagrid.editor",{actions:_830,target:_830.init(cell.find("td"),$.extend({height:opts.editorHeight},_82f)),field:_82d,type:_82e,oldHtml:_831}); -} -} -}); -_712(_82b,_82c,true); -}; -function _822(_833,_834){ -var opts=$.data(_833,"datagrid").options; -var tr=opts.finder.getTr(_833,_834); -tr.children("td").each(function(){ -var cell=$(this).find("div.datagrid-editable"); -if(cell.length){ -var ed=$.data(cell[0],"datagrid.editor"); -if(ed.actions.destroy){ -ed.actions.destroy(ed.target); -} -cell.html(ed.oldHtml); -$.removeData(cell[0],"datagrid.editor"); -cell.removeClass("datagrid-editable"); -cell.css("width",""); -} -}); -}; -function _815(_835,_836){ -var tr=$.data(_835,"datagrid").options.finder.getTr(_835,_836); -if(!tr.hasClass("datagrid-row-editing")){ -return true; -} -var vbox=tr.find(".validatebox-text"); -vbox.validatebox("validate"); -vbox.trigger("mouseleave"); -var _837=tr.find(".validatebox-invalid"); -return _837.length==0; -}; -function _838(_839,_83a){ -var _83b=$.data(_839,"datagrid").insertedRows; -var _83c=$.data(_839,"datagrid").deletedRows; -var _83d=$.data(_839,"datagrid").updatedRows; -if(!_83a){ -var rows=[]; -rows=rows.concat(_83b); -rows=rows.concat(_83c); -rows=rows.concat(_83d); -return rows; -}else{ -if(_83a=="inserted"){ -return _83b; -}else{ -if(_83a=="deleted"){ -return _83c; -}else{ -if(_83a=="updated"){ -return _83d; -} -} -} -} -return []; -}; -function _83e(_83f,_840){ -var _841=$.data(_83f,"datagrid"); -var opts=_841.options; -var data=_841.data; -var _842=_841.insertedRows; -var _843=_841.deletedRows; -$(_83f).datagrid("cancelEdit",_840); -var row=opts.finder.getRow(_83f,_840); -if(_6e8(_842,row)>=0){ -_6e9(_842,row); -}else{ -_843.push(row); -} -_6e9(_841.selectedRows,opts.idField,row[opts.idField]); -_6e9(_841.checkedRows,opts.idField,row[opts.idField]); -opts.view.deleteRow.call(opts.view,_83f,_840); -if(opts.height=="auto"){ -_712(_83f); -} -$(_83f).datagrid("getPager").pagination("refresh",{total:data.total}); -}; -function _844(_845,_846){ -var data=$.data(_845,"datagrid").data; -var view=$.data(_845,"datagrid").options.view; -var _847=$.data(_845,"datagrid").insertedRows; -view.insertRow.call(view,_845,_846.index,_846.row); -_847.push(_846.row); -$(_845).datagrid("getPager").pagination("refresh",{total:data.total}); -}; -function _848(_849,row){ -var data=$.data(_849,"datagrid").data; -var view=$.data(_849,"datagrid").options.view; -var _84a=$.data(_849,"datagrid").insertedRows; -view.insertRow.call(view,_849,null,row); -_84a.push(row); -$(_849).datagrid("getPager").pagination("refresh",{total:data.total}); -}; -function _84b(_84c,_84d){ -var _84e=$.data(_84c,"datagrid"); -var opts=_84e.options; -var row=opts.finder.getRow(_84c,_84d.index); -var _84f=false; -_84d.row=_84d.row||{}; -for(var _850 in _84d.row){ -if(row[_850]!==_84d.row[_850]){ -_84f=true; -break; -} -} -if(_84f){ -if(_6e8(_84e.insertedRows,row)==-1){ -if(_6e8(_84e.updatedRows,row)==-1){ -_84e.updatedRows.push(row); -} -} -opts.view.updateRow.call(opts.view,_84c,_84d.index,_84d.row); -} -}; -function _851(_852){ -var _853=$.data(_852,"datagrid"); -var data=_853.data; -var rows=data.rows; -var _854=[]; -for(var i=0;i=0){ -(_861=="s"?_76c:_769)(_858,_862,true); -} -} -}; -for(var i=0;i0){ -$(this).datagrid("loadData",data); -}else{ -$(this).datagrid("autoSizeColumn"); -} -} -_782(this); -}); -}; -function _872(_873){ -var _874={}; -$.map(_873,function(name){ -_874[name]=_875(name); -}); -return _874; -function _875(name){ -function isA(_876){ -return $.data($(_876)[0],name)!=undefined; -}; -return {init:function(_877,_878){ -var _879=$("").appendTo(_877); -if(_879[name]&&name!="text"){ -return _879[name](_878); -}else{ -return _879; -} -},destroy:function(_87a){ -if(isA(_87a,name)){ -$(_87a)[name]("destroy"); -} -},getValue:function(_87b){ -if(isA(_87b,name)){ -var opts=$(_87b)[name]("options"); -if(opts.multiple){ -return $(_87b)[name]("getValues").join(opts.separator); -}else{ -return $(_87b)[name]("getValue"); -} -}else{ -return $(_87b).val(); -} -},setValue:function(_87c,_87d){ -if(isA(_87c,name)){ -var opts=$(_87c)[name]("options"); -if(opts.multiple){ -if(_87d){ -$(_87c)[name]("setValues",_87d.split(opts.separator)); -}else{ -$(_87c)[name]("clear"); -} -}else{ -$(_87c)[name]("setValue",_87d); -} -}else{ -$(_87c).val(_87d); -} -},resize:function(_87e,_87f){ -if(isA(_87e,name)){ -$(_87e)[name]("resize",_87f); -}else{ -$(_87e)._size({width:_87f,height:$.fn.datagrid.defaults.editorHeight}); -} -}}; -}; -}; -var _880=$.extend({},_872(["text","textbox","passwordbox","filebox","numberbox","numberspinner","combobox","combotree","combogrid","combotreegrid","datebox","datetimebox","timespinner","datetimespinner"]),{textarea:{init:function(_881,_882){ -var _883=$("").appendTo(_881); -_883.css("vertical-align","middle")._outerHeight(_882.height); -return _883; -},getValue:function(_884){ -return $(_884).val(); -},setValue:function(_885,_886){ -$(_885).val(_886); -},resize:function(_887,_888){ -$(_887)._outerWidth(_888); -}},checkbox:{init:function(_889,_88a){ -var _88b=$("").appendTo(_889); -_88b.val(_88a.on); -_88b.attr("offval",_88a.off); -return _88b; -},getValue:function(_88c){ -if($(_88c).is(":checked")){ -return $(_88c).val(); -}else{ -return $(_88c).attr("offval"); -} -},setValue:function(_88d,_88e){ -var _88f=false; -if($(_88d).val()==_88e){ -_88f=true; -} -$(_88d)._propAttr("checked",_88f); -}},validatebox:{init:function(_890,_891){ -var _892=$("").appendTo(_890); -_892.validatebox(_891); -return _892; -},destroy:function(_893){ -$(_893).validatebox("destroy"); -},getValue:function(_894){ -return $(_894).val(); -},setValue:function(_895,_896){ -$(_895).val(_896); -},resize:function(_897,_898){ -$(_897)._outerWidth(_898)._outerHeight($.fn.datagrid.defaults.editorHeight); -}}}); -$.fn.datagrid.methods={options:function(jq){ -var _899=$.data(jq[0],"datagrid").options; -var _89a=$.data(jq[0],"datagrid").panel.panel("options"); -var opts=$.extend(_899,{width:_89a.width,height:_89a.height,closed:_89a.closed,collapsed:_89a.collapsed,minimized:_89a.minimized,maximized:_89a.maximized}); -return opts; -},setSelectionState:function(jq){ -return jq.each(function(){ -_7d0(this); -}); -},createStyleSheet:function(jq){ -return _6ed(jq[0]); -},getPanel:function(jq){ -return $.data(jq[0],"datagrid").panel; -},getPager:function(jq){ -return $.data(jq[0],"datagrid").panel.children("div.datagrid-pager"); -},getColumnFields:function(jq,_89b){ -return _745(jq[0],_89b); -},getColumnOption:function(jq,_89c){ -return _746(jq[0],_89c); -},resize:function(jq,_89d){ -return jq.each(function(){ -_6fc(this,_89d); -}); -},load:function(jq,_89e){ -return jq.each(function(){ -var opts=$(this).datagrid("options"); -if(typeof _89e=="string"){ -opts.url=_89e; -_89e=null; -} -opts.pageNumber=1; -var _89f=$(this).datagrid("getPager"); -_89f.pagination("refresh",{pageNumber:1}); -_782(this,_89e); -}); -},reload:function(jq,_8a0){ -return jq.each(function(){ -var opts=$(this).datagrid("options"); -if(typeof _8a0=="string"){ -opts.url=_8a0; -_8a0=null; -} -_782(this,_8a0); -}); -},reloadFooter:function(jq,_8a1){ -return jq.each(function(){ -var opts=$.data(this,"datagrid").options; -var dc=$.data(this,"datagrid").dc; -if(_8a1){ -$.data(this,"datagrid").footer=_8a1; -} -if(opts.showFooter){ -opts.view.renderFooter.call(opts.view,this,dc.footer2,false); -opts.view.renderFooter.call(opts.view,this,dc.footer1,true); -if(opts.view.onAfterRender){ -opts.view.onAfterRender.call(opts.view,this); -} -$(this).datagrid("fixRowHeight"); -} -}); -},loading:function(jq){ -return jq.each(function(){ -var opts=$.data(this,"datagrid").options; -$(this).datagrid("getPager").pagination("loading"); -if(opts.loadMsg){ -var _8a2=$(this).datagrid("getPanel"); -if(!_8a2.children("div.datagrid-mask").length){ -$("
").appendTo(_8a2); -var msg=$("
").html(opts.loadMsg).appendTo(_8a2); -msg._outerHeight(40); -msg.css({marginLeft:(-msg.outerWidth()/2),lineHeight:(msg.height()+"px")}); -} -} -}); -},loaded:function(jq){ -return jq.each(function(){ -$(this).datagrid("getPager").pagination("loaded"); -var _8a3=$(this).datagrid("getPanel"); -_8a3.children("div.datagrid-mask-msg").remove(); -_8a3.children("div.datagrid-mask").remove(); -}); -},fitColumns:function(jq){ -return jq.each(function(){ -_78f(this); -}); -},fixColumnSize:function(jq,_8a4){ -return jq.each(function(){ -_7ad(this,_8a4); -}); -},fixRowHeight:function(jq,_8a5){ -return jq.each(function(){ -_712(this,_8a5); -}); -},freezeRow:function(jq,_8a6){ -return jq.each(function(){ -_720(this,_8a6); -}); -},autoSizeColumn:function(jq,_8a7){ -return jq.each(function(){ -_7a1(this,_8a7); -}); -},loadData:function(jq,data){ -return jq.each(function(){ -_783(this,data); -_851(this); -}); -},getData:function(jq){ -return $.data(jq[0],"datagrid").data; -},getRows:function(jq){ -return $.data(jq[0],"datagrid").data.rows; -},getFooterRows:function(jq){ -return $.data(jq[0],"datagrid").footer; -},getRowIndex:function(jq,id){ -return _7d8(jq[0],id); -},getChecked:function(jq){ -return _7de(jq[0]); -},getSelected:function(jq){ -var rows=_7db(jq[0]); -return rows.length>0?rows[0]:null; -},getSelections:function(jq){ -return _7db(jq[0]); -},clearSelections:function(jq){ -return jq.each(function(){ -var _8a8=$.data(this,"datagrid"); -var _8a9=_8a8.selectedRows; -var _8aa=_8a8.checkedRows; -_8a9.splice(0,_8a9.length); -_7f1(this); -if(_8a8.options.checkOnSelect){ -_8aa.splice(0,_8aa.length); -} -}); -},clearChecked:function(jq){ -return jq.each(function(){ -var _8ab=$.data(this,"datagrid"); -var _8ac=_8ab.selectedRows; -var _8ad=_8ab.checkedRows; -_8ad.splice(0,_8ad.length); -_758(this); -if(_8ab.options.selectOnCheck){ -_8ac.splice(0,_8ac.length); -} -}); -},scrollTo:function(jq,_8ae){ -return jq.each(function(){ -_7e1(this,_8ae); -}); -},highlightRow:function(jq,_8af){ -return jq.each(function(){ -_765(this,_8af); -_7e1(this,_8af); -}); -},selectAll:function(jq){ -return jq.each(function(){ -_7f6(this); -}); -},unselectAll:function(jq){ -return jq.each(function(){ -_7f1(this); -}); -},selectRow:function(jq,_8b0){ -return jq.each(function(){ -_76c(this,_8b0); -}); -},selectRecord:function(jq,id){ -return jq.each(function(){ -var opts=$.data(this,"datagrid").options; -if(opts.idField){ -var _8b1=_7d8(this,id); -if(_8b1>=0){ -$(this).datagrid("selectRow",_8b1); -} -} -}); -},unselectRow:function(jq,_8b2){ -return jq.each(function(){ -_76d(this,_8b2); -}); -},checkRow:function(jq,_8b3){ -return jq.each(function(){ -_769(this,_8b3); -}); -},uncheckRow:function(jq,_8b4){ -return jq.each(function(){ -_76a(this,_8b4); -}); -},checkAll:function(jq){ -return jq.each(function(){ -_757(this); -}); -},uncheckAll:function(jq){ -return jq.each(function(){ -_758(this); -}); -},beginEdit:function(jq,_8b5){ -return jq.each(function(){ -_810(this,_8b5); -}); -},endEdit:function(jq,_8b6){ -return jq.each(function(){ -_816(this,_8b6,false); -}); -},cancelEdit:function(jq,_8b7){ -return jq.each(function(){ -_816(this,_8b7,true); -}); -},getEditors:function(jq,_8b8){ -return _823(jq[0],_8b8); -},getEditor:function(jq,_8b9){ -return _827(jq[0],_8b9); -},refreshRow:function(jq,_8ba){ -return jq.each(function(){ -var opts=$.data(this,"datagrid").options; -opts.view.refreshRow.call(opts.view,this,_8ba); -}); -},validateRow:function(jq,_8bb){ -return _815(jq[0],_8bb); -},updateRow:function(jq,_8bc){ -return jq.each(function(){ -_84b(this,_8bc); -}); -},appendRow:function(jq,row){ -return jq.each(function(){ -_848(this,row); -}); -},insertRow:function(jq,_8bd){ -return jq.each(function(){ -_844(this,_8bd); -}); -},deleteRow:function(jq,_8be){ -return jq.each(function(){ -_83e(this,_8be); -}); -},getChanges:function(jq,_8bf){ -return _838(jq[0],_8bf); -},acceptChanges:function(jq){ -return jq.each(function(){ -_855(this); -}); -},rejectChanges:function(jq){ -return jq.each(function(){ -_857(this); -}); -},mergeCells:function(jq,_8c0){ -return jq.each(function(){ -_869(this,_8c0); -}); -},showColumn:function(jq,_8c1){ -return jq.each(function(){ -var col=$(this).datagrid("getColumnOption",_8c1); -if(col.hidden){ -col.hidden=false; -$(this).datagrid("getPanel").find("td[field=\""+_8c1+"\"]").show(); -_784(this,_8c1,1); -$(this).datagrid("fitColumns"); -} -}); -},hideColumn:function(jq,_8c2){ -return jq.each(function(){ -var col=$(this).datagrid("getColumnOption",_8c2); -if(!col.hidden){ -col.hidden=true; -$(this).datagrid("getPanel").find("td[field=\""+_8c2+"\"]").hide(); -_784(this,_8c2,-1); -$(this).datagrid("fitColumns"); -} -}); -},sort:function(jq,_8c3){ -return jq.each(function(){ -_759(this,_8c3); -}); -},gotoPage:function(jq,_8c4){ -return jq.each(function(){ -var _8c5=this; -var page,cb; -if(typeof _8c4=="object"){ -page=_8c4.page; -cb=_8c4.callback; -}else{ -page=_8c4; -} -$(_8c5).datagrid("options").pageNumber=page; -$(_8c5).datagrid("getPager").pagination("refresh",{pageNumber:page}); -_782(_8c5,null,function(){ -if(cb){ -cb.call(_8c5,page); -} -}); -}); -}}; -$.fn.datagrid.parseOptions=function(_8c6){ -var t=$(_8c6); -return $.extend({},$.fn.panel.parseOptions(_8c6),$.parser.parseOptions(_8c6,["url","toolbar","idField","sortName","sortOrder","pagePosition","resizeHandle",{sharedStyleSheet:"boolean",fitColumns:"boolean",autoRowHeight:"boolean",striped:"boolean",nowrap:"boolean"},{rownumbers:"boolean",singleSelect:"boolean",ctrlSelect:"boolean",checkOnSelect:"boolean",selectOnCheck:"boolean"},{pagination:"boolean",pageSize:"number",pageNumber:"number"},{multiSort:"boolean",remoteSort:"boolean",showHeader:"boolean",showFooter:"boolean"},{scrollbarSize:"number",scrollOnSelect:"boolean"}]),{pageList:(t.attr("pageList")?eval(t.attr("pageList")):undefined),loadMsg:(t.attr("loadMsg")!=undefined?t.attr("loadMsg"):undefined),rowStyler:(t.attr("rowStyler")?eval(t.attr("rowStyler")):undefined)}); -}; -$.fn.datagrid.parseData=function(_8c7){ -var t=$(_8c7); -var data={total:0,rows:[]}; -var _8c8=t.datagrid("getColumnFields",true).concat(t.datagrid("getColumnFields",false)); -t.find("tbody tr").each(function(){ -data.total++; -var row={}; -$.extend(row,$.parser.parseOptions(this,["iconCls","state"])); -for(var i=0;i<_8c8.length;i++){ -row[_8c8[i]]=$(this).find("td:eq("+i+")").html(); -} -data.rows.push(row); -}); -return data; -}; -var _8c9={render:function(_8ca,_8cb,_8cc){ -var rows=$(_8ca).datagrid("getRows"); -$(_8cb).empty().html(this.renderTable(_8ca,0,rows,_8cc)); -},renderFooter:function(_8cd,_8ce,_8cf){ -var opts=$.data(_8cd,"datagrid").options; -var rows=$.data(_8cd,"datagrid").footer||[]; -var _8d0=$(_8cd).datagrid("getColumnFields",_8cf); -var _8d1=[""]; -for(var i=0;i"); -_8d1.push(this.renderRow.call(this,_8cd,_8d0,_8cf,i,rows[i])); -_8d1.push(""); -} -_8d1.push("
"); -$(_8ce).html(_8d1.join("")); -},renderTable:function(_8d2,_8d3,rows,_8d4){ -var _8d5=$.data(_8d2,"datagrid"); -var opts=_8d5.options; -if(_8d4){ -if(!(opts.rownumbers||(opts.frozenColumns&&opts.frozenColumns.length))){ -return ""; -} -} -var _8d6=$(_8d2).datagrid("getColumnFields",_8d4); -var _8d7=[""]; -for(var i=0;i"); -_8d7.push(this.renderRow.call(this,_8d2,_8d6,_8d4,_8d3,row)); -_8d7.push(""); -_8d3++; -} -_8d7.push("
"); -return _8d7.join(""); -},renderRow:function(_8da,_8db,_8dc,_8dd,_8de){ -var opts=$.data(_8da,"datagrid").options; -var cc=[]; -if(_8dc&&opts.rownumbers){ -var _8df=_8dd+1; -if(opts.pagination){ -_8df+=(opts.pageNumber-1)*opts.pageSize; -} -cc.push("
"+_8df+"
"); -} -for(var i=0;i<_8db.length;i++){ -var _8e0=_8db[i]; -var col=$(_8da).datagrid("getColumnOption",_8e0); -if(col){ -var _8e1=_8de[_8e0]; -var css=col.styler?(col.styler.call(_8da,_8e1,_8de,_8dd)||""):""; -var cs=this.getStyleValue(css); -var cls=cs.c?"class=\""+cs.c+"\"":""; -var _8e2=col.hidden?"style=\"display:none;"+cs.s+"\"":(cs.s?"style=\""+cs.s+"\"":""); -cc.push(""); -var _8e2=""; -if(!col.checkbox){ -if(col.align){ -_8e2+="text-align:"+col.align+";"; -} -if(!opts.nowrap){ -_8e2+="white-space:normal;height:auto;"; -}else{ -if(opts.autoRowHeight){ -_8e2+="height:auto;"; -} -} -} -cc.push("
"); -if(col.checkbox){ -cc.push(""); -}else{ -if(col.formatter){ -cc.push(col.formatter(_8e1,_8de,_8dd)); -}else{ -cc.push(_8e1); -} -} -cc.push("
"); -cc.push(""); -} -} -return cc.join(""); -},getStyleValue:function(css){ -var _8e3=""; -var _8e4=""; -if(typeof css=="string"){ -_8e4=css; -}else{ -if(css){ -_8e3=css["class"]||""; -_8e4=css["style"]||""; -} -} -return {c:_8e3,s:_8e4}; -},refreshRow:function(_8e5,_8e6){ -this.updateRow.call(this,_8e5,_8e6,{}); -},updateRow:function(_8e7,_8e8,row){ -var opts=$.data(_8e7,"datagrid").options; -var _8e9=opts.finder.getRow(_8e7,_8e8); -$.extend(_8e9,row); -var cs=_8ea.call(this,_8e8); -var _8eb=cs.s; -var cls="datagrid-row "+(_8e8%2&&opts.striped?"datagrid-row-alt ":" ")+cs.c; -function _8ea(_8ec){ -var css=opts.rowStyler?opts.rowStyler.call(_8e7,_8ec,_8e9):""; -return this.getStyleValue(css); -}; -function _8ed(_8ee){ -var tr=opts.finder.getTr(_8e7,_8e8,"body",(_8ee?1:2)); -if(!tr.length){ -return; -} -var _8ef=$(_8e7).datagrid("getColumnFields",_8ee); -var _8f0=tr.find("div.datagrid-cell-check input[type=checkbox]").is(":checked"); -tr.html(this.renderRow.call(this,_8e7,_8ef,_8ee,_8e8,_8e9)); -var _8f1=(tr.hasClass("datagrid-row-checked")?" datagrid-row-checked":"")+(tr.hasClass("datagrid-row-selected")?" datagrid-row-selected":""); -tr.attr("style",_8eb).attr("class",cls+_8f1); -if(_8f0){ -tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",true); -} -}; -_8ed.call(this,true); -_8ed.call(this,false); -$(_8e7).datagrid("fixRowHeight",_8e8); -},insertRow:function(_8f2,_8f3,row){ -var _8f4=$.data(_8f2,"datagrid"); -var opts=_8f4.options; -var dc=_8f4.dc; -var data=_8f4.data; -if(_8f3==undefined||_8f3==null){ -_8f3=data.rows.length; -} -if(_8f3>data.rows.length){ -_8f3=data.rows.length; -} -function _8f5(_8f6){ -var _8f7=_8f6?1:2; -for(var i=data.rows.length-1;i>=_8f3;i--){ -var tr=opts.finder.getTr(_8f2,i,"body",_8f7); -tr.attr("datagrid-row-index",i+1); -tr.attr("id",_8f4.rowIdPrefix+"-"+_8f7+"-"+(i+1)); -if(_8f6&&opts.rownumbers){ -var _8f8=i+2; -if(opts.pagination){ -_8f8+=(opts.pageNumber-1)*opts.pageSize; -} -tr.find("div.datagrid-cell-rownumber").html(_8f8); -} -if(opts.striped){ -tr.removeClass("datagrid-row-alt").addClass((i+1)%2?"datagrid-row-alt":""); -} -} -}; -function _8f9(_8fa){ -var _8fb=_8fa?1:2; -var _8fc=$(_8f2).datagrid("getColumnFields",_8fa); -var _8fd=_8f4.rowIdPrefix+"-"+_8fb+"-"+_8f3; -var tr=""; -if(_8f3>=data.rows.length){ -if(data.rows.length){ -opts.finder.getTr(_8f2,"","last",_8fb).after(tr); -}else{ -var cc=_8fa?dc.body1:dc.body2; -cc.html(""+tr+"
"); -} -}else{ -opts.finder.getTr(_8f2,_8f3+1,"body",_8fb).before(tr); -} -}; -_8f5.call(this,true); -_8f5.call(this,false); -_8f9.call(this,true); -_8f9.call(this,false); -data.total+=1; -data.rows.splice(_8f3,0,row); -this.setEmptyMsg(_8f2); -this.refreshRow.call(this,_8f2,_8f3); -},deleteRow:function(_8fe,_8ff){ -var _900=$.data(_8fe,"datagrid"); -var opts=_900.options; -var data=_900.data; -function _901(_902){ -var _903=_902?1:2; -for(var i=_8ff+1;i").appendTo(_90a.dc.view); -d.html(opts.emptyMsg).css("top",h+"px"); -} -} -},renderEmptyRow:function(_90c){ -var cols=$.map($(_90c).datagrid("getColumnFields"),function(_90d){ -return $(_90c).datagrid("getColumnOption",_90d); -}); -$.map(cols,function(col){ -col.formatter1=col.formatter; -col.styler1=col.styler; -col.formatter=col.styler=undefined; -}); -var _90e=$.data(_90c,"datagrid").dc.body2; -_90e.html(this.renderTable(_90c,0,[{}],false)); -_90e.find("tbody *").css({height:1,borderColor:"transparent",background:"transparent"}); -var tr=_90e.find(".datagrid-row"); -tr.removeClass("datagrid-row").removeAttr("datagrid-row-index"); -tr.find(".datagrid-cell,.datagrid-cell-check").empty(); -$.map(cols,function(col){ -col.formatter=col.formatter1; -col.styler=col.styler1; -col.formatter1=col.styler1=undefined; -}); -}}; -$.fn.datagrid.defaults=$.extend({},$.fn.panel.defaults,{sharedStyleSheet:false,frozenColumns:undefined,columns:undefined,fitColumns:false,resizeHandle:"right",resizeEdge:5,autoRowHeight:true,toolbar:null,striped:false,method:"post",nowrap:true,idField:null,url:null,data:null,loadMsg:"Processing, please wait ...",emptyMsg:"",rownumbers:false,singleSelect:false,ctrlSelect:false,selectOnCheck:true,checkOnSelect:true,pagination:false,pagePosition:"bottom",pageNumber:1,pageSize:10,pageList:[10,20,30,40,50],queryParams:{},sortName:null,sortOrder:"asc",multiSort:false,remoteSort:true,showHeader:true,showFooter:false,scrollOnSelect:true,scrollbarSize:18,rownumberWidth:30,editorHeight:31,headerEvents:{mouseover:_751(true),mouseout:_751(false),click:_755,dblclick:_75a,contextmenu:_75d},rowEvents:{mouseover:_75f(true),mouseout:_75f(false),click:_766,dblclick:_770,contextmenu:_774},rowStyler:function(_90f,_910){ -},loader:function(_911,_912,_913){ -var opts=$(this).datagrid("options"); -if(!opts.url){ -return false; -} -$.ajax({type:opts.method,url:opts.url,data:_911,dataType:"json",success:function(data){ -_912(data); -},error:function(){ -_913.apply(this,arguments); -}}); -},loadFilter:function(data){ -return data; -},editors:_880,finder:{getTr:function(_914,_915,type,_916){ -type=type||"body"; -_916=_916||0; -var _917=$.data(_914,"datagrid"); -var dc=_917.dc; -var opts=_917.options; -if(_916==0){ -var tr1=opts.finder.getTr(_914,_915,type,1); -var tr2=opts.finder.getTr(_914,_915,type,2); -return tr1.add(tr2); -}else{ -if(type=="body"){ -var tr=$("#"+_917.rowIdPrefix+"-"+_916+"-"+_915); -if(!tr.length){ -tr=(_916==1?dc.body1:dc.body2).find(">table>tbody>tr[datagrid-row-index="+_915+"]"); -} -return tr; -}else{ -if(type=="footer"){ -return (_916==1?dc.footer1:dc.footer2).find(">table>tbody>tr[datagrid-row-index="+_915+"]"); -}else{ -if(type=="selected"){ -return (_916==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-selected"); -}else{ -if(type=="highlight"){ -return (_916==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-over"); -}else{ -if(type=="checked"){ -return (_916==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-checked"); -}else{ -if(type=="editing"){ -return (_916==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-editing"); -}else{ -if(type=="last"){ -return (_916==1?dc.body1:dc.body2).find(">table>tbody>tr[datagrid-row-index]:last"); -}else{ -if(type=="allbody"){ -return (_916==1?dc.body1:dc.body2).find(">table>tbody>tr[datagrid-row-index]"); -}else{ -if(type=="allfooter"){ -return (_916==1?dc.footer1:dc.footer2).find(">table>tbody>tr[datagrid-row-index]"); -} -} -} -} -} -} -} -} -} -} -},getRow:function(_918,p){ -var _919=(typeof p=="object")?p.attr("datagrid-row-index"):p; -return $.data(_918,"datagrid").data.rows[parseInt(_919)]; -},getRows:function(_91a){ -return $(_91a).datagrid("getRows"); -}},view:_8c9,onBeforeLoad:function(_91b){ -},onLoadSuccess:function(){ -},onLoadError:function(){ -},onClickRow:function(_91c,_91d){ -},onDblClickRow:function(_91e,_91f){ -},onClickCell:function(_920,_921,_922){ -},onDblClickCell:function(_923,_924,_925){ -},onBeforeSortColumn:function(sort,_926){ -},onSortColumn:function(sort,_927){ -},onResizeColumn:function(_928,_929){ -},onBeforeSelect:function(_92a,_92b){ -},onSelect:function(_92c,_92d){ -},onBeforeUnselect:function(_92e,_92f){ -},onUnselect:function(_930,_931){ -},onSelectAll:function(rows){ -},onUnselectAll:function(rows){ -},onBeforeCheck:function(_932,_933){ -},onCheck:function(_934,_935){ -},onBeforeUncheck:function(_936,_937){ -},onUncheck:function(_938,_939){ -},onCheckAll:function(rows){ -},onUncheckAll:function(rows){ -},onBeforeEdit:function(_93a,_93b){ -},onBeginEdit:function(_93c,_93d){ -},onEndEdit:function(_93e,_93f,_940){ -},onAfterEdit:function(_941,_942,_943){ -},onCancelEdit:function(_944,_945){ -},onHeaderContextMenu:function(e,_946){ -},onRowContextMenu:function(e,_947,_948){ -}}); -})(jQuery); -(function($){ -var _949; -$(document).unbind(".propertygrid").bind("mousedown.propertygrid",function(e){ -var p=$(e.target).closest("div.datagrid-view,div.combo-panel"); -if(p.length){ -return; -} -_94a(_949); -_949=undefined; -}); -function _94b(_94c){ -var _94d=$.data(_94c,"propertygrid"); -var opts=$.data(_94c,"propertygrid").options; -$(_94c).datagrid($.extend({},opts,{cls:"propertygrid",view:(opts.showGroup?opts.groupView:opts.view),onBeforeEdit:function(_94e,row){ -if(opts.onBeforeEdit.call(_94c,_94e,row)==false){ -return false; -} -var dg=$(this); -var row=dg.datagrid("getRows")[_94e]; -var col=dg.datagrid("getColumnOption","value"); -col.editor=row.editor; -},onClickCell:function(_94f,_950,_951){ -if(_949!=this){ -_94a(_949); -_949=this; -} -if(opts.editIndex!=_94f){ -_94a(_949); -$(this).datagrid("beginEdit",_94f); -var ed=$(this).datagrid("getEditor",{index:_94f,field:_950}); -if(!ed){ -ed=$(this).datagrid("getEditor",{index:_94f,field:"value"}); -} -if(ed){ -var t=$(ed.target); -var _952=t.data("textbox")?t.textbox("textbox"):t; -_952.focus(); -opts.editIndex=_94f; -} -} -opts.onClickCell.call(_94c,_94f,_950,_951); -},loadFilter:function(data){ -_94a(this); -return opts.loadFilter.call(this,data); -}})); -}; -function _94a(_953){ -var t=$(_953); -if(!t.length){ -return; -} -var opts=$.data(_953,"propertygrid").options; -opts.finder.getTr(_953,null,"editing").each(function(){ -var _954=parseInt($(this).attr("datagrid-row-index")); -if(t.datagrid("validateRow",_954)){ -t.datagrid("endEdit",_954); -}else{ -t.datagrid("cancelEdit",_954); -} -}); -opts.editIndex=undefined; -}; -$.fn.propertygrid=function(_955,_956){ -if(typeof _955=="string"){ -var _957=$.fn.propertygrid.methods[_955]; -if(_957){ -return _957(this,_956); -}else{ -return this.datagrid(_955,_956); -} -} -_955=_955||{}; -return this.each(function(){ -var _958=$.data(this,"propertygrid"); -if(_958){ -$.extend(_958.options,_955); -}else{ -var opts=$.extend({},$.fn.propertygrid.defaults,$.fn.propertygrid.parseOptions(this),_955); -opts.frozenColumns=$.extend(true,[],opts.frozenColumns); -opts.columns=$.extend(true,[],opts.columns); -$.data(this,"propertygrid",{options:opts}); -} -_94b(this); -}); -}; -$.fn.propertygrid.methods={options:function(jq){ -return $.data(jq[0],"propertygrid").options; -}}; -$.fn.propertygrid.parseOptions=function(_959){ -return $.extend({},$.fn.datagrid.parseOptions(_959),$.parser.parseOptions(_959,[{showGroup:"boolean"}])); -}; -var _95a=$.extend({},$.fn.datagrid.defaults.view,{render:function(_95b,_95c,_95d){ -var _95e=[]; -var _95f=this.groups; -for(var i=0;i<_95f.length;i++){ -_95e.push(this.renderGroup.call(this,_95b,i,_95f[i],_95d)); -} -$(_95c).html(_95e.join("")); -},renderGroup:function(_960,_961,_962,_963){ -var _964=$.data(_960,"datagrid"); -var opts=_964.options; -var _965=$(_960).datagrid("getColumnFields",_963); -var _966=opts.frozenColumns&&opts.frozenColumns.length; -if(_963){ -if(!(opts.rownumbers||_966)){ -return ""; -} -} -var _967=[]; -var css=opts.groupStyler.call(_960,_962.value,_962.rows); -var cs=_968(css,"datagrid-group"); -_967.push("
"); -if((_963&&(opts.rownumbers||opts.frozenColumns.length))||(!_963&&!(opts.rownumbers||opts.frozenColumns.length))){ -_967.push(""); -_967.push(" "); -_967.push(""); -} -if((_963&&_966)||(!_963)){ -_967.push(""); -_967.push(opts.groupFormatter.call(_960,_962.value,_962.rows)); -_967.push(""); -} -_967.push("
"); -_967.push(""); -var _969=_962.startIndex; -for(var j=0;j<_962.rows.length;j++){ -var css=opts.rowStyler?opts.rowStyler.call(_960,_969,_962.rows[j]):""; -var _96a=""; -var _96b=""; -if(typeof css=="string"){ -_96b=css; -}else{ -if(css){ -_96a=css["class"]||""; -_96b=css["style"]||""; -} -} -var cls="class=\"datagrid-row "+(_969%2&&opts.striped?"datagrid-row-alt ":" ")+_96a+"\""; -var _96c=_96b?"style=\""+_96b+"\"":""; -var _96d=_964.rowIdPrefix+"-"+(_963?1:2)+"-"+_969; -_967.push(""); -_967.push(this.renderRow.call(this,_960,_965,_963,_969,_962.rows[j])); -_967.push(""); -_969++; -} -_967.push("
"); -return _967.join(""); -function _968(css,cls){ -var _96e=""; -var _96f=""; -if(typeof css=="string"){ -_96f=css; -}else{ -if(css){ -_96e=css["class"]||""; -_96f=css["style"]||""; -} -} -return "class=\""+cls+(_96e?" "+_96e:"")+"\" "+"style=\""+_96f+"\""; -}; -},bindEvents:function(_970){ -var _971=$.data(_970,"datagrid"); -var dc=_971.dc; -var body=dc.body1.add(dc.body2); -var _972=($.data(body[0],"events")||$._data(body[0],"events")).click[0].handler; -body.unbind("click").bind("click",function(e){ -var tt=$(e.target); -var _973=tt.closest("span.datagrid-row-expander"); -if(_973.length){ -var _974=_973.closest("div.datagrid-group").attr("group-index"); -if(_973.hasClass("datagrid-row-collapse")){ -$(_970).datagrid("collapseGroup",_974); -}else{ -$(_970).datagrid("expandGroup",_974); -} -}else{ -_972(e); -} -e.stopPropagation(); -}); -},onBeforeRender:function(_975,rows){ -var _976=$.data(_975,"datagrid"); -var opts=_976.options; -_977(); -var _978=[]; -for(var i=0;i"+".datagrid-group{height:"+opts.groupHeight+"px;overflow:hidden;font-weight:bold;border-bottom:1px solid #ccc;white-space:nowrap;word-break:normal;}"+".datagrid-group-title,.datagrid-group-expander{display:inline-block;vertical-align:bottom;height:100%;line-height:"+opts.groupHeight+"px;padding:0 4px;}"+".datagrid-group-title{position:relative;}"+".datagrid-group-expander{width:"+opts.expanderWidth+"px;text-align:center;padding:0}"+".datagrid-row-expander{margin:"+Math.floor((opts.groupHeight-16)/2)+"px 0;display:inline-block;width:16px;height:16px;cursor:pointer}"+""); -} -}; -},onAfterRender:function(_97f){ -$.fn.datagrid.defaults.view.onAfterRender.call(this,_97f); -var view=this; -var _980=$.data(_97f,"datagrid"); -var opts=_980.options; -if(!_980.onResizeColumn){ -_980.onResizeColumn=opts.onResizeColumn; -} -if(!_980.onResize){ -_980.onResize=opts.onResize; -} -opts.onResizeColumn=function(_981,_982){ -view.resizeGroup(_97f); -_980.onResizeColumn.call(_97f,_981,_982); -}; -opts.onResize=function(_983,_984){ -view.resizeGroup(_97f); -_980.onResize.call($(_97f).datagrid("getPanel")[0],_983,_984); -}; -view.resizeGroup(_97f); -}}); -$.extend($.fn.datagrid.methods,{groups:function(jq){ -return jq.datagrid("options").view.groups; -},expandGroup:function(jq,_985){ -return jq.each(function(){ -var opts=$(this).datagrid("options"); -var view=$.data(this,"datagrid").dc.view; -var _986=view.find(_985!=undefined?"div.datagrid-group[group-index=\""+_985+"\"]":"div.datagrid-group"); -var _987=_986.find("span.datagrid-row-expander"); -if(_987.hasClass("datagrid-row-expand")){ -_987.removeClass("datagrid-row-expand").addClass("datagrid-row-collapse"); -_986.next("table").show(); -} -$(this).datagrid("fixRowHeight"); -if(opts.onExpandGroup){ -opts.onExpandGroup.call(this,_985); -} -}); -},collapseGroup:function(jq,_988){ -return jq.each(function(){ -var opts=$(this).datagrid("options"); -var view=$.data(this,"datagrid").dc.view; -var _989=view.find(_988!=undefined?"div.datagrid-group[group-index=\""+_988+"\"]":"div.datagrid-group"); -var _98a=_989.find("span.datagrid-row-expander"); -if(_98a.hasClass("datagrid-row-collapse")){ -_98a.removeClass("datagrid-row-collapse").addClass("datagrid-row-expand"); -_989.next("table").hide(); -} -$(this).datagrid("fixRowHeight"); -if(opts.onCollapseGroup){ -opts.onCollapseGroup.call(this,_988); -} -}); -},scrollToGroup:function(jq,_98b){ -return jq.each(function(){ -var _98c=$.data(this,"datagrid"); -var dc=_98c.dc; -var grow=dc.body2.children("div.datagrid-group[group-index=\""+_98b+"\"]"); -if(grow.length){ -var _98d=grow.outerHeight(); -var _98e=dc.view2.children("div.datagrid-header")._outerHeight(); -var _98f=dc.body2.outerHeight(true)-dc.body2.outerHeight(); -var top=grow.position().top-_98e-_98f; -if(top<0){ -dc.body2.scrollTop(dc.body2.scrollTop()+top); -}else{ -if(top+_98d>dc.body2.height()-18){ -dc.body2.scrollTop(dc.body2.scrollTop()+top+_98d-dc.body2.height()+18); -} -} -} -}); -}}); -$.extend(_95a,{refreshGroupTitle:function(_990,_991){ -var _992=$.data(_990,"datagrid"); -var opts=_992.options; -var dc=_992.dc; -var _993=this.groups[_991]; -var span=dc.body1.add(dc.body2).children("div.datagrid-group[group-index="+_991+"]").find("span.datagrid-group-title"); -span.html(opts.groupFormatter.call(_990,_993.value,_993.rows)); -},resizeGroup:function(_994,_995){ -var _996=$.data(_994,"datagrid"); -var dc=_996.dc; -var ht=dc.header2.find("table"); -var fr=ht.find("tr.datagrid-filter-row").hide(); -var ww=dc.body2.children("table.datagrid-btable:first").width(); -if(_995==undefined){ -var _997=dc.body2.children("div.datagrid-group"); -}else{ -var _997=dc.body2.children("div.datagrid-group[group-index="+_995+"]"); -} -_997._outerWidth(ww); -var opts=_996.options; -if(opts.frozenColumns&&opts.frozenColumns.length){ -var _998=dc.view1.width()-opts.expanderWidth; -var _999=dc.view1.css("direction").toLowerCase()=="rtl"; -_997.find(".datagrid-group-title").css(_999?"right":"left",-_998+"px"); -} -if(fr.length){ -if(opts.showFilterBar){ -fr.show(); -} -} -},insertRow:function(_99a,_99b,row){ -var _99c=$.data(_99a,"datagrid"); -var opts=_99c.options; -var dc=_99c.dc; -var _99d=null; -var _99e; -if(!_99c.data.rows.length){ -$(_99a).datagrid("loadData",[row]); -return; -} -for(var i=0;i_99d.startIndex+_99d.rows.length){ -_99b=_99d.startIndex+_99d.rows.length; -} -} -$.fn.datagrid.defaults.view.insertRow.call(this,_99a,_99b,row); -if(_99b>=_99d.startIndex+_99d.rows.length){ -_99f(_99b,true); -_99f(_99b,false); -} -_99d.rows.splice(_99b-_99d.startIndex,0,row); -}else{ -_99d={value:row[opts.groupField],rows:[row],startIndex:_99c.data.rows.length}; -_99e=this.groups.length; -dc.body1.append(this.renderGroup.call(this,_99a,_99e,_99d,true)); -dc.body2.append(this.renderGroup.call(this,_99a,_99e,_99d,false)); -this.groups.push(_99d); -_99c.data.rows.push(row); -} -this.setGroupIndex(_99a); -this.refreshGroupTitle(_99a,_99e); -this.resizeGroup(_99a); -function _99f(_9a0,_9a1){ -var _9a2=_9a1?1:2; -var _9a3=opts.finder.getTr(_99a,_9a0-1,"body",_9a2); -var tr=opts.finder.getTr(_99a,_9a0,"body",_9a2); -tr.insertAfter(_9a3); -}; -},updateRow:function(_9a4,_9a5,row){ -var opts=$.data(_9a4,"datagrid").options; -$.fn.datagrid.defaults.view.updateRow.call(this,_9a4,_9a5,row); -var tb=opts.finder.getTr(_9a4,_9a5,"body",2).closest("table.datagrid-btable"); -var _9a6=parseInt(tb.prev().attr("group-index")); -this.refreshGroupTitle(_9a4,_9a6); -},deleteRow:function(_9a7,_9a8){ -var _9a9=$.data(_9a7,"datagrid"); -var opts=_9a9.options; -var dc=_9a9.dc; -var body=dc.body1.add(dc.body2); -var tb=opts.finder.getTr(_9a7,_9a8,"body",2).closest("table.datagrid-btable"); -var _9aa=parseInt(tb.prev().attr("group-index")); -$.fn.datagrid.defaults.view.deleteRow.call(this,_9a7,_9a8); -var _9ab=this.groups[_9aa]; -if(_9ab.rows.length>1){ -_9ab.rows.splice(_9a8-_9ab.startIndex,1); -this.refreshGroupTitle(_9a7,_9aa); -}else{ -body.children("div.datagrid-group[group-index="+_9aa+"]").remove(); -for(var i=_9aa+1;i").insertBefore(tr.find(".tree-title")); -} -if(row.checkState=="checked"){ -_9d3(_9e7,_9e8,true,true); -}else{ -if(row.checkState=="unchecked"){ -_9d3(_9e7,_9e8,false,true); -}else{ -var flag=_9e5(row); -if(flag===0){ -_9d3(_9e7,_9e8,false,true); -}else{ -if(flag===1){ -_9d3(_9e7,_9e8,true,true); -} -} -} -} -}else{ -ck.remove(); -row.checkState=undefined; -row.checked=undefined; -_9dc(_9e7,row); -} -}; -function _9e9(_9ea,_9eb){ -var opts=$.data(_9ea,"treegrid").options; -var tr1=opts.finder.getTr(_9ea,_9eb,"body",1); -var tr2=opts.finder.getTr(_9ea,_9eb,"body",2); -var _9ec=$(_9ea).datagrid("getColumnFields",true).length+(opts.rownumbers?1:0); -var _9ed=$(_9ea).datagrid("getColumnFields",false).length; -_9ee(tr1,_9ec); -_9ee(tr2,_9ed); -function _9ee(tr,_9ef){ -$(""+""+"
"+""+"").insertAfter(tr); -}; -}; -function _9f0(_9f1,_9f2,data,_9f3,_9f4){ -var _9f5=$.data(_9f1,"treegrid"); -var opts=_9f5.options; -var dc=_9f5.dc; -data=opts.loadFilter.call(_9f1,data,_9f2); -var node=find(_9f1,_9f2); -if(node){ -var _9f6=opts.finder.getTr(_9f1,_9f2,"body",1); -var _9f7=opts.finder.getTr(_9f1,_9f2,"body",2); -var cc1=_9f6.next("tr.treegrid-tr-tree").children("td").children("div"); -var cc2=_9f7.next("tr.treegrid-tr-tree").children("td").children("div"); -if(!_9f3){ -node.children=[]; -} -}else{ -var cc1=dc.body1; -var cc2=dc.body2; -if(!_9f3){ -_9f5.data=[]; -} -} -if(!_9f3){ -cc1.empty(); -cc2.empty(); -} -if(opts.view.onBeforeRender){ -opts.view.onBeforeRender.call(opts.view,_9f1,_9f2,data); -} -opts.view.render.call(opts.view,_9f1,cc1,true); -opts.view.render.call(opts.view,_9f1,cc2,false); -if(opts.showFooter){ -opts.view.renderFooter.call(opts.view,_9f1,dc.footer1,true); -opts.view.renderFooter.call(opts.view,_9f1,dc.footer2,false); -} -if(opts.view.onAfterRender){ -opts.view.onAfterRender.call(opts.view,_9f1); -} -if(!_9f2&&opts.pagination){ -var _9f8=$.data(_9f1,"treegrid").total; -var _9f9=$(_9f1).datagrid("getPager"); -if(_9f9.pagination("options").total!=_9f8){ -_9f9.pagination({total:_9f8}); -} -} -_9c2(_9f1); -_9ca(_9f1); -$(_9f1).treegrid("showLines"); -$(_9f1).treegrid("setSelectionState"); -$(_9f1).treegrid("autoSizeColumn"); -if(!_9f4){ -opts.onLoadSuccess.call(_9f1,node,data); -} -}; -function _9c1(_9fa,_9fb,_9fc,_9fd,_9fe){ -var opts=$.data(_9fa,"treegrid").options; -var body=$(_9fa).datagrid("getPanel").find("div.datagrid-body"); -if(_9fb==undefined&&opts.queryParams){ -opts.queryParams.id=undefined; -} -if(_9fc){ -opts.queryParams=_9fc; -} -var _9ff=$.extend({},opts.queryParams); -if(opts.pagination){ -$.extend(_9ff,{page:opts.pageNumber,rows:opts.pageSize}); -} -if(opts.sortName){ -$.extend(_9ff,{sort:opts.sortName,order:opts.sortOrder}); -} -var row=find(_9fa,_9fb); -if(opts.onBeforeLoad.call(_9fa,row,_9ff)==false){ -return; -} -var _a00=body.find("tr[node-id=\""+_9fb+"\"] span.tree-folder"); -_a00.addClass("tree-loading"); -$(_9fa).treegrid("loading"); -var _a01=opts.loader.call(_9fa,_9ff,function(data){ -_a00.removeClass("tree-loading"); -$(_9fa).treegrid("loaded"); -_9f0(_9fa,_9fb,data,_9fd); -if(_9fe){ -_9fe(); -} -},function(){ -_a00.removeClass("tree-loading"); -$(_9fa).treegrid("loaded"); -opts.onLoadError.apply(_9fa,arguments); -if(_9fe){ -_9fe(); -} -}); -if(_a01==false){ -_a00.removeClass("tree-loading"); -$(_9fa).treegrid("loaded"); -} -}; -function _a02(_a03){ -var _a04=_a05(_a03); -return _a04.length?_a04[0]:null; -}; -function _a05(_a06){ -return $.data(_a06,"treegrid").data; -}; -function _9e4(_a07,_a08){ -var row=find(_a07,_a08); -if(row._parentId){ -return find(_a07,row._parentId); -}else{ -return null; -} -}; -function _9c6(_a09,_a0a){ -var data=$.data(_a09,"treegrid").data; -if(_a0a){ -var _a0b=find(_a09,_a0a); -data=_a0b?(_a0b.children||[]):[]; -} -var _a0c=[]; -$.easyui.forEach(data,true,function(node){ -_a0c.push(node); -}); -return _a0c; -}; -function _a0d(_a0e,_a0f){ -var opts=$.data(_a0e,"treegrid").options; -var tr=opts.finder.getTr(_a0e,_a0f); -var node=tr.children("td[field=\""+opts.treeField+"\"]"); -return node.find("span.tree-indent,span.tree-hit").length; -}; -function find(_a10,_a11){ -var _a12=$.data(_a10,"treegrid"); -var opts=_a12.options; -var _a13=null; -$.easyui.forEach(_a12.data,true,function(node){ -if(node[opts.idField]==_a11){ -_a13=node; -return false; -} -}); -return _a13; -}; -function _a14(_a15,_a16){ -var opts=$.data(_a15,"treegrid").options; -var row=find(_a15,_a16); -var tr=opts.finder.getTr(_a15,_a16); -var hit=tr.find("span.tree-hit"); -if(hit.length==0){ -return; -} -if(hit.hasClass("tree-collapsed")){ -return; -} -if(opts.onBeforeCollapse.call(_a15,row)==false){ -return; -} -hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed"); -hit.next().removeClass("tree-folder-open"); -row.state="closed"; -tr=tr.next("tr.treegrid-tr-tree"); -var cc=tr.children("td").children("div"); -if(opts.animate){ -cc.slideUp("normal",function(){ -$(_a15).treegrid("autoSizeColumn"); -_9c2(_a15,_a16); -opts.onCollapse.call(_a15,row); -}); -}else{ -cc.hide(); -$(_a15).treegrid("autoSizeColumn"); -_9c2(_a15,_a16); -opts.onCollapse.call(_a15,row); -} -}; -function _a17(_a18,_a19){ -var opts=$.data(_a18,"treegrid").options; -var tr=opts.finder.getTr(_a18,_a19); -var hit=tr.find("span.tree-hit"); -var row=find(_a18,_a19); -if(hit.length==0){ -return; -} -if(hit.hasClass("tree-expanded")){ -return; -} -if(opts.onBeforeExpand.call(_a18,row)==false){ -return; -} -hit.removeClass("tree-collapsed tree-collapsed-hover").addClass("tree-expanded"); -hit.next().addClass("tree-folder-open"); -var _a1a=tr.next("tr.treegrid-tr-tree"); -if(_a1a.length){ -var cc=_a1a.children("td").children("div"); -_a1b(cc); -}else{ -_9e9(_a18,row[opts.idField]); -var _a1a=tr.next("tr.treegrid-tr-tree"); -var cc=_a1a.children("td").children("div"); -cc.hide(); -var _a1c=$.extend({},opts.queryParams||{}); -_a1c.id=row[opts.idField]; -_9c1(_a18,row[opts.idField],_a1c,true,function(){ -if(cc.is(":empty")){ -_a1a.remove(); -}else{ -_a1b(cc); -} -}); -} -function _a1b(cc){ -row.state="open"; -if(opts.animate){ -cc.slideDown("normal",function(){ -$(_a18).treegrid("autoSizeColumn"); -_9c2(_a18,_a19); -opts.onExpand.call(_a18,row); -}); -}else{ -cc.show(); -$(_a18).treegrid("autoSizeColumn"); -_9c2(_a18,_a19); -opts.onExpand.call(_a18,row); -} -}; -}; -function _9d2(_a1d,_a1e){ -var opts=$.data(_a1d,"treegrid").options; -var tr=opts.finder.getTr(_a1d,_a1e); -var hit=tr.find("span.tree-hit"); -if(hit.hasClass("tree-expanded")){ -_a14(_a1d,_a1e); -}else{ -_a17(_a1d,_a1e); -} -}; -function _a1f(_a20,_a21){ -var opts=$.data(_a20,"treegrid").options; -var _a22=_9c6(_a20,_a21); -if(_a21){ -_a22.unshift(find(_a20,_a21)); -} -for(var i=0;i<_a22.length;i++){ -_a14(_a20,_a22[i][opts.idField]); -} -}; -function _a23(_a24,_a25){ -var opts=$.data(_a24,"treegrid").options; -var _a26=_9c6(_a24,_a25); -if(_a25){ -_a26.unshift(find(_a24,_a25)); -} -for(var i=0;i<_a26.length;i++){ -_a17(_a24,_a26[i][opts.idField]); -} -}; -function _a27(_a28,_a29){ -var opts=$.data(_a28,"treegrid").options; -var ids=[]; -var p=_9e4(_a28,_a29); -while(p){ -var id=p[opts.idField]; -ids.unshift(id); -p=_9e4(_a28,id); -} -for(var i=0;i").insertBefore(_a2e); -if(hit.prev().length){ -hit.prev().remove(); -} -} -} -_9f0(_a2b,_a2c.parent,_a2c.data,_a2d.data.length>0,true); -}; -function _a2f(_a30,_a31){ -var ref=_a31.before||_a31.after; -var opts=$.data(_a30,"treegrid").options; -var _a32=_9e4(_a30,ref); -_a2a(_a30,{parent:(_a32?_a32[opts.idField]:null),data:[_a31.data]}); -var _a33=_a32?_a32.children:$(_a30).treegrid("getRoots"); -for(var i=0;i<_a33.length;i++){ -if(_a33[i][opts.idField]==ref){ -var _a34=_a33[_a33.length-1]; -_a33.splice(_a31.before?i:(i+1),0,_a34); -_a33.splice(_a33.length-1,1); -break; -} -} -_a35(true); -_a35(false); -_9ca(_a30); -$(_a30).treegrid("showLines"); -function _a35(_a36){ -var _a37=_a36?1:2; -var tr=opts.finder.getTr(_a30,_a31.data[opts.idField],"body",_a37); -var _a38=tr.closest("table.datagrid-btable"); -tr=tr.parent().children(); -var dest=opts.finder.getTr(_a30,ref,"body",_a37); -if(_a31.before){ -tr.insertBefore(dest); -}else{ -var sub=dest.next("tr.treegrid-tr-tree"); -tr.insertAfter(sub.length?sub:dest); -} -_a38.remove(); -}; -}; -function _a39(_a3a,_a3b){ -var _a3c=$.data(_a3a,"treegrid"); -var opts=_a3c.options; -var prow=_9e4(_a3a,_a3b); -$(_a3a).datagrid("deleteRow",_a3b); -$.easyui.removeArrayItem(_a3c.checkedRows,opts.idField,_a3b); -_9ca(_a3a); -if(prow){ -_9e6(_a3a,prow[opts.idField]); -} -_a3c.total-=1; -$(_a3a).datagrid("getPager").pagination("refresh",{total:_a3c.total}); -$(_a3a).treegrid("showLines"); -}; -function _a3d(_a3e){ -var t=$(_a3e); -var opts=t.treegrid("options"); -if(opts.lines){ -t.treegrid("getPanel").addClass("tree-lines"); -}else{ -t.treegrid("getPanel").removeClass("tree-lines"); -return; -} -t.treegrid("getPanel").find("span.tree-indent").removeClass("tree-line tree-join tree-joinbottom"); -t.treegrid("getPanel").find("div.datagrid-cell").removeClass("tree-node-last tree-root-first tree-root-one"); -var _a3f=t.treegrid("getRoots"); -if(_a3f.length>1){ -_a40(_a3f[0]).addClass("tree-root-first"); -}else{ -if(_a3f.length==1){ -_a40(_a3f[0]).addClass("tree-root-one"); -} -} -_a41(_a3f); -_a42(_a3f); -function _a41(_a43){ -$.map(_a43,function(node){ -if(node.children&&node.children.length){ -_a41(node.children); -}else{ -var cell=_a40(node); -cell.find(".tree-icon").prev().addClass("tree-join"); -} -}); -if(_a43.length){ -var cell=_a40(_a43[_a43.length-1]); -cell.addClass("tree-node-last"); -cell.find(".tree-join").removeClass("tree-join").addClass("tree-joinbottom"); -} -}; -function _a42(_a44){ -$.map(_a44,function(node){ -if(node.children&&node.children.length){ -_a42(node.children); -} -}); -for(var i=0;i<_a44.length-1;i++){ -var node=_a44[i]; -var _a45=t.treegrid("getLevel",node[opts.idField]); -var tr=opts.finder.getTr(_a3e,node[opts.idField]); -var cc=tr.next().find("tr.datagrid-row td[field=\""+opts.treeField+"\"] div.datagrid-cell"); -cc.find("span:eq("+(_a45-1)+")").addClass("tree-line"); -} -}; -function _a40(node){ -var tr=opts.finder.getTr(_a3e,node[opts.idField]); -var cell=tr.find("td[field=\""+opts.treeField+"\"] div.datagrid-cell"); -return cell; -}; -}; -$.fn.treegrid=function(_a46,_a47){ -if(typeof _a46=="string"){ -var _a48=$.fn.treegrid.methods[_a46]; -if(_a48){ -return _a48(this,_a47); -}else{ -return this.datagrid(_a46,_a47); -} -} -_a46=_a46||{}; -return this.each(function(){ -var _a49=$.data(this,"treegrid"); -if(_a49){ -$.extend(_a49.options,_a46); -}else{ -_a49=$.data(this,"treegrid",{options:$.extend({},$.fn.treegrid.defaults,$.fn.treegrid.parseOptions(this),_a46),data:[],checkedRows:[],tmpIds:[]}); -} -_9b1(this); -if(_a49.options.data){ -$(this).treegrid("loadData",_a49.options.data); -} -_9c1(this); -}); -}; -$.fn.treegrid.methods={options:function(jq){ -return $.data(jq[0],"treegrid").options; -},resize:function(jq,_a4a){ -return jq.each(function(){ -$(this).datagrid("resize",_a4a); -}); -},fixRowHeight:function(jq,_a4b){ -return jq.each(function(){ -_9c2(this,_a4b); -}); -},loadData:function(jq,data){ -return jq.each(function(){ -_9f0(this,data.parent,data); -}); -},load:function(jq,_a4c){ -return jq.each(function(){ -$(this).treegrid("options").pageNumber=1; -$(this).treegrid("getPager").pagination({pageNumber:1}); -$(this).treegrid("reload",_a4c); -}); -},reload:function(jq,id){ -return jq.each(function(){ -var opts=$(this).treegrid("options"); -var _a4d={}; -if(typeof id=="object"){ -_a4d=id; -}else{ -_a4d=$.extend({},opts.queryParams); -_a4d.id=id; -} -if(_a4d.id){ -var node=$(this).treegrid("find",_a4d.id); -if(node.children){ -node.children.splice(0,node.children.length); -} -opts.queryParams=_a4d; -var tr=opts.finder.getTr(this,_a4d.id); -tr.next("tr.treegrid-tr-tree").remove(); -tr.find("span.tree-hit").removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed"); -_a17(this,_a4d.id); -}else{ -_9c1(this,null,_a4d); -} -}); -},reloadFooter:function(jq,_a4e){ -return jq.each(function(){ -var opts=$.data(this,"treegrid").options; -var dc=$.data(this,"datagrid").dc; -if(_a4e){ -$.data(this,"treegrid").footer=_a4e; -} -if(opts.showFooter){ -opts.view.renderFooter.call(opts.view,this,dc.footer1,true); -opts.view.renderFooter.call(opts.view,this,dc.footer2,false); -if(opts.view.onAfterRender){ -opts.view.onAfterRender.call(opts.view,this); -} -$(this).treegrid("fixRowHeight"); -} -}); -},getData:function(jq){ -return $.data(jq[0],"treegrid").data; -},getFooterRows:function(jq){ -return $.data(jq[0],"treegrid").footer; -},getRoot:function(jq){ -return _a02(jq[0]); -},getRoots:function(jq){ -return _a05(jq[0]); -},getParent:function(jq,id){ -return _9e4(jq[0],id); -},getChildren:function(jq,id){ -return _9c6(jq[0],id); -},getLevel:function(jq,id){ -return _a0d(jq[0],id); -},find:function(jq,id){ -return find(jq[0],id); -},isLeaf:function(jq,id){ -var opts=$.data(jq[0],"treegrid").options; -var tr=opts.finder.getTr(jq[0],id); -var hit=tr.find("span.tree-hit"); -return hit.length==0; -},select:function(jq,id){ -return jq.each(function(){ -$(this).datagrid("selectRow",id); -}); -},unselect:function(jq,id){ -return jq.each(function(){ -$(this).datagrid("unselectRow",id); -}); -},collapse:function(jq,id){ -return jq.each(function(){ -_a14(this,id); -}); -},expand:function(jq,id){ -return jq.each(function(){ -_a17(this,id); -}); -},toggle:function(jq,id){ -return jq.each(function(){ -_9d2(this,id); -}); -},collapseAll:function(jq,id){ -return jq.each(function(){ -_a1f(this,id); -}); -},expandAll:function(jq,id){ -return jq.each(function(){ -_a23(this,id); -}); -},expandTo:function(jq,id){ -return jq.each(function(){ -_a27(this,id); -}); -},append:function(jq,_a4f){ -return jq.each(function(){ -_a2a(this,_a4f); -}); -},insert:function(jq,_a50){ -return jq.each(function(){ -_a2f(this,_a50); -}); -},remove:function(jq,id){ -return jq.each(function(){ -_a39(this,id); -}); -},pop:function(jq,id){ -var row=jq.treegrid("find",id); -jq.treegrid("remove",id); -return row; -},refresh:function(jq,id){ -return jq.each(function(){ -var opts=$.data(this,"treegrid").options; -opts.view.refreshRow.call(opts.view,this,id); -}); -},update:function(jq,_a51){ -return jq.each(function(){ -var opts=$.data(this,"treegrid").options; -var row=_a51.row; -opts.view.updateRow.call(opts.view,this,_a51.id,row); -if(row.checked!=undefined){ -row=find(this,_a51.id); -$.extend(row,{checkState:row.checked?"checked":(row.checked===false?"unchecked":undefined)}); -_9e6(this,_a51.id); -} -}); -},beginEdit:function(jq,id){ -return jq.each(function(){ -$(this).datagrid("beginEdit",id); -$(this).treegrid("fixRowHeight",id); -}); -},endEdit:function(jq,id){ -return jq.each(function(){ -$(this).datagrid("endEdit",id); -}); -},cancelEdit:function(jq,id){ -return jq.each(function(){ -$(this).datagrid("cancelEdit",id); -}); -},showLines:function(jq){ -return jq.each(function(){ -_a3d(this); -}); -},setSelectionState:function(jq){ -return jq.each(function(){ -$(this).datagrid("setSelectionState"); -var _a52=$(this).data("treegrid"); -for(var i=0;i<_a52.tmpIds.length;i++){ -_9d3(this,_a52.tmpIds[i],true,true); -} -_a52.tmpIds=[]; -}); -},getCheckedNodes:function(jq,_a53){ -_a53=_a53||"checked"; -var rows=[]; -$.easyui.forEach(jq.data("treegrid").checkedRows,false,function(row){ -if(row.checkState==_a53){ -rows.push(row); -} -}); -return rows; -},checkNode:function(jq,id){ -return jq.each(function(){ -_9d3(this,id,true); -}); -},uncheckNode:function(jq,id){ -return jq.each(function(){ -_9d3(this,id,false); -}); -},clearChecked:function(jq){ -return jq.each(function(){ -var _a54=this; -var opts=$(_a54).treegrid("options"); -$(_a54).datagrid("clearChecked"); -$.map($(_a54).treegrid("getCheckedNodes"),function(row){ -_9d3(_a54,row[opts.idField],false,true); -}); -}); -}}; -$.fn.treegrid.parseOptions=function(_a55){ -return $.extend({},$.fn.datagrid.parseOptions(_a55),$.parser.parseOptions(_a55,["treeField",{checkbox:"boolean",cascadeCheck:"boolean",onlyLeafCheck:"boolean"},{animate:"boolean"}])); -}; -var _a56=$.extend({},$.fn.datagrid.defaults.view,{render:function(_a57,_a58,_a59){ -var opts=$.data(_a57,"treegrid").options; -var _a5a=$(_a57).datagrid("getColumnFields",_a59); -var _a5b=$.data(_a57,"datagrid").rowIdPrefix; -if(_a59){ -if(!(opts.rownumbers||(opts.frozenColumns&&opts.frozenColumns.length))){ -return; -} -} -var view=this; -if(this.treeNodes&&this.treeNodes.length){ -var _a5c=_a5d.call(this,_a59,this.treeLevel,this.treeNodes); -$(_a58).append(_a5c.join("")); -} -function _a5d(_a5e,_a5f,_a60){ -var _a61=$(_a57).treegrid("getParent",_a60[0][opts.idField]); -var _a62=(_a61?_a61.children.length:$(_a57).treegrid("getRoots").length)-_a60.length; -var _a63=[""]; -for(var i=0;i<_a60.length;i++){ -var row=_a60[i]; -if(row.state!="open"&&row.state!="closed"){ -row.state="open"; -} -var css=opts.rowStyler?opts.rowStyler.call(_a57,row):""; -var cs=this.getStyleValue(css); -var cls="class=\"datagrid-row "+(_a62++%2&&opts.striped?"datagrid-row-alt ":" ")+cs.c+"\""; -var _a64=cs.s?"style=\""+cs.s+"\"":""; -var _a65=_a5b+"-"+(_a5e?1:2)+"-"+row[opts.idField]; -_a63.push(""); -_a63=_a63.concat(view.renderRow.call(view,_a57,_a5a,_a5e,_a5f,row)); -_a63.push(""); -if(row.children&&row.children.length){ -var tt=_a5d.call(this,_a5e,_a5f+1,row.children); -var v=row.state=="closed"?"none":"block"; -_a63.push(""); -} -} -_a63.push("
"); -_a63=_a63.concat(tt); -_a63.push("
"); -return _a63; -}; -},renderFooter:function(_a66,_a67,_a68){ -var opts=$.data(_a66,"treegrid").options; -var rows=$.data(_a66,"treegrid").footer||[]; -var _a69=$(_a66).datagrid("getColumnFields",_a68); -var _a6a=[""]; -for(var i=0;i"); -_a6a.push(this.renderRow.call(this,_a66,_a69,_a68,0,row)); -_a6a.push(""); -} -_a6a.push("
"); -$(_a67).html(_a6a.join("")); -},renderRow:function(_a6b,_a6c,_a6d,_a6e,row){ -var _a6f=$.data(_a6b,"treegrid"); -var opts=_a6f.options; -var cc=[]; -if(_a6d&&opts.rownumbers){ -cc.push("
0
"); -} -for(var i=0;i<_a6c.length;i++){ -var _a70=_a6c[i]; -var col=$(_a6b).datagrid("getColumnOption",_a70); -if(col){ -var css=col.styler?(col.styler(row[_a70],row)||""):""; -var cs=this.getStyleValue(css); -var cls=cs.c?"class=\""+cs.c+"\"":""; -var _a71=col.hidden?"style=\"display:none;"+cs.s+"\"":(cs.s?"style=\""+cs.s+"\"":""); -cc.push(""); -var _a71=""; -if(!col.checkbox){ -if(col.align){ -_a71+="text-align:"+col.align+";"; -} -if(!opts.nowrap){ -_a71+="white-space:normal;height:auto;"; -}else{ -if(opts.autoRowHeight){ -_a71+="height:auto;"; -} -} -} -cc.push("
"); -if(col.checkbox){ -if(row.checked){ -cc.push(""); -}else{ -var val=null; -if(col.formatter){ -val=col.formatter(row[_a70],row); -}else{ -val=row[_a70]; -} -if(_a70==opts.treeField){ -for(var j=0;j<_a6e;j++){ -cc.push(""); -} -if(row.state=="closed"){ -cc.push(""); -cc.push(""); -}else{ -if(row.children&&row.children.length){ -cc.push(""); -cc.push(""); -}else{ -cc.push(""); -cc.push(""); -} -} -if(this.hasCheckbox(_a6b,row)){ -var flag=0; -var crow=$.easyui.getArrayItem(_a6f.checkedRows,opts.idField,row[opts.idField]); -if(crow){ -flag=crow.checkState=="checked"?1:2; -row.checkState=crow.checkState; -row.checked=crow.checked; -$.easyui.addArrayItem(_a6f.checkedRows,opts.idField,row); -}else{ -var prow=$.easyui.getArrayItem(_a6f.checkedRows,opts.idField,row._parentId); -if(prow&&prow.checkState=="checked"&&opts.cascadeCheck){ -flag=1; -row.checked=true; -$.easyui.addArrayItem(_a6f.checkedRows,opts.idField,row); -}else{ -if(row.checked){ -$.easyui.addArrayItem(_a6f.tmpIds,row[opts.idField]); -} -} -row.checkState=flag?"checked":"unchecked"; -} -cc.push(""); -}else{ -row.checkState=undefined; -row.checked=undefined; -} -cc.push(""+val+""); -}else{ -cc.push(val); -} -} -cc.push("
"); -cc.push(""); -} -} -return cc.join(""); -},hasCheckbox:function(_a72,row){ -var opts=$.data(_a72,"treegrid").options; -if(opts.checkbox){ -if($.isFunction(opts.checkbox)){ -if(opts.checkbox.call(_a72,row)){ -return true; -}else{ -return false; -} -}else{ -if(opts.onlyLeafCheck){ -if(row.state=="open"&&!(row.children&&row.children.length)){ -return true; -} -}else{ -return true; -} -} -} -return false; -},refreshRow:function(_a73,id){ -this.updateRow.call(this,_a73,id,{}); -},updateRow:function(_a74,id,row){ -var opts=$.data(_a74,"treegrid").options; -var _a75=$(_a74).treegrid("find",id); -$.extend(_a75,row); -var _a76=$(_a74).treegrid("getLevel",id)-1; -var _a77=opts.rowStyler?opts.rowStyler.call(_a74,_a75):""; -var _a78=$.data(_a74,"datagrid").rowIdPrefix; -var _a79=_a75[opts.idField]; -function _a7a(_a7b){ -var _a7c=$(_a74).treegrid("getColumnFields",_a7b); -var tr=opts.finder.getTr(_a74,id,"body",(_a7b?1:2)); -var _a7d=tr.find("div.datagrid-cell-rownumber").html(); -var _a7e=tr.find("div.datagrid-cell-check input[type=checkbox]").is(":checked"); -tr.html(this.renderRow(_a74,_a7c,_a7b,_a76,_a75)); -tr.attr("style",_a77||""); -tr.find("div.datagrid-cell-rownumber").html(_a7d); -if(_a7e){ -tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",true); -} -if(_a79!=id){ -tr.attr("id",_a78+"-"+(_a7b?1:2)+"-"+_a79); -tr.attr("node-id",_a79); -} -}; -_a7a.call(this,true); -_a7a.call(this,false); -$(_a74).treegrid("fixRowHeight",id); -},deleteRow:function(_a7f,id){ -var opts=$.data(_a7f,"treegrid").options; -var tr=opts.finder.getTr(_a7f,id); -tr.next("tr.treegrid-tr-tree").remove(); -tr.remove(); -var _a80=del(id); -if(_a80){ -if(_a80.children.length==0){ -tr=opts.finder.getTr(_a7f,_a80[opts.idField]); -tr.next("tr.treegrid-tr-tree").remove(); -var cell=tr.children("td[field=\""+opts.treeField+"\"]").children("div.datagrid-cell"); -cell.find(".tree-icon").removeClass("tree-folder").addClass("tree-file"); -cell.find(".tree-hit").remove(); -$("").prependTo(cell); -} -} -this.setEmptyMsg(_a7f); -function del(id){ -var cc; -var _a81=$(_a7f).treegrid("getParent",id); -if(_a81){ -cc=_a81.children; -}else{ -cc=$(_a7f).treegrid("getData"); -} -for(var i=0;ib?1:-1); -}; -r=_a8c(r1[sn],r2[sn])*(so=="asc"?1:-1); -if(r!=0){ -return r; -} -} -return r; -}); -for(var i=0;i"); -if(!_aaf){ -_ab2.push(""); -_ab2.push(opts.groupFormatter.call(_aac,_aae.value,_aae.rows)); -_ab2.push(""); -} -_ab2.push(""); -_ab2.push(this.renderTable(_aac,_aae.startIndex,_aae.rows,_aaf)); -return _ab2.join(""); -},groupRows:function(_ab3,rows){ -var _ab4=$.data(_ab3,"datagrid"); -var opts=_ab4.options; -var _ab5=[]; -for(var i=0;idiv.combo-p>div.combo-panel:visible").panel("close"); -}); -}); -function _ac5(_ac6){ -var _ac7=$.data(_ac6,"combo"); -var opts=_ac7.options; -if(!_ac7.panel){ -_ac7.panel=$("
").appendTo("body"); -_ac7.panel.panel({minWidth:opts.panelMinWidth,maxWidth:opts.panelMaxWidth,minHeight:opts.panelMinHeight,maxHeight:opts.panelMaxHeight,doSize:false,closed:true,cls:"combo-p",style:{position:"absolute",zIndex:10},onOpen:function(){ -var _ac8=$(this).panel("options").comboTarget; -var _ac9=$.data(_ac8,"combo"); -if(_ac9){ -_ac9.options.onShowPanel.call(_ac8); -} -},onBeforeClose:function(){ -_ac4($(this).parent()); -},onClose:function(){ -var _aca=$(this).panel("options").comboTarget; -var _acb=$(_aca).data("combo"); -if(_acb){ -_acb.options.onHidePanel.call(_aca); -} -}}); -} -var _acc=$.extend(true,[],opts.icons); -if(opts.hasDownArrow){ -_acc.push({iconCls:"combo-arrow",handler:function(e){ -_ad1(e.data.target); -}}); -} -$(_ac6).addClass("combo-f").textbox($.extend({},opts,{icons:_acc,onChange:function(){ -}})); -$(_ac6).attr("comboName",$(_ac6).attr("textboxName")); -_ac7.combo=$(_ac6).next(); -_ac7.combo.addClass("combo"); -_ac7.panel.unbind(".combo"); -for(var _acd in opts.panelEvents){ -_ac7.panel.bind(_acd+".combo",{target:_ac6},opts.panelEvents[_acd]); -} -}; -function _ace(_acf){ -var _ad0=$.data(_acf,"combo"); -var opts=_ad0.options; -var p=_ad0.panel; -if(p.is(":visible")){ -p.panel("close"); -} -if(!opts.cloned){ -p.panel("destroy"); -} -$(_acf).textbox("destroy"); -}; -function _ad1(_ad2){ -var _ad3=$.data(_ad2,"combo").panel; -if(_ad3.is(":visible")){ -var _ad4=_ad3.combo("combo"); -_ad5(_ad4); -if(_ad4!=_ad2){ -$(_ad2).combo("showPanel"); -} -}else{ -var p=$(_ad2).closest("div.combo-p").children(".combo-panel"); -$("div.combo-panel:visible").not(_ad3).not(p).panel("close"); -$(_ad2).combo("showPanel"); -} -$(_ad2).combo("textbox").focus(); -}; -function _ac4(_ad6){ -$(_ad6).find(".combo-f").each(function(){ -var p=$(this).combo("panel"); -if(p.is(":visible")){ -p.panel("close"); -} -}); -}; -function _ad7(e){ -var _ad8=e.data.target; -var _ad9=$.data(_ad8,"combo"); -var opts=_ad9.options; -if(!opts.editable){ -_ad1(_ad8); -}else{ -var p=$(_ad8).closest("div.combo-p").children(".combo-panel"); -$("div.combo-panel:visible").not(p).each(function(){ -var _ada=$(this).combo("combo"); -if(_ada!=_ad8){ -_ad5(_ada); -} -}); -} -}; -function _adb(e){ -var _adc=e.data.target; -var t=$(_adc); -var _add=t.data("combo"); -var opts=t.combo("options"); -_add.panel.panel("options").comboTarget=_adc; -switch(e.keyCode){ -case 38: -opts.keyHandler.up.call(_adc,e); -break; -case 40: -opts.keyHandler.down.call(_adc,e); -break; -case 37: -opts.keyHandler.left.call(_adc,e); -break; -case 39: -opts.keyHandler.right.call(_adc,e); -break; -case 13: -e.preventDefault(); -opts.keyHandler.enter.call(_adc,e); -return false; -case 9: -case 27: -_ad5(_adc); -break; -default: -if(opts.editable){ -if(_add.timer){ -clearTimeout(_add.timer); -} -_add.timer=setTimeout(function(){ -var q=t.combo("getText"); -if(_add.previousText!=q){ -_add.previousText=q; -t.combo("showPanel"); -opts.keyHandler.query.call(_adc,q,e); -t.combo("validate"); -} -},opts.delay); -} -} -}; -function _ade(e){ -var _adf=e.data.target; -var _ae0=$(_adf).data("combo"); -if(_ae0.timer){ -clearTimeout(_ae0.timer); -} -}; -function _ae1(_ae2){ -var _ae3=$.data(_ae2,"combo"); -var _ae4=_ae3.combo; -var _ae5=_ae3.panel; -var opts=$(_ae2).combo("options"); -var _ae6=_ae5.panel("options"); -_ae6.comboTarget=_ae2; -if(_ae6.closed){ -_ae5.panel("panel").show().css({zIndex:($.fn.menu?$.fn.menu.defaults.zIndex++:($.fn.window?$.fn.window.defaults.zIndex++:99)),left:-999999}); -_ae5.panel("resize",{width:(opts.panelWidth?opts.panelWidth:_ae4._outerWidth()),height:opts.panelHeight}); -_ae5.panel("panel").hide(); -_ae5.panel("open"); -} -(function(){ -if(_ae6.comboTarget==_ae2&&_ae5.is(":visible")){ -_ae5.panel("move",{left:_ae7(),top:_ae8()}); -setTimeout(arguments.callee,200); -} -})(); -function _ae7(){ -var left=_ae4.offset().left; -if(opts.panelAlign=="right"){ -left+=_ae4._outerWidth()-_ae5._outerWidth(); -} -if(left+_ae5._outerWidth()>$(window)._outerWidth()+$(document).scrollLeft()){ -left=$(window)._outerWidth()+$(document).scrollLeft()-_ae5._outerWidth(); -} -if(left<0){ -left=0; -} -return left; -}; -function _ae8(){ -var top=_ae4.offset().top+_ae4._outerHeight(); -if(top+_ae5._outerHeight()>$(window)._outerHeight()+$(document).scrollTop()){ -top=_ae4.offset().top-_ae5._outerHeight(); -} -if(top<$(document).scrollTop()){ -top=_ae4.offset().top+_ae4._outerHeight(); -} -return top; -}; -}; -function _ad5(_ae9){ -var _aea=$.data(_ae9,"combo").panel; -_aea.panel("close"); -}; -function _aeb(_aec,text){ -var _aed=$.data(_aec,"combo"); -var _aee=$(_aec).textbox("getText"); -if(_aee!=text){ -$(_aec).textbox("setText",text); -} -_aed.previousText=text; -}; -function _aef(_af0){ -var _af1=$.data(_af0,"combo"); -var opts=_af1.options; -var _af2=$(_af0).next(); -var _af3=[]; -_af2.find(".textbox-value").each(function(){ -_af3.push($(this).val()); -}); -if(opts.multivalue){ -return _af3; -}else{ -return _af3.length?_af3[0].split(opts.separator):_af3; -} -}; -function _af4(_af5,_af6){ -var _af7=$.data(_af5,"combo"); -var _af8=_af7.combo; -var opts=$(_af5).combo("options"); -if(!$.isArray(_af6)){ -_af6=_af6.split(opts.separator); -} -var _af9=_aef(_af5); -_af8.find(".textbox-value").remove(); -if(_af6.length){ -if(opts.multivalue){ -for(var i=0;i<_af6.length;i++){ -_afa(_af6[i]); -} -}else{ -_afa(_af6.join(opts.separator)); -} -} -function _afa(_afb){ -var name=$(_af5).attr("textboxName")||""; -var _afc=$("").appendTo(_af8); -_afc.attr("name",name); -if(opts.disabled){ -_afc.attr("disabled","disabled"); -} -_afc.val(_afb); -}; -var _afd=(function(){ -if(_af9.length!=_af6.length){ -return true; -} -for(var i=0;i<_af6.length;i++){ -if(_af6[i]!=_af9[i]){ -return true; -} -} -return false; -})(); -if(_afd){ -$(_af5).val(_af6.join(opts.separator)); -if(opts.multiple){ -opts.onChange.call(_af5,_af6,_af9); -}else{ -opts.onChange.call(_af5,_af6[0],_af9[0]); -} -$(_af5).closest("form").trigger("_change",[_af5]); -} -}; -function _afe(_aff){ -var _b00=_aef(_aff); -return _b00[0]; -}; -function _b01(_b02,_b03){ -_af4(_b02,[_b03]); -}; -function _b04(_b05){ -var opts=$.data(_b05,"combo").options; -var _b06=opts.onChange; -opts.onChange=function(){ -}; -if(opts.multiple){ -_af4(_b05,opts.value?opts.value:[]); -}else{ -_b01(_b05,opts.value); -} -opts.onChange=_b06; -}; -$.fn.combo=function(_b07,_b08){ -if(typeof _b07=="string"){ -var _b09=$.fn.combo.methods[_b07]; -if(_b09){ -return _b09(this,_b08); -}else{ -return this.textbox(_b07,_b08); -} -} -_b07=_b07||{}; -return this.each(function(){ -var _b0a=$.data(this,"combo"); -if(_b0a){ -$.extend(_b0a.options,_b07); -if(_b07.value!=undefined){ -_b0a.options.originalValue=_b07.value; -} -}else{ -_b0a=$.data(this,"combo",{options:$.extend({},$.fn.combo.defaults,$.fn.combo.parseOptions(this),_b07),previousText:""}); -if(_b0a.options.multiple&&_b0a.options.value==""){ -_b0a.options.originalValue=[]; -}else{ -_b0a.options.originalValue=_b0a.options.value; -} -} -_ac5(this); -_b04(this); -}); -}; -$.fn.combo.methods={options:function(jq){ -var opts=jq.textbox("options"); -return $.extend($.data(jq[0],"combo").options,{width:opts.width,height:opts.height,disabled:opts.disabled,readonly:opts.readonly}); -},cloneFrom:function(jq,from){ -return jq.each(function(){ -$(this).textbox("cloneFrom",from); -$.data(this,"combo",{options:$.extend(true,{cloned:true},$(from).combo("options")),combo:$(this).next(),panel:$(from).combo("panel")}); -$(this).addClass("combo-f").attr("comboName",$(this).attr("textboxName")); -}); -},combo:function(jq){ -return jq.closest(".combo-panel").panel("options").comboTarget; -},panel:function(jq){ -return $.data(jq[0],"combo").panel; -},destroy:function(jq){ -return jq.each(function(){ -_ace(this); -}); -},showPanel:function(jq){ -return jq.each(function(){ -_ae1(this); -}); -},hidePanel:function(jq){ -return jq.each(function(){ -_ad5(this); -}); -},clear:function(jq){ -return jq.each(function(){ -$(this).textbox("setText",""); -var opts=$.data(this,"combo").options; -if(opts.multiple){ -$(this).combo("setValues",[]); -}else{ -$(this).combo("setValue",""); -} -}); -},reset:function(jq){ -return jq.each(function(){ -var opts=$.data(this,"combo").options; -if(opts.multiple){ -$(this).combo("setValues",opts.originalValue); -}else{ -$(this).combo("setValue",opts.originalValue); -} -}); -},setText:function(jq,text){ -return jq.each(function(){ -_aeb(this,text); -}); -},getValues:function(jq){ -return _aef(jq[0]); -},setValues:function(jq,_b0b){ -return jq.each(function(){ -_af4(this,_b0b); -}); -},getValue:function(jq){ -return _afe(jq[0]); -},setValue:function(jq,_b0c){ -return jq.each(function(){ -_b01(this,_b0c); -}); -}}; -$.fn.combo.parseOptions=function(_b0d){ -var t=$(_b0d); -return $.extend({},$.fn.textbox.parseOptions(_b0d),$.parser.parseOptions(_b0d,["separator","panelAlign",{panelWidth:"number",hasDownArrow:"boolean",delay:"number",reversed:"boolean",multivalue:"boolean",selectOnNavigation:"boolean"},{panelMinWidth:"number",panelMaxWidth:"number",panelMinHeight:"number",panelMaxHeight:"number"}]),{panelHeight:(t.attr("panelHeight")=="auto"?"auto":parseInt(t.attr("panelHeight"))||undefined),multiple:(t.attr("multiple")?true:undefined)}); -}; -$.fn.combo.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:{click:_ad7,keydown:_adb,paste:_adb,drop:_adb,blur:_ade},panelEvents:{mousedown:function(e){ -e.preventDefault(); -e.stopPropagation(); -}},panelWidth:null,panelHeight:300,panelMinWidth:null,panelMaxWidth:null,panelMinHeight:null,panelMaxHeight:null,panelAlign:"left",reversed:false,multiple:false,multivalue:true,selectOnNavigation:true,separator:",",hasDownArrow:true,delay:200,keyHandler:{up:function(e){ -},down:function(e){ -},left:function(e){ -},right:function(e){ -},enter:function(e){ -},query:function(q,e){ -}},onShowPanel:function(){ -},onHidePanel:function(){ -},onChange:function(_b0e,_b0f){ -}}); -})(jQuery); -(function($){ -function _b10(_b11,_b12){ -var _b13=$.data(_b11,"combobox"); -return $.easyui.indexOfArray(_b13.data,_b13.options.valueField,_b12); -}; -function _b14(_b15,_b16){ -var opts=$.data(_b15,"combobox").options; -var _b17=$(_b15).combo("panel"); -var item=opts.finder.getEl(_b15,_b16); -if(item.length){ -if(item.position().top<=0){ -var h=_b17.scrollTop()+item.position().top; -_b17.scrollTop(h); -}else{ -if(item.position().top+item.outerHeight()>_b17.height()){ -var h=_b17.scrollTop()+item.position().top+item.outerHeight()-_b17.height(); -_b17.scrollTop(h); -} -} -} -_b17.triggerHandler("scroll"); -}; -function nav(_b18,dir){ -var opts=$.data(_b18,"combobox").options; -var _b19=$(_b18).combobox("panel"); -var item=_b19.children("div.combobox-item-hover"); -if(!item.length){ -item=_b19.children("div.combobox-item-selected"); -} -item.removeClass("combobox-item-hover"); -var _b1a="div.combobox-item:visible:not(.combobox-item-disabled):first"; -var _b1b="div.combobox-item:visible:not(.combobox-item-disabled):last"; -if(!item.length){ -item=_b19.children(dir=="next"?_b1a:_b1b); -}else{ -if(dir=="next"){ -item=item.nextAll(_b1a); -if(!item.length){ -item=_b19.children(_b1a); -} -}else{ -item=item.prevAll(_b1a); -if(!item.length){ -item=_b19.children(_b1b); -} -} -} -if(item.length){ -item.addClass("combobox-item-hover"); -var row=opts.finder.getRow(_b18,item); -if(row){ -$(_b18).combobox("scrollTo",row[opts.valueField]); -if(opts.selectOnNavigation){ -_b1c(_b18,row[opts.valueField]); -} -} -} -}; -function _b1c(_b1d,_b1e,_b1f){ -var opts=$.data(_b1d,"combobox").options; -var _b20=$(_b1d).combo("getValues"); -if($.inArray(_b1e+"",_b20)==-1){ -if(opts.multiple){ -_b20.push(_b1e); -}else{ -_b20=[_b1e]; -} -_b21(_b1d,_b20,_b1f); -} -}; -function _b22(_b23,_b24){ -var opts=$.data(_b23,"combobox").options; -var _b25=$(_b23).combo("getValues"); -var _b26=$.inArray(_b24+"",_b25); -if(_b26>=0){ -_b25.splice(_b26,1); -_b21(_b23,_b25); -} -}; -function _b21(_b27,_b28,_b29){ -var opts=$.data(_b27,"combobox").options; -var _b2a=$(_b27).combo("panel"); -if(!$.isArray(_b28)){ -_b28=_b28.split(opts.separator); -} -if(!opts.multiple){ -_b28=_b28.length?[_b28[0]]:[""]; -} -var _b2b=$(_b27).combo("getValues"); -if(_b2a.is(":visible")){ -_b2a.find(".combobox-item-selected").each(function(){ -var row=opts.finder.getRow(_b27,$(this)); -if(row){ -if($.easyui.indexOfArray(_b2b,row[opts.valueField])==-1){ -$(this).removeClass("combobox-item-selected"); -} -} -}); -} -$.map(_b2b,function(v){ -if($.easyui.indexOfArray(_b28,v)==-1){ -var el=opts.finder.getEl(_b27,v); -if(el.hasClass("combobox-item-selected")){ -el.removeClass("combobox-item-selected"); -opts.onUnselect.call(_b27,opts.finder.getRow(_b27,v)); -} -} -}); -var _b2c=null; -var vv=[],ss=[]; -for(var i=0;i<_b28.length;i++){ -var v=_b28[i]; -var s=v; -var row=opts.finder.getRow(_b27,v); -if(row){ -s=row[opts.textField]; -_b2c=row; -var el=opts.finder.getEl(_b27,v); -if(!el.hasClass("combobox-item-selected")){ -el.addClass("combobox-item-selected"); -opts.onSelect.call(_b27,row); -} -}else{ -s=_b2d(v,opts.mappingRows)||v; -} -vv.push(v); -ss.push(s); -} -if(!_b29){ -$(_b27).combo("setText",ss.join(opts.separator)); -} -if(opts.showItemIcon){ -var tb=$(_b27).combobox("textbox"); -tb.removeClass("textbox-bgicon "+opts.textboxIconCls); -if(_b2c&&_b2c.iconCls){ -tb.addClass("textbox-bgicon "+_b2c.iconCls); -opts.textboxIconCls=_b2c.iconCls; -} -} -$(_b27).combo("setValues",vv); -_b2a.triggerHandler("scroll"); -function _b2d(_b2e,a){ -var item=$.easyui.getArrayItem(a,opts.valueField,_b2e); -return item?item[opts.textField]:undefined; -}; -}; -function _b2f(_b30,data,_b31){ -var _b32=$.data(_b30,"combobox"); -var opts=_b32.options; -_b32.data=opts.loadFilter.call(_b30,data); -opts.view.render.call(opts.view,_b30,$(_b30).combo("panel"),_b32.data); -var vv=$(_b30).combobox("getValues"); -$.easyui.forEach(_b32.data,false,function(row){ -if(row["selected"]){ -$.easyui.addArrayItem(vv,row[opts.valueField]+""); -} -}); -if(opts.multiple){ -_b21(_b30,vv,_b31); -}else{ -_b21(_b30,vv.length?[vv[vv.length-1]]:[],_b31); -} -opts.onLoadSuccess.call(_b30,data); -}; -function _b33(_b34,url,_b35,_b36){ -var opts=$.data(_b34,"combobox").options; -if(url){ -opts.url=url; -} -_b35=$.extend({},opts.queryParams,_b35||{}); -if(opts.onBeforeLoad.call(_b34,_b35)==false){ -return; -} -opts.loader.call(_b34,_b35,function(data){ -_b2f(_b34,data,_b36); -},function(){ -opts.onLoadError.apply(this,arguments); -}); -}; -function _b37(_b38,q){ -var _b39=$.data(_b38,"combobox"); -var opts=_b39.options; -var _b3a=$(); -var qq=opts.multiple?q.split(opts.separator):[q]; -if(opts.mode=="remote"){ -_b3b(qq); -_b33(_b38,null,{q:q},true); -}else{ -var _b3c=$(_b38).combo("panel"); -_b3c.find(".combobox-item-hover").removeClass("combobox-item-hover"); -_b3c.find(".combobox-item,.combobox-group").hide(); -var data=_b39.data; -var vv=[]; -$.map(qq,function(q){ -q=$.trim(q); -var _b3d=q; -var _b3e=undefined; -_b3a=$(); -for(var i=0;i=0){ -vv.push(v); -} -}); -t.combobox("setValues",vv); -if(!opts.multiple){ -t.combobox("hidePanel"); -} -}; -function _b43(_b44){ -var _b45=$.data(_b44,"combobox"); -var opts=_b45.options; -$(_b44).addClass("combobox-f"); -$(_b44).combo($.extend({},opts,{onShowPanel:function(){ -$(this).combo("panel").find("div.combobox-item:hidden,div.combobox-group:hidden").show(); -_b21(this,$(this).combobox("getValues"),true); -$(this).combobox("scrollTo",$(this).combobox("getValue")); -opts.onShowPanel.call(this); -}})); -}; -function _b46(e){ -$(this).children("div.combobox-item-hover").removeClass("combobox-item-hover"); -var item=$(e.target).closest("div.combobox-item"); -if(!item.hasClass("combobox-item-disabled")){ -item.addClass("combobox-item-hover"); -} -e.stopPropagation(); -}; -function _b47(e){ -$(e.target).closest("div.combobox-item").removeClass("combobox-item-hover"); -e.stopPropagation(); -}; -function _b48(e){ -var _b49=$(this).panel("options").comboTarget; -if(!_b49){ -return; -} -var opts=$(_b49).combobox("options"); -var item=$(e.target).closest("div.combobox-item"); -if(!item.length||item.hasClass("combobox-item-disabled")){ -return; -} -var row=opts.finder.getRow(_b49,item); -if(!row){ -return; -} -if(opts.blurTimer){ -clearTimeout(opts.blurTimer); -opts.blurTimer=null; -} -opts.onClick.call(_b49,row); -var _b4a=row[opts.valueField]; -if(opts.multiple){ -if(item.hasClass("combobox-item-selected")){ -_b22(_b49,_b4a); -}else{ -_b1c(_b49,_b4a); -} -}else{ -$(_b49).combobox("setValue",_b4a).combobox("hidePanel"); -} -e.stopPropagation(); -}; -function _b4b(e){ -var _b4c=$(this).panel("options").comboTarget; -if(!_b4c){ -return; -} -var opts=$(_b4c).combobox("options"); -if(opts.groupPosition=="sticky"){ -var _b4d=$(this).children(".combobox-stick"); -if(!_b4d.length){ -_b4d=$("
").appendTo(this); -} -_b4d.hide(); -var _b4e=$(_b4c).data("combobox"); -$(this).children(".combobox-group:visible").each(function(){ -var g=$(this); -var _b4f=opts.finder.getGroup(_b4c,g); -var _b50=_b4e.data[_b4f.startIndex+_b4f.count-1]; -var last=opts.finder.getEl(_b4c,_b50[opts.valueField]); -if(g.position().top<0&&last.position().top>0){ -_b4d.show().html(g.html()); -return false; -} -}); -} -}; -$.fn.combobox=function(_b51,_b52){ -if(typeof _b51=="string"){ -var _b53=$.fn.combobox.methods[_b51]; -if(_b53){ -return _b53(this,_b52); -}else{ -return this.combo(_b51,_b52); -} -} -_b51=_b51||{}; -return this.each(function(){ -var _b54=$.data(this,"combobox"); -if(_b54){ -$.extend(_b54.options,_b51); -}else{ -_b54=$.data(this,"combobox",{options:$.extend({},$.fn.combobox.defaults,$.fn.combobox.parseOptions(this),_b51),data:[]}); -} -_b43(this); -if(_b54.options.data){ -_b2f(this,_b54.options.data); -}else{ -var data=$.fn.combobox.parseData(this); -if(data.length){ -_b2f(this,data); -} -} -_b33(this); -}); -}; -$.fn.combobox.methods={options:function(jq){ -var _b55=jq.combo("options"); -return $.extend($.data(jq[0],"combobox").options,{width:_b55.width,height:_b55.height,originalValue:_b55.originalValue,disabled:_b55.disabled,readonly:_b55.readonly}); -},cloneFrom:function(jq,from){ -return jq.each(function(){ -$(this).combo("cloneFrom",from); -$.data(this,"combobox",$(from).data("combobox")); -$(this).addClass("combobox-f").attr("comboboxName",$(this).attr("textboxName")); -}); -},getData:function(jq){ -return $.data(jq[0],"combobox").data; -},setValues:function(jq,_b56){ -return jq.each(function(){ -var opts=$(this).combobox("options"); -if($.isArray(_b56)){ -_b56=$.map(_b56,function(_b57){ -if(_b57&&typeof _b57=="object"){ -$.easyui.addArrayItem(opts.mappingRows,opts.valueField,_b57); -return _b57[opts.valueField]; -}else{ -return _b57; -} -}); -} -_b21(this,_b56); -}); -},setValue:function(jq,_b58){ -return jq.each(function(){ -$(this).combobox("setValues",$.isArray(_b58)?_b58:[_b58]); -}); -},clear:function(jq){ -return jq.each(function(){ -_b21(this,[]); -}); -},reset:function(jq){ -return jq.each(function(){ -var opts=$(this).combobox("options"); -if(opts.multiple){ -$(this).combobox("setValues",opts.originalValue); -}else{ -$(this).combobox("setValue",opts.originalValue); -} -}); -},loadData:function(jq,data){ -return jq.each(function(){ -_b2f(this,data); -}); -},reload:function(jq,url){ -return jq.each(function(){ -if(typeof url=="string"){ -_b33(this,url); -}else{ -if(url){ -var opts=$(this).combobox("options"); -opts.queryParams=url; -} -_b33(this); -} -}); -},select:function(jq,_b59){ -return jq.each(function(){ -_b1c(this,_b59); -}); -},unselect:function(jq,_b5a){ -return jq.each(function(){ -_b22(this,_b5a); -}); -},scrollTo:function(jq,_b5b){ -return jq.each(function(){ -_b14(this,_b5b); -}); -}}; -$.fn.combobox.parseOptions=function(_b5c){ -var t=$(_b5c); -return $.extend({},$.fn.combo.parseOptions(_b5c),$.parser.parseOptions(_b5c,["valueField","textField","groupField","groupPosition","mode","method","url",{showItemIcon:"boolean",limitToList:"boolean"}])); -}; -$.fn.combobox.parseData=function(_b5d){ -var data=[]; -var opts=$(_b5d).combobox("options"); -$(_b5d).children().each(function(){ -if(this.tagName.toLowerCase()=="optgroup"){ -var _b5e=$(this).attr("label"); -$(this).children().each(function(){ -_b5f(this,_b5e); -}); -}else{ -_b5f(this); -} -}); -return data; -function _b5f(el,_b60){ -var t=$(el); -var row={}; -row[opts.valueField]=t.attr("value")!=undefined?t.attr("value"):t.text(); -row[opts.textField]=t.text(); -row["iconCls"]=$.parser.parseOptions(el,["iconCls"]).iconCls; -row["selected"]=t.is(":selected"); -row["disabled"]=t.is(":disabled"); -if(_b60){ -opts.groupField=opts.groupField||"group"; -row[opts.groupField]=_b60; -} -data.push(row); -}; -}; -var _b61=0; -var _b62={render:function(_b63,_b64,data){ -var _b65=$.data(_b63,"combobox"); -var opts=_b65.options; -_b61++; -_b65.itemIdPrefix="_easyui_combobox_i"+_b61; -_b65.groupIdPrefix="_easyui_combobox_g"+_b61; -_b65.groups=[]; -var dd=[]; -var _b66=undefined; -for(var i=0;i"); -dd.push(opts.groupFormatter?opts.groupFormatter.call(_b63,g):g); -dd.push(""); -}else{ -_b65.groups[_b65.groups.length-1].count++; -} -}else{ -_b66=undefined; -} -var cls="combobox-item"+(row.disabled?" combobox-item-disabled":"")+(g?" combobox-gitem":""); -dd.push("
"); -if(opts.showItemIcon&&row.iconCls){ -dd.push(""); -} -dd.push(opts.formatter?opts.formatter.call(_b63,row):s); -dd.push("
"); -} -$(_b64).html(dd.join("")); -}}; -$.fn.combobox.defaults=$.extend({},$.fn.combo.defaults,{valueField:"value",textField:"text",groupPosition:"static",groupField:null,groupFormatter:function(_b67){ -return _b67; -},mode:"local",method:"post",url:null,data:null,queryParams:{},showItemIcon:false,limitToList:false,unselectedValues:[],mappingRows:[],view:_b62,keyHandler:{up:function(e){ -nav(this,"prev"); -e.preventDefault(); -},down:function(e){ -nav(this,"next"); -e.preventDefault(); -},left:function(e){ -},right:function(e){ -},enter:function(e){ -_b3f(this); -},query:function(q,e){ -_b37(this,q); -}},inputEvents:$.extend({},$.fn.combo.defaults.inputEvents,{blur:function(e){ -$.fn.combo.defaults.inputEvents.blur(e); -var _b68=e.data.target; -var opts=$(_b68).combobox("options"); -if(opts.reversed||opts.limitToList){ -if(opts.blurTimer){ -clearTimeout(opts.blurTimer); -} -opts.blurTimer=setTimeout(function(){ -var _b69=$(_b68).parent().length; -if(_b69){ -if(opts.reversed){ -$(_b68).combobox("setValues",$(_b68).combobox("getValues")); -}else{ -if(opts.limitToList){ -var vv=[]; -$.map($(_b68).combobox("getValues"),function(v){ -var _b6a=$.easyui.indexOfArray($(_b68).combobox("getData"),opts.valueField,v); -if(_b6a>=0){ -vv.push(v); -} -}); -$(_b68).combobox("setValues",vv); -} -} -opts.blurTimer=null; -} -},50); -} -}}),panelEvents:{mouseover:_b46,mouseout:_b47,mousedown:function(e){ -e.preventDefault(); -e.stopPropagation(); -},click:_b48,scroll:_b4b},filter:function(q,row){ -var opts=$(this).combobox("options"); -return row[opts.textField].toLowerCase().indexOf(q.toLowerCase())>=0; -},formatter:function(row){ -var opts=$(this).combobox("options"); -return row[opts.textField]; -},loader:function(_b6b,_b6c,_b6d){ -var opts=$(this).combobox("options"); -if(!opts.url){ -return false; -} -$.ajax({type:opts.method,url:opts.url,data:_b6b,dataType:"json",success:function(data){ -_b6c(data); -},error:function(){ -_b6d.apply(this,arguments); -}}); -},loadFilter:function(data){ -return data; -},finder:{getEl:function(_b6e,_b6f){ -var _b70=_b10(_b6e,_b6f); -var id=$.data(_b6e,"combobox").itemIdPrefix+"_"+_b70; -return $("#"+id); -},getGroupEl:function(_b71,_b72){ -var _b73=$.data(_b71,"combobox"); -var _b74=$.easyui.indexOfArray(_b73.groups,"value",_b72); -var id=_b73.groupIdPrefix+"_"+_b74; -return $("#"+id); -},getGroup:function(_b75,p){ -var _b76=$.data(_b75,"combobox"); -var _b77=p.attr("id").substr(_b76.groupIdPrefix.length+1); -return _b76.groups[parseInt(_b77)]; -},getRow:function(_b78,p){ -var _b79=$.data(_b78,"combobox"); -var _b7a=(p instanceof $)?p.attr("id").substr(_b79.itemIdPrefix.length+1):_b10(_b78,p); -return _b79.data[parseInt(_b7a)]; -}},onBeforeLoad:function(_b7b){ -},onLoadSuccess:function(data){ -},onLoadError:function(){ -},onSelect:function(_b7c){ -},onUnselect:function(_b7d){ -},onClick:function(_b7e){ -}}); -})(jQuery); -(function($){ -function _b7f(_b80){ -var _b81=$.data(_b80,"combotree"); -var opts=_b81.options; -var tree=_b81.tree; -$(_b80).addClass("combotree-f"); -$(_b80).combo($.extend({},opts,{onShowPanel:function(){ -if(opts.editable){ -tree.tree("doFilter",""); -} -opts.onShowPanel.call(this); -}})); -var _b82=$(_b80).combo("panel"); -if(!tree){ -tree=$("
    ").appendTo(_b82); -_b81.tree=tree; -} -tree.tree($.extend({},opts,{checkbox:opts.multiple,onLoadSuccess:function(node,data){ -var _b83=$(_b80).combotree("getValues"); -if(opts.multiple){ -$.map(tree.tree("getChecked"),function(node){ -$.easyui.addArrayItem(_b83,node.id); -}); -} -_b88(_b80,_b83,_b81.remainText); -opts.onLoadSuccess.call(this,node,data); -},onClick:function(node){ -if(opts.multiple){ -$(this).tree(node.checked?"uncheck":"check",node.target); -}else{ -$(_b80).combo("hidePanel"); -} -_b81.remainText=false; -_b85(_b80); -opts.onClick.call(this,node); -},onCheck:function(node,_b84){ -_b81.remainText=false; -_b85(_b80); -opts.onCheck.call(this,node,_b84); -}})); -}; -function _b85(_b86){ -var _b87=$.data(_b86,"combotree"); -var opts=_b87.options; -var tree=_b87.tree; -var vv=[]; -if(opts.multiple){ -vv=$.map(tree.tree("getChecked"),function(node){ -return node.id; -}); -}else{ -var node=tree.tree("getSelected"); -if(node){ -vv.push(node.id); -} -} -vv=vv.concat(opts.unselectedValues); -_b88(_b86,vv,_b87.remainText); -}; -function _b88(_b89,_b8a,_b8b){ -var _b8c=$.data(_b89,"combotree"); -var opts=_b8c.options; -var tree=_b8c.tree; -var _b8d=tree.tree("options"); -var _b8e=_b8d.onBeforeCheck; -var _b8f=_b8d.onCheck; -var _b90=_b8d.onSelect; -_b8d.onBeforeCheck=_b8d.onCheck=_b8d.onSelect=function(){ -}; -if(!$.isArray(_b8a)){ -_b8a=_b8a.split(opts.separator); -} -if(!opts.multiple){ -_b8a=_b8a.length?[_b8a[0]]:[""]; -} -var vv=$.map(_b8a,function(_b91){ -return String(_b91); -}); -tree.find("div.tree-node-selected").removeClass("tree-node-selected"); -$.map(tree.tree("getChecked"),function(node){ -if($.inArray(String(node.id),vv)==-1){ -tree.tree("uncheck",node.target); -} -}); -var ss=[]; -opts.unselectedValues=[]; -$.map(vv,function(v){ -var node=tree.tree("find",v); -if(node){ -tree.tree("check",node.target).tree("select",node.target); -ss.push(_b92(node)); -}else{ -ss.push(_b93(v,opts.mappingRows)||v); -opts.unselectedValues.push(v); -} -}); -if(opts.multiple){ -$.map(tree.tree("getChecked"),function(node){ -var id=String(node.id); -if($.inArray(id,vv)==-1){ -vv.push(id); -ss.push(_b92(node)); -} -}); -} -_b8d.onBeforeCheck=_b8e; -_b8d.onCheck=_b8f; -_b8d.onSelect=_b90; -if(!_b8b){ -var s=ss.join(opts.separator); -if($(_b89).combo("getText")!=s){ -$(_b89).combo("setText",s); -} -} -$(_b89).combo("setValues",vv); -function _b93(_b94,a){ -var item=$.easyui.getArrayItem(a,"id",_b94); -return item?_b92(item):undefined; -}; -function _b92(node){ -return node[opts.textField||""]||node.text; -}; -}; -function _b95(_b96,q){ -var _b97=$.data(_b96,"combotree"); -var opts=_b97.options; -var tree=_b97.tree; -_b97.remainText=true; -tree.tree("doFilter",opts.multiple?q.split(opts.separator):q); -}; -function _b98(_b99){ -var _b9a=$.data(_b99,"combotree"); -_b9a.remainText=false; -$(_b99).combotree("setValues",$(_b99).combotree("getValues")); -$(_b99).combotree("hidePanel"); -}; -$.fn.combotree=function(_b9b,_b9c){ -if(typeof _b9b=="string"){ -var _b9d=$.fn.combotree.methods[_b9b]; -if(_b9d){ -return _b9d(this,_b9c); -}else{ -return this.combo(_b9b,_b9c); -} -} -_b9b=_b9b||{}; -return this.each(function(){ -var _b9e=$.data(this,"combotree"); -if(_b9e){ -$.extend(_b9e.options,_b9b); -}else{ -$.data(this,"combotree",{options:$.extend({},$.fn.combotree.defaults,$.fn.combotree.parseOptions(this),_b9b)}); -} -_b7f(this); -}); -}; -$.fn.combotree.methods={options:function(jq){ -var _b9f=jq.combo("options"); -return $.extend($.data(jq[0],"combotree").options,{width:_b9f.width,height:_b9f.height,originalValue:_b9f.originalValue,disabled:_b9f.disabled,readonly:_b9f.readonly}); -},clone:function(jq,_ba0){ -var t=jq.combo("clone",_ba0); -t.data("combotree",{options:$.extend(true,{},jq.combotree("options")),tree:jq.combotree("tree")}); -return t; -},tree:function(jq){ -return $.data(jq[0],"combotree").tree; -},loadData:function(jq,data){ -return jq.each(function(){ -var opts=$.data(this,"combotree").options; -opts.data=data; -var tree=$.data(this,"combotree").tree; -tree.tree("loadData",data); -}); -},reload:function(jq,url){ -return jq.each(function(){ -var opts=$.data(this,"combotree").options; -var tree=$.data(this,"combotree").tree; -if(url){ -opts.url=url; -} -tree.tree({url:opts.url}); -}); -},setValues:function(jq,_ba1){ -return jq.each(function(){ -var opts=$(this).combotree("options"); -if($.isArray(_ba1)){ -_ba1=$.map(_ba1,function(_ba2){ -if(_ba2&&typeof _ba2=="object"){ -$.easyui.addArrayItem(opts.mappingRows,"id",_ba2); -return _ba2.id; -}else{ -return _ba2; -} -}); -} -_b88(this,_ba1); -}); -},setValue:function(jq,_ba3){ -return jq.each(function(){ -$(this).combotree("setValues",$.isArray(_ba3)?_ba3:[_ba3]); -}); -},clear:function(jq){ -return jq.each(function(){ -$(this).combotree("setValues",[]); -}); -},reset:function(jq){ -return jq.each(function(){ -var opts=$(this).combotree("options"); -if(opts.multiple){ -$(this).combotree("setValues",opts.originalValue); -}else{ -$(this).combotree("setValue",opts.originalValue); -} -}); -}}; -$.fn.combotree.parseOptions=function(_ba4){ -return $.extend({},$.fn.combo.parseOptions(_ba4),$.fn.tree.parseOptions(_ba4)); -}; -$.fn.combotree.defaults=$.extend({},$.fn.combo.defaults,$.fn.tree.defaults,{editable:false,textField:null,unselectedValues:[],mappingRows:[],keyHandler:{up:function(e){ -},down:function(e){ -},left:function(e){ -},right:function(e){ -},enter:function(e){ -_b98(this); -},query:function(q,e){ -_b95(this,q); -}}}); -})(jQuery); -(function($){ -function _ba5(_ba6){ -var _ba7=$.data(_ba6,"combogrid"); -var opts=_ba7.options; -var grid=_ba7.grid; -$(_ba6).addClass("combogrid-f").combo($.extend({},opts,{onShowPanel:function(){ -_bbe(this,$(this).combogrid("getValues"),true); -var p=$(this).combogrid("panel"); -var _ba8=p.outerHeight()-p.height(); -var _ba9=p._size("minHeight"); -var _baa=p._size("maxHeight"); -var dg=$(this).combogrid("grid"); -dg.datagrid("resize",{width:"100%",height:(isNaN(parseInt(opts.panelHeight))?"auto":"100%"),minHeight:(_ba9?_ba9-_ba8:""),maxHeight:(_baa?_baa-_ba8:"")}); -var row=dg.datagrid("getSelected"); -if(row){ -dg.datagrid("scrollTo",dg.datagrid("getRowIndex",row)); -} -opts.onShowPanel.call(this); -}})); -var _bab=$(_ba6).combo("panel"); -if(!grid){ -grid=$("
    ").appendTo(_bab); -_ba7.grid=grid; -} -grid.datagrid($.extend({},opts,{border:false,singleSelect:(!opts.multiple),onLoadSuccess:_bac,onClickRow:_bad,onSelect:_bae("onSelect"),onUnselect:_bae("onUnselect"),onSelectAll:_bae("onSelectAll"),onUnselectAll:_bae("onUnselectAll")})); -function _baf(dg){ -return $(dg).closest(".combo-panel").panel("options").comboTarget||_ba6; -}; -function _bac(data){ -var _bb0=_baf(this); -var _bb1=$(_bb0).data("combogrid"); -var opts=_bb1.options; -var _bb2=$(_bb0).combo("getValues"); -_bbe(_bb0,_bb2,_bb1.remainText); -opts.onLoadSuccess.call(this,data); -}; -function _bad(_bb3,row){ -var _bb4=_baf(this); -var _bb5=$(_bb4).data("combogrid"); -var opts=_bb5.options; -_bb5.remainText=false; -_bb6.call(this); -if(!opts.multiple){ -$(_bb4).combo("hidePanel"); -} -opts.onClickRow.call(this,_bb3,row); -}; -function _bae(_bb7){ -return function(_bb8,row){ -var _bb9=_baf(this); -var opts=$(_bb9).combogrid("options"); -if(_bb7=="onUnselectAll"){ -if(opts.multiple){ -_bb6.call(this); -} -}else{ -_bb6.call(this); -} -opts[_bb7].call(this,_bb8,row); -}; -}; -function _bb6(){ -var dg=$(this); -var _bba=_baf(dg); -var _bbb=$(_bba).data("combogrid"); -var opts=_bbb.options; -var vv=$.map(dg.datagrid("getSelections"),function(row){ -return row[opts.idField]; -}); -vv=vv.concat(opts.unselectedValues); -var _bbc=dg.data("datagrid").dc.body2; -var _bbd=_bbc.scrollTop(); -_bbe(_bba,vv,_bbb.remainText); -_bbc.scrollTop(_bbd); -}; -}; -function nav(_bbf,dir){ -var _bc0=$.data(_bbf,"combogrid"); -var opts=_bc0.options; -var grid=_bc0.grid; -var _bc1=grid.datagrid("getRows").length; -if(!_bc1){ -return; -} -var tr=opts.finder.getTr(grid[0],null,"highlight"); -if(!tr.length){ -tr=opts.finder.getTr(grid[0],null,"selected"); -} -var _bc2; -if(!tr.length){ -_bc2=(dir=="next"?0:_bc1-1); -}else{ -var _bc2=parseInt(tr.attr("datagrid-row-index")); -_bc2+=(dir=="next"?1:-1); -if(_bc2<0){ -_bc2=_bc1-1; -} -if(_bc2>=_bc1){ -_bc2=0; -} -} -grid.datagrid("highlightRow",_bc2); -if(opts.selectOnNavigation){ -_bc0.remainText=false; -grid.datagrid("selectRow",_bc2); -} -}; -function _bbe(_bc3,_bc4,_bc5){ -var _bc6=$.data(_bc3,"combogrid"); -var opts=_bc6.options; -var grid=_bc6.grid; -var _bc7=$(_bc3).combo("getValues"); -var _bc8=$(_bc3).combo("options"); -var _bc9=_bc8.onChange; -_bc8.onChange=function(){ -}; -var _bca=grid.datagrid("options"); -var _bcb=_bca.onSelect; -var _bcc=_bca.onUnselectAll; -_bca.onSelect=_bca.onUnselectAll=function(){ -}; -if(!$.isArray(_bc4)){ -_bc4=_bc4.split(opts.separator); -} -if(!opts.multiple){ -_bc4=_bc4.length?[_bc4[0]]:[""]; -} -var vv=$.map(_bc4,function(_bcd){ -return String(_bcd); -}); -vv=$.grep(vv,function(v,_bce){ -return _bce===$.inArray(v,vv); -}); -var _bcf=$.grep(grid.datagrid("getSelections"),function(row,_bd0){ -return $.inArray(String(row[opts.idField]),vv)>=0; -}); -grid.datagrid("clearSelections"); -grid.data("datagrid").selectedRows=_bcf; -var ss=[]; -opts.unselectedValues=[]; -$.map(vv,function(v){ -var _bd1=grid.datagrid("getRowIndex",v); -if(_bd1>=0){ -grid.datagrid("selectRow",_bd1); -}else{ -opts.unselectedValues.push(v); -} -ss.push(_bd2(v,grid.datagrid("getRows"))||_bd2(v,_bcf)||_bd2(v,opts.mappingRows)||v); -}); -$(_bc3).combo("setValues",_bc7); -_bc8.onChange=_bc9; -_bca.onSelect=_bcb; -_bca.onUnselectAll=_bcc; -if(!_bc5){ -var s=ss.join(opts.separator); -if($(_bc3).combo("getText")!=s){ -$(_bc3).combo("setText",s); -} -} -$(_bc3).combo("setValues",_bc4); -function _bd2(_bd3,a){ -var item=$.easyui.getArrayItem(a,opts.idField,_bd3); -return item?item[opts.textField]:undefined; -}; -}; -function _bd4(_bd5,q){ -var _bd6=$.data(_bd5,"combogrid"); -var opts=_bd6.options; -var grid=_bd6.grid; -_bd6.remainText=true; -var qq=opts.multiple?q.split(opts.separator):[q]; -qq=$.grep(qq,function(q){ -return $.trim(q)!=""; -}); -if(opts.mode=="remote"){ -_bd7(qq); -grid.datagrid("load",$.extend({},opts.queryParams,{q:q})); -}else{ -grid.datagrid("highlightRow",-1); -var rows=grid.datagrid("getRows"); -var vv=[]; -$.map(qq,function(q){ -q=$.trim(q); -var _bd8=q; -_bd9(opts.mappingRows,q); -_bd9(grid.datagrid("getSelections"),q); -var _bda=_bd9(rows,q); -if(_bda>=0){ -if(opts.reversed){ -grid.datagrid("highlightRow",_bda); -} -}else{ -$.map(rows,function(row,i){ -if(opts.filter.call(_bd5,q,row)){ -grid.datagrid("highlightRow",i); -} -}); -} -}); -_bd7(vv); -} -function _bd9(rows,q){ -for(var i=0;i=0){ -$.easyui.addArrayItem(vv,v); -} -}); -$(_bdc).combogrid("setValues",vv); -if(!opts.multiple){ -$(_bdc).combogrid("hidePanel"); -} -}; -$.fn.combogrid=function(_bdf,_be0){ -if(typeof _bdf=="string"){ -var _be1=$.fn.combogrid.methods[_bdf]; -if(_be1){ -return _be1(this,_be0); -}else{ -return this.combo(_bdf,_be0); -} -} -_bdf=_bdf||{}; -return this.each(function(){ -var _be2=$.data(this,"combogrid"); -if(_be2){ -$.extend(_be2.options,_bdf); -}else{ -_be2=$.data(this,"combogrid",{options:$.extend({},$.fn.combogrid.defaults,$.fn.combogrid.parseOptions(this),_bdf)}); -} -_ba5(this); -}); -}; -$.fn.combogrid.methods={options:function(jq){ -var _be3=jq.combo("options"); -return $.extend($.data(jq[0],"combogrid").options,{width:_be3.width,height:_be3.height,originalValue:_be3.originalValue,disabled:_be3.disabled,readonly:_be3.readonly}); -},cloneFrom:function(jq,from){ -return jq.each(function(){ -$(this).combo("cloneFrom",from); -$.data(this,"combogrid",{options:$.extend(true,{cloned:true},$(from).combogrid("options")),combo:$(this).next(),panel:$(from).combo("panel"),grid:$(from).combogrid("grid")}); -}); -},grid:function(jq){ -return $.data(jq[0],"combogrid").grid; -},setValues:function(jq,_be4){ -return jq.each(function(){ -var opts=$(this).combogrid("options"); -if($.isArray(_be4)){ -_be4=$.map(_be4,function(_be5){ -if(_be5&&typeof _be5=="object"){ -$.easyui.addArrayItem(opts.mappingRows,opts.idField,_be5); -return _be5[opts.idField]; -}else{ -return _be5; -} -}); -} -_bbe(this,_be4); -}); -},setValue:function(jq,_be6){ -return jq.each(function(){ -$(this).combogrid("setValues",$.isArray(_be6)?_be6:[_be6]); -}); -},clear:function(jq){ -return jq.each(function(){ -$(this).combogrid("setValues",[]); -}); -},reset:function(jq){ -return jq.each(function(){ -var opts=$(this).combogrid("options"); -if(opts.multiple){ -$(this).combogrid("setValues",opts.originalValue); -}else{ -$(this).combogrid("setValue",opts.originalValue); -} -}); -}}; -$.fn.combogrid.parseOptions=function(_be7){ -var t=$(_be7); -return $.extend({},$.fn.combo.parseOptions(_be7),$.fn.datagrid.parseOptions(_be7),$.parser.parseOptions(_be7,["idField","textField","mode"])); -}; -$.fn.combogrid.defaults=$.extend({},$.fn.combo.defaults,$.fn.datagrid.defaults,{loadMsg:null,idField:null,textField:null,unselectedValues:[],mappingRows:[],mode:"local",keyHandler:{up:function(e){ -nav(this,"prev"); -e.preventDefault(); -},down:function(e){ -nav(this,"next"); -e.preventDefault(); -},left:function(e){ -},right:function(e){ -},enter:function(e){ -_bdb(this); -},query:function(q,e){ -_bd4(this,q); -}},inputEvents:$.extend({},$.fn.combo.defaults.inputEvents,{blur:function(e){ -$.fn.combo.defaults.inputEvents.blur(e); -var _be8=e.data.target; -var opts=$(_be8).combogrid("options"); -if(opts.reversed){ -$(_be8).combogrid("setValues",$(_be8).combogrid("getValues")); -} -}}),panelEvents:{mousedown:function(e){ -}},filter:function(q,row){ -var opts=$(this).combogrid("options"); -return (row[opts.textField]||"").toLowerCase().indexOf(q.toLowerCase())>=0; -}}); -})(jQuery); -(function($){ -function _be9(_bea){ -var _beb=$.data(_bea,"combotreegrid"); -var opts=_beb.options; -$(_bea).addClass("combotreegrid-f").combo($.extend({},opts,{onShowPanel:function(){ -var p=$(this).combotreegrid("panel"); -var _bec=p.outerHeight()-p.height(); -var _bed=p._size("minHeight"); -var _bee=p._size("maxHeight"); -var dg=$(this).combotreegrid("grid"); -dg.treegrid("resize",{width:"100%",height:(isNaN(parseInt(opts.panelHeight))?"auto":"100%"),minHeight:(_bed?_bed-_bec:""),maxHeight:(_bee?_bee-_bec:"")}); -var row=dg.treegrid("getSelected"); -if(row){ -dg.treegrid("scrollTo",row[opts.idField]); -} -opts.onShowPanel.call(this); -}})); -if(!_beb.grid){ -var _bef=$(_bea).combo("panel"); -_beb.grid=$("
    ").appendTo(_bef); -} -_beb.grid.treegrid($.extend({},opts,{border:false,checkbox:opts.multiple,onLoadSuccess:function(row,data){ -var _bf0=$(_bea).combotreegrid("getValues"); -if(opts.multiple){ -$.map($(this).treegrid("getCheckedNodes"),function(row){ -$.easyui.addArrayItem(_bf0,row[opts.idField]); -}); -} -_bf5(_bea,_bf0); -opts.onLoadSuccess.call(this,row,data); -_beb.remainText=false; -},onClickRow:function(row){ -if(opts.multiple){ -$(this).treegrid(row.checked?"uncheckNode":"checkNode",row[opts.idField]); -$(this).treegrid("unselect",row[opts.idField]); -}else{ -$(_bea).combo("hidePanel"); -} -_bf2(_bea); -opts.onClickRow.call(this,row); -},onCheckNode:function(row,_bf1){ -_bf2(_bea); -opts.onCheckNode.call(this,row,_bf1); -}})); -}; -function _bf2(_bf3){ -var _bf4=$.data(_bf3,"combotreegrid"); -var opts=_bf4.options; -var grid=_bf4.grid; -var vv=[]; -if(opts.multiple){ -vv=$.map(grid.treegrid("getCheckedNodes"),function(row){ -return row[opts.idField]; -}); -}else{ -var row=grid.treegrid("getSelected"); -if(row){ -vv.push(row[opts.idField]); -} -} -vv=vv.concat(opts.unselectedValues); -_bf5(_bf3,vv); -}; -function _bf5(_bf6,_bf7){ -var _bf8=$.data(_bf6,"combotreegrid"); -var opts=_bf8.options; -var grid=_bf8.grid; -if(!$.isArray(_bf7)){ -_bf7=_bf7.split(opts.separator); -} -if(!opts.multiple){ -_bf7=_bf7.length?[_bf7[0]]:[""]; -} -var vv=$.map(_bf7,function(_bf9){ -return String(_bf9); -}); -vv=$.grep(vv,function(v,_bfa){ -return _bfa===$.inArray(v,vv); -}); -var _bfb=grid.treegrid("getSelected"); -if(_bfb){ -grid.treegrid("unselect",_bfb[opts.idField]); -} -$.map(grid.treegrid("getCheckedNodes"),function(row){ -if($.inArray(String(row[opts.idField]),vv)==-1){ -grid.treegrid("uncheckNode",row[opts.idField]); -} -}); -var ss=[]; -opts.unselectedValues=[]; -$.map(vv,function(v){ -var row=grid.treegrid("find",v); -if(row){ -if(opts.multiple){ -grid.treegrid("checkNode",v); -}else{ -grid.treegrid("select",v); -} -ss.push(_bfc(row)); -}else{ -ss.push(_bfd(v,opts.mappingRows)||v); -opts.unselectedValues.push(v); -} -}); -if(opts.multiple){ -$.map(grid.treegrid("getCheckedNodes"),function(row){ -var id=String(row[opts.idField]); -if($.inArray(id,vv)==-1){ -vv.push(id); -ss.push(_bfc(row)); -} -}); -} -if(!_bf8.remainText){ -var s=ss.join(opts.separator); -if($(_bf6).combo("getText")!=s){ -$(_bf6).combo("setText",s); -} -} -$(_bf6).combo("setValues",vv); -function _bfd(_bfe,a){ -var item=$.easyui.getArrayItem(a,opts.idField,_bfe); -return item?_bfc(item):undefined; -}; -function _bfc(row){ -return row[opts.textField||""]||row[opts.treeField]; -}; -}; -function _bff(_c00,q){ -var _c01=$.data(_c00,"combotreegrid"); -var opts=_c01.options; -var grid=_c01.grid; -_c01.remainText=true; -var qq=opts.multiple?q.split(opts.separator):[q]; -qq=$.grep(qq,function(q){ -return $.trim(q)!=""; -}); -grid.treegrid("clearSelections").treegrid("clearChecked").treegrid("highlightRow",-1); -if(opts.mode=="remote"){ -_c02(qq); -grid.treegrid("load",$.extend({},opts.queryParams,{q:q})); -}else{ -if(q){ -var data=grid.treegrid("getData"); -var vv=[]; -$.map(qq,function(q){ -q=$.trim(q); -if(q){ -var v=undefined; -$.easyui.forEach(data,true,function(row){ -if(q.toLowerCase()==String(row[opts.treeField]).toLowerCase()){ -v=row[opts.idField]; -return false; -}else{ -if(opts.filter.call(_c00,q,row)){ -grid.treegrid("expandTo",row[opts.idField]); -grid.treegrid("highlightRow",row[opts.idField]); -return false; -} -} -}); -if(v==undefined){ -$.easyui.forEach(opts.mappingRows,false,function(row){ -if(q.toLowerCase()==String(row[opts.treeField])){ -v=row[opts.idField]; -return false; -} -}); -} -if(v!=undefined){ -vv.push(v); -}else{ -vv.push(q); -} -} -}); -_c02(vv); -_c01.remainText=false; -} -} -function _c02(vv){ -if(!opts.reversed){ -$(_c00).combotreegrid("setValues",vv); -} -}; -}; -function _c03(_c04){ -var _c05=$.data(_c04,"combotreegrid"); -var opts=_c05.options; -var grid=_c05.grid; -var tr=opts.finder.getTr(grid[0],null,"highlight"); -_c05.remainText=false; -if(tr.length){ -var id=tr.attr("node-id"); -if(opts.multiple){ -if(tr.hasClass("datagrid-row-selected")){ -grid.treegrid("uncheckNode",id); -}else{ -grid.treegrid("checkNode",id); -} -}else{ -grid.treegrid("selectRow",id); -} -} -var vv=[]; -if(opts.multiple){ -$.map(grid.treegrid("getCheckedNodes"),function(row){ -vv.push(row[opts.idField]); -}); -}else{ -var row=grid.treegrid("getSelected"); -if(row){ -vv.push(row[opts.idField]); -} -} -$.map(opts.unselectedValues,function(v){ -if($.easyui.indexOfArray(opts.mappingRows,opts.idField,v)>=0){ -$.easyui.addArrayItem(vv,v); -} -}); -$(_c04).combotreegrid("setValues",vv); -if(!opts.multiple){ -$(_c04).combotreegrid("hidePanel"); -} -}; -$.fn.combotreegrid=function(_c06,_c07){ -if(typeof _c06=="string"){ -var _c08=$.fn.combotreegrid.methods[_c06]; -if(_c08){ -return _c08(this,_c07); -}else{ -return this.combo(_c06,_c07); -} -} -_c06=_c06||{}; -return this.each(function(){ -var _c09=$.data(this,"combotreegrid"); -if(_c09){ -$.extend(_c09.options,_c06); -}else{ -_c09=$.data(this,"combotreegrid",{options:$.extend({},$.fn.combotreegrid.defaults,$.fn.combotreegrid.parseOptions(this),_c06)}); -} -_be9(this); -}); -}; -$.fn.combotreegrid.methods={options:function(jq){ -var _c0a=jq.combo("options"); -return $.extend($.data(jq[0],"combotreegrid").options,{width:_c0a.width,height:_c0a.height,originalValue:_c0a.originalValue,disabled:_c0a.disabled,readonly:_c0a.readonly}); -},grid:function(jq){ -return $.data(jq[0],"combotreegrid").grid; -},setValues:function(jq,_c0b){ -return jq.each(function(){ -var opts=$(this).combotreegrid("options"); -if($.isArray(_c0b)){ -_c0b=$.map(_c0b,function(_c0c){ -if(_c0c&&typeof _c0c=="object"){ -$.easyui.addArrayItem(opts.mappingRows,opts.idField,_c0c); -return _c0c[opts.idField]; -}else{ -return _c0c; -} -}); -} -_bf5(this,_c0b); -}); -},setValue:function(jq,_c0d){ -return jq.each(function(){ -$(this).combotreegrid("setValues",$.isArray(_c0d)?_c0d:[_c0d]); -}); -},clear:function(jq){ -return jq.each(function(){ -$(this).combotreegrid("setValues",[]); -}); -},reset:function(jq){ -return jq.each(function(){ -var opts=$(this).combotreegrid("options"); -if(opts.multiple){ -$(this).combotreegrid("setValues",opts.originalValue); -}else{ -$(this).combotreegrid("setValue",opts.originalValue); -} -}); -}}; -$.fn.combotreegrid.parseOptions=function(_c0e){ -var t=$(_c0e); -return $.extend({},$.fn.combo.parseOptions(_c0e),$.fn.treegrid.parseOptions(_c0e),$.parser.parseOptions(_c0e,["mode",{limitToGrid:"boolean"}])); -}; -$.fn.combotreegrid.defaults=$.extend({},$.fn.combo.defaults,$.fn.treegrid.defaults,{editable:false,singleSelect:true,limitToGrid:false,unselectedValues:[],mappingRows:[],mode:"local",textField:null,keyHandler:{up:function(e){ -},down:function(e){ -},left:function(e){ -},right:function(e){ -},enter:function(e){ -_c03(this); -},query:function(q,e){ -_bff(this,q); -}},inputEvents:$.extend({},$.fn.combo.defaults.inputEvents,{blur:function(e){ -$.fn.combo.defaults.inputEvents.blur(e); -var _c0f=e.data.target; -var opts=$(_c0f).combotreegrid("options"); -if(opts.limitToGrid){ -_c03(_c0f); -} -}}),filter:function(q,row){ -var opts=$(this).combotreegrid("options"); -return (row[opts.treeField]||"").toLowerCase().indexOf(q.toLowerCase())>=0; -}}); -})(jQuery); -(function($){ -function _c10(_c11){ -var _c12=$.data(_c11,"tagbox"); -var opts=_c12.options; -$(_c11).addClass("tagbox-f").combobox($.extend({},opts,{cls:"tagbox",reversed:true,onChange:function(_c13,_c14){ -_c15(); -$(this).combobox("hidePanel"); -opts.onChange.call(_c11,_c13,_c14); -},onResizing:function(_c16,_c17){ -var _c18=$(this).combobox("textbox"); -var tb=$(this).data("textbox").textbox; -var _c19=tb.outerWidth(); -tb.css({height:"",paddingLeft:_c18.css("marginLeft"),paddingRight:_c18.css("marginRight")}); -_c18.css("margin",0); -tb._outerWidth(_c19); -_c2c(_c11); -_c1e(this); -opts.onResizing.call(_c11,_c16,_c17); -},onLoadSuccess:function(data){ -_c15(); -opts.onLoadSuccess.call(_c11,data); -}})); -_c15(); -_c2c(_c11); -function _c15(){ -$(_c11).next().find(".tagbox-label").remove(); -var _c1a=$(_c11).tagbox("textbox"); -var ss=[]; -$.map($(_c11).tagbox("getValues"),function(_c1b,_c1c){ -var row=opts.finder.getRow(_c11,_c1b); -var text=opts.tagFormatter.call(_c11,_c1b,row); -var cs={}; -var css=opts.tagStyler.call(_c11,_c1b,row)||""; -if(typeof css=="string"){ -cs={s:css}; -}else{ -cs={c:css["class"]||"",s:css["style"]||""}; -} -var _c1d=$("").insertBefore(_c1a).html(text); -_c1d.attr("tagbox-index",_c1c); -_c1d.attr("style",cs.s).addClass(cs.c); -$("").appendTo(_c1d); -}); -_c1e(_c11); -$(_c11).combobox("setText",""); -}; -}; -function _c1e(_c1f,_c20){ -var span=$(_c1f).next(); -var _c21=_c20?$(_c20):span.find(".tagbox-label"); -if(_c21.length){ -var _c22=$(_c1f).tagbox("textbox"); -var _c23=$(_c21[0]); -var _c24=_c23.outerHeight(true)-_c23.outerHeight(); -var _c25=_c22.outerHeight()-_c24*2; -_c21.css({height:_c25+"px",lineHeight:_c25+"px"}); -var _c26=span.find(".textbox-addon").css("height","100%"); -_c26.find(".textbox-icon").css("height","100%"); -span.find(".textbox-button").linkbutton("resize",{height:"100%"}); -} -}; -function _c27(_c28){ -var span=$(_c28).next(); -span.unbind(".tagbox").bind("click.tagbox",function(e){ -var opts=$(_c28).tagbox("options"); -if(opts.disabled||opts.readonly){ -return; -} -if($(e.target).hasClass("tagbox-remove")){ -var _c29=parseInt($(e.target).parent().attr("tagbox-index")); -var _c2a=$(_c28).tagbox("getValues"); -if(opts.onBeforeRemoveTag.call(_c28,_c2a[_c29])==false){ -return; -} -opts.onRemoveTag.call(_c28,_c2a[_c29]); -_c2a.splice(_c29,1); -$(_c28).tagbox("setValues",_c2a); -}else{ -var _c2b=$(e.target).closest(".tagbox-label"); -if(_c2b.length){ -var _c29=parseInt(_c2b.attr("tagbox-index")); -var _c2a=$(_c28).tagbox("getValues"); -opts.onClickTag.call(_c28,_c2a[_c29]); -} -} -$(this).find(".textbox-text").focus(); -}).bind("keyup.tagbox",function(e){ -_c2c(_c28); -}).bind("mouseover.tagbox",function(e){ -if($(e.target).closest(".textbox-button,.textbox-addon,.tagbox-label").length){ -$(this).triggerHandler("mouseleave"); -}else{ -$(this).find(".textbox-text").triggerHandler("mouseenter"); -} -}).bind("mouseleave.tagbox",function(e){ -$(this).find(".textbox-text").triggerHandler("mouseleave"); -}); -}; -function _c2c(_c2d){ -var opts=$(_c2d).tagbox("options"); -var _c2e=$(_c2d).tagbox("textbox"); -var span=$(_c2d).next(); -var tmp=$("").appendTo("body"); -tmp.attr("style",_c2e.attr("style")); -tmp.css({position:"absolute",top:-9999,left:-9999,width:"auto",fontFamily:_c2e.css("fontFamily"),fontSize:_c2e.css("fontSize"),fontWeight:_c2e.css("fontWeight"),whiteSpace:"nowrap"}); -var _c2f=_c30(_c2e.val()); -var _c31=_c30(opts.prompt||""); -tmp.remove(); -var _c32=Math.min(Math.max(_c2f,_c31)+20,span.width()); -_c2e._outerWidth(_c32); -span.find(".textbox-button").linkbutton("resize",{height:"100%"}); -function _c30(val){ -var s=val.replace(/&/g,"&").replace(/\s/g," ").replace(//g,">"); -tmp.html(s); -return tmp.outerWidth(); -}; -}; -function _c33(_c34){ -var t=$(_c34); -var opts=t.tagbox("options"); -if(opts.limitToList){ -var _c35=t.tagbox("panel"); -var item=_c35.children("div.combobox-item-hover"); -if(item.length){ -item.removeClass("combobox-item-hover"); -var row=opts.finder.getRow(_c34,item); -var _c36=row[opts.valueField]; -$(_c34).tagbox(item.hasClass("combobox-item-selected")?"unselect":"select",_c36); -} -$(_c34).tagbox("hidePanel"); -}else{ -var v=$.trim($(_c34).tagbox("getText")); -if(v!==""){ -var _c37=$(_c34).tagbox("getValues"); -_c37.push(v); -$(_c34).tagbox("setValues",_c37); -} -} -}; -function _c38(_c39,_c3a){ -$(_c39).combobox("setText",""); -_c2c(_c39); -$(_c39).combobox("setValues",_c3a); -$(_c39).combobox("setText",""); -$(_c39).tagbox("validate"); -}; -$.fn.tagbox=function(_c3b,_c3c){ -if(typeof _c3b=="string"){ -var _c3d=$.fn.tagbox.methods[_c3b]; -if(_c3d){ -return _c3d(this,_c3c); -}else{ -return this.combobox(_c3b,_c3c); -} -} -_c3b=_c3b||{}; -return this.each(function(){ -var _c3e=$.data(this,"tagbox"); -if(_c3e){ -$.extend(_c3e.options,_c3b); -}else{ -$.data(this,"tagbox",{options:$.extend({},$.fn.tagbox.defaults,$.fn.tagbox.parseOptions(this),_c3b)}); -} -_c10(this); -_c27(this); -}); -}; -$.fn.tagbox.methods={options:function(jq){ -var _c3f=jq.combobox("options"); -return $.extend($.data(jq[0],"tagbox").options,{width:_c3f.width,height:_c3f.height,originalValue:_c3f.originalValue,disabled:_c3f.disabled,readonly:_c3f.readonly}); -},setValues:function(jq,_c40){ -return jq.each(function(){ -_c38(this,_c40); -}); -},reset:function(jq){ -return jq.each(function(){ -$(this).combobox("reset").combobox("setText",""); -}); -}}; -$.fn.tagbox.parseOptions=function(_c41){ -return $.extend({},$.fn.combobox.parseOptions(_c41),$.parser.parseOptions(_c41,[])); -}; -$.fn.tagbox.defaults=$.extend({},$.fn.combobox.defaults,{hasDownArrow:false,multiple:true,reversed:true,selectOnNavigation:false,tipOptions:$.extend({},$.fn.textbox.defaults.tipOptions,{showDelay:200}),val:function(_c42){ -var vv=$(_c42).parent().prev().tagbox("getValues"); -if($(_c42).is(":focus")){ -vv.push($(_c42).val()); -} -return vv.join(","); -},inputEvents:$.extend({},$.fn.combo.defaults.inputEvents,{blur:function(e){ -var _c43=e.data.target; -var opts=$(_c43).tagbox("options"); -if(opts.limitToList){ -_c33(_c43); -} -}}),keyHandler:$.extend({},$.fn.combobox.defaults.keyHandler,{enter:function(e){ -_c33(this); -},query:function(q,e){ -var opts=$(this).tagbox("options"); -if(opts.limitToList){ -$.fn.combobox.defaults.keyHandler.query.call(this,q,e); -}else{ -$(this).combobox("hidePanel"); -} -}}),tagFormatter:function(_c44,row){ -var opts=$(this).tagbox("options"); -return row?row[opts.textField]:_c44; -},tagStyler:function(_c45,row){ -return ""; -},onClickTag:function(_c46){ -},onBeforeRemoveTag:function(_c47){ -},onRemoveTag:function(_c48){ -}}); -})(jQuery); -(function($){ -function _c49(_c4a){ -var _c4b=$.data(_c4a,"datebox"); -var opts=_c4b.options; -$(_c4a).addClass("datebox-f").combo($.extend({},opts,{onShowPanel:function(){ -_c4c(this); -_c4d(this); -_c4e(this); -_c5c(this,$(this).datebox("getText"),true); -opts.onShowPanel.call(this); -}})); -if(!_c4b.calendar){ -var _c4f=$(_c4a).combo("panel").css("overflow","hidden"); -_c4f.panel("options").onBeforeDestroy=function(){ -var c=$(this).find(".calendar-shared"); -if(c.length){ -c.insertBefore(c[0].pholder); -} -}; -var cc=$("
    ").prependTo(_c4f); -if(opts.sharedCalendar){ -var c=$(opts.sharedCalendar); -if(!c[0].pholder){ -c[0].pholder=$("
    ").insertAfter(c); -} -c.addClass("calendar-shared").appendTo(cc); -if(!c.hasClass("calendar")){ -c.calendar(); -} -_c4b.calendar=c; -}else{ -_c4b.calendar=$("
    ").appendTo(cc).calendar(); -} -$.extend(_c4b.calendar.calendar("options"),{fit:true,border:false,onSelect:function(date){ -var _c50=this.target; -var opts=$(_c50).datebox("options"); -opts.onSelect.call(_c50,date); -_c5c(_c50,opts.formatter.call(_c50,date)); -$(_c50).combo("hidePanel"); -}}); -} -$(_c4a).combo("textbox").parent().addClass("datebox"); -$(_c4a).datebox("initValue",opts.value); -function _c4c(_c51){ -var opts=$(_c51).datebox("options"); -var _c52=$(_c51).combo("panel"); -_c52.unbind(".datebox").bind("click.datebox",function(e){ -if($(e.target).hasClass("datebox-button-a")){ -var _c53=parseInt($(e.target).attr("datebox-button-index")); -opts.buttons[_c53].handler.call(e.target,_c51); -} -}); -}; -function _c4d(_c54){ -var _c55=$(_c54).combo("panel"); -if(_c55.children("div.datebox-button").length){ -return; -} -var _c56=$("
    ").appendTo(_c55); -var tr=_c56.find("tr"); -for(var i=0;i").appendTo(tr); -var btn=opts.buttons[i]; -var t=$("").html($.isFunction(btn.text)?btn.text(_c54):btn.text).appendTo(td); -t.attr("datebox-button-index",i); -} -tr.find("td").css("width",(100/opts.buttons.length)+"%"); -}; -function _c4e(_c57){ -var _c58=$(_c57).combo("panel"); -var cc=_c58.children("div.datebox-calendar-inner"); -_c58.children()._outerWidth(_c58.width()); -_c4b.calendar.appendTo(cc); -_c4b.calendar[0].target=_c57; -if(opts.panelHeight!="auto"){ -var _c59=_c58.height(); -_c58.children().not(cc).each(function(){ -_c59-=$(this).outerHeight(); -}); -cc._outerHeight(_c59); -} -_c4b.calendar.calendar("resize"); -}; -}; -function _c5a(_c5b,q){ -_c5c(_c5b,q,true); -}; -function _c5d(_c5e){ -var _c5f=$.data(_c5e,"datebox"); -var opts=_c5f.options; -var _c60=_c5f.calendar.calendar("options").current; -if(_c60){ -_c5c(_c5e,opts.formatter.call(_c5e,_c60)); -$(_c5e).combo("hidePanel"); -} -}; -function _c5c(_c61,_c62,_c63){ -var _c64=$.data(_c61,"datebox"); -var opts=_c64.options; -var _c65=_c64.calendar; -_c65.calendar("moveTo",opts.parser.call(_c61,_c62)); -if(_c63){ -$(_c61).combo("setValue",_c62); -}else{ -if(_c62){ -_c62=opts.formatter.call(_c61,_c65.calendar("options").current); -} -$(_c61).combo("setText",_c62).combo("setValue",_c62); -} -}; -$.fn.datebox=function(_c66,_c67){ -if(typeof _c66=="string"){ -var _c68=$.fn.datebox.methods[_c66]; -if(_c68){ -return _c68(this,_c67); -}else{ -return this.combo(_c66,_c67); -} -} -_c66=_c66||{}; -return this.each(function(){ -var _c69=$.data(this,"datebox"); -if(_c69){ -$.extend(_c69.options,_c66); -}else{ -$.data(this,"datebox",{options:$.extend({},$.fn.datebox.defaults,$.fn.datebox.parseOptions(this),_c66)}); -} -_c49(this); -}); -}; -$.fn.datebox.methods={options:function(jq){ -var _c6a=jq.combo("options"); -return $.extend($.data(jq[0],"datebox").options,{width:_c6a.width,height:_c6a.height,originalValue:_c6a.originalValue,disabled:_c6a.disabled,readonly:_c6a.readonly}); -},cloneFrom:function(jq,from){ -return jq.each(function(){ -$(this).combo("cloneFrom",from); -$.data(this,"datebox",{options:$.extend(true,{},$(from).datebox("options")),calendar:$(from).datebox("calendar")}); -$(this).addClass("datebox-f"); -}); -},calendar:function(jq){ -return $.data(jq[0],"datebox").calendar; -},initValue:function(jq,_c6b){ -return jq.each(function(){ -var opts=$(this).datebox("options"); -var _c6c=opts.value; -if(_c6c){ -_c6c=opts.formatter.call(this,opts.parser.call(this,_c6c)); -} -$(this).combo("initValue",_c6c).combo("setText",_c6c); -}); -},setValue:function(jq,_c6d){ -return jq.each(function(){ -_c5c(this,_c6d); -}); -},reset:function(jq){ -return jq.each(function(){ -var opts=$(this).datebox("options"); -$(this).datebox("setValue",opts.originalValue); -}); -}}; -$.fn.datebox.parseOptions=function(_c6e){ -return $.extend({},$.fn.combo.parseOptions(_c6e),$.parser.parseOptions(_c6e,["sharedCalendar"])); -}; -$.fn.datebox.defaults=$.extend({},$.fn.combo.defaults,{panelWidth:250,panelHeight:"auto",sharedCalendar:null,keyHandler:{up:function(e){ -},down:function(e){ -},left:function(e){ -},right:function(e){ -},enter:function(e){ -_c5d(this); -},query:function(q,e){ -_c5a(this,q); -}},currentText:"Today",closeText:"Close",okText:"Ok",buttons:[{text:function(_c6f){ -return $(_c6f).datebox("options").currentText; -},handler:function(_c70){ -var opts=$(_c70).datebox("options"); -var now=new Date(); -var _c71=new Date(now.getFullYear(),now.getMonth(),now.getDate()); -$(_c70).datebox("calendar").calendar({year:_c71.getFullYear(),month:_c71.getMonth()+1,current:_c71}); -opts.onSelect.call(_c70,_c71); -_c5d(_c70); -}},{text:function(_c72){ -return $(_c72).datebox("options").closeText; -},handler:function(_c73){ -$(this).closest("div.combo-panel").panel("close"); -}}],formatter:function(date){ -var y=date.getFullYear(); -var m=date.getMonth()+1; -var d=date.getDate(); -return (m<10?("0"+m):m)+"/"+(d<10?("0"+d):d)+"/"+y; -},parser:function(s){ -if(!s){ -return new Date(); -} -var ss=s.split("/"); -var m=parseInt(ss[0],10); -var d=parseInt(ss[1],10); -var y=parseInt(ss[2],10); -if(!isNaN(y)&&!isNaN(m)&&!isNaN(d)){ -return new Date(y,m-1,d); -}else{ -return new Date(); -} -},onSelect:function(date){ -}}); -})(jQuery); -(function($){ -function _c74(_c75){ -var _c76=$.data(_c75,"datetimebox"); -var opts=_c76.options; -$(_c75).datebox($.extend({},opts,{onShowPanel:function(){ -var _c77=$(this).datetimebox("getValue"); -_c7d(this,_c77,true); -opts.onShowPanel.call(this); -},formatter:$.fn.datebox.defaults.formatter,parser:$.fn.datebox.defaults.parser})); -$(_c75).removeClass("datebox-f").addClass("datetimebox-f"); -$(_c75).datebox("calendar").calendar({onSelect:function(date){ -opts.onSelect.call(this.target,date); -}}); -if(!_c76.spinner){ -var _c78=$(_c75).datebox("panel"); -var p=$("
    ").insertAfter(_c78.children("div.datebox-calendar-inner")); -_c76.spinner=p.children("input"); -} -_c76.spinner.timespinner({width:opts.spinnerWidth,showSeconds:opts.showSeconds,separator:opts.timeSeparator}); -$(_c75).datetimebox("initValue",opts.value); -}; -function _c79(_c7a){ -var c=$(_c7a).datetimebox("calendar"); -var t=$(_c7a).datetimebox("spinner"); -var date=c.calendar("options").current; -return new Date(date.getFullYear(),date.getMonth(),date.getDate(),t.timespinner("getHours"),t.timespinner("getMinutes"),t.timespinner("getSeconds")); -}; -function _c7b(_c7c,q){ -_c7d(_c7c,q,true); -}; -function _c7e(_c7f){ -var opts=$.data(_c7f,"datetimebox").options; -var date=_c79(_c7f); -_c7d(_c7f,opts.formatter.call(_c7f,date)); -$(_c7f).combo("hidePanel"); -}; -function _c7d(_c80,_c81,_c82){ -var opts=$.data(_c80,"datetimebox").options; -$(_c80).combo("setValue",_c81); -if(!_c82){ -if(_c81){ -var date=opts.parser.call(_c80,_c81); -$(_c80).combo("setText",opts.formatter.call(_c80,date)); -$(_c80).combo("setValue",opts.formatter.call(_c80,date)); -}else{ -$(_c80).combo("setText",_c81); -} -} -var date=opts.parser.call(_c80,_c81); -$(_c80).datetimebox("calendar").calendar("moveTo",date); -$(_c80).datetimebox("spinner").timespinner("setValue",_c83(date)); -function _c83(date){ -function _c84(_c85){ -return (_c85<10?"0":"")+_c85; -}; -var tt=[_c84(date.getHours()),_c84(date.getMinutes())]; -if(opts.showSeconds){ -tt.push(_c84(date.getSeconds())); -} -return tt.join($(_c80).datetimebox("spinner").timespinner("options").separator); -}; -}; -$.fn.datetimebox=function(_c86,_c87){ -if(typeof _c86=="string"){ -var _c88=$.fn.datetimebox.methods[_c86]; -if(_c88){ -return _c88(this,_c87); -}else{ -return this.datebox(_c86,_c87); -} -} -_c86=_c86||{}; -return this.each(function(){ -var _c89=$.data(this,"datetimebox"); -if(_c89){ -$.extend(_c89.options,_c86); -}else{ -$.data(this,"datetimebox",{options:$.extend({},$.fn.datetimebox.defaults,$.fn.datetimebox.parseOptions(this),_c86)}); -} -_c74(this); -}); -}; -$.fn.datetimebox.methods={options:function(jq){ -var _c8a=jq.datebox("options"); -return $.extend($.data(jq[0],"datetimebox").options,{originalValue:_c8a.originalValue,disabled:_c8a.disabled,readonly:_c8a.readonly}); -},cloneFrom:function(jq,from){ -return jq.each(function(){ -$(this).datebox("cloneFrom",from); -$.data(this,"datetimebox",{options:$.extend(true,{},$(from).datetimebox("options")),spinner:$(from).datetimebox("spinner")}); -$(this).removeClass("datebox-f").addClass("datetimebox-f"); -}); -},spinner:function(jq){ -return $.data(jq[0],"datetimebox").spinner; -},initValue:function(jq,_c8b){ -return jq.each(function(){ -var opts=$(this).datetimebox("options"); -var _c8c=opts.value; -if(_c8c){ -_c8c=opts.formatter.call(this,opts.parser.call(this,_c8c)); -} -$(this).combo("initValue",_c8c).combo("setText",_c8c); -}); -},setValue:function(jq,_c8d){ -return jq.each(function(){ -_c7d(this,_c8d); -}); -},reset:function(jq){ -return jq.each(function(){ -var opts=$(this).datetimebox("options"); -$(this).datetimebox("setValue",opts.originalValue); -}); -}}; -$.fn.datetimebox.parseOptions=function(_c8e){ -var t=$(_c8e); -return $.extend({},$.fn.datebox.parseOptions(_c8e),$.parser.parseOptions(_c8e,["timeSeparator","spinnerWidth",{showSeconds:"boolean"}])); -}; -$.fn.datetimebox.defaults=$.extend({},$.fn.datebox.defaults,{spinnerWidth:"100%",showSeconds:true,timeSeparator:":",panelEvents:{mousedown:function(e){ -}},keyHandler:{up:function(e){ -},down:function(e){ -},left:function(e){ -},right:function(e){ -},enter:function(e){ -_c7e(this); -},query:function(q,e){ -_c7b(this,q); -}},buttons:[{text:function(_c8f){ -return $(_c8f).datetimebox("options").currentText; -},handler:function(_c90){ -var opts=$(_c90).datetimebox("options"); -_c7d(_c90,opts.formatter.call(_c90,new Date())); -$(_c90).datetimebox("hidePanel"); -}},{text:function(_c91){ -return $(_c91).datetimebox("options").okText; -},handler:function(_c92){ -_c7e(_c92); -}},{text:function(_c93){ -return $(_c93).datetimebox("options").closeText; -},handler:function(_c94){ -$(_c94).datetimebox("hidePanel"); -}}],formatter:function(date){ -var h=date.getHours(); -var M=date.getMinutes(); -var s=date.getSeconds(); -function _c95(_c96){ -return (_c96<10?"0":"")+_c96; -}; -var _c97=$(this).datetimebox("spinner").timespinner("options").separator; -var r=$.fn.datebox.defaults.formatter(date)+" "+_c95(h)+_c97+_c95(M); -if($(this).datetimebox("options").showSeconds){ -r+=_c97+_c95(s); -} -return r; -},parser:function(s){ -if($.trim(s)==""){ -return new Date(); -} -var dt=s.split(" "); -var d=$.fn.datebox.defaults.parser(dt[0]); -if(dt.length<2){ -return d; -} -var _c98=$(this).datetimebox("spinner").timespinner("options").separator; -var tt=dt[1].split(_c98); -var hour=parseInt(tt[0],10)||0; -var _c99=parseInt(tt[1],10)||0; -var _c9a=parseInt(tt[2],10)||0; -return new Date(d.getFullYear(),d.getMonth(),d.getDate(),hour,_c99,_c9a); -}}); -})(jQuery); -(function($){ -function init(_c9b){ -var _c9c=$("
    "+"
    "+""+""+"
    "+"
    "+"
    "+"
    "+""+"
    ").insertAfter(_c9b); -var t=$(_c9b); -t.addClass("slider-f").hide(); -var name=t.attr("name"); -if(name){ -_c9c.find("input.slider-value").attr("name",name); -t.removeAttr("name").attr("sliderName",name); -} -_c9c.bind("_resize",function(e,_c9d){ -if($(this).hasClass("easyui-fluid")||_c9d){ -_c9e(_c9b); -} -return false; -}); -return _c9c; -}; -function _c9e(_c9f,_ca0){ -var _ca1=$.data(_c9f,"slider"); -var opts=_ca1.options; -var _ca2=_ca1.slider; -if(_ca0){ -if(_ca0.width){ -opts.width=_ca0.width; -} -if(_ca0.height){ -opts.height=_ca0.height; -} -} -_ca2._size(opts); -if(opts.mode=="h"){ -_ca2.css("height",""); -_ca2.children("div").css("height",""); -}else{ -_ca2.css("width",""); -_ca2.children("div").css("width",""); -_ca2.children("div.slider-rule,div.slider-rulelabel,div.slider-inner")._outerHeight(_ca2._outerHeight()); -} -_ca3(_c9f); -}; -function _ca4(_ca5){ -var _ca6=$.data(_ca5,"slider"); -var opts=_ca6.options; -var _ca7=_ca6.slider; -var aa=opts.mode=="h"?opts.rule:opts.rule.slice(0).reverse(); -if(opts.reversed){ -aa=aa.slice(0).reverse(); -} -_ca8(aa); -function _ca8(aa){ -var rule=_ca7.find("div.slider-rule"); -var _ca9=_ca7.find("div.slider-rulelabel"); -rule.empty(); -_ca9.empty(); -for(var i=0;i").appendTo(rule); -span.css((opts.mode=="h"?"left":"top"),_caa); -if(aa[i]!="|"){ -span=$("").appendTo(_ca9); -span.html(aa[i]); -if(opts.mode=="h"){ -span.css({left:_caa,marginLeft:-Math.round(span.outerWidth()/2)}); -}else{ -span.css({top:_caa,marginTop:-Math.round(span.outerHeight()/2)}); -} -} -} -}; -}; -function _cab(_cac){ -var _cad=$.data(_cac,"slider"); -var opts=_cad.options; -var _cae=_cad.slider; -_cae.removeClass("slider-h slider-v slider-disabled"); -_cae.addClass(opts.mode=="h"?"slider-h":"slider-v"); -_cae.addClass(opts.disabled?"slider-disabled":""); -var _caf=_cae.find(".slider-inner"); -_caf.html(""+""); -if(opts.range){ -_caf.append(""+""); -} -_cae.find("a.slider-handle").draggable({axis:opts.mode,cursor:"pointer",disabled:opts.disabled,onDrag:function(e){ -var left=e.data.left; -var _cb0=_cae.width(); -if(opts.mode!="h"){ -left=e.data.top; -_cb0=_cae.height(); -} -if(left<0||left>_cb0){ -return false; -}else{ -_cb1(left,this); -return false; -} -},onStartDrag:function(){ -_cad.isDragging=true; -opts.onSlideStart.call(_cac,opts.value); -},onStopDrag:function(e){ -_cb1(opts.mode=="h"?e.data.left:e.data.top,this); -opts.onSlideEnd.call(_cac,opts.value); -opts.onComplete.call(_cac,opts.value); -_cad.isDragging=false; -}}); -_cae.find("div.slider-inner").unbind(".slider").bind("mousedown.slider",function(e){ -if(_cad.isDragging||opts.disabled){ -return; -} -var pos=$(this).offset(); -_cb1(opts.mode=="h"?(e.pageX-pos.left):(e.pageY-pos.top)); -opts.onComplete.call(_cac,opts.value); -}); -function _cb2(_cb3){ -var dd=String(opts.step).split("."); -var dlen=dd.length>1?dd[1].length:0; -return parseFloat(_cb3.toFixed(dlen)); -}; -function _cb1(pos,_cb4){ -var _cb5=_cb6(_cac,pos); -var s=Math.abs(_cb5%opts.step); -if(s0; -if(_cb5<=v2&&_cb7){ -v1=_cb5; -}else{ -if(_cb5>=v1&&(!_cb7)){ -v2=_cb5; -} -} -}else{ -if(_cb5v2){ -v2=_cb5; -}else{ -_cb5opts.max){ -_cbf=opts.max; -} -var _cc0=$("").appendTo(_cbc); -_cc0.attr("name",name); -_cc0.val(_cbf); -_cbe.push(_cbf); -var _cc1=_cbc.find(".slider-handle:eq("+i+")"); -var tip=_cc1.next(); -var pos=_cc2(_cb9,_cbf); -if(opts.showTip){ -tip.show(); -tip.html(opts.tipFormatter.call(_cb9,_cbf)); -}else{ -tip.hide(); -} -if(opts.mode=="h"){ -var _cc3="left:"+pos+"px;"; -_cc1.attr("style",_cc3); -tip.attr("style",_cc3+"margin-left:"+(-Math.round(tip.outerWidth()/2))+"px"); -}else{ -var _cc3="top:"+pos+"px;"; -_cc1.attr("style",_cc3); -tip.attr("style",_cc3+"margin-left:"+(-Math.round(tip.outerWidth()))+"px"); -} -} -opts.value=opts.range?_cbe:_cbe[0]; -$(_cb9).val(opts.range?_cbe.join(opts.separator):_cbe[0]); -if(_cbd.join(",")!=_cbe.join(",")){ -opts.onChange.call(_cb9,opts.value,(opts.range?_cbd:_cbd[0])); -} -}; -function _ca3(_cc4){ -var opts=$.data(_cc4,"slider").options; -var fn=opts.onChange; -opts.onChange=function(){ -}; -_cb8(_cc4,opts.value); -opts.onChange=fn; -}; -function _cc2(_cc5,_cc6){ -var _cc7=$.data(_cc5,"slider"); -var opts=_cc7.options; -var _cc8=_cc7.slider; -var size=opts.mode=="h"?_cc8.width():_cc8.height(); -var pos=opts.converter.toPosition.call(_cc5,_cc6,size); -if(opts.mode=="v"){ -pos=_cc8.height()-pos; -} -if(opts.reversed){ -pos=size-pos; -} -return pos; -}; -function _cb6(_cc9,pos){ -var _cca=$.data(_cc9,"slider"); -var opts=_cca.options; -var _ccb=_cca.slider; -var size=opts.mode=="h"?_ccb.width():_ccb.height(); -var pos=opts.mode=="h"?(opts.reversed?(size-pos):pos):(opts.reversed?pos:(size-pos)); -var _ccc=opts.converter.toValue.call(_cc9,pos,size); -return _ccc; -}; -$.fn.slider=function(_ccd,_cce){ -if(typeof _ccd=="string"){ -return $.fn.slider.methods[_ccd](this,_cce); -} -_ccd=_ccd||{}; -return this.each(function(){ -var _ccf=$.data(this,"slider"); -if(_ccf){ -$.extend(_ccf.options,_ccd); -}else{ -_ccf=$.data(this,"slider",{options:$.extend({},$.fn.slider.defaults,$.fn.slider.parseOptions(this),_ccd),slider:init(this)}); -$(this)._propAttr("disabled",false); -} -var opts=_ccf.options; -opts.min=parseFloat(opts.min); -opts.max=parseFloat(opts.max); -if(opts.range){ -if(!$.isArray(opts.value)){ -opts.value=$.map(String(opts.value).split(opts.separator),function(v){ -return parseFloat(v); -}); -} -if(opts.value.length<2){ -opts.value.push(opts.max); -} -}else{ -opts.value=parseFloat(opts.value); -} -opts.step=parseFloat(opts.step); -opts.originalValue=opts.value; -_cab(this); -_ca4(this); -_c9e(this); -}); -}; -$.fn.slider.methods={options:function(jq){ -return $.data(jq[0],"slider").options; -},destroy:function(jq){ -return jq.each(function(){ -$.data(this,"slider").slider.remove(); -$(this).remove(); -}); -},resize:function(jq,_cd0){ -return jq.each(function(){ -_c9e(this,_cd0); -}); -},getValue:function(jq){ -return jq.slider("options").value; -},getValues:function(jq){ -return jq.slider("options").value; -},setValue:function(jq,_cd1){ -return jq.each(function(){ -_cb8(this,[_cd1]); -}); -},setValues:function(jq,_cd2){ -return jq.each(function(){ -_cb8(this,_cd2); -}); -},clear:function(jq){ -return jq.each(function(){ -var opts=$(this).slider("options"); -_cb8(this,opts.range?[opts.min,opts.max]:[opts.min]); -}); -},reset:function(jq){ -return jq.each(function(){ -var opts=$(this).slider("options"); -$(this).slider(opts.range?"setValues":"setValue",opts.originalValue); -}); -},enable:function(jq){ -return jq.each(function(){ -$.data(this,"slider").options.disabled=false; -_cab(this); -}); -},disable:function(jq){ -return jq.each(function(){ -$.data(this,"slider").options.disabled=true; -_cab(this); -}); -}}; -$.fn.slider.parseOptions=function(_cd3){ -var t=$(_cd3); -return $.extend({},$.parser.parseOptions(_cd3,["width","height","mode",{reversed:"boolean",showTip:"boolean",range:"boolean",min:"number",max:"number",step:"number"}]),{value:(t.val()||undefined),disabled:(t.attr("disabled")?true:undefined),rule:(t.attr("rule")?eval(t.attr("rule")):undefined)}); -}; -$.fn.slider.defaults={width:"auto",height:"auto",mode:"h",reversed:false,showTip:false,disabled:false,range:false,value:0,separator:",",min:0,max:100,step:1,rule:[],tipFormatter:function(_cd4){ -return _cd4; -},converter:{toPosition:function(_cd5,size){ -var opts=$(this).slider("options"); -var p=(_cd5-opts.min)/(opts.max-opts.min)*size; -return p; -},toValue:function(pos,size){ -var opts=$(this).slider("options"); -var v=opts.min+(opts.max-opts.min)*(pos/size); -return v; -}},onChange:function(_cd6,_cd7){ -},onSlideStart:function(_cd8){ -},onSlideEnd:function(_cd9){ -},onComplete:function(_cda){ -}}; -})(jQuery); - diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/js/jquery.min.js b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/js/jquery.min.js deleted file mode 100644 index e836475..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/js/jquery.min.js +++ /dev/null @@ -1,5 +0,0 @@ -/*! jQuery v1.12.4 | (c) jQuery Foundation | jquery.org/license */ -!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="1.12.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(!l.ownFirst)for(b in a)return k.call(a,b);for(b in a);return void 0===b||k.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(h)return h.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=e.call(arguments,2),d=function(){return a.apply(b||this,c.concat(e.call(arguments)))},d.guid=a.guid=a.guid||n.guid++,d):void 0},now:function(){return+new Date},support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}if(f=d.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return A.find(a);this.length=1,this[0]=f}return this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||(e=n.uniqueSort(e)),D.test(a)&&(e=e.reverse())),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=!0,c||j.disable(),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.addEventListener?(d.removeEventListener("DOMContentLoaded",K),a.removeEventListener("load",K)):(d.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(d.addEventListener||"load"===a.event.type||"complete"===d.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll)a.setTimeout(n.ready);else if(d.addEventListener)d.addEventListener("DOMContentLoaded",K),a.addEventListener("load",K);else{d.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&d.documentElement}catch(e){}c&&c.doScroll&&!function f(){if(!n.isReady){try{c.doScroll("left")}catch(b){return a.setTimeout(f,50)}J(),n.ready()}}()}return I.promise(b)},n.ready.promise();var L;for(L in n(l))break;l.ownFirst="0"===L,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c,e;c=d.getElementsByTagName("body")[0],c&&c.style&&(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",l.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(e))}),function(){var a=d.createElement("div");l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}a=null}();var M=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b},N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0; -}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(M(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),"object"!=typeof b&&"function"!=typeof b||(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}function S(a,b,c){if(M(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=void 0)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&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 n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},Z=/^(?:checkbox|radio)$/i,$=/<([\w:-]+)/,_=/^$|\/(?:java|ecma)script/i,aa=/^\s+/,ba="abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";function ca(a){var b=ba.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}!function(){var a=d.createElement("div"),b=d.createDocumentFragment(),c=d.createElement("input");a.innerHTML="
    a",l.leadingWhitespace=3===a.firstChild.nodeType,l.tbody=!a.getElementsByTagName("tbody").length,l.htmlSerialize=!!a.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==d.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,b.appendChild(c),l.appendChecked=c.checked,a.innerHTML="",l.noCloneChecked=!!a.cloneNode(!0).lastChild.defaultValue,b.appendChild(a),c=d.createElement("input"),c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),a.appendChild(c),l.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!!a.addEventListener,a[n.expando]=1,l.attributes=!a.getAttribute(n.expando)}();var da={option:[1,""],legend:[1,"
    ","
    "],area:[1,"",""],param:[1,"",""],thead:[1,"","
    "],tr:[2,"","
    "],col:[2,"","
    "],td:[3,"","
    "],_default:l.htmlSerialize?[0,"",""]:[1,"X
    ","
    "]};da.optgroup=da.option,da.tbody=da.tfoot=da.colgroup=da.caption=da.thead,da.th=da.td;function ea(a,b){var c,d,e=0,f="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,ea(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function fa(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}var ga=/<|&#?\w+;/,ha=/r;r++)if(g=a[r],g||0===g)if("object"===n.type(g))n.merge(q,g.nodeType?[g]:g);else if(ga.test(g)){i=i||p.appendChild(b.createElement("div")),j=($.exec(g)||["",""])[1].toLowerCase(),m=da[j]||da._default,i.innerHTML=m[1]+n.htmlPrefilter(g)+m[2],f=m[0];while(f--)i=i.lastChild;if(!l.leadingWhitespace&&aa.test(g)&&q.push(b.createTextNode(aa.exec(g)[0])),!l.tbody){g="table"!==j||ha.test(g)?""!==m[1]||ha.test(g)?0:i:i.firstChild,f=g&&g.childNodes.length;while(f--)n.nodeName(k=g.childNodes[f],"tbody")&&!k.childNodes.length&&g.removeChild(k)}n.merge(q,i.childNodes),i.textContent="";while(i.firstChild)i.removeChild(i.firstChild);i=p.lastChild}else q.push(b.createTextNode(g));i&&p.removeChild(i),l.appendChecked||n.grep(ea(q,"input"),ia),r=0;while(g=q[r++])if(d&&n.inArray(g,d)>-1)e&&e.push(g);else if(h=n.contains(g.ownerDocument,g),i=ea(p.appendChild(g),"script"),h&&fa(i),c){f=0;while(g=i[f++])_.test(g.type||"")&&c.push(g)}return i=null,p}!function(){var b,c,e=d.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b]=c in a)||(e.setAttribute(c,"t"),l[b]=e.attributes[c].expando===!1);e=null}();var ka=/^(?:input|select|textarea)$/i,la=/^key/,ma=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,na=/^(?:focusinfocus|focusoutblur)$/,oa=/^([^.]*)(?:\.(.+)|)/;function pa(){return!0}function qa(){return!1}function ra(){try{return d.activeElement}catch(a){}}function sa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)sa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=qa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return"undefined"==typeof n||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(G)||[""],h=b.length;while(h--)f=oa.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=oa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(i=m=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!na.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),h=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),l=n.event.special[q]||{},f||!l.trigger||l.trigger.apply(e,c)!==!1)){if(!f&&!l.noBubble&&!n.isWindow(e)){for(j=l.delegateType||q,na.test(j+q)||(i=i.parentNode);i;i=i.parentNode)p.push(i),m=i;m===(e.ownerDocument||d)&&p.push(m.defaultView||m.parentWindow||a)}o=0;while((i=p[o++])&&!b.isPropagationStopped())b.type=o>1?j:l.bindType||q,g=(n._data(i,"events")||{})[b.type]&&n._data(i,"handle"),g&&g.apply(i,c),g=h&&i[h],g&&g.apply&&M(i)&&(b.result=g.apply(i,c),b.result===!1&&b.preventDefault());if(b.type=q,!f&&!b.isDefaultPrevented()&&(!l._default||l._default.apply(p.pop(),c)===!1)&&M(e)&&h&&e[q]&&!n.isWindow(e)){m=e[h],m&&(e[h]=null),n.event.triggered=q;try{e[q]()}catch(s){}n.event.triggered=void 0,m&&(e[h]=m)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]","i"),va=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,wa=/\s*$/g,Aa=ca(d),Ba=Aa.appendChild(d.createElement("div"));function Ca(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function Da(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function Ea(a){var b=ya.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Ga(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(Da(b).text=a.text,Ea(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Z.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}}function Ha(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&xa.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(o&&(k=ja(b,a[0].ownerDocument,!1,a,d),e=k.firstChild,1===k.childNodes.length&&(k=e),e||d)){for(i=n.map(ea(k,"script"),Da),h=i.length;o>m;m++)g=k,m!==p&&(g=n.clone(g,!0,!0),h&&n.merge(i,ea(g,"script"))),c.call(a[m],g,m);if(h)for(j=i[i.length-1].ownerDocument,n.map(i,Ea),m=0;h>m;m++)g=i[m],_.test(g.type||"")&&!n._data(g,"globalEval")&&n.contains(j,g)&&(g.src?n._evalUrl&&n._evalUrl(g.src):n.globalEval((g.text||g.textContent||g.innerHTML||"").replace(za,"")));k=e=null}return a}function Ia(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(ea(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&fa(ea(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(va,"<$1>")},clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!ua.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(Ba.innerHTML=a.outerHTML,Ba.removeChild(f=Ba.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=ea(f),h=ea(a),g=0;null!=(e=h[g]);++g)d[g]&&Ga(e,d[g]);if(b)if(c)for(h=h||ea(a),d=d||ea(f),g=0;null!=(e=h[g]);g++)Fa(e,d[g]);else Fa(a,f);return d=ea(f,"script"),d.length>0&&fa(d,!i&&ea(a,"script")),d=h=e=null,f},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.attributes,m=n.event.special;null!=(d=a[h]);h++)if((b||M(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k||"undefined"==typeof d.removeAttribute?d[i]=void 0:d.removeAttribute(i),c.push(f))}}}),n.fn.extend({domManip:Ha,detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return Y(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||d).createTextNode(a))},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(ea(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return Y(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(ta,""):void 0;if("string"==typeof a&&!wa.test(a)&&(l.htmlSerialize||!ua.test(a))&&(l.leadingWhitespace||!aa.test(a))&&!da[($.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ea(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(ea(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],f=n(a),h=f.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(f[d])[b](c),g.apply(e,c.get());return this.pushStack(e)}});var Ja,Ka={HTML:"block",BODY:"block"};function La(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function Ma(a){var b=d,c=Ka[a];return c||(c=La(a,b),"none"!==c&&c||(Ja=(Ja||n("'); - } else { - var url = "http://api.map.baidu.com/staticimage?center=" + center.lng + ',' + center.lat + - "&zoom=" + zoom + "&width=" + size.width + '&height=' + size.height + "&markers=" + point.lng + ',' + point.lat; - editor.execCommand('inserthtml', ''); - } - }; - document.getElementById("address").focus(); - - - - - diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/map/show.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/map/show.html deleted file mode 100644 index 329cfeb..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/map/show.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - 百度地图API自定义地图 - - - - - - - -
    - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/music/music.css b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/music/music.css deleted file mode 100644 index 8fb7a94..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/music/music.css +++ /dev/null @@ -1,30 +0,0 @@ -.wrapper{margin: 5px 10px;} - -.searchBar{height:30px;padding:7px 0 3px;text-align:center;} -.searchBtn{font-size:13px;height:24px;} - -.resultBar{width:460px;margin:5px auto;border: 1px solid #CCC;border-radius: 5px;box-shadow: 2px 2px 5px #D3D6DA;overflow: hidden;} - -.listPanel{overflow: hidden;} -.panelon{display:block;} -.paneloff{display:none} - -.page{width:220px;margin:20px auto;overflow: hidden;} -.pageon{float:right;width:24px;line-height:24px;height:24px;margin-right: 5px;background: none;border: none;color: #000;font-weight: bold;text-align:center} -.pageoff{float:right;width:24px;line-height:24px;height:24px;cursor:pointer;background-color: #fff; - border: 1px solid #E7ECF0;color: #2D64B3;margin-right: 5px;text-decoration: none;text-align:center;} - -.m-box{width:460px;} -.m-m{float: left;line-height: 20px;height: 20px;} -.m-h{height:24px;line-height:24px;padding-left: 46px;background-color:#FAFAFA;border-bottom: 1px solid #DAD8D8;font-weight: bold;font-size: 12px;color: #333;} -.m-l{float:left;width:40px; } -.m-t{float:left;width:140px;} -.m-s{float:left;width:110px;} -.m-z{float:left;width:100px;} -.m-try-t{float: left;width: 60px;;} - -.m-try{float:left;width:20px;height:20px;background:url('http://static.tieba.baidu.com/tb/editor/images/try_music.gif') no-repeat ;} -.m-trying{float:left;width:20px;height:20px;background:url('http://static.tieba.baidu.com/tb/editor/images/stop_music.gif') no-repeat ;} - -.loading{width:95px;height:7px;font-size:7px;margin:60px auto;background:url(http://static.tieba.baidu.com/tb/editor/images/loading.gif) no-repeat} -.empty{width:300px;height:40px;padding:2px;margin:50px auto;line-height:40px; color:#006699;text-align:center;} \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/music/music.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/music/music.html deleted file mode 100644 index e7ef04f..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/music/music.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - 插入音乐 - - - - -
    - -
    - -
    -
    -
    -
    - - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/music/music.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/music/music.js deleted file mode 100644 index 1c538bf..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/music/music.js +++ /dev/null @@ -1,192 +0,0 @@ -function Music() { - this.init(); -} -(function () { - var pages = [], - panels = [], - selectedItem = null; - Music.prototype = { - total:70, - pageSize:10, - dataUrl:"http://tingapi.ting.baidu.com/v1/restserver/ting?method=baidu.ting.search.common", - playerUrl:"http://box.baidu.com/widget/flash/bdspacesong.swf", - - init:function () { - var me = this; - domUtils.on($G("J_searchName"), "keyup", function (event) { - var e = window.event || event; - if (e.keyCode == 13) { - me.dosearch(); - } - }); - domUtils.on($G("J_searchBtn"), "click", function () { - me.dosearch(); - }); - }, - callback:function (data) { - var me = this; - me.data = data.song_list; - setTimeout(function () { - $G('J_resultBar').innerHTML = me._renderTemplate(data.song_list); - }, 300); - }, - dosearch:function () { - var me = this; - selectedItem = null; - var key = $G('J_searchName').value; - if (utils.trim(key) == "")return false; - key = encodeURIComponent(key); - me._sent(key); - }, - doselect:function (i) { - var me = this; - if (typeof i == 'object') { - selectedItem = i; - } else if (typeof i == 'number') { - selectedItem = me.data[i]; - } - }, - onpageclick:function (id) { - var me = this; - for (var i = 0; i < pages.length; i++) { - $G(pages[i]).className = 'pageoff'; - $G(panels[i]).className = 'paneloff'; - } - $G('page' + id).className = 'pageon'; - $G('panel' + id).className = 'panelon'; - }, - listenTest:function (elem) { - var me = this, - view = $G('J_preview'), - is_play_action = (elem.className == 'm-try'), - old_trying = me._getTryingElem(); - - if (old_trying) { - old_trying.className = 'm-try'; - view.innerHTML = ''; - } - if (is_play_action) { - elem.className = 'm-trying'; - view.innerHTML = me._buildMusicHtml(me._getUrl(true)); - } - }, - _sent:function (param) { - var me = this; - $G('J_resultBar').innerHTML = '
    '; - - utils.loadFile(document, { - src:me.dataUrl + '&query=' + param + '&page_size=' + me.total + '&callback=music.callback&.r=' + Math.random(), - tag:"script", - type:"text/javascript", - defer:"defer" - }); - }, - _removeHtml:function (str) { - var reg = /<\s*\/?\s*[^>]*\s*>/gi; - return str.replace(reg, ""); - }, - _getUrl:function (isTryListen) { - var me = this; - var param = 'from=tiebasongwidget&url=&name=' + encodeURIComponent(me._removeHtml(selectedItem.title)) + '&artist=' - + encodeURIComponent(me._removeHtml(selectedItem.author)) + '&extra=' - + encodeURIComponent(me._removeHtml(selectedItem.album_title)) - + '&autoPlay='+isTryListen+'' + '&loop=true'; - return me.playerUrl + "?" + param; - }, - _getTryingElem:function () { - var s = $G('J_listPanel').getElementsByTagName('span'); - - for (var i = 0; i < s.length; i++) { - if (s[i].className == 'm-trying') - return s[i]; - } - return null; - }, - _buildMusicHtml:function (playerUrl) { - var html = ' 12) - return s.substring(0, 5) + '...'; - if (!s) s = " "; - return s; - }, - _rebuildData:function (data) { - var me = this, - newData = [], - d = me.pageSize, - itembox; - for (var i = 0; i < data.length; i++) { - if ((i + d) % d == 0) { - itembox = []; - newData.push(itembox) - } - itembox.push(data[i]); - } - return newData; - }, - _renderTemplate:function (data) { - var me = this; - if (data.length == 0)return '
    ' + lang.emptyTxt + '
    '; - data = me._rebuildData(data); - var s = [], p = [], t = []; - s.push('
    '); - p.push('
    '); - for (var i = 0, tmpList; tmpList = data[i++];) { - panels.push('panel' + i); - pages.push('page' + i); - if (i == 1) { - s.push('
    '); - if (data.length != 1) { - t.push('
    ' + (i ) + '
    '); - } - } else { - s.push('
    '); - t.push('
    ' + (i ) + '
    '); - } - s.push('
    '); - s.push('
    ' + lang.chapter + '' + lang.singer - + '' + lang.special + '' + lang.listenTest + '
    '); - for (var j = 0, tmpObj; tmpObj = tmpList[j++];) { - s.push(''); - } - s.push('
    '); - s.push('
    '); - } - t.reverse(); - p.push(t.join('')); - s.push('
    '); - p.push('
    '); - return s.join('') + p.join(''); - }, - exec:function () { - var me = this; - if (selectedItem == null) return; - $G('J_preview').innerHTML = ""; - editor.execCommand('music', { - url:me._getUrl(false), - width:400, - height:95 - }); - } - }; -})(); - - - diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/preview/preview.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/preview/preview.html deleted file mode 100644 index f6b433b..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/preview/preview.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - -
    - -
    - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/addimg.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/addimg.png deleted file mode 100644 index 03a87135bab65fa2633156789ed0f4a906d6c48b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 628 zcmV-)0*n2LP)LlfO?CQ4q&JZ};uuDR(Ob))OTXC`@eBz!@zF z+HgV%Hu^952Y4l=g(2n$i9ae63lhXcqYyM9#DWA|@b(rsk9+f;1wl+yj4;&{^Z8EZ zJ2T2T$4NrJSzdPEvg}xJM?R0MBtb zF(d!&V7bvXOyyt%V+_VxCMVl|G4K0L2`GSu4nDMoTw7VvC?4}634OnCk@;@JLnc3FEH3Q_>)m5edixGKIt7FkHcF4 O0000LlRapYQ51%sn|z5A!;eU>8r+{HJr7$}yPjp=Xw4K1Ua#f7iuXvM4a5!@5mnb6Jy5;4f zq^GClVK^)=CMV^$zAd#p)X9w(bjvTJaV6W6Y< zHElN4Fd9h58CQpMwnbCF0&&|nt--a91jfSjz&XY;RG1F=2?rH8AKl0($O&qx#;_=`eAIGPkrEiZ*t@m5rL2F^2%$?h~iba07-RvG6!+$Z#-hF)* z*wUa-u1NavBOIv|-+OxK963tx@)g|sy&J-7BIJt|`BL~qAQEA|QlZmXAv_UdV92*A z3}9Ln#}*y)LEQe`d0jImLzJL!8vd uXg6z^rfGozG)+U(G#m~GPN$P@*OZ@vE+GjWfY&Ji0000Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUzf=NU{R5(w?lReA9Q5c8MckvC3CRr4rWH3k}lHF)Du^B`%h=dG6 zguL4*gWaS^NGOSZ`kg^f{XGLc^_;r8yYF+Z`@GZ<;@`(&vA|?9`3kyXJRalQL01fi zLp&Z2WV6|iphH*mdOh6lcNB}ox0FgHl*{E8%(<2hUD0m0al73R4u_FWr%|m|U({+f zG#U+byIr{(BXid2&=t*Q6W8k%I-L%By=@ zm&*kzl?rOL8d|Lu!C(;4XcW0z4*h-~yWI|l!$HRBbc(@XARW4*QmNo{I>BPGNUT;X zoK7cPE*HFBFG8UZX0sXA>ow-{IbyLG;_u=hIe}(G|5Z=0000LlRs}0K@i1%ySKhz{O1fJ$i!Hn&_fERK@ibd zbP=ieOf+<);v-NHQBXy)C?X|I5W=L1LJA~<17{zJ<9KG5!k{1wk%*@njpn`4doyD~ z2uu@pDm37>c6P$IEISwYQmKSH==W(ZE}o0v_2wonsNzFl`^D^kf$u!}LQutt_h<;j zar~DygE3(2IEO&+5CUiji1#=ZK||o}yDIhi33JuKDcl%rWQp=QqMSoVf(}M_9S>Cz zoT{SUv$l2tmn+e19`WG*;h4Z$Tz-aRexA6TaMJJ5+ucP5L)3dz6(_2Uyk~!Jk0eQW z^|DCs>qV~3L9K47-Y79!zJ;+$TrLymKV!r*@*Yt=mC$IUKuQ!vbUH=4-H3MEa`k$j zhnMqIZzgp1JzK3F1=nNY_D=~Sf_Tr$%FJ)(9slx>D9Y%(@ACbV<1iJj6ctqv?-3E) zNCY1O8yiQHJFtexf@?2R{@BJ?i!}ygEd8hVIIh)jS(Xvyay))=@XwvUSz2QG?!rX< zd8>shILEWq)iaM~SSaveeSM-{Y&0;#;gB>(^b diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/empty.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/empty.png deleted file mode 100644 index 0375196257ac3c859373b3ebebbabe6f16105587..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 519 zcmV+i0{H!jP)Ll09-0Q4oZ`x4R&OpbGFo(29U6rOK6a3v&a7 z_DM+WM6pqhRKi!#4G@N6DKtGpus^URVFFJ&)8BN@dnqD#NM-jmudlA&{11>?2dmYJ zq9_;)28>1{cDr5ttSY|V-7%R=l6xQ-X2x_n?EuB!wC#2qd7hIOIeC_oWf>_YHk(bz zMaX$Q9;cHIE-o(@kBWl9lL2S1&UiW;@}sKQ@Am+B1TJ9`@6XQ{M-IY$At_veyCZkh z2#A0HNw}-$pgZDtT-F2Ob2F>OW^-Ac+hlWdQI_N05jzL&!X;$ZZFh;o!GLIH95bB; zNW$DPvl`UcHyv6%9(DgT!0PRm7pMi8VTV70h}zld2%+{!9YE@DjHv&@KO#8t7UG=) zNe~cC4#|6f?iJh}mm_H@6X8y{FD13$rOa5b*F8Xr2vSNfffuvc>}^?=9}+-HBod@% zcfjrE+jln~Z$1J0i1=~@0GiDNLcJQPqF|2002ov JPDHLkV1nZ!(%Jw3 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/emptyH.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/emptyH.png deleted file mode 100644 index 838ca723119499465f29e881a745f4d8a051e22c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 657 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2v2cMyUXw5Z8P6?!9~W&Mteod+EB17cYi1ZuhR-c=YJe)QJao zoqKZj)+^_N)hDk%kM7vxU%SOIZ)HU5u5H`4rB6P*;n@A6IVa_d+Vkc6Z`Cb3f9%S$swHPL zrX0?laV)ZJmtD^C)Jcaf-hX@G%JYPteGa)RpT7ON{^-5+yDx<|?_9t8V%D^yUKQ)t z9lf{e;O)TrtuBRYf*Q8PcI>guUcUO!os-vJoWJvW)22-q?!7sF_4&EmuM_+BN4D;= z&slDtz2el37q(f;)*ZQN z=N^Z=m4&lU_*8HD|Np=0=2?Njpo}XC@(TuXX$KfKp3qYR+O*iy#WAGfR#Jy6Gf%)R z4qpdHXJJo=hVYQC!~KV2MYI-VrJh`QUQ;LM&1;6x#M9b~#Ma7WK4-jqNPV%W#5&yr zqHMw)6OH>XB&SZ@(#H8io2zq2%cn~1gDgj6o15p{xKW{#z;wrkO(^fonRSm08Z|^C z74@VuOY>$h1UKwir)j@Gk;A27;=wb==bbzq+_Gcd9- Y9E)+P-Fqc+HPE>Xp00i_>zopr0P;w4-2eap diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/eraser.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/eraser.png deleted file mode 100644 index 63e87cecb90ed3ac0e4acbc257c6dddae5311e09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43271 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 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/redoH.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/redoH.png deleted file mode 100644 index d9f33d38a3d11ce10447830ce409a0890ecad264..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 536 zcmV+z0_XjSP)LlRro!K@`S+vst67f)FhPH9;i)IZy=QifsP%Q^7=yx~FIm{DVqJh#8yN2on55 zK6niC-hAJD?=d5!lvD$)D)w6iOxq2aw)?eGO}w=Q({?4W2uyj7_3$nS0b08|CV^$s zcEc4Nn6?`Q=790%;vf4s`J3kd?(rXB%yX=pvVdv3pMkYfEM|mb9T>VsU5&ud zHR{zG?2nRrWd3EgfMHFMKLD%wc#k35+Fxy@XQ-Rrp?E*AqO06&F51~7BhBb9F%{CA zdmJPWQouxT{!<~+LW6%qD0@z^RN@x6tuTZA%{2bb;RZ0`Io4$$5UD%$(J!*|z&Fpa za?fuyZTGrH*P6~!{%Io9+`*3VLY0+{d|s}SVM0@>uRpF)fd0F8hF zgjKx=6b8R6tZy&P{3zz{+r)RSrIc5o-hmLJL6K@zgnPx#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUzF-b&0R5(wyQ*Ba%Fc9qxdXyf4gZLw&GE-Zj!G1tU_|R6xf-Mzw ztkqtHqs45L76*QWA2RbM@MiON_wCZ@{O7ZK+oR9deF10dJg3G9@~FqDz{krMf6sUA zM9%t%Ge#w-z&79UR#oU%de6AjwTpqy2_YI|tk+7Q3^s=6YMHYnLz^_O1&3i+?2mwN&7$-;U#S!Q9m{<3SMoh?w@E00BVyxZ+RCwFLF4JWG!G zOmY$;RtOYQz#3aQ*W5#AiVywHJM`%L@4v^Nzsx*vCin1#lEeQmy!?Oq z<)3F?{!hO2^5n}ed515YeEH$t2cY2pvoHVmpTDyB(*MfC{~Hedzw_aD z|6#-Q0^JY(AHHp1XAM(|igs|-_4sV4KK0;p@m*h1S8U_x=m<-jvZ+JR;{IBr4+&>f zSEaF?oUyAYF85cQWPSYh#i0ycQ4jWf_nW(8?Ylo51`N|SiTvgEn+*yn22WQ%mvv4F FO#t{IsF?r& diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/size.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/size.png deleted file mode 100644 index 8366845059c94089aef92aa3aeeee79e242732eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 775 zcmeAS@N?(olHy`uVBq!ia0vp^Iv_R&Gmw0`s%8O@k}PqJC<)F_D=AMbN@Z|N$xljE z@XSq2PYp^@^W{ zcO82EKXB&y{MKgq%sz{fI)==3d^r;&6MFPw(_IV71M|xGvv%v3_j2X!dGPP#L^Pja~hhtj9%m4qMKL2y%^Z&`q z=WTfUnlHCkByWLuLg&Z-{~5B^aHX`VrcW0wpCeN?gQ0YF|Ek^0Wm|o-iywUa@%aCL z)%2NBbM`Q#t<@@?!;!p&H+$mBlaI^_YB&B#>#{8s<9mu2JY zGd5l4N$XHbnR5BlcfNx4cmMupDBR$-Y>#a9e1@#m@BaT>^X!XNW-&wBx||KyZ~Xty zRkTzmtwcMm#U?#ZF@LgB=2WKq4bg@9JjHY3ON;;i|F13o-WwPzN)S72Y1Qc%6 zcJYYNXcAOgEAc9NiWcu<*Ig$*&7M7NgR1o_Dx<9^s3W?&d{SwZWC%AQ=Vq^CQZBv#02ZVBfRNMNWq`8qHxO6)(-0}P(7 KelF{r5}E+VpO-NJ diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/undo.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/undo.png deleted file mode 100644 index 084c7cc73f4058c8084e5ea3ab4e51fd105b7991..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 444 zcmV;t0YmPx#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUzI!Q!9R5(v#U>KAjGc&U&EiH|oEXQSKWlhM*$@yPcSjb6|0imIx zY(ULRYin!&1L^-HX$ETG0XlnEb#?Xs>C>nGudAyA8-k93YSsZ=r-))WP>}=>pQ);< z`afyXB(MQ<=FIuOaN)xL%ayrnkSp|9?S2!GDaj0*gvQ(FlretOfvW z6$E0%n3$MFK-vn3oq^aBh<%|nh;Lrlg%pxVI0RlGdnYDm%@o%7K^0FfxN6OiJOCi zi#RxuqoSN#Tot)WQew-+VO#$I2f6IQORU!0vXfFu4udr_4m%hxc|CaQ+tc&%`}Y0* zp6?@=rpaH1_@`<>2#kh5+8+kyfa~8Vm_`&Qf&1?$uoEc2lIZmeVHg0~PYAMri0Se6 zisfa<1zrI21FQgkJAn`w4d(-ql&7Fh^q1h21YD9xhMb<=^2_=%c1k>YpaK0r=t;rC zt=CtVDk}a`Zc&w=rjAAzFb_055%guKXWR05;yaef&C8{>rA7h90VLo8XqA)a5z{mR zl$UZFi*u7y-#5(Rpt#aUb$tcVwXHUL6R&`FK~-0c!y{7ZV&N?eU3VYvo=oj*?jtLb z0%Y5tQ3JY+q#F9ffd-5m?iOx)5tafl#kIoD<11{3}kbno$;nIA;p5?+| zPj_N{G3Qm3Edm$dw4eYE%Yq5$7Rj9jP5AfU_y|@8ao4ld0UH1S002ovPDHLkV1l6! B+-3j( diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/scrawl.css b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/scrawl.css deleted file mode 100644 index b18430d..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/scrawl.css +++ /dev/null @@ -1,72 +0,0 @@ -/*common -*/ -body{margin: 0;} -table{width:100%;} -table td{padding:2px 4px;vertical-align: middle;} -a{text-decoration: none;} -em{font-style: normal;} -.border_style1{border: 1px solid #ccc;border-radius: 5px;box-shadow:2px 2px 5px #d3d6da;} -/*module -*/ -.main{margin: 8px;overflow: hidden;} - -.hot{float:left;height:335px;} -.drawBoard{position: relative; cursor: crosshair;} -.brushBorad{position: absolute;left:0;top:0;z-index: 998;} -.picBoard{border: none;text-align: center;line-height: 300px;cursor: default;} -.operateBar{margin-top:10px;font-size:12px;text-align: center;} -.operateBar span{margin-left: 10px;} - -.drawToolbar{float:right;width:110px;height:300px;overflow: hidden;} -.colorBar{margin-top:10px;font-size: 12px;text-align: center;} -.colorBar a{display:block;width: 10px;height: 10px;border:1px solid #1006F1;border-radius: 3px; box-shadow:2px 2px 5px #d3d6da;opacity: 0.3} -.sectionBar{margin-top:15px;font-size: 12px;text-align: center;} -.sectionBar a{display:inline-block;width:10px;height:12px;color: #888;text-indent: -999px;opacity: 0.3} -.size1{background: url('images/size.png') 1px center no-repeat ;} -.size2{background: url('images/size.png') -10px center no-repeat;} -.size3{background: url('images/size.png') -22px center no-repeat;} -.size4{background: url('images/size.png') -35px center no-repeat;} - -.addImgH{position: relative;} -.addImgH_form{position: absolute;left: 18px;top: -1px;width: 75px;height: 21px;opacity: 0;cursor: pointer;} -.addImgH_form input{width: 100%;} -/*scrawl遮罩层 -*/ -.maskLayerNull{display: none;} -.maskLayer{position: absolute;top:0;left:0;width: 100%; height: 100%;opacity: 0.7; - background-color: #fff;text-align:center;font-weight:bold;line-height:300px;z-index: 1000;} -/*btn state -*/ -.previousStepH .icon{display: inline-block;width:16px;height:16px;background-image: url('images/undoH.png');cursor: pointer;} -.previousStepH .text{color:#888;cursor:pointer;} -.previousStep .icon{display: inline-block;width:16px;height:16px;background-image: url('images/undo.png');cursor:default;} -.previousStep .text{color:#ccc;cursor:default;} - -.nextStepH .icon{display: inline-block;width:16px;height:16px;background-image: url('images/redoH.png');cursor: pointer;} -.nextStepH .text{color:#888;cursor:pointer;} -.nextStep .icon{display: inline-block;width:16px;height:16px;background-image: url('images/redo.png');cursor:default;} -.nextStep .text{color:#ccc;cursor:default;} - -.clearBoardH .icon{display: inline-block;width:16px;height:16px;background-image: url('images/emptyH.png');cursor: pointer;} -.clearBoardH .text{color:#888;cursor:pointer;} -.clearBoard .icon{display: inline-block;width:16px;height:16px;background-image: url('images/empty.png');cursor:default;} -.clearBoard .text{color:#ccc;cursor:default;} - -.scaleBoardH .icon{display: inline-block;width:16px;height:16px;background-image: url('images/scaleH.png');cursor: pointer;} -.scaleBoardH .text{color:#888;cursor:pointer;} -.scaleBoard .icon{display: inline-block;width:16px;height:16px;background-image: url('images/scale.png');cursor:default;} -.scaleBoard .text{color:#ccc;cursor:default;} - -.removeImgH .icon{display: inline-block;width:16px;height:16px;background-image: url('images/delimgH.png');cursor: pointer;} -.removeImgH .text{color:#888;cursor:pointer;} -.removeImg .icon{display: inline-block;width:16px;height:16px;background-image: url('images/delimg.png');cursor:default;} -.removeImg .text{color:#ccc;cursor:default;} - -.addImgH .icon{vertical-align:top;display: inline-block;width:16px;height:16px;background-image: url('images/addimg.png')} -.addImgH .text{color:#888;cursor:pointer;} -/*icon -*/ -.brushIcon{display: inline-block;width:16px;height:16px;background-image: url('images/brush.png')} -.eraserIcon{display: inline-block;width:16px;height:16px;background-image: url('images/eraser.png')} - - diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/scrawl.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/scrawl.html deleted file mode 100644 index 9371abd..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/scrawl.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - -
    -
    -
    - -
    -
    -
    - - - - - - - - - - - - - - - - -
    -
    -
    -
    -
    - - 1 - 3 - 5 - 7 -
    -
    - - 1 - 3 - 5 - 7 -
    -
    -
    - - -
    - - - -
    -
    -
    - - - - -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/scrawl.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/scrawl.js deleted file mode 100644 index e0c005e..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/scrawl.js +++ /dev/null @@ -1,671 +0,0 @@ -/** - * Created with JetBrains PhpStorm. - * User: xuheng - * Date: 12-5-22 - * Time: 上午11:38 - * To change this template use File | Settings | File Templates. - */ -var scrawl = function (options) { - options && this.initOptions(options); -}; -(function () { - var canvas = $G("J_brushBoard"), - context = canvas.getContext('2d'), - drawStep = [], //undo redo存储 - drawStepIndex = 0; //undo redo指针 - - scrawl.prototype = { - isScrawl:false, //是否涂鸦 - brushWidth:-1, //画笔粗细 - brushColor:"", //画笔颜色 - - initOptions:function (options) { - var me = this; - me.originalState(options);//初始页面状态 - me._buildToolbarColor(options.colorList);//动态生成颜色选择集合 - - me._addBoardListener(options.saveNum);//添加画板处理 - me._addOPerateListener(options.saveNum);//添加undo redo clearBoard处理 - me._addColorBarListener();//添加颜色选择处理 - me._addBrushBarListener();//添加画笔大小处理 - me._addEraserBarListener();//添加橡皮大小处理 - me._addAddImgListener();//添加增添背景图片处理 - me._addRemoveImgListenter();//删除背景图片处理 - me._addScalePicListenter();//添加缩放处理 - me._addClearSelectionListenter();//添加清楚选中状态处理 - - me._originalColorSelect(options.drawBrushColor);//初始化颜色选中 - me._originalBrushSelect(options.drawBrushSize);//初始化画笔选中 - me._clearSelection();//清楚选中状态 - }, - - originalState:function (options) { - var me = this; - - me.brushWidth = options.drawBrushSize;//同步画笔粗细 - me.brushColor = options.drawBrushColor;//同步画笔颜色 - - context.lineWidth = me.brushWidth;//初始画笔大小 - context.strokeStyle = me.brushColor;//初始画笔颜色 - context.fillStyle = "transparent";//初始画布背景颜色 - context.lineCap = "round";//去除锯齿 - context.fill(); - }, - _buildToolbarColor:function (colorList) { - var tmp = null, arr = []; - arr.push("
    "); - for (var i = 0, color; color = colorList[i++];) { - if ((i - 1) % 5 == 0) { - if (i != 1) { - arr.push(""); - } - arr.push(""); - } - tmp = '#' + color; - arr.push(""); - } - arr.push("
    "); - $G("J_colorBar").innerHTML = arr.join(""); - }, - - _addBoardListener:function (saveNum) { - var me = this, - margin = 0, - startX = -1, - startY = -1, - isMouseDown = false, - isMouseMove = false, - isMouseUp = false, - buttonPress = 0, button, flag = ''; - - margin = parseInt(domUtils.getComputedStyle($G("J_wrap"), "margin-left")); - drawStep.push(context.getImageData(0, 0, context.canvas.width, context.canvas.height)); - drawStepIndex += 1; - - domUtils.on(canvas, ["mousedown", "mousemove", "mouseup", "mouseout"], function (e) { - button = browser.webkit ? e.which : buttonPress; - switch (e.type) { - case 'mousedown': - buttonPress = 1; - flag = 1; - isMouseDown = true; - isMouseUp = false; - isMouseMove = false; - me.isScrawl = true; - startX = e.clientX - margin;//10为外边距总和 - startY = e.clientY - margin; - context.beginPath(); - break; - case 'mousemove' : - if (!flag && button == 0) { - return; - } - if (!flag && button) { - startX = e.clientX - margin;//10为外边距总和 - startY = e.clientY - margin; - context.beginPath(); - flag = 1; - } - if (isMouseUp || !isMouseDown) { - return; - } - var endX = e.clientX - margin, - endY = e.clientY - margin; - - context.moveTo(startX, startY); - context.lineTo(endX, endY); - context.stroke(); - startX = endX; - startY = endY; - isMouseMove = true; - break; - case 'mouseup': - buttonPress = 0; - if (!isMouseDown)return; - if (!isMouseMove) { - context.arc(startX, startY, context.lineWidth, 0, Math.PI * 2, false); - context.fillStyle = context.strokeStyle; - context.fill(); - } - context.closePath(); - me._saveOPerate(saveNum); - isMouseDown = false; - isMouseMove = false; - isMouseUp = true; - startX = -1; - startY = -1; - break; - case 'mouseout': - flag = ''; - buttonPress = 0; - if (button == 1) return; - context.closePath(); - break; - } - }); - }, - _addOPerateListener:function (saveNum) { - var me = this; - domUtils.on($G("J_previousStep"), "click", function () { - if (drawStepIndex > 1) { - drawStepIndex -= 1; - context.clearRect(0, 0, context.canvas.width, context.canvas.height); - context.putImageData(drawStep[drawStepIndex - 1], 0, 0); - me.btn2Highlight("J_nextStep"); - drawStepIndex == 1 && me.btn2disable("J_previousStep"); - } - }); - domUtils.on($G("J_nextStep"), "click", function () { - if (drawStepIndex > 0 && drawStepIndex < drawStep.length) { - context.clearRect(0, 0, context.canvas.width, context.canvas.height); - context.putImageData(drawStep[drawStepIndex], 0, 0); - drawStepIndex += 1; - me.btn2Highlight("J_previousStep"); - drawStepIndex == drawStep.length && me.btn2disable("J_nextStep"); - } - }); - domUtils.on($G("J_clearBoard"), "click", function () { - context.clearRect(0, 0, context.canvas.width, context.canvas.height); - drawStep = []; - me._saveOPerate(saveNum); - drawStepIndex = 1; - me.isScrawl = false; - me.btn2disable("J_previousStep"); - me.btn2disable("J_nextStep"); - me.btn2disable("J_clearBoard"); - }); - }, - _addColorBarListener:function () { - var me = this; - domUtils.on($G("J_colorBar"), "click", function (e) { - var target = me.getTarget(e), - color = target.title; - if (!!color) { - me._addColorSelect(target); - - me.brushColor = color; - context.globalCompositeOperation = "source-over"; - context.lineWidth = me.brushWidth; - context.strokeStyle = color; - } - }); - }, - _addBrushBarListener:function () { - var me = this; - domUtils.on($G("J_brushBar"), "click", function (e) { - var target = me.getTarget(e), - size = browser.ie ? target.innerText : target.text; - if (!!size) { - me._addBESelect(target); - - context.globalCompositeOperation = "source-over"; - context.lineWidth = parseInt(size); - context.strokeStyle = me.brushColor; - me.brushWidth = context.lineWidth; - } - }); - }, - _addEraserBarListener:function () { - var me = this; - domUtils.on($G("J_eraserBar"), "click", function (e) { - var target = me.getTarget(e), - size = browser.ie ? target.innerText : target.text; - if (!!size) { - me._addBESelect(target); - - context.lineWidth = parseInt(size); - context.globalCompositeOperation = "destination-out"; - context.strokeStyle = "#FFF"; - } - }); - }, - _addAddImgListener:function () { - var file = $G("J_imgTxt"); - if (!window.FileReader) { - $G("J_addImg").style.display = 'none'; - $G("J_removeImg").style.display = 'none'; - $G("J_sacleBoard").style.display = 'none'; - } - domUtils.on(file, "change", function (e) { - var frm = file.parentNode; - addMaskLayer(lang.backgroundUploading); - - var target = e.target || e.srcElement, - reader = new FileReader(); - reader.onload = function(evt){ - var target = evt.target || evt.srcElement; - ue_callback(target.result, 'SUCCESS'); - }; - reader.readAsDataURL(target.files[0]); - frm.reset(); - }); - }, - _addRemoveImgListenter:function () { - var me = this; - domUtils.on($G("J_removeImg"), "click", function () { - $G("J_picBoard").innerHTML = ""; - me.btn2disable("J_removeImg"); - me.btn2disable("J_sacleBoard"); - }); - }, - _addScalePicListenter:function () { - domUtils.on($G("J_sacleBoard"), "click", function () { - var picBoard = $G("J_picBoard"), - scaleCon = $G("J_scaleCon"), - img = picBoard.children[0]; - - if (img) { - if (!scaleCon) { - picBoard.style.cssText = "position:relative;z-index:999;"+picBoard.style.cssText; - img.style.cssText = "position: absolute;top:" + (canvas.height - img.height) / 2 + "px;left:" + (canvas.width - img.width) / 2 + "px;"; - var scale = new ScaleBoy(); - picBoard.appendChild(scale.init()); - scale.startScale(img); - } else { - if (scaleCon.style.visibility == "visible") { - scaleCon.style.visibility = "hidden"; - picBoard.style.position = ""; - picBoard.style.zIndex = ""; - } else { - scaleCon.style.visibility = "visible"; - picBoard.style.cssText += "position:relative;z-index:999"; - } - } - } - }); - }, - _addClearSelectionListenter:function () { - var doc = document; - domUtils.on(doc, 'mousemove', function (e) { - if (browser.ie && browser.version < 11) - doc.selection.clear(); - else - window.getSelection().removeAllRanges(); - }); - }, - _clearSelection:function () { - var list = ["J_operateBar", "J_colorBar", "J_brushBar", "J_eraserBar", "J_picBoard"]; - for (var i = 0, group; group = list[i++];) { - domUtils.unSelectable($G(group)); - } - }, - - _saveOPerate:function (saveNum) { - var me = this; - if (drawStep.length <= saveNum) { - if(drawStepIndex"); - } - scale.innerHTML = arr.join(""); - return scale; - } - - var rect = [ - //[left, top, width, height] - [1, 1, -1, -1], - [0, 1, 0, -1], - [0, 1, 1, -1], - [1, 0, -1, 0], - [0, 0, 1, 0], - [1, 0, -1, 1], - [0, 0, 0, 1], - [0, 0, 1, 1] - ]; - ScaleBoy.prototype = { - init:function () { - _appendStyle(); - var me = this, - scale = me.dom = _getDom(); - - me.scaleMousemove.fp = me; - domUtils.on(scale, 'mousedown', function (e) { - var target = e.target || e.srcElement; - me.start = {x:e.clientX, y:e.clientY}; - if (target.className.indexOf('hand') != -1) { - me.dir = target.className.replace('hand', ''); - } - domUtils.on(document.body, 'mousemove', me.scaleMousemove); - e.stopPropagation ? e.stopPropagation() : e.cancelBubble = true; - }); - domUtils.on(document.body, 'mouseup', function (e) { - if (me.start) { - domUtils.un(document.body, 'mousemove', me.scaleMousemove); - if (me.moved) { - me.updateScaledElement({position:{x:scale.style.left, y:scale.style.top}, size:{w:scale.style.width, h:scale.style.height}}); - } - delete me.start; - delete me.moved; - delete me.dir; - } - }); - return scale; - }, - startScale:function (objElement) { - var me = this, Idom = me.dom; - - Idom.style.cssText = 'visibility:visible;top:' + objElement.style.top + ';left:' + objElement.style.left + ';width:' + objElement.offsetWidth + 'px;height:' + objElement.offsetHeight + 'px;'; - me.scalingElement = objElement; - }, - updateScaledElement:function (objStyle) { - var cur = this.scalingElement, - pos = objStyle.position, - size = objStyle.size; - if (pos) { - typeof pos.x != 'undefined' && (cur.style.left = pos.x); - typeof pos.y != 'undefined' && (cur.style.top = pos.y); - } - if (size) { - size.w && (cur.style.width = size.w); - size.h && (cur.style.height = size.h); - } - }, - updateStyleByDir:function (dir, offset) { - var me = this, - dom = me.dom, tmp; - - rect['def'] = [1, 1, 0, 0]; - if (rect[dir][0] != 0) { - tmp = parseInt(dom.style.left) + offset.x; - dom.style.left = me._validScaledProp('left', tmp) + 'px'; - } - if (rect[dir][1] != 0) { - tmp = parseInt(dom.style.top) + offset.y; - dom.style.top = me._validScaledProp('top', tmp) + 'px'; - } - if (rect[dir][2] != 0) { - tmp = dom.clientWidth + rect[dir][2] * offset.x; - dom.style.width = me._validScaledProp('width', tmp) + 'px'; - } - if (rect[dir][3] != 0) { - tmp = dom.clientHeight + rect[dir][3] * offset.y; - dom.style.height = me._validScaledProp('height', tmp) + 'px'; - } - if (dir === 'def') { - me.updateScaledElement({position:{x:dom.style.left, y:dom.style.top}}); - } - }, - scaleMousemove:function (e) { - var me = arguments.callee.fp, - start = me.start, - dir = me.dir || 'def', - offset = {x:e.clientX - start.x, y:e.clientY - start.y}; - - me.updateStyleByDir(dir, offset); - arguments.callee.fp.start = {x:e.clientX, y:e.clientY}; - arguments.callee.fp.moved = 1; - }, - _validScaledProp:function (prop, value) { - var ele = this.dom, - wrap = $G("J_picBoard"); - - value = isNaN(value) ? 0 : value; - switch (prop) { - case 'left': - return value < 0 ? 0 : (value + ele.clientWidth) > wrap.clientWidth ? wrap.clientWidth - ele.clientWidth : value; - case 'top': - return value < 0 ? 0 : (value + ele.clientHeight) > wrap.clientHeight ? wrap.clientHeight - ele.clientHeight : value; - case 'width': - return value <= 0 ? 1 : (value + ele.offsetLeft) > wrap.clientWidth ? wrap.clientWidth - ele.offsetLeft : value; - case 'height': - return value <= 0 ? 1 : (value + ele.offsetTop) > wrap.clientHeight ? wrap.clientHeight - ele.offsetTop : value; - } - } - }; -})(); - -//后台回调 -function ue_callback(url, state) { - var doc = document, - picBorard = $G("J_picBoard"), - img = doc.createElement("img"); - - //图片缩放 - function scale(img, max, oWidth, oHeight) { - var width = 0, height = 0, percent, ow = img.width || oWidth, oh = img.height || oHeight; - if (ow > max || oh > max) { - if (ow >= oh) { - if (width = ow - max) { - percent = (width / ow).toFixed(2); - img.height = oh - oh * percent; - img.width = max; - } - } else { - if (height = oh - max) { - percent = (height / oh).toFixed(2); - img.width = ow - ow * percent; - img.height = max; - } - } - } - } - - //移除遮罩层 - removeMaskLayer(); - //状态响应 - if (state == "SUCCESS") { - picBorard.innerHTML = ""; - img.onload = function () { - scale(this, 300); - picBorard.appendChild(img); - - var obj = new scrawl(); - obj.btn2Highlight("J_removeImg"); - //trace 2457 - obj.btn2Highlight("J_sacleBoard"); - }; - img.src = url; - } else { - alert(state); - } -} -//去掉遮罩层 -function removeMaskLayer() { - var maskLayer = $G("J_maskLayer"); - maskLayer.className = "maskLayerNull"; - maskLayer.innerHTML = ""; - dialog.buttons[0].setDisabled(false); -} -//添加遮罩层 -function addMaskLayer(html) { - var maskLayer = $G("J_maskLayer"); - dialog.buttons[0].setDisabled(true); - maskLayer.className = "maskLayer"; - maskLayer.innerHTML = html; -} -//执行确认按钮方法 -function exec(scrawlObj) { - if (scrawlObj.isScrawl) { - addMaskLayer(lang.scrawlUpLoading); - var base64 = scrawlObj.getCanvasData(); - if (!!base64) { - var options = { - timeout:100000, - onsuccess:function (xhr) { - if (!scrawlObj.isCancelScrawl) { - var responseObj; - responseObj = eval("(" + xhr.responseText + ")"); - if (responseObj.state == "SUCCESS") { - var imgObj = {}, - url = editor.options.scrawlUrlPrefix + responseObj.url; - imgObj.src = url; - imgObj._src = url; - imgObj.alt = responseObj.original || ''; - imgObj.title = responseObj.title || ''; - editor.execCommand("insertImage", imgObj); - dialog.close(); - } else { - alert(responseObj.state); - } - - } - }, - onerror:function () { - alert(lang.imageError); - dialog.close(); - } - }; - options[editor.getOpt('scrawlFieldName')] = base64; - - var actionUrl = editor.getActionUrl(editor.getOpt('scrawlActionName')), - params = utils.serializeParam(editor.queryCommandValue('serverparam')) || '', - url = utils.formatUrl(actionUrl + (actionUrl.indexOf('?') == -1 ? '?':'&') + params); - ajax.request(url, options); - } - } else { - addMaskLayer(lang.noScarwl + "   "); - } -} - diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/searchreplace/searchreplace.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/searchreplace/searchreplace.html deleted file mode 100644 index b91f190..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/searchreplace/searchreplace.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - -
    :
    - -
    - - -
    -   -
    - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    :
    :
    - -
    - - - - -
    -   -
    - -
    -
    -
    -
    - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/searchreplace/searchreplace.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/searchreplace/searchreplace.js deleted file mode 100644 index 1b52857..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/searchreplace/searchreplace.js +++ /dev/null @@ -1,164 +0,0 @@ -/** - * Created with JetBrains PhpStorm. - * User: xuheng - * Date: 12-9-26 - * Time: 下午12:29 - * To change this template use File | Settings | File Templates. - */ - -//清空上次查选的痕迹 -editor.firstForSR = 0; -editor.currentRangeForSR = null; -//给tab注册切换事件 -/** - * tab点击处理事件 - * @param tabHeads - * @param tabBodys - * @param obj - */ -function clickHandler( tabHeads,tabBodys,obj ) { - //head样式更改 - for ( var k = 0, len = tabHeads.length; k < len; k++ ) { - tabHeads[k].className = ""; - } - obj.className = "focus"; - //body显隐 - var tabSrc = obj.getAttribute( "tabSrc" ); - for ( var j = 0, length = tabBodys.length; j < length; j++ ) { - var body = tabBodys[j], - id = body.getAttribute( "id" ); - if ( id != tabSrc ) { - body.style.zIndex = 1; - } else { - body.style.zIndex = 200; - } - } - -} - -/** - * TAB切换 - * @param tabParentId tab的父节点ID或者对象本身 - */ -function switchTab( tabParentId ) { - var tabElements = $G( tabParentId ).children, - tabHeads = tabElements[0].children, - tabBodys = tabElements[1].children; - - for ( var i = 0, length = tabHeads.length; i < length; i++ ) { - var head = tabHeads[i]; - if ( head.className === "focus" )clickHandler(tabHeads,tabBodys, head ); - head.onclick = function () { - clickHandler(tabHeads,tabBodys,this); - } - } -} -$G('searchtab').onmousedown = function(){ - $G('search-msg').innerHTML = ''; - $G('replace-msg').innerHTML = '' -} -//是否区分大小写 -function getMatchCase(id) { - return $G(id).checked ? true : false; -} -//查找 -$G("nextFindBtn").onclick = function (txt, dir, mcase) { - var findtxt = $G("findtxt").value, obj; - if (!findtxt) { - return false; - } - obj = { - searchStr:findtxt, - dir:1, - casesensitive:getMatchCase("matchCase") - }; - if (!frCommond(obj)) { - var bk = editor.selection.getRange().createBookmark(); - $G('search-msg').innerHTML = lang.getEnd; - editor.selection.getRange().moveToBookmark(bk).select(); - - - } -}; -$G("nextReplaceBtn").onclick = function (txt, dir, mcase) { - var findtxt = $G("findtxt1").value, obj; - if (!findtxt) { - return false; - } - obj = { - searchStr:findtxt, - dir:1, - casesensitive:getMatchCase("matchCase1") - }; - frCommond(obj); -}; -$G("preFindBtn").onclick = function (txt, dir, mcase) { - var findtxt = $G("findtxt").value, obj; - if (!findtxt) { - return false; - } - obj = { - searchStr:findtxt, - dir:-1, - casesensitive:getMatchCase("matchCase") - }; - if (!frCommond(obj)) { - $G('search-msg').innerHTML = lang.getStart; - } -}; -$G("preReplaceBtn").onclick = function (txt, dir, mcase) { - var findtxt = $G("findtxt1").value, obj; - if (!findtxt) { - return false; - } - obj = { - searchStr:findtxt, - dir:-1, - casesensitive:getMatchCase("matchCase1") - }; - frCommond(obj); -}; -//替换 -$G("repalceBtn").onclick = function () { - var findtxt = $G("findtxt1").value.replace(/^\s|\s$/g, ""), obj, - replacetxt = $G("replacetxt").value.replace(/^\s|\s$/g, ""); - if (!findtxt) { - return false; - } - if (findtxt == replacetxt || (!getMatchCase("matchCase1") && findtxt.toLowerCase() == replacetxt.toLowerCase())) { - return false; - } - obj = { - searchStr:findtxt, - dir:1, - casesensitive:getMatchCase("matchCase1"), - replaceStr:replacetxt - }; - frCommond(obj); -}; -//全部替换 -$G("repalceAllBtn").onclick = function () { - var findtxt = $G("findtxt1").value.replace(/^\s|\s$/g, ""), obj, - replacetxt = $G("replacetxt").value.replace(/^\s|\s$/g, ""); - if (!findtxt) { - return false; - } - if (findtxt == replacetxt || (!getMatchCase("matchCase1") && findtxt.toLowerCase() == replacetxt.toLowerCase())) { - return false; - } - obj = { - searchStr:findtxt, - casesensitive:getMatchCase("matchCase1"), - replaceStr:replacetxt, - all:true - }; - var num = frCommond(obj); - if (num) { - $G('replace-msg').innerHTML = lang.countMsg.replace("{#count}", num); - } -}; -//执行 -var frCommond = function (obj) { - return editor.execCommand("searchreplace", obj); -}; -switchTab("searchtab"); \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/snapscreen/snapscreen.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/snapscreen/snapscreen.html deleted file mode 100644 index cf8209e..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/snapscreen/snapscreen.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - -
    -

    -
    -
    -
    -
    -
    -
    - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/spechars/spechars.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/spechars/spechars.html deleted file mode 100644 index 0b5c416..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/spechars/spechars.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - -
    -
    -
    - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/spechars/spechars.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/spechars/spechars.js deleted file mode 100644 index f4c155e..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/spechars/spechars.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * Created with JetBrains PhpStorm. - * User: xuheng - * Date: 12-9-26 - * Time: 下午1:09 - * To change this template use File | Settings | File Templates. - */ -var charsContent = [ - { name:"tsfh", title:lang.tsfh, content:toArray("、,。,·,ˉ,ˇ,¨,〃,々,—,~,‖,…,‘,’,“,”,〔,〕,〈,〉,《,》,「,」,『,』,〖,〗,【,】,±,×,÷,∶,∧,∨,∑,∏,∪,∩,∈,∷,√,⊥,∥,∠,⌒,⊙,∫,∮,≡,≌,≈,∽,∝,≠,≮,≯,≤,≥,∞,∵,∴,♂,♀,°,′,″,℃,$,¤,¢,£,‰,§,№,☆,★,○,●,◎,◇,◆,□,■,△,▲,※,→,←,↑,↓,〓,〡,〢,〣,〤,〥,〦,〧,〨,〩,㊣,㎎,㎏,㎜,㎝,㎞,㎡,㏄,㏎,㏑,㏒,㏕,︰,¬,¦,℡,ˊ,ˋ,˙,–,―,‥,‵,℅,℉,↖,↗,↘,↙,∕,∟,∣,≒,≦,≧,⊿,═,║,╒,╓,╔,╕,╖,╗,╘,╙,╚,╛,╜,╝,╞,╟,╠,╡,╢,╣,╤,╥,╦,╧,╨,╩,╪,╫,╬,╭,╮,╯,╰,╱,╲,╳,▁,▂,▃,▄,▅,▆,▇,�,█,▉,▊,▋,▌,▍,▎,▏,▓,▔,▕,▼,▽,◢,◣,◤,◥,☉,⊕,〒,〝,〞")}, - { name:"lmsz", title:lang.lmsz, content:toArray("ⅰ,ⅱ,ⅲ,ⅳ,ⅴ,ⅵ,ⅶ,ⅷ,ⅸ,ⅹ,Ⅰ,Ⅱ,Ⅲ,Ⅳ,Ⅴ,Ⅵ,Ⅶ,Ⅷ,Ⅸ,Ⅹ,Ⅺ,Ⅻ")}, - { name:"szfh", title:lang.szfh, content:toArray("⒈,⒉,⒊,⒋,⒌,⒍,⒎,⒏,⒐,⒑,⒒,⒓,⒔,⒕,⒖,⒗,⒘,⒙,⒚,⒛,⑴,⑵,⑶,⑷,⑸,⑹,⑺,⑻,⑼,⑽,⑾,⑿,⒀,⒁,⒂,⒃,⒄,⒅,⒆,⒇,①,②,③,④,⑤,⑥,⑦,⑧,⑨,⑩,㈠,㈡,㈢,㈣,㈤,㈥,㈦,㈧,㈨,㈩")}, - { name:"rwfh", title:lang.rwfh, content:toArray("ぁ,あ,ぃ,い,ぅ,う,ぇ,え,ぉ,お,か,が,き,ぎ,く,ぐ,け,げ,こ,ご,さ,ざ,し,じ,す,ず,せ,ぜ,そ,ぞ,た,だ,ち,ぢ,っ,つ,づ,て,で,と,ど,な,に,ぬ,ね,の,は,ば,ぱ,ひ,び,ぴ,ふ,ぶ,ぷ,へ,べ,ぺ,ほ,ぼ,ぽ,ま,み,む,め,も,ゃ,や,ゅ,ゆ,ょ,よ,ら,り,る,れ,ろ,ゎ,わ,ゐ,ゑ,を,ん,ァ,ア,ィ,イ,ゥ,ウ,ェ,エ,ォ,オ,カ,ガ,キ,ギ,ク,グ,ケ,ゲ,コ,ゴ,サ,ザ,シ,ジ,ス,ズ,セ,ゼ,ソ,ゾ,タ,ダ,チ,ヂ,ッ,ツ,ヅ,テ,デ,ト,ド,ナ,ニ,ヌ,ネ,ノ,ハ,バ,パ,ヒ,ビ,ピ,フ,ブ,プ,ヘ,ベ,ペ,ホ,ボ,ポ,マ,ミ,ム,メ,モ,ャ,ヤ,ュ,ユ,ョ,ヨ,ラ,リ,ル,レ,ロ,ヮ,ワ,ヰ,ヱ,ヲ,ン,ヴ,ヵ,ヶ")}, - { name:"xlzm", title:lang.xlzm, content:toArray("Α,Β,Γ,Δ,Ε,Ζ,Η,Θ,Ι,Κ,Λ,Μ,Ν,Ξ,Ο,Π,Ρ,Σ,Τ,Υ,Φ,Χ,Ψ,Ω,α,β,γ,δ,ε,ζ,η,θ,ι,κ,λ,μ,ν,ξ,ο,π,ρ,σ,τ,υ,φ,χ,ψ,ω")}, - { name:"ewzm", title:lang.ewzm, content:toArray("А,Б,В,Г,Д,Е,Ё,Ж,З,И,Й,К,Л,М,Н,О,П,Р,С,Т,У,Ф,Х,Ц,Ч,Ш,Щ,Ъ,Ы,Ь,Э,Ю,Я,а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я")}, - { name:"pyzm", title:lang.pyzm, content:toArray("ā,á,ǎ,à,ē,é,ě,è,ī,í,ǐ,ì,ō,ó,ǒ,ò,ū,ú,ǔ,ù,ǖ,ǘ,ǚ,ǜ,ü")}, - { name:"yyyb", title:lang.yyyb, content:toArray("i:,i,e,æ,ʌ,ə:,ə,u:,u,ɔ:,ɔ,a:,ei,ai,ɔi,əu,au,iə,εə,uə,p,t,k,b,d,g,f,s,ʃ,θ,h,v,z,ʒ,ð,tʃ,tr,ts,dʒ,dr,dz,m,n,ŋ,l,r,w,j,")}, - { name:"zyzf", title:lang.zyzf, content:toArray("ㄅ,ㄆ,ㄇ,ㄈ,ㄉ,ㄊ,ㄋ,ㄌ,ㄍ,ㄎ,ㄏ,ㄐ,ㄑ,ㄒ,ㄓ,ㄔ,ㄕ,ㄖ,ㄗ,ㄘ,ㄙ,ㄚ,ㄛ,ㄜ,ㄝ,ㄞ,ㄟ,ㄠ,ㄡ,ㄢ,ㄣ,ㄤ,ㄥ,ㄦ,ㄧ,ㄨ")} -]; -(function createTab(content) { - for (var i = 0, ci; ci = content[i++];) { - var span = document.createElement("span"); - span.setAttribute("tabSrc", ci.name); - span.innerHTML = ci.title; - if (i == 1)span.className = "focus"; - domUtils.on(span, "click", function () { - var tmps = $G("tabHeads").children; - for (var k = 0, sk; sk = tmps[k++];) { - sk.className = ""; - } - tmps = $G("tabBodys").children; - for (var k = 0, sk; sk = tmps[k++];) { - sk.style.display = "none"; - } - this.className = "focus"; - $G(this.getAttribute("tabSrc")).style.display = ""; - }); - $G("tabHeads").appendChild(span); - domUtils.insertAfter(span, document.createTextNode("\n")); - var div = document.createElement("div"); - div.id = ci.name; - div.style.display = (i == 1) ? "" : "none"; - var cons = ci.content; - for (var j = 0, con; con = cons[j++];) { - var charSpan = document.createElement("span"); - charSpan.innerHTML = con; - domUtils.on(charSpan, "click", function () { - editor.execCommand("insertHTML", this.innerHTML); - dialog.close(); - }); - div.appendChild(charSpan); - } - $G("tabBodys").appendChild(div); - } -})(charsContent); -function toArray(str) { - return str.split(","); -} diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/dragicon.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/dragicon.png deleted file mode 100644 index f26203bf3f0026891fc8374f109724a69eb38b22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 304 zcmV-00nh%4P)p00001b5ch_0Itp) z=>Px#=t)FDR47x8lCciKP#A@KY2U+Oz-BN?3|$yZoaJ-YrY6>w+wB>;0|AN6r2r z_B6y2bQp%1X$_7DP`QFiq0z;_c3wk<3Lh&$^V;p?#e$PywxH71VT^XlHZ=jml#@|NVkRMLVaC0F_%) zcB=vWe$h}nSjAV$|0D - - - - - - - -
    -
    -
    -

    -
      -
    • - -
    • -
    • - -
    • -
    -
      -
    • - -
    • -
    • - -
    • -
    -
    -
    -
    -

    -
      -
    • - -
    • -
    • - -
    • -
    -
    -
    -
    -

    -
      -
    • - - -
    • -
    -
    -
    -
    -
    -
    -

    -
    -
    -
    -
    -
    - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittable.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittable.js deleted file mode 100644 index 11dbee7..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittable.js +++ /dev/null @@ -1,237 +0,0 @@ -/** - * Created with JetBrains PhpStorm. - * User: xuheng - * Date: 12-12-19 - * Time: 下午4:55 - * To change this template use File | Settings | File Templates. - */ -(function () { - var title = $G("J_title"), - titleCol = $G("J_titleCol"), - caption = $G("J_caption"), - sorttable = $G("J_sorttable"), - autoSizeContent = $G("J_autoSizeContent"), - autoSizePage = $G("J_autoSizePage"), - tone = $G("J_tone"), - me, - preview = $G("J_preview"); - - var editTable = function () { - me = this; - me.init(); - }; - editTable.prototype = { - init:function () { - var colorPiker = new UE.ui.ColorPicker({ - editor:editor - }), - colorPop = new UE.ui.Popup({ - editor:editor, - content:colorPiker - }); - - title.checked = editor.queryCommandState("inserttitle") == -1; - titleCol.checked = editor.queryCommandState("inserttitlecol") == -1; - caption.checked = editor.queryCommandState("insertcaption") == -1; - sorttable.checked = editor.queryCommandState("enablesort") == 1; - - var enablesortState = editor.queryCommandState("enablesort"), - disablesortState = editor.queryCommandState("disablesort"); - - sorttable.checked = !!(enablesortState < 0 && disablesortState >=0); - sorttable.disabled = !!(enablesortState < 0 && disablesortState < 0); - sorttable.title = enablesortState < 0 && disablesortState < 0 ? lang.errorMsg:''; - - me.createTable(title.checked, titleCol.checked, caption.checked); - me.setAutoSize(); - me.setColor(me.getColor()); - - domUtils.on(title, "click", me.titleHanler); - domUtils.on(titleCol, "click", me.titleColHanler); - domUtils.on(caption, "click", me.captionHanler); - domUtils.on(sorttable, "click", me.sorttableHanler); - domUtils.on(autoSizeContent, "click", me.autoSizeContentHanler); - domUtils.on(autoSizePage, "click", me.autoSizePageHanler); - - domUtils.on(tone, "click", function () { - colorPop.showAnchor(tone); - }); - domUtils.on(document, 'mousedown', function () { - colorPop.hide(); - }); - colorPiker.addListener("pickcolor", function () { - me.setColor(arguments[1]); - colorPop.hide(); - }); - colorPiker.addListener("picknocolor", function () { - me.setColor(""); - colorPop.hide(); - }); - }, - - createTable:function (hasTitle, hasTitleCol, hasCaption) { - var arr = [], - sortSpan = '^'; - arr.push(""); - if (hasCaption) { - arr.push("") - } - if (hasTitle) { - arr.push(""); - if(hasTitleCol) { arr.push(""); } - for (var j = 0; j < 5; j++) { - arr.push(""); - } - arr.push(""); - } - for (var i = 0; i < 6; i++) { - arr.push(""); - if(hasTitleCol) { arr.push("") } - for (var k = 0; k < 5; k++) { - arr.push("") - } - arr.push(""); - } - arr.push("
    " + lang.captionName + "
    " + lang.titleName + "" + lang.titleName + "
    " + lang.titleName + "" + lang.cellsName + "
    "); - preview.innerHTML = arr.join(""); - this.updateSortSpan(); - }, - titleHanler:function () { - var example = $G("J_example"), - frg=document.createDocumentFragment(), - color = domUtils.getComputedStyle(domUtils.getElementsByTagName(example, "td")[0], "border-color"), - colCount = example.rows[0].children.length; - - if (title.checked) { - example.insertRow(0); - for (var i = 0, node; i < colCount; i++) { - node = document.createElement("th"); - node.innerHTML = lang.titleName; - frg.appendChild(node); - } - example.rows[0].appendChild(frg); - - } else { - domUtils.remove(example.rows[0]); - } - me.setColor(color); - me.updateSortSpan(); - }, - titleColHanler:function () { - var example = $G("J_example"), - color = domUtils.getComputedStyle(domUtils.getElementsByTagName(example, "td")[0], "border-color"), - colArr = example.rows, - colCount = colArr.length; - - if (titleCol.checked) { - for (var i = 0, node; i < colCount; i++) { - node = document.createElement("th"); - node.innerHTML = lang.titleName; - colArr[i].insertBefore(node, colArr[i].children[0]); - } - } else { - for (var i = 0; i < colCount; i++) { - domUtils.remove(colArr[i].children[0]); - } - } - me.setColor(color); - me.updateSortSpan(); - }, - captionHanler:function () { - var example = $G("J_example"); - if (caption.checked) { - var row = document.createElement('caption'); - row.innerHTML = lang.captionName; - example.insertBefore(row, example.firstChild); - } else { - domUtils.remove(domUtils.getElementsByTagName(example, 'caption')[0]); - } - }, - sorttableHanler:function(){ - me.updateSortSpan(); - }, - autoSizeContentHanler:function () { - var example = $G("J_example"); - example.removeAttribute("width"); - }, - autoSizePageHanler:function () { - var example = $G("J_example"); - var tds = example.getElementsByTagName(example, "td"); - utils.each(tds, function (td) { - td.removeAttribute("width"); - }); - example.setAttribute('width', '100%'); - }, - updateSortSpan: function(){ - var example = $G("J_example"), - row = example.rows[0]; - - var spans = domUtils.getElementsByTagName(example,"span"); - utils.each(spans,function(span){ - span.parentNode.removeChild(span); - }); - if (sorttable.checked) { - utils.each(row.cells, function(cell, i){ - var span = document.createElement("span"); - span.innerHTML = "^"; - cell.appendChild(span); - }); - } - }, - getColor:function () { - var start = editor.selection.getStart(), color, - cell = domUtils.findParentByTagName(start, ["td", "th", "caption"], true); - color = cell && domUtils.getComputedStyle(cell, "border-color"); - if (!color) color = "#DDDDDD"; - return color; - }, - setColor:function (color) { - var example = $G("J_example"), - arr = domUtils.getElementsByTagName(example, "td").concat( - domUtils.getElementsByTagName(example, "th"), - domUtils.getElementsByTagName(example, "caption") - ); - - tone.value = color; - utils.each(arr, function (node) { - node.style.borderColor = color; - }); - - }, - setAutoSize:function () { - var me = this; - autoSizePage.checked = true; - me.autoSizePageHanler(); - } - }; - - new editTable; - - dialog.onok = function () { - editor.__hasEnterExecCommand = true; - - var checks = { - title:"inserttitle deletetitle", - titleCol:"inserttitlecol deletetitlecol", - caption:"insertcaption deletecaption", - sorttable:"enablesort disablesort" - }; - editor.fireEvent('saveScene'); - for(var i in checks){ - var cmds = checks[i].split(" "), - input = $G("J_" + i); - if(input["checked"]){ - editor.queryCommandState(cmds[0])!=-1 &&editor.execCommand(cmds[0]); - }else{ - editor.queryCommandState(cmds[1])!=-1 &&editor.execCommand(cmds[1]); - } - } - - editor.execCommand("edittable", tone.value); - autoSizeContent.checked ?editor.execCommand('adaptbytext') : ""; - autoSizePage.checked ? editor.execCommand("adaptbywindow") : ""; - editor.fireEvent('saveScene'); - - editor.__hasEnterExecCommand = false; - }; -})(); \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittd.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittd.html deleted file mode 100644 index 49a52f7..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittd.html +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - -
    - - -
    - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittip.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittip.html deleted file mode 100644 index 954f7bb..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittip.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - 表格删除提示 - - - - -
    -
    - -
    -
    - -
    -
    - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/config.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/config.js deleted file mode 100644 index 417b8f7..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/config.js +++ /dev/null @@ -1,42 +0,0 @@ -/** - * Created with JetBrains PhpStorm. - * User: xuheng - * Date: 12-8-8 - * Time: 下午2:00 - * To change this template use File | Settings | File Templates. - */ -var templates = [ - { - "pre":"pre0.png", - 'title':lang.blank, - 'preHtml':'

     欢迎使用UEditor!

    ', - "html":'

    欢迎使用UEditor!

    ' - - }, - { - "pre":"pre1.png", - 'title':lang.blog, - 'preHtml':'

    深入理解Range

    UEditor二次开发

    什么是Range

    对于“插入”选项卡上的库,在设计时都充分考虑了其中的项与文档整体外观的协调性。


    Range能干什么

    在“开始”选项卡上,通过从快速样式库中为所选文本选择一种外观,您可以方便地更改文档中所选文本的格式。

    ', - "html":'

    [键入文档标题]

    [键入文档副标题]

    [标题 1]

    对于“插入”选项卡上的库,在设计时都充分考虑了其中的项与文档整体外观的协调性。 您可以使用这些库来插入表格、页眉、页脚、列表、封面以及其他文档构建基块。 您创建的图片、图表或关系图也将与当前的文档外观协调一致。

    [标题 2]

    在“开始”选项卡上,通过从快速样式库中为所选文本选择一种外观,您可以方便地更改文档中所选文本的格式。 您还可以使用“开始”选项卡上的其他控件来直接设置文本格式。大多数控件都允许您选择是使用当前主题外观,还是使用某种直接指定的格式。

    [标题 3]

    对于“插入”选项卡上的库,在设计时都充分考虑了其中的项与文档整体外观的协调性。 您可以使用这些库来插入表格、页眉、页脚、列表、封面以及其他文档构建基块。 您创建的图片、图表或关系图也将与当前的文档外观协调一致。


    ' - - }, - { - "pre":"pre2.png", - 'title':lang.resume, - 'preHtml':'

    WEB前端开发简历


    联系电话:[键入您的电话]

    电子邮件:[键入您的电子邮件地址]

    家庭住址:[键入您的地址]

    目标职位

    WEB前端研发工程师

    学历

    1. [起止时间] [学校名称] [所学专业] [所获学位]

    工作经验


    ', - "html":'

    [此处键入简历标题]


    【此处插入照片】


    联系电话:[键入您的电话]


    电子邮件:[键入您的电子邮件地址]


    家庭住址:[键入您的地址]


    目标职位

    [此处键入您的期望职位]

    学历

    1. [键入起止时间] [键入学校名称] [键入所学专业] [键入所获学位]

    2. [键入起止时间] [键入学校名称] [键入所学专业] [键入所获学位]

    工作经验

    1. [键入起止时间] [键入公司名称] [键入职位名称]

      1. [键入负责项目] [键入项目简介]

      2. [键入负责项目] [键入项目简介]

    2. [键入起止时间] [键入公司名称] [键入职位名称]

      1. [键入负责项目] [键入项目简介]

    掌握技能

     [这里可以键入您所掌握的技能]

    ' - - }, - { - "pre":"pre3.png", - 'title':lang.richText, - 'preHtml':'

    [此处键入文章标题]

    图文混排方法

    图片居左,文字围绕图片排版

    方法:在文字前面插入图片,设置居左对齐,然后即可在右边输入多行文


    还有没有什么其他的环绕方式呢?这里是居右环绕


    欢迎大家多多尝试,为UEditor提供更多高质量模板!

    ', - "html":'


    [此处键入文章标题]

    图文混排方法

    1. 图片居左,文字围绕图片排版

    方法:在文字前面插入图片,设置居左对齐,然后即可在右边输入多行文本


    2. 图片居右,文字围绕图片排版

    方法:在文字前面插入图片,设置居右对齐,然后即可在左边输入多行文本


    3. 图片居中环绕排版

    方法:亲,这个真心没有办法。。。



    还有没有什么其他的环绕方式呢?这里是居右环绕


    欢迎大家多多尝试,为UEditor提供更多高质量模板!


    占位


    占位


    占位


    占位


    占位



    ' - }, - { - "pre":"pre4.png", - 'title':lang.sciPapers, - 'preHtml':'

    [键入文章标题]

    摘要:这里可以输入很长很长很长很长很长很长很长很长很差的摘要

    标题 1

    这里可以输入很多内容,可以图文混排,可以有列表等。

    标题 2

    1. 列表 1

    2. 列表 2

      1. 多级列表 1

      2. 多级列表 2

    3. 列表 3

    标题 3

    来个文字图文混排的


    ', - 'html':'

    [键入文章标题]

    摘要:这里可以输入很长很长很长很长很长很长很长很长很差的摘要

    标题 1

    这里可以输入很多内容,可以图文混排,可以有列表等。

    标题 2

    来个列表瞅瞅:

    1. 列表 1

    2. 列表 2

      1. 多级列表 1

      2. 多级列表 2

    3. 列表 3

    标题 3

    来个文字图文混排的

    这里可以多行

    右边是图片

    绝对没有问题的,不信你也可以试试看


    ' - } -]; \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/bg.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/bg.gif deleted file mode 100644 index 8c1d10ad1933e02086e8a1b3c807c7d1e57d51db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84 zcmZ?wbhEHb6kw2GXkcLY|NsA)GiMZkvM_*v4u}BBFfeKN|6H_V+Po~-c70vN1t=1+A%PQ29uxwx4>qZSNmg$Vo0WSSm;`Hl{Ww|6H_V+Po~-c6&>|-aSW-r_2!NtU#o%$i-Y0&su(f8j@G?~f`NtGer^@M zrYdIdrP)2_bk~ELr2i)^H(PkDy?QdpIbuVC@BX&$s!L5iRYqm|O_N&n@I;(N<+i7f+;9Z? Phk?P<)z4*}Q$iB}^elK+ diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/pre2.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/pre2.png deleted file mode 100644 index 5a55672c1f9c4d41d5b5cf52d76bb2b7e7c6b186..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmeAS@N?(olHy`uVBq!ia0vp^DM0MT!2~3?K3Qf5q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~;1Ffi(Px;TbZ+h>KHoj_IVWAxIr&Fiabo)3x94Up%M35SEe^0#X9dS;F-9{&3Ljos=IM}2LB&w>e?K^KZ|9tHA z)W~h}eTfo>R&7s^?LYqdE7+t-Dv4L4H{``lKYf(JYIB0^>jrz9Khf>{)o!mlw-~mt za!)h6<9vO9zW09 gTfg@IqFVdQ&MBb@0QJAA?EnA( diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/pre3.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/pre3.png deleted file mode 100644 index d852d29f13bcf743e15df824901ab568123a5aae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 485 zcmVTEH>0M4JV5-1QxJ>b$K`ZPMW6ena#ScoGi+aGE}QBI9b2~7O)VofCVgI z0Sj2@r|V8tRYg%8l35(bVHm0eOOPtd@{r7;D7wSi^O|UT7k&b(?|avE4}m2@pKY0^ zX8{XXz`D@ra0V&khG!6NNY4Tm0v50s9T*)L9q3sISir&!aYH5D@CmFqjy=yiBr_3O zu`P1E)qr;HnlAuCCeD2n8T2!dey#!;npC;SpUiv|xYU?E`rwKTr@$H|hS bPXPu1`Qm#ITgjGb00000NkvXXu0mjf8+_C8 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/pre4.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/pre4.png deleted file mode 100644 index 0d7bc72ab99fe2c0ed9de1d89fd1c3e82ac3fd43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 393 zcmeAS@N?(olHy`uVBq!ia0vp^DM0MT!2~3?K3Qf5q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~;1FfeL+x;TbZ+5xOQzYV@t-I~V=Oc$U@%9?>h?uf)>*!tD zz9*sh?!vZ&M%HQV5wX`#zTA@g`shVPPoZs!AO#y_jv5_v2~@eKa{lwdV71lh?Z-1u+JRxq;OXk;vd$@?2>^GKp!om* diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/template.css b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/template.css deleted file mode 100644 index 6c1608d..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/template.css +++ /dev/null @@ -1,18 +0,0 @@ -.wrap{ padding: 5px;font-size: 14px;} -.left{width:425px;float: left;} -.right{width:160px;border: 1px solid #ccc;float: right;padding: 5px;margin-right: 5px;} -.right .pre{height: 332px;overflow-y: auto;} -.right .preitem{border: white 1px solid;margin: 5px 0;padding: 2px 0;} -.right .preitem:hover{background-color: lemonChiffon;cursor: pointer;border: #ccc 1px solid;} -.right .preitem img{display: block;margin: 0 auto;width:100px;} -.clear{clear: both;} -.top{height:26px;line-height: 26px;padding: 5px;} -.bottom{height:320px;width:100%;margin: 0 auto;} -.transparent{ background: url("images/bg.gif") repeat;} -.bottom table tr td{border:1px dashed #ccc;} -#colorPicker{width: 17px;height: 17px;border: 1px solid #CCC;display: inline-block;border-radius: 3px;box-shadow: 2px 2px 5px #D3D6DA;} -.border_style1{padding:2px;border: 1px solid #ccc;border-radius: 5px;box-shadow:2px 2px 5px #d3d6da;} -p{margin: 5px 0} -table{clear:both;margin-bottom:10px;border-collapse:collapse;word-break:break-all;} -li{clear:both} -ol{padding-left:40px; } \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/template.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/template.html deleted file mode 100644 index d9903a4..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/template.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    -
    - -
    -
    -
    -
    - -
    -
    -
    -
    - - - - diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/template.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/template.js deleted file mode 100644 index 80a334b..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/template.js +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Created with JetBrains PhpStorm. - * User: xuheng - * Date: 12-8-8 - * Time: 下午2:09 - * To change this template use File | Settings | File Templates. - */ -(function () { - var me = editor, - preview = $G( "preview" ), - preitem = $G( "preitem" ), - tmps = templates, - currentTmp; - var initPre = function () { - var str = ""; - for ( var i = 0, tmp; tmp = tmps[i++]; ) { - str += '
    '; - } - preitem.innerHTML = str; - }; - var pre = function ( n ) { - var tmp = tmps[n - 1]; - currentTmp = tmp; - clearItem(); - domUtils.setStyles( preitem.childNodes[n - 1], { - "background-color":"lemonChiffon", - "border":"#ccc 1px solid" - } ); - preview.innerHTML = tmp.preHtml ? tmp.preHtml : ""; - }; - var clearItem = function () { - var items = preitem.children; - for ( var i = 0, item; item = items[i++]; ) { - domUtils.setStyles( item, { - "background-color":"", - "border":"white 1px solid" - } ); - } - }; - dialog.onok = function () { - if ( !$G( "issave" ).checked ){ - me.execCommand( "cleardoc" ); - } - var obj = { - html:currentTmp && currentTmp.html - }; - me.execCommand( "template", obj ); - }; - initPre(); - window.pre = pre; - pre(2) - -})(); \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/bg.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/bg.png deleted file mode 100644 index 580be0a01dff4c70c72f78a3f40186660ee8eee0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2810 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 Bm*4;Z diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/file-icons.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/file-icons.gif deleted file mode 100644 index d8c02c27e242f0584fc6b214f35b4f6d8caec332..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20097 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 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/file-icons.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/file-icons.png deleted file mode 100644 index 3ff82c8c488f53a7aff67fbe39742e3321183eca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44070 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

    *vGSxI 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 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/icons.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/icons.gif deleted file mode 100644 index 78459dea7b12ccbeec81d19ecdab22b1658e93b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 453 zcmZ?wbhEHbbY#$A*vtR||Ns9FJNP^N(4UCIf1{56|NHmvpFe+o|NadW2g{=nia%Kx z85lSjbU>mYGZarn*x(aH@fLZq!wgUiaA+%BrQuMGlI(3v}$4ket=c%G-JG_a6@d zUMtW1Dv_dMk(#;&JDULU);6IIt*+RD80Beh(v#{r8-@JE7rOMyrKZ@`PM+5- zK4PEn@UifH&1a7opNKNDvAy~H((Lt@PiCLrh`sqL^yyzFM}*_N9gV+*y1bvCcd{tw zP+atQ`ojjtR_?nOH&4iCw(0v^v}@~SfpwBi-JHA%0-p_?kEd#ga=ENn_|&M5?L?$c z!i1+jT>6R+ul!uQ+^$n$Hm~o7%Nb0wJ#GK7NE~>4aE?#6+>{R=oUZeJnouMg`B^J) rUi3;Xl^IQMkE|4#X6EZ{`gBG$ultcLuMHMNRKNMR>qv$%6N5DXx{1lO diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/icons.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/icons.png deleted file mode 100644 index 12e4700163ac87fa38ae3d92a2c39d0fb4690fed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2678 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 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/left_focus.jpg b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/left_focus.jpg deleted file mode 100644 index 7886d276dda2e0aecdae22393eac534ed507babf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11423 zcmeG?c|6qH+utz^vWJM4F_fi=S$RF~vR6p2)5W8U-q4&wgq`}_Ug_x-$oyq~u-&NJsc+j*Yntj-z9W67V8 z`U)o(CkQ2jf}Ftzl61(ua*X8#LXfK~WClTy0wj-`386s=1wIf;50XR55af^2pDc%< zOvZU+01puY5SjzB5Jf`DTA-Y?hX=`y%jSXad(ez8-$9VE`oy|G%l zNk62D)S!UxU`a_Uln5y+C@3f@C@U%|Ybec7($H2@R#wy2)zsA1)YR2bM$-6~wDMPo zQc+S;QB_e_RaMtgRaMo3fvT2NMC0F4Ah`-@C_qNgLNp2o$!MU^8YoE{a2qYTfwBQs z%At@142BaL3=~;8jJ$&43?(oerV~++40?j74xwaGXc<`58tt?`bJVuU!m|#GhDGMx!#A(Wrb|h=T7W~3$d_y+!?-1@xvG>sCh%5&e zU|<8}7gDa>2S()T1URmxin-4wP593(F#c+Sqyz|<LijpI6Pg2Tg8VO822RkN)uJ$A?uTKCPk37v|_aVw6OA^p5f0A1(fJd~{=aoSOH8 zYS%p@^V+*B1fOi~xXd$s<9DK30+n?5zU~}Zlo;1uwR96_|JY&4y}pRW;qi-5{lTJy z`ZxBK4{y8k>*^xohwjUr-GknkWPH)rEcPO&{T_3hAT;xlr!AT%D_{O=MEuc&ZMww? zKL*pjqwAYVp!>Ix z*L~cYVvvolwA%jk(&(~BJ>uHj(g)R}^V)MH(5Gw8mmdCUV{@8QYQiXMjW~bp>c&4x z8u%k)f}XiOc_$MNBt6+C9!b9bso~ZatD)gdlE$YuBv7UeJGZZ$`&oJZh4}oY_6yss zw!at~d*JqYfdp!Z8I!$iu%IBuroKO>ef#~f(hTbSyJ0qm#?A~VOP~|_tvzGEw;S@? zR|J(m_L4w-BV(^5P~)bhM(H-AGzp{_$CN-eV@mzH+XF|FA6Q%0mRpC6hBs=ydQ{pZ zfp!cn%~*N;K5OjcrWf0XbjA*GM(3SukU+g|qj(7<`9t!0#?G(HE!ms^(d}GZWfvfG zT^)f_08B%_9;ZncKbi4GPzI4(h|pBOir9PyNj0hWT;i0EI|_ zjR8(GkVO_QA+4Z?;38<(A}|n8!TTqk0;%s#hW}>uAmNYPJc~Paj?w9<~YeWm0ufFL-~)_zR-= z0U|g55Dut~%dt3OBB;S#4S9k+JWRk3g3EAP#SIist=owO;p2703|3I^1RZfl6vpFl zMP6a6L_iodtsOap2GBD>mPaZs4pVf?2MGmH5z|l@fshx(<8%2@;Xp>&(F4}*hTuS5 zg&idpEa&pMLbjM201%MpmI&@R^9(67jDaaG;XzpN^}p>uI!YMk>FDDLni>x-9Q^4R zS5Xjm8V17-6MM3Qrr}gMTp-7d6}yO>JzZD%3j|@XLWK$RG-kzMfpDvB7%yldQfgA? zohQ&hQa*qi$c_pVgQ8+IS1A4)cCQKabao~GAbUZWKsY718dCjs%O?py1X?ZN!?9Kr z3nJX2#3Js*z<_Bp!oWcK2duKcKnw=dKj4)>7YF~99hrG1urf#)WEq<`NLf0|G>|e% zx(dm{M_1{9Mj=u#KP1}-035`LIRs*%?hf!}kS;jdeLD<(I}COYe>)6*I}HBcISfkI zJ_C4lgVur!);|bRgKVJyNC5dmTnG!fL&2ad23drZA^?Zxzu>?^_K*i;2`iMgfB{9Y zg+L0R0q`g3P+t}-7Dq5GEchaGHhcwO&Jl!L#IhqSh~@+fXo*d11e+7e6=VImVE?wp z4OG|Su)F|koHxal;2L4i4dyv-6>>ecuJ+_?4dpNba5hV^OJbR^;Su3nF&i5j9>y0j zW36$BawaIlXbT(`VG)N~2S zkVuOG$70bIzL*`mm@hJ%(BQxoafG}GF;Bq9!W!A&j3u_l0b8X`ghx!O{o80wFa~fY z`69qE0%<&eW5EsMhI9F15r`}i4gjJwV&cMOQe>LyNixzM6G9-kuC9MCFwt}2;gd~> z#E#Lxjepk9BKSyP!QzSpQ9=&aF&da@IMJAx7x*=t(~N^D)9m7cyQ{x%2&PQ3MlkJ# zT(%e-M8IKaVgP*oS7^%36KumcH`f824XttTRn%evV=;;9Nu)AK6efkTh(Ko&2vSy8 zK>#ms%M?~30dRXx+*(az1>-P)EoT2q<^T>eP#_FvgBbF{*+E>3kO*!N4m;U3OyukY zS_bBk5i?v}nJ#>hn9b*KT^y`&zz1_4FMvsRqS!L*hzt_hiR1|Uuydjk?1*FrgJ4Oc zGZ=OgvJL`H6g*NUWCQ*SveGj(JM6!w1MX2KPyrfe!_&YTN5o+fqz^ne!lI-|8kmj* zf&~$V<82AT#h363Ao{zyUop0?2@u2G=Qo4l>!2OtPX|5u%+4B+7cN!EIeG9?z~uTn2!SwbcG0s1(`mT;yaZ>9j72e z!2>LrU@TB66f$KTKiy3-l}@$9TM`&l0s?^pG$Kg~NeD&?$pB9wN_i~tuoMk}z**o3 zzyJs^mUIdMfxuBv25tff0z)H%u)z@U1IU0O9dH5&w?zg)gdyAt83Y%GKo&qm7KGN4 zXbGq=1l9s5#n6y49fk~GCx8eKg96Gl5{##TZU7K;mL-t^bixppWzb<+1|8;M&|w}h z_7O-#AgqmnXk#$o78!_625bqK_f$OSP&^m}cq*QTr{fuT5E>#8PbA@qWIWLl4>}ky z5ovfZ8c2W_j1e$I!04fXfds|@7&2faSW!U#TLNc@4weq~_6`mViap8FiDE}{qC1hP z1PZ(zAS*1>nI{6P)RyrL#)BIums+53T@W!2kN-VclT-VSO36Spcv6>S!6X^qK*_ zY5)m&YnQ%c|65SzYeG+^DU$HZvdkpm-z`Y4O}@2*$7$(X`wgf8Tt9=Cbg7{T#K_Bm zmvr#P4lYrrQ{*tRC>gZ80(dS0@9W?L9+;&G1D?6%Wgyfn9c?XRh1nXqCZ^yT8-qdt zf&vEq`38uL^nHFNq@krfOTj=>2WLpuCE7-kSVqnC9S#8tj^(G#c9{vk@uTHr z&wczv{=~Dg*7d^y2QD-0T6;1EJA-$pziBYa(9pbuH9z)fK+GDp^!uA$9?Y;W9})n~3Mk;89F%5e;P5VGbtrC2CbdhLF~|Hw zvU@{o<$e|W*${je?doX!Npx)6g8UO|J=>Emdi-idMp^_vc#wmXOHj{4`Y*^n zqdr*c$%g*LI8g4XsMp;l{ z{&fD4%+1$hv+7)KdNEeNNcH{I*x>tHk6oN+J;(L^WLWy4qDn8QwdUNXGxk3zoda*O zu$%BNE1+|x`>NbJPr5ym@T( zx>wrQKW+AYOmmVzr}TDxUiMBu{_Pm=Zt1AKG}JN}8|cMx&A3)?`{1ksURAVjVeYAL z1(T%?r?WApt8x?tM#@Q!^ihXP3EYsO*nOW4MxdKSWoq3|Z9Ep$QZ9bF9HpJnA6XEc z((dNeMeZ%iS;Xa6welBN71BHld68j<6^<-+4KL^{e8gP$sr#2|!Y}-cY|AEXkD8Z} z{8?r=_1P@ecaM{@J)ik3ij92r;q+LkcvWrr5|X-goz|QyV&U5&v!c{iCE=gPj)&hY za-gq&qNnQYJ)5#V&0$sAjrF06=0~ipy6su%-9+oQu5o0QIDax@{V-VP6SlSJ&*~Gk z4VO!4SAKqR`DIUd*O1>&uIH%CqM@kZ(|Mt3rm6Xgkb!B|xivK zsOts4h5HkeO+A0BFErKIyC;8^(s~{LYEI0I%}4SM?fSejaDkDG)!l$Y!oHi|J9zi- z3lejN@JsnSuM^%h&5Y#~=eNW(I`aF^HGdi=x3pJVTiI|^nbmhHLe>TK@i(NcYmK^n zYei~mrX9A*$#0EA5`9j%@RWyf2#au&JnNGz;l2zjd98RSE7^>N={N)}Q&Xl0^Bgbj z%izkpKkGFQ2`|g4KU!jzy~6W|iJW>43QfZ30*5YHKOj6nd8{tExxz5x03m((g@qc{ zmAx;BYlZw1uC6stPp@06mvTLu5?079cUBa7saG`PxeDfK&}zo_7eNfv-3}vxUM$LH&SkD=t}Wvpt}Dktm~|ePf8cG z)DHG*dROy)pG|l4I$N9YE_d$I9%@`mnsk1_!>s3b@&*QGUspZNY`Nc=f`p9nl1F|I z8tSxH|4BaU@0m~btq;^bcz>l^SBzl&55{?3IpUNR}HRq&!{r?OQqHrugQp-Zw~C;li-Y4;7!iC$?nAa7>cukCcrt;V4 zD%SFh51g*)N$u;a>0q^2hlcb84PB{;KWWa~RDEyXo`iXYGu1_yn%&0uFS+z#)i2&p z)4OJf>gCusN|N&iBh6;s{^)+x9c3oM=e|5}TLP`WQ&JHh-Okz&xmjmTpJ3;aN}O7v zCT_*5)mu1elmnQv?7>QYda%3abz$U<${AXTrj%Zm=f#3Nt(~?+D2@H8g0U@g-TM9;iA(P5uc~{V z=lRjyYO@uF>2~M+lP4SUPn|or^6u&LX7M>y-mF8NSL^rwv`%-`RfhsgGQI1r&YO{6 zTKExT#+P2b44GT9q0C@m@lU?lZRR%jB+#vA$M(c&)b<*?x$Wt7(=bZ;n4dB8P9|G< z@PkDgr(j#^$x+Te)_~@3ij^fxQx8TDoKbO(yHcE2CtX!hV5q&8KnAtfwUvfiaS!tY z2WA~#Y-qBndtsoWIl4Y?9;>U7WU(>*{_eHjTa%vuayj>Mk!pMSD$bZf|DvJS7Y$p+ zs6L+)TQsi5-zthXcz@hZw3~XU{h8He>S)nDo6bkVlf~gJpR2~yi|y|OoH6%Gtnt*n zcOf_SbC`8PA%&u%Pq9_pcscGCb%jc1j?3Qn+O3`^`rkV1SFb#nex|Y8xm~TLuPe2( z$?J;AZwnt4#RoJJ*T`1f*9<0wwy+|qbFX-~_#7oHyOy7p?h&N2Oti5s3!JeWOcvB?FnBua`T!SO)v{y&x;-u&9Brzpj&DE$b^z~L&Y^y40%_RBBJ@&i5`ZA`kb%;{R) ziIzNr4_?lGcfHoUz8V#b)puDI10CGmmelF9;bqG@YVKij^`gZ0(JcSr4lj}MzLGV` zJRf{`n@PWZTH6A>>sjU~QgLZwi@L)LnWTm9OS?k5+Ed-)YQJ3Hy0TZ^R`g;6ZAq`% zouT=MpNq_uo@}Y2ZPTMlpu6+mV;cReB+$kaw)N@4r7K^0)4QM8#mSrfx!tNhwq%~$ z;eoh@mbjR(`4#i?mX0{{#+dOX?LkRxZSMz+KE4~O(D}6M?j;NPhNYpzT37L=w+Wd; T+mF>-Zi@@LHB9%bmHhD^k7NPf diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/none_focus.jpg b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/none_focus.jpg deleted file mode 100644 index 7c768dcb47aaa289135afd2bd0e8eb0b6ecb7536..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11546 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 C61Fb@ diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/right_focus.jpg b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/right_focus.jpg deleted file mode 100644 index 173e10d2d91026c7283566993afb2f3a0267ea40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11334 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 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/success.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/success.gif deleted file mode 100644 index 8d4f3112b9d1df2147ed3b67d9736163dedd11e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 445 zcmZ?wbhEHb)L_tHxXJ(m|NsC0{`>#WKmY&!`~ULm|4%>v3rzVXIOUh{)L$ageu+>2 zB{Acd%*pZwE#>TlQSztb-KopJH+%!_|l-~7Ag*59?a z{_c7B@6_{ur(gU#_wwKE_y6vG`1j=VzZYNsfBgCX$DjXizW@L859r4KV8@~pia%Kx z85k@WbU+dyKQXY~a+p)#p(E9QVoA}-BeJtDJbfs+R&065YSGzOop#2q7tzUUTK@E- z1Qpqe*fm*b*T-Fam_8!ZPiJg?eRTb9ku+5;xVnw>Wr$>Ce}(b zvq{bgY~#~oR8Cparp&0%zbdUw!o*Z6ds70hP&$teqekA&7*16-748@%Mnl0vSqU6+ zOpICr!NSHY@7SLk+rBLP3&#jWP!Xxbb jiN%_{Rv%uKKTTNF#>acL^G5)OtDBg<-IWs>91PX~W`xy? diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/success.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/success.png deleted file mode 100644 index 94f968dc8fd3c7ca8f6cb599d006ef3f23b62c7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1621 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m{l@EB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvO-#?>2=9ZF3nBND}m`vLFhHXsTY(OatnYqyQCInmZhe+73JqDfIV%MiQ6rPIL(9V zO~LIJBb<8mfsWA!MJ-ZP!-Rn82gHOYTp$OY^i%VI>AeV;u(vXbonl~MI_~M>7*cWT z%njcRVMh`65C6~Q2yI{K`NBQQh9heAinXE1(JfB=Ul%M;Ke#x6g%L8^f5l4Te zj&BcK1znDIyZS2~eC7F3K+}tVTa$=u*HTU0W4>0#`+Qf%|GkyBERBs#$Y}P@k7@U2 zd#*XsYr~WGeCA1uSK>2HTD)g9mP}Xrpg$+`K&8dx2JS~bjCx(hj5}1;-8qn2_>|?> zp{d+2q{I0hbQS!U-jOut`kSEi+IhQJGmBl4O%se*W?OGKZ0Mp?XmGnRgezL^8vCJ4 z#-ek9(R&%4!h+;oXA~Mtbyie=u#0PDiI#!iX`%2?^@kRL8ma*r6?+*}W4e|_8~J&& z+-+*Ub3{dDcAIF|!MTDz0#78qKYeaeVU$wDOOs3cR=e5FZ*O2e-6xc{Uu=$;!s>*M z>nZ|V>zUp8-oE6^wXjV+_UOvuE&SORr`;3hnBKu~e3rzlY@NRjD|5Ui2t>^@Ve7jy z)2vT>u1vesjJgG`f;l_n`FmbR~b^~{VzXB}7CdU_pt>lO9l=E;X#4<2bZu32r~J^e^%TSISQ_Qm$= z7d{rOo2%^RUGseJkpn9(MWszUQdl(i&RN5PBgZ0d#S7ZipShU3W`>Nsy6C#pCD*KW zyxHW%b?m|pr;dF;L$saa#oaeO`u=>jkXTjl9*cLEvOD!Jdr4ooKJW9gY7?D{e?uM^ z`_}E4`0yR0boA=9>3>WXzUH{&pDfpZ;_2xb=j*pKsk#WyD%J#5t{1#azeB z4SJq8H2*dJVX$xugZHVh{7U`u4@oM|quz5j-hRJi{qwh1k5uNqu`W>3HJG&Y^R}6R z$Gq-HPue$sd${oT*XKO8zN>Oe_%K^bZNm3^-vf7@5X# - - - - - - - - -

    - - - - - - - - - - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/video.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/video.js deleted file mode 100644 index a8c34d9..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/video.js +++ /dev/null @@ -1,791 +0,0 @@ -/** - * Created by JetBrains PhpStorm. - * User: taoqili - * Date: 12-2-20 - * Time: 上午11:19 - * To change this template use File | Settings | File Templates. - */ - -(function(){ - - var video = {}, - uploadVideoList = [], - isModifyUploadVideo = false, - uploadFile; - - window.onload = function(){ - $focus($G("videoUrl")); - initTabs(); - initVideo(); - initUpload(); - }; - - /* 初始化tab标签 */ - function initTabs(){ - var tabs = $G('tabHeads').children; - for (var i = 0; i < tabs.length; i++) { - domUtils.on(tabs[i], "click", function (e) { - var j, bodyId, target = e.target || e.srcElement; - for (j = 0; j < tabs.length; j++) { - bodyId = tabs[j].getAttribute('data-content-id'); - if(tabs[j] == target){ - domUtils.addClass(tabs[j], 'focus'); - domUtils.addClass($G(bodyId), 'focus'); - }else { - domUtils.removeClasses(tabs[j], 'focus'); - domUtils.removeClasses($G(bodyId), 'focus'); - } - } - }); - } - } - - function initVideo(){ - createAlignButton( ["videoFloat", "upload_alignment"] ); - addUrlChangeListener($G("videoUrl")); - addOkListener(); - - //编辑视频时初始化相关信息 - (function(){ - var img = editor.selection.getRange().getClosedNode(),url; - if(img && img.className){ - var hasFakedClass = (img.className == "edui-faked-video"), - hasUploadClass = img.className.indexOf("edui-upload-video")!=-1; - if(hasFakedClass || hasUploadClass) { - $G("videoUrl").value = url = img.getAttribute("_url"); - $G("videoWidth").value = img.width; - $G("videoHeight").value = img.height; - var align = domUtils.getComputedStyle(img,"float"), - parentAlign = domUtils.getComputedStyle(img.parentNode,"text-align"); - updateAlignButton(parentAlign==="center"?"center":align); - } - if(hasUploadClass) { - isModifyUploadVideo = true; - } - } - createPreviewVideo(url); - })(); - } - - /** - * 监听确认和取消两个按钮事件,用户执行插入或者清空正在播放的视频实例操作 - */ - function addOkListener(){ - dialog.onok = function(){ - $G("preview").innerHTML = ""; - var currentTab = findFocus("tabHeads","tabSrc"); - switch(currentTab){ - case "video": - return insertSingle(); - break; - case "videoSearch": - return insertSearch("searchList"); - break; - case "upload": - return insertUpload(); - break; - } - }; - dialog.oncancel = function(){ - $G("preview").innerHTML = ""; - }; - } - - /** - * 依据传入的align值更新按钮信息 - * @param align - */ - function updateAlignButton( align ) { - var aligns = $G( "videoFloat" ).children; - for ( var i = 0, ci; ci = aligns[i++]; ) { - if ( ci.getAttribute( "name" ) == align ) { - if ( ci.className !="focus" ) { - ci.className = "focus"; - } - } else { - if ( ci.className =="focus" ) { - ci.className = ""; - } - } - } - } - - /** - * 将单个视频信息插入编辑器中 - */ - function insertSingle(){ - var width = $G("videoWidth"), - height = $G("videoHeight"), - url=$G('videoUrl').value, - align = findFocus("videoFloat","name"); - if(!url) return false; - if ( !checkNum( [width, height] ) ) return false; - editor.execCommand('insertvideo', { - url: convert_url(url), - width: width.value, - height: height.value, - align: align - }, isModifyUploadVideo ? 'upload':null); - } - - /** - * 将元素id下的所有代表视频的图片插入编辑器中 - * @param id - */ - function insertSearch(id){ - var imgs = domUtils.getElementsByTagName($G(id),"img"), - videoObjs=[]; - for(var i=0,img; img=imgs[i++];){ - if(img.getAttribute("selected")){ - videoObjs.push({ - url:img.getAttribute("ue_video_url"), - width:420, - height:280, - align:"none" - }); - } - } - editor.execCommand('insertvideo',videoObjs); - } - - /** - * 找到id下具有focus类的节点并返回该节点下的某个属性 - * @param id - * @param returnProperty - */ - function findFocus( id, returnProperty ) { - var tabs = $G( id ).children, - property; - for ( var i = 0, ci; ci = tabs[i++]; ) { - if ( ci.className=="focus" ) { - property = ci.getAttribute( returnProperty ); - break; - } - } - return property; - } - function convert_url(url){ - if ( !url ) return ''; - url = utils.trim(url) - .replace(/v\.youku\.com\/v_show\/id_([\w\-=]+)\.html/i, 'player.youku.com/player.php/sid/$1/v.swf') - .replace(/(www\.)?youtube\.com\/watch\?v=([\w\-]+)/i, "www.youtube.com/v/$2") - .replace(/youtu.be\/(\w+)$/i, "www.youtube.com/v/$1") - .replace(/v\.ku6\.com\/.+\/([\w\.]+)\.html.*$/i, "player.ku6.com/refer/$1/v.swf") - .replace(/www\.56\.com\/u\d+\/v_([\w\-]+)\.html/i, "player.56.com/v_$1.swf") - .replace(/www.56.com\/w\d+\/play_album\-aid\-\d+_vid\-([^.]+)\.html/i, "player.56.com/v_$1.swf") - .replace(/v\.pps\.tv\/play_([\w]+)\.html.*$/i, "player.pps.tv/player/sid/$1/v.swf") - .replace(/www\.letv\.com\/ptv\/vplay\/([\d]+)\.html.*$/i, "i7.imgs.letv.com/player/swfPlayer.swf?id=$1&autoplay=0") - .replace(/www\.tudou\.com\/programs\/view\/([\w\-]+)\/?/i, "www.tudou.com/v/$1") - .replace(/v\.qq\.com\/cover\/[\w]+\/[\w]+\/([\w]+)\.html/i, "static.video.qq.com/TPout.swf?vid=$1") - .replace(/v\.qq\.com\/.+[\?\&]vid=([^&]+).*$/i, "static.video.qq.com/TPout.swf?vid=$1") - .replace(/my\.tv\.sohu\.com\/[\w]+\/[\d]+\/([\d]+)\.shtml.*$/i, "share.vrs.sohu.com/my/v.swf&id=$1"); - - return url; - } - - /** - * 检测传入的所有input框中输入的长宽是否是正数 - * @param nodes input框集合, - */ - function checkNum( nodes ) { - for ( var i = 0, ci; ci = nodes[i++]; ) { - var value = ci.value; - if ( !isNumber( value ) && value) { - alert( lang.numError ); - ci.value = ""; - ci.focus(); - return false; - } - } - return true; - } - - /** - * 数字判断 - * @param value - */ - function isNumber( value ) { - return /(0|^[1-9]\d*$)/.test( value ); - } - - /** - * 创建图片浮动选择按钮 - * @param ids - */ - function createAlignButton( ids ) { - for ( var i = 0, ci; ci = ids[i++]; ) { - var floatContainer = $G( ci ), - nameMaps = {"none":lang['default'], "left":lang.floatLeft, "right":lang.floatRight, "center":lang.block}; - for ( var j in nameMaps ) { - var div = document.createElement( "div" ); - div.setAttribute( "name", j ); - if ( j == "none" ) div.className="focus"; - div.style.cssText = "background:url(images/" + j + "_focus.jpg);"; - div.setAttribute( "title", nameMaps[j] ); - floatContainer.appendChild( div ); - } - switchSelect( ci ); - } - } - - /** - * 选择切换 - * @param selectParentId - */ - function switchSelect( selectParentId ) { - var selects = $G( selectParentId ).children; - for ( var i = 0, ci; ci = selects[i++]; ) { - domUtils.on( ci, "click", function () { - for ( var j = 0, cj; cj = selects[j++]; ) { - cj.className = ""; - cj.removeAttribute && cj.removeAttribute( "class" ); - } - this.className = "focus"; - } ) - } - } - - /** - * 监听url改变事件 - * @param url - */ - function addUrlChangeListener(url){ - if (browser.ie) { - url.onpropertychange = function () { - createPreviewVideo( this.value ); - } - } else { - url.addEventListener( "input", function () { - createPreviewVideo( this.value ); - }, false ); - } - } - - /** - * 根据url生成视频预览 - * @param url - */ - function createPreviewVideo(url){ - if ( !url )return; - - var conUrl = convert_url(url); - - conUrl = utils.unhtmlForUrl(conUrl); - - $G("preview").innerHTML = '
    '+lang.urlError+'
    '+ - '' + - ''; - } - - - /* 插入上传视频 */ - function insertUpload(){ - var videoObjs=[], - uploadDir = editor.getOpt('videoUrlPrefix'), - width = parseInt($G('upload_width').value, 10) || 420, - height = parseInt($G('upload_height').value, 10) || 280, - align = findFocus("upload_alignment","name") || 'none'; - for(var key in uploadVideoList) { - var file = uploadVideoList[key]; - videoObjs.push({ - url: uploadDir + file.url, - width:width, - height:height, - align:align - }); - } - - var count = uploadFile.getQueueCount(); - if (count) { - $('.info', '#queueList').html('' + '还有2个未上传文件'.replace(/[\d]/, count) + ''); - return false; - } else { - editor.execCommand('insertvideo', videoObjs, 'upload'); - } - } - - /*初始化上传标签*/ - function initUpload(){ - uploadFile = new UploadFile('queueList'); - } - - - /* 上传附件 */ - function UploadFile(target) { - this.$wrap = target.constructor == String ? $('#' + target) : $(target); - this.init(); - } - UploadFile.prototype = { - init: function () { - this.fileList = []; - this.initContainer(); - this.initUploader(); - }, - initContainer: function () { - this.$queue = this.$wrap.find('.filelist'); - }, - /* 初始化容器 */ - initUploader: function () { - var _this = this, - $ = jQuery, // just in case. Make sure it's not an other libaray. - $wrap = _this.$wrap, - // 图片容器 - $queue = $wrap.find('.filelist'), - // 状态栏,包括进度和控制按钮 - $statusBar = $wrap.find('.statusBar'), - // 文件总体选择信息。 - $info = $statusBar.find('.info'), - // 上传按钮 - $upload = $wrap.find('.uploadBtn'), - // 上传按钮 - $filePickerBtn = $wrap.find('.filePickerBtn'), - // 上传按钮 - $filePickerBlock = $wrap.find('.filePickerBlock'), - // 没选择文件之前的内容。 - $placeHolder = $wrap.find('.placeholder'), - // 总体进度条 - $progress = $statusBar.find('.progress').hide(), - // 添加的文件数量 - fileCount = 0, - // 添加的文件总大小 - fileSize = 0, - // 优化retina, 在retina下这个值是2 - ratio = window.devicePixelRatio || 1, - // 缩略图大小 - thumbnailWidth = 113 * ratio, - thumbnailHeight = 113 * ratio, - // 可能有pedding, ready, uploading, confirm, done. - state = '', - // 所有文件的进度信息,key为file id - percentages = {}, - supportTransition = (function () { - var s = document.createElement('p').style, - r = 'transition' in s || - 'WebkitTransition' in s || - 'MozTransition' in s || - 'msTransition' in s || - 'OTransition' in s; - s = null; - return r; - })(), - // WebUploader实例 - uploader, - actionUrl = editor.getActionUrl(editor.getOpt('videoActionName')), - fileMaxSize = editor.getOpt('videoMaxSize'), - acceptExtensions = (editor.getOpt('videoAllowFiles') || []).join('').replace(/\./g, ',').replace(/^[,]/, '');; - - if (!WebUploader.Uploader.support()) { - $('#filePickerReady').after($('
    ').html(lang.errorNotSupport)).hide(); - return; - } else if (!editor.getOpt('videoActionName')) { - $('#filePickerReady').after($('
    ').html(lang.errorLoadConfig)).hide(); - return; - } - - uploader = _this.uploader = WebUploader.create({ - pick: { - id: '#filePickerReady', - label: lang.uploadSelectFile - }, - swf: '../../third-party/webuploader/Uploader.swf', - server: actionUrl, - fileVal: editor.getOpt('videoFieldName'), - duplicate: true, - fileSingleSizeLimit: fileMaxSize, - compress: false - }); - uploader.addButton({ - id: '#filePickerBlock' - }); - uploader.addButton({ - id: '#filePickerBtn', - label: lang.uploadAddFile - }); - - setState('pedding'); - - // 当有文件添加进来时执行,负责view的创建 - function addFile(file) { - var $li = $('
  • ' + - '

    ' + file.name + '

    ' + - '

    ' + - '

    ' + - '
  • '), - - $btns = $('
    ' + - '' + lang.uploadDelete + '' + - '' + lang.uploadTurnRight + '' + - '' + lang.uploadTurnLeft + '
    ').appendTo($li), - $prgress = $li.find('p.progress span'), - $wrap = $li.find('p.imgWrap'), - $info = $('

    ').hide().appendTo($li), - - showError = function (code) { - switch (code) { - case 'exceed_size': - text = lang.errorExceedSize; - break; - case 'interrupt': - text = lang.errorInterrupt; - break; - case 'http': - text = lang.errorHttp; - break; - case 'not_allow_type': - text = lang.errorFileType; - break; - default: - text = lang.errorUploadRetry; - break; - } - $info.text(text).show(); - }; - - if (file.getStatus() === 'invalid') { - showError(file.statusText); - } else { - $wrap.text(lang.uploadPreview); - if ('|png|jpg|jpeg|bmp|gif|'.indexOf('|'+file.ext.toLowerCase()+'|') == -1) { - $wrap.empty().addClass('notimage').append('' + - '' + file.name + ''); - } else { - if (browser.ie && browser.version <= 7) { - $wrap.text(lang.uploadNoPreview); - } else { - uploader.makeThumb(file, function (error, src) { - if (error || !src || (/^data:/.test(src) && browser.ie && browser.version <= 7)) { - $wrap.text(lang.uploadNoPreview); - } else { - var $img = $(''); - $wrap.empty().append($img); - $img.on('error', function () { - $wrap.text(lang.uploadNoPreview); - }); - } - }, thumbnailWidth, thumbnailHeight); - } - } - percentages[ file.id ] = [ file.size, 0 ]; - file.rotation = 0; - - /* 检查文件格式 */ - if (!file.ext || acceptExtensions.indexOf(file.ext.toLowerCase()) == -1) { - showError('not_allow_type'); - uploader.removeFile(file); - } - } - - file.on('statuschange', function (cur, prev) { - if (prev === 'progress') { - $prgress.hide().width(0); - } else if (prev === 'queued') { - $li.off('mouseenter mouseleave'); - $btns.remove(); - } - // 成功 - if (cur === 'error' || cur === 'invalid') { - showError(file.statusText); - percentages[ file.id ][ 1 ] = 1; - } else if (cur === 'interrupt') { - showError('interrupt'); - } else if (cur === 'queued') { - percentages[ file.id ][ 1 ] = 0; - } else if (cur === 'progress') { - $info.hide(); - $prgress.css('display', 'block'); - } else if (cur === 'complete') { - } - - $li.removeClass('state-' + prev).addClass('state-' + cur); - }); - - $li.on('mouseenter', function () { - $btns.stop().animate({height: 30}); - }); - $li.on('mouseleave', function () { - $btns.stop().animate({height: 0}); - }); - - $btns.on('click', 'span', function () { - var index = $(this).index(), - deg; - - switch (index) { - case 0: - uploader.removeFile(file); - return; - case 1: - file.rotation += 90; - break; - case 2: - file.rotation -= 90; - break; - } - - if (supportTransition) { - deg = 'rotate(' + file.rotation + 'deg)'; - $wrap.css({ - '-webkit-transform': deg, - '-mos-transform': deg, - '-o-transform': deg, - 'transform': deg - }); - } else { - $wrap.css('filter', 'progid:DXImageTransform.Microsoft.BasicImage(rotation=' + (~~((file.rotation / 90) % 4 + 4) % 4) + ')'); - } - - }); - - $li.insertBefore($filePickerBlock); - } - - // 负责view的销毁 - function removeFile(file) { - var $li = $('#' + file.id); - delete percentages[ file.id ]; - updateTotalProgress(); - $li.off().find('.file-panel').off().end().remove(); - } - - function updateTotalProgress() { - var loaded = 0, - total = 0, - spans = $progress.children(), - percent; - - $.each(percentages, function (k, v) { - total += v[ 0 ]; - loaded += v[ 0 ] * v[ 1 ]; - }); - - percent = total ? loaded / total : 0; - - spans.eq(0).text(Math.round(percent * 100) + '%'); - spans.eq(1).css('width', Math.round(percent * 100) + '%'); - updateStatus(); - } - - function setState(val, files) { - - if (val != state) { - - var stats = uploader.getStats(); - - $upload.removeClass('state-' + state); - $upload.addClass('state-' + val); - - switch (val) { - - /* 未选择文件 */ - case 'pedding': - $queue.addClass('element-invisible'); - $statusBar.addClass('element-invisible'); - $placeHolder.removeClass('element-invisible'); - $progress.hide(); $info.hide(); - uploader.refresh(); - break; - - /* 可以开始上传 */ - case 'ready': - $placeHolder.addClass('element-invisible'); - $queue.removeClass('element-invisible'); - $statusBar.removeClass('element-invisible'); - $progress.hide(); $info.show(); - $upload.text(lang.uploadStart); - uploader.refresh(); - break; - - /* 上传中 */ - case 'uploading': - $progress.show(); $info.hide(); - $upload.text(lang.uploadPause); - break; - - /* 暂停上传 */ - case 'paused': - $progress.show(); $info.hide(); - $upload.text(lang.uploadContinue); - break; - - case 'confirm': - $progress.show(); $info.hide(); - $upload.text(lang.uploadStart); - - stats = uploader.getStats(); - if (stats.successNum && !stats.uploadFailNum) { - setState('finish'); - return; - } - break; - - case 'finish': - $progress.hide(); $info.show(); - if (stats.uploadFailNum) { - $upload.text(lang.uploadRetry); - } else { - $upload.text(lang.uploadStart); - } - break; - } - - state = val; - updateStatus(); - - } - - if (!_this.getQueueCount()) { - $upload.addClass('disabled') - } else { - $upload.removeClass('disabled') - } - - } - - function updateStatus() { - var text = '', stats; - - if (state === 'ready') { - text = lang.updateStatusReady.replace('_', fileCount).replace('_KB', WebUploader.formatSize(fileSize)); - } else if (state === 'confirm') { - stats = uploader.getStats(); - if (stats.uploadFailNum) { - text = lang.updateStatusConfirm.replace('_', stats.successNum).replace('_', stats.successNum); - } - } else { - stats = uploader.getStats(); - text = lang.updateStatusFinish.replace('_', fileCount). - replace('_KB', WebUploader.formatSize(fileSize)). - replace('_', stats.successNum); - - if (stats.uploadFailNum) { - text += lang.updateStatusError.replace('_', stats.uploadFailNum); - } - } - - $info.html(text); - } - - uploader.on('fileQueued', function (file) { - fileCount++; - fileSize += file.size; - - if (fileCount === 1) { - $placeHolder.addClass('element-invisible'); - $statusBar.show(); - } - - addFile(file); - }); - - uploader.on('fileDequeued', function (file) { - fileCount--; - fileSize -= file.size; - - removeFile(file); - updateTotalProgress(); - }); - - uploader.on('filesQueued', function (file) { - if (!uploader.isInProgress() && (state == 'pedding' || state == 'finish' || state == 'confirm' || state == 'ready')) { - setState('ready'); - } - updateTotalProgress(); - }); - - uploader.on('all', function (type, files) { - switch (type) { - case 'uploadFinished': - setState('confirm', files); - break; - case 'startUpload': - /* 添加额外的GET参数 */ - var params = utils.serializeParam(editor.queryCommandValue('serverparam')) || '', - url = utils.formatUrl(actionUrl + (actionUrl.indexOf('?') == -1 ? '?':'&') + 'encode=utf-8&' + params); - uploader.option('server', url); - setState('uploading', files); - break; - case 'stopUpload': - setState('paused', files); - break; - } - }); - - uploader.on('uploadBeforeSend', function (file, data, header) { - //这里可以通过data对象添加POST参数 - header['X_Requested_With'] = 'XMLHttpRequest'; - }); - - uploader.on('uploadProgress', function (file, percentage) { - var $li = $('#' + file.id), - $percent = $li.find('.progress span'); - - $percent.css('width', percentage * 100 + '%'); - percentages[ file.id ][ 1 ] = percentage; - updateTotalProgress(); - }); - - uploader.on('uploadSuccess', function (file, ret) { - var $file = $('#' + file.id); - try { - var responseText = (ret._raw || ret), - json = utils.str2json(responseText); - if (json.state == 'SUCCESS') { - uploadVideoList.push({ - 'url': json.url, - 'type': json.type, - 'original':json.original - }); - $file.append(''); - } else { - $file.find('.error').text(json.state).show(); - } - } catch (e) { - $file.find('.error').text(lang.errorServerUpload).show(); - } - }); - - uploader.on('uploadError', function (file, code) { - }); - uploader.on('error', function (code, file) { - if (code == 'Q_TYPE_DENIED' || code == 'F_EXCEED_SIZE') { - addFile(file); - } - }); - uploader.on('uploadComplete', function (file, ret) { - }); - - $upload.on('click', function () { - if ($(this).hasClass('disabled')) { - return false; - } - - if (state === 'ready') { - uploader.upload(); - } else if (state === 'paused') { - uploader.upload(); - } else if (state === 'uploading') { - uploader.stop(); - } - }); - - $upload.addClass('state-' + state); - updateTotalProgress(); - }, - getQueueCount: function () { - var file, i, status, readyFile = 0, files = this.uploader.getFiles(); - for (i = 0; file = files[i++]; ) { - status = file.getStatus(); - if (status == 'queued' || status == 'uploading' || status == 'progress') readyFile++; - } - return readyFile; - }, - refresh: function(){ - this.uploader.refresh(); - } - }; - -})(); diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/webapp/webapp.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/webapp/webapp.html deleted file mode 100644 index 1614377..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/webapp/webapp.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - -
    -
    -
    - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/fClipboard_ueditor.swf b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/fClipboard_ueditor.swf deleted file mode 100644 index ac5d27f81d2111c8581a042564c5275edd751e1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1908 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
    ukC`1!p{x~JlsV7pDC73)_A$z0@ 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 - * 参数的意思:beforeBegin<span>afterBegin this is span! beforeEnd</span> afterEnd
    - * 此外,如果使用本函数插入带有script标签的HTML字符串,script标签对应的脚本将不会被执行。 - * - * @shortcut insertHTML - * @meta standard - * - * @returns {HTMLElement} 目标元素 - */ -baidu.dom.insertHTML = function (element, position, html) { - element = baidu.dom.g(element); - var range,begin; - if (element.insertAdjacentHTML && !baidu.browser.opera) { - element.insertAdjacentHTML(position, html); - } else { - range = element.ownerDocument.createRange(); - position = position.toUpperCase(); - if (position == 'AFTERBEGIN' || position == 'BEFOREEND') { - range.selectNodeContents(element); - range.collapse(position == 'AFTERBEGIN'); - } else { - begin = position == 'BEFOREBEGIN'; - range[begin ? 'setStartBefore' : 'setEndAfter'](element); - range.collapse(begin); - } - range.insertNode(range.createContextualFragment(html)); - } - return element; -}; - -baidu.insertHTML = baidu.dom.insertHTML; - -/** - * 操作flash对象的方法,包括创建flash对象、获取flash对象以及判断flash插件的版本号 - * @namespace baidu.swf - */ -baidu.swf = baidu.swf || {}; - - -/** - * 浏览器支持的flash插件版本 - * @property version 浏览器支持的flash插件版本 - * @grammar baidu.swf.version - * @return {String} 版本号 - * @meta standard - */ -baidu.swf.version = (function () { - var n = navigator; - if (n.plugins && n.mimeTypes.length) { - var plugin = n.plugins["Shockwave Flash"]; - if (plugin && plugin.description) { - return plugin.description - .replace(/([a-zA-Z]|\s)+/, "") - .replace(/(\s)+r/, ".") + ".0"; - } - } else if (window.ActiveXObject && !window.opera) { - for (var i = 12; i >= 2; i--) { - try { - var c = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.' + i); - if (c) { - var version = c.GetVariable("$version"); - return version.replace(/WIN/g,'').replace(/,/g,'.'); - } - } catch(e) {} - } - } -})(); - -/** - * 操作字符串的方法 - * @namespace baidu.string - */ -baidu.string = baidu.string || {}; - - -/** - * 对目标字符串进行html编码 - * @name baidu.string.encodeHTML - * @function - * @grammar baidu.string.encodeHTML(source) - * @param {string} source 目标字符串 - * @remark - * 编码字符有5个:&<>"' - * @shortcut encodeHTML - * @meta standard - * @see baidu.string.decodeHTML - * - * @returns {string} html编码后的字符串 - */ -baidu.string.encodeHTML = function (source) { - return String(source) - .replace(/&/g,'&') - .replace(//g,'>') - .replace(/"/g, """) - .replace(/'/g, "'"); -}; - -baidu.encodeHTML = baidu.string.encodeHTML; - -/** - * 创建flash对象的html字符串 - * @name baidu.swf.createHTML - * @function - * @grammar baidu.swf.createHTML(options) - * - * @param {Object} options 创建flash的选项参数 - * @param {string} options.id 要创建的flash的标识 - * @param {string} options.url flash文件的url - * @param {String} options.errorMessage 未安装flash player或flash player版本号过低时的提示 - * @param {string} options.ver 最低需要的flash player版本号 - * @param {string} options.width flash的宽度 - * @param {string} options.height flash的高度 - * @param {string} options.align flash的对齐方式,允许值:middle/left/right/top/bottom - * @param {string} options.base 设置用于解析swf文件中的所有相对路径语句的基本目录或URL - * @param {string} options.bgcolor swf文件的背景色 - * @param {string} options.salign 设置缩放的swf文件在由width和height设置定义的区域内的位置。允许值:l/r/t/b/tl/tr/bl/br - * @param {boolean} options.menu 是否显示右键菜单,允许值:true/false - * @param {boolean} options.loop 播放到最后一帧时是否重新播放,允许值: true/false - * @param {boolean} options.play flash是否在浏览器加载时就开始播放。允许值:true/false - * @param {string} options.quality 设置flash播放的画质,允许值:low/medium/high/autolow/autohigh/best - * @param {string} options.scale 设置flash内容如何缩放来适应设置的宽高。允许值:showall/noborder/exactfit - * @param {string} options.wmode 设置flash的显示模式。允许值:window/opaque/transparent - * @param {string} options.allowscriptaccess 设置flash与页面的通信权限。允许值:always/never/sameDomain - * @param {string} options.allownetworking 设置swf文件中允许使用的网络API。允许值:all/internal/none - * @param {boolean} options.allowfullscreen 是否允许flash全屏。允许值:true/false - * @param {boolean} options.seamlesstabbing 允许设置执行无缝跳格,从而使用户能跳出flash应用程序。该参数只能在安装Flash7及更高版本的Windows中使用。允许值:true/false - * @param {boolean} options.devicefont 设置静态文本对象是否以设备字体呈现。允许值:true/false - * @param {boolean} options.swliveconnect 第一次加载flash时浏览器是否应启动Java。允许值:true/false - * @param {Object} options.vars 要传递给flash的参数,支持JSON或string类型。 - * - * @see baidu.swf.create - * @meta standard - * @returns {string} flash对象的html字符串 - */ -baidu.swf.createHTML = function (options) { - options = options || {}; - var version = baidu.swf.version, - needVersion = options['ver'] || '6.0.0', - vUnit1, vUnit2, i, k, len, item, tmpOpt = {}, - encodeHTML = baidu.string.encodeHTML; - for (k in options) { - tmpOpt[k] = options[k]; - } - options = tmpOpt; - if (version) { - version = version.split('.'); - needVersion = needVersion.split('.'); - for (i = 0; i < 3; i++) { - vUnit1 = parseInt(version[i], 10); - vUnit2 = parseInt(needVersion[i], 10); - if (vUnit2 < vUnit1) { - break; - } else if (vUnit2 > vUnit1) { - return ''; - } - } - } else { - return ''; - } - - var vars = options['vars'], - objProperties = ['classid', 'codebase', 'id', 'width', 'height', 'align']; - options['align'] = options['align'] || 'middle'; - options['classid'] = 'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'; - options['codebase'] = 'http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0'; - options['movie'] = options['url'] || ''; - delete options['vars']; - delete options['url']; - if ('string' == typeof vars) { - options['flashvars'] = vars; - } else { - var fvars = []; - for (k in vars) { - item = vars[k]; - fvars.push(k + "=" + encodeURIComponent(item)); - } - options['flashvars'] = fvars.join('&'); - } - var str = [''); - var params = { - 'wmode' : 1, - 'scale' : 1, - 'quality' : 1, - 'play' : 1, - 'loop' : 1, - 'menu' : 1, - 'salign' : 1, - 'bgcolor' : 1, - 'base' : 1, - 'allowscriptaccess' : 1, - 'allownetworking' : 1, - 'allowfullscreen' : 1, - 'seamlesstabbing' : 1, - 'devicefont' : 1, - 'swliveconnect' : 1, - 'flashvars' : 1, - 'movie' : 1 - }; - - for (k in options) { - item = options[k]; - k = k.toLowerCase(); - if (params[k] && (item || item === false || item === 0)) { - str.push(''); - } - } - options['src'] = options['movie']; - options['name'] = options['id']; - delete options['id']; - delete options['movie']; - delete options['classid']; - delete options['codebase']; - options['type'] = 'application/x-shockwave-flash'; - options['pluginspage'] = 'http://www.macromedia.com/go/getflashplayer'; - str.push(''); - - return str.join(''); -}; - - -/** - * 在页面中创建一个flash对象 - * @name baidu.swf.create - * @function - * @grammar baidu.swf.create(options[, container]) - * - * @param {Object} options 创建flash的选项参数 - * @param {string} options.id 要创建的flash的标识 - * @param {string} options.url flash文件的url - * @param {String} options.errorMessage 未安装flash player或flash player版本号过低时的提示 - * @param {string} options.ver 最低需要的flash player版本号 - * @param {string} options.width flash的宽度 - * @param {string} options.height flash的高度 - * @param {string} options.align flash的对齐方式,允许值:middle/left/right/top/bottom - * @param {string} options.base 设置用于解析swf文件中的所有相对路径语句的基本目录或URL - * @param {string} options.bgcolor swf文件的背景色 - * @param {string} options.salign 设置缩放的swf文件在由width和height设置定义的区域内的位置。允许值:l/r/t/b/tl/tr/bl/br - * @param {boolean} options.menu 是否显示右键菜单,允许值:true/false - * @param {boolean} options.loop 播放到最后一帧时是否重新播放,允许值: true/false - * @param {boolean} options.play flash是否在浏览器加载时就开始播放。允许值:true/false - * @param {string} options.quality 设置flash播放的画质,允许值:low/medium/high/autolow/autohigh/best - * @param {string} options.scale 设置flash内容如何缩放来适应设置的宽高。允许值:showall/noborder/exactfit - * @param {string} options.wmode 设置flash的显示模式。允许值:window/opaque/transparent - * @param {string} options.allowscriptaccess 设置flash与页面的通信权限。允许值:always/never/sameDomain - * @param {string} options.allownetworking 设置swf文件中允许使用的网络API。允许值:all/internal/none - * @param {boolean} options.allowfullscreen 是否允许flash全屏。允许值:true/false - * @param {boolean} options.seamlesstabbing 允许设置执行无缝跳格,从而使用户能跳出flash应用程序。该参数只能在安装Flash7及更高版本的Windows中使用。允许值:true/false - * @param {boolean} options.devicefont 设置静态文本对象是否以设备字体呈现。允许值:true/false - * @param {boolean} options.swliveconnect 第一次加载flash时浏览器是否应启动Java。允许值:true/false - * @param {Object} options.vars 要传递给flash的参数,支持JSON或string类型。 - * - * @param {HTMLElement|string} [container] flash对象的父容器元素,不传递该参数时在当前代码位置创建flash对象。 - * @meta standard - * @see baidu.swf.createHTML,baidu.swf.getMovie - */ -baidu.swf.create = function (options, target) { - options = options || {}; - var html = baidu.swf.createHTML(options) - || options['errorMessage'] - || ''; - - if (target && 'string' == typeof target) { - target = document.getElementById(target); - } - baidu.dom.insertHTML( target || document.body ,'beforeEnd',html ); -}; -/** - * 判断是否为ie浏览器 - * @name baidu.browser.ie - * @field - * @grammar baidu.browser.ie - * @returns {Number} IE版本号 - */ -baidu.browser.ie = baidu.ie = /msie (\d+\.\d+)/i.test(navigator.userAgent) ? (document.documentMode || + RegExp['\x241']) : undefined; - -/** - * 移除数组中的项 - * @name baidu.array.remove - * @function - * @grammar baidu.array.remove(source, match) - * @param {Array} source 需要移除项的数组 - * @param {Any} match 要移除的项 - * @meta standard - * @see baidu.array.removeAt - * - * @returns {Array} 移除后的数组 - */ -baidu.array.remove = function (source, match) { - var len = source.length; - - while (len--) { - if (len in source && source[len] === match) { - source.splice(len, 1); - } - } - return source; -}; - -/** - * 判断目标参数是否Array对象 - * @name baidu.lang.isArray - * @function - * @grammar baidu.lang.isArray(source) - * @param {Any} source 目标参数 - * @meta standard - * @see baidu.lang.isString,baidu.lang.isObject,baidu.lang.isNumber,baidu.lang.isElement,baidu.lang.isBoolean,baidu.lang.isDate - * - * @returns {boolean} 类型判断结果 - */ -baidu.lang.isArray = function (source) { - return '[object Array]' == Object.prototype.toString.call(source); -}; - - - -/** - * 将一个变量转换成array - * @name baidu.lang.toArray - * @function - * @grammar baidu.lang.toArray(source) - * @param {mix} source 需要转换成array的变量 - * @version 1.3 - * @meta standard - * @returns {array} 转换后的array - */ -baidu.lang.toArray = function (source) { - if (source === null || source === undefined) - return []; - if (baidu.lang.isArray(source)) - return source; - if (typeof source.length !== 'number' || typeof source === 'string' || baidu.lang.isFunction(source)) { - return [source]; - } - if (source.item) { - var l = source.length, array = new Array(l); - while (l--) - array[l] = source[l]; - return array; - } - - return [].slice.call(source); -}; - -/** - * 获得flash对象的实例 - * @name baidu.swf.getMovie - * @function - * @grammar baidu.swf.getMovie(name) - * @param {string} name flash对象的名称 - * @see baidu.swf.create - * @meta standard - * @returns {HTMLElement} flash对象的实例 - */ -baidu.swf.getMovie = function (name) { - var movie = document[name], ret; - return baidu.browser.ie == 9 ? - movie && movie.length ? - (ret = baidu.array.remove(baidu.lang.toArray(movie),function(item){ - return item.tagName.toLowerCase() != "embed"; - })).length == 1 ? ret[0] : ret - : movie - : movie || window[name]; -}; - - -baidu.flash._Base = (function(){ - - var prefix = 'bd__flash__'; - - /** - * 创建一个随机的字符串 - * @private - * @return {String} - */ - function _createString(){ - return prefix + Math.floor(Math.random() * 2147483648).toString(36); - }; - - /** - * 检查flash状态 - * @private - * @param {Object} target flash对象 - * @return {Boolean} - */ - function _checkReady(target){ - if(typeof target !== 'undefined' && typeof target.flashInit !== 'undefined' && target.flashInit()){ - return true; - }else{ - return false; - } - }; - - /** - * 调用之前进行压栈的函数 - * @private - * @param {Array} callQueue 调用队列 - * @param {Object} target flash对象 - * @return {Null} - */ - function _callFn(callQueue, target){ - var result = null; - - callQueue = callQueue.reverse(); - baidu.each(callQueue, function(item){ - result = target.call(item.fnName, item.params); - item.callBack(result); - }); - }; - - /** - * 为传入的匿名函数创建函数名 - * @private - * @param {String|Function} fun 传入的匿名函数或者函数名 - * @return {String} - */ - function _createFunName(fun){ - var name = ''; - - if(baidu.lang.isFunction(fun)){ - name = _createString(); - window[name] = function(){ - fun.apply(window, arguments); - }; - - return name; - }else if(baidu.lang.isString){ - return fun; - } - }; - - /** - * 绘制flash - * @private - * @param {Object} options 创建参数 - * @return {Object} - */ - function _render(options){ - if(!options.id){ - options.id = _createString(); - } - - var container = options.container || ''; - delete(options.container); - - baidu.swf.create(options, container); - - return baidu.swf.getMovie(options.id); - }; - - return function(options, callBack){ - var me = this, - autoRender = (typeof options.autoRender !== 'undefined' ? options.autoRender : true), - createOptions = options.createOptions || {}, - target = null, - isReady = false, - callQueue = [], - timeHandle = null, - callBack = callBack || []; - - /** - * 将flash文件绘制到页面上 - * @public - * @return {Null} - */ - me.render = function(){ - target = _render(createOptions); - - if(callBack.length > 0){ - baidu.each(callBack, function(funName, index){ - callBack[index] = _createFunName(options[funName] || new Function()); - }); - } - me.call('setJSFuncName', [callBack]); - }; - - /** - * 返回flash状态 - * @return {Boolean} - */ - me.isReady = function(){ - return isReady; - }; - - /** - * 调用flash接口的统一入口 - * @param {String} fnName 调用的函数名 - * @param {Array} params 传入的参数组成的数组,若不许要参数,需传入空数组 - * @param {Function} [callBack] 异步调用后将返回值作为参数的调用回调函数,如无返回值,可以不传入此参数 - * @return {Null} - */ - me.call = function(fnName, params, callBack){ - if(!fnName) return null; - callBack = callBack || new Function(); - - var result = null; - - if(isReady){ - result = target.call(fnName, params); - callBack(result); - }else{ - callQueue.push({ - fnName: fnName, - params: params, - callBack: callBack - }); - - (!timeHandle) && (timeHandle = setInterval(_check, 200)); - } - }; - - /** - * 为传入的匿名函数创建函数名 - * @public - * @param {String|Function} fun 传入的匿名函数或者函数名 - * @return {String} - */ - me.createFunName = function(fun){ - return _createFunName(fun); - }; - - /** - * 检查flash是否ready, 并进行调用 - * @private - * @return {Null} - */ - function _check(){ - if(_checkReady(target)){ - clearInterval(timeHandle); - timeHandle = null; - _call(); - - isReady = true; - } - }; - - /** - * 调用之前进行压栈的函数 - * @private - * @return {Null} - */ - function _call(){ - _callFn(callQueue, target); - callQueue = []; - } - - autoRender && me.render(); - }; -})(); - - - -/** - * 创建flash based imageUploader - * @class - * @grammar baidu.flash.imageUploader(options) - * @param {Object} createOptions 创建flash时需要的参数,请参照baidu.swf.create文档 - * @config {Object} vars 创建imageUploader时所需要的参数 - * @config {Number} vars.gridWidth 每一个预览图片所占的宽度,应该为flash寛的整除 - * @config {Number} vars.gridHeight 每一个预览图片所占的高度,应该为flash高的整除 - * @config {Number} vars.picWidth 单张预览图片的宽度 - * @config {Number} vars.picHeight 单张预览图片的高度 - * @config {String} vars.uploadDataFieldName POST请求中图片数据的key,默认值'picdata' - * @config {String} vars.picDescFieldName POST请求中图片描述的key,默认值'picDesc' - * @config {Number} vars.maxSize 文件的最大体积,单位'MB' - * @config {Number} vars.compressSize 上传前如果图片体积超过该值,会先压缩 - * @config {Number} vars.maxNum:32 最大上传多少个文件 - * @config {Number} vars.compressLength 能接受的最大边长,超过该值会等比压缩 - * @config {String} vars.url 上传的url地址 - * @config {Number} vars.mode mode == 0时,是使用滚动条,mode == 1时,拉伸flash, 默认值为0 - * @see baidu.swf.createHTML - * @param {String} backgroundUrl 背景图片路径 - * @param {String} listBacgroundkUrl 布局控件背景 - * @param {String} buttonUrl 按钮图片不背景 - * @param {String|Function} selectFileCallback 选择文件的回调 - * @param {String|Function} exceedFileCallback文件超出限制的最大体积时的回调 - * @param {String|Function} deleteFileCallback 删除文件的回调 - * @param {String|Function} startUploadCallback 开始上传某个文件时的回调 - * @param {String|Function} uploadCompleteCallback 某个文件上传完成的回调 - * @param {String|Function} uploadErrorCallback 某个文件上传失败的回调 - * @param {String|Function} allCompleteCallback 全部上传完成时的回调 - * @param {String|Function} changeFlashHeight 改变Flash的高度,mode==1的时候才有用 - */ -baidu.flash.imageUploader = baidu.flash.imageUploader || function(options){ - - var me = this, - options = options || {}, - _flash = new baidu.flash._Base(options, [ - 'selectFileCallback', - 'exceedFileCallback', - 'deleteFileCallback', - 'startUploadCallback', - 'uploadCompleteCallback', - 'uploadErrorCallback', - 'allCompleteCallback', - 'changeFlashHeight' - ]); - /** - * 开始或回复上传图片 - * @public - * @return {Null} - */ - me.upload = function(){ - _flash.call('upload'); - }; - - /** - * 暂停上传图片 - * @public - * @return {Null} - */ - me.pause = function(){ - _flash.call('pause'); - }; - me.addCustomizedParams = function(index,obj){ - _flash.call('addCustomizedParams',[index,obj]); - } -}; - -/** - * 操作原生对象的方法 - * @namespace baidu.object - */ -baidu.object = baidu.object || {}; - - -/** - * 将源对象的所有属性拷贝到目标对象中 - * @author erik - * @name baidu.object.extend - * @function - * @grammar baidu.object.extend(target, source) - * @param {Object} target 目标对象 - * @param {Object} source 源对象 - * @see baidu.array.merge - * @remark - * -1.目标对象中,与源对象key相同的成员将会被覆盖。
    -2.源对象的prototype成员不会拷贝。 - - * @shortcut extend - * @meta standard - * - * @returns {Object} 目标对象 - */ -baidu.extend = -baidu.object.extend = function (target, source) { - for (var p in source) { - if (source.hasOwnProperty(p)) { - target[p] = source[p]; - } - } - - return target; -}; - - - - - -/** - * 创建flash based fileUploader - * @class - * @grammar baidu.flash.fileUploader(options) - * @param {Object} options - * @config {Object} createOptions 创建flash时需要的参数,请参照baidu.swf.create文档 - * @config {String} createOptions.width - * @config {String} createOptions.height - * @config {Number} maxNum 最大可选文件数 - * @config {Function|String} selectFile - * @config {Function|String} exceedMaxSize - * @config {Function|String} deleteFile - * @config {Function|String} uploadStart - * @config {Function|String} uploadComplete - * @config {Function|String} uploadError - * @config {Function|String} uploadProgress - */ -baidu.flash.fileUploader = baidu.flash.fileUploader || function(options){ - var me = this, - options = options || {}; - - options.createOptions = baidu.extend({ - wmod: 'transparent' - },options.createOptions || {}); - - var _flash = new baidu.flash._Base(options, [ - 'selectFile', - 'exceedMaxSize', - 'deleteFile', - 'uploadStart', - 'uploadComplete', - 'uploadError', - 'uploadProgress' - ]); - - _flash.call('setMaxNum', options.maxNum ? [options.maxNum] : [1]); - - /** - * 设置当鼠标移动到flash上时,是否变成手型 - * @public - * @param {Boolean} isCursor - * @return {Null} - */ - me.setHandCursor = function(isCursor){ - _flash.call('setHandCursor', [isCursor || false]); - }; - - /** - * 设置鼠标相应函数名 - * @param {String|Function} fun - */ - me.setMSFunName = function(fun){ - _flash.call('setMSFunName',[_flash.createFunName(fun)]); - }; - - /** - * 执行上传操作 - * @param {String} url 上传的url - * @param {String} fieldName 上传的表单字段名 - * @param {Object} postData 键值对,上传的POST数据 - * @param {Number|Array|null|-1} [index]上传的文件序列 - * Int值上传该文件 - * Array一次串行上传该序列文件 - * -1/null上传所有文件 - * @return {Null} - */ - me.upload = function(url, fieldName, postData, index){ - - if(typeof url !== 'string' || typeof fieldName !== 'string') return null; - if(typeof index === 'undefined') index = -1; - - _flash.call('upload', [url, fieldName, postData, index]); - }; - - /** - * 取消上传操作 - * @public - * @param {Number|-1} index - */ - me.cancel = function(index){ - if(typeof index === 'undefined') index = -1; - _flash.call('cancel', [index]); - }; - - /** - * 删除文件 - * @public - * @param {Number|Array} [index] 要删除的index,不传则全部删除 - * @param {Function} callBack - * */ - me.deleteFile = function(index, callBack){ - - var callBackAll = function(list){ - callBack && callBack(list); - }; - - if(typeof index === 'undefined'){ - _flash.call('deleteFilesAll', [], callBackAll); - return; - }; - - if(typeof index === 'Number') index = [index]; - index.sort(function(a,b){ - return b-a; - }); - baidu.each(index, function(item){ - _flash.call('deleteFileBy', item, callBackAll); - }); - }; - - /** - * 添加文件类型,支持macType - * @public - * @param {Object|Array[Object]} type {description:String, extention:String} - * @return {Null}; - */ - me.addFileType = function(type){ - var type = type || [[]]; - - if(type instanceof Array) type = [type]; - else type = [[type]]; - _flash.call('addFileTypes', type); - }; - - /** - * 设置文件类型,支持macType - * @public - * @param {Object|Array[Object]} type {description:String, extention:String} - * @return {Null}; - */ - me.setFileType = function(type){ - var type = type || [[]]; - - if(type instanceof Array) type = [type]; - else type = [[type]]; - _flash.call('setFileTypes', type); - }; - - /** - * 设置可选文件的数量限制 - * @public - * @param {Number} num - * @return {Null} - */ - me.setMaxNum = function(num){ - _flash.call('setMaxNum', [num]); - }; - - /** - * 设置可选文件大小限制,以兆M为单位 - * @public - * @param {Number} num,0为无限制 - * @return {Null} - */ - me.setMaxSize = function(num){ - _flash.call('setMaxSize', [num]); - }; - - /** - * @public - */ - me.getFileAll = function(callBack){ - _flash.call('getFileAll', [], callBack); - }; - - /** - * @public - * @param {Number} index - * @param {Function} [callBack] - */ - me.getFileByIndex = function(index, callBack){ - _flash.call('getFileByIndex', [], callBack); - }; - - /** - * @public - * @param {Number} index - * @param {function} [callBack] - */ - me.getStatusByIndex = function(index, callBack){ - _flash.call('getStatusByIndex', [], callBack); - }; -}; - -/** - * 使用动态script标签请求服务器资源,包括由服务器端的回调和浏览器端的回调 - * @namespace baidu.sio - */ -baidu.sio = baidu.sio || {}; - -/** - * - * @param {HTMLElement} src script节点 - * @param {String} url script节点的地址 - * @param {String} [charset] 编码 - */ -baidu.sio._createScriptTag = function(scr, url, charset){ - scr.setAttribute('type', 'text/javascript'); - charset && scr.setAttribute('charset', charset); - scr.setAttribute('src', url); - document.getElementsByTagName('head')[0].appendChild(scr); -}; - -/** - * 删除script的属性,再删除script标签,以解决修复内存泄漏的问题 - * - * @param {HTMLElement} src script节点 - */ -baidu.sio._removeScriptTag = function(scr){ - if (scr.clearAttributes) { - scr.clearAttributes(); - } else { - for (var attr in scr) { - if (scr.hasOwnProperty(attr)) { - delete scr[attr]; - } - } - } - if(scr && scr.parentNode){ - scr.parentNode.removeChild(scr); - } - scr = null; -}; - - -/** - * 通过script标签加载数据,加载完成由浏览器端触发回调 - * @name baidu.sio.callByBrowser - * @function - * @grammar baidu.sio.callByBrowser(url, opt_callback, opt_options) - * @param {string} url 加载数据的url - * @param {Function|string} opt_callback 数据加载结束时调用的函数或函数名 - * @param {Object} opt_options 其他可选项 - * @config {String} [charset] script的字符集 - * @config {Integer} [timeOut] 超时时间,超过这个时间将不再响应本请求,并触发onfailure函数 - * @config {Function} [onfailure] timeOut设定后才生效,到达超时时间时触发本函数 - * @remark - * 1、与callByServer不同,callback参数只支持Function类型,不支持string。 - * 2、如果请求了一个不存在的页面,callback函数在IE/opera下也会被调用,因此使用者需要在onsuccess函数中判断数据是否正确加载。 - * @meta standard - * @see baidu.sio.callByServer - */ -baidu.sio.callByBrowser = function (url, opt_callback, opt_options) { - var scr = document.createElement("SCRIPT"), - scriptLoaded = 0, - options = opt_options || {}, - charset = options['charset'], - callback = opt_callback || function(){}, - timeOut = options['timeOut'] || 0, - timer; - scr.onload = scr.onreadystatechange = function () { - if (scriptLoaded) { - return; - } - - var readyState = scr.readyState; - if ('undefined' == typeof readyState - || readyState == "loaded" - || readyState == "complete") { - scriptLoaded = 1; - try { - callback(); - clearTimeout(timer); - } finally { - scr.onload = scr.onreadystatechange = null; - baidu.sio._removeScriptTag(scr); - } - } - }; - - if( timeOut ){ - timer = setTimeout(function(){ - scr.onload = scr.onreadystatechange = null; - baidu.sio._removeScriptTag(scr); - options.onfailure && options.onfailure(); - }, timeOut); - } - - baidu.sio._createScriptTag(scr, url, charset); -}; - -/** - * 通过script标签加载数据,加载完成由服务器端触发回调 - * @name baidu.sio.callByServer - * @function - * @grammar baidu.sio.callByServer(url, callback[, opt_options]) - * @param {string} url 加载数据的url. - * @param {Function|string} callback 服务器端调用的函数或函数名。如果没有指定本参数,将在URL中寻找options['queryField']做为callback的方法名. - * @param {Object} opt_options 加载数据时的选项. - * @config {string} [charset] script的字符集 - * @config {string} [queryField] 服务器端callback请求字段名,默认为callback - * @config {Integer} [timeOut] 超时时间(单位:ms),超过这个时间将不再响应本请求,并触发onfailure函数 - * @config {Function} [onfailure] timeOut设定后才生效,到达超时时间时触发本函数 - * @remark - * 如果url中已经包含key为“options['queryField']”的query项,将会被替换成callback中参数传递或自动生成的函数名。 - * @meta standard - * @see baidu.sio.callByBrowser - */ -baidu.sio.callByServer = /**@function*/function(url, callback, opt_options) { - var scr = document.createElement('SCRIPT'), - prefix = 'bd__cbs__', - callbackName, - callbackImpl, - options = opt_options || {}, - charset = options['charset'], - queryField = options['queryField'] || 'callback', - timeOut = options['timeOut'] || 0, - timer, - reg = new RegExp('(\\?|&)' + queryField + '=([^&]*)'), - matches; - - if (baidu.lang.isFunction(callback)) { - callbackName = prefix + Math.floor(Math.random() * 2147483648).toString(36); - window[callbackName] = getCallBack(0); - } else if(baidu.lang.isString(callback)){ - callbackName = callback; - } else { - if (matches = reg.exec(url)) { - callbackName = matches[2]; - } - } - - if( timeOut ){ - timer = setTimeout(getCallBack(1), timeOut); - } - url = url.replace(reg, '\x241' + queryField + '=' + callbackName); - - if (url.search(reg) < 0) { - url += (url.indexOf('?') < 0 ? '?' : '&') + queryField + '=' + callbackName; - } - baidu.sio._createScriptTag(scr, url, charset); - - /* - * 返回一个函数,用于立即(挂在window上)或者超时(挂在setTimeout中)时执行 - */ - function getCallBack(onTimeOut){ - /*global callbackName, callback, scr, options;*/ - return function(){ - try { - if( onTimeOut ){ - options.onfailure && options.onfailure(); - }else{ - callback.apply(window, arguments); - clearTimeout(timer); - } - window[callbackName] = null; - delete window[callbackName]; - } catch (exception) { - } finally { - baidu.sio._removeScriptTag(scr); - } - } - } -}; - -/** - * 通过请求一个图片的方式令服务器存储一条日志 - * @function - * @grammar baidu.sio.log(url) - * @param {string} url 要发送的地址. - * @author: int08h,leeight - */ -baidu.sio.log = function(url) { - var img = new Image(), - key = 'tangram_sio_log_' + Math.floor(Math.random() * - 2147483648).toString(36); - window[key] = img; - - img.onload = img.onerror = img.onabort = function() { - img.onload = img.onerror = img.onabort = null; - - window[key] = null; - img = null; - }; - img.src = url; -}; - - - -/* - * Tangram - * Copyright 2009 Baidu Inc. All rights reserved. - * - * path: baidu/json.js - * author: erik - * version: 1.1.0 - * date: 2009/12/02 - */ - - -/** - * 操作json对象的方法 - * @namespace baidu.json - */ -baidu.json = baidu.json || {}; -/* - * Tangram - * Copyright 2009 Baidu Inc. All rights reserved. - * - * path: baidu/json/parse.js - * author: erik, berg - * version: 1.2 - * date: 2009/11/23 - */ - - - -/** - * 将字符串解析成json对象。注:不会自动祛除空格 - * @name baidu.json.parse - * @function - * @grammar baidu.json.parse(data) - * @param {string} source 需要解析的字符串 - * @remark - * 该方法的实现与ecma-262第五版中规定的JSON.parse不同,暂时只支持传入一个参数。后续会进行功能丰富。 - * @meta standard - * @see baidu.json.stringify,baidu.json.decode - * - * @returns {JSON} 解析结果json对象 - */ -baidu.json.parse = function (data) { - //2010/12/09:更新至不使用原生parse,不检测用户输入是否正确 - return (new Function("return (" + data + ")"))(); -}; -/* - * Tangram - * Copyright 2009 Baidu Inc. All rights reserved. - * - * path: baidu/json/decode.js - * author: erik, cat - * version: 1.3.4 - * date: 2010/12/23 - */ - - - -/** - * 将字符串解析成json对象,为过时接口,今后会被baidu.json.parse代替 - * @name baidu.json.decode - * @function - * @grammar baidu.json.decode(source) - * @param {string} source 需要解析的字符串 - * @meta out - * @see baidu.json.encode,baidu.json.parse - * - * @returns {JSON} 解析结果json对象 - */ -baidu.json.decode = baidu.json.parse; -/* - * Tangram - * Copyright 2009 Baidu Inc. All rights reserved. - * - * path: baidu/json/stringify.js - * author: erik - * version: 1.1.0 - * date: 2010/01/11 - */ - - - -/** - * 将json对象序列化 - * @name baidu.json.stringify - * @function - * @grammar baidu.json.stringify(value) - * @param {JSON} value 需要序列化的json对象 - * @remark - * 该方法的实现与ecma-262第五版中规定的JSON.stringify不同,暂时只支持传入一个参数。后续会进行功能丰富。 - * @meta standard - * @see baidu.json.parse,baidu.json.encode - * - * @returns {string} 序列化后的字符串 - */ -baidu.json.stringify = (function () { - /** - * 字符串处理时需要转义的字符表 - * @private - */ - var escapeMap = { - "\b": '\\b', - "\t": '\\t', - "\n": '\\n', - "\f": '\\f', - "\r": '\\r', - '"' : '\\"', - "\\": '\\\\' - }; - - /** - * 字符串序列化 - * @private - */ - function encodeString(source) { - if (/["\\\x00-\x1f]/.test(source)) { - source = source.replace( - /["\\\x00-\x1f]/g, - function (match) { - var c = escapeMap[match]; - if (c) { - return c; - } - c = match.charCodeAt(); - return "\\u00" - + Math.floor(c / 16).toString(16) - + (c % 16).toString(16); - }); - } - return '"' + source + '"'; - } - - /** - * 数组序列化 - * @private - */ - function encodeArray(source) { - var result = ["["], - l = source.length, - preComma, i, item; - - for (i = 0; i < l; i++) { - item = source[i]; - - switch (typeof item) { - case "undefined": - case "function": - case "unknown": - break; - default: - if(preComma) { - result.push(','); - } - result.push(baidu.json.stringify(item)); - preComma = 1; - } - } - result.push("]"); - return result.join(""); - } - - /** - * 处理日期序列化时的补零 - * @private - */ - function pad(source) { - return source < 10 ? '0' + source : source; - } - - /** - * 日期序列化 - * @private - */ - function encodeDate(source){ - return '"' + source.getFullYear() + "-" - + pad(source.getMonth() + 1) + "-" - + pad(source.getDate()) + "T" - + pad(source.getHours()) + ":" - + pad(source.getMinutes()) + ":" - + pad(source.getSeconds()) + '"'; - } - - return function (value) { - switch (typeof value) { - case 'undefined': - return 'undefined'; - - case 'number': - return isFinite(value) ? String(value) : "null"; - - case 'string': - return encodeString(value); - - case 'boolean': - return String(value); - - default: - if (value === null) { - return 'null'; - } else if (value instanceof Array) { - return encodeArray(value); - } else if (value instanceof Date) { - return encodeDate(value); - } else { - var result = ['{'], - encode = baidu.json.stringify, - preComma, - item; - - for (var key in value) { - if (Object.prototype.hasOwnProperty.call(value, key)) { - item = value[key]; - switch (typeof item) { - case 'undefined': - case 'unknown': - case 'function': - break; - default: - if (preComma) { - result.push(','); - } - preComma = 1; - result.push(encode(key) + ':' + encode(item)); - } - } - } - result.push('}'); - return result.join(''); - } - } - }; -})(); -/* - * Tangram - * Copyright 2009 Baidu Inc. All rights reserved. - * - * path: baidu/json/encode.js - * author: erik, cat - * version: 1.3.4 - * date: 2010/12/23 - */ - - - -/** - * 将json对象序列化,为过时接口,今后会被baidu.json.stringify代替 - * @name baidu.json.encode - * @function - * @grammar baidu.json.encode(value) - * @param {JSON} value 需要序列化的json对象 - * @meta out - * @see baidu.json.decode,baidu.json.stringify - * - * @returns {string} 序列化后的字符串 - */ -baidu.json.encode = baidu.json.stringify; diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/wordimage.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/wordimage.html deleted file mode 100644 index 6cf6067..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/wordimage.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - -
    -
    - -
    -
    -
    -
    -
    - -
    - : -
    -
    -
    - - - - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/wordimage.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/wordimage.js deleted file mode 100644 index 98f3a22..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/wordimage.js +++ /dev/null @@ -1,157 +0,0 @@ -/** - * Created by JetBrains PhpStorm. - * User: taoqili - * Date: 12-1-30 - * Time: 下午12:50 - * To change this template use File | Settings | File Templates. - */ - - - -var wordImage = {}; -//(function(){ -var g = baidu.g, - flashObj,flashContainer; - -wordImage.init = function(opt, callbacks) { - showLocalPath("localPath"); - //createCopyButton("clipboard","localPath"); - createFlashUploader(opt, callbacks); - addUploadListener(); - addOkListener(); -}; - -function hideFlash(){ - flashObj = null; - flashContainer.innerHTML = ""; -} -function addOkListener() { - dialog.onok = function() { - if (!imageUrls.length) return; - var urlPrefix = editor.getOpt('imageUrlPrefix'), - images = domUtils.getElementsByTagName(editor.document,"img"); - editor.fireEvent('saveScene'); - for (var i = 0,img; img = images[i++];) { - var src = img.getAttribute("word_img"); - if (!src) continue; - for (var j = 0,url; url = imageUrls[j++];) { - if (src.indexOf(url.original.replace(" ","")) != -1) { - img.src = urlPrefix + url.url; - img.setAttribute("_src", urlPrefix + url.url); //同时修改"_src"属性 - img.setAttribute("title",url.title); - domUtils.removeAttributes(img, ["word_img","style","width","height"]); - editor.fireEvent("selectionchange"); - break; - } - } - } - editor.fireEvent('saveScene'); - hideFlash(); - }; - dialog.oncancel = function(){ - hideFlash(); - } -} - -/** - * 绑定开始上传事件 - */ -function addUploadListener() { - g("upload").onclick = function () { - flashObj.upload(); - this.style.display = "none"; - }; -} - -function showLocalPath(id) { - //单张编辑 - var img = editor.selection.getRange().getClosedNode(); - var images = editor.execCommand('wordimage'); - if(images.length==1 || img && img.tagName == 'IMG'){ - g(id).value = images[0]; - return; - } - var path = images[0]; - var leftSlashIndex = path.lastIndexOf("/")||0, //不同版本的doc和浏览器都可能影响到这个符号,故直接判断两种 - rightSlashIndex = path.lastIndexOf("\\")||0, - separater = leftSlashIndex > rightSlashIndex ? "/":"\\" ; - - path = path.substring(0, path.lastIndexOf(separater)+1); - g(id).value = path; -} - -function createFlashUploader(opt, callbacks) { - //由于lang.flashI18n是静态属性,不可以直接进行修改,否则会影响到后续内容 - var i18n = utils.extend({},lang.flashI18n); - //处理图片资源地址的编码,补全等问题 - for(var i in i18n){ - if(!(i in {"lang":1,"uploadingTF":1,"imageTF":1,"textEncoding":1}) && i18n[i]){ - i18n[i] = encodeURIComponent(editor.options.langPath + editor.options.lang + "/images/" + i18n[i]); - } - } - opt = utils.extend(opt,i18n,false); - var option = { - createOptions:{ - id:'flash', - url:opt.flashUrl, - width:opt.width, - height:opt.height, - errorMessage:lang.flashError, - wmode:browser.safari ? 'transparent' : 'window', - ver:'10.0.0', - vars:opt, - container:opt.container - } - }; - - option = extendProperty(callbacks, option); - flashObj = new baidu.flash.imageUploader(option); - flashContainer = $G(opt.container); -} - -function extendProperty(fromObj, toObj) { - for (var i in fromObj) { - if (!toObj[i]) { - toObj[i] = fromObj[i]; - } - } - return toObj; -} - -//})(); - -function getPasteData(id) { - baidu.g("msg").innerHTML = lang.copySuccess + "
    "; - setTimeout(function() { - baidu.g("msg").innerHTML = ""; - }, 5000); - return baidu.g(id).value; -} - -function createCopyButton(id, dataFrom) { - baidu.swf.create({ - id:"copyFlash", - url:"fClipboard_ueditor.swf", - width:"58", - height:"25", - errorMessage:"", - bgColor:"#CBCBCB", - wmode:"transparent", - ver:"10.0.0", - vars:{ - tid:dataFrom - } - }, id - ); - - var clipboard = baidu.swf.getMovie("copyFlash"); - var clipinterval = setInterval(function() { - if (clipboard && clipboard.flashInit) { - clearInterval(clipinterval); - clipboard.setHandCursor(true); - clipboard.setContentFuncName("getPasteData"); - //clipboard.setMEFuncName("mouseEventHandler"); - } - }, 500); -} -createCopyButton("clipboard", "localPath"); \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/index.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/index.html deleted file mode 100644 index a416418..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/index.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - 完整demo - - - - - - - - - - -
    -

    完整demo

    - -
    -
    -
    - - - - - - - - - - - -
    -
    - - - - - - - -
    - -
    - - -
    - -
    -
    - - -
    - - - - \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/config.json b/manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/config.json deleted file mode 100644 index 53b6c97..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/config.json +++ /dev/null @@ -1,94 +0,0 @@ -/* 前后端通信相关的配置,注释只允许使用多行方式 */ -{ - /* 上传图片配置项 */ - "imageActionName": "uploadimage", /* 执行上传图片的action名称 */ - "imageFieldName": "upfile", /* 提交的图片表单名称 */ - "imageMaxSize": 2048000, /* 上传大小限制,单位B */ - "imageAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 上传图片格式显示 */ - "imageCompressEnable": true, /* 是否压缩图片,默认是true */ - "imageCompressBorder": 1600, /* 图片压缩最长边限制 */ - "imageInsertAlign": "none", /* 插入的图片浮动方式 */ - "imageUrlPrefix": "", /* 图片访问路径前缀 */ - "imagePathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ - /* {filename} 会替换成原文件名,配置这项需要注意中文乱码问题 */ - /* {rand:6} 会替换成随机数,后面的数字是随机数的位数 */ - /* {time} 会替换成时间戳 */ - /* {yyyy} 会替换成四位年份 */ - /* {yy} 会替换成两位年份 */ - /* {mm} 会替换成两位月份 */ - /* {dd} 会替换成两位日期 */ - /* {hh} 会替换成两位小时 */ - /* {ii} 会替换成两位分钟 */ - /* {ss} 会替换成两位秒 */ - /* 非法字符 \ : * ? " < > | */ - /* 具请体看线上文档: fex.baidu.com/ueditor/#use-format_upload_filename */ - - /* 涂鸦图片上传配置项 */ - "scrawlActionName": "uploadscrawl", /* 执行上传涂鸦的action名称 */ - "scrawlFieldName": "upfile", /* 提交的图片表单名称 */ - "scrawlPathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ - "scrawlMaxSize": 2048000, /* 上传大小限制,单位B */ - "scrawlUrlPrefix": "", /* 图片访问路径前缀 */ - "scrawlInsertAlign": "none", - - /* 截图工具上传 */ - "snapscreenActionName": "uploadimage", /* 执行上传截图的action名称 */ - "snapscreenPathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ - "snapscreenUrlPrefix": "", /* 图片访问路径前缀 */ - "snapscreenInsertAlign": "none", /* 插入的图片浮动方式 */ - - /* 抓取远程图片配置 */ - "catcherLocalDomain": ["127.0.0.1", "localhost", "img.baidu.com"], - "catcherActionName": "catchimage", /* 执行抓取远程图片的action名称 */ - "catcherFieldName": "source", /* 提交的图片列表表单名称 */ - "catcherPathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ - "catcherUrlPrefix": "", /* 图片访问路径前缀 */ - "catcherMaxSize": 2048000, /* 上传大小限制,单位B */ - "catcherAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 抓取图片格式显示 */ - - /* 上传视频配置 */ - "videoActionName": "uploadvideo", /* 执行上传视频的action名称 */ - "videoFieldName": "upfile", /* 提交的视频表单名称 */ - "videoPathFormat": "/ueditor/jsp/upload/video/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ - "videoUrlPrefix": "", /* 视频访问路径前缀 */ - "videoMaxSize": 102400000, /* 上传大小限制,单位B,默认100MB */ - "videoAllowFiles": [ - ".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg", - ".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid"], /* 上传视频格式显示 */ - - /* 上传文件配置 */ - "fileActionName": "uploadfile", /* controller里,执行上传视频的action名称 */ - "fileFieldName": "upfile", /* 提交的文件表单名称 */ - "filePathFormat": "/ueditor/jsp/upload/file/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ - "fileUrlPrefix": "", /* 文件访问路径前缀 */ - "fileMaxSize": 51200000, /* 上传大小限制,单位B,默认50MB */ - "fileAllowFiles": [ - ".png", ".jpg", ".jpeg", ".gif", ".bmp", - ".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg", - ".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid", - ".rar", ".zip", ".tar", ".gz", ".7z", ".bz2", ".cab", ".iso", - ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".pdf", ".txt", ".md", ".xml" - ], /* 上传文件格式显示 */ - - /* 列出指定目录下的图片 */ - "imageManagerActionName": "listimage", /* 执行图片管理的action名称 */ - "imageManagerListPath": "/ueditor/jsp/upload/image/", /* 指定要列出图片的目录 */ - "imageManagerListSize": 20, /* 每次列出文件数量 */ - "imageManagerUrlPrefix": "", /* 图片访问路径前缀 */ - "imageManagerInsertAlign": "none", /* 插入的图片浮动方式 */ - "imageManagerAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 列出的文件类型 */ - - /* 列出指定目录下的文件 */ - "fileManagerActionName": "listfile", /* 执行文件管理的action名称 */ - "fileManagerListPath": "/ueditor/jsp/upload/file/", /* 指定要列出文件的目录 */ - "fileManagerUrlPrefix": "", /* 文件访问路径前缀 */ - "fileManagerListSize": 20, /* 每次列出文件数量 */ - "fileManagerAllowFiles": [ - ".png", ".jpg", ".jpeg", ".gif", ".bmp", - ".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg", - ".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid", - ".rar", ".zip", ".tar", ".gz", ".7z", ".bz2", ".cab", ".iso", - ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".pdf", ".txt", ".md", ".xml" - ] /* 列出的文件类型 */ - -} \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/controller.jsp b/manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/controller.jsp deleted file mode 100644 index 6a3ef2f..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/controller.jsp +++ /dev/null @@ -1,14 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" - import="com.baidu.ueditor.ActionEnter" - pageEncoding="UTF-8"%> -<%@ page trimDirectiveWhitespaces="true" %> -<% - - request.setCharacterEncoding( "utf-8" ); - response.setHeader("Content-Type" , "text/html"); - - String rootPath = application.getRealPath( "/" ); - - out.write( new ActionEnter( request, rootPath ).exec() ); - -%> \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/upload/image/20181204/1543858596077013255.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/upload/image/20181204/1543858596077013255.png deleted file mode 100644 index c6c373ee4b400c0b46047c453898739951740236..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24674 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 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/upload/image/20181204/1543858816403038748.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/upload/image/20181204/1543858816403038748.png deleted file mode 100644 index c6c373ee4b400c0b46047c453898739951740236..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24674 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 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/upload/image/20181218/1545124074789022151.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/upload/image/20181218/1545124074789022151.png deleted file mode 100644 index f1c60e86e7d630717d162f08050ffe4cee7c7341..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29162 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 LNkvXXu0mjf3l)h% diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/rotateleftdisable.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/rotateleftdisable.png deleted file mode 100644 index 741526e0d5e6eb5c30eb0a62c9b1d6d558ed9cdf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 719 zcmV;=0xVLm}k=YQ<2%m+GNILKMZ4Wj)Eo{6dA(i=1OgO`#k70DYI-BmRjYes)SkU2cI0GZBR;y4N3I~Hh!d`9*7LUg-fQ!ZA17DgvC%W<{o)0F! zU*`EmuKGZYN~Kcs0v3uoolcs~W&&`zTnccgjDVT|^mshtI#kAIIINifC7$1T{?yd~ z`f398$nzJ^&xXUj%I~;@1tb~>YHqh%0jWR{cz-&b2!6()Y&M(t%#{JqZzlB@o&~uo zRdFYN7<*g3d>y0SFTSsu}||KmrzxrzXV}0f4+Nl`U`wo^<=3%s|h|0ur}Z0m~6a z)9IA5+3a~Uyo=N{O{`Z26ni!(U6x=a31615Uq6I}2cZ-|0a2}1X+EF7+lbqaCbL*9 zVjpaCBO8zeF31Bljb43c1B|5gdMy+K1i&JZ2&owiAH&aRFjxU~zu$k$sq`Wh)qB?* z7JdW}ya?6MP#9CN2390Mab0C5lljw}edEbwzR6l%S5ujn*P2rK!bg5RKf!pHvr45x zq@5Lg56Rlp|dF?<); zZnrB`Ycv`HPI*-K+S{`L4RzyPXZYcl&002ovPDHLkV1lL= BGwT2V diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/rotateleftenable.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/rotateleftenable.png deleted file mode 100644 index e164ddbd62a232f3a89826158c9795f6c082cc89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 952 zcmV;p14sOcP)B{+A~4pJXZ}t_3ogEQ=EtDt@NW=ovC^1YY3D0f#y*iY)MG5<8F z!|f{@kKz7^5#8k3NZf?c9K_t5iFB?APcn|7{XXn#Ybhtak0o(qW)4fuAr!0vET4{< zSc+h47GQ*Qo%FCG#zDtxKn;d}ii3LDciA+S|Xdhl! zB4Tth6pKaVi#F1YAvCEHTFJM^bUHnP0sSYFPoVrcDQm)w^;g8!)bGBFx|JW?%CGA- z&{PEjJ5@v`9|31h11Z`(8l4W74acX!rYt{M#7D#XGmFrJ8p1{(Q)@sv8@F2OUzvR1 zx9$d0kvWXM{tBEwN0$R4YNDW*#-^%Df&-Q6zoW#Uu@ZDmhS%$@-$mxZRD^B@1aSM_ zhL@++3|_o?ixNDPXhWAA>})fj>w5hzGPAR@B4aE>&p+Mbf*>$imMuk5EW2c0000?hzPCHlRk++nh`E3!rKF3htnTQ@ z$gI|MU8lEVHuFTg-PR|Q2`!gP+H5wYX&N~k4)SU74-bY78_Ii7=yw!+~9z)9EC?-%tI1pNtpOgTWwx zYc~hmYPIxUug9z{77N<%_sk-|f_a_y+;xqv4+oe^KHq!n0!Sli2@LjQ?eJI-PQw!5kz2kP;{i1#vW)J3m7@ilvOQx*+0gD21yWM29TG_#>*)V5x3eEte0rs!7XTfq- zNpDVBe^HqJA^?xgte(JHEEaB201ADoR;^a);o$)-i`fNGNCD$l*jUkV&ZOJ#g6-=H z48;P#aDbi7X5{nvH~?d$9K9Fo01LT5x392A!Cv-)3}9cydREAx^dDF>`_*d2002m8 z7y1N?u~>`?4DAa45ev4jw7ek*Sw2XA4L&zdS z9A4&}t`&psbm3W({))<)8k1Mzq-LMgHh4P0I-QOV5C8-H!ohO6T&8$D&Va$Z(UY0s zOeS;lL%|{kl3A%;S#MlC&Amg&cpiN1r-rvC| zuQ1Fer=aUPn>g6re+%A~4HxgfoyFs_jfT}hvT2|~buTAFG7cgsM5)fELnz*RfYsA+ z%+JjZfW5eCXjGl)8+s)4P|lCQu*F>n-SXLP{rpv`@{BNE{IcsI8B@_npSvh)X*hNpW_TLgr2`Ju@0bJqvCruO={o6E(Z3`5{jw@Hv`M-m z=H><1m4WE;;`c%mkz)x|ObZEnAD_J*B%s8ej2PcmwhgRZado>%)jtid7zm=SE zQ*F%`{_{RP6wdfheSj59}E|h^E{{P*E_)R6H^3NW^13gC8C>dV0CgKv@POF4dxfvY6kSFwxaNHki&!>3-Y^~4kn%F>oC=IgN4BfYTUZZWo z4NgH0Fff*Y6!1`OQEtkV%qBhmGZEnCEqwT{hG--_gp%$=?(C?C;zb^jm66PHQ4|^R zkb*cmi1NcmKm&YfVi#crNDyF;_V&?5G diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/upload.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/upload.png deleted file mode 100644 index 7bb15b3d6d6799504cf7093a1600bd7ece0d9ef5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3941 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 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/zh-cn/images/copy.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/zh-cn/images/copy.png deleted file mode 100644 index b2536aac72e763b9a872b507462458ecb96990f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4319 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 N002ovPDHLkV1nv#UQ7T0 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/zh-cn/images/localimage.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/zh-cn/images/localimage.png deleted file mode 100644 index 7303c364318b6ac27dc4a8ae6717124d8dafaff9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6979 zcmWkyWl&tr7QBltzPP&v*M#5_0_4L31PQ?o<`!RRw z)>O@$I;Xo&&qSyw$zq|Cp#uPbB`^0u4Lppnz$n1i&yDf+x`z5{|A(K!}?qr_mcYi!PTPzLm$)Xf7EUt`nv4Rq&L0 zrMTY5^X%m0asIJ&KWqPK%wrtK9~X})elOn=c&`>BBD6pqt1Q<$)aH*sD7S$`1KERi znxxzfNP9a9FBwm;GZtVJ_67PA^_4<_@jt43W#~!Qym+n z`t~7>av-1+nmn5N-xMD~WAX%<+vWMj7VTEIb&ZrE@f(O4+74Y-Y9>9t+&-eh7$yLa z-A{JC2#Uw;@9k{vneAJjUH9d`Se@I^iP2uHzqI~9Kms62<7Z3yySsCU_5+}5mkz5^ zU0_KQuvov><6B0{(?Or`ypQq_e3GEb`KdA}LP>#+fpNlU^s|k7J4)=8Z_{og%J&w& z`m*eK4me~;q*rtn1U)+#+PYS%#q2|oqZzi|+Yre7*MqX$|G^)@k z4tO-F#ebk3O5Vad^y9stPI*R4bi)G5LzO#~{-V}Htvh{BK?qUUT2roogzpu{4>F8+ z0AkM1>j49R#E$z|2{sTgnp(IG0IdfkUrUmR75c#d@F6dNwOSGtvx}g-6FaMmvbB>K z!4Tzx1SUhL2t*2H$DacICrOGVsd}f-0#bc7B3T}8#wO%X7mpy;{s!LHfFpZi6a$i+ zZj#neG$hGEFuozJP&lqp%mUpQm^eKKiOx`tKf%9{<}jQGvwSBZzX5^A!@{ye8iXMP+#|CD^INwPmwqW*vL zizoj(aB&8FB4dpGCwZ{Vek>Y({ShW(5TQlJG(cp$t0kZrD_~5i_0E-$yfeq}49tKK z<&S?1{uT`BwhoMolhsntk}hF9rvHQ24E}-^6wK4jOqW=q{D;vK@4naFNT?=G>ti|7 zDJ>Ok4&ygwY<&GhIR@;ZgdHVxTE;kDc?@|gxn((y!q0_bQ;_dj3QR|FHbZMW;9CE3 zn$-A)IGi};gvX(todyD-zVIytw0s7&!X&&;0;b}-NJY84Qt5eRs-vYjGvKmtp<$)uFqkm`1~#zjH8)E($GSVg4v0T@8;iO7F>tU&1kDZR5Ga(sZ&-5sE7N9LDz1W zSfN-!19C(+AbL=XuG~&C_tw>@>7kZ&|$wGSKOMxDxbDcTIt@7YpHjh524m1AmdYOyNgs`>@( z`ph<{UKelaIE|LK%{B|!Y^zc?sfs%t9oXPe^4V%uC#X!0)E zY4cS5^i4r#OXf<&qRq_eh-jbB??*+>O!6VU9?>(&>vNdamcz()c5!BL_f_0J*EiR1 z+TR}AsFdrnm~!U0Z3dTnbvN3eUIs#9qNWdHhlpbRVhFjOxnb?U+UeFs+v$DheA9hV zpK>0BAE3{%cO9D^mqZsz$OfP;&@QMgfGnU6(F&0oDIKW@RRB2}xdnv_Q;bjw6Aeq7 z+A-0tllYSS-k5L2oIPWba2T9Ts6+n1J;J0wHHRA$Iu2fk_}cxtS2!H`3l86qwGMBj z{!W@seD6c>hLyLB^PlRU&(03cF!s6f9qmW+wwR09(jQI2%a(r~UCqlat<|iJk24$n z8_OC4+{5liKF@fpxgB6fNgdPO6)oe=h|Gx)N0GSpL?jVpIo@|%eF4#%K5ZX((O z+Hu~3A!&H2wc@)$G*T*DB+9$Rwu+Sam%*7K$};Ww(fO)14UL~f685q+lWzrAg?*$S zEJBq(y7cp*DXX!0#FHj8(O)TQewbS;A76A>(7 z){e)X%`kal*f4B|{@&?onb0~!VY1+lTBQm$kpfobiwSckPP}x(=BZBKoM$#BQ8CdTPxk?%&U+e4rN4+LULNEiE;TOG}TH z%NVtwsiGojw!km^$)!m{P}|CDohD;K!(!Tyijjt&WToIND6q*B z{n>VQ@S`A`@*AaWd&8^m8PB${%YZ=amz=z87SW6QoxsHHVw2*WY$b8gne-J8n8H)K zm7c0zo4NFOjySRNsX~K3Z0KrjKUVL&)&80eX0*)M@Lz>!rKqg0{qv?=m9E{9DGYk@ zMWoXCTJcDD@@(4g!LoDKY5s1WQ!m$}?X3Tpyup@fm7ZyI{`5)>7&Og6DFEyr}HXC;aod)AQ+Bj#}Xkj@oNw3pkn^UqQva|Fb>7!$_sj11a z$l5MV#u7J+Ym4#6hkZ3)J&v4y@2@{^J^nYY^|Ww~aUV6_QRz{7<#_hHv`T1zet^1l z%tQ3z*HgvVvd>xLS@Zfp8+AI%lf;Y4)#QWmK=Fh!Ol;r#<%tUxeD%mUmCFZrn>5C9 zYKj2h$q09%K>%?73ZD-Fz=azC{uuy(P#ORb+a>7teFOlAz5EABb@!#?uZq^>=AOQL zu`^ovB{e46DTM!#E=OE_?gZ~rH2cSo#!Tqty@`~O|MTX-iEexqfffhjdMl_=!fQdA zn4wxiH_rUh+xAVNm%;jU(fI#4W{qfT77gMbO!2Gt5p)lzkX3?_DH zK3nFtAX1QIuoNvga04UeIkZwYyl*ak=!awqj*?2vf>8dX>?Cd{a zt;J_lbJ2IsWMyJ6l_je)y6$)-ICvr-lSBzF}ctkpkU#KC6hcWO7K) zb0|w6G|yhGI5!8w_w{b~m6)i{`#$OeN*zs!hibHpY0PGvxi~ek5|{#!ynsf9)ah0~an<@g^choScTOKs&&pRU8+neJS z=c2_!qp~y#|M{F2?9Y*odFE9i#{kxAh#Q}$g^JWJ^74-c=Z9Z=i}z6Nz>23CcN{g? zITXd(z$PRpR#sLME|mEA_#~vHKRc`0qj-aLpO6ti3W|zd+?eH+l|~*Oq|?*WU=)~N zoVq3c#a;D&VVNb?qIFX-PfE%dT|5gN8RZ9F(vR$av9*cvSm+2${guq@h7*7^u|ma6|a6Ty*SN{HaEU^dbv6l`OX?&fU{>udT-m|>=t2N5qXLurf2 z#Za9kV~CJu;tOnQ5;*XLPVakR32PNhcCE^&+#;7SI4JKUkc3LsXniPB>w#@AP@qNE)0j-$jmI%*IYbI!JdgP6228Xr;-XHyim%XBl|}x8i?s5 zB-*g$f90{-%uKfYEd>Vp!c~qZ^s?)G4of1YfCgdB8!aB%}qlx zfd%II*xLtE+YOUCQ~1NPv1>VexZZ!Y0pyAMMd(3 z(~SRLX8%E-YbTN7G43QV8q83mk`%znF?rwCii!w+49#i>3`kIBEeUTtDb2@oWPZ=) zv(+zJPuX;%yAm5HAIFXNDnd5mDB#uXZF1Uw_$4ZXiyKuzpIb#wMSWX%;M_bz$hRCY z!;!>ZIISB#5auQ=k%;gn*Nz4bD>%Aka7BGw#PrYdFW~^xs8H>*(~k&_09zys;r=6f z0&>Uaaig)Rgd*RoQyExUVbIglZwSVajn}ekrG#X@v)k&y5$_!v!`8b&0=uHzT~8}t zOv+NLPA=FsOj_2%Bk$hic6D`~u;71q379;f;Z5fuqqNYO=A(v0WB*^35tF#EBcC+C`f} zwTE`rSDGRA%kt;oqINO^b8}QU=ac>}pS)F=4mKpw`u44VZ;wf@%QckdH3e$A(&C0Q zYKC8=h6XRI#oJ7EX>g!KdguqFZ|EuE99+1`y!UYy1*wj1j}EYQ>y)Am=8I>^FTC&f^Y$loB;eHj_m9=g%#6h* z(b<*;(rKRS6B-?j)%tkavLRT>hE4QnB7tk?V-5P|P)>iBN6xgV^m=8^7MLP+<2sb>b_x2jGbHi};hnyoJ zfY9@ZZL(fZ2Kn07F1apcx0+ahz%GMSo}s^@n?1Gc?m4n>Ca`zavLgflNRsy4VWNuG z#3`pACR8c(Wr|l+5BlK;cu<|VlEbsyWdQm0U5Gb0#Z;0&#@fc_rwU7+=I?-Q!6kA7 zZKBYyFo(SnQcNtY$&&6-ba?NC!^2&5fcj;dI&bi{3g_iEHuN0b*U=<5%q8>--lrlw zjr-fFDjM+JRuq^0kCK@4E6~H;=yF7Ky54~kvuz<3 zP#tMV0%rs~7k+Wq^ujcgX3gT0aWUU-B{x2?!Z^AU z&=<~epICLvX}))Has)n3D5oNwlG6v+xPl@gKL%o{d$=*H*)gX1OS?2RHR0yNVRx7i z-tf%oY|9$jAr0hkG7 zdxF?@?e|Oy(}e?Qff9+I5*Xg+18RRJ`4i{n1S;ek>{mfPr){T{ACYwd!ePR7g+OJ@}zA=uraven%^GvPrqvPQ+ptsoLb2&IOA1v4%W z(;Inw2`e4^1b(^wNzs9CR|752A`XbjpOEue)bwqO&%gEPv21xzu|thqTnM+fx4}pV zF?YE;D-oM6tNA#y9yD|DiD$_bNANce)3v(NUNIpF`nG@<%xcw|^OsoLjUd=sXZ?YU zx40W|YH{G*o}J?RTNo`O2v~nU1zgKUSO4WnEH4QyDh9dogAijvalE!ziF9Ro-%lmG zsB09MyH@|E7`YPp_3Kx4Yb$1oDQzSjW{-Vv@a^`An#W%ZoHM+*4|S|{J`Uw!)zAW>Fl z`d#8r11OxzqMbM|yKlwZ&#=6oI^53Ztg2{UM(a@9&BXM>@-b<$*QEG`8kd9dKD^a+ zy%vMZogNk^yf5;Pe&GN2^|??|GeK*7DS{aY7tc*k?+QZ2DS4=xwN%GnNEAN(fCEB2 z1bJT{;7a|3DCLSNMoF5;;Q7s#4$o2$P(~oRvAHO+L@vmz7hW$NmS@`oT~N_G7lM{P z4LF9ny9JrXuHU9n*lvEo;kPJa1N@ggF@BS0n;(U}oETd{9SbX_4>>+9nuz1N6*kRa z`{u`kJLQ{nQ|^5-johmik_<`U#5MHvB*UQ=E9@iR+K;%aGe;Y00kK1+AV_e1QfDO$ z?%Cx0#|)#vk%VL@r8WnX@`UTZEGs@{t8pyLyav0-q2j2%+77EHfd+YFEk}igSads3 z?9uJ?DSC9P+5*pBcf>EcyzC^}=6j=sJG$#(RTIW+Hv+(=7&ZWot%mo8lCJFw2t&lO z3rIlct0Q?1H*I>4sKWw0pZ!x)FA6ht9A61!;BF6YZJ3pF;7vh-K*pXz7TT0zI{6^c zvKnegvaqlKj9-yZQx6Odf@eX`m@Oy^7|PnYDwT`%fve9quDAqI6~+z@-8>OHe4yN1 z9oJYm4f4K1?6>|MH0YP1SMlEfQG1vV#%&2L^Dl!&F(5tLy3zd$>!u zn1fh+RS6va&Afr@T=T!xei&Xt#0T73cIW$tZ_z2fo#%KzYDc6K7ILH}9oobaoagh2 z9XLF3bM-r78aghbePUmq9$b{s@9wsRZ2f9d@oArtZeb{R5p-J@5CPxf2mwF__l*QN zvuUxS$5QGQbAu7nBPWa{@{eR8-06G;1{@$r0qs=%4ips}*L-*pSh76>zIH(TEw>D5 zbwqC4{NE>?UhJe_Ho!x{yjIwKv)AH~3K%)5)U3x}8%~i>s$=2t>r=f=?a9iU}vS^P5;}Dix2gv^{7x zMW-W4zYS5xYf6Yb6}LWF$n}y(np=v`XG!3kc%8g^A|jwNhUt<@f=>0gML2v%9XlEA z7#XR`XFR{$>Rp2FZt--{Duw?Bx<^J#iv48mC)6ozqZ4VDIHzIBHHhl&k^Xkl6+z)oH-D6FW9L++k-g(0> z7FB~c%T!|&MXxm7ipxktw*JTS0!|Bt9k!;3Dm_oge& z^)RLF*?Ir}s{Yf`U+jcu^X|a>eJlAPxNcW}$KgR(JZ}Iy8}jD-nT|@lVeizNj$`+E z1UHtRe+6fMzb7~BB6qKOIXOo4_4v&9@cx;xo2vh1{%rPi_Z_vZs6FJwsSvO)><76| za$`QRBpzNJZ2UaEXzk|#a=Pvk?F6zzeFES=PqUM+v0fC28;gzp`%^vhV(5b6FLqlZ zvPI2T$!m5N=e<0L6mJmju`xOP)xKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(` z>RI+y?e7jKeZ#YO-CPhUwyK~#9!?7exA9M^p&_{vcV@Q5GqIB1jP=js}RM33N9aK%>!Dbyww4XI8%b<5gz8Gc&6Jkf1#k9f?9#R#sMK zR=zL4@B4i}v|Pmq00AHb0DyphAb%Fd007uu1|iA9?Il6^K%q;bV2Y^c)Rtf@*|3oH z^Yc;E0@Qv$isdl?V88$vz{8zC@)Gvni`l)3qqZ>E8%Wsg*#FRAG1VTH?jI!V1o~eb zxkI3feNKM_5{_xCV-)oW_7aYI3-0PA%+JK!6D)ZzW_P>z5Y4S_*%V6ah60v9eqZV?O zI#EX|<}^6pxaT3q6bti%y=2+`tN!oKw%haD-;129!DrdjGGve07RJo-?RDDJ7TTTP zwQWaFQL%ZSSa+Uh3tRC!Ylp>>gK3*b2g$4;}y&8R$Wv;Ijf^Zb0foZjo z6tMWnQjfjlRS&>4I~YxV)kl&sEpl86P>B`b5yZS|1#5Ex5sD&e09EF=U@TwF~NpTjisNb}d*a}n2 zbLXd}K&&DAKiEIE{XnP+DUg~9chg4=ha+gjpC>dj3PC*9p~i>AO-(I{~ycfGmbb@5MCm} zl7k@JHM|Pv1UaGv3&TE+2d^Rz5K>cns!f&dG3CyWfsUp8RQz!mEB+rJh2d_1Rs7Av zQ8)`Jh}{jsD`9J~0$v4+c^Eu3F{e6G8wOe3KD4rFxfn{O5 z+Q1YoILu{HLmildSj2%TO2wltz{uCjf}7Id5!{_>!Z6YPAb*|YzrkWsc!h;AA1T-q z6mL|=QE&h$NCA3RVA*_t4yy%GL|#|w822dj1Ko971Hl4+mip-kz{gmfglao{zQy zG|^$2%=Y*bFi@TM2K*GwAlMzYD;Uk_(L)@;keVH!#|O*g-z#c8;o6@quu7Ia8zZ=n5hU>i=HnqRv_rwQcW%H5u~v& z3gZ)Ll+;m*>ElkZv<`djA@O{J7-tTJC_6p@n>ts?r^s*?e)QO?jj-lz%zzgk_#o6~ zvJiXa#u!?-4YH7MS4^9juwrn~SolVU9SwCZ)tXvCL%@5%L>)?H|A{%CbBF*5>=n)T zVf7$}v2tugXd@7VW6H2%aL0l|8s~#>3<67qtwP`xs5Qzi4n%CCsw<%otN$N~t-6I0 zsxtx0a25(V{UCaWV}+C~0a-H475JyPyN5V(;fIH?I(MW3d&S(z2dIk1Wz@(|o|^=1 z$*z&@u>$dGi-$YdjbJpQBud9L#tUXjI0$BnyBo2?m=06242tsO*a|j**WfnHE7|OL z%Z|WKJWa4$#sn0Y6hhgeu8xH%_@PXxPYTOX6_%|*!ctK@m&h|(?3osa$?BF3M1r@D zcH7YkBNCKi6yPsgg4q#J=Yya)gY1Yq{=0~O3j4ok+G8cx`=XS@hla53+E~0D)qI47 zWR@$}>ku?b1Gh|KYvVPf9E3H*T&fAg!vRpjlGTb(OKOxy@qh-ePaz5EK+CCErqi`Y zDlEY}Qf!6PQW0WTj@8@>3blZv?hQ&PjwXwuAXPYk#Seh5)H-Z@GgQpwrT79ruyIVq zaH$S~_R;nqPin>&(WD`1W3((1^VAWP1<$nN~ZJW!aS@Gy?W1WDIb zs=2im9?2%KnnUTT+)t%;;n;K=Qtz@jC4LZEhK9T3^&SvO;TQ-G$5}s$0UWWMSVU^N zHd1gz3h2kvoig@QbPvz6+d5QC>NxfIhXsq_~IEs41aPN;3S!IcN?HDV3>KLFb#Z$5h!SJaByP07~ ziklxq~3tLBk?_kNO0|mnjnf~OT~9R2B=Dj zu;?p&pbv_Im#VZn9KuLlT_A-*YIhHZp?FOYG1gn8HdsMC6aX><8VVU{X+;(DI;n`Q z)@tsO-CVR9_wB}=Qhmv3)?H8Bk^{p%|K!=tAXwfbfvpl-#Uq1a!cr8)#cV)63t>W~ zWM52~FY^0FuK|Z@b|`!km9SJ*_#p>TGE^Hb2!f(`P)cKA7L?(5^^zYk!U~+<9Ajk* zceZWq&!Jvbt&Yl${JbkPD)$gt)>=ACj~dbI)ox8(v`DQOFg1~-0k z^^#VoCa9`^jOoP}F$%FKeT^8{)R-D>T5yQsuwTp{k0bzkK zzpLbij{spY7|Qnf2(09!MC~9#M^I!}SrnH+XJgrH9XUZ#8iI<=sBhsK7N_4uyQSIc zGgIcxL4vZmT4|oUz53eB`hPfg?~i_Z=QqAL{V!ji`!{Fry>xZu%a;@3&pp%K# z-CxUXB6Y19?Yn8KjVwlnZt@sH_9~8{8}j=~Q1`eg$gsA}R#t$Y2%^fjvSm369G+5n ztfbROzA1W&V>#xW7-w&IUYjXY*IKf>7TQw@YE4tZ>ruaJ>oHUbHKa7xawCU_l}wWg zr;tHgqbiTEFmTXp6k^Ty0k9IOE1=>Qks6n&L^Mv_lK?|@2wJT)?^}%}yRl$3=F9a3 zYvbrC&g0-n_SZkTMd~KT3W2pNXn?yxJ>4R;$P)=d8PAOYIvg{03UB-)x{#Qoc4lPR zM)X!;rGzalki;?q3oDew_U}D*DCmcWu(V5K2hV7t{*FKQyi{s0}eG&NtEYRsq z_e|(9^kD^Fa}2D{70H9Hn0TxhLQ;UR0F-H&v|=KrhBEj|COaZFlwCS%sYXmP@19w| zZ#P!#=AzxWXV&kTb=P~yBa4P$dtZ7-A-%OXxwSX7tv8iT>f|$Cy|MNe*H(ChHJbfr z$G63E_9zF{hk_%}Mxo6{2&{MzD>6F)D_(e{a6w9D#qTE&2V`LdXaY68h1G!#n61zV zJ{@z_9r&?S3ENjw+(Aa2+9DrAAz&)S9f1pTget-co6-rgnsU)?B+-4S#E39%1w}Zm zM2GahKR5rCAJ6^UcNbo|w({1U@?5Fb^f2Bq`Q-l%_9XTXrGIJf;1>?`|KZQ={9it^ z<@ZjFeSUY(r+4*lPPMX0oz9RF-|o6CP^X@%)Ih6y{RqX#cgJdcq{=C?yF@OuA}nVA zN3dYR*&_O+tOuwEjET80>uZmxOT>Z!e^`=2KhyQkjGnlNI{GjpDbj@(AnDXzrgqx2Yg{!=u~mIcLz>Jp}5V_BN7d{BJp z>avKie)IY5-O*1t2DTC`)cAqHNJy|jWH_qS=B}!h6WmaK|Atk`H!AdNR@T9IQKQZNTAh6m93jsI|(}@g2$GNU@UW4qNuKUq959pI;3T}NR3)U1UP8}9U9L3%D$n0bZGF8Key+PPi^_q zi{t;*p4s=b%m)rD)ji&5+bUpGJV|*=@%BK3n8dW{~)w)ptvNKNl0RMWm@Y5S)2n1x9&W` zy0Y|x4^{<$lmCrR?U34w!(yit@=$o!+*hVnU%IlyZ@}jKZ+>dWhDAQC;8T!{^Xdv@ zA+@a>tF+GJcxjLlOn%M*H5`!C zn(u9tHYlKPRxp07(i#xuZV&3q?9lWDh4)=rc_d~?VIjMRs|vJ*q$jycTc|qpu%y$k z89GvtX`|7Q`lM9eA1eeSur+R`wC9}^VF`b(+YHOsHP#aE_QWC&{< zVr)iSn84|&)bsCOU-{ORMQ+){oAX}`HUP;LG8`WQu)$UM0T5P94hz(c@IolH@Mhf) z!abn}&I{eREo(y{OT`ff+8_2iS7DGhA@=}04?G!wVlY&fXVgc7u&{Usi{felAz99< z`Lq@(=OBEgBmOun@j#ob(**Om3s{!7)u>B2EUexJy7tXdvoLgaIL|Th&#_D;bS2AU zMZH*LeWj_)R^1poBlTff@h}UQJQdan{DG&U%N%bAKW^B))m0s$L^q`OmCS<{u)V>n z4t4%_YJ?S8b(l-VdMu|M9~RTS8Fhq%4GtzK!ce11vr;V+GFXXV3S>@qY3JuaF(K1$ zUB3VQDM6&$-2257J0p!|-G)X=U;WZ^6lDl|L=Yox+I?uZN1BSI%~rG^sG;@&@~}LEAxboUToD$BmB{_= z#{8^ea)T8kzk%_u3r=4vPEEPWTg;956t4tAZa2ozsMn>{ekwjll~gJAbF|}RqFR>p z(_3y6WZ2D)w`U|A7LU$s>3-fwpG5U>vEm^z={m!!{8VnH$czdVpM@WiW~%by13<;L z4Go&Lisn~|R&2Y2uxwfWM7%lyrsJnc`QX)cz9_N^__0kK6>U~{L!(FdP#NyYLNenO zsKdoYEs`U@q&kZ<+WcFW7rsBWBtcjwcPptn)voBKPfxJe_pUE}i_`d#zuzyZZ*4v*6s)u^MgXN z!yrZ^uc1NK001aEwOR{$(&?TAcpk2M$cr+1At9%M3&6@JfYes3)Y|t+oX6^M#!#_U zLMl5HA;xLd^|jE6V7oBO@7O}OK}l~Cvz44liL^=3V;Px1hHK1OxBliG^ zRTem`juK>PpVdl*e7mKk#alBo2_19<2_5AUpkvn-YXeMKGMB7=kgT6PUVHTwa=b{* zFYT*>kLOhAnuDmm%^QVRl6zuxDk+i@UMS4v6vBUr??thPK@9NCOAFt>E{Jqn`o8$W z?)bxac-Vl-@l57?_uAs0UlI{k-*3OTTLpZ=@lJT#8x2892LNzgcYbkocyv@wLa7rG zQab1|G_A!$IBu(TW#;aVv2k&~1qkc=ubn>e!YQ)T2rA(oh8FQDH}5PAk8TOEk0o`; z=({}a`NF1065heHqwy{G8fPud{EA4 z?~}jy;pyjJI0aNkf|&5?vE{S)JS?E@bz-!hG4ctcE z!x#We%dS@)I&K08iEvR^%(p#Yd{*cat35jtH)rx?*LG?>`JvldjR6Q)x{d&$CAUMSfvec zSSa2?D2mmRtWDO(P2~m-0a*ZYVJn#Njmi1%U6UZJ-+J*0xhxk$(21GrM3(x_)x|%b zoabJ8dTZZrpL!w^?1-acKJhRIw`>`jFnxqMqq=*i~d+q+OacttPSm+T;{9sZ83)oM+r zTwGtDUsybNXrixBpy61^qh#7M^NTxo?*X5~T3IWdzczjN$T3D${5TU>AW3V$o!UTn z=#|+Hvrc&qgjA`)4CWHksrejH9EPnzyj_h(9b=FC1B|8hYaK<>l(PwOa?OP;!QuwA z(;8$6qnoAWmE~e-&2$JXQ#*IcXF0yelBA!aqN?w<}H| zkmug~>FHoIMm7!Ye{zqJFy6Z`Nsx#{EHjK3K6Tu6-KiVXi_5Fr3QxXxiWdG14SEa! zfJ@h=^hA2c_&EKob<}>f)`F_b!1j2r zAvGLlWl%GjNHkq{`tIWBmTl104hKkR4-?qlzPDKSV0dKIvF(}Z>9%aWZ%?5&S6nZ> zJ9#CW&0&B-Z|?BEJzcGNr3UrZ$6Y1-(0r~KB0Ek)jLdH-&Y~SC;l1;u%9NbLQuAW? zVN{~gm`kb>#z}PI-ASh90UUn%=%-#dHF4zVi5E}p-m@o@Nhb{B;QmkS-M9b53#Xnw za`fbj%=Eo1AoXkJrPc61`GvKP$OXXxbEhbfv$IQ)}cW%$cbjiCO z5FAmdR0FnarC2Pkmx?RP$aCFVC7}VCHft3_1J`G}dhlMR)l_-W)+eQix zJy)sPa51@X_hu4=Me5f3-o8gGn*jn^kxkoo&DGk9dYMwWw6%(#PD!8if1Z!!lL9y^EL@taoLjL*1 zJKwo-PXIXm|NPVYA_r~N#&=~1`pYZ#{_Nr%aRdIx&+JpVmQ+pj=yLpEd9Usi@>u}5 zcYi5c7$n}S0OJ@Mq_plj-!+M~{KRQ3U`Q1Ckm5z^gwwvv2=_LVtm_zv({k z`Cw+QM$t4QdZK+C#A)e#k$2gh>np;on zptaf>Us4Bf>zSUcKd@J7j)`6W)j$m-Kkt>5C-&?*eDJB@Rn)8}HE7f-w8|L>bf#$r zJQV$1+TMj`Q&ik&{x0ZTP4?=}-MbG?O!W8n2dC+-UAqq*p2(y#8$Qveu3dF(+hOxR zuuy5pNt}H>sd}x}tpeEQkLvYZyY~b<-GM_Bo#%%qcJA6u_D?30P9zcmdK&j%4c^rw zuy3ta3;Zcbkuy!J>cVo_aa>p`JE>%ncq87wF>5wpvE&3(yVeM{u<15G_CBmf`am*- z1yPoCPzAIDZ)%tJC4_Kj1dQ4I&o12l%l8G5Zd?Dq_{{!pNxO}uBmL$3^IyMkTe1N^ zw?A@lr_-ha6Vtp-tB%mZ4p~g|1#4S}^FI}IWJ9u~^*si1o7@+AXI}G+x2#dUtiEY3z+5-TvvR1nA!Q4}a zCg`&IHGCX6tVcYx;&5BCagRwNrSnMXBvK?pTQdKYBu&Y8oGCc0 zjptQ%r7*db;o#NU?`aO z4GeABF}{6lJe$w8Ya!HFKIj(m*1PA)lY!nW$7F%Jeto887F#S``Gx79piw&Ky4?{;_~Y9T8TJ- z=trOu-d$L1crZfQ=*1)GV*c0&GN087!Lts}M zpy|1kPE^9(zNL%a<`!0}s2n6D8$7?Tc8afTK;`~%1Rl-`sE!wqgE=Len z({Xi2z;&J8f!a?&!0}K_~$1OF}|})wR<5({oQ9nh>L0M>7BbSEuI|*X_Og z572uxpM>5-7{XFfdw&xVmJ^w%C7>i4H*q|d!!84{GcB>KV;z|z=db{W;Um<+hN`Ub zh$L^e1Byf?ben+XsY#%&RU8-?Jn_P*!%rW5{)JPACXPPuKR-Be^tqF#4on<f zEcMr8K#u|U=jS2J6>=E^GX84G zU%6D0XJesG)-E8>aa-qKT3OBI@-1lJRQF}0nXCZ&N4orHW^c{TOxu=4E~5#*Y(lNOxrW;O~C+fD%mM?)fTp^S+la-}(Bv zTjB9YqQUcNa1pUj=n!O-I7e2R~j2e!)|DFg^0t#>X-5B~VUYo`MijOdj~)H%4- zT5ama^wP@eFaBHy6fCW*F0ZUEudEgdeMb);Bv|a(BNNhCsxPK$%I4jBUg;OYm{WtLET{@4Uz^y(h$7#k0G#vi}+&XH%1bMR{N z>eR7kk0;Y0FzVGHP6__inE*2ZIbR=ubw`B@>EE} z1jN-U!ozR!__!mi!0(QtR6-|So)JQ^^2M!~>D?p`OV+$O0%66;kThj@DoC9tolZ>4 zKQEX+QcGwn)W%43X=sqpAgTCE_?D@%`3ez{=K7023WVKppvq(CmH7})gu2%0~n|k#}KQ3AJnE%_G zx-tFocVD@9`O12!yleNKaq2fYzqs=5g~>PHKKt&4$@i~b59V|Fpx7lK2xXu0CufOW{wQ@6<1dn7FDsH;1gGh#lqlFVW92u-?F{Ek-^anYMV8L2!acAlFL`G z508vCn@y?G9U!dE_oDi-dp=85GVNNU#{Is?dmGIrecwZ)rw+GB^>yE%;{UNmSgOvM;o zn=UUjb=B(+$SZ3ldYMS3Z+z=$PbR&(R=P4hcks}Jxby3^TD@Ll-itejBa<|S3poI| zIXhQ&YEll1-iAVd0c3d$KYac4lY94(Bnk5Bdlx1P14CQ4Z41B=x!k;WVRGA!@ebBV z7=wK|4!+69Z697WUH9~vceam@Z`rbqtS10jS8v|hI<^yJWM7b2i!o%3Hg5Xi=`;KG zALuI-f`$82KqIU`MZJ1sI#(DP9w=m@;1wCc3Q0)%2qE?jx`xfA@40`Wc7G26}XBWJa=$4(2Ny-|Mk95W{>7lEtS15l&3<#k;Tw!hhIPS4KG%yw>#v)L@7@JsNUvDs`X z0I+R4ShJ>S!SB$q!}eIpXO8CX%vUOvk&)3h`mn5~&t#2n9SyiJ4ufzSsOU{2$S%-K z$yw3zE4Z_nbiGzf>6m=?8?$q{Tt1af%d_nZ|w7eGSEy(q=Nop7X>`JxSbTP)j zCW{8>ESJl1y+_G+(NL#8a&RV7EU^cP7 zHwj4%u20X|P2d;}U^xqpB5ZRd>!qtV=K>i^`ng%7t>`(`S`{0HVbGzPH)rP>9_$z! z*H8yQEw7b(@_pi#Bs6&Q%`+I_@WBJbll{ZjJNSs;pm#4!Zr?H9S11rH%OR}5`V`E6 z)n5bGsGR&arML4r341j*K29uS0c(@M%}go*0JFE}2RCmE|G@;>-w#ipIpK#)U<`(@ z9!_4JLW%U)_&5OM6Ie&cv}{0HZ?1oAZ40Ju3ffBn|{k!O!{hiu44Sd%x}=&S=?01)MyMbs(e$>3E;>dD6* zVL5E~!)VM}yl@tTcrr@OTCaJbt`f(QLhyzS@E=^`ifVKv=mC#NAs z=4aq$3e+V47#b*S>g&lTAc^ZacAD_&Spy6*ZPl{|BwF)(6_$2EFPn#2ZKXH&wTQDPbL%m3^=s-?2(DhLxmn+ zWUNpKi_9l~Datx)vw2$`OkJx4-m7yLFJ;o{fq}sePik9$z^t_0;k(AR-Mc*}vRCw3 zL@tGnwjOO^- zA~4$G#}8p~&00{r{6rL|A|DOHWJPWFaF9 zrdskK7W)KUOvHD8=hEEQ-{Uvn$c~{e{le3d9@pw!N%IZ_C~f%Bsacclb{#=)vOV+a zjp}SVQ^52h=~qB<0AxeUGlvPlg}KP2vG?+ zgcVRu2q0s$KX>lV{Pi2thYnBl77Co6hyirZ&87@Oa;=mr*?g~RcM)&e-G#-udy6zI z4Hzrh0iV=6khAH!KYiyMXvW0RV*p?v&=J(V_Ms%cvxEi)l4ll9-<~fywPXAD5S;si zH{LmP8Var~0D+UmHhQF?|`1 z%RM@ewYa+8o)Tn4#$;8UKt6%VnR<6&@#^&( zyLRuPQ}6?Xg?$awHmyV^7tsHsLw%)U5rhnW5E4g$LReEbril(nrnOoC=i4-ywU09dx&sr4i3r+;lA z-^5o+z^hBt)iBbMzA9_yb?c%ri7$9@${gfv7Ztw@Y2OwUw!8WxAJ3SoBrT$ z9Z^}dLD6YOY_7{S=@myX1n{G4cmLg6*93&M=}W(OMC$lgdFbg@fCOPpP0!8VTWnY7 zv&0!$izck_@V-5T-W*X056~rP{+9G6+P@#uvfn;8IWRc%#NK@Y?h7!*joEfBA-(d1 zSL;cq0l;t zMQ6`XdKeBJp5Wpu7={r+8d`>-1Ay&Rnp#rV4Ne(O`qrv9&z{?{V{B;Crr@O>AIg3A zN2f`Ys78TP!fmDVh2fFWc2Tr%b9?!(PM>)GxuIMt0Alx-R#(a+cGhw;W-K9G1f2#q_WVbU@R> z&{lI8fO?A*D#{pz8Kv7Ni0I@HcxYV#f3e#X$FwaC?~>AJ7K`LkpyJv2PRskH6iSfeTK zF;`2ILS@4+G6tBX630RYPIq8?0(EY_e1$Pk12G2MvU~d^^DRoTtyP@hY6SonE?p@W z*Ph(FuUf5gSd8YpEYqqq+rnNh+mrAb72E9GNsul?*dvJ2wCr3@hFJNDvp>M0)k>wW zP^ecO`f3FLPwX7iH7#Jo$X$G;TB}wnS|U}c)u*QCUj50L@4tTLXBRG4To@b~edf6n zyPw>WebY`cTrXXm`RY3#2ncKV%fEaq z4t^AgDw;~ez&GF(AAfc2&c8czML<}?U;4#k^hhW|(Gb3X6!+g*Sgf~T)5s`ryaSR; zje+1rYSswC3YN?z+EAkDx^JJGbgH#u&mJe@AkEqkT`Wjz;4`7TR@MN5Sr%7TQ@H{S zaDuc3+C`O1005jl&#QqMBW!-)bSGOC+zA4}Wml@T(cvKgSXf#y za{Y#3V1WK4XbA2vuU?v(KKktOTCH~d>Xm`Pq5i?49-o;CpkffydTn~{+RWU6LlcEU zAvn;%36s*>OHR$qRbALVHjXIo6;d?o1X;6jIvm0yzbtA|W(R_@wBuvu!@?|MWvQ}H zqxt~TxuYSe@TA@dRM!Oa`9 zb8o+U{>`)Je*EU!J=xsOvF&;PYISdM>Fslqm#^J$TP*}0d7?Ld=$32 zS_I!m7JNsn?rtgN_2>%Ujwa~Hx^1D4ZCXPFNI`&nKZuIGqS={n83GA6-X5zJlC(BN z@l7vXnEsFNOmXXZW^DM&fBRXfeMzOzd4hm~ScK&%nwR|5)!Tpa=KDOt8XNxIUwRgC z921906$Bsl5!Qwut81mpH#>?FsUpm1o~~;buTIS`Ebe>iz~JBz5y*7eK6(4xWVW}! zAuQ;GpjP_xJ*H)!JwG|Vd(YU`QO#GZ2!i|3=`#Vs+E`rrE3cg3A%K$8D#`!c?vD@Ic!{c5`;_?!w|T&peY)>4BN+;NgkBzCx{5TV7hkZSQL? zolb8mycVY3;wW-0up*>ITGc=S-;Do`8pl_X<%;XE($HwWvh9G#0KC*Z2End7j zH9Ru9XYW1$D5$03O11X-nRoU*bzo?4h||!eB@n7cQ&>>F!-`uUQnwz%wyj()|5!{N zE1%0dww2H4ZL2eNEGw7K+rc!Kw=64{Z%=J@n$72J)5`Y>^K*I2vU+lP+qSZ~yklFr zT;8;-zTUiLS=oHvGOcVrPY{;4yUAxcvQLyw9sd(^{y;1g zuOgsZ=ZJOi#61$z*zJ)k+U} z-qTa9RLH9t|JCP@9vm4O^t=|yBMbJxYRSTGqquy3VR?1y)@_4>L*x@{^=3BBUr|iU zp1-&7?Dlcn;*X1ES^0dv(rDFI*4{mLzOT@qN~QoaLfFljTe@y^_T)ew0IuJdURf=s zQmJ~qE}hou^>iwgPNfbX_(X67v-$kunl;?lV>^`#SFV*y<|m(f9xx{RHlNSi!MWEf zKeAc>c?-0=i^aj-p0!f>^3`kmKCxfJEdU(=uHBgSJg-nFkmUyk2I=>@Ui&(7>B{xH zi%Yp&{u56fur15TCC0XAv+QmZ);7plFW)^@=@vXC5cg zbg3QPksAp+76IfFP_Ni)>!mwOs|OEFaNpW-Y{#*OM@ECqNoY`BTP2C0iG%vsSory{aBqHiWYjQ>ln%IAuT-nmYOPo*-CJ1PF*Y7}xJX*&+4GZqgG1S% zZy=UywdtfWQpf?o_k4tfF}U^Wx%1~!sr3G*4x}?_QFWC9XDs`On&V7OUC-unPww4^ z0Q6S9TCJWvKe_*@0|P@tz#fGGo*7~04#2U?H*elFEqmAQJ)5^~qt{<`9H(3yDD?K` zbH%mN2eWgo2c)qe1_>*K>-In{eg6Hah2_;PTet1nvnRMaF%Vd#HOn$PKLdbjwYIdf ziUAHCo@l3rJ;1LY%RE_9#Sk7|Kg184!|Lb}js>VQMN$VA>n0anPJz2e?AH=J_k2yw z6qQXsDS@bX9zac@5}F)ih51kEuv(_?VyCy9W6dn2A9)IW<$R)R^Q_b;q56X}Z5=-MF(jHG4ak&57^A7!Qw((kjw= z*=mAOG@WV-7K>%O?p7PEC-?4q;>o=rbNthvp6~6`4a2gmS_>{+pMHO8`r6HzMhmuV z-L`#fJlHnJg*V9@{yYD+CkPi406 z7=QZcv9>$RqMX@L9esdR&|02%@bJX&@CcdH0R7_o*ZK;DR4T>i{o5Ul+r!$(mTgZw zxo^wXZCqY%CYv=f`T3R7>u1hhxH{Enww~C#&tZ8z|`Rvl}_vQu?o)pV*YSTh|hnI0J(edd$L0b|7FzEV?04YcLGuRHuNbl730LV#wg z@y9t2D;U8r3xqgddmH`;-Xh#hC{MTz1X0}>$&!C@@#fcl#@nEdjgNf!?;ICRPhxUI zFvuWbWTv;|`|scS4{u#@TVBllc64mycYpafhYD%N0jU#Qr3PiuVaGJEp#iU8&O-5u z7B&`XA18RDTq*%THkUJ4#z%UfUDqXuk4T4D_%8JRM2c;QOesLr#~}p7pM_OtDOTF| zu<9ku&k9*ih~W_V@{$M~GTR+C$rpl~%_0Net~3BqnXB)=xZEwQ5zmJa@L} zxoHx zXSCZ1`k;1NMd!!KYCkMRe(A>sVM#mUa0N%5j?IGURyCxAqbelB6x{rPIHR}Z+vjh5 z?Ppg7gf;qypMOp|nA5`=Q(Yza!pN)Ncz5d0&R*|!AD(=2`xifVjC_jb*VFSVBnm6E zWHtkbX*W`}5lK4|MHL=|A0uD^4|)J}h6Rutc}|kur6B>IBBtI@`VmMmCw#+{_=45` zq-aiB)5m>ZBxvjM1BWCZ9et;Q<@YX_3mw7oQ|=*Zh1#RWR$P*f=(OTF^%^ow&#Uw`Ks?*1{FOL2?< z`E-l>UZH7U0dB3>Y>k){dkSbM@Y!=H#$?mSu(}?AN6J1n?BG)wf)1I2m@6(ih9hhn7TB1P_d7uX7TG|eAVs`HTKQxq5~&Ybuip=j5;rLH4x*BCxnZ=Q#b zu%y;1so`5{-Ik8zm?4@`(ON5!>2uo!=RFQ!4 zatL5VyoBNXpC?w@k-=)1jF`qRGAjdo6h>B$Ujoy2fE$ap( z(@8B#r4kiYTZ+qM4427bF~AZ0SFj!rWV|7pNlUXiSYTx2m7$8dQ7g1VlJqQ z3~(1c4IB#Hbdsvr-2D#DVlx;xj0Q4{CfyRm@n}MCP)DdRoig=y%=RUL}t z3zzJQg`8EsMSx)L6LVJOS^P3Uh!l7Py24q4uMmeengl@^ls551pRZGcFVf6?``#vn;Q~c@A zrtkfC|NeVFxHKJ~MIug<08a(zhW8V3IE$V-m2RmkT|>Y5nTf$%CZq!R@mlXQrLyp)JrGsBwH_wILZQl$pbN?Sz4`!tNPY^ zQ(t}Sa#!E$*v`#g{`^T0NFvb-6Y_Xt>dycA>O1j2G@UTM^vlm586OQ7UL&I{RJcT} zO^bsRq~I>*k{HVfCbk8hN}5CzIK(oiH3+2+SQ@E@B*;#+uVU_mFd7R92s6Z=r4Z&+ zHafY9Oh(v6N`6u_7Zd%dc8f= z$o)@$=lGHFQB|D)JtEP2SdwIK@frC6>fv-om5+wwvzW{ytaem!pX)Py5*<0FpN>@_ zgHDbfP#hw)g+MVlh)!{$xtq{^1@ZJsJEXriTXi6H$w6#yJ+RCajZ$fk6~}E!Jyvwy zoS4TT?Y7Ce-X;AR>ApMu`hz@DW~*2%#$~`e?DYh({SzMn!eW7s^m5L5vP7am^tuF> zc~7`iMyv$MjlIEEUA(>cm2bb{bzeR8_ddD*AAahP6fbo3xH7-|m2ba6dS|H~Nkji{ zpWXl8Jo5=d*FscR6yga&JXImuXH-l?7sr~zJ~+ae1uV7#A?sCoE~%ovI&>9Q%Z@U5 z6%IXOT9Ble1;y)EpmLT+=0jlVT4*;J@Z};ZB^@bBUm?mi)fMU_q9OUEkTYHrmiL0# z5}yX;Qsg{gFFg{3MdOh;%R6)`7R3ulv=tfu#f_`B&?nBeEf3>=`{Q#h;;QQM@3}qO z+IQeim~TFEdSKh|AN|)Sf9|QB(oY#1D*VIe_kZ;t|LWg9u*1+bd1}6(s(2JLh}nH8 zSJto`|Elx3(h$_@u*hvWwo-pYig!t-EO%D%`|;>OKOURc zC7sM3cdh^2DeMetdJHmG-^0=f-JD8}LA-6Z)?mdjcrF2I6=9QBN~k>*t@^^=rrW{L`O5c4F7a zr=Hxdw;GX%l|i7PNXO#TSS)0mB5FwiTS1(hSR95lF_l=)cy=hikCf}N6g-Y4rj=UC zjBu{IlA}f|ahWN)V$ozYO)MmZ$P;Ky3EvmTV;JJ0b7(~`UUg?1&mypF3lOsn^g5YT zdsZ<-LVY5VB}q6kq{g_+5OW+W97dyr`nJ$Zchw)p7d;oI3FM{ETfD1jRwXo4GR9>;0H8tZ9}!>oaV zC6Sja3TUyz9txH&`PZj=0OR0GcCqb28s$z;5vQ>9;?_@jUj!Q9JZHuWaokp1&PpZEZjT0ZCN(iCqkIGNXG)IF@xf}@bp)th^^6KpJ z`mg`#_hWvMzMk~&|H{dO+ehG|c%V>jB|b|Cs#cOXg2airZM6D^aTqR^+G?;`*HdX# z2qb20EC32AF^W*EazBh^7AhHp0ksq>UlMKnz64mBOjRey&6I#Fq~PGN65Odk77~cj z5MhyH8)K$cV34%)(H<#p70HIsOowI5yAxV6>BR>`_Jr)^PBwaf!+W6uYLN! zwqe`0FvgZ;ic`+-rqR^{YSd9eJWLRh%_J9ZE{2_mr&sjIkAVRZP(wOe03 zb7`?`iwma{#%K1A|H6UYyEYa4R2iV31Y-b}W&dEsNQ63!9iso+POm};q0W=ebN?-v zeoJRv)M~~5vhrJ`Xe_`hN&Y9xfnhb)pjQhh?Ce7EELU_XqN-{V zb-x=q0#S_jKvB0NVsQuxFKj?cs!OUhV=Qsu<0uXb$*Kb7iK+2~buqgFV+lE^J&JCF zR_w8wQ`|6@>8?-}Ih@5|9}WSvTCH+vz2&;4(%OkVTmRMH{nWqsrQ<)pZ~MV*oA!?m ze0Kl%=MV1u{lE3e|KsmI|Ak{uWL&3QT3@(#x3s=CfA{uUadrOg?c(ano!hromzQqe znq661ygfU!ym#iwpN=rf)1R+?y4rGdJ7Q`wMe3)60wZ=Vqo?mKJZ{ znq6I9x_f7?xVm!p&fNN1asKY@()!xH`8(xuX<=dBw9Lh&`;KF;EH70nPH}amUaPGa zR~z;E`g+lAHcO?omg|;F>#bIcLvz@}mT6)STbAizOxh5rI5MlNBz~dh3xu>L%;F|X z@OfD*!`NY_{8xjFa4v%%vpE^e9HH`#afI6f>JdFwro^)js;&Ymmlo&YQYCYmlx{1{ zZ@^5&qAH=p=|0^gz+$E_CqA|!I9jZ}R3S&s;e~`PM~dt)X{YyxkFfBAtwHP=ODd1V zB-;c?8c}tro`EYqi?5S}jkuSbGf^V}FGK{^B-6L_HjO z(liYa(vXG_(#dm8Lt6Wx>w4$8rqlB^>VY&3`76;hjsA$>^Dwm;Gz9DRF!AtK)~5%s zQrH3^m>((l5nB2b<2qD+G$cyTYWj)SC8g>Z=3#!AYRTe35i?3F6C!F66p9`Sm0YC= zOC?{1-wdgQLaA|2%3g&y>BA8g7C{#KWwj5Pw~83ak$|?41iR6^55otUW$byTRVKK@ zb=`8gh-naYQ0t~7FTQ4YH@X?TCEgUmn#)#b$Q9L?Uj{f+p<=c zmmJ$#U0JeiYjt(maqQKV<%(?=S5_*HQ!K7l9H+RtQgNKM;%c>0Szjww9A|y4NS@Pk zYSro*wS4=%D=Us|6<3!nfBi-OQ*6sxU0HT)dv&Efzgn%3PgyIjlC{&g4!S} zc(wB`O+(PeSp>cT;t4WPkY5jC2jlYWB?GCb+))E2mc_}p1xFNCuP=s(ifw*6kyuft zZIQr|?g0()+8Hl^g52&;OP@%^^{UG$MPIu}dtuB}1t4|MzREQg$?kzd4#sNrIZj%< z%2=59>iN8tci%va!^0Y=n^G*yK5xYMSOaHXu~3R&-sj)+&Z!)a$iGBH3s( zlF5|ox~X)!<+ak8jEB9RY!+jj&E}AXvbj9cw0v)`rt7)hUfs}pd;4_5AkFgf`CcQD z$mM%=!^q`>WsH1puWsnsT#igNU8ASDe4ael4Lz672k#>5A!{a|Le`nj_v(h8>+RKa zJ>T1lG%cIUgNAx~vKZq`Hrv8px~Io&x#@Je*=#10sYaubFcP&|)i8`&t*YyKrQ#q> zt5lr!-k|nRu*c$L@OOo#vCLt|oe$Xe`>2j7*As~2wj`fx$-7L_N}MHQa6BwgA-Rk; z4sF@CkDEjk#vw2ETOct7fkRbPB|ztXB1q|sH=uDd~-1M$|KcwBEoBO;5GM zsuyD-O%$byK1K*j96DmMEt2N)BE2QBPHi9t!2}0*3i}8xSU#8u)Ea{S#Nx05Sy0o+ zOEmXHkWoNL1uyw9sXd3htD_i-7)lsAyMk0mp~pcyhd0JbN0`(Dts-AATgZo__!?;JGjKR*hjMz8}t)qIpusW`f>SF07>Fsikxkx0}V^<*klZ`4!iwA*qsnVwdwmFdZP z7-w^N0O;-Q({;VCuV5q-h5ms=D%n3Un98JwHVvnHGJ~6jGuiB>khdo6C=k zZpr0)hetQ(^1UOQw*=GS(aq%5Y%afPcr0&K28zw%Z8`in&W(5OUNC46jh4$hCc->xh>o3&c_!y z2UJK0x1C&c=7*|FpsEKrU#W__*jEnAreRsXAHF*Q=6mNrZ1+6hbI6pW&c?($(i#I$ zBx*4IirCIZwwN@l;LEzw90SDqxF9UrO7l=U#QyboppODug|7m|gI7|770E_P8`a<# zs2te1dZf-Qm4YlBvuBIK2qxwAkh-}JoeaeV%p+MIuToLOVPYacXrm*Ds1OJbM2Tdz zLZXHv;Z=ySOM4tpmBX?jamKX2Inxg{D+0B-su0ddl2}hwCg2Cxi*XmRt?o7TUe#EteU2|1fa&7)Ez$%U^^x@+#{9s#-WFcrsJ$mDZvgJtW zOA=GJXl*(iQmOJ?G02-{B6Ukm%wa2}_QX^B1887CEP)KLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(`>RI+y?e7jKeZ#YO-C z4*f|)K~#9!teSgpT-ABNf8ROx-j!A>$q&Gm@PiO+2q+ZrWGHVa(@6|T{%eS7I@1RU zblOf!(zG+A5GGA&($EfcLWVd^{^;akXWC4YV%(0#BXRRkwbz7wrovzD%sq0`np;D87%?pDZ(g$6LHfS`aA z2*}zP+Rhk1i#-mZRA5=&$TCM5ShS#$W{x1RONMX4G;u7QZiWfK5S$i6n)Hn^Sd-t~ z^mKz0Cyo;&Swa{H>Os}b0?Rk6O$-|6a}9~DMHIT72b~15coUIGfW;wRav(Lp%td+e zs5sPk5CK)hr_0w6D>#?7&Am%c3&&E1wMs&r&{aAJ-13Gsf-xTFa;s79E^*wa1e&FU zR)~|7z#333B-qd5Xl@#sa;^oZJRYkq*AVrnfJ4Z2O^Uw-oPsuG+8I=o)(^`Z&gr7_ zQ^Bz`Qv*n;*s`9s*-{mpbBGAm3UM40c;{#t9j`NVjGHk$3aCTH;1E1u6(9rB9L@xV zc?()7L@2bSiNnsQFy1T1$b$1z!Lc+Z3TQb$^Jz0AXNoa`_lj4C7$FeJ&6P0* z@3NLEs*@Hsq>yee9>t*;eDhG5BB3EmJra5{1$7>4030GSM2$+$6g4P<;+uS5o(&d* zpC#dQ=cj^Wsb(fi6fb(Z77LNWf{3(~LDUfBs^f9aVPr-XMP)|PXG?=H3)qfQ6*_4lq+4- zrYGp?E|d8bR0^%}7zM@Rc@GXZXH;u3{k}fn*9flv0<=xPN)t~JwM8ZfnJ6-ubTJU!q!7MI#y-#<*P^Y!Pp!Tjv`(Rt67=HvxcN075!TcOzeWKKczAXrdLk>E8NQ_$VbRO-+q(1kvOV`lf2TF-+Z{5MRk6ys7AG;uD z##oJOZ{5jv@4tx+gS~BG;_Pu?`W3vF+kEm})KNsx5=9XG`5fb02{#G7hg=IJsv2VNh~46*XiM zVDN-~8si)El=_%d`1$^$$kZg$XLYl-E2eMdGra!zKe6`mZM=QrEhehnbeAu{+A>Zo zp!8KDj82ge7Mkc=5~a+1&y}*H<29b%J4UsZP_4xrICzYsV^xMnPVhIMy^m+R+5Rk7Zy99UN6+sV<;+~9FXV1Ub2zJz zBC|4I>F_Kc8wUD#nsKVNgrUu6(BE6)=va*d2TyQxyw0x2kMPhJZ)m~Y_t~rX`0YPw zN%FiTuOrQw@qKRq;s`^VS98a$A*;OZ;b@yZx? zX@hci7sSKpc!~9EeuFoU9N~-$w~%;`nhZ>e*D@mUoGfuZL!RC{2GEkQZ6CdWuWo;i ztGArp`hRHi8T|3Rj{$JkKkQ+2tVUmNRKT6hSGPaUP1m2xhJl4mN41`C*Wd4H^J7hI zY%)_7@F@>}{{a1!hz$dMfE3^GXzd6?o6l&?n_6A1r}X!BbxaPM#ZB+?+$hK+s2MLm zKLb^|z2aSlmE4HgFyfW}8D{+lE@t$EXS|-UY0U>nU;G*ASv^D+=&5k>#272j4XGWU zM17U9*Q@M&WF(iEqGGDR{)5LkIq_n;5e#j?Y1>o!V+`#(cLU%p>Dqp|n2E6wi zICz|!t~-aJO{=KZ6Rx^!ko5z-MbH4%T0&nXWZjw`y!V}Lx6jS!?VlW)_gi13Gy|u~ z{*kw+)*4*7We`RAqkI3GYAtD9et&Por#`oP7Nhf^<)6Ry;f_9|$q*6A^R{M`G2d}& zp(RS>Jh%)*Q6r?8uyJsJAH6Vwx$u0vRv3HfBo|u2boC%i=H{q7S!v$K z#zD^?e&YSCu9U%7Fj>G4cD=&ww+yu|dvv_U-+k+OwqCoD^#i?p=9Zzh1B{N>0Jvz= zDo#$s3?Dkqm+!oSzDkKb`^M<2gj8z{sa3f;tXo@I)aj#+?>#cY z=WpA>H+LKW;2-b4zP0X#-}zU*{AX7(w0ZTyI2L#|E9`BLgXc0tF{Ii>NfR=g=Am&? z=R+G-u=jtD^7`8uCdnwj{VJD7hp}Nd>bejNCy!hD&%Bg!?-r7H4dNXuyF6sM^E~`! zozd}H8|~TOoeuHn6Gyn|x^qxfhDVOmS1GZ6pqHa#6a2|vKh7s_-rTl+$F31nb>8#Y zPE{9-GTX=Qr$+g`-@b%(XI181>Yjb$Ow{5cgr3OPKlvI%n^tq>WdjQa6?2_?u+YJ0 z+xFa>qy>W%@fm0K2b?#shF_kj6Zn)q5>}f@#74Lz!It|ehaoFBUxxFmNnC_gkEm-E z=k^~u&d{dSE$vv!=&M8wkDOrp&S6H!YizxCW83~eGe_HY>>A;!4i}=QP-Xt`HRq68 z0oU2|U3u9c!y_jEn5ZXg-*JGg*PX-qfy%ry&ZXa+2eYNIlZF6f0TSICUi^Uj2 zuhbbVmx+Q1^Tre=@Q95Fxy&<(09|2TW;FK z*6Yq;$0G;Xv1^2_*KVX*PddUahO1pNm!=^`9Nm5jr#-DGsR?t%rE9t3(zUI%cR%n9 zpT1?NWpWpyKlkirsgmN0III~hPEOP)2k_?MmpOiPgp!-4zqbb!MWX;Q7O^23mZ(im z6?K~?4$px@#~42J4!7LAY1xw6*Ap^2UT+=tcmLw2r__%)wO(K64(IMCUt{~uVfO4B zXZMq@v3{V^=KmI=Kd*GssZ*l*(pX0tSeTd$kXpWS$_X|3W?K_95 z)?>c(rhdVVJL7%{C#4D!r=?zsOu`v7?G3)hl)Aq!Rz zX*^G>K61?lM#t;i^WZZKA3DLG|G{O8GCi+^2YFlAn3l!_kcV6IyI@6>rJjHcM}+fW z)Zo<6D5QOADq(8ML1`uSjEnKIq3E6TQ(4soriTD<+CbFv%aJ$Px%(CFz4H>*oK;2> zT~u=Bj&J?&B}9Y=?z#q5rMD;K!N0n$b(x>ox{1C@)Ux9{A3fBDYv-dQtY2GcwUC<{ z_vzodh&}tp=KF<9*3Ohb&hE#jX>J8NXxh59J$&bHZ{&xM9^(FQ?_HJ#0$ zF)d~^86+ae3opK;8#k`QWf>x~os|I$fzK$rX<}9~9eTV7PRn@{$_io{WLXJY7M!1E zMZFg*5JoVS)rccUBb~-Xmafe4(j%!E9 z>-=!{AwKu}mv+QwttCxU!Z5@+M;L}2IdTMf?)ew>f(yEX!I9DV0hbJa~|x+4;-U_zpxQe|bk0j8{Y)s3XLY zWfKI}VNE~Yd5l=z32KC52-JcEIPdXli3qS+fNIb>OlnfXCFTH&7v}Vo7_wX#1vDyy z)=~7d8Dfl?r=>xuR3eV!1$$trKqC-JNmBHZJ&MPg6o)Wv0Mmt}4Z2APeTm42;5|kZ zXFMVasxg@fP!YU9Bg|h33VhJ&EiWfRn!Ubx5zED~To~^i=tO79J;gJqD%M)!IHs$s zt6)eYrn@U@Ihffd3uDQm0OJiJ#cMojK|E0y5*x*sZmi_>TW3l{8sL+RFcdI~SV2^Y zT!7Et0wN6+^&!?v?#wzIW+59tPo0Z-`~F!pI6xICqMN1CRrLe`IByno)JvtWMU@>9 zj0lsB23@5Ra_r<({Kgw^@XkALcSM-ivwT|>xOj7}_^Ti`KVZ>8kvZKsiZ?7~SKD=N zA!(5s)BM+Q9M;;ld0_3baV!_c7ck4sV03}7*BB|Z1p52?S+{N-|33iQeTU$!k*lr% O0000字数超出最大允许值,服务器可能拒绝保存!', - 'ok':"确认", - 'cancel':"取消", - 'closeDialog':"关闭对话框", - 'tableDrag':"表格拖动必须引入uiUtils.js文件!", - 'autofloatMsg':"工具栏浮动依赖编辑器UI,您首先需要引入UI文件!", - 'loadconfigError': '获取后台配置项请求出错,上传功能将不能正常使用!', - 'loadconfigFormatError': '后台配置项返回格式出错,上传功能将不能正常使用!', - 'loadconfigHttpError': '请求后台配置项http错误,上传功能将不能正常使用!', - 'snapScreen_plugin':{ - 'browserMsg':"仅支持IE浏览器!", - 'callBackErrorMsg':"服务器返回数据有误,请检查配置项之后重试。", - 'uploadErrorMsg':"截图上传失败,请检查服务器端环境! " - }, - 'insertcode':{ - 'as3':'ActionScript 3', - 'bash':'Bash/Shell', - 'cpp':'C/C++', - 'css':'CSS', - 'cf':'ColdFusion', - 'c#':'C#', - 'delphi':'Delphi', - 'diff':'Diff', - 'erlang':'Erlang', - 'groovy':'Groovy', - 'html':'HTML', - 'java':'Java', - 'jfx':'JavaFX', - 'js':'JavaScript', - 'pl':'Perl', - 'php':'PHP', - 'plain':'Plain Text', - 'ps':'PowerShell', - 'python':'Python', - 'ruby':'Ruby', - 'scala':'Scala', - 'sql':'SQL', - 'vb':'Visual Basic', - 'xml':'XML' - }, - 'confirmClear':"确定清空当前文档么?", - 'contextMenu':{ - 'delete':"删除", - 'selectall':"全选", - 'deletecode':"删除代码", - 'cleardoc':"清空文档", - 'confirmclear':"确定清空当前文档么?", - 'unlink':"删除超链接", - 'paragraph':"段落格式", - 'edittable':"表格属性", - 'aligntd':"单元格对齐方式", - 'aligntable':'表格对齐方式', - 'tableleft':'左浮动', - 'tablecenter':'居中显示', - 'tableright':'右浮动', - 'edittd':"单元格属性", - 'setbordervisible':'设置表格边线可见', - 'justifyleft':'左对齐', - 'justifyright':'右对齐', - 'justifycenter':'居中对齐', - 'justifyjustify':'两端对齐', - 'table':"表格", - 'inserttable':'插入表格', - 'deletetable':"删除表格", - 'insertparagraphbefore':"前插入段落", - 'insertparagraphafter':'后插入段落', - 'deleterow':"删除当前行", - 'deletecol':"删除当前列", - 'insertrow':"前插入行", - 'insertcol':"左插入列", - 'insertrownext':'后插入行', - 'insertcolnext':'右插入列', - 'insertcaption':'插入表格名称', - 'deletecaption':'删除表格名称', - 'inserttitle':'插入表格标题行', - 'deletetitle':'删除表格标题行', - 'inserttitlecol':'插入表格标题列', - 'deletetitlecol':'删除表格标题列', - 'averageDiseRow':'平均分布各行', - 'averageDisCol':'平均分布各列', - 'mergeright':"向右合并", - 'mergeleft':"向左合并", - 'mergedown':"向下合并", - 'mergecells':"合并单元格", - 'splittocells':"完全拆分单元格", - 'splittocols':"拆分成列", - 'splittorows':"拆分成行", - 'tablesort':'表格排序', - 'enablesort':'设置表格可排序', - 'disablesort':'取消表格可排序', - 'reversecurrent':'逆序当前', - 'orderbyasc':'按ASCII字符升序', - 'reversebyasc':'按ASCII字符降序', - 'orderbynum':'按数值大小升序', - 'reversebynum':'按数值大小降序', - 'borderbk':'边框底纹', - 'setcolor':'表格隔行变色', - 'unsetcolor':'取消表格隔行变色', - 'setbackground':'选区背景隔行', - 'unsetbackground':'取消选区背景', - 'redandblue':'红蓝相间', - 'threecolorgradient':'三色渐变', - 'copy':"复制(Ctrl + c)", - 'copymsg': "浏览器不支持,请使用 'Ctrl + c'", - 'paste':"粘贴(Ctrl + v)", - 'pastemsg': "浏览器不支持,请使用 'Ctrl + v'" - }, - 'copymsg': "浏览器不支持,请使用 'Ctrl + c'", - 'pastemsg': "浏览器不支持,请使用 'Ctrl + v'", - 'anthorMsg':"链接", - 'clearColor':'清空颜色', - 'standardColor':'标准颜色', - 'themeColor':'主题颜色', - 'property':'属性', - 'default':'默认', - 'modify':'修改', - 'justifyleft':'左对齐', - 'justifyright':'右对齐', - 'justifycenter':'居中', - 'justify':'默认', - 'clear':'清除', - 'anchorMsg':'锚点', - 'delete':'删除', - 'clickToUpload':"点击上传", - 'unset':'尚未设置语言文件', - 't_row':'行', - 't_col':'列', - 'more':'更多', - 'pasteOpt':'粘贴选项', - 'pasteSourceFormat':"保留源格式", - 'tagFormat':'只保留标签', - 'pasteTextFormat':'只保留文本', - 'autoTypeSet':{ - 'mergeLine':"合并空行", - 'delLine':"清除空行", - 'removeFormat':"清除格式", - 'indent':"首行缩进", - 'alignment':"对齐方式", - 'imageFloat':"图片浮动", - 'removeFontsize':"清除字号", - 'removeFontFamily':"清除字体", - 'removeHtml':"清除冗余HTML代码", - 'pasteFilter':"粘贴过滤", - 'run':"执行", - 'symbol':'符号转换', - 'bdc2sb':'全角转半角', - 'tobdc':'半角转全角' - }, - - 'background':{ - 'static':{ - 'lang_background_normal':'背景设置', - 'lang_background_local':'在线图片', - 'lang_background_set':'选项', - 'lang_background_none':'无背景色', - 'lang_background_colored':'有背景色', - 'lang_background_color':'颜色设置', - 'lang_background_netimg':'网络图片', - 'lang_background_align':'对齐方式', - 'lang_background_position':'精确定位', - 'repeatType':{'options':["居中", "横向重复", "纵向重复", "平铺","自定义"]} - - }, - 'noUploadImage':"当前未上传过任何图片!", - 'toggleSelect':"单击可切换选中状态\n原图尺寸: " - }, - //===============dialog i18N======================= - 'insertimage':{ - 'static':{ - 'lang_tab_remote':"插入图片", //节点 - 'lang_tab_upload':"本地上传", - 'lang_tab_online':"在线管理", - 'lang_tab_search':"图片搜索", - 'lang_input_url':"地 址:", - 'lang_input_size':"大 小:", - 'lang_input_width':"宽度", - 'lang_input_height':"高度", - 'lang_input_border':"边 框:", - 'lang_input_vhspace':"边 距:", - 'lang_input_title':"描 述:", - 'lang_input_align':'图片浮动方式:', - 'lang_imgLoading':" 图片加载中……", - 'lang_start_upload':"开始上传", - 'lock':{'title':"锁定宽高比例"}, //属性 - 'searchType':{'title':"图片类型", 'options':["新闻", "壁纸", "表情", "头像"]}, //select的option - 'searchTxt':{'value':"请输入搜索关键词"}, - 'searchBtn':{'value':"百度一下"}, - 'searchReset':{'value':"清空搜索"}, - 'noneAlign':{'title':'无浮动'}, - 'leftAlign':{'title':'左浮动'}, - 'rightAlign':{'title':'右浮动'}, - 'centerAlign':{'title':'居中独占一行'} - }, - 'uploadSelectFile':'点击选择图片', - 'uploadAddFile':'继续添加', - 'uploadStart':'开始上传', - 'uploadPause':'暂停上传', - 'uploadContinue':'继续上传', - 'uploadRetry':'重试上传', - 'uploadDelete':'删除', - 'uploadTurnLeft':'向左旋转', - 'uploadTurnRight':'向右旋转', - 'uploadPreview':'预览中', - 'uploadNoPreview':'不能预览', - 'updateStatusReady': '选中_张图片,共_KB。', - 'updateStatusConfirm': '已成功上传_张照片,_张照片上传失败', - 'updateStatusFinish': '共_张(_KB),_张上传成功', - 'updateStatusError': ',_张上传失败。', - 'errorNotSupport': 'WebUploader 不支持您的浏览器!如果你使用的是IE浏览器,请尝试升级 flash 播放器。', - 'errorLoadConfig': '后端配置项没有正常加载,上传插件不能正常使用!', - 'errorExceedSize':'文件大小超出', - 'errorFileType':'文件格式不允许', - 'errorInterrupt':'文件传输中断', - 'errorUploadRetry':'上传失败,请重试', - 'errorHttp':'http请求错误', - 'errorServerUpload':'服务器返回出错', - 'remoteLockError':"宽高不正确,不能所定比例", - 'numError':"请输入正确的长度或者宽度值!例如:123,400", - 'imageUrlError':"不允许的图片格式或者图片域!", - 'imageLoadError':"图片加载失败!请检查链接地址或网络状态!", - 'searchRemind':"请输入搜索关键词", - 'searchLoading':"图片加载中,请稍后……", - 'searchRetry':" :( ,抱歉,没有找到图片!请重试一次!" - }, - 'attachment':{ - 'static':{ - 'lang_tab_upload': '上传附件', - 'lang_tab_online': '在线附件', - 'lang_start_upload':"开始上传", - 'lang_drop_remind':"可以将文件拖到这里,单次最多可选100个文件" - }, - 'uploadSelectFile':'点击选择文件', - 'uploadAddFile':'继续添加', - 'uploadStart':'开始上传', - 'uploadPause':'暂停上传', - 'uploadContinue':'继续上传', - 'uploadRetry':'重试上传', - 'uploadDelete':'删除', - 'uploadTurnLeft':'向左旋转', - 'uploadTurnRight':'向右旋转', - 'uploadPreview':'预览中', - 'updateStatusReady': '选中_个文件,共_KB。', - 'updateStatusConfirm': '已成功上传_个文件,_个文件上传失败', - 'updateStatusFinish': '共_个(_KB),_个上传成功', - 'updateStatusError': ',_张上传失败。', - 'errorNotSupport': 'WebUploader 不支持您的浏览器!如果你使用的是IE浏览器,请尝试升级 flash 播放器。', - 'errorLoadConfig': '后端配置项没有正常加载,上传插件不能正常使用!', - 'errorExceedSize':'文件大小超出', - 'errorFileType':'文件格式不允许', - 'errorInterrupt':'文件传输中断', - 'errorUploadRetry':'上传失败,请重试', - 'errorHttp':'http请求错误', - 'errorServerUpload':'服务器返回出错' - }, - 'insertvideo':{ - 'static':{ - 'lang_tab_insertV':"插入视频", - 'lang_tab_searchV':"搜索视频", - 'lang_tab_uploadV':"上传视频", - 'lang_video_url':"视频网址", - 'lang_video_size':"视频尺寸", - 'lang_videoW':"宽度", - 'lang_videoH':"高度", - 'lang_alignment':"对齐方式", - 'videoSearchTxt':{'value':"请输入搜索关键字!"}, - 'videoType':{'options':["全部", "热门", "娱乐", "搞笑", "体育", "科技", "综艺"]}, - 'videoSearchBtn':{'value':"百度一下"}, - 'videoSearchReset':{'value':"清空结果"}, - - 'lang_input_fileStatus':' 当前未上传文件', - 'startUpload':{'style':"background:url(upload.png) no-repeat;"}, - - 'lang_upload_size':"视频尺寸", - 'lang_upload_width':"宽度", - 'lang_upload_height':"高度", - 'lang_upload_alignment':"对齐方式", - 'lang_format_advice':"建议使用mp4格式." - - }, - 'numError':"请输入正确的数值,如123,400", - 'floatLeft':"左浮动", - 'floatRight':"右浮动", - '"default"':"默认", - 'block':"独占一行", - 'urlError':"输入的视频地址有误,请检查后再试!", - 'loading':"  视频加载中,请等待……", - 'clickToSelect':"点击选中", - 'goToSource':'访问源视频', - 'noVideo':"    抱歉,找不到对应的视频,请重试!", - - 'browseFiles':'浏览文件', - 'uploadSuccess':'上传成功!', - 'delSuccessFile':'从成功队列中移除', - 'delFailSaveFile':'移除保存失败文件', - 'statusPrompt':' 个文件已上传! ', - 'flashVersionError':'当前Flash版本过低,请更新FlashPlayer后重试!', - 'flashLoadingError':'Flash加载失败!请检查路径或网络状态', - 'fileUploadReady':'等待上传……', - 'delUploadQueue':'从上传队列中移除', - 'limitPrompt1':'单次不能选择超过', - 'limitPrompt2':'个文件!请重新选择!', - 'delFailFile':'移除失败文件', - 'fileSizeLimit':'文件大小超出限制!', - 'emptyFile':'空文件无法上传!', - 'fileTypeError':'文件类型不允许!', - 'unknownError':'未知错误!', - 'fileUploading':'上传中,请等待……', - 'cancelUpload':'取消上传', - 'netError':'网络错误', - 'failUpload':'上传失败!', - 'serverIOError':'服务器IO错误!', - 'noAuthority':'无权限!', - 'fileNumLimit':'上传个数限制', - 'failCheck':'验证失败,本次上传被跳过!', - 'fileCanceling':'取消中,请等待……', - 'stopUploading':'上传已停止……', - - 'uploadSelectFile':'点击选择文件', - 'uploadAddFile':'继续添加', - 'uploadStart':'开始上传', - 'uploadPause':'暂停上传', - 'uploadContinue':'继续上传', - 'uploadRetry':'重试上传', - 'uploadDelete':'删除', - 'uploadTurnLeft':'向左旋转', - 'uploadTurnRight':'向右旋转', - 'uploadPreview':'预览中', - 'updateStatusReady': '选中_个文件,共_KB。', - 'updateStatusConfirm': '成功上传_个,_个失败', - 'updateStatusFinish': '共_个(_KB),_个成功上传', - 'updateStatusError': ',_张上传失败。', - 'errorNotSupport': 'WebUploader 不支持您的浏览器!如果你使用的是IE浏览器,请尝试升级 flash 播放器。', - 'errorLoadConfig': '后端配置项没有正常加载,上传插件不能正常使用!', - 'errorExceedSize':'文件大小超出', - 'errorFileType':'文件格式不允许', - 'errorInterrupt':'文件传输中断', - 'errorUploadRetry':'上传失败,请重试', - 'errorHttp':'http请求错误', - 'errorServerUpload':'服务器返回出错' - }, - 'webapp':{ - 'tip1':"本功能由百度APP提供,如看到此页面,请各位站长首先申请百度APPKey!", - 'tip2':"申请完成之后请至ueditor.config.js中配置获得的appkey! ", - 'applyFor':"点此申请", - 'anthorApi':"百度API" - }, - 'template':{ - 'static':{ - 'lang_template_bkcolor':'背景颜色', - 'lang_template_clear' : '保留原有内容', - 'lang_template_select' : '选择模板' - }, - 'blank':"空白文档", - 'blog':"博客文章", - 'resume':"个人简历", - 'richText':"图文混排", - 'sciPapers':"科技论文" - - - }, - 'scrawl':{ - 'static':{ - 'lang_input_previousStep':"上一步", - 'lang_input_nextsStep':"下一步", - 'lang_input_clear':'清空', - 'lang_input_addPic':'添加背景', - 'lang_input_ScalePic':'缩放背景', - 'lang_input_removePic':'删除背景', - 'J_imgTxt':{title:'添加背景图片'} - }, - 'noScarwl':"尚未作画,白纸一张~", - 'scrawlUpLoading':"涂鸦上传中,别急哦~", - 'continueBtn':"继续", - 'imageError':"糟糕,图片读取失败了!", - 'backgroundUploading':'背景图片上传中,别急哦~' - }, - 'music':{ - 'static':{ - 'lang_input_tips':"输入歌手/歌曲/专辑,搜索您感兴趣的音乐!", - 'J_searchBtn':{value:'搜索歌曲'} - }, - 'emptyTxt':'未搜索到相关音乐结果,请换一个关键词试试。', - 'chapter':'歌曲', - 'singer':'歌手', - 'special':'专辑', - 'listenTest':'试听' - }, - 'anchor':{ - 'static':{ - 'lang_input_anchorName':'锚点名字:' - } - }, - 'charts':{ - 'static':{ - 'lang_data_source':'数据源:', - 'lang_chart_format': '图表格式:', - 'lang_data_align': '数据对齐方式', - 'lang_chart_align_same': '数据源与图表X轴Y轴一致', - 'lang_chart_align_reverse': '数据源与图表X轴Y轴相反', - 'lang_chart_title': '图表标题', - 'lang_chart_main_title': '主标题:', - 'lang_chart_sub_title': '子标题:', - 'lang_chart_x_title': 'X轴标题:', - 'lang_chart_y_title': 'Y轴标题:', - 'lang_chart_tip': '提示文字', - 'lang_cahrt_tip_prefix': '提示文字前缀:', - 'lang_cahrt_tip_description': '仅饼图有效, 当鼠标移动到饼图中相应的块上时,提示框内的文字的前缀', - 'lang_chart_data_unit': '数据单位', - 'lang_chart_data_unit_title': '单位:', - 'lang_chart_data_unit_description': '显示在每个数据点上的数据的单位, 比如: 温度的单位 ℃', - 'lang_chart_type': '图表类型:', - 'lang_prev_btn': '上一个', - 'lang_next_btn': '下一个' - } - }, - 'emotion':{ - 'static':{ - 'lang_input_choice':'精选', - 'lang_input_Tuzki':'兔斯基', - 'lang_input_BOBO':'BOBO', - 'lang_input_lvdouwa':'绿豆蛙', - 'lang_input_babyCat':'baby猫', - 'lang_input_bubble':'泡泡', - 'lang_input_youa':'有啊' - } - }, - 'gmap':{ - 'static':{ - 'lang_input_address':'地址', - 'lang_input_search':'搜索', - 'address':{value:"北京"} - }, - searchError:'无法定位到该地址!' - }, - 'help':{ - 'static':{ - 'lang_input_about':'关于UEditor', - 'lang_input_shortcuts':'快捷键', - 'lang_input_introduction':'UEditor是由百度web前端研发部开发的所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点。开源基于BSD协议,允许自由使用和修改代码。', - 'lang_Txt_shortcuts':'快捷键', - 'lang_Txt_func':'功能', - 'lang_Txt_bold':'给选中字设置为加粗', - 'lang_Txt_copy':'复制选中内容', - 'lang_Txt_cut':'剪切选中内容', - 'lang_Txt_Paste':'粘贴', - 'lang_Txt_undo':'重新执行上次操作', - 'lang_Txt_redo':'撤销上一次操作', - 'lang_Txt_italic':'给选中字设置为斜体', - 'lang_Txt_underline':'给选中字加下划线', - 'lang_Txt_selectAll':'全部选中', - 'lang_Txt_visualEnter':'软回车', - 'lang_Txt_fullscreen':'全屏' - } - }, - 'insertframe':{ - 'static':{ - 'lang_input_address':'地址:', - 'lang_input_width':'宽度:', - 'lang_input_height':'高度:', - 'lang_input_isScroll':'允许滚动条:', - 'lang_input_frameborder':'显示框架边框:', - 'lang_input_alignMode':'对齐方式:', - 'align':{title:"对齐方式", options:["默认", "左对齐", "右对齐", "居中"]} - }, - 'enterAddress':'请输入地址!' - }, - 'link':{ - 'static':{ - 'lang_input_text':'文本内容:', - 'lang_input_url':'链接地址:', - 'lang_input_title':'标题:', - 'lang_input_target':'是否在新窗口打开:' - }, - 'validLink':'只支持选中一个链接时生效', - 'httpPrompt':'您输入的超链接中不包含http等协议名称,默认将为您添加http://前缀' - }, - 'map':{ - 'static':{ - lang_city:"城市", - lang_address:"地址", - city:{value:"北京"}, - lang_search:"搜索", - lang_dynamicmap:"插入动态地图" - }, - cityMsg:"请选择城市", - errorMsg:"抱歉,找不到该位置!" - }, - 'searchreplace':{ - 'static':{ - lang_tab_search:"查找", - lang_tab_replace:"替换", - lang_search1:"查找", - lang_search2:"查找", - lang_replace:"替换", - lang_searchReg:'支持正则表达式,添加前后斜杠标示为正则表达式,例如“/表达式/”', - lang_searchReg1:'支持正则表达式,添加前后斜杠标示为正则表达式,例如“/表达式/”', - lang_case_sensitive1:"区分大小写", - lang_case_sensitive2:"区分大小写", - nextFindBtn:{value:"下一个"}, - preFindBtn:{value:"上一个"}, - nextReplaceBtn:{value:"下一个"}, - preReplaceBtn:{value:"上一个"}, - repalceBtn:{value:"替换"}, - repalceAllBtn:{value:"全部替换"} - }, - getEnd:"已经搜索到文章末尾!", - getStart:"已经搜索到文章头部", - countMsg:"总共替换了{#count}处!" - }, - 'snapscreen':{ - 'static':{ - lang_showMsg:"截图功能需要首先安装UEditor截图插件! ", - lang_download:"点此下载", - lang_step1:"第一步,下载UEditor截图插件并运行安装。", - lang_step2:"第二步,插件安装完成后即可使用,如不生效,请重启浏览器后再试!" - } - }, - 'spechars':{ - 'static':{}, - tsfh:"特殊字符", - lmsz:"罗马字符", - szfh:"数学字符", - rwfh:"日文字符", - xlzm:"希腊字母", - ewzm:"俄文字符", - pyzm:"拼音字母", - yyyb:"英语音标", - zyzf:"其他" - }, - 'edittable':{ - 'static':{ - 'lang_tableStyle':'表格样式', - 'lang_insertCaption':'添加表格名称行', - 'lang_insertTitle':'添加表格标题行', - 'lang_insertTitleCol':'添加表格标题列', - 'lang_orderbycontent':"使表格内容可排序", - 'lang_tableSize':'自动调整表格尺寸', - 'lang_autoSizeContent':'按表格文字自适应', - 'lang_autoSizePage':'按页面宽度自适应', - 'lang_example':'示例', - 'lang_borderStyle':'表格边框', - 'lang_color':'颜色:' - }, - captionName:'表格名称', - titleName:'标题', - cellsName:'内容', - errorMsg:'有合并单元格,不可排序' - }, - 'edittip':{ - 'static':{ - lang_delRow:'删除整行', - lang_delCol:'删除整列' - } - }, - 'edittd':{ - 'static':{ - lang_tdBkColor:'背景颜色:' - } - }, - 'formula':{ - 'static':{ - } - }, - 'wordimage':{ - 'static':{ - lang_resave:"转存步骤", - uploadBtn:{src:"upload.png",alt:"上传"}, - clipboard:{style:"background: url(copy.png) -153px -1px no-repeat;"}, - lang_step:"1、点击顶部复制按钮,将地址复制到剪贴板;2、点击添加照片按钮,在弹出的对话框中使用Ctrl+V粘贴地址;3、点击打开后选择图片上传流程。" - }, - 'fileType':"图片", - 'flashError':"FLASH初始化失败,请检查FLASH插件是否正确安装!", - 'netError':"网络连接错误,请重试!", - 'copySuccess':"图片地址已经复制!", - 'flashI18n':{} //留空默认中文 - }, - 'autosave': { - 'saving':'保存中...', - 'success':'本地保存成功' - } -}; diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/css/ueditor.css b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/css/ueditor.css deleted file mode 100644 index 44ae805..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/css/ueditor.css +++ /dev/null @@ -1,1903 +0,0 @@ -/*基础UI构建 -*/ -/* common layer */ -.edui-default .edui-box { - border: none; - padding: 0; - margin: 0; - overflow: hidden; -} - -.edui-default a.edui-box { - display: block; - text-decoration: none; - color: black; -} - -.edui-default a.edui-box:hover { - text-decoration: none; -} - -.edui-default a.edui-box:active { - text-decoration: none; -} - -.edui-default table.edui-box { - border-collapse: collapse; -} - -.edui-default ul.edui-box { - list-style-type: none; -} - -div.edui-box { - position: relative; - display: -moz-inline-box !important; - display: inline-block !important; - vertical-align: top; -} - -.edui-default .edui-clearfix { - zoom: 1 -} - -.edui-default .edui-clearfix:after { - content: '\20'; - display: block; - clear: both; -} - - * html div.edui-box { - display: inline !important; -} - -*:first-child+html div.edui-box { - display: inline !important; -} - -/* control layout */ -.edui-default .edui-button-body, .edui-splitbutton-body, .edui-menubutton-body, .edui-combox-body { - position: relative; -} - -.edui-default .edui-popup { - position: absolute; - -webkit-user-select: none; - -moz-user-select: none; -} - -.edui-default .edui-popup .edui-shadow { - position: absolute; - z-index: -1; -} - -.edui-default .edui-popup .edui-bordereraser { - position: absolute; - overflow: hidden; -} - -.edui-default .edui-tablepicker .edui-canvas { - position: relative; -} - -.edui-default .edui-tablepicker .edui-canvas .edui-overlay { - position: absolute; -} - -.edui-default .edui-dialog-modalmask, .edui-dialog-dragmask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; -} - -.edui-default .edui-toolbar { - position: relative; -} - -/* - * default theme - */ -.edui-default .edui-label { - cursor: default; -} - -.edui-default span.edui-clickable { - color: blue; - cursor: pointer; - text-decoration: underline; -} - -.edui-default span.edui-unclickable { - color: gray; - cursor: default; -} -/* 工具栏 */ -.edui-default .edui-toolbar { - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - padding: 1px; - overflow: hidden; /*全屏下单独一行不占位*/ - zoom: 1; - width:auto; - height:auto; -} - -.edui-default .edui-toolbar .edui-button, -.edui-default .edui-toolbar .edui-splitbutton, -.edui-default .edui-toolbar .edui-menubutton, -.edui-default .edui-toolbar .edui-combox { - margin: 1px; -} -/*UI工具栏、编辑区域、底部*/ -.edui-default .edui-editor { - border: 1px solid #d4d4d4; - background-color: white; - position: relative; - overflow: visible; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} -.edui-editor div{ - width:auto; - height:auto; -} -.edui-default .edui-editor-toolbarbox { - position: relative; - zoom: 1; - -webkit-box-shadow:0 1px 4px rgba(204, 204, 204, 0.6); - -moz-box-shadow:0 1px 4px rgba(204, 204, 204, 0.6); - box-shadow:0 1px 4px rgba(204, 204, 204, 0.6); - border-top-left-radius:2px; - border-top-right-radius:2px; -} - -.edui-default .edui-editor-toolbarboxouter { - border-bottom: 1px solid #d4d4d4; - background-color: #fafafa; - background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2)); - background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2); - background-image: -o-linear-gradient(top, #ffffff, #f2f2f2); - background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); - background-repeat: repeat-x; - /*border: 1px solid #d4d4d4;*/ - -webkit-border-radius: 4px 4px 0 0; - -moz-border-radius: 4px 4px 0 0; - border-radius: 4px 4px 0 0; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0); - *zoom: 1; - -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); - -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); - box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); -} - -.edui-default .edui-editor-toolbarboxinner { - padding: 2px; -} - -.edui-default .edui-editor-iframeholder { - position: relative; - /*for fix ie6 toolbarmsg under iframe bug. relative -> static */ - /*_position: static !important;* -} - -.edui-default .edui-editor-iframeholder textarea { - font-family: consolas, "Courier New", "lucida console", monospace; - font-size: 12px; - line-height: 18px; -} - -.edui-default .edui-editor-bottombar { - /*border-top: 1px solid #ccc;*/ - /*height: 20px;*/ - /*width: 40%;*/ - /*float: left;*/ - /*overflow: hidden;*/ -} - -.edui-default .edui-editor-bottomContainer { - overflow: hidden; -} - -.edui-default .edui-editor-bottomContainer table { - width: 100%; - height: 0; - overflow: hidden; - border-spacing: 0; -} - -.edui-default .edui-editor-bottomContainer td { - white-space: nowrap; - border-top: 1px solid #ccc; - line-height: 20px; - font-size: 12px; - font-family: Arial, Helvetica, Tahoma, Verdana, Sans-Serif; -} - -.edui-default .edui-editor-wordcount { - text-align: right; - margin-right: 5px; - color: #aaa; -} -.edui-default .edui-editor-scale { - width: 12px; -} -.edui-default .edui-editor-scale .edui-editor-icon { - float: right; - width: 100%; - height: 12px; - margin-top: 10px; - background: url(../images/scale.png) no-repeat; - cursor: se-resize; -} -.edui-default .edui-editor-breadcrumb { - margin: 2px 0 0 3px; -} - -.edui-default .edui-editor-breadcrumb span { - cursor: pointer; - text-decoration: underline; - color: blue; -} - -.edui-default .edui-toolbar .edui-for-fullscreen { - float: right; -} - -.edui-default .edui-bubble .edui-popup-content { - border: 1px solid #DCAC6C; - background-color: #fff6d9; - padding: 5px; - font-size: 10pt; - font-family: "宋体"; -} - -.edui-default .edui-bubble .edui-shadow { - /*box-shadow: 1px 1px 3px #818181;*/ - /*-webkit-box-shadow: 2px 2px 3px #818181;*/ - /*-moz-box-shadow: 2px 2px 3px #818181;*/ - /*filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius = '2', MakeShadow = 'true', ShadowOpacity = '0.5');*/ -} - -.edui-default .edui-editor-toolbarmsg { - background-color: #FFF6D9; - border-bottom: 1px solid #ccc; - position: absolute; - bottom: -25px; - left: 0; - z-index: 1009; - width: 99.9%; -} - -.edui-default .edui-editor-toolbarmsg-upload { - font-size: 14px; - color: blue; - width: 100px; - height: 16px; - line-height: 16px; - cursor: pointer; - position: absolute; - top: 5px; - left: 350px; -} - -.edui-default .edui-editor-toolbarmsg-label { - font-size: 12px; - line-height: 16px; - padding: 4px; -} - -.edui-default .edui-editor-toolbarmsg-close { - float: right; - width: 20px; - height: 16px; - line-height: 16px; - cursor: pointer; - color: red; -} -/*可选中菜单按钮*/ -.edui-default .edui-list .edui-bordereraser { - display: none; -} - -.edui-default .edui-listitem { - padding: 1px; - white-space: nowrap; -} - -.edui-default .edui-list .edui-state-hover { - position: relative; - background-color: #fff5d4; - border: 1px solid #dcac6c; - padding: 0; -} - -.edui-default .edui-for-fontfamily .edui-listitem-label { - min-width: 130px; - _width: 120px; - font-size: 12px; - height: 22px; - line-height: 22px; - padding-left: 5px; -} -.edui-default .edui-for-insertcode .edui-listitem-label { - min-width: 120px; - _width: 120px; - font-size: 12px; - height: 22px; - line-height: 22px; - padding-left: 5px; -} -.edui-default .edui-for-underline .edui-listitem-label { - min-width: 120px; - _width: 120px; - padding: 3px 5px; - font-size: 12px; -} - -.edui-default .edui-for-fontsize .edui-listitem-label { - min-width: 120px; - _width: 120px; - padding: 3px 5px; - -} - -.edui-default .edui-for-paragraph .edui-listitem-label { - min-width: 200px; - _width: 200px; - padding: 2px 5px; -} - -.edui-default .edui-for-rowspacingtop .edui-listitem-label, -.edui-default .edui-for-rowspacingbottom .edui-listitem-label { - min-width: 53px; - _width: 53px; - padding: 2px 5px; -} - -.edui-default .edui-for-lineheight .edui-listitem-label { - min-width: 53px; - _width: 53px; - padding: 2px 5px; -} - -.edui-default .edui-for-customstyle .edui-listitem-label { - min-width: 200px; - _width: 200px; - width: 200px !important; - padding: 2px 5px; -} -/* 可选中按钮弹出菜单*/ -.edui-default .edui-menu { - z-index: 3000; -} - -.edui-default .edui-menu .edui-popup-content { - padding: 3px; -} - -.edui-default .edui-menu-body { - _width: 150px; - min-width: 170px; - background: url("../images/sparator_v.png") repeat-y 25px; -} - -.edui-default .edui-menuitem-body { -} - -.edui-default .edui-menuitem { - height: 20px; - cursor: default; - vertical-align: top; -} - -.edui-default .edui-menuitem .edui-icon { - width: 20px !important; - height: 20px !important; - background: url(../images/icons.png) 0 -4000px; - background: url(../images/icons.gif) 0 -4000px\9; -} - -.edui-default .edui-menuitem .edui-label { - font-size: 12px; - line-height: 20px; - height: 20px; - padding-left: 10px; -} - -.edui-default .edui-state-checked .edui-menuitem-body { - background: url("../images/icons-all.gif") no-repeat 6px -205px; -} - -.edui-default .edui-state-disabled .edui-menuitem-label { - color: gray; -} - - -/*不可选中菜单按钮 */ -.edui-default .edui-toolbar .edui-combox-body .edui-button-body { - width: 60px; - font-size: 12px; - height: 20px; - line-height: 20px; - padding-left: 5px; - white-space: nowrap; - margin: 0 3px 0 0; -} - -.edui-default .edui-toolbar .edui-combox-body .edui-arrow { - background: url(../images/icons.png) -741px 0; - _background: url(../images/icons.gif) -741px 0; - height: 20px; - width: 9px; -} - -.edui-default .edui-toolbar .edui-combox .edui-combox-body { - border: 1px solid #CCC; - background-color: white; - border-radius: 2px; - -webkit-border-radius: 2px; - -moz-border-radius: 2px; -} - -.edui-default .edui-toolbar .edui-combox-body .edui-splitborder { - display: none; -} - -.edui-default .edui-toolbar .edui-combox-body .edui-arrow { - border-left: 1px solid #CCC; -} - -.edui-default .edui-toolbar .edui-state-hover .edui-combox-body { - background-color: #fff5d4; - border: 1px solid #dcac6c; -} - -.edui-default .edui-toolbar .edui-state-hover .edui-combox-body .edui-arrow { - border-left: 1px solid #dcac6c; -} - -.edui-default .edui-toolbar .edui-state-checked .edui-combox-body { - background-color: #FFE69F; - border: 1px solid #DCAC6C; -} - -.edui-toolbar .edui-state-checked .edui-combox-body .edui-arrow { - border-left: 1px solid #DCAC6C; -} - -.edui-toolbar .edui-state-disabled .edui-combox-body { - background-color: #F0F0EE; - opacity: 0.3; - filter: alpha(opacity = 30); -} - -.edui-toolbar .edui-state-opened .edui-combox-body { - background-color: white; - border: 1px solid gray; -} -/*普通按钮样式及状态*/ -.edui-default .edui-toolbar .edui-button .edui-icon, -.edui-default .edui-toolbar .edui-menubutton .edui-icon, -.edui-default .edui-toolbar .edui-splitbutton .edui-icon { - height: 20px !important; - width: 20px !important; - background-image: url(../images/icons.png); - background-image: url(../images/icons.gif) \9; -} - -.edui-default .edui-toolbar .edui-button .edui-button-wrap { - padding: 1px; - position: relative; -} - -.edui-default .edui-toolbar .edui-button .edui-state-hover .edui-button-wrap { - background-color: #fff5d4; - padding: 0; - border: 1px solid #dcac6c; -} - -.edui-default .edui-toolbar .edui-button .edui-state-checked .edui-button-wrap { - background-color: #ffe69f; - padding: 0; - border: 1px solid #dcac6c; - border-radius: 2px; - -webkit-border-radius: 2px; - -moz-border-radius: 2px; -} - -.edui-default .edui-toolbar .edui-button .edui-state-active .edui-button-wrap { - background-color: #ffffff; - padding: 0; - border: 1px solid gray; -} -.edui-default .edui-toolbar .edui-state-disabled .edui-label { - color: #ccc; -} -.edui-default .edui-toolbar .edui-state-disabled .edui-icon { - opacity: 0.3; - filter: alpha(opacity = 30); -} - -/* toolbar icons */ -.edui-default .edui-for-undo .edui-icon { - background-position: -160px 0; -} - -.edui-default .edui-for-redo .edui-icon { - background-position: -100px 0; -} - -.edui-default .edui-for-bold .edui-icon { - background-position: 0 0; -} - -.edui-default .edui-for-italic .edui-icon { - background-position: -60px 0; -} - -.edui-default .edui-for-fontborder .edui-icon { - background-position:-160px -40px; -} -.edui-default .edui-for-underline .edui-icon { - background-position: -140px 0; -} - -.edui-default .edui-for-strikethrough .edui-icon { - background-position: -120px 0; -} - -.edui-default .edui-for-subscript .edui-icon { - background-position: -600px 0; -} - -.edui-default .edui-for-superscript .edui-icon { - background-position: -620px 0; -} - -.edui-default .edui-for-blockquote .edui-icon { - background-position: -220px 0; -} - -.edui-default .edui-for-forecolor .edui-icon { - background-position: -720px 0; -} - -.edui-default .edui-for-backcolor .edui-icon { - background-position: -760px 0; -} - -.edui-default .edui-for-inserttable .edui-icon { - background-position: -580px -20px; -} - -.edui-default .edui-for-autotypeset .edui-icon { - background-position: -640px -40px; -} - -.edui-default .edui-for-justifyleft .edui-icon { - background-position: -460px 0; -} - -.edui-default .edui-for-justifycenter .edui-icon { - background-position: -420px 0; -} - -.edui-default .edui-for-justifyright .edui-icon { - background-position: -480px 0; -} - -.edui-default .edui-for-justifyjustify .edui-icon { - background-position: -440px 0; -} - -.edui-default .edui-for-insertorderedlist .edui-icon { - background-position: -80px 0; -} - -.edui-default .edui-for-insertunorderedlist .edui-icon { - background-position: -20px 0; -} - -.edui-default .edui-for-lineheight .edui-icon { - background-position: -725px -40px; -} - -.edui-default .edui-for-rowspacingbottom .edui-icon { - background-position: -745px -40px; -} - -.edui-default .edui-for-rowspacingtop .edui-icon { - background-position: -765px -40px; -} - -.edui-default .edui-for-horizontal .edui-icon { - background-position: -360px 0; -} - -.edui-default .edui-for-link .edui-icon { - background-position: -500px 0; -} - -.edui-default .edui-for-code .edui-icon { - background-position: -440px -40px; -} - -.edui-default .edui-for-insertimage .edui-icon { - background-position: -726px -77px; -} - -.edui-default .edui-for-insertframe .edui-icon { - background-position: -240px -40px; -} - -.edui-default .edui-for-emoticon .edui-icon { - background-position: -60px -20px; -} - -.edui-default .edui-for-spechars .edui-icon { - background-position: -240px 0; -} - -.edui-default .edui-for-help .edui-icon { - background-position: -340px 0; -} - -.edui-default .edui-for-print .edui-icon { - background-position: -440px -20px; -} - -.edui-default .edui-for-preview .edui-icon { - background-position: -420px -20px; -} - -.edui-default .edui-for-selectall .edui-icon { - background-position: -400px -20px; -} - -.edui-default .edui-for-searchreplace .edui-icon { - background-position: -520px -20px; -} - -.edui-default .edui-for-map .edui-icon { - background-position: -40px -40px; -} - -.edui-default .edui-for-gmap .edui-icon { - background-position: -260px -40px; -} - -.edui-default .edui-for-insertvideo .edui-icon { - background-position: -320px -20px; -} - -.edui-default .edui-for-time .edui-icon { - background-position: -160px -20px; -} - -.edui-default .edui-for-date .edui-icon { - background-position: -140px -20px; -} - -.edui-default .edui-for-cut .edui-icon { - background-position: -680px 0; -} - -.edui-default .edui-for-copy .edui-icon { - background-position: -700px 0; -} - -.edui-default .edui-for-paste .edui-icon { - background-position: -560px 0; -} - -.edui-default .edui-for-formatmatch .edui-icon { - background-position: -40px 0; -} - -.edui-default .edui-for-pasteplain .edui-icon { - background-position: -360px -20px; -} - -.edui-default .edui-for-directionalityltr .edui-icon { - background-position: -20px -20px; -} - -.edui-default .edui-for-directionalityrtl .edui-icon { - background-position: -40px -20px; -} - -.edui-default .edui-for-source .edui-icon { - background-position: -261px -0px; -} - -.edui-default .edui-for-removeformat .edui-icon { - background-position: -580px 0; -} - -.edui-default .edui-for-unlink .edui-icon { - background-position: -640px 0; -} - -.edui-default .edui-for-touppercase .edui-icon { - background-position: -786px 0; -} - -.edui-default .edui-for-tolowercase .edui-icon { - background-position: -806px 0; -} - -.edui-default .edui-for-insertrow .edui-icon { - background-position: -478px -76px; -} - -.edui-default .edui-for-insertrownext .edui-icon { - background-position: -498px -76px; -} - -.edui-default .edui-for-insertcol .edui-icon { - background-position: -455px -76px; -} - -.edui-default .edui-for-insertcolnext .edui-icon { - background-position: -429px -76px; -} - -.edui-default .edui-for-mergeright .edui-icon { - background-position: -60px -40px; -} - -.edui-default .edui-for-mergedown .edui-icon { - background-position: -80px -40px; -} - -.edui-default .edui-for-splittorows .edui-icon { - background-position: -100px -40px; -} - -.edui-default .edui-for-splittocols .edui-icon { - background-position: -120px -40px; -} - -.edui-default .edui-for-insertparagraphbeforetable .edui-icon { - background-position: -140px -40px; -} - -.edui-default .edui-for-deleterow .edui-icon { - background-position: -660px -20px; -} - -.edui-default .edui-for-deletecol .edui-icon { - background-position: -640px -20px; -} - -.edui-default .edui-for-splittocells .edui-icon { - background-position: -800px -20px; -} - -.edui-default .edui-for-mergecells .edui-icon { - background-position: -760px -20px; -} - -.edui-default .edui-for-deletetable .edui-icon { - background-position: -620px -20px; -} - -.edui-default .edui-for-cleardoc .edui-icon { - background-position: -520px 0; -} - -.edui-default .edui-for-fullscreen .edui-icon { - background-position: -100px -20px; -} - -.edui-default .edui-for-anchor .edui-icon { - background-position: -200px 0; -} - -.edui-default .edui-for-pagebreak .edui-icon { - background-position: -460px -40px; -} - -.edui-default .edui-for-imagenone .edui-icon { - background-position: -480px -40px; -} - -.edui-default .edui-for-imageleft .edui-icon { - background-position: -500px -40px; -} - -.edui-default .edui-for-wordimage .edui-icon { - background-position: -660px -40px; -} - -.edui-default .edui-for-imageright .edui-icon { - background-position: -520px -40px; -} - -.edui-default .edui-for-imagecenter .edui-icon { - background-position: -540px -40px; -} - -.edui-default .edui-for-indent .edui-icon { - background-position: -400px 0; -} - -.edui-default .edui-for-outdent .edui-icon { - background-position: -540px 0; -} - -.edui-default .edui-for-webapp .edui-icon { - background-position: -601px -40px -} - -.edui-default .edui-for-table .edui-icon { - background-position: -580px -20px; -} - -.edui-default .edui-for-edittable .edui-icon { - background-position: -420px -40px; -} - -.edui-default .edui-for-template .edui-icon { - background-position: -339px -40px; -} - -.edui-default .edui-for-delete .edui-icon { - background-position: -360px -40px; -} - -.edui-default .edui-for-attachment .edui-icon { - background-position: -620px -40px; -} - -.edui-default .edui-for-edittd .edui-icon { - background-position: -700px -40px; -} - -.edui-default .edui-for-snapscreen .edui-icon { - background-position: -581px -40px -} - -.edui-default .edui-for-scrawl .edui-icon { - background-position: -801px -41px -} - -.edui-default .edui-for-background .edui-icon { - background-position: -680px -40px; -} - -.edui-default .edui-for-music .edui-icon { - background-position: -18px -40px -} - -.edui-default .edui-for-formula .edui-icon { - background-position: -200px -40px -} - -.edui-default .edui-for-aligntd .edui-icon { - background-position: -236px -76px; -} - -.edui-default .edui-for-insertparagraphtrue .edui-icon { - background-position: -625px -76px; -} - -.edui-default .edui-for-insertparagraph .edui-icon { - background-position: -602px -76px; -} - -.edui-default .edui-for-insertcaption .edui-icon { - background-position: -336px -76px; -} - -.edui-default .edui-for-deletecaption .edui-icon { - background-position: -362px -76px; -} - -.edui-default .edui-for-inserttitle .edui-icon { - background-position: -286px -76px; -} - -.edui-default .edui-for-deletetitle .edui-icon { - background-position: -311px -76px; -} - -.edui-default .edui-for-aligntable .edui-icon { - background-position: -440px 0; -} - -.edui-default .edui-for-tablealignment-left .edui-icon { - background-position: -460px 0; -} - -.edui-default .edui-for-tablealignment-center .edui-icon { - background-position: -420px 0; -} - -.edui-default .edui-for-tablealignment-right .edui-icon { - background-position: -480px 0; -} - -.edui-default .edui-for-drafts .edui-icon { - background-position: -560px 0; -} - -.edui-default .edui-for-charts .edui-icon { - background: url( ../images/charts.png ) no-repeat 2px 3px!important; -} - -.edui-default .edui-for-inserttitlecol .edui-icon { - background-position: -673px -76px; -} - -.edui-default .edui-for-deletetitlecol .edui-icon { - background-position: -698px -76px; -} - -.edui-default .edui-for-simpleupload .edui-icon { - background-position: -380px 0px; -} -/*splitbutton*/ -.edui-default .edui-toolbar .edui-splitbutton-body .edui-arrow, -.edui-default .edui-toolbar .edui-menubutton-body .edui-arrow { - background: url(../images/icons.png) -741px 0; - _background: url(../images/icons.gif) -741px 0; - height: 20px; - width: 9px; -} - -.edui-default .edui-toolbar .edui-splitbutton .edui-splitbutton-body, -.edui-default .edui-toolbar .edui-menubutton .edui-menubutton-body { - padding: 1px; -} - -.edui-default .edui-toolbar .edui-splitborder { - width: 1px; - height: 20px; -} - -.edui-default .edui-toolbar .edui-state-hover .edui-splitborder { - width: 1px; - border-left: 0px solid #dcac6c; -} - -.edui-default .edui-toolbar .edui-state-active .edui-splitborder { - width: 0; - border-left: 1px solid gray; -} - -.edui-default .edui-toolbar .edui-state-opened .edui-splitborder { - width: 1px; - border: 0; -} - -.edui-default .edui-toolbar .edui-splitbutton .edui-state-hover .edui-splitbutton-body, -.edui-default .edui-toolbar .edui-menubutton .edui-state-hover .edui-menubutton-body { - background-color: #fff5d4; - border: 1px solid #dcac6c; - padding: 0; -} - -.edui-default .edui-toolbar .edui-splitbutton .edui-state-checked .edui-splitbutton-body, -.edui-default .edui-toolbar .edui-menubutton .edui-state-checked .edui-menubutton-body { - background-color: #FFE69F; - border: 1px solid #DCAC6C; - padding: 0; -} - -.edui-default .edui-toolbar .edui-splitbutton .edui-state-active .edui-splitbutton-body, -.edui-default .edui-toolbar .edui-menubutton .edui-state-active .edui-menubutton-body { - background-color: #ffffff; - border: 1px solid gray; - padding: 0; -} - -.edui-default .edui-state-disabled .edui-arrow { - opacity: 0.3; - _filter: alpha(opacity = 30); -} - -.edui-default .edui-toolbar .edui-splitbutton .edui-state-opened .edui-splitbutton-body, -.edui-default .edui-toolbar .edui-menubutton .edui-state-opened .edui-menubutton-body { - background-color: white; - border: 1px solid gray; - padding: 0; -} - -.edui-default .edui-for-insertorderedlist .edui-bordereraser, -.edui-default .edui-for-lineheight .edui-bordereraser, -.edui-default .edui-for-rowspacingtop .edui-bordereraser, -.edui-default .edui-for-rowspacingbottom .edui-bordereraser, -.edui-default .edui-for-insertunorderedlist .edui-bordereraser { - background-color: white; -} - -/* 解决嵌套导致的图标问题 */ -.edui-default .edui-for-insertorderedlist .edui-popup-body .edui-icon, -.edui-default .edui-for-lineheight .edui-popup-body .edui-icon, -.edui-default .edui-for-rowspacingtop .edui-popup-body .edui-icon, -.edui-default .edui-for-rowspacingbottom .edui-popup-body .edui-icon, -.edui-default .edui-for-insertunorderedlist .edui-popup-body .edui-icon { - /*background-position: 0 -40px;*/ - background-image: none ; -} - -/* 弹出菜单 */ -.edui-default .edui-popup { - z-index: 3000; - background-color: #ffffff; - width:auto; - height:auto; - -} - -.edui-default .edui-popup .edui-shadow { - left: 0; - top: 0; - width: 100%; - height: 100%; -} - -.edui-default .edui-popup-content { - border:1px solid #ccc; - border: 1px solid rgba(0, 0, 0, 0.2); - *border-right-width: 2px; - *border-bottom-width: 2px; - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - border-radius: 6px; - -webkit-box-shadow: 0 3px 4px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 3px 4px rgba(0, 0, 0, 0.2); - box-shadow: 0 3px 4px rgba(0, 0, 0, 0.2); - -webkit-background-clip: padding-box; - -moz-background-clip: padding; - background-clip: padding-box; - padding: 5px; - background:#ffffff; -} - -.edui-default .edui-popup .edui-bordereraser { - background-color: white; - height: 3px; -} - -.edui-default .edui-menu .edui-bordereraser { - height: 3px; -} - -.edui-default .edui-anchor-topleft .edui-bordereraser { - left: 1px; - top: -2px; -} - -.edui-default .edui-anchor-topright .edui-bordereraser { - right: 1px; - top: -2px; -} - -.edui-default .edui-anchor-bottomleft .edui-bordereraser { - left: 0; - bottom: -6px; - height: 7px; - border-left: 1px solid gray; - border-right: 1px solid gray; -} - -.edui-default .edui-anchor-bottomright .edui-bordereraser { - right: 0; - bottom: -6px; - height: 7px; - border-left: 1px solid gray; - border-right: 1px solid gray; -} - -.edui-popup div{ - width:auto; - height:auto; -} -.edui-default .edui-editor-messageholder { - display: block; - width: 150px; - height: auto; - border: 0; - margin: 0; - padding: 0; - position: absolute; - top: 28px; - right: 3px; -} - -.edui-default .edui-message{ - min-height: 10px; - text-shadow: 0 1px 0 rgba(255,255,255,0.5); - padding: 0; - margin-bottom: 3px; - position: relative; -} -.edui-default .edui-message-body{ - border-radius: 3px; - padding: 8px 15px 8px 8px; - color: #c09853; - background-color: #fcf8e3; - border: 1px solid #fbeed5; -} -.edui-default .edui-message-type-info{ - color: #3a87ad; - background-color: #d9edf7; - border-color: #bce8f1 -} -.edui-default .edui-message-type-success{ - color: #468847; - background-color: #dff0d8; - border-color: #d6e9c6 -} -.edui-default .edui-message-type-danger, -.edui-default .edui-message-type-error{ - color: #b94a48; - background-color: #f2dede; - border-color: #eed3d7 -} -.edui-default .edui-message .edui-message-closer { - display: block; - width: 16px; - height: 16px; - line-height: 16px; - position: absolute; - top: 0; - right: 0; - padding: 0; - cursor: pointer; - background: transparent; - border: 0; - float: right; - font-size: 20px; - font-weight: bold; - color: #999; - text-shadow: 0 1px 0 #fff; - font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; -} -.edui-default .edui-message .edui-message-content { - font-size: 10pt; - word-wrap: break-word; - word-break: normal; -} -/* 弹出对话框按钮和对话框大小 */ -.edui-default .edui-dialog { - z-index: 2000; - position: absolute; - -} - -.edui-dialog div{ - width:auto; -} - -.edui-default .edui-dialog-wrap { - margin-right: 6px; - margin-bottom: 6px; -} - -.edui-default .edui-dialog-fullscreen-flag { - margin-right: 0; - margin-bottom: 0; -} - -.edui-default .edui-dialog-body { - position: relative; - padding:2px 0 0 2px; - _zoom: 1; -} - -.edui-default .edui-dialog-fullscreen-flag .edui-dialog-body { - padding: 0; -} - -.edui-default .edui-dialog-shadow { - position: absolute; - z-index: -1; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: #ffffff; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, 0.2); - *border-right-width: 2px; - *border-bottom-width: 2px; - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - border-radius: 6px; - -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - -webkit-background-clip: padding-box; - -moz-background-clip: padding; - background-clip: padding-box; -} - -.edui-default .edui-dialog-foot { - background-color: white; -} - -.edui-default .edui-dialog-titlebar { - height: 26px; - border-bottom: 1px solid #c6c6c6; - background: url(../images/dialog-title-bg.png) repeat-x bottom; - position: relative; - cursor: move; -} -.edui-default .edui-dialog-caption { - font-weight: bold; - font-size: 12px; - line-height: 26px; - padding-left: 5px; -} - -.edui-default .edui-dialog-draghandle { - height: 26px; -} - -.edui-default .edui-dialog-closebutton { - position: absolute !important; - right: 5px; - top: 3px; -} - -.edui-default .edui-dialog-closebutton .edui-button-body { - height: 20px; - width: 20px; - cursor: pointer; - background: url("../images/icons-all.gif") no-repeat 0 -59px; -} - -.edui-default .edui-dialog-closebutton .edui-state-hover .edui-button-body { - background: url("../images/icons-all.gif") no-repeat 0 -89px; -} - -.edui-default .edui-dialog-foot { - height: 40px; -} - -.edui-default .edui-dialog-buttons { - position: absolute; - right: 0; -} - -.edui-default .edui-dialog-buttons .edui-button { - margin-right: 10px; -} - -.edui-default .edui-dialog-buttons .edui-button .edui-button-body { - background: url("../images/icons-all.gif") no-repeat; - height: 24px; - width: 96px; - font-size: 12px; - line-height: 24px; - text-align: center; - cursor: default; -} - -.edui-default .edui-dialog-buttons .edui-button .edui-state-hover .edui-button-body { - background: url("../images/icons-all.gif") no-repeat 0 -30px; -} - -.edui-default .edui-dialog iframe { - border: 0; - padding: 0; - margin: 0; - vertical-align: top; -} - -.edui-default .edui-dialog-modalmask { - opacity: 0.3; - filter: alpha(opacity = 30); - background-color: #ccc; - position: absolute; - /*z-index: 1999;*/ -} - -.edui-default .edui-dialog-dragmask { - position: absolute; - /*z-index: 2001;*/ - background-color: transparent; - cursor: move; -} - -.edui-default .edui-dialog-content { - position: relative; -} - -.edui-default .dialogcontmask { - cursor: move; - visibility: hidden; - display: block; - position: absolute; - width: 100%; - height: 100%; - opacity: 0; - filter: alpha(opacity = 0); -} - -/*link-dialog*/ -.edui-default .edui-for-link .edui-dialog-content { - width: 420px; - height: 200px; - overflow: hidden; -} -/*background-dialog*/ -.edui-default .edui-for-background .edui-dialog-content { - width: 440px; - height: 280px; - overflow: hidden; -} - -/*template-dialog*/ -.edui-default .edui-for-template .edui-dialog-content { - width: 630px; - height: 390px; - overflow: hidden; -} - -/*scrawl-dialog*/ -.edui-default .edui-for-scrawl .edui-dialog-content { - width: 515px; - *width: 506px; - height: 360px; -} - -/*spechars-dialog*/ -.edui-default .edui-for-spechars .edui-dialog-content { - width: 620px; - height: 500px; - *width: 630px; - *height: 570px; -} - -/*image-dialog*/ -.edui-default .edui-for-insertimage .edui-dialog-content { - width: 650px; - height: 400px; - overflow: hidden; -} -/*webapp-dialog*/ -.edui-default .edui-for-webapp .edui-dialog-content { - width: 560px; - _width: 565px; - height: 450px; - overflow: hidden; -} - -/*image-insertframe*/ -.edui-default .edui-for-insertframe .edui-dialog-content { - width: 350px; - height: 200px; - overflow: hidden; -} - -/*wordImage-dialog*/ -.edui-default .edui-for-wordimage .edui-dialog-content { - width: 620px; - height: 380px; - overflow: hidden; -} - -/*attachment-dialog*/ -.edui-default .edui-for-attachment .edui-dialog-content { - width: 650px; - height: 400px; - overflow: hidden; -} - - -/*map-dialog*/ -.edui-default .edui-for-map .edui-dialog-content { - width: 550px; - height: 400px; -} - -/*gmap-dialog*/ -.edui-default .edui-for-gmap .edui-dialog-content { - width: 550px; - height: 400px; -} - -/*video-dialog*/ -.edui-default .edui-for-insertvideo .edui-dialog-content { - width: 590px; - height: 390px; -} - -/*anchor-dialog*/ -.edui-default .edui-for-anchor .edui-dialog-content { - width: 320px; - height: 60px; - overflow: hidden; -} - -/*searchreplace-dialog*/ -.edui-default .edui-for-searchreplace .edui-dialog-content { - width: 400px; - height: 220px; -} - -/*help-dialog*/ -.edui-default .edui-for-help .edui-dialog-content { - width: 400px; - height: 420px; -} - -/*edittable-dialog*/ -.edui-default .edui-for-edittable .edui-dialog-content { - width: 540px; - _width:590px; - height: 335px; -} - -/*edittip-dialog*/ -.edui-default .edui-for-edittip .edui-dialog-content { - width: 225px; - height: 60px; -} - -/*edittd-dialog*/ -.edui-default .edui-for-edittd .edui-dialog-content { - width: 240px; - height: 50px; -} -/*snapscreen-dialog*/ -.edui-default .edui-for-snapscreen .edui-dialog-content { - width: 400px; - height: 220px; -} - -/*music-dialog*/ -.edui-default .edui-for-music .edui-dialog-content { - width: 515px; - height: 360px; -} - -/*段落弹出菜单*/ -.edui-default .edui-for-paragraph .edui-listitem-label { - font-family: Tahoma, Verdana, Arial, Helvetica; -} - -.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-p { - font-size: 22px; - line-height: 27px; -} - -.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h1 { - font-weight: bolder; - font-size: 32px; - line-height: 36px; -} - -.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h2 { - font-weight: bolder; - font-size: 27px; - line-height: 29px; -} - -.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h3 { - font-weight: bolder; - font-size: 19px; - line-height: 23px; -} - -.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h4 { - font-weight: bolder; - font-size: 16px; - line-height: 19px -} - -.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h5 { - font-weight: bolder; - font-size: 13px; - line-height: 16px; -} - -.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h6 { - font-weight: bolder; - font-size: 12px; - line-height: 14px; -} -/* 表格弹出菜单 */ -.edui-default .edui-for-inserttable .edui-splitborder { - display: none -} -.edui-default .edui-for-inserttable .edui-splitbutton-body .edui-arrow { - width: 0 -} -.edui-default .edui-toolbar .edui-for-inserttable .edui-state-active .edui-splitborder{ - border-left: 1px solid transparent; -} -.edui-default .edui-tablepicker .edui-infoarea { - height: 14px; - line-height: 14px; - font-size: 12px; - width: 220px; - margin-bottom: 3px; - clear: both; -} - -.edui-default .edui-tablepicker .edui-infoarea .edui-label { - float: left; -} - -.edui-default .edui-dialog-buttons .edui-label { - line-height: 24px; -} - -.edui-default .edui-tablepicker .edui-infoarea .edui-clickable { - float: right; -} - -.edui-default .edui-tablepicker .edui-pickarea { - background: url("../images/unhighlighted.gif") repeat; - height: 220px; - width: 220px; -} - -.edui-default .edui-tablepicker .edui-pickarea .edui-overlay { - background: url("../images/highlighted.gif") repeat; -} - -/* 颜色弹出菜单 */ -.edui-default .edui-colorpicker-topbar { - height: 27px; - width: 200px; - /*border-bottom: 1px gray dashed;*/ -} - -.edui-default .edui-colorpicker-preview { - height: 20px; - border: 1px inset black; - margin-left: 1px; - width: 128px; - float: left; -} - -.edui-default .edui-colorpicker-nocolor { - float: right; - margin-right: 1px; - font-size: 12px; - line-height: 14px; - height: 14px; - border: 1px solid #333; - padding: 3px 5px; - cursor: pointer; -} - -.edui-default .edui-colorpicker-tablefirstrow { - height: 30px; -} - -.edui-default .edui-colorpicker-colorcell { - width: 14px; - height: 14px; - display: block; - margin: 0; - cursor: pointer; -} - -.edui-default .edui-colorpicker-colorcell:hover { - width: 14px; - height: 14px; - margin: 0; -} -.edui-default .edui-colorpicker-advbtn{ - display: block; - text-align: center; - cursor: pointer; - height:20px; -} -.arrow_down{ - background: white url('../images/arrow_down.png') no-repeat center; -} -.arrow_up{ - background: white url('../images/arrow_up.png') no-repeat center; -} -/*高级的样式*/ -.edui-colorpicker-adv{ - position: relative; - overflow: hidden; - height: 180px; - display: none; -} -.edui-colorpicker-plant, .edui-colorpicker-hue { - border: solid 1px #666; -} -.edui-colorpicker-pad { - width: 150px; - height: 150px; - left: 14px; - top: 13px; - position: absolute; - background: red; - overflow: hidden; - cursor: crosshair; -} -.edui-colorpicker-cover{ - position: absolute; - top: 0; - left: 0; - width: 150px; - height: 150px; - background: url("../images/tangram-colorpicker.png") -160px -200px; -} -.edui-colorpicker-padDot{ - position: absolute; - top: 0; - left: 0; - width: 11px; - height: 11px; - overflow: hidden; - background: url(../images/tangram-colorpicker.png) 0px -200px repeat-x; - z-index: 1000; - -} -.edui-colorpicker-sliderMain { - position: absolute; - left: 171px; - top: 13px; - width: 19px; - height: 152px; - background: url(../images/tangram-colorpicker.png) -179px -12px no-repeat; - -} -.edui-colorpicker-slider { - width: 100%; - height: 100%; - cursor: pointer; -} -.edui-colorpicker-thumb{ - position: absolute; - top: 0; - cursor: pointer; - height: 3px; - left: -1px; - right: -1px; - border: 1px solid black; - background: white; - opacity: .8; -} -/*自动排版弹出菜单*/ -.edui-default .edui-autotypesetpicker .edui-autotypesetpicker-body { - font-size: 12px; - margin-bottom: 3px; - clear: both; -} - -.edui-default .edui-autotypesetpicker-body table { - border-collapse: separate; - border-spacing: 2px; -} - -.edui-default .edui-autotypesetpicker-body td { - font-size: 12px; - word-wrap:break-word; -} - -.edui-default .edui-autotypesetpicker-body td input { - margin: 3px 3px 3px 4px; - *margin: 1px 0 0 0; -} -/*自动排版弹出菜单*/ -.edui-default .edui-cellalignpicker .edui-cellalignpicker-body { - width: 70px; - font-size: 12px; - cursor: default; -} - -.edui-default .edui-cellalignpicker-body table { - border-collapse: separate; - border-spacing: 0; -} -.edui-default .edui-cellalignpicker-body td{ - padding: 1px; -} -.edui-default .edui-cellalignpicker-body .edui-icon{ - height: 20px; - width: 20px; - padding: 1px; - background-image: url(../images/table-cell-align.png); -} - -.edui-default .edui-cellalignpicker-body .edui-left{ - background-position: 0 0; -} - -.edui-default .edui-cellalignpicker-body .edui-center{ - background-position: -25px 0; -} -.edui-default .edui-cellalignpicker-body .edui-right{ - background-position: -51px 0; -} - -.edui-default .edui-cellalignpicker-body td.edui-state-hover .edui-left{ - background-position: -73px 0; -} - -.edui-default .edui-cellalignpicker-body td.edui-state-hover .edui-center{ - background-position: -98px 0; -} - -.edui-default .edui-cellalignpicker-body td.edui-state-hover .edui-right{ - background-position: -124px 0; -} - -.edui-default .edui-cellalignpicker-body td.edui-cellalign-selected .edui-left { - background-position: -146px 0; - background-color: #f1f4f5; -} - -.edui-default .edui-cellalignpicker-body td.edui-cellalign-selected .edui-center { - background-position: -245px 0; -} - -.edui-default .edui-cellalignpicker-body td.edui-cellalign-selected .edui-right { - background-position: -271px 0; -} -/*分隔线*/ -.edui-default .edui-toolbar .edui-separator { - width: 2px; - height: 20px; - margin: 2px 4px 2px 3px; - background: url(../images/icons.png) -181px 0; - background: url(../images/icons.gif) -181px 0 \9; -} - -/*颜色按钮 */ -.edui-default .edui-toolbar .edui-colorbutton .edui-colorlump { - position: absolute; - overflow: hidden; - bottom: 1px; - left: 1px; - width: 18px; - height: 4px; -} -/*表情按钮及弹出菜单*/ -/*去除了表情的下拉箭头*/ -.edui-default .edui-for-emotion .edui-icon { - background-position: -60px -20px; -} -.edui-default .edui-for-emotion .edui-popup-content iframe -{ - width: 514px; - height: 380px; - overflow: hidden; -} -.edui-default .edui-for-emotion .edui-popup-content -{ - position: relative; - z-index: 555 -} - -.edui-default .edui-for-emotion .edui-splitborder { - display: none -} - -.edui-default .edui-for-emotion .edui-splitbutton-body .edui-arrow -{ - width: 0 -} -.edui-default .edui-toolbar .edui-for-emotion .edui-state-active .edui-splitborder -{ - border-left: 1px solid transparent; -} -/*contextmenu*/ -.edui-default .edui-hassubmenu .edui-arrow { - height: 20px; - width: 20px; - float: right; - background: url("../images/icons-all.gif") no-repeat 10px -233px; -} - -.edui-default .edui-menu-body .edui-menuitem { - padding: 1px; -} - -.edui-default .edui-menuseparator { - margin: 2px 0; - height: 1px; - overflow: hidden; -} - -.edui-default .edui-menuseparator-inner { - border-bottom: 1px solid #e2e3e3; - margin-left: 29px; - margin-right: 1px; -} - -.edui-default .edui-menu-body .edui-state-hover { - padding: 0 !important; - background-color: #fff5d4; - border: 1px solid #dcac6c; -} -/*弹出菜单*/ -.edui-default .edui-shortcutmenu { - padding: 2px; - width: 190px; - height: 50px; - background-color: #fff; - border: 1px solid #ccc; - border-radius: 5px; -} - -/*粘贴弹出菜单*/ -.edui-default .edui-wordpastepop .edui-popup-content{ - border: none; - padding: 0; - width: 54px; - height: 21px; -} -.edui-default .edui-pasteicon { - width: 100%; - height: 100%; - background-image: url('../images/wordpaste.png'); - background-position: 0 0; -} - -.edui-default .edui-pasteicon.edui-state-opened { - background-position: 0 -34px; -} - -.edui-default .edui-pastecontainer { - position: relative; - visibility: hidden; - width: 97px; - background: #fff; - border: 1px solid #ccc; -} - -.edui-default .edui-pastecontainer .edui-title { - font-weight: bold; - background: #F8F8FF; - height: 25px; - line-height: 25px; - font-size: 12px; - padding-left: 5px; -} - -.edui-default .edui-pastecontainer .edui-button { - overflow: hidden; - margin: 3px 0; -} - -.edui-default .edui-pastecontainer .edui-button .edui-richtxticon, -.edui-default .edui-pastecontainer .edui-button .edui-tagicon, -.edui-default .edui-pastecontainer .edui-button .edui-plaintxticon{ - float: left; - cursor: pointer; - width: 29px; - height: 29px; - margin-left: 5px; - background-image: url('../images/wordpaste.png'); - background-repeat: no-repeat; -} -.edui-default .edui-pastecontainer .edui-button .edui-richtxticon { - margin-left: 0; - background-position: -109px 0; -} -.edui-default .edui-pastecontainer .edui-button .edui-tagicon { - background-position: -148px 1px; -} - -.edui-default .edui-pastecontainer .edui-button .edui-plaintxticon { - background-position: -72px 0; -} - -.edui-default .edui-pastecontainer .edui-button .edui-state-hover .edui-richtxticon { - background-position: -109px -34px; -} -.edui-default .edui-pastecontainer .edui-button .edui-state-hover .edui-tagicon{ - background-position: -148px -34px; -} -.edui-default .edui-pastecontainer .edui-button .edui-state-hover .edui-plaintxticon{ - background-position: -72px -34px; -} \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/css/ueditor.min.css b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/css/ueditor.min.css deleted file mode 100644 index eb2e7af..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/css/ueditor.min.css +++ /dev/null @@ -1,8 +0,0 @@ -/*! - * UEditor - * version: ueditor - * build: Wed Aug 10 2016 11:06:16 GMT+0800 (CST) - */ - - -.edui-default .edui-box{border:0;padding:0;margin:0;overflow:hidden}.edui-default a.edui-box{display:block;text-decoration:none;color:#000}.edui-default a.edui-box:hover{text-decoration:none}.edui-default a.edui-box:active{text-decoration:none}.edui-default table.edui-box{border-collapse:collapse}.edui-default ul.edui-box{list-style-type:none}div.edui-box{position:relative;display:-moz-inline-box!important;display:inline-block!important;vertical-align:top}.edui-default .edui-clearfix{zoom:1}.edui-default .edui-clearfix:after{content:'\20';display:block;clear:both}* html div.edui-box{display:inline!important}:first-child+html div.edui-box{display:inline!important}.edui-default .edui-button-body,.edui-splitbutton-body,.edui-menubutton-body,.edui-combox-body{position:relative}.edui-default .edui-popup{position:absolute;-webkit-user-select:none;-moz-user-select:none}.edui-default .edui-popup .edui-shadow{position:absolute;z-index:-1}.edui-default .edui-popup .edui-bordereraser{position:absolute;overflow:hidden}.edui-default .edui-tablepicker .edui-canvas{position:relative}.edui-default .edui-tablepicker .edui-canvas .edui-overlay{position:absolute}.edui-default .edui-dialog-modalmask,.edui-dialog-dragmask{position:absolute;left:0;top:0;width:100%;height:100%}.edui-default .edui-toolbar{position:relative}.edui-default .edui-label{cursor:default}.edui-default span.edui-clickable{color:#00f;cursor:pointer;text-decoration:underline}.edui-default span.edui-unclickable{color:gray;cursor:default}.edui-default .edui-toolbar{cursor:default;-webkit-user-select:none;-moz-user-select:none;padding:1px;overflow:hidden;zoom:1;width:auto;height:auto}.edui-default .edui-toolbar .edui-button,.edui-default .edui-toolbar .edui-splitbutton,.edui-default .edui-toolbar .edui-menubutton,.edui-default .edui-toolbar .edui-combox{margin:1px}.edui-default .edui-editor{border:1px solid #d4d4d4;background-color:#fff;position:relative;overflow:visible;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.edui-editor div{width:auto;height:auto}.edui-default .edui-editor-toolbarbox{position:relative;zoom:1;-webkit-box-shadow:0 1px 4px rgba(204,204,204,.6);-moz-box-shadow:0 1px 4px rgba(204,204,204,.6);box-shadow:0 1px 4px rgba(204,204,204,.6);border-top-left-radius:2px;border-top-right-radius:2px}.edui-default .edui-editor-toolbarboxouter{border-bottom:1px solid #d4d4d4;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,.065);box-shadow:0 1px 4px rgba(0,0,0,.065)}.edui-default .edui-editor-toolbarboxinner{padding:2px}.edui-default .edui-editor-iframeholder{position:relative}.edui-default .edui-editor-bottomContainer{overflow:hidden}.edui-default .edui-editor-bottomContainer table{width:100%;height:0;overflow:hidden;border-spacing:0}.edui-default .edui-editor-bottomContainer td{white-space:nowrap;border-top:1px solid #ccc;line-height:20px;font-size:12px;font-family:Arial,Helvetica,Tahoma,Verdana,Sans-Serif}.edui-default .edui-editor-wordcount{text-align:right;margin-right:5px;color:#aaa}.edui-default .edui-editor-scale{width:12px}.edui-default .edui-editor-scale .edui-editor-icon{float:right;width:100%;height:12px;margin-top:10px;background:url(../images/scale.png) no-repeat;cursor:se-resize}.edui-default .edui-editor-breadcrumb{margin:2px 0 0 3px}.edui-default .edui-editor-breadcrumb span{cursor:pointer;text-decoration:underline;color:#00f}.edui-default .edui-toolbar .edui-for-fullscreen{float:right}.edui-default .edui-bubble .edui-popup-content{border:1px solid #DCAC6C;background-color:#fff6d9;padding:5px;font-size:10pt;font-family:"宋体"}.edui-default .edui-bubble .edui-shadow{}.edui-default .edui-editor-toolbarmsg{background-color:#FFF6D9;border-bottom:1px solid #ccc;position:absolute;bottom:-25px;left:0;z-index:1009;width:99.9%}.edui-default .edui-editor-toolbarmsg-upload{font-size:14px;color:#00f;width:100px;height:16px;line-height:16px;cursor:pointer;position:absolute;top:5px;left:350px}.edui-default .edui-editor-toolbarmsg-label{font-size:12px;line-height:16px;padding:4px}.edui-default .edui-editor-toolbarmsg-close{float:right;width:20px;height:16px;line-height:16px;cursor:pointer;color:red}.edui-default .edui-list .edui-bordereraser{display:none}.edui-default .edui-listitem{padding:1px;white-space:nowrap}.edui-default .edui-list .edui-state-hover{position:relative;background-color:#fff5d4;border:1px solid #dcac6c;padding:0}.edui-default .edui-for-fontfamily .edui-listitem-label{min-width:130px;_width:120px;font-size:12px;height:22px;line-height:22px;padding-left:5px}.edui-default .edui-for-insertcode .edui-listitem-label{min-width:120px;_width:120px;font-size:12px;height:22px;line-height:22px;padding-left:5px}.edui-default .edui-for-underline .edui-listitem-label{min-width:120px;_width:120px;padding:3px 5px;font-size:12px}.edui-default .edui-for-fontsize .edui-listitem-label{min-width:120px;_width:120px;padding:3px 5px}.edui-default .edui-for-paragraph .edui-listitem-label{min-width:200px;_width:200px;padding:2px 5px}.edui-default .edui-for-rowspacingtop .edui-listitem-label,.edui-default .edui-for-rowspacingbottom .edui-listitem-label{min-width:53px;_width:53px;padding:2px 5px}.edui-default .edui-for-lineheight .edui-listitem-label{min-width:53px;_width:53px;padding:2px 5px}.edui-default .edui-for-customstyle .edui-listitem-label{min-width:200px;_width:200px;width:200px!important;padding:2px 5px}.edui-default .edui-menu{z-index:3000}.edui-default .edui-menu .edui-popup-content{padding:3px}.edui-default .edui-menu-body{_width:150px;min-width:170px;background:url(../images/sparator_v.png) repeat-y 25px}.edui-default .edui-menuitem-body{}.edui-default .edui-menuitem{height:20px;cursor:default;vertical-align:top}.edui-default .edui-menuitem .edui-icon{width:20px!important;height:20px!important;background:url(../images/icons.png) 0 -4000px;background:url(../images/icons.gif) 0 -4000px\9}.edui-default .edui-menuitem .edui-label{font-size:12px;line-height:20px;height:20px;padding-left:10px}.edui-default .edui-state-checked .edui-menuitem-body{background:url(../images/icons-all.gif) no-repeat 6px -205px}.edui-default .edui-state-disabled .edui-menuitem-label{color:gray}.edui-default .edui-toolbar .edui-combox-body .edui-button-body{width:60px;font-size:12px;height:20px;line-height:20px;padding-left:5px;white-space:nowrap;margin:0 3px 0 0}.edui-default .edui-toolbar .edui-combox-body .edui-arrow{background:url(../images/icons.png) -741px 0;_background:url(../images/icons.gif) -741px 0;height:20px;width:9px}.edui-default .edui-toolbar .edui-combox .edui-combox-body{border:1px solid #CCC;background-color:#fff;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px}.edui-default .edui-toolbar .edui-combox-body .edui-splitborder{display:none}.edui-default .edui-toolbar .edui-combox-body .edui-arrow{border-left:1px solid #CCC}.edui-default .edui-toolbar .edui-state-hover .edui-combox-body{background-color:#fff5d4;border:1px solid #dcac6c}.edui-default .edui-toolbar .edui-state-hover .edui-combox-body .edui-arrow{border-left:1px solid #dcac6c}.edui-default .edui-toolbar .edui-state-checked .edui-combox-body{background-color:#FFE69F;border:1px solid #DCAC6C}.edui-toolbar .edui-state-checked .edui-combox-body .edui-arrow{border-left:1px solid #DCAC6C}.edui-toolbar .edui-state-disabled .edui-combox-body{background-color:#F0F0EE;opacity:.3;filter:alpha(opacity=30)}.edui-toolbar .edui-state-opened .edui-combox-body{background-color:#fff;border:1px solid gray}.edui-default .edui-toolbar .edui-button .edui-icon,.edui-default .edui-toolbar .edui-menubutton .edui-icon,.edui-default .edui-toolbar .edui-splitbutton .edui-icon{height:20px!important;width:20px!important;background-image:url(../images/icons.png);background-image:url(../images/icons.gif) \9}.edui-default .edui-toolbar .edui-button .edui-button-wrap{padding:1px;position:relative}.edui-default .edui-toolbar .edui-button .edui-state-hover .edui-button-wrap{background-color:#fff5d4;padding:0;border:1px solid #dcac6c}.edui-default .edui-toolbar .edui-button .edui-state-checked .edui-button-wrap{background-color:#ffe69f;padding:0;border:1px solid #dcac6c;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px}.edui-default .edui-toolbar .edui-button .edui-state-active .edui-button-wrap{background-color:#fff;padding:0;border:1px solid gray}.edui-default .edui-toolbar .edui-state-disabled .edui-label{color:#ccc}.edui-default .edui-toolbar .edui-state-disabled .edui-icon{opacity:.3;filter:alpha(opacity=30)}.edui-default .edui-for-undo .edui-icon{background-position:-160px 0}.edui-default .edui-for-redo .edui-icon{background-position:-100px 0}.edui-default .edui-for-bold .edui-icon{background-position:0 0}.edui-default .edui-for-italic .edui-icon{background-position:-60px 0}.edui-default .edui-for-fontborder .edui-icon{background-position:-160px -40px}.edui-default .edui-for-underline .edui-icon{background-position:-140px 0}.edui-default .edui-for-strikethrough .edui-icon{background-position:-120px 0}.edui-default .edui-for-subscript .edui-icon{background-position:-600px 0}.edui-default .edui-for-superscript .edui-icon{background-position:-620px 0}.edui-default .edui-for-blockquote .edui-icon{background-position:-220px 0}.edui-default .edui-for-forecolor .edui-icon{background-position:-720px 0}.edui-default .edui-for-backcolor .edui-icon{background-position:-760px 0}.edui-default .edui-for-inserttable .edui-icon{background-position:-580px -20px}.edui-default .edui-for-autotypeset .edui-icon{background-position:-640px -40px}.edui-default .edui-for-justifyleft .edui-icon{background-position:-460px 0}.edui-default .edui-for-justifycenter .edui-icon{background-position:-420px 0}.edui-default .edui-for-justifyright .edui-icon{background-position:-480px 0}.edui-default .edui-for-justifyjustify .edui-icon{background-position:-440px 0}.edui-default .edui-for-insertorderedlist .edui-icon{background-position:-80px 0}.edui-default .edui-for-insertunorderedlist .edui-icon{background-position:-20px 0}.edui-default .edui-for-lineheight .edui-icon{background-position:-725px -40px}.edui-default .edui-for-rowspacingbottom .edui-icon{background-position:-745px -40px}.edui-default .edui-for-rowspacingtop .edui-icon{background-position:-765px -40px}.edui-default .edui-for-horizontal .edui-icon{background-position:-360px 0}.edui-default .edui-for-link .edui-icon{background-position:-500px 0}.edui-default .edui-for-code .edui-icon{background-position:-440px -40px}.edui-default .edui-for-insertimage .edui-icon{background-position:-726px -77px}.edui-default .edui-for-insertframe .edui-icon{background-position:-240px -40px}.edui-default .edui-for-emoticon .edui-icon{background-position:-60px -20px}.edui-default .edui-for-spechars .edui-icon{background-position:-240px 0}.edui-default .edui-for-help .edui-icon{background-position:-340px 0}.edui-default .edui-for-print .edui-icon{background-position:-440px -20px}.edui-default .edui-for-preview .edui-icon{background-position:-420px -20px}.edui-default .edui-for-selectall .edui-icon{background-position:-400px -20px}.edui-default .edui-for-searchreplace .edui-icon{background-position:-520px -20px}.edui-default .edui-for-map .edui-icon{background-position:-40px -40px}.edui-default .edui-for-gmap .edui-icon{background-position:-260px -40px}.edui-default .edui-for-insertvideo .edui-icon{background-position:-320px -20px}.edui-default .edui-for-time .edui-icon{background-position:-160px -20px}.edui-default .edui-for-date .edui-icon{background-position:-140px -20px}.edui-default .edui-for-cut .edui-icon{background-position:-680px 0}.edui-default .edui-for-copy .edui-icon{background-position:-700px 0}.edui-default .edui-for-paste .edui-icon{background-position:-560px 0}.edui-default .edui-for-formatmatch .edui-icon{background-position:-40px 0}.edui-default .edui-for-pasteplain .edui-icon{background-position:-360px -20px}.edui-default .edui-for-directionalityltr .edui-icon{background-position:-20px -20px}.edui-default .edui-for-directionalityrtl .edui-icon{background-position:-40px -20px}.edui-default .edui-for-source .edui-icon{background-position:-261px -0px}.edui-default .edui-for-removeformat .edui-icon{background-position:-580px 0}.edui-default .edui-for-unlink .edui-icon{background-position:-640px 0}.edui-default .edui-for-touppercase .edui-icon{background-position:-786px 0}.edui-default .edui-for-tolowercase .edui-icon{background-position:-806px 0}.edui-default .edui-for-insertrow .edui-icon{background-position:-478px -76px}.edui-default .edui-for-insertrownext .edui-icon{background-position:-498px -76px}.edui-default .edui-for-insertcol .edui-icon{background-position:-455px -76px}.edui-default .edui-for-insertcolnext .edui-icon{background-position:-429px -76px}.edui-default .edui-for-mergeright .edui-icon{background-position:-60px -40px}.edui-default .edui-for-mergedown .edui-icon{background-position:-80px -40px}.edui-default .edui-for-splittorows .edui-icon{background-position:-100px -40px}.edui-default .edui-for-splittocols .edui-icon{background-position:-120px -40px}.edui-default .edui-for-insertparagraphbeforetable .edui-icon{background-position:-140px -40px}.edui-default .edui-for-deleterow .edui-icon{background-position:-660px -20px}.edui-default .edui-for-deletecol .edui-icon{background-position:-640px -20px}.edui-default .edui-for-splittocells .edui-icon{background-position:-800px -20px}.edui-default .edui-for-mergecells .edui-icon{background-position:-760px -20px}.edui-default .edui-for-deletetable .edui-icon{background-position:-620px -20px}.edui-default .edui-for-cleardoc .edui-icon{background-position:-520px 0}.edui-default .edui-for-fullscreen .edui-icon{background-position:-100px -20px}.edui-default .edui-for-anchor .edui-icon{background-position:-200px 0}.edui-default .edui-for-pagebreak .edui-icon{background-position:-460px -40px}.edui-default .edui-for-imagenone .edui-icon{background-position:-480px -40px}.edui-default .edui-for-imageleft .edui-icon{background-position:-500px -40px}.edui-default .edui-for-wordimage .edui-icon{background-position:-660px -40px}.edui-default .edui-for-imageright .edui-icon{background-position:-520px -40px}.edui-default .edui-for-imagecenter .edui-icon{background-position:-540px -40px}.edui-default .edui-for-indent .edui-icon{background-position:-400px 0}.edui-default .edui-for-outdent .edui-icon{background-position:-540px 0}.edui-default .edui-for-webapp .edui-icon{background-position:-601px -40px}.edui-default .edui-for-table .edui-icon{background-position:-580px -20px}.edui-default .edui-for-edittable .edui-icon{background-position:-420px -40px}.edui-default .edui-for-template .edui-icon{background-position:-339px -40px}.edui-default .edui-for-delete .edui-icon{background-position:-360px -40px}.edui-default .edui-for-attachment .edui-icon{background-position:-620px -40px}.edui-default .edui-for-edittd .edui-icon{background-position:-700px -40px}.edui-default .edui-for-snapscreen .edui-icon{background-position:-581px -40px}.edui-default .edui-for-scrawl .edui-icon{background-position:-801px -41px}.edui-default .edui-for-background .edui-icon{background-position:-680px -40px}.edui-default .edui-for-music .edui-icon{background-position:-18px -40px}.edui-default .edui-for-formula .edui-icon{background-position:-200px -40px}.edui-default .edui-for-aligntd .edui-icon{background-position:-236px -76px}.edui-default .edui-for-insertparagraphtrue .edui-icon{background-position:-625px -76px}.edui-default .edui-for-insertparagraph .edui-icon{background-position:-602px -76px}.edui-default .edui-for-insertcaption .edui-icon{background-position:-336px -76px}.edui-default .edui-for-deletecaption .edui-icon{background-position:-362px -76px}.edui-default .edui-for-inserttitle .edui-icon{background-position:-286px -76px}.edui-default .edui-for-deletetitle .edui-icon{background-position:-311px -76px}.edui-default .edui-for-aligntable .edui-icon{background-position:-440px 0}.edui-default .edui-for-tablealignment-left .edui-icon{background-position:-460px 0}.edui-default .edui-for-tablealignment-center .edui-icon{background-position:-420px 0}.edui-default .edui-for-tablealignment-right .edui-icon{background-position:-480px 0}.edui-default .edui-for-drafts .edui-icon{background-position:-560px 0}.edui-default .edui-for-charts .edui-icon{background:url( ../images/charts.png ) no-repeat 2px 3px!important}.edui-default .edui-for-inserttitlecol .edui-icon{background-position:-673px -76px}.edui-default .edui-for-deletetitlecol .edui-icon{background-position:-698px -76px}.edui-default .edui-for-simpleupload .edui-icon{background-position:-380px 0}.edui-default .edui-toolbar .edui-splitbutton-body .edui-arrow,.edui-default .edui-toolbar .edui-menubutton-body .edui-arrow{background:url(../images/icons.png) -741px 0;_background:url(../images/icons.gif) -741px 0;height:20px;width:9px}.edui-default .edui-toolbar .edui-splitbutton .edui-splitbutton-body,.edui-default .edui-toolbar .edui-menubutton .edui-menubutton-body{padding:1px}.edui-default .edui-toolbar .edui-splitborder{width:1px;height:20px}.edui-default .edui-toolbar .edui-state-hover .edui-splitborder{width:1px;border-left:0 solid #dcac6c}.edui-default .edui-toolbar .edui-state-active .edui-splitborder{width:0;border-left:1px solid gray}.edui-default .edui-toolbar .edui-state-opened .edui-splitborder{width:1px;border:0}.edui-default .edui-toolbar .edui-splitbutton .edui-state-hover .edui-splitbutton-body,.edui-default .edui-toolbar .edui-menubutton .edui-state-hover .edui-menubutton-body{background-color:#fff5d4;border:1px solid #dcac6c;padding:0}.edui-default .edui-toolbar .edui-splitbutton .edui-state-checked .edui-splitbutton-body,.edui-default .edui-toolbar .edui-menubutton .edui-state-checked .edui-menubutton-body{background-color:#FFE69F;border:1px solid #DCAC6C;padding:0}.edui-default .edui-toolbar .edui-splitbutton .edui-state-active .edui-splitbutton-body,.edui-default .edui-toolbar .edui-menubutton .edui-state-active .edui-menubutton-body{background-color:#fff;border:1px solid gray;padding:0}.edui-default .edui-state-disabled .edui-arrow{opacity:.3;_filter:alpha(opacity=30)}.edui-default .edui-toolbar .edui-splitbutton .edui-state-opened .edui-splitbutton-body,.edui-default .edui-toolbar .edui-menubutton .edui-state-opened .edui-menubutton-body{background-color:#fff;border:1px solid gray;padding:0}.edui-default .edui-for-insertorderedlist .edui-bordereraser,.edui-default .edui-for-lineheight .edui-bordereraser,.edui-default .edui-for-rowspacingtop .edui-bordereraser,.edui-default .edui-for-rowspacingbottom .edui-bordereraser,.edui-default .edui-for-insertunorderedlist .edui-bordereraser{background-color:#fff}.edui-default .edui-for-insertorderedlist .edui-popup-body .edui-icon,.edui-default .edui-for-lineheight .edui-popup-body .edui-icon,.edui-default .edui-for-rowspacingtop .edui-popup-body .edui-icon,.edui-default .edui-for-rowspacingbottom .edui-popup-body .edui-icon,.edui-default .edui-for-insertunorderedlist .edui-popup-body .edui-icon{background-image:none}.edui-default .edui-popup{z-index:3000;background-color:#fff;width:auto;height:auto}.edui-default .edui-popup .edui-shadow{left:0;top:0;width:100%;height:100%}.edui-default .edui-popup-content{border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 4px rgba(0,0,0,.2);-moz-box-shadow:0 3px 4px rgba(0,0,0,.2);box-shadow:0 3px 4px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;padding:5px;background:#fff}.edui-default .edui-popup .edui-bordereraser{background-color:#fff;height:3px}.edui-default .edui-menu .edui-bordereraser{height:3px}.edui-default .edui-anchor-topleft .edui-bordereraser{left:1px;top:-2px}.edui-default .edui-anchor-topright .edui-bordereraser{right:1px;top:-2px}.edui-default .edui-anchor-bottomleft .edui-bordereraser{left:0;bottom:-6px;height:7px;border-left:1px solid gray;border-right:1px solid gray}.edui-default .edui-anchor-bottomright .edui-bordereraser{right:0;bottom:-6px;height:7px;border-left:1px solid gray;border-right:1px solid gray}.edui-popup div{width:auto;height:auto}.edui-default .edui-editor-messageholder{display:block;width:150px;height:auto;border:0;margin:0;padding:0;position:absolute;top:28px;right:3px}.edui-default .edui-message{min-height:10px;text-shadow:0 1px 0 rgba(255,255,255,.5);padding:0;margin-bottom:3px;position:relative}.edui-default .edui-message-body{border-radius:3px;padding:8px 15px 8px 8px;color:#c09853;background-color:#fcf8e3;border:1px solid #fbeed5}.edui-default .edui-message-type-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.edui-default .edui-message-type-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.edui-default .edui-message-type-danger,.edui-default .edui-message-type-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.edui-default .edui-message .edui-message-closer{display:block;width:16px;height:16px;line-height:16px;position:absolute;top:0;right:0;padding:0;cursor:pointer;background:transparent;border:0;float:right;font-size:20px;font-weight:700;color:#999;text-shadow:0 1px 0 #fff;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.edui-default .edui-message .edui-message-content{font-size:10pt;word-wrap:break-word;word-break:normal}.edui-default .edui-dialog{z-index:2000;position:absolute}.edui-dialog div{width:auto}.edui-default .edui-dialog-wrap{margin-right:6px;margin-bottom:6px}.edui-default .edui-dialog-fullscreen-flag{margin-right:0;margin-bottom:0}.edui-default .edui-dialog-body{position:relative;padding:2px 0 0 2px;_zoom:1}.edui-default .edui-dialog-fullscreen-flag .edui-dialog-body{padding:0}.edui-default .edui-dialog-shadow{position:absolute;z-index:-1;left:0;top:0;width:100%;height:100%;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.edui-default .edui-dialog-foot{background-color:#fff}.edui-default .edui-dialog-titlebar{height:26px;border-bottom:1px solid #c6c6c6;background:url(../images/dialog-title-bg.png) repeat-x bottom;position:relative;cursor:move}.edui-default .edui-dialog-caption{font-weight:700;font-size:12px;line-height:26px;padding-left:5px}.edui-default .edui-dialog-draghandle{height:26px}.edui-default .edui-dialog-closebutton{position:absolute!important;right:5px;top:3px}.edui-default .edui-dialog-closebutton .edui-button-body{height:20px;width:20px;cursor:pointer;background:url(../images/icons-all.gif) no-repeat 0 -59px}.edui-default .edui-dialog-closebutton .edui-state-hover .edui-button-body{background:url(../images/icons-all.gif) no-repeat 0 -89px}.edui-default .edui-dialog-foot{height:40px}.edui-default .edui-dialog-buttons{position:absolute;right:0}.edui-default .edui-dialog-buttons .edui-button{margin-right:10px}.edui-default .edui-dialog-buttons .edui-button .edui-button-body{background:url(../images/icons-all.gif) no-repeat;height:24px;width:96px;font-size:12px;line-height:24px;text-align:center;cursor:default}.edui-default .edui-dialog-buttons .edui-button .edui-state-hover .edui-button-body{background:url(../images/icons-all.gif) no-repeat 0 -30px}.edui-default .edui-dialog iframe{border:0;padding:0;margin:0;vertical-align:top}.edui-default .edui-dialog-modalmask{opacity:.3;filter:alpha(opacity=30);background-color:#ccc;position:absolute}.edui-default .edui-dialog-dragmask{position:absolute;background-color:transparent;cursor:move}.edui-default .edui-dialog-content{position:relative}.edui-default .dialogcontmask{cursor:move;visibility:hidden;display:block;position:absolute;width:100%;height:100%;opacity:0;filter:alpha(opacity=0)}.edui-default .edui-for-link .edui-dialog-content{width:420px;height:200px;overflow:hidden}.edui-default .edui-for-background .edui-dialog-content{width:440px;height:280px;overflow:hidden}.edui-default .edui-for-template .edui-dialog-content{width:630px;height:390px;overflow:hidden}.edui-default .edui-for-scrawl .edui-dialog-content{width:515px;*width:506px;height:360px}.edui-default .edui-for-spechars .edui-dialog-content{width:620px;height:500px;*width:630px;*height:570px}.edui-default .edui-for-insertimage .edui-dialog-content{width:650px;height:400px;overflow:hidden}.edui-default .edui-for-webapp .edui-dialog-content{width:560px;_width:565px;height:450px;overflow:hidden}.edui-default .edui-for-insertframe .edui-dialog-content{width:350px;height:200px;overflow:hidden}.edui-default .edui-for-wordimage .edui-dialog-content{width:620px;height:380px;overflow:hidden}.edui-default .edui-for-attachment .edui-dialog-content{width:650px;height:400px;overflow:hidden}.edui-default .edui-for-map .edui-dialog-content{width:550px;height:400px}.edui-default .edui-for-gmap .edui-dialog-content{width:550px;height:400px}.edui-default .edui-for-insertvideo .edui-dialog-content{width:590px;height:390px}.edui-default .edui-for-anchor .edui-dialog-content{width:320px;height:60px;overflow:hidden}.edui-default .edui-for-searchreplace .edui-dialog-content{width:400px;height:220px}.edui-default .edui-for-help .edui-dialog-content{width:400px;height:420px}.edui-default .edui-for-edittable .edui-dialog-content{width:540px;_width:590px;height:335px}.edui-default .edui-for-edittip .edui-dialog-content{width:225px;height:60px}.edui-default .edui-for-edittd .edui-dialog-content{width:240px;height:50px}.edui-default .edui-for-snapscreen .edui-dialog-content{width:400px;height:220px}.edui-default .edui-for-music .edui-dialog-content{width:515px;height:360px}.edui-default .edui-for-paragraph .edui-listitem-label{font-family:Tahoma,Verdana,Arial,Helvetica}.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-p{font-size:22px;line-height:27px}.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h1{font-weight:bolder;font-size:32px;line-height:36px}.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h2{font-weight:bolder;font-size:27px;line-height:29px}.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h3{font-weight:bolder;font-size:19px;line-height:23px}.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h4{font-weight:bolder;font-size:16px;line-height:19px}.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h5{font-weight:bolder;font-size:13px;line-height:16px}.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h6{font-weight:bolder;font-size:12px;line-height:14px}.edui-default .edui-for-inserttable .edui-splitborder{display:none}.edui-default .edui-for-inserttable .edui-splitbutton-body .edui-arrow{width:0}.edui-default .edui-toolbar .edui-for-inserttable .edui-state-active .edui-splitborder{border-left:1px solid transparent}.edui-default .edui-tablepicker .edui-infoarea{height:14px;line-height:14px;font-size:12px;width:220px;margin-bottom:3px;clear:both}.edui-default .edui-tablepicker .edui-infoarea .edui-label{float:left}.edui-default .edui-dialog-buttons .edui-label{line-height:24px}.edui-default .edui-tablepicker .edui-infoarea .edui-clickable{float:right}.edui-default .edui-tablepicker .edui-pickarea{background:url(../images/unhighlighted.gif) repeat;height:220px;width:220px}.edui-default .edui-tablepicker .edui-pickarea .edui-overlay{background:url(../images/highlighted.gif) repeat}.edui-default .edui-colorpicker-topbar{height:27px;width:200px}.edui-default .edui-colorpicker-preview{height:20px;border:1px inset #000;margin-left:1px;width:128px;float:left}.edui-default .edui-colorpicker-nocolor{float:right;margin-right:1px;font-size:12px;line-height:14px;height:14px;border:1px solid #333;padding:3px 5px;cursor:pointer}.edui-default .edui-colorpicker-tablefirstrow{height:30px}.edui-default .edui-colorpicker-colorcell{width:14px;height:14px;display:block;margin:0;cursor:pointer}.edui-default .edui-colorpicker-colorcell:hover{width:14px;height:14px;margin:0}.edui-default .edui-colorpicker-advbtn{display:block;text-align:center;cursor:pointer;height:20px}.arrow_down{background:#fff url(../images/arrow_down.png) no-repeat center}.arrow_up{background:#fff url(../images/arrow_up.png) no-repeat center}.edui-colorpicker-adv{position:relative;overflow:hidden;height:180px;display:none}.edui-colorpicker-plant,.edui-colorpicker-hue{border:solid 1px #666}.edui-colorpicker-pad{width:150px;height:150px;left:14px;top:13px;position:absolute;background:red;overflow:hidden;cursor:crosshair}.edui-colorpicker-cover{position:absolute;top:0;left:0;width:150px;height:150px;background:url(../images/tangram-colorpicker.png) -160px -200px}.edui-colorpicker-padDot{position:absolute;top:0;left:0;width:11px;height:11px;overflow:hidden;background:url(../images/tangram-colorpicker.png) 0 -200px repeat-x;z-index:1000}.edui-colorpicker-sliderMain{position:absolute;left:171px;top:13px;width:19px;height:152px;background:url(../images/tangram-colorpicker.png) -179px -12px no-repeat}.edui-colorpicker-slider{width:100%;height:100%;cursor:pointer}.edui-colorpicker-thumb{position:absolute;top:0;cursor:pointer;height:3px;left:-1px;right:-1px;border:1px solid #000;background:#fff;opacity:.8}.edui-default .edui-autotypesetpicker .edui-autotypesetpicker-body{font-size:12px;margin-bottom:3px;clear:both}.edui-default .edui-autotypesetpicker-body table{border-collapse:separate;border-spacing:2px}.edui-default .edui-autotypesetpicker-body td{font-size:12px;word-wrap:break-word}.edui-default .edui-autotypesetpicker-body td input{margin:3px 3px 3px 4px;*margin:1px 0 0}.edui-default .edui-cellalignpicker .edui-cellalignpicker-body{width:70px;font-size:12px;cursor:default}.edui-default .edui-cellalignpicker-body table{border-collapse:separate;border-spacing:0}.edui-default .edui-cellalignpicker-body td{padding:1px}.edui-default .edui-cellalignpicker-body .edui-icon{height:20px;width:20px;padding:1px;background-image:url(../images/table-cell-align.png)}.edui-default .edui-cellalignpicker-body .edui-left{background-position:0 0}.edui-default .edui-cellalignpicker-body .edui-center{background-position:-25px 0}.edui-default .edui-cellalignpicker-body .edui-right{background-position:-51px 0}.edui-default .edui-cellalignpicker-body td.edui-state-hover .edui-left{background-position:-73px 0}.edui-default .edui-cellalignpicker-body td.edui-state-hover .edui-center{background-position:-98px 0}.edui-default .edui-cellalignpicker-body td.edui-state-hover .edui-right{background-position:-124px 0}.edui-default .edui-cellalignpicker-body td.edui-cellalign-selected .edui-left{background-position:-146px 0;background-color:#f1f4f5}.edui-default .edui-cellalignpicker-body td.edui-cellalign-selected .edui-center{background-position:-245px 0}.edui-default .edui-cellalignpicker-body td.edui-cellalign-selected .edui-right{background-position:-271px 0}.edui-default .edui-toolbar .edui-separator{width:2px;height:20px;margin:2px 4px 2px 3px;background:url(../images/icons.png) -181px 0;background:url(../images/icons.gif) -181px 0 \9}.edui-default .edui-toolbar .edui-colorbutton .edui-colorlump{position:absolute;overflow:hidden;bottom:1px;left:1px;width:18px;height:4px}.edui-default .edui-for-emotion .edui-icon{background-position:-60px -20px}.edui-default .edui-for-emotion .edui-popup-content iframe{width:514px;height:380px;overflow:hidden}.edui-default .edui-for-emotion .edui-popup-content{position:relative;z-index:555}.edui-default .edui-for-emotion .edui-splitborder{display:none}.edui-default .edui-for-emotion .edui-splitbutton-body .edui-arrow{width:0}.edui-default .edui-toolbar .edui-for-emotion .edui-state-active .edui-splitborder{border-left:1px solid transparent}.edui-default .edui-hassubmenu .edui-arrow{height:20px;width:20px;float:right;background:url(../images/icons-all.gif) no-repeat 10px -233px}.edui-default .edui-menu-body .edui-menuitem{padding:1px}.edui-default .edui-menuseparator{margin:2px 0;height:1px;overflow:hidden}.edui-default .edui-menuseparator-inner{border-bottom:1px solid #e2e3e3;margin-left:29px;margin-right:1px}.edui-default .edui-menu-body .edui-state-hover{padding:0!important;background-color:#fff5d4;border:1px solid #dcac6c}.edui-default .edui-shortcutmenu{padding:2px;width:190px;height:50px;background-color:#fff;border:1px solid #ccc;border-radius:5px}.edui-default .edui-wordpastepop .edui-popup-content{border:0;padding:0;width:54px;height:21px}.edui-default .edui-pasteicon{width:100%;height:100%;background-image:url(../images/wordpaste.png);background-position:0 0}.edui-default .edui-pasteicon.edui-state-opened{background-position:0 -34px}.edui-default .edui-pastecontainer{position:relative;visibility:hidden;width:97px;background:#fff;border:1px solid #ccc}.edui-default .edui-pastecontainer .edui-title{font-weight:700;background:#F8F8FF;height:25px;line-height:25px;font-size:12px;padding-left:5px}.edui-default .edui-pastecontainer .edui-button{overflow:hidden;margin:3px 0}.edui-default .edui-pastecontainer .edui-button .edui-richtxticon,.edui-default .edui-pastecontainer .edui-button .edui-tagicon,.edui-default .edui-pastecontainer .edui-button .edui-plaintxticon{float:left;cursor:pointer;width:29px;height:29px;margin-left:5px;background-image:url(../images/wordpaste.png);background-repeat:no-repeat}.edui-default .edui-pastecontainer .edui-button .edui-richtxticon{margin-left:0;background-position:-109px 0}.edui-default .edui-pastecontainer .edui-button .edui-tagicon{background-position:-148px 1px}.edui-default .edui-pastecontainer .edui-button .edui-plaintxticon{background-position:-72px 0}.edui-default .edui-pastecontainer .edui-button .edui-state-hover .edui-richtxticon{background-position:-109px -34px}.edui-default .edui-pastecontainer .edui-button .edui-state-hover .edui-tagicon{background-position:-148px -34px}.edui-default .edui-pastecontainer .edui-button .edui-state-hover .edui-plaintxticon{background-position:-72px -34px} \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/dialogbase.css b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/dialogbase.css deleted file mode 100644 index cd663d5..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/dialogbase.css +++ /dev/null @@ -1,100 +0,0 @@ -/*弹出对话框页面样式组件 -*/ - -/*reset -*/ -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, font, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td { - margin: 0; - padding: 0; - outline: 0; - font-size: 100%; -} - -body { - line-height: 1; -} - -ol, ul { - list-style: none; -} - -blockquote, q { - quotes: none; -} - -ins { - text-decoration: none; -} - -del { - text-decoration: line-through; -} - -table { - border-collapse: collapse; - border-spacing: 0; -} - -/*module -*/ -body { - background-color: #fff; - font: 12px/1.5 sans-serif, "宋体", "Arial Narrow", HELVETICA; - color: #646464; -} - -/*tab*/ -.tabhead { - position: relative; - z-index: 10; -} - -.tabhead span { - display: inline-block; - padding: 0 5px; - height: 30px; - border: 1px solid #ccc; - background: url("images/dialog-title-bg.png") repeat-x; - text-align: center; - line-height: 30px; - cursor: pointer; - *margin-right: 5px; -} - -.tabhead span.focus { - height: 31px; - border-bottom: none; - background: #fff; -} - -.tabbody { - position: relative; - top: -1px; - margin: 0 auto; - border: 1px solid #ccc; -} - -/*button*/ -a.button { - display: block; - text-align: center; - line-height: 24px; - text-decoration: none; - height: 24px; - width: 95px; - border: 0; - color: #838383; - background: url(../../themes/default/images/icons-all.gif) no-repeat; -} - -a.button:hover { - background-position: 0 -30px; -} \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/anchor.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/anchor.gif deleted file mode 100644 index 5aa797b2240a432d9f3f1d166ed5542eaf684937..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmZ?wbhEHb6kygJ|Uu&?oD;%Ae!z@09(NL_hv#6Slx0y!YR{?r|LJZgAju=f-$sQVWNL{+Tsz18#+~Ke%+zTWns()WcPwy8dQcr!JH# U&i)o#ra{o6vp4_np&fqGg-1;GP^BJO_p_?A6nLIYwB=H*Qp>A8nZf?fNnCY(uvZL zYMq5r=M|ASom0_?Sn7~VE3B<^mcq1BrHIr9EGW>Ifm~m?y<>mJPIAsKPjWszPx7z| z^K(;^4e+i)B*?S*guTS?B+Vho2 z`WG1Kuclp>qR!nSa-c>gf6E3&1HPK$>6qGXeOCp%qBL8aEd$S;?m%#@0uH|roliGe zy#i~1E?Ad#U1t}6uwt+qqgIm=xY8r0F*7 zl{ZWo1&^Wcj_roRaNKw0cq|%;M#7eRWh<*7;!rva!w3Wdg+kTSXqlOr3+!(Y+UH1c!M>bUYK1<=lG*1pq%m&P~1QC>Rx($IJPWjnN zpR&G{Rq^JvgludxnIl{D8LgfGe-+MHCcM_UcHp8Td8VLE6B~29!k7r659<2nKp^Fl zj!GszzF7d5gy6DP@ZR1H93XOu{-OI@l6&5C>BJ*|uw%klayELyqgg z(1r2VJa0I-7Tj#n#oR8}RJ&g+`2!5Q8%of3mwZ1ylT{6m^cuZ3bEx<+w~3H6c=s2I zHqmMPM&{IH<=Icl=QPsL@wWkIaQ9;d5!{KiwDTAp6ANhcA|rcd_*y;vPo-D@#WUD8 zxj?H-u8_-Qb;^#oX{dywAOO4sP%-&Maru89peVTaNW45UP{=b_+ByMxH6aCa_?|l> lFG7akQpaiL%L!NFwXt25X8cm0x*UH6P&xU?o7rDC{|kH`9-#mL diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/arrow_down.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/arrow_down.png deleted file mode 100644 index e9257e83b00375259f2f724c7cbac03d0df5ceb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1610 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE;=WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2v2cW`)d{3jAFJg2T)jk)8oi3#0-$aN1{?c|g2d$P)DnfH z)bz|eTc!8A_bVx6rr0WloBA5~7C5J7WO`H;r3P2|g(O#HCtIc{+1n}DR9FEG$W1Lt zRH(?!$t$+1uvG$^YXxM3g!Ppaz)DK8ZIvL7itr6kaLzAERWQ{v&`mZlGf*%y)H5_T zF*i5YQ7|$vG|)FN(l<2HH8i&}HnK7>P=Ep@plwAdX;wilZcw{`JX@uVl9B=|ef{$C za=mh6z5JqdeM3u2OOP2xM!G;1y2X`wC5aWfdBw^w6I@b@lZ!G7N;32F6hI~>Cgqow z*eU^C3h_d20o>TUVrVb{15Cdnu|VHY&j92lm_lD){7Q3k;i`*Ef>IIg#cFVINM%8) zeo$(0erZuMFyhjbK~@!5ITxiSmgEG&eP`1g19yq1OegIswNQ-xSi<4Z1u2!m4XhFqBbF8wG<_`!+|HhuxMFc&SLMF{7Z@fVvH$#8 ze|mSH#FSX^%>h00S4ci?>YufC3b$>be$N&e)g9;i=5%xkTh1s~5&sk~hpZURp;Qa?iE^5gq z0+?2AoO*aq`+eIDGp&3MoLz0RPBnf@mZEj!Y0cZVUxN2^iyZs(a?eI%oljxTtdUFo z4zJtT6vh6mc<(8@dEybWbJNr%Pc%*VvF}gIi|llP_mw#+z3j zapfmJXkU5iJgMMaq6;%eEr0F`fv2A$yk@Z1O`YMLW4b!$#En-43)(gNwO&tIE1$YR z{=f_5V<-h{r;w^f@VvOcJ`XH-Laf=HZ$7pE8y$b zea|FcbA8_y&V4&;c0EYAF6z7Uq;gWX%!S@_GP~BiYk9@S9hp{rSmuZc`!rX#z78?b z>^=VrHI}o6**U$5wKDVU&pfZEJI56Y zoT$4mvucV;+x1h4)@uJZd{#I=XN5ldnP;uVH#)aA-sLj_f6xsvx)X=xc_v2 z@-mt-`NgS3hTn0)cfZMswpSgNlI1YlD$F(+3=d#Wzp$P!&XKAJY diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/arrow_up.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/arrow_up.png deleted file mode 100644 index 74277af1e6a8ef91f8fe664efde11377a5292dbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1649 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE;=WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2v2c=9J8kh>{3jAFJg2T)jk)8oi3#0-$aN1{?c|g2d$P)DnfH z)bz|eTc!8A_bVx6rr0WloBA5~7C5J7WO`H;r3P2|g(O#HCtIc{+1n}DR9FEG$W1Lt zRH(?!$t$+1uvG$^YXxM3g!Ppaz)DK8ZIvL7itr6kaLzAERWQ{v&`mZlGf*%y)H5_T zF*i5YQ7|$vG|)FN(l<2HH8i&}HnK7>P=Ep@plwAdX;wilZcw{`JX@uVl9B=|ef{$C za=mh6z5JqdeM3u2OOP2xM!G;1y2X`wC5aWfdBw^w6I@b@lZ!G7N;32F6hI~>Cgqow z*eU^C3h_d2fv+#z;JjjJKmmhHzap_f-%!s$KQ|ZTFR<$3lAu(CGq9>I4yi0i)elN7 z&Mz%W2F6F4GE6ft?C@IzQV4X7m48ttFj5k8T=J7kb5rw5JY8&+fHHb1nJHGr&Zcf= zZpLmdj^@s;MuvtK&X$(07A9_{2F`9K1|}9TGqCA(Gj?@#HgIt=cQbG_G;}qxFf=l- zbaON}GPN)@wKR5t>GjMjE=kNwPKDW<3A7ig*AcH?E9aur#FG4?ko^1{SPBTp$S=t+ z&d4uNa1J(A2+zz*$uBPkMGnNTE~!PCWvMA{Mftf3;Lx?o#9}*PUqke!kP~A1K*#8V zk_J*zfe8WAABYK0_&^Rk>!juZ^GgvhW0Y{Wv@$R-E%tPA45_#^WvZ{gh@(K;>Z+== zX-At4KPH3-+4r@v2}X8*AN$Mh@OiHNYs3&%QbHW!0`#zh1`9tBzYV@8G#Wg&l2-#)h$FUdfE_lvm%b2=kt^Ebzn( zr(4oF%+7xg2Te=y(fqh}+AK?Nt8-e6Vo~YWrY1FhH}uX($oOv&HCTs__< zzEdCca~LbgR5%PtJYh=3FjGRGp=cUaJC^c^yU)Zr^k2P zlm5xRG;W0~lefT@)ERLuic?K4bNlUNS|KodrrwHIUNWEc`M1i>U^rI0VS1uR{)PLi zihmWG2&`Lpzrjh}nD@mILlb2Uhtt|CHp`N!r`KF5c$VaRcJZF}LJe(& zwV}p~KZGbP@?1Z4Mc+d4`MOQrYgSe4X#ZDh+%|1dL)h$@nv3?ZH`~Z?rV3X7(F@K> zb+Z2u>#VllaHj5&E!~}`b21Ja)w^fT&+2mzy!OR_pE1^}_1<=w+EA5Nm$Hp%M~^AK zU)Z92;jd=Sl<1n3x7z+*ci#Wo(IT=)J{K*+Q?C!N1MD&Sbd le02W-shBsPKJ+s%GgK)^wA}p_d>&K@c)I$ztaD0e0svXmV!r?Y diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/button-bg.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/button-bg.gif deleted file mode 100644 index ec7fa2eabf0705226fe0c488d65198508bf547e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1114 zcmV-g1f}~&Nk%w1VKM+R0OkMy00030|Nr{?`~Uyg|Nq+c_4NPz*Z=(3`t{5D_RRV9 z%lr1t{P@xN^27S{$occg`t-~D_Rjb6(E0Jf`t!&5^V9k7zxnUL`S8H{@x=P_$@uNP z`0c*=@5lM`q&aU|6w)f(-(ZHJcKyq);w!1v|A_vOL(=ELpXz3||{+03)&lq#;^N`q z;o#ul-{0Tf-rm~U+Sk|D(9qET|Nj6000000000000000000000A^8LW004OaEC2ui z05SkF000O7fO%_oc!h?Ch>41ei+5{zWp`--l$Dm3n3+> zsF_HyqQ#3CGiszrN8-khAVaF@xTd7ZlPFWFT*=ZTojPn{%A85Frp=o;W!90Hv!~CW zBj>nb)267=qezn~UCPvr&^vA(N|o9Msu?(T?r7c0wX4^!V8PmfVC>oFmqw6)fdnp04j^zqp|u`Sa-0r=OsK#f}aaILMz*zrOwZ z`0-!pup>tY5FP|5;D7`cXyAbdg3v(@I*72r2M|Um;e-@cXrYB0h@gWGA&@Y_haiS1 z;)o=cSRx4_Z1{o+CA8?`i!jD0v_{FvJiptdPRD zl1w(~KIEzAo_zM{=bwE7aRU-l5Rn8GGXU|#qKr1`=%bKE+9(h+P>}@@TWDd06i{^P z>8GHED(a}AN@0Z-TXdns6;*su#jCK!D(kGY)*7p;S18d%0YNN*1r}fgE9|hu7HjOW g!~VKN5CsU(L=jFzEA6z@R%`9G*G3VB0D%AiJBq`ncK`qY diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/cancelbutton.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/cancelbutton.gif deleted file mode 100644 index df4bc2c06d485df4403d689c98ee745a4cde8e97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1227 zcmV;+1T_0cNk%w1VH^Ms0QUd@000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~EC2ui02}}g000R80N?d8lSPY`ECmaSA@vT~rz=b%E}1xSN+M*v*63=s zj2W|z%bEpKgUQntPOMg`Ql)Ygt58`0p~(cQlP6A|I&tD;)03AgfeIBOG>DKjY^XJ4==@p5kGnYDTB5w7&K^jxZs(hL{cL~lH}dPcdt$q zD_5TQ&|`gZmzMqH0#&%8nU(?9AzvZOs&E($thW17wAnF=2dS zixx%10*e+@Tw%iubG*?-5ob)X#T8L>VFrIHgwcf)I#^*u6G{}}gcVlU-~$+ANa4h3 zU5Eh&8T;8#LljaNAp~tsNC8C^Rb1i1Av~P%1{`$QfyY)`G0{dGGhE??7h#NH1{!Ik pfd&v=WTQt8w{C>_-)j6kG zmZ@`2opZWct<*WE%jHsMvsp;f^!~Ol**?^DO`hifs44&=f~umb34Y07v! zehXl>0V0C67HciWn4KjeEEWr@sxtk4|8?WtNwEFcm{Yc@Vy$H`7@(^3dc70h4xmY} zPa;B+{C!@Q<^CQRW6lMfrwb>zFkriOfWsf}arIZ0*)jKSzW9HD4>|2i1+FOg^6oL0 zuMGL+PHkt#*vvh~NQ@CxMMM#xZ40h-e^cjfe*)md?7iRY1HqRBjSwR0J%@RRXP>@> zkKcbjGFwIi5M!jSYpSZEsw%t>6uuy+C;C8K=M*aB-KzlIq|@mbYi)bIUbpA-`I#n_ zWy#v)_!v+R^=b{kGLNXLO{}#BFq6sTxvIY0l+`3NPhQ=Ac;nXf2W4IstBgcUD^b-d zJ3eY@@JRF1!NCEoR?7f{5J-}wDJcQkB4Re+sH#y!e2lU916r{A&pdHrm;e9(07*qo IM6N<$g2apNRsaA1 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/cursor_h.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/cursor_h.gif deleted file mode 100644 index d7c3e7e9eb5755d57ec03c34097c258244abe61a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253 zcmVG|6H_V+Po~-c6$N^_IEGZ*Iy1qOk3oThS@Yxn_+t|0*P6|%n+#L~Iyf|E zrg84hNMwpx9_!-6|BEHhl_}FHLcZHi@xo+A>tN1bvzr~8Z#Ex)a8Qdkef% WRW|>PuXh3sXYh3Ob6Mw<&;$VH);Gui diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/cursor_v.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/cursor_v.gif deleted file mode 100644 index bb508db552b6ac3f670f9ce1fcb1e55669db0dd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 370 zcmZ?wbhEHbQBhG}zIty_2L(xqFsZe72A-PqWelao_UPVUE#AKKd5`}glJC@2UB2rw`(IB?*A zqN1XRh{(>JJ55YXczAeJRaJNI-YqUJE-x?t@#Dumd-if8Ejy6@I4`1w~F!Qzky-V-VnInOpfk+|GDYn9AS7wc)Z8bf!!3 zZ2HZ7qm!>fg-@N3u_S6BtfcFRaLzUWGF!q z%AzEfB~`D;I)q^T@hn>GjrE?{UdLiPgP&3w>7tmXsgPC#5>G@))3jVemdgxLP8K0W zSvgGh3k4G=ZtO?YCn3lc(TL2c!850)DFo3*HcZxKVg(a36p4}m^OOpp{&p|bt$J&&x7~}fl`AqcVt%cEU2}27dM96QnwD)g zZI46N>oIHU?{_Z!WDf$^W^<7J82vsuXemZ#a;t%OX9%BFi diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/filescan.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/filescan.png deleted file mode 100644 index 1d271588692c1726e3521032f71d8354b66fab0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4282 zcmV;r5Jm5aP)KLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(`>RI+y?e7jKeZ#YO-C z1?NdbK~#9!?3_!lWmOT!t7_HW`<(lvZ{H>$5@Q?MbURQ7v;-We31bE(&WQtc=8P#* zJ^>RAGY2LPoG<`iA;Azj5j8?%(@{|Rrqg}SeH_nzt+lGk!3`$J>9zR)_4^3F{8#PT zwH|0@w>~=R#xaCo;QT)bAR=2$bLC54z`uWZXJ>os!rqRXD)>5Ct=DbG|LMoaAAPtV zqsuDDy0Eu%cX7;h6_SXkyDE`Hs)|_+RL#s~l~6S^U{h07RdpjpS*mJmV5%lAYcg42 zYzC^PUb8;eGBi_DHBVMimZ_OBn2DN*C#!@612YBy00VGYWefng9mabnt1%|`QJ|@- zb{M%IV-y|6=tc_6np$#ZL?jAC!HpCk3W~x&NP#f8tfH(yAjpIiCy*XdM^2q-7i~-=?qyF|ON2^@cMp^Y}+eiJ= zPt5SQf4hHopf5kRuZCXbH*{D4g!a!nXOGO4|Mc*1Kq4exhGkg<0BnF_DCXma5@Kk8eAef@ z?2cRSvq~InbK7S&!|chLA{&|^6Cnro&7Cs*$qXKunc0ODW$`B)7FFQNWfiFc6A=?p zU2$EzkP>ypM8qLbRfozyhUH|{Aq3(;P}kIC@8FBcswogKGtOr)dh1YRJ_BatS%te> zko-_-;a>+}cMF;d*wS#g4;mo*DclFBVuZsTxSb-t^})%_wO+e&fCPSX;Ij~dDZF>< z`06g9nccjzdi~vdt5M9OwINuz*Mw)k_VCrm_80*AVLVwb*L`wT8w-}qtA5xA0DkSA zfBp5t<#XS<+_0a~+AM3#@|(YWyj=D8)1STZ{P(V{x~RT)|G=_^dt3D@zq`p>b+zha z8@+{}2-v(1JZ5d9bkUD?mt|qh#!+-V4zox~%DBDJRix%rU#Ha~$0O@8F4T;LT`2ENxy zTx1bXR*4Yov=z?8W7UY?H=K|aGBNYKsrPmzd+Sh?#mw!B!>p+v+Lh$D?~AgkDx5SN z>blz5LVv2D2-j7pYsP?7Gx>a`2-S=M8O$t;sTcSXmI=&QQp#PMy=IlEDoKf@>&DX) z@!y?tQ(A@GbsW2OTrRSB2VX4kfpXXK1(JTT$i8J*P8Q)oK>WoUw_kYW&F#vClxP#Y z^!zhuX1{;ugI~S=$K~;vOWDZ9gZ=M6`}B9e`2+*Nw=d7GJ#{Db3-HJ6J_}McKRmcR z0|0D4db9nW?p8e@@1=$Epyn(CjR4{F=jz zK-Z|fJ9%*b4xkVkWP}9TgSo6C3J96OB3KJHxR7GF6f81WLhVpT7gDNPs$hx1M$it- zWtEqqfQ<~6KwI!+O~}gU$%>#IsJ~M>nXGs&s|EFWR#{d$mz6Re`^&{9so@8s|^FfM#}lHq)$07*qoM6N<$f|`Fa&Hw-a diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/highlighted.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/highlighted.gif deleted file mode 100644 index 9272b4915ad2b8d4052a19b4c80a41b7c71cf1f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111 zcmZ?wbhEHb6k`x$Sjfb1_to#iH~&L`;!hSvE(RtB9R?r($ulrHOzB@K_Ll!X=Ym_^ zj diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/icons-all.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/icons-all.gif deleted file mode 100644 index 21915e59dede0aa22cda8c7097a14f0f1f68906c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3750 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 b4O*493C(v}$CrKE*L~j?e&ctU0s;U#>#h02 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/icons.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/icons.png deleted file mode 100644 index c015e3aac9a84ebad11b932e84722124772d9641..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19694 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ÏmvOE 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 b`u_(2Nr-(&rSM diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/loaderror.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/loaderror.png deleted file mode 100644 index 35ff3336457d48dbecbc11698ef8245441a94f82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3209 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 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/loading.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/loading.gif deleted file mode 100644 index b713e27dfba708a01c380e7c731a13b52a34edfc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 734 zcmZ?wbhEHb6krfw*v!jdZ*RYU|9&kkt+4ULFya6I z{|pQa5E95x{Lk&@8WQa67~pE8XTZz|68g!)$-uzNpaWzB4HaNuV6okB(sT7*i`QqX zc^L!>4t!=<(wVp51?zD`Kkg=-D~S>;skcR%7#$omMC>21xN*pcHs0c0tRNsF(;}SM ziPc1Fu!&|20tT$-nJa`fCQUjv@kC+C3!quI1U@ISvoqf2Xk|(i=IUl?N@{e_G3Yq3 z;U-H^uFrB+CTuRW+i+5nfx|fagWLs?!jQY{X6=arU0riqs^&x$2`7X};t z37RYmQ;O#*G6uOVn*=nAm7~Q)&(!ybaj}oz`WtJ?PQSHN#^y?3ICf5PGS1Ha8pE+k zgJmJh5y6y1=@^y-ft=a0ZG|ZdPArq?H(+2`(;|7`F{6Xpbl>GI8B?M_My|#ljzAN4 z3Pb@-+?qdUsm6)xA>j@^Y0K7lSt}-Mopvo#qQ-sCkLXFkyF zSLvgkf4d8-w;?feL$4)lp3HYoMI*E5@=0AueT*09aVgICcu;r3k!5-F!GZ%U3=K0F z9S$(a^)KPCsC4r`z65*B*uc`x?)kvPGDl;Yns{Fj0|R3#FisfHGY4!D^0$zE1ljvXNk%w1VH^N10QUd@000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~EC2ui02}}=000R80RIUbNU)&6g9sBUT*$DY!-o(fN}Na$VuFhf5;SOl zQR2k}8962Z;Gkkb01ZqM%&2mp#+Cvv!u%%_X3ds21*#in3e-1?2?(ltc28ctYrP)k z{Pb@UlQicB-E)}JlDi_MMmXbuk803?iR{rRp~2S#dR_^-LU%))h*>DmHq0rnjf;8~ zsJM}rcHp`#D%4?EVW;cduL6J7ThT2kQ{cJka07oF;i3Wu4ZceYpGm&F`Sa-04-5zZJCANLt@XPdKI8X22WQ%mvv4FO#q2N BK}7%n diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/pagebreak.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/pagebreak.gif deleted file mode 100644 index 8d1cffd64af72709b1180b3b0a51bbfe30bcb8c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54 zcmZ?wbhEHb{( zJaZG%Q-e|yQz{EjrrH1%u?6^qxTdA0{r~^J*gJ9sP=u)@$S?Rm!_(~sUO=9vr;B4q z#jTK2Cpj4yIG7J^{J*Sr7aP;;!*evU*UP7-zWuuR&zi{Xq6rL2tqds~bx9pSO$?r{ KelF{r5}E*+%QgN0 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/sortable.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/sortable.png deleted file mode 100644 index 1bca649698e187a80e1b1951fde99ddea3d7b038..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2851 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 BXOsW{ diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/spacer.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/spacer.gif deleted file mode 100644 index 5bfd67a2d6f72ac3a55cbfcea5866e841d22f5d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43 mcmZ?wbhEHbWMp7uXkdT>#h)yUAf^t80Ld^gF}W}@SOWlZ0R#L1 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/sparator_v.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/sparator_v.png deleted file mode 100644 index 8cf5662da8c36a446e1e08eb71b992c730ab8d15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^OhC-Y0V1m%Ufcz7ii6yp7}lMWc?smOq&xaLGB9lH z=l+w(3gmMZctjR6Fz_7)VaDV6D^h@h{GKk3Arj%q6<>aQ{Qv(yqp%0-vU7cb$AD4{ Mp00i_>zopr0ET%XRR910 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/table-cell-align.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/table-cell-align.png deleted file mode 100644 index ddf42853ea5c00663e74d9195d1f1264ab684252..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1847 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 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/toolbar_bg.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/toolbar_bg.png deleted file mode 100644 index 7ab685f4236ad543601b0d7dc43e429e041bee98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI{!2~3a95{LaNJ*BsMwA5Sra_n`~3ut zhqFCqhNk>9eAm}?**d-K>ErgL-9FQkEgB1_|9|!V%ggstduo?ezj^hOMS@|yt(J@G Th3lO_a~V8c{an^LB{Ts5X5&F_ diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/unhighlighted.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/unhighlighted.gif deleted file mode 100644 index 7ad0b67ae634d41e76848ec0b6696e8ac7e06983..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111 zcmZ?wbhEHb6k`x$Sjfci#j9d&%3_1)z0Fq~5a+uP;QtU1Nea;29 zx*cclynVJpP9xwz=Q6F#ReGoPZ4xWkEPX#)_EqLPYsO~h_`vc#s_EX6+DxrJi$d-_ L>N=ao&0q}x{nsuG diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/upload.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/upload.png deleted file mode 100644 index 08d4d9268204a20ca343bf75784302cc706d2417..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6608 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 O00001IobTth)ve1{+;xF-z$zX1$@cbk;N#jz zM8mU4YCupmEU?Nii0lQg^bRCan?Ab3%VAH658-8xBFJMB`IuzR@?X?_cxg~njWe8Z z7he1{t~NY@;sD2oqwB>InLWHP3|(&rFL;_%YXisG!f|)t`LI~xqj*wKLbXWp)f$eo z4#asOE4^bXVR1zDClZ^-`L@9YE{GEUM6w@>B$|*3C13A^6xxLq**_!Pdr{&MM+{D{ z56z@TzG*@hw6S^P4v136mt~*C)1y;z@#LIHDjO7zE0$NBVk(?tEAPD`x}r!4rSvo+ zGrN|Z-`M*gk?fXS+qo0;d0 zh<&hBzt>Fxc`eUN=*S8tip(N)4%c-Hsa$abS1kGZZD3dwRL~Y&OiQls$!Zy(aK#~| zjPP=1B(V$A*qhVABln1FxZ*mlSSnXYWQzzgJF1owUC)i7_7-#saE!r1=5SG$fWQ*I z?G_O^BB^|7ZhisN&MW7LKFbwbTU$SV{P_O;`{w56#>U3_`uf`1+Un}+%F2pDp;%g4 zT3lS5pP!e@<#Tg$GMVhlmoKxkvokX@)6>(Flao@ZbYfycB9V-bkB^RyibNuzP$&=x zMn*=4hK2?Q2l;$HkH;Gr80hQk>+S93a=9E1r@OnG&1QFYb~2ev27}Sj(b3-C-qzOE z+}zyQ*hr;PDHIBkNX*O2%g)YDPEJltOhlnjzdrQ8MQa@l0suN-^vmE^6Tt3mAau_$ zXbql@q{N)M&$25b1FG78WjFA2Q`{wpcH+plH-T+lc4H{-V^L{To}?sY^7t- zRp-#0EC|Fh>5nV9*osg354U2y3FFpwXQ!`Na;JKQ;uHrYmb=qU|MBr zTOt(Y=@VUlJq+6mQt^WJ9lIJTz?$6jvB@_0Ijg#xyHYhx6QE$9@Q;P`SNru{MQcx_ z>I9eqMm;}}tfJ*J&?Udq;ijL1AIs^TNj%ED8++(4bqQ3YK5><%~obS)3oEv z2`L9EwBilZbt=4c48b+h%ydj29TQf1;FclAt3p@D@Iv$C>k|Ryx={((b>+iEv*M}T zw2%>2(|!*aqioP7@6#WGj~%z23qkbWx? zq>K{ydFDHsgH&Ab#e8p|DBB+i&e7YjgH&Dp_Cc?zbGzF=vu-e#1^&&3UitP6Qvg=W z;+>M!e1J%3O7HX-hEcUA+~cC@8WAyj^bml>?&AT`HEEBQ}9Z=3X$i*Zty)I zU*Zj5^tvjIuB=l9Z9~T)&b;Eg=FK&TO>3g*yVOqt8d@&{JXvVbxz7~cYII$TQHvSS zgJ#LpO3a#6>HScB5@i5vKw}cnyiI*AUkCSPz7s6};*mIoCN(8C-gssBWz<}Twr?3} zMG(-KVyeCT&UjVicgg-NE@GN=DKAW@1zjD3zqggT>WPOqXK6a*HA(U%`Q-^?%QNdz M>|NJq=D?r-0Tclc1poj5 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/word.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/word.gif deleted file mode 100644 index 9ef5d09b7b30c4f3225f77788462e429cc494b9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1019 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 bp?H9uNI6(~=EJQ&zcn<}bW|&qZNmQtXU+rA diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/iframe.css b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/iframe.css deleted file mode 100644 index 774013a..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/iframe.css +++ /dev/null @@ -1 +0,0 @@ -/*可以在这里添加你自己的css*/ diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/SyntaxHighlighter/shCore.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/SyntaxHighlighter/shCore.js deleted file mode 100644 index 3249184..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/SyntaxHighlighter/shCore.js +++ /dev/null @@ -1,3655 +0,0 @@ -// XRegExp 1.5.1 -// (c) 2007-2012 Steven Levithan -// MIT License -// -// Provides an augmented, extensible, cross-browser implementation of regular expressions, -// including support for additional syntax, flags, and methods - -var XRegExp; - -if (XRegExp) { - // Avoid running twice, since that would break references to native globals - throw Error("can't load XRegExp twice in the same frame"); -} - -// Run within an anonymous function to protect variables and avoid new globals -(function (undefined) { - - //--------------------------------- - // Constructor - //--------------------------------- - - // Accepts a pattern and flags; returns a new, extended `RegExp` object. Differs from a native - // regular expression in that additional syntax and flags are supported and cross-browser - // syntax inconsistencies are ameliorated. `XRegExp(/regex/)` clones an existing regex and - // converts to type XRegExp - XRegExp = function (pattern, flags) { - var output = [], - currScope = XRegExp.OUTSIDE_CLASS, - pos = 0, - context, tokenResult, match, chr, regex; - - if (XRegExp.isRegExp(pattern)) { - if (flags !== undefined) - throw TypeError("can't supply flags when constructing one RegExp from another"); - return clone(pattern); - } - // Tokens become part of the regex construction process, so protect against infinite - // recursion when an XRegExp is constructed within a token handler or trigger - if (isInsideConstructor) - throw Error("can't call the XRegExp constructor within token definition functions"); - - flags = flags || ""; - context = { // `this` object for custom tokens - hasNamedCapture: false, - captureNames: [], - hasFlag: function (flag) {return flags.indexOf(flag) > -1;}, - setFlag: function (flag) {flags += flag;} - }; - - while (pos < pattern.length) { - // Check for custom tokens at the current position - tokenResult = runTokens(pattern, pos, currScope, context); - - if (tokenResult) { - output.push(tokenResult.output); - pos += (tokenResult.match[0].length || 1); - } else { - // Check for native multicharacter metasequences (excluding character classes) at - // the current position - if (match = nativ.exec.call(nativeTokens[currScope], pattern.slice(pos))) { - output.push(match[0]); - pos += match[0].length; - } else { - chr = pattern.charAt(pos); - if (chr === "[") - currScope = XRegExp.INSIDE_CLASS; - else if (chr === "]") - currScope = XRegExp.OUTSIDE_CLASS; - // Advance position one character - output.push(chr); - pos++; - } - } - } - - regex = RegExp(output.join(""), nativ.replace.call(flags, flagClip, "")); - regex._xregexp = { - source: pattern, - captureNames: context.hasNamedCapture ? context.captureNames : null - }; - return regex; - }; - - - //--------------------------------- - // Public properties - //--------------------------------- - - XRegExp.version = "1.5.1"; - - // Token scope bitflags - XRegExp.INSIDE_CLASS = 1; - XRegExp.OUTSIDE_CLASS = 2; - - - //--------------------------------- - // Private variables - //--------------------------------- - - var replacementToken = /\$(?:(\d\d?|[$&`'])|{([$\w]+)})/g, - flagClip = /[^gimy]+|([\s\S])(?=[\s\S]*\1)/g, // Nonnative and duplicate flags - quantifier = /^(?:[?*+]|{\d+(?:,\d*)?})\??/, - isInsideConstructor = false, - tokens = [], - // Copy native globals for reference ("native" is an ES3 reserved keyword) - nativ = { - exec: RegExp.prototype.exec, - test: RegExp.prototype.test, - match: String.prototype.match, - replace: String.prototype.replace, - split: String.prototype.split - }, - compliantExecNpcg = nativ.exec.call(/()??/, "")[1] === undefined, // check `exec` handling of nonparticipating capturing groups - compliantLastIndexIncrement = function () { - var x = /^/g; - nativ.test.call(x, ""); - return !x.lastIndex; - }(), - hasNativeY = RegExp.prototype.sticky !== undefined, - nativeTokens = {}; - - // `nativeTokens` match native multicharacter metasequences only (including deprecated octals, - // excluding character classes) - nativeTokens[XRegExp.INSIDE_CLASS] = /^(?:\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S]))/; - nativeTokens[XRegExp.OUTSIDE_CLASS] = /^(?:\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S])|\(\?[:=!]|[?*+]\?|{\d+(?:,\d*)?}\??)/; - - - //--------------------------------- - // Public methods - //--------------------------------- - - // Lets you extend or change XRegExp syntax and create custom flags. This is used internally by - // the XRegExp library and can be used to create XRegExp plugins. This function is intended for - // users with advanced knowledge of JavaScript's regular expression syntax and behavior. It can - // be disabled by `XRegExp.freezeTokens` - XRegExp.addToken = function (regex, handler, scope, trigger) { - tokens.push({ - pattern: clone(regex, "g" + (hasNativeY ? "y" : "")), - handler: handler, - scope: scope || XRegExp.OUTSIDE_CLASS, - trigger: trigger || null - }); - }; - - // Accepts a pattern and flags; returns an extended `RegExp` object. If the pattern and flag - // combination has previously been cached, the cached copy is returned; otherwise the newly - // created regex is cached - XRegExp.cache = function (pattern, flags) { - var key = pattern + "/" + (flags || ""); - return XRegExp.cache[key] || (XRegExp.cache[key] = XRegExp(pattern, flags)); - }; - - // Accepts a `RegExp` instance; returns a copy with the `/g` flag set. The copy has a fresh - // `lastIndex` (set to zero). If you want to copy a regex without forcing the `global` - // property, use `XRegExp(regex)`. Do not use `RegExp(regex)` because it will not preserve - // special properties required for named capture - XRegExp.copyAsGlobal = function (regex) { - return clone(regex, "g"); - }; - - // Accepts a string; returns the string with regex metacharacters escaped. The returned string - // can safely be used at any point within a regex to match the provided literal string. Escaped - // characters are [ ] { } ( ) * + ? - . , \ ^ $ | # and whitespace - XRegExp.escape = function (str) { - return str.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); - }; - - // Accepts a string to search, regex to search with, position to start the search within the - // string (default: 0), and an optional Boolean indicating whether matches must start at-or- - // after the position or at the specified position only. This function ignores the `lastIndex` - // of the provided regex in its own handling, but updates the property for compatibility - XRegExp.execAt = function (str, regex, pos, anchored) { - var r2 = clone(regex, "g" + ((anchored && hasNativeY) ? "y" : "")), - match; - r2.lastIndex = pos = pos || 0; - match = r2.exec(str); // Run the altered `exec` (required for `lastIndex` fix, etc.) - if (anchored && match && match.index !== pos) - match = null; - if (regex.global) - regex.lastIndex = match ? r2.lastIndex : 0; - return match; - }; - - // Breaks the unrestorable link to XRegExp's private list of tokens, thereby preventing - // syntax and flag changes. Should be run after XRegExp and any plugins are loaded - XRegExp.freezeTokens = function () { - XRegExp.addToken = function () { - throw Error("can't run addToken after freezeTokens"); - }; - }; - - // Accepts any value; returns a Boolean indicating whether the argument is a `RegExp` object. - // Note that this is also `true` for regex literals and regexes created by the `XRegExp` - // constructor. This works correctly for variables created in another frame, when `instanceof` - // and `constructor` checks would fail to work as intended - XRegExp.isRegExp = function (o) { - return Object.prototype.toString.call(o) === "[object RegExp]"; - }; - - // Executes `callback` once per match within `str`. Provides a simpler and cleaner way to - // iterate over regex matches compared to the traditional approaches of subverting - // `String.prototype.replace` or repeatedly calling `exec` within a `while` loop - XRegExp.iterate = function (str, regex, callback, context) { - var r2 = clone(regex, "g"), - i = -1, match; - while (match = r2.exec(str)) { // Run the altered `exec` (required for `lastIndex` fix, etc.) - if (regex.global) - regex.lastIndex = r2.lastIndex; // Doing this to follow expectations if `lastIndex` is checked within `callback` - callback.call(context, match, ++i, str, regex); - if (r2.lastIndex === match.index) - r2.lastIndex++; - } - if (regex.global) - regex.lastIndex = 0; - }; - - // Accepts a string and an array of regexes; returns the result of using each successive regex - // to search within the matches of the previous regex. The array of regexes can also contain - // objects with `regex` and `backref` properties, in which case the named or numbered back- - // references specified are passed forward to the next regex or returned. E.g.: - // var xregexpImgFileNames = XRegExp.matchChain(html, [ - // {regex: /]+)>/i, backref: 1}, // tag attributes - // {regex: XRegExp('(?ix) \\s src=" (? [^"]+ )'), backref: "src"}, // src attribute values - // {regex: XRegExp("^http://xregexp\\.com(/[^#?]+)", "i"), backref: 1}, // xregexp.com paths - // /[^\/]+$/ // filenames (strip directory paths) - // ]); - XRegExp.matchChain = function (str, chain) { - return function recurseChain (values, level) { - var item = chain[level].regex ? chain[level] : {regex: chain[level]}, - regex = clone(item.regex, "g"), - matches = [], i; - for (i = 0; i < values.length; i++) { - XRegExp.iterate(values[i], regex, function (match) { - matches.push(item.backref ? (match[item.backref] || "") : match[0]); - }); - } - return ((level === chain.length - 1) || !matches.length) ? - matches : recurseChain(matches, level + 1); - }([str], 0); - }; - - - //--------------------------------- - // New RegExp prototype methods - //--------------------------------- - - // Accepts a context object and arguments array; returns the result of calling `exec` with the - // first value in the arguments array. the context is ignored but is accepted for congruity - // with `Function.prototype.apply` - RegExp.prototype.apply = function (context, args) { - return this.exec(args[0]); - }; - - // Accepts a context object and string; returns the result of calling `exec` with the provided - // string. the context is ignored but is accepted for congruity with `Function.prototype.call` - RegExp.prototype.call = function (context, str) { - return this.exec(str); - }; - - - //--------------------------------- - // Overriden native methods - //--------------------------------- - - // Adds named capture support (with backreferences returned as `result.name`), and fixes two - // cross-browser issues per ES3: - // - Captured values for nonparticipating capturing groups should be returned as `undefined`, - // rather than the empty string. - // - `lastIndex` should not be incremented after zero-length matches. - RegExp.prototype.exec = function (str) { - var match, name, r2, origLastIndex; - if (!this.global) - origLastIndex = this.lastIndex; - match = nativ.exec.apply(this, arguments); - if (match) { - // Fix browsers whose `exec` methods don't consistently return `undefined` for - // nonparticipating capturing groups - if (!compliantExecNpcg && match.length > 1 && indexOf(match, "") > -1) { - r2 = RegExp(this.source, nativ.replace.call(getNativeFlags(this), "g", "")); - // Using `str.slice(match.index)` rather than `match[0]` in case lookahead allowed - // matching due to characters outside the match - nativ.replace.call((str + "").slice(match.index), r2, function () { - for (var i = 1; i < arguments.length - 2; i++) { - if (arguments[i] === undefined) - match[i] = undefined; - } - }); - } - // Attach named capture properties - if (this._xregexp && this._xregexp.captureNames) { - for (var i = 1; i < match.length; i++) { - name = this._xregexp.captureNames[i - 1]; - if (name) - match[name] = match[i]; - } - } - // Fix browsers that increment `lastIndex` after zero-length matches - if (!compliantLastIndexIncrement && this.global && !match[0].length && (this.lastIndex > match.index)) - this.lastIndex--; - } - if (!this.global) - this.lastIndex = origLastIndex; // Fix IE, Opera bug (last tested IE 9.0.5, Opera 11.61 on Windows) - return match; - }; - - // Fix browser bugs in native method - RegExp.prototype.test = function (str) { - // Use the native `exec` to skip some processing overhead, even though the altered - // `exec` would take care of the `lastIndex` fixes - var match, origLastIndex; - if (!this.global) - origLastIndex = this.lastIndex; - match = nativ.exec.call(this, str); - // Fix browsers that increment `lastIndex` after zero-length matches - if (match && !compliantLastIndexIncrement && this.global && !match[0].length && (this.lastIndex > match.index)) - this.lastIndex--; - if (!this.global) - this.lastIndex = origLastIndex; // Fix IE, Opera bug (last tested IE 9.0.5, Opera 11.61 on Windows) - return !!match; - }; - - // Adds named capture support and fixes browser bugs in native method - String.prototype.match = function (regex) { - if (!XRegExp.isRegExp(regex)) - regex = RegExp(regex); // Native `RegExp` - if (regex.global) { - var result = nativ.match.apply(this, arguments); - regex.lastIndex = 0; // Fix IE bug - return result; - } - return regex.exec(this); // Run the altered `exec` - }; - - // Adds support for `${n}` tokens for named and numbered backreferences in replacement text, - // and provides named backreferences to replacement functions as `arguments[0].name`. Also - // fixes cross-browser differences in replacement text syntax when performing a replacement - // using a nonregex search value, and the value of replacement regexes' `lastIndex` property - // during replacement iterations. Note that this doesn't support SpiderMonkey's proprietary - // third (`flags`) parameter - String.prototype.replace = function (search, replacement) { - var isRegex = XRegExp.isRegExp(search), - captureNames, result, str, origLastIndex; - - // There are too many combinations of search/replacement types/values and browser bugs that - // preclude passing to native `replace`, so don't try - //if (...) - // return nativ.replace.apply(this, arguments); - - if (isRegex) { - if (search._xregexp) - captureNames = search._xregexp.captureNames; // Array or `null` - if (!search.global) - origLastIndex = search.lastIndex; - } else { - search = search + ""; // Type conversion - } - - if (Object.prototype.toString.call(replacement) === "[object Function]") { - result = nativ.replace.call(this + "", search, function () { - if (captureNames) { - // Change the `arguments[0]` string primitive to a String object which can store properties - arguments[0] = new String(arguments[0]); - // Store named backreferences on `arguments[0]` - for (var i = 0; i < captureNames.length; i++) { - if (captureNames[i]) - arguments[0][captureNames[i]] = arguments[i + 1]; - } - } - // Update `lastIndex` before calling `replacement` (fix browsers) - if (isRegex && search.global) - search.lastIndex = arguments[arguments.length - 2] + arguments[0].length; - return replacement.apply(null, arguments); - }); - } else { - str = this + ""; // Type conversion, so `args[args.length - 1]` will be a string (given nonstring `this`) - result = nativ.replace.call(str, search, function () { - var args = arguments; // Keep this function's `arguments` available through closure - return nativ.replace.call(replacement + "", replacementToken, function ($0, $1, $2) { - // Numbered backreference (without delimiters) or special variable - if ($1) { - switch ($1) { - case "$": return "$"; - case "&": return args[0]; - case "`": return args[args.length - 1].slice(0, args[args.length - 2]); - case "'": return args[args.length - 1].slice(args[args.length - 2] + args[0].length); - // Numbered backreference - default: - // What does "$10" mean? - // - Backreference 10, if 10 or more capturing groups exist - // - Backreference 1 followed by "0", if 1-9 capturing groups exist - // - Otherwise, it's the string "$10" - // Also note: - // - Backreferences cannot be more than two digits (enforced by `replacementToken`) - // - "$01" is equivalent to "$1" if a capturing group exists, otherwise it's the string "$01" - // - There is no "$0" token ("$&" is the entire match) - var literalNumbers = ""; - $1 = +$1; // Type conversion; drop leading zero - if (!$1) // `$1` was "0" or "00" - return $0; - while ($1 > args.length - 3) { - literalNumbers = String.prototype.slice.call($1, -1) + literalNumbers; - $1 = Math.floor($1 / 10); // Drop the last digit - } - return ($1 ? args[$1] || "" : "$") + literalNumbers; - } - // Named backreference or delimited numbered backreference - } else { - // What does "${n}" mean? - // - Backreference to numbered capture n. Two differences from "$n": - // - n can be more than two digits - // - Backreference 0 is allowed, and is the entire match - // - Backreference to named capture n, if it exists and is not a number overridden by numbered capture - // - Otherwise, it's the string "${n}" - var n = +$2; // Type conversion; drop leading zeros - if (n <= args.length - 3) - return args[n]; - n = captureNames ? indexOf(captureNames, $2) : -1; - return n > -1 ? args[n + 1] : $0; - } - }); - }); - } - - if (isRegex) { - if (search.global) - search.lastIndex = 0; // Fix IE, Safari bug (last tested IE 9.0.5, Safari 5.1.2 on Windows) - else - search.lastIndex = origLastIndex; // Fix IE, Opera bug (last tested IE 9.0.5, Opera 11.61 on Windows) - } - - return result; - }; - - // A consistent cross-browser, ES3 compliant `split` - String.prototype.split = function (s /* separator */, limit) { - // If separator `s` is not a regex, use the native `split` - if (!XRegExp.isRegExp(s)) - return nativ.split.apply(this, arguments); - - var str = this + "", // Type conversion - output = [], - lastLastIndex = 0, - match, lastLength; - - // Behavior for `limit`: if it's... - // - `undefined`: No limit - // - `NaN` or zero: Return an empty array - // - A positive number: Use `Math.floor(limit)` - // - A negative number: No limit - // - Other: Type-convert, then use the above rules - if (limit === undefined || +limit < 0) { - limit = Infinity; - } else { - limit = Math.floor(+limit); - if (!limit) - return []; - } - - // This is required if not `s.global`, and it avoids needing to set `s.lastIndex` to zero - // and restore it to its original value when we're done using the regex - s = XRegExp.copyAsGlobal(s); - - while (match = s.exec(str)) { // Run the altered `exec` (required for `lastIndex` fix, etc.) - if (s.lastIndex > lastLastIndex) { - output.push(str.slice(lastLastIndex, match.index)); - - if (match.length > 1 && match.index < str.length) - Array.prototype.push.apply(output, match.slice(1)); - - lastLength = match[0].length; - lastLastIndex = s.lastIndex; - - if (output.length >= limit) - break; - } - - if (s.lastIndex === match.index) - s.lastIndex++; - } - - if (lastLastIndex === str.length) { - if (!nativ.test.call(s, "") || lastLength) - output.push(""); - } else { - output.push(str.slice(lastLastIndex)); - } - - return output.length > limit ? output.slice(0, limit) : output; - }; - - - //--------------------------------- - // Private helper functions - //--------------------------------- - - // Supporting function for `XRegExp`, `XRegExp.copyAsGlobal`, etc. Returns a copy of a `RegExp` - // instance with a fresh `lastIndex` (set to zero), preserving properties required for named - // capture. Also allows adding new flags in the process of copying the regex - function clone (regex, additionalFlags) { - if (!XRegExp.isRegExp(regex)) - throw TypeError("type RegExp expected"); - var x = regex._xregexp; - regex = XRegExp(regex.source, getNativeFlags(regex) + (additionalFlags || "")); - if (x) { - regex._xregexp = { - source: x.source, - captureNames: x.captureNames ? x.captureNames.slice(0) : null - }; - } - return regex; - } - - function getNativeFlags (regex) { - return (regex.global ? "g" : "") + - (regex.ignoreCase ? "i" : "") + - (regex.multiline ? "m" : "") + - (regex.extended ? "x" : "") + // Proposed for ES4; included in AS3 - (regex.sticky ? "y" : ""); - } - - function runTokens (pattern, index, scope, context) { - var i = tokens.length, - result, match, t; - // Protect against constructing XRegExps within token handler and trigger functions - isInsideConstructor = true; - // Must reset `isInsideConstructor`, even if a `trigger` or `handler` throws - try { - while (i--) { // Run in reverse order - t = tokens[i]; - if ((scope & t.scope) && (!t.trigger || t.trigger.call(context))) { - t.pattern.lastIndex = index; - match = t.pattern.exec(pattern); // Running the altered `exec` here allows use of named backreferences, etc. - if (match && match.index === index) { - result = { - output: t.handler.call(context, match, scope), - match: match - }; - break; - } - } - } - } catch (err) { - throw err; - } finally { - isInsideConstructor = false; - } - return result; - } - - function indexOf (array, item, from) { - if (Array.prototype.indexOf) // Use the native array method if available - return array.indexOf(item, from); - for (var i = from || 0; i < array.length; i++) { - if (array[i] === item) - return i; - } - return -1; - } - - - //--------------------------------- - // Built-in tokens - //--------------------------------- - - // Augment XRegExp's regular expression syntax and flags. Note that when adding tokens, the - // third (`scope`) argument defaults to `XRegExp.OUTSIDE_CLASS` - - // Comment pattern: (?# ) - XRegExp.addToken( - /\(\?#[^)]*\)/, - function (match) { - // Keep tokens separated unless the following token is a quantifier - return nativ.test.call(quantifier, match.input.slice(match.index + match[0].length)) ? "" : "(?:)"; - } - ); - - // Capturing group (match the opening parenthesis only). - // Required for support of named capturing groups - XRegExp.addToken( - /\((?!\?)/, - function () { - this.captureNames.push(null); - return "("; - } - ); - - // Named capturing group (match the opening delimiter only): (? - XRegExp.addToken( - /\(\?<([$\w]+)>/, - function (match) { - this.captureNames.push(match[1]); - this.hasNamedCapture = true; - return "("; - } - ); - - // Named backreference: \k - XRegExp.addToken( - /\\k<([\w$]+)>/, - function (match) { - var index = indexOf(this.captureNames, match[1]); - // Keep backreferences separate from subsequent literal numbers. Preserve back- - // references to named groups that are undefined at this point as literal strings - return index > -1 ? - "\\" + (index + 1) + (isNaN(match.input.charAt(match.index + match[0].length)) ? "" : "(?:)") : - match[0]; - } - ); - - // Empty character class: [] or [^] - XRegExp.addToken( - /\[\^?]/, - function (match) { - // For cross-browser compatibility with ES3, convert [] to \b\B and [^] to [\s\S]. - // (?!) should work like \b\B, but is unreliable in Firefox - return match[0] === "[]" ? "\\b\\B" : "[\\s\\S]"; - } - ); - - // Mode modifier at the start of the pattern only, with any combination of flags imsx: (?imsx) - // Does not support x(?i), (?-i), (?i-m), (?i: ), (?i)(?m), etc. - XRegExp.addToken( - /^\(\?([imsx]+)\)/, - function (match) { - this.setFlag(match[1]); - return ""; - } - ); - - // Whitespace and comments, in free-spacing (aka extended) mode only - XRegExp.addToken( - /(?:\s+|#.*)+/, - function (match) { - // Keep tokens separated unless the following token is a quantifier - return nativ.test.call(quantifier, match.input.slice(match.index + match[0].length)) ? "" : "(?:)"; - }, - XRegExp.OUTSIDE_CLASS, - function () {return this.hasFlag("x");} - ); - - // Dot, in dotall (aka singleline) mode only - XRegExp.addToken( - /\./, - function () {return "[\\s\\S]";}, - XRegExp.OUTSIDE_CLASS, - function () {return this.hasFlag("s");} - ); - - - //--------------------------------- - // Backward compatibility - //--------------------------------- - - // Uncomment the following block for compatibility with XRegExp 1.0-1.2: - /* - XRegExp.matchWithinChain = XRegExp.matchChain; - RegExp.prototype.addFlags = function (s) {return clone(this, s);}; - RegExp.prototype.execAll = function (s) {var r = []; XRegExp.iterate(s, this, function (m) {r.push(m);}); return r;}; - RegExp.prototype.forEachExec = function (s, f, c) {return XRegExp.iterate(s, this, f, c);}; - RegExp.prototype.validate = function (s) {var r = RegExp("^(?:" + this.source + ")$(?!\\s)", getNativeFlags(this)); if (this.global) this.lastIndex = 0; return s.search(r) === 0;}; - */ - -})(); - -// -// Begin anonymous function. This is used to contain local scope variables without polutting global scope. -// -if (typeof(SyntaxHighlighter) == 'undefined') var SyntaxHighlighter = function() { - -// CommonJS - if (typeof(require) != 'undefined' && typeof(XRegExp) == 'undefined') - { - XRegExp = require('XRegExp').XRegExp; - } - -// Shortcut object which will be assigned to the SyntaxHighlighter variable. -// This is a shorthand for local reference in order to avoid long namespace -// references to SyntaxHighlighter.whatever... - var sh = { - defaults : { - /** Additional CSS class names to be added to highlighter elements. */ - 'class-name' : '', - - /** First line number. */ - 'first-line' : 1, - - /** - * Pads line numbers. Possible values are: - * - * false - don't pad line numbers. - * true - automaticaly pad numbers with minimum required number of leading zeroes. - * [int] - length up to which pad line numbers. - */ - 'pad-line-numbers' : false, - - /** Lines to highlight. */ - 'highlight' : false, - - /** Title to be displayed above the code block. */ - 'title' : null, - - /** Enables or disables smart tabs. */ - 'smart-tabs' : true, - - /** Gets or sets tab size. */ - 'tab-size' : 4, - - /** Enables or disables gutter. */ - 'gutter' : true, - - /** Enables or disables toolbar. */ - 'toolbar' : true, - - /** Enables quick code copy and paste from double click. */ - 'quick-code' : true, - - /** Forces code view to be collapsed. */ - 'collapse' : false, - - /** Enables or disables automatic links. */ - 'auto-links' : false, - - /** Gets or sets light mode. Equavalent to turning off gutter and toolbar. */ - 'light' : false, - - 'unindent' : true, - - 'html-script' : false - }, - - config : { - space : ' ', - - /** Enables use of - * - * ``` - */ - findParent:function (node, filterFn, includeSelf) { - if (node && !domUtils.isBody(node)) { - node = includeSelf ? node : node.parentNode; - while (node) { - if (!filterFn || filterFn(node) || domUtils.isBody(node)) { - return filterFn && !filterFn(node) && domUtils.isBody(node) ? null : node; - } - node = node.parentNode; - } - } - return null; - }, - /** - * 查找node的节点名为tagName的第一个祖先节点, 查找的起点是node节点的父节点。 - * @method findParentByTagName - * @param { Node } node 需要查找的节点对象 - * @param { Array } tagNames 需要查找的父节点的名称数组 - * @warning 查找的终点是到body节点为止 - * @return { Node | NULL } 如果找到符合条件的节点, 则返回该节点, 否则返回NULL - * @example - * ```javascript - * var node = UE.dom.domUtils.findParentByTagName( document.getElementsByTagName("div")[0], [ "BODY" ] ); - * //output: BODY - * console.log( node.tagName ); - * ``` - */ - - /** - * 查找node的节点名为tagName的祖先节点, 如果includeSelf的值为true,则查找的起点是给定的节点node, - * 否则, 起点是node的父节点。 - * @method findParentByTagName - * @param { Node } node 需要查找的节点对象 - * @param { Array } tagNames 需要查找的父节点的名称数组 - * @param { Boolean } includeSelf 查找过程是否包含node节点自身 - * @warning 查找的终点是到body节点为止 - * @return { Node | NULL } 如果找到符合条件的节点, 则返回该节点, 否则返回NULL - * @example - * ```javascript - * var queryTarget = document.getElementsByTagName("div")[0]; - * var node = UE.dom.domUtils.findParentByTagName( queryTarget, [ "DIV" ], true ); - * //output: true - * console.log( queryTarget === node ); - * ``` - */ - findParentByTagName:function (node, tagNames, includeSelf, excludeFn) { - tagNames = utils.listToMap(utils.isArray(tagNames) ? tagNames : [tagNames]); - return domUtils.findParent(node, function (node) { - return tagNames[node.tagName] && !(excludeFn && excludeFn(node)); - }, includeSelf); - }, - /** - * 查找节点node的祖先节点集合, 查找的起点是给定节点的父节点,结果集中不包含给定的节点。 - * @method findParents - * @param { Node } node 需要查找的节点对象 - * @return { Array } 给定节点的祖先节点数组 - * @grammar UE.dom.domUtils.findParents(node) => Array //返回一个祖先节点数组集合,不包含自身 - * @grammar UE.dom.domUtils.findParents(node,includeSelf) => Array //返回一个祖先节点数组集合,includeSelf指定是否包含自身 - * @grammar UE.dom.domUtils.findParents(node,includeSelf,filterFn) => Array //返回一个祖先节点数组集合,filterFn指定过滤条件,返回true的node将被选取 - * @grammar UE.dom.domUtils.findParents(node,includeSelf,filterFn,closerFirst) => Array //返回一个祖先节点数组集合,closerFirst为true的话,node的直接父亲节点是数组的第0个 - */ - - /** - * 查找节点node的祖先节点集合, 如果includeSelf的值为true, - * 则返回的结果集中允许出现当前给定的节点, 否则, 该节点不会出现在其结果集中。 - * @method findParents - * @param { Node } node 需要查找的节点对象 - * @param { Boolean } includeSelf 查找的结果中是否允许包含当前查找的节点对象 - * @return { Array } 给定节点的祖先节点数组 - */ - findParents:function (node, includeSelf, filterFn, closerFirst) { - var parents = includeSelf && ( filterFn && filterFn(node) || !filterFn ) ? [node] : []; - while (node = domUtils.findParent(node, filterFn)) { - parents.push(node); - } - return closerFirst ? parents : parents.reverse(); - }, - - /** - * 在节点node后面插入新节点newNode - * @method insertAfter - * @param { Node } node 目标节点 - * @param { Node } newNode 新插入的节点, 该节点将置于目标节点之后 - * @return { Node } 新插入的节点 - */ - insertAfter:function (node, newNode) { - return node.nextSibling ? node.parentNode.insertBefore(newNode, node.nextSibling): - node.parentNode.appendChild(newNode); - }, - - /** - * 删除节点node及其下属的所有节点 - * @method remove - * @param { Node } node 需要删除的节点对象 - * @return { Node } 返回刚删除的节点对象 - * @example - * ```html - *

    - * - * ``` - */ - - /** - * 删除节点node,并根据keepChildren的值决定是否保留子节点 - * @method remove - * @param { Node } node 需要删除的节点对象 - * @param { Boolean } keepChildren 是否需要保留子节点 - * @return { Node } 返回刚删除的节点对象 - * @example - * ```html - *
    - *
    你好
    - *
    - * - * ``` - */ - remove:function (node, keepChildren) { - var parent = node.parentNode, - child; - if (parent) { - if (keepChildren && node.hasChildNodes()) { - while (child = node.firstChild) { - parent.insertBefore(child, node); - } - } - parent.removeChild(node); - } - return node; - }, - - /** - * 取得node节点的下一个兄弟节点, 如果该节点其后没有兄弟节点, 则递归查找其父节点之后的第一个兄弟节点, - * 直到找到满足条件的节点或者递归到BODY节点之后才会结束。 - * @method getNextDomNode - * @param { Node } node 需要获取其后的兄弟节点的节点对象 - * @return { Node | NULL } 如果找满足条件的节点, 则返回该节点, 否则返回NULL - * @example - * ```html - * - *
    - * - *
    - * xxx - * - * - * ``` - * @example - * ```html - * - *
    - * - * xxx - *
    - * xxx - * - * - * ``` - */ - - /** - * 取得node节点的下一个兄弟节点, 如果startFromChild的值为ture,则先获取其子节点, - * 如果有子节点则直接返回第一个子节点;如果没有子节点或者startFromChild的值为false, - * 则执行
    getNextDomNode(Node node)的查找过程。 - * @method getNextDomNode - * @param { Node } node 需要获取其后的兄弟节点的节点对象 - * @param { Boolean } startFromChild 查找过程是否从其子节点开始 - * @return { Node | NULL } 如果找满足条件的节点, 则返回该节点, 否则返回NULL - * @see UE.dom.domUtils.getNextDomNode(Node) - */ - getNextDomNode:function (node, startFromChild, filterFn, guard) { - return getDomNode(node, 'firstChild', 'nextSibling', startFromChild, filterFn, guard); - }, - getPreDomNode:function (node, startFromChild, filterFn, guard) { - return getDomNode(node, 'lastChild', 'previousSibling', startFromChild, filterFn, guard); - }, - /** - * 检测节点node是否属是UEditor定义的bookmark节点 - * @method isBookmarkNode - * @private - * @param { Node } node 需要检测的节点对象 - * @return { Boolean } 是否是bookmark节点 - * @example - * ```html - * - * - * ``` - */ - isBookmarkNode:function (node) { - return node.nodeType == 1 && node.id && /^_baidu_bookmark_/i.test(node.id); - }, - /** - * 获取节点node所属的window对象 - * @method getWindow - * @param { Node } node 节点对象 - * @return { Window } 当前节点所属的window对象 - * @example - * ```javascript - * //output: true - * console.log( UE.dom.domUtils.getWindow( document.body ) === window ); - * ``` - */ - getWindow:function (node) { - var doc = node.ownerDocument || node; - return doc.defaultView || doc.parentWindow; - }, - /** - * 获取离nodeA与nodeB最近的公共的祖先节点 - * @method getCommonAncestor - * @param { Node } nodeA 第一个节点 - * @param { Node } nodeB 第二个节点 - * @remind 如果给定的两个节点是同一个节点, 将直接返回该节点。 - * @return { Node | NULL } 如果未找到公共节点, 返回NULL, 否则返回最近的公共祖先节点。 - * @example - * ```javascript - * var commonAncestor = UE.dom.domUtils.getCommonAncestor( document.body, document.body.firstChild ); - * //output: true - * console.log( commonAncestor.tagName.toLowerCase() === 'body' ); - * ``` - */ - getCommonAncestor:function (nodeA, nodeB) { - if (nodeA === nodeB) - return nodeA; - var parentsA = [nodeA] , parentsB = [nodeB], parent = nodeA, i = -1; - while (parent = parent.parentNode) { - if (parent === nodeB) { - return parent; - } - parentsA.push(parent); - } - parent = nodeB; - while (parent = parent.parentNode) { - if (parent === nodeA) - return parent; - parentsB.push(parent); - } - parentsA.reverse(); - parentsB.reverse(); - while (i++, parentsA[i] === parentsB[i]) { - } - return i == 0 ? null : parentsA[i - 1]; - - }, - /** - * 清除node节点左右连续为空的兄弟inline节点 - * @method clearEmptySibling - * @param { Node } node 执行的节点对象, 如果该节点的左右连续的兄弟节点是空的inline节点, - * 则这些兄弟节点将被删除 - * @grammar UE.dom.domUtils.clearEmptySibling(node,ignoreNext) //ignoreNext指定是否忽略右边空节点 - * @grammar UE.dom.domUtils.clearEmptySibling(node,ignoreNext,ignorePre) //ignorePre指定是否忽略左边空节点 - * @example - * ```html - * - *
    - * - * - * - * xxx - * - * - * - * ``` - */ - - /** - * 清除node节点左右连续为空的兄弟inline节点, 如果ignoreNext的值为true, - * 则忽略对右边兄弟节点的操作。 - * @method clearEmptySibling - * @param { Node } node 执行的节点对象, 如果该节点的左右连续的兄弟节点是空的inline节点, - * @param { Boolean } ignoreNext 是否忽略忽略对右边的兄弟节点的操作 - * 则这些兄弟节点将被删除 - * @see UE.dom.domUtils.clearEmptySibling(Node) - */ - - /** - * 清除node节点左右连续为空的兄弟inline节点, 如果ignoreNext的值为true, - * 则忽略对右边兄弟节点的操作, 如果ignorePre的值为true,则忽略对左边兄弟节点的操作。 - * @method clearEmptySibling - * @param { Node } node 执行的节点对象, 如果该节点的左右连续的兄弟节点是空的inline节点, - * @param { Boolean } ignoreNext 是否忽略忽略对右边的兄弟节点的操作 - * @param { Boolean } ignorePre 是否忽略忽略对左边的兄弟节点的操作 - * 则这些兄弟节点将被删除 - * @see UE.dom.domUtils.clearEmptySibling(Node) - */ - clearEmptySibling:function (node, ignoreNext, ignorePre) { - function clear(next, dir) { - var tmpNode; - while (next && !domUtils.isBookmarkNode(next) && (domUtils.isEmptyInlineElement(next) - //这里不能把空格算进来会吧空格干掉,出现文字间的空格丢掉了 - || !new RegExp('[^\t\n\r' + domUtils.fillChar + ']').test(next.nodeValue) )) { - tmpNode = next[dir]; - domUtils.remove(next); - next = tmpNode; - } - } - !ignoreNext && clear(node.nextSibling, 'nextSibling'); - !ignorePre && clear(node.previousSibling, 'previousSibling'); - }, - /** - * 将一个文本节点textNode拆分成两个文本节点,offset指定拆分位置 - * @method split - * @param { Node } textNode 需要拆分的文本节点对象 - * @param { int } offset 需要拆分的位置, 位置计算从0开始 - * @return { Node } 拆分后形成的新节点 - * @example - * ```html - *
    abcdef
    - * - * ``` - */ - split:function (node, offset) { - var doc = node.ownerDocument; - if (browser.ie && offset == node.nodeValue.length) { - var next = doc.createTextNode(''); - return domUtils.insertAfter(node, next); - } - var retval = node.splitText(offset); - //ie8下splitText不会跟新childNodes,我们手动触发他的更新 - if (browser.ie8) { - var tmpNode = doc.createTextNode(''); - domUtils.insertAfter(retval, tmpNode); - domUtils.remove(tmpNode); - } - return retval; - }, - - /** - * 检测文本节点textNode是否为空节点(包括空格、换行、占位符等字符) - * @method isWhitespace - * @param { Node } node 需要检测的节点对象 - * @return { Boolean } 检测的节点是否为空 - * @example - * ```html - *
    - * - *
    - * - * ``` - */ - isWhitespace:function (node) { - return !new RegExp('[^ \t\n\r' + domUtils.fillChar + ']').test(node.nodeValue); - }, - /** - * 获取元素element相对于viewport的位置坐标 - * @method getXY - * @param { Node } element 需要计算位置的节点对象 - * @return { Object } 返回形如{x:left,y:top}的一个key-value映射对象, 其中键x代表水平偏移距离, - * y代表垂直偏移距离。 - * - * @example - * ```javascript - * var location = UE.dom.domUtils.getXY( document.getElementById("test") ); - * //output: test的坐标为: 12, 24 - * console.log( 'test的坐标为: ', location.x, ',', location.y ); - * ``` - */ - getXY:function (element) { - var x = 0, y = 0; - while (element.offsetParent) { - y += element.offsetTop; - x += element.offsetLeft; - element = element.offsetParent; - } - return { 'x':x, 'y':y}; - }, - /** - * 为元素element绑定原生DOM事件,type为事件类型,handler为处理函数 - * @method on - * @param { Node } element 需要绑定事件的节点对象 - * @param { String } type 绑定的事件类型 - * @param { Function } handler 事件处理器 - * @example - * ```javascript - * UE.dom.domUtils.on(document.body,"click",function(e){ - * //e为事件对象,this为被点击元素对戏那个 - * }); - * ``` - */ - - /** - * 为元素element绑定原生DOM事件,type为事件类型,handler为处理函数 - * @method on - * @param { Node } element 需要绑定事件的节点对象 - * @param { Array } type 绑定的事件类型数组 - * @param { Function } handler 事件处理器 - * @example - * ```javascript - * UE.dom.domUtils.on(document.body,["click","mousedown"],function(evt){ - * //evt为事件对象,this为被点击元素对象 - * }); - * ``` - */ - on:function (element, type, handler) { - - var types = utils.isArray(type) ? type : utils.trim(type).split(/\s+/), - k = types.length; - if (k) while (k--) { - type = types[k]; - if (element.addEventListener) { - element.addEventListener(type, handler, false); - } else { - if (!handler._d) { - handler._d = { - els : [] - }; - } - var key = type + handler.toString(),index = utils.indexOf(handler._d.els,element); - if (!handler._d[key] || index == -1) { - if(index == -1){ - handler._d.els.push(element); - } - if(!handler._d[key]){ - handler._d[key] = function (evt) { - return handler.call(evt.srcElement, evt || window.event); - }; - } - - - element.attachEvent('on' + type, handler._d[key]); - } - } - } - element = null; - }, - /** - * 解除DOM事件绑定 - * @method un - * @param { Node } element 需要解除事件绑定的节点对象 - * @param { String } type 需要接触绑定的事件类型 - * @param { Function } handler 对应的事件处理器 - * @example - * ```javascript - * UE.dom.domUtils.un(document.body,"click",function(evt){ - * //evt为事件对象,this为被点击元素对象 - * }); - * ``` - */ - - /** - * 解除DOM事件绑定 - * @method un - * @param { Node } element 需要解除事件绑定的节点对象 - * @param { Array } type 需要接触绑定的事件类型数组 - * @param { Function } handler 对应的事件处理器 - * @example - * ```javascript - * UE.dom.domUtils.un(document.body, ["click","mousedown"],function(evt){ - * //evt为事件对象,this为被点击元素对象 - * }); - * ``` - */ - un:function (element, type, handler) { - var types = utils.isArray(type) ? type : utils.trim(type).split(/\s+/), - k = types.length; - if (k) while (k--) { - type = types[k]; - if (element.removeEventListener) { - element.removeEventListener(type, handler, false); - } else { - var key = type + handler.toString(); - try{ - element.detachEvent('on' + type, handler._d ? handler._d[key] : handler); - }catch(e){} - if (handler._d && handler._d[key]) { - var index = utils.indexOf(handler._d.els,element); - if(index!=-1){ - handler._d.els.splice(index,1); - } - handler._d.els.length == 0 && delete handler._d[key]; - } - } - } - }, - - /** - * 比较节点nodeA与节点nodeB是否具有相同的标签名、属性名以及属性值 - * @method isSameElement - * @param { Node } nodeA 需要比较的节点 - * @param { Node } nodeB 需要比较的节点 - * @return { Boolean } 两个节点是否具有相同的标签名、属性名以及属性值 - * @example - * ```html - * ssss - * bbbbb - * ssss - * bbbbb - * - * - * ``` - */ - isSameElement:function (nodeA, nodeB) { - if (nodeA.tagName != nodeB.tagName) { - return false; - } - var thisAttrs = nodeA.attributes, - otherAttrs = nodeB.attributes; - if (!ie && thisAttrs.length != otherAttrs.length) { - return false; - } - var attrA, attrB, al = 0, bl = 0; - for (var i = 0; attrA = thisAttrs[i++];) { - if (attrA.nodeName == 'style') { - if (attrA.specified) { - al++; - } - if (domUtils.isSameStyle(nodeA, nodeB)) { - continue; - } else { - return false; - } - } - if (ie) { - if (attrA.specified) { - al++; - attrB = otherAttrs.getNamedItem(attrA.nodeName); - } else { - continue; - } - } else { - attrB = nodeB.attributes[attrA.nodeName]; - } - if (!attrB.specified || attrA.nodeValue != attrB.nodeValue) { - return false; - } - } - // 有可能attrB的属性包含了attrA的属性之外还有自己的属性 - if (ie) { - for (i = 0; attrB = otherAttrs[i++];) { - if (attrB.specified) { - bl++; - } - } - if (al != bl) { - return false; - } - } - return true; - }, - - /** - * 判断节点nodeA与节点nodeB的元素的style属性是否一致 - * @method isSameStyle - * @param { Node } nodeA 需要比较的节点 - * @param { Node } nodeB 需要比较的节点 - * @return { Boolean } 两个节点是否具有相同的style属性值 - * @example - * ```html - * ssss - * bbbbb - * ssss - * bbbbb - * - * - * ``` - */ - isSameStyle:function (nodeA, nodeB) { - var styleA = nodeA.style.cssText.replace(/( ?; ?)/g, ';').replace(/( ?: ?)/g, ':'), - styleB = nodeB.style.cssText.replace(/( ?; ?)/g, ';').replace(/( ?: ?)/g, ':'); - if (browser.opera) { - styleA = nodeA.style; - styleB = nodeB.style; - if (styleA.length != styleB.length) - return false; - for (var p in styleA) { - if (/^(\d+|csstext)$/i.test(p)) { - continue; - } - if (styleA[p] != styleB[p]) { - return false; - } - } - return true; - } - if (!styleA || !styleB) { - return styleA == styleB; - } - styleA = styleA.split(';'); - styleB = styleB.split(';'); - if (styleA.length != styleB.length) { - return false; - } - for (var i = 0, ci; ci = styleA[i++];) { - if (utils.indexOf(styleB, ci) == -1) { - return false; - } - } - return true; - }, - /** - * 检查节点node是否为block元素 - * @method isBlockElm - * @param { Node } node 需要检测的节点对象 - * @return { Boolean } 是否是block元素节点 - * @warning 该方法的判断规则如下: 如果该元素原本是block元素, 则不论该元素当前的css样式是什么都会返回true; - * 否则,检测该元素的css样式, 如果该元素当前是block元素, 则返回true。 其余情况下都返回false。 - * @example - * ```html - * - * - *
    - * - * - * ``` - */ - isBlockElm:function (node) { - return node.nodeType == 1 && (dtd.$block[node.tagName] || styleBlock[domUtils.getComputedStyle(node, 'display')]) && !dtd.$nonChild[node.tagName]; - }, - /** - * 检测node节点是否为body节点 - * @method isBody - * @param { Element } node 需要检测的dom元素 - * @return { Boolean } 给定的元素是否是body元素 - * @example - * ```javascript - * //output: true - * console.log( UE.dom.domUtils.isBody( document.body ) ); - * ``` - */ - isBody:function (node) { - return node && node.nodeType == 1 && node.tagName.toLowerCase() == 'body'; - }, - /** - * 以node节点为分界,将该节点的指定祖先节点parent拆分成两个独立的节点, - * 拆分形成的两个节点之间是node节点 - * @method breakParent - * @param { Node } node 作为分界的节点对象 - * @param { Node } parent 该节点必须是node节点的祖先节点, 且是block节点。 - * @return { Node } 给定的node分界节点 - * @example - * ```javascript - * - * var node = document.createElement("span"), - * wrapNode = document.createElement( "div" ), - * parent = document.createElement("p"); - * - * parent.appendChild( node ); - * wrapNode.appendChild( parent ); - * - * //拆分前 - * //output:

    - * console.log( wrapNode.innerHTML ); - * - * - * UE.dom.domUtils.breakParent( node, parent ); - * //拆分后 - * //output:

    - * console.log( wrapNode.innerHTML ); - * - * ``` - */ - breakParent:function (node, parent) { - var tmpNode, - parentClone = node, - clone = node, - leftNodes, - rightNodes; - do { - parentClone = parentClone.parentNode; - if (leftNodes) { - tmpNode = parentClone.cloneNode(false); - tmpNode.appendChild(leftNodes); - leftNodes = tmpNode; - tmpNode = parentClone.cloneNode(false); - tmpNode.appendChild(rightNodes); - rightNodes = tmpNode; - } else { - leftNodes = parentClone.cloneNode(false); - rightNodes = leftNodes.cloneNode(false); - } - while (tmpNode = clone.previousSibling) { - leftNodes.insertBefore(tmpNode, leftNodes.firstChild); - } - while (tmpNode = clone.nextSibling) { - rightNodes.appendChild(tmpNode); - } - clone = parentClone; - } while (parent !== parentClone); - tmpNode = parent.parentNode; - tmpNode.insertBefore(leftNodes, parent); - tmpNode.insertBefore(rightNodes, parent); - tmpNode.insertBefore(node, rightNodes); - domUtils.remove(parent); - return node; - }, - /** - * 检查节点node是否是空inline节点 - * @method isEmptyInlineElement - * @param { Node } node 需要检测的节点对象 - * @return { Number } 如果给定的节点是空的inline节点, 则返回1, 否则返回0。 - * @example - * ```html - * => 1 - * => 1 - * => 1 - * xx => 0 - * ``` - */ - isEmptyInlineElement:function (node) { - if (node.nodeType != 1 || !dtd.$removeEmpty[ node.tagName ]) { - return 0; - } - node = node.firstChild; - while (node) { - //如果是创建的bookmark就跳过 - if (domUtils.isBookmarkNode(node)) { - return 0; - } - if (node.nodeType == 1 && !domUtils.isEmptyInlineElement(node) || - node.nodeType == 3 && !domUtils.isWhitespace(node) - ) { - return 0; - } - node = node.nextSibling; - } - return 1; - - }, - - /** - * 删除node节点下首尾两端的空白文本子节点 - * @method trimWhiteTextNode - * @param { Element } node 需要执行删除操作的元素对象 - * @example - * ```javascript - * var node = document.createElement("div"); - * - * node.appendChild( document.createTextNode( "" ) ); - * - * node.appendChild( document.createElement("div") ); - * - * node.appendChild( document.createTextNode( "" ) ); - * - * //3 - * console.log( node.childNodes.length ); - * - * UE.dom.domUtils.trimWhiteTextNode( node ); - * - * //1 - * console.log( node.childNodes.length ); - * ``` - */ - trimWhiteTextNode:function (node) { - function remove(dir) { - var child; - while ((child = node[dir]) && child.nodeType == 3 && domUtils.isWhitespace(child)) { - node.removeChild(child); - } - } - remove('firstChild'); - remove('lastChild'); - }, - - /** - * 合并node节点下相同的子节点 - * @name mergeChild - * @desc - * UE.dom.domUtils.mergeChild(node,tagName) //tagName要合并的子节点的标签 - * @example - *

    xxaaxx

    - * ==> UE.dom.domUtils.mergeChild(node,'span') - *

    xxaaxx

    - */ - mergeChild:function (node, tagName, attrs) { - var list = domUtils.getElementsByTagName(node, node.tagName.toLowerCase()); - for (var i = 0, ci; ci = list[i++];) { - if (!ci.parentNode || domUtils.isBookmarkNode(ci)) { - continue; - } - //span单独处理 - if (ci.tagName.toLowerCase() == 'span') { - if (node === ci.parentNode) { - domUtils.trimWhiteTextNode(node); - if (node.childNodes.length == 1) { - node.style.cssText = ci.style.cssText + ";" + node.style.cssText; - domUtils.remove(ci, true); - continue; - } - } - ci.style.cssText = node.style.cssText + ';' + ci.style.cssText; - if (attrs) { - var style = attrs.style; - if (style) { - style = style.split(';'); - for (var j = 0, s; s = style[j++];) { - ci.style[utils.cssStyleToDomStyle(s.split(':')[0])] = s.split(':')[1]; - } - } - } - if (domUtils.isSameStyle(ci, node)) { - domUtils.remove(ci, true); - } - continue; - } - if (domUtils.isSameElement(node, ci)) { - domUtils.remove(ci, true); - } - } - }, - - /** - * 原生方法getElementsByTagName的封装 - * @method getElementsByTagName - * @param { Node } node 目标节点对象 - * @param { String } tagName 需要查找的节点的tagName, 多个tagName以空格分割 - * @return { Array } 符合条件的节点集合 - */ - getElementsByTagName:function (node, name,filter) { - if(filter && utils.isString(filter)){ - var className = filter; - filter = function(node){return domUtils.hasClass(node,className)} - } - name = utils.trim(name).replace(/[ ]{2,}/g,' ').split(' '); - var arr = []; - for(var n = 0,ni;ni=name[n++];){ - var list = node.getElementsByTagName(ni); - for (var i = 0, ci; ci = list[i++];) { - if(!filter || filter(ci)) - arr.push(ci); - } - } - - return arr; - }, - /** - * 将节点node提取到父节点上 - * @method mergeToParent - * @param { Element } node 需要提取的元素对象 - * @example - * ```html - *
    - *
    - * - *
    - *
    - * - * - * ``` - */ - mergeToParent:function (node) { - var parent = node.parentNode; - while (parent && dtd.$removeEmpty[parent.tagName]) { - if (parent.tagName == node.tagName || parent.tagName == 'A') {//针对a标签单独处理 - domUtils.trimWhiteTextNode(parent); - //span需要特殊处理 不处理这样的情况 xxxxxxxxx - if (parent.tagName == 'SPAN' && !domUtils.isSameStyle(parent, node) - || (parent.tagName == 'A' && node.tagName == 'SPAN')) { - if (parent.childNodes.length > 1 || parent !== node.parentNode) { - node.style.cssText = parent.style.cssText + ";" + node.style.cssText; - parent = parent.parentNode; - continue; - } else { - parent.style.cssText += ";" + node.style.cssText; - //trace:952 a标签要保持下划线 - if (parent.tagName == 'A') { - parent.style.textDecoration = 'underline'; - } - } - } - if (parent.tagName != 'A') { - parent === node.parentNode && domUtils.remove(node, true); - break; - } - } - parent = parent.parentNode; - } - }, - /** - * 合并节点node的左右兄弟节点 - * @method mergeSibling - * @param { Element } node 需要合并的目标节点 - * @example - * ```html - * xxxxoooxxxx - * - * - * ``` - */ - - /** - * 合并节点node的左右兄弟节点, 可以根据给定的条件选择是否忽略合并左节点。 - * @method mergeSibling - * @param { Element } node 需要合并的目标节点 - * @param { Boolean } ignorePre 是否忽略合并左节点 - * @example - * ```html - * xxxxoooxxxx - * - * - * ``` - */ - - /** - * 合并节点node的左右兄弟节点,可以根据给定的条件选择是否忽略合并左右节点。 - * @method mergeSibling - * @param { Element } node 需要合并的目标节点 - * @param { Boolean } ignorePre 是否忽略合并左节点 - * @param { Boolean } ignoreNext 是否忽略合并右节点 - * @remind 如果同时忽略左右节点, 则该操作什么也不会做 - * @example - * ```html - * xxxxoooxxxx - * - * - * ``` - */ - mergeSibling:function (node, ignorePre, ignoreNext) { - function merge(rtl, start, node) { - var next; - if ((next = node[rtl]) && !domUtils.isBookmarkNode(next) && next.nodeType == 1 && domUtils.isSameElement(node, next)) { - while (next.firstChild) { - if (start == 'firstChild') { - node.insertBefore(next.lastChild, node.firstChild); - } else { - node.appendChild(next.firstChild); - } - } - domUtils.remove(next); - } - } - !ignorePre && merge('previousSibling', 'firstChild', node); - !ignoreNext && merge('nextSibling', 'lastChild', node); - }, - - /** - * 设置节点node及其子节点不会被选中 - * @method unSelectable - * @param { Element } node 需要执行操作的dom元素 - * @remind 执行该操作后的节点, 将不能被鼠标选中 - * @example - * ```javascript - * UE.dom.domUtils.unSelectable( document.body ); - * ``` - */ - unSelectable:ie && browser.ie9below || browser.opera ? function (node) { - //for ie9 - node.onselectstart = function () { - return false; - }; - node.onclick = node.onkeyup = node.onkeydown = function () { - return false; - }; - node.unselectable = 'on'; - node.setAttribute("unselectable", "on"); - for (var i = 0, ci; ci = node.all[i++];) { - switch (ci.tagName.toLowerCase()) { - case 'iframe' : - case 'textarea' : - case 'input' : - case 'select' : - break; - default : - ci.unselectable = 'on'; - node.setAttribute("unselectable", "on"); - } - } - } : function (node) { - node.style.MozUserSelect = - node.style.webkitUserSelect = - node.style.msUserSelect = - node.style.KhtmlUserSelect = 'none'; - }, - /** - * 删除节点node上的指定属性名称的属性 - * @method removeAttributes - * @param { Node } node 需要删除属性的节点对象 - * @param { String } attrNames 可以是空格隔开的多个属性名称,该操作将会依次删除相应的属性 - * @example - * ```html - *
    - * xxxxx - *
    - * - * - * ``` - */ - - /** - * 删除节点node上的指定属性名称的属性 - * @method removeAttributes - * @param { Node } node 需要删除属性的节点对象 - * @param { Array } attrNames 需要删除的属性名数组 - * @example - * ```html - *
    - * xxxxx - *
    - * - * - * ``` - */ - removeAttributes:function (node, attrNames) { - attrNames = utils.isArray(attrNames) ? attrNames : utils.trim(attrNames).replace(/[ ]{2,}/g,' ').split(' '); - for (var i = 0, ci; ci = attrNames[i++];) { - ci = attrFix[ci] || ci; - switch (ci) { - case 'className': - node[ci] = ''; - break; - case 'style': - node.style.cssText = ''; - var val = node.getAttributeNode('style'); - !browser.ie && val && node.removeAttributeNode(val); - } - node.removeAttribute(ci); - } - }, - /** - * 在doc下创建一个标签名为tag,属性为attrs的元素 - * @method createElement - * @param { DomDocument } doc 新创建的元素属于该document节点创建 - * @param { String } tagName 需要创建的元素的标签名 - * @param { Object } attrs 新创建的元素的属性key-value集合 - * @return { Element } 新创建的元素对象 - * @example - * ```javascript - * var ele = UE.dom.domUtils.createElement( document, 'div', { - * id: 'test' - * } ); - * - * //output: DIV - * console.log( ele.tagName ); - * - * //output: test - * console.log( ele.id ); - * - * ``` - */ - createElement:function (doc, tag, attrs) { - return domUtils.setAttributes(doc.createElement(tag), attrs) - }, - /** - * 为节点node添加属性attrs,attrs为属性键值对 - * @method setAttributes - * @param { Element } node 需要设置属性的元素对象 - * @param { Object } attrs 需要设置的属性名-值对 - * @return { Element } 设置属性的元素对象 - * @example - * ```html - * - * - * - * - */ - setAttributes:function (node, attrs) { - for (var attr in attrs) { - if(attrs.hasOwnProperty(attr)){ - var value = attrs[attr]; - switch (attr) { - case 'class': - //ie下要这样赋值,setAttribute不起作用 - node.className = value; - break; - case 'style' : - node.style.cssText = node.style.cssText + ";" + value; - break; - case 'innerHTML': - node[attr] = value; - break; - case 'value': - node.value = value; - break; - default: - node.setAttribute(attrFix[attr] || attr, value); - } - } - } - return node; - }, - - /** - * 获取元素element经过计算后的样式值 - * @method getComputedStyle - * @param { Element } element 需要获取样式的元素对象 - * @param { String } styleName 需要获取的样式名 - * @return { String } 获取到的样式值 - * @example - * ```html - * - * - * - * - * - * ``` - */ - getComputedStyle:function (element, styleName) { - //一下的属性单独处理 - var pros = 'width height top left'; - - if(pros.indexOf(styleName) > -1){ - return element['offset' + styleName.replace(/^\w/,function(s){return s.toUpperCase()})] + 'px'; - } - //忽略文本节点 - if (element.nodeType == 3) { - element = element.parentNode; - } - //ie下font-size若body下定义了font-size,则从currentStyle里会取到这个font-size. 取不到实际值,故此修改. - if (browser.ie && browser.version < 9 && styleName == 'font-size' && !element.style.fontSize && - !dtd.$empty[element.tagName] && !dtd.$nonChild[element.tagName]) { - var span = element.ownerDocument.createElement('span'); - span.style.cssText = 'padding:0;border:0;font-family:simsun;'; - span.innerHTML = '.'; - element.appendChild(span); - var result = span.offsetHeight; - element.removeChild(span); - span = null; - return result + 'px'; - } - try { - var value = domUtils.getStyle(element, styleName) || - (window.getComputedStyle ? domUtils.getWindow(element).getComputedStyle(element, '').getPropertyValue(styleName) : - ( element.currentStyle || element.style )[utils.cssStyleToDomStyle(styleName)]); - - } catch (e) { - return ""; - } - return utils.transUnitToPx(utils.fixColor(styleName, value)); - }, - /** - * 删除元素element指定的className - * @method removeClasses - * @param { Element } ele 需要删除class的元素节点 - * @param { String } classNames 需要删除的className, 多个className之间以空格分开 - * @example - * ```html - * xxx - * - * - * ``` - */ - - /** - * 删除元素element指定的className - * @method removeClasses - * @param { Element } ele 需要删除class的元素节点 - * @param { Array } classNames 需要删除的className数组 - * @example - * ```html - * xxx - * - * - * ``` - */ - removeClasses:function (elm, classNames) { - classNames = utils.isArray(classNames) ? classNames : - utils.trim(classNames).replace(/[ ]{2,}/g,' ').split(' '); - for(var i = 0,ci,cls = elm.className;ci=classNames[i++];){ - cls = cls.replace(new RegExp('\\b' + ci + '\\b'),'') - } - cls = utils.trim(cls).replace(/[ ]{2,}/g,' '); - if(cls){ - elm.className = cls; - }else{ - domUtils.removeAttributes(elm,['class']); - } - }, - /** - * 给元素element添加className - * @method addClass - * @param { Node } ele 需要增加className的元素 - * @param { String } classNames 需要添加的className, 多个className之间以空格分割 - * @remind 相同的类名不会被重复添加 - * @example - * ```html - * - * - * - * ``` - */ - - /** - * 判断元素element是否包含给定的样式类名className - * @method hasClass - * @param { Node } ele 需要检测的元素 - * @param { Array } classNames 需要检测的className数组 - * @return { Boolean } 元素是否包含所有给定的className - * @example - * ```html - * - * - * - * ``` - */ - hasClass:function (element, className) { - if(utils.isRegExp(className)){ - return className.test(element.className) - } - className = utils.trim(className).replace(/[ ]{2,}/g,' ').split(' '); - for(var i = 0,ci,cls = element.className;ci=className[i++];){ - if(!new RegExp('\\b' + ci + '\\b','i').test(cls)){ - return false; - } - } - return i - 1 == className.length; - }, - - /** - * 阻止事件默认行为 - * @method preventDefault - * @param { Event } evt 需要阻止默认行为的事件对象 - * @example - * ```javascript - * UE.dom.domUtils.preventDefault( evt ); - * ``` - */ - preventDefault:function (evt) { - evt.preventDefault ? evt.preventDefault() : (evt.returnValue = false); - }, - /** - * 删除元素element指定的样式 - * @method removeStyle - * @param { Element } element 需要删除样式的元素 - * @param { String } styleName 需要删除的样式名 - * @example - * ```html - * - * - * - * ``` - */ - removeStyle:function (element, name) { - if(browser.ie ){ - //针对color先单独处理一下 - if(name == 'color'){ - name = '(^|;)' + name; - } - element.style.cssText = element.style.cssText.replace(new RegExp(name + '[^:]*:[^;]+;?','ig'),'') - }else{ - if (element.style.removeProperty) { - element.style.removeProperty (name); - }else { - element.style.removeAttribute (utils.cssStyleToDomStyle(name)); - } - } - - - if (!element.style.cssText) { - domUtils.removeAttributes(element, ['style']); - } - }, - /** - * 获取元素element的style属性的指定值 - * @method getStyle - * @param { Element } element 需要获取属性值的元素 - * @param { String } styleName 需要获取的style的名称 - * @warning 该方法仅获取元素style属性中所标明的值 - * @return { String } 该元素包含指定的style属性值 - * @example - * ```html - *
    - * - * - * ``` - */ - getStyle:function (element, name) { - var value = element.style[ utils.cssStyleToDomStyle(name) ]; - return utils.fixColor(name, value); - }, - /** - * 为元素element设置样式属性值 - * @method setStyle - * @param { Element } element 需要设置样式的元素 - * @param { String } styleName 样式名 - * @param { String } styleValue 样式值 - * @example - * ```html - *
    - * - * - * ``` - */ - setStyle:function (element, name, value) { - element.style[utils.cssStyleToDomStyle(name)] = value; - if(!utils.trim(element.style.cssText)){ - this.removeAttributes(element,'style') - } - }, - /** - * 为元素element设置多个样式属性值 - * @method setStyles - * @param { Element } element 需要设置样式的元素 - * @param { Object } styles 样式名值对 - * @example - * ```html - *
    - * - * - * ``` - */ - setStyles:function (element, styles) { - for (var name in styles) { - if (styles.hasOwnProperty(name)) { - domUtils.setStyle(element, name, styles[name]); - } - } - }, - /** - * 删除_moz_dirty属性 - * @private - * @method removeDirtyAttr - */ - removeDirtyAttr:function (node) { - for (var i = 0, ci, nodes = node.getElementsByTagName('*'); ci = nodes[i++];) { - ci.removeAttribute('_moz_dirty'); - } - node.removeAttribute('_moz_dirty'); - }, - /** - * 获取子节点的数量 - * @method getChildCount - * @param { Element } node 需要检测的元素 - * @return { Number } 给定的node元素的子节点数量 - * @example - * ```html - *
    - * - *
    - * - * - * ``` - */ - - /** - * 根据给定的过滤规则, 获取符合条件的子节点的数量 - * @method getChildCount - * @param { Element } node 需要检测的元素 - * @param { Function } fn 过滤器, 要求对符合条件的子节点返回true, 反之则要求返回false - * @return { Number } 符合过滤条件的node元素的子节点数量 - * @example - * ```html - *
    - * - *
    - * - * - * ``` - */ - getChildCount:function (node, fn) { - var count = 0, first = node.firstChild; - fn = fn || function () { - return 1; - }; - while (first) { - if (fn(first)) { - count++; - } - first = first.nextSibling; - } - return count; - }, - - /** - * 判断给定节点是否为空节点 - * @method isEmptyNode - * @param { Node } node 需要检测的节点对象 - * @return { Boolean } 节点是否为空 - * @example - * ```javascript - * UE.dom.domUtils.isEmptyNode( document.body ); - * ``` - */ - isEmptyNode:function (node) { - return !node.firstChild || domUtils.getChildCount(node, function (node) { - return !domUtils.isBr(node) && !domUtils.isBookmarkNode(node) && !domUtils.isWhitespace(node) - }) == 0 - }, - clearSelectedArr:function (nodes) { - var node; - while (node = nodes.pop()) { - domUtils.removeAttributes(node, ['class']); - } - }, - /** - * 将显示区域滚动到指定节点的位置 - * @method scrollToView - * @param {Node} node 节点 - * @param {window} win window对象 - * @param {Number} offsetTop 距离上方的偏移量 - */ - scrollToView:function (node, win, offsetTop) { - var getViewPaneSize = function () { - var doc = win.document, - mode = doc.compatMode == 'CSS1Compat'; - return { - width:( mode ? doc.documentElement.clientWidth : doc.body.clientWidth ) || 0, - height:( mode ? doc.documentElement.clientHeight : doc.body.clientHeight ) || 0 - }; - }, - getScrollPosition = function (win) { - if ('pageXOffset' in win) { - return { - x:win.pageXOffset || 0, - y:win.pageYOffset || 0 - }; - } - else { - var doc = win.document; - return { - x:doc.documentElement.scrollLeft || doc.body.scrollLeft || 0, - y:doc.documentElement.scrollTop || doc.body.scrollTop || 0 - }; - } - }; - var winHeight = getViewPaneSize().height, offset = winHeight * -1 + offsetTop; - offset += (node.offsetHeight || 0); - var elementPosition = domUtils.getXY(node); - offset += elementPosition.y; - var currentScroll = getScrollPosition(win).y; - // offset += 50; - if (offset > currentScroll || offset < currentScroll - winHeight) { - win.scrollTo(0, offset + (offset < 0 ? -20 : 20)); - } - }, - /** - * 判断给定节点是否为br - * @method isBr - * @param { Node } node 需要判断的节点对象 - * @return { Boolean } 给定的节点是否是br节点 - */ - isBr:function (node) { - return node.nodeType == 1 && node.tagName == 'BR'; - }, - /** - * 判断给定的节点是否是一个“填充”节点 - * @private - * @method isFillChar - * @param { Node } node 需要判断的节点 - * @param { Boolean } isInStart 是否从节点内容的开始位置匹配 - * @returns { Boolean } 节点是否是填充节点 - */ - isFillChar:function (node,isInStart) { - if(node.nodeType != 3) - return false; - var text = node.nodeValue; - if(isInStart){ - return new RegExp('^' + domUtils.fillChar).test(text) - } - return !text.replace(new RegExp(domUtils.fillChar,'g'), '').length - }, - isStartInblock:function (range) { - var tmpRange = range.cloneRange(), - flag = 0, - start = tmpRange.startContainer, - tmp; - if(start.nodeType == 1 && start.childNodes[tmpRange.startOffset]){ - start = start.childNodes[tmpRange.startOffset]; - var pre = start.previousSibling; - while(pre && domUtils.isFillChar(pre)){ - start = pre; - pre = pre.previousSibling; - } - } - if(this.isFillChar(start,true) && tmpRange.startOffset == 1){ - tmpRange.setStartBefore(start); - start = tmpRange.startContainer; - } - - while (start && domUtils.isFillChar(start)) { - tmp = start; - start = start.previousSibling - } - if (tmp) { - tmpRange.setStartBefore(tmp); - start = tmpRange.startContainer; - } - if (start.nodeType == 1 && domUtils.isEmptyNode(start) && tmpRange.startOffset == 1) { - tmpRange.setStart(start, 0).collapse(true); - } - while (!tmpRange.startOffset) { - start = tmpRange.startContainer; - if (domUtils.isBlockElm(start) || domUtils.isBody(start)) { - flag = 1; - break; - } - var pre = tmpRange.startContainer.previousSibling, - tmpNode; - if (!pre) { - tmpRange.setStartBefore(tmpRange.startContainer); - } else { - while (pre && domUtils.isFillChar(pre)) { - tmpNode = pre; - pre = pre.previousSibling; - } - if (tmpNode) { - tmpRange.setStartBefore(tmpNode); - } else { - tmpRange.setStartBefore(tmpRange.startContainer); - } - } - } - return flag && !domUtils.isBody(tmpRange.startContainer) ? 1 : 0; - }, - - /** - * 判断给定的元素是否是一个空元素 - * @method isEmptyBlock - * @param { Element } node 需要判断的元素 - * @return { Boolean } 是否是空元素 - * @example - * ```html - *
    - * - * - * ``` - */ - - /** - * 根据指定的判断规则判断给定的元素是否是一个空元素 - * @method isEmptyBlock - * @param { Element } node 需要判断的元素 - * @param { RegExp } reg 对内容执行判断的正则表达式对象 - * @return { Boolean } 是否是空元素 - */ - isEmptyBlock:function (node,reg) { - if(node.nodeType != 1) - return 0; - reg = reg || new RegExp('[ \xa0\t\r\n' + domUtils.fillChar + ']', 'g'); - - if (node[browser.ie ? 'innerText' : 'textContent'].replace(reg, '').length > 0) { - return 0; - } - for (var n in dtd.$isNotEmpty) { - if (node.getElementsByTagName(n).length) { - return 0; - } - } - return 1; - }, - - /** - * 移动元素使得该元素的位置移动指定的偏移量的距离 - * @method setViewportOffset - * @param { Element } element 需要设置偏移量的元素 - * @param { Object } offset 偏移量, 形如{ left: 100, top: 50 }的一个键值对, 表示该元素将在 - * 现有的位置上向水平方向偏移offset.left的距离, 在竖直方向上偏移 - * offset.top的距离 - * @example - * ```html - *
    - * - * - * ``` - */ - setViewportOffset:function (element, offset) { - var left = parseInt(element.style.left) | 0; - var top = parseInt(element.style.top) | 0; - var rect = element.getBoundingClientRect(); - var offsetLeft = offset.left - rect.left; - var offsetTop = offset.top - rect.top; - if (offsetLeft) { - element.style.left = left + offsetLeft + 'px'; - } - if (offsetTop) { - element.style.top = top + offsetTop + 'px'; - } - }, - - /** - * 用“填充字符”填充节点 - * @method fillNode - * @private - * @param { DomDocument } doc 填充的节点所在的docment对象 - * @param { Node } node 需要填充的节点对象 - * @example - * ```html - *
    - * - * - * ``` - */ - fillNode:function (doc, node) { - var tmpNode = browser.ie ? doc.createTextNode(domUtils.fillChar) : doc.createElement('br'); - node.innerHTML = ''; - node.appendChild(tmpNode); - }, - - /** - * 把节点src的所有子节点追加到另一个节点tag上去 - * @method moveChild - * @param { Node } src 源节点, 该节点下的所有子节点将被移除 - * @param { Node } tag 目标节点, 从源节点移除的子节点将被追加到该节点下 - * @example - * ```html - *
    - * - *
    - *
    - *
    - *
    - * - * - * ``` - */ - - /** - * 把节点src的所有子节点移动到另一个节点tag上去, 可以通过dir参数控制附加的行为是“追加”还是“插入顶部” - * @method moveChild - * @param { Node } src 源节点, 该节点下的所有子节点将被移除 - * @param { Node } tag 目标节点, 从源节点移除的子节点将被附加到该节点下 - * @param { Boolean } dir 附加方式, 如果为true, 则附加进去的节点将被放到目标节点的顶部, 反之,则放到末尾 - * @example - * ```html - *
    - * - *
    - *
    - *
    - *
    - * - * - * ``` - */ - moveChild:function (src, tag, dir) { - while (src.firstChild) { - if (dir && tag.firstChild) { - tag.insertBefore(src.lastChild, tag.firstChild); - } else { - tag.appendChild(src.firstChild); - } - } - }, - - /** - * 判断节点的标签上是否不存在任何属性 - * @method hasNoAttributes - * @private - * @param { Node } node 需要检测的节点对象 - * @return { Boolean } 节点是否不包含任何属性 - * @example - * ```html - *
    xxxx
    - * - * - * ``` - */ - hasNoAttributes:function (node) { - return browser.ie ? /^<\w+\s*?>/.test(node.outerHTML) : node.attributes.length == 0; - }, - - /** - * 检测节点是否是UEditor所使用的辅助节点 - * @method isCustomeNode - * @private - * @param { Node } node 需要检测的节点 - * @remind 辅助节点是指编辑器要完成工作临时添加的节点, 在输出的时候将会从编辑器内移除, 不会影响最终的结果。 - * @return { Boolean } 给定的节点是否是一个辅助节点 - */ - isCustomeNode:function (node) { - return node.nodeType == 1 && node.getAttribute('_ue_custom_node_'); - }, - - /** - * 检测节点的标签是否是给定的标签 - * @method isTagNode - * @param { Node } node 需要检测的节点对象 - * @param { String } tagName 标签 - * @return { Boolean } 节点的标签是否是给定的标签 - * @example - * ```html - *
    - * - * - * ``` - */ - isTagNode:function (node, tagNames) { - return node.nodeType == 1 && new RegExp('\\b' + node.tagName + '\\b','i').test(tagNames) - }, - - /** - * 给定一个节点数组,在通过指定的过滤器过滤后, 获取其中满足过滤条件的第一个节点 - * @method filterNodeList - * @param { Array } nodeList 需要过滤的节点数组 - * @param { Function } fn 过滤器, 对符合条件的节点, 执行结果返回true, 反之则返回false - * @return { Node | NULL } 如果找到符合过滤条件的节点, 则返回该节点, 否则返回NULL - * @example - * ```javascript - * var divNodes = document.getElementsByTagName("div"); - * divNodes = [].slice.call( divNodes, 0 ); - * - * //output: null - * console.log( UE.dom.domUtils.filterNodeList( divNodes, function ( node ) { - * return node.tagName.toLowerCase() !== 'div'; - * } ) ); - * ``` - */ - - /** - * 给定一个节点数组nodeList和一组标签名tagNames, 获取其中能够匹配标签名的节点集合中的第一个节点 - * @method filterNodeList - * @param { Array } nodeList 需要过滤的节点数组 - * @param { String } tagNames 需要匹配的标签名, 多个标签名之间用空格分割 - * @return { Node | NULL } 如果找到标签名匹配的节点, 则返回该节点, 否则返回NULL - * @example - * ```javascript - * var divNodes = document.getElementsByTagName("div"); - * divNodes = [].slice.call( divNodes, 0 ); - * - * //output: null - * console.log( UE.dom.domUtils.filterNodeList( divNodes, 'a span' ) ); - * ``` - */ - - /** - * 给定一个节点数组,在通过指定的过滤器过滤后, 如果参数forAll为true, 则会返回所有满足过滤 - * 条件的节点集合, 否则, 返回满足条件的节点集合中的第一个节点 - * @method filterNodeList - * @param { Array } nodeList 需要过滤的节点数组 - * @param { Function } fn 过滤器, 对符合条件的节点, 执行结果返回true, 反之则返回false - * @param { Boolean } forAll 是否返回整个节点数组, 如果该参数为false, 则返回节点集合中的第一个节点 - * @return { Array | Node | NULL } 如果找到符合过滤条件的节点, 则根据参数forAll的值决定返回满足 - * 过滤条件的节点数组或第一个节点, 否则返回NULL - * @example - * ```javascript - * var divNodes = document.getElementsByTagName("div"); - * divNodes = [].slice.call( divNodes, 0 ); - * - * //output: 3(假定有3个div) - * console.log( divNodes.length ); - * - * var nodes = UE.dom.domUtils.filterNodeList( divNodes, function ( node ) { - * return node.tagName.toLowerCase() === 'div'; - * }, true ); - * - * //output: 3 - * console.log( nodes.length ); - * - * var node = UE.dom.domUtils.filterNodeList( divNodes, function ( node ) { - * return node.tagName.toLowerCase() === 'div'; - * }, false ); - * - * //output: div - * console.log( node.nodeName ); - * ``` - */ - filterNodeList : function(nodelist,filter,forAll){ - var results = []; - if(!utils .isFunction(filter)){ - var str = filter; - filter = function(n){ - return utils.indexOf(utils.isArray(str) ? str:str.split(' '), n.tagName.toLowerCase()) != -1 - }; - } - utils.each(nodelist,function(n){ - filter(n) && results.push(n) - }); - return results.length == 0 ? null : results.length == 1 || !forAll ? results[0] : results - }, - - /** - * 查询给定的range选区是否在给定的node节点内,且在该节点的最末尾 - * @method isInNodeEndBoundary - * @param { UE.dom.Range } rng 需要判断的range对象, 该对象的startContainer不能为NULL - * @param node 需要检测的节点对象 - * @return { Number } 如果给定的选取range对象是在node内部的最末端, 则返回1, 否则返回0 - */ - isInNodeEndBoundary : function (rng,node){ - var start = rng.startContainer; - if(start.nodeType == 3 && rng.startOffset != start.nodeValue.length){ - return 0; - } - if(start.nodeType == 1 && rng.startOffset != start.childNodes.length){ - return 0; - } - while(start !== node){ - if(start.nextSibling){ - return 0 - }; - start = start.parentNode; - } - return 1; - }, - isBoundaryNode : function (node,dir){ - var tmp; - while(!domUtils.isBody(node)){ - tmp = node; - node = node.parentNode; - if(tmp !== node[dir]){ - return false; - } - } - return true; - }, - fillHtml : browser.ie11below ? ' ' : '
    ' -}; -var fillCharReg = new RegExp(domUtils.fillChar, 'g'); - -// core/Range.js -/** - * Range封装 - * @file - * @module UE.dom - * @class Range - * @since 1.2.6.1 - */ - -/** - * dom操作封装 - * @unfile - * @module UE.dom - */ - -/** - * Range实现类,本类是UEditor底层核心类,封装不同浏览器之间的Range操作。 - * @unfile - * @module UE.dom - * @class Range - */ - - -(function () { - var guid = 0, - fillChar = domUtils.fillChar, - fillData; - - /** - * 更新range的collapse状态 - * @param {Range} range range对象 - */ - function updateCollapse(range) { - range.collapsed = - range.startContainer && range.endContainer && - range.startContainer === range.endContainer && - range.startOffset == range.endOffset; - } - - function selectOneNode(rng){ - return !rng.collapsed && rng.startContainer.nodeType == 1 && rng.startContainer === rng.endContainer && rng.endOffset - rng.startOffset == 1 - } - function setEndPoint(toStart, node, offset, range) { - //如果node是自闭合标签要处理 - if (node.nodeType == 1 && (dtd.$empty[node.tagName] || dtd.$nonChild[node.tagName])) { - offset = domUtils.getNodeIndex(node) + (toStart ? 0 : 1); - node = node.parentNode; - } - if (toStart) { - range.startContainer = node; - range.startOffset = offset; - if (!range.endContainer) { - range.collapse(true); - } - } else { - range.endContainer = node; - range.endOffset = offset; - if (!range.startContainer) { - range.collapse(false); - } - } - updateCollapse(range); - return range; - } - - function execContentsAction(range, action) { - //调整边界 - //range.includeBookmark(); - var start = range.startContainer, - end = range.endContainer, - startOffset = range.startOffset, - endOffset = range.endOffset, - doc = range.document, - frag = doc.createDocumentFragment(), - tmpStart, tmpEnd; - if (start.nodeType == 1) { - start = start.childNodes[startOffset] || (tmpStart = start.appendChild(doc.createTextNode(''))); - } - if (end.nodeType == 1) { - end = end.childNodes[endOffset] || (tmpEnd = end.appendChild(doc.createTextNode(''))); - } - if (start === end && start.nodeType == 3) { - frag.appendChild(doc.createTextNode(start.substringData(startOffset, endOffset - startOffset))); - //is not clone - if (action) { - start.deleteData(startOffset, endOffset - startOffset); - range.collapse(true); - } - return frag; - } - var current, currentLevel, clone = frag, - startParents = domUtils.findParents(start, true), endParents = domUtils.findParents(end, true); - for (var i = 0; startParents[i] == endParents[i];) { - i++; - } - for (var j = i, si; si = startParents[j]; j++) { - current = si.nextSibling; - if (si == start) { - if (!tmpStart) { - if (range.startContainer.nodeType == 3) { - clone.appendChild(doc.createTextNode(start.nodeValue.slice(startOffset))); - //is not clone - if (action) { - start.deleteData(startOffset, start.nodeValue.length - startOffset); - } - } else { - clone.appendChild(!action ? start.cloneNode(true) : start); - } - } - } else { - currentLevel = si.cloneNode(false); - clone.appendChild(currentLevel); - } - while (current) { - if (current === end || current === endParents[j]) { - break; - } - si = current.nextSibling; - clone.appendChild(!action ? current.cloneNode(true) : current); - current = si; - } - clone = currentLevel; - } - clone = frag; - if (!startParents[i]) { - clone.appendChild(startParents[i - 1].cloneNode(false)); - clone = clone.firstChild; - } - for (var j = i, ei; ei = endParents[j]; j++) { - current = ei.previousSibling; - if (ei == end) { - if (!tmpEnd && range.endContainer.nodeType == 3) { - clone.appendChild(doc.createTextNode(end.substringData(0, endOffset))); - //is not clone - if (action) { - end.deleteData(0, endOffset); - } - } - } else { - currentLevel = ei.cloneNode(false); - clone.appendChild(currentLevel); - } - //如果两端同级,右边第一次已经被开始做了 - if (j != i || !startParents[i]) { - while (current) { - if (current === start) { - break; - } - ei = current.previousSibling; - clone.insertBefore(!action ? current.cloneNode(true) : current, clone.firstChild); - current = ei; - } - } - clone = currentLevel; - } - if (action) { - range.setStartBefore(!endParents[i] ? endParents[i - 1] : !startParents[i] ? startParents[i - 1] : endParents[i]).collapse(true); - } - tmpStart && domUtils.remove(tmpStart); - tmpEnd && domUtils.remove(tmpEnd); - return frag; - } - - /** - * 创建一个跟document绑定的空的Range实例 - * @constructor - * @param { Document } document 新建的选区所属的文档对象 - */ - - /** - * @property { Node } startContainer 当前Range的开始边界的容器节点, 可以是一个元素节点或者是文本节点 - */ - - /** - * @property { Node } startOffset 当前Range的开始边界容器节点的偏移量, 如果是元素节点, - * 该值就是childNodes中的第几个节点, 如果是文本节点就是文本内容的第几个字符 - */ - - /** - * @property { Node } endContainer 当前Range的结束边界的容器节点, 可以是一个元素节点或者是文本节点 - */ - - /** - * @property { Node } endOffset 当前Range的结束边界容器节点的偏移量, 如果是元素节点, - * 该值就是childNodes中的第几个节点, 如果是文本节点就是文本内容的第几个字符 - */ - - /** - * @property { Boolean } collapsed 当前Range是否闭合 - * @default true - * @remind Range是闭合的时候, startContainer === endContainer && startOffset === endOffset - */ - - /** - * @property { Document } document 当前Range所属的Document对象 - * @remind 不同range的的document属性可以是不同的 - */ - var Range = dom.Range = function (document) { - var me = this; - me.startContainer = - me.startOffset = - me.endContainer = - me.endOffset = null; - me.document = document; - me.collapsed = true; - }; - - /** - * 删除fillData - * @param doc - * @param excludeNode - */ - function removeFillData(doc, excludeNode) { - try { - if (fillData && domUtils.inDoc(fillData, doc)) { - if (!fillData.nodeValue.replace(fillCharReg, '').length) { - var tmpNode = fillData.parentNode; - domUtils.remove(fillData); - while (tmpNode && domUtils.isEmptyInlineElement(tmpNode) && - //safari的contains有bug - (browser.safari ? !(domUtils.getPosition(tmpNode,excludeNode) & domUtils.POSITION_CONTAINS) : !tmpNode.contains(excludeNode)) - ) { - fillData = tmpNode.parentNode; - domUtils.remove(tmpNode); - tmpNode = fillData; - } - } else { - fillData.nodeValue = fillData.nodeValue.replace(fillCharReg, ''); - } - } - } catch (e) { - } - } - - /** - * @param node - * @param dir - */ - function mergeSibling(node, dir) { - var tmpNode; - node = node[dir]; - while (node && domUtils.isFillChar(node)) { - tmpNode = node[dir]; - domUtils.remove(node); - node = tmpNode; - } - } - - Range.prototype = { - - /** - * 克隆选区的内容到一个DocumentFragment里 - * @method cloneContents - * @return { DocumentFragment | NULL } 如果选区是闭合的将返回null, 否则, 返回包含所clone内容的DocumentFragment元素 - * @example - * ```html - * - * - * xx[xxx]x - * - * - * - * ``` - */ - cloneContents:function () { - return this.collapsed ? null : execContentsAction(this, 0); - }, - - /** - * 删除当前选区范围中的所有内容 - * @method deleteContents - * @remind 执行完该操作后, 当前Range对象变成了闭合状态 - * @return { UE.dom.Range } 当前操作的Range对象 - * @example - * ```html - * - * - * xx[xxx]x - * - * - * - * ``` - */ - deleteContents:function () { - var txt; - if (!this.collapsed) { - execContentsAction(this, 1); - } - if (browser.webkit) { - txt = this.startContainer; - if (txt.nodeType == 3 && !txt.nodeValue.length) { - this.setStartBefore(txt).collapse(true); - domUtils.remove(txt); - } - } - return this; - }, - - /** - * 将当前选区的内容提取到一个DocumentFragment里 - * @method extractContents - * @remind 执行该操作后, 选区将变成闭合状态 - * @warning 执行该操作后, 原来选区所选中的内容将从dom树上剥离出来 - * @return { DocumentFragment } 返回包含所提取内容的DocumentFragment对象 - * @example - * ```html - * - * - * xx[xxx]x - * - * - * - */ - extractContents:function () { - return this.collapsed ? null : execContentsAction(this, 2); - }, - - /** - * 设置Range的开始容器节点和偏移量 - * @method setStart - * @remind 如果给定的节点是元素节点,那么offset指的是其子元素中索引为offset的元素, - * 如果是文本节点,那么offset指的是其文本内容的第offset个字符 - * @remind 如果提供的容器节点是一个不能包含子元素的节点, 则该选区的开始容器将被设置 - * 为该节点的父节点, 此时, 其距离开始容器的偏移量也变成了该节点在其父节点 - * 中的索引 - * @param { Node } node 将被设为当前选区开始边界容器的节点对象 - * @param { int } offset 选区的开始位置偏移量 - * @return { UE.dom.Range } 当前range对象 - * @example - * ```html - * - * xxxxxxxxxxxxx[xxx] - * - * - * ``` - * @example - * ```html - * - * xxx[xx]x - * - * - * ``` - */ - setStart:function (node, offset) { - return setEndPoint(true, node, offset, this); - }, - - /** - * 设置Range的结束容器和偏移量 - * @method setEnd - * @param { Node } node 作为当前选区结束边界容器的节点对象 - * @param { int } offset 结束边界的偏移量 - * @see UE.dom.Range:setStart(Node,int) - * @return { UE.dom.Range } 当前range对象 - */ - setEnd:function (node, offset) { - return setEndPoint(false, node, offset, this); - }, - - /** - * 将Range开始位置设置到node节点之后 - * @method setStartAfter - * @remind 该操作将会把给定节点的父节点作为range的开始容器, 且偏移量是该节点在其父节点中的位置索引+1 - * @param { Node } node 选区的开始边界将紧接着该节点之后 - * @return { UE.dom.Range } 当前range对象 - * @example - * ```html - * - * xxxxxxx[xxxx] - * - * - * ``` - */ - setStartAfter:function (node) { - return this.setStart(node.parentNode, domUtils.getNodeIndex(node) + 1); - }, - - /** - * 将Range开始位置设置到node节点之前 - * @method setStartBefore - * @remind 该操作将会把给定节点的父节点作为range的开始容器, 且偏移量是该节点在其父节点中的位置索引 - * @param { Node } node 新的选区开始位置在该节点之前 - * @see UE.dom.Range:setStartAfter(Node) - * @return { UE.dom.Range } 当前range对象 - */ - setStartBefore:function (node) { - return this.setStart(node.parentNode, domUtils.getNodeIndex(node)); - }, - - /** - * 将Range结束位置设置到node节点之后 - * @method setEndAfter - * @remind 该操作将会把给定节点的父节点作为range的结束容器, 且偏移量是该节点在其父节点中的位置索引+1 - * @param { Node } node 目标节点 - * @see UE.dom.Range:setStartAfter(Node) - * @return { UE.dom.Range } 当前range对象 - * @example - * ```html - * - * [xxxxxxx]xxxx - * - * - * ``` - */ - setEndAfter:function (node) { - return this.setEnd(node.parentNode, domUtils.getNodeIndex(node) + 1); - }, - - /** - * 将Range结束位置设置到node节点之前 - * @method setEndBefore - * @remind 该操作将会把给定节点的父节点作为range的结束容器, 且偏移量是该节点在其父节点中的位置索引 - * @param { Node } node 目标节点 - * @see UE.dom.Range:setEndAfter(Node) - * @return { UE.dom.Range } 当前range对象 - */ - setEndBefore:function (node) { - return this.setEnd(node.parentNode, domUtils.getNodeIndex(node)); - }, - - /** - * 设置Range的开始位置到node节点内的第一个子节点之前 - * @method setStartAtFirst - * @remind 选区的开始容器将变成给定的节点, 且偏移量为0 - * @remind 如果给定的节点是元素节点, 则该节点必须是允许包含子节点的元素。 - * @param { Node } node 目标节点 - * @see UE.dom.Range:setStartBefore(Node) - * @return { UE.dom.Range } 当前range对象 - * @example - * ```html - * - * xxxxx[xx]xxxx - * - * - * ``` - */ - setStartAtFirst:function (node) { - return this.setStart(node, 0); - }, - - /** - * 设置Range的开始位置到node节点内的最后一个节点之后 - * @method setStartAtLast - * @remind 选区的开始容器将变成给定的节点, 且偏移量为该节点的子节点数 - * @remind 如果给定的节点是元素节点, 则该节点必须是允许包含子节点的元素。 - * @param { Node } node 目标节点 - * @see UE.dom.Range:setStartAtFirst(Node) - * @return { UE.dom.Range } 当前range对象 - */ - setStartAtLast:function (node) { - return this.setStart(node, node.nodeType == 3 ? node.nodeValue.length : node.childNodes.length); - }, - - /** - * 设置Range的结束位置到node节点内的第一个节点之前 - * @method setEndAtFirst - * @param { Node } node 目标节点 - * @remind 选区的结束容器将变成给定的节点, 且偏移量为0 - * @remind node必须是一个元素节点, 且必须是允许包含子节点的元素。 - * @see UE.dom.Range:setStartAtFirst(Node) - * @return { UE.dom.Range } 当前range对象 - */ - setEndAtFirst:function (node) { - return this.setEnd(node, 0); - }, - - /** - * 设置Range的结束位置到node节点内的最后一个节点之后 - * @method setEndAtLast - * @param { Node } node 目标节点 - * @remind 选区的结束容器将变成给定的节点, 且偏移量为该节点的子节点数量 - * @remind node必须是一个元素节点, 且必须是允许包含子节点的元素。 - * @see UE.dom.Range:setStartAtFirst(Node) - * @return { UE.dom.Range } 当前range对象 - */ - setEndAtLast:function (node) { - return this.setEnd(node, node.nodeType == 3 ? node.nodeValue.length : node.childNodes.length); - }, - - /** - * 选中给定节点 - * @method selectNode - * @remind 此时, 选区的开始容器和结束容器都是该节点的父节点, 其startOffset是该节点在父节点中的位置索引, - * 而endOffset为startOffset+1 - * @param { Node } node 需要选中的节点 - * @return { UE.dom.Range } 当前range对象,此时的range仅包含当前给定的节点对象 - * @example - * ```html - * - * xxxxx[xx]xxxx - * - * - * ``` - */ - selectNode:function (node) { - return this.setStartBefore(node).setEndAfter(node); - }, - - /** - * 选中给定节点内部的所有节点 - * @method selectNodeContents - * @remind 此时, 选区的开始容器和结束容器都是该节点, 其startOffset为0, - * 而endOffset是该节点的子节点数。 - * @param { Node } node 目标节点, 当前range将包含该节点内的所有节点 - * @return { UE.dom.Range } 当前range对象, 此时range仅包含给定节点的所有子节点 - * @example - * ```html - * - * xxxxx[xx]xxxx - * - * - * ``` - */ - selectNodeContents:function (node) { - return this.setStart(node, 0).setEndAtLast(node); - }, - - /** - * clone当前Range对象 - * @method cloneRange - * @remind 返回的range是一个全新的range对象, 其内部所有属性与当前被clone的range相同。 - * @return { UE.dom.Range } 当前range对象的一个副本 - */ - cloneRange:function () { - var me = this; - return new Range(me.document).setStart(me.startContainer, me.startOffset).setEnd(me.endContainer, me.endOffset); - - }, - - /** - * 向当前选区的结束处闭合选区 - * @method collapse - * @return { UE.dom.Range } 当前range对象 - * @example - * ```html - * - * xxxxx[xx]xxxx - * - * - * ``` - */ - - /** - * 闭合当前选区,根据给定的toStart参数项决定是向当前选区开始处闭合还是向结束处闭合, - * 如果toStart的值为true,则向开始位置闭合, 反之,向结束位置闭合。 - * @method collapse - * @param { Boolean } toStart 是否向选区开始处闭合 - * @return { UE.dom.Range } 当前range对象,此时range对象处于闭合状态 - * @see UE.dom.Range:collapse() - * @example - * ```html - * - * xxxxx[xx]xxxx - * - * - * ``` - */ - collapse:function (toStart) { - var me = this; - if (toStart) { - me.endContainer = me.startContainer; - me.endOffset = me.startOffset; - } else { - me.startContainer = me.endContainer; - me.startOffset = me.endOffset; - } - me.collapsed = true; - return me; - }, - - /** - * 调整range的开始位置和结束位置,使其"收缩"到最小的位置 - * @method shrinkBoundary - * @return { UE.dom.Range } 当前range对象 - * @example - * ```html - * xxxx[xxxxx] => xxxx[xxxxx] - * ``` - * - * @example - * ```html - * - * x[xx]xxx - * - * - * ``` - * - * @example - * ```html - * [xxxxxxxxxxx] => [xxxxxxxxxxx] - * ``` - */ - - /** - * 调整range的开始位置和结束位置,使其"收缩"到最小的位置, - * 如果ignoreEnd的值为true,则忽略对结束位置的调整 - * @method shrinkBoundary - * @param { Boolean } ignoreEnd 是否忽略对结束位置的调整 - * @return { UE.dom.Range } 当前range对象 - * @see UE.dom.domUtils.Range:shrinkBoundary() - */ - shrinkBoundary:function (ignoreEnd) { - var me = this, child, - collapsed = me.collapsed; - function check(node){ - return node.nodeType == 1 && !domUtils.isBookmarkNode(node) && !dtd.$empty[node.tagName] && !dtd.$nonChild[node.tagName] - } - while (me.startContainer.nodeType == 1 //是element - && (child = me.startContainer.childNodes[me.startOffset]) //子节点也是element - && check(child)) { - me.setStart(child, 0); - } - if (collapsed) { - return me.collapse(true); - } - if (!ignoreEnd) { - while (me.endContainer.nodeType == 1//是element - && me.endOffset > 0 //如果是空元素就退出 endOffset=0那么endOffst-1为负值,childNodes[endOffset]报错 - && (child = me.endContainer.childNodes[me.endOffset - 1]) //子节点也是element - && check(child)) { - me.setEnd(child, child.childNodes.length); - } - } - return me; - }, - - /** - * 获取离当前选区内包含的所有节点最近的公共祖先节点, - * @method getCommonAncestor - * @remind 返回的公共祖先节点一定不是range自身的容器节点, 但有可能是一个文本节点 - * @return { Node } 当前range对象内所有节点的公共祖先节点 - * @example - * ```html - * //选区示例 - * xxxx[xxx]xxxxxx - * - * ``` - */ - - /** - * 获取当前选区所包含的所有节点的公共祖先节点, 可以根据给定的参数 includeSelf 决定获取到 - * 的公共祖先节点是否可以是当前选区的startContainer或endContainer节点, 如果 includeSelf - * 的取值为true, 则返回的节点可以是自身的容器节点, 否则, 则不能是容器节点 - * @method getCommonAncestor - * @param { Boolean } includeSelf 是否允许获取到的公共祖先节点是当前range对象的容器节点 - * @return { Node } 当前range对象内所有节点的公共祖先节点 - * @see UE.dom.Range:getCommonAncestor() - * @example - * ```html - * - * - * - * xxxxxxxxx[xxx]xxxxxxxx - * - * - * - * - * ``` - */ - - /** - * 获取当前选区所包含的所有节点的公共祖先节点, 可以根据给定的参数 includeSelf 决定获取到 - * 的公共祖先节点是否可以是当前选区的startContainer或endContainer节点, 如果 includeSelf - * 的取值为true, 则返回的节点可以是自身的容器节点, 否则, 则不能是容器节点; 同时可以根据 - * ignoreTextNode 参数的取值决定是否忽略类型为文本节点的祖先节点。 - * @method getCommonAncestor - * @param { Boolean } includeSelf 是否允许获取到的公共祖先节点是当前range对象的容器节点 - * @param { Boolean } ignoreTextNode 获取祖先节点的过程中是否忽略类型为文本节点的祖先节点 - * @return { Node } 当前range对象内所有节点的公共祖先节点 - * @see UE.dom.Range:getCommonAncestor() - * @see UE.dom.Range:getCommonAncestor(Boolean) - * @example - * ```html - * - * - * - * xxxxxxxx[x]xxxxxxxxxxx - * - * - * - * - * ``` - */ - getCommonAncestor:function (includeSelf, ignoreTextNode) { - var me = this, - start = me.startContainer, - end = me.endContainer; - if (start === end) { - if (includeSelf && selectOneNode(this)) { - start = start.childNodes[me.startOffset]; - if(start.nodeType == 1) - return start; - } - //只有在上来就相等的情况下才会出现是文本的情况 - return ignoreTextNode && start.nodeType == 3 ? start.parentNode : start; - } - return domUtils.getCommonAncestor(start, end); - }, - - /** - * 调整当前Range的开始和结束边界容器,如果是容器节点是文本节点,就调整到包含该文本节点的父节点上 - * @method trimBoundary - * @remind 该操作有可能会引起文本节点被切开 - * @return { UE.dom.Range } 当前range对象 - * @example - * ```html - * - * //选区示例 - * xxx[xxxxx]xxx - * - * - * ``` - */ - - /** - * 调整当前Range的开始和结束边界容器,如果是容器节点是文本节点,就调整到包含该文本节点的父节点上, - * 可以根据 ignoreEnd 参数的值决定是否调整对结束边界的调整 - * @method trimBoundary - * @param { Boolean } ignoreEnd 是否忽略对结束边界的调整 - * @return { UE.dom.Range } 当前range对象 - * @example - * ```html - * - * //选区示例 - * xxx[xxxxx]xxx - * - * - * ``` - */ - trimBoundary:function (ignoreEnd) { - this.txtToElmBoundary(); - var start = this.startContainer, - offset = this.startOffset, - collapsed = this.collapsed, - end = this.endContainer; - if (start.nodeType == 3) { - if (offset == 0) { - this.setStartBefore(start); - } else { - if (offset >= start.nodeValue.length) { - this.setStartAfter(start); - } else { - var textNode = domUtils.split(start, offset); - //跟新结束边界 - if (start === end) { - this.setEnd(textNode, this.endOffset - offset); - } else if (start.parentNode === end) { - this.endOffset += 1; - } - this.setStartBefore(textNode); - } - } - if (collapsed) { - return this.collapse(true); - } - } - if (!ignoreEnd) { - offset = this.endOffset; - end = this.endContainer; - if (end.nodeType == 3) { - if (offset == 0) { - this.setEndBefore(end); - } else { - offset < end.nodeValue.length && domUtils.split(end, offset); - this.setEndAfter(end); - } - } - } - return this; - }, - - /** - * 如果选区在文本的边界上,就扩展选区到文本的父节点上, 如果当前选区是闭合的, 则什么也不做 - * @method txtToElmBoundary - * @remind 该操作不会修改dom节点 - * @return { UE.dom.Range } 当前range对象 - */ - - /** - * 如果选区在文本的边界上,就扩展选区到文本的父节点上, 如果当前选区是闭合的, 则根据参数项 - * ignoreCollapsed 的值决定是否执行该调整 - * @method txtToElmBoundary - * @param { Boolean } ignoreCollapsed 是否忽略选区的闭合状态, 如果该参数取值为true, 则 - * 不论选区是否闭合, 都会执行该操作, 反之, 则不会对闭合的选区执行该操作 - * @return { UE.dom.Range } 当前range对象 - */ - txtToElmBoundary:function (ignoreCollapsed) { - function adjust(r, c) { - var container = r[c + 'Container'], - offset = r[c + 'Offset']; - if (container.nodeType == 3) { - if (!offset) { - r['set' + c.replace(/(\w)/, function (a) { - return a.toUpperCase(); - }) + 'Before'](container); - } else if (offset >= container.nodeValue.length) { - r['set' + c.replace(/(\w)/, function (a) { - return a.toUpperCase(); - }) + 'After' ](container); - } - } - } - - if (ignoreCollapsed || !this.collapsed) { - adjust(this, 'start'); - adjust(this, 'end'); - } - return this; - }, - - /** - * 在当前选区的开始位置前插入节点,新插入的节点会被该range包含 - * @method insertNode - * @param { Node } node 需要插入的节点 - * @remind 插入的节点可以是一个DocumentFragment依次插入多个节点 - * @return { UE.dom.Range } 当前range对象 - */ - insertNode:function (node) { - var first = node, length = 1; - if (node.nodeType == 11) { - first = node.firstChild; - length = node.childNodes.length; - } - this.trimBoundary(true); - var start = this.startContainer, - offset = this.startOffset; - var nextNode = start.childNodes[ offset ]; - if (nextNode) { - start.insertBefore(node, nextNode); - } else { - start.appendChild(node); - } - if (first.parentNode === this.endContainer) { - this.endOffset = this.endOffset + length; - } - return this.setStartBefore(first); - }, - - /** - * 闭合选区到当前选区的开始位置, 并且定位光标到闭合后的位置 - * @method setCursor - * @return { UE.dom.Range } 当前range对象 - * @see UE.dom.Range:collapse() - */ - - /** - * 闭合选区,可以根据参数toEnd的值控制选区是向前闭合还是向后闭合, 并且定位光标到闭合后的位置。 - * @method setCursor - * @param { Boolean } toEnd 是否向后闭合, 如果为true, 则闭合选区时, 将向结束容器方向闭合, - * 反之,则向开始容器方向闭合 - * @return { UE.dom.Range } 当前range对象 - * @see UE.dom.Range:collapse(Boolean) - */ - setCursor:function (toEnd, noFillData) { - return this.collapse(!toEnd).select(noFillData); - }, - - /** - * 创建当前range的一个书签,记录下当前range的位置,方便当dom树改变时,还能找回原来的选区位置 - * @method createBookmark - * @param { Boolean } serialize 控制返回的标记位置是对当前位置的引用还是ID,如果该值为true,则 - * 返回标记位置的ID, 反之则返回标记位置节点的引用 - * @return { Object } 返回一个书签记录键值对, 其包含的key有: start => 开始标记的ID或者引用, - * end => 结束标记的ID或引用, id => 当前标记的类型, 如果为true,则表示 - * 返回的记录的类型为ID, 反之则为引用 - */ - createBookmark:function (serialize, same) { - var endNode, - startNode = this.document.createElement('span'); - startNode.style.cssText = 'display:none;line-height:0px;'; - startNode.appendChild(this.document.createTextNode('\u200D')); - startNode.id = '_baidu_bookmark_start_' + (same ? '' : guid++); - - if (!this.collapsed) { - endNode = startNode.cloneNode(true); - endNode.id = '_baidu_bookmark_end_' + (same ? '' : guid++); - } - this.insertNode(startNode); - if (endNode) { - this.collapse().insertNode(endNode).setEndBefore(endNode); - } - this.setStartAfter(startNode); - return { - start:serialize ? startNode.id : startNode, - end:endNode ? serialize ? endNode.id : endNode : null, - id:serialize - } - }, - - /** - * 调整当前range的边界到书签位置,并删除该书签对象所标记的位置内的节点 - * @method moveToBookmark - * @param { BookMark } bookmark createBookmark所创建的标签对象 - * @return { UE.dom.Range } 当前range对象 - * @see UE.dom.Range:createBookmark(Boolean) - */ - moveToBookmark:function (bookmark) { - var start = bookmark.id ? this.document.getElementById(bookmark.start) : bookmark.start, - end = bookmark.end && bookmark.id ? this.document.getElementById(bookmark.end) : bookmark.end; - this.setStartBefore(start); - domUtils.remove(start); - if (end) { - this.setEndBefore(end); - domUtils.remove(end); - } else { - this.collapse(true); - } - return this; - }, - - /** - * 调整range的边界,使其"放大"到最近的父节点 - * @method enlarge - * @remind 会引起选区的变化 - * @return { UE.dom.Range } 当前range对象 - */ - - /** - * 调整range的边界,使其"放大"到最近的父节点,根据参数 toBlock 的取值, 可以 - * 要求扩大之后的父节点是block节点 - * @method enlarge - * @param { Boolean } toBlock 是否要求扩大之后的父节点必须是block节点 - * @return { UE.dom.Range } 当前range对象 - */ - enlarge:function (toBlock, stopFn) { - var isBody = domUtils.isBody, - pre, node, tmp = this.document.createTextNode(''); - if (toBlock) { - node = this.startContainer; - if (node.nodeType == 1) { - if (node.childNodes[this.startOffset]) { - pre = node = node.childNodes[this.startOffset] - } else { - node.appendChild(tmp); - pre = node = tmp; - } - } else { - pre = node; - } - while (1) { - if (domUtils.isBlockElm(node)) { - node = pre; - while ((pre = node.previousSibling) && !domUtils.isBlockElm(pre)) { - node = pre; - } - this.setStartBefore(node); - break; - } - pre = node; - node = node.parentNode; - } - node = this.endContainer; - if (node.nodeType == 1) { - if (pre = node.childNodes[this.endOffset]) { - node.insertBefore(tmp, pre); - } else { - node.appendChild(tmp); - } - pre = node = tmp; - } else { - pre = node; - } - while (1) { - if (domUtils.isBlockElm(node)) { - node = pre; - while ((pre = node.nextSibling) && !domUtils.isBlockElm(pre)) { - node = pre; - } - this.setEndAfter(node); - break; - } - pre = node; - node = node.parentNode; - } - if (tmp.parentNode === this.endContainer) { - this.endOffset--; - } - domUtils.remove(tmp); - } - - // 扩展边界到最大 - if (!this.collapsed) { - while (this.startOffset == 0) { - if (stopFn && stopFn(this.startContainer)) { - break; - } - if (isBody(this.startContainer)) { - break; - } - this.setStartBefore(this.startContainer); - } - while (this.endOffset == (this.endContainer.nodeType == 1 ? this.endContainer.childNodes.length : this.endContainer.nodeValue.length)) { - if (stopFn && stopFn(this.endContainer)) { - break; - } - if (isBody(this.endContainer)) { - break; - } - this.setEndAfter(this.endContainer); - } - } - return this; - }, - enlargeToBlockElm:function(ignoreEnd){ - while(!domUtils.isBlockElm(this.startContainer)){ - this.setStartBefore(this.startContainer); - } - if(!ignoreEnd){ - while(!domUtils.isBlockElm(this.endContainer)){ - this.setEndAfter(this.endContainer); - } - } - return this; - }, - /** - * 调整Range的边界,使其"缩小"到最合适的位置 - * @method adjustmentBoundary - * @return { UE.dom.Range } 当前range对象 - * @see UE.dom.Range:shrinkBoundary() - */ - adjustmentBoundary:function () { - if (!this.collapsed) { - while (!domUtils.isBody(this.startContainer) && - this.startOffset == this.startContainer[this.startContainer.nodeType == 3 ? 'nodeValue' : 'childNodes'].length && - this.startContainer[this.startContainer.nodeType == 3 ? 'nodeValue' : 'childNodes'].length - ) { - - this.setStartAfter(this.startContainer); - } - while (!domUtils.isBody(this.endContainer) && !this.endOffset && - this.endContainer[this.endContainer.nodeType == 3 ? 'nodeValue' : 'childNodes'].length - ) { - this.setEndBefore(this.endContainer); - } - } - return this; - }, - - /** - * 给range选区中的内容添加给定的inline标签 - * @method applyInlineStyle - * @param { String } tagName 需要添加的标签名 - * @example - * ```html - *

    xxxx[xxxx]x

    ==> range.applyInlineStyle("strong") ==>

    xxxx[xxxx]x

    - * ``` - */ - - /** - * 给range选区中的内容添加给定的inline标签, 并且为标签附加上一些初始化属性。 - * @method applyInlineStyle - * @param { String } tagName 需要添加的标签名 - * @param { Object } attrs 跟随新添加的标签的属性 - * @return { UE.dom.Range } 当前选区 - * @example - * ```html - *

    xxxx[xxxx]x

    - * - * ==> - * - * - * range.applyInlineStyle("strong",{"style":"font-size:12px"}) - * - * ==> - * - *

    xxxx[xxxx]x

    - * ``` - */ - applyInlineStyle:function (tagName, attrs, list) { - if (this.collapsed)return this; - this.trimBoundary().enlarge(false, - function (node) { - return node.nodeType == 1 && domUtils.isBlockElm(node) - }).adjustmentBoundary(); - var bookmark = this.createBookmark(), - end = bookmark.end, - filterFn = function (node) { - return node.nodeType == 1 ? node.tagName.toLowerCase() != 'br' : !domUtils.isWhitespace(node); - }, - current = domUtils.getNextDomNode(bookmark.start, false, filterFn), - node, - pre, - range = this.cloneRange(); - while (current && (domUtils.getPosition(current, end) & domUtils.POSITION_PRECEDING)) { - if (current.nodeType == 3 || dtd[tagName][current.tagName]) { - range.setStartBefore(current); - node = current; - while (node && (node.nodeType == 3 || dtd[tagName][node.tagName]) && node !== end) { - pre = node; - node = domUtils.getNextDomNode(node, node.nodeType == 1, null, function (parent) { - return dtd[tagName][parent.tagName]; - }); - } - var frag = range.setEndAfter(pre).extractContents(), elm; - if (list && list.length > 0) { - var level, top; - top = level = list[0].cloneNode(false); - for (var i = 1, ci; ci = list[i++];) { - level.appendChild(ci.cloneNode(false)); - level = level.firstChild; - } - elm = level; - } else { - elm = range.document.createElement(tagName); - } - if (attrs) { - domUtils.setAttributes(elm, attrs); - } - elm.appendChild(frag); - range.insertNode(list ? top : elm); - //处理下滑线在a上的情况 - var aNode; - if (tagName == 'span' && attrs.style && /text\-decoration/.test(attrs.style) && (aNode = domUtils.findParentByTagName(elm, 'a', true))) { - domUtils.setAttributes(aNode, attrs); - domUtils.remove(elm, true); - elm = aNode; - } else { - domUtils.mergeSibling(elm); - domUtils.clearEmptySibling(elm); - } - //去除子节点相同的 - domUtils.mergeChild(elm, attrs); - current = domUtils.getNextDomNode(elm, false, filterFn); - domUtils.mergeToParent(elm); - if (node === end) { - break; - } - } else { - current = domUtils.getNextDomNode(current, true, filterFn); - } - } - return this.moveToBookmark(bookmark); - }, - - /** - * 移除当前选区内指定的inline标签,但保留其中的内容 - * @method removeInlineStyle - * @param { String } tagName 需要移除的标签名 - * @return { UE.dom.Range } 当前的range对象 - * @example - * ```html - * xx[xxxxyyyzz]z => range.removeInlineStyle(["em"]) => xx[xxxxyyyzz]z - * ``` - */ - - /** - * 移除当前选区内指定的一组inline标签,但保留其中的内容 - * @method removeInlineStyle - * @param { Array } tagNameArr 需要移除的标签名的数组 - * @return { UE.dom.Range } 当前的range对象 - * @see UE.dom.Range:removeInlineStyle(String) - */ - removeInlineStyle:function (tagNames) { - if (this.collapsed)return this; - tagNames = utils.isArray(tagNames) ? tagNames : [tagNames]; - this.shrinkBoundary().adjustmentBoundary(); - var start = this.startContainer, end = this.endContainer; - while (1) { - if (start.nodeType == 1) { - if (utils.indexOf(tagNames, start.tagName.toLowerCase()) > -1) { - break; - } - if (start.tagName.toLowerCase() == 'body') { - start = null; - break; - } - } - start = start.parentNode; - } - while (1) { - if (end.nodeType == 1) { - if (utils.indexOf(tagNames, end.tagName.toLowerCase()) > -1) { - break; - } - if (end.tagName.toLowerCase() == 'body') { - end = null; - break; - } - } - end = end.parentNode; - } - var bookmark = this.createBookmark(), - frag, - tmpRange; - if (start) { - tmpRange = this.cloneRange().setEndBefore(bookmark.start).setStartBefore(start); - frag = tmpRange.extractContents(); - tmpRange.insertNode(frag); - domUtils.clearEmptySibling(start, true); - start.parentNode.insertBefore(bookmark.start, start); - } - if (end) { - tmpRange = this.cloneRange().setStartAfter(bookmark.end).setEndAfter(end); - frag = tmpRange.extractContents(); - tmpRange.insertNode(frag); - domUtils.clearEmptySibling(end, false, true); - end.parentNode.insertBefore(bookmark.end, end.nextSibling); - } - var current = domUtils.getNextDomNode(bookmark.start, false, function (node) { - return node.nodeType == 1; - }), next; - while (current && current !== bookmark.end) { - next = domUtils.getNextDomNode(current, true, function (node) { - return node.nodeType == 1; - }); - if (utils.indexOf(tagNames, current.tagName.toLowerCase()) > -1) { - domUtils.remove(current, true); - } - current = next; - } - return this.moveToBookmark(bookmark); - }, - - /** - * 获取当前选中的自闭合的节点 - * @method getClosedNode - * @return { Node | NULL } 如果当前选中的是自闭合节点, 则返回该节点, 否则返回NULL - */ - getClosedNode:function () { - var node; - if (!this.collapsed) { - var range = this.cloneRange().adjustmentBoundary().shrinkBoundary(); - if (selectOneNode(range)) { - var child = range.startContainer.childNodes[range.startOffset]; - if (child && child.nodeType == 1 && (dtd.$empty[child.tagName] || dtd.$nonChild[child.tagName])) { - node = child; - } - } - } - return node; - }, - - /** - * 在页面上高亮range所表示的选区 - * @method select - * @return { UE.dom.Range } 返回当前Range对象 - */ - //这里不区分ie9以上,trace:3824 - select:browser.ie ? function (noFillData, textRange) { - var nativeRange; - if (!this.collapsed) - this.shrinkBoundary(); - var node = this.getClosedNode(); - if (node && !textRange) { - try { - nativeRange = this.document.body.createControlRange(); - nativeRange.addElement(node); - nativeRange.select(); - } catch (e) {} - return this; - } - var bookmark = this.createBookmark(), - start = bookmark.start, - end; - nativeRange = this.document.body.createTextRange(); - nativeRange.moveToElementText(start); - nativeRange.moveStart('character', 1); - if (!this.collapsed) { - var nativeRangeEnd = this.document.body.createTextRange(); - end = bookmark.end; - nativeRangeEnd.moveToElementText(end); - nativeRange.setEndPoint('EndToEnd', nativeRangeEnd); - } else { - if (!noFillData && this.startContainer.nodeType != 3) { - //使用|x固定住光标 - var tmpText = this.document.createTextNode(fillChar), - tmp = this.document.createElement('span'); - tmp.appendChild(this.document.createTextNode(fillChar)); - start.parentNode.insertBefore(tmp, start); - start.parentNode.insertBefore(tmpText, start); - //当点b,i,u时,不能清除i上边的b - removeFillData(this.document, tmpText); - fillData = tmpText; - mergeSibling(tmp, 'previousSibling'); - mergeSibling(start, 'nextSibling'); - nativeRange.moveStart('character', -1); - nativeRange.collapse(true); - } - } - this.moveToBookmark(bookmark); - tmp && domUtils.remove(tmp); - //IE在隐藏状态下不支持range操作,catch一下 - try { - nativeRange.select(); - } catch (e) { - } - return this; - } : function (notInsertFillData) { - function checkOffset(rng){ - - function check(node,offset,dir){ - if(node.nodeType == 3 && node.nodeValue.length < offset){ - rng[dir + 'Offset'] = node.nodeValue.length - } - } - check(rng.startContainer,rng.startOffset,'start'); - check(rng.endContainer,rng.endOffset,'end'); - } - var win = domUtils.getWindow(this.document), - sel = win.getSelection(), - txtNode; - //FF下关闭自动长高时滚动条在关闭dialog时会跳 - //ff下如果不body.focus将不能定位闭合光标到编辑器内 - browser.gecko ? this.document.body.focus() : win.focus(); - if (sel) { - sel.removeAllRanges(); - // trace:870 chrome/safari后边是br对于闭合得range不能定位 所以去掉了判断 - // this.startContainer.nodeType != 3 &&! ((child = this.startContainer.childNodes[this.startOffset]) && child.nodeType == 1 && child.tagName == 'BR' - if (this.collapsed && !notInsertFillData) { -// //opear如果没有节点接着,原生的不能够定位,不能在body的第一级插入空白节点 -// if (notInsertFillData && browser.opera && !domUtils.isBody(this.startContainer) && this.startContainer.nodeType == 1) { -// var tmp = this.document.createTextNode(''); -// this.insertNode(tmp).setStart(tmp, 0).collapse(true); -// } -// - //处理光标落在文本节点的情况 - //处理以下的情况 - //|xxxx - //xxxx|xxxx - //xxxx| - var start = this.startContainer,child = start; - if(start.nodeType == 1){ - child = start.childNodes[this.startOffset]; - - } - if( !(start.nodeType == 3 && this.startOffset) && - (child ? - (!child.previousSibling || child.previousSibling.nodeType != 3) - : - (!start.lastChild || start.lastChild.nodeType != 3) - ) - ){ - txtNode = this.document.createTextNode(fillChar); - //跟着前边走 - this.insertNode(txtNode); - removeFillData(this.document, txtNode); - mergeSibling(txtNode, 'previousSibling'); - mergeSibling(txtNode, 'nextSibling'); - fillData = txtNode; - this.setStart(txtNode, browser.webkit ? 1 : 0).collapse(true); - } - } - var nativeRange = this.document.createRange(); - if(this.collapsed && browser.opera && this.startContainer.nodeType == 1){ - var child = this.startContainer.childNodes[this.startOffset]; - if(!child){ - //往前靠拢 - child = this.startContainer.lastChild; - if( child && domUtils.isBr(child)){ - this.setStartBefore(child).collapse(true); - } - }else{ - //向后靠拢 - while(child && domUtils.isBlockElm(child)){ - if(child.nodeType == 1 && child.childNodes[0]){ - child = child.childNodes[0] - }else{ - break; - } - } - child && this.setStartBefore(child).collapse(true) - } - - } - //是createAddress最后一位算的不准,现在这里进行微调 - checkOffset(this); - nativeRange.setStart(this.startContainer, this.startOffset); - nativeRange.setEnd(this.endContainer, this.endOffset); - sel.addRange(nativeRange); - } - return this; - }, - - /** - * 滚动到当前range开始的位置 - * @method scrollToView - * @param { Window } win 当前range对象所属的window对象 - * @return { UE.dom.Range } 当前Range对象 - */ - - /** - * 滚动到距离当前range开始位置 offset 的位置处 - * @method scrollToView - * @param { Window } win 当前range对象所属的window对象 - * @param { Number } offset 距离range开始位置处的偏移量, 如果为正数, 则向下偏移, 反之, 则向上偏移 - * @return { UE.dom.Range } 当前Range对象 - */ - scrollToView:function (win, offset) { - win = win ? window : domUtils.getWindow(this.document); - var me = this, - span = me.document.createElement('span'); - //trace:717 - span.innerHTML = ' '; - me.cloneRange().insertNode(span); - domUtils.scrollToView(span, win, offset); - domUtils.remove(span); - return me; - }, - - /** - * 判断当前选区内容是否占位符 - * @private - * @method inFillChar - * @return { Boolean } 如果是占位符返回true,否则返回false - */ - inFillChar : function(){ - var start = this.startContainer; - if(this.collapsed && start.nodeType == 3 - && start.nodeValue.replace(new RegExp('^' + domUtils.fillChar),'').length + 1 == start.nodeValue.length - ){ - return true; - } - return false; - }, - - /** - * 保存 - * @method createAddress - * @private - * @return { Boolean } 返回开始和结束的位置 - * @example - * ```html - * - *

    - * aaaa - * - * - * bbbb - * - * - *

    - * - * - * - * ``` - */ - createAddress : function(ignoreEnd,ignoreTxt){ - var addr = {},me = this; - - function getAddress(isStart){ - var node = isStart ? me.startContainer : me.endContainer; - var parents = domUtils.findParents(node,true,function(node){return !domUtils.isBody(node)}), - addrs = []; - for(var i = 0,ci;ci = parents[i++];){ - addrs.push(domUtils.getNodeIndex(ci,ignoreTxt)); - } - var firstIndex = 0; - - if(ignoreTxt){ - if(node.nodeType == 3){ - var tmpNode = node.previousSibling; - while(tmpNode && tmpNode.nodeType == 3){ - firstIndex += tmpNode.nodeValue.replace(fillCharReg,'').length; - tmpNode = tmpNode.previousSibling; - } - firstIndex += (isStart ? me.startOffset : me.endOffset)// - (fillCharReg.test(node.nodeValue) ? 1 : 0 ) - }else{ - node = node.childNodes[ isStart ? me.startOffset : me.endOffset]; - if(node){ - firstIndex = domUtils.getNodeIndex(node,ignoreTxt); - }else{ - node = isStart ? me.startContainer : me.endContainer; - var first = node.firstChild; - while(first){ - if(domUtils.isFillChar(first)){ - first = first.nextSibling; - continue; - } - firstIndex++; - if(first.nodeType == 3){ - while( first && first.nodeType == 3){ - first = first.nextSibling; - } - }else{ - first = first.nextSibling; - } - } - } - } - - }else{ - firstIndex = isStart ? domUtils.isFillChar(node) ? 0 : me.startOffset : me.endOffset - } - if(firstIndex < 0){ - firstIndex = 0; - } - addrs.push(firstIndex); - return addrs; - } - addr.startAddress = getAddress(true); - if(!ignoreEnd){ - addr.endAddress = me.collapsed ? [].concat(addr.startAddress) : getAddress(); - } - return addr; - }, - - /** - * 保存 - * @method createAddress - * @private - * @return { Boolean } 返回开始和结束的位置 - * @example - * ```html - * - *

    - * aaaa - * - * - * bbbb - * - * - *

    - * - * - * - * ``` - */ - moveToAddress : function(addr,ignoreEnd){ - var me = this; - function getNode(address,isStart){ - var tmpNode = me.document.body, - parentNode,offset; - for(var i= 0,ci,l=address.length;i - * - * - * - * - * - * - * - * - * ``` - */ - - /** - * 遍历range内的节点。 - * 每当遍历一个节点时, 都会执行参数项 doFn 指定的函数, 该函数的接受当前遍历的节点 - * 作为其参数。 - * 可以通过参数项 filterFn 来指定一个过滤器, 只有符合该过滤器过滤规则的节点才会触 - * 发doFn函数的执行 - * @method traversal - * @param { Function } doFn 对每个遍历的节点要执行的方法, 该方法接受当前遍历的节点作为其参数 - * @param { Function } filterFn 过滤器, 该函数接受当前遍历的节点作为参数, 如果该节点满足过滤 - * 规则, 请返回true, 该节点会触发doFn, 否则, 请返回false, 则该节点不 - * 会触发doFn。 - * @return { UE.dom.Range } 当前range对象 - * @see UE.dom.Range:traversal(Function) - * @example - * ```html - * - * - * - * - * - * - * - * - * - * - * ``` - */ - traversal:function(doFn,filterFn){ - if (this.collapsed) - return this; - var bookmark = this.createBookmark(), - end = bookmark.end, - current = domUtils.getNextDomNode(bookmark.start, false, filterFn); - while (current && current !== end && (domUtils.getPosition(current, end) & domUtils.POSITION_PRECEDING)) { - var tmpNode = domUtils.getNextDomNode(current,false,filterFn); - doFn(current); - current = tmpNode; - } - return this.moveToBookmark(bookmark); - } - }; -})(); - -// core/Selection.js -/** - * 选集 - * @file - * @module UE.dom - * @class Selection - * @since 1.2.6.1 - */ - -/** - * 选区集合 - * @unfile - * @module UE.dom - * @class Selection - */ -(function () { - - function getBoundaryInformation( range, start ) { - var getIndex = domUtils.getNodeIndex; - range = range.duplicate(); - range.collapse( start ); - var parent = range.parentElement(); - //如果节点里没有子节点,直接退出 - if ( !parent.hasChildNodes() ) { - return {container:parent, offset:0}; - } - var siblings = parent.children, - child, - testRange = range.duplicate(), - startIndex = 0, endIndex = siblings.length - 1, index = -1, - distance; - while ( startIndex <= endIndex ) { - index = Math.floor( (startIndex + endIndex) / 2 ); - child = siblings[index]; - testRange.moveToElementText( child ); - var position = testRange.compareEndPoints( 'StartToStart', range ); - if ( position > 0 ) { - endIndex = index - 1; - } else if ( position < 0 ) { - startIndex = index + 1; - } else { - //trace:1043 - return {container:parent, offset:getIndex( child )}; - } - } - if ( index == -1 ) { - testRange.moveToElementText( parent ); - testRange.setEndPoint( 'StartToStart', range ); - distance = testRange.text.replace( /(\r\n|\r)/g, '\n' ).length; - siblings = parent.childNodes; - if ( !distance ) { - child = siblings[siblings.length - 1]; - return {container:child, offset:child.nodeValue.length}; - } - - var i = siblings.length; - while ( distance > 0 ){ - distance -= siblings[ --i ].nodeValue.length; - } - return {container:siblings[i], offset:-distance}; - } - testRange.collapse( position > 0 ); - testRange.setEndPoint( position > 0 ? 'StartToStart' : 'EndToStart', range ); - distance = testRange.text.replace( /(\r\n|\r)/g, '\n' ).length; - if ( !distance ) { - return dtd.$empty[child.tagName] || dtd.$nonChild[child.tagName] ? - {container:parent, offset:getIndex( child ) + (position > 0 ? 0 : 1)} : - {container:child, offset:position > 0 ? 0 : child.childNodes.length} - } - while ( distance > 0 ) { - try { - var pre = child; - child = child[position > 0 ? 'previousSibling' : 'nextSibling']; - distance -= child.nodeValue.length; - } catch ( e ) { - return {container:parent, offset:getIndex( pre )}; - } - } - return {container:child, offset:position > 0 ? -distance : child.nodeValue.length + distance} - } - - /** - * 将ieRange转换为Range对象 - * @param {Range} ieRange ieRange对象 - * @param {Range} range Range对象 - * @return {Range} range 返回转换后的Range对象 - */ - function transformIERangeToRange( ieRange, range ) { - if ( ieRange.item ) { - range.selectNode( ieRange.item( 0 ) ); - } else { - var bi = getBoundaryInformation( ieRange, true ); - range.setStart( bi.container, bi.offset ); - if ( ieRange.compareEndPoints( 'StartToEnd', ieRange ) != 0 ) { - bi = getBoundaryInformation( ieRange, false ); - range.setEnd( bi.container, bi.offset ); - } - } - return range; - } - - /** - * 获得ieRange - * @param {Selection} sel Selection对象 - * @return {ieRange} 得到ieRange - */ - function _getIERange( sel ) { - var ieRange; - //ie下有可能报错 - try { - ieRange = sel.getNative().createRange(); - } catch ( e ) { - return null; - } - var el = ieRange.item ? ieRange.item( 0 ) : ieRange.parentElement(); - if ( ( el.ownerDocument || el ) === sel.document ) { - return ieRange; - } - return null; - } - - var Selection = dom.Selection = function ( doc ) { - var me = this, iframe; - me.document = doc; - if ( browser.ie9below ) { - iframe = domUtils.getWindow( doc ).frameElement; - domUtils.on( iframe, 'beforedeactivate', function () { - me._bakIERange = me.getIERange(); - } ); - domUtils.on( iframe, 'activate', function () { - try { - if ( !_getIERange( me ) && me._bakIERange ) { - me._bakIERange.select(); - } - } catch ( ex ) { - } - me._bakIERange = null; - } ); - } - iframe = doc = null; - }; - - Selection.prototype = { - - rangeInBody : function(rng,txtRange){ - var node = browser.ie9below || txtRange ? rng.item ? rng.item() : rng.parentElement() : rng.startContainer; - - return node === this.document.body || domUtils.inDoc(node,this.document); - }, - - /** - * 获取原生seleciton对象 - * @method getNative - * @return { Object } 获得selection对象 - * @example - * ```javascript - * editor.selection.getNative(); - * ``` - */ - getNative:function () { - var doc = this.document; - try { - return !doc ? null : browser.ie9below ? doc.selection : domUtils.getWindow( doc ).getSelection(); - } catch ( e ) { - return null; - } - }, - - /** - * 获得ieRange - * @method getIERange - * @return { Object } 返回ie原生的Range - * @example - * ```javascript - * editor.selection.getIERange(); - * ``` - */ - getIERange:function () { - var ieRange = _getIERange( this ); - if ( !ieRange ) { - if ( this._bakIERange ) { - return this._bakIERange; - } - } - return ieRange; - }, - - /** - * 缓存当前选区的range和选区的开始节点 - * @method cache - */ - cache:function () { - this.clear(); - this._cachedRange = this.getRange(); - this._cachedStartElement = this.getStart(); - this._cachedStartElementPath = this.getStartElementPath(); - }, - - /** - * 获取选区开始位置的父节点到body - * @method getStartElementPath - * @return { Array } 返回父节点集合 - * @example - * ```javascript - * editor.selection.getStartElementPath(); - * ``` - */ - getStartElementPath:function () { - if ( this._cachedStartElementPath ) { - return this._cachedStartElementPath; - } - var start = this.getStart(); - if ( start ) { - return domUtils.findParents( start, true, null, true ) - } - return []; - }, - - /** - * 清空缓存 - * @method clear - */ - clear:function () { - this._cachedStartElementPath = this._cachedRange = this._cachedStartElement = null; - }, - - /** - * 编辑器是否得到了选区 - * @method isFocus - */ - isFocus:function () { - try { - if(browser.ie9below){ - - var nativeRange = _getIERange(this); - return !!(nativeRange && this.rangeInBody(nativeRange)); - }else{ - return !!this.getNative().rangeCount; - } - } catch ( e ) { - return false; - } - - }, - - /** - * 获取选区对应的Range - * @method getRange - * @return { Object } 得到Range对象 - * @example - * ```javascript - * editor.selection.getRange(); - * ``` - */ - getRange:function () { - var me = this; - function optimze( range ) { - var child = me.document.body.firstChild, - collapsed = range.collapsed; - while ( child && child.firstChild ) { - range.setStart( child, 0 ); - child = child.firstChild; - } - if ( !range.startContainer ) { - range.setStart( me.document.body, 0 ) - } - if ( collapsed ) { - range.collapse( true ); - } - } - - if ( me._cachedRange != null ) { - return this._cachedRange; - } - var range = new baidu.editor.dom.Range( me.document ); - - if ( browser.ie9below ) { - var nativeRange = me.getIERange(); - if ( nativeRange ) { - //备份的_bakIERange可能已经实效了,dom树发生了变化比如从源码模式切回来,所以try一下,实效就放到body开始位置 - try{ - transformIERangeToRange( nativeRange, range ); - }catch(e){ - optimze( range ); - } - - } else { - optimze( range ); - } - } else { - var sel = me.getNative(); - if ( sel && sel.rangeCount ) { - var firstRange = sel.getRangeAt( 0 ); - var lastRange = sel.getRangeAt( sel.rangeCount - 1 ); - range.setStart( firstRange.startContainer, firstRange.startOffset ).setEnd( lastRange.endContainer, lastRange.endOffset ); - if ( range.collapsed && domUtils.isBody( range.startContainer ) && !range.startOffset ) { - optimze( range ); - } - } else { - //trace:1734 有可能已经不在dom树上了,标识的节点 - if ( this._bakRange && domUtils.inDoc( this._bakRange.startContainer, this.document ) ){ - return this._bakRange; - } - optimze( range ); - } - } - return this._bakRange = range; - }, - - /** - * 获取开始元素,用于状态反射 - * @method getStart - * @return { Element } 获得开始元素 - * @example - * ```javascript - * editor.selection.getStart(); - * ``` - */ - getStart:function () { - if ( this._cachedStartElement ) { - return this._cachedStartElement; - } - var range = browser.ie9below ? this.getIERange() : this.getRange(), - tmpRange, - start, tmp, parent; - if ( browser.ie9below ) { - if ( !range ) { - //todo 给第一个值可能会有问题 - return this.document.body.firstChild; - } - //control元素 - if ( range.item ){ - return range.item( 0 ); - } - tmpRange = range.duplicate(); - //修正ie下x[xx] 闭合后 x|xx - tmpRange.text.length > 0 && tmpRange.moveStart( 'character', 1 ); - tmpRange.collapse( 1 ); - start = tmpRange.parentElement(); - parent = tmp = range.parentElement(); - while ( tmp = tmp.parentNode ) { - if ( tmp == start ) { - start = parent; - break; - } - } - } else { - range.shrinkBoundary(); - start = range.startContainer; - if ( start.nodeType == 1 && start.hasChildNodes() ){ - start = start.childNodes[Math.min( start.childNodes.length - 1, range.startOffset )]; - } - if ( start.nodeType == 3 ){ - return start.parentNode; - } - } - return start; - }, - - /** - * 得到选区中的文本 - * @method getText - * @return { String } 选区中包含的文本 - * @example - * ```javascript - * editor.selection.getText(); - * ``` - */ - getText:function () { - var nativeSel, nativeRange; - if ( this.isFocus() && (nativeSel = this.getNative()) ) { - nativeRange = browser.ie9below ? nativeSel.createRange() : nativeSel.getRangeAt( 0 ); - return browser.ie9below ? nativeRange.text : nativeRange.toString(); - } - return ''; - }, - - /** - * 清除选区 - * @method clearRange - * @example - * ```javascript - * editor.selection.clearRange(); - * ``` - */ - clearRange : function(){ - this.getNative()[browser.ie9below ? 'empty' : 'removeAllRanges'](); - } - }; -})(); - -// core/Editor.js -/** - * 编辑器主类,包含编辑器提供的大部分公用接口 - * @file - * @module UE - * @class Editor - * @since 1.2.6.1 - */ - -/** - * UEditor公用空间,UEditor所有的功能都挂载在该空间下 - * @unfile - * @module UE - */ - -/** - * UEditor的核心类,为用户提供与编辑器交互的接口。 - * @unfile - * @module UE - * @class Editor - */ - -(function () { - var uid = 0, _selectionChangeTimer; - - /** - * 获取编辑器的html内容,赋值到编辑器所在表单的textarea文本域里面 - * @private - * @method setValue - * @param { UE.Editor } editor 编辑器事例 - */ - function setValue(form, editor) { - var textarea; - if (editor.textarea) { - if (utils.isString(editor.textarea)) { - for (var i = 0, ti, tis = domUtils.getElementsByTagName(form, 'textarea'); ti = tis[i++];) { - if (ti.id == 'ueditor_textarea_' + editor.options.textarea) { - textarea = ti; - break; - } - } - } else { - textarea = editor.textarea; - } - } - if (!textarea) { - form.appendChild(textarea = domUtils.createElement(document, 'textarea', { - 'name': editor.options.textarea, - 'id': 'ueditor_textarea_' + editor.options.textarea, - 'style': "display:none" - })); - //不要产生多个textarea - editor.textarea = textarea; - } - !textarea.getAttribute('name') && textarea.setAttribute('name', editor.options.textarea ); - textarea.value = editor.hasContents() ? - (editor.options.allHtmlEnabled ? editor.getAllHtml() : editor.getContent(null, null, true)) : - '' - } - function loadPlugins(me){ - //初始化插件 - for (var pi in UE.plugins) { - UE.plugins[pi].call(me); - } - - } - function checkCurLang(I18N){ - for(var lang in I18N){ - return lang - } - } - - function langReadied(me){ - me.langIsReady = true; - - me.fireEvent("langReady"); - } - - /** - * 编辑器准备就绪后会触发该事件 - * @module UE - * @class Editor - * @event ready - * @remind render方法执行完成之后,会触发该事件 - * @remind - * @example - * ```javascript - * editor.addListener( 'ready', function( editor ) { - * editor.execCommand( 'focus' ); //编辑器家在完成后,让编辑器拿到焦点 - * } ); - * ``` - */ - /** - * 执行destroy方法,会触发该事件 - * @module UE - * @class Editor - * @event destroy - * @see UE.Editor:destroy() - */ - /** - * 执行reset方法,会触发该事件 - * @module UE - * @class Editor - * @event reset - * @see UE.Editor:reset() - */ - /** - * 执行focus方法,会触发该事件 - * @module UE - * @class Editor - * @event focus - * @see UE.Editor:focus(Boolean) - */ - /** - * 语言加载完成会触发该事件 - * @module UE - * @class Editor - * @event langReady - */ - /** - * 运行命令之后会触发该命令 - * @module UE - * @class Editor - * @event beforeExecCommand - */ - /** - * 运行命令之后会触发该命令 - * @module UE - * @class Editor - * @event afterExecCommand - */ - /** - * 运行命令之前会触发该命令 - * @module UE - * @class Editor - * @event firstBeforeExecCommand - */ - /** - * 在getContent方法执行之前会触发该事件 - * @module UE - * @class Editor - * @event beforeGetContent - * @see UE.Editor:getContent() - */ - /** - * 在getContent方法执行之后会触发该事件 - * @module UE - * @class Editor - * @event afterGetContent - * @see UE.Editor:getContent() - */ - /** - * 在getAllHtml方法执行时会触发该事件 - * @module UE - * @class Editor - * @event getAllHtml - * @see UE.Editor:getAllHtml() - */ - /** - * 在setContent方法执行之前会触发该事件 - * @module UE - * @class Editor - * @event beforeSetContent - * @see UE.Editor:setContent(String) - */ - /** - * 在setContent方法执行之后会触发该事件 - * @module UE - * @class Editor - * @event afterSetContent - * @see UE.Editor:setContent(String) - */ - /** - * 每当编辑器内部选区发生改变时,将触发该事件 - * @event selectionchange - * @warning 该事件的触发非常频繁,不建议在该事件的处理过程中做重量级的处理 - * @example - * ```javascript - * editor.addListener( 'selectionchange', function( editor ) { - * console.log('选区发生改变'); - * } - */ - /** - * 在所有selectionchange的监听函数执行之前,会触发该事件 - * @module UE - * @class Editor - * @event beforeSelectionChange - * @see UE.Editor:selectionchange - */ - /** - * 在所有selectionchange的监听函数执行完之后,会触发该事件 - * @module UE - * @class Editor - * @event afterSelectionChange - * @see UE.Editor:selectionchange - */ - /** - * 编辑器内容发生改变时会触发该事件 - * @module UE - * @class Editor - * @event contentChange - */ - - - /** - * 以默认参数构建一个编辑器实例 - * @constructor - * @remind 通过 改构造方法实例化的编辑器,不带ui层.需要render到一个容器,编辑器实例才能正常渲染到页面 - * @example - * ```javascript - * var editor = new UE.Editor(); - * editor.execCommand('blod'); - * ``` - * @see UE.Config - */ - - /** - * 以给定的参数集合创建一个编辑器实例,对于未指定的参数,将应用默认参数。 - * @constructor - * @remind 通过 改构造方法实例化的编辑器,不带ui层.需要render到一个容器,编辑器实例才能正常渲染到页面 - * @param { Object } setting 创建编辑器的参数 - * @example - * ```javascript - * var editor = new UE.Editor(); - * editor.execCommand('blod'); - * ``` - * @see UE.Config - */ - var Editor = UE.Editor = function (options) { - var me = this; - me.uid = uid++; - EventBase.call(me); - me.commands = {}; - me.options = utils.extend(utils.clone(options || {}), UEDITOR_CONFIG, true); - me.shortcutkeys = {}; - me.inputRules = []; - me.outputRules = []; - //设置默认的常用属性 - me.setOpt(Editor.defaultOptions(me)); - - /* 尝试异步加载后台配置 */ - me.loadServerConfig(); - - if(!utils.isEmptyObject(UE.I18N)){ - //修改默认的语言类型 - me.options.lang = checkCurLang(UE.I18N); - UE.plugin.load(me); - langReadied(me); - - }else{ - utils.loadFile(document, { - src: me.options.langPath + me.options.lang + "/" + me.options.lang + ".js", - tag: "script", - type: "text/javascript", - defer: "defer" - }, function () { - UE.plugin.load(me); - langReadied(me); - }); - } - - UE.instants['ueditorInstant' + me.uid] = me; - }; - Editor.prototype = { - registerCommand : function(name,obj){ - this.commands[name] = obj; - }, - /** - * 编辑器对外提供的监听ready事件的接口, 通过调用该方法,达到的效果与监听ready事件是一致的 - * @method ready - * @param { Function } fn 编辑器ready之后所执行的回调, 如果在注册事件之前编辑器已经ready,将会 - * 立即触发该回调。 - * @remind 需要等待编辑器加载完成后才能执行的代码,可以使用该方法传入 - * @example - * ```javascript - * editor.ready( function( editor ) { - * editor.setContent('初始化完毕'); - * } ); - * ``` - * @see UE.Editor.event:ready - */ - ready: function (fn) { - var me = this; - if (fn) { - me.isReady ? fn.apply(me) : me.addListener('ready', fn); - } - }, - - /** - * 该方法是提供给插件里面使用,设置配置项默认值 - * @method setOpt - * @warning 三处设置配置项的优先级: 实例化时传入参数 > setOpt()设置 > config文件里设置 - * @warning 该方法仅供编辑器插件内部和编辑器初始化时调用,其他地方不能调用。 - * @param { String } key 编辑器的可接受的选项名称 - * @param { * } val 该选项可接受的值 - * @example - * ```javascript - * editor.setOpt( 'initContent', '欢迎使用编辑器' ); - * ``` - */ - - /** - * 该方法是提供给插件里面使用,以{key:value}集合的方式设置插件内用到的配置项默认值 - * @method setOpt - * @warning 三处设置配置项的优先级: 实例化时传入参数 > setOpt()设置 > config文件里设置 - * @warning 该方法仅供编辑器插件内部和编辑器初始化时调用,其他地方不能调用。 - * @param { Object } options 将要设置的选项的键值对对象 - * @example - * ```javascript - * editor.setOpt( { - * 'initContent': '欢迎使用编辑器' - * } ); - * ``` - */ - setOpt: function (key, val) { - var obj = {}; - if (utils.isString(key)) { - obj[key] = val - } else { - obj = key; - } - utils.extend(this.options, obj, true); - }, - getOpt:function(key){ - return this.options[key] - }, - /** - * 销毁编辑器实例,使用textarea代替 - * @method destroy - * @example - * ```javascript - * editor.destroy(); - * ``` - */ - destroy: function () { - - var me = this; - me.fireEvent('destroy'); - var container = me.container.parentNode; - var textarea = me.textarea; - if (!textarea) { - textarea = document.createElement('textarea'); - container.parentNode.insertBefore(textarea, container); - } else { - textarea.style.display = '' - } - - textarea.style.width = me.iframe.offsetWidth + 'px'; - textarea.style.height = me.iframe.offsetHeight + 'px'; - textarea.value = me.getContent(); - textarea.id = me.key; - container.innerHTML = ''; - domUtils.remove(container); - var key = me.key; - //trace:2004 - for (var p in me) { - if (me.hasOwnProperty(p)) { - delete this[p]; - } - } - UE.delEditor(key); - }, - - /** - * 渲染编辑器的DOM到指定容器 - * @method render - * @param { String } containerId 指定一个容器ID - * @remind 执行该方法,会触发ready事件 - * @warning 必须且只能调用一次 - */ - - /** - * 渲染编辑器的DOM到指定容器 - * @method render - * @param { Element } containerDom 直接指定容器对象 - * @remind 执行该方法,会触发ready事件 - * @warning 必须且只能调用一次 - */ - render: function (container) { - var me = this, - options = me.options, - getStyleValue=function(attr){ - return parseInt(domUtils.getComputedStyle(container,attr)); - }; - if (utils.isString(container)) { - container = document.getElementById(container); - } - if (container) { - if(options.initialFrameWidth){ - options.minFrameWidth = options.initialFrameWidth - }else{ - options.minFrameWidth = options.initialFrameWidth = container.offsetWidth; - } - if(options.initialFrameHeight){ - options.minFrameHeight = options.initialFrameHeight - }else{ - options.initialFrameHeight = options.minFrameHeight = container.offsetHeight; - } - - container.style.width = /%$/.test(options.initialFrameWidth) ? '100%' : options.initialFrameWidth- - getStyleValue("padding-left")- getStyleValue("padding-right") +'px'; - container.style.height = /%$/.test(options.initialFrameHeight) ? '100%' : options.initialFrameHeight - - getStyleValue("padding-top")- getStyleValue("padding-bottom") +'px'; - - container.style.zIndex = options.zIndex; - - var html = ( ie && browser.version < 9 ? '' : '') + - '' + - '' + - ( options.iframeCssUrl ? '' : '' ) + - (options.initialStyle ? '' : '') + - '' + - ''; - container.appendChild(domUtils.createElement(document, 'iframe', { - id: 'ueditor_' + me.uid, - width: "100%", - height: "100%", - frameborder: "0", - //先注释掉了,加的原因忘记了,但开启会直接导致全屏模式下内容多时不会出现滚动条 -// scrolling :'no', - src: 'javascript:void(function(){document.open();' + (options.customDomain && document.domain != location.hostname ? 'document.domain="' + document.domain + '";' : '') + - 'document.write("' + html + '");document.close();}())' - })); - container.style.overflow = 'hidden'; - //解决如果是给定的百分比,会导致高度算不对的问题 - setTimeout(function(){ - if( /%$/.test(options.initialFrameWidth)){ - options.minFrameWidth = options.initialFrameWidth = container.offsetWidth; - //如果这里给定宽度,会导致ie在拖动窗口大小时,编辑区域不随着变化 -// container.style.width = options.initialFrameWidth + 'px'; - } - if(/%$/.test(options.initialFrameHeight)){ - options.minFrameHeight = options.initialFrameHeight = container.offsetHeight; - container.style.height = options.initialFrameHeight + 'px'; - } - }) - } - }, - - /** - * 编辑器初始化 - * @method _setup - * @private - * @param { Element } doc 编辑器Iframe中的文档对象 - */ - _setup: function (doc) { - - var me = this, - options = me.options; - if (ie) { - doc.body.disabled = true; - doc.body.contentEditable = true; - doc.body.disabled = false; - } else { - doc.body.contentEditable = true; - } - doc.body.spellcheck = false; - me.document = doc; - me.window = doc.defaultView || doc.parentWindow; - me.iframe = me.window.frameElement; - me.body = doc.body; - me.selection = new dom.Selection(doc); - //gecko初始化就能得到range,无法判断isFocus了 - var geckoSel; - if (browser.gecko && (geckoSel = this.selection.getNative())) { - geckoSel.removeAllRanges(); - } - this._initEvents(); - //为form提交提供一个隐藏的textarea - for (var form = this.iframe.parentNode; !domUtils.isBody(form); form = form.parentNode) { - if (form.tagName == 'FORM') { - me.form = form; - if(me.options.autoSyncData){ - domUtils.on(me.window,'blur',function(){ - setValue(form,me); - }); - }else{ - domUtils.on(form, 'submit', function () { - setValue(this, me); - }); - } - break; - } - } - if (options.initialContent) { - if (options.autoClearinitialContent) { - var oldExecCommand = me.execCommand; - me.execCommand = function () { - me.fireEvent('firstBeforeExecCommand'); - return oldExecCommand.apply(me, arguments); - }; - this._setDefaultContent(options.initialContent); - } else - this.setContent(options.initialContent, false, true); - } - - //编辑器不能为空内容 - - if (domUtils.isEmptyNode(me.body)) { - me.body.innerHTML = '

    ' + (browser.ie ? '' : '
    ') + '

    '; - } - //如果要求focus, 就把光标定位到内容开始 - if (options.focus) { - setTimeout(function () { - me.focus(me.options.focusInEnd); - //如果自动清除开着,就不需要做selectionchange; - !me.options.autoClearinitialContent && me._selectionChange(); - }, 0); - } - if (!me.container) { - me.container = this.iframe.parentNode; - } - if (options.fullscreen && me.ui) { - me.ui.setFullScreen(true); - } - - try { - me.document.execCommand('2D-position', false, false); - } catch (e) { - } - try { - me.document.execCommand('enableInlineTableEditing', false, false); - } catch (e) { - } - try { - me.document.execCommand('enableObjectResizing', false, false); - } catch (e) { - } - - //挂接快捷键 - me._bindshortcutKeys(); - me.isReady = 1; - me.fireEvent('ready'); - options.onready && options.onready.call(me); - if (!browser.ie9below) { - domUtils.on(me.window, ['blur', 'focus'], function (e) { - //chrome下会出现alt+tab切换时,导致选区位置不对 - if (e.type == 'blur') { - me._bakRange = me.selection.getRange(); - try { - me._bakNativeRange = me.selection.getNative().getRangeAt(0); - me.selection.getNative().removeAllRanges(); - } catch (e) { - me._bakNativeRange = null; - } - - } else { - try { - me._bakRange && me._bakRange.select(); - } catch (e) { - } - } - }); - } - //trace:1518 ff3.6body不够寛,会导致点击空白处无法获得焦点 - if (browser.gecko && browser.version <= 10902) { - //修复ff3.6初始化进来,不能点击获得焦点 - me.body.contentEditable = false; - setTimeout(function () { - me.body.contentEditable = true; - }, 100); - setInterval(function () { - me.body.style.height = me.iframe.offsetHeight - 20 + 'px' - }, 100) - } - - !options.isShow && me.setHide(); - options.readonly && me.setDisabled(); - }, - - /** - * 同步数据到编辑器所在的form - * 从编辑器的容器节点向上查找form元素,若找到,就同步编辑内容到找到的form里,为提交数据做准备,主要用于是手动提交的情况 - * 后台取得数据的键值,使用你容器上的name属性,如果没有就使用参数里的textarea项 - * @method sync - * @example - * ```javascript - * editor.sync(); - * form.sumbit(); //form变量已经指向了form元素 - * ``` - */ - - /** - * 根据传入的formId,在页面上查找要同步数据的表单,若找到,就同步编辑内容到找到的form里,为提交数据做准备 - * 后台取得数据的键值,该键值默认使用给定的编辑器容器的name属性,如果没有name属性则使用参数项里给定的“textarea”项 - * @method sync - * @param { String } formID 指定一个要同步数据的form的id,编辑器的数据会同步到你指定form下 - */ - sync: function (formId) { - var me = this, - form = formId ? document.getElementById(formId) : - domUtils.findParent(me.iframe.parentNode, function (node) { - return node.tagName == 'FORM' - }, true); - form && setValue(form, me); - }, - - /** - * 设置编辑器高度 - * @method setHeight - * @remind 当配置项autoHeightEnabled为真时,该方法无效 - * @param { Number } number 设置的高度值,纯数值,不带单位 - * @example - * ```javascript - * editor.setHeight(number); - * ``` - */ - setHeight: function (height,notSetHeight) { - if (height !== parseInt(this.iframe.parentNode.style.height)) { - this.iframe.parentNode.style.height = height + 'px'; - } - !notSetHeight && (this.options.minFrameHeight = this.options.initialFrameHeight = height); - this.body.style.height = height + 'px'; - !notSetHeight && this.trigger('setHeight') - }, - - /** - * 为编辑器的编辑命令提供快捷键 - * 这个接口是为插件扩展提供的接口,主要是为新添加的插件,如果需要添加快捷键,所提供的接口 - * @method addshortcutkey - * @param { Object } keyset 命令名和快捷键键值对对象,多个按钮的快捷键用“+”分隔 - * @example - * ```javascript - * editor.addshortcutkey({ - * "Bold" : "ctrl+66",//^B - * "Italic" : "ctrl+73", //^I - * }); - * ``` - */ - /** - * 这个接口是为插件扩展提供的接口,主要是为新添加的插件,如果需要添加快捷键,所提供的接口 - * @method addshortcutkey - * @param { String } cmd 触发快捷键时,响应的命令 - * @param { String } keys 快捷键的字符串,多个按钮用“+”分隔 - * @example - * ```javascript - * editor.addshortcutkey("Underline", "ctrl+85"); //^U - * ``` - */ - addshortcutkey: function (cmd, keys) { - var obj = {}; - if (keys) { - obj[cmd] = keys - } else { - obj = cmd; - } - utils.extend(this.shortcutkeys, obj) - }, - - /** - * 对编辑器设置keydown事件监听,绑定快捷键和命令,当快捷键组合触发成功,会响应对应的命令 - * @method _bindshortcutKeys - * @private - */ - _bindshortcutKeys: function () { - var me = this, shortcutkeys = this.shortcutkeys; - me.addListener('keydown', function (type, e) { - var keyCode = e.keyCode || e.which; - for (var i in shortcutkeys) { - var tmp = shortcutkeys[i].split(','); - for (var t = 0, ti; ti = tmp[t++];) { - ti = ti.split(':'); - var key = ti[0], param = ti[1]; - if (/^(ctrl)(\+shift)?\+(\d+)$/.test(key.toLowerCase()) || /^(\d+)$/.test(key)) { - if (( (RegExp.$1 == 'ctrl' ? (e.ctrlKey || e.metaKey) : 0) - && (RegExp.$2 != "" ? e[RegExp.$2.slice(1) + "Key"] : 1) - && keyCode == RegExp.$3 - ) || - keyCode == RegExp.$1 - ) { - if (me.queryCommandState(i,param) != -1) - me.execCommand(i, param); - domUtils.preventDefault(e); - } - } - } - - } - }); - }, - - /** - * 获取编辑器的内容 - * @method getContent - * @warning 该方法获取到的是经过编辑器内置的过滤规则进行过滤后得到的内容 - * @return { String } 编辑器的内容字符串, 如果编辑器的内容为空,或者是空的标签内容(如:”<p><br/></p>“), 则返回空字符串 - * @example - * ```javascript - * //编辑器html内容:

    123456

    - * var content = editor.getContent(); //返回值:

    123456

    - * ``` - */ - - /** - * 获取编辑器的内容。 可以通过参数定义编辑器内置的判空规则 - * @method getContent - * @param { Function } fn 自定的判空规则, 要求该方法返回一个boolean类型的值, - * 代表当前编辑器的内容是否空, - * 如果返回true, 则该方法将直接返回空字符串;如果返回false,则编辑器将返回 - * 经过内置过滤规则处理后的内容。 - * @remind 该方法在处理包含有初始化内容的时候能起到很好的作用。 - * @warning 该方法获取到的是经过编辑器内置的过滤规则进行过滤后得到的内容 - * @return { String } 编辑器的内容字符串 - * @example - * ```javascript - * // editor 是一个编辑器的实例 - * var content = editor.getContent( function ( editor ) { - * return editor.body.innerHTML === '欢迎使用UEditor'; //返回空字符串 - * } ); - * ``` - */ - getContent: function (cmd, fn,notSetCursor,ignoreBlank,formatter) { - var me = this; - if (cmd && utils.isFunction(cmd)) { - fn = cmd; - cmd = ''; - } - if (fn ? !fn() : !this.hasContents()) { - return ''; - } - me.fireEvent('beforegetcontent'); - var root = UE.htmlparser(me.body.innerHTML,ignoreBlank); - me.filterOutputRule(root); - me.fireEvent('aftergetcontent', cmd,root); - return root.toHtml(formatter); - }, - - /** - * 取得完整的html代码,可以直接显示成完整的html文档 - * @method getAllHtml - * @return { String } 编辑器的内容html文档字符串 - * @eaxmple - * ```javascript - * editor.getAllHtml(); //返回格式大致是: ...... - * ``` - */ - getAllHtml: function () { - var me = this, - headHtml = [], - html = ''; - me.fireEvent('getAllHtml', headHtml); - if (browser.ie && browser.version > 8) { - var headHtmlForIE9 = ''; - utils.each(me.document.styleSheets, function (si) { - headHtmlForIE9 += ( si.href ? '' : ''); - }); - utils.each(me.document.getElementsByTagName('script'), function (si) { - headHtmlForIE9 += si.outerHTML; - }); - - } - return '' + (me.options.charset ? '' : '') - + (headHtmlForIE9 || me.document.getElementsByTagName('head')[0].innerHTML) + headHtml.join('\n') + '' - + '' + me.getContent(null, null, true) + ''; - }, - - /** - * 得到编辑器的纯文本内容,但会保留段落格式 - * @method getPlainTxt - * @return { String } 编辑器带段落格式的纯文本内容字符串 - * @example - * ```javascript - * //编辑器html内容:

    1

    2

    - * console.log(editor.getPlainTxt()); //输出:"1\n2\n - * ``` - */ - getPlainTxt: function () { - var reg = new RegExp(domUtils.fillChar, 'g'), - html = this.body.innerHTML.replace(/[\n\r]/g, '');//ie要先去了\n在处理 - html = html.replace(/<(p|div)[^>]*>(| )<\/\1>/gi, '\n') - .replace(//gi, '\n') - .replace(/<[^>/]+>/g, '') - .replace(/(\n)?<\/([^>]+)>/g, function (a, b, c) { - return dtd.$block[c] ? '\n' : b ? b : ''; - }); - //取出来的空格会有c2a0会变成乱码,处理这种情况\u00a0 - return html.replace(reg, '').replace(/\u00a0/g, ' ').replace(/ /g, ' '); - }, - - /** - * 获取编辑器中的纯文本内容,没有段落格式 - * @method getContentTxt - * @return { String } 编辑器不带段落格式的纯文本内容字符串 - * @example - * ```javascript - * //编辑器html内容:

    1

    2

    - * console.log(editor.getPlainTxt()); //输出:"12 - * ``` - */ - getContentTxt: function () { - var reg = new RegExp(domUtils.fillChar, 'g'); - //取出来的空格会有c2a0会变成乱码,处理这种情况\u00a0 - return this.body[browser.ie ? 'innerText' : 'textContent'].replace(reg, '').replace(/\u00a0/g, ' '); - }, - - /** - * 设置编辑器的内容,可修改编辑器当前的html内容 - * @method setContent - * @warning 通过该方法插入的内容,是经过编辑器内置的过滤规则进行过滤后得到的内容 - * @warning 该方法会触发selectionchange事件 - * @param { String } html 要插入的html内容 - * @example - * ```javascript - * editor.getContent('

    test

    '); - * ``` - */ - - /** - * 设置编辑器的内容,可修改编辑器当前的html内容 - * @method setContent - * @warning 通过该方法插入的内容,是经过编辑器内置的过滤规则进行过滤后得到的内容 - * @warning 该方法会触发selectionchange事件 - * @param { String } html 要插入的html内容 - * @param { Boolean } isAppendTo 若传入true,不清空原来的内容,在最后插入内容,否则,清空内容再插入 - * @example - * ```javascript - * //假设设置前的编辑器内容是

    old text

    - * editor.setContent('

    new text

    ', true); //插入的结果是

    old text

    new text

    - * ``` - */ - setContent: function (html, isAppendTo, notFireSelectionchange) { - var me = this; - - me.fireEvent('beforesetcontent', html); - var root = UE.htmlparser(html); - me.filterInputRule(root); - html = root.toHtml(); - - me.body.innerHTML = (isAppendTo ? me.body.innerHTML : '') + html; - - - function isCdataDiv(node){ - return node.tagName == 'DIV' && node.getAttribute('cdata_tag'); - } - //给文本或者inline节点套p标签 - if (me.options.enterTag == 'p') { - - var child = this.body.firstChild, tmpNode; - if (!child || child.nodeType == 1 && - (dtd.$cdata[child.tagName] || isCdataDiv(child) || - domUtils.isCustomeNode(child) - ) - && child === this.body.lastChild) { - this.body.innerHTML = '

    ' + (browser.ie ? ' ' : '
    ') + '

    ' + this.body.innerHTML; - - } else { - var p = me.document.createElement('p'); - while (child) { - while (child && (child.nodeType == 3 || child.nodeType == 1 && dtd.p[child.tagName] && !dtd.$cdata[child.tagName])) { - tmpNode = child.nextSibling; - p.appendChild(child); - child = tmpNode; - } - if (p.firstChild) { - if (!child) { - me.body.appendChild(p); - break; - } else { - child.parentNode.insertBefore(p, child); - p = me.document.createElement('p'); - } - } - child = child.nextSibling; - } - } - } - me.fireEvent('aftersetcontent'); - me.fireEvent('contentchange'); - - !notFireSelectionchange && me._selectionChange(); - //清除保存的选区 - me._bakRange = me._bakIERange = me._bakNativeRange = null; - //trace:1742 setContent后gecko能得到焦点问题 - var geckoSel; - if (browser.gecko && (geckoSel = this.selection.getNative())) { - geckoSel.removeAllRanges(); - } - if(me.options.autoSyncData){ - me.form && setValue(me.form,me); - } - }, - - /** - * 让编辑器获得焦点,默认focus到编辑器头部 - * @method focus - * @example - * ```javascript - * editor.focus() - * ``` - */ - - /** - * 让编辑器获得焦点,toEnd确定focus位置 - * @method focus - * @param { Boolean } toEnd 默认focus到编辑器头部,toEnd为true时focus到内容尾部 - * @example - * ```javascript - * editor.focus(true) - * ``` - */ - focus: function (toEnd) { - try { - var me = this, - rng = me.selection.getRange(); - if (toEnd) { - var node = me.body.lastChild; - if(node && node.nodeType == 1 && !dtd.$empty[node.tagName]){ - if(domUtils.isEmptyBlock(node)){ - rng.setStartAtFirst(node) - }else{ - rng.setStartAtLast(node) - } - rng.collapse(true); - } - rng.setCursor(true); - } else { - if(!rng.collapsed && domUtils.isBody(rng.startContainer) && rng.startOffset == 0){ - - var node = me.body.firstChild; - if(node && node.nodeType == 1 && !dtd.$empty[node.tagName]){ - rng.setStartAtFirst(node).collapse(true); - } - } - - rng.select(true); - - } - this.fireEvent('focus selectionchange'); - } catch (e) { - } - - }, - isFocus:function(){ - return this.selection.isFocus(); - }, - blur:function(){ - var sel = this.selection.getNative(); - if(sel.empty && browser.ie){ - var nativeRng = document.body.createTextRange(); - nativeRng.moveToElementText(document.body); - nativeRng.collapse(true); - nativeRng.select(); - sel.empty() - }else{ - sel.removeAllRanges() - } - - //this.fireEvent('blur selectionchange'); - }, - /** - * 初始化UE事件及部分事件代理 - * @method _initEvents - * @private - */ - _initEvents: function () { - var me = this, - doc = me.document, - win = me.window; - me._proxyDomEvent = utils.bind(me._proxyDomEvent, me); - domUtils.on(doc, ['click', 'contextmenu', 'mousedown', 'keydown', 'keyup', 'keypress', 'mouseup', 'mouseover', 'mouseout', 'selectstart'], me._proxyDomEvent); - domUtils.on(win, ['focus', 'blur'], me._proxyDomEvent); - domUtils.on(me.body,'drop',function(e){ - //阻止ff下默认的弹出新页面打开图片 - if(browser.gecko && e.stopPropagation) { e.stopPropagation(); } - me.fireEvent('contentchange') - }); - domUtils.on(doc, ['mouseup', 'keydown'], function (evt) { - //特殊键不触发selectionchange - if (evt.type == 'keydown' && (evt.ctrlKey || evt.metaKey || evt.shiftKey || evt.altKey)) { - return; - } - if (evt.button == 2)return; - me._selectionChange(250, evt); - }); - }, - /** - * 触发事件代理 - * @method _proxyDomEvent - * @private - * @return { * } fireEvent的返回值 - * @see UE.EventBase:fireEvent(String) - */ - _proxyDomEvent: function (evt) { - if(this.fireEvent('before' + evt.type.replace(/^on/, '').toLowerCase()) === false){ - return false; - } - if(this.fireEvent(evt.type.replace(/^on/, ''), evt) === false){ - return false; - } - return this.fireEvent('after' + evt.type.replace(/^on/, '').toLowerCase()) - }, - /** - * 变化选区 - * @method _selectionChange - * @private - */ - _selectionChange: function (delay, evt) { - var me = this; - //有光标才做selectionchange 为了解决未focus时点击source不能触发更改工具栏状态的问题(source命令notNeedUndo=1) -// if ( !me.selection.isFocus() ){ -// return; -// } - - - var hackForMouseUp = false; - var mouseX, mouseY; - if (browser.ie && browser.version < 9 && evt && evt.type == 'mouseup') { - var range = this.selection.getRange(); - if (!range.collapsed) { - hackForMouseUp = true; - mouseX = evt.clientX; - mouseY = evt.clientY; - } - } - clearTimeout(_selectionChangeTimer); - _selectionChangeTimer = setTimeout(function () { - if (!me.selection || !me.selection.getNative()) { - return; - } - //修复一个IE下的bug: 鼠标点击一段已选择的文本中间时,可能在mouseup后的一段时间内取到的range是在selection的type为None下的错误值. - //IE下如果用户是拖拽一段已选择文本,则不会触发mouseup事件,所以这里的特殊处理不会对其有影响 - var ieRange; - if (hackForMouseUp && me.selection.getNative().type == 'None') { - ieRange = me.document.body.createTextRange(); - try { - ieRange.moveToPoint(mouseX, mouseY); - } catch (ex) { - ieRange = null; - } - } - var bakGetIERange; - if (ieRange) { - bakGetIERange = me.selection.getIERange; - me.selection.getIERange = function () { - return ieRange; - }; - } - me.selection.cache(); - if (bakGetIERange) { - me.selection.getIERange = bakGetIERange; - } - if (me.selection._cachedRange && me.selection._cachedStartElement) { - me.fireEvent('beforeselectionchange'); - // 第二个参数causeByUi为true代表由用户交互造成的selectionchange. - me.fireEvent('selectionchange', !!evt); - me.fireEvent('afterselectionchange'); - me.selection.clear(); - } - }, delay || 50); - }, - - /** - * 执行编辑命令 - * @method _callCmdFn - * @private - * @param { String } fnName 函数名称 - * @param { * } args 传给命令函数的参数 - * @return { * } 返回命令函数运行的返回值 - */ - _callCmdFn: function (fnName, args) { - var cmdName = args[0].toLowerCase(), - cmd, cmdFn; - cmd = this.commands[cmdName] || UE.commands[cmdName]; - cmdFn = cmd && cmd[fnName]; - //没有querycommandstate或者没有command的都默认返回0 - if ((!cmd || !cmdFn) && fnName == 'queryCommandState') { - return 0; - } else if (cmdFn) { - return cmdFn.apply(this, args); - } - }, - - /** - * 执行编辑命令cmdName,完成富文本编辑效果 - * @method execCommand - * @param { String } cmdName 需要执行的命令 - * @remind 具体命令的使用请参考命令列表 - * @return { * } 返回命令函数运行的返回值 - * @example - * ```javascript - * editor.execCommand(cmdName); - * ``` - */ - execCommand: function (cmdName) { - cmdName = cmdName.toLowerCase(); - var me = this, - result, - cmd = me.commands[cmdName] || UE.commands[cmdName]; - if (!cmd || !cmd.execCommand) { - return null; - } - if (!cmd.notNeedUndo && !me.__hasEnterExecCommand) { - me.__hasEnterExecCommand = true; - if (me.queryCommandState.apply(me,arguments) != -1) { - me.fireEvent('saveScene'); - me.fireEvent.apply(me, ['beforeexeccommand', cmdName].concat(arguments)); - result = this._callCmdFn('execCommand', arguments); - //保存场景时,做了内容对比,再看是否进行contentchange触发,这里多触发了一次,去掉 -// (!cmd.ignoreContentChange && !me._ignoreContentChange) && me.fireEvent('contentchange'); - me.fireEvent.apply(me, ['afterexeccommand', cmdName].concat(arguments)); - me.fireEvent('saveScene'); - } - me.__hasEnterExecCommand = false; - } else { - result = this._callCmdFn('execCommand', arguments); - (!me.__hasEnterExecCommand && !cmd.ignoreContentChange && !me._ignoreContentChange) && me.fireEvent('contentchange') - } - (!me.__hasEnterExecCommand && !cmd.ignoreContentChange && !me._ignoreContentChange) && me._selectionChange(); - return result; - }, - - /** - * 根据传入的command命令,查选编辑器当前的选区,返回命令的状态 - * @method queryCommandState - * @param { String } cmdName 需要查询的命令名称 - * @remind 具体命令的使用请参考命令列表 - * @return { Number } number 返回放前命令的状态,返回值三种情况:(-1|0|1) - * @example - * ```javascript - * editor.queryCommandState(cmdName) => (-1|0|1) - * ``` - * @see COMMAND.LIST - */ - queryCommandState: function (cmdName) { - return this._callCmdFn('queryCommandState', arguments); - }, - - /** - * 根据传入的command命令,查选编辑器当前的选区,根据命令返回相关的值 - * @method queryCommandValue - * @param { String } cmdName 需要查询的命令名称 - * @remind 具体命令的使用请参考命令列表 - * @remind 只有部分插件有此方法 - * @return { * } 返回每个命令特定的当前状态值 - * @grammar editor.queryCommandValue(cmdName) => {*} - * @see COMMAND.LIST - */ - queryCommandValue: function (cmdName) { - return this._callCmdFn('queryCommandValue', arguments); - }, - - /** - * 检查编辑区域中是否有内容 - * @method hasContents - * @remind 默认有文本内容,或者有以下节点都不认为是空 - * table,ul,ol,dl,iframe,area,base,col,hr,img,embed,input,link,meta,param - * @return { Boolean } 检查有内容返回true,否则返回false - * @example - * ```javascript - * editor.hasContents() - * ``` - */ - - /** - * 检查编辑区域中是否有内容,若包含参数tags中的节点类型,直接返回true - * @method hasContents - * @param { Array } tags 传入数组判断时用到的节点类型 - * @return { Boolean } 若文档中包含tags数组里对应的tag,返回true,否则返回false - * @example - * ```javascript - * editor.hasContents(['span']); - * ``` - */ - hasContents: function (tags) { - if (tags) { - for (var i = 0, ci; ci = tags[i++];) { - if (this.document.getElementsByTagName(ci).length > 0) { - return true; - } - } - } - if (!domUtils.isEmptyBlock(this.body)) { - return true - } - //随时添加,定义的特殊标签如果存在,不能认为是空 - tags = ['div']; - for (i = 0; ci = tags[i++];) { - var nodes = domUtils.getElementsByTagName(this.document, ci); - for (var n = 0, cn; cn = nodes[n++];) { - if (domUtils.isCustomeNode(cn)) { - return true; - } - } - } - return false; - }, - - /** - * 重置编辑器,可用来做多个tab使用同一个编辑器实例 - * @method reset - * @remind 此方法会清空编辑器内容,清空回退列表,会触发reset事件 - * @example - * ```javascript - * editor.reset() - * ``` - */ - reset: function () { - this.fireEvent('reset'); - }, - - /** - * 设置当前编辑区域可以编辑 - * @method setEnabled - * @example - * ```javascript - * editor.setEnabled() - * ``` - */ - setEnabled: function () { - var me = this, range; - if (me.body.contentEditable == 'false') { - me.body.contentEditable = true; - range = me.selection.getRange(); - //有可能内容丢失了 - try { - range.moveToBookmark(me.lastBk); - delete me.lastBk - } catch (e) { - range.setStartAtFirst(me.body).collapse(true) - } - range.select(true); - if (me.bkqueryCommandState) { - me.queryCommandState = me.bkqueryCommandState; - delete me.bkqueryCommandState; - } - if (me.bkqueryCommandValue) { - me.queryCommandValue = me.bkqueryCommandValue; - delete me.bkqueryCommandValue; - } - me.fireEvent('selectionchange'); - } - }, - enable: function () { - return this.setEnabled(); - }, - - /** 设置当前编辑区域不可编辑 - * @method setDisabled - */ - - /** 设置当前编辑区域不可编辑,except中的命令除外 - * @method setDisabled - * @param { String } except 例外命令的字符串 - * @remind 即使设置了disable,此处配置的例外命令仍然可以执行 - * @example - * ```javascript - * editor.setDisabled('bold'); //禁用工具栏中除加粗之外的所有功能 - * ``` - */ - - /** 设置当前编辑区域不可编辑,except中的命令除外 - * @method setDisabled - * @param { Array } except 例外命令的字符串数组,数组中的命令仍然可以执行 - * @remind 即使设置了disable,此处配置的例外命令仍然可以执行 - * @example - * ```javascript - * editor.setDisabled(['bold','insertimage']); //禁用工具栏中除加粗和插入图片之外的所有功能 - * ``` - */ - setDisabled: function (except) { - var me = this; - except = except ? utils.isArray(except) ? except : [except] : []; - if (me.body.contentEditable == 'true') { - if (!me.lastBk) { - me.lastBk = me.selection.getRange().createBookmark(true); - } - me.body.contentEditable = false; - me.bkqueryCommandState = me.queryCommandState; - me.bkqueryCommandValue = me.queryCommandValue; - me.queryCommandState = function (type) { - if (utils.indexOf(except, type) != -1) { - return me.bkqueryCommandState.apply(me, arguments); - } - return -1; - }; - me.queryCommandValue = function (type) { - if (utils.indexOf(except, type) != -1) { - return me.bkqueryCommandValue.apply(me, arguments); - } - return null; - }; - me.fireEvent('selectionchange'); - } - }, - disable: function (except) { - return this.setDisabled(except); - }, - - /** - * 设置默认内容 - * @method _setDefaultContent - * @private - * @param { String } cont 要存入的内容 - */ - _setDefaultContent: function () { - function clear() { - var me = this; - if (me.document.getElementById('initContent')) { - me.body.innerHTML = '

    ' + (ie ? '' : '
    ') + '

    '; - me.removeListener('firstBeforeExecCommand focus', clear); - setTimeout(function () { - me.focus(); - me._selectionChange(); - }, 0) - } - } - - return function (cont) { - var me = this; - me.body.innerHTML = '

    ' + cont + '

    '; - - me.addListener('firstBeforeExecCommand focus', clear); - } - }(), - - /** - * 显示编辑器 - * @method setShow - * @example - * ```javascript - * editor.setShow() - * ``` - */ - setShow: function () { - var me = this, range = me.selection.getRange(); - if (me.container.style.display == 'none') { - //有可能内容丢失了 - try { - range.moveToBookmark(me.lastBk); - delete me.lastBk - } catch (e) { - range.setStartAtFirst(me.body).collapse(true) - } - //ie下focus实效,所以做了个延迟 - setTimeout(function () { - range.select(true); - }, 100); - me.container.style.display = ''; - } - - }, - show: function () { - return this.setShow(); - }, - /** - * 隐藏编辑器 - * @method setHide - * @example - * ```javascript - * editor.setHide() - * ``` - */ - setHide: function () { - var me = this; - if (!me.lastBk) { - me.lastBk = me.selection.getRange().createBookmark(true); - } - me.container.style.display = 'none' - }, - hide: function () { - return this.setHide(); - }, - - /** - * 根据指定的路径,获取对应的语言资源 - * @method getLang - * @param { String } path 路径根据的是lang目录下的语言文件的路径结构 - * @return { Object | String } 根据路径返回语言资源的Json格式对象或者语言字符串 - * @example - * ```javascript - * editor.getLang('contextMenu.delete'); //如果当前是中文,那返回是的是'删除' - * ``` - */ - getLang: function (path) { - var lang = UE.I18N[this.options.lang]; - if (!lang) { - throw Error("not import language file"); - } - path = (path || "").split("."); - for (var i = 0, ci; ci = path[i++];) { - lang = lang[ci]; - if (!lang)break; - } - return lang; - }, - - /** - * 计算编辑器html内容字符串的长度 - * @method getContentLength - * @return { Number } 返回计算的长度 - * @example - * ```javascript - * //编辑器html内容

    132

    - * editor.getContentLength() //返回27 - * ``` - */ - /** - * 计算编辑器当前纯文本内容的长度 - * @method getContentLength - * @param { Boolean } ingoneHtml 传入true时,只按照纯文本来计算 - * @return { Number } 返回计算的长度,内容中有hr/img/iframe标签,长度加1 - * @example - * ```javascript - * //编辑器html内容

    132

    - * editor.getContentLength() //返回3 - * ``` - */ - getContentLength: function (ingoneHtml, tagNames) { - var count = this.getContent(false,false,true).length; - if (ingoneHtml) { - tagNames = (tagNames || []).concat([ 'hr', 'img', 'iframe']); - count = this.getContentTxt().replace(/[\t\r\n]+/g, '').length; - for (var i = 0, ci; ci = tagNames[i++];) { - count += this.document.getElementsByTagName(ci).length; - } - } - return count; - }, - - /** - * 注册输入过滤规则 - * @method addInputRule - * @param { Function } rule 要添加的过滤规则 - * @example - * ```javascript - * editor.addInputRule(function(root){ - * $.each(root.getNodesByTagName('div'),function(i,node){ - * node.tagName="p"; - * }); - * }); - * ``` - */ - addInputRule: function (rule) { - this.inputRules.push(rule); - }, - - /** - * 执行注册的过滤规则 - * @method filterInputRule - * @param { UE.uNode } root 要过滤的uNode节点 - * @remind 执行editor.setContent方法和执行'inserthtml'命令后,会运行该过滤函数 - * @example - * ```javascript - * editor.filterInputRule(editor.body); - * ``` - * @see UE.Editor:addInputRule - */ - filterInputRule: function (root) { - for (var i = 0, ci; ci = this.inputRules[i++];) { - ci.call(this, root) - } - }, - - /** - * 注册输出过滤规则 - * @method addOutputRule - * @param { Function } rule 要添加的过滤规则 - * @example - * ```javascript - * editor.addOutputRule(function(root){ - * $.each(root.getNodesByTagName('p'),function(i,node){ - * node.tagName="div"; - * }); - * }); - * ``` - */ - addOutputRule: function (rule) { - this.outputRules.push(rule) - }, - - /** - * 根据输出过滤规则,过滤编辑器内容 - * @method filterOutputRule - * @remind 执行editor.getContent方法的时候,会先运行该过滤函数 - * @param { UE.uNode } root 要过滤的uNode节点 - * @example - * ```javascript - * editor.filterOutputRule(editor.body); - * ``` - * @see UE.Editor:addOutputRule - */ - filterOutputRule: function (root) { - for (var i = 0, ci; ci = this.outputRules[i++];) { - ci.call(this, root) - } - }, - - /** - * 根据action名称获取请求的路径 - * @method getActionUrl - * @remind 假如没有设置serverUrl,会根据imageUrl设置默认的controller路径 - * @param { String } action action名称 - * @example - * ```javascript - * editor.getActionUrl('config'); //返回 "/ueditor/php/controller.php?action=config" - * editor.getActionUrl('image'); //返回 "/ueditor/php/controller.php?action=uplaodimage" - * editor.getActionUrl('scrawl'); //返回 "/ueditor/php/controller.php?action=uplaodscrawl" - * editor.getActionUrl('imageManager'); //返回 "/ueditor/php/controller.php?action=listimage" - * ``` - */ - getActionUrl: function(action){ - var actionName = this.getOpt(action) || action, - imageUrl = this.getOpt('imageUrl'), - serverUrl = this.getOpt('serverUrl'); - - if(!serverUrl && imageUrl) { - serverUrl = imageUrl.replace(/^(.*[\/]).+([\.].+)$/, '$1controller$2'); - } - - if(serverUrl) { - serverUrl = serverUrl + (serverUrl.indexOf('?') == -1 ? '?':'&') + 'action=' + (actionName || ''); - return utils.formatUrl(serverUrl); - } else { - return ''; - } - } - }; - utils.inherits(Editor, EventBase); -})(); - - -// core/Editor.defaultoptions.js -//维护编辑器一下默认的不在插件中的配置项 -UE.Editor.defaultOptions = function(editor){ - - var _url = editor.options.UEDITOR_HOME_URL; - return { - isShow: true, - initialContent: '', - initialStyle:'', - autoClearinitialContent: false, - iframeCssUrl: _url + 'themes/iframe.css', - textarea: 'editorValue', - focus: false, - focusInEnd: true, - autoClearEmptyNode: true, - fullscreen: false, - readonly: false, - zIndex: 999, - imagePopup: true, - enterTag: 'p', - customDomain: false, - lang: 'zh-cn', - langPath: _url + 'lang/', - theme: 'default', - themePath: _url + 'themes/', - allHtmlEnabled: false, - scaleEnabled: false, - tableNativeEditInFF: false, - autoSyncData : true, - fileNameFormat: '{time}{rand:6}' - } -}; - -// core/loadconfig.js -(function(){ - - UE.Editor.prototype.loadServerConfig = function(){ - var me = this; - setTimeout(function(){ - try{ - me.options.imageUrl && me.setOpt('serverUrl', me.options.imageUrl.replace(/^(.*[\/]).+([\.].+)$/, '$1controller$2')); - - var configUrl = me.getActionUrl('config'), - isJsonp = utils.isCrossDomainUrl(configUrl); - - /* 发出ajax请求 */ - me._serverConfigLoaded = false; - - configUrl && UE.ajax.request(configUrl,{ - 'method': 'GET', - 'dataType': isJsonp ? 'jsonp':'', - 'onsuccess':function(r){ - try { - var config = isJsonp ? r:eval("("+r.responseText+")"); - utils.extend(me.options, config); - me.fireEvent('serverConfigLoaded'); - me._serverConfigLoaded = true; - } catch (e) { - showErrorMsg(me.getLang('loadconfigFormatError')); - } - }, - 'onerror':function(){ - showErrorMsg(me.getLang('loadconfigHttpError')); - } - }); - } catch(e){ - showErrorMsg(me.getLang('loadconfigError')); - } - }); - - function showErrorMsg(msg) { - console && console.error(msg); - //me.fireEvent('showMessage', { - // 'title': msg, - // 'type': 'error' - //}); - } - }; - - UE.Editor.prototype.isServerConfigLoaded = function(){ - var me = this; - return me._serverConfigLoaded || false; - }; - - UE.Editor.prototype.afterConfigReady = function(handler){ - if (!handler || !utils.isFunction(handler)) return; - var me = this; - var readyHandler = function(){ - handler.apply(me, arguments); - me.removeListener('serverConfigLoaded', readyHandler); - }; - - if (me.isServerConfigLoaded()) { - handler.call(me, 'serverConfigLoaded'); - } else { - me.addListener('serverConfigLoaded', readyHandler); - } - }; - -})(); - - -// core/ajax.js -/** - * @file - * @module UE.ajax - * @since 1.2.6.1 - */ - -/** - * 提供对ajax请求的支持 - * @module UE.ajax - */ -UE.ajax = function() { - - //创建一个ajaxRequest对象 - var fnStr = 'XMLHttpRequest()'; - try { - new ActiveXObject("Msxml2.XMLHTTP"); - fnStr = 'ActiveXObject(\'Msxml2.XMLHTTP\')'; - } catch (e) { - try { - new ActiveXObject("Microsoft.XMLHTTP"); - fnStr = 'ActiveXObject(\'Microsoft.XMLHTTP\')' - } catch (e) { - } - } - var creatAjaxRequest = new Function('return new ' + fnStr); - - - /** - * 将json参数转化成适合ajax提交的参数列表 - * @param json - */ - function json2str(json) { - var strArr = []; - for (var i in json) { - //忽略默认的几个参数 - if(i=="method" || i=="timeout" || i=="async" || i=="dataType" || i=="callback") continue; - //忽略控制 - if(json[i] == undefined || json[i] == null) continue; - //传递过来的对象和函数不在提交之列 - if (!((typeof json[i]).toLowerCase() == "function" || (typeof json[i]).toLowerCase() == "object")) { - strArr.push( encodeURIComponent(i) + "="+encodeURIComponent(json[i]) ); - } else if (utils.isArray(json[i])) { - //支持传数组内容 - for(var j = 0; j < json[i].length; j++) { - strArr.push( encodeURIComponent(i) + "[]="+encodeURIComponent(json[i][j]) ); - } - } - } - return strArr.join("&"); - } - - function doAjax(url, ajaxOptions) { - var xhr = creatAjaxRequest(), - //是否超时 - timeIsOut = false, - //默认参数 - defaultAjaxOptions = { - method:"POST", - timeout:5000, - async:true, - data:{},//需要传递对象的话只能覆盖 - onsuccess:function() { - }, - onerror:function() { - } - }; - - if (typeof url === "object") { - ajaxOptions = url; - url = ajaxOptions.url; - } - if (!xhr || !url) return; - var ajaxOpts = ajaxOptions ? utils.extend(defaultAjaxOptions,ajaxOptions) : defaultAjaxOptions; - - var submitStr = json2str(ajaxOpts); // { name:"Jim",city:"Beijing" } --> "name=Jim&city=Beijing" - //如果用户直接通过data参数传递json对象过来,则也要将此json对象转化为字符串 - if (!utils.isEmptyObject(ajaxOpts.data)){ - submitStr += (submitStr? "&":"") + json2str(ajaxOpts.data); - } - //超时检测 - var timerID = setTimeout(function() { - if (xhr.readyState != 4) { - timeIsOut = true; - xhr.abort(); - clearTimeout(timerID); - } - }, ajaxOpts.timeout); - - var method = ajaxOpts.method.toUpperCase(); - var str = url + (url.indexOf("?")==-1?"?":"&") + (method=="POST"?"":submitStr+ "&noCache=" + +new Date); - xhr.open(method, str, ajaxOpts.async); - xhr.onreadystatechange = function() { - if (xhr.readyState == 4) { - if (!timeIsOut && xhr.status == 200) { - ajaxOpts.onsuccess(xhr); - } else { - ajaxOpts.onerror(xhr); - } - } - }; - if (method == "POST") { - xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); - xhr.send(submitStr); - } else { - xhr.send(null); - } - } - - function doJsonp(url, opts) { - - var successhandler = opts.onsuccess || function(){}, - scr = document.createElement('SCRIPT'), - options = opts || {}, - charset = options['charset'], - callbackField = options['jsonp'] || 'callback', - callbackFnName, - timeOut = options['timeOut'] || 0, - timer, - reg = new RegExp('(\\?|&)' + callbackField + '=([^&]*)'), - matches; - - if (utils.isFunction(successhandler)) { - callbackFnName = 'bd__editor__' + Math.floor(Math.random() * 2147483648).toString(36); - window[callbackFnName] = getCallBack(0); - } else if(utils.isString(successhandler)){ - callbackFnName = successhandler; - } else { - if (matches = reg.exec(url)) { - callbackFnName = matches[2]; - } - } - - url = url.replace(reg, '\x241' + callbackField + '=' + callbackFnName); - - if (url.search(reg) < 0) { - url += (url.indexOf('?') < 0 ? '?' : '&') + callbackField + '=' + callbackFnName; - } - - var queryStr = json2str(opts); // { name:"Jim",city:"Beijing" } --> "name=Jim&city=Beijing" - //如果用户直接通过data参数传递json对象过来,则也要将此json对象转化为字符串 - if (!utils.isEmptyObject(opts.data)){ - queryStr += (queryStr? "&":"") + json2str(opts.data); - } - if (queryStr) { - url = url.replace(/\?/, '?' + queryStr + '&'); - } - - scr.onerror = getCallBack(1); - if( timeOut ){ - timer = setTimeout(getCallBack(1), timeOut); - } - createScriptTag(scr, url, charset); - - function createScriptTag(scr, url, charset) { - scr.setAttribute('type', 'text/javascript'); - scr.setAttribute('defer', 'defer'); - charset && scr.setAttribute('charset', charset); - scr.setAttribute('src', url); - document.getElementsByTagName('head')[0].appendChild(scr); - } - - function getCallBack(onTimeOut){ - return function(){ - try { - if(onTimeOut){ - options.onerror && options.onerror(); - }else{ - try{ - clearTimeout(timer); - successhandler.apply(window, arguments); - } catch (e){} - } - } catch (exception) { - options.onerror && options.onerror.call(window, exception); - } finally { - options.oncomplete && options.oncomplete.apply(window, arguments); - scr.parentNode && scr.parentNode.removeChild(scr); - window[callbackFnName] = null; - try { - delete window[callbackFnName]; - }catch(e){} - } - } - } - } - - return { - /** - * 根据给定的参数项,向指定的url发起一个ajax请求。 ajax请求完成后,会根据请求结果调用相应回调: 如果请求 - * 成功, 则调用onsuccess回调, 失败则调用 onerror 回调 - * @method request - * @param { URLString } url ajax请求的url地址 - * @param { Object } ajaxOptions ajax请求选项的键值对,支持的选项如下: - * @example - * ```javascript - * //向sayhello.php发起一个异步的Ajax GET请求, 请求超时时间为10s, 请求完成后执行相应的回调。 - * UE.ajax.requeset( 'sayhello.php', { - * - * //请求方法。可选值: 'GET', 'POST',默认值是'POST' - * method: 'GET', - * - * //超时时间。 默认为5000, 单位是ms - * timeout: 10000, - * - * //是否是异步请求。 true为异步请求, false为同步请求 - * async: true, - * - * //请求携带的数据。如果请求为GET请求, data会经过stringify后附加到请求url之后。 - * data: { - * name: 'ueditor' - * }, - * - * //请求成功后的回调, 该回调接受当前的XMLHttpRequest对象作为参数。 - * onsuccess: function ( xhr ) { - * console.log( xhr.responseText ); - * }, - * - * //请求失败或者超时后的回调。 - * onerror: function ( xhr ) { - * alert( 'Ajax请求失败' ); - * } - * - * } ); - * ``` - */ - - /** - * 根据给定的参数项发起一个ajax请求, 参数项里必须包含一个url地址。 ajax请求完成后,会根据请求结果调用相应回调: 如果请求 - * 成功, 则调用onsuccess回调, 失败则调用 onerror 回调。 - * @method request - * @warning 如果在参数项里未提供一个key为“url”的地址值,则该请求将直接退出。 - * @param { Object } ajaxOptions ajax请求选项的键值对,支持的选项如下: - * @example - * ```javascript - * - * //向sayhello.php发起一个异步的Ajax POST请求, 请求超时时间为5s, 请求完成后不执行任何回调。 - * UE.ajax.requeset( 'sayhello.php', { - * - * //请求的地址, 该项是必须的。 - * url: 'sayhello.php' - * - * } ); - * ``` - */ - request:function(url, opts) { - if (opts && opts.dataType == 'jsonp') { - doJsonp(url, opts); - } else { - doAjax(url, opts); - } - }, - getJSONP:function(url, data, fn) { - var opts = { - 'data': data, - 'oncomplete': fn - }; - doJsonp(url, opts); - } - }; - - -}(); - - -// core/filterword.js -/** - * UE过滤word的静态方法 - * @file - */ - -/** - * UEditor公用空间,UEditor所有的功能都挂载在该空间下 - * @module UE - */ - - -/** - * 根据传入html字符串过滤word - * @module UE - * @since 1.2.6.1 - * @method filterWord - * @param { String } html html字符串 - * @return { String } 已过滤后的结果字符串 - * @example - * ```javascript - * UE.filterWord(html); - * ``` - */ -var filterWord = UE.filterWord = function () { - - //是否是word过来的内容 - function isWordDocument( str ) { - return /(class="?Mso|style="[^"]*\bmso\-|w:WordDocument|<(v|o):|lang=)/ig.test( str ); - } - //去掉小数 - function transUnit( v ) { - v = v.replace( /[\d.]+\w+/g, function ( m ) { - return utils.transUnitToPx(m); - } ); - return v; - } - - function filterPasteWord( str ) { - return str.replace(/[\t\r\n]+/g,' ') - .replace( //ig, "" ) - //转换图片 - .replace(/]*>[\s\S]*?.<\/v:shape>/gi,function(str){ - //opera能自己解析出image所这里直接返回空 - if(browser.opera){ - return ''; - } - try{ - //有可能是bitmap占为图,无用,直接过滤掉,主要体现在粘贴excel表格中 - if(/Bitmap/i.test(str)){ - return ''; - } - var width = str.match(/width:([ \d.]*p[tx])/i)[1], - height = str.match(/height:([ \d.]*p[tx])/i)[1], - src = str.match(/src=\s*"([^"]*)"/i)[1]; - return ''; - } catch(e){ - return ''; - } - }) - //针对wps添加的多余标签处理 - .replace(/<\/?div[^>]*>/g,'') - //去掉多余的属性 - .replace( /v:\w+=(["']?)[^'"]+\1/g, '' ) - .replace( /<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|xml|meta|link|style|\w+:\w+)(?=[\s\/>]))[^>]*>/gi, "" ) - .replace( /

    ]*class="?MsoHeading"?[^>]*>(.*?)<\/p>/gi, "

    $1

    " ) - //去掉多余的属性 - .replace( /\s+(class|lang|align)\s*=\s*(['"]?)([\w-]+)\2/ig, function(str,name,marks,val){ - //保留list的标示 - return name == 'class' && val == 'MsoListParagraph' ? str : '' - }) - //清除多余的font/span不能匹配 有可能是空格 - .replace( /<(font|span)[^>]*>(\s*)<\/\1>/gi, function(a,b,c){ - return c.replace(/[\t\r\n ]+/g,' ') - }) - //处理style的问题 - .replace( /(<[a-z][^>]*)\sstyle=(["'])([^\2]*?)\2/gi, function( str, tag, tmp, style ) { - var n = [], - s = style.replace( /^\s+|\s+$/, '' ) - .replace(/'/g,'\'') - .replace( /"/gi, "'" ) - .replace(/[\d.]+(cm|pt)/g,function(str){ - return utils.transUnitToPx(str) - }) - .split( /;\s*/g ); - - for ( var i = 0,v; v = s[i];i++ ) { - - var name, value, - parts = v.split( ":" ); - - if ( parts.length == 2 ) { - name = parts[0].toLowerCase(); - value = parts[1].toLowerCase(); - if(/^(background)\w*/.test(name) && value.replace(/(initial|\s)/g,'').length == 0 - || - /^(margin)\w*/.test(name) && /^0\w+$/.test(value) - ){ - continue; - } - - switch ( name ) { - case "mso-padding-alt": - case "mso-padding-top-alt": - case "mso-padding-right-alt": - case "mso-padding-bottom-alt": - case "mso-padding-left-alt": - case "mso-margin-alt": - case "mso-margin-top-alt": - case "mso-margin-right-alt": - case "mso-margin-bottom-alt": - case "mso-margin-left-alt": - //ie下会出现挤到一起的情况 - //case "mso-table-layout-alt": - case "mso-height": - case "mso-width": - case "mso-vertical-align-alt": - //trace:1819 ff下会解析出padding在table上 - if(!/]/.test(html)) { - return UE.htmlparser(html).children[0] - } else { - return new uNode({ - type:'element', - children:[], - tagName:html - }) - } - }; - uNode.createText = function (data,noTrans) { - return new UE.uNode({ - type:'text', - 'data':noTrans ? data : utils.unhtml(data || '') - }) - }; - function nodeToHtml(node, arr, formatter, current) { - switch (node.type) { - case 'root': - for (var i = 0, ci; ci = node.children[i++];) { - //插入新行 - if (formatter && ci.type == 'element' && !dtd.$inlineWithA[ci.tagName] && i > 1) { - insertLine(arr, current, true); - insertIndent(arr, current) - } - nodeToHtml(ci, arr, formatter, current) - } - break; - case 'text': - isText(node, arr); - break; - case 'element': - isElement(node, arr, formatter, current); - break; - case 'comment': - isComment(node, arr, formatter); - } - return arr; - } - - function isText(node, arr) { - if(node.parentNode.tagName == 'pre'){ - //源码模式下输入html标签,不能做转换处理,直接输出 - arr.push(node.data) - }else{ - arr.push(notTransTagName[node.parentNode.tagName] ? utils.html(node.data) : node.data.replace(/[ ]{2}/g,'  ')) - } - - } - - function isElement(node, arr, formatter, current) { - var attrhtml = ''; - if (node.attrs) { - attrhtml = []; - var attrs = node.attrs; - for (var a in attrs) { - //这里就针对 - //

    '

    - //这里边的\"做转换,要不用innerHTML直接被截断了,属性src - //有可能做的不够 - attrhtml.push(a + (attrs[a] !== undefined ? '="' + (notTransAttrs[a] ? utils.html(attrs[a]).replace(/["]/g, function (a) { - return '"' - }) : utils.unhtml(attrs[a])) + '"' : '')) - } - attrhtml = attrhtml.join(' '); - } - arr.push('<' + node.tagName + - (attrhtml ? ' ' + attrhtml : '') + - (dtd.$empty[node.tagName] ? '\/' : '' ) + '>' - ); - //插入新行 - if (formatter && !dtd.$inlineWithA[node.tagName] && node.tagName != 'pre') { - if(node.children && node.children.length){ - current = insertLine(arr, current, true); - insertIndent(arr, current) - } - - } - if (node.children && node.children.length) { - for (var i = 0, ci; ci = node.children[i++];) { - if (formatter && ci.type == 'element' && !dtd.$inlineWithA[ci.tagName] && i > 1) { - insertLine(arr, current); - insertIndent(arr, current) - } - nodeToHtml(ci, arr, formatter, current) - } - } - if (!dtd.$empty[node.tagName]) { - if (formatter && !dtd.$inlineWithA[node.tagName] && node.tagName != 'pre') { - - if(node.children && node.children.length){ - current = insertLine(arr, current); - insertIndent(arr, current) - } - } - arr.push('<\/' + node.tagName + '>'); - } - - } - - function isComment(node, arr) { - arr.push(''); - } - - function getNodeById(root, id) { - var node; - if (root.type == 'element' && root.getAttr('id') == id) { - return root; - } - if (root.children && root.children.length) { - for (var i = 0, ci; ci = root.children[i++];) { - if (node = getNodeById(ci, id)) { - return node; - } - } - } - } - - function getNodesByTagName(node, tagName, arr) { - if (node.type == 'element' && node.tagName == tagName) { - arr.push(node); - } - if (node.children && node.children.length) { - for (var i = 0, ci; ci = node.children[i++];) { - getNodesByTagName(ci, tagName, arr) - } - } - } - function nodeTraversal(root,fn){ - if(root.children && root.children.length){ - for(var i= 0,ci;ci=root.children[i];){ - nodeTraversal(ci,fn); - //ci被替换的情况,这里就不再走 fn了 - if(ci.parentNode ){ - if(ci.children && ci.children.length){ - fn(ci) - } - if(ci.parentNode) i++ - } - } - }else{ - fn(root) - } - - } - uNode.prototype = { - - /** - * 当前节点对象,转换成html文本 - * @method toHtml - * @return { String } 返回转换后的html字符串 - * @example - * ```javascript - * node.toHtml(); - * ``` - */ - - /** - * 当前节点对象,转换成html文本 - * @method toHtml - * @param { Boolean } formatter 是否格式化返回值 - * @return { String } 返回转换后的html字符串 - * @example - * ```javascript - * node.toHtml( true ); - * ``` - */ - toHtml:function (formatter) { - var arr = []; - nodeToHtml(this, arr, formatter, 0); - return arr.join('') - }, - - /** - * 获取节点的html内容 - * @method innerHTML - * @warning 假如节点的type不是'element',或节点的标签名称不在dtd列表里,直接返回当前节点 - * @return { String } 返回节点的html内容 - * @example - * ```javascript - * var htmlstr = node.innerHTML(); - * ``` - */ - - /** - * 设置节点的html内容 - * @method innerHTML - * @warning 假如节点的type不是'element',或节点的标签名称不在dtd列表里,直接返回当前节点 - * @param { String } htmlstr 传入要设置的html内容 - * @return { UE.uNode } 返回节点本身 - * @example - * ```javascript - * node.innerHTML('text'); - * ``` - */ - innerHTML:function (htmlstr) { - if (this.type != 'element' || dtd.$empty[this.tagName]) { - return this; - } - if (utils.isString(htmlstr)) { - if(this.children){ - for (var i = 0, ci; ci = this.children[i++];) { - ci.parentNode = null; - } - } - this.children = []; - var tmpRoot = UE.htmlparser(htmlstr); - for (var i = 0, ci; ci = tmpRoot.children[i++];) { - this.children.push(ci); - ci.parentNode = this; - } - return this; - } else { - var tmpRoot = new UE.uNode({ - type:'root', - children:this.children - }); - return tmpRoot.toHtml(); - } - }, - - /** - * 获取节点的纯文本内容 - * @method innerText - * @warning 假如节点的type不是'element',或节点的标签名称不在dtd列表里,直接返回当前节点 - * @return { String } 返回节点的存文本内容 - * @example - * ```javascript - * var textStr = node.innerText(); - * ``` - */ - - /** - * 设置节点的纯文本内容 - * @method innerText - * @warning 假如节点的type不是'element',或节点的标签名称不在dtd列表里,直接返回当前节点 - * @param { String } textStr 传入要设置的文本内容 - * @return { UE.uNode } 返回节点本身 - * @example - * ```javascript - * node.innerText('text'); - * ``` - */ - innerText:function (textStr,noTrans) { - if (this.type != 'element' || dtd.$empty[this.tagName]) { - return this; - } - if (textStr) { - if(this.children){ - for (var i = 0, ci; ci = this.children[i++];) { - ci.parentNode = null; - } - } - this.children = []; - this.appendChild(uNode.createText(textStr,noTrans)); - return this; - } else { - return this.toHtml().replace(/<[^>]+>/g, ''); - } - }, - - /** - * 获取当前对象的data属性 - * @method getData - * @return { Object } 若节点的type值是elemenet,返回空字符串,否则返回节点的data属性 - * @example - * ```javascript - * node.getData(); - * ``` - */ - getData:function () { - if (this.type == 'element') - return ''; - return this.data - }, - - /** - * 获取当前节点下的第一个子节点 - * @method firstChild - * @return { UE.uNode } 返回第一个子节点 - * @example - * ```javascript - * node.firstChild(); //返回第一个子节点 - * ``` - */ - firstChild:function () { -// if (this.type != 'element' || dtd.$empty[this.tagName]) { -// return this; -// } - return this.children ? this.children[0] : null; - }, - - /** - * 获取当前节点下的最后一个子节点 - * @method lastChild - * @return { UE.uNode } 返回最后一个子节点 - * @example - * ```javascript - * node.lastChild(); //返回最后一个子节点 - * ``` - */ - lastChild:function () { -// if (this.type != 'element' || dtd.$empty[this.tagName] ) { -// return this; -// } - return this.children ? this.children[this.children.length - 1] : null; - }, - - /** - * 获取和当前节点有相同父亲节点的前一个节点 - * @method previousSibling - * @return { UE.uNode } 返回前一个节点 - * @example - * ```javascript - * node.children[2].previousSibling(); //返回子节点node.children[1] - * ``` - */ - previousSibling : function(){ - var parent = this.parentNode; - for (var i = 0, ci; ci = parent.children[i]; i++) { - if (ci === this) { - return i == 0 ? null : parent.children[i-1]; - } - } - - }, - - /** - * 获取和当前节点有相同父亲节点的后一个节点 - * @method nextSibling - * @return { UE.uNode } 返回后一个节点,找不到返回null - * @example - * ```javascript - * node.children[2].nextSibling(); //如果有,返回子节点node.children[3] - * ``` - */ - nextSibling : function(){ - var parent = this.parentNode; - for (var i = 0, ci; ci = parent.children[i++];) { - if (ci === this) { - return parent.children[i]; - } - } - }, - - /** - * 用新的节点替换当前节点 - * @method replaceChild - * @param { UE.uNode } target 要替换成该节点参数 - * @param { UE.uNode } source 要被替换掉的节点 - * @return { UE.uNode } 返回替换之后的节点对象 - * @example - * ```javascript - * node.replaceChild(newNode, childNode); //用newNode替换childNode,childNode是node的子节点 - * ``` - */ - replaceChild:function (target, source) { - if (this.children) { - if(target.parentNode){ - target.parentNode.removeChild(target); - } - for (var i = 0, ci; ci = this.children[i]; i++) { - if (ci === source) { - this.children.splice(i, 1, target); - source.parentNode = null; - target.parentNode = this; - return target; - } - } - } - }, - - /** - * 在节点的子节点列表最后位置插入一个节点 - * @method appendChild - * @param { UE.uNode } node 要插入的节点 - * @return { UE.uNode } 返回刚插入的子节点 - * @example - * ```javascript - * node.appendChild( newNode ); //在node内插入子节点newNode - * ``` - */ - appendChild:function (node) { - if (this.type == 'root' || (this.type == 'element' && !dtd.$empty[this.tagName])) { - if (!this.children) { - this.children = [] - } - if(node.parentNode){ - node.parentNode.removeChild(node); - } - for (var i = 0, ci; ci = this.children[i]; i++) { - if (ci === node) { - this.children.splice(i, 1); - break; - } - } - this.children.push(node); - node.parentNode = this; - return node; - } - - - }, - - /** - * 在传入节点的前面插入一个节点 - * @method insertBefore - * @param { UE.uNode } target 要插入的节点 - * @param { UE.uNode } source 在该参数节点前面插入 - * @return { UE.uNode } 返回刚插入的子节点 - * @example - * ```javascript - * node.parentNode.insertBefore(newNode, node); //在node节点后面插入newNode - * ``` - */ - insertBefore:function (target, source) { - if (this.children) { - if(target.parentNode){ - target.parentNode.removeChild(target); - } - for (var i = 0, ci; ci = this.children[i]; i++) { - if (ci === source) { - this.children.splice(i, 0, target); - target.parentNode = this; - return target; - } - } - - } - }, - - /** - * 在传入节点的后面插入一个节点 - * @method insertAfter - * @param { UE.uNode } target 要插入的节点 - * @param { UE.uNode } source 在该参数节点后面插入 - * @return { UE.uNode } 返回刚插入的子节点 - * @example - * ```javascript - * node.parentNode.insertAfter(newNode, node); //在node节点后面插入newNode - * ``` - */ - insertAfter:function (target, source) { - if (this.children) { - if(target.parentNode){ - target.parentNode.removeChild(target); - } - for (var i = 0, ci; ci = this.children[i]; i++) { - if (ci === source) { - this.children.splice(i + 1, 0, target); - target.parentNode = this; - return target; - } - - } - } - }, - - /** - * 从当前节点的子节点列表中,移除节点 - * @method removeChild - * @param { UE.uNode } node 要移除的节点引用 - * @param { Boolean } keepChildren 是否保留移除节点的子节点,若传入true,自动把移除节点的子节点插入到移除的位置 - * @return { * } 返回刚移除的子节点 - * @example - * ```javascript - * node.removeChild(childNode,true); //在node的子节点列表中移除child节点,并且吧child的子节点插入到移除的位置 - * ``` - */ - removeChild:function (node,keepChildren) { - if (this.children) { - for (var i = 0, ci; ci = this.children[i]; i++) { - if (ci === node) { - this.children.splice(i, 1); - ci.parentNode = null; - if(keepChildren && ci.children && ci.children.length){ - for(var j= 0,cj;cj=ci.children[j];j++){ - this.children.splice(i+j,0,cj); - cj.parentNode = this; - - } - } - return ci; - } - } - } - }, - - /** - * 获取当前节点所代表的元素属性,即获取attrs对象下的属性值 - * @method getAttr - * @param { String } attrName 要获取的属性名称 - * @return { * } 返回attrs对象下的属性值 - * @example - * ```javascript - * node.getAttr('title'); - * ``` - */ - getAttr:function (attrName) { - return this.attrs && this.attrs[attrName.toLowerCase()] - }, - - /** - * 设置当前节点所代表的元素属性,即设置attrs对象下的属性值 - * @method setAttr - * @param { String } attrName 要设置的属性名称 - * @param { * } attrVal 要设置的属性值,类型视设置的属性而定 - * @return { * } 返回attrs对象下的属性值 - * @example - * ```javascript - * node.setAttr('title','标题'); - * ``` - */ - setAttr:function (attrName, attrVal) { - if (!attrName) { - delete this.attrs; - return; - } - if(!this.attrs){ - this.attrs = {}; - } - if (utils.isObject(attrName)) { - for (var a in attrName) { - if (!attrName[a]) { - delete this.attrs[a] - } else { - this.attrs[a.toLowerCase()] = attrName[a]; - } - } - } else { - if (!attrVal) { - delete this.attrs[attrName] - } else { - this.attrs[attrName.toLowerCase()] = attrVal; - } - - } - }, - - /** - * 获取当前节点在父节点下的位置索引 - * @method getIndex - * @return { Number } 返回索引数值,如果没有父节点,返回-1 - * @example - * ```javascript - * node.getIndex(); - * ``` - */ - getIndex:function(){ - var parent = this.parentNode; - for(var i= 0,ci;ci=parent.children[i];i++){ - if(ci === this){ - return i; - } - } - return -1; - }, - - /** - * 在当前节点下,根据id查找节点 - * @method getNodeById - * @param { String } id 要查找的id - * @return { UE.uNode } 返回找到的节点 - * @example - * ```javascript - * node.getNodeById('textId'); - * ``` - */ - getNodeById:function (id) { - var node; - if (this.children && this.children.length) { - for (var i = 0, ci; ci = this.children[i++];) { - if (node = getNodeById(ci, id)) { - return node; - } - } - } - }, - - /** - * 在当前节点下,根据元素名称查找节点列表 - * @method getNodesByTagName - * @param { String } tagNames 要查找的元素名称 - * @return { Array } 返回找到的节点列表 - * @example - * ```javascript - * node.getNodesByTagName('span'); - * ``` - */ - getNodesByTagName:function (tagNames) { - tagNames = utils.trim(tagNames).replace(/[ ]{2,}/g, ' ').split(' '); - var arr = [], me = this; - utils.each(tagNames, function (tagName) { - if (me.children && me.children.length) { - for (var i = 0, ci; ci = me.children[i++];) { - getNodesByTagName(ci, tagName, arr) - } - } - }); - return arr; - }, - - /** - * 根据样式名称,获取节点的样式值 - * @method getStyle - * @param { String } name 要获取的样式名称 - * @return { String } 返回样式值 - * @example - * ```javascript - * node.getStyle('font-size'); - * ``` - */ - getStyle:function (name) { - var cssStyle = this.getAttr('style'); - if (!cssStyle) { - return '' - } - var reg = new RegExp('(^|;)\\s*' + name + ':([^;]+)','i'); - var match = cssStyle.match(reg); - if (match && match[0]) { - return match[2] - } - return ''; - }, - - /** - * 给节点设置样式 - * @method setStyle - * @param { String } name 要设置的的样式名称 - * @param { String } val 要设置的的样值 - * @example - * ```javascript - * node.setStyle('font-size', '12px'); - * ``` - */ - setStyle:function (name, val) { - function exec(name, val) { - var reg = new RegExp('(^|;)\\s*' + name + ':([^;]+;?)', 'gi'); - cssStyle = cssStyle.replace(reg, '$1'); - if (val) { - cssStyle = name + ':' + utils.unhtml(val) + ';' + cssStyle - } - - } - - var cssStyle = this.getAttr('style'); - if (!cssStyle) { - cssStyle = ''; - } - if (utils.isObject(name)) { - for (var a in name) { - exec(a, name[a]) - } - } else { - exec(name, val) - } - this.setAttr('style', utils.trim(cssStyle)) - }, - - /** - * 传入一个函数,递归遍历当前节点下的所有节点 - * @method traversal - * @param { Function } fn 遍历到节点的时,传入节点作为参数,运行此函数 - * @example - * ```javascript - * traversal(node, function(){ - * console.log(node.type); - * }); - * ``` - */ - traversal:function(fn){ - if(this.children && this.children.length){ - nodeTraversal(this,fn); - } - return this; - } - } -})(); - - -// core/htmlparser.js -/** - * html字符串转换成uNode节点 - * @file - * @module UE - * @since 1.2.6.1 - */ - -/** - * UEditor公用空间,UEditor所有的功能都挂载在该空间下 - * @unfile - * @module UE - */ - -/** - * html字符串转换成uNode节点的静态方法 - * @method htmlparser - * @param { String } htmlstr 要转换的html代码 - * @param { Boolean } ignoreBlank 若设置为true,转换的时候忽略\n\r\t等空白字符 - * @return { uNode } 给定的html片段转换形成的uNode对象 - * @example - * ```javascript - * var root = UE.htmlparser('

    htmlparser

    ', true); - * ``` - */ - -var htmlparser = UE.htmlparser = function (htmlstr,ignoreBlank) { - //todo 原来的方式 [^"'<>\/] 有\/就不能配对上 ') - } - html.push('') - } - //禁止指定table-width - return '
    这样的标签了 - //先去掉了,加上的原因忘了,这里先记录 - var re_tag = /<(?:(?:\/([^>]+)>)|(?:!--([\S|\s]*?)-->)|(?:([^\s\/<>]+)\s*((?:(?:"[^"]*")|(?:'[^']*')|[^"'<>])*)\/?>))/g, - re_attr = /([\w\-:.]+)(?:(?:\s*=\s*(?:(?:"([^"]*)")|(?:'([^']*)')|([^\s>]+)))|(?=\s|$))/g; - - //ie下取得的html可能会有\n存在,要去掉,在处理replace(/[\t\r\n]*/g,'');代码高量的\n不能去除 - var allowEmptyTags = { - b:1,code:1,i:1,u:1,strike:1,s:1,tt:1,strong:1,q:1,samp:1,em:1,span:1, - sub:1,img:1,sup:1,font:1,big:1,small:1,iframe:1,a:1,br:1,pre:1 - }; - htmlstr = htmlstr.replace(new RegExp(domUtils.fillChar, 'g'), ''); - if(!ignoreBlank){ - htmlstr = htmlstr.replace(new RegExp('[\\r\\t\\n'+(ignoreBlank?'':' ')+']*<\/?(\\w+)\\s*(?:[^>]*)>[\\r\\t\\n'+(ignoreBlank?'':' ')+']*','g'), function(a,b){ - //br暂时单独处理 - if(b && allowEmptyTags[b.toLowerCase()]){ - return a.replace(/(^[\n\r]+)|([\n\r]+$)/g,''); - } - return a.replace(new RegExp('^[\\r\\n'+(ignoreBlank?'':' ')+']+'),'').replace(new RegExp('[\\r\\n'+(ignoreBlank?'':' ')+']+$'),''); - }); - } - - var notTransAttrs = { - 'href':1, - 'src':1 - }; - - var uNode = UE.uNode, - needParentNode = { - 'td':'tr', - 'tr':['tbody','thead','tfoot'], - 'tbody':'table', - 'th':'tr', - 'thead':'table', - 'tfoot':'table', - 'caption':'table', - 'li':['ul', 'ol'], - 'dt':'dl', - 'dd':'dl', - 'option':'select' - }, - needChild = { - 'ol':'li', - 'ul':'li' - }; - - function text(parent, data) { - - if(needChild[parent.tagName]){ - var tmpNode = uNode.createElement(needChild[parent.tagName]); - parent.appendChild(tmpNode); - tmpNode.appendChild(uNode.createText(data)); - parent = tmpNode; - }else{ - - parent.appendChild(uNode.createText(data)); - } - } - - function element(parent, tagName, htmlattr) { - var needParentTag; - if (needParentTag = needParentNode[tagName]) { - var tmpParent = parent,hasParent; - while(tmpParent.type != 'root'){ - if(utils.isArray(needParentTag) ? utils.indexOf(needParentTag, tmpParent.tagName) != -1 : needParentTag == tmpParent.tagName){ - parent = tmpParent; - hasParent = true; - break; - } - tmpParent = tmpParent.parentNode; - } - if(!hasParent){ - parent = element(parent, utils.isArray(needParentTag) ? needParentTag[0] : needParentTag) - } - } - //按dtd处理嵌套 -// if(parent.type != 'root' && !dtd[parent.tagName][tagName]) -// parent = parent.parentNode; - var elm = new uNode({ - parentNode:parent, - type:'element', - tagName:tagName.toLowerCase(), - //是自闭合的处理一下 - children:dtd.$empty[tagName] ? null : [] - }); - //如果属性存在,处理属性 - if (htmlattr) { - var attrs = {}, match; - while (match = re_attr.exec(htmlattr)) { - attrs[match[1].toLowerCase()] = notTransAttrs[match[1].toLowerCase()] ? (match[2] || match[3] || match[4]) : utils.unhtml(match[2] || match[3] || match[4]) - } - elm.attrs = attrs; - } - //trace:3970 -// //如果parent下不能放elm -// if(dtd.$inline[parent.tagName] && dtd.$block[elm.tagName] && !dtd[parent.tagName][elm.tagName]){ -// parent = parent.parentNode; -// elm.parentNode = parent; -// } - parent.children.push(elm); - //如果是自闭合节点返回父亲节点 - return dtd.$empty[tagName] ? parent : elm - } - - function comment(parent, data) { - parent.children.push(new uNode({ - type:'comment', - data:data, - parentNode:parent - })); - } - - var match, currentIndex = 0, nextIndex = 0; - //设置根节点 - var root = new uNode({ - type:'root', - children:[] - }); - var currentParent = root; - - while (match = re_tag.exec(htmlstr)) { - currentIndex = match.index; - try{ - if (currentIndex > nextIndex) { - //text node - text(currentParent, htmlstr.slice(nextIndex, currentIndex)); - } - if (match[3]) { - - if(dtd.$cdata[currentParent.tagName]){ - text(currentParent, match[0]); - }else{ - //start tag - currentParent = element(currentParent, match[3].toLowerCase(), match[4]); - } - - - } else if (match[1]) { - if(currentParent.type != 'root'){ - if(dtd.$cdata[currentParent.tagName] && !dtd.$cdata[match[1]]){ - text(currentParent, match[0]); - }else{ - var tmpParent = currentParent; - while(currentParent.type == 'element' && currentParent.tagName != match[1].toLowerCase()){ - currentParent = currentParent.parentNode; - if(currentParent.type == 'root'){ - currentParent = tmpParent; - throw 'break' - } - } - //end tag - currentParent = currentParent.parentNode; - } - - } - - } else if (match[2]) { - //comment - comment(currentParent, match[2]) - } - }catch(e){} - - nextIndex = re_tag.lastIndex; - - } - //如果结束是文本,就有可能丢掉,所以这里手动判断一下 - //例如
  • sdfsdfsdf
  • sdfsdfsdfsdf - if (nextIndex < htmlstr.length) { - text(currentParent, htmlstr.slice(nextIndex)); - } - return root; -}; - - -// core/filternode.js -/** - * UE过滤节点的静态方法 - * @file - */ - -/** - * UEditor公用空间,UEditor所有的功能都挂载在该空间下 - * @module UE - */ - - -/** - * 根据传入节点和过滤规则过滤相应节点 - * @module UE - * @since 1.2.6.1 - * @method filterNode - * @param { Object } root 指定root节点 - * @param { Object } rules 过滤规则json对象 - * @example - * ```javascript - * UE.filterNode(root,editor.options.filterRules); - * ``` - */ -var filterNode = UE.filterNode = function () { - function filterNode(node,rules){ - switch (node.type) { - case 'text': - break; - case 'element': - var val; - if(val = rules[node.tagName]){ - if(val === '-'){ - node.parentNode.removeChild(node) - }else if(utils.isFunction(val)){ - var parentNode = node.parentNode, - index = node.getIndex(); - val(node); - if(node.parentNode){ - if(node.children){ - for(var i = 0,ci;ci=node.children[i];){ - filterNode(ci,rules); - if(ci.parentNode){ - i++; - } - } - } - }else{ - for(var i = index,ci;ci=parentNode.children[i];){ - filterNode(ci,rules); - if(ci.parentNode){ - i++; - } - } - } - - - }else{ - var attrs = val['$']; - if(attrs && node.attrs){ - var tmpAttrs = {},tmpVal; - for(var a in attrs){ - tmpVal = node.getAttr(a); - //todo 只先对style单独处理 - if(a == 'style' && utils.isArray(attrs[a])){ - var tmpCssStyle = []; - utils.each(attrs[a],function(v){ - var tmp; - if(tmp = node.getStyle(v)){ - tmpCssStyle.push(v + ':' + tmp); - } - }); - tmpVal = tmpCssStyle.join(';') - } - if(tmpVal){ - tmpAttrs[a] = tmpVal; - } - - } - node.attrs = tmpAttrs; - } - if(node.children){ - for(var i = 0,ci;ci=node.children[i];){ - filterNode(ci,rules); - if(ci.parentNode){ - i++; - } - } - } - } - }else{ - //如果不在名单里扣出子节点并删除该节点,cdata除外 - if(dtd.$cdata[node.tagName]){ - node.parentNode.removeChild(node) - }else{ - var parentNode = node.parentNode, - index = node.getIndex(); - node.parentNode.removeChild(node,true); - for(var i = index,ci;ci=parentNode.children[i];){ - filterNode(ci,rules); - if(ci.parentNode){ - i++; - } - } - } - } - break; - case 'comment': - node.parentNode.removeChild(node) - } - - } - return function(root,rules){ - if(utils.isEmptyObject(rules)){ - return root; - } - var val; - if(val = rules['-']){ - utils.each(val.split(' '),function(k){ - rules[k] = '-' - }) - } - for(var i= 0,ci;ci=root.children[i];){ - filterNode(ci,rules); - if(ci.parentNode){ - i++; - } - } - return root; - } -}(); - -// core/plugin.js -/** - * Created with JetBrains PhpStorm. - * User: campaign - * Date: 10/8/13 - * Time: 6:15 PM - * To change this template use File | Settings | File Templates. - */ -UE.plugin = function(){ - var _plugins = {}; - return { - register : function(pluginName,fn,oldOptionName,afterDisabled){ - if(oldOptionName && utils.isFunction(oldOptionName)){ - afterDisabled = oldOptionName; - oldOptionName = null - } - _plugins[pluginName] = { - optionName : oldOptionName || pluginName, - execFn : fn, - //当插件被禁用时执行 - afterDisabled : afterDisabled - } - }, - load : function(editor){ - utils.each(_plugins,function(plugin){ - var _export = plugin.execFn.call(editor); - if(editor.options[plugin.optionName] !== false){ - if(_export){ - //后边需要再做扩展 - utils.each(_export,function(v,k){ - switch(k.toLowerCase()){ - case 'shortcutkey': - editor.addshortcutkey(v); - break; - case 'bindevents': - utils.each(v,function(fn,eventName){ - editor.addListener(eventName,fn); - }); - break; - case 'bindmultievents': - utils.each(utils.isArray(v) ? v:[v],function(event){ - var types = utils.trim(event.type).split(/\s+/); - utils.each(types,function(eventName){ - editor.addListener(eventName, event.handler); - }); - }); - break; - case 'commands': - utils.each(v,function(execFn,execName){ - editor.commands[execName] = execFn - }); - break; - case 'outputrule': - editor.addOutputRule(v); - break; - case 'inputrule': - editor.addInputRule(v); - break; - case 'defaultoptions': - editor.setOpt(v) - } - }) - } - - }else if(plugin.afterDisabled){ - plugin.afterDisabled.call(editor) - } - - }); - //向下兼容 - utils.each(UE.plugins,function(plugin){ - plugin.call(editor); - }); - }, - run : function(pluginName,editor){ - var plugin = _plugins[pluginName]; - if(plugin){ - plugin.exeFn.call(editor) - } - } - } -}(); - -// core/keymap.js -var keymap = UE.keymap = { - 'Backspace' : 8, - 'Tab' : 9, - 'Enter' : 13, - - 'Shift':16, - 'Control':17, - 'Alt':18, - 'CapsLock':20, - - 'Esc':27, - - 'Spacebar':32, - - 'PageUp':33, - 'PageDown':34, - 'End':35, - 'Home':36, - - 'Left':37, - 'Up':38, - 'Right':39, - 'Down':40, - - 'Insert':45, - - 'Del':46, - - 'NumLock':144, - - 'Cmd':91, - - '=':187, - '-':189, - - "b":66, - 'i':73, - //回退 - 'z':90, - 'y':89, - //粘贴 - 'v' : 86, - 'x' : 88, - - 's' : 83, - - 'n' : 78 -}; - -// core/localstorage.js -//存储媒介封装 -var LocalStorage = UE.LocalStorage = (function () { - - var storage = window.localStorage || getUserData() || null, - LOCAL_FILE = 'localStorage'; - - return { - - saveLocalData: function (key, data) { - - if (storage && data) { - storage.setItem(key, data); - return true; - } - - return false; - - }, - - getLocalData: function (key) { - - if (storage) { - return storage.getItem(key); - } - - return null; - - }, - - removeItem: function (key) { - - storage && storage.removeItem(key); - - } - - }; - - function getUserData() { - - var container = document.createElement("div"); - container.style.display = "none"; - - if (!container.addBehavior) { - return null; - } - - container.addBehavior("#default#userdata"); - - return { - - getItem: function (key) { - - var result = null; - - try { - document.body.appendChild(container); - container.load(LOCAL_FILE); - result = container.getAttribute(key); - document.body.removeChild(container); - } catch (e) { - } - - return result; - - }, - - setItem: function (key, value) { - - document.body.appendChild(container); - container.setAttribute(key, value); - container.save(LOCAL_FILE); - document.body.removeChild(container); - - }, - - //// 暂时没有用到 - //clear: function () { - // - // var expiresTime = new Date(); - // expiresTime.setFullYear(expiresTime.getFullYear() - 1); - // document.body.appendChild(container); - // container.expires = expiresTime.toUTCString(); - // container.save(LOCAL_FILE); - // document.body.removeChild(container); - // - //}, - - removeItem: function (key) { - - document.body.appendChild(container); - container.removeAttribute(key); - container.save(LOCAL_FILE); - document.body.removeChild(container); - - } - - }; - - } - -})(); - -(function () { - - var ROOTKEY = 'ueditor_preference'; - - UE.Editor.prototype.setPreferences = function(key,value){ - var obj = {}; - if (utils.isString(key)) { - obj[ key ] = value; - } else { - obj = key; - } - var data = LocalStorage.getLocalData(ROOTKEY); - if (data && (data = utils.str2json(data))) { - utils.extend(data, obj); - } else { - data = obj; - } - data && LocalStorage.saveLocalData(ROOTKEY, utils.json2str(data)); - }; - - UE.Editor.prototype.getPreferences = function(key){ - var data = LocalStorage.getLocalData(ROOTKEY); - if (data && (data = utils.str2json(data))) { - return key ? data[key] : data - } - return null; - }; - - UE.Editor.prototype.removePreferences = function (key) { - var data = LocalStorage.getLocalData(ROOTKEY); - if (data && (data = utils.str2json(data))) { - data[key] = undefined; - delete data[key] - } - data && LocalStorage.saveLocalData(ROOTKEY, utils.json2str(data)); - }; - -})(); - - -// plugins/defaultfilter.js -///import core -///plugin 编辑器默认的过滤转换机制 - -UE.plugins['defaultfilter'] = function () { - var me = this; - me.setOpt({ - 'allowDivTransToP':true, - 'disabledTableInTable':true - }); - //默认的过滤处理 - //进入编辑器的内容处理 - me.addInputRule(function (root) { - var allowDivTransToP = this.options.allowDivTransToP; - var val; - function tdParent(node){ - while(node && node.type == 'element'){ - if(node.tagName == 'td'){ - return true; - } - node = node.parentNode; - } - return false; - } - //进行默认的处理 - root.traversal(function (node) { - if (node.type == 'element') { - if (!dtd.$cdata[node.tagName] && me.options.autoClearEmptyNode && dtd.$inline[node.tagName] && !dtd.$empty[node.tagName] && (!node.attrs || utils.isEmptyObject(node.attrs))) { - if (!node.firstChild()) node.parentNode.removeChild(node); - else if (node.tagName == 'span' && (!node.attrs || utils.isEmptyObject(node.attrs))) { - node.parentNode.removeChild(node, true) - } - return; - } - switch (node.tagName) { - case 'style': - case 'script': - node.setAttr({ - cdata_tag: node.tagName, - cdata_data: (node.innerHTML() || ''), - '_ue_custom_node_':'true' - }); - node.tagName = 'div'; - node.innerHTML(''); - break; - case 'a': - if (val = node.getAttr('href')) { - node.setAttr('_href', val) - } - break; - case 'img': - //todo base64暂时去掉,后边做远程图片上传后,干掉这个 - if (val = node.getAttr('src')) { - if (/^data:/.test(val)) { - node.parentNode.removeChild(node); - break; - } - } - node.setAttr('_src', node.getAttr('src')); - break; - case 'span': - if (browser.webkit && (val = node.getStyle('white-space'))) { - if (/nowrap|normal/.test(val)) { - node.setStyle('white-space', ''); - if (me.options.autoClearEmptyNode && utils.isEmptyObject(node.attrs)) { - node.parentNode.removeChild(node, true) - } - } - } - val = node.getAttr('id'); - if(val && /^_baidu_bookmark_/i.test(val)){ - node.parentNode.removeChild(node) - } - break; - case 'p': - if (val = node.getAttr('align')) { - node.setAttr('align'); - node.setStyle('text-align', val) - } - //trace:3431 -// var cssStyle = node.getAttr('style'); -// if (cssStyle) { -// cssStyle = cssStyle.replace(/(margin|padding)[^;]+/g, ''); -// node.setAttr('style', cssStyle) -// -// } - //p标签不允许嵌套 - utils.each(node.children,function(n){ - if(n.type == 'element' && n.tagName == 'p'){ - var next = n.nextSibling(); - node.parentNode.insertAfter(n,node); - var last = n; - while(next){ - var tmp = next.nextSibling(); - node.parentNode.insertAfter(next,last); - last = next; - next = tmp; - } - return false; - } - }); - if (!node.firstChild()) { - node.innerHTML(browser.ie ? ' ' : '
    ') - } - break; - case 'div': - if(node.getAttr('cdata_tag')){ - break; - } - //针对代码这里不处理插入代码的div - val = node.getAttr('class'); - if(val && /^line number\d+/.test(val)){ - break; - } - if(!allowDivTransToP){ - break; - } - var tmpNode, p = UE.uNode.createElement('p'); - while (tmpNode = node.firstChild()) { - if (tmpNode.type == 'text' || !UE.dom.dtd.$block[tmpNode.tagName]) { - p.appendChild(tmpNode); - } else { - if (p.firstChild()) { - node.parentNode.insertBefore(p, node); - p = UE.uNode.createElement('p'); - } else { - node.parentNode.insertBefore(tmpNode, node); - } - } - } - if (p.firstChild()) { - node.parentNode.insertBefore(p, node); - } - node.parentNode.removeChild(node); - break; - case 'dl': - node.tagName = 'ul'; - break; - case 'dt': - case 'dd': - node.tagName = 'li'; - break; - case 'li': - var className = node.getAttr('class'); - if (!className || !/list\-/.test(className)) { - node.setAttr() - } - var tmpNodes = node.getNodesByTagName('ol ul'); - UE.utils.each(tmpNodes, function (n) { - node.parentNode.insertAfter(n, node); - }); - break; - case 'td': - case 'th': - case 'caption': - if(!node.children || !node.children.length){ - node.appendChild(browser.ie11below ? UE.uNode.createText(' ') : UE.uNode.createElement('br')) - } - break; - case 'table': - if(me.options.disabledTableInTable && tdParent(node)){ - node.parentNode.insertBefore(UE.uNode.createText(node.innerText()),node); - node.parentNode.removeChild(node) - } - } - - } -// if(node.type == 'comment'){ -// node.parentNode.removeChild(node); -// } - }) - - }); - - //从编辑器出去的内容处理 - me.addOutputRule(function (root) { - - var val; - root.traversal(function (node) { - if (node.type == 'element') { - - if (me.options.autoClearEmptyNode && dtd.$inline[node.tagName] && !dtd.$empty[node.tagName] && (!node.attrs || utils.isEmptyObject(node.attrs))) { - - if (!node.firstChild()) node.parentNode.removeChild(node); - else if (node.tagName == 'span' && (!node.attrs || utils.isEmptyObject(node.attrs))) { - node.parentNode.removeChild(node, true) - } - return; - } - switch (node.tagName) { - case 'div': - if (val = node.getAttr('cdata_tag')) { - node.tagName = val; - node.appendChild(UE.uNode.createText(node.getAttr('cdata_data'))); - node.setAttr({cdata_tag: '', cdata_data: '','_ue_custom_node_':''}); - } - break; - case 'a': - if (val = node.getAttr('_href')) { - node.setAttr({ - 'href': utils.html(val), - '_href': '' - }) - } - break; - break; - case 'span': - val = node.getAttr('id'); - if(val && /^_baidu_bookmark_/i.test(val)){ - node.parentNode.removeChild(node) - } - break; - case 'img': - if (val = node.getAttr('_src')) { - node.setAttr({ - 'src': node.getAttr('_src'), - '_src': '' - }) - } - - - } - } - - }) - - - }); -}; - - -// plugins/inserthtml.js -/** - * 插入html字符串插件 - * @file - * @since 1.2.6.1 - */ - -/** - * 插入html代码 - * @command inserthtml - * @method execCommand - * @param { String } cmd 命令字符串 - * @param { String } html 插入的html字符串 - * @remaind 插入的标签内容是在当前的选区位置上插入,如果当前是闭合状态,那直接插入内容, 如果当前是选中状态,将先清除当前选中内容后,再做插入 - * @warning 注意:该命令会对当前选区的位置,对插入的内容进行过滤转换处理。 过滤的规则遵循html语意化的原则。 - * @example - * ```javascript - * //xxx[BB]xxx 当前选区为非闭合选区,选中BB这两个文本 - * //执行命令,插入CC - * //插入后的效果 xxxCCxxx - * //

    xx|xxx

    当前选区为闭合状态 - * //插入

    CC

    - * //结果

    xx

    CC

    xxx

    - * //

    xxxx

    |

    xxx

    当前选区在两个p标签之间 - * //插入 xxxx - * //结果

    xxxx

    xxxx

    xxx

    - * ``` - */ - -UE.commands['inserthtml'] = { - execCommand: function (command,html,notNeedFilter){ - var me = this, - range, - div; - if(!html){ - return; - } - if(me.fireEvent('beforeinserthtml',html) === true){ - return; - } - range = me.selection.getRange(); - div = range.document.createElement( 'div' ); - div.style.display = 'inline'; - - if (!notNeedFilter) { - var root = UE.htmlparser(html); - //如果给了过滤规则就先进行过滤 - if(me.options.filterRules){ - UE.filterNode(root,me.options.filterRules); - } - //执行默认的处理 - me.filterInputRule(root); - html = root.toHtml() - } - div.innerHTML = utils.trim( html ); - - if ( !range.collapsed ) { - var tmpNode = range.startContainer; - if(domUtils.isFillChar(tmpNode)){ - range.setStartBefore(tmpNode) - } - tmpNode = range.endContainer; - if(domUtils.isFillChar(tmpNode)){ - range.setEndAfter(tmpNode) - } - range.txtToElmBoundary(); - //结束边界可能放到了br的前边,要把br包含进来 - // x[xxx]
    - if(range.endContainer && range.endContainer.nodeType == 1){ - tmpNode = range.endContainer.childNodes[range.endOffset]; - if(tmpNode && domUtils.isBr(tmpNode)){ - range.setEndAfter(tmpNode); - } - } - if(range.startOffset == 0){ - tmpNode = range.startContainer; - if(domUtils.isBoundaryNode(tmpNode,'firstChild') ){ - tmpNode = range.endContainer; - if(range.endOffset == (tmpNode.nodeType == 3 ? tmpNode.nodeValue.length : tmpNode.childNodes.length) && domUtils.isBoundaryNode(tmpNode,'lastChild')){ - me.body.innerHTML = '

    '+(browser.ie ? '' : '
    ')+'

    '; - range.setStart(me.body.firstChild,0).collapse(true) - - } - } - } - !range.collapsed && range.deleteContents(); - if(range.startContainer.nodeType == 1){ - var child = range.startContainer.childNodes[range.startOffset],pre; - if(child && domUtils.isBlockElm(child) && (pre = child.previousSibling) && domUtils.isBlockElm(pre)){ - range.setEnd(pre,pre.childNodes.length).collapse(); - while(child.firstChild){ - pre.appendChild(child.firstChild); - } - domUtils.remove(child); - } - } - - } - - - var child,parent,pre,tmp,hadBreak = 0, nextNode; - //如果当前位置选中了fillchar要干掉,要不会产生空行 - if(range.inFillChar()){ - child = range.startContainer; - if(domUtils.isFillChar(child)){ - range.setStartBefore(child).collapse(true); - domUtils.remove(child); - }else if(domUtils.isFillChar(child,true)){ - child.nodeValue = child.nodeValue.replace(fillCharReg,''); - range.startOffset--; - range.collapsed && range.collapse(true) - } - } - //列表单独处理 - var li = domUtils.findParentByTagName(range.startContainer,'li',true); - if(li){ - var next,last; - while(child = div.firstChild){ - //针对hr单独处理一下先 - while(child && (child.nodeType == 3 || !domUtils.isBlockElm(child) || child.tagName=='HR' )){ - next = child.nextSibling; - range.insertNode( child).collapse(); - last = child; - child = next; - - } - if(child){ - if(/^(ol|ul)$/i.test(child.tagName)){ - while(child.firstChild){ - last = child.firstChild; - domUtils.insertAfter(li,child.firstChild); - li = li.nextSibling; - } - domUtils.remove(child) - }else{ - var tmpLi; - next = child.nextSibling; - tmpLi = me.document.createElement('li'); - domUtils.insertAfter(li,tmpLi); - tmpLi.appendChild(child); - last = child; - child = next; - li = tmpLi; - } - } - } - li = domUtils.findParentByTagName(range.startContainer,'li',true); - if(domUtils.isEmptyBlock(li)){ - domUtils.remove(li) - } - if(last){ - - range.setStartAfter(last).collapse(true).select(true) - } - }else{ - while ( child = div.firstChild ) { - if(hadBreak){ - var p = me.document.createElement('p'); - while(child && (child.nodeType == 3 || !dtd.$block[child.tagName])){ - nextNode = child.nextSibling; - p.appendChild(child); - child = nextNode; - } - if(p.firstChild){ - - child = p - } - } - range.insertNode( child ); - nextNode = child.nextSibling; - if ( !hadBreak && child.nodeType == domUtils.NODE_ELEMENT && domUtils.isBlockElm( child ) ){ - - parent = domUtils.findParent( child,function ( node ){ return domUtils.isBlockElm( node ); } ); - if ( parent && parent.tagName.toLowerCase() != 'body' && !(dtd[parent.tagName][child.nodeName] && child.parentNode === parent)){ - if(!dtd[parent.tagName][child.nodeName]){ - pre = parent; - }else{ - tmp = child.parentNode; - while (tmp !== parent){ - pre = tmp; - tmp = tmp.parentNode; - - } - } - - - domUtils.breakParent( child, pre || tmp ); - //去掉break后前一个多余的节点

    |<[p> ==>

    |

    - var pre = child.previousSibling; - domUtils.trimWhiteTextNode(pre); - if(!pre.childNodes.length){ - domUtils.remove(pre); - } - //trace:2012,在非ie的情况,切开后剩下的节点有可能不能点入光标添加br占位 - - if(!browser.ie && - (next = child.nextSibling) && - domUtils.isBlockElm(next) && - next.lastChild && - !domUtils.isBr(next.lastChild)){ - next.appendChild(me.document.createElement('br')); - } - hadBreak = 1; - } - } - var next = child.nextSibling; - if(!div.firstChild && next && domUtils.isBlockElm(next)){ - - range.setStart(next,0).collapse(true); - break; - } - range.setEndAfter( child ).collapse(); - - } - - child = range.startContainer; - - if(nextNode && domUtils.isBr(nextNode)){ - domUtils.remove(nextNode) - } - //用chrome可能有空白展位符 - if(domUtils.isBlockElm(child) && domUtils.isEmptyNode(child)){ - if(nextNode = child.nextSibling){ - domUtils.remove(child); - if(nextNode.nodeType == 1 && dtd.$block[nextNode.tagName]){ - - range.setStart(nextNode,0).collapse(true).shrinkBoundary() - } - }else{ - - try{ - child.innerHTML = browser.ie ? domUtils.fillChar : '
    '; - }catch(e){ - range.setStartBefore(child); - domUtils.remove(child) - } - - } - - } - //加上true因为在删除表情等时会删两次,第一次是删的fillData - try{ - range.select(true); - }catch(e){} - - } - - - - setTimeout(function(){ - range = me.selection.getRange(); - range.scrollToView(me.autoHeightEnabled,me.autoHeightEnabled ? domUtils.getXY(me.iframe).y:0); - me.fireEvent('afterinserthtml', html); - },200); - } -}; - - -// plugins/autotypeset.js -/** - * 自动排版 - * @file - * @since 1.2.6.1 - */ - -/** - * 对当前编辑器的内容执行自动排版, 排版的行为根据config配置文件里的“autotypeset”选项进行控制。 - * @command autotypeset - * @method execCommand - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * editor.execCommand( 'autotypeset' ); - * ``` - */ - -UE.plugins['autotypeset'] = function(){ - - this.setOpt({'autotypeset': { - mergeEmptyline: true, //合并空行 - removeClass: true, //去掉冗余的class - removeEmptyline: false, //去掉空行 - textAlign:"left", //段落的排版方式,可以是 left,right,center,justify 去掉这个属性表示不执行排版 - imageBlockLine: 'center', //图片的浮动方式,独占一行剧中,左右浮动,默认: center,left,right,none 去掉这个属性表示不执行排版 - pasteFilter: false, //根据规则过滤没事粘贴进来的内容 - clearFontSize: false, //去掉所有的内嵌字号,使用编辑器默认的字号 - clearFontFamily: false, //去掉所有的内嵌字体,使用编辑器默认的字体 - removeEmptyNode: false, // 去掉空节点 - //可以去掉的标签 - removeTagNames: utils.extend({div:1},dtd.$removeEmpty), - indent: false, // 行首缩进 - indentValue : '2em', //行首缩进的大小 - bdc2sb: false, - tobdc: false - }}); - - var me = this, - opt = me.options.autotypeset, - remainClass = { - 'selectTdClass':1, - 'pagebreak':1, - 'anchorclass':1 - }, - remainTag = { - 'li':1 - }, - tags = { - div:1, - p:1, - //trace:2183 这些也认为是行 - blockquote:1,center:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1, - span:1 - }, - highlightCont; - //升级了版本,但配置项目里没有autotypeset - if(!opt){ - return; - } - - readLocalOpts(); - - function isLine(node,notEmpty){ - if(!node || node.nodeType == 3) - return 0; - if(domUtils.isBr(node)) - return 1; - if(node && node.parentNode && tags[node.tagName.toLowerCase()]){ - if(highlightCont && highlightCont.contains(node) - || - node.getAttribute('pagebreak') - ){ - return 0; - } - - return notEmpty ? !domUtils.isEmptyBlock(node) : domUtils.isEmptyBlock(node,new RegExp('[\\s'+domUtils.fillChar - +']','g')); - } - } - - function removeNotAttributeSpan(node){ - if(!node.style.cssText){ - domUtils.removeAttributes(node,['style']); - if(node.tagName.toLowerCase() == 'span' && domUtils.hasNoAttributes(node)){ - domUtils.remove(node,true); - } - } - } - function autotype(type,html){ - - var me = this,cont; - if(html){ - if(!opt.pasteFilter){ - return; - } - cont = me.document.createElement('div'); - cont.innerHTML = html.html; - }else{ - cont = me.document.body; - } - var nodes = domUtils.getElementsByTagName(cont,'*'); - - // 行首缩进,段落方向,段间距,段内间距 - for(var i=0,ci;ci=nodes[i++];){ - - if(me.fireEvent('excludeNodeinautotype',ci) === true){ - continue; - } - //font-size - if(opt.clearFontSize && ci.style.fontSize){ - domUtils.removeStyle(ci,'font-size'); - - removeNotAttributeSpan(ci); - - } - //font-family - if(opt.clearFontFamily && ci.style.fontFamily){ - domUtils.removeStyle(ci,'font-family'); - removeNotAttributeSpan(ci); - } - - if(isLine(ci)){ - //合并空行 - if(opt.mergeEmptyline ){ - var next = ci.nextSibling,tmpNode,isBr = domUtils.isBr(ci); - while(isLine(next)){ - tmpNode = next; - next = tmpNode.nextSibling; - if(isBr && (!next || next && !domUtils.isBr(next))){ - break; - } - domUtils.remove(tmpNode); - } - - } - //去掉空行,保留占位的空行 - if(opt.removeEmptyline && domUtils.inDoc(ci,cont) && !remainTag[ci.parentNode.tagName.toLowerCase()] ){ - if(domUtils.isBr(ci)){ - next = ci.nextSibling; - if(next && !domUtils.isBr(next)){ - continue; - } - } - domUtils.remove(ci); - continue; - - } - - } - if(isLine(ci,true) && ci.tagName != 'SPAN'){ - if(opt.indent){ - ci.style.textIndent = opt.indentValue; - } - if(opt.textAlign){ - ci.style.textAlign = opt.textAlign; - } - // if(opt.lineHeight) - // ci.style.lineHeight = opt.lineHeight + 'cm'; - - } - - //去掉class,保留的class不去掉 - if(opt.removeClass && ci.className && !remainClass[ci.className.toLowerCase()]){ - - if(highlightCont && highlightCont.contains(ci)){ - continue; - } - domUtils.removeAttributes(ci,['class']); - } - - //表情不处理 - if(opt.imageBlockLine && ci.tagName.toLowerCase() == 'img' && !ci.getAttribute('emotion')){ - if(html){ - var img = ci; - switch (opt.imageBlockLine){ - case 'left': - case 'right': - case 'none': - var pN = img.parentNode,tmpNode,pre,next; - while(dtd.$inline[pN.tagName] || pN.tagName == 'A'){ - pN = pN.parentNode; - } - tmpNode = pN; - if(tmpNode.tagName == 'P' && domUtils.getStyle(tmpNode,'text-align') == 'center'){ - if(!domUtils.isBody(tmpNode) && domUtils.getChildCount(tmpNode,function(node){return !domUtils.isBr(node) && !domUtils.isWhitespace(node)}) == 1){ - pre = tmpNode.previousSibling; - next = tmpNode.nextSibling; - if(pre && next && pre.nodeType == 1 && next.nodeType == 1 && pre.tagName == next.tagName && domUtils.isBlockElm(pre)){ - pre.appendChild(tmpNode.firstChild); - while(next.firstChild){ - pre.appendChild(next.firstChild); - } - domUtils.remove(tmpNode); - domUtils.remove(next); - }else{ - domUtils.setStyle(tmpNode,'text-align',''); - } - - - } - - - } - domUtils.setStyle(img,'float', opt.imageBlockLine); - break; - case 'center': - if(me.queryCommandValue('imagefloat') != 'center'){ - pN = img.parentNode; - domUtils.setStyle(img,'float','none'); - tmpNode = img; - while(pN && domUtils.getChildCount(pN,function(node){return !domUtils.isBr(node) && !domUtils.isWhitespace(node)}) == 1 - && (dtd.$inline[pN.tagName] || pN.tagName == 'A')){ - tmpNode = pN; - pN = pN.parentNode; - } - var pNode = me.document.createElement('p'); - domUtils.setAttributes(pNode,{ - - style:'text-align:center' - }); - tmpNode.parentNode.insertBefore(pNode,tmpNode); - pNode.appendChild(tmpNode); - domUtils.setStyle(tmpNode,'float',''); - - } - - - } - } else { - var range = me.selection.getRange(); - range.selectNode(ci).select(); - me.execCommand('imagefloat', opt.imageBlockLine); - } - - } - - //去掉冗余的标签 - if(opt.removeEmptyNode){ - if(opt.removeTagNames[ci.tagName.toLowerCase()] && domUtils.hasNoAttributes(ci) && domUtils.isEmptyBlock(ci)){ - domUtils.remove(ci); - } - } - } - if(opt.tobdc){ - var root = UE.htmlparser(cont.innerHTML); - root.traversal(function(node){ - if(node.type == 'text'){ - node.data = ToDBC(node.data) - } - }); - cont.innerHTML = root.toHtml() - } - if(opt.bdc2sb){ - var root = UE.htmlparser(cont.innerHTML); - root.traversal(function(node){ - if(node.type == 'text'){ - node.data = DBC2SB(node.data) - } - }); - cont.innerHTML = root.toHtml() - } - if(html){ - html.html = cont.innerHTML; - } - } - if(opt.pasteFilter){ - me.addListener('beforepaste',autotype); - } - - function DBC2SB(str) { - var result = ''; - for (var i = 0; i < str.length; i++) { - var code = str.charCodeAt(i); //获取当前字符的unicode编码 - if (code >= 65281 && code <= 65373)//在这个unicode编码范围中的是所有的英文字母已经各种字符 - { - result += String.fromCharCode(str.charCodeAt(i) - 65248); //把全角字符的unicode编码转换为对应半角字符的unicode码 - } else if (code == 12288)//空格 - { - result += String.fromCharCode(str.charCodeAt(i) - 12288 + 32); - } else { - result += str.charAt(i); - } - } - return result; - } - function ToDBC(txtstring) { - txtstring = utils.html(txtstring); - var tmp = ""; - var mark = "";/*用于判断,如果是html尖括里的标记,则不进行全角的转换*/ - for (var i = 0; i < txtstring.length; i++) { - if (txtstring.charCodeAt(i) == 32) { - tmp = tmp + String.fromCharCode(12288); - } - else if (txtstring.charCodeAt(i) < 127) { - tmp = tmp + String.fromCharCode(txtstring.charCodeAt(i) + 65248); - } - else { - tmp += txtstring.charAt(i); - } - } - return tmp; - } - - function readLocalOpts() { - var cookieOpt = me.getPreferences('autotypeset'); - utils.extend(me.options.autotypeset, cookieOpt); - } - - me.commands['autotypeset'] = { - execCommand:function () { - me.removeListener('beforepaste',autotype); - if(opt.pasteFilter){ - me.addListener('beforepaste',autotype); - } - autotype.call(me) - } - - }; - -}; - - - -// plugins/autosubmit.js -/** - * 快捷键提交 - * @file - * @since 1.2.6.1 - */ - -/** - * 提交表单 - * @command autosubmit - * @method execCommand - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * editor.execCommand( 'autosubmit' ); - * ``` - */ - -UE.plugin.register('autosubmit',function(){ - return { - shortcutkey:{ - "autosubmit":"ctrl+13" //手动提交 - }, - commands:{ - 'autosubmit':{ - execCommand:function () { - var me=this, - form = domUtils.findParentByTagName(me.iframe,"form", false); - if (form){ - if(me.fireEvent("beforesubmit")===false){ - return; - } - me.sync(); - form.submit(); - } - } - } - } - } -}); - -// plugins/background.js -/** - * 背景插件,为UEditor提供设置背景功能 - * @file - * @since 1.2.6.1 - */ -UE.plugin.register('background', function () { - var me = this, - cssRuleId = 'editor_background', - isSetColored, - reg = new RegExp('body[\\s]*\\{(.+)\\}', 'i'); - - function stringToObj(str) { - var obj = {}, styles = str.split(';'); - utils.each(styles, function (v) { - var index = v.indexOf(':'), - key = utils.trim(v.substr(0, index)).toLowerCase(); - key && (obj[key] = utils.trim(v.substr(index + 1) || '')); - }); - return obj; - } - - function setBackground(obj) { - if (obj) { - var styles = []; - for (var name in obj) { - if (obj.hasOwnProperty(name)) { - styles.push(name + ":" + obj[name] + '; '); - } - } - utils.cssRule(cssRuleId, styles.length ? ('body{' + styles.join("") + '}') : '', me.document); - } else { - utils.cssRule(cssRuleId, '', me.document) - } - } - //重写editor.hasContent方法 - - var orgFn = me.hasContents; - me.hasContents = function(){ - if(me.queryCommandValue('background')){ - return true - } - return orgFn.apply(me,arguments); - }; - return { - bindEvents: { - 'getAllHtml': function (type, headHtml) { - var body = this.body, - su = domUtils.getComputedStyle(body, "background-image"), - url = ""; - if (su.indexOf(me.options.imagePath) > 0) { - url = su.substring(su.indexOf(me.options.imagePath), su.length - 1).replace(/"|\(|\)/ig, ""); - } else { - url = su != "none" ? su.replace(/url\("?|"?\)/ig, "") : ""; - } - var html = ' '; - headHtml.push(html); - }, - 'aftersetcontent': function () { - if(isSetColored == false) setBackground(); - } - }, - inputRule: function (root) { - isSetColored = false; - utils.each(root.getNodesByTagName('p'), function (p) { - var styles = p.getAttr('data-background'); - if (styles) { - isSetColored = true; - setBackground(stringToObj(styles)); - p.parentNode.removeChild(p); - } - }) - }, - outputRule: function (root) { - var me = this, - styles = (utils.cssRule(cssRuleId, me.document) || '').replace(/[\n\r]+/g, '').match(reg); - if (styles) { - root.appendChild(UE.uNode.createElement('


    ')); - } - }, - commands: { - 'background': { - execCommand: function (cmd, obj) { - setBackground(obj); - }, - queryCommandValue: function () { - var me = this, - styles = (utils.cssRule(cssRuleId, me.document) || '').replace(/[\n\r]+/g, '').match(reg); - return styles ? stringToObj(styles[1]) : null; - }, - notNeedUndo: true - } - } - } -}); - -// plugins/image.js -/** - * 图片插入、排版插件 - * @file - * @since 1.2.6.1 - */ - -/** - * 图片对齐方式 - * @command imagefloat - * @method execCommand - * @remind 值center为独占一行居中 - * @param { String } cmd 命令字符串 - * @param { String } align 对齐方式,可传left、right、none、center - * @remaind center表示图片独占一行 - * @example - * ```javascript - * editor.execCommand( 'imagefloat', 'center' ); - * ``` - */ - -/** - * 如果选区所在位置是图片区域 - * @command imagefloat - * @method queryCommandValue - * @param { String } cmd 命令字符串 - * @return { String } 返回图片对齐方式 - * @example - * ```javascript - * editor.queryCommandValue( 'imagefloat' ); - * ``` - */ - -UE.commands['imagefloat'] = { - execCommand:function (cmd, align) { - var me = this, - range = me.selection.getRange(); - if (!range.collapsed) { - var img = range.getClosedNode(); - if (img && img.tagName == 'IMG') { - switch (align) { - case 'left': - case 'right': - case 'none': - var pN = img.parentNode, tmpNode, pre, next; - while (dtd.$inline[pN.tagName] || pN.tagName == 'A') { - pN = pN.parentNode; - } - tmpNode = pN; - if (tmpNode.tagName == 'P' && domUtils.getStyle(tmpNode, 'text-align') == 'center') { - if (!domUtils.isBody(tmpNode) && domUtils.getChildCount(tmpNode, function (node) { - return !domUtils.isBr(node) && !domUtils.isWhitespace(node); - }) == 1) { - pre = tmpNode.previousSibling; - next = tmpNode.nextSibling; - if (pre && next && pre.nodeType == 1 && next.nodeType == 1 && pre.tagName == next.tagName && domUtils.isBlockElm(pre)) { - pre.appendChild(tmpNode.firstChild); - while (next.firstChild) { - pre.appendChild(next.firstChild); - } - domUtils.remove(tmpNode); - domUtils.remove(next); - } else { - domUtils.setStyle(tmpNode, 'text-align', ''); - } - - - } - - range.selectNode(img).select(); - } - domUtils.setStyle(img, 'float', align == 'none' ? '' : align); - if(align == 'none'){ - domUtils.removeAttributes(img,'align'); - } - - break; - case 'center': - if (me.queryCommandValue('imagefloat') != 'center') { - pN = img.parentNode; - domUtils.setStyle(img, 'float', ''); - domUtils.removeAttributes(img,'align'); - tmpNode = img; - while (pN && domUtils.getChildCount(pN, function (node) { - return !domUtils.isBr(node) && !domUtils.isWhitespace(node); - }) == 1 - && (dtd.$inline[pN.tagName] || pN.tagName == 'A')) { - tmpNode = pN; - pN = pN.parentNode; - } - range.setStartBefore(tmpNode).setCursor(false); - pN = me.document.createElement('div'); - pN.appendChild(tmpNode); - domUtils.setStyle(tmpNode, 'float', ''); - - me.execCommand('insertHtml', '

    ' + pN.innerHTML + '

    '); - - tmpNode = me.document.getElementById('_img_parent_tmp'); - tmpNode.removeAttribute('id'); - tmpNode = tmpNode.firstChild; - range.selectNode(tmpNode).select(); - //去掉后边多余的元素 - next = tmpNode.parentNode.nextSibling; - if (next && domUtils.isEmptyNode(next)) { - domUtils.remove(next); - } - - } - - break; - } - - } - } - }, - queryCommandValue:function () { - var range = this.selection.getRange(), - startNode, floatStyle; - if (range.collapsed) { - return 'none'; - } - startNode = range.getClosedNode(); - if (startNode && startNode.nodeType == 1 && startNode.tagName == 'IMG') { - floatStyle = domUtils.getComputedStyle(startNode, 'float') || startNode.getAttribute('align'); - - if (floatStyle == 'none') { - floatStyle = domUtils.getComputedStyle(startNode.parentNode, 'text-align') == 'center' ? 'center' : floatStyle; - } - return { - left:1, - right:1, - center:1 - }[floatStyle] ? floatStyle : 'none'; - } - return 'none'; - - - }, - queryCommandState:function () { - var range = this.selection.getRange(), - startNode; - - if (range.collapsed) return -1; - - startNode = range.getClosedNode(); - if (startNode && startNode.nodeType == 1 && startNode.tagName == 'IMG') { - return 0; - } - return -1; - } -}; - - -/** - * 插入图片 - * @command insertimage - * @method execCommand - * @param { String } cmd 命令字符串 - * @param { Object } opt 属性键值对,这些属性都将被复制到当前插入图片 - * @remind 该命令第二个参数可接受一个图片配置项对象的数组,可以插入多张图片, - * 此时数组的每一个元素都是一个Object类型的图片属性集合。 - * @example - * ```javascript - * editor.execCommand( 'insertimage', { - * src:'a/b/c.jpg', - * width:'100', - * height:'100' - * } ); - * ``` - * @example - * ```javascript - * editor.execCommand( 'insertimage', [{ - * src:'a/b/c.jpg', - * width:'100', - * height:'100' - * },{ - * src:'a/b/d.jpg', - * width:'100', - * height:'100' - * }] ); - * ``` - */ - -UE.commands['insertimage'] = { - execCommand:function (cmd, opt) { - - opt = utils.isArray(opt) ? opt : [opt]; - if (!opt.length) { - return; - } - var me = this, - range = me.selection.getRange(), - img = range.getClosedNode(); - - if(me.fireEvent('beforeinsertimage', opt) === true){ - return; - } - - function unhtmlData(imgCi) { - - utils.each('width,height,border,hspace,vspace'.split(','), function (item) { - - if (imgCi[item]) { - imgCi[item] = parseInt(imgCi[item], 10) || 0; - } - }); - - utils.each('src,_src'.split(','), function (item) { - - if (imgCi[item]) { - imgCi[item] = utils.unhtmlForUrl(imgCi[item]); - } - }); - utils.each('title,alt'.split(','), function (item) { - - if (imgCi[item]) { - imgCi[item] = utils.unhtml(imgCi[item]); - } - }); - } - - if (img && /img/i.test(img.tagName) && (img.className != "edui-faked-video" || img.className.indexOf("edui-upload-video")!=-1) && !img.getAttribute("word_img")) { - var first = opt.shift(); - var floatStyle = first['floatStyle']; - delete first['floatStyle']; -//// img.style.border = (first.border||0) +"px solid #000"; -//// img.style.margin = (first.margin||0) +"px"; -// img.style.cssText += ';margin:' + (first.margin||0) +"px;" + 'border:' + (first.border||0) +"px solid #000"; - domUtils.setAttributes(img, first); - me.execCommand('imagefloat', floatStyle); - if (opt.length > 0) { - range.setStartAfter(img).setCursor(false, true); - me.execCommand('insertimage', opt); - } - - } else { - var html = [], str = '', ci; - ci = opt[0]; - if (opt.length == 1) { - unhtmlData(ci); - - str = '' + ci.alt + ''; - if (ci['floatStyle'] == 'center') { - str = '

    ' + str + '

    '; - } - html.push(str); - - } else { - for (var i = 0; ci = opt[i++];) { - unhtmlData(ci); - str = '

    '; - html.push(str); - } - } - - me.execCommand('insertHtml', html.join('')); - } - - me.fireEvent('afterinsertimage', opt) - } -}; - - -// plugins/justify.js -/** - * 段落格式 - * @file - * @since 1.2.6.1 - */ - -/** - * 段落对齐方式 - * @command justify - * @method execCommand - * @param { String } cmd 命令字符串 - * @param { String } align 对齐方式:left => 居左,right => 居右,center => 居中,justify => 两端对齐 - * @example - * ```javascript - * editor.execCommand( 'justify', 'center' ); - * ``` - */ -/** - * 如果选区所在位置是段落区域,返回当前段落对齐方式 - * @command justify - * @method queryCommandValue - * @param { String } cmd 命令字符串 - * @return { String } 返回段落对齐方式 - * @example - * ```javascript - * editor.queryCommandValue( 'justify' ); - * ``` - */ - -UE.plugins['justify']=function(){ - var me=this, - block = domUtils.isBlockElm, - defaultValue = { - left:1, - right:1, - center:1, - justify:1 - }, - doJustify = function (range, style) { - var bookmark = range.createBookmark(), - filterFn = function (node) { - return node.nodeType == 1 ? node.tagName.toLowerCase() != 'br' && !domUtils.isBookmarkNode(node) : !domUtils.isWhitespace(node); - }; - - range.enlarge(true); - var bookmark2 = range.createBookmark(), - current = domUtils.getNextDomNode(bookmark2.start, false, filterFn), - tmpRange = range.cloneRange(), - tmpNode; - while (current && !(domUtils.getPosition(current, bookmark2.end) & domUtils.POSITION_FOLLOWING)) { - if (current.nodeType == 3 || !block(current)) { - tmpRange.setStartBefore(current); - while (current && current !== bookmark2.end && !block(current)) { - tmpNode = current; - current = domUtils.getNextDomNode(current, false, null, function (node) { - return !block(node); - }); - } - tmpRange.setEndAfter(tmpNode); - var common = tmpRange.getCommonAncestor(); - if (!domUtils.isBody(common) && block(common)) { - domUtils.setStyles(common, utils.isString(style) ? {'text-align':style} : style); - current = common; - } else { - var p = range.document.createElement('p'); - domUtils.setStyles(p, utils.isString(style) ? {'text-align':style} : style); - var frag = tmpRange.extractContents(); - p.appendChild(frag); - tmpRange.insertNode(p); - current = p; - } - current = domUtils.getNextDomNode(current, false, filterFn); - } else { - current = domUtils.getNextDomNode(current, true, filterFn); - } - } - return range.moveToBookmark(bookmark2).moveToBookmark(bookmark); - }; - - UE.commands['justify'] = { - execCommand:function (cmdName, align) { - var range = this.selection.getRange(), - txt; - - //闭合时单独处理 - if (range.collapsed) { - txt = this.document.createTextNode('p'); - range.insertNode(txt); - } - doJustify(range, align); - if (txt) { - range.setStartBefore(txt).collapse(true); - domUtils.remove(txt); - } - - range.select(); - - - return true; - }, - queryCommandValue:function () { - var startNode = this.selection.getStart(), - value = domUtils.getComputedStyle(startNode, 'text-align'); - return defaultValue[value] ? value : 'left'; - }, - queryCommandState:function () { - var start = this.selection.getStart(), - cell = start && domUtils.findParentByTagName(start, ["td", "th","caption"], true); - - return cell? -1:0; - } - - }; -}; - - -// plugins/font.js -/** - * 字体颜色,背景色,字号,字体,下划线,删除线 - * @file - * @since 1.2.6.1 - */ - -/** - * 字体颜色 - * @command forecolor - * @method execCommand - * @param { String } cmd 命令字符串 - * @param { String } value 色值(必须十六进制) - * @example - * ```javascript - * editor.execCommand( 'forecolor', '#000' ); - * ``` - */ -/** - * 返回选区字体颜色 - * @command forecolor - * @method queryCommandValue - * @param { String } cmd 命令字符串 - * @return { String } 返回字体颜色 - * @example - * ```javascript - * editor.queryCommandValue( 'forecolor' ); - * ``` - */ - -/** - * 字体背景颜色 - * @command backcolor - * @method execCommand - * @param { String } cmd 命令字符串 - * @param { String } value 色值(必须十六进制) - * @example - * ```javascript - * editor.execCommand( 'backcolor', '#000' ); - * ``` - */ -/** - * 返回选区字体颜色 - * @command backcolor - * @method queryCommandValue - * @param { String } cmd 命令字符串 - * @return { String } 返回字体背景颜色 - * @example - * ```javascript - * editor.queryCommandValue( 'backcolor' ); - * ``` - */ - -/** - * 字体大小 - * @command fontsize - * @method execCommand - * @param { String } cmd 命令字符串 - * @param { String } value 字体大小 - * @example - * ```javascript - * editor.execCommand( 'fontsize', '14px' ); - * ``` - */ -/** - * 返回选区字体大小 - * @command fontsize - * @method queryCommandValue - * @param { String } cmd 命令字符串 - * @return { String } 返回字体大小 - * @example - * ```javascript - * editor.queryCommandValue( 'fontsize' ); - * ``` - */ - -/** - * 字体样式 - * @command fontfamily - * @method execCommand - * @param { String } cmd 命令字符串 - * @param { String } value 字体样式 - * @example - * ```javascript - * editor.execCommand( 'fontfamily', '微软雅黑' ); - * ``` - */ -/** - * 返回选区字体样式 - * @command fontfamily - * @method queryCommandValue - * @param { String } cmd 命令字符串 - * @return { String } 返回字体样式 - * @example - * ```javascript - * editor.queryCommandValue( 'fontfamily' ); - * ``` - */ - -/** - * 字体下划线,与删除线互斥 - * @command underline - * @method execCommand - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * editor.execCommand( 'underline' ); - * ``` - */ - -/** - * 字体删除线,与下划线互斥 - * @command strikethrough - * @method execCommand - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * editor.execCommand( 'strikethrough' ); - * ``` - */ - -/** - * 字体边框 - * @command fontborder - * @method execCommand - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * editor.execCommand( 'fontborder' ); - * ``` - */ - -UE.plugins['font'] = function () { - var me = this, - fonts = { - 'forecolor': 'color', - 'backcolor': 'background-color', - 'fontsize': 'font-size', - 'fontfamily': 'font-family', - 'underline': 'text-decoration', - 'strikethrough': 'text-decoration', - 'fontborder': 'border' - }, - needCmd = {'underline': 1, 'strikethrough': 1, 'fontborder': 1}, - needSetChild = { - 'forecolor': 'color', - 'backcolor': 'background-color', - 'fontsize': 'font-size', - 'fontfamily': 'font-family' - - }; - me.setOpt({ - 'fontfamily': [ - { name: 'songti', val: '宋体,SimSun'}, - { name: 'yahei', val: '微软雅黑,Microsoft YaHei'}, - { name: 'kaiti', val: '楷体,楷体_GB2312, SimKai'}, - { name: 'heiti', val: '黑体, SimHei'}, - { name: 'lishu', val: '隶书, SimLi'}, - { name: 'andaleMono', val: 'andale mono'}, - { name: 'arial', val: 'arial, helvetica,sans-serif'}, - { name: 'arialBlack', val: 'arial black,avant garde'}, - { name: 'comicSansMs', val: 'comic sans ms'}, - { name: 'impact', val: 'impact,chicago'}, - { name: 'timesNewRoman', val: 'times new roman'} - ], - 'fontsize': [10, 11, 12, 14, 16, 18, 20, 24, 36] - }); - - function mergeWithParent(node){ - var parent; - while(parent = node.parentNode){ - if(parent.tagName == 'SPAN' && domUtils.getChildCount(parent,function(child){ - return !domUtils.isBookmarkNode(child) && !domUtils.isBr(child) - }) == 1) { - parent.style.cssText += node.style.cssText; - domUtils.remove(node,true); - node = parent; - - }else{ - break; - } - } - - } - function mergeChild(rng,cmdName,value){ - if(needSetChild[cmdName]){ - rng.adjustmentBoundary(); - if(!rng.collapsed && rng.startContainer.nodeType == 1){ - var start = rng.startContainer.childNodes[rng.startOffset]; - if(start && domUtils.isTagNode(start,'span')){ - var bk = rng.createBookmark(); - utils.each(domUtils.getElementsByTagName(start, 'span'), function (span) { - if (!span.parentNode || domUtils.isBookmarkNode(span))return; - if(cmdName == 'backcolor' && domUtils.getComputedStyle(span,'background-color').toLowerCase() === value){ - return; - } - domUtils.removeStyle(span,needSetChild[cmdName]); - if(span.style.cssText.replace(/^\s+$/,'').length == 0){ - domUtils.remove(span,true) - } - }); - rng.moveToBookmark(bk) - } - } - } - - } - function mergesibling(rng,cmdName,value) { - var collapsed = rng.collapsed, - bk = rng.createBookmark(), common; - if (collapsed) { - common = bk.start.parentNode; - while (dtd.$inline[common.tagName]) { - common = common.parentNode; - } - } else { - common = domUtils.getCommonAncestor(bk.start, bk.end); - } - utils.each(domUtils.getElementsByTagName(common, 'span'), function (span) { - if (!span.parentNode || domUtils.isBookmarkNode(span))return; - if (/\s*border\s*:\s*none;?\s*/i.test(span.style.cssText)) { - if(/^\s*border\s*:\s*none;?\s*$/.test(span.style.cssText)){ - domUtils.remove(span, true); - }else{ - domUtils.removeStyle(span,'border'); - } - return - } - if (/border/i.test(span.style.cssText) && span.parentNode.tagName == 'SPAN' && /border/i.test(span.parentNode.style.cssText)) { - span.style.cssText = span.style.cssText.replace(/border[^:]*:[^;]+;?/gi, ''); - } - if(!(cmdName=='fontborder' && value=='none')){ - var next = span.nextSibling; - while (next && next.nodeType == 1 && next.tagName == 'SPAN' ) { - if(domUtils.isBookmarkNode(next) && cmdName == 'fontborder') { - span.appendChild(next); - next = span.nextSibling; - continue; - } - if (next.style.cssText == span.style.cssText) { - domUtils.moveChild(next, span); - domUtils.remove(next); - } - if (span.nextSibling === next) - break; - next = span.nextSibling; - } - } - - - mergeWithParent(span); - if(browser.ie && browser.version > 8 ){ - //拷贝父亲们的特别的属性,这里只做背景颜色的处理 - var parent = domUtils.findParent(span,function(n){return n.tagName == 'SPAN' && /background-color/.test(n.style.cssText)}); - if(parent && !/background-color/.test(span.style.cssText)){ - span.style.backgroundColor = parent.style.backgroundColor; - } - } - - }); - rng.moveToBookmark(bk); - mergeChild(rng,cmdName,value) - } - - me.addInputRule(function (root) { - utils.each(root.getNodesByTagName('u s del font strike'), function (node) { - if (node.tagName == 'font') { - var cssStyle = []; - for (var p in node.attrs) { - switch (p) { - case 'size': - cssStyle.push('font-size:' + - ({ - '1':'10', - '2':'12', - '3':'16', - '4':'18', - '5':'24', - '6':'32', - '7':'48' - }[node.attrs[p]] || node.attrs[p]) + 'px'); - break; - case 'color': - cssStyle.push('color:' + node.attrs[p]); - break; - case 'face': - cssStyle.push('font-family:' + node.attrs[p]); - break; - case 'style': - cssStyle.push(node.attrs[p]); - } - } - node.attrs = { - 'style': cssStyle.join(';') - }; - } else { - var val = node.tagName == 'u' ? 'underline' : 'line-through'; - node.attrs = { - 'style': (node.getAttr('style') || '') + 'text-decoration:' + val + ';' - } - } - node.tagName = 'span'; - }); -// utils.each(root.getNodesByTagName('span'), function (node) { -// var val; -// if(val = node.getAttr('class')){ -// if(/fontstrikethrough/.test(val)){ -// node.setStyle('text-decoration','line-through'); -// if(node.attrs['class']){ -// node.attrs['class'] = node.attrs['class'].replace(/fontstrikethrough/,''); -// }else{ -// node.setAttr('class') -// } -// } -// if(/fontborder/.test(val)){ -// node.setStyle('border','1px solid #000'); -// if(node.attrs['class']){ -// node.attrs['class'] = node.attrs['class'].replace(/fontborder/,''); -// }else{ -// node.setAttr('class') -// } -// } -// } -// }); - }); -// me.addOutputRule(function(root){ -// utils.each(root.getNodesByTagName('span'), function (node) { -// var val; -// if(val = node.getStyle('text-decoration')){ -// if(/line-through/.test(val)){ -// if(node.attrs['class']){ -// node.attrs['class'] += ' fontstrikethrough'; -// }else{ -// node.setAttr('class','fontstrikethrough') -// } -// } -// -// node.setStyle('text-decoration') -// } -// if(val = node.getStyle('border')){ -// if(/1px/.test(val) && /solid/.test(val)){ -// if(node.attrs['class']){ -// node.attrs['class'] += ' fontborder'; -// -// }else{ -// node.setAttr('class','fontborder') -// } -// } -// node.setStyle('border') -// -// } -// }); -// }); - for (var p in fonts) { - (function (cmd, style) { - UE.commands[cmd] = { - execCommand: function (cmdName, value) { - value = value || (this.queryCommandState(cmdName) ? 'none' : cmdName == 'underline' ? 'underline' : - cmdName == 'fontborder' ? '1px solid #000' : - 'line-through'); - var me = this, - range = this.selection.getRange(), - text; - - if (value == 'default') { - - if (range.collapsed) { - text = me.document.createTextNode('font'); - range.insertNode(text).select(); - - } - me.execCommand('removeFormat', 'span,a', style); - if (text) { - range.setStartBefore(text).collapse(true); - domUtils.remove(text); - } - mergesibling(range,cmdName,value); - range.select() - } else { - if (!range.collapsed) { - if (needCmd[cmd] && me.queryCommandValue(cmd)) { - me.execCommand('removeFormat', 'span,a', style); - } - range = me.selection.getRange(); - - range.applyInlineStyle('span', {'style': style + ':' + value}); - mergesibling(range, cmdName,value); - range.select(); - } else { - - var span = domUtils.findParentByTagName(range.startContainer, 'span', true); - text = me.document.createTextNode('font'); - if (span && !span.children.length && !span[browser.ie ? 'innerText' : 'textContent'].replace(fillCharReg, '').length) { - //for ie hack when enter - range.insertNode(text); - if (needCmd[cmd]) { - range.selectNode(text).select(); - me.execCommand('removeFormat', 'span,a', style, null); - - span = domUtils.findParentByTagName(text, 'span', true); - range.setStartBefore(text); - - } - span && (span.style.cssText += ';' + style + ':' + value); - range.collapse(true).select(); - - - } else { - range.insertNode(text); - range.selectNode(text).select(); - span = range.document.createElement('span'); - - if (needCmd[cmd]) { - //a标签内的不处理跳过 - if (domUtils.findParentByTagName(text, 'a', true)) { - range.setStartBefore(text).setCursor(); - domUtils.remove(text); - return; - } - me.execCommand('removeFormat', 'span,a', style); - } - - span.style.cssText = style + ':' + value; - - - text.parentNode.insertBefore(span, text); - //修复,span套span 但样式不继承的问题 - if (!browser.ie || browser.ie && browser.version == 9) { - var spanParent = span.parentNode; - while (!domUtils.isBlockElm(spanParent)) { - if (spanParent.tagName == 'SPAN') { - //opera合并style不会加入";" - span.style.cssText = spanParent.style.cssText + ";" + span.style.cssText; - } - spanParent = spanParent.parentNode; - } - } - - - if (opera) { - setTimeout(function () { - range.setStart(span, 0).collapse(true); - mergesibling(range, cmdName,value); - range.select(); - }); - } else { - range.setStart(span, 0).collapse(true); - mergesibling(range,cmdName,value); - range.select(); - } - - //trace:981 - //domUtils.mergeToParent(span) - } - domUtils.remove(text); - } - - - } - return true; - }, - queryCommandValue: function (cmdName) { - var startNode = this.selection.getStart(); - - //trace:946 - if (cmdName == 'underline' || cmdName == 'strikethrough') { - var tmpNode = startNode, value; - while (tmpNode && !domUtils.isBlockElm(tmpNode) && !domUtils.isBody(tmpNode)) { - if (tmpNode.nodeType == 1) { - value = domUtils.getComputedStyle(tmpNode, style); - if (value != 'none') { - return value; - } - } - - tmpNode = tmpNode.parentNode; - } - return 'none'; - } - if (cmdName == 'fontborder') { - var tmp = startNode, val; - while (tmp && dtd.$inline[tmp.tagName]) { - if (val = domUtils.getComputedStyle(tmp, 'border')) { - - if (/1px/.test(val) && /solid/.test(val)) { - return val; - } - } - tmp = tmp.parentNode; - } - return '' - } - - if( cmdName == 'FontSize' ) { - var styleVal = domUtils.getComputedStyle(startNode, style), - tmp = /^([\d\.]+)(\w+)$/.exec( styleVal ); - - if( tmp ) { - - return Math.floor( tmp[1] ) + tmp[2]; - - } - - return styleVal; - - } - - return domUtils.getComputedStyle(startNode, style); - }, - queryCommandState: function (cmdName) { - if (!needCmd[cmdName]) - return 0; - var val = this.queryCommandValue(cmdName); - if (cmdName == 'fontborder') { - return /1px/.test(val) && /solid/.test(val) - } else { - return cmdName == 'underline' ? /underline/.test(val) : /line\-through/.test(val); - - } - - } - }; - })(p, fonts[p]); - } -}; - -// plugins/link.js -/** - * 超链接 - * @file - * @since 1.2.6.1 - */ - -/** - * 插入超链接 - * @command link - * @method execCommand - * @param { String } cmd 命令字符串 - * @param { Object } options 设置自定义属性,例如:url、title、target - * @example - * ```javascript - * editor.execCommand( 'link', '{ - * url:'ueditor.baidu.com', - * title:'ueditor', - * target:'_blank' - * }' ); - * ``` - */ -/** - * 返回当前选中的第一个超链接节点 - * @command link - * @method queryCommandValue - * @param { String } cmd 命令字符串 - * @return { Element } 超链接节点 - * @example - * ```javascript - * editor.queryCommandValue( 'link' ); - * ``` - */ - -/** - * 取消超链接 - * @command unlink - * @method execCommand - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * editor.execCommand( 'unlink'); - * ``` - */ - -UE.plugins['link'] = function(){ - function optimize( range ) { - var start = range.startContainer,end = range.endContainer; - - if ( start = domUtils.findParentByTagName( start, 'a', true ) ) { - range.setStartBefore( start ); - } - if ( end = domUtils.findParentByTagName( end, 'a', true ) ) { - range.setEndAfter( end ); - } - } - - - UE.commands['unlink'] = { - execCommand : function() { - var range = this.selection.getRange(), - bookmark; - if(range.collapsed && !domUtils.findParentByTagName( range.startContainer, 'a', true )){ - return; - } - bookmark = range.createBookmark(); - optimize( range ); - range.removeInlineStyle( 'a' ).moveToBookmark( bookmark ).select(); - }, - queryCommandState : function(){ - return !this.highlight && this.queryCommandValue('link') ? 0 : -1; - } - - }; - function doLink(range,opt,me){ - var rngClone = range.cloneRange(), - link = me.queryCommandValue('link'); - optimize( range = range.adjustmentBoundary() ); - var start = range.startContainer; - if(start.nodeType == 1 && link){ - start = start.childNodes[range.startOffset]; - if(start && start.nodeType == 1 && start.tagName == 'A' && /^(?:https?|ftp|file)\s*:\s*\/\//.test(start[browser.ie?'innerText':'textContent'])){ - start[browser.ie ? 'innerText' : 'textContent'] = utils.html(opt.textValue||opt.href); - - } - } - if( !rngClone.collapsed || link){ - range.removeInlineStyle( 'a' ); - rngClone = range.cloneRange(); - } - - if ( rngClone.collapsed ) { - var a = range.document.createElement( 'a'), - text = ''; - if(opt.textValue){ - - text = utils.html(opt.textValue); - delete opt.textValue; - }else{ - text = utils.html(opt.href); - - } - domUtils.setAttributes( a, opt ); - start = domUtils.findParentByTagName( rngClone.startContainer, 'a', true ); - if(start && domUtils.isInNodeEndBoundary(rngClone,start)){ - range.setStartAfter(start).collapse(true); - - } - a[browser.ie ? 'innerText' : 'textContent'] = text; - range.insertNode(a).selectNode( a ); - } else { - range.applyInlineStyle( 'a', opt ); - - } - } - UE.commands['link'] = { - execCommand : function( cmdName, opt ) { - var range; - opt._href && (opt._href = utils.unhtml(opt._href,/[<">]/g)); - opt.href && (opt.href = utils.unhtml(opt.href,/[<">]/g)); - opt.textValue && (opt.textValue = utils.unhtml(opt.textValue,/[<">]/g)); - doLink(range=this.selection.getRange(),opt,this); - //闭合都不加占位符,如果加了会在a后边多个占位符节点,导致a是图片背景组成的列表,出现空白问题 - range.collapse().select(true); - - }, - queryCommandValue : function() { - var range = this.selection.getRange(), - node; - if ( range.collapsed ) { -// node = this.selection.getStart(); - //在ie下getstart()取值偏上了 - node = range.startContainer; - node = node.nodeType == 1 ? node : node.parentNode; - - if ( node && (node = domUtils.findParentByTagName( node, 'a', true )) && ! domUtils.isInNodeEndBoundary(range,node)) { - - return node; - } - } else { - //trace:1111 如果是

    xx

    startContainer是p就会找不到a - range.shrinkBoundary(); - var start = range.startContainer.nodeType == 3 || !range.startContainer.childNodes[range.startOffset] ? range.startContainer : range.startContainer.childNodes[range.startOffset], - end = range.endContainer.nodeType == 3 || range.endOffset == 0 ? range.endContainer : range.endContainer.childNodes[range.endOffset-1], - common = range.getCommonAncestor(); - node = domUtils.findParentByTagName( common, 'a', true ); - if ( !node && common.nodeType == 1){ - - var as = common.getElementsByTagName( 'a' ), - ps,pe; - - for ( var i = 0,ci; ci = as[i++]; ) { - ps = domUtils.getPosition( ci, start ),pe = domUtils.getPosition( ci,end); - if ( (ps & domUtils.POSITION_FOLLOWING || ps & domUtils.POSITION_CONTAINS) - && - (pe & domUtils.POSITION_PRECEDING || pe & domUtils.POSITION_CONTAINS) - ) { - node = ci; - break; - } - } - } - return node; - } - - }, - queryCommandState : function() { - //判断如果是视频的话连接不可用 - //fix 853 - var img = this.selection.getRange().getClosedNode(), - flag = img && (img.className == "edui-faked-video" || img.className.indexOf("edui-upload-video")!=-1); - return flag ? -1 : 0; - } - }; -}; - -// plugins/iframe.js -///import core -///import plugins\inserthtml.js -///commands 插入框架 -///commandsName InsertFrame -///commandsTitle 插入Iframe -///commandsDialog dialogs\insertframe - -UE.plugins['insertframe'] = function() { - var me =this; - function deleteIframe(){ - me._iframe && delete me._iframe; - } - - me.addListener("selectionchange",function(){ - deleteIframe(); - }); - -}; - - - -// plugins/scrawl.js -///import core -///commands 涂鸦 -///commandsName Scrawl -///commandsTitle 涂鸦 -///commandsDialog dialogs\scrawl -UE.commands['scrawl'] = { - queryCommandState : function(){ - return ( browser.ie && browser.version <= 8 ) ? -1 :0; - } -}; - - -// plugins/removeformat.js -/** - * 清除格式 - * @file - * @since 1.2.6.1 - */ - -/** - * 清除文字样式 - * @command removeformat - * @method execCommand - * @param { String } cmd 命令字符串 - * @param {String} tags 以逗号隔开的标签。如:strong - * @param {String} style 样式如:color - * @param {String} attrs 属性如:width - * @example - * ```javascript - * editor.execCommand( 'removeformat', 'strong','color','width' ); - * ``` - */ - -UE.plugins['removeformat'] = function(){ - var me = this; - me.setOpt({ - 'removeFormatTags': 'b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var', - 'removeFormatAttributes':'class,style,lang,width,height,align,hspace,valign' - }); - me.commands['removeformat'] = { - execCommand : function( cmdName, tags, style, attrs,notIncludeA ) { - - var tagReg = new RegExp( '^(?:' + (tags || this.options.removeFormatTags).replace( /,/g, '|' ) + ')$', 'i' ) , - removeFormatAttributes = style ? [] : (attrs || this.options.removeFormatAttributes).split( ',' ), - range = new dom.Range( this.document ), - bookmark,node,parent, - filter = function( node ) { - return node.nodeType == 1; - }; - - function isRedundantSpan (node) { - if (node.nodeType == 3 || node.tagName.toLowerCase() != 'span'){ - return 0; - } - if (browser.ie) { - //ie 下判断实效,所以只能简单用style来判断 - //return node.style.cssText == '' ? 1 : 0; - var attrs = node.attributes; - if ( attrs.length ) { - for ( var i = 0,l = attrs.length; i - var node = range.startContainer, - tmp, - collapsed = range.collapsed; - while(node.nodeType == 1 && domUtils.isEmptyNode(node) && dtd.$removeEmpty[node.tagName]){ - tmp = node.parentNode; - range.setStartBefore(node); - //trace:937 - //更新结束边界 - if(range.startContainer === range.endContainer){ - range.endOffset--; - } - domUtils.remove(node); - node = tmp; - } - - if(!collapsed){ - node = range.endContainer; - while(node.nodeType == 1 && domUtils.isEmptyNode(node) && dtd.$removeEmpty[node.tagName]){ - tmp = node.parentNode; - range.setEndBefore(node); - domUtils.remove(node); - - node = tmp; - } - - - } - } - - - - range = this.selection.getRange(); - doRemove( range ); - range.select(); - - } - - }; - -}; - - -// plugins/blockquote.js -/** - * 添加引用 - * @file - * @since 1.2.6.1 - */ - -/** - * 添加引用 - * @command blockquote - * @method execCommand - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * editor.execCommand( 'blockquote' ); - * ``` - */ - -/** - * 添加引用 - * @command blockquote - * @method execCommand - * @param { String } cmd 命令字符串 - * @param { Object } attrs 节点属性 - * @example - * ```javascript - * editor.execCommand( 'blockquote',{ - * style: "color: red;" - * } ); - * ``` - */ - - -UE.plugins['blockquote'] = function(){ - var me = this; - function getObj(editor){ - return domUtils.filterNodeList(editor.selection.getStartElementPath(),'blockquote'); - } - me.commands['blockquote'] = { - execCommand : function( cmdName, attrs ) { - var range = this.selection.getRange(), - obj = getObj(this), - blockquote = dtd.blockquote, - bookmark = range.createBookmark(); - - if ( obj ) { - - var start = range.startContainer, - startBlock = domUtils.isBlockElm(start) ? start : domUtils.findParent(start,function(node){return domUtils.isBlockElm(node)}), - - end = range.endContainer, - endBlock = domUtils.isBlockElm(end) ? end : domUtils.findParent(end,function(node){return domUtils.isBlockElm(node)}); - - //处理一下li - startBlock = domUtils.findParentByTagName(startBlock,'li',true) || startBlock; - endBlock = domUtils.findParentByTagName(endBlock,'li',true) || endBlock; - - - if(startBlock.tagName == 'LI' || startBlock.tagName == 'TD' || startBlock === obj || domUtils.isBody(startBlock)){ - domUtils.remove(obj,true); - }else{ - domUtils.breakParent(startBlock,obj); - } - - if(startBlock !== endBlock){ - obj = domUtils.findParentByTagName(endBlock,'blockquote'); - if(obj){ - if(endBlock.tagName == 'LI' || endBlock.tagName == 'TD'|| domUtils.isBody(endBlock)){ - obj.parentNode && domUtils.remove(obj,true); - }else{ - domUtils.breakParent(endBlock,obj); - } - - } - } - - var blockquotes = domUtils.getElementsByTagName(this.document,'blockquote'); - for(var i=0,bi;bi=blockquotes[i++];){ - if(!bi.childNodes.length){ - domUtils.remove(bi); - }else if(domUtils.getPosition(bi,startBlock)&domUtils.POSITION_FOLLOWING && domUtils.getPosition(bi,endBlock)&domUtils.POSITION_PRECEDING){ - domUtils.remove(bi,true); - } - } - - - - - } else { - - var tmpRange = range.cloneRange(), - node = tmpRange.startContainer.nodeType == 1 ? tmpRange.startContainer : tmpRange.startContainer.parentNode, - preNode = node, - doEnd = 1; - - //调整开始 - while ( 1 ) { - if ( domUtils.isBody(node) ) { - if ( preNode !== node ) { - if ( range.collapsed ) { - tmpRange.selectNode( preNode ); - doEnd = 0; - } else { - tmpRange.setStartBefore( preNode ); - } - }else{ - tmpRange.setStart(node,0); - } - - break; - } - if ( !blockquote[node.tagName] ) { - if ( range.collapsed ) { - tmpRange.selectNode( preNode ); - } else{ - tmpRange.setStartBefore( preNode); - } - break; - } - - preNode = node; - node = node.parentNode; - } - - //调整结束 - if ( doEnd ) { - preNode = node = node = tmpRange.endContainer.nodeType == 1 ? tmpRange.endContainer : tmpRange.endContainer.parentNode; - while ( 1 ) { - - if ( domUtils.isBody( node ) ) { - if ( preNode !== node ) { - - tmpRange.setEndAfter( preNode ); - - } else { - tmpRange.setEnd( node, node.childNodes.length ); - } - - break; - } - if ( !blockquote[node.tagName] ) { - tmpRange.setEndAfter( preNode ); - break; - } - - preNode = node; - node = node.parentNode; - } - - } - - - node = range.document.createElement( 'blockquote' ); - domUtils.setAttributes( node, attrs ); - node.appendChild( tmpRange.extractContents() ); - tmpRange.insertNode( node ); - //去除重复的 - var childs = domUtils.getElementsByTagName(node,'blockquote'); - for(var i=0,ci;ci=childs[i++];){ - if(ci.parentNode){ - domUtils.remove(ci,true); - } - } - - } - range.moveToBookmark( bookmark ).select(); - }, - queryCommandState : function() { - return getObj(this) ? 1 : 0; - } - }; -}; - - - -// plugins/convertcase.js -/** - * 大小写转换 - * @file - * @since 1.2.6.1 - */ - -/** - * 把选区内文本变大写,与“tolowercase”命令互斥 - * @command touppercase - * @method execCommand - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * editor.execCommand( 'touppercase' ); - * ``` - */ - -/** - * 把选区内文本变小写,与“touppercase”命令互斥 - * @command tolowercase - * @method execCommand - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * editor.execCommand( 'tolowercase' ); - * ``` - */ -UE.commands['touppercase'] = -UE.commands['tolowercase'] = { - execCommand:function (cmd) { - var me = this; - var rng = me.selection.getRange(); - if(rng.collapsed){ - return rng; - } - var bk = rng.createBookmark(), - bkEnd = bk.end, - filterFn = function( node ) { - return !domUtils.isBr(node) && !domUtils.isWhitespace( node ); - }, - curNode = domUtils.getNextDomNode( bk.start, false, filterFn ); - while ( curNode && (domUtils.getPosition( curNode, bkEnd ) & domUtils.POSITION_PRECEDING) ) { - - if ( curNode.nodeType == 3 ) { - curNode.nodeValue = curNode.nodeValue[cmd == 'touppercase' ? 'toUpperCase' : 'toLowerCase'](); - } - curNode = domUtils.getNextDomNode( curNode, true, filterFn ); - if(curNode === bkEnd){ - break; - } - - } - rng.moveToBookmark(bk).select(); - } -}; - - - -// plugins/indent.js -/** - * 首行缩进 - * @file - * @since 1.2.6.1 - */ - -/** - * 缩进 - * @command indent - * @method execCommand - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * editor.execCommand( 'indent' ); - * ``` - */ -UE.commands['indent'] = { - execCommand : function() { - var me = this,value = me.queryCommandState("indent") ? "0em" : (me.options.indentValue || '2em'); - me.execCommand('Paragraph','p',{style:'text-indent:'+ value}); - }, - queryCommandState : function() { - var pN = domUtils.filterNodeList(this.selection.getStartElementPath(),'p h1 h2 h3 h4 h5 h6'); - return pN && pN.style.textIndent && parseInt(pN.style.textIndent) ? 1 : 0; - } - -}; - - -// plugins/print.js -/** - * 打印 - * @file - * @since 1.2.6.1 - */ - -/** - * 打印 - * @command print - * @method execCommand - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * editor.execCommand( 'print' ); - * ``` - */ -UE.commands['print'] = { - execCommand : function(){ - this.window.print(); - }, - notNeedUndo : 1 -}; - - - -// plugins/preview.js -/** - * 预览 - * @file - * @since 1.2.6.1 - */ - -/** - * 预览 - * @command preview - * @method execCommand - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * editor.execCommand( 'preview' ); - * ``` - */ -UE.commands['preview'] = { - execCommand : function(){ - var w = window.open('', '_blank', ''), - d = w.document; - d.open(); - d.write('
    '+this.getContent(null,null,true)+'
    '); - d.close(); - }, - notNeedUndo : 1 -}; - - -// plugins/selectall.js -/** - * 全选 - * @file - * @since 1.2.6.1 - */ - -/** - * 选中所有内容 - * @command selectall - * @method execCommand - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * editor.execCommand( 'selectall' ); - * ``` - */ -UE.plugins['selectall'] = function(){ - var me = this; - me.commands['selectall'] = { - execCommand : function(){ - //去掉了原生的selectAll,因为会出现报错和当内容为空时,不能出现闭合状态的光标 - var me = this,body = me.body, - range = me.selection.getRange(); - range.selectNodeContents(body); - if(domUtils.isEmptyBlock(body)){ - //opera不能自动合并到元素的里边,要手动处理一下 - if(browser.opera && body.firstChild && body.firstChild.nodeType == 1){ - range.setStartAtFirst(body.firstChild); - } - range.collapse(true); - } - range.select(true); - }, - notNeedUndo : 1 - }; - - - //快捷键 - me.addshortcutkey({ - "selectAll" : "ctrl+65" - }); -}; - - -// plugins/paragraph.js -/** - * 段落样式 - * @file - * @since 1.2.6.1 - */ - -/** - * 段落格式 - * @command paragraph - * @method execCommand - * @param { String } cmd 命令字符串 - * @param {String} style 标签值为:'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6' - * @param {Object} attrs 标签的属性 - * @example - * ```javascript - * editor.execCommand( 'Paragraph','h1','{ - * class:'test' - * }' ); - * ``` - */ - -/** - * 返回选区内节点标签名 - * @command paragraph - * @method queryCommandValue - * @param { String } cmd 命令字符串 - * @return { String } 节点标签名 - * @example - * ```javascript - * editor.queryCommandValue( 'Paragraph' ); - * ``` - */ - -UE.plugins['paragraph'] = function() { - var me = this, - block = domUtils.isBlockElm, - notExchange = ['TD','LI','PRE'], - - doParagraph = function(range,style,attrs,sourceCmdName){ - var bookmark = range.createBookmark(), - filterFn = function( node ) { - return node.nodeType == 1 ? node.tagName.toLowerCase() != 'br' && !domUtils.isBookmarkNode(node) : !domUtils.isWhitespace( node ); - }, - para; - - range.enlarge( true ); - var bookmark2 = range.createBookmark(), - current = domUtils.getNextDomNode( bookmark2.start, false, filterFn ), - tmpRange = range.cloneRange(), - tmpNode; - while ( current && !(domUtils.getPosition( current, bookmark2.end ) & domUtils.POSITION_FOLLOWING) ) { - if ( current.nodeType == 3 || !block( current ) ) { - tmpRange.setStartBefore( current ); - while ( current && current !== bookmark2.end && !block( current ) ) { - tmpNode = current; - current = domUtils.getNextDomNode( current, false, null, function( node ) { - return !block( node ); - } ); - } - tmpRange.setEndAfter( tmpNode ); - - para = range.document.createElement( style ); - if(attrs){ - domUtils.setAttributes(para,attrs); - if(sourceCmdName && sourceCmdName == 'customstyle' && attrs.style){ - para.style.cssText = attrs.style; - } - } - para.appendChild( tmpRange.extractContents() ); - //需要内容占位 - if(domUtils.isEmptyNode(para)){ - domUtils.fillChar(range.document,para); - - } - - tmpRange.insertNode( para ); - - var parent = para.parentNode; - //如果para上一级是一个block元素且不是body,td就删除它 - if ( block( parent ) && !domUtils.isBody( para.parentNode ) && utils.indexOf(notExchange,parent.tagName)==-1) { - //存储dir,style - if(!(sourceCmdName && sourceCmdName == 'customstyle')){ - parent.getAttribute('dir') && para.setAttribute('dir',parent.getAttribute('dir')); - //trace:1070 - parent.style.cssText && (para.style.cssText = parent.style.cssText + ';' + para.style.cssText); - //trace:1030 - parent.style.textAlign && !para.style.textAlign && (para.style.textAlign = parent.style.textAlign); - parent.style.textIndent && !para.style.textIndent && (para.style.textIndent = parent.style.textIndent); - parent.style.padding && !para.style.padding && (para.style.padding = parent.style.padding); - } - - //trace:1706 选择的就是h1-6要删除 - if(attrs && /h\d/i.test(parent.tagName) && !/h\d/i.test(para.tagName) ){ - domUtils.setAttributes(parent,attrs); - if(sourceCmdName && sourceCmdName == 'customstyle' && attrs.style){ - parent.style.cssText = attrs.style; - } - domUtils.remove(para,true); - para = parent; - }else{ - domUtils.remove( para.parentNode, true ); - } - - } - if( utils.indexOf(notExchange,parent.tagName)!=-1){ - current = parent; - }else{ - current = para; - } - - - current = domUtils.getNextDomNode( current, false, filterFn ); - } else { - current = domUtils.getNextDomNode( current, true, filterFn ); - } - } - return range.moveToBookmark( bookmark2 ).moveToBookmark( bookmark ); - }; - me.setOpt('paragraph',{'p':'', 'h1':'', 'h2':'', 'h3':'', 'h4':'', 'h5':'', 'h6':''}); - me.commands['paragraph'] = { - execCommand : function( cmdName, style,attrs,sourceCmdName ) { - var range = this.selection.getRange(); - //闭合时单独处理 - if(range.collapsed){ - var txt = this.document.createTextNode('p'); - range.insertNode(txt); - //去掉冗余的fillchar - if(browser.ie){ - var node = txt.previousSibling; - if(node && domUtils.isWhitespace(node)){ - domUtils.remove(node); - } - node = txt.nextSibling; - if(node && domUtils.isWhitespace(node)){ - domUtils.remove(node); - } - } - - } - range = doParagraph(range,style,attrs,sourceCmdName); - if(txt){ - range.setStartBefore(txt).collapse(true); - pN = txt.parentNode; - - domUtils.remove(txt); - - if(domUtils.isBlockElm(pN)&&domUtils.isEmptyNode(pN)){ - domUtils.fillNode(this.document,pN); - } - - } - - if(browser.gecko && range.collapsed && range.startContainer.nodeType == 1){ - var child = range.startContainer.childNodes[range.startOffset]; - if(child && child.nodeType == 1 && child.tagName.toLowerCase() == style){ - range.setStart(child,0).collapse(true); - } - } - //trace:1097 原来有true,原因忘了,但去了就不能清除多余的占位符了 - range.select(); - - - return true; - }, - queryCommandValue : function() { - var node = domUtils.filterNodeList(this.selection.getStartElementPath(),'p h1 h2 h3 h4 h5 h6'); - return node ? node.tagName.toLowerCase() : ''; - } - }; -}; - - -// plugins/directionality.js -/** - * 设置文字输入的方向的插件 - * @file - * @since 1.2.6.1 - */ -(function() { - var block = domUtils.isBlockElm , - getObj = function(editor){ -// var startNode = editor.selection.getStart(), -// parents; -// if ( startNode ) { -// //查找所有的是block的父亲节点 -// parents = domUtils.findParents( startNode, true, block, true ); -// for ( var i = 0,ci; ci = parents[i++]; ) { -// if ( ci.getAttribute( 'dir' ) ) { -// return ci; -// } -// } -// } - return domUtils.filterNodeList(editor.selection.getStartElementPath(),function(n){return n && n.nodeType == 1 && n.getAttribute('dir')}); - - }, - doDirectionality = function(range,editor,forward){ - - var bookmark, - filterFn = function( node ) { - return node.nodeType == 1 ? !domUtils.isBookmarkNode(node) : !domUtils.isWhitespace(node); - }, - - obj = getObj( editor ); - - if ( obj && range.collapsed ) { - obj.setAttribute( 'dir', forward ); - return range; - } - bookmark = range.createBookmark(); - range.enlarge( true ); - var bookmark2 = range.createBookmark(), - current = domUtils.getNextDomNode( bookmark2.start, false, filterFn ), - tmpRange = range.cloneRange(), - tmpNode; - while ( current && !(domUtils.getPosition( current, bookmark2.end ) & domUtils.POSITION_FOLLOWING) ) { - if ( current.nodeType == 3 || !block( current ) ) { - tmpRange.setStartBefore( current ); - while ( current && current !== bookmark2.end && !block( current ) ) { - tmpNode = current; - current = domUtils.getNextDomNode( current, false, null, function( node ) { - return !block( node ); - } ); - } - tmpRange.setEndAfter( tmpNode ); - var common = tmpRange.getCommonAncestor(); - if ( !domUtils.isBody( common ) && block( common ) ) { - //遍历到了block节点 - common.setAttribute( 'dir', forward ); - current = common; - } else { - //没有遍历到,添加一个block节点 - var p = range.document.createElement( 'p' ); - p.setAttribute( 'dir', forward ); - var frag = tmpRange.extractContents(); - p.appendChild( frag ); - tmpRange.insertNode( p ); - current = p; - } - - current = domUtils.getNextDomNode( current, false, filterFn ); - } else { - current = domUtils.getNextDomNode( current, true, filterFn ); - } - } - return range.moveToBookmark( bookmark2 ).moveToBookmark( bookmark ); - }; - - /** - * 文字输入方向 - * @command directionality - * @method execCommand - * @param { String } cmdName 命令字符串 - * @param { String } forward 传入'ltr'表示从左向右输入,传入'rtl'表示从右向左输入 - * @example - * ```javascript - * editor.execCommand( 'directionality', 'ltr'); - * ``` - */ - - /** - * 查询当前选区的文字输入方向 - * @command directionality - * @method queryCommandValue - * @param { String } cmdName 命令字符串 - * @return { String } 返回'ltr'表示从左向右输入,返回'rtl'表示从右向左输入 - * @example - * ```javascript - * editor.queryCommandValue( 'directionality'); - * ``` - */ - UE.commands['directionality'] = { - execCommand : function( cmdName,forward ) { - var range = this.selection.getRange(); - //闭合时单独处理 - if(range.collapsed){ - var txt = this.document.createTextNode('d'); - range.insertNode(txt); - } - doDirectionality(range,this,forward); - if(txt){ - range.setStartBefore(txt).collapse(true); - domUtils.remove(txt); - } - - range.select(); - return true; - }, - queryCommandValue : function() { - var node = getObj(this); - return node ? node.getAttribute('dir') : 'ltr'; - } - }; -})(); - - - -// plugins/horizontal.js -/** - * 插入分割线插件 - * @file - * @since 1.2.6.1 - */ - -/** - * 插入分割线 - * @command horizontal - * @method execCommand - * @param { String } cmdName 命令字符串 - * @example - * ```javascript - * editor.execCommand( 'horizontal' ); - * ``` - */ -UE.plugins['horizontal'] = function(){ - var me = this; - me.commands['horizontal'] = { - execCommand : function( cmdName ) { - var me = this; - if(me.queryCommandState(cmdName)!==-1){ - me.execCommand('insertHtml','
    '); - var range = me.selection.getRange(), - start = range.startContainer; - if(start.nodeType == 1 && !start.childNodes[range.startOffset] ){ - - var tmp; - if(tmp = start.childNodes[range.startOffset - 1]){ - if(tmp.nodeType == 1 && tmp.tagName == 'HR'){ - if(me.options.enterTag == 'p'){ - tmp = me.document.createElement('p'); - range.insertNode(tmp); - range.setStart(tmp,0).setCursor(); - - }else{ - tmp = me.document.createElement('br'); - range.insertNode(tmp); - range.setStartBefore(tmp).setCursor(); - } - } - } - - } - return true; - } - - }, - //边界在table里不能加分隔线 - queryCommandState : function() { - return domUtils.filterNodeList(this.selection.getStartElementPath(),'table') ? -1 : 0; - } - }; -// me.addListener('delkeyup',function(){ -// var rng = this.selection.getRange(); -// if(browser.ie && browser.version > 8){ -// rng.txtToElmBoundary(true); -// if(domUtils.isStartInblock(rng)){ -// var tmpNode = rng.startContainer; -// var pre = tmpNode.previousSibling; -// if(pre && domUtils.isTagNode(pre,'hr')){ -// domUtils.remove(pre); -// rng.select(); -// return; -// } -// } -// } -// if(domUtils.isBody(rng.startContainer)){ -// var hr = rng.startContainer.childNodes[rng.startOffset -1]; -// if(hr && hr.nodeName == 'HR'){ -// var next = hr.nextSibling; -// if(next){ -// rng.setStart(next,0) -// }else if(hr.previousSibling){ -// rng.setStartAtLast(hr.previousSibling) -// }else{ -// var p = this.document.createElement('p'); -// hr.parentNode.insertBefore(p,hr); -// domUtils.fillNode(this.document,p); -// rng.setStart(p,0); -// } -// domUtils.remove(hr); -// rng.setCursor(false,true); -// } -// } -// }) - me.addListener('delkeydown',function(name,evt){ - var rng = this.selection.getRange(); - rng.txtToElmBoundary(true); - if(domUtils.isStartInblock(rng)){ - var tmpNode = rng.startContainer; - var pre = tmpNode.previousSibling; - if(pre && domUtils.isTagNode(pre,'hr')){ - domUtils.remove(pre); - rng.select(); - domUtils.preventDefault(evt); - return true; - - } - } - - }) -}; - - - -// plugins/time.js -/** - * 插入时间和日期 - * @file - * @since 1.2.6.1 - */ - -/** - * 插入时间,默认格式:12:59:59 - * @command time - * @method execCommand - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * editor.execCommand( 'time'); - * ``` - */ - -/** - * 插入日期,默认格式:2013-08-30 - * @command date - * @method execCommand - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * editor.execCommand( 'date'); - * ``` - */ -UE.commands['time'] = UE.commands["date"] = { - execCommand : function(cmd, format){ - var date = new Date; - - function formatTime(date, format) { - var hh = ('0' + date.getHours()).slice(-2), - ii = ('0' + date.getMinutes()).slice(-2), - ss = ('0' + date.getSeconds()).slice(-2); - format = format || 'hh:ii:ss'; - return format.replace(/hh/ig, hh).replace(/ii/ig, ii).replace(/ss/ig, ss); - } - function formatDate(date, format) { - var yyyy = ('000' + date.getFullYear()).slice(-4), - yy = yyyy.slice(-2), - mm = ('0' + (date.getMonth()+1)).slice(-2), - dd = ('0' + date.getDate()).slice(-2); - format = format || 'yyyy-mm-dd'; - return format.replace(/yyyy/ig, yyyy).replace(/yy/ig, yy).replace(/mm/ig, mm).replace(/dd/ig, dd); - } - - this.execCommand('insertHtml',cmd == "time" ? formatTime(date, format):formatDate(date, format) ); - } -}; - - -// plugins/rowspacing.js -/** - * 段前段后间距插件 - * @file - * @since 1.2.6.1 - */ - -/** - * 设置段间距 - * @command rowspacing - * @method execCommand - * @param { String } cmd 命令字符串 - * @param { String } value 段间距的值,以px为单位 - * @param { String } dir 间距位置,top或bottom,分别表示段前和段后 - * @example - * ```javascript - * editor.execCommand( 'rowspacing', '10', 'top' ); - * ``` - */ - -UE.plugins['rowspacing'] = function(){ - var me = this; - me.setOpt({ - 'rowspacingtop':['5', '10', '15', '20', '25'], - 'rowspacingbottom':['5', '10', '15', '20', '25'] - - }); - me.commands['rowspacing'] = { - execCommand : function( cmdName,value,dir ) { - this.execCommand('paragraph','p',{style:'margin-'+dir+':'+value + 'px'}); - return true; - }, - queryCommandValue : function(cmdName,dir) { - var pN = domUtils.filterNodeList(this.selection.getStartElementPath(),function(node){return domUtils.isBlockElm(node) }), - value; - //trace:1026 - if(pN){ - value = domUtils.getComputedStyle(pN,'margin-'+dir).replace(/[^\d]/g,''); - return !value ? 0 : value; - } - return 0; - - } - }; -}; - - - - -// plugins/lineheight.js -/** - * 设置行内间距 - * @file - * @since 1.2.6.1 - */ -UE.plugins['lineheight'] = function(){ - var me = this; - me.setOpt({'lineheight':['1', '1.5','1.75','2', '3', '4', '5']}); - - /** - * 行距 - * @command lineheight - * @method execCommand - * @param { String } cmdName 命令字符串 - * @param { String } value 传入的行高值, 该值是当前字体的倍数, 例如: 1.5, 1.75 - * @example - * ```javascript - * editor.execCommand( 'lineheight', 1.5); - * ``` - */ - /** - * 查询当前选区内容的行高大小 - * @command lineheight - * @method queryCommandValue - * @param { String } cmd 命令字符串 - * @return { String } 返回当前行高大小 - * @example - * ```javascript - * editor.queryCommandValue( 'lineheight' ); - * ``` - */ - - me.commands['lineheight'] = { - execCommand : function( cmdName,value ) { - this.execCommand('paragraph','p',{style:'line-height:'+ (value == "1" ? "normal" : value + 'em') }); - return true; - }, - queryCommandValue : function() { - var pN = domUtils.filterNodeList(this.selection.getStartElementPath(),function(node){return domUtils.isBlockElm(node)}); - if(pN){ - var value = domUtils.getComputedStyle(pN,'line-height'); - return value == 'normal' ? 1 : value.replace(/[^\d.]*/ig,""); - } - } - }; -}; - - - - -// plugins/insertcode.js -/** - * 插入代码插件 - * @file - * @since 1.2.6.1 - */ - -UE.plugins['insertcode'] = function() { - var me = this; - me.ready(function(){ - utils.cssRule('pre','pre{margin:.5em 0;padding:.4em .6em;border-radius:8px;background:#f8f8f8;}', - me.document) - }); - me.setOpt('insertcode',{ - 'as3':'ActionScript3', - 'bash':'Bash/Shell', - 'cpp':'C/C++', - 'css':'Css', - 'cf':'CodeFunction', - 'c#':'C#', - 'delphi':'Delphi', - 'diff':'Diff', - 'erlang':'Erlang', - 'groovy':'Groovy', - 'html':'Html', - 'java':'Java', - 'jfx':'JavaFx', - 'js':'Javascript', - 'pl':'Perl', - 'php':'Php', - 'plain':'Plain Text', - 'ps':'PowerShell', - 'python':'Python', - 'ruby':'Ruby', - 'scala':'Scala', - 'sql':'Sql', - 'vb':'Vb', - 'xml':'Xml' - }); - - /** - * 插入代码 - * @command insertcode - * @method execCommand - * @param { String } cmd 命令字符串 - * @param { String } lang 插入代码的语言 - * @example - * ```javascript - * editor.execCommand( 'insertcode', 'javascript' ); - * ``` - */ - - /** - * 如果选区所在位置是插入插入代码区域,返回代码的语言 - * @command insertcode - * @method queryCommandValue - * @param { String } cmd 命令字符串 - * @return { String } 返回代码的语言 - * @example - * ```javascript - * editor.queryCommandValue( 'insertcode' ); - * ``` - */ - - me.commands['insertcode'] = { - execCommand : function(cmd,lang){ - var me = this, - rng = me.selection.getRange(), - pre = domUtils.findParentByTagName(rng.startContainer,'pre',true); - if(pre){ - pre.className = 'brush:'+lang+';toolbar:false;'; - }else{ - var code = ''; - if(rng.collapsed){ - code = browser.ie && browser.ie11below ? (browser.version <= 8 ? ' ':''):'
    '; - }else{ - var frag = rng.extractContents(); - var div = me.document.createElement('div'); - div.appendChild(frag); - - utils.each(UE.filterNode(UE.htmlparser(div.innerHTML.replace(/[\r\t]/g,'')),me.options.filterTxtRules).children,function(node){ - if(browser.ie && browser.ie11below && browser.version > 8){ - - if(node.type =='element'){ - if(node.tagName == 'br'){ - code += '\n' - }else if(!dtd.$empty[node.tagName]){ - utils.each(node.children,function(cn){ - if(cn.type =='element'){ - if(cn.tagName == 'br'){ - code += '\n' - }else if(!dtd.$empty[node.tagName]){ - code += cn.innerText(); - } - }else{ - code += cn.data - } - }) - if(!/\n$/.test(code)){ - code += '\n'; - } - } - }else{ - code += node.data + '\n' - } - if(!node.nextSibling() && /\n$/.test(code)){ - code = code.replace(/\n$/,''); - } - }else{ - if(browser.ie && browser.ie11below){ - - if(node.type =='element'){ - if(node.tagName == 'br'){ - code += '
    ' - }else if(!dtd.$empty[node.tagName]){ - utils.each(node.children,function(cn){ - if(cn.type =='element'){ - if(cn.tagName == 'br'){ - code += '
    ' - }else if(!dtd.$empty[node.tagName]){ - code += cn.innerText(); - } - }else{ - code += cn.data - } - }); - if(!/br>$/.test(code)){ - code += '
    '; - } - } - }else{ - code += node.data + '
    ' - } - if(!node.nextSibling() && /
    $/.test(code)){ - code = code.replace(/
    $/,''); - } - - }else{ - code += (node.type == 'element' ? (dtd.$empty[node.tagName] ? '' : node.innerText()) : node.data); - if(!/br\/?\s*>$/.test(code)){ - if(!node.nextSibling()) - return; - code += '
    ' - } - } - - } - - }); - } - me.execCommand('inserthtml','
    '+code+'
    ',true); - - pre = me.document.getElementById('coder'); - domUtils.removeAttributes(pre,'id'); - var tmpNode = pre.previousSibling; - - if(tmpNode && (tmpNode.nodeType == 3 && tmpNode.nodeValue.length == 1 && browser.ie && browser.version == 6 || domUtils.isEmptyBlock(tmpNode))){ - - domUtils.remove(tmpNode) - } - var rng = me.selection.getRange(); - if(domUtils.isEmptyBlock(pre)){ - rng.setStart(pre,0).setCursor(false,true) - }else{ - rng.selectNodeContents(pre).select() - } - } - - - - }, - queryCommandValue : function(){ - var path = this.selection.getStartElementPath(); - var lang = ''; - utils.each(path,function(node){ - if(node.nodeName =='PRE'){ - var match = node.className.match(/brush:([^;]+)/); - lang = match && match[1] ? match[1] : ''; - return false; - } - }); - return lang; - } - }; - - me.addInputRule(function(root){ - utils.each(root.getNodesByTagName('pre'),function(pre){ - var brs = pre.getNodesByTagName('br'); - if(brs.length){ - browser.ie && browser.ie11below && browser.version > 8 && utils.each(brs,function(br){ - var txt = UE.uNode.createText('\n'); - br.parentNode.insertBefore(txt,br); - br.parentNode.removeChild(br); - }); - return; - } - if(browser.ie && browser.ie11below && browser.version > 8) - return; - var code = pre.innerText().split(/\n/); - pre.innerHTML(''); - utils.each(code,function(c){ - if(c.length){ - pre.appendChild(UE.uNode.createText(c)); - } - pre.appendChild(UE.uNode.createElement('br')) - }) - }) - }); - me.addOutputRule(function(root){ - utils.each(root.getNodesByTagName('pre'),function(pre){ - var code = ''; - utils.each(pre.children,function(n){ - if(n.type == 'text'){ - //在ie下文本内容有可能末尾带有\n要去掉 - //trace:3396 - code += n.data.replace(/[ ]/g,' ').replace(/\n$/,''); - }else{ - if(n.tagName == 'br'){ - code += '\n' - }else{ - code += (!dtd.$empty[n.tagName] ? '' : n.innerText()); - } - - } - - }); - - pre.innerText(code.replace(/( |\n)+$/,'')) - }) - }); - //不需要判断highlight的command列表 - me.notNeedCodeQuery ={ - help:1, - undo:1, - redo:1, - source:1, - print:1, - searchreplace:1, - fullscreen:1, - preview:1, - insertparagraph:1, - elementpath:1, - insertcode:1, - inserthtml:1, - selectall:1 - }; - //将queyCommamndState重置 - var orgQuery = me.queryCommandState; - me.queryCommandState = function(cmd){ - var me = this; - - if(!me.notNeedCodeQuery[cmd.toLowerCase()] && me.selection && me.queryCommandValue('insertcode')){ - return -1; - } - return UE.Editor.prototype.queryCommandState.apply(this,arguments) - }; - me.addListener('beforeenterkeydown',function(){ - var rng = me.selection.getRange(); - var pre = domUtils.findParentByTagName(rng.startContainer,'pre',true); - if(pre){ - me.fireEvent('saveScene'); - if(!rng.collapsed){ - rng.deleteContents(); - } - if(!browser.ie || browser.ie9above){ - var tmpNode = me.document.createElement('br'),pre; - rng.insertNode(tmpNode).setStartAfter(tmpNode).collapse(true); - var next = tmpNode.nextSibling; - if(!next && (!browser.ie || browser.version > 10)){ - rng.insertNode(tmpNode.cloneNode(false)); - }else{ - rng.setStartAfter(tmpNode); - } - pre = tmpNode.previousSibling; - var tmp; - while(pre ){ - tmp = pre; - pre = pre.previousSibling; - if(!pre || pre.nodeName == 'BR'){ - pre = tmp; - break; - } - } - if(pre){ - var str = ''; - while(pre && pre.nodeName != 'BR' && new RegExp('^[\\s'+domUtils.fillChar+']*$').test(pre.nodeValue)){ - str += pre.nodeValue; - pre = pre.nextSibling; - } - if(pre.nodeName != 'BR'){ - var match = pre.nodeValue.match(new RegExp('^([\\s'+domUtils.fillChar+']+)')); - if(match && match[1]){ - str += match[1] - } - - } - if(str){ - str = me.document.createTextNode(str); - rng.insertNode(str).setStartAfter(str); - } - } - rng.collapse(true).select(true); - }else{ - if(browser.version > 8){ - - var txt = me.document.createTextNode('\n'); - var start = rng.startContainer; - if(rng.startOffset == 0){ - var preNode = start.previousSibling; - if(preNode){ - rng.insertNode(txt); - var fillchar = me.document.createTextNode(' '); - rng.setStartAfter(txt).insertNode(fillchar).setStart(fillchar,0).collapse(true).select(true) - } - }else{ - rng.insertNode(txt).setStartAfter(txt); - var fillchar = me.document.createTextNode(' '); - start = rng.startContainer.childNodes[rng.startOffset]; - if(start && !/^\n/.test(start.nodeValue)){ - rng.setStartBefore(txt) - } - rng.insertNode(fillchar).setStart(fillchar,0).collapse(true).select(true) - } - - }else{ - var tmpNode = me.document.createElement('br'); - rng.insertNode(tmpNode); - rng.insertNode(me.document.createTextNode(domUtils.fillChar)); - rng.setStartAfter(tmpNode); - pre = tmpNode.previousSibling; - var tmp; - while(pre ){ - tmp = pre; - pre = pre.previousSibling; - if(!pre || pre.nodeName == 'BR'){ - pre = tmp; - break; - } - } - if(pre){ - var str = ''; - while(pre && pre.nodeName != 'BR' && new RegExp('^[ '+domUtils.fillChar+']*$').test(pre.nodeValue)){ - str += pre.nodeValue; - pre = pre.nextSibling; - } - if(pre.nodeName != 'BR'){ - var match = pre.nodeValue.match(new RegExp('^([ '+domUtils.fillChar+']+)')); - if(match && match[1]){ - str += match[1] - } - - } - - str = me.document.createTextNode(str); - rng.insertNode(str).setStartAfter(str); - } - rng.collapse(true).select(); - } - - - } - me.fireEvent('saveScene'); - return true; - } - - - }); - - me.addListener('tabkeydown',function(cmd,evt){ - var rng = me.selection.getRange(); - var pre = domUtils.findParentByTagName(rng.startContainer,'pre',true); - if(pre){ - me.fireEvent('saveScene'); - if(evt.shiftKey){ - - }else{ - if(!rng.collapsed){ - var bk = rng.createBookmark(); - var start = bk.start.previousSibling; - - while(start){ - if(pre.firstChild === start && !domUtils.isBr(start)){ - pre.insertBefore(me.document.createTextNode(' '),start); - - break; - } - if(domUtils.isBr(start)){ - pre.insertBefore(me.document.createTextNode(' '),start.nextSibling); - - break; - } - start = start.previousSibling; - } - var end = bk.end; - start = bk.start.nextSibling; - if(pre.firstChild === bk.start){ - pre.insertBefore(me.document.createTextNode(' '),start.nextSibling) - - } - while(start && start !== end){ - if(domUtils.isBr(start) && start.nextSibling){ - if(start.nextSibling === end){ - break; - } - pre.insertBefore(me.document.createTextNode(' '),start.nextSibling) - } - - start = start.nextSibling; - } - rng.moveToBookmark(bk).select(); - }else{ - var tmpNode = me.document.createTextNode(' '); - rng.insertNode(tmpNode).setStartAfter(tmpNode).collapse(true).select(true); - } - } - - - me.fireEvent('saveScene'); - return true; - } - - - }); - - - me.addListener('beforeinserthtml',function(evtName,html){ - var me = this, - rng = me.selection.getRange(), - pre = domUtils.findParentByTagName(rng.startContainer,'pre',true); - if(pre){ - if(!rng.collapsed){ - rng.deleteContents() - } - var htmlstr = ''; - if(browser.ie && browser.version > 8){ - - utils.each(UE.filterNode(UE.htmlparser(html),me.options.filterTxtRules).children,function(node){ - if(node.type =='element'){ - if(node.tagName == 'br'){ - htmlstr += '\n' - }else if(!dtd.$empty[node.tagName]){ - utils.each(node.children,function(cn){ - if(cn.type =='element'){ - if(cn.tagName == 'br'){ - htmlstr += '\n' - }else if(!dtd.$empty[node.tagName]){ - htmlstr += cn.innerText(); - } - }else{ - htmlstr += cn.data - } - }) - if(!/\n$/.test(htmlstr)){ - htmlstr += '\n'; - } - } - }else{ - htmlstr += node.data + '\n' - } - if(!node.nextSibling() && /\n$/.test(htmlstr)){ - htmlstr = htmlstr.replace(/\n$/,''); - } - }); - var tmpNode = me.document.createTextNode(utils.html(htmlstr.replace(/ /g,' '))); - rng.insertNode(tmpNode).selectNode(tmpNode).select(); - }else{ - var frag = me.document.createDocumentFragment(); - - utils.each(UE.filterNode(UE.htmlparser(html),me.options.filterTxtRules).children,function(node){ - if(node.type =='element'){ - if(node.tagName == 'br'){ - frag.appendChild(me.document.createElement('br')) - }else if(!dtd.$empty[node.tagName]){ - utils.each(node.children,function(cn){ - if(cn.type =='element'){ - if(cn.tagName == 'br'){ - - frag.appendChild(me.document.createElement('br')) - }else if(!dtd.$empty[node.tagName]){ - frag.appendChild(me.document.createTextNode(utils.html(cn.innerText().replace(/ /g,' ')))); - - } - }else{ - frag.appendChild(me.document.createTextNode(utils.html( cn.data.replace(/ /g,' ')))); - - } - }) - if(frag.lastChild.nodeName != 'BR'){ - frag.appendChild(me.document.createElement('br')) - } - } - }else{ - frag.appendChild(me.document.createTextNode(utils.html( node.data.replace(/ /g,' ')))); - } - if(!node.nextSibling() && frag.lastChild.nodeName == 'BR'){ - frag.removeChild(frag.lastChild) - } - - - }); - rng.insertNode(frag).select(); - - } - - return true; - } - }); - //方向键的处理 - me.addListener('keydown',function(cmd,evt){ - var me = this,keyCode = evt.keyCode || evt.which; - if(keyCode == 40){ - var rng = me.selection.getRange(),pre,start = rng.startContainer; - if(rng.collapsed && (pre = domUtils.findParentByTagName(rng.startContainer,'pre',true)) && !pre.nextSibling){ - var last = pre.lastChild - while(last && last.nodeName == 'BR'){ - last = last.previousSibling; - } - if(last === start || rng.startContainer === pre && rng.startOffset == pre.childNodes.length){ - me.execCommand('insertparagraph'); - domUtils.preventDefault(evt) - } - - } - } - }); - //trace:3395 - me.addListener('delkeydown',function(type,evt){ - var rng = this.selection.getRange(); - rng.txtToElmBoundary(true); - var start = rng.startContainer; - if(domUtils.isTagNode(start,'pre') && rng.collapsed && domUtils.isStartInblock(rng)){ - var p = me.document.createElement('p'); - domUtils.fillNode(me.document,p); - start.parentNode.insertBefore(p,start); - domUtils.remove(start); - rng.setStart(p,0).setCursor(false,true); - domUtils.preventDefault(evt); - return true; - } - }) -}; - - -// plugins/cleardoc.js -/** - * 清空文档插件 - * @file - * @since 1.2.6.1 - */ - -/** - * 清空文档 - * @command cleardoc - * @method execCommand - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * //editor 是编辑器实例 - * editor.execCommand('cleardoc'); - * ``` - */ - -UE.commands['cleardoc'] = { - execCommand : function( cmdName) { - var me = this, - enterTag = me.options.enterTag, - range = me.selection.getRange(); - if(enterTag == "br"){ - me.body.innerHTML = "
    "; - range.setStart(me.body,0).setCursor(); - }else{ - me.body.innerHTML = "

    "+(ie ? "" : "
    ")+"

    "; - range.setStart(me.body.firstChild,0).setCursor(false,true); - } - setTimeout(function(){ - me.fireEvent("clearDoc"); - },0); - - } -}; - - - -// plugins/anchor.js -/** - * 锚点插件,为UEditor提供插入锚点支持 - * @file - * @since 1.2.6.1 - */ -UE.plugin.register('anchor', function (){ - - return { - bindEvents:{ - 'ready':function(){ - utils.cssRule('anchor', - '.anchorclass{background: url(\'' - + this.options.themePath - + this.options.theme +'/images/anchor.gif\') no-repeat scroll left center transparent;cursor: auto;display: inline-block;height: 16px;width: 15px;}', - this.document); - } - }, - outputRule: function(root){ - utils.each(root.getNodesByTagName('img'),function(a){ - var val; - if(val = a.getAttr('anchorname')){ - a.tagName = 'a'; - a.setAttr({ - anchorname : '', - name : val, - 'class' : '' - }) - } - }) - }, - inputRule:function(root){ - utils.each(root.getNodesByTagName('a'),function(a){ - var val; - if((val = a.getAttr('name')) && !a.getAttr('href')){ - a.tagName = 'img'; - a.setAttr({ - anchorname :a.getAttr('name'), - 'class' : 'anchorclass' - }); - a.setAttr('name') - - } - }) - - }, - commands:{ - /** - * 插入锚点 - * @command anchor - * @method execCommand - * @param { String } cmd 命令字符串 - * @param { String } name 锚点名称字符串 - * @example - * ```javascript - * //editor 是编辑器实例 - * editor.execCommand('anchor', 'anchor1'); - * ``` - */ - 'anchor':{ - execCommand:function (cmd, name) { - var range = this.selection.getRange(),img = range.getClosedNode(); - if (img && img.getAttribute('anchorname')) { - if (name) { - img.setAttribute('anchorname', name); - } else { - range.setStartBefore(img).setCursor(); - domUtils.remove(img); - } - } else { - if (name) { - //只在选区的开始插入 - var anchor = this.document.createElement('img'); - range.collapse(true); - domUtils.setAttributes(anchor,{ - 'anchorname':name, - 'class':'anchorclass' - }); - range.insertNode(anchor).setStartAfter(anchor).setCursor(false,true); - } - } - } - } - } - } -}); - - -// plugins/wordcount.js -///import core -///commands 字数统计 -///commandsName WordCount,wordCount -///commandsTitle 字数统计 -/* - * Created by JetBrains WebStorm. - * User: taoqili - * Date: 11-9-7 - * Time: 下午8:18 - * To change this template use File | Settings | File Templates. - */ - -UE.plugins['wordcount'] = function(){ - var me = this; - me.setOpt('wordCount',true); - me.addListener('contentchange',function(){ - me.fireEvent('wordcount'); - }); - var timer; - me.addListener('ready',function(){ - var me = this; - domUtils.on(me.body,"keyup",function(evt){ - var code = evt.keyCode||evt.which, - //忽略的按键,ctr,alt,shift,方向键 - ignores = {"16":1,"18":1,"20":1,"37":1,"38":1,"39":1,"40":1}; - if(code in ignores) return; - clearTimeout(timer); - timer = setTimeout(function(){ - me.fireEvent('wordcount'); - },200) - }) - }); -}; - - -// plugins/pagebreak.js -/** - * 分页功能插件 - * @file - * @since 1.2.6.1 - */ -UE.plugins['pagebreak'] = function () { - var me = this, - notBreakTags = ['td']; - me.setOpt('pageBreakTag','_ueditor_page_break_tag_'); - - function fillNode(node){ - if(domUtils.isEmptyBlock(node)){ - var firstChild = node.firstChild,tmpNode; - - while(firstChild && firstChild.nodeType == 1 && domUtils.isEmptyBlock(firstChild)){ - tmpNode = firstChild; - firstChild = firstChild.firstChild; - } - !tmpNode && (tmpNode = node); - domUtils.fillNode(me.document,tmpNode); - } - } - //分页符样式添加 - - me.ready(function(){ - utils.cssRule('pagebreak','.pagebreak{display:block;clear:both !important;cursor:default !important;width: 100% !important;margin:0;}',me.document); - }); - function isHr(node){ - return node && node.nodeType == 1 && node.tagName == 'HR' && node.className == 'pagebreak'; - } - me.addInputRule(function(root){ - root.traversal(function(node){ - if(node.type == 'text' && node.data == me.options.pageBreakTag){ - var hr = UE.uNode.createElement('
    '); - node.parentNode.insertBefore(hr,node); - node.parentNode.removeChild(node) - } - }) - }); - me.addOutputRule(function(node){ - utils.each(node.getNodesByTagName('hr'),function(n){ - if(n.getAttr('class') == 'pagebreak'){ - var txt = UE.uNode.createText(me.options.pageBreakTag); - n.parentNode.insertBefore(txt,n); - n.parentNode.removeChild(n); - } - }) - - }); - - /** - * 插入分页符 - * @command pagebreak - * @method execCommand - * @param { String } cmd 命令字符串 - * @remind 在表格中插入分页符会把表格切分成两部分 - * @remind 获取编辑器内的数据时, 编辑器会把分页符转换成“_ueditor_page_break_tag_”字符串, - * 以便于提交数据到服务器端后处理分页。 - * @example - * ```javascript - * editor.execCommand( 'pagebreak'); //插入一个hr标签,带有样式类名pagebreak - * ``` - */ - - me.commands['pagebreak'] = { - execCommand:function () { - var range = me.selection.getRange(),hr = me.document.createElement('hr'); - domUtils.setAttributes(hr,{ - 'class' : 'pagebreak', - noshade:"noshade", - size:"5" - }); - domUtils.unSelectable(hr); - //table单独处理 - var node = domUtils.findParentByTagName(range.startContainer, notBreakTags, true), - - parents = [], pN; - if (node) { - switch (node.tagName) { - case 'TD': - pN = node.parentNode; - if (!pN.previousSibling) { - var table = domUtils.findParentByTagName(pN, 'table'); -// var tableWrapDiv = table.parentNode; -// if(tableWrapDiv && tableWrapDiv.nodeType == 1 -// && tableWrapDiv.tagName == 'DIV' -// && tableWrapDiv.getAttribute('dropdrag') -// ){ -// domUtils.remove(tableWrapDiv,true); -// } - table.parentNode.insertBefore(hr, table); - parents = domUtils.findParents(hr, true); - - } else { - pN.parentNode.insertBefore(hr, pN); - parents = domUtils.findParents(hr); - - } - pN = parents[1]; - if (hr !== pN) { - domUtils.breakParent(hr, pN); - - } - //table要重写绑定一下拖拽 - me.fireEvent('afteradjusttable',me.document); - } - - } else { - - if (!range.collapsed) { - range.deleteContents(); - var start = range.startContainer; - while ( !domUtils.isBody(start) && domUtils.isBlockElm(start) && domUtils.isEmptyNode(start)) { - range.setStartBefore(start).collapse(true); - domUtils.remove(start); - start = range.startContainer; - } - - } - range.insertNode(hr); - - var pN = hr.parentNode, nextNode; - while (!domUtils.isBody(pN)) { - domUtils.breakParent(hr, pN); - nextNode = hr.nextSibling; - if (nextNode && domUtils.isEmptyBlock(nextNode)) { - domUtils.remove(nextNode); - } - pN = hr.parentNode; - } - nextNode = hr.nextSibling; - var pre = hr.previousSibling; - if(isHr(pre)){ - domUtils.remove(pre); - }else{ - pre && fillNode(pre); - } - - if(!nextNode){ - var p = me.document.createElement('p'); - - hr.parentNode.appendChild(p); - domUtils.fillNode(me.document,p); - range.setStart(p,0).collapse(true); - }else{ - if(isHr(nextNode)){ - domUtils.remove(nextNode); - }else{ - fillNode(nextNode); - } - range.setEndAfter(hr).collapse(false); - } - - range.select(true); - - } - - } - }; -}; - -// plugins/wordimage.js -///import core -///commands 本地图片引导上传 -///commandsName WordImage -///commandsTitle 本地图片引导上传 -///commandsDialog dialogs\wordimage - -UE.plugin.register('wordimage',function(){ - var me = this, - images = []; - return { - commands : { - 'wordimage':{ - execCommand:function () { - var images = domUtils.getElementsByTagName(me.body, "img"); - var urlList = []; - for (var i = 0, ci; ci = images[i++];) { - var url = ci.getAttribute("word_img"); - url && urlList.push(url); - } - return urlList; - }, - queryCommandState:function () { - images = domUtils.getElementsByTagName(me.body, "img"); - for (var i = 0, ci; ci = images[i++];) { - if (ci.getAttribute("word_img")) { - return 1; - } - } - return -1; - }, - notNeedUndo:true - } - }, - inputRule : function (root) { - utils.each(root.getNodesByTagName('img'), function (img) { - var attrs = img.attrs, - flag = parseInt(attrs.width) < 128 || parseInt(attrs.height) < 43, - opt = me.options, - src = opt.UEDITOR_HOME_URL + 'themes/default/images/spacer.gif'; - if (attrs['src'] && /^(?:(file:\/+))/.test(attrs['src'])) { - img.setAttr({ - width:attrs.width, - height:attrs.height, - alt:attrs.alt, - word_img: attrs.src, - src:src, - 'style':'background:url(' + ( flag ? opt.themePath + opt.theme + '/images/word.gif' : opt.langPath + opt.lang + '/images/localimage.png') + ') no-repeat center center;border:1px solid #ddd' - }) - } - }) - } - } -}); - -// plugins/dragdrop.js -UE.plugins['dragdrop'] = function (){ - - var me = this; - me.ready(function(){ - domUtils.on(this.body,'dragend',function(){ - var rng = me.selection.getRange(); - var node = rng.getClosedNode()||me.selection.getStart(); - - if(node && node.tagName == 'IMG'){ - - var pre = node.previousSibling,next; - while(next = node.nextSibling){ - if(next.nodeType == 1 && next.tagName == 'SPAN' && !next.firstChild){ - domUtils.remove(next) - }else{ - break; - } - } - - - if((pre && pre.nodeType == 1 && !domUtils.isEmptyBlock(pre) || !pre) && (!next || next && !domUtils.isEmptyBlock(next))){ - if(pre && pre.tagName == 'P' && !domUtils.isEmptyBlock(pre)){ - pre.appendChild(node); - domUtils.moveChild(next,pre); - domUtils.remove(next); - }else if(next && next.tagName == 'P' && !domUtils.isEmptyBlock(next)){ - next.insertBefore(node,next.firstChild); - } - - if(pre && pre.tagName == 'P' && domUtils.isEmptyBlock(pre)){ - domUtils.remove(pre) - } - if(next && next.tagName == 'P' && domUtils.isEmptyBlock(next)){ - domUtils.remove(next) - } - rng.selectNode(node).select(); - me.fireEvent('saveScene'); - - } - - } - - }) - }); - me.addListener('keyup', function(type, evt) { - var keyCode = evt.keyCode || evt.which; - if (keyCode == 13) { - var rng = me.selection.getRange(),node; - if(node = domUtils.findParentByTagName(rng.startContainer,'p',true)){ - if(domUtils.getComputedStyle(node,'text-align') == 'center'){ - domUtils.removeStyle(node,'text-align') - } - } - } - }) -}; - - -// plugins/undo.js -/** - * undo redo - * @file - * @since 1.2.6.1 - */ - -/** - * 撤销上一次执行的命令 - * @command undo - * @method execCommand - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * editor.execCommand( 'undo' ); - * ``` - */ - -/** - * 重做上一次执行的命令 - * @command redo - * @method execCommand - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * editor.execCommand( 'redo' ); - * ``` - */ - -UE.plugins['undo'] = function () { - var saveSceneTimer; - var me = this, - maxUndoCount = me.options.maxUndoCount || 20, - maxInputCount = me.options.maxInputCount || 20, - fillchar = new RegExp(domUtils.fillChar + '|<\/hr>', 'gi');// ie会产生多余的 - var noNeedFillCharTags = { - ol:1,ul:1,table:1,tbody:1,tr:1,body:1 - }; - var orgState = me.options.autoClearEmptyNode; - function compareAddr(indexA, indexB) { - if (indexA.length != indexB.length) - return 0; - for (var i = 0, l = indexA.length; i < l; i++) { - if (indexA[i] != indexB[i]) - return 0 - } - return 1; - } - - function compareRangeAddress(rngAddrA, rngAddrB) { - if (rngAddrA.collapsed != rngAddrB.collapsed) { - return 0; - } - if (!compareAddr(rngAddrA.startAddress, rngAddrB.startAddress) || !compareAddr(rngAddrA.endAddress, rngAddrB.endAddress)) { - return 0; - } - return 1; - } - - function UndoManager() { - this.list = []; - this.index = 0; - this.hasUndo = false; - this.hasRedo = false; - this.undo = function () { - if (this.hasUndo) { - if (!this.list[this.index - 1] && this.list.length == 1) { - this.reset(); - return; - } - while (this.list[this.index].content == this.list[this.index - 1].content) { - this.index--; - if (this.index == 0) { - return this.restore(0); - } - } - this.restore(--this.index); - } - }; - this.redo = function () { - if (this.hasRedo) { - while (this.list[this.index].content == this.list[this.index + 1].content) { - this.index++; - if (this.index == this.list.length - 1) { - return this.restore(this.index); - } - } - this.restore(++this.index); - } - }; - - this.restore = function () { - var me = this.editor; - var scene = this.list[this.index]; - var root = UE.htmlparser(scene.content.replace(fillchar, '')); - me.options.autoClearEmptyNode = false; - me.filterInputRule(root); - me.options.autoClearEmptyNode = orgState; - //trace:873 - //去掉展位符 - me.document.body.innerHTML = root.toHtml(); - me.fireEvent('afterscencerestore'); - //处理undo后空格不展位的问题 - if (browser.ie) { - utils.each(domUtils.getElementsByTagName(me.document,'td th caption p'),function(node){ - if(domUtils.isEmptyNode(node)){ - domUtils.fillNode(me.document, node); - } - }) - } - - try{ - var rng = new dom.Range(me.document).moveToAddress(scene.address); - rng.select(noNeedFillCharTags[rng.startContainer.nodeName.toLowerCase()]); - }catch(e){} - - this.update(); - this.clearKey(); - //不能把自己reset了 - me.fireEvent('reset', true); - }; - - this.getScene = function () { - var me = this.editor; - var rng = me.selection.getRange(), - rngAddress = rng.createAddress(false,true); - me.fireEvent('beforegetscene'); - var root = UE.htmlparser(me.body.innerHTML); - me.options.autoClearEmptyNode = false; - me.filterOutputRule(root); - me.options.autoClearEmptyNode = orgState; - var cont = root.toHtml(); - //trace:3461 - //这个会引起回退时导致空格丢失的情况 -// browser.ie && (cont = cont.replace(/> <').replace(/\s*\s*/g, '>')); - me.fireEvent('aftergetscene'); - - return { - address:rngAddress, - content:cont - } - }; - this.save = function (notCompareRange,notSetCursor) { - clearTimeout(saveSceneTimer); - var currentScene = this.getScene(notSetCursor), - lastScene = this.list[this.index]; - - if(lastScene && lastScene.content != currentScene.content){ - me.trigger('contentchange') - } - //内容相同位置相同不存 - if (lastScene && lastScene.content == currentScene.content && - ( notCompareRange ? 1 : compareRangeAddress(lastScene.address, currentScene.address) ) - ) { - return; - } - this.list = this.list.slice(0, this.index + 1); - this.list.push(currentScene); - //如果大于最大数量了,就把最前的剔除 - if (this.list.length > maxUndoCount) { - this.list.shift(); - } - this.index = this.list.length - 1; - this.clearKey(); - //跟新undo/redo状态 - this.update(); - - }; - this.update = function () { - this.hasRedo = !!this.list[this.index + 1]; - this.hasUndo = !!this.list[this.index - 1]; - }; - this.reset = function () { - this.list = []; - this.index = 0; - this.hasUndo = false; - this.hasRedo = false; - this.clearKey(); - }; - this.clearKey = function () { - keycont = 0; - lastKeyCode = null; - }; - } - - me.undoManger = new UndoManager(); - me.undoManger.editor = me; - function saveScene() { - this.undoManger.save(); - } - - me.addListener('saveScene', function () { - var args = Array.prototype.splice.call(arguments,1); - this.undoManger.save.apply(this.undoManger,args); - }); - -// me.addListener('beforeexeccommand', saveScene); -// me.addListener('afterexeccommand', saveScene); - - me.addListener('reset', function (type, exclude) { - if (!exclude) { - this.undoManger.reset(); - } - }); - me.commands['redo'] = me.commands['undo'] = { - execCommand:function (cmdName) { - this.undoManger[cmdName](); - }, - queryCommandState:function (cmdName) { - return this.undoManger['has' + (cmdName.toLowerCase() == 'undo' ? 'Undo' : 'Redo')] ? 0 : -1; - }, - notNeedUndo:1 - }; - - var keys = { - // /*Backspace*/ 8:1, /*Delete*/ 46:1, - /*Shift*/ 16:1, /*Ctrl*/ 17:1, /*Alt*/ 18:1, - 37:1, 38:1, 39:1, 40:1 - - }, - keycont = 0, - lastKeyCode; - //输入法状态下不计算字符数 - var inputType = false; - me.addListener('ready', function () { - domUtils.on(this.body, 'compositionstart', function () { - inputType = true; - }); - domUtils.on(this.body, 'compositionend', function () { - inputType = false; - }) - }); - //快捷键 - me.addshortcutkey({ - "Undo":"ctrl+90", //undo - "Redo":"ctrl+89" //redo - - }); - var isCollapsed = true; - me.addListener('keydown', function (type, evt) { - - var me = this; - var keyCode = evt.keyCode || evt.which; - if (!keys[keyCode] && !evt.ctrlKey && !evt.metaKey && !evt.shiftKey && !evt.altKey) { - if (inputType) - return; - - if(!me.selection.getRange().collapsed){ - me.undoManger.save(false,true); - isCollapsed = false; - return; - } - if (me.undoManger.list.length == 0) { - me.undoManger.save(true); - } - clearTimeout(saveSceneTimer); - function save(cont){ - cont.undoManger.save(false,true); - cont.fireEvent('selectionchange'); - } - saveSceneTimer = setTimeout(function(){ - if(inputType){ - var interalTimer = setInterval(function(){ - if(!inputType){ - save(me); - clearInterval(interalTimer) - } - },300) - return; - } - save(me); - },200); - - lastKeyCode = keyCode; - keycont++; - if (keycont >= maxInputCount ) { - save(me) - } - } - }); - me.addListener('keyup', function (type, evt) { - var keyCode = evt.keyCode || evt.which; - if (!keys[keyCode] && !evt.ctrlKey && !evt.metaKey && !evt.shiftKey && !evt.altKey) { - if (inputType) - return; - if(!isCollapsed){ - this.undoManger.save(false,true); - isCollapsed = true; - } - } - }); - //扩展实例,添加关闭和开启命令undo - me.stopCmdUndo = function(){ - me.__hasEnterExecCommand = true; - }; - me.startCmdUndo = function(){ - me.__hasEnterExecCommand = false; - } -}; - - -// plugins/copy.js -UE.plugin.register('copy', function () { - - var me = this; - - function initZeroClipboard() { - - ZeroClipboard.config({ - debug: false, - swfPath: me.options.UEDITOR_HOME_URL + 'third-party/zeroclipboard/ZeroClipboard.swf' - }); - - var client = me.zeroclipboard = new ZeroClipboard(); - - // 复制内容 - client.on('copy', function (e) { - var client = e.client, - rng = me.selection.getRange(), - div = document.createElement('div'); - - div.appendChild(rng.cloneContents()); - client.setText(div.innerText || div.textContent); - client.setHtml(div.innerHTML); - rng.select(); - }); - // hover事件传递到target - client.on('mouseover mouseout', function (e) { - var target = e.target; - if (e.type == 'mouseover') { - domUtils.addClass(target, 'edui-state-hover'); - } else if (e.type == 'mouseout') { - domUtils.removeClasses(target, 'edui-state-hover'); - } - }); - // flash加载不成功 - client.on('wrongflash noflash', function () { - ZeroClipboard.destroy(); - }); - } - - return { - bindEvents: { - 'ready': function () { - if (!browser.ie) { - if (window.ZeroClipboard) { - initZeroClipboard(); - } else { - utils.loadFile(document, { - src: me.options.UEDITOR_HOME_URL + "third-party/zeroclipboard/ZeroClipboard.js", - tag: "script", - type: "text/javascript", - defer: "defer" - }, function () { - initZeroClipboard(); - }); - } - } - } - }, - commands: { - 'copy': { - execCommand: function (cmd) { - if (!me.document.execCommand('copy')) { - alert(me.getLang('copymsg')); - } - } - } - } - } -}); - - -// plugins/paste.js -///import core -///import plugins/inserthtml.js -///import plugins/undo.js -///import plugins/serialize.js -///commands 粘贴 -///commandsName PastePlain -///commandsTitle 纯文本粘贴模式 -/** - * @description 粘贴 - * @author zhanyi - */ -UE.plugins['paste'] = function () { - function getClipboardData(callback) { - var doc = this.document; - if (doc.getElementById('baidu_pastebin')) { - return; - } - var range = this.selection.getRange(), - bk = range.createBookmark(), - //创建剪贴的容器div - pastebin = doc.createElement('div'); - pastebin.id = 'baidu_pastebin'; - // Safari 要求div必须有内容,才能粘贴内容进来 - browser.webkit && pastebin.appendChild(doc.createTextNode(domUtils.fillChar + domUtils.fillChar)); - doc.body.appendChild(pastebin); - //trace:717 隐藏的span不能得到top - //bk.start.innerHTML = ' '; - bk.start.style.display = ''; - pastebin.style.cssText = "position:absolute;width:1px;height:1px;overflow:hidden;left:-1000px;white-space:nowrap;top:" + - //要在现在光标平行的位置加入,否则会出现跳动的问题 - domUtils.getXY(bk.start).y + 'px'; - - range.selectNodeContents(pastebin).select(true); - - setTimeout(function () { - if (browser.webkit) { - for (var i = 0, pastebins = doc.querySelectorAll('#baidu_pastebin'), pi; pi = pastebins[i++];) { - if (domUtils.isEmptyNode(pi)) { - domUtils.remove(pi); - } else { - pastebin = pi; - break; - } - } - } - try { - pastebin.parentNode.removeChild(pastebin); - } catch (e) { - } - range.moveToBookmark(bk).select(true); - callback(pastebin); - }, 0); - } - - var me = this; - - me.setOpt({ - retainOnlyLabelPasted : false - }); - - var txtContent, htmlContent, address; - - function getPureHtml(html){ - return html.replace(/<(\/?)([\w\-]+)([^>]*)>/gi, function (a, b, tagName, attrs) { - tagName = tagName.toLowerCase(); - if ({img: 1}[tagName]) { - return a; - } - attrs = attrs.replace(/([\w\-]*?)\s*=\s*(("([^"]*)")|('([^']*)')|([^\s>]+))/gi, function (str, atr, val) { - if ({ - 'src': 1, - 'href': 1, - 'name': 1 - }[atr.toLowerCase()]) { - return atr + '=' + val + ' ' - } - return '' - }); - if ({ - 'span': 1, - 'div': 1 - }[tagName]) { - return '' - } else { - - return '<' + b + tagName + ' ' + utils.trim(attrs) + '>' - } - - }); - } - function filter(div) { - var html; - if (div.firstChild) { - //去掉cut中添加的边界值 - var nodes = domUtils.getElementsByTagName(div, 'span'); - for (var i = 0, ni; ni = nodes[i++];) { - if (ni.id == '_baidu_cut_start' || ni.id == '_baidu_cut_end') { - domUtils.remove(ni); - } - } - - if (browser.webkit) { - - var brs = div.querySelectorAll('div br'); - for (var i = 0, bi; bi = brs[i++];) { - var pN = bi.parentNode; - if (pN.tagName == 'DIV' && pN.childNodes.length == 1) { - pN.innerHTML = '


    '; - domUtils.remove(pN); - } - } - var divs = div.querySelectorAll('#baidu_pastebin'); - for (var i = 0, di; di = divs[i++];) { - var tmpP = me.document.createElement('p'); - di.parentNode.insertBefore(tmpP, di); - while (di.firstChild) { - tmpP.appendChild(di.firstChild); - } - domUtils.remove(di); - } - - var metas = div.querySelectorAll('meta'); - for (var i = 0, ci; ci = metas[i++];) { - domUtils.remove(ci); - } - - var brs = div.querySelectorAll('br'); - for (i = 0; ci = brs[i++];) { - if (/^apple-/i.test(ci.className)) { - domUtils.remove(ci); - } - } - } - if (browser.gecko) { - var dirtyNodes = div.querySelectorAll('[_moz_dirty]'); - for (i = 0; ci = dirtyNodes[i++];) { - ci.removeAttribute('_moz_dirty'); - } - } - if (!browser.ie) { - var spans = div.querySelectorAll('span.Apple-style-span'); - for (var i = 0, ci; ci = spans[i++];) { - domUtils.remove(ci, true); - } - } - - //ie下使用innerHTML会产生多余的\r\n字符,也会产生 这里过滤掉 - html = div.innerHTML;//.replace(/>(?:(\s| )*?)<'); - - //过滤word粘贴过来的冗余属性 - html = UE.filterWord(html); - //取消了忽略空白的第二个参数,粘贴过来的有些是有空白的,会被套上相关的标签 - var root = UE.htmlparser(html); - //如果给了过滤规则就先进行过滤 - if (me.options.filterRules) { - UE.filterNode(root, me.options.filterRules); - } - //执行默认的处理 - me.filterInputRule(root); - //针对chrome的处理 - if (browser.webkit) { - var br = root.lastChild(); - if (br && br.type == 'element' && br.tagName == 'br') { - root.removeChild(br) - } - utils.each(me.body.querySelectorAll('div'), function (node) { - if (domUtils.isEmptyBlock(node)) { - domUtils.remove(node,true) - } - }) - } - html = {'html': root.toHtml()}; - me.fireEvent('beforepaste', html, root); - //抢了默认的粘贴,那后边的内容就不执行了,比如表格粘贴 - if(!html.html){ - return; - } - root = UE.htmlparser(html.html,true); - //如果开启了纯文本模式 - if (me.queryCommandState('pasteplain') === 1) { - me.execCommand('insertHtml', UE.filterNode(root, me.options.filterTxtRules).toHtml(), true); - } else { - //文本模式 - UE.filterNode(root, me.options.filterTxtRules); - txtContent = root.toHtml(); - //完全模式 - htmlContent = html.html; - - address = me.selection.getRange().createAddress(true); - me.execCommand('insertHtml', me.getOpt('retainOnlyLabelPasted') === true ? getPureHtml(htmlContent) : htmlContent, true); - } - me.fireEvent("afterpaste", html); - } - } - - me.addListener('pasteTransfer', function (cmd, plainType) { - - if (address && txtContent && htmlContent && txtContent != htmlContent) { - var range = me.selection.getRange(); - range.moveToAddress(address, true); - - if (!range.collapsed) { - - while (!domUtils.isBody(range.startContainer) - ) { - var start = range.startContainer; - if(start.nodeType == 1){ - start = start.childNodes[range.startOffset]; - if(!start){ - range.setStartBefore(range.startContainer); - continue; - } - var pre = start.previousSibling; - - if(pre && pre.nodeType == 3 && new RegExp('^[\n\r\t '+domUtils.fillChar+']*$').test(pre.nodeValue)){ - range.setStartBefore(pre) - } - } - if(range.startOffset == 0){ - range.setStartBefore(range.startContainer); - }else{ - break; - } - - } - while (!domUtils.isBody(range.endContainer) - ) { - var end = range.endContainer; - if(end.nodeType == 1){ - end = end.childNodes[range.endOffset]; - if(!end){ - range.setEndAfter(range.endContainer); - continue; - } - var next = end.nextSibling; - if(next && next.nodeType == 3 && new RegExp('^[\n\r\t'+domUtils.fillChar+']*$').test(next.nodeValue)){ - range.setEndAfter(next) - } - } - if(range.endOffset == range.endContainer[range.endContainer.nodeType == 3 ? 'nodeValue' : 'childNodes'].length){ - range.setEndAfter(range.endContainer); - }else{ - break; - } - - } - - } - - range.deleteContents(); - range.select(true); - me.__hasEnterExecCommand = true; - var html = htmlContent; - if (plainType === 2 ) { - html = getPureHtml(html); - } else if (plainType) { - html = txtContent; - } - me.execCommand('inserthtml', html, true); - me.__hasEnterExecCommand = false; - var rng = me.selection.getRange(); - while (!domUtils.isBody(rng.startContainer) && !rng.startOffset && - rng.startContainer[rng.startContainer.nodeType == 3 ? 'nodeValue' : 'childNodes'].length - ) { - rng.setStartBefore(rng.startContainer); - } - var tmpAddress = rng.createAddress(true); - address.endAddress = tmpAddress.startAddress; - } - }); - - me.addListener('ready', function () { - domUtils.on(me.body, 'cut', function () { - var range = me.selection.getRange(); - if (!range.collapsed && me.undoManger) { - me.undoManger.save(); - } - }); - - //ie下beforepaste在点击右键时也会触发,所以用监控键盘才处理 - domUtils.on(me.body, browser.ie || browser.opera ? 'keydown' : 'paste', function (e) { - if ((browser.ie || browser.opera) && ((!e.ctrlKey && !e.metaKey) || e.keyCode != '86')) { - return; - } - getClipboardData.call(me, function (div) { - filter(div); - }); - }); - - }); - - me.commands['paste'] = { - execCommand: function (cmd) { - if (browser.ie) { - getClipboardData.call(me, function (div) { - filter(div); - }); - me.document.execCommand('paste'); - } else { - alert(me.getLang('pastemsg')); - } - } - } -}; - - - -// plugins/puretxtpaste.js -/** - * 纯文本粘贴插件 - * @file - * @since 1.2.6.1 - */ - -UE.plugins['pasteplain'] = function(){ - var me = this; - me.setOpt({ - 'pasteplain':false, - 'filterTxtRules' : function(){ - function transP(node){ - node.tagName = 'p'; - node.setStyle(); - } - function removeNode(node){ - node.parentNode.removeChild(node,true) - } - return { - //直接删除及其字节点内容 - '-' : 'script style object iframe embed input select', - 'p': {$:{}}, - 'br':{$:{}}, - div: function (node) { - var tmpNode, p = UE.uNode.createElement('p'); - while (tmpNode = node.firstChild()) { - if (tmpNode.type == 'text' || !UE.dom.dtd.$block[tmpNode.tagName]) { - p.appendChild(tmpNode); - } else { - if (p.firstChild()) { - node.parentNode.insertBefore(p, node); - p = UE.uNode.createElement('p'); - } else { - node.parentNode.insertBefore(tmpNode, node); - } - } - } - if (p.firstChild()) { - node.parentNode.insertBefore(p, node); - } - node.parentNode.removeChild(node); - }, - ol: removeNode, - ul: removeNode, - dl:removeNode, - dt:removeNode, - dd:removeNode, - 'li':removeNode, - 'caption':transP, - 'th':transP, - 'tr':transP, - 'h1':transP,'h2':transP,'h3':transP,'h4':transP,'h5':transP,'h6':transP, - 'td':function(node){ - //没有内容的td直接删掉 - var txt = !!node.innerText(); - if(txt){ - node.parentNode.insertAfter(UE.uNode.createText('    '),node); - } - node.parentNode.removeChild(node,node.innerText()) - } - } - }() - }); - //暂时这里支持一下老版本的属性 - var pasteplain = me.options.pasteplain; - - /** - * 启用或取消纯文本粘贴模式 - * @command pasteplain - * @method execCommand - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * editor.queryCommandState( 'pasteplain' ); - * ``` - */ - - /** - * 查询当前是否处于纯文本粘贴模式 - * @command pasteplain - * @method queryCommandState - * @param { String } cmd 命令字符串 - * @return { int } 如果处于纯文本模式,返回1,否则,返回0 - * @example - * ```javascript - * editor.queryCommandState( 'pasteplain' ); - * ``` - */ - me.commands['pasteplain'] = { - queryCommandState: function (){ - return pasteplain ? 1 : 0; - }, - execCommand: function (){ - pasteplain = !pasteplain|0; - }, - notNeedUndo : 1 - }; -}; - -// plugins/list.js -/** - * 有序列表,无序列表插件 - * @file - * @since 1.2.6.1 - */ - -UE.plugins['list'] = function () { - var me = this, - notExchange = { - 'TD':1, - 'PRE':1, - 'BLOCKQUOTE':1 - }; - var customStyle = { - 'cn' : 'cn-1-', - 'cn1' : 'cn-2-', - 'cn2' : 'cn-3-', - 'num': 'num-1-', - 'num1' : 'num-2-', - 'num2' : 'num-3-', - 'dash' : 'dash', - 'dot':'dot' - }; - - me.setOpt( { - 'autoTransWordToList':false, - 'insertorderedlist':{ - 'num':'', - 'num1':'', - 'num2':'', - 'cn':'', - 'cn1':'', - 'cn2':'', - 'decimal':'', - 'lower-alpha':'', - 'lower-roman':'', - 'upper-alpha':'', - 'upper-roman':'' - }, - 'insertunorderedlist':{ - 'circle':'', - 'disc':'', - 'square':'', - 'dash' : '', - 'dot':'' - }, - listDefaultPaddingLeft : '30', - listiconpath : 'http://bs.baidu.com/listicon/', - maxListLevel : -1,//-1不限制 - disablePInList:false - } ); - function listToArray(list){ - var arr = []; - for(var p in list){ - arr.push(p) - } - return arr; - } - var listStyle = { - 'OL':listToArray(me.options.insertorderedlist), - 'UL':listToArray(me.options.insertunorderedlist) - }; - var liiconpath = me.options.listiconpath; - - //根据用户配置,调整customStyle - for(var s in customStyle){ - if(!me.options.insertorderedlist.hasOwnProperty(s) && !me.options.insertunorderedlist.hasOwnProperty(s)){ - delete customStyle[s]; - } - } - - me.ready(function () { - var customCss = []; - for(var p in customStyle){ - if(p == 'dash' || p == 'dot'){ - customCss.push('li.list-' + customStyle[p] + '{background-image:url(' + liiconpath +customStyle[p]+'.gif)}'); - customCss.push('ul.custom_'+p+'{list-style:none;}ul.custom_'+p+' li{background-position:0 3px;background-repeat:no-repeat}'); - }else{ - for(var i= 0;i<99;i++){ - customCss.push('li.list-' + customStyle[p] + i + '{background-image:url(' + liiconpath + 'list-'+customStyle[p] + i + '.gif)}') - } - customCss.push('ol.custom_'+p+'{list-style:none;}ol.custom_'+p+' li{background-position:0 3px;background-repeat:no-repeat}'); - } - switch(p){ - case 'cn': - customCss.push('li.list-'+p+'-paddingleft-1{padding-left:25px}'); - customCss.push('li.list-'+p+'-paddingleft-2{padding-left:40px}'); - customCss.push('li.list-'+p+'-paddingleft-3{padding-left:55px}'); - break; - case 'cn1': - customCss.push('li.list-'+p+'-paddingleft-1{padding-left:30px}'); - customCss.push('li.list-'+p+'-paddingleft-2{padding-left:40px}'); - customCss.push('li.list-'+p+'-paddingleft-3{padding-left:55px}'); - break; - case 'cn2': - customCss.push('li.list-'+p+'-paddingleft-1{padding-left:40px}'); - customCss.push('li.list-'+p+'-paddingleft-2{padding-left:55px}'); - customCss.push('li.list-'+p+'-paddingleft-3{padding-left:68px}'); - break; - case 'num': - case 'num1': - customCss.push('li.list-'+p+'-paddingleft-1{padding-left:25px}'); - break; - case 'num2': - customCss.push('li.list-'+p+'-paddingleft-1{padding-left:35px}'); - customCss.push('li.list-'+p+'-paddingleft-2{padding-left:40px}'); - break; - case 'dash': - customCss.push('li.list-'+p+'-paddingleft{padding-left:35px}'); - break; - case 'dot': - customCss.push('li.list-'+p+'-paddingleft{padding-left:20px}'); - } - } - customCss.push('.list-paddingleft-1{padding-left:0}'); - customCss.push('.list-paddingleft-2{padding-left:'+me.options.listDefaultPaddingLeft+'px}'); - customCss.push('.list-paddingleft-3{padding-left:'+me.options.listDefaultPaddingLeft*2+'px}'); - //如果不给宽度会在自定应样式里出现滚动条 - utils.cssRule('list', 'ol,ul{margin:0;pading:0;'+(browser.ie ? '' : 'width:95%')+'}li{clear:both;}'+customCss.join('\n'), me.document); - }); - //单独处理剪切的问题 - me.ready(function(){ - domUtils.on(me.body,'cut',function(){ - setTimeout(function(){ - var rng = me.selection.getRange(),li; - //trace:3416 - if(!rng.collapsed){ - if(li = domUtils.findParentByTagName(rng.startContainer,'li',true)){ - if(!li.nextSibling && domUtils.isEmptyBlock(li)){ - var pn = li.parentNode,node; - if(node = pn.previousSibling){ - domUtils.remove(pn); - rng.setStartAtLast(node).collapse(true); - rng.select(true); - }else if(node = pn.nextSibling){ - domUtils.remove(pn); - rng.setStartAtFirst(node).collapse(true); - rng.select(true); - }else{ - var tmpNode = me.document.createElement('p'); - domUtils.fillNode(me.document,tmpNode); - pn.parentNode.insertBefore(tmpNode,pn); - domUtils.remove(pn); - rng.setStart(tmpNode,0).collapse(true); - rng.select(true); - } - } - } - } - - }) - }) - }); - - function getStyle(node){ - var cls = node.className; - if(domUtils.hasClass(node,/custom_/)){ - return cls.match(/custom_(\w+)/)[1] - } - return domUtils.getStyle(node, 'list-style-type') - - } - - me.addListener('beforepaste',function(type,html){ - var me = this, - rng = me.selection.getRange(),li; - var root = UE.htmlparser(html.html,true); - if(li = domUtils.findParentByTagName(rng.startContainer,'li',true)){ - var list = li.parentNode,tagName = list.tagName == 'OL' ? 'ul':'ol'; - utils.each(root.getNodesByTagName(tagName),function(n){ - n.tagName = list.tagName; - n.setAttr(); - if(n.parentNode === root){ - type = getStyle(list) || (list.tagName == 'OL' ? 'decimal' : 'disc') - }else{ - var className = n.parentNode.getAttr('class'); - if(className && /custom_/.test(className)){ - type = className.match(/custom_(\w+)/)[1] - }else{ - type = n.parentNode.getStyle('list-style-type'); - } - if(!type){ - type = list.tagName == 'OL' ? 'decimal' : 'disc'; - } - } - var index = utils.indexOf(listStyle[list.tagName], type); - if(n.parentNode !== root) - index = index + 1 == listStyle[list.tagName].length ? 0 : index + 1; - var currentStyle = listStyle[list.tagName][index]; - if(customStyle[currentStyle]){ - n.setAttr('class', 'custom_' + currentStyle) - - }else{ - n.setStyle('list-style-type',currentStyle) - } - }) - - } - - html.html = root.toHtml(); - }); - //导出时,去掉p标签 - me.getOpt('disablePInList') === true && me.addOutputRule(function(root){ - utils.each(root.getNodesByTagName('li'),function(li){ - var newChildrens = [],index=0; - utils.each(li.children,function(n){ - if(n.tagName == 'p'){ - var tmpNode; - while(tmpNode = n.children.pop()) { - newChildrens.splice(index,0,tmpNode); - tmpNode.parentNode = li; - lastNode = tmpNode; - } - tmpNode = newChildrens[newChildrens.length-1]; - if(!tmpNode || tmpNode.type != 'element' || tmpNode.tagName != 'br'){ - var br = UE.uNode.createElement('br'); - br.parentNode = li; - newChildrens.push(br); - } - - index = newChildrens.length; - } - }); - if(newChildrens.length){ - li.children = newChildrens; - } - }); - }); - //进入编辑器的li要套p标签 - me.addInputRule(function(root){ - utils.each(root.getNodesByTagName('li'),function(li){ - var tmpP = UE.uNode.createElement('p'); - for(var i= 0,ci;ci=li.children[i];){ - if(ci.type == 'text' || dtd.p[ci.tagName]){ - tmpP.appendChild(ci); - }else{ - if(tmpP.firstChild()){ - li.insertBefore(tmpP,ci); - tmpP = UE.uNode.createElement('p'); - i = i + 2; - }else{ - i++; - } - - } - } - if(tmpP.firstChild() && !tmpP.parentNode || !li.firstChild()){ - li.appendChild(tmpP); - } - //trace:3357 - //p不能为空 - if (!tmpP.firstChild()) { - tmpP.innerHTML(browser.ie ? ' ' : '
    ') - } - //去掉末尾的空白 - var p = li.firstChild(); - var lastChild = p.lastChild(); - if(lastChild && lastChild.type == 'text' && /^\s*$/.test(lastChild.data)){ - p.removeChild(lastChild) - } - }); - if(me.options.autoTransWordToList){ - var orderlisttype = { - 'num1':/^\d+\)/, - 'decimal':/^\d+\./, - 'lower-alpha':/^[a-z]+\)/, - 'upper-alpha':/^[A-Z]+\./, - 'cn':/^[\u4E00\u4E8C\u4E09\u56DB\u516d\u4e94\u4e03\u516b\u4e5d]+[\u3001]/, - 'cn2':/^\([\u4E00\u4E8C\u4E09\u56DB\u516d\u4e94\u4e03\u516b\u4e5d]+\)/ - }, - unorderlisttype = { - 'square':'n' - }; - function checkListType(content,container){ - var span = container.firstChild(); - if(span && span.type == 'element' && span.tagName == 'span' && /Wingdings|Symbol/.test(span.getStyle('font-family'))){ - for(var p in unorderlisttype){ - if(unorderlisttype[p] == span.data){ - return p - } - } - return 'disc' - } - for(var p in orderlisttype){ - if(orderlisttype[p].test(content)){ - return p; - } - } - - } - utils.each(root.getNodesByTagName('p'),function(node){ - if(node.getAttr('class') != 'MsoListParagraph'){ - return - } - - //word粘贴过来的会带有margin要去掉,但这样也可能会误命中一些央视 - node.setStyle('margin',''); - node.setStyle('margin-left',''); - node.setAttr('class',''); - - function appendLi(list,p,type){ - if(list.tagName == 'ol'){ - if(browser.ie){ - var first = p.firstChild(); - if(first.type =='element' && first.tagName == 'span' && orderlisttype[type].test(first.innerText())){ - p.removeChild(first); - } - }else{ - p.innerHTML(p.innerHTML().replace(orderlisttype[type],'')); - } - }else{ - p.removeChild(p.firstChild()) - } - - var li = UE.uNode.createElement('li'); - li.appendChild(p); - list.appendChild(li); - } - var tmp = node,type,cacheNode = node; - - if(node.parentNode.tagName != 'li' && (type = checkListType(node.innerText(),node))){ - - var list = UE.uNode.createElement(me.options.insertorderedlist.hasOwnProperty(type) ? 'ol' : 'ul'); - if(customStyle[type]){ - list.setAttr('class','custom_'+type) - }else{ - list.setStyle('list-style-type',type) - } - while(node && node.parentNode.tagName != 'li' && checkListType(node.innerText(),node)){ - tmp = node.nextSibling(); - if(!tmp){ - node.parentNode.insertBefore(list,node) - } - appendLi(list,node,type); - node = tmp; - } - if(!list.parentNode && node && node.parentNode){ - node.parentNode.insertBefore(list,node) - } - } - var span = cacheNode.firstChild(); - if(span && span.type == 'element' && span.tagName == 'span' && /^\s*( )+\s*$/.test(span.innerText())){ - span.parentNode.removeChild(span) - } - }) - } - - }); - - //调整索引标签 - me.addListener('contentchange',function(){ - adjustListStyle(me.document) - }); - - function adjustListStyle(doc,ignore){ - utils.each(domUtils.getElementsByTagName(doc,'ol ul'),function(node){ - - if(!domUtils.inDoc(node,doc)) - return; - - var parent = node.parentNode; - if(parent.tagName == node.tagName){ - var nodeStyleType = getStyle(node) || (node.tagName == 'OL' ? 'decimal' : 'disc'), - parentStyleType = getStyle(parent) || (parent.tagName == 'OL' ? 'decimal' : 'disc'); - if(nodeStyleType == parentStyleType){ - var styleIndex = utils.indexOf(listStyle[node.tagName], nodeStyleType); - styleIndex = styleIndex + 1 == listStyle[node.tagName].length ? 0 : styleIndex + 1; - setListStyle(node,listStyle[node.tagName][styleIndex]) - } - - } - var index = 0,type = 2; - if( domUtils.hasClass(node,/custom_/)){ - if(!(/[ou]l/i.test(parent.tagName) && domUtils.hasClass(parent,/custom_/))){ - type = 1; - } - }else{ - if(/[ou]l/i.test(parent.tagName) && domUtils.hasClass(parent,/custom_/)){ - type = 3; - } - } - - var style = domUtils.getStyle(node, 'list-style-type'); - style && (node.style.cssText = 'list-style-type:' + style); - node.className = utils.trim(node.className.replace(/list-paddingleft-\w+/,'')) + ' list-paddingleft-' + type; - utils.each(domUtils.getElementsByTagName(node,'li'),function(li){ - li.style.cssText && (li.style.cssText = ''); - if(!li.firstChild){ - domUtils.remove(li); - return; - } - if(li.parentNode !== node){ - return; - } - index++; - if(domUtils.hasClass(node,/custom_/) ){ - var paddingLeft = 1,currentStyle = getStyle(node); - if(node.tagName == 'OL'){ - if(currentStyle){ - switch(currentStyle){ - case 'cn' : - case 'cn1': - case 'cn2': - if(index > 10 && (index % 10 == 0 || index > 10 && index < 20)){ - paddingLeft = 2 - }else if(index > 20){ - paddingLeft = 3 - } - break; - case 'num2' : - if(index > 9){ - paddingLeft = 2 - } - } - } - li.className = 'list-'+customStyle[currentStyle]+ index + ' ' + 'list-'+currentStyle+'-paddingleft-' + paddingLeft; - }else{ - li.className = 'list-'+customStyle[currentStyle] + ' ' + 'list-'+currentStyle+'-paddingleft'; - } - }else{ - li.className = li.className.replace(/list-[\w\-]+/gi,''); - } - var className = li.getAttribute('class'); - if(className !== null && !className.replace(/\s/g,'')){ - domUtils.removeAttributes(li,'class') - } - }); - !ignore && adjustList(node,node.tagName.toLowerCase(),getStyle(node)||domUtils.getStyle(node, 'list-style-type'),true); - }) - } - function adjustList(list, tag, style,ignoreEmpty) { - var nextList = list.nextSibling; - if (nextList && nextList.nodeType == 1 && nextList.tagName.toLowerCase() == tag && (getStyle(nextList) || domUtils.getStyle(nextList, 'list-style-type') || (tag == 'ol' ? 'decimal' : 'disc')) == style) { - domUtils.moveChild(nextList, list); - if (nextList.childNodes.length == 0) { - domUtils.remove(nextList); - } - } - if(nextList && domUtils.isFillChar(nextList)){ - domUtils.remove(nextList); - } - var preList = list.previousSibling; - if (preList && preList.nodeType == 1 && preList.tagName.toLowerCase() == tag && (getStyle(preList) || domUtils.getStyle(preList, 'list-style-type') || (tag == 'ol' ? 'decimal' : 'disc')) == style) { - domUtils.moveChild(list, preList); - } - if(preList && domUtils.isFillChar(preList)){ - domUtils.remove(preList); - } - !ignoreEmpty && domUtils.isEmptyBlock(list) && domUtils.remove(list); - if(getStyle(list)){ - adjustListStyle(list.ownerDocument,true) - } - } - - function setListStyle(list,style){ - if(customStyle[style]){ - list.className = 'custom_' + style; - } - try{ - domUtils.setStyle(list, 'list-style-type', style); - }catch(e){} - } - function clearEmptySibling(node) { - var tmpNode = node.previousSibling; - if (tmpNode && domUtils.isEmptyBlock(tmpNode)) { - domUtils.remove(tmpNode); - } - tmpNode = node.nextSibling; - if (tmpNode && domUtils.isEmptyBlock(tmpNode)) { - domUtils.remove(tmpNode); - } - } - - me.addListener('keydown', function (type, evt) { - function preventAndSave() { - evt.preventDefault ? evt.preventDefault() : (evt.returnValue = false); - me.fireEvent('contentchange'); - me.undoManger && me.undoManger.save(); - } - function findList(node,filterFn){ - while(node && !domUtils.isBody(node)){ - if(filterFn(node)){ - return null - } - if(node.nodeType == 1 && /[ou]l/i.test(node.tagName)){ - return node; - } - node = node.parentNode; - } - return null; - } - var keyCode = evt.keyCode || evt.which; - if (keyCode == 13 && !evt.shiftKey) {//回车 - var rng = me.selection.getRange(), - parent = domUtils.findParent(rng.startContainer,function(node){return domUtils.isBlockElm(node)},true), - li = domUtils.findParentByTagName(rng.startContainer,'li',true); - if(parent && parent.tagName != 'PRE' && !li){ - var html = parent.innerHTML.replace(new RegExp(domUtils.fillChar, 'g'),''); - if(/^\s*1\s*\.[^\d]/.test(html)){ - parent.innerHTML = html.replace(/^\s*1\s*\./,''); - rng.setStartAtLast(parent).collapse(true).select(); - me.__hasEnterExecCommand = true; - me.execCommand('insertorderedlist'); - me.__hasEnterExecCommand = false; - } - } - var range = me.selection.getRange(), - start = findList(range.startContainer,function (node) { - return node.tagName == 'TABLE'; - }), - end = range.collapsed ? start : findList(range.endContainer,function (node) { - return node.tagName == 'TABLE'; - }); - - if (start && end && start === end) { - - if (!range.collapsed) { - start = domUtils.findParentByTagName(range.startContainer, 'li', true); - end = domUtils.findParentByTagName(range.endContainer, 'li', true); - if (start && end && start === end) { - range.deleteContents(); - li = domUtils.findParentByTagName(range.startContainer, 'li', true); - if (li && domUtils.isEmptyBlock(li)) { - - pre = li.previousSibling; - next = li.nextSibling; - p = me.document.createElement('p'); - - domUtils.fillNode(me.document, p); - parentList = li.parentNode; - if (pre && next) { - range.setStart(next, 0).collapse(true).select(true); - domUtils.remove(li); - - } else { - if (!pre && !next || !pre) { - - parentList.parentNode.insertBefore(p, parentList); - - - } else { - li.parentNode.parentNode.insertBefore(p, parentList.nextSibling); - } - domUtils.remove(li); - if (!parentList.firstChild) { - domUtils.remove(parentList); - } - range.setStart(p, 0).setCursor(); - - - } - preventAndSave(); - return; - - } - } else { - var tmpRange = range.cloneRange(), - bk = tmpRange.collapse(false).createBookmark(); - - range.deleteContents(); - tmpRange.moveToBookmark(bk); - var li = domUtils.findParentByTagName(tmpRange.startContainer, 'li', true); - - clearEmptySibling(li); - tmpRange.select(); - preventAndSave(); - return; - } - } - - - li = domUtils.findParentByTagName(range.startContainer, 'li', true); - - if (li) { - if (domUtils.isEmptyBlock(li)) { - bk = range.createBookmark(); - var parentList = li.parentNode; - if (li !== parentList.lastChild) { - domUtils.breakParent(li, parentList); - clearEmptySibling(li); - } else { - - parentList.parentNode.insertBefore(li, parentList.nextSibling); - if (domUtils.isEmptyNode(parentList)) { - domUtils.remove(parentList); - } - } - //嵌套不处理 - if (!dtd.$list[li.parentNode.tagName]) { - - if (!domUtils.isBlockElm(li.firstChild)) { - p = me.document.createElement('p'); - li.parentNode.insertBefore(p, li); - while (li.firstChild) { - p.appendChild(li.firstChild); - } - domUtils.remove(li); - } else { - domUtils.remove(li, true); - } - } - range.moveToBookmark(bk).select(); - - - } else { - var first = li.firstChild; - if (!first || !domUtils.isBlockElm(first)) { - var p = me.document.createElement('p'); - - !li.firstChild && domUtils.fillNode(me.document, p); - while (li.firstChild) { - - p.appendChild(li.firstChild); - } - li.appendChild(p); - first = p; - } - - var span = me.document.createElement('span'); - - range.insertNode(span); - domUtils.breakParent(span, li); - - var nextLi = span.nextSibling; - first = nextLi.firstChild; - - if (!first) { - p = me.document.createElement('p'); - - domUtils.fillNode(me.document, p); - nextLi.appendChild(p); - first = p; - } - if (domUtils.isEmptyNode(first)) { - first.innerHTML = ''; - domUtils.fillNode(me.document, first); - } - - range.setStart(first, 0).collapse(true).shrinkBoundary().select(); - domUtils.remove(span); - var pre = nextLi.previousSibling; - if (pre && domUtils.isEmptyBlock(pre)) { - pre.innerHTML = '

    '; - domUtils.fillNode(me.document, pre.firstChild); - } - - } -// } - preventAndSave(); - } - - - } - - - } - if (keyCode == 8) { - //修中ie中li下的问题 - range = me.selection.getRange(); - if (range.collapsed && domUtils.isStartInblock(range)) { - tmpRange = range.cloneRange().trimBoundary(); - li = domUtils.findParentByTagName(range.startContainer, 'li', true); - //要在li的最左边,才能处理 - if (li && domUtils.isStartInblock(tmpRange)) { - start = domUtils.findParentByTagName(range.startContainer, 'p', true); - if (start && start !== li.firstChild) { - var parentList = domUtils.findParentByTagName(start,['ol','ul']); - domUtils.breakParent(start,parentList); - clearEmptySibling(start); - me.fireEvent('contentchange'); - range.setStart(start,0).setCursor(false,true); - me.fireEvent('saveScene'); - domUtils.preventDefault(evt); - return; - } - - if (li && (pre = li.previousSibling)) { - if (keyCode == 46 && li.childNodes.length) { - return; - } - //有可能上边的兄弟节点是个2级菜单,要追加到2级菜单的最后的li - if (dtd.$list[pre.tagName]) { - pre = pre.lastChild; - } - me.undoManger && me.undoManger.save(); - first = li.firstChild; - if (domUtils.isBlockElm(first)) { - if (domUtils.isEmptyNode(first)) { -// range.setEnd(pre, pre.childNodes.length).shrinkBoundary().collapse().select(true); - pre.appendChild(first); - range.setStart(first, 0).setCursor(false, true); - //first不是唯一的节点 - while (li.firstChild) { - pre.appendChild(li.firstChild); - } - } else { - - span = me.document.createElement('span'); - range.insertNode(span); - //判断pre是否是空的节点,如果是


    类型的空节点,干掉p标签防止它占位 - if (domUtils.isEmptyBlock(pre)) { - pre.innerHTML = ''; - } - domUtils.moveChild(li, pre); - range.setStartBefore(span).collapse(true).select(true); - - domUtils.remove(span); - - } - } else { - if (domUtils.isEmptyNode(li)) { - var p = me.document.createElement('p'); - pre.appendChild(p); - range.setStart(p, 0).setCursor(); -// range.setEnd(pre, pre.childNodes.length).shrinkBoundary().collapse().select(true); - } else { - range.setEnd(pre, pre.childNodes.length).collapse().select(true); - while (li.firstChild) { - pre.appendChild(li.firstChild); - } - } - } - domUtils.remove(li); - me.fireEvent('contentchange'); - me.fireEvent('saveScene'); - domUtils.preventDefault(evt); - return; - - } - //trace:980 - - if (li && !li.previousSibling) { - var parentList = li.parentNode; - var bk = range.createBookmark(); - if(domUtils.isTagNode(parentList.parentNode,'ol ul')){ - parentList.parentNode.insertBefore(li,parentList); - if(domUtils.isEmptyNode(parentList)){ - domUtils.remove(parentList) - } - }else{ - - while(li.firstChild){ - parentList.parentNode.insertBefore(li.firstChild,parentList); - } - - domUtils.remove(li); - if(domUtils.isEmptyNode(parentList)){ - domUtils.remove(parentList) - } - - } - range.moveToBookmark(bk).setCursor(false,true); - me.fireEvent('contentchange'); - me.fireEvent('saveScene'); - domUtils.preventDefault(evt); - return; - - } - - - } - - - } - - } - }); - - me.addListener('keyup',function(type, evt){ - var keyCode = evt.keyCode || evt.which; - if (keyCode == 8) { - var rng = me.selection.getRange(),list; - if(list = domUtils.findParentByTagName(rng.startContainer,['ol', 'ul'],true)){ - adjustList(list,list.tagName.toLowerCase(),getStyle(list)||domUtils.getComputedStyle(list,'list-style-type'),true) - } - } - }); - //处理tab键 - me.addListener('tabkeydown',function(){ - - var range = me.selection.getRange(); - - //控制级数 - function checkLevel(li){ - if(me.options.maxListLevel != -1){ - var level = li.parentNode,levelNum = 0; - while(/[ou]l/i.test(level.tagName)){ - levelNum++; - level = level.parentNode; - } - if(levelNum >= me.options.maxListLevel){ - return true; - } - } - } - //只以开始为准 - //todo 后续改进 - var li = domUtils.findParentByTagName(range.startContainer, 'li', true); - if(li){ - - var bk; - if(range.collapsed){ - if(checkLevel(li)) - return true; - var parentLi = li.parentNode, - list = me.document.createElement(parentLi.tagName), - index = utils.indexOf(listStyle[list.tagName], getStyle(parentLi)||domUtils.getComputedStyle(parentLi, 'list-style-type')); - index = index + 1 == listStyle[list.tagName].length ? 0 : index + 1; - var currentStyle = listStyle[list.tagName][index]; - setListStyle(list,currentStyle); - if(domUtils.isStartInblock(range)){ - me.fireEvent('saveScene'); - bk = range.createBookmark(); - parentLi.insertBefore(list, li); - list.appendChild(li); - adjustList(list,list.tagName.toLowerCase(),currentStyle); - me.fireEvent('contentchange'); - range.moveToBookmark(bk).select(true); - return true; - } - }else{ - me.fireEvent('saveScene'); - bk = range.createBookmark(); - for(var i= 0,closeList,parents = domUtils.findParents(li),ci;ci=parents[i++];){ - if(domUtils.isTagNode(ci,'ol ul')){ - closeList = ci; - break; - } - } - var current = li; - if(bk.end){ - while(current && !(domUtils.getPosition(current, bk.end) & domUtils.POSITION_FOLLOWING)){ - if(checkLevel(current)){ - current = domUtils.getNextDomNode(current,false,null,function(node){return node !== closeList}); - continue; - } - var parentLi = current.parentNode, - list = me.document.createElement(parentLi.tagName), - index = utils.indexOf(listStyle[list.tagName], getStyle(parentLi)||domUtils.getComputedStyle(parentLi, 'list-style-type')); - var currentIndex = index + 1 == listStyle[list.tagName].length ? 0 : index + 1; - var currentStyle = listStyle[list.tagName][currentIndex]; - setListStyle(list,currentStyle); - parentLi.insertBefore(list, current); - while(current && !(domUtils.getPosition(current, bk.end) & domUtils.POSITION_FOLLOWING)){ - li = current.nextSibling; - list.appendChild(current); - if(!li || domUtils.isTagNode(li,'ol ul')){ - if(li){ - while(li = li.firstChild){ - if(li.tagName == 'LI'){ - break; - } - } - }else{ - li = domUtils.getNextDomNode(current,false,null,function(node){return node !== closeList}); - } - break; - } - current = li; - } - adjustList(list,list.tagName.toLowerCase(),currentStyle); - current = li; - } - } - me.fireEvent('contentchange'); - range.moveToBookmark(bk).select(); - return true; - } - } - - }); - function getLi(start){ - while(start && !domUtils.isBody(start)){ - if(start.nodeName == 'TABLE'){ - return null; - } - if(start.nodeName == 'LI'){ - return start - } - start = start.parentNode; - } - } - - /** - * 有序列表,与“insertunorderedlist”命令互斥 - * @command insertorderedlist - * @method execCommand - * @param { String } command 命令字符串 - * @param { String } style 插入的有序列表类型,值为:decimal,lower-alpha,lower-roman,upper-alpha,upper-roman,cn,cn1,cn2,num,num1,num2 - * @example - * ```javascript - * editor.execCommand( 'insertorderedlist','decimal'); - * ``` - */ - /** - * 查询当前选区内容是否有序列表 - * @command insertorderedlist - * @method queryCommandState - * @param { String } cmd 命令字符串 - * @return { int } 如果当前选区是有序列表返回1,否则返回0 - * @example - * ```javascript - * editor.queryCommandState( 'insertorderedlist' ); - * ``` - */ - /** - * 查询当前选区内容是否有序列表 - * @command insertorderedlist - * @method queryCommandValue - * @param { String } cmd 命令字符串 - * @return { String } 返回当前有序列表的类型,值为null或decimal,lower-alpha,lower-roman,upper-alpha,upper-roman,cn,cn1,cn2,num,num1,num2 - * @example - * ```javascript - * editor.queryCommandValue( 'insertorderedlist' ); - * ``` - */ - - /** - * 无序列表,与“insertorderedlist”命令互斥 - * @command insertunorderedlist - * @method execCommand - * @param { String } command 命令字符串 - * @param { String } style 插入的无序列表类型,值为:circle,disc,square,dash,dot - * @example - * ```javascript - * editor.execCommand( 'insertunorderedlist','circle'); - * ``` - */ - /** - * 查询当前是否有word文档粘贴进来的图片 - * @command insertunorderedlist - * @method insertunorderedlist - * @param { String } command 命令字符串 - * @return { int } 如果当前选区是无序列表返回1,否则返回0 - * @example - * ```javascript - * editor.queryCommandState( 'insertunorderedlist' ); - * ``` - */ - /** - * 查询当前选区内容是否有序列表 - * @command insertunorderedlist - * @method queryCommandValue - * @param { String } command 命令字符串 - * @return { String } 返回当前无序列表的类型,值为null或circle,disc,square,dash,dot - * @example - * ```javascript - * editor.queryCommandValue( 'insertunorderedlist' ); - * ``` - */ - - me.commands['insertorderedlist'] = - me.commands['insertunorderedlist'] = { - execCommand:function (command, style) { - - if (!style) { - style = command.toLowerCase() == 'insertorderedlist' ? 'decimal' : 'disc'; - } - var me = this, - range = this.selection.getRange(), - filterFn = function (node) { - return node.nodeType == 1 ? node.tagName.toLowerCase() != 'br' : !domUtils.isWhitespace(node); - }, - tag = command.toLowerCase() == 'insertorderedlist' ? 'ol' : 'ul', - frag = me.document.createDocumentFragment(); - //去掉是因为会出现选到末尾,导致adjustmentBoundary缩到ol/ul的位置 - //range.shrinkBoundary();//.adjustmentBoundary(); - range.adjustmentBoundary().shrinkBoundary(); - var bko = range.createBookmark(true), - start = getLi(me.document.getElementById(bko.start)), - modifyStart = 0, - end = getLi(me.document.getElementById(bko.end)), - modifyEnd = 0, - startParent, endParent, - list, tmp; - - if (start || end) { - start && (startParent = start.parentNode); - if (!bko.end) { - end = start; - } - end && (endParent = end.parentNode); - - if (startParent === endParent) { - while (start !== end) { - tmp = start; - start = start.nextSibling; - if (!domUtils.isBlockElm(tmp.firstChild)) { - var p = me.document.createElement('p'); - while (tmp.firstChild) { - p.appendChild(tmp.firstChild); - } - tmp.appendChild(p); - } - frag.appendChild(tmp); - } - tmp = me.document.createElement('span'); - startParent.insertBefore(tmp, end); - if (!domUtils.isBlockElm(end.firstChild)) { - p = me.document.createElement('p'); - while (end.firstChild) { - p.appendChild(end.firstChild); - } - end.appendChild(p); - } - frag.appendChild(end); - domUtils.breakParent(tmp, startParent); - if (domUtils.isEmptyNode(tmp.previousSibling)) { - domUtils.remove(tmp.previousSibling); - } - if (domUtils.isEmptyNode(tmp.nextSibling)) { - domUtils.remove(tmp.nextSibling) - } - var nodeStyle = getStyle(startParent) || domUtils.getComputedStyle(startParent, 'list-style-type') || (command.toLowerCase() == 'insertorderedlist' ? 'decimal' : 'disc'); - if (startParent.tagName.toLowerCase() == tag && nodeStyle == style) { - for (var i = 0, ci, tmpFrag = me.document.createDocumentFragment(); ci = frag.firstChild;) { - if(domUtils.isTagNode(ci,'ol ul')){ -// 删除时,子列表不处理 -// utils.each(domUtils.getElementsByTagName(ci,'li'),function(li){ -// while(li.firstChild){ -// tmpFrag.appendChild(li.firstChild); -// } -// -// }); - tmpFrag.appendChild(ci); - }else{ - while (ci.firstChild) { - - tmpFrag.appendChild(ci.firstChild); - domUtils.remove(ci); - } - } - - } - tmp.parentNode.insertBefore(tmpFrag, tmp); - } else { - list = me.document.createElement(tag); - setListStyle(list,style); - list.appendChild(frag); - tmp.parentNode.insertBefore(list, tmp); - } - - domUtils.remove(tmp); - list && adjustList(list, tag, style); - range.moveToBookmark(bko).select(); - return; - } - //开始 - if (start) { - while (start) { - tmp = start.nextSibling; - if (domUtils.isTagNode(start, 'ol ul')) { - frag.appendChild(start); - } else { - var tmpfrag = me.document.createDocumentFragment(), - hasBlock = 0; - while (start.firstChild) { - if (domUtils.isBlockElm(start.firstChild)) { - hasBlock = 1; - } - tmpfrag.appendChild(start.firstChild); - } - if (!hasBlock) { - var tmpP = me.document.createElement('p'); - tmpP.appendChild(tmpfrag); - frag.appendChild(tmpP); - } else { - frag.appendChild(tmpfrag); - } - domUtils.remove(start); - } - - start = tmp; - } - startParent.parentNode.insertBefore(frag, startParent.nextSibling); - if (domUtils.isEmptyNode(startParent)) { - range.setStartBefore(startParent); - domUtils.remove(startParent); - } else { - range.setStartAfter(startParent); - } - modifyStart = 1; - } - - if (end && domUtils.inDoc(endParent, me.document)) { - //结束 - start = endParent.firstChild; - while (start && start !== end) { - tmp = start.nextSibling; - if (domUtils.isTagNode(start, 'ol ul')) { - frag.appendChild(start); - } else { - tmpfrag = me.document.createDocumentFragment(); - hasBlock = 0; - while (start.firstChild) { - if (domUtils.isBlockElm(start.firstChild)) { - hasBlock = 1; - } - tmpfrag.appendChild(start.firstChild); - } - if (!hasBlock) { - tmpP = me.document.createElement('p'); - tmpP.appendChild(tmpfrag); - frag.appendChild(tmpP); - } else { - frag.appendChild(tmpfrag); - } - domUtils.remove(start); - } - start = tmp; - } - var tmpDiv = domUtils.createElement(me.document, 'div', { - 'tmpDiv':1 - }); - domUtils.moveChild(end, tmpDiv); - - frag.appendChild(tmpDiv); - domUtils.remove(end); - endParent.parentNode.insertBefore(frag, endParent); - range.setEndBefore(endParent); - if (domUtils.isEmptyNode(endParent)) { - domUtils.remove(endParent); - } - - modifyEnd = 1; - } - - - } - - if (!modifyStart) { - range.setStartBefore(me.document.getElementById(bko.start)); - } - if (bko.end && !modifyEnd) { - range.setEndAfter(me.document.getElementById(bko.end)); - } - range.enlarge(true, function (node) { - return notExchange[node.tagName]; - }); - - frag = me.document.createDocumentFragment(); - - var bk = range.createBookmark(), - current = domUtils.getNextDomNode(bk.start, false, filterFn), - tmpRange = range.cloneRange(), - tmpNode, - block = domUtils.isBlockElm; - - while (current && current !== bk.end && (domUtils.getPosition(current, bk.end) & domUtils.POSITION_PRECEDING)) { - - if (current.nodeType == 3 || dtd.li[current.tagName]) { - if (current.nodeType == 1 && dtd.$list[current.tagName]) { - while (current.firstChild) { - frag.appendChild(current.firstChild); - } - tmpNode = domUtils.getNextDomNode(current, false, filterFn); - domUtils.remove(current); - current = tmpNode; - continue; - - } - tmpNode = current; - tmpRange.setStartBefore(current); - - while (current && current !== bk.end && (!block(current) || domUtils.isBookmarkNode(current) )) { - tmpNode = current; - current = domUtils.getNextDomNode(current, false, null, function (node) { - return !notExchange[node.tagName]; - }); - } - - if (current && block(current)) { - tmp = domUtils.getNextDomNode(tmpNode, false, filterFn); - if (tmp && domUtils.isBookmarkNode(tmp)) { - current = domUtils.getNextDomNode(tmp, false, filterFn); - tmpNode = tmp; - } - } - tmpRange.setEndAfter(tmpNode); - - current = domUtils.getNextDomNode(tmpNode, false, filterFn); - - var li = range.document.createElement('li'); - - li.appendChild(tmpRange.extractContents()); - if(domUtils.isEmptyNode(li)){ - var tmpNode = range.document.createElement('p'); - while(li.firstChild){ - tmpNode.appendChild(li.firstChild) - } - li.appendChild(tmpNode); - } - frag.appendChild(li); - } else { - current = domUtils.getNextDomNode(current, true, filterFn); - } - } - range.moveToBookmark(bk).collapse(true); - list = me.document.createElement(tag); - setListStyle(list,style); - list.appendChild(frag); - range.insertNode(list); - //当前list上下看能否合并 - adjustList(list, tag, style); - //去掉冗余的tmpDiv - for (var i = 0, ci, tmpDivs = domUtils.getElementsByTagName(list, 'div'); ci = tmpDivs[i++];) { - if (ci.getAttribute('tmpDiv')) { - domUtils.remove(ci, true) - } - } - range.moveToBookmark(bko).select(); - - }, - queryCommandState:function (command) { - var tag = command.toLowerCase() == 'insertorderedlist' ? 'ol' : 'ul'; - var path = this.selection.getStartElementPath(); - for(var i= 0,ci;ci = path[i++];){ - if(ci.nodeName == 'TABLE'){ - return 0 - } - if(tag == ci.nodeName.toLowerCase()){ - return 1 - }; - } - return 0; - - }, - queryCommandValue:function (command) { - var tag = command.toLowerCase() == 'insertorderedlist' ? 'ol' : 'ul'; - var path = this.selection.getStartElementPath(), - node; - for(var i= 0,ci;ci = path[i++];){ - if(ci.nodeName == 'TABLE'){ - node = null; - break; - } - if(tag == ci.nodeName.toLowerCase()){ - node = ci; - break; - }; - } - return node ? getStyle(node) || domUtils.getComputedStyle(node, 'list-style-type') : null; - } - }; -}; - - - -// plugins/source.js -/** - * 源码编辑插件 - * @file - * @since 1.2.6.1 - */ - -(function (){ - var sourceEditors = { - textarea: function (editor, holder){ - var textarea = holder.ownerDocument.createElement('textarea'); - textarea.style.cssText = 'position:absolute;resize:none;width:100%;height:100%;border:0;padding:0;margin:0;overflow-y:auto;'; - // todo: IE下只有onresize属性可用... 很纠结 - if (browser.ie && browser.version < 8) { - textarea.style.width = holder.offsetWidth + 'px'; - textarea.style.height = holder.offsetHeight + 'px'; - holder.onresize = function (){ - textarea.style.width = holder.offsetWidth + 'px'; - textarea.style.height = holder.offsetHeight + 'px'; - }; - } - holder.appendChild(textarea); - return { - setContent: function (content){ - textarea.value = content; - }, - getContent: function (){ - return textarea.value; - }, - select: function (){ - var range; - if (browser.ie) { - range = textarea.createTextRange(); - range.collapse(true); - range.select(); - } else { - //todo: chrome下无法设置焦点 - textarea.setSelectionRange(0, 0); - textarea.focus(); - } - }, - dispose: function (){ - holder.removeChild(textarea); - // todo - holder.onresize = null; - textarea = null; - holder = null; - } - }; - }, - codemirror: function (editor, holder){ - - var codeEditor = window.CodeMirror(holder, { - mode: "text/html", - tabMode: "indent", - lineNumbers: true, - lineWrapping:true - }); - var dom = codeEditor.getWrapperElement(); - dom.style.cssText = 'position:absolute;left:0;top:0;width:100%;height:100%;font-family:consolas,"Courier new",monospace;font-size:13px;'; - codeEditor.getScrollerElement().style.cssText = 'position:absolute;left:0;top:0;width:100%;height:100%;'; - codeEditor.refresh(); - return { - getCodeMirror:function(){ - return codeEditor; - }, - setContent: function (content){ - codeEditor.setValue(content); - }, - getContent: function (){ - return codeEditor.getValue(); - }, - select: function (){ - codeEditor.focus(); - }, - dispose: function (){ - holder.removeChild(dom); - dom = null; - codeEditor = null; - } - }; - } - }; - - UE.plugins['source'] = function (){ - var me = this; - var opt = this.options; - var sourceMode = false; - var sourceEditor; - var orgSetContent; - opt.sourceEditor = browser.ie ? 'textarea' : (opt.sourceEditor || 'codemirror'); - - me.setOpt({ - sourceEditorFirst:false - }); - function createSourceEditor(holder){ - return sourceEditors[opt.sourceEditor == 'codemirror' && window.CodeMirror ? 'codemirror' : 'textarea'](me, holder); - } - - var bakCssText; - //解决在源码模式下getContent不能得到最新的内容问题 - var oldGetContent, - bakAddress; - - /** - * 切换源码模式和编辑模式 - * @command source - * @method execCommand - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * editor.execCommand( 'source'); - * ``` - */ - - /** - * 查询当前编辑区域的状态是源码模式还是可视化模式 - * @command source - * @method queryCommandState - * @param { String } cmd 命令字符串 - * @return { int } 如果当前是源码编辑模式,返回1,否则返回0 - * @example - * ```javascript - * editor.queryCommandState( 'source' ); - * ``` - */ - - me.commands['source'] = { - execCommand: function (){ - - sourceMode = !sourceMode; - if (sourceMode) { - bakAddress = me.selection.getRange().createAddress(false,true); - me.undoManger && me.undoManger.save(true); - if(browser.gecko){ - me.body.contentEditable = false; - } - - bakCssText = me.iframe.style.cssText; - me.iframe.style.cssText += 'position:absolute;left:-32768px;top:-32768px;'; - - - me.fireEvent('beforegetcontent'); - var root = UE.htmlparser(me.body.innerHTML); - me.filterOutputRule(root); - root.traversal(function (node) { - if (node.type == 'element') { - switch (node.tagName) { - case 'td': - case 'th': - case 'caption': - if(node.children && node.children.length == 1){ - if(node.firstChild().tagName == 'br' ){ - node.removeChild(node.firstChild()) - } - }; - break; - case 'pre': - node.innerText(node.innerText().replace(/ /g,' ')) - - } - } - }); - - me.fireEvent('aftergetcontent'); - - var content = root.toHtml(true); - - sourceEditor = createSourceEditor(me.iframe.parentNode); - - sourceEditor.setContent(content); - - orgSetContent = me.setContent; - - me.setContent = function(html){ - //这里暂时不触发事件,防止报错 - var root = UE.htmlparser(html); - me.filterInputRule(root); - html = root.toHtml(); - sourceEditor.setContent(html); - }; - - setTimeout(function (){ - sourceEditor.select(); - me.addListener('fullscreenchanged', function(){ - try{ - sourceEditor.getCodeMirror().refresh() - }catch(e){} - }); - }); - - //重置getContent,源码模式下取值也能是最新的数据 - oldGetContent = me.getContent; - me.getContent = function (){ - return sourceEditor.getContent() || '

    ' + (browser.ie ? '' : '
    ')+'

    '; - }; - } else { - me.iframe.style.cssText = bakCssText; - var cont = sourceEditor.getContent() || '

    ' + (browser.ie ? '' : '
    ')+'

    '; - //处理掉block节点前后的空格,有可能会误命中,暂时不考虑 - cont = cont.replace(new RegExp('[\\r\\t\\n ]*<\/?(\\w+)\\s*(?:[^>]*)>','g'), function(a,b){ - if(b && !dtd.$inlineWithA[b.toLowerCase()]){ - return a.replace(/(^[\n\r\t ]*)|([\n\r\t ]*$)/g,''); - } - return a.replace(/(^[\n\r\t]*)|([\n\r\t]*$)/g,'') - }); - - me.setContent = orgSetContent; - - me.setContent(cont); - sourceEditor.dispose(); - sourceEditor = null; - //还原getContent方法 - me.getContent = oldGetContent; - var first = me.body.firstChild; - //trace:1106 都删除空了,下边会报错,所以补充一个p占位 - if(!first){ - me.body.innerHTML = '

    '+(browser.ie?'':'
    ')+'

    '; - first = me.body.firstChild; - } - - - //要在ifm为显示时ff才能取到selection,否则报错 - //这里不能比较位置了 - me.undoManger && me.undoManger.save(true); - - if(browser.gecko){ - - var input = document.createElement('input'); - input.style.cssText = 'position:absolute;left:0;top:-32768px'; - - document.body.appendChild(input); - - me.body.contentEditable = false; - setTimeout(function(){ - domUtils.setViewportOffset(input, { left: -32768, top: 0 }); - input.focus(); - setTimeout(function(){ - me.body.contentEditable = true; - me.selection.getRange().moveToAddress(bakAddress).select(true); - domUtils.remove(input); - }); - - }); - }else{ - //ie下有可能报错,比如在代码顶头的情况 - try{ - me.selection.getRange().moveToAddress(bakAddress).select(true); - }catch(e){} - - } - } - this.fireEvent('sourcemodechanged', sourceMode); - }, - queryCommandState: function (){ - return sourceMode|0; - }, - notNeedUndo : 1 - }; - var oldQueryCommandState = me.queryCommandState; - - me.queryCommandState = function (cmdName){ - cmdName = cmdName.toLowerCase(); - if (sourceMode) { - //源码模式下可以开启的命令 - return cmdName in { - 'source' : 1, - 'fullscreen' : 1 - } ? 1 : -1 - } - return oldQueryCommandState.apply(this, arguments); - }; - - if(opt.sourceEditor == "codemirror"){ - - me.addListener("ready",function(){ - utils.loadFile(document,{ - src : opt.codeMirrorJsUrl || opt.UEDITOR_HOME_URL + "third-party/codemirror/codemirror.js", - tag : "script", - type : "text/javascript", - defer : "defer" - },function(){ - if(opt.sourceEditorFirst){ - setTimeout(function(){ - me.execCommand("source"); - },0); - } - }); - utils.loadFile(document,{ - tag : "link", - rel : "stylesheet", - type : "text/css", - href : opt.codeMirrorCssUrl || opt.UEDITOR_HOME_URL + "third-party/codemirror/codemirror.css" - }); - - }); - } - - }; - -})(); - -// plugins/enterkey.js -///import core -///import plugins/undo.js -///commands 设置回车标签p或br -///commandsName EnterKey -///commandsTitle 设置回车标签p或br -/** - * @description 处理回车 - * @author zhanyi - */ -UE.plugins['enterkey'] = function() { - var hTag, - me = this, - tag = me.options.enterTag; - me.addListener('keyup', function(type, evt) { - - var keyCode = evt.keyCode || evt.which; - if (keyCode == 13) { - var range = me.selection.getRange(), - start = range.startContainer, - doSave; - - //修正在h1-h6里边回车后不能嵌套p的问题 - if (!browser.ie) { - - if (/h\d/i.test(hTag)) { - if (browser.gecko) { - var h = domUtils.findParentByTagName(start, [ 'h1', 'h2', 'h3', 'h4', 'h5', 'h6','blockquote','caption','table'], true); - if (!h) { - me.document.execCommand('formatBlock', false, '

    '); - doSave = 1; - } - } else { - //chrome remove div - if (start.nodeType == 1) { - var tmp = me.document.createTextNode(''),div; - range.insertNode(tmp); - div = domUtils.findParentByTagName(tmp, 'div', true); - if (div) { - var p = me.document.createElement('p'); - while (div.firstChild) { - p.appendChild(div.firstChild); - } - div.parentNode.insertBefore(p, div); - domUtils.remove(div); - range.setStartBefore(tmp).setCursor(); - doSave = 1; - } - domUtils.remove(tmp); - - } - } - - if (me.undoManger && doSave) { - me.undoManger.save(); - } - } - //没有站位符,会出现多行的问题 - browser.opera && range.select(); - }else{ - me.fireEvent('saveScene',true,true) - } - } - }); - - me.addListener('keydown', function(type, evt) { - var keyCode = evt.keyCode || evt.which; - if (keyCode == 13) {//回车 - if(me.fireEvent('beforeenterkeydown')){ - domUtils.preventDefault(evt); - return; - } - me.fireEvent('saveScene',true,true); - hTag = ''; - - - var range = me.selection.getRange(); - - if (!range.collapsed) { - //跨td不能删 - var start = range.startContainer, - end = range.endContainer, - startTd = domUtils.findParentByTagName(start, 'td', true), - endTd = domUtils.findParentByTagName(end, 'td', true); - if (startTd && endTd && startTd !== endTd || !startTd && endTd || startTd && !endTd) { - evt.preventDefault ? evt.preventDefault() : ( evt.returnValue = false); - return; - } - } - if (tag == 'p') { - - - if (!browser.ie) { - - start = domUtils.findParentByTagName(range.startContainer, ['ol','ul','p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6','blockquote','caption'], true); - - //opera下执行formatblock会在table的场景下有问题,回车在opera原生支持很好,所以暂时在opera去掉调用这个原生的command - //trace:2431 - if (!start && !browser.opera) { - - me.document.execCommand('formatBlock', false, '

    '); - - if (browser.gecko) { - range = me.selection.getRange(); - start = domUtils.findParentByTagName(range.startContainer, 'p', true); - start && domUtils.removeDirtyAttr(start); - } - - - } else { - hTag = start.tagName; - start.tagName.toLowerCase() == 'p' && browser.gecko && domUtils.removeDirtyAttr(start); - } - - } - - } else { - evt.preventDefault ? evt.preventDefault() : ( evt.returnValue = false); - - if (!range.collapsed) { - range.deleteContents(); - start = range.startContainer; - if (start.nodeType == 1 && (start = start.childNodes[range.startOffset])) { - while (start.nodeType == 1) { - if (dtd.$empty[start.tagName]) { - range.setStartBefore(start).setCursor(); - if (me.undoManger) { - me.undoManger.save(); - } - return false; - } - if (!start.firstChild) { - var br = range.document.createElement('br'); - start.appendChild(br); - range.setStart(start, 0).setCursor(); - if (me.undoManger) { - me.undoManger.save(); - } - return false; - } - start = start.firstChild; - } - if (start === range.startContainer.childNodes[range.startOffset]) { - br = range.document.createElement('br'); - range.insertNode(br).setCursor(); - - } else { - range.setStart(start, 0).setCursor(); - } - - - } else { - br = range.document.createElement('br'); - range.insertNode(br).setStartAfter(br).setCursor(); - } - - - } else { - br = range.document.createElement('br'); - range.insertNode(br); - var parent = br.parentNode; - if (parent.lastChild === br) { - br.parentNode.insertBefore(br.cloneNode(true), br); - range.setStartBefore(br); - } else { - range.setStartAfter(br); - } - range.setCursor(); - - } - - } - - } - }); -}; - - -// plugins/keystrokes.js -/* 处理特殊键的兼容性问题 */ -UE.plugins['keystrokes'] = function() { - var me = this; - var collapsed = true; - me.addListener('keydown', function(type, evt) { - var keyCode = evt.keyCode || evt.which, - rng = me.selection.getRange(); - - //处理全选的情况 - if(!rng.collapsed && !(evt.ctrlKey || evt.shiftKey || evt.altKey || evt.metaKey) && (keyCode >= 65 && keyCode <=90 - || keyCode >= 48 && keyCode <= 57 || - keyCode >= 96 && keyCode <= 111 || { - 13:1, - 8:1, - 46:1 - }[keyCode]) - ){ - - var tmpNode = rng.startContainer; - if(domUtils.isFillChar(tmpNode)){ - rng.setStartBefore(tmpNode) - } - tmpNode = rng.endContainer; - if(domUtils.isFillChar(tmpNode)){ - rng.setEndAfter(tmpNode) - } - rng.txtToElmBoundary(); - //结束边界可能放到了br的前边,要把br包含进来 - // x[xxx]
    - if(rng.endContainer && rng.endContainer.nodeType == 1){ - tmpNode = rng.endContainer.childNodes[rng.endOffset]; - if(tmpNode && domUtils.isBr(tmpNode)){ - rng.setEndAfter(tmpNode); - } - } - if(rng.startOffset == 0){ - tmpNode = rng.startContainer; - if(domUtils.isBoundaryNode(tmpNode,'firstChild') ){ - tmpNode = rng.endContainer; - if(rng.endOffset == (tmpNode.nodeType == 3 ? tmpNode.nodeValue.length : tmpNode.childNodes.length) && domUtils.isBoundaryNode(tmpNode,'lastChild')){ - me.fireEvent('saveScene'); - me.body.innerHTML = '

    '+(browser.ie ? '' : '
    ')+'

    '; - rng.setStart(me.body.firstChild,0).setCursor(false,true); - me._selectionChange(); - return; - } - } - } - } - - //处理backspace - if (keyCode == keymap.Backspace) { - rng = me.selection.getRange(); - collapsed = rng.collapsed; - if(me.fireEvent('delkeydown',evt)){ - return; - } - var start,end; - //避免按两次删除才能生效的问题 - if(rng.collapsed && rng.inFillChar()){ - start = rng.startContainer; - - if(domUtils.isFillChar(start)){ - rng.setStartBefore(start).shrinkBoundary(true).collapse(true); - domUtils.remove(start) - }else{ - start.nodeValue = start.nodeValue.replace(new RegExp('^' + domUtils.fillChar ),''); - rng.startOffset--; - rng.collapse(true).select(true) - } - } - - //解决选中control元素不能删除的问题 - if (start = rng.getClosedNode()) { - me.fireEvent('saveScene'); - rng.setStartBefore(start); - domUtils.remove(start); - rng.setCursor(); - me.fireEvent('saveScene'); - domUtils.preventDefault(evt); - return; - } - //阻止在table上的删除 - if (!browser.ie) { - start = domUtils.findParentByTagName(rng.startContainer, 'table', true); - end = domUtils.findParentByTagName(rng.endContainer, 'table', true); - if (start && !end || !start && end || start !== end) { - evt.preventDefault(); - return; - } - } - - } - //处理tab键的逻辑 - if (keyCode == keymap.Tab) { - //不处理以下标签 - var excludeTagNameForTabKey = { - 'ol' : 1, - 'ul' : 1, - 'table':1 - }; - //处理组件里的tab按下事件 - if(me.fireEvent('tabkeydown',evt)){ - domUtils.preventDefault(evt); - return; - } - var range = me.selection.getRange(); - me.fireEvent('saveScene'); - for (var i = 0,txt = '',tabSize = me.options.tabSize|| 4,tabNode = me.options.tabNode || ' '; i < tabSize; i++) { - txt += tabNode; - } - var span = me.document.createElement('span'); - span.innerHTML = txt + domUtils.fillChar; - if (range.collapsed) { - range.insertNode(span.cloneNode(true).firstChild).setCursor(true); - } else { - var filterFn = function(node) { - return domUtils.isBlockElm(node) && !excludeTagNameForTabKey[node.tagName.toLowerCase()] - - }; - //普通的情况 - start = domUtils.findParent(range.startContainer, filterFn,true); - end = domUtils.findParent(range.endContainer, filterFn,true); - if (start && end && start === end) { - range.deleteContents(); - range.insertNode(span.cloneNode(true).firstChild).setCursor(true); - } else { - var bookmark = range.createBookmark(); - range.enlarge(true); - var bookmark2 = range.createBookmark(), - current = domUtils.getNextDomNode(bookmark2.start, false, filterFn); - while (current && !(domUtils.getPosition(current, bookmark2.end) & domUtils.POSITION_FOLLOWING)) { - current.insertBefore(span.cloneNode(true).firstChild, current.firstChild); - current = domUtils.getNextDomNode(current, false, filterFn); - } - range.moveToBookmark(bookmark2).moveToBookmark(bookmark).select(); - } - } - domUtils.preventDefault(evt) - } - //trace:1634 - //ff的del键在容器空的时候,也会删除 - if(browser.gecko && keyCode == 46){ - range = me.selection.getRange(); - if(range.collapsed){ - start = range.startContainer; - if(domUtils.isEmptyBlock(start)){ - var parent = start.parentNode; - while(domUtils.getChildCount(parent) == 1 && !domUtils.isBody(parent)){ - start = parent; - parent = parent.parentNode; - } - if(start === parent.lastChild) - evt.preventDefault(); - return; - } - } - } - }); - me.addListener('keyup', function(type, evt) { - var keyCode = evt.keyCode || evt.which, - rng,me = this; - if(keyCode == keymap.Backspace){ - if(me.fireEvent('delkeyup')){ - return; - } - rng = me.selection.getRange(); - if(rng.collapsed){ - var tmpNode, - autoClearTagName = ['h1','h2','h3','h4','h5','h6']; - if(tmpNode = domUtils.findParentByTagName(rng.startContainer,autoClearTagName,true)){ - if(domUtils.isEmptyBlock(tmpNode)){ - var pre = tmpNode.previousSibling; - if(pre && pre.nodeName != 'TABLE'){ - domUtils.remove(tmpNode); - rng.setStartAtLast(pre).setCursor(false,true); - return; - }else{ - var next = tmpNode.nextSibling; - if(next && next.nodeName != 'TABLE'){ - domUtils.remove(tmpNode); - rng.setStartAtFirst(next).setCursor(false,true); - return; - } - } - } - } - //处理当删除到body时,要重新给p标签展位 - if(domUtils.isBody(rng.startContainer)){ - var tmpNode = domUtils.createElement(me.document,'p',{ - 'innerHTML' : browser.ie ? domUtils.fillChar : '
    ' - }); - rng.insertNode(tmpNode).setStart(tmpNode,0).setCursor(false,true); - } - } - - - //chrome下如果删除了inline标签,浏览器会有记忆,在输入文字还是会套上刚才删除的标签,所以这里再选一次就不会了 - if( !collapsed && (rng.startContainer.nodeType == 3 || rng.startContainer.nodeType == 1 && domUtils.isEmptyBlock(rng.startContainer))){ - if(browser.ie){ - var span = rng.document.createElement('span'); - rng.insertNode(span).setStartBefore(span).collapse(true); - rng.select(); - domUtils.remove(span) - }else{ - rng.select() - } - - } - } - - - }) -}; - -// plugins/fiximgclick.js -///import core -///commands 修复chrome下图片不能点击的问题,出现八个角可改变大小 -///commandsName FixImgClick -///commandsTitle 修复chrome下图片不能点击的问题,出现八个角可改变大小 -//修复chrome下图片不能点击的问题,出现八个角可改变大小 - -UE.plugins['fiximgclick'] = (function () { - - var elementUpdated = false; - function Scale() { - this.editor = null; - this.resizer = null; - this.cover = null; - this.doc = document; - this.prePos = {x: 0, y: 0}; - this.startPos = {x: 0, y: 0}; - } - - (function () { - var rect = [ - //[left, top, width, height] - [0, 0, -1, -1], - [0, 0, 0, -1], - [0, 0, 1, -1], - [0, 0, -1, 0], - [0, 0, 1, 0], - [0, 0, -1, 1], - [0, 0, 0, 1], - [0, 0, 1, 1] - ]; - - Scale.prototype = { - init: function (editor) { - var me = this; - me.editor = editor; - me.startPos = this.prePos = {x: 0, y: 0}; - me.dragId = -1; - - var hands = [], - cover = me.cover = document.createElement('div'), - resizer = me.resizer = document.createElement('div'); - - cover.id = me.editor.ui.id + '_imagescale_cover'; - cover.style.cssText = 'position:absolute;display:none;z-index:' + (me.editor.options.zIndex) + ';filter:alpha(opacity=0); opacity:0;background:#CCC;'; - domUtils.on(cover, 'mousedown click', function () { - me.hide(); - }); - - for (i = 0; i < 8; i++) { - hands.push(''); - } - resizer.id = me.editor.ui.id + '_imagescale'; - resizer.className = 'edui-editor-imagescale'; - resizer.innerHTML = hands.join(''); - resizer.style.cssText += ';display:none;border:1px solid #3b77ff;z-index:' + (me.editor.options.zIndex) + ';'; - - me.editor.ui.getDom().appendChild(cover); - me.editor.ui.getDom().appendChild(resizer); - - me.initStyle(); - me.initEvents(); - }, - initStyle: function () { - utils.cssRule('imagescale', '.edui-editor-imagescale{display:none;position:absolute;border:1px solid #38B2CE;cursor:hand;-webkit-box-sizing: content-box;-moz-box-sizing: content-box;box-sizing: content-box;}' + - '.edui-editor-imagescale span{position:absolute;width:6px;height:6px;overflow:hidden;font-size:0px;display:block;background-color:#3C9DD0;}' - + '.edui-editor-imagescale .edui-editor-imagescale-hand0{cursor:nw-resize;top:0;margin-top:-4px;left:0;margin-left:-4px;}' - + '.edui-editor-imagescale .edui-editor-imagescale-hand1{cursor:n-resize;top:0;margin-top:-4px;left:50%;margin-left:-4px;}' - + '.edui-editor-imagescale .edui-editor-imagescale-hand2{cursor:ne-resize;top:0;margin-top:-4px;left:100%;margin-left:-3px;}' - + '.edui-editor-imagescale .edui-editor-imagescale-hand3{cursor:w-resize;top:50%;margin-top:-4px;left:0;margin-left:-4px;}' - + '.edui-editor-imagescale .edui-editor-imagescale-hand4{cursor:e-resize;top:50%;margin-top:-4px;left:100%;margin-left:-3px;}' - + '.edui-editor-imagescale .edui-editor-imagescale-hand5{cursor:sw-resize;top:100%;margin-top:-3px;left:0;margin-left:-4px;}' - + '.edui-editor-imagescale .edui-editor-imagescale-hand6{cursor:s-resize;top:100%;margin-top:-3px;left:50%;margin-left:-4px;}' - + '.edui-editor-imagescale .edui-editor-imagescale-hand7{cursor:se-resize;top:100%;margin-top:-3px;left:100%;margin-left:-3px;}'); - }, - initEvents: function () { - var me = this; - - me.startPos.x = me.startPos.y = 0; - me.isDraging = false; - }, - _eventHandler: function (e) { - var me = this; - switch (e.type) { - case 'mousedown': - var hand = e.target || e.srcElement, hand; - if (hand.className.indexOf('edui-editor-imagescale-hand') != -1 && me.dragId == -1) { - me.dragId = hand.className.slice(-1); - me.startPos.x = me.prePos.x = e.clientX; - me.startPos.y = me.prePos.y = e.clientY; - domUtils.on(me.doc,'mousemove', me.proxy(me._eventHandler, me)); - } - break; - case 'mousemove': - if (me.dragId != -1) { - me.updateContainerStyle(me.dragId, {x: e.clientX - me.prePos.x, y: e.clientY - me.prePos.y}); - me.prePos.x = e.clientX; - me.prePos.y = e.clientY; - elementUpdated = true; - me.updateTargetElement(); - - } - break; - case 'mouseup': - if (me.dragId != -1) { - me.updateContainerStyle(me.dragId, {x: e.clientX - me.prePos.x, y: e.clientY - me.prePos.y}); - me.updateTargetElement(); - if (me.target.parentNode) me.attachTo(me.target); - me.dragId = -1; - } - domUtils.un(me.doc,'mousemove', me.proxy(me._eventHandler, me)); - //修复只是点击挪动点,但没有改变大小,不应该触发contentchange - if(elementUpdated){ - elementUpdated = false; - me.editor.fireEvent('contentchange'); - } - - break; - default: - break; - } - }, - updateTargetElement: function () { - var me = this; - domUtils.setStyles(me.target, { - 'width': me.resizer.style.width, - 'height': me.resizer.style.height - }); - me.target.width = parseInt(me.resizer.style.width); - me.target.height = parseInt(me.resizer.style.height); - me.attachTo(me.target); - }, - updateContainerStyle: function (dir, offset) { - var me = this, - dom = me.resizer, tmp; - - if (rect[dir][0] != 0) { - tmp = parseInt(dom.style.left) + offset.x; - dom.style.left = me._validScaledProp('left', tmp) + 'px'; - } - if (rect[dir][1] != 0) { - tmp = parseInt(dom.style.top) + offset.y; - dom.style.top = me._validScaledProp('top', tmp) + 'px'; - } - if (rect[dir][2] != 0) { - tmp = dom.clientWidth + rect[dir][2] * offset.x; - dom.style.width = me._validScaledProp('width', tmp) + 'px'; - } - if (rect[dir][3] != 0) { - tmp = dom.clientHeight + rect[dir][3] * offset.y; - dom.style.height = me._validScaledProp('height', tmp) + 'px'; - } - }, - _validScaledProp: function (prop, value) { - var ele = this.resizer, - wrap = document; - - value = isNaN(value) ? 0 : value; - switch (prop) { - case 'left': - return value < 0 ? 0 : (value + ele.clientWidth) > wrap.clientWidth ? wrap.clientWidth - ele.clientWidth : value; - case 'top': - return value < 0 ? 0 : (value + ele.clientHeight) > wrap.clientHeight ? wrap.clientHeight - ele.clientHeight : value; - case 'width': - return value <= 0 ? 1 : (value + ele.offsetLeft) > wrap.clientWidth ? wrap.clientWidth - ele.offsetLeft : value; - case 'height': - return value <= 0 ? 1 : (value + ele.offsetTop) > wrap.clientHeight ? wrap.clientHeight - ele.offsetTop : value; - } - }, - hideCover: function () { - this.cover.style.display = 'none'; - }, - showCover: function () { - var me = this, - editorPos = domUtils.getXY(me.editor.ui.getDom()), - iframePos = domUtils.getXY(me.editor.iframe); - - domUtils.setStyles(me.cover, { - 'width': me.editor.iframe.offsetWidth + 'px', - 'height': me.editor.iframe.offsetHeight + 'px', - 'top': iframePos.y - editorPos.y + 'px', - 'left': iframePos.x - editorPos.x + 'px', - 'position': 'absolute', - 'display': '' - }) - }, - show: function (targetObj) { - var me = this; - me.resizer.style.display = 'block'; - if(targetObj) me.attachTo(targetObj); - - domUtils.on(this.resizer, 'mousedown', me.proxy(me._eventHandler, me)); - domUtils.on(me.doc, 'mouseup', me.proxy(me._eventHandler, me)); - - me.showCover(); - me.editor.fireEvent('afterscaleshow', me); - me.editor.fireEvent('saveScene'); - }, - hide: function () { - var me = this; - me.hideCover(); - me.resizer.style.display = 'none'; - - domUtils.un(me.resizer, 'mousedown', me.proxy(me._eventHandler, me)); - domUtils.un(me.doc, 'mouseup', me.proxy(me._eventHandler, me)); - me.editor.fireEvent('afterscalehide', me); - }, - proxy: function( fn, context ) { - return function(e) { - return fn.apply( context || this, arguments); - }; - }, - attachTo: function (targetObj) { - var me = this, - target = me.target = targetObj, - resizer = this.resizer, - imgPos = domUtils.getXY(target), - iframePos = domUtils.getXY(me.editor.iframe), - editorPos = domUtils.getXY(resizer.parentNode); - - domUtils.setStyles(resizer, { - 'width': target.width + 'px', - 'height': target.height + 'px', - 'left': iframePos.x + imgPos.x - me.editor.document.body.scrollLeft - editorPos.x - parseInt(resizer.style.borderLeftWidth) + 'px', - 'top': iframePos.y + imgPos.y - me.editor.document.body.scrollTop - editorPos.y - parseInt(resizer.style.borderTopWidth) + 'px' - }); - } - } - })(); - - return function () { - var me = this, - imageScale; - - me.setOpt('imageScaleEnabled', true); - - if ( !browser.ie && me.options.imageScaleEnabled) { - me.addListener('click', function (type, e) { - - var range = me.selection.getRange(), - img = range.getClosedNode(); - - if (img && img.tagName == 'IMG' && me.body.contentEditable!="false") { - - if (img.className.indexOf("edui-faked-music") != -1 || - img.getAttribute("anchorname") || - domUtils.hasClass(img, 'loadingclass') || - domUtils.hasClass(img, 'loaderrorclass')) { return } - - if (!imageScale) { - imageScale = new Scale(); - imageScale.init(me); - me.ui.getDom().appendChild(imageScale.resizer); - - var _keyDownHandler = function (e) { - imageScale.hide(); - if(imageScale.target) me.selection.getRange().selectNode(imageScale.target).select(); - }, _mouseDownHandler = function (e) { - var ele = e.target || e.srcElement; - if (ele && (ele.className===undefined || ele.className.indexOf('edui-editor-imagescale') == -1)) { - _keyDownHandler(e); - } - }, timer; - - me.addListener('afterscaleshow', function (e) { - me.addListener('beforekeydown', _keyDownHandler); - me.addListener('beforemousedown', _mouseDownHandler); - domUtils.on(document, 'keydown', _keyDownHandler); - domUtils.on(document,'mousedown', _mouseDownHandler); - me.selection.getNative().removeAllRanges(); - }); - me.addListener('afterscalehide', function (e) { - me.removeListener('beforekeydown', _keyDownHandler); - me.removeListener('beforemousedown', _mouseDownHandler); - domUtils.un(document, 'keydown', _keyDownHandler); - domUtils.un(document,'mousedown', _mouseDownHandler); - var target = imageScale.target; - if (target.parentNode) { - me.selection.getRange().selectNode(target).select(); - } - }); - //TODO 有iframe的情况,mousedown不能往下传。。 - domUtils.on(imageScale.resizer, 'mousedown', function (e) { - me.selection.getNative().removeAllRanges(); - var ele = e.target || e.srcElement; - if (ele && ele.className.indexOf('edui-editor-imagescale-hand') == -1) { - timer = setTimeout(function () { - imageScale.hide(); - if(imageScale.target) me.selection.getRange().selectNode(ele).select(); - }, 200); - } - }); - domUtils.on(imageScale.resizer, 'mouseup', function (e) { - var ele = e.target || e.srcElement; - if (ele && ele.className.indexOf('edui-editor-imagescale-hand') == -1) { - clearTimeout(timer); - } - }); - } - imageScale.show(img); - } else { - if (imageScale && imageScale.resizer.style.display != 'none') imageScale.hide(); - } - }); - } - - if (browser.webkit) { - me.addListener('click', function (type, e) { - if (e.target.tagName == 'IMG' && me.body.contentEditable!="false") { - var range = new dom.Range(me.document); - range.selectNode(e.target).select(); - } - }); - } - } -})(); - -// plugins/autolink.js -///import core -///commands 为非ie浏览器自动添加a标签 -///commandsName AutoLink -///commandsTitle 自动增加链接 -/** - * @description 为非ie浏览器自动添加a标签 - * @author zhanyi - */ - -UE.plugin.register('autolink',function(){ - var cont = 0; - - return !browser.ie ? { - - bindEvents:{ - 'reset' : function(){ - cont = 0; - }, - 'keydown':function(type, evt) { - var me = this; - var keyCode = evt.keyCode || evt.which; - - if (keyCode == 32 || keyCode == 13) { - - var sel = me.selection.getNative(), - range = sel.getRangeAt(0).cloneRange(), - offset, - charCode; - - var start = range.startContainer; - while (start.nodeType == 1 && range.startOffset > 0) { - start = range.startContainer.childNodes[range.startOffset - 1]; - if (!start){ - break; - } - range.setStart(start, start.nodeType == 1 ? start.childNodes.length : start.nodeValue.length); - range.collapse(true); - start = range.startContainer; - } - - do{ - if (range.startOffset == 0) { - start = range.startContainer.previousSibling; - - while (start && start.nodeType == 1) { - start = start.lastChild; - } - if (!start || domUtils.isFillChar(start)){ - break; - } - offset = start.nodeValue.length; - } else { - start = range.startContainer; - offset = range.startOffset; - } - range.setStart(start, offset - 1); - charCode = range.toString().charCodeAt(0); - } while (charCode != 160 && charCode != 32); - - if (range.toString().replace(new RegExp(domUtils.fillChar, 'g'), '').match(/(?:https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.)/i)) { - while(range.toString().length){ - if(/^(?:https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.)/i.test(range.toString())){ - break; - } - try{ - range.setStart(range.startContainer,range.startOffset+1); - }catch(e){ - //trace:2121 - var start = range.startContainer; - while(!(next = start.nextSibling)){ - if(domUtils.isBody(start)){ - return; - } - start = start.parentNode; - - } - range.setStart(next,0); - - } - - } - //range的开始边界已经在a标签里的不再处理 - if(domUtils.findParentByTagName(range.startContainer,'a',true)){ - return; - } - var a = me.document.createElement('a'),text = me.document.createTextNode(' '),href; - - me.undoManger && me.undoManger.save(); - a.appendChild(range.extractContents()); - a.href = a.innerHTML = a.innerHTML.replace(/<[^>]+>/g,''); - href = a.getAttribute("href").replace(new RegExp(domUtils.fillChar,'g'),''); - href = /^(?:https?:\/\/)/ig.test(href) ? href : "http://"+ href; - a.setAttribute('_src',utils.html(href)); - a.href = utils.html(href); - - range.insertNode(a); - a.parentNode.insertBefore(text, a.nextSibling); - range.setStart(text, 0); - range.collapse(true); - sel.removeAllRanges(); - sel.addRange(range); - me.undoManger && me.undoManger.save(); - } - } - } - } - }:{} - },function(){ - var keyCodes = { - 37:1, 38:1, 39:1, 40:1, - 13:1,32:1 - }; - function checkIsCludeLink(node){ - if(node.nodeType == 3){ - return null - } - if(node.nodeName == 'A'){ - return node; - } - var lastChild = node.lastChild; - - while(lastChild){ - if(lastChild.nodeName == 'A'){ - return lastChild; - } - if(lastChild.nodeType == 3){ - if(domUtils.isWhitespace(lastChild)){ - lastChild = lastChild.previousSibling; - continue; - } - return null - } - lastChild = lastChild.lastChild; - } - } - browser.ie && this.addListener('keyup',function(cmd,evt){ - var me = this,keyCode = evt.keyCode; - if(keyCodes[keyCode]){ - var rng = me.selection.getRange(); - var start = rng.startContainer; - - if(keyCode == 13){ - while(start && !domUtils.isBody(start) && !domUtils.isBlockElm(start)){ - start = start.parentNode; - } - if(start && !domUtils.isBody(start) && start.nodeName == 'P'){ - var pre = start.previousSibling; - if(pre && pre.nodeType == 1){ - var pre = checkIsCludeLink(pre); - if(pre && !pre.getAttribute('_href')){ - domUtils.remove(pre,true); - } - } - } - }else if(keyCode == 32 ){ - if(start.nodeType == 3 && /^\s$/.test(start.nodeValue)){ - start = start.previousSibling; - if(start && start.nodeName == 'A' && !start.getAttribute('_href')){ - domUtils.remove(start,true); - } - } - }else { - start = domUtils.findParentByTagName(start,'a',true); - if(start && !start.getAttribute('_href')){ - var bk = rng.createBookmark(); - - domUtils.remove(start,true); - rng.moveToBookmark(bk).select(true) - } - } - - } - - - }); - } -); - -// plugins/autoheight.js -///import core -///commands 当输入内容超过编辑器高度时,编辑器自动增高 -///commandsName AutoHeight,autoHeightEnabled -///commandsTitle 自动增高 -/** - * @description 自动伸展 - * @author zhanyi - */ -UE.plugins['autoheight'] = function () { - var me = this; - //提供开关,就算加载也可以关闭 - me.autoHeightEnabled = me.options.autoHeightEnabled !== false; - if (!me.autoHeightEnabled) { - return; - } - - var bakOverflow, - lastHeight = 0, - options = me.options, - currentHeight, - timer; - - function adjustHeight() { - var me = this; - clearTimeout(timer); - if(isFullscreen)return; - if (!me.queryCommandState || me.queryCommandState && me.queryCommandState('source') != 1) { - timer = setTimeout(function(){ - - var node = me.body.lastChild; - while(node && node.nodeType != 1){ - node = node.previousSibling; - } - if(node && node.nodeType == 1){ - node.style.clear = 'both'; - currentHeight = Math.max(domUtils.getXY(node).y + node.offsetHeight + 25 ,Math.max(options.minFrameHeight, options.initialFrameHeight)) ; - if (currentHeight != lastHeight) { - if (currentHeight !== parseInt(me.iframe.parentNode.style.height)) { - me.iframe.parentNode.style.height = currentHeight + 'px'; - } - me.body.style.height = currentHeight + 'px'; - lastHeight = currentHeight; - } - domUtils.removeStyle(node,'clear'); - } - - - },50) - } - } - var isFullscreen; - me.addListener('fullscreenchanged',function(cmd,f){ - isFullscreen = f - }); - me.addListener('destroy', function () { - me.removeListener('contentchange afterinserthtml keyup mouseup',adjustHeight) - }); - me.enableAutoHeight = function () { - var me = this; - if (!me.autoHeightEnabled) { - return; - } - var doc = me.document; - me.autoHeightEnabled = true; - bakOverflow = doc.body.style.overflowY; - doc.body.style.overflowY = 'hidden'; - me.addListener('contentchange afterinserthtml keyup mouseup',adjustHeight); - //ff不给事件算得不对 - - setTimeout(function () { - adjustHeight.call(me); - }, browser.gecko ? 100 : 0); - me.fireEvent('autoheightchanged', me.autoHeightEnabled); - }; - me.disableAutoHeight = function () { - - me.body.style.overflowY = bakOverflow || ''; - - me.removeListener('contentchange', adjustHeight); - me.removeListener('keyup', adjustHeight); - me.removeListener('mouseup', adjustHeight); - me.autoHeightEnabled = false; - me.fireEvent('autoheightchanged', me.autoHeightEnabled); - }; - - me.on('setHeight',function(){ - me.disableAutoHeight() - }); - me.addListener('ready', function () { - me.enableAutoHeight(); - //trace:1764 - var timer; - domUtils.on(browser.ie ? me.body : me.document, browser.webkit ? 'dragover' : 'drop', function () { - clearTimeout(timer); - timer = setTimeout(function () { - //trace:3681 - adjustHeight.call(me); - }, 100); - - }); - //修复内容过多时,回到顶部,顶部内容被工具栏遮挡问题 - var lastScrollY; - window.onscroll = function(){ - if(lastScrollY === null){ - lastScrollY = this.scrollY - }else if(this.scrollY == 0 && lastScrollY != 0){ - me.window.scrollTo(0,0); - lastScrollY = null; - } - } - }); - - -}; - - - -// plugins/autofloat.js -///import core -///commands 悬浮工具栏 -///commandsName AutoFloat,autoFloatEnabled -///commandsTitle 悬浮工具栏 -/** - * modified by chengchao01 - * 注意: 引入此功能后,在IE6下会将body的背景图片覆盖掉! - */ -UE.plugins['autofloat'] = function() { - var me = this, - lang = me.getLang(); - me.setOpt({ - topOffset:0 - }); - var optsAutoFloatEnabled = me.options.autoFloatEnabled !== false, - topOffset = me.options.topOffset; - - - //如果不固定toolbar的位置,则直接退出 - if(!optsAutoFloatEnabled){ - return; - } - var uiUtils = UE.ui.uiUtils, - LteIE6 = browser.ie && browser.version <= 6, - quirks = browser.quirks; - - function checkHasUI(){ - if(!UE.ui){ - alert(lang.autofloatMsg); - return 0; - } - return 1; - } - function fixIE6FixedPos(){ - var docStyle = document.body.style; - docStyle.backgroundImage = 'url("about:blank")'; - docStyle.backgroundAttachment = 'fixed'; - } - var bakCssText, - placeHolder = document.createElement('div'), - toolbarBox,orgTop, - getPosition, - flag =true; //ie7模式下需要偏移 - function setFloating(){ - var toobarBoxPos = domUtils.getXY(toolbarBox), - origalFloat = domUtils.getComputedStyle(toolbarBox,'position'), - origalLeft = domUtils.getComputedStyle(toolbarBox,'left'); - toolbarBox.style.width = toolbarBox.offsetWidth + 'px'; - toolbarBox.style.zIndex = me.options.zIndex * 1 + 1; - toolbarBox.parentNode.insertBefore(placeHolder, toolbarBox); - if (LteIE6 || (quirks && browser.ie)) { - if(toolbarBox.style.position != 'absolute'){ - toolbarBox.style.position = 'absolute'; - } - toolbarBox.style.top = (document.body.scrollTop||document.documentElement.scrollTop) - orgTop + topOffset + 'px'; - } else { - if (browser.ie7Compat && flag) { - flag = false; - toolbarBox.style.left = domUtils.getXY(toolbarBox).x - document.documentElement.getBoundingClientRect().left+2 + 'px'; - } - if(toolbarBox.style.position != 'fixed'){ - toolbarBox.style.position = 'fixed'; - toolbarBox.style.top = topOffset +"px"; - ((origalFloat == 'absolute' || origalFloat == 'relative') && parseFloat(origalLeft)) && (toolbarBox.style.left = toobarBoxPos.x + 'px'); - } - } - } - function unsetFloating(){ - flag = true; - if(placeHolder.parentNode){ - placeHolder.parentNode.removeChild(placeHolder); - } - - toolbarBox.style.cssText = bakCssText; - } - - function updateFloating(){ - var rect3 = getPosition(me.container); - var offset=me.options.toolbarTopOffset||0; - if (rect3.top < 0 && rect3.bottom - toolbarBox.offsetHeight > offset) { - setFloating(); - }else{ - unsetFloating(); - } - } - var defer_updateFloating = utils.defer(function(){ - updateFloating(); - },browser.ie ? 200 : 100,true); - - me.addListener('destroy',function(){ - domUtils.un(window, ['scroll','resize'], updateFloating); - me.removeListener('keydown', defer_updateFloating); - }); - - me.addListener('ready', function(){ - if(checkHasUI(me)){ - //加载了ui组件,但在new时,没有加载ui,导致编辑器实例上没有ui类,所以这里做判断 - if(!me.ui){ - return; - } - getPosition = uiUtils.getClientRect; - toolbarBox = me.ui.getDom('toolbarbox'); - orgTop = getPosition(toolbarBox).top; - bakCssText = toolbarBox.style.cssText; - placeHolder.style.height = toolbarBox.offsetHeight + 'px'; - if(LteIE6){ - fixIE6FixedPos(); - } - domUtils.on(window, ['scroll','resize'], updateFloating); - me.addListener('keydown', defer_updateFloating); - - me.addListener('beforefullscreenchange', function (t, enabled){ - if (enabled) { - unsetFloating(); - } - }); - me.addListener('fullscreenchanged', function (t, enabled){ - if (!enabled) { - updateFloating(); - } - }); - me.addListener('sourcemodechanged', function (t, enabled){ - setTimeout(function (){ - updateFloating(); - },0); - }); - me.addListener("clearDoc",function(){ - setTimeout(function(){ - updateFloating(); - },0); - - }) - } - }); -}; - - -// plugins/video.js -/** - * video插件, 为UEditor提供视频插入支持 - * @file - * @since 1.2.6.1 - */ - -UE.plugins['video'] = function (){ - var me =this; - - /** - * 创建插入视频字符窜 - * @param url 视频地址 - * @param width 视频宽度 - * @param height 视频高度 - * @param align 视频对齐 - * @param toEmbed 是否以flash代替显示 - * @param addParagraph 是否需要添加P 标签 - */ - function creatInsertStr(url,width,height,id,align,classname,type){ - - url = utils.unhtmlForUrl(url); - align = utils.unhtml(align); - classname = utils.unhtml(classname); - - width = parseInt(width, 10) || 0; - height = parseInt(height, 10) || 0; - - var str; - switch (type){ - case 'image': - str = '' - break; - case 'embed': - str = ''; - break; - case 'video': - var ext = url.substr(url.lastIndexOf('.') + 1); - if(ext == 'ogv') ext = 'ogg'; - str = '' + - ''; - break; - } - return str; - } - - function switchImgAndVideo(root,img2video){ - utils.each(root.getNodesByTagName(img2video ? 'img' : 'embed video'),function(node){ - var className = node.getAttr('class'); - if(className && className.indexOf('edui-faked-video') != -1){ - var html = creatInsertStr( img2video ? node.getAttr('_url') : node.getAttr('src'),node.getAttr('width'),node.getAttr('height'),null,node.getStyle('float') || '',className,img2video ? 'embed':'image'); - node.parentNode.replaceChild(UE.uNode.createElement(html),node); - } - if(className && className.indexOf('edui-upload-video') != -1){ - var html = creatInsertStr( img2video ? node.getAttr('_url') : node.getAttr('src'),node.getAttr('width'),node.getAttr('height'),null,node.getStyle('float') || '',className,img2video ? 'video':'image'); - node.parentNode.replaceChild(UE.uNode.createElement(html),node); - } - }) - } - - me.addOutputRule(function(root){ - switchImgAndVideo(root,true) - }); - me.addInputRule(function(root){ - switchImgAndVideo(root) - }); - - /** - * 插入视频 - * @command insertvideo - * @method execCommand - * @param { String } cmd 命令字符串 - * @param { Object } videoAttr 键值对对象, 描述一个视频的所有属性 - * @example - * ```javascript - * - * var videoAttr = { - * //视频地址 - * url: 'http://www.youku.com/xxx', - * //视频宽高值, 单位px - * width: 200, - * height: 100 - * }; - * - * //editor 是编辑器实例 - * //向编辑器插入单个视频 - * editor.execCommand( 'insertvideo', videoAttr ); - * ``` - */ - - /** - * 插入视频 - * @command insertvideo - * @method execCommand - * @param { String } cmd 命令字符串 - * @param { Array } videoArr 需要插入的视频的数组, 其中的每一个元素都是一个键值对对象, 描述了一个视频的所有属性 - * @example - * ```javascript - * - * var videoAttr1 = { - * //视频地址 - * url: 'http://www.youku.com/xxx', - * //视频宽高值, 单位px - * width: 200, - * height: 100 - * }, - * videoAttr2 = { - * //视频地址 - * url: 'http://www.youku.com/xxx', - * //视频宽高值, 单位px - * width: 200, - * height: 100 - * } - * - * //editor 是编辑器实例 - * //该方法将会向编辑器内插入两个视频 - * editor.execCommand( 'insertvideo', [ videoAttr1, videoAttr2 ] ); - * ``` - */ - - /** - * 查询当前光标所在处是否是一个视频 - * @command insertvideo - * @method queryCommandState - * @param { String } cmd 需要查询的命令字符串 - * @return { int } 如果当前光标所在处的元素是一个视频对象, 则返回1,否则返回0 - * @example - * ```javascript - * - * //editor 是编辑器实例 - * editor.queryCommandState( 'insertvideo' ); - * ``` - */ - me.commands["insertvideo"] = { - execCommand: function (cmd, videoObjs, type){ - videoObjs = utils.isArray(videoObjs)?videoObjs:[videoObjs]; - var html = [],id = 'tmpVedio', cl; - for(var i=0,vi,len = videoObjs.length;i 0) { - return 0; - } - for (var i in dtd.$isNotEmpty) if (dtd.$isNotEmpty.hasOwnProperty(i)) { - if (node.getElementsByTagName(i).length) { - return 0; - } - } - return 1; - }; - UETable.getWidth = function (cell) { - if (!cell)return 0; - return parseInt(domUtils.getComputedStyle(cell, "width"), 10); - }; - - /** - * 获取单元格或者单元格组的“对齐”状态。 如果当前的检测对象是一个单元格组, 只有在满足所有单元格的 水平和竖直 对齐属性都相同的 - * 条件时才会返回其状态值,否则将返回null; 如果当前只检测了一个单元格, 则直接返回当前单元格的对齐状态; - * @param table cell or table cells , 支持单个单元格dom对象 或者 单元格dom对象数组 - * @return { align: 'left' || 'right' || 'center', valign: 'top' || 'middle' || 'bottom' } 或者 null - */ - UETable.getTableCellAlignState = function ( cells ) { - - !utils.isArray( cells ) && ( cells = [cells] ); - - var result = {}, - status = ['align', 'valign'], - tempStatus = null, - isSame = true;//状态是否相同 - - utils.each( cells, function( cellNode ){ - - utils.each( status, function( currentState ){ - - tempStatus = cellNode.getAttribute( currentState ); - - if( !result[ currentState ] && tempStatus ) { - result[ currentState ] = tempStatus; - } else if( !result[ currentState ] || ( tempStatus !== result[ currentState ] ) ) { - isSame = false; - return false; - } - - } ); - - return isSame; - - }); - - return isSame ? result : null; - - }; - - /** - * 根据当前选区获取相关的table信息 - * @return {Object} - */ - UETable.getTableItemsByRange = function (editor) { - var start = editor.selection.getStart(); - - //ff下会选中bookmark - if( start && start.id && start.id.indexOf('_baidu_bookmark_start_') === 0 && start.nextSibling) { - start = start.nextSibling; - } - - //在table或者td边缘有可能存在选中tr的情况 - var cell = start && domUtils.findParentByTagName(start, ["td", "th"], true), - tr = cell && cell.parentNode, - caption = start && domUtils.findParentByTagName(start, 'caption', true), - table = caption ? caption.parentNode : tr && tr.parentNode.parentNode; - - return { - cell:cell, - tr:tr, - table:table, - caption:caption - } - }; - UETable.getUETableBySelected = function (editor) { - var table = UETable.getTableItemsByRange(editor).table; - if (table && table.ueTable && table.ueTable.selectedTds.length) { - return table.ueTable; - } - return null; - }; - - UETable.getDefaultValue = function (editor, table) { - var borderMap = { - thin:'0px', - medium:'1px', - thick:'2px' - }, - tableBorder, tdPadding, tdBorder, tmpValue; - if (!table) { - table = editor.document.createElement('table'); - table.insertRow(0).insertCell(0).innerHTML = 'xxx'; - editor.body.appendChild(table); - var td = table.getElementsByTagName('td')[0]; - tmpValue = domUtils.getComputedStyle(table, 'border-left-width'); - tableBorder = parseInt(borderMap[tmpValue] || tmpValue, 10); - tmpValue = domUtils.getComputedStyle(td, 'padding-left'); - tdPadding = parseInt(borderMap[tmpValue] || tmpValue, 10); - tmpValue = domUtils.getComputedStyle(td, 'border-left-width'); - tdBorder = parseInt(borderMap[tmpValue] || tmpValue, 10); - domUtils.remove(table); - return { - tableBorder:tableBorder, - tdPadding:tdPadding, - tdBorder:tdBorder - }; - } else { - td = table.getElementsByTagName('td')[0]; - tmpValue = domUtils.getComputedStyle(table, 'border-left-width'); - tableBorder = parseInt(borderMap[tmpValue] || tmpValue, 10); - tmpValue = domUtils.getComputedStyle(td, 'padding-left'); - tdPadding = parseInt(borderMap[tmpValue] || tmpValue, 10); - tmpValue = domUtils.getComputedStyle(td, 'border-left-width'); - tdBorder = parseInt(borderMap[tmpValue] || tmpValue, 10); - return { - tableBorder:tableBorder, - tdPadding:tdPadding, - tdBorder:tdBorder - }; - } - }; - /** - * 根据当前点击的td或者table获取索引对象 - * @param tdOrTable - */ - UETable.getUETable = function (tdOrTable) { - var tag = tdOrTable.tagName.toLowerCase(); - tdOrTable = (tag == "td" || tag == "th" || tag == 'caption') ? domUtils.findParentByTagName(tdOrTable, "table", true) : tdOrTable; - if (!tdOrTable.ueTable) { - tdOrTable.ueTable = new UETable(tdOrTable); - } - return tdOrTable.ueTable; - }; - - UETable.cloneCell = function(cell,ignoreMerge,keepPro){ - if (!cell || utils.isString(cell)) { - return this.table.ownerDocument.createElement(cell || 'td'); - } - var flag = domUtils.hasClass(cell, "selectTdClass"); - flag && domUtils.removeClasses(cell, "selectTdClass"); - var tmpCell = cell.cloneNode(true); - if (ignoreMerge) { - tmpCell.rowSpan = tmpCell.colSpan = 1; - } - //去掉宽高 - !keepPro && domUtils.removeAttributes(tmpCell,'width height'); - !keepPro && domUtils.removeAttributes(tmpCell,'style'); - - tmpCell.style.borderLeftStyle = ""; - tmpCell.style.borderTopStyle = ""; - tmpCell.style.borderLeftColor = cell.style.borderRightColor; - tmpCell.style.borderLeftWidth = cell.style.borderRightWidth; - tmpCell.style.borderTopColor = cell.style.borderBottomColor; - tmpCell.style.borderTopWidth = cell.style.borderBottomWidth; - flag && domUtils.addClass(cell, "selectTdClass"); - return tmpCell; - } - - UETable.prototype = { - getMaxRows:function () { - var rows = this.table.rows, maxLen = 1; - for (var i = 0, row; row = rows[i]; i++) { - var currentMax = 1; - for (var j = 0, cj; cj = row.cells[j++];) { - currentMax = Math.max(cj.rowSpan || 1, currentMax); - } - maxLen = Math.max(currentMax + i, maxLen); - } - return maxLen; - }, - /** - * 获取当前表格的最大列数 - */ - getMaxCols:function () { - var rows = this.table.rows, maxLen = 0, cellRows = {}; - for (var i = 0, row; row = rows[i]; i++) { - var cellsNum = 0; - for (var j = 0, cj; cj = row.cells[j++];) { - cellsNum += (cj.colSpan || 1); - if (cj.rowSpan && cj.rowSpan > 1) { - for (var k = 1; k < cj.rowSpan; k++) { - if (!cellRows['row_' + (i + k)]) { - cellRows['row_' + (i + k)] = (cj.colSpan || 1); - } else { - cellRows['row_' + (i + k)]++ - } - } - - } - } - cellsNum += cellRows['row_' + i] || 0; - maxLen = Math.max(cellsNum, maxLen); - } - return maxLen; - }, - getCellColIndex:function (cell) { - - }, - /** - * 获取当前cell旁边的单元格, - * @param cell - * @param right - */ - getHSideCell:function (cell, right) { - try { - var cellInfo = this.getCellInfo(cell), - previewRowIndex, previewColIndex; - var len = this.selectedTds.length, - range = this.cellsRange; - //首行或者首列没有前置单元格 - if ((!right && (!len ? !cellInfo.colIndex : !range.beginColIndex)) || (right && (!len ? (cellInfo.colIndex == (this.colsNum - 1)) : (range.endColIndex == this.colsNum - 1)))) return null; - - previewRowIndex = !len ? cellInfo.rowIndex : range.beginRowIndex; - previewColIndex = !right ? ( !len ? (cellInfo.colIndex < 1 ? 0 : (cellInfo.colIndex - 1)) : range.beginColIndex - 1) - : ( !len ? cellInfo.colIndex + 1 : range.endColIndex + 1); - return this.getCell(this.indexTable[previewRowIndex][previewColIndex].rowIndex, this.indexTable[previewRowIndex][previewColIndex].cellIndex); - } catch (e) { - showError(e); - } - }, - getTabNextCell:function (cell, preRowIndex) { - var cellInfo = this.getCellInfo(cell), - rowIndex = preRowIndex || cellInfo.rowIndex, - colIndex = cellInfo.colIndex + 1 + (cellInfo.colSpan - 1), - nextCell; - try { - nextCell = this.getCell(this.indexTable[rowIndex][colIndex].rowIndex, this.indexTable[rowIndex][colIndex].cellIndex); - } catch (e) { - try { - rowIndex = rowIndex * 1 + 1; - colIndex = 0; - nextCell = this.getCell(this.indexTable[rowIndex][colIndex].rowIndex, this.indexTable[rowIndex][colIndex].cellIndex); - } catch (e) { - } - } - return nextCell; - - }, - /** - * 获取视觉上的后置单元格 - * @param cell - * @param bottom - */ - getVSideCell:function (cell, bottom, ignoreRange) { - try { - var cellInfo = this.getCellInfo(cell), - nextRowIndex, nextColIndex; - var len = this.selectedTds.length && !ignoreRange, - range = this.cellsRange; - //末行或者末列没有后置单元格 - if ((!bottom && (cellInfo.rowIndex == 0)) || (bottom && (!len ? (cellInfo.rowIndex + cellInfo.rowSpan > this.rowsNum - 1) : (range.endRowIndex == this.rowsNum - 1)))) return null; - - nextRowIndex = !bottom ? ( !len ? cellInfo.rowIndex - 1 : range.beginRowIndex - 1) - : ( !len ? (cellInfo.rowIndex + cellInfo.rowSpan) : range.endRowIndex + 1); - nextColIndex = !len ? cellInfo.colIndex : range.beginColIndex; - return this.getCell(this.indexTable[nextRowIndex][nextColIndex].rowIndex, this.indexTable[nextRowIndex][nextColIndex].cellIndex); - } catch (e) { - showError(e); - } - }, - /** - * 获取相同结束位置的单元格,xOrY指代了是获取x轴相同还是y轴相同 - */ - getSameEndPosCells:function (cell, xOrY) { - try { - var flag = (xOrY.toLowerCase() === "x"), - end = domUtils.getXY(cell)[flag ? 'x' : 'y'] + cell["offset" + (flag ? 'Width' : 'Height')], - rows = this.table.rows, - cells = null, returns = []; - for (var i = 0; i < this.rowsNum; i++) { - cells = rows[i].cells; - for (var j = 0, tmpCell; tmpCell = cells[j++];) { - var tmpEnd = domUtils.getXY(tmpCell)[flag ? 'x' : 'y'] + tmpCell["offset" + (flag ? 'Width' : 'Height')]; - //对应行的td已经被上面行rowSpan了 - if (tmpEnd > end && flag) break; - if (cell == tmpCell || end == tmpEnd) { - //只获取单一的单元格 - //todo 仅获取单一单元格在特定情况下会造成returns为空,从而影响后续的拖拽实现,修正这个。需考虑性能 - if (tmpCell[flag ? "colSpan" : "rowSpan"] == 1) { - returns.push(tmpCell); - } - if (flag) break; - } - } - } - return returns; - } catch (e) { - showError(e); - } - }, - setCellContent:function (cell, content) { - cell.innerHTML = content || (browser.ie ? domUtils.fillChar : "
    "); - }, - cloneCell:UETable.cloneCell, - /** - * 获取跟当前单元格的右边竖线为左边的所有未合并单元格 - */ - getSameStartPosXCells:function (cell) { - try { - var start = domUtils.getXY(cell).x + cell.offsetWidth, - rows = this.table.rows, cells , returns = []; - for (var i = 0; i < this.rowsNum; i++) { - cells = rows[i].cells; - for (var j = 0, tmpCell; tmpCell = cells[j++];) { - var tmpStart = domUtils.getXY(tmpCell).x; - if (tmpStart > start) break; - if (tmpStart == start && tmpCell.colSpan == 1) { - returns.push(tmpCell); - break; - } - } - } - return returns; - } catch (e) { - showError(e); - } - }, - /** - * 更新table对应的索引表 - */ - update:function (table) { - this.table = table || this.table; - this.selectedTds = []; - this.cellsRange = {}; - this.indexTable = []; - var rows = this.table.rows, - rowsNum = this.getMaxRows(), - dNum = rowsNum - rows.length, - colsNum = this.getMaxCols(); - while (dNum--) { - this.table.insertRow(rows.length); - } - this.rowsNum = rowsNum; - this.colsNum = colsNum; - for (var i = 0, len = rows.length; i < len; i++) { - this.indexTable[i] = new Array(colsNum); - } - //填充索引表 - for (var rowIndex = 0, row; row = rows[rowIndex]; rowIndex++) { - for (var cellIndex = 0, cell, cells = row.cells; cell = cells[cellIndex]; cellIndex++) { - //修正整行被rowSpan时导致的行数计算错误 - if (cell.rowSpan > rowsNum) { - cell.rowSpan = rowsNum; - } - var colIndex = cellIndex, - rowSpan = cell.rowSpan || 1, - colSpan = cell.colSpan || 1; - //当已经被上一行rowSpan或者被前一列colSpan了,则跳到下一个单元格进行 - while (this.indexTable[rowIndex][colIndex]) colIndex++; - for (var j = 0; j < rowSpan; j++) { - for (var k = 0; k < colSpan; k++) { - this.indexTable[rowIndex + j][colIndex + k] = { - rowIndex:rowIndex, - cellIndex:cellIndex, - colIndex:colIndex, - rowSpan:rowSpan, - colSpan:colSpan - } - } - } - } - } - //修复残缺td - for (j = 0; j < rowsNum; j++) { - for (k = 0; k < colsNum; k++) { - if (this.indexTable[j][k] === undefined) { - row = rows[j]; - cell = row.cells[row.cells.length - 1]; - cell = cell ? cell.cloneNode(true) : this.table.ownerDocument.createElement("td"); - this.setCellContent(cell); - if (cell.colSpan !== 1)cell.colSpan = 1; - if (cell.rowSpan !== 1)cell.rowSpan = 1; - row.appendChild(cell); - this.indexTable[j][k] = { - rowIndex:j, - cellIndex:cell.cellIndex, - colIndex:k, - rowSpan:1, - colSpan:1 - } - } - } - } - //当框选后删除行或者列后撤销,需要重建选区。 - var tds = domUtils.getElementsByTagName(this.table, "td"), - selectTds = []; - utils.each(tds, function (td) { - if (domUtils.hasClass(td, "selectTdClass")) { - selectTds.push(td); - } - }); - if (selectTds.length) { - var start = selectTds[0], - end = selectTds[selectTds.length - 1], - startInfo = this.getCellInfo(start), - endInfo = this.getCellInfo(end); - this.selectedTds = selectTds; - this.cellsRange = { - beginRowIndex:startInfo.rowIndex, - beginColIndex:startInfo.colIndex, - endRowIndex:endInfo.rowIndex + endInfo.rowSpan - 1, - endColIndex:endInfo.colIndex + endInfo.colSpan - 1 - }; - } - //给第一行设置firstRow的样式名称,在排序图标的样式上使用到 - if(!domUtils.hasClass(this.table.rows[0], "firstRow")) { - domUtils.addClass(this.table.rows[0], "firstRow"); - for(var i = 1; i< this.table.rows.length; i++) { - domUtils.removeClasses(this.table.rows[i], "firstRow"); - } - } - }, - /** - * 获取单元格的索引信息 - */ - getCellInfo:function (cell) { - if (!cell) return; - var cellIndex = cell.cellIndex, - rowIndex = cell.parentNode.rowIndex, - rowInfo = this.indexTable[rowIndex], - numCols = this.colsNum; - for (var colIndex = cellIndex; colIndex < numCols; colIndex++) { - var cellInfo = rowInfo[colIndex]; - if (cellInfo.rowIndex === rowIndex && cellInfo.cellIndex === cellIndex) { - return cellInfo; - } - } - }, - /** - * 根据行列号获取单元格 - */ - getCell:function (rowIndex, cellIndex) { - return rowIndex < this.rowsNum && this.table.rows[rowIndex].cells[cellIndex] || null; - }, - /** - * 删除单元格 - */ - deleteCell:function (cell, rowIndex) { - rowIndex = typeof rowIndex == 'number' ? rowIndex : cell.parentNode.rowIndex; - var row = this.table.rows[rowIndex]; - row.deleteCell(cell.cellIndex); - }, - /** - * 根据始末两个单元格获取被框选的所有单元格范围 - */ - getCellsRange:function (cellA, cellB) { - function checkRange(beginRowIndex, beginColIndex, endRowIndex, endColIndex) { - var tmpBeginRowIndex = beginRowIndex, - tmpBeginColIndex = beginColIndex, - tmpEndRowIndex = endRowIndex, - tmpEndColIndex = endColIndex, - cellInfo, colIndex, rowIndex; - // 通过indexTable检查是否存在超出TableRange上边界的情况 - if (beginRowIndex > 0) { - for (colIndex = beginColIndex; colIndex < endColIndex; colIndex++) { - cellInfo = me.indexTable[beginRowIndex][colIndex]; - rowIndex = cellInfo.rowIndex; - if (rowIndex < beginRowIndex) { - tmpBeginRowIndex = Math.min(rowIndex, tmpBeginRowIndex); - } - } - } - // 通过indexTable检查是否存在超出TableRange右边界的情况 - if (endColIndex < me.colsNum) { - for (rowIndex = beginRowIndex; rowIndex < endRowIndex; rowIndex++) { - cellInfo = me.indexTable[rowIndex][endColIndex]; - colIndex = cellInfo.colIndex + cellInfo.colSpan - 1; - if (colIndex > endColIndex) { - tmpEndColIndex = Math.max(colIndex, tmpEndColIndex); - } - } - } - // 检查是否有超出TableRange下边界的情况 - if (endRowIndex < me.rowsNum) { - for (colIndex = beginColIndex; colIndex < endColIndex; colIndex++) { - cellInfo = me.indexTable[endRowIndex][colIndex]; - rowIndex = cellInfo.rowIndex + cellInfo.rowSpan - 1; - if (rowIndex > endRowIndex) { - tmpEndRowIndex = Math.max(rowIndex, tmpEndRowIndex); - } - } - } - // 检查是否有超出TableRange左边界的情况 - if (beginColIndex > 0) { - for (rowIndex = beginRowIndex; rowIndex < endRowIndex; rowIndex++) { - cellInfo = me.indexTable[rowIndex][beginColIndex]; - colIndex = cellInfo.colIndex; - if (colIndex < beginColIndex) { - tmpBeginColIndex = Math.min(cellInfo.colIndex, tmpBeginColIndex); - } - } - } - //递归调用直至所有完成所有框选单元格的扩展 - if (tmpBeginRowIndex != beginRowIndex || tmpBeginColIndex != beginColIndex || tmpEndRowIndex != endRowIndex || tmpEndColIndex != endColIndex) { - return checkRange(tmpBeginRowIndex, tmpBeginColIndex, tmpEndRowIndex, tmpEndColIndex); - } else { - // 不需要扩展TableRange的情况 - return { - beginRowIndex:beginRowIndex, - beginColIndex:beginColIndex, - endRowIndex:endRowIndex, - endColIndex:endColIndex - }; - } - } - - try { - var me = this, - cellAInfo = me.getCellInfo(cellA); - if (cellA === cellB) { - return { - beginRowIndex:cellAInfo.rowIndex, - beginColIndex:cellAInfo.colIndex, - endRowIndex:cellAInfo.rowIndex + cellAInfo.rowSpan - 1, - endColIndex:cellAInfo.colIndex + cellAInfo.colSpan - 1 - }; - } - var cellBInfo = me.getCellInfo(cellB); - // 计算TableRange的四个边 - var beginRowIndex = Math.min(cellAInfo.rowIndex, cellBInfo.rowIndex), - beginColIndex = Math.min(cellAInfo.colIndex, cellBInfo.colIndex), - endRowIndex = Math.max(cellAInfo.rowIndex + cellAInfo.rowSpan - 1, cellBInfo.rowIndex + cellBInfo.rowSpan - 1), - endColIndex = Math.max(cellAInfo.colIndex + cellAInfo.colSpan - 1, cellBInfo.colIndex + cellBInfo.colSpan - 1); - - return checkRange(beginRowIndex, beginColIndex, endRowIndex, endColIndex); - } catch (e) { - //throw e; - } - }, - /** - * 依据cellsRange获取对应的单元格集合 - */ - getCells:function (range) { - //每次获取cells之前必须先清除上次的选择,否则会对后续获取操作造成影响 - this.clearSelected(); - var beginRowIndex = range.beginRowIndex, - beginColIndex = range.beginColIndex, - endRowIndex = range.endRowIndex, - endColIndex = range.endColIndex, - cellInfo, rowIndex, colIndex, tdHash = {}, returnTds = []; - for (var i = beginRowIndex; i <= endRowIndex; i++) { - for (var j = beginColIndex; j <= endColIndex; j++) { - cellInfo = this.indexTable[i][j]; - rowIndex = cellInfo.rowIndex; - colIndex = cellInfo.colIndex; - // 如果Cells里已经包含了此Cell则跳过 - var key = rowIndex + '|' + colIndex; - if (tdHash[key]) continue; - tdHash[key] = 1; - if (rowIndex < i || colIndex < j || rowIndex + cellInfo.rowSpan - 1 > endRowIndex || colIndex + cellInfo.colSpan - 1 > endColIndex) { - return null; - } - returnTds.push(this.getCell(rowIndex, cellInfo.cellIndex)); - } - } - return returnTds; - }, - /** - * 清理已经选中的单元格 - */ - clearSelected:function () { - UETable.removeSelectedClass(this.selectedTds); - this.selectedTds = []; - this.cellsRange = {}; - }, - /** - * 根据range设置已经选中的单元格 - */ - setSelected:function (range) { - var cells = this.getCells(range); - UETable.addSelectedClass(cells); - this.selectedTds = cells; - this.cellsRange = range; - }, - isFullRow:function () { - var range = this.cellsRange; - return (range.endColIndex - range.beginColIndex + 1) == this.colsNum; - }, - isFullCol:function () { - var range = this.cellsRange, - table = this.table, - ths = table.getElementsByTagName("th"), - rows = range.endRowIndex - range.beginRowIndex + 1; - return !ths.length ? rows == this.rowsNum : rows == this.rowsNum || (rows == this.rowsNum - 1); - - }, - /** - * 获取视觉上的前置单元格,默认是左边,top传入时 - * @param cell - * @param top - */ - getNextCell:function (cell, bottom, ignoreRange) { - try { - var cellInfo = this.getCellInfo(cell), - nextRowIndex, nextColIndex; - var len = this.selectedTds.length && !ignoreRange, - range = this.cellsRange; - //末行或者末列没有后置单元格 - if ((!bottom && (cellInfo.rowIndex == 0)) || (bottom && (!len ? (cellInfo.rowIndex + cellInfo.rowSpan > this.rowsNum - 1) : (range.endRowIndex == this.rowsNum - 1)))) return null; - - nextRowIndex = !bottom ? ( !len ? cellInfo.rowIndex - 1 : range.beginRowIndex - 1) - : ( !len ? (cellInfo.rowIndex + cellInfo.rowSpan) : range.endRowIndex + 1); - nextColIndex = !len ? cellInfo.colIndex : range.beginColIndex; - return this.getCell(this.indexTable[nextRowIndex][nextColIndex].rowIndex, this.indexTable[nextRowIndex][nextColIndex].cellIndex); - } catch (e) { - showError(e); - } - }, - getPreviewCell:function (cell, top) { - try { - var cellInfo = this.getCellInfo(cell), - previewRowIndex, previewColIndex; - var len = this.selectedTds.length, - range = this.cellsRange; - //首行或者首列没有前置单元格 - if ((!top && (!len ? !cellInfo.colIndex : !range.beginColIndex)) || (top && (!len ? (cellInfo.rowIndex > (this.colsNum - 1)) : (range.endColIndex == this.colsNum - 1)))) return null; - - previewRowIndex = !top ? ( !len ? cellInfo.rowIndex : range.beginRowIndex ) - : ( !len ? (cellInfo.rowIndex < 1 ? 0 : (cellInfo.rowIndex - 1)) : range.beginRowIndex); - previewColIndex = !top ? ( !len ? (cellInfo.colIndex < 1 ? 0 : (cellInfo.colIndex - 1)) : range.beginColIndex - 1) - : ( !len ? cellInfo.colIndex : range.endColIndex + 1); - return this.getCell(this.indexTable[previewRowIndex][previewColIndex].rowIndex, this.indexTable[previewRowIndex][previewColIndex].cellIndex); - } catch (e) { - showError(e); - } - }, - /** - * 移动单元格中的内容 - */ - moveContent:function (cellTo, cellFrom) { - if (UETable.isEmptyBlock(cellFrom)) return; - if (UETable.isEmptyBlock(cellTo)) { - cellTo.innerHTML = cellFrom.innerHTML; - return; - } - var child = cellTo.lastChild; - if (child.nodeType == 3 || !dtd.$block[child.tagName]) { - cellTo.appendChild(cellTo.ownerDocument.createElement('br')) - } - while (child = cellFrom.firstChild) { - cellTo.appendChild(child); - } - }, - /** - * 向右合并单元格 - */ - mergeRight:function (cell) { - var cellInfo = this.getCellInfo(cell), - rightColIndex = cellInfo.colIndex + cellInfo.colSpan, - rightCellInfo = this.indexTable[cellInfo.rowIndex][rightColIndex], - rightCell = this.getCell(rightCellInfo.rowIndex, rightCellInfo.cellIndex); - //合并 - cell.colSpan = cellInfo.colSpan + rightCellInfo.colSpan; - //被合并的单元格不应存在宽度属性 - cell.removeAttribute("width"); - //移动内容 - this.moveContent(cell, rightCell); - //删掉被合并的Cell - this.deleteCell(rightCell, rightCellInfo.rowIndex); - this.update(); - }, - /** - * 向下合并单元格 - */ - mergeDown:function (cell) { - var cellInfo = this.getCellInfo(cell), - downRowIndex = cellInfo.rowIndex + cellInfo.rowSpan, - downCellInfo = this.indexTable[downRowIndex][cellInfo.colIndex], - downCell = this.getCell(downCellInfo.rowIndex, downCellInfo.cellIndex); - cell.rowSpan = cellInfo.rowSpan + downCellInfo.rowSpan; - cell.removeAttribute("height"); - this.moveContent(cell, downCell); - this.deleteCell(downCell, downCellInfo.rowIndex); - this.update(); - }, - /** - * 合并整个range中的内容 - */ - mergeRange:function () { - //由于合并操作可以在任意时刻进行,所以无法通过鼠标位置等信息实时生成range,只能通过缓存实例中的cellsRange对象来访问 - var range = this.cellsRange, - leftTopCell = this.getCell(range.beginRowIndex, this.indexTable[range.beginRowIndex][range.beginColIndex].cellIndex); - - if (leftTopCell.tagName == "TH" && range.endRowIndex !== range.beginRowIndex) { - var index = this.indexTable, - info = this.getCellInfo(leftTopCell); - leftTopCell = this.getCell(1, index[1][info.colIndex].cellIndex); - range = this.getCellsRange(leftTopCell, this.getCell(index[this.rowsNum - 1][info.colIndex].rowIndex, index[this.rowsNum - 1][info.colIndex].cellIndex)); - } - - // 删除剩余的Cells - var cells = this.getCells(range); - for(var i= 0,ci;ci=cells[i++];){ - if (ci !== leftTopCell) { - this.moveContent(leftTopCell, ci); - this.deleteCell(ci); - } - } - // 修改左上角Cell的rowSpan和colSpan,并调整宽度属性设置 - leftTopCell.rowSpan = range.endRowIndex - range.beginRowIndex + 1; - leftTopCell.rowSpan > 1 && leftTopCell.removeAttribute("height"); - leftTopCell.colSpan = range.endColIndex - range.beginColIndex + 1; - leftTopCell.colSpan > 1 && leftTopCell.removeAttribute("width"); - if (leftTopCell.rowSpan == this.rowsNum && leftTopCell.colSpan != 1) { - leftTopCell.colSpan = 1; - } - - if (leftTopCell.colSpan == this.colsNum && leftTopCell.rowSpan != 1) { - var rowIndex = leftTopCell.parentNode.rowIndex; - //解决IE下的表格操作问题 - if( this.table.deleteRow ) { - for (var i = rowIndex+ 1, curIndex=rowIndex+ 1, len=leftTopCell.rowSpan; i < len; i++) { - this.table.deleteRow(curIndex); - } - } else { - for (var i = 0, len=leftTopCell.rowSpan - 1; i < len; i++) { - var row = this.table.rows[rowIndex + 1]; - row.parentNode.removeChild(row); - } - } - leftTopCell.rowSpan = 1; - } - this.update(); - }, - /** - * 插入一行单元格 - */ - insertRow:function (rowIndex, sourceCell) { - var numCols = this.colsNum, - table = this.table, - row = table.insertRow(rowIndex), cell, - isInsertTitle = typeof sourceCell == 'string' && sourceCell.toUpperCase() == 'TH'; - - function replaceTdToTh(colIndex, cell, tableRow) { - if (colIndex == 0) { - var tr = tableRow.nextSibling || tableRow.previousSibling, - th = tr.cells[colIndex]; - if (th.tagName == 'TH') { - th = cell.ownerDocument.createElement("th"); - th.appendChild(cell.firstChild); - tableRow.insertBefore(th, cell); - domUtils.remove(cell) - } - }else{ - if (cell.tagName == 'TH') { - var td = cell.ownerDocument.createElement("td"); - td.appendChild(cell.firstChild); - tableRow.insertBefore(td, cell); - domUtils.remove(cell) - } - } - } - - //首行直接插入,无需考虑部分单元格被rowspan的情况 - if (rowIndex == 0 || rowIndex == this.rowsNum) { - for (var colIndex = 0; colIndex < numCols; colIndex++) { - cell = this.cloneCell(sourceCell, true); - this.setCellContent(cell); - cell.getAttribute('vAlign') && cell.setAttribute('vAlign', cell.getAttribute('vAlign')); - row.appendChild(cell); - if(!isInsertTitle) replaceTdToTh(colIndex, cell, row); - } - } else { - var infoRow = this.indexTable[rowIndex], - cellIndex = 0; - for (colIndex = 0; colIndex < numCols; colIndex++) { - var cellInfo = infoRow[colIndex]; - //如果存在某个单元格的rowspan穿过待插入行的位置,则修改该单元格的rowspan即可,无需插入单元格 - if (cellInfo.rowIndex < rowIndex) { - cell = this.getCell(cellInfo.rowIndex, cellInfo.cellIndex); - cell.rowSpan = cellInfo.rowSpan + 1; - } else { - cell = this.cloneCell(sourceCell, true); - this.setCellContent(cell); - row.appendChild(cell); - } - if(!isInsertTitle) replaceTdToTh(colIndex, cell, row); - } - } - //框选时插入不触发contentchange,需要手动更新索引。 - this.update(); - return row; - }, - /** - * 删除一行单元格 - * @param rowIndex - */ - deleteRow:function (rowIndex) { - var row = this.table.rows[rowIndex], - infoRow = this.indexTable[rowIndex], - colsNum = this.colsNum, - count = 0; //处理计数 - for (var colIndex = 0; colIndex < colsNum;) { - var cellInfo = infoRow[colIndex], - cell = this.getCell(cellInfo.rowIndex, cellInfo.cellIndex); - if (cell.rowSpan > 1) { - if (cellInfo.rowIndex == rowIndex) { - var clone = cell.cloneNode(true); - clone.rowSpan = cell.rowSpan - 1; - clone.innerHTML = ""; - cell.rowSpan = 1; - var nextRowIndex = rowIndex + 1, - nextRow = this.table.rows[nextRowIndex], - insertCellIndex, - preMerged = this.getPreviewMergedCellsNum(nextRowIndex, colIndex) - count; - if (preMerged < colIndex) { - insertCellIndex = colIndex - preMerged - 1; - //nextRow.insertCell(insertCellIndex); - domUtils.insertAfter(nextRow.cells[insertCellIndex], clone); - } else { - if (nextRow.cells.length) nextRow.insertBefore(clone, nextRow.cells[0]) - } - count += 1; - //cell.parentNode.removeChild(cell); - } - } - colIndex += cell.colSpan || 1; - } - var deleteTds = [], cacheMap = {}; - for (colIndex = 0; colIndex < colsNum; colIndex++) { - var tmpRowIndex = infoRow[colIndex].rowIndex, - tmpCellIndex = infoRow[colIndex].cellIndex, - key = tmpRowIndex + "_" + tmpCellIndex; - if (cacheMap[key])continue; - cacheMap[key] = 1; - cell = this.getCell(tmpRowIndex, tmpCellIndex); - deleteTds.push(cell); - } - var mergeTds = []; - utils.each(deleteTds, function (td) { - if (td.rowSpan == 1) { - td.parentNode.removeChild(td); - } else { - mergeTds.push(td); - } - }); - utils.each(mergeTds, function (td) { - td.rowSpan--; - }); - row.parentNode.removeChild(row); - //浏览器方法本身存在bug,采用自定义方法删除 - //this.table.deleteRow(rowIndex); - this.update(); - }, - insertCol:function (colIndex, sourceCell, defaultValue) { - var rowsNum = this.rowsNum, - rowIndex = 0, - tableRow, cell, - backWidth = parseInt((this.table.offsetWidth - (this.colsNum + 1) * 20 - (this.colsNum + 1)) / (this.colsNum + 1), 10), - isInsertTitleCol = typeof sourceCell == 'string' && sourceCell.toUpperCase() == 'TH'; - - function replaceTdToTh(rowIndex, cell, tableRow) { - if (rowIndex == 0) { - var th = cell.nextSibling || cell.previousSibling; - if (th.tagName == 'TH') { - th = cell.ownerDocument.createElement("th"); - th.appendChild(cell.firstChild); - tableRow.insertBefore(th, cell); - domUtils.remove(cell) - } - }else{ - if (cell.tagName == 'TH') { - var td = cell.ownerDocument.createElement("td"); - td.appendChild(cell.firstChild); - tableRow.insertBefore(td, cell); - domUtils.remove(cell) - } - } - } - - var preCell; - if (colIndex == 0 || colIndex == this.colsNum) { - for (; rowIndex < rowsNum; rowIndex++) { - tableRow = this.table.rows[rowIndex]; - preCell = tableRow.cells[colIndex == 0 ? colIndex : tableRow.cells.length]; - cell = this.cloneCell(sourceCell, true); //tableRow.insertCell(colIndex == 0 ? colIndex : tableRow.cells.length); - this.setCellContent(cell); - cell.setAttribute('vAlign', cell.getAttribute('vAlign')); - preCell && cell.setAttribute('width', preCell.getAttribute('width')); - if (!colIndex) { - tableRow.insertBefore(cell, tableRow.cells[0]); - } else { - domUtils.insertAfter(tableRow.cells[tableRow.cells.length - 1], cell); - } - if(!isInsertTitleCol) replaceTdToTh(rowIndex, cell, tableRow) - } - } else { - for (; rowIndex < rowsNum; rowIndex++) { - var cellInfo = this.indexTable[rowIndex][colIndex]; - if (cellInfo.colIndex < colIndex) { - cell = this.getCell(cellInfo.rowIndex, cellInfo.cellIndex); - cell.colSpan = cellInfo.colSpan + 1; - } else { - tableRow = this.table.rows[rowIndex]; - preCell = tableRow.cells[cellInfo.cellIndex]; - - cell = this.cloneCell(sourceCell, true);//tableRow.insertCell(cellInfo.cellIndex); - this.setCellContent(cell); - cell.setAttribute('vAlign', cell.getAttribute('vAlign')); - preCell && cell.setAttribute('width', preCell.getAttribute('width')); - //防止IE下报错 - preCell ? tableRow.insertBefore(cell, preCell) : tableRow.appendChild(cell); - } - if(!isInsertTitleCol) replaceTdToTh(rowIndex, cell, tableRow); - } - } - //框选时插入不触发contentchange,需要手动更新索引 - this.update(); - this.updateWidth(backWidth, defaultValue || {tdPadding:10, tdBorder:1}); - }, - updateWidth:function (width, defaultValue) { - var table = this.table, - tmpWidth = UETable.getWidth(table) - defaultValue.tdPadding * 2 - defaultValue.tdBorder + width; - if (tmpWidth < table.ownerDocument.body.offsetWidth) { - table.setAttribute("width", tmpWidth); - return; - } - var tds = domUtils.getElementsByTagName(this.table, "td th"); - utils.each(tds, function (td) { - td.setAttribute("width", width); - }) - }, - deleteCol:function (colIndex) { - var indexTable = this.indexTable, - tableRows = this.table.rows, - backTableWidth = this.table.getAttribute("width"), - backTdWidth = 0, - rowsNum = this.rowsNum, - cacheMap = {}; - for (var rowIndex = 0; rowIndex < rowsNum;) { - var infoRow = indexTable[rowIndex], - cellInfo = infoRow[colIndex], - key = cellInfo.rowIndex + '_' + cellInfo.colIndex; - // 跳过已经处理过的Cell - if (cacheMap[key])continue; - cacheMap[key] = 1; - var cell = this.getCell(cellInfo.rowIndex, cellInfo.cellIndex); - if (!backTdWidth) backTdWidth = cell && parseInt(cell.offsetWidth / cell.colSpan, 10).toFixed(0); - // 如果Cell的colSpan大于1, 就修改colSpan, 否则就删掉这个Cell - if (cell.colSpan > 1) { - cell.colSpan--; - } else { - tableRows[rowIndex].deleteCell(cellInfo.cellIndex); - } - rowIndex += cellInfo.rowSpan || 1; - } - this.table.setAttribute("width", backTableWidth - backTdWidth); - this.update(); - }, - splitToCells:function (cell) { - var me = this, - cells = this.splitToRows(cell); - utils.each(cells, function (cell) { - me.splitToCols(cell); - }) - }, - splitToRows:function (cell) { - var cellInfo = this.getCellInfo(cell), - rowIndex = cellInfo.rowIndex, - colIndex = cellInfo.colIndex, - results = []; - // 修改Cell的rowSpan - cell.rowSpan = 1; - results.push(cell); - // 补齐单元格 - for (var i = rowIndex, endRow = rowIndex + cellInfo.rowSpan; i < endRow; i++) { - if (i == rowIndex)continue; - var tableRow = this.table.rows[i], - tmpCell = tableRow.insertCell(colIndex - this.getPreviewMergedCellsNum(i, colIndex)); - tmpCell.colSpan = cellInfo.colSpan; - this.setCellContent(tmpCell); - tmpCell.setAttribute('vAlign', cell.getAttribute('vAlign')); - tmpCell.setAttribute('align', cell.getAttribute('align')); - if (cell.style.cssText) { - tmpCell.style.cssText = cell.style.cssText; - } - results.push(tmpCell); - } - this.update(); - return results; - }, - getPreviewMergedCellsNum:function (rowIndex, colIndex) { - var indexRow = this.indexTable[rowIndex], - num = 0; - for (var i = 0; i < colIndex;) { - var colSpan = indexRow[i].colSpan, - tmpRowIndex = indexRow[i].rowIndex; - num += (colSpan - (tmpRowIndex == rowIndex ? 1 : 0)); - i += colSpan; - } - return num; - }, - splitToCols:function (cell) { - var backWidth = (cell.offsetWidth / cell.colSpan - 22).toFixed(0), - - cellInfo = this.getCellInfo(cell), - rowIndex = cellInfo.rowIndex, - colIndex = cellInfo.colIndex, - results = []; - // 修改Cell的rowSpan - cell.colSpan = 1; - cell.setAttribute("width", backWidth); - results.push(cell); - // 补齐单元格 - for (var j = colIndex, endCol = colIndex + cellInfo.colSpan; j < endCol; j++) { - if (j == colIndex)continue; - var tableRow = this.table.rows[rowIndex], - tmpCell = tableRow.insertCell(this.indexTable[rowIndex][j].cellIndex + 1); - tmpCell.rowSpan = cellInfo.rowSpan; - this.setCellContent(tmpCell); - tmpCell.setAttribute('vAlign', cell.getAttribute('vAlign')); - tmpCell.setAttribute('align', cell.getAttribute('align')); - tmpCell.setAttribute('width', backWidth); - if (cell.style.cssText) { - tmpCell.style.cssText = cell.style.cssText; - } - //处理th的情况 - if (cell.tagName == 'TH') { - var th = cell.ownerDocument.createElement('th'); - th.appendChild(tmpCell.firstChild); - th.setAttribute('vAlign', cell.getAttribute('vAlign')); - th.rowSpan = tmpCell.rowSpan; - tableRow.insertBefore(th, tmpCell); - domUtils.remove(tmpCell); - } - results.push(tmpCell); - } - this.update(); - return results; - }, - isLastCell:function (cell, rowsNum, colsNum) { - rowsNum = rowsNum || this.rowsNum; - colsNum = colsNum || this.colsNum; - var cellInfo = this.getCellInfo(cell); - return ((cellInfo.rowIndex + cellInfo.rowSpan) == rowsNum) && - ((cellInfo.colIndex + cellInfo.colSpan) == colsNum); - }, - getLastCell:function (cells) { - cells = cells || this.table.getElementsByTagName("td"); - var firstInfo = this.getCellInfo(cells[0]); - var me = this, last = cells[0], - tr = last.parentNode, - cellsNum = 0, cols = 0, rows; - utils.each(cells, function (cell) { - if (cell.parentNode == tr)cols += cell.colSpan || 1; - cellsNum += cell.rowSpan * cell.colSpan || 1; - }); - rows = cellsNum / cols; - utils.each(cells, function (cell) { - if (me.isLastCell(cell, rows, cols)) { - last = cell; - return false; - } - }); - return last; - - }, - selectRow:function (rowIndex) { - var indexRow = this.indexTable[rowIndex], - start = this.getCell(indexRow[0].rowIndex, indexRow[0].cellIndex), - end = this.getCell(indexRow[this.colsNum - 1].rowIndex, indexRow[this.colsNum - 1].cellIndex), - range = this.getCellsRange(start, end); - this.setSelected(range); - }, - selectTable:function () { - var tds = this.table.getElementsByTagName("td"), - range = this.getCellsRange(tds[0], tds[tds.length - 1]); - this.setSelected(range); - }, - setBackground:function (cells, value) { - if (typeof value === "string") { - utils.each(cells, function (cell) { - cell.style.backgroundColor = value; - }) - } else if (typeof value === "object") { - value = utils.extend({ - repeat:true, - colorList:["#ddd", "#fff"] - }, value); - var rowIndex = this.getCellInfo(cells[0]).rowIndex, - count = 0, - colors = value.colorList, - getColor = function (list, index, repeat) { - return list[index] ? list[index] : repeat ? list[index % list.length] : ""; - }; - for (var i = 0, cell; cell = cells[i++];) { - var cellInfo = this.getCellInfo(cell); - cell.style.backgroundColor = getColor(colors, ((rowIndex + count) == cellInfo.rowIndex) ? count : ++count, value.repeat); - } - } - }, - removeBackground:function (cells) { - utils.each(cells, function (cell) { - cell.style.backgroundColor = ""; - }) - } - - - }; - function showError(e) { - } -})(); - -// plugins/table.cmds.js -/** - * Created with JetBrains PhpStorm. - * User: taoqili - * Date: 13-2-20 - * Time: 下午6:25 - * To change this template use File | Settings | File Templates. - */ -; -(function () { - var UT = UE.UETable, - getTableItemsByRange = function (editor) { - return UT.getTableItemsByRange(editor); - }, - getUETableBySelected = function (editor) { - return UT.getUETableBySelected(editor) - }, - getDefaultValue = function (editor, table) { - return UT.getDefaultValue(editor, table); - }, - getUETable = function (tdOrTable) { - return UT.getUETable(tdOrTable); - }; - - - UE.commands['inserttable'] = { - queryCommandState: function () { - return getTableItemsByRange(this).table ? -1 : 0; - }, - execCommand: function (cmd, opt) { - function createTable(opt, tdWidth) { - var html = [], - rowsNum = opt.numRows, - colsNum = opt.numCols; - for (var r = 0; r < rowsNum; r++) { - html.push(''); - for (var c = 0; c < colsNum; c++) { - html.push('
  • ' + (browser.ie && browser.version < 11 ? domUtils.fillChar : '
    ') + '
    ' + html.join('') + '
    ' - } - - if (!opt) { - opt = utils.extend({}, { - numCols: this.options.defaultCols, - numRows: this.options.defaultRows, - tdvalign: this.options.tdvalign - }) - } - var me = this; - var range = this.selection.getRange(), - start = range.startContainer, - firstParentBlock = domUtils.findParent(start, function (node) { - return domUtils.isBlockElm(node); - }, true) || me.body; - - var defaultValue = getDefaultValue(me), - tableWidth = firstParentBlock.offsetWidth, - tdWidth = Math.floor(tableWidth / opt.numCols - defaultValue.tdPadding * 2 - defaultValue.tdBorder); - - //todo其他属性 - !opt.tdvalign && (opt.tdvalign = me.options.tdvalign); - me.execCommand("inserthtml", createTable(opt, tdWidth)); - } - }; - - UE.commands['insertparagraphbeforetable'] = { - queryCommandState: function () { - return getTableItemsByRange(this).cell ? 0 : -1; - }, - execCommand: function () { - var table = getTableItemsByRange(this).table; - if (table) { - var p = this.document.createElement("p"); - p.innerHTML = browser.ie ? ' ' : '
    '; - table.parentNode.insertBefore(p, table); - this.selection.getRange().setStart(p, 0).setCursor(); - } - } - }; - - UE.commands['deletetable'] = { - queryCommandState: function () { - var rng = this.selection.getRange(); - return domUtils.findParentByTagName(rng.startContainer, 'table', true) ? 0 : -1; - }, - execCommand: function (cmd, table) { - var rng = this.selection.getRange(); - table = table || domUtils.findParentByTagName(rng.startContainer, 'table', true); - if (table) { - var next = table.nextSibling; - if (!next) { - next = domUtils.createElement(this.document, 'p', { - 'innerHTML': browser.ie ? domUtils.fillChar : '
    ' - }); - table.parentNode.insertBefore(next, table); - } - domUtils.remove(table); - rng = this.selection.getRange(); - if (next.nodeType == 3) { - rng.setStartBefore(next) - } else { - rng.setStart(next, 0) - } - rng.setCursor(false, true) - this.fireEvent("tablehasdeleted") - - } - - } - }; - UE.commands['cellalign'] = { - queryCommandState: function () { - return getSelectedArr(this).length ? 0 : -1 - }, - execCommand: function (cmd, align) { - var selectedTds = getSelectedArr(this); - if (selectedTds.length) { - for (var i = 0, ci; ci = selectedTds[i++];) { - ci.setAttribute('align', align); - } - } - } - }; - UE.commands['cellvalign'] = { - queryCommandState: function () { - return getSelectedArr(this).length ? 0 : -1; - }, - execCommand: function (cmd, valign) { - var selectedTds = getSelectedArr(this); - if (selectedTds.length) { - for (var i = 0, ci; ci = selectedTds[i++];) { - ci.setAttribute('vAlign', valign); - } - } - } - }; - UE.commands['insertcaption'] = { - queryCommandState: function () { - var table = getTableItemsByRange(this).table; - if (table) { - return table.getElementsByTagName('caption').length == 0 ? 1 : -1; - } - return -1; - }, - execCommand: function () { - var table = getTableItemsByRange(this).table; - if (table) { - var caption = this.document.createElement('caption'); - caption.innerHTML = browser.ie ? domUtils.fillChar : '
    '; - table.insertBefore(caption, table.firstChild); - var range = this.selection.getRange(); - range.setStart(caption, 0).setCursor(); - } - - } - }; - UE.commands['deletecaption'] = { - queryCommandState: function () { - var rng = this.selection.getRange(), - table = domUtils.findParentByTagName(rng.startContainer, 'table'); - if (table) { - return table.getElementsByTagName('caption').length == 0 ? -1 : 1; - } - return -1; - }, - execCommand: function () { - var rng = this.selection.getRange(), - table = domUtils.findParentByTagName(rng.startContainer, 'table'); - if (table) { - domUtils.remove(table.getElementsByTagName('caption')[0]); - var range = this.selection.getRange(); - range.setStart(table.rows[0].cells[0], 0).setCursor(); - } - - } - }; - UE.commands['inserttitle'] = { - queryCommandState: function () { - var table = getTableItemsByRange(this).table; - if (table) { - var firstRow = table.rows[0]; - return firstRow.cells[firstRow.cells.length-1].tagName.toLowerCase() != 'th' ? 0 : -1 - } - return -1; - }, - execCommand: function () { - var table = getTableItemsByRange(this).table; - if (table) { - getUETable(table).insertRow(0, 'th'); - } - var th = table.getElementsByTagName('th')[0]; - this.selection.getRange().setStart(th, 0).setCursor(false, true); - } - }; - UE.commands['deletetitle'] = { - queryCommandState: function () { - var table = getTableItemsByRange(this).table; - if (table) { - var firstRow = table.rows[0]; - return firstRow.cells[firstRow.cells.length-1].tagName.toLowerCase() == 'th' ? 0 : -1 - } - return -1; - }, - execCommand: function () { - var table = getTableItemsByRange(this).table; - if (table) { - domUtils.remove(table.rows[0]) - } - var td = table.getElementsByTagName('td')[0]; - this.selection.getRange().setStart(td, 0).setCursor(false, true); - } - }; - UE.commands['inserttitlecol'] = { - queryCommandState: function () { - var table = getTableItemsByRange(this).table; - if (table) { - var lastRow = table.rows[table.rows.length-1]; - return lastRow.getElementsByTagName('th').length ? -1 : 0; - } - return -1; - }, - execCommand: function (cmd) { - var table = getTableItemsByRange(this).table; - if (table) { - getUETable(table).insertCol(0, 'th'); - } - resetTdWidth(table, this); - var th = table.getElementsByTagName('th')[0]; - this.selection.getRange().setStart(th, 0).setCursor(false, true); - } - }; - UE.commands['deletetitlecol'] = { - queryCommandState: function () { - var table = getTableItemsByRange(this).table; - if (table) { - var lastRow = table.rows[table.rows.length-1]; - return lastRow.getElementsByTagName('th').length ? 0 : -1; - } - return -1; - }, - execCommand: function () { - var table = getTableItemsByRange(this).table; - if (table) { - for(var i = 0; i< table.rows.length; i++ ){ - domUtils.remove(table.rows[i].children[0]) - } - } - resetTdWidth(table, this); - var td = table.getElementsByTagName('td')[0]; - this.selection.getRange().setStart(td, 0).setCursor(false, true); - } - }; - - UE.commands["mergeright"] = { - queryCommandState: function (cmd) { - var tableItems = getTableItemsByRange(this), - table = tableItems.table, - cell = tableItems.cell; - - if (!table || !cell) return -1; - var ut = getUETable(table); - if (ut.selectedTds.length) return -1; - - var cellInfo = ut.getCellInfo(cell), - rightColIndex = cellInfo.colIndex + cellInfo.colSpan; - if (rightColIndex >= ut.colsNum) return -1; // 如果处于最右边则不能向右合并 - - var rightCellInfo = ut.indexTable[cellInfo.rowIndex][rightColIndex], - rightCell = table.rows[rightCellInfo.rowIndex].cells[rightCellInfo.cellIndex]; - if (!rightCell || cell.tagName != rightCell.tagName) return -1; // TH和TD不能相互合并 - - // 当且仅当两个Cell的开始列号和结束列号一致时能进行合并 - return (rightCellInfo.rowIndex == cellInfo.rowIndex && rightCellInfo.rowSpan == cellInfo.rowSpan) ? 0 : -1; - }, - execCommand: function (cmd) { - var rng = this.selection.getRange(), - bk = rng.createBookmark(true); - var cell = getTableItemsByRange(this).cell, - ut = getUETable(cell); - ut.mergeRight(cell); - rng.moveToBookmark(bk).select(); - } - }; - UE.commands["mergedown"] = { - queryCommandState: function (cmd) { - var tableItems = getTableItemsByRange(this), - table = tableItems.table, - cell = tableItems.cell; - - if (!table || !cell) return -1; - var ut = getUETable(table); - if (ut.selectedTds.length)return -1; - - var cellInfo = ut.getCellInfo(cell), - downRowIndex = cellInfo.rowIndex + cellInfo.rowSpan; - if (downRowIndex >= ut.rowsNum) return -1; // 如果处于最下边则不能向下合并 - - var downCellInfo = ut.indexTable[downRowIndex][cellInfo.colIndex], - downCell = table.rows[downCellInfo.rowIndex].cells[downCellInfo.cellIndex]; - if (!downCell || cell.tagName != downCell.tagName) return -1; // TH和TD不能相互合并 - - // 当且仅当两个Cell的开始列号和结束列号一致时能进行合并 - return (downCellInfo.colIndex == cellInfo.colIndex && downCellInfo.colSpan == cellInfo.colSpan) ? 0 : -1; - }, - execCommand: function () { - var rng = this.selection.getRange(), - bk = rng.createBookmark(true); - var cell = getTableItemsByRange(this).cell, - ut = getUETable(cell); - ut.mergeDown(cell); - rng.moveToBookmark(bk).select(); - } - }; - UE.commands["mergecells"] = { - queryCommandState: function () { - return getUETableBySelected(this) ? 0 : -1; - }, - execCommand: function () { - var ut = getUETableBySelected(this); - if (ut && ut.selectedTds.length) { - var cell = ut.selectedTds[0]; - ut.mergeRange(); - var rng = this.selection.getRange(); - if (domUtils.isEmptyBlock(cell)) { - rng.setStart(cell, 0).collapse(true) - } else { - rng.selectNodeContents(cell) - } - rng.select(); - } - - - } - }; - UE.commands["insertrow"] = { - queryCommandState: function () { - var tableItems = getTableItemsByRange(this), - cell = tableItems.cell; - return cell && (cell.tagName == "TD" || (cell.tagName == 'TH' && tableItems.tr !== tableItems.table.rows[0])) && - getUETable(tableItems.table).rowsNum < this.options.maxRowNum ? 0 : -1; - }, - execCommand: function () { - var rng = this.selection.getRange(), - bk = rng.createBookmark(true); - var tableItems = getTableItemsByRange(this), - cell = tableItems.cell, - table = tableItems.table, - ut = getUETable(table), - cellInfo = ut.getCellInfo(cell); - //ut.insertRow(!ut.selectedTds.length ? cellInfo.rowIndex:ut.cellsRange.beginRowIndex,''); - if (!ut.selectedTds.length) { - ut.insertRow(cellInfo.rowIndex, cell); - } else { - var range = ut.cellsRange; - for (var i = 0, len = range.endRowIndex - range.beginRowIndex + 1; i < len; i++) { - ut.insertRow(range.beginRowIndex, cell); - } - } - rng.moveToBookmark(bk).select(); - if (table.getAttribute("interlaced") === "enabled")this.fireEvent("interlacetable", table); - } - }; - //后插入行 - UE.commands["insertrownext"] = { - queryCommandState: function () { - var tableItems = getTableItemsByRange(this), - cell = tableItems.cell; - return cell && (cell.tagName == "TD") && getUETable(tableItems.table).rowsNum < this.options.maxRowNum ? 0 : -1; - }, - execCommand: function () { - var rng = this.selection.getRange(), - bk = rng.createBookmark(true); - var tableItems = getTableItemsByRange(this), - cell = tableItems.cell, - table = tableItems.table, - ut = getUETable(table), - cellInfo = ut.getCellInfo(cell); - //ut.insertRow(!ut.selectedTds.length? cellInfo.rowIndex + cellInfo.rowSpan : ut.cellsRange.endRowIndex + 1,''); - if (!ut.selectedTds.length) { - ut.insertRow(cellInfo.rowIndex + cellInfo.rowSpan, cell); - } else { - var range = ut.cellsRange; - for (var i = 0, len = range.endRowIndex - range.beginRowIndex + 1; i < len; i++) { - ut.insertRow(range.endRowIndex + 1, cell); - } - } - rng.moveToBookmark(bk).select(); - if (table.getAttribute("interlaced") === "enabled")this.fireEvent("interlacetable", table); - } - }; - UE.commands["deleterow"] = { - queryCommandState: function () { - var tableItems = getTableItemsByRange(this); - return tableItems.cell ? 0 : -1; - }, - execCommand: function () { - var cell = getTableItemsByRange(this).cell, - ut = getUETable(cell), - cellsRange = ut.cellsRange, - cellInfo = ut.getCellInfo(cell), - preCell = ut.getVSideCell(cell), - nextCell = ut.getVSideCell(cell, true), - rng = this.selection.getRange(); - if (utils.isEmptyObject(cellsRange)) { - ut.deleteRow(cellInfo.rowIndex); - } else { - for (var i = cellsRange.beginRowIndex; i < cellsRange.endRowIndex + 1; i++) { - ut.deleteRow(cellsRange.beginRowIndex); - } - } - var table = ut.table; - if (!table.getElementsByTagName('td').length) { - var nextSibling = table.nextSibling; - domUtils.remove(table); - if (nextSibling) { - rng.setStart(nextSibling, 0).setCursor(false, true); - } - } else { - if (cellInfo.rowSpan == 1 || cellInfo.rowSpan == cellsRange.endRowIndex - cellsRange.beginRowIndex + 1) { - if (nextCell || preCell) rng.selectNodeContents(nextCell || preCell).setCursor(false, true); - } else { - var newCell = ut.getCell(cellInfo.rowIndex, ut.indexTable[cellInfo.rowIndex][cellInfo.colIndex].cellIndex); - if (newCell) rng.selectNodeContents(newCell).setCursor(false, true); - } - } - if (table.getAttribute("interlaced") === "enabled")this.fireEvent("interlacetable", table); - } - }; - UE.commands["insertcol"] = { - queryCommandState: function (cmd) { - var tableItems = getTableItemsByRange(this), - cell = tableItems.cell; - return cell && (cell.tagName == "TD" || (cell.tagName == 'TH' && cell !== tableItems.tr.cells[0])) && - getUETable(tableItems.table).colsNum < this.options.maxColNum ? 0 : -1; - }, - execCommand: function (cmd) { - var rng = this.selection.getRange(), - bk = rng.createBookmark(true); - if (this.queryCommandState(cmd) == -1)return; - var cell = getTableItemsByRange(this).cell, - ut = getUETable(cell), - cellInfo = ut.getCellInfo(cell); - - //ut.insertCol(!ut.selectedTds.length ? cellInfo.colIndex:ut.cellsRange.beginColIndex); - if (!ut.selectedTds.length) { - ut.insertCol(cellInfo.colIndex, cell); - } else { - var range = ut.cellsRange; - for (var i = 0, len = range.endColIndex - range.beginColIndex + 1; i < len; i++) { - ut.insertCol(range.beginColIndex, cell); - } - } - rng.moveToBookmark(bk).select(true); - } - }; - UE.commands["insertcolnext"] = { - queryCommandState: function () { - var tableItems = getTableItemsByRange(this), - cell = tableItems.cell; - return cell && getUETable(tableItems.table).colsNum < this.options.maxColNum ? 0 : -1; - }, - execCommand: function () { - var rng = this.selection.getRange(), - bk = rng.createBookmark(true); - var cell = getTableItemsByRange(this).cell, - ut = getUETable(cell), - cellInfo = ut.getCellInfo(cell); - //ut.insertCol(!ut.selectedTds.length ? cellInfo.colIndex + cellInfo.colSpan:ut.cellsRange.endColIndex +1); - if (!ut.selectedTds.length) { - ut.insertCol(cellInfo.colIndex + cellInfo.colSpan, cell); - } else { - var range = ut.cellsRange; - for (var i = 0, len = range.endColIndex - range.beginColIndex + 1; i < len; i++) { - ut.insertCol(range.endColIndex + 1, cell); - } - } - rng.moveToBookmark(bk).select(); - } - }; - - UE.commands["deletecol"] = { - queryCommandState: function () { - var tableItems = getTableItemsByRange(this); - return tableItems.cell ? 0 : -1; - }, - execCommand: function () { - var cell = getTableItemsByRange(this).cell, - ut = getUETable(cell), - range = ut.cellsRange, - cellInfo = ut.getCellInfo(cell), - preCell = ut.getHSideCell(cell), - nextCell = ut.getHSideCell(cell, true); - if (utils.isEmptyObject(range)) { - ut.deleteCol(cellInfo.colIndex); - } else { - for (var i = range.beginColIndex; i < range.endColIndex + 1; i++) { - ut.deleteCol(range.beginColIndex); - } - } - var table = ut.table, - rng = this.selection.getRange(); - - if (!table.getElementsByTagName('td').length) { - var nextSibling = table.nextSibling; - domUtils.remove(table); - if (nextSibling) { - rng.setStart(nextSibling, 0).setCursor(false, true); - } - } else { - if (domUtils.inDoc(cell, this.document)) { - rng.setStart(cell, 0).setCursor(false, true); - } else { - if (nextCell && domUtils.inDoc(nextCell, this.document)) { - rng.selectNodeContents(nextCell).setCursor(false, true); - } else { - if (preCell && domUtils.inDoc(preCell, this.document)) { - rng.selectNodeContents(preCell).setCursor(true, true); - } - } - } - } - } - }; - UE.commands["splittocells"] = { - queryCommandState: function () { - var tableItems = getTableItemsByRange(this), - cell = tableItems.cell; - if (!cell) return -1; - var ut = getUETable(tableItems.table); - if (ut.selectedTds.length > 0) return -1; - return cell && (cell.colSpan > 1 || cell.rowSpan > 1) ? 0 : -1; - }, - execCommand: function () { - var rng = this.selection.getRange(), - bk = rng.createBookmark(true); - var cell = getTableItemsByRange(this).cell, - ut = getUETable(cell); - ut.splitToCells(cell); - rng.moveToBookmark(bk).select(); - } - }; - UE.commands["splittorows"] = { - queryCommandState: function () { - var tableItems = getTableItemsByRange(this), - cell = tableItems.cell; - if (!cell) return -1; - var ut = getUETable(tableItems.table); - if (ut.selectedTds.length > 0) return -1; - return cell && cell.rowSpan > 1 ? 0 : -1; - }, - execCommand: function () { - var rng = this.selection.getRange(), - bk = rng.createBookmark(true); - var cell = getTableItemsByRange(this).cell, - ut = getUETable(cell); - ut.splitToRows(cell); - rng.moveToBookmark(bk).select(); - } - }; - UE.commands["splittocols"] = { - queryCommandState: function () { - var tableItems = getTableItemsByRange(this), - cell = tableItems.cell; - if (!cell) return -1; - var ut = getUETable(tableItems.table); - if (ut.selectedTds.length > 0) return -1; - return cell && cell.colSpan > 1 ? 0 : -1; - }, - execCommand: function () { - var rng = this.selection.getRange(), - bk = rng.createBookmark(true); - var cell = getTableItemsByRange(this).cell, - ut = getUETable(cell); - ut.splitToCols(cell); - rng.moveToBookmark(bk).select(); - - } - }; - - UE.commands["adaptbytext"] = - UE.commands["adaptbywindow"] = { - queryCommandState: function () { - return getTableItemsByRange(this).table ? 0 : -1 - }, - execCommand: function (cmd) { - var tableItems = getTableItemsByRange(this), - table = tableItems.table; - if (table) { - if (cmd == 'adaptbywindow') { - resetTdWidth(table, this); - } else { - var cells = domUtils.getElementsByTagName(table, "td th"); - utils.each(cells, function (cell) { - cell.removeAttribute("width"); - }); - table.removeAttribute("width"); - } - } - } - }; - - //平均分配各列 - UE.commands['averagedistributecol'] = { - queryCommandState: function () { - var ut = getUETableBySelected(this); - if (!ut) return -1; - return ut.isFullRow() || ut.isFullCol() ? 0 : -1; - }, - execCommand: function (cmd) { - var me = this, - ut = getUETableBySelected(me); - - function getAverageWidth() { - var tb = ut.table, - averageWidth, sumWidth = 0, colsNum = 0, - tbAttr = getDefaultValue(me, tb); - - if (ut.isFullRow()) { - sumWidth = tb.offsetWidth; - colsNum = ut.colsNum; - } else { - var begin = ut.cellsRange.beginColIndex, - end = ut.cellsRange.endColIndex, - node; - for (var i = begin; i <= end;) { - node = ut.selectedTds[i]; - sumWidth += node.offsetWidth; - i += node.colSpan; - colsNum += 1; - } - } - averageWidth = Math.ceil(sumWidth / colsNum) - tbAttr.tdBorder * 2 - tbAttr.tdPadding * 2; - return averageWidth; - } - - function setAverageWidth(averageWidth) { - utils.each(domUtils.getElementsByTagName(ut.table, "th"), function (node) { - node.setAttribute("width", ""); - }); - var cells = ut.isFullRow() ? domUtils.getElementsByTagName(ut.table, "td") : ut.selectedTds; - - utils.each(cells, function (node) { - if (node.colSpan == 1) { - node.setAttribute("width", averageWidth); - } - }); - } - - if (ut && ut.selectedTds.length) { - setAverageWidth(getAverageWidth()); - } - } - }; - //平均分配各行 - UE.commands['averagedistributerow'] = { - queryCommandState: function () { - var ut = getUETableBySelected(this); - if (!ut) return -1; - if (ut.selectedTds && /th/ig.test(ut.selectedTds[0].tagName)) return -1; - return ut.isFullRow() || ut.isFullCol() ? 0 : -1; - }, - execCommand: function (cmd) { - var me = this, - ut = getUETableBySelected(me); - - function getAverageHeight() { - var averageHeight, rowNum, sumHeight = 0, - tb = ut.table, - tbAttr = getDefaultValue(me, tb), - tdpadding = parseInt(domUtils.getComputedStyle(tb.getElementsByTagName('td')[0], "padding-top")); - - if (ut.isFullCol()) { - var captionArr = domUtils.getElementsByTagName(tb, "caption"), - thArr = domUtils.getElementsByTagName(tb, "th"), - captionHeight, thHeight; - - if (captionArr.length > 0) { - captionHeight = captionArr[0].offsetHeight; - } - if (thArr.length > 0) { - thHeight = thArr[0].offsetHeight; - } - - sumHeight = tb.offsetHeight - (captionHeight || 0) - (thHeight || 0); - rowNum = thArr.length == 0 ? ut.rowsNum : (ut.rowsNum - 1); - } else { - var begin = ut.cellsRange.beginRowIndex, - end = ut.cellsRange.endRowIndex, - count = 0, - trs = domUtils.getElementsByTagName(tb, "tr"); - for (var i = begin; i <= end; i++) { - sumHeight += trs[i].offsetHeight; - count += 1; - } - rowNum = count; - } - //ie8下是混杂模式 - if (browser.ie && browser.version < 9) { - averageHeight = Math.ceil(sumHeight / rowNum); - } else { - averageHeight = Math.ceil(sumHeight / rowNum) - tbAttr.tdBorder * 2 - tdpadding * 2; - } - return averageHeight; - } - - function setAverageHeight(averageHeight) { - var cells = ut.isFullCol() ? domUtils.getElementsByTagName(ut.table, "td") : ut.selectedTds; - utils.each(cells, function (node) { - if (node.rowSpan == 1) { - node.setAttribute("height", averageHeight); - } - }); - } - - if (ut && ut.selectedTds.length) { - setAverageHeight(getAverageHeight()); - } - } - }; - - //单元格对齐方式 - UE.commands['cellalignment'] = { - queryCommandState: function () { - return getTableItemsByRange(this).table ? 0 : -1 - }, - execCommand: function (cmd, data) { - var me = this, - ut = getUETableBySelected(me); - - if (!ut) { - var start = me.selection.getStart(), - cell = start && domUtils.findParentByTagName(start, ["td", "th", "caption"], true); - if (!/caption/ig.test(cell.tagName)) { - domUtils.setAttributes(cell, data); - } else { - cell.style.textAlign = data.align; - cell.style.verticalAlign = data.vAlign; - } - me.selection.getRange().setCursor(true); - } else { - utils.each(ut.selectedTds, function (cell) { - domUtils.setAttributes(cell, data); - }); - } - }, - /** - * 查询当前点击的单元格的对齐状态, 如果当前已经选择了多个单元格, 则会返回所有单元格经过统一协调过后的状态 - * @see UE.UETable.getTableCellAlignState - */ - queryCommandValue: function (cmd) { - - var activeMenuCell = getTableItemsByRange( this).cell; - - if( !activeMenuCell ) { - activeMenuCell = getSelectedArr(this)[0]; - } - - if (!activeMenuCell) { - - return null; - - } else { - - //获取同时选中的其他单元格 - var cells = UE.UETable.getUETable(activeMenuCell).selectedTds; - - !cells.length && ( cells = activeMenuCell ); - - return UE.UETable.getTableCellAlignState(cells); - - } - - } - }; - //表格对齐方式 - UE.commands['tablealignment'] = { - queryCommandState: function () { - if (browser.ie && browser.version < 8) { - return -1; - } - return getTableItemsByRange(this).table ? 0 : -1 - }, - execCommand: function (cmd, value) { - var me = this, - start = me.selection.getStart(), - table = start && domUtils.findParentByTagName(start, ["table"], true); - - if (table) { - table.setAttribute("align",value); - } - } - }; - - //表格属性 - UE.commands['edittable'] = { - queryCommandState: function () { - return getTableItemsByRange(this).table ? 0 : -1 - }, - execCommand: function (cmd, color) { - var rng = this.selection.getRange(), - table = domUtils.findParentByTagName(rng.startContainer, 'table'); - if (table) { - var arr = domUtils.getElementsByTagName(table, "td").concat( - domUtils.getElementsByTagName(table, "th"), - domUtils.getElementsByTagName(table, "caption") - ); - utils.each(arr, function (node) { - node.style.borderColor = color; - }); - } - } - }; - //单元格属性 - UE.commands['edittd'] = { - queryCommandState: function () { - return getTableItemsByRange(this).table ? 0 : -1 - }, - execCommand: function (cmd, bkColor) { - var me = this, - ut = getUETableBySelected(me); - - if (!ut) { - var start = me.selection.getStart(), - cell = start && domUtils.findParentByTagName(start, ["td", "th", "caption"], true); - if (cell) { - cell.style.backgroundColor = bkColor; - } - } else { - utils.each(ut.selectedTds, function (cell) { - cell.style.backgroundColor = bkColor; - }); - } - } - }; - - UE.commands["settablebackground"] = { - queryCommandState: function () { - return getSelectedArr(this).length > 1 ? 0 : -1; - }, - execCommand: function (cmd, value) { - var cells, ut; - cells = getSelectedArr(this); - ut = getUETable(cells[0]); - ut.setBackground(cells, value); - } - }; - - UE.commands["cleartablebackground"] = { - queryCommandState: function () { - var cells = getSelectedArr(this); - if (!cells.length)return -1; - for (var i = 0, cell; cell = cells[i++];) { - if (cell.style.backgroundColor !== "") return 0; - } - return -1; - }, - execCommand: function () { - var cells = getSelectedArr(this), - ut = getUETable(cells[0]); - ut.removeBackground(cells); - } - }; - - UE.commands["interlacetable"] = UE.commands["uninterlacetable"] = { - queryCommandState: function (cmd) { - var table = getTableItemsByRange(this).table; - if (!table) return -1; - var interlaced = table.getAttribute("interlaced"); - if (cmd == "interlacetable") { - //TODO 待定 - //是否需要待定,如果设置,则命令只能单次执行成功,但反射具备toggle效果;否则可以覆盖前次命令,但反射将不存在toggle效果 - return (interlaced === "enabled") ? -1 : 0; - } else { - return (!interlaced || interlaced === "disabled") ? -1 : 0; - } - }, - execCommand: function (cmd, classList) { - var table = getTableItemsByRange(this).table; - if (cmd == "interlacetable") { - table.setAttribute("interlaced", "enabled"); - this.fireEvent("interlacetable", table, classList); - } else { - table.setAttribute("interlaced", "disabled"); - this.fireEvent("uninterlacetable", table); - } - } - }; - UE.commands["setbordervisible"] = { - queryCommandState: function (cmd) { - var table = getTableItemsByRange(this).table; - if (!table) return -1; - return 0; - }, - execCommand: function () { - var table = getTableItemsByRange(this).table; - utils.each(domUtils.getElementsByTagName(table,'td'),function(td){ - td.style.borderWidth = '1px'; - td.style.borderStyle = 'solid'; - }) - } - }; - function resetTdWidth(table, editor) { - var tds = domUtils.getElementsByTagName(table,'td th'); - utils.each(tds, function (td) { - td.removeAttribute("width"); - }); - table.setAttribute('width', getTableWidth(editor, true, getDefaultValue(editor, table))); - var tdsWidths = []; - setTimeout(function () { - utils.each(tds, function (td) { - (td.colSpan == 1) && tdsWidths.push(td.offsetWidth) - }) - utils.each(tds, function (td,i) { - (td.colSpan == 1) && td.setAttribute("width", tdsWidths[i] + ""); - }) - }, 0); - } - - function getTableWidth(editor, needIEHack, defaultValue) { - var body = editor.body; - return body.offsetWidth - (needIEHack ? parseInt(domUtils.getComputedStyle(body, 'margin-left'), 10) * 2 : 0) - defaultValue.tableBorder * 2 - (editor.options.offsetWidth || 0); - } - - function getSelectedArr(editor) { - var cell = getTableItemsByRange(editor).cell; - if (cell) { - var ut = getUETable(cell); - return ut.selectedTds.length ? ut.selectedTds : [cell]; - } else { - return []; - } - } -})(); - - -// plugins/table.action.js -/** - * Created with JetBrains PhpStorm. - * User: taoqili - * Date: 12-10-12 - * Time: 上午10:05 - * To change this template use File | Settings | File Templates. - */ -UE.plugins['table'] = function () { - var me = this, - tabTimer = null, - //拖动计时器 - tableDragTimer = null, - //双击计时器 - tableResizeTimer = null, - //单元格最小宽度 - cellMinWidth = 5, - isInResizeBuffer = false, - //单元格边框大小 - cellBorderWidth = 5, - //鼠标偏移距离 - offsetOfTableCell = 10, - //记录在有限时间内的点击状态, 共有3个取值, 0, 1, 2。 0代表未初始化, 1代表单击了1次,2代表2次 - singleClickState = 0, - userActionStatus = null, - //双击允许的时间范围 - dblclickTime = 360, - UT = UE.UETable, - getUETable = function (tdOrTable) { - return UT.getUETable(tdOrTable); - }, - getUETableBySelected = function (editor) { - return UT.getUETableBySelected(editor); - }, - getDefaultValue = function (editor, table) { - return UT.getDefaultValue(editor, table); - }, - removeSelectedClass = function (cells) { - return UT.removeSelectedClass(cells); - }; - - function showError(e) { -// throw e; - } - me.ready(function(){ - var me = this; - var orgGetText = me.selection.getText; - me.selection.getText = function(){ - var table = getUETableBySelected(me); - if(table){ - var str = ''; - utils.each(table.selectedTds,function(td){ - str += td[browser.ie?'innerText':'textContent']; - }) - return str; - }else{ - return orgGetText.call(me.selection) - } - - } - }) - - //处理拖动及框选相关方法 - var startTd = null, //鼠标按下时的锚点td - currentTd = null, //当前鼠标经过时的td - onDrag = "", //指示当前拖动状态,其值可为"","h","v" ,分别表示未拖动状态,横向拖动状态,纵向拖动状态,用于鼠标移动过程中的判断 - onBorder = false, //检测鼠标按下时是否处在单元格边缘位置 - dragButton = null, - dragOver = false, - dragLine = null, //模拟的拖动线 - dragTd = null; //发生拖动的目标td - - var mousedown = false, - //todo 判断混乱模式 - needIEHack = true; - - me.setOpt({ - 'maxColNum':20, - 'maxRowNum':100, - 'defaultCols':5, - 'defaultRows':5, - 'tdvalign':'top', - 'cursorpath':me.options.UEDITOR_HOME_URL + "themes/default/images/cursor_", - 'tableDragable':false, - 'classList':["ue-table-interlace-color-single","ue-table-interlace-color-double"] - }); - me.getUETable = getUETable; - var commands = { - 'deletetable':1, - 'inserttable':1, - 'cellvalign':1, - 'insertcaption':1, - 'deletecaption':1, - 'inserttitle':1, - 'deletetitle':1, - "mergeright":1, - "mergedown":1, - "mergecells":1, - "insertrow":1, - "insertrownext":1, - "deleterow":1, - "insertcol":1, - "insertcolnext":1, - "deletecol":1, - "splittocells":1, - "splittorows":1, - "splittocols":1, - "adaptbytext":1, - "adaptbywindow":1, - "adaptbycustomer":1, - "insertparagraph":1, - "insertparagraphbeforetable":1, - "averagedistributecol":1, - "averagedistributerow":1 - }; - me.ready(function () { - utils.cssRule('table', - //选中的td上的样式 - '.selectTdClass{background-color:#edf5fa !important}' + - 'table.noBorderTable td,table.noBorderTable th,table.noBorderTable caption{border:1px dashed #ddd !important}' + - //插入的表格的默认样式 - 'table{margin-bottom:10px;border-collapse:collapse;display:table;}' + - 'td,th{padding: 5px 10px;border: 1px solid #DDD;}' + - 'caption{border:1px dashed #DDD;border-bottom:0;padding:3px;text-align:center;}' + - 'th{border-top:1px solid #BBB;background-color:#F7F7F7;}' + - 'table tr.firstRow th{border-top-width:2px;}' + - '.ue-table-interlace-color-single{ background-color: #fcfcfc; } .ue-table-interlace-color-double{ background-color: #f7faff; }' + - 'td p{margin:0;padding:0;}', me.document); - - var tableCopyList, isFullCol, isFullRow; - //注册del/backspace事件 - me.addListener('keydown', function (cmd, evt) { - var me = this; - var keyCode = evt.keyCode || evt.which; - - if (keyCode == 8) { - - var ut = getUETableBySelected(me); - if (ut && ut.selectedTds.length) { - - if (ut.isFullCol()) { - me.execCommand('deletecol') - } else if (ut.isFullRow()) { - me.execCommand('deleterow') - } else { - me.fireEvent('delcells'); - } - domUtils.preventDefault(evt); - } - - var caption = domUtils.findParentByTagName(me.selection.getStart(), 'caption', true), - range = me.selection.getRange(); - if (range.collapsed && caption && isEmptyBlock(caption)) { - me.fireEvent('saveScene'); - var table = caption.parentNode; - domUtils.remove(caption); - if (table) { - range.setStart(table.rows[0].cells[0], 0).setCursor(false, true); - } - me.fireEvent('saveScene'); - } - - } - - if (keyCode == 46) { - - ut = getUETableBySelected(me); - if (ut) { - me.fireEvent('saveScene'); - for (var i = 0, ci; ci = ut.selectedTds[i++];) { - domUtils.fillNode(me.document, ci) - } - me.fireEvent('saveScene'); - domUtils.preventDefault(evt); - - } - - } - if (keyCode == 13) { - - var rng = me.selection.getRange(), - caption = domUtils.findParentByTagName(rng.startContainer, 'caption', true); - if (caption) { - var table = domUtils.findParentByTagName(caption, 'table'); - if (!rng.collapsed) { - - rng.deleteContents(); - me.fireEvent('saveScene'); - } else { - if (caption) { - rng.setStart(table.rows[0].cells[0], 0).setCursor(false, true); - } - } - domUtils.preventDefault(evt); - return; - } - if (rng.collapsed) { - var table = domUtils.findParentByTagName(rng.startContainer, 'table'); - if (table) { - var cell = table.rows[0].cells[0], - start = domUtils.findParentByTagName(me.selection.getStart(), ['td', 'th'], true), - preNode = table.previousSibling; - if (cell === start && (!preNode || preNode.nodeType == 1 && preNode.tagName == 'TABLE' ) && domUtils.isStartInblock(rng)) { - var first = domUtils.findParent(me.selection.getStart(), function(n){return domUtils.isBlockElm(n)}, true); - if(first && ( /t(h|d)/i.test(first.tagName) || first === start.firstChild )){ - me.execCommand('insertparagraphbeforetable'); - domUtils.preventDefault(evt); - } - - } - } - } - } - - if ((evt.ctrlKey || evt.metaKey) && evt.keyCode == '67') { - tableCopyList = null; - var ut = getUETableBySelected(me); - if (ut) { - var tds = ut.selectedTds; - isFullCol = ut.isFullCol(); - isFullRow = ut.isFullRow(); - tableCopyList = [ - [ut.cloneCell(tds[0],null,true)] - ]; - for (var i = 1, ci; ci = tds[i]; i++) { - if (ci.parentNode !== tds[i - 1].parentNode) { - tableCopyList.push([ut.cloneCell(ci,null,true)]); - } else { - tableCopyList[tableCopyList.length - 1].push(ut.cloneCell(ci,null,true)); - } - - } - } - } - }); - me.addListener("tablehasdeleted",function(){ - toggleDraggableState(this, false, "", null); - if (dragButton)domUtils.remove(dragButton); - }); - - me.addListener('beforepaste', function (cmd, html) { - var me = this; - var rng = me.selection.getRange(); - if (domUtils.findParentByTagName(rng.startContainer, 'caption', true)) { - var div = me.document.createElement("div"); - div.innerHTML = html.html; - //trace:3729 - html.html = div[browser.ie9below ? 'innerText' : 'textContent']; - return; - } - var table = getUETableBySelected(me); - if (tableCopyList) { - me.fireEvent('saveScene'); - var rng = me.selection.getRange(); - var td = domUtils.findParentByTagName(rng.startContainer, ['td', 'th'], true), tmpNode, preNode; - if (td) { - var ut = getUETable(td); - if (isFullRow) { - var rowIndex = ut.getCellInfo(td).rowIndex; - if (td.tagName == 'TH') { - rowIndex++; - } - for (var i = 0, ci; ci = tableCopyList[i++];) { - var tr = ut.insertRow(rowIndex++, "td"); - for (var j = 0, cj; cj = ci[j]; j++) { - var cell = tr.cells[j]; - if (!cell) { - cell = tr.insertCell(j) - } - cell.innerHTML = cj.innerHTML; - cj.getAttribute('width') && cell.setAttribute('width', cj.getAttribute('width')); - cj.getAttribute('vAlign') && cell.setAttribute('vAlign', cj.getAttribute('vAlign')); - cj.getAttribute('align') && cell.setAttribute('align', cj.getAttribute('align')); - cj.style.cssText && (cell.style.cssText = cj.style.cssText) - } - for (var j = 0, cj; cj = tr.cells[j]; j++) { - if (!ci[j]) - break; - cj.innerHTML = ci[j].innerHTML; - ci[j].getAttribute('width') && cj.setAttribute('width', ci[j].getAttribute('width')); - ci[j].getAttribute('vAlign') && cj.setAttribute('vAlign', ci[j].getAttribute('vAlign')); - ci[j].getAttribute('align') && cj.setAttribute('align', ci[j].getAttribute('align')); - ci[j].style.cssText && (cj.style.cssText = ci[j].style.cssText) - } - } - } else { - if (isFullCol) { - cellInfo = ut.getCellInfo(td); - var maxColNum = 0; - for (var j = 0, ci = tableCopyList[0], cj; cj = ci[j++];) { - maxColNum += cj.colSpan || 1; - } - me.__hasEnterExecCommand = true; - for (i = 0; i < maxColNum; i++) { - me.execCommand('insertcol'); - } - me.__hasEnterExecCommand = false; - td = ut.table.rows[0].cells[cellInfo.cellIndex]; - if (td.tagName == 'TH') { - td = ut.table.rows[1].cells[cellInfo.cellIndex]; - } - } - for (var i = 0, ci; ci = tableCopyList[i++];) { - tmpNode = td; - for (var j = 0, cj; cj = ci[j++];) { - if (td) { - td.innerHTML = cj.innerHTML; - //todo 定制处理 - cj.getAttribute('width') && td.setAttribute('width', cj.getAttribute('width')); - cj.getAttribute('vAlign') && td.setAttribute('vAlign', cj.getAttribute('vAlign')); - cj.getAttribute('align') && td.setAttribute('align', cj.getAttribute('align')); - cj.style.cssText && (td.style.cssText = cj.style.cssText); - preNode = td; - td = td.nextSibling; - } else { - var cloneTd = cj.cloneNode(true); - domUtils.removeAttributes(cloneTd, ['class', 'rowSpan', 'colSpan']); - - preNode.parentNode.appendChild(cloneTd) - } - } - td = ut.getNextCell(tmpNode, true, true); - if (!tableCopyList[i]) - break; - if (!td) { - var cellInfo = ut.getCellInfo(tmpNode); - ut.table.insertRow(ut.table.rows.length); - ut.update(); - td = ut.getVSideCell(tmpNode, true); - } - } - } - ut.update(); - } else { - table = me.document.createElement('table'); - for (var i = 0, ci; ci = tableCopyList[i++];) { - var tr = table.insertRow(table.rows.length); - for (var j = 0, cj; cj = ci[j++];) { - cloneTd = UT.cloneCell(cj,null,true); - domUtils.removeAttributes(cloneTd, ['class']); - tr.appendChild(cloneTd) - } - if (j == 2 && cloneTd.rowSpan > 1) { - cloneTd.rowSpan = 1; - } - } - - var defaultValue = getDefaultValue(me), - width = me.body.offsetWidth - - (needIEHack ? parseInt(domUtils.getComputedStyle(me.body, 'margin-left'), 10) * 2 : 0) - defaultValue.tableBorder * 2 - (me.options.offsetWidth || 0); - me.execCommand('insertHTML', '' + table.innerHTML.replace(/>\s*<').replace(/\bth\b/gi, "td") + '
    ') - } - me.fireEvent('contentchange'); - me.fireEvent('saveScene'); - html.html = ''; - return true; - } else { - var div = me.document.createElement("div"), tables; - div.innerHTML = html.html; - tables = div.getElementsByTagName("table"); - if (domUtils.findParentByTagName(me.selection.getStart(), 'table')) { - utils.each(tables, function (t) { - domUtils.remove(t) - }); - if (domUtils.findParentByTagName(me.selection.getStart(), 'caption', true)) { - div.innerHTML = div[browser.ie ? 'innerText' : 'textContent']; - } - } else { - utils.each(tables, function (table) { - removeStyleSize(table, true); - domUtils.removeAttributes(table, ['style', 'border']); - utils.each(domUtils.getElementsByTagName(table, "td"), function (td) { - if (isEmptyBlock(td)) { - domUtils.fillNode(me.document, td); - } - removeStyleSize(td, true); -// domUtils.removeAttributes(td, ['style']) - }); - }); - } - html.html = div.innerHTML; - } - }); - - me.addListener('afterpaste', function () { - utils.each(domUtils.getElementsByTagName(me.body, "table"), function (table) { - if (table.offsetWidth > me.body.offsetWidth) { - var defaultValue = getDefaultValue(me, table); - table.style.width = me.body.offsetWidth - (needIEHack ? parseInt(domUtils.getComputedStyle(me.body, 'margin-left'), 10) * 2 : 0) - defaultValue.tableBorder * 2 - (me.options.offsetWidth || 0) + 'px' - } - }) - }); - me.addListener('blur', function () { - tableCopyList = null; - }); - var timer; - me.addListener('keydown', function () { - clearTimeout(timer); - timer = setTimeout(function () { - var rng = me.selection.getRange(), - cell = domUtils.findParentByTagName(rng.startContainer, ['th', 'td'], true); - if (cell) { - var table = cell.parentNode.parentNode.parentNode; - if (table.offsetWidth > table.getAttribute("width")) { - cell.style.wordBreak = "break-all"; - } - } - - }, 100); - }); - me.addListener("selectionchange", function () { - toggleDraggableState(me, false, "", null); - }); - - - //内容变化时触发索引更新 - //todo 可否考虑标记检测,如果不涉及表格的变化就不进行索引重建和更新 - me.addListener("contentchange", function () { - var me = this; - //尽可能排除一些不需要更新的状况 - hideDragLine(me); - if (getUETableBySelected(me))return; - var rng = me.selection.getRange(); - var start = rng.startContainer; - start = domUtils.findParentByTagName(start, ['td', 'th'], true); - utils.each(domUtils.getElementsByTagName(me.document, 'table'), function (table) { - if (me.fireEvent("excludetable", table) === true) return; - table.ueTable = new UT(table); - //trace:3742 -// utils.each(domUtils.getElementsByTagName(me.document, 'td'), function (td) { -// -// if (domUtils.isEmptyBlock(td) && td !== start) { -// domUtils.fillNode(me.document, td); -// if (browser.ie && browser.version == 6) { -// td.innerHTML = ' ' -// } -// } -// }); -// utils.each(domUtils.getElementsByTagName(me.document, 'th'), function (th) { -// if (domUtils.isEmptyBlock(th) && th !== start) { -// domUtils.fillNode(me.document, th); -// if (browser.ie && browser.version == 6) { -// th.innerHTML = ' ' -// } -// } -// }); - table.onmouseover = function () { - me.fireEvent('tablemouseover', table); - }; - table.onmousemove = function () { - me.fireEvent('tablemousemove', table); - me.options.tableDragable && toggleDragButton(true, this, me); - utils.defer(function(){ - me.fireEvent('contentchange',50) - },true) - }; - table.onmouseout = function () { - me.fireEvent('tablemouseout', table); - toggleDraggableState(me, false, "", null); - hideDragLine(me); - }; - table.onclick = function (evt) { - evt = me.window.event || evt; - var target = getParentTdOrTh(evt.target || evt.srcElement); - if (!target)return; - var ut = getUETable(target), - table = ut.table, - cellInfo = ut.getCellInfo(target), - cellsRange, - rng = me.selection.getRange(); -// if ("topLeft" == inPosition(table, mouseCoords(evt))) { -// cellsRange = ut.getCellsRange(ut.table.rows[0].cells[0], ut.getLastCell()); -// ut.setSelected(cellsRange); -// return; -// } -// if ("bottomRight" == inPosition(table, mouseCoords(evt))) { -// -// return; -// } - if (inTableSide(table, target, evt, true)) { - var endTdCol = ut.getCell(ut.indexTable[ut.rowsNum - 1][cellInfo.colIndex].rowIndex, ut.indexTable[ut.rowsNum - 1][cellInfo.colIndex].cellIndex); - if (evt.shiftKey && ut.selectedTds.length) { - if (ut.selectedTds[0] !== endTdCol) { - cellsRange = ut.getCellsRange(ut.selectedTds[0], endTdCol); - ut.setSelected(cellsRange); - } else { - rng && rng.selectNodeContents(endTdCol).select(); - } - } else { - if (target !== endTdCol) { - cellsRange = ut.getCellsRange(target, endTdCol); - ut.setSelected(cellsRange); - } else { - rng && rng.selectNodeContents(endTdCol).select(); - } - } - return; - } - if (inTableSide(table, target, evt)) { - var endTdRow = ut.getCell(ut.indexTable[cellInfo.rowIndex][ut.colsNum - 1].rowIndex, ut.indexTable[cellInfo.rowIndex][ut.colsNum - 1].cellIndex); - if (evt.shiftKey && ut.selectedTds.length) { - if (ut.selectedTds[0] !== endTdRow) { - cellsRange = ut.getCellsRange(ut.selectedTds[0], endTdRow); - ut.setSelected(cellsRange); - } else { - rng && rng.selectNodeContents(endTdRow).select(); - } - } else { - if (target !== endTdRow) { - cellsRange = ut.getCellsRange(target, endTdRow); - ut.setSelected(cellsRange); - } else { - rng && rng.selectNodeContents(endTdRow).select(); - } - } - } - }; - }); - - switchBorderColor(me, true); - }); - - domUtils.on(me.document, "mousemove", mouseMoveEvent); - - domUtils.on(me.document, "mouseout", function (evt) { - var target = evt.target || evt.srcElement; - if (target.tagName == "TABLE") { - toggleDraggableState(me, false, "", null); - } - }); - /** - * 表格隔行变色 - */ - me.addListener("interlacetable",function(type,table,classList){ - if(!table) return; - var me = this, - rows = table.rows, - len = rows.length, - getClass = function(list,index,repeat){ - return list[index] ? list[index] : repeat ? list[index % list.length]: ""; - }; - for(var i = 0;i 1 ? currentRowIndex : ua.getCellInfo(cell).rowIndex; - var nextCell = ua.getTabNextCell(cell, currentRowIndex); - if (nextCell) { - if (isEmptyBlock(nextCell)) { - range.setStart(nextCell, 0).setCursor(false, true) - } else { - range.selectNodeContents(nextCell).select() - } - } else { - me.fireEvent('saveScene'); - me.__hasEnterExecCommand = true; - this.execCommand('insertrownext'); - me.__hasEnterExecCommand = false; - range = this.selection.getRange(); - range.setStart(table.rows[table.rows.length - 1].cells[0], 0).setCursor(); - me.fireEvent('saveScene'); - } - } - return true; - } - - }); - browser.ie && me.addListener('selectionchange', function () { - toggleDraggableState(this, false, "", null); - }); - me.addListener("keydown", function (type, evt) { - var me = this; - //处理在表格的最后一个输入tab产生新的表格 - var keyCode = evt.keyCode || evt.which; - if (keyCode == 8 || keyCode == 46) { - return; - } - var notCtrlKey = !evt.ctrlKey && !evt.metaKey && !evt.shiftKey && !evt.altKey; - notCtrlKey && removeSelectedClass(domUtils.getElementsByTagName(me.body, "td")); - var ut = getUETableBySelected(me); - if (!ut) return; - notCtrlKey && ut.clearSelected(); - }); - - me.addListener("beforegetcontent", function () { - switchBorderColor(this, false); - browser.ie && utils.each(this.document.getElementsByTagName('caption'), function (ci) { - if (domUtils.isEmptyNode(ci)) { - ci.innerHTML = ' ' - } - }); - }); - me.addListener("aftergetcontent", function () { - switchBorderColor(this, true); - }); - me.addListener("getAllHtml", function () { - removeSelectedClass(me.document.getElementsByTagName("td")); - }); - //修正全屏状态下插入的表格宽度在非全屏状态下撑开编辑器的情况 - me.addListener("fullscreenchanged", function (type, fullscreen) { - if (!fullscreen) { - var ratio = this.body.offsetWidth / document.body.offsetWidth, - tables = domUtils.getElementsByTagName(this.body, "table"); - utils.each(tables, function (table) { - if (table.offsetWidth < me.body.offsetWidth) return false; - var tds = domUtils.getElementsByTagName(table, "td"), - backWidths = []; - utils.each(tds, function (td) { - backWidths.push(td.offsetWidth); - }); - for (var i = 0, td; td = tds[i]; i++) { - td.setAttribute("width", Math.floor(backWidths[i] * ratio)); - } - table.setAttribute("width", Math.floor(getTableWidth(me, needIEHack, getDefaultValue(me)))) - }); - } - }); - - //重写execCommand命令,用于处理框选时的处理 - var oldExecCommand = me.execCommand; - me.execCommand = function (cmd, datatat) { - - var me = this, - args = arguments; - - cmd = cmd.toLowerCase(); - var ut = getUETableBySelected(me), tds, - range = new dom.Range(me.document), - cmdFun = me.commands[cmd] || UE.commands[cmd], - result; - if (!cmdFun) return; - if (ut && !commands[cmd] && !cmdFun.notNeedUndo && !me.__hasEnterExecCommand) { - me.__hasEnterExecCommand = true; - me.fireEvent("beforeexeccommand", cmd); - tds = ut.selectedTds; - var lastState = -2, lastValue = -2, value, state; - for (var i = 0, td; td = tds[i]; i++) { - if (isEmptyBlock(td)) { - range.setStart(td, 0).setCursor(false, true) - } else { - range.selectNode(td).select(true); - } - state = me.queryCommandState(cmd); - value = me.queryCommandValue(cmd); - if (state != -1) { - if (lastState !== state || lastValue !== value) { - me._ignoreContentChange = true; - result = oldExecCommand.apply(me, arguments); - me._ignoreContentChange = false; - - } - lastState = me.queryCommandState(cmd); - lastValue = me.queryCommandValue(cmd); - if (domUtils.isEmptyBlock(td)) { - domUtils.fillNode(me.document, td) - } - } - } - range.setStart(tds[0], 0).shrinkBoundary(true).setCursor(false, true); - me.fireEvent('contentchange'); - me.fireEvent("afterexeccommand", cmd); - me.__hasEnterExecCommand = false; - me._selectionChange(); - } else { - result = oldExecCommand.apply(me, arguments); - } - return result; - }; - - - }); - /** - * 删除obj的宽高style,改成属性宽高 - * @param obj - * @param replaceToProperty - */ - function removeStyleSize(obj, replaceToProperty) { - removeStyle(obj, "width", true); - removeStyle(obj, "height", true); - } - - function removeStyle(obj, styleName, replaceToProperty) { - if (obj.style[styleName]) { - replaceToProperty && obj.setAttribute(styleName, parseInt(obj.style[styleName], 10)); - obj.style[styleName] = ""; - } - } - - function getParentTdOrTh(ele) { - if (ele.tagName == "TD" || ele.tagName == "TH") return ele; - var td; - if (td = domUtils.findParentByTagName(ele, "td", true) || domUtils.findParentByTagName(ele, "th", true)) return td; - return null; - } - - function isEmptyBlock(node) { - var reg = new RegExp(domUtils.fillChar, 'g'); - if (node[browser.ie ? 'innerText' : 'textContent'].replace(/^\s*$/, '').replace(reg, '').length > 0) { - return 0; - } - for (var n in dtd.$isNotEmpty) { - if (node.getElementsByTagName(n).length) { - return 0; - } - } - return 1; - } - - - function mouseCoords(evt) { - if (evt.pageX || evt.pageY) { - return { x:evt.pageX, y:evt.pageY }; - } - return { - x:evt.clientX + me.document.body.scrollLeft - me.document.body.clientLeft, - y:evt.clientY + me.document.body.scrollTop - me.document.body.clientTop - }; - } - - function mouseMoveEvent(evt) { - - if( isEditorDisabled() ) { - return; - } - - try { - - //普通状态下鼠标移动 - var target = getParentTdOrTh(evt.target || evt.srcElement), - pos; - - //区分用户的行为是拖动还是双击 - if( isInResizeBuffer ) { - - me.body.style.webkitUserSelect = 'none'; - - if( Math.abs( userActionStatus.x - evt.clientX ) > offsetOfTableCell || Math.abs( userActionStatus.y - evt.clientY ) > offsetOfTableCell ) { - clearTableDragTimer(); - isInResizeBuffer = false; - singleClickState = 0; - //drag action - tableBorderDrag(evt); - } - } - - //修改单元格大小时的鼠标移动 - if (onDrag && dragTd) { - singleClickState = 0; - me.body.style.webkitUserSelect = 'none'; - me.selection.getNative()[browser.ie9below ? 'empty' : 'removeAllRanges'](); - pos = mouseCoords(evt); - toggleDraggableState(me, true, onDrag, pos, target); - if (onDrag == "h") { - dragLine.style.left = getPermissionX(dragTd, evt) + "px"; - } else if (onDrag == "v") { - dragLine.style.top = getPermissionY(dragTd, evt) + "px"; - } - return; - } - //当鼠标处于table上时,修改移动过程中的光标状态 - if (target) { - //针对使用table作为容器的组件不触发拖拽效果 - if (me.fireEvent('excludetable', target) === true) - return; - pos = mouseCoords(evt); - var state = getRelation(target, pos), - table = domUtils.findParentByTagName(target, "table", true); - - if (inTableSide(table, target, evt, true)) { - if (me.fireEvent("excludetable", table) === true) return; - me.body.style.cursor = "url(" + me.options.cursorpath + "h.png),pointer"; - } else if (inTableSide(table, target, evt)) { - if (me.fireEvent("excludetable", table) === true) return; - me.body.style.cursor = "url(" + me.options.cursorpath + "v.png),pointer"; - } else { - me.body.style.cursor = "text"; - var curCell = target; - if (/\d/.test(state)) { - state = state.replace(/\d/, ''); - target = getUETable(target).getPreviewCell(target, state == "v"); - } - //位于第一行的顶部或者第一列的左边时不可拖动 - toggleDraggableState(me, target ? !!state : false, target ? state : '', pos, target); - - } - } else { - toggleDragButton(false, table, me); - } - - } catch (e) { - showError(e); - } - } - - var dragButtonTimer; - - function toggleDragButton(show, table, editor) { - if (!show) { - if (dragOver)return; - dragButtonTimer = setTimeout(function () { - !dragOver && dragButton && dragButton.parentNode && dragButton.parentNode.removeChild(dragButton); - }, 2000); - } else { - createDragButton(table, editor); - } - } - - function createDragButton(table, editor) { - var pos = domUtils.getXY(table), - doc = table.ownerDocument; - if (dragButton && dragButton.parentNode)return dragButton; - dragButton = doc.createElement("div"); - dragButton.contentEditable = false; - dragButton.innerHTML = ""; - dragButton.style.cssText = "width:15px;height:15px;background-image:url(" + editor.options.UEDITOR_HOME_URL + "dialogs/table/dragicon.png);position: absolute;cursor:move;top:" + (pos.y - 15) + "px;left:" + (pos.x) + "px;"; - domUtils.unSelectable(dragButton); - dragButton.onmouseover = function (evt) { - dragOver = true; - }; - dragButton.onmouseout = function (evt) { - dragOver = false; - }; - domUtils.on(dragButton, 'click', function (type, evt) { - doClick(evt, this); - }); - domUtils.on(dragButton, 'dblclick', function (type, evt) { - doDblClick(evt); - }); - domUtils.on(dragButton, 'dragstart', function (type, evt) { - domUtils.preventDefault(evt); - }); - var timer; - - function doClick(evt, button) { - // 部分浏览器下需要清理 - clearTimeout(timer); - timer = setTimeout(function () { - editor.fireEvent("tableClicked", table, button); - }, 300); - } - - function doDblClick(evt) { - clearTimeout(timer); - var ut = getUETable(table), - start = table.rows[0].cells[0], - end = ut.getLastCell(), - range = ut.getCellsRange(start, end); - editor.selection.getRange().setStart(start, 0).setCursor(false, true); - ut.setSelected(range); - } - - doc.body.appendChild(dragButton); - } - - -// function inPosition(table, pos) { -// var tablePos = domUtils.getXY(table), -// width = table.offsetWidth, -// height = table.offsetHeight; -// if (pos.x - tablePos.x < 5 && pos.y - tablePos.y < 5) { -// return "topLeft"; -// } else if (tablePos.x + width - pos.x < 5 && tablePos.y + height - pos.y < 5) { -// return "bottomRight"; -// } -// } - - function inTableSide(table, cell, evt, top) { - var pos = mouseCoords(evt), - state = getRelation(cell, pos); - - if (top) { - var caption = table.getElementsByTagName("caption")[0], - capHeight = caption ? caption.offsetHeight : 0; - return (state == "v1") && ((pos.y - domUtils.getXY(table).y - capHeight) < 8); - } else { - return (state == "h1") && ((pos.x - domUtils.getXY(table).x) < 8); - } - } - - /** - * 获取拖动时允许的X轴坐标 - * @param dragTd - * @param evt - */ - function getPermissionX(dragTd, evt) { - var ut = getUETable(dragTd); - if (ut) { - var preTd = ut.getSameEndPosCells(dragTd, "x")[0], - nextTd = ut.getSameStartPosXCells(dragTd)[0], - mouseX = mouseCoords(evt).x, - left = (preTd ? domUtils.getXY(preTd).x : domUtils.getXY(ut.table).x) + 20 , - right = nextTd ? domUtils.getXY(nextTd).x + nextTd.offsetWidth - 20 : (me.body.offsetWidth + 5 || parseInt(domUtils.getComputedStyle(me.body, "width"), 10)); - - left += cellMinWidth; - right -= cellMinWidth; - - return mouseX < left ? left : mouseX > right ? right : mouseX; - } - } - - /** - * 获取拖动时允许的Y轴坐标 - */ - function getPermissionY(dragTd, evt) { - try { - var top = domUtils.getXY(dragTd).y, - mousePosY = mouseCoords(evt).y; - return mousePosY < top ? top : mousePosY; - } catch (e) { - showError(e); - } - } - - /** - * 移动状态切换 - */ - function toggleDraggableState(editor, draggable, dir, mousePos, cell) { - try { - editor.body.style.cursor = dir == "h" ? "col-resize" : dir == "v" ? "row-resize" : "text"; - if (browser.ie) { - if (dir && !mousedown && !getUETableBySelected(editor)) { - getDragLine(editor, editor.document); - showDragLineAt(dir, cell); - } else { - hideDragLine(editor) - } - } - onBorder = draggable; - } catch (e) { - showError(e); - } - } - - /** - * 获取与UETable相关的resize line - * @param uetable UETable对象 - */ - function getResizeLineByUETable() { - - var lineId = '_UETableResizeLine', - line = this.document.getElementById( lineId ); - - if( !line ) { - line = this.document.createElement("div"); - line.id = lineId; - line.contnetEditable = false; - line.setAttribute("unselectable", "on"); - - var styles = { - width: 2*cellBorderWidth + 1 + 'px', - position: 'absolute', - 'z-index': 100000, - cursor: 'col-resize', - background: 'red', - display: 'none' - }; - - //切换状态 - line.onmouseout = function(){ - this.style.display = 'none'; - }; - - utils.extend( line.style, styles ); - - this.document.body.appendChild( line ); - - } - - return line; - - } - - /** - * 更新resize-line - */ - function updateResizeLine( cell, uetable ) { - - var line = getResizeLineByUETable.call( this ), - table = uetable.table, - styles = { - top: domUtils.getXY( table ).y + 'px', - left: domUtils.getXY( cell).x + cell.offsetWidth - cellBorderWidth + 'px', - display: 'block', - height: table.offsetHeight + 'px' - }; - - utils.extend( line.style, styles ); - - } - - /** - * 显示resize-line - */ - function showResizeLine( cell ) { - - var uetable = getUETable( cell ); - - updateResizeLine.call( this, cell, uetable ); - - } - - /** - * 获取鼠标与当前单元格的相对位置 - * @param ele - * @param mousePos - */ - function getRelation(ele, mousePos) { - var elePos = domUtils.getXY(ele); - - if( !elePos ) { - return ''; - } - - if (elePos.x + ele.offsetWidth - mousePos.x < cellBorderWidth) { - return "h"; - } - if (mousePos.x - elePos.x < cellBorderWidth) { - return 'h1' - } - if (elePos.y + ele.offsetHeight - mousePos.y < cellBorderWidth) { - return "v"; - } - if (mousePos.y - elePos.y < cellBorderWidth) { - return 'v1' - } - return ''; - } - - function mouseDownEvent(type, evt) { - - if( isEditorDisabled() ) { - return ; - } - - userActionStatus = { - x: evt.clientX, - y: evt.clientY - }; - - //右键菜单单独处理 - if (evt.button == 2) { - var ut = getUETableBySelected(me), - flag = false; - - if (ut) { - var td = getTargetTd(me, evt); - utils.each(ut.selectedTds, function (ti) { - if (ti === td) { - flag = true; - } - }); - if (!flag) { - removeSelectedClass(domUtils.getElementsByTagName(me.body, "th td")); - ut.clearSelected() - } else { - td = ut.selectedTds[0]; - setTimeout(function () { - me.selection.getRange().setStart(td, 0).setCursor(false, true); - }, 0); - - } - } - } else { - tableClickHander( evt ); - } - - } - - //清除表格的计时器 - function clearTableTimer() { - tabTimer && clearTimeout( tabTimer ); - tabTimer = null; - } - - //双击收缩 - function tableDbclickHandler(evt) { - singleClickState = 0; - evt = evt || me.window.event; - var target = getParentTdOrTh(evt.target || evt.srcElement); - if (target) { - var h; - if (h = getRelation(target, mouseCoords(evt))) { - - hideDragLine( me ); - - if (h == 'h1') { - h = 'h'; - if (inTableSide(domUtils.findParentByTagName(target, "table"), target, evt)) { - me.execCommand('adaptbywindow'); - } else { - target = getUETable(target).getPreviewCell(target); - if (target) { - var rng = me.selection.getRange(); - rng.selectNodeContents(target).setCursor(true, true) - } - } - } - if (h == 'h') { - var ut = getUETable(target), - table = ut.table, - cells = getCellsByMoveBorder( target, table, true ); - - cells = extractArray( cells, 'left' ); - - ut.width = ut.offsetWidth; - - var oldWidth = [], - newWidth = []; - - utils.each( cells, function( cell ){ - - oldWidth.push( cell.offsetWidth ); - - } ); - - utils.each( cells, function( cell ){ - - cell.removeAttribute("width"); - - } ); - - window.setTimeout( function(){ - - //是否允许改变 - var changeable = true; - - utils.each( cells, function( cell, index ){ - - var width = cell.offsetWidth; - - if( width > oldWidth[index] ) { - changeable = false; - return false; - } - - newWidth.push( width ); - - } ); - - var change = changeable ? newWidth : oldWidth; - - utils.each( cells, function( cell, index ){ - - cell.width = change[index] - getTabcellSpace(); - - } ); - - - }, 0 ); - -// minWidth -= cellMinWidth; -// -// table.removeAttribute("width"); -// utils.each(cells, function (cell) { -// cell.style.width = ""; -// cell.width -= minWidth; -// }); - - } - } - } - } - - function tableClickHander( evt ) { - - removeSelectedClass(domUtils.getElementsByTagName(me.body, "td th")); - //trace:3113 - //选中单元格,点击table外部,不会清掉table上挂的ueTable,会引起getUETableBySelected方法返回值 - utils.each(me.document.getElementsByTagName('table'), function (t) { - t.ueTable = null; - }); - startTd = getTargetTd(me, evt); - if( !startTd ) return; - var table = domUtils.findParentByTagName(startTd, "table", true); - ut = getUETable(table); - ut && ut.clearSelected(); - - //判断当前鼠标状态 - if (!onBorder) { - me.document.body.style.webkitUserSelect = ''; - mousedown = true; - me.addListener('mouseover', mouseOverEvent); - } else { - //边框上的动作处理 - borderActionHandler( evt ); - } - - - } - - //处理表格边框上的动作, 这里做延时处理,避免两种动作互相影响 - function borderActionHandler( evt ) { - - if ( browser.ie ) { - evt = reconstruct(evt ); - } - - clearTableDragTimer(); - - //是否正在等待resize的缓冲中 - isInResizeBuffer = true; - - tableDragTimer = setTimeout(function(){ - tableBorderDrag( evt ); - }, dblclickTime); - - } - - function extractArray( originArr, key ) { - - var result = [], - tmp = null; - - for( var i = 0, len = originArr.length; i 0 && singleClickState--; - }, dblclickTime ); - - if( singleClickState === 2 ) { - - singleClickState = 0; - tableDbclickHandler(evt); - return; - - } - - } - - if (evt.button == 2)return; - var me = this; - //清除表格上原生跨选问题 - var range = me.selection.getRange(), - start = domUtils.findParentByTagName(range.startContainer, 'table', true), - end = domUtils.findParentByTagName(range.endContainer, 'table', true); - - if (start || end) { - if (start === end) { - start = domUtils.findParentByTagName(range.startContainer, ['td', 'th', 'caption'], true); - end = domUtils.findParentByTagName(range.endContainer, ['td', 'th', 'caption'], true); - if (start !== end) { - me.selection.clearRange() - } - } else { - me.selection.clearRange() - } - } - mousedown = false; - me.document.body.style.webkitUserSelect = ''; - //拖拽状态下的mouseUP - if ( onDrag && dragTd ) { - - me.selection.getNative()[browser.ie9below ? 'empty' : 'removeAllRanges'](); - - singleClickState = 0; - dragLine = me.document.getElementById('ue_tableDragLine'); - - // trace 3973 - if (dragLine) { - var dragTdPos = domUtils.getXY(dragTd), - dragLinePos = domUtils.getXY(dragLine); - - switch (onDrag) { - case "h": - changeColWidth(dragTd, dragLinePos.x - dragTdPos.x); - break; - case "v": - changeRowHeight(dragTd, dragLinePos.y - dragTdPos.y - dragTd.offsetHeight); - break; - default: - } - onDrag = ""; - dragTd = null; - - hideDragLine(me); - me.fireEvent('saveScene'); - return; - } - } - //正常状态下的mouseup - if (!startTd) { - var target = domUtils.findParentByTagName(evt.target || evt.srcElement, "td", true); - if (!target) target = domUtils.findParentByTagName(evt.target || evt.srcElement, "th", true); - if (target && (target.tagName == "TD" || target.tagName == "TH")) { - if (me.fireEvent("excludetable", target) === true) return; - range = new dom.Range(me.document); - range.setStart(target, 0).setCursor(false, true); - } - } else { - var ut = getUETable(startTd), - cell = ut ? ut.selectedTds[0] : null; - if (cell) { - range = new dom.Range(me.document); - if (domUtils.isEmptyBlock(cell)) { - range.setStart(cell, 0).setCursor(false, true); - } else { - range.selectNodeContents(cell).shrinkBoundary().setCursor(false, true); - } - } else { - range = me.selection.getRange().shrinkBoundary(); - if (!range.collapsed) { - var start = domUtils.findParentByTagName(range.startContainer, ['td', 'th'], true), - end = domUtils.findParentByTagName(range.endContainer, ['td', 'th'], true); - //在table里边的不能清除 - if (start && !end || !start && end || start && end && start !== end) { - range.setCursor(false, true); - } - } - } - startTd = null; - me.removeListener('mouseover', mouseOverEvent); - } - me._selectionChange(250, evt); - } - - function mouseOverEvent(type, evt) { - - if( isEditorDisabled() ) { - return; - } - - var me = this, - tar = evt.target || evt.srcElement; - currentTd = domUtils.findParentByTagName(tar, "td", true) || domUtils.findParentByTagName(tar, "th", true); - //需要判断两个TD是否位于同一个表格内 - if (startTd && currentTd && - ((startTd.tagName == "TD" && currentTd.tagName == "TD") || (startTd.tagName == "TH" && currentTd.tagName == "TH")) && - domUtils.findParentByTagName(startTd, 'table') == domUtils.findParentByTagName(currentTd, 'table')) { - var ut = getUETable(currentTd); - if (startTd != currentTd) { - me.document.body.style.webkitUserSelect = 'none'; - me.selection.getNative()[browser.ie9below ? 'empty' : 'removeAllRanges'](); - var range = ut.getCellsRange(startTd, currentTd); - ut.setSelected(range); - } else { - me.document.body.style.webkitUserSelect = ''; - ut.clearSelected(); - } - - } - evt.preventDefault ? evt.preventDefault() : (evt.returnValue = false); - } - - function setCellHeight(cell, height, backHeight) { - var lineHight = parseInt(domUtils.getComputedStyle(cell, "line-height"), 10), - tmpHeight = backHeight + height; - height = tmpHeight < lineHight ? lineHight : tmpHeight; - if (cell.style.height) cell.style.height = ""; - cell.rowSpan == 1 ? cell.setAttribute("height", height) : (cell.removeAttribute && cell.removeAttribute("height")); - } - - function getWidth(cell) { - if (!cell)return 0; - return parseInt(domUtils.getComputedStyle(cell, "width"), 10); - } - - function changeColWidth(cell, changeValue) { - - var ut = getUETable(cell); - if (ut) { - - //根据当前移动的边框获取相关的单元格 - var table = ut.table, - cells = getCellsByMoveBorder( cell, table ); - - table.style.width = ""; - table.removeAttribute("width"); - - //修正改变量 - changeValue = correctChangeValue( changeValue, cell, cells ); - - if (cell.nextSibling) { - - var i=0; - - utils.each( cells, function( cellGroup ){ - - cellGroup.left.width = (+cellGroup.left.width)+changeValue; - cellGroup.right && ( cellGroup.right.width = (+cellGroup.right.width)-changeValue ); - - } ); - - } else { - - utils.each( cells, function( cellGroup ){ - cellGroup.left.width -= -changeValue; - } ); - - } - } - - } - - function isEditorDisabled() { - return me.body.contentEditable === "false"; - } - - function changeRowHeight(td, changeValue) { - if (Math.abs(changeValue) < 10) return; - var ut = getUETable(td); - if (ut) { - var cells = ut.getSameEndPosCells(td, "y"), - //备份需要连带变化的td的原始高度,否则后期无法获取正确的值 - backHeight = cells[0] ? cells[0].offsetHeight : 0; - for (var i = 0, cell; cell = cells[i++];) { - setCellHeight(cell, changeValue, backHeight); - } - } - - } - - /** - * 获取调整单元格大小的相关单元格 - * @isContainMergeCell 返回的结果中是否包含发生合并后的单元格 - */ - function getCellsByMoveBorder( cell, table, isContainMergeCell ) { - - if( !table ) { - table = domUtils.findParentByTagName( cell, 'table' ); - } - - if( !table ) { - return null; - } - - //获取到该单元格所在行的序列号 - var index = domUtils.getNodeIndex( cell ), - temp = cell, - rows = table.rows, - colIndex = 0; - - while( temp ) { - //获取到当前单元格在未发生单元格合并时的序列 - if( temp.nodeType === 1 ) { - colIndex += (temp.colSpan || 1); - } - temp = temp.previousSibling; - } - - temp = null; - - //记录想关的单元格 - var borderCells = []; - - utils.each(rows, function( tabRow ){ - - var cells = tabRow.cells, - currIndex = 0; - - utils.each( cells, function( tabCell ){ - - currIndex += (tabCell.colSpan || 1); - - if( currIndex === colIndex ) { - - borderCells.push({ - left: tabCell, - right: tabCell.nextSibling || null - }); - - return false; - - } else if( currIndex > colIndex ) { - - if( isContainMergeCell ) { - borderCells.push({ - left: tabCell - }); - } - - return false; - } - - - } ); - - }); - - return borderCells; - - } - - - /** - * 通过给定的单元格集合获取最小的单元格width - */ - function getMinWidthByTableCells( cells ) { - - var minWidth = Number.MAX_VALUE; - - for( var i = 0, curCell; curCell = cells[ i ] ; i++ ) { - - minWidth = Math.min( minWidth, curCell.width || getTableCellWidth( curCell ) ); - - } - - return minWidth; - - } - - function correctChangeValue( changeValue, relatedCell, cells ) { - - //为单元格的paading预留空间 - changeValue -= getTabcellSpace(); - - if( changeValue < 0 ) { - return 0; - } - - changeValue -= getTableCellWidth( relatedCell ); - - //确定方向 - var direction = changeValue < 0 ? 'left':'right'; - - changeValue = Math.abs(changeValue); - - //只关心非最后一个单元格就可以 - utils.each( cells, function( cellGroup ){ - - var curCell = cellGroup[direction]; - - //为单元格保留最小空间 - if( curCell ) { - changeValue = Math.min( changeValue, getTableCellWidth( curCell )-cellMinWidth ); - } - - - } ); - - - //修正越界 - changeValue = changeValue < 0 ? 0 : changeValue; - - return direction === 'left' ? -changeValue : changeValue; - - } - - function getTableCellWidth( cell ) { - - var width = 0, - //偏移纠正量 - offset = 0, - width = cell.offsetWidth - getTabcellSpace(); - - //最后一个节点纠正一下 - if( !cell.nextSibling ) { - - width -= getTableCellOffset( cell ); - - } - - width = width < 0 ? 0 : width; - - try { - cell.width = width; - } catch(e) { - } - - return width; - - } - - /** - * 获取单元格所在表格的最末单元格的偏移量 - */ - function getTableCellOffset( cell ) { - - tab = domUtils.findParentByTagName( cell, "table", false); - - if( tab.offsetVal === undefined ) { - - var prev = cell.previousSibling; - - if( prev ) { - - //最后一个单元格和前一个单元格的width diff结果 如果恰好为一个border width, 则条件成立 - tab.offsetVal = cell.offsetWidth - prev.offsetWidth === UT.borderWidth ? UT.borderWidth : 0; - - } else { - tab.offsetVal = 0; - } - - } - - return tab.offsetVal; - - } - - function getTabcellSpace() { - - if( UT.tabcellSpace === undefined ) { - - var cell = null, - tab = me.document.createElement("table"), - tbody = me.document.createElement("tbody"), - trow = me.document.createElement("tr"), - tabcell = me.document.createElement("td"), - mirror = null; - - tabcell.style.cssText = 'border: 0;'; - tabcell.width = 1; - - trow.appendChild( tabcell ); - trow.appendChild( mirror = tabcell.cloneNode( false ) ); - - tbody.appendChild( trow ); - - tab.appendChild( tbody ); - - tab.style.cssText = "visibility: hidden;"; - - me.body.appendChild( tab ); - - UT.paddingSpace = tabcell.offsetWidth - 1; - - var tmpTabWidth = tab.offsetWidth; - - tabcell.style.cssText = ''; - mirror.style.cssText = ''; - - UT.borderWidth = ( tab.offsetWidth - tmpTabWidth ) / 3; - - UT.tabcellSpace = UT.paddingSpace + UT.borderWidth; - - me.body.removeChild( tab ); - - } - - getTabcellSpace = function(){ return UT.tabcellSpace; }; - - return UT.tabcellSpace; - - } - - function getDragLine(editor, doc) { - if (mousedown)return; - dragLine = editor.document.createElement("div"); - domUtils.setAttributes(dragLine, { - id:"ue_tableDragLine", - unselectable:'on', - contenteditable:false, - 'onresizestart':'return false', - 'ondragstart':'return false', - 'onselectstart':'return false', - style:"background-color:blue;position:absolute;padding:0;margin:0;background-image:none;border:0px none;opacity:0;filter:alpha(opacity=0)" - }); - editor.body.appendChild(dragLine); - } - - function hideDragLine(editor) { - if (mousedown)return; - var line; - while (line = editor.document.getElementById('ue_tableDragLine')) { - domUtils.remove(line) - } - } - - /** - * 依据state(v|h)在cell位置显示横线 - * @param state - * @param cell - */ - function showDragLineAt(state, cell) { - if (!cell) return; - var table = domUtils.findParentByTagName(cell, "table"), - caption = table.getElementsByTagName('caption'), - width = table.offsetWidth, - height = table.offsetHeight - (caption.length > 0 ? caption[0].offsetHeight : 0), - tablePos = domUtils.getXY(table), - cellPos = domUtils.getXY(cell), css; - switch (state) { - case "h": - css = 'height:' + height + 'px;top:' + (tablePos.y + (caption.length > 0 ? caption[0].offsetHeight : 0)) + 'px;left:' + (cellPos.x + cell.offsetWidth); - dragLine.style.cssText = css + 'px;position: absolute;display:block;background-color:blue;width:1px;border:0; color:blue;opacity:.3;filter:alpha(opacity=30)'; - break; - case "v": - css = 'width:' + width + 'px;left:' + tablePos.x + 'px;top:' + (cellPos.y + cell.offsetHeight ); - //必须加上border:0和color:blue,否则低版ie不支持背景色显示 - dragLine.style.cssText = css + 'px;overflow:hidden;position: absolute;display:block;background-color:blue;height:1px;border:0;color:blue;opacity:.2;filter:alpha(opacity=20)'; - break; - default: - } - } - - /** - * 当表格边框颜色为白色时设置为虚线,true为添加虚线 - * @param editor - * @param flag - */ - function switchBorderColor(editor, flag) { - var tableArr = domUtils.getElementsByTagName(editor.body, "table"), color; - for (var i = 0, node; node = tableArr[i++];) { - var td = domUtils.getElementsByTagName(node, "td"); - if (td[0]) { - if (flag) { - color = (td[0].style.borderColor).replace(/\s/g, ""); - if (/(#ffffff)|(rgb\(255,255,255\))/ig.test(color)) - domUtils.addClass(node, "noBorderTable") - } else { - domUtils.removeClasses(node, "noBorderTable") - } - } - - } - } - - function getTableWidth(editor, needIEHack, defaultValue) { - var body = editor.body; - return body.offsetWidth - (needIEHack ? parseInt(domUtils.getComputedStyle(body, 'margin-left'), 10) * 2 : 0) - defaultValue.tableBorder * 2 - (editor.options.offsetWidth || 0); - } - - /** - * 获取当前拖动的单元格 - */ - function getTargetTd(editor, evt) { - - var target = domUtils.findParentByTagName(evt.target || evt.srcElement, ["td", "th"], true), - dir = null; - - if( !target ) { - return null; - } - - dir = getRelation( target, mouseCoords( evt ) ); - - //如果有前一个节点, 需要做一个修正, 否则可能会得到一个错误的td - - if( !target ) { - return null; - } - - if( dir === 'h1' && target.previousSibling ) { - - var position = domUtils.getXY( target), - cellWidth = target.offsetWidth; - - if( Math.abs( position.x + cellWidth - evt.clientX ) > cellWidth / 3 ) { - target = target.previousSibling; - } - - } else if( dir === 'v1' && target.parentNode.previousSibling ) { - - var position = domUtils.getXY( target), - cellHeight = target.offsetHeight; - - if( Math.abs( position.y + cellHeight - evt.clientY ) > cellHeight / 3 ) { - target = target.parentNode.previousSibling.firstChild; - } - - } - - - //排除了非td内部以及用于代码高亮部分的td - return target && !(editor.fireEvent("excludetable", target) === true) ? target : null; - } - -}; - - -// plugins/table.sort.js -/** - * Created with JetBrains PhpStorm. - * User: Jinqn - * Date: 13-10-12 - * Time: 上午10:20 - * To change this template use File | Settings | File Templates. - */ - -UE.UETable.prototype.sortTable = function (sortByCellIndex, compareFn) { - var table = this.table, - rows = table.rows, - trArray = [], - flag = rows[0].cells[0].tagName === "TH", - lastRowIndex = 0; - if(this.selectedTds.length){ - var range = this.cellsRange, - len = range.endRowIndex + 1; - for (var i = range.beginRowIndex; i < len; i++) { - trArray[i] = rows[i]; - } - trArray.splice(0,range.beginRowIndex); - lastRowIndex = (range.endRowIndex +1) === this.rowsNum ? 0 : range.endRowIndex +1; - }else{ - for (var i = 0,len = rows.length; i < len; i++) { - trArray[i] = rows[i]; - } - } - - var Fn = { - 'reversecurrent': function(td1,td2){ - return 1; - }, - 'orderbyasc': function(td1,td2){ - var value1 = td1.innerText||td1.textContent, - value2 = td2.innerText||td2.textContent; - return value1.localeCompare(value2); - }, - 'reversebyasc': function(td1,td2){ - var value1 = td1.innerHTML, - value2 = td2.innerHTML; - return value2.localeCompare(value1); - }, - 'orderbynum': function(td1,td2){ - var value1 = td1[browser.ie ? 'innerText':'textContent'].match(/\d+/), - value2 = td2[browser.ie ? 'innerText':'textContent'].match(/\d+/); - if(value1) value1 = +value1[0]; - if(value2) value2 = +value2[0]; - return (value1||0) - (value2||0); - }, - 'reversebynum': function(td1,td2){ - var value1 = td1[browser.ie ? 'innerText':'textContent'].match(/\d+/), - value2 = td2[browser.ie ? 'innerText':'textContent'].match(/\d+/); - if(value1) value1 = +value1[0]; - if(value2) value2 = +value2[0]; - return (value2||0) - (value1||0); - } - }; - - //对表格设置排序的标记data-sort-type - table.setAttribute('data-sort-type', compareFn && typeof compareFn === "string" && Fn[compareFn] ? compareFn:''); - - //th不参与排序 - flag && trArray.splice(0, 1); - trArray = utils.sort(trArray,function (tr1, tr2) { - var result; - if (compareFn && typeof compareFn === "function") { - result = compareFn.call(this, tr1.cells[sortByCellIndex], tr2.cells[sortByCellIndex]); - } else if (compareFn && typeof compareFn === "number") { - result = 1; - } else if (compareFn && typeof compareFn === "string" && Fn[compareFn]) { - result = Fn[compareFn].call(this, tr1.cells[sortByCellIndex], tr2.cells[sortByCellIndex]); - } else { - result = Fn['orderbyasc'].call(this, tr1.cells[sortByCellIndex], tr2.cells[sortByCellIndex]); - } - return result; - }); - var fragment = table.ownerDocument.createDocumentFragment(); - for (var j = 0, len = trArray.length; j < len; j++) { - fragment.appendChild(trArray[j]); - } - var tbody = table.getElementsByTagName("tbody")[0]; - if(!lastRowIndex){ - tbody.appendChild(fragment); - }else{ - tbody.insertBefore(fragment,rows[lastRowIndex- range.endRowIndex + range.beginRowIndex - 1]) - } -}; - -UE.plugins['tablesort'] = function () { - var me = this, - UT = UE.UETable, - getUETable = function (tdOrTable) { - return UT.getUETable(tdOrTable); - }, - getTableItemsByRange = function (editor) { - return UT.getTableItemsByRange(editor); - }; - - - me.ready(function () { - //添加表格可排序的样式 - utils.cssRule('tablesort', - 'table.sortEnabled tr.firstRow th,table.sortEnabled tr.firstRow td{padding-right:20px;background-repeat: no-repeat;background-position: center right;' + - ' background-image:url(' + me.options.themePath + me.options.theme + '/images/sortable.png);}', - me.document); - - //做单元格合并操作时,清除可排序标识 - me.addListener("afterexeccommand", function (type, cmd) { - if( cmd == 'mergeright' || cmd == 'mergedown' || cmd == 'mergecells') { - this.execCommand('disablesort'); - } - }); - }); - - - - //表格排序 - UE.commands['sorttable'] = { - queryCommandState: function () { - var me = this, - tableItems = getTableItemsByRange(me); - if (!tableItems.cell) return -1; - var table = tableItems.table, - cells = table.getElementsByTagName("td"); - for (var i = 0, cell; cell = cells[i++];) { - if (cell.rowSpan != 1 || cell.colSpan != 1) return -1; - } - return 0; - }, - execCommand: function (cmd, fn) { - var me = this, - range = me.selection.getRange(), - bk = range.createBookmark(true), - tableItems = getTableItemsByRange(me), - cell = tableItems.cell, - ut = getUETable(tableItems.table), - cellInfo = ut.getCellInfo(cell); - ut.sortTable(cellInfo.cellIndex, fn); - range.moveToBookmark(bk); - try{ - range.select(); - }catch(e){} - } - }; - - //设置表格可排序,清除表格可排序 - UE.commands["enablesort"] = UE.commands["disablesort"] = { - queryCommandState: function (cmd) { - var table = getTableItemsByRange(this).table; - if(table && cmd=='enablesort') { - var cells = domUtils.getElementsByTagName(table, 'th td'); - for(var i = 0; i1 || cells[i].getAttribute('rowspan')>1) return -1; - } - } - - return !table ? -1: cmd=='enablesort' ^ table.getAttribute('data-sort')!='sortEnabled' ? -1:0; - }, - execCommand: function (cmd) { - var table = getTableItemsByRange(this).table; - table.setAttribute("data-sort", cmd == "enablesort" ? "sortEnabled" : "sortDisabled"); - cmd == "enablesort" ? domUtils.addClass(table,"sortEnabled"):domUtils.removeClasses(table,"sortEnabled"); - } - }; -}; - - -// plugins/contextmenu.js -///import core -///commands 右键菜单 -///commandsName ContextMenu -///commandsTitle 右键菜单 -/** - * 右键菜单 - * @function - * @name baidu.editor.plugins.contextmenu - * @author zhanyi - */ - -UE.plugins['contextmenu'] = function () { - var me = this; - me.setOpt('enableContextMenu',true); - if(me.getOpt('enableContextMenu') === false){ - return; - } - var lang = me.getLang( "contextMenu" ), - menu, - items = me.options.contextMenu || [ - {label:lang['selectall'], cmdName:'selectall'}, - { - label:lang.cleardoc, - cmdName:'cleardoc', - exec:function () { - if ( confirm( lang.confirmclear ) ) { - this.execCommand( 'cleardoc' ); - } - } - }, - '-', - { - label:lang.unlink, - cmdName:'unlink' - }, - '-', - { - group:lang.paragraph, - icon:'justifyjustify', - subMenu:[ - { - label:lang.justifyleft, - cmdName:'justify', - value:'left' - }, - { - label:lang.justifyright, - cmdName:'justify', - value:'right' - }, - { - label:lang.justifycenter, - cmdName:'justify', - value:'center' - }, - { - label:lang.justifyjustify, - cmdName:'justify', - value:'justify' - } - ] - }, - '-', - { - group:lang.table, - icon:'table', - subMenu:[ - { - label:lang.inserttable, - cmdName:'inserttable' - }, - { - label:lang.deletetable, - cmdName:'deletetable' - }, - '-', - { - label:lang.deleterow, - cmdName:'deleterow' - }, - { - label:lang.deletecol, - cmdName:'deletecol' - }, - { - label:lang.insertcol, - cmdName:'insertcol' - }, - { - label:lang.insertcolnext, - cmdName:'insertcolnext' - }, - { - label:lang.insertrow, - cmdName:'insertrow' - }, - { - label:lang.insertrownext, - cmdName:'insertrownext' - }, - '-', - { - label:lang.insertcaption, - cmdName:'insertcaption' - }, - { - label:lang.deletecaption, - cmdName:'deletecaption' - }, - { - label:lang.inserttitle, - cmdName:'inserttitle' - }, - { - label:lang.deletetitle, - cmdName:'deletetitle' - }, - { - label:lang.inserttitlecol, - cmdName:'inserttitlecol' - }, - { - label:lang.deletetitlecol, - cmdName:'deletetitlecol' - }, - '-', - { - label:lang.mergecells, - cmdName:'mergecells' - }, - { - label:lang.mergeright, - cmdName:'mergeright' - }, - { - label:lang.mergedown, - cmdName:'mergedown' - }, - '-', - { - label:lang.splittorows, - cmdName:'splittorows' - }, - { - label:lang.splittocols, - cmdName:'splittocols' - }, - { - label:lang.splittocells, - cmdName:'splittocells' - }, - '-', - { - label:lang.averageDiseRow, - cmdName:'averagedistributerow' - }, - { - label:lang.averageDisCol, - cmdName:'averagedistributecol' - }, - '-', - { - label:lang.edittd, - cmdName:'edittd', - exec:function () { - if ( UE.ui['edittd'] ) { - new UE.ui['edittd']( this ); - } - this.getDialog('edittd').open(); - } - }, - { - label:lang.edittable, - cmdName:'edittable', - exec:function () { - if ( UE.ui['edittable'] ) { - new UE.ui['edittable']( this ); - } - this.getDialog('edittable').open(); - } - }, - { - label:lang.setbordervisible, - cmdName:'setbordervisible' - } - ] - }, - { - group:lang.tablesort, - icon:'tablesort', - subMenu:[ - { - label:lang.enablesort, - cmdName:'enablesort' - }, - { - label:lang.disablesort, - cmdName:'disablesort' - }, - '-', - { - label:lang.reversecurrent, - cmdName:'sorttable', - value:'reversecurrent' - }, - { - label:lang.orderbyasc, - cmdName:'sorttable', - value:'orderbyasc' - }, - { - label:lang.reversebyasc, - cmdName:'sorttable', - value:'reversebyasc' - }, - { - label:lang.orderbynum, - cmdName:'sorttable', - value:'orderbynum' - }, - { - label:lang.reversebynum, - cmdName:'sorttable', - value:'reversebynum' - } - ] - }, - { - group:lang.borderbk, - icon:'borderBack', - subMenu:[ - { - label:lang.setcolor, - cmdName:"interlacetable", - exec:function(){ - this.execCommand("interlacetable"); - } - }, - { - label:lang.unsetcolor, - cmdName:"uninterlacetable", - exec:function(){ - this.execCommand("uninterlacetable"); - } - }, - { - label:lang.setbackground, - cmdName:"settablebackground", - exec:function(){ - this.execCommand("settablebackground",{repeat:true,colorList:["#bbb","#ccc"]}); - } - }, - { - label:lang.unsetbackground, - cmdName:"cleartablebackground", - exec:function(){ - this.execCommand("cleartablebackground"); - } - }, - { - label:lang.redandblue, - cmdName:"settablebackground", - exec:function(){ - this.execCommand("settablebackground",{repeat:true,colorList:["red","blue"]}); - } - }, - { - label:lang.threecolorgradient, - cmdName:"settablebackground", - exec:function(){ - this.execCommand("settablebackground",{repeat:true,colorList:["#aaa","#bbb","#ccc"]}); - } - } - ] - }, - { - group:lang.aligntd, - icon:'aligntd', - subMenu:[ - { - cmdName:'cellalignment', - value:{align:'left',vAlign:'top'} - }, - { - cmdName:'cellalignment', - value:{align:'center',vAlign:'top'} - }, - { - cmdName:'cellalignment', - value:{align:'right',vAlign:'top'} - }, - { - cmdName:'cellalignment', - value:{align:'left',vAlign:'middle'} - }, - { - cmdName:'cellalignment', - value:{align:'center',vAlign:'middle'} - }, - { - cmdName:'cellalignment', - value:{align:'right',vAlign:'middle'} - }, - { - cmdName:'cellalignment', - value:{align:'left',vAlign:'bottom'} - }, - { - cmdName:'cellalignment', - value:{align:'center',vAlign:'bottom'} - }, - { - cmdName:'cellalignment', - value:{align:'right',vAlign:'bottom'} - } - ] - }, - { - group:lang.aligntable, - icon:'aligntable', - subMenu:[ - { - cmdName:'tablealignment', - className: 'left', - label:lang.tableleft, - value:"left" - }, - { - cmdName:'tablealignment', - className: 'center', - label:lang.tablecenter, - value:"center" - }, - { - cmdName:'tablealignment', - className: 'right', - label:lang.tableright, - value:"right" - } - ] - }, - '-', - { - label:lang.insertparagraphbefore, - cmdName:'insertparagraph', - value:true - }, - { - label:lang.insertparagraphafter, - cmdName:'insertparagraph' - }, - { - label:lang['copy'], - cmdName:'copy' - }, - { - label:lang['paste'], - cmdName:'paste' - } - ]; - if ( !items.length ) { - return; - } - var uiUtils = UE.ui.uiUtils; - - me.addListener( 'contextmenu', function ( type, evt ) { - - var offset = uiUtils.getViewportOffsetByEvent( evt ); - me.fireEvent( 'beforeselectionchange' ); - if ( menu ) { - menu.destroy(); - } - for ( var i = 0, ti, contextItems = []; ti = items[i]; i++ ) { - var last; - (function ( item ) { - if ( item == '-' ) { - if ( (last = contextItems[contextItems.length - 1 ] ) && last !== '-' ) { - contextItems.push( '-' ); - } - } else if ( item.hasOwnProperty( "group" ) ) { - for ( var j = 0, cj, subMenu = []; cj = item.subMenu[j]; j++ ) { - (function ( subItem ) { - if ( subItem == '-' ) { - if ( (last = subMenu[subMenu.length - 1 ] ) && last !== '-' ) { - subMenu.push( '-' ); - }else{ - subMenu.splice(subMenu.length-1); - } - } else { - if ( (me.commands[subItem.cmdName] || UE.commands[subItem.cmdName] || subItem.query) && - (subItem.query ? subItem.query() : me.queryCommandState( subItem.cmdName )) > -1 ) { - subMenu.push( { - 'label':subItem.label || me.getLang( "contextMenu." + subItem.cmdName + (subItem.value || '') )||"", - 'className':'edui-for-' +subItem.cmdName + ( subItem.className ? ( ' edui-for-' + subItem.cmdName + '-' + subItem.className ) : '' ), - onclick:subItem.exec ? function () { - subItem.exec.call( me ); - } : function () { - me.execCommand( subItem.cmdName, subItem.value ); - } - } ); - } - } - })( cj ); - } - if ( subMenu.length ) { - function getLabel(){ - switch (item.icon){ - case "table": - return me.getLang( "contextMenu.table" ); - case "justifyjustify": - return me.getLang( "contextMenu.paragraph" ); - case "aligntd": - return me.getLang("contextMenu.aligntd"); - case "aligntable": - return me.getLang("contextMenu.aligntable"); - case "tablesort": - return lang.tablesort; - case "borderBack": - return lang.borderbk; - default : - return ''; - } - } - contextItems.push( { - //todo 修正成自动获取方式 - 'label':getLabel(), - className:'edui-for-' + item.icon, - 'subMenu':{ - items:subMenu, - editor:me - } - } ); - } - - } else { - //有可能commmand没有加载右键不能出来,或者没有command也想能展示出来添加query方法 - if ( (me.commands[item.cmdName] || UE.commands[item.cmdName] || item.query) && - (item.query ? item.query.call(me) : me.queryCommandState( item.cmdName )) > -1 ) { - - contextItems.push( { - 'label':item.label || me.getLang( "contextMenu." + item.cmdName ), - className:'edui-for-' + (item.icon ? item.icon : item.cmdName + (item.value || '')), - onclick:item.exec ? function () { - item.exec.call( me ); - } : function () { - me.execCommand( item.cmdName, item.value ); - } - } ); - } - - } - - })( ti ); - } - if ( contextItems[contextItems.length - 1] == '-' ) { - contextItems.pop(); - } - - menu = new UE.ui.Menu( { - items:contextItems, - className:"edui-contextmenu", - editor:me - } ); - menu.render(); - menu.showAt( offset ); - - me.fireEvent("aftershowcontextmenu",menu); - - domUtils.preventDefault( evt ); - if ( browser.ie ) { - var ieRange; - try { - ieRange = me.selection.getNative().createRange(); - } catch ( e ) { - return; - } - if ( ieRange.item ) { - var range = new dom.Range( me.document ); - range.selectNode( ieRange.item( 0 ) ).select( true, true ); - } - } - }); - - // 添加复制的flash按钮 - me.addListener('aftershowcontextmenu', function(type, menu) { - if (me.zeroclipboard) { - var items = menu.items; - for (var key in items) { - if (items[key].className == 'edui-for-copy') { - me.zeroclipboard.clip(items[key].getDom()); - } - } - } - }); - -}; - - -// plugins/shortcutmenu.js -///import core -///commands 弹出菜单 -// commandsName popupmenu -///commandsTitle 弹出菜单 -/** - * 弹出菜单 - * @function - * @name baidu.editor.plugins.popupmenu - * @author xuheng - */ - -UE.plugins['shortcutmenu'] = function () { - var me = this, - menu, - items = me.options.shortcutMenu || []; - - if (!items.length) { - return; - } - - me.addListener ('contextmenu mouseup' , function (type , e) { - var me = this, - customEvt = { - type : type , - target : e.target || e.srcElement , - screenX : e.screenX , - screenY : e.screenY , - clientX : e.clientX , - clientY : e.clientY - }; - - setTimeout (function () { - var rng = me.selection.getRange (); - if (rng.collapsed === false || type == "contextmenu") { - - if (!menu) { - menu = new baidu.editor.ui.ShortCutMenu ({ - editor : me , - items : items , - theme : me.options.theme , - className : 'edui-shortcutmenu' - }); - - menu.render (); - me.fireEvent ("afterrendershortcutmenu" , menu); - } - - menu.show (customEvt , !!UE.plugins['contextmenu']); - } - }); - - if (type == 'contextmenu') { - domUtils.preventDefault (e); - if (browser.ie9below) { - var ieRange; - try { - ieRange = me.selection.getNative().createRange(); - } catch (e) { - return; - } - if (ieRange.item) { - var range = new dom.Range (me.document); - range.selectNode (ieRange.item (0)).select (true , true); - - } - } - } - }); - - me.addListener ('keydown' , function (type) { - if (type == "keydown") { - menu && !menu.isHidden && menu.hide (); - } - - }); - -}; - - - - -// plugins/basestyle.js -/** - * B、I、sub、super命令支持 - * @file - * @since 1.2.6.1 - */ - -UE.plugins['basestyle'] = function(){ - - /** - * 字体加粗 - * @command bold - * @param { String } cmd 命令字符串 - * @remind 对已加粗的文本内容执行该命令, 将取消加粗 - * @method execCommand - * @example - * ```javascript - * //editor是编辑器实例 - * //对当前选中的文本内容执行加粗操作 - * //第一次执行, 文本内容加粗 - * editor.execCommand( 'bold' ); - * - * //第二次执行, 文本内容取消加粗 - * editor.execCommand( 'bold' ); - * ``` - */ - - - /** - * 字体倾斜 - * @command italic - * @method execCommand - * @param { String } cmd 命令字符串 - * @remind 对已倾斜的文本内容执行该命令, 将取消倾斜 - * @example - * ```javascript - * //editor是编辑器实例 - * //对当前选中的文本内容执行斜体操作 - * //第一次操作, 文本内容将变成斜体 - * editor.execCommand( 'italic' ); - * - * //再次对同一文本内容执行, 则文本内容将恢复正常 - * editor.execCommand( 'italic' ); - * ``` - */ - - /** - * 下标文本,与“superscript”命令互斥 - * @command subscript - * @method execCommand - * @remind 把选中的文本内容切换成下标文本, 如果当前选中的文本已经是下标, 则该操作会把文本内容还原成正常文本 - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * //editor是编辑器实例 - * //对当前选中的文本内容执行下标操作 - * //第一次操作, 文本内容将变成下标文本 - * editor.execCommand( 'subscript' ); - * - * //再次对同一文本内容执行, 则文本内容将恢复正常 - * editor.execCommand( 'subscript' ); - * ``` - */ - - /** - * 上标文本,与“subscript”命令互斥 - * @command superscript - * @method execCommand - * @remind 把选中的文本内容切换成上标文本, 如果当前选中的文本已经是上标, 则该操作会把文本内容还原成正常文本 - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * //editor是编辑器实例 - * //对当前选中的文本内容执行上标操作 - * //第一次操作, 文本内容将变成上标文本 - * editor.execCommand( 'superscript' ); - * - * //再次对同一文本内容执行, 则文本内容将恢复正常 - * editor.execCommand( 'superscript' ); - * ``` - */ - var basestyles = { - 'bold':['strong','b'], - 'italic':['em','i'], - 'subscript':['sub'], - 'superscript':['sup'] - }, - getObj = function(editor,tagNames){ - return domUtils.filterNodeList(editor.selection.getStartElementPath(),tagNames); - }, - me = this; - //添加快捷键 - me.addshortcutkey({ - "Bold" : "ctrl+66",//^B - "Italic" : "ctrl+73", //^I - "Underline" : "ctrl+85"//^U - }); - me.addInputRule(function(root){ - utils.each(root.getNodesByTagName('b i'),function(node){ - switch (node.tagName){ - case 'b': - node.tagName = 'strong'; - break; - case 'i': - node.tagName = 'em'; - } - }); - }); - for ( var style in basestyles ) { - (function( cmd, tagNames ) { - me.commands[cmd] = { - execCommand : function( cmdName ) { - var range = me.selection.getRange(),obj = getObj(this,tagNames); - if ( range.collapsed ) { - if ( obj ) { - var tmpText = me.document.createTextNode(''); - range.insertNode( tmpText ).removeInlineStyle( tagNames ); - range.setStartBefore(tmpText); - domUtils.remove(tmpText); - } else { - var tmpNode = range.document.createElement( tagNames[0] ); - if(cmdName == 'superscript' || cmdName == 'subscript'){ - tmpText = me.document.createTextNode(''); - range.insertNode(tmpText) - .removeInlineStyle(['sub','sup']) - .setStartBefore(tmpText) - .collapse(true); - } - range.insertNode( tmpNode ).setStart( tmpNode, 0 ); - } - range.collapse( true ); - } else { - if(cmdName == 'superscript' || cmdName == 'subscript'){ - if(!obj || obj.tagName.toLowerCase() != cmdName){ - range.removeInlineStyle(['sub','sup']); - } - } - obj ? range.removeInlineStyle( tagNames ) : range.applyInlineStyle( tagNames[0] ); - } - range.select(); - }, - queryCommandState : function() { - return getObj(this,tagNames) ? 1 : 0; - } - }; - })( style, basestyles[style] ); - } -}; - - - -// plugins/elementpath.js -/** - * 选取路径命令 - * @file - */ -UE.plugins['elementpath'] = function(){ - var currentLevel, - tagNames, - me = this; - me.setOpt('elementPathEnabled',true); - if(!me.options.elementPathEnabled){ - return; - } - me.commands['elementpath'] = { - execCommand : function( cmdName, level ) { - var start = tagNames[level], - range = me.selection.getRange(); - currentLevel = level*1; - range.selectNode(start).select(); - }, - queryCommandValue : function() { - //产生一个副本,不能修改原来的startElementPath; - var parents = [].concat(this.selection.getStartElementPath()).reverse(), - names = []; - tagNames = parents; - for(var i=0,ci;ci=parents[i];i++){ - if(ci.nodeType == 3) { - continue; - } - var name = ci.tagName.toLowerCase(); - if(name == 'img' && ci.getAttribute('anchorname')){ - name = 'anchor'; - } - names[i] = name; - if(currentLevel == i){ - currentLevel = -1; - break; - } - } - return names; - } - }; -}; - - - -// plugins/formatmatch.js -/** - * 格式刷,只格式inline的 - * @file - * @since 1.2.6.1 - */ - -/** - * 格式刷 - * @command formatmatch - * @method execCommand - * @remind 该操作不能复制段落格式 - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * //editor是编辑器实例 - * //获取格式刷 - * editor.execCommand( 'formatmatch' ); - * ``` - */ -UE.plugins['formatmatch'] = function(){ - - var me = this, - list = [],img, - flag = 0; - - me.addListener('reset',function(){ - list = []; - flag = 0; - }); - - function addList(type,evt){ - - if(browser.webkit){ - var target = evt.target.tagName == 'IMG' ? evt.target : null; - } - - function addFormat(range){ - - if(text){ - range.selectNode(text); - } - return range.applyInlineStyle(list[list.length-1].tagName,null,list); - - } - - me.undoManger && me.undoManger.save(); - - var range = me.selection.getRange(), - imgT = target || range.getClosedNode(); - if(img && imgT && imgT.tagName == 'IMG'){ - //trace:964 - - imgT.style.cssText += ';float:' + (img.style.cssFloat || img.style.styleFloat ||'none') + ';display:' + (img.style.display||'inline'); - - img = null; - }else{ - if(!img){ - var collapsed = range.collapsed; - if(collapsed){ - var text = me.document.createTextNode('match'); - range.insertNode(text).select(); - - - } - me.__hasEnterExecCommand = true; - //不能把block上的属性干掉 - //trace:1553 - var removeFormatAttributes = me.options.removeFormatAttributes; - me.options.removeFormatAttributes = ''; - me.execCommand('removeformat'); - me.options.removeFormatAttributes = removeFormatAttributes; - me.__hasEnterExecCommand = false; - //trace:969 - range = me.selection.getRange(); - if(list.length){ - addFormat(range); - } - if(text){ - range.setStartBefore(text).collapse(true); - - } - range.select(); - text && domUtils.remove(text); - } - - } - - - - - me.undoManger && me.undoManger.save(); - me.removeListener('mouseup',addList); - flag = 0; - } - - me.commands['formatmatch'] = { - execCommand : function( cmdName ) { - - if(flag){ - flag = 0; - list = []; - me.removeListener('mouseup',addList); - return; - } - - - - var range = me.selection.getRange(); - img = range.getClosedNode(); - if(!img || img.tagName != 'IMG'){ - range.collapse(true).shrinkBoundary(); - var start = range.startContainer; - list = domUtils.findParents(start,true,function(node){ - return !domUtils.isBlockElm(node) && node.nodeType == 1; - }); - //a不能加入格式刷, 并且克隆节点 - for(var i=0,ci;ci=list[i];i++){ - if(ci.tagName == 'A'){ - list.splice(i,1); - break; - } - } - - } - - me.addListener('mouseup',addList); - flag = 1; - - - }, - queryCommandState : function() { - return flag; - }, - notNeedUndo : 1 - }; -}; - - - -// plugins/searchreplace.js -///import core -///commands 查找替换 -///commandsName SearchReplace -///commandsTitle 查询替换 -///commandsDialog dialogs\searchreplace -/** - * @description 查找替换 - * @author zhanyi - */ - -UE.plugin.register('searchreplace',function(){ - var me = this; - - var _blockElm = {'table':1,'tbody':1,'tr':1,'ol':1,'ul':1}; - - function findTextInString(textContent,opt,currentIndex){ - var str = opt.searchStr; - if(opt.dir == -1){ - textContent = textContent.split('').reverse().join(''); - str = str.split('').reverse().join(''); - currentIndex = textContent.length - currentIndex; - - } - var reg = new RegExp(str,'g' + (opt.casesensitive ? '' : 'i')),match; - - while(match = reg.exec(textContent)){ - if(match.index >= currentIndex){ - return opt.dir == -1 ? textContent.length - match.index - opt.searchStr.length : match.index; - } - } - return -1 - } - function findTextBlockElm(node,currentIndex,opt){ - var textContent,index,methodName = opt.all || opt.dir == 1 ? 'getNextDomNode' : 'getPreDomNode'; - if(domUtils.isBody(node)){ - node = node.firstChild; - } - var first = 1; - while(node){ - textContent = node.nodeType == 3 ? node.nodeValue : node[browser.ie ? 'innerText' : 'textContent']; - index = findTextInString(textContent,opt,currentIndex ); - first = 0; - if(index!=-1){ - return { - 'node':node, - 'index':index - } - } - node = domUtils[methodName](node); - while(node && _blockElm[node.nodeName.toLowerCase()]){ - node = domUtils[methodName](node,true); - } - if(node){ - currentIndex = opt.dir == -1 ? (node.nodeType == 3 ? node.nodeValue : node[browser.ie ? 'innerText' : 'textContent']).length : 0; - } - - } - } - function findNTextInBlockElm(node,index,str){ - var currentIndex = 0, - currentNode = node.firstChild, - currentNodeLength = 0, - result; - while(currentNode){ - if(currentNode.nodeType == 3){ - currentNodeLength = currentNode.nodeValue.replace(/(^[\t\r\n]+)|([\t\r\n]+$)/,'').length; - currentIndex += currentNodeLength; - if(currentIndex >= index){ - return { - 'node':currentNode, - 'index': currentNodeLength - (currentIndex - index) - } - } - }else if(!dtd.$empty[currentNode.tagName]){ - currentNodeLength = currentNode[browser.ie ? 'innerText' : 'textContent'].replace(/(^[\t\r\n]+)|([\t\r\n]+$)/,'').length - currentIndex += currentNodeLength; - if(currentIndex >= index){ - result = findNTextInBlockElm(currentNode,currentNodeLength - (currentIndex - index),str); - if(result){ - return result; - } - } - } - currentNode = domUtils.getNextDomNode(currentNode); - - } - } - - function searchReplace(me,opt){ - - var rng = me.selection.getRange(), - startBlockNode, - searchStr = opt.searchStr, - span = me.document.createElement('span'); - span.innerHTML = '$$ueditor_searchreplace_key$$'; - - rng.shrinkBoundary(true); - - //判断是不是第一次选中 - if(!rng.collapsed){ - rng.select(); - var rngText = me.selection.getText(); - if(new RegExp('^' + opt.searchStr + '$',(opt.casesensitive ? '' : 'i')).test(rngText)){ - if(opt.replaceStr != undefined){ - replaceText(rng,opt.replaceStr); - rng.select(); - return true; - }else{ - rng.collapse(opt.dir == -1) - } - - } - } - - - rng.insertNode(span); - rng.enlargeToBlockElm(true); - startBlockNode = rng.startContainer; - var currentIndex = startBlockNode[browser.ie ? 'innerText' : 'textContent'].indexOf('$$ueditor_searchreplace_key$$'); - rng.setStartBefore(span); - domUtils.remove(span); - var result = findTextBlockElm(startBlockNode,currentIndex,opt); - if(result){ - var rngStart = findNTextInBlockElm(result.node,result.index,searchStr); - var rngEnd = findNTextInBlockElm(result.node,result.index + searchStr.length,searchStr); - rng.setStart(rngStart.node,rngStart.index).setEnd(rngEnd.node,rngEnd.index); - - if(opt.replaceStr !== undefined){ - replaceText(rng,opt.replaceStr) - } - rng.select(); - return true; - }else{ - rng.setCursor() - } - - } - function replaceText(rng,str){ - - str = me.document.createTextNode(str); - rng.deleteContents().insertNode(str); - - } - return { - commands:{ - 'searchreplace':{ - execCommand:function(cmdName,opt){ - utils.extend(opt,{ - all : false, - casesensitive : false, - dir : 1 - },true); - var num = 0; - if(opt.all){ - - var rng = me.selection.getRange(), - first = me.body.firstChild; - if(first && first.nodeType == 1){ - rng.setStart(first,0); - rng.shrinkBoundary(true); - }else if(first.nodeType == 3){ - rng.setStartBefore(first) - } - rng.collapse(true).select(true); - if(opt.replaceStr !== undefined){ - me.fireEvent('saveScene'); - } - while(searchReplace(this,opt)){ - num++; - } - if(num){ - me.fireEvent('saveScene'); - } - }else{ - if(opt.replaceStr !== undefined){ - me.fireEvent('saveScene'); - } - if(searchReplace(this,opt)){ - num++ - } - if(num){ - me.fireEvent('saveScene'); - } - - } - - return num; - }, - notNeedUndo:1 - } - } - } -}); - -// plugins/customstyle.js -/** - * 自定义样式 - * @file - * @since 1.2.6.1 - */ - -/** - * 根据config配置文件里“customstyle”选项的值对匹配的标签执行样式替换。 - * @command customstyle - * @method execCommand - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * editor.execCommand( 'customstyle' ); - * ``` - */ -UE.plugins['customstyle'] = function() { - var me = this; - me.setOpt({ 'customstyle':[ - {tag:'h1',name:'tc', style:'font-size:32px;font-weight:bold;border-bottom:#ccc 2px solid;padding:0 4px 0 0;text-align:center;margin:0 0 20px 0;'}, - {tag:'h1',name:'tl', style:'font-size:32px;font-weight:bold;border-bottom:#ccc 2px solid;padding:0 4px 0 0;text-align:left;margin:0 0 10px 0;'}, - {tag:'span',name:'im', style:'font-size:16px;font-style:italic;font-weight:bold;line-height:18px;'}, - {tag:'span',name:'hi', style:'font-size:16px;font-style:italic;font-weight:bold;color:rgb(51, 153, 204);line-height:18px;'} - ]}); - me.commands['customstyle'] = { - execCommand : function(cmdName, obj) { - var me = this, - tagName = obj.tag, - node = domUtils.findParent(me.selection.getStart(), function(node) { - return node.getAttribute('label'); - }, true), - range,bk,tmpObj = {}; - for (var p in obj) { - if(obj[p]!==undefined) - tmpObj[p] = obj[p]; - } - delete tmpObj.tag; - if (node && node.getAttribute('label') == obj.label) { - range = this.selection.getRange(); - bk = range.createBookmark(); - if (range.collapsed) { - //trace:1732 删掉自定义标签,要有p来回填站位 - if(dtd.$block[node.tagName]){ - var fillNode = me.document.createElement('p'); - domUtils.moveChild(node, fillNode); - node.parentNode.insertBefore(fillNode, node); - domUtils.remove(node); - }else{ - domUtils.remove(node,true); - } - - } else { - - var common = domUtils.getCommonAncestor(bk.start, bk.end), - nodes = domUtils.getElementsByTagName(common, tagName); - if(new RegExp(tagName,'i').test(common.tagName)){ - nodes.push(common); - } - for (var i = 0,ni; ni = nodes[i++];) { - if (ni.getAttribute('label') == obj.label) { - var ps = domUtils.getPosition(ni, bk.start),pe = domUtils.getPosition(ni, bk.end); - if ((ps & domUtils.POSITION_FOLLOWING || ps & domUtils.POSITION_CONTAINS) - && - (pe & domUtils.POSITION_PRECEDING || pe & domUtils.POSITION_CONTAINS) - ) - if (dtd.$block[tagName]) { - var fillNode = me.document.createElement('p'); - domUtils.moveChild(ni, fillNode); - ni.parentNode.insertBefore(fillNode, ni); - } - domUtils.remove(ni, true); - } - } - node = domUtils.findParent(common, function(node) { - return node.getAttribute('label') == obj.label; - }, true); - if (node) { - - domUtils.remove(node, true); - - } - - } - range.moveToBookmark(bk).select(); - } else { - if (dtd.$block[tagName]) { - this.execCommand('paragraph', tagName, tmpObj,'customstyle'); - range = me.selection.getRange(); - if (!range.collapsed) { - range.collapse(); - node = domUtils.findParent(me.selection.getStart(), function(node) { - return node.getAttribute('label') == obj.label; - }, true); - var pNode = me.document.createElement('p'); - domUtils.insertAfter(node, pNode); - domUtils.fillNode(me.document, pNode); - range.setStart(pNode, 0).setCursor(); - } - } else { - - range = me.selection.getRange(); - if (range.collapsed) { - node = me.document.createElement(tagName); - domUtils.setAttributes(node, tmpObj); - range.insertNode(node).setStart(node, 0).setCursor(); - - return; - } - - bk = range.createBookmark(); - range.applyInlineStyle(tagName, tmpObj).moveToBookmark(bk).select(); - } - } - - }, - queryCommandValue : function() { - var parent = domUtils.filterNodeList( - this.selection.getStartElementPath(), - function(node){return node.getAttribute('label')} - ); - return parent ? parent.getAttribute('label') : ''; - } - }; - //当去掉customstyle是,如果是块元素,用p代替 - me.addListener('keyup', function(type, evt) { - var keyCode = evt.keyCode || evt.which; - - if (keyCode == 32 || keyCode == 13) { - var range = me.selection.getRange(); - if (range.collapsed) { - var node = domUtils.findParent(me.selection.getStart(), function(node) { - return node.getAttribute('label'); - }, true); - if (node && dtd.$block[node.tagName] && domUtils.isEmptyNode(node)) { - var p = me.document.createElement('p'); - domUtils.insertAfter(node, p); - domUtils.fillNode(me.document, p); - domUtils.remove(node); - range.setStart(p, 0).setCursor(); - - - } - } - } - }); -}; - -// plugins/catchremoteimage.js -///import core -///commands 远程图片抓取 -///commandsName catchRemoteImage,catchremoteimageenable -///commandsTitle 远程图片抓取 -/** - * 远程图片抓取,当开启本插件时所有不符合本地域名的图片都将被抓取成为本地服务器上的图片 - */ -UE.plugins['catchremoteimage'] = function () { - var me = this, - ajax = UE.ajax; - - /* 设置默认值 */ - if (me.options.catchRemoteImageEnable === false) return; - me.setOpt({ - catchRemoteImageEnable: false - }); - - me.addListener("afterpaste", function () { - me.fireEvent("catchRemoteImage"); - }); - - me.addListener("catchRemoteImage", function () { - - var catcherLocalDomain = me.getOpt('catcherLocalDomain'), - catcherActionUrl = me.getActionUrl(me.getOpt('catcherActionName')), - catcherUrlPrefix = me.getOpt('catcherUrlPrefix'), - catcherFieldName = me.getOpt('catcherFieldName'); - - var remoteImages = [], - imgs = domUtils.getElementsByTagName(me.document, "img"), - test = function (src, urls) { - if (src.indexOf(location.host) != -1 || /(^\.)|(^\/)/.test(src)) { - return true; - } - if (urls) { - for (var j = 0, url; url = urls[j++];) { - if (src.indexOf(url) !== -1) { - return true; - } - } - } - return false; - }; - - for (var i = 0, ci; ci = imgs[i++];) { - if (ci.getAttribute("word_img")) { - continue; - } - var src = ci.getAttribute("_src") || ci.src || ""; - if (/^(https?|ftp):/i.test(src) && !test(src, catcherLocalDomain)) { - remoteImages.push(src); - } - } - - if (remoteImages.length) { - catchremoteimage(remoteImages, { - //成功抓取 - success: function (r) { - try { - var info = r.state !== undefined ? r:eval("(" + r.responseText + ")"); - } catch (e) { - return; - } - - /* 获取源路径和新路径 */ - var i, j, ci, cj, oldSrc, newSrc, list = info.list; - - for (i = 0; ci = imgs[i++];) { - oldSrc = ci.getAttribute("_src") || ci.src || ""; - for (j = 0; cj = list[j++];) { - if (oldSrc == cj.source && cj.state == "SUCCESS") { //抓取失败时不做替换处理 - newSrc = catcherUrlPrefix + cj.url; - domUtils.setAttributes(ci, { - "src": newSrc, - "_src": newSrc - }); - break; - } - } - } - me.fireEvent('catchremotesuccess') - }, - //回调失败,本次请求超时 - error: function () { - me.fireEvent("catchremoteerror"); - } - }); - } - - function catchremoteimage(imgs, callbacks) { - var params = utils.serializeParam(me.queryCommandValue('serverparam')) || '', - url = utils.formatUrl(catcherActionUrl + (catcherActionUrl.indexOf('?') == -1 ? '?':'&') + params), - isJsonp = utils.isCrossDomainUrl(url), - opt = { - 'method': 'POST', - 'dataType': isJsonp ? 'jsonp':'', - 'timeout': 60000, //单位:毫秒,回调请求超时设置。目标用户如果网速不是很快的话此处建议设置一个较大的数值 - 'onsuccess': callbacks["success"], - 'onerror': callbacks["error"] - }; - opt[catcherFieldName] = imgs; - ajax.request(url, opt); - } - - }); -}; - -// plugins/snapscreen.js -/** - * 截屏插件,为UEditor提供插入支持 - * @file - * @since 1.4.2 - */ -UE.plugin.register('snapscreen', function (){ - - var me = this; - var snapplugin; - - function getLocation(url){ - var search, - a = document.createElement('a'), - params = utils.serializeParam(me.queryCommandValue('serverparam')) || ''; - - a.href = url; - if (browser.ie) { - a.href = a.href; - } - - - search = a.search; - if (params) { - search = search + (search.indexOf('?') == -1 ? '?':'&')+ params; - search = search.replace(/[&]+/ig, '&'); - } - return { - 'port': a.port, - 'hostname': a.hostname, - 'path': a.pathname + search || + a.hash - } - } - - return { - commands:{ - /** - * 字体背景颜色 - * @command snapscreen - * @method execCommand - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * editor.execCommand('snapscreen'); - * ``` - */ - 'snapscreen':{ - execCommand:function (cmd) { - var url, local, res; - var lang = me.getLang("snapScreen_plugin"); - - if(!snapplugin){ - var container = me.container; - var doc = me.container.ownerDocument || me.container.document; - snapplugin = doc.createElement("object"); - try{snapplugin.type = "application/x-pluginbaidusnap";}catch(e){ - return; - } - snapplugin.style.cssText = "position:absolute;left:-9999px;width:0;height:0;"; - snapplugin.setAttribute("width","0"); - snapplugin.setAttribute("height","0"); - container.appendChild(snapplugin); - } - - function onSuccess(rs){ - try{ - rs = eval("("+ rs +")"); - if(rs.state == 'SUCCESS'){ - var opt = me.options; - me.execCommand('insertimage', { - src: opt.snapscreenUrlPrefix + rs.url, - _src: opt.snapscreenUrlPrefix + rs.url, - alt: rs.title || '', - floatStyle: opt.snapscreenImgAlign - }); - } else { - alert(rs.state); - } - }catch(e){ - alert(lang.callBackErrorMsg); - } - } - url = me.getActionUrl(me.getOpt('snapscreenActionName')); - local = getLocation(url); - setTimeout(function () { - try{ - res =snapplugin.saveSnapshot(local.hostname, local.path, local.port); - }catch(e){ - me.ui._dialogs['snapscreenDialog'].open(); - return; - } - - onSuccess(res); - }, 50); - }, - queryCommandState: function(){ - return (navigator.userAgent.indexOf("Windows",0) != -1) ? 0:-1; - } - } - } - } -}); - - -// plugins/insertparagraph.js -/** - * 插入段落 - * @file - * @since 1.2.6.1 - */ - - -/** - * 插入段落 - * @command insertparagraph - * @method execCommand - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * //editor是编辑器实例 - * editor.execCommand( 'insertparagraph' ); - * ``` - */ - -UE.commands['insertparagraph'] = { - execCommand : function( cmdName,front) { - var me = this, - range = me.selection.getRange(), - start = range.startContainer,tmpNode; - while(start ){ - if(domUtils.isBody(start)){ - break; - } - tmpNode = start; - start = start.parentNode; - } - if(tmpNode){ - var p = me.document.createElement('p'); - if(front){ - tmpNode.parentNode.insertBefore(p,tmpNode) - }else{ - tmpNode.parentNode.insertBefore(p,tmpNode.nextSibling) - } - domUtils.fillNode(me.document,p); - range.setStart(p,0).setCursor(false,true); - } - } -}; - - - -// plugins/webapp.js -/** - * 百度应用 - * @file - * @since 1.2.6.1 - */ - - -/** - * 插入百度应用 - * @command webapp - * @method execCommand - * @remind 需要百度APPKey - * @remind 百度应用主页: http://app.baidu.com/ - * @param { Object } appOptions 应用所需的参数项, 支持的key有: title=>应用标题, width=>应用容器宽度, - * height=>应用容器高度,logo=>应用logo,url=>应用地址 - * @example - * ```javascript - * //editor是编辑器实例 - * //在编辑器里插入一个“植物大战僵尸”的APP - * editor.execCommand( 'webapp' , { - * title: '植物大战僵尸', - * width: 560, - * height: 465, - * logo: '应用展示的图片', - * url: '百度应用的地址' - * } ); - * ``` - */ - -//UE.plugins['webapp'] = function () { -// var me = this; -// function createInsertStr( obj, toIframe, addParagraph ) { -// return !toIframe ? -// (addParagraph ? '

    ' : '') + '' + -// (addParagraph ? '

    ' : '') -// : -// ''; -// } -// -// function switchImgAndIframe( img2frame ) { -// var tmpdiv, -// nodes = domUtils.getElementsByTagName( me.document, !img2frame ? "iframe" : "img" ); -// for ( var i = 0, node; node = nodes[i++]; ) { -// if ( node.className != "edui-faked-webapp" ){ -// continue; -// } -// tmpdiv = me.document.createElement( "div" ); -// tmpdiv.innerHTML = createInsertStr( img2frame ? {url:node.getAttribute( "_url" ), width:node.width, height:node.height,title:node.title,logo:node.style.backgroundImage.replace("url(","").replace(")","")} : {url:node.getAttribute( "src", 2 ),title:node.title, width:node.width, height:node.height,logo:node.getAttribute("logo_url")}, img2frame ? true : false,false ); -// node.parentNode.replaceChild( tmpdiv.firstChild, node ); -// } -// } -// -// me.addListener( "beforegetcontent", function () { -// switchImgAndIframe( true ); -// } ); -// me.addListener( 'aftersetcontent', function () { -// switchImgAndIframe( false ); -// } ); -// me.addListener( 'aftergetcontent', function ( cmdName ) { -// if ( cmdName == 'aftergetcontent' && me.queryCommandState( 'source' ) ){ -// return; -// } -// switchImgAndIframe( false ); -// } ); -// -// me.commands['webapp'] = { -// execCommand:function ( cmd, obj ) { -// me.execCommand( "inserthtml", createInsertStr( obj, false,true ) ); -// } -// }; -//}; - -UE.plugin.register('webapp', function (){ - var me = this; - function createInsertStr(obj,toEmbed){ - return !toEmbed ? - '' - : - '' - - } - return { - outputRule: function(root){ - utils.each(root.getNodesByTagName('img'),function(node){ - var html; - if(node.getAttr('class') == 'edui-faked-webapp'){ - html = createInsertStr({ - title:node.getAttr('title'), - 'width':node.getAttr('width'), - 'height':node.getAttr('height'), - 'align':node.getAttr('align'), - 'cssfloat':node.getStyle('float'), - 'url':node.getAttr("_url"), - 'logo':node.getAttr('_logo_url') - },true); - var embed = UE.uNode.createElement(html); - node.parentNode.replaceChild(embed,node); - } - }) - }, - inputRule:function(root){ - utils.each(root.getNodesByTagName('iframe'),function(node){ - if(node.getAttr('class') == 'edui-faked-webapp'){ - var img = UE.uNode.createElement(createInsertStr({ - title:node.getAttr('title'), - 'width':node.getAttr('width'), - 'height':node.getAttr('height'), - 'align':node.getAttr('align'), - 'cssfloat':node.getStyle('float'), - 'url':node.getAttr("src"), - 'logo':node.getAttr('logo_url') - })); - node.parentNode.replaceChild(img,node); - } - }) - - }, - commands:{ - /** - * 插入百度应用 - * @command webapp - * @method execCommand - * @remind 需要百度APPKey - * @remind 百度应用主页: http://app.baidu.com/ - * @param { Object } appOptions 应用所需的参数项, 支持的key有: title=>应用标题, width=>应用容器宽度, - * height=>应用容器高度,logo=>应用logo,url=>应用地址 - * @example - * ```javascript - * //editor是编辑器实例 - * //在编辑器里插入一个“植物大战僵尸”的APP - * editor.execCommand( 'webapp' , { - * title: '植物大战僵尸', - * width: 560, - * height: 465, - * logo: '应用展示的图片', - * url: '百度应用的地址' - * } ); - * ``` - */ - 'webapp':{ - execCommand:function (cmd, obj) { - - var me = this, - str = createInsertStr(utils.extend(obj,{ - align:'none' - }), false); - me.execCommand("inserthtml",str); - }, - queryCommandState:function () { - var me = this, - img = me.selection.getRange().getClosedNode(), - flag = img && (img.className == "edui-faked-webapp"); - return flag ? 1 : 0; - } - } - } - } -}); - -// plugins/template.js -///import core -///import plugins\inserthtml.js -///import plugins\cleardoc.js -///commands 模板 -///commandsName template -///commandsTitle 模板 -///commandsDialog dialogs\template -UE.plugins['template'] = function () { - UE.commands['template'] = { - execCommand:function (cmd, obj) { - obj.html && this.execCommand("inserthtml", obj.html); - } - }; - this.addListener("click", function (type, evt) { - var el = evt.target || evt.srcElement, - range = this.selection.getRange(); - var tnode = domUtils.findParent(el, function (node) { - if (node.className && domUtils.hasClass(node, "ue_t")) { - return node; - } - }, true); - tnode && range.selectNode(tnode).shrinkBoundary().select(); - }); - this.addListener("keydown", function (type, evt) { - var range = this.selection.getRange(); - if (!range.collapsed) { - if (!evt.ctrlKey && !evt.metaKey && !evt.shiftKey && !evt.altKey) { - var tnode = domUtils.findParent(range.startContainer, function (node) { - if (node.className && domUtils.hasClass(node, "ue_t")) { - return node; - } - }, true); - if (tnode) { - domUtils.removeClasses(tnode, ["ue_t"]); - } - } - } - }); -}; - - -// plugins/music.js -/** - * 插入音乐命令 - * @file - */ -UE.plugin.register('music', function (){ - var me = this; - function creatInsertStr(url,width,height,align,cssfloat,toEmbed){ - return !toEmbed ? - '' - : - ''; - } - return { - outputRule: function(root){ - utils.each(root.getNodesByTagName('img'),function(node){ - var html; - if(node.getAttr('class') == 'edui-faked-music'){ - var cssfloat = node.getStyle('float'); - var align = node.getAttr('align'); - html = creatInsertStr(node.getAttr("_url"), node.getAttr('width'), node.getAttr('height'), align, cssfloat, true); - var embed = UE.uNode.createElement(html); - node.parentNode.replaceChild(embed,node); - } - }) - }, - inputRule:function(root){ - utils.each(root.getNodesByTagName('embed'),function(node){ - if(node.getAttr('class') == 'edui-faked-music'){ - var cssfloat = node.getStyle('float'); - var align = node.getAttr('align'); - html = creatInsertStr(node.getAttr("src"), node.getAttr('width'), node.getAttr('height'), align, cssfloat,false); - var img = UE.uNode.createElement(html); - node.parentNode.replaceChild(img,node); - } - }) - - }, - commands:{ - /** - * 插入音乐 - * @command music - * @method execCommand - * @param { Object } musicOptions 插入音乐的参数项, 支持的key有: url=>音乐地址; - * width=>音乐容器宽度;height=>音乐容器高度;align=>音乐文件的对齐方式, 可选值有: left, center, right, none - * @example - * ```javascript - * //editor是编辑器实例 - * //在编辑器里插入一个“植物大战僵尸”的APP - * editor.execCommand( 'music' , { - * width: 400, - * height: 95, - * align: "center", - * url: "音乐地址" - * } ); - * ``` - */ - 'music':{ - execCommand:function (cmd, musicObj) { - var me = this, - str = creatInsertStr(musicObj.url, musicObj.width || 400, musicObj.height || 95, "none", false); - me.execCommand("inserthtml",str); - }, - queryCommandState:function () { - var me = this, - img = me.selection.getRange().getClosedNode(), - flag = img && (img.className == "edui-faked-music"); - return flag ? 1 : 0; - } - } - } - } -}); - -// plugins/autoupload.js -/** - * @description - * 1.拖放文件到编辑区域,自动上传并插入到选区 - * 2.插入粘贴板的图片,自动上传并插入到选区 - * @author Jinqn - * @date 2013-10-14 - */ -UE.plugin.register('autoupload', function (){ - - function sendAndInsertFile(file, editor) { - var me = editor; - //模拟数据 - var fieldName, urlPrefix, maxSize, allowFiles, actionUrl, - loadingHtml, errorHandler, successHandler, - filetype = /image\/\w+/i.test(file.type) ? 'image':'file', - loadingId = 'loading_' + (+new Date()).toString(36); - - fieldName = me.getOpt(filetype + 'FieldName'); - urlPrefix = me.getOpt(filetype + 'UrlPrefix'); - maxSize = me.getOpt(filetype + 'MaxSize'); - allowFiles = me.getOpt(filetype + 'AllowFiles'); - actionUrl = me.getActionUrl(me.getOpt(filetype + 'ActionName')); - errorHandler = function(title) { - var loader = me.document.getElementById(loadingId); - loader && domUtils.remove(loader); - me.fireEvent('showmessage', { - 'id': loadingId, - 'content': title, - 'type': 'error', - 'timeout': 4000 - }); - }; - - if (filetype == 'image') { - loadingHtml = ''; - successHandler = function(data) { - var link = urlPrefix + data.url, - loader = me.document.getElementById(loadingId); - if (loader) { - loader.setAttribute('src', link); - loader.setAttribute('_src', link); - loader.setAttribute('title', data.title || ''); - loader.setAttribute('alt', data.original || ''); - loader.removeAttribute('id'); - domUtils.removeClasses(loader, 'loadingclass'); - } - }; - } else { - loadingHtml = '

    ' + - '' + - '

    '; - successHandler = function(data) { - var link = urlPrefix + data.url, - loader = me.document.getElementById(loadingId); - - var rng = me.selection.getRange(), - bk = rng.createBookmark(); - rng.selectNode(loader).select(); - me.execCommand('insertfile', {'url': link}); - rng.moveToBookmark(bk).select(); - }; - } - - /* 插入loading的占位符 */ - me.execCommand('inserthtml', loadingHtml); - - /* 判断后端配置是否没有加载成功 */ - if (!me.getOpt(filetype + 'ActionName')) { - errorHandler(me.getLang('autoupload.errorLoadConfig')); - return; - } - /* 判断文件大小是否超出限制 */ - if(file.size > maxSize) { - errorHandler(me.getLang('autoupload.exceedSizeError')); - return; - } - /* 判断文件格式是否超出允许 */ - var fileext = file.name ? file.name.substr(file.name.lastIndexOf('.')):''; - if ((fileext && filetype != 'image') || (allowFiles && (allowFiles.join('') + '.').indexOf(fileext.toLowerCase() + '.') == -1)) { - errorHandler(me.getLang('autoupload.exceedTypeError')); - return; - } - - /* 创建Ajax并提交 */ - var xhr = new XMLHttpRequest(), - fd = new FormData(), - params = utils.serializeParam(me.queryCommandValue('serverparam')) || '', - url = utils.formatUrl(actionUrl + (actionUrl.indexOf('?') == -1 ? '?':'&') + params); - - fd.append(fieldName, file, file.name || ('blob.' + file.type.substr('image/'.length))); - fd.append('type', 'ajax'); - xhr.open("post", url, true); - xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); - xhr.addEventListener('load', function (e) { - try{ - var json = (new Function("return " + utils.trim(e.target.response)))(); - if (json.state == 'SUCCESS' && json.url) { - successHandler(json); - } else { - errorHandler(json.state); - } - }catch(er){ - errorHandler(me.getLang('autoupload.loadError')); - } - }); - xhr.send(fd); - } - - function getPasteImage(e){ - return e.clipboardData && e.clipboardData.items && e.clipboardData.items.length == 1 && /^image\//.test(e.clipboardData.items[0].type) ? e.clipboardData.items:null; - } - function getDropImage(e){ - return e.dataTransfer && e.dataTransfer.files ? e.dataTransfer.files:null; - } - - return { - outputRule: function(root){ - utils.each(root.getNodesByTagName('img'),function(n){ - if (/\b(loaderrorclass)|(bloaderrorclass)\b/.test(n.getAttr('class'))) { - n.parentNode.removeChild(n); - } - }); - utils.each(root.getNodesByTagName('p'),function(n){ - if (/\bloadpara\b/.test(n.getAttr('class'))) { - n.parentNode.removeChild(n); - } - }); - }, - bindEvents:{ - //插入粘贴板的图片,拖放插入图片 - 'ready':function(e){ - var me = this; - if(window.FormData && window.FileReader) { - domUtils.on(me.body, 'paste drop', function(e){ - var hasImg = false, - items; - //获取粘贴板文件列表或者拖放文件列表 - items = e.type == 'paste' ? getPasteImage(e):getDropImage(e); - if(items){ - var len = items.length, - file; - while (len--){ - file = items[len]; - if(file.getAsFile) file = file.getAsFile(); - if(file && file.size > 0) { - sendAndInsertFile(file, me); - hasImg = true; - } - } - hasImg && e.preventDefault(); - } - - }); - //取消拖放图片时出现的文字光标位置提示 - domUtils.on(me.body, 'dragover', function (e) { - if(e.dataTransfer.types[0] == 'Files') { - e.preventDefault(); - } - }); - - //设置loading的样式 - utils.cssRule('loading', - '.loadingclass{display:inline-block;cursor:default;background: url(\'' - + this.options.themePath - + this.options.theme +'/images/loading.gif\') no-repeat center center transparent;border:1px solid #cccccc;margin-left:1px;height: 22px;width: 22px;}\n' + - '.loaderrorclass{display:inline-block;cursor:default;background: url(\'' - + this.options.themePath - + this.options.theme +'/images/loaderror.png\') no-repeat center center transparent;border:1px solid #cccccc;margin-right:1px;height: 22px;width: 22px;' + - '}', - this.document); - } - } - } - } -}); - -// plugins/autosave.js -UE.plugin.register('autosave', function (){ - - var me = this, - //无限循环保护 - lastSaveTime = new Date(), - //最小保存间隔时间 - MIN_TIME = 20, - //auto save key - saveKey = null; - - function save ( editor ) { - - var saveData; - - if ( new Date() - lastSaveTime < MIN_TIME ) { - return; - } - - if ( !editor.hasContents() ) { - //这里不能调用命令来删除, 会造成事件死循环 - saveKey && me.removePreferences( saveKey ); - return; - } - - lastSaveTime = new Date(); - - editor._saveFlag = null; - - saveData = me.body.innerHTML; - - if ( editor.fireEvent( "beforeautosave", { - content: saveData - } ) === false ) { - return; - } - - me.setPreferences( saveKey, saveData ); - - editor.fireEvent( "afterautosave", { - content: saveData - } ); - - } - - return { - defaultOptions: { - //默认间隔时间 - saveInterval: 500 - }, - bindEvents:{ - 'ready':function(){ - - var _suffix = "-drafts-data", - key = null; - - if ( me.key ) { - key = me.key + _suffix; - } else { - key = ( me.container.parentNode.id || 'ue-common' ) + _suffix; - } - - //页面地址+编辑器ID 保持唯一 - saveKey = ( location.protocol + location.host + location.pathname ).replace( /[.:\/]/g, '_' ) + key; - - }, - - 'contentchange': function () { - - if ( !saveKey ) { - return; - } - - if ( me._saveFlag ) { - window.clearTimeout( me._saveFlag ); - } - - if ( me.options.saveInterval > 0 ) { - - me._saveFlag = window.setTimeout( function () { - - save( me ); - - }, me.options.saveInterval ); - - } else { - - save(me); - - } - - - } - }, - commands:{ - 'clearlocaldata':{ - execCommand:function (cmd, name) { - if ( saveKey && me.getPreferences( saveKey ) ) { - me.removePreferences( saveKey ) - } - }, - notNeedUndo: true, - ignoreContentChange:true - }, - - 'getlocaldata':{ - execCommand:function (cmd, name) { - return saveKey ? me.getPreferences( saveKey ) || '' : ''; - }, - notNeedUndo: true, - ignoreContentChange:true - }, - - 'drafts':{ - execCommand:function (cmd, name) { - if ( saveKey ) { - me.body.innerHTML = me.getPreferences( saveKey ) || '

    '+domUtils.fillHtml+'

    '; - me.focus(true); - } - }, - queryCommandState: function () { - return saveKey ? ( me.getPreferences( saveKey ) === null ? -1 : 0 ) : -1; - }, - notNeedUndo: true, - ignoreContentChange:true - } - } - } - -}); - -// plugins/charts.js -UE.plugin.register('charts', function (){ - - var me = this; - - return { - bindEvents: { - 'chartserror': function () { - } - }, - commands:{ - 'charts': { - execCommand: function ( cmd, data ) { - - var tableNode = domUtils.findParentByTagName(this.selection.getRange().startContainer, 'table', true), - flagText = [], - config = {}; - - if ( !tableNode ) { - return false; - } - - if ( !validData( tableNode ) ) { - me.fireEvent( "chartserror" ); - return false; - } - - config.title = data.title || ''; - config.subTitle = data.subTitle || ''; - config.xTitle = data.xTitle || ''; - config.yTitle = data.yTitle || ''; - config.suffix = data.suffix || ''; - config.tip = data.tip || ''; - //数据对齐方式 - config.dataFormat = data.tableDataFormat || ''; - //图表类型 - config.chartType = data.chartType || 0; - - for ( var key in config ) { - - if ( !config.hasOwnProperty( key ) ) { - continue; - } - - flagText.push( key+":"+config[ key ] ); - - } - - tableNode.setAttribute( "data-chart", flagText.join( ";" ) ); - domUtils.addClass( tableNode, "edui-charts-table" ); - - - - }, - queryCommandState: function ( cmd, name ) { - - var tableNode = domUtils.findParentByTagName(this.selection.getRange().startContainer, 'table', true); - return tableNode && validData( tableNode ) ? 0 : -1; - - } - } - }, - inputRule:function(root){ - utils.each(root.getNodesByTagName('table'),function( tableNode ){ - - if ( tableNode.getAttr("data-chart") !== undefined ) { - tableNode.setAttr("style"); - } - - }) - - }, - outputRule:function(root){ - utils.each(root.getNodesByTagName('table'),function( tableNode ){ - - if ( tableNode.getAttr("data-chart") !== undefined ) { - tableNode.setAttr("style", "display: none;"); - } - - }) - - } - } - - function validData ( table ) { - - var firstRows = null, - cellCount = 0; - - //行数不够 - if ( table.rows.length < 2 ) { - return false; - } - - //列数不够 - if ( table.rows[0].cells.length < 2 ) { - return false; - } - - //第一行所有cell必须是th - firstRows = table.rows[ 0 ].cells; - cellCount = firstRows.length; - - for ( var i = 0, cell; cell = firstRows[ i ]; i++ ) { - - if ( cell.tagName.toLowerCase() !== 'th' ) { - return false; - } - - } - - for ( var i = 1, row; row = table.rows[ i ]; i++ ) { - - //每行单元格数不匹配, 返回false - if ( row.cells.length != cellCount ) { - return false; - } - - //第一列不是th也返回false - if ( row.cells[0].tagName.toLowerCase() !== 'th' ) { - return false; - } - - for ( var j = 1, cell; cell = row.cells[ j ]; j++ ) { - - var value = utils.trim( ( cell.innerText || cell.textContent || '' ) ); - - value = value.replace( new RegExp( UE.dom.domUtils.fillChar, 'g' ), '' ).replace( /^\s+|\s+$/g, '' ); - - //必须是数字 - if ( !/^\d*\.?\d+$/.test( value ) ) { - return false; - } - - } - - } - - return true; - - } - -}); - -// plugins/section.js -/** - * 目录大纲支持插件 - * @file - * @since 1.3.0 - */ -UE.plugin.register('section', function (){ - /* 目录节点对象 */ - function Section(option){ - this.tag = ''; - this.level = -1, - this.dom = null; - this.nextSection = null; - this.previousSection = null; - this.parentSection = null; - this.startAddress = []; - this.endAddress = []; - this.children = []; - } - function getSection(option) { - var section = new Section(); - return utils.extend(section, option); - } - function getNodeFromAddress(startAddress, root) { - var current = root; - for(var i = 0;i < startAddress.length; i++) { - if(!current.childNodes) return null; - current = current.childNodes[startAddress[i]]; - } - return current; - } - - var me = this; - - return { - bindMultiEvents:{ - type: 'aftersetcontent afterscencerestore', - handler: function(){ - me.fireEvent('updateSections'); - } - }, - bindEvents:{ - /* 初始化、拖拽、粘贴、执行setcontent之后 */ - 'ready': function (){ - me.fireEvent('updateSections'); - domUtils.on(me.body, 'drop paste', function(){ - me.fireEvent('updateSections'); - }); - }, - /* 执行paragraph命令之后 */ - 'afterexeccommand': function (type, cmd) { - if(cmd == 'paragraph') { - me.fireEvent('updateSections'); - } - }, - /* 部分键盘操作,触发updateSections事件 */ - 'keyup': function (type, e) { - var me = this, - range = me.selection.getRange(); - if(range.collapsed != true) { - me.fireEvent('updateSections'); - } else { - var keyCode = e.keyCode || e.which; - if(keyCode == 13 || keyCode == 8 || keyCode == 46) { - me.fireEvent('updateSections'); - } - } - } - }, - commands:{ - 'getsections': { - execCommand: function (cmd, levels) { - var levelFn = levels || ['h1', 'h2', 'h3', 'h4', 'h5', 'h6']; - - for (var i = 0; i < levelFn.length; i++) { - if (typeof levelFn[i] == 'string') { - levelFn[i] = function(fn){ - return function(node){ - return node.tagName == fn.toUpperCase() - }; - }(levelFn[i]); - } else if (typeof levelFn[i] != 'function') { - levelFn[i] = function (node) { - return null; - } - } - } - function getSectionLevel(node) { - for (var i = 0; i < levelFn.length; i++) { - if (levelFn[i](node)) return i; - } - return -1; - } - - var me = this, - Directory = getSection({'level':-1, 'title':'root'}), - previous = Directory; - - function traversal(node, Directory) { - var level, - tmpSection = null, - parent, - child, - children = node.childNodes; - for (var i = 0, len = children.length; i < len; i++) { - child = children[i]; - level = getSectionLevel(child); - if (level >= 0) { - var address = me.selection.getRange().selectNode(child).createAddress(true).startAddress, - current = getSection({ - 'tag': child.tagName, - 'title': child.innerText || child.textContent || '', - 'level': level, - 'dom': child, - 'startAddress': utils.clone(address, []), - 'endAddress': utils.clone(address, []), - 'children': [] - }); - previous.nextSection = current; - current.previousSection = previous; - parent = previous; - while(level <= parent.level){ - parent = parent.parentSection; - } - current.parentSection = parent; - parent.children.push(current); - tmpSection = previous = current; - } else { - child.nodeType === 1 && traversal(child, Directory); - tmpSection && tmpSection.endAddress[tmpSection.endAddress.length - 1] ++; - } - } - } - traversal(me.body, Directory); - return Directory; - }, - notNeedUndo: true - }, - 'movesection': { - execCommand: function (cmd, sourceSection, targetSection, isAfter) { - - var me = this, - targetAddress, - target; - - if(!sourceSection || !targetSection || targetSection.level == -1) return; - - targetAddress = isAfter ? targetSection.endAddress:targetSection.startAddress; - target = getNodeFromAddress(targetAddress, me.body); - - /* 判断目标地址是否被源章节包含 */ - if(!targetAddress || !target || isContainsAddress(sourceSection.startAddress, sourceSection.endAddress, targetAddress)) return; - - var startNode = getNodeFromAddress(sourceSection.startAddress, me.body), - endNode = getNodeFromAddress(sourceSection.endAddress, me.body), - current, - nextNode; - - if(isAfter) { - current = endNode; - while ( current && !(domUtils.getPosition( startNode, current ) & domUtils.POSITION_FOLLOWING) ) { - nextNode = current.previousSibling; - domUtils.insertAfter(target, current); - if(current == startNode) break; - current = nextNode; - } - } else { - current = startNode; - while ( current && !(domUtils.getPosition( current, endNode ) & domUtils.POSITION_FOLLOWING) ) { - nextNode = current.nextSibling; - target.parentNode.insertBefore(current, target); - if(current == endNode) break; - current = nextNode; - } - } - - me.fireEvent('updateSections'); - - /* 获取地址的包含关系 */ - function isContainsAddress(startAddress, endAddress, addressTarget){ - var isAfterStartAddress = false, - isBeforeEndAddress = false; - for(var i = 0; i< startAddress.length; i++){ - if(i >= addressTarget.length) break; - if(addressTarget[i] > startAddress[i]) { - isAfterStartAddress = true; - break; - } else if(addressTarget[i] < startAddress[i]) { - break; - } - } - for(var i = 0; i< endAddress.length; i++){ - if(i >= addressTarget.length) break; - if(addressTarget[i] < startAddress[i]) { - isBeforeEndAddress = true; - break; - } else if(addressTarget[i] > startAddress[i]) { - break; - } - } - return isAfterStartAddress && isBeforeEndAddress; - } - } - }, - 'deletesection': { - execCommand: function (cmd, section, keepChildren) { - var me = this; - - if(!section) return; - - function getNodeFromAddress(startAddress) { - var current = me.body; - for(var i = 0;i < startAddress.length; i++) { - if(!current.childNodes) return null; - current = current.childNodes[startAddress[i]]; - } - return current; - } - - var startNode = getNodeFromAddress(section.startAddress), - endNode = getNodeFromAddress(section.endAddress), - current = startNode, - nextNode; - - if(!keepChildren) { - while ( current && domUtils.inDoc(endNode, me.document) && !(domUtils.getPosition( current, endNode ) & domUtils.POSITION_FOLLOWING) ) { - nextNode = current.nextSibling; - domUtils.remove(current); - current = nextNode; - } - } else { - domUtils.remove(current); - } - - me.fireEvent('updateSections'); - } - }, - 'selectsection': { - execCommand: function (cmd, section) { - if(!section && !section.dom) return false; - var me = this, - range = me.selection.getRange(), - address = { - 'startAddress':utils.clone(section.startAddress, []), - 'endAddress':utils.clone(section.endAddress, []) - }; - address.endAddress[address.endAddress.length - 1]++; - range.moveToAddress(address).select().scrollToView(); - return true; - }, - notNeedUndo: true - }, - 'scrolltosection': { - execCommand: function (cmd, section) { - if(!section && !section.dom) return false; - var me = this, - range = me.selection.getRange(), - address = { - 'startAddress':section.startAddress, - 'endAddress':section.endAddress - }; - address.endAddress[address.endAddress.length - 1]++; - range.moveToAddress(address).scrollToView(); - return true; - }, - notNeedUndo: true - } - } - } -}); - -// plugins/simpleupload.js -/** - * @description - * 简单上传:点击按钮,直接选择文件上传 - * @author Jinqn - * @date 2014-03-31 - */ -UE.plugin.register('simpleupload', function (){ - var me = this, - isLoaded = false, - containerBtn; - - function initUploadBtn(){ - var w = containerBtn.offsetWidth || 20, - h = containerBtn.offsetHeight || 20, - btnIframe = document.createElement('iframe'), - btnStyle = 'display:block;width:' + w + 'px;height:' + h + 'px;overflow:hidden;border:0;margin:0;padding:0;position:absolute;top:0;left:0;filter:alpha(opacity=0);-moz-opacity:0;-khtml-opacity: 0;opacity: 0;cursor:pointer;'; - - domUtils.on(btnIframe, 'load', function(){ - - var timestrap = (+new Date()).toString(36), - wrapper, - btnIframeDoc, - btnIframeBody; - - btnIframeDoc = (btnIframe.contentDocument || btnIframe.contentWindow.document); - btnIframeBody = btnIframeDoc.body; - wrapper = btnIframeDoc.createElement('div'); - - wrapper.innerHTML = '
    ' + - '' + - '
    ' + - ''; - - wrapper.className = 'edui-' + me.options.theme; - wrapper.id = me.ui.id + '_iframeupload'; - btnIframeBody.style.cssText = btnStyle; - btnIframeBody.style.width = w + 'px'; - btnIframeBody.style.height = h + 'px'; - btnIframeBody.appendChild(wrapper); - - if (btnIframeBody.parentNode) { - btnIframeBody.parentNode.style.width = w + 'px'; - btnIframeBody.parentNode.style.height = w + 'px'; - } - - var form = btnIframeDoc.getElementById('edui_form_' + timestrap); - var input = btnIframeDoc.getElementById('edui_input_' + timestrap); - var iframe = btnIframeDoc.getElementById('edui_iframe_' + timestrap); - - domUtils.on(input, 'change', function(){ - if(!input.value) return; - var loadingId = 'loading_' + (+new Date()).toString(36); - var params = utils.serializeParam(me.queryCommandValue('serverparam')) || ''; - - var imageActionUrl = me.getActionUrl(me.getOpt('imageActionName')); - var allowFiles = me.getOpt('imageAllowFiles'); - - me.focus(); - me.execCommand('inserthtml', ''); - - function callback(){ - try{ - var link, json, loader, - body = (iframe.contentDocument || iframe.contentWindow.document).body, - result = body.innerText || body.textContent || ''; - json = (new Function("return " + result))(); - link = me.options.imageUrlPrefix + json.url; - if(json.state == 'SUCCESS' && json.url) { - loader = me.document.getElementById(loadingId); - loader.setAttribute('src', link); - loader.setAttribute('_src', link); - loader.setAttribute('title', json.title || ''); - loader.setAttribute('alt', json.original || ''); - loader.removeAttribute('id'); - domUtils.removeClasses(loader, 'loadingclass'); - } else { - showErrorLoader && showErrorLoader(json.state); - } - }catch(er){ - showErrorLoader && showErrorLoader(me.getLang('simpleupload.loadError')); - } - form.reset(); - domUtils.un(iframe, 'load', callback); - } - function showErrorLoader(title){ - if(loadingId) { - var loader = me.document.getElementById(loadingId); - loader && domUtils.remove(loader); - me.fireEvent('showmessage', { - 'id': loadingId, - 'content': title, - 'type': 'error', - 'timeout': 4000 - }); - } - } - - /* 判断后端配置是否没有加载成功 */ - if (!me.getOpt('imageActionName')) { - errorHandler(me.getLang('autoupload.errorLoadConfig')); - return; - } - // 判断文件格式是否错误 - var filename = input.value, - fileext = filename ? filename.substr(filename.lastIndexOf('.')):''; - if (!fileext || (allowFiles && (allowFiles.join('') + '.').indexOf(fileext.toLowerCase() + '.') == -1)) { - showErrorLoader(me.getLang('simpleupload.exceedTypeError')); - return; - } - - domUtils.on(iframe, 'load', callback); - form.action = utils.formatUrl(imageActionUrl + (imageActionUrl.indexOf('?') == -1 ? '?':'&') + params); - form.submit(); - }); - - var stateTimer; - me.addListener('selectionchange', function () { - clearTimeout(stateTimer); - stateTimer = setTimeout(function() { - var state = me.queryCommandState('simpleupload'); - if (state == -1) { - input.disabled = 'disabled'; - } else { - input.disabled = false; - } - }, 400); - }); - isLoaded = true; - }); - - btnIframe.style.cssText = btnStyle; - containerBtn.appendChild(btnIframe); - } - - return { - bindEvents:{ - 'ready': function() { - //设置loading的样式 - utils.cssRule('loading', - '.loadingclass{display:inline-block;cursor:default;background: url(\'' - + this.options.themePath - + this.options.theme +'/images/loading.gif\') no-repeat center center transparent;border:1px solid #cccccc;margin-right:1px;height: 22px;width: 22px;}\n' + - '.loaderrorclass{display:inline-block;cursor:default;background: url(\'' - + this.options.themePath - + this.options.theme +'/images/loaderror.png\') no-repeat center center transparent;border:1px solid #cccccc;margin-right:1px;height: 22px;width: 22px;' + - '}', - this.document); - }, - /* 初始化简单上传按钮 */ - 'simpleuploadbtnready': function(type, container) { - containerBtn = container; - me.afterConfigReady(initUploadBtn); - } - }, - outputRule: function(root){ - utils.each(root.getNodesByTagName('img'),function(n){ - if (/\b(loaderrorclass)|(bloaderrorclass)\b/.test(n.getAttr('class'))) { - n.parentNode.removeChild(n); - } - }); - }, - commands: { - 'simpleupload': { - queryCommandState: function () { - return isLoaded ? 0:-1; - } - } - } - } -}); - -// plugins/serverparam.js -/** - * 服务器提交的额外参数列表设置插件 - * @file - * @since 1.2.6.1 - */ -UE.plugin.register('serverparam', function (){ - - var me = this, - serverParam = {}; - - return { - commands:{ - /** - * 修改服务器提交的额外参数列表,清除所有项 - * @command serverparam - * @method execCommand - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * editor.execCommand('serverparam'); - * editor.queryCommandValue('serverparam'); //返回空 - * ``` - */ - /** - * 修改服务器提交的额外参数列表,删除指定项 - * @command serverparam - * @method execCommand - * @param { String } cmd 命令字符串 - * @param { String } key 要清除的属性 - * @example - * ```javascript - * editor.execCommand('serverparam', 'name'); //删除属性name - * ``` - */ - /** - * 修改服务器提交的额外参数列表,使用键值添加项 - * @command serverparam - * @method execCommand - * @param { String } cmd 命令字符串 - * @param { String } key 要添加的属性 - * @param { String } value 要添加属性的值 - * @example - * ```javascript - * editor.execCommand('serverparam', 'name', 'hello'); - * editor.queryCommandValue('serverparam'); //返回对象 {'name': 'hello'} - * ``` - */ - /** - * 修改服务器提交的额外参数列表,传入键值对对象添加多项 - * @command serverparam - * @method execCommand - * @param { String } cmd 命令字符串 - * @param { Object } key 传入的键值对对象 - * @example - * ```javascript - * editor.execCommand('serverparam', {'name': 'hello'}); - * editor.queryCommandValue('serverparam'); //返回对象 {'name': 'hello'} - * ``` - */ - /** - * 修改服务器提交的额外参数列表,使用自定义函数添加多项 - * @command serverparam - * @method execCommand - * @param { String } cmd 命令字符串 - * @param { Function } key 自定义获取参数的函数 - * @example - * ```javascript - * editor.execCommand('serverparam', function(editor){ - * return {'key': 'value'}; - * }); - * editor.queryCommandValue('serverparam'); //返回对象 {'key': 'value'} - * ``` - */ - - /** - * 获取服务器提交的额外参数列表 - * @command serverparam - * @method queryCommandValue - * @param { String } cmd 命令字符串 - * @example - * ```javascript - * editor.queryCommandValue( 'serverparam' ); //返回对象 {'key': 'value'} - * ``` - */ - 'serverparam':{ - execCommand:function (cmd, key, value) { - if (key === undefined || key === null) { //不传参数,清空列表 - serverParam = {}; - } else if (utils.isString(key)) { //传入键值 - if(value === undefined || value === null) { - delete serverParam[key]; - } else { - serverParam[key] = value; - } - } else if (utils.isObject(key)) { //传入对象,覆盖列表项 - utils.extend(serverParam, key, true); - } else if (utils.isFunction(key)){ //传入函数,添加列表项 - utils.extend(serverParam, key(), true); - } - }, - queryCommandValue: function(){ - return serverParam || {}; - } - } - } - } -}); - - -// plugins/insertfile.js -/** - * 插入附件 - */ -UE.plugin.register('insertfile', function (){ - - var me = this; - - function getFileIcon(url){ - var ext = url.substr(url.lastIndexOf('.') + 1).toLowerCase(), - maps = { - "rar":"icon_rar.gif", - "zip":"icon_rar.gif", - "tar":"icon_rar.gif", - "gz":"icon_rar.gif", - "bz2":"icon_rar.gif", - "doc":"icon_doc.gif", - "docx":"icon_doc.gif", - "pdf":"icon_pdf.gif", - "mp3":"icon_mp3.gif", - "xls":"icon_xls.gif", - "chm":"icon_chm.gif", - "ppt":"icon_ppt.gif", - "pptx":"icon_ppt.gif", - "avi":"icon_mv.gif", - "rmvb":"icon_mv.gif", - "wmv":"icon_mv.gif", - "flv":"icon_mv.gif", - "swf":"icon_mv.gif", - "rm":"icon_mv.gif", - "exe":"icon_exe.gif", - "psd":"icon_psd.gif", - "txt":"icon_txt.gif", - "jpg":"icon_jpg.gif", - "png":"icon_jpg.gif", - "jpeg":"icon_jpg.gif", - "gif":"icon_jpg.gif", - "ico":"icon_jpg.gif", - "bmp":"icon_jpg.gif" - }; - return maps[ext] ? maps[ext]:maps['txt']; - } - - return { - commands:{ - 'insertfile': { - execCommand: function (command, filelist){ - filelist = utils.isArray(filelist) ? filelist : [filelist]; - - var i, item, icon, title, - html = '', - URL = me.getOpt('UEDITOR_HOME_URL'), - iconDir = URL + (URL.substr(URL.length - 1) == '/' ? '':'/') + 'dialogs/attachment/fileTypeImages/'; - for (i = 0; i < filelist.length; i++) { - item = filelist[i]; - icon = iconDir + getFileIcon(item.url); - title = item.title || item.url.substr(item.url.lastIndexOf('/') + 1); - html += '

    ' + - '' + - '' + title + '' + - '

    '; - } - me.execCommand('insertHtml', html); - } - } - } - } -}); - - - - -// plugins/xssFilter.js -/** - * @file xssFilter.js - * @desc xss过滤器 - * @author robbenmu - */ - -UE.plugins.xssFilter = function() { - - var config = UEDITOR_CONFIG; - var whitList = config.whitList; - - function filter(node) { - - var tagName = node.tagName; - var attrs = node.attrs; - - if (!whitList.hasOwnProperty(tagName)) { - node.parentNode.removeChild(node); - return false; - } - - UE.utils.each(attrs, function (val, key) { - - if (whitList[tagName].indexOf(key) === -1) { - node.setAttr(key); - } - }); - } - - // 添加inserthtml\paste等操作用的过滤规则 - if (whitList && config.xssFilterRules) { - this.options.filterRules = function () { - - var result = {}; - - UE.utils.each(whitList, function(val, key) { - result[key] = function (node) { - return filter(node); - }; - }); - - return result; - }(); - } - - var tagList = []; - - UE.utils.each(whitList, function (val, key) { - tagList.push(key); - }); - - // 添加input过滤规则 - // - if (whitList && config.inputXssFilter) { - this.addInputRule(function (root) { - - root.traversal(function(node) { - if (node.type !== 'element') { - return false; - } - filter(node); - }); - }); - } - // 添加output过滤规则 - // - if (whitList && config.outputXssFilter) { - this.addOutputRule(function (root) { - - root.traversal(function(node) { - if (node.type !== 'element') { - return false; - } - filter(node); - }); - }); - } - -}; - - -// ui/ui.js -var baidu = baidu || {}; -baidu.editor = baidu.editor || {}; -UE.ui = baidu.editor.ui = {}; - -// ui/uiutils.js -(function (){ - var browser = baidu.editor.browser, - domUtils = baidu.editor.dom.domUtils; - - var magic = '$EDITORUI'; - var root = window[magic] = {}; - var uidMagic = 'ID' + magic; - var uidCount = 0; - - var uiUtils = baidu.editor.ui.uiUtils = { - uid: function (obj){ - return (obj ? obj[uidMagic] || (obj[uidMagic] = ++ uidCount) : ++ uidCount); - }, - hook: function ( fn, callback ) { - var dg; - if (fn && fn._callbacks) { - dg = fn; - } else { - dg = function (){ - var q; - if (fn) { - q = fn.apply(this, arguments); - } - var callbacks = dg._callbacks; - var k = callbacks.length; - while (k --) { - var r = callbacks[k].apply(this, arguments); - if (q === undefined) { - q = r; - } - } - return q; - }; - dg._callbacks = []; - } - dg._callbacks.push(callback); - return dg; - }, - createElementByHtml: function (html){ - var el = document.createElement('div'); - el.innerHTML = html; - el = el.firstChild; - el.parentNode.removeChild(el); - return el; - }, - getViewportElement: function (){ - return (browser.ie && browser.quirks) ? - document.body : document.documentElement; - }, - getClientRect: function (element){ - var bcr; - //trace IE6下在控制编辑器显隐时可能会报错,catch一下 - try{ - bcr = element.getBoundingClientRect(); - }catch(e){ - bcr={left:0,top:0,height:0,width:0} - } - var rect = { - left: Math.round(bcr.left), - top: Math.round(bcr.top), - height: Math.round(bcr.bottom - bcr.top), - width: Math.round(bcr.right - bcr.left) - }; - var doc; - while ((doc = element.ownerDocument) !== document && - (element = domUtils.getWindow(doc).frameElement)) { - bcr = element.getBoundingClientRect(); - rect.left += bcr.left; - rect.top += bcr.top; - } - rect.bottom = rect.top + rect.height; - rect.right = rect.left + rect.width; - return rect; - }, - getViewportRect: function (){ - var viewportEl = uiUtils.getViewportElement(); - var width = (window.innerWidth || viewportEl.clientWidth) | 0; - var height = (window.innerHeight ||viewportEl.clientHeight) | 0; - return { - left: 0, - top: 0, - height: height, - width: width, - bottom: height, - right: width - }; - }, - setViewportOffset: function (element, offset){ - var rect; - var fixedLayer = uiUtils.getFixedLayer(); - if (element.parentNode === fixedLayer) { - element.style.left = offset.left + 'px'; - element.style.top = offset.top + 'px'; - } else { - domUtils.setViewportOffset(element, offset); - } - }, - getEventOffset: function (evt){ - var el = evt.target || evt.srcElement; - var rect = uiUtils.getClientRect(el); - var offset = uiUtils.getViewportOffsetByEvent(evt); - return { - left: offset.left - rect.left, - top: offset.top - rect.top - }; - }, - getViewportOffsetByEvent: function (evt){ - var el = evt.target || evt.srcElement; - var frameEl = domUtils.getWindow(el).frameElement; - var offset = { - left: evt.clientX, - top: evt.clientY - }; - if (frameEl && el.ownerDocument !== document) { - var rect = uiUtils.getClientRect(frameEl); - offset.left += rect.left; - offset.top += rect.top; - } - return offset; - }, - setGlobal: function (id, obj){ - root[id] = obj; - return magic + '["' + id + '"]'; - }, - unsetGlobal: function (id){ - delete root[id]; - }, - copyAttributes: function (tgt, src){ - var attributes = src.attributes; - var k = attributes.length; - while (k --) { - var attrNode = attributes[k]; - if ( attrNode.nodeName != 'style' && attrNode.nodeName != 'class' && (!browser.ie || attrNode.specified) ) { - tgt.setAttribute(attrNode.nodeName, attrNode.nodeValue); - } - } - if (src.className) { - domUtils.addClass(tgt,src.className); - } - if (src.style.cssText) { - tgt.style.cssText += ';' + src.style.cssText; - } - }, - removeStyle: function (el, styleName){ - if (el.style.removeProperty) { - el.style.removeProperty(styleName); - } else if (el.style.removeAttribute) { - el.style.removeAttribute(styleName); - } else throw ''; - }, - contains: function (elA, elB){ - return elA && elB && (elA === elB ? false : ( - elA.contains ? elA.contains(elB) : - elA.compareDocumentPosition(elB) & 16 - )); - }, - startDrag: function (evt, callbacks,doc){ - var doc = doc || document; - var startX = evt.clientX; - var startY = evt.clientY; - function handleMouseMove(evt){ - var x = evt.clientX - startX; - var y = evt.clientY - startY; - callbacks.ondragmove(x, y,evt); - if (evt.stopPropagation) { - evt.stopPropagation(); - } else { - evt.cancelBubble = true; - } - } - if (doc.addEventListener) { - function handleMouseUp(evt){ - doc.removeEventListener('mousemove', handleMouseMove, true); - doc.removeEventListener('mouseup', handleMouseUp, true); - window.removeEventListener('mouseup', handleMouseUp, true); - callbacks.ondragstop(); - } - doc.addEventListener('mousemove', handleMouseMove, true); - doc.addEventListener('mouseup', handleMouseUp, true); - window.addEventListener('mouseup', handleMouseUp, true); - - evt.preventDefault(); - } else { - var elm = evt.srcElement; - elm.setCapture(); - function releaseCaptrue(){ - elm.releaseCapture(); - elm.detachEvent('onmousemove', handleMouseMove); - elm.detachEvent('onmouseup', releaseCaptrue); - elm.detachEvent('onlosecaptrue', releaseCaptrue); - callbacks.ondragstop(); - } - elm.attachEvent('onmousemove', handleMouseMove); - elm.attachEvent('onmouseup', releaseCaptrue); - elm.attachEvent('onlosecaptrue', releaseCaptrue); - evt.returnValue = false; - } - callbacks.ondragstart(); - }, - getFixedLayer: function (){ - var layer = document.getElementById('edui_fixedlayer'); - if (layer == null) { - layer = document.createElement('div'); - layer.id = 'edui_fixedlayer'; - document.body.appendChild(layer); - if (browser.ie && browser.version <= 8) { - layer.style.position = 'absolute'; - bindFixedLayer(); - setTimeout(updateFixedOffset); - } else { - layer.style.position = 'fixed'; - } - layer.style.left = '0'; - layer.style.top = '0'; - layer.style.width = '0'; - layer.style.height = '0'; - } - return layer; - }, - makeUnselectable: function (element){ - if (browser.opera || (browser.ie && browser.version < 9)) { - element.unselectable = 'on'; - if (element.hasChildNodes()) { - for (var i=0; i

    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 nOEJdxuO0jSfB%Jg{^!0*Qo_2r@Sm{The number of characters has exceeded allowable maximum values, the server may refuse to save!', - 'ok':"OK", - 'cancel':"Cancel", - 'closeDialog':"closeDialog", - 'tableDrag':"You must import the file uiUtils.js before drag! ", - 'autofloatMsg':"The plugin AutoFloat depends on EditorUI!", - 'loadconfigError': 'Get server config error.', - 'loadconfigFormatError': 'Server config format error.', - 'loadconfigHttpError': 'Get server config http error.', - 'snapScreen_plugin':{ - 'browserMsg':"Only IE supported!", - 'callBackErrorMsg':"The callback data is wrong,please check the config!", - 'uploadErrorMsg':"Upload error,please check your server environment! " - }, - 'insertcode':{ - 'as3':'ActionScript 3', - 'bash':'Bash/Shell', - 'cpp':'C/C++', - 'css':'CSS', - 'cf':'ColdFusion', - 'c#':'C#', - 'delphi':'Delphi', - 'diff':'Diff', - 'erlang':'Erlang', - 'groovy':'Groovy', - 'html':'HTML', - 'java':'Java', - 'jfx':'JavaFX', - 'js':'JavaScript', - 'pl':'Perl', - 'php':'PHP', - 'plain':'Plain Text', - 'ps':'PowerShell', - 'python':'Python', - 'ruby':'Ruby', - 'scala':'Scala', - 'sql':'SQL', - 'vb':'Visual Basic', - 'xml':'XML' - }, - 'confirmClear':"Do you confirm to clear the Document?", - 'contextMenu':{ - 'delete':"Delete", - 'selectall':"Select all", - 'deletecode':"Delete Code", - 'cleardoc':"Clear Document", - 'confirmclear':"Do you confirm to clear the Document?", - 'unlink':"Unlink", - 'paragraph':"Paragraph", - 'edittable':"Table property", - 'aligncell':'Align cell', - 'aligntable':'Table alignment', - 'tableleft':'Left float', - 'tablecenter':'Center', - 'tableright':'Right float', - 'aligntd':'Cell alignment', - 'edittd':"Cell property", - 'setbordervisible':'set table edge visible', - 'table':"Table", - 'justifyleft':'Justify Left', - 'justifyright':'Justify Right', - 'justifycenter':'Justify Center', - 'justifyjustify':'Default', - 'deletetable':"Delete table", - 'insertparagraphbefore':"InsertedBeforeLine", - 'insertparagraphafter':'InsertedAfterLine', - 'inserttable':'Insert table', - 'insertcaption':'Insert caption', - 'deletecaption':'Delete Caption', - 'inserttitle':'Insert Title', - 'deletetitle':'Delete Title', - 'inserttitlecol':'Insert Title Col', - 'deletetitlecol':'Delete Title Col', - 'averageDiseRow':'AverageDise Row', - 'averageDisCol':'AverageDis Col', - 'deleterow':"Delete row", - 'deletecol':"Delete col", - 'insertrow':"Insert row", - 'insertcol':"Insert col", - 'insertrownext':'Insert Row Next', - 'insertcolnext':'Insert Col Next', - 'mergeright':"Merge right", - 'mergeleft':"Merge left", - 'mergedown':"Merge down", - 'mergecells':"Merge cells", - 'splittocells':"Split to cells", - 'splittocols':"Split to Cols", - 'splittorows':"Split to Rows", - 'tablesort':'Table sorting', - 'enablesort':'Sorting Enable', - 'disablesort':'Sorting Disable', - 'reversecurrent':'Reverse current', - 'orderbyasc':'Order By ASCII', - 'reversebyasc':'Reverse By ASCII', - 'orderbynum':'Order By Num', - 'reversebynum':'Reverse By Num', - 'borderbk':'Border shading', - 'setcolor':'interlaced color', - 'unsetcolor':'Cancel interlacedcolor', - 'setbackground':'Background interlaced', - 'unsetbackground':'Cancel Bk interlaced', - 'redandblue':'Blue and red', - 'threecolorgradient':'Three-color gradient', - 'copy':"Copy(Ctrl + c)", - 'copymsg':"Browser does not support. Please use 'Ctrl + c' instead!", - 'paste':"Paste(Ctrl + v)", - 'pastemsg':"Browser does not support. Please use 'Ctrl + v' instead!" - }, - 'copymsg': "Browser does not support. Please use 'Ctrl + c' instead!", - 'pastemsg': "Browser does not support. Please use 'Ctrl + v' instead!", - 'anthorMsg':"Link", - 'clearColor':'Clear', - 'standardColor':'Standard color', - 'themeColor':'Theme color', - 'property':'Property', - 'default':'Default', - 'modify':'Modify', - 'justifyleft':'Justify Left', - 'justifyright':'Justify Right', - 'justifycenter':'Justify Center', - 'justify':'Default', - 'clear':'Clear', - 'anchorMsg':'Anchor', - 'delete':'Delete', - 'clickToUpload':"Click to upload", - 'unset':'Language hasn\'t been set!', - 't_row':'row', - 't_col':'col', - 'pasteOpt':'Paste Option', - 'pasteSourceFormat':"Keep Source Formatting", - 'tagFormat':'Keep tag', - 'pasteTextFormat':'Keep Text only', - 'more':'More', - 'autoTypeSet':{ - 'mergeLine':"Merge empty line", - 'delLine':"Del empty line", - 'removeFormat':"Remove format", - 'indent':"Indent", - 'alignment':"Alignment", - 'imageFloat':"Image float", - 'removeFontsize':"Remove font size", - 'removeFontFamily':"Remove fontFamily", - 'removeHtml':"Remove redundant HTML code", - 'pasteFilter':"Paste filter", - 'run':"Done", - 'symbol':'Symbol Conversion', - 'bdc2sb':'Full-width to Half-width', - 'tobdc':'Half-width to Full-width' - }, - - 'background':{ - 'static':{ - 'lang_background_normal':'Normal', - 'lang_background_local':'Online', - 'lang_background_set':'Background Set', - 'lang_background_none':'No Background', - 'lang_background_colored':'Colored Background', - 'lang_background_color':'Color Set', - 'lang_background_netimg':'Net-Image', - 'lang_background_align':'Align Type', - 'lang_background_position':'Position', - 'repeatType':{'options':["Center", "Repeat-x", "Repeat-y", "Tile","Custom"]} - }, - 'noUploadImage':"No pictures has been uploaded!", - 'toggleSelect':'Change the active state by click!\n Image Size: ' - }, - //===============dialog i18N======================= - 'insertimage':{ - 'static':{ - 'lang_tab_remote':"Insert", - 'lang_tab_upload':"Local", - 'lang_tab_online':"Manager", - 'lang_tab_search':"Search", - 'lang_input_url':"Address:", - 'lang_input_size':"Size:", - 'lang_input_width':"Width", - 'lang_input_height':"Height", - 'lang_input_border':"Border:", - 'lang_input_vhspace':"Margins:", - 'lang_input_title':"Title:", - 'lang_input_align':'Image Float Style:', - 'lang_imgLoading':"Loading...", - 'lang_start_upload':"Start Upload", - 'lock':{'title':"Lock rate"}, - 'searchType':{'title':"ImageType", 'options':["News", "Wallpaper", "emotions", "photo"]}, - 'searchTxt':{'value':"Enter the search keyword!"}, - 'searchBtn':{'value':"Search"}, - 'searchReset':{'value':"Clear"}, - 'noneAlign':{'title':'None Float'}, - 'leftAlign':{'title':'Left Float'}, - 'rightAlign':{'title':'Right Float'}, - 'centerAlign':{'title':'Center In A Line'} - }, - 'uploadSelectFile':'Select File', - 'uploadAddFile':'Add File', - 'uploadStart':'Start Upload', - 'uploadPause':'Pause Upload', - 'uploadContinue':'Continue Upload', - 'uploadRetry':'Retry Upload', - 'uploadDelete':'Delete', - 'uploadTurnLeft':'Turn Left', - 'uploadTurnRight':'Turn Right', - 'uploadPreview':'Doing Preview', - 'uploadNoPreview':'Can Not Preview', - 'updateStatusReady': 'Selected _ pictures, total _KB.', - 'updateStatusConfirm': '_ uploaded successfully and _ upload failed', - 'updateStatusFinish': 'Total _ pictures (_KB), _ uploaded successfully', - 'updateStatusError': ' and _ upload failed', - 'errorNotSupport': 'WebUploader does not support the browser you are using. Please upgrade your browser or flash player', - 'errorLoadConfig': 'Server config not loaded, upload can not work.', - 'errorExceedSize':'File Size Exceed', - 'errorFileType':'File Type Not Allow', - 'errorInterrupt':'File Upload Interrupted', - 'errorUploadRetry':'Upload Error, Please Retry.', - 'errorHttp':'Http Error', - 'errorServerUpload':'Server Result Error.', - 'remoteLockError':"Cannot Lock the Proportion between width and height", - 'numError':"Please enter the correct Num. e.g 123,400", - 'imageUrlError':"The image format may be wrong!", - 'imageLoadError':"Error,please check the network or URL!", - 'searchRemind':"Enter the search keyword!", - 'searchLoading':"Image is loading,please wait...", - 'searchRetry':" Sorry,can't find the image,please try again!" - }, - 'attachment':{ - 'static':{ - 'lang_tab_upload': 'Upload', - 'lang_tab_online': 'Online', - 'lang_start_upload':"Start upload", - 'lang_drop_remind':"You can drop files here, a single maximum of 300 files" - }, - 'uploadSelectFile':'Select File', - 'uploadAddFile':'Add File', - 'uploadStart':'Start Upload', - 'uploadPause':'Pause Upload', - 'uploadContinue':'Continue Upload', - 'uploadRetry':'Retry Upload', - 'uploadDelete':'Delete', - 'uploadTurnLeft':'Turn Left', - 'uploadTurnRight':'Turn Right', - 'uploadPreview':'Doing Preview', - 'updateStatusReady': 'Selected _ files, total _KB.', - 'updateStatusConfirm': '_ uploaded successfully and _ upload failed', - 'updateStatusFinish': 'Total _ files (_KB), _ uploaded successfully', - 'updateStatusError': ' and _ upload failed', - 'errorNotSupport': 'WebUploader does not support the browser you are using. Please upgrade your browser or flash player', - 'errorLoadConfig': 'Server config not loaded, upload can not work.', - 'errorExceedSize':'File Size Exceed', - 'errorFileType':'File Type Not Allow', - 'errorInterrupt':'File Upload Interrupted', - 'errorUploadRetry':'Upload Error, Please Retry.', - 'errorHttp':'Http Error', - 'errorServerUpload':'Server Result Error.' - }, - - 'insertvideo':{ - 'static':{ - 'lang_tab_insertV':"Video", - 'lang_tab_searchV':"Search", - 'lang_tab_uploadV':"Upload", - 'lang_video_url':" URL ", - 'lang_video_size':"Video Size", - 'lang_videoW':"Width", - 'lang_videoH':"Height", - 'lang_alignment':"Alignment", - 'videoSearchTxt':{'value':"Enter the search keyword!"}, - 'videoType':{'options':["All", "Hot", "Entertainment", "Funny", "Sports", "Science", "variety"]}, - 'videoSearchBtn':{'value':"Search in Baidu"}, - 'videoSearchReset':{'value':"Clear result"}, - - 'lang_input_fileStatus':' No file uploaded!', - 'startUpload':{'style':"background:url(upload.png) no-repeat;"}, - - 'lang_upload_size':"Video Size", - 'lang_upload_width':"Width", - 'lang_upload_height':"Height", - 'lang_upload_alignment':"Alignment", - 'lang_format_advice':"Recommends mp4 format." - }, - 'numError':"Please enter the correct Num. e.g 123,400", - 'floatLeft':"Float left", - 'floatRight':"Float right", - 'default':"Default", - 'block':"Display in block", - 'urlError':"The video url format may be wrong!", - 'loading':"  The video is loading, please wait…", - 'clickToSelect':"Click to select", - 'goToSource':'Visit source video ', - 'noVideo':"    Sorry,can't find the video,please try again!", - - 'browseFiles':'Open files', - 'uploadSuccess':'Upload Successful!', - 'delSuccessFile':'Remove from the success of the queue', - 'delFailSaveFile':'Remove the save failed file', - 'statusPrompt':' file(s) uploaded! ', - 'flashVersionError':'The current Flash version is too low, please update FlashPlayer,then try again!', - 'flashLoadingError':'The Flash failed loading! Please check the path or network state', - 'fileUploadReady':'Wait for uploading...', - 'delUploadQueue':'Remove from the uploading queue ', - 'limitPrompt1':'Can not choose more than single', - 'limitPrompt2':'file(s)!Please choose again!', - 'delFailFile':'Remove failure file', - 'fileSizeLimit':'File size exceeds the limit!', - 'emptyFile':'Can not upload an empty file!', - 'fileTypeError':'File type error!', - 'unknownError':'Unknown error!', - 'fileUploading':'Uploading,please wait...', - 'cancelUpload':'Cancel upload', - 'netError':'Network error', - 'failUpload':'Upload failed', - 'serverIOError':'Server IO error!', - 'noAuthority':'No Permission!', - 'fileNumLimit':'Upload limit to the number', - 'failCheck':'Authentication fails, the upload is skipped!', - 'fileCanceling':'Cancel, please wait...', - 'stopUploading':'Upload has stopped...', - - 'uploadSelectFile':'Select File', - 'uploadAddFile':'Add File', - 'uploadStart':'Start Upload', - 'uploadPause':'Pause Upload', - 'uploadContinue':'Continue Upload', - 'uploadRetry':'Retry Upload', - 'uploadDelete':'Delete', - 'uploadTurnLeft':'Turn Left', - 'uploadTurnRight':'Turn Right', - 'uploadPreview':'Doing Preview', - 'updateStatusReady': 'Selected _ files, total _KB.', - 'updateStatusConfirm': '_ uploaded successfully and _ upload failed', - 'updateStatusFinish': 'Total _ files (_KB), _ uploaded successfully', - 'updateStatusError': ' and _ upload failed', - 'errorNotSupport': 'WebUploader does not support the browser you are using. Please upgrade your browser or flash player', - 'errorLoadConfig': 'Server config not loaded, upload can not work.', - 'errorExceedSize':'File Size Exceed', - 'errorFileType':'File Type Not Allow', - 'errorInterrupt':'File Upload Interrupted', - 'errorUploadRetry':'Upload Error, Please Retry.', - 'errorHttp':'Http Error', - 'errorServerUpload':'Server Result Error.' - }, - 'webapp':{ - 'tip1':"This function provided by Baidu APP,please apply for baidu APPKey webmaster first!", - 'tip2':"And then open the file ueditor.config.js to set it! ", - 'applyFor':"APPLY FOR", - 'anthorApi':"Baidu API" - }, - 'template':{ - 'static':{ - 'lang_template_bkcolor':'Background Color', - 'lang_template_clear' : 'Keep Content', - 'lang_template_select':'Select Template' - }, - 'blank':"Blank", - 'blog':"Blog", - 'resume':"Resume", - 'richText':"Rich Text", - 'scrPapers':"Scientific Papers" - }, - scrawl:{ - 'static':{ - 'lang_input_previousStep':"Previous", - 'lang_input_nextsStep':"Next", - 'lang_input_clear':'Clear', - 'lang_input_addPic':'AddImage', - 'lang_input_ScalePic':'ScaleImage', - 'lang_input_removePic':'RemoveImage', - 'J_imgTxt':{title:'Add background image'} - }, - 'noScarwl':"No paint, a white paper...", - 'scrawlUpLoading':"Image is uploading, please wait...", - 'continueBtn':"Try again", - 'imageError':"Image failed to load!", - 'backgroundUploading':'Image is uploading,please wait...' - }, - 'music':{ - 'static':{ - 'lang_input_tips':"Input singer/song/album, search you interested in music!", - 'J_searchBtn':{value:'Search songs'} - }, - 'emptyTxt':'Not search to the relevant music results, please change a keyword try.', - 'chapter':'Songs', - 'singer':'Singer', - 'special':'Album', - 'listenTest':'Audition' - }, - anchor:{ - 'static':{ - 'lang_input_anchorName':'Anchor Name:' - } - }, - 'charts':{ - 'static':{ - 'lang_data_source':'Data source:', - 'lang_chart_format': 'Chart format:', - 'lang_data_align': 'Align', - 'lang_chart_align_same': 'Consistent with the X-axis Y-axis', - 'lang_chart_align_reverse': 'X-axis Y-axis opposite', - 'lang_chart_title': 'Title', - 'lang_chart_main_title': 'main title:', - 'lang_chart_sub_title': 'sub title:', - 'lang_chart_x_title': 'X-axis title:', - 'lang_chart_y_title': 'Y-axis title:', - 'lang_chart_tip': 'Prompt', - 'lang_cahrt_tip_prefix': 'prefix:', - 'lang_cahrt_tip_description': '仅饼图有效, 当鼠标移动到饼图中相应的块上时,提示框内的文字的前缀', - 'lang_chart_data_unit': 'Unit', - 'lang_chart_data_unit_title': 'unit:', - 'lang_chart_data_unit_description': '显示在每个数据点上的数据的单位, 比如: 温度的单位 ℃', - 'lang_chart_type': 'Chart type:', - 'lang_prev_btn': 'Previous', - 'lang_next_btn': 'Next' - } - }, - emotion:{ - 'static':{ - 'lang_input_choice':'Choice', - 'lang_input_Tuzki':'Tuzki', - 'lang_input_lvdouwa':'LvDouWa', - 'lang_input_BOBO':'BOBO', - 'lang_input_babyCat':'BabyCat', - 'lang_input_bubble':'Bubble', - 'lang_input_youa':'YouA' - } - }, - gmap:{ - 'static':{ - 'lang_input_address':'Address:', - 'lang_input_search':'Search', - 'address':{value:"Beijing"} - }, - searchError:'Unable to locate the address!' - }, - help:{ - 'static':{ - 'lang_input_about':'About', - 'lang_input_shortcuts':'Shortcuts', - 'lang_input_introduction':"UEditor is developed by Baidu Co.ltd. It is lightweight, customizable , focusing on user experience and etc. , UEditor is based on open source BSD license , allowing free use and redistribution.", - 'lang_Txt_shortcuts':'Shortcuts', - 'lang_Txt_func':'Function', - 'lang_Txt_bold':'Bold', - 'lang_Txt_copy':'Copy', - 'lang_Txt_cut':'Cut', - 'lang_Txt_Paste':'Paste', - 'lang_Txt_undo':'Undo', - 'lang_Txt_redo':'Redo', - 'lang_Txt_italic':'Italic', - 'lang_Txt_underline':'Underline', - 'lang_Txt_selectAll':'Select All', - 'lang_Txt_visualEnter':'Submit', - 'lang_Txt_fullscreen':'Fullscreen' - } - }, - insertframe:{ - 'static':{ - 'lang_input_address':'Address:', - 'lang_input_width':'Width:', - 'lang_input_height':'height:', - 'lang_input_isScroll':'Enable scrollbars:', - 'lang_input_frameborder':'Show frame border:', - 'lang_input_alignMode':'Alignment:', - 'align':{title:"Alignment", options:["Default", "Left", "Right", "Center"]} - }, - 'enterAddress':'Please enter an address!' - }, - link:{ - 'static':{ - 'lang_input_text':'Text:', - 'lang_input_url':'URL:', - 'lang_input_title':'Title:', - 'lang_input_target':'open in new window:' - }, - 'validLink':'Supports only effective when a link is selected', - 'httpPrompt':'The hyperlink you enter should start with "http|https|ftp://"!' - }, - map:{ - 'static':{ - lang_city:"City", - lang_address:"Address", - city:{value:"Beijing"}, - lang_search:"Search", - lang_dynamicmap:"Dynamic map" - }, - cityMsg:"Please enter the city name!", - errorMsg:"Can't find the place!" - }, - searchreplace:{ - 'static':{ - lang_tab_search:"Search", - lang_tab_replace:"Replace", - lang_search1:"Search", - lang_search2:"Search", - lang_replace:"Replace", - lang_searchReg:'Support regular expression ,which starts and ends with a slash ,for example "/expression/"', - lang_searchReg1:'Support regular expression ,which starts and ends with a slash ,for example "/expression/"', - lang_case_sensitive1:"Case sense", - lang_case_sensitive2:"Case sense", - nextFindBtn:{value:"Next"}, - preFindBtn:{value:"Preview"}, - nextReplaceBtn:{value:"Next"}, - preReplaceBtn:{value:"Preview"}, - repalceBtn:{value:"Replace"}, - repalceAllBtn:{value:"Replace all"} - }, - getEnd:"Has the search to the bottom!", - getStart:"Has the search to the top!", - countMsg:"Altogether replaced {#count} character(s)!" - }, - snapscreen:{ - 'static':{ - lang_showMsg:"You should install the UEditor screenshots program first!", - lang_download:"Download!", - lang_step1:"Step1:Download the program and then run it", - lang_step2:"Step2:After complete install,try to click the button again" - } - }, - spechars:{ - 'static':{}, - tsfh:"Special", - lmsz:"Roman", - szfh:"Numeral", - rwfh:"Japanese", - xlzm:"The Greek", - ewzm:"Russian", - pyzm:"Phonetic", - yyyb:"English", - zyzf:"Others" - }, - 'edittable':{ - 'static':{ - 'lang_tableStyle':'Table style', - 'lang_insertCaption':'Add table header row', - 'lang_insertTitle':'Add table title row', - 'lang_insertTitleCol':'Add table title col', - 'lang_tableSize':'Automatically adjust table size', - 'lang_autoSizeContent':'Adaptive by form text', - 'lang_orderbycontent':"Table of contents sortable", - 'lang_autoSizePage':'Page width adaptive', - 'lang_example':'Example', - 'lang_borderStyle':'Table Border', - 'lang_color':'Color:' - }, - captionName:'Caption', - titleName:'Title', - cellsName:'text', - errorMsg:'There are merged cells, can not sort.' - }, - 'edittip':{ - 'static':{ - lang_delRow:'Delete entire row', - lang_delCol:'Delete entire col' - } - }, - 'edittd':{ - 'static':{ - lang_tdBkColor:'Background Color:' - } - }, - 'formula':{ - 'static':{ - } - }, - wordimage:{ - 'static':{ - lang_resave:"The re-save step", - uploadBtn:{src:"upload.png", alt:"Upload"}, - clipboard:{style:"background: url(copy.png) -153px -1px no-repeat;"}, - lang_step:" 1. Click top button to copy the url and then open the dialog to paste it. 2. Open after choose photos uploaded process." - }, - fileType:"Image", - flashError:"Flash initialization failed!", - netError:"Network error! Please try again!", - copySuccess:"URL has been copied!", - - 'flashI18n':{ - lang:encodeURI( '{"UploadingState":"totalNum: ${a},uploadComplete: ${b}", "BeforeUpload":"waitingNum: ${a}", "ExceedSize":"Size exceed${a}", "ErrorInPreview":"Preview failed", "DefaultDescription":"Description", "LoadingImage":"Loading..."}' ), - uploadingTF:encodeURI( '{"font":"Arial", "size":12, "color":"0x000", "bold":"true", "italic":"false", "underline":"false"}' ), - imageTF:encodeURI( '{"font":"Arial", "size":11, "color":"red", "bold":"false", "italic":"false", "underline":"false"}' ), - textEncoding:"utf-8", - addImageSkinURL:"addImage.png", - allDeleteBtnUpSkinURL:"allDeleteBtnUpSkin.png", - allDeleteBtnHoverSkinURL:"allDeleteBtnHoverSkin.png", - rotateLeftBtnEnableSkinURL:"rotateLeftEnable.png", - rotateLeftBtnDisableSkinURL:"rotateLeftDisable.png", - rotateRightBtnEnableSkinURL:"rotateRightEnable.png", - rotateRightBtnDisableSkinURL:"rotateRightDisable.png", - deleteBtnEnableSkinURL:"deleteEnable.png", - deleteBtnDisableSkinURL:"deleteDisable.png", - backgroundURL:'', - listBackgroundURL:'', - buttonURL:'button.png' - } - }, - 'autosave': { - 'success':'Local conservation success' - } -}; diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/addimage.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/addimage.png deleted file mode 100644 index 3a2fd17121b9e0d435b2ca082d696c33b9f27b79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3373 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 ZzyK$sgmq7P@T33$002ovPDHLkV1jUEUt0hG diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/alldeletebtnupskin.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/alldeletebtnupskin.png deleted file mode 100644 index 61658ce6f10164478ce293c05f1f0485a8fa1fc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 743 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 P9go0R-$Jhf?tK5Bgo^WU diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/button.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/button.png deleted file mode 100644 index 098874cb1fa85852d77ba9acbb5850c91c341fb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4929 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 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/deletedisable.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/deletedisable.png deleted file mode 100644 index c8ee75094f59f0c1262806fd294d361f30f64f58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 649 zcmV;40(Sk0P)!u-Pc3GOd!YPO+bG=gGoA_gW7h+<&i6W@>CzIUsorkT}tXKy|I-GoR_nf%RY$+yzqrWn_y0c| zycG_I116IRG@DK0sZ-E55u|Ou1fok>7zp9LsHJgReXhe;7C4$VS;)mE^wOWxM5!>w+j7B4b z!(p<+cswRyO2rY#*XuP527_xko|w>=_a0qmu_(~#bP__L5ZG)saJ${)TYOfjR7kAi zYvg9L`EQ38LQ-=rdwc{0EpJ`Z=~U9|_2kw4eh&tN0eJ55 jcWg?)n1^9d$t00000NkvXXu0mjfULPWN diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/deleteenable.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/deleteenable.png deleted file mode 100644 index 26acc883567c5d7fde8de3ba052d7754a5b1c539..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 664 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 F`FAsl-Jbve diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/localimage.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/localimage.png deleted file mode 100644 index 12c8e6aefa8fd16287ac77bbecd7d5b58c3fc837..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3083 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 Z1^`gxH94g;riuUn002ovPDHLkV1oEm+S&jB diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/music.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/music.png deleted file mode 100644 index 2f495fe92ffecdce42b74fd57dca2687414711fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 91561 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

    '; - } - }; - utils.inherits(Separator, UIBase); - -})(); - - -// ui/mask.js -///import core -///import uicore -(function (){ - var utils = baidu.editor.utils, - domUtils = baidu.editor.dom.domUtils, - UIBase = baidu.editor.ui.UIBase, - uiUtils = baidu.editor.ui.uiUtils; - - var Mask = baidu.editor.ui.Mask = function (options){ - this.initOptions(options); - this.initUIBase(); - }; - Mask.prototype = { - getHtmlTpl: function (){ - return '
    '; - }, - postRender: function (){ - var me = this; - domUtils.on(window, 'resize', function (){ - setTimeout(function (){ - if (!me.isHidden()) { - me._fill(); - } - }); - }); - }, - show: function (zIndex){ - this._fill(); - this.getDom().style.display = ''; - this.getDom().style.zIndex = zIndex; - }, - hide: function (){ - this.getDom().style.display = 'none'; - this.getDom().style.zIndex = ''; - }, - isHidden: function (){ - return this.getDom().style.display == 'none'; - }, - _onMouseDown: function (){ - return false; - }, - _onClick: function (e, target){ - this.fireEvent('click', e, target); - }, - _fill: function (){ - var el = this.getDom(); - var vpRect = uiUtils.getViewportRect(); - el.style.width = vpRect.width + 'px'; - el.style.height = vpRect.height + 'px'; - } - }; - utils.inherits(Mask, UIBase); -})(); - - -// ui/popup.js -///import core -///import uicore -(function () { - var utils = baidu.editor.utils, - uiUtils = baidu.editor.ui.uiUtils, - domUtils = baidu.editor.dom.domUtils, - UIBase = baidu.editor.ui.UIBase, - Popup = baidu.editor.ui.Popup = function (options){ - this.initOptions(options); - this.initPopup(); - }; - - var allPopups = []; - function closeAllPopup( evt,el ){ - for ( var i = 0; i < allPopups.length; i++ ) { - var pop = allPopups[i]; - if (!pop.isHidden()) { - if (pop.queryAutoHide(el) !== false) { - if(evt&&/scroll/ig.test(evt.type)&&pop.className=="edui-wordpastepop") return; - pop.hide(); - } - } - } - - if(allPopups.length) - pop.editor.fireEvent("afterhidepop"); - } - - Popup.postHide = closeAllPopup; - - var ANCHOR_CLASSES = ['edui-anchor-topleft','edui-anchor-topright', - 'edui-anchor-bottomleft','edui-anchor-bottomright']; - Popup.prototype = { - SHADOW_RADIUS: 5, - content: null, - _hidden: false, - autoRender: true, - canSideLeft: true, - canSideUp: true, - initPopup: function (){ - this.initUIBase(); - allPopups.push( this ); - }, - getHtmlTpl: function (){ - return '
    ' + - '
    ' + - ' ' + - '
    ' + - '
    ' + - this.getContentHtmlTpl() + - '
    ' + - '
    ' + - '
    '; - }, - getContentHtmlTpl: function (){ - if(this.content){ - if (typeof this.content == 'string') { - return this.content; - } - return this.content.renderHtml(); - }else{ - return '' - } - - }, - _UIBase_postRender: UIBase.prototype.postRender, - postRender: function (){ - - - if (this.content instanceof UIBase) { - this.content.postRender(); - } - - //捕获鼠标滚轮 - if( this.captureWheel && !this.captured ) { - - this.captured = true; - - var winHeight = ( document.documentElement.clientHeight || document.body.clientHeight ) - 80, - _height = this.getDom().offsetHeight, - _top = uiUtils.getClientRect( this.combox.getDom() ).top, - content = this.getDom('content'), - ifr = this.getDom('body').getElementsByTagName('iframe'), - me = this; - - ifr.length && ( ifr = ifr[0] ); - - while( _top + _height > winHeight ) { - _height -= 30; - } - content.style.height = _height + 'px'; - //同步更改iframe高度 - ifr && ( ifr.style.height = _height + 'px' ); - - //阻止在combox上的鼠标滚轮事件, 防止用户的正常操作被误解 - if( window.XMLHttpRequest ) { - - domUtils.on( content, ( 'onmousewheel' in document.body ) ? 'mousewheel' :'DOMMouseScroll' , function(e){ - - if(e.preventDefault) { - e.preventDefault(); - } else { - e.returnValue = false; - } - - if( e.wheelDelta ) { - - content.scrollTop -= ( e.wheelDelta / 120 )*60; - - } else { - - content.scrollTop -= ( e.detail / -3 )*60; - - } - - }); - - } else { - - //ie6 - domUtils.on( this.getDom(), 'mousewheel' , function(e){ - - e.returnValue = false; - - me.getDom('content').scrollTop -= ( e.wheelDelta / 120 )*60; - - }); - - } - - } - this.fireEvent('postRenderAfter'); - this.hide(true); - this._UIBase_postRender(); - }, - _doAutoRender: function (){ - if (!this.getDom() && this.autoRender) { - this.render(); - } - }, - mesureSize: function (){ - var box = this.getDom('content'); - return uiUtils.getClientRect(box); - }, - fitSize: function (){ - if( this.captureWheel && this.sized ) { - return this.__size; - } - this.sized = true; - var popBodyEl = this.getDom('body'); - popBodyEl.style.width = ''; - popBodyEl.style.height = ''; - var size = this.mesureSize(); - if( this.captureWheel ) { - popBodyEl.style.width = -(-20 -size.width) + 'px'; - var height = parseInt( this.getDom('content').style.height, 10 ); - !window.isNaN( height ) && ( size.height = height ); - } else { - popBodyEl.style.width = size.width + 'px'; - } - popBodyEl.style.height = size.height + 'px'; - this.__size = size; - this.captureWheel && (this.getDom('content').style.overflow = 'auto'); - return size; - }, - showAnchor: function ( element, hoz ){ - this.showAnchorRect( uiUtils.getClientRect( element ), hoz ); - }, - showAnchorRect: function ( rect, hoz, adj ){ - this._doAutoRender(); - var vpRect = uiUtils.getViewportRect(); - this.getDom().style.visibility = 'hidden'; - this._show(); - var popSize = this.fitSize(); - - var sideLeft, sideUp, left, top; - if (hoz) { - sideLeft = this.canSideLeft && (rect.right + popSize.width > vpRect.right && rect.left > popSize.width); - sideUp = this.canSideUp && (rect.top + popSize.height > vpRect.bottom && rect.bottom > popSize.height); - left = (sideLeft ? rect.left - popSize.width : rect.right); - top = (sideUp ? rect.bottom - popSize.height : rect.top); - } else { - sideLeft = this.canSideLeft && (rect.right + popSize.width > vpRect.right && rect.left > popSize.width); - sideUp = this.canSideUp && (rect.top + popSize.height > vpRect.bottom && rect.bottom > popSize.height); - left = (sideLeft ? rect.right - popSize.width : rect.left); - top = (sideUp ? rect.top - popSize.height : rect.bottom); - } - - var popEl = this.getDom(); - uiUtils.setViewportOffset(popEl, { - left: left, - top: top - }); - domUtils.removeClasses(popEl, ANCHOR_CLASSES); - popEl.className += ' ' + ANCHOR_CLASSES[(sideUp ? 1 : 0) * 2 + (sideLeft ? 1 : 0)]; - if(this.editor){ - popEl.style.zIndex = this.editor.container.style.zIndex * 1 + 10; - baidu.editor.ui.uiUtils.getFixedLayer().style.zIndex = popEl.style.zIndex - 1; - } - this.getDom().style.visibility = 'visible'; - - }, - showAt: function (offset) { - var left = offset.left; - var top = offset.top; - var rect = { - left: left, - top: top, - right: left, - bottom: top, - height: 0, - width: 0 - }; - this.showAnchorRect(rect, false, true); - }, - _show: function (){ - if (this._hidden) { - var box = this.getDom(); - box.style.display = ''; - this._hidden = false; -// if (box.setActive) { -// box.setActive(); -// } - this.fireEvent('show'); - } - }, - isHidden: function (){ - return this._hidden; - }, - show: function (){ - this._doAutoRender(); - this._show(); - }, - hide: function (notNofity){ - if (!this._hidden && this.getDom()) { - this.getDom().style.display = 'none'; - this._hidden = true; - if (!notNofity) { - this.fireEvent('hide'); - } - } - }, - queryAutoHide: function (el){ - return !el || !uiUtils.contains(this.getDom(), el); - } - }; - utils.inherits(Popup, UIBase); - - domUtils.on( document, 'mousedown', function ( evt ) { - var el = evt.target || evt.srcElement; - closeAllPopup( evt,el ); - } ); - domUtils.on( window, 'scroll', function (evt,el) { - closeAllPopup( evt,el ); - } ); - -})(); - - -// ui/colorpicker.js -///import core -///import uicore -(function (){ - var utils = baidu.editor.utils, - UIBase = baidu.editor.ui.UIBase, - ColorPicker = baidu.editor.ui.ColorPicker = function (options){ - this.initOptions(options); - this.noColorText = this.noColorText || this.editor.getLang("clearColor"); - this.initUIBase(); - }; - - ColorPicker.prototype = { - getHtmlTpl: function (){ - return genColorPicker(this.noColorText,this.editor); - }, - _onTableClick: function (evt){ - var tgt = evt.target || evt.srcElement; - var color = tgt.getAttribute('data-color'); - if (color) { - this.fireEvent('pickcolor', color); - } - }, - _onTableOver: function (evt){ - var tgt = evt.target || evt.srcElement; - var color = tgt.getAttribute('data-color'); - if (color) { - this.getDom('preview').style.backgroundColor = color; - } - }, - _onTableOut: function (){ - this.getDom('preview').style.backgroundColor = ''; - }, - _onPickNoColor: function (){ - this.fireEvent('picknocolor'); - } - }; - utils.inherits(ColorPicker, UIBase); - - var COLORS = ( - 'ffffff,000000,eeece1,1f497d,4f81bd,c0504d,9bbb59,8064a2,4bacc6,f79646,' + - 'f2f2f2,7f7f7f,ddd9c3,c6d9f0,dbe5f1,f2dcdb,ebf1dd,e5e0ec,dbeef3,fdeada,' + - 'd8d8d8,595959,c4bd97,8db3e2,b8cce4,e5b9b7,d7e3bc,ccc1d9,b7dde8,fbd5b5,' + - 'bfbfbf,3f3f3f,938953,548dd4,95b3d7,d99694,c3d69b,b2a2c7,92cddc,fac08f,' + - 'a5a5a5,262626,494429,17365d,366092,953734,76923c,5f497a,31859b,e36c09,' + - '7f7f7f,0c0c0c,1d1b10,0f243e,244061,632423,4f6128,3f3151,205867,974806,' + - 'c00000,ff0000,ffc000,ffff00,92d050,00b050,00b0f0,0070c0,002060,7030a0,').split(','); - - function genColorPicker(noColorText,editor){ - var html = '
    ' + - '
    ' + - '
    ' + - '
    '+ noColorText +'
    ' + - '
    ' + - '' + - ''+ - ''; - for (var i=0; i':'')+''; - } - html += i<70 ? '':''; - } - html += '
    '+editor.getLang("themeColor")+'
    '+editor.getLang("standardColor")+'
    '; - return html; - } -})(); - - -// ui/tablepicker.js -///import core -///import uicore -(function (){ - var utils = baidu.editor.utils, - uiUtils = baidu.editor.ui.uiUtils, - UIBase = baidu.editor.ui.UIBase; - - var TablePicker = baidu.editor.ui.TablePicker = function (options){ - this.initOptions(options); - this.initTablePicker(); - }; - TablePicker.prototype = { - defaultNumRows: 10, - defaultNumCols: 10, - maxNumRows: 20, - maxNumCols: 20, - numRows: 10, - numCols: 10, - lengthOfCellSide: 22, - initTablePicker: function (){ - this.initUIBase(); - }, - getHtmlTpl: function (){ - var me = this; - return '
    ' + - '
    ' + - '
    ' + - '' + - '
    ' + - '
    ' + - '
    ' + - '
    ' + - '
    ' + - '
    '; - }, - _UIBase_render: UIBase.prototype.render, - render: function (holder){ - this._UIBase_render(holder); - this.getDom('label').innerHTML = '0'+this.editor.getLang("t_row")+' x 0'+this.editor.getLang("t_col"); - }, - _track: function (numCols, numRows){ - var style = this.getDom('overlay').style; - var sideLen = this.lengthOfCellSide; - style.width = numCols * sideLen + 'px'; - style.height = numRows * sideLen + 'px'; - var label = this.getDom('label'); - label.innerHTML = numCols +this.editor.getLang("t_col")+' x ' + numRows + this.editor.getLang("t_row"); - this.numCols = numCols; - this.numRows = numRows; - }, - _onMouseOver: function (evt, el){ - var rel = evt.relatedTarget || evt.fromElement; - if (!uiUtils.contains(el, rel) && el !== rel) { - this.getDom('label').innerHTML = '0'+this.editor.getLang("t_col")+' x 0'+this.editor.getLang("t_row"); - this.getDom('overlay').style.visibility = ''; - } - }, - _onMouseOut: function (evt, el){ - var rel = evt.relatedTarget || evt.toElement; - if (!uiUtils.contains(el, rel) && el !== rel) { - this.getDom('label').innerHTML = '0'+this.editor.getLang("t_col")+' x 0'+this.editor.getLang("t_row"); - this.getDom('overlay').style.visibility = 'hidden'; - } - }, - _onMouseMove: function (evt, el){ - var style = this.getDom('overlay').style; - var offset = uiUtils.getEventOffset(evt); - var sideLen = this.lengthOfCellSide; - var numCols = Math.ceil(offset.left / sideLen); - var numRows = Math.ceil(offset.top / sideLen); - this._track(numCols, numRows); - }, - _onClick: function (){ - this.fireEvent('picktable', this.numCols, this.numRows); - } - }; - utils.inherits(TablePicker, UIBase); -})(); - - -// ui/stateful.js -(function (){ - var browser = baidu.editor.browser, - domUtils = baidu.editor.dom.domUtils, - uiUtils = baidu.editor.ui.uiUtils; - - var TPL_STATEFUL = 'onmousedown="$$.Stateful_onMouseDown(event, this);"' + - ' onmouseup="$$.Stateful_onMouseUp(event, this);"' + - ( browser.ie ? ( - ' onmouseenter="$$.Stateful_onMouseEnter(event, this);"' + - ' onmouseleave="$$.Stateful_onMouseLeave(event, this);"' ) - : ( - ' onmouseover="$$.Stateful_onMouseOver(event, this);"' + - ' onmouseout="$$.Stateful_onMouseOut(event, this);"' )); - - baidu.editor.ui.Stateful = { - alwalysHoverable: false, - target:null,//目标元素和this指向dom不一样 - Stateful_init: function (){ - this._Stateful_dGetHtmlTpl = this.getHtmlTpl; - this.getHtmlTpl = this.Stateful_getHtmlTpl; - }, - Stateful_getHtmlTpl: function (){ - var tpl = this._Stateful_dGetHtmlTpl(); - // 使用function避免$转义 - return tpl.replace(/stateful/g, function (){ return TPL_STATEFUL; }); - }, - Stateful_onMouseEnter: function (evt, el){ - this.target=el; - if (!this.isDisabled() || this.alwalysHoverable) { - this.addState('hover'); - this.fireEvent('over'); - } - }, - Stateful_onMouseLeave: function (evt, el){ - if (!this.isDisabled() || this.alwalysHoverable) { - this.removeState('hover'); - this.removeState('active'); - this.fireEvent('out'); - } - }, - Stateful_onMouseOver: function (evt, el){ - var rel = evt.relatedTarget; - if (!uiUtils.contains(el, rel) && el !== rel) { - this.Stateful_onMouseEnter(evt, el); - } - }, - Stateful_onMouseOut: function (evt, el){ - var rel = evt.relatedTarget; - if (!uiUtils.contains(el, rel) && el !== rel) { - this.Stateful_onMouseLeave(evt, el); - } - }, - Stateful_onMouseDown: function (evt, el){ - if (!this.isDisabled()) { - this.addState('active'); - } - }, - Stateful_onMouseUp: function (evt, el){ - if (!this.isDisabled()) { - this.removeState('active'); - } - }, - Stateful_postRender: function (){ - if (this.disabled && !this.hasState('disabled')) { - this.addState('disabled'); - } - }, - hasState: function (state){ - return domUtils.hasClass(this.getStateDom(), 'edui-state-' + state); - }, - addState: function (state){ - if (!this.hasState(state)) { - this.getStateDom().className += ' edui-state-' + state; - } - }, - removeState: function (state){ - if (this.hasState(state)) { - domUtils.removeClasses(this.getStateDom(), ['edui-state-' + state]); - } - }, - getStateDom: function (){ - return this.getDom('state'); - }, - isChecked: function (){ - return this.hasState('checked'); - }, - setChecked: function (checked){ - if (!this.isDisabled() && checked) { - this.addState('checked'); - } else { - this.removeState('checked'); - } - }, - isDisabled: function (){ - return this.hasState('disabled'); - }, - setDisabled: function (disabled){ - if (disabled) { - this.removeState('hover'); - this.removeState('checked'); - this.removeState('active'); - this.addState('disabled'); - } else { - this.removeState('disabled'); - } - } - }; -})(); - - -// ui/button.js -///import core -///import uicore -///import ui/stateful.js -(function (){ - var utils = baidu.editor.utils, - UIBase = baidu.editor.ui.UIBase, - Stateful = baidu.editor.ui.Stateful, - Button = baidu.editor.ui.Button = function (options){ - if(options.name){ - var btnName = options.name; - var cssRules = options.cssRules; - if(!options.className){ - options.className = 'edui-for-' + btnName; - } - options.cssRules = '.edui-default .edui-for-'+ btnName +' .edui-icon {'+ cssRules +'}' - } - this.initOptions(options); - this.initButton(); - }; - Button.prototype = { - uiName: 'button', - label: '', - title: '', - showIcon: true, - showText: true, - cssRules:'', - initButton: function (){ - this.initUIBase(); - this.Stateful_init(); - if(this.cssRules){ - utils.cssRule('edui-customize-'+this.name+'-style',this.cssRules); - } - }, - getHtmlTpl: function (){ - return '
    ' + - '
    ' + - '
    ' + - (this.showIcon ? '
    ' : '') + - (this.showText ? '
    ' + this.label + '
    ' : '') + - '
    ' + - '
    ' + - '
    '; - }, - postRender: function (){ - this.Stateful_postRender(); - this.setDisabled(this.disabled) - }, - _onMouseDown: function (e){ - var target = e.target || e.srcElement, - tagName = target && target.tagName && target.tagName.toLowerCase(); - if (tagName == 'input' || tagName == 'object' || tagName == 'object') { - return false; - } - }, - _onClick: function (){ - if (!this.isDisabled()) { - this.fireEvent('click'); - } - }, - setTitle: function(text){ - var label = this.getDom('label'); - label.innerHTML = text; - } - }; - utils.inherits(Button, UIBase); - utils.extend(Button.prototype, Stateful); - -})(); - - -// ui/splitbutton.js -///import core -///import uicore -///import ui/stateful.js -(function (){ - var utils = baidu.editor.utils, - uiUtils = baidu.editor.ui.uiUtils, - domUtils = baidu.editor.dom.domUtils, - UIBase = baidu.editor.ui.UIBase, - Stateful = baidu.editor.ui.Stateful, - SplitButton = baidu.editor.ui.SplitButton = function (options){ - this.initOptions(options); - this.initSplitButton(); - }; - SplitButton.prototype = { - popup: null, - uiName: 'splitbutton', - title: '', - initSplitButton: function (){ - this.initUIBase(); - this.Stateful_init(); - var me = this; - if (this.popup != null) { - var popup = this.popup; - this.popup = null; - this.setPopup(popup); - } - }, - _UIBase_postRender: UIBase.prototype.postRender, - postRender: function (){ - this.Stateful_postRender(); - this._UIBase_postRender(); - }, - setPopup: function (popup){ - if (this.popup === popup) return; - if (this.popup != null) { - this.popup.dispose(); - } - popup.addListener('show', utils.bind(this._onPopupShow, this)); - popup.addListener('hide', utils.bind(this._onPopupHide, this)); - popup.addListener('postrender', utils.bind(function (){ - popup.getDom('body').appendChild( - uiUtils.createElementByHtml('
    ') - ); - popup.getDom().className += ' ' + this.className; - }, this)); - this.popup = popup; - }, - _onPopupShow: function (){ - this.addState('opened'); - }, - _onPopupHide: function (){ - this.removeState('opened'); - }, - getHtmlTpl: function (){ - return '
    ' + - '
    ' + - '
    ' + - '
    ' + - '
    ' + - '
    ' + - '
    ' + - '
    '; - }, - showPopup: function (){ - // 当popup往上弹出的时候,做特殊处理 - var rect = uiUtils.getClientRect(this.getDom()); - rect.top -= this.popup.SHADOW_RADIUS; - rect.height += this.popup.SHADOW_RADIUS; - this.popup.showAnchorRect(rect); - }, - _onArrowClick: function (event, el){ - if (!this.isDisabled()) { - this.showPopup(); - } - }, - _onButtonClick: function (){ - if (!this.isDisabled()) { - this.fireEvent('buttonclick'); - } - } - }; - utils.inherits(SplitButton, UIBase); - utils.extend(SplitButton.prototype, Stateful, true); - -})(); - - -// ui/colorbutton.js -///import core -///import uicore -///import ui/colorpicker.js -///import ui/popup.js -///import ui/splitbutton.js -(function (){ - var utils = baidu.editor.utils, - uiUtils = baidu.editor.ui.uiUtils, - ColorPicker = baidu.editor.ui.ColorPicker, - Popup = baidu.editor.ui.Popup, - SplitButton = baidu.editor.ui.SplitButton, - ColorButton = baidu.editor.ui.ColorButton = function (options){ - this.initOptions(options); - this.initColorButton(); - }; - ColorButton.prototype = { - initColorButton: function (){ - var me = this; - this.popup = new Popup({ - content: new ColorPicker({ - noColorText: me.editor.getLang("clearColor"), - editor:me.editor, - onpickcolor: function (t, color){ - me._onPickColor(color); - }, - onpicknocolor: function (t, color){ - me._onPickNoColor(color); - } - }), - editor:me.editor - }); - this.initSplitButton(); - }, - _SplitButton_postRender: SplitButton.prototype.postRender, - postRender: function (){ - this._SplitButton_postRender(); - this.getDom('button_body').appendChild( - uiUtils.createElementByHtml('
    ') - ); - this.getDom().className += ' edui-colorbutton'; - }, - setColor: function (color){ - this.getDom('colorlump').style.backgroundColor = color; - this.color = color; - }, - _onPickColor: function (color){ - if (this.fireEvent('pickcolor', color) !== false) { - this.setColor(color); - this.popup.hide(); - } - }, - _onPickNoColor: function (color){ - if (this.fireEvent('picknocolor') !== false) { - this.popup.hide(); - } - } - }; - utils.inherits(ColorButton, SplitButton); - -})(); - - -// ui/tablebutton.js -///import core -///import uicore -///import ui/popup.js -///import ui/tablepicker.js -///import ui/splitbutton.js -(function (){ - var utils = baidu.editor.utils, - Popup = baidu.editor.ui.Popup, - TablePicker = baidu.editor.ui.TablePicker, - SplitButton = baidu.editor.ui.SplitButton, - TableButton = baidu.editor.ui.TableButton = function (options){ - this.initOptions(options); - this.initTableButton(); - }; - TableButton.prototype = { - initTableButton: function (){ - var me = this; - this.popup = new Popup({ - content: new TablePicker({ - editor:me.editor, - onpicktable: function (t, numCols, numRows){ - me._onPickTable(numCols, numRows); - } - }), - 'editor':me.editor - }); - this.initSplitButton(); - }, - _onPickTable: function (numCols, numRows){ - if (this.fireEvent('picktable', numCols, numRows) !== false) { - this.popup.hide(); - } - } - }; - utils.inherits(TableButton, SplitButton); - -})(); - - -// ui/autotypesetpicker.js -///import core -///import uicore -(function () { - var utils = baidu.editor.utils, - UIBase = baidu.editor.ui.UIBase; - - var AutoTypeSetPicker = baidu.editor.ui.AutoTypeSetPicker = function (options) { - this.initOptions(options); - this.initAutoTypeSetPicker(); - }; - AutoTypeSetPicker.prototype = { - initAutoTypeSetPicker:function () { - this.initUIBase(); - }, - getHtmlTpl:function () { - var me = this.editor, - opt = me.options.autotypeset, - lang = me.getLang("autoTypeSet"); - - var textAlignInputName = 'textAlignValue' + me.uid, - imageBlockInputName = 'imageBlockLineValue' + me.uid, - symbolConverInputName = 'symbolConverValue' + me.uid; - - return '
    ' + - '
    ' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '
    ' + lang.mergeLine + '' + lang.delLine + '
    ' + lang.removeFormat + '' + lang.indent + '
    ' + lang.alignment + '' + - '' + me.getLang("justifyleft") + - '' + me.getLang("justifycenter") + - '' + me.getLang("justifyright") + - '
    ' + lang.imageFloat + '' + - '' + me.getLang("default") + - '' + me.getLang("justifyleft") + - '' + me.getLang("justifycenter") + - '' + me.getLang("justifyright") + - '
    ' + lang.removeFontsize + '' + lang.removeFontFamily + '
    ' + lang.removeHtml + '
    ' + lang.pasteFilter + '
    ' + lang.symbol + '' + - '' + lang.bdc2sb + - '' + lang.tobdc + '' + - '
    ' + - '
    ' + - '
    '; - - - }, - _UIBase_render:UIBase.prototype.render - }; - utils.inherits(AutoTypeSetPicker, UIBase); -})(); - - -// ui/autotypesetbutton.js -///import core -///import uicore -///import ui/popup.js -///import ui/autotypesetpicker.js -///import ui/splitbutton.js -(function (){ - var utils = baidu.editor.utils, - Popup = baidu.editor.ui.Popup, - AutoTypeSetPicker = baidu.editor.ui.AutoTypeSetPicker, - SplitButton = baidu.editor.ui.SplitButton, - AutoTypeSetButton = baidu.editor.ui.AutoTypeSetButton = function (options){ - this.initOptions(options); - this.initAutoTypeSetButton(); - }; - function getPara(me){ - - var opt = {}, - cont = me.getDom(), - editorId = me.editor.uid, - inputType = null, - attrName = null, - ipts = domUtils.getElementsByTagName(cont,"input"); - for(var i=ipts.length-1,ipt;ipt=ipts[i--];){ - inputType = ipt.getAttribute("type"); - if(inputType=="checkbox"){ - attrName = ipt.getAttribute("name"); - opt[attrName] && delete opt[attrName]; - if(ipt.checked){ - var attrValue = document.getElementById( attrName + "Value" + editorId ); - if(attrValue){ - if(/input/ig.test(attrValue.tagName)){ - opt[attrName] = attrValue.value; - } else { - var iptChilds = attrValue.getElementsByTagName("input"); - for(var j=iptChilds.length-1,iptchild;iptchild=iptChilds[j--];){ - if(iptchild.checked){ - opt[attrName] = iptchild.value; - break; - } - } - } - } else { - opt[attrName] = true; - } - } else { - opt[attrName] = false; - } - } else { - opt[ipt.getAttribute("value")] = ipt.checked; - } - - } - - var selects = domUtils.getElementsByTagName(cont,"select"); - for(var i=0,si;si=selects[i++];){ - var attr = si.getAttribute('name'); - opt[attr] = opt[attr] ? si.value : ''; - } - - utils.extend(me.editor.options.autotypeset,opt); - - me.editor.setPreferences('autotypeset', opt); - } - - AutoTypeSetButton.prototype = { - initAutoTypeSetButton: function (){ - - var me = this; - this.popup = new Popup({ - //传入配置参数 - content: new AutoTypeSetPicker({editor:me.editor}), - 'editor':me.editor, - hide : function(){ - if (!this._hidden && this.getDom()) { - getPara(this); - this.getDom().style.display = 'none'; - this._hidden = true; - this.fireEvent('hide'); - } - } - }); - var flag = 0; - this.popup.addListener('postRenderAfter',function(){ - var popupUI = this; - if(flag)return; - var cont = this.getDom(), - btn = cont.getElementsByTagName('button')[0]; - - btn.onclick = function(){ - getPara(popupUI); - me.editor.execCommand('autotypeset'); - popupUI.hide() - }; - - domUtils.on(cont, 'click', function(e) { - var target = e.target || e.srcElement, - editorId = me.editor.uid; - if (target && target.tagName == 'INPUT') { - - // 点击图片浮动的checkbox,去除对应的radio - if (target.name == 'imageBlockLine' || target.name == 'textAlign' || target.name == 'symbolConver') { - var checked = target.checked, - radioTd = document.getElementById( target.name + 'Value' + editorId), - radios = radioTd.getElementsByTagName('input'), - defalutSelect = { - 'imageBlockLine': 'none', - 'textAlign': 'left', - 'symbolConver': 'tobdc' - }; - - for (var i = 0; i < radios.length; i++) { - if (checked) { - if (radios[i].value == defalutSelect[target.name]) { - radios[i].checked = 'checked'; - } - } else { - radios[i].checked = false; - } - } - } - // 点击radio,选中对应的checkbox - if (target.name == ('imageBlockLineValue' + editorId) || target.name == ('textAlignValue' + editorId) || target.name == 'bdc') { - var checkboxs = target.parentNode.previousSibling.getElementsByTagName('input'); - checkboxs && (checkboxs[0].checked = true); - } - - getPara(popupUI); - } - }); - - flag = 1; - }); - this.initSplitButton(); - } - }; - utils.inherits(AutoTypeSetButton, SplitButton); - -})(); - - -// ui/cellalignpicker.js -///import core -///import uicore -(function () { - var utils = baidu.editor.utils, - Popup = baidu.editor.ui.Popup, - Stateful = baidu.editor.ui.Stateful, - UIBase = baidu.editor.ui.UIBase; - - /** - * 该参数将新增一个参数: selected, 参数类型为一个Object, 形如{ 'align': 'center', 'valign': 'top' }, 表示单元格的初始 - * 对齐状态为: 竖直居上,水平居中; 其中 align的取值为:'center', 'left', 'right'; valign的取值为: 'top', 'middle', 'bottom' - * @update 2013/4/2 hancong03@baidu.com - */ - var CellAlignPicker = baidu.editor.ui.CellAlignPicker = function (options) { - this.initOptions(options); - this.initSelected(); - this.initCellAlignPicker(); - }; - CellAlignPicker.prototype = { - //初始化选中状态, 该方法将根据传递进来的参数获取到应该选中的对齐方式图标的索引 - initSelected: function(){ - - var status = { - - valign: { - top: 0, - middle: 1, - bottom: 2 - }, - align: { - left: 0, - center: 1, - right: 2 - }, - count: 3 - - }, - result = -1; - - if( this.selected ) { - this.selectedIndex = status.valign[ this.selected.valign ] * status.count + status.align[ this.selected.align ]; - } - - }, - initCellAlignPicker:function () { - this.initUIBase(); - this.Stateful_init(); - }, - getHtmlTpl:function () { - - var alignType = [ 'left', 'center', 'right' ], - COUNT = 9, - tempClassName = null, - tempIndex = -1, - tmpl = []; - - - for( var i= 0; i'); - - tmpl.push( '
    ' ); - - tempIndex === 2 && tmpl.push(''); - - } - - return '
    ' + - '
    ' + - '' + - tmpl.join('') + - '
    ' + - '
    ' + - '
    '; - }, - getStateDom: function (){ - return this.target; - }, - _onClick: function (evt){ - var target= evt.target || evt.srcElement; - if(/icon/.test(target.className)){ - this.items[target.parentNode.getAttribute("index")].onclick(); - Popup.postHide(evt); - } - }, - _UIBase_render:UIBase.prototype.render - }; - utils.inherits(CellAlignPicker, UIBase); - utils.extend(CellAlignPicker.prototype, Stateful,true); -})(); - - - - - -// ui/pastepicker.js -///import core -///import uicore -(function () { - var utils = baidu.editor.utils, - Stateful = baidu.editor.ui.Stateful, - uiUtils = baidu.editor.ui.uiUtils, - UIBase = baidu.editor.ui.UIBase; - - var PastePicker = baidu.editor.ui.PastePicker = function (options) { - this.initOptions(options); - this.initPastePicker(); - }; - PastePicker.prototype = { - initPastePicker:function () { - this.initUIBase(); - this.Stateful_init(); - }, - getHtmlTpl:function () { - return '
    ' + - '
    ' + - '
    ' + this.editor.getLang("pasteOpt") + '
    ' + - '
    ' + - '
    ' + - '
    ' + - '
    ' + - '
    ' + - '
    ' + - '
    ' + - '
    ' + - '
    ' + - '
    ' - }, - getStateDom:function () { - return this.target; - }, - format:function (param) { - this.editor.ui._isTransfer = true; - this.editor.fireEvent('pasteTransfer', param); - }, - _onClick:function (cur) { - var node = domUtils.getNextDomNode(cur), - screenHt = uiUtils.getViewportRect().height, - subPop = uiUtils.getClientRect(node); - - if ((subPop.top + subPop.height) > screenHt) - node.style.top = (-subPop.height - cur.offsetHeight) + "px"; - else - node.style.top = ""; - - if (/hidden/ig.test(domUtils.getComputedStyle(node, "visibility"))) { - node.style.visibility = "visible"; - domUtils.addClass(cur, "edui-state-opened"); - } else { - node.style.visibility = "hidden"; - domUtils.removeClasses(cur, "edui-state-opened") - } - }, - _UIBase_render:UIBase.prototype.render - }; - utils.inherits(PastePicker, UIBase); - utils.extend(PastePicker.prototype, Stateful, true); -})(); - - - - - - -// ui/toolbar.js -(function (){ - var utils = baidu.editor.utils, - uiUtils = baidu.editor.ui.uiUtils, - UIBase = baidu.editor.ui.UIBase, - Toolbar = baidu.editor.ui.Toolbar = function (options){ - this.initOptions(options); - this.initToolbar(); - }; - Toolbar.prototype = { - items: null, - initToolbar: function (){ - this.items = this.items || []; - this.initUIBase(); - }, - add: function (item,index){ - if(index === undefined){ - this.items.push(item); - }else{ - this.items.splice(index,0,item) - } - - }, - getHtmlTpl: function (){ - var buff = []; - for (var i=0; i' + - buff.join('') + - '' - }, - postRender: function (){ - var box = this.getDom(); - for (var i=0; i
    '; - }, - postRender:function () { - }, - queryAutoHide:function () { - return true; - } - }; - Menu.prototype = { - items:null, - uiName:'menu', - initMenu:function () { - this.items = this.items || []; - this.initPopup(); - this.initItems(); - }, - initItems:function () { - for (var i = 0; i < this.items.length; i++) { - var item = this.items[i]; - if (item == '-') { - this.items[i] = this.getSeparator(); - } else if (!(item instanceof MenuItem)) { - item.editor = this.editor; - item.theme = this.editor.options.theme; - this.items[i] = this.createItem(item); - } - } - }, - getSeparator:function () { - return menuSeparator; - }, - createItem:function (item) { - //新增一个参数menu, 该参数存储了menuItem所对应的menu引用 - item.menu = this; - return new MenuItem(item); - }, - _Popup_getContentHtmlTpl:Popup.prototype.getContentHtmlTpl, - getContentHtmlTpl:function () { - if (this.items.length == 0) { - return this._Popup_getContentHtmlTpl(); - } - var buff = []; - for (var i = 0; i < this.items.length; i++) { - var item = this.items[i]; - buff[i] = item.renderHtml(); - } - return ('
    ' + buff.join('') + '
    '); - }, - _Popup_postRender:Popup.prototype.postRender, - postRender:function () { - var me = this; - for (var i = 0; i < this.items.length; i++) { - var item = this.items[i]; - item.ownerMenu = this; - item.postRender(); - } - domUtils.on(this.getDom(), 'mouseover', function (evt) { - evt = evt || event; - var rel = evt.relatedTarget || evt.fromElement; - var el = me.getDom(); - if (!uiUtils.contains(el, rel) && el !== rel) { - me.fireEvent('over'); - } - }); - this._Popup_postRender(); - }, - queryAutoHide:function (el) { - if (el) { - if (uiUtils.contains(this.getDom(), el)) { - return false; - } - for (var i = 0; i < this.items.length; i++) { - var item = this.items[i]; - if (item.queryAutoHide(el) === false) { - return false; - } - } - } - }, - clearItems:function () { - for (var i = 0; i < this.items.length; i++) { - var item = this.items[i]; - clearTimeout(item._showingTimer); - clearTimeout(item._closingTimer); - if (item.subMenu) { - item.subMenu.destroy(); - } - } - this.items = []; - }, - destroy:function () { - if (this.getDom()) { - domUtils.remove(this.getDom()); - } - this.clearItems(); - }, - dispose:function () { - this.destroy(); - } - }; - utils.inherits(Menu, Popup); - - /** - * @update 2013/04/03 hancong03 新增一个参数menu, 该参数存储了menuItem所对应的menu引用 - * @type {Function} - */ - var MenuItem = baidu.editor.ui.MenuItem = function (options) { - this.initOptions(options); - this.initUIBase(); - this.Stateful_init(); - if (this.subMenu && !(this.subMenu instanceof Menu)) { - if (options.className && options.className.indexOf("aligntd") != -1) { - var me = this; - - //获取单元格对齐初始状态 - this.subMenu.selected = this.editor.queryCommandValue( 'cellalignment' ); - - this.subMenu = new Popup({ - content:new CellAlignPicker(this.subMenu), - parentMenu:me, - editor:me.editor, - destroy:function () { - if (this.getDom()) { - domUtils.remove(this.getDom()); - } - } - }); - this.subMenu.addListener("postRenderAfter", function () { - domUtils.on(this.getDom(), "mouseover", function () { - me.addState('opened'); - }); - }); - } else { - this.subMenu = new Menu(this.subMenu); - } - } - }; - MenuItem.prototype = { - label:'', - subMenu:null, - ownerMenu:null, - uiName:'menuitem', - alwalysHoverable:true, - getHtmlTpl:function () { - return '
    ' + - '
    ' + - this.renderLabelHtml() + - '
    ' + - '
    '; - }, - postRender:function () { - var me = this; - this.addListener('over', function () { - me.ownerMenu.fireEvent('submenuover', me); - if (me.subMenu) { - me.delayShowSubMenu(); - } - }); - if (this.subMenu) { - this.getDom().className += ' edui-hassubmenu'; - this.subMenu.render(); - this.addListener('out', function () { - me.delayHideSubMenu(); - }); - this.subMenu.addListener('over', function () { - clearTimeout(me._closingTimer); - me._closingTimer = null; - me.addState('opened'); - }); - this.ownerMenu.addListener('hide', function () { - me.hideSubMenu(); - }); - this.ownerMenu.addListener('submenuover', function (t, subMenu) { - if (subMenu !== me) { - me.delayHideSubMenu(); - } - }); - this.subMenu._bakQueryAutoHide = this.subMenu.queryAutoHide; - this.subMenu.queryAutoHide = function (el) { - if (el && uiUtils.contains(me.getDom(), el)) { - return false; - } - return this._bakQueryAutoHide(el); - }; - } - this.getDom().style.tabIndex = '-1'; - uiUtils.makeUnselectable(this.getDom()); - this.Stateful_postRender(); - }, - delayShowSubMenu:function () { - var me = this; - if (!me.isDisabled()) { - me.addState('opened'); - clearTimeout(me._showingTimer); - clearTimeout(me._closingTimer); - me._closingTimer = null; - me._showingTimer = setTimeout(function () { - me.showSubMenu(); - }, 250); - } - }, - delayHideSubMenu:function () { - var me = this; - if (!me.isDisabled()) { - me.removeState('opened'); - clearTimeout(me._showingTimer); - if (!me._closingTimer) { - me._closingTimer = setTimeout(function () { - if (!me.hasState('opened')) { - me.hideSubMenu(); - } - me._closingTimer = null; - }, 400); - } - } - }, - renderLabelHtml:function () { - return '
    ' + - '
    ' + - '
    ' + (this.label || '') + '
    '; - }, - getStateDom:function () { - return this.getDom(); - }, - queryAutoHide:function (el) { - if (this.subMenu && this.hasState('opened')) { - return this.subMenu.queryAutoHide(el); - } - }, - _onClick:function (event, this_) { - if (this.hasState('disabled')) return; - if (this.fireEvent('click', event, this_) !== false) { - if (this.subMenu) { - this.showSubMenu(); - } else { - Popup.postHide(event); - } - } - }, - showSubMenu:function () { - var rect = uiUtils.getClientRect(this.getDom()); - rect.right -= 5; - rect.left += 2; - rect.width -= 7; - rect.top -= 4; - rect.bottom += 4; - rect.height += 8; - this.subMenu.showAnchorRect(rect, true, true); - }, - hideSubMenu:function () { - this.subMenu.hide(); - } - }; - utils.inherits(MenuItem, UIBase); - utils.extend(MenuItem.prototype, Stateful, true); -})(); - - -// ui/combox.js -///import core -///import uicore -///import ui/menu.js -///import ui/splitbutton.js -(function (){ - // todo: menu和item提成通用list - var utils = baidu.editor.utils, - uiUtils = baidu.editor.ui.uiUtils, - Menu = baidu.editor.ui.Menu, - SplitButton = baidu.editor.ui.SplitButton, - Combox = baidu.editor.ui.Combox = function (options){ - this.initOptions(options); - this.initCombox(); - }; - Combox.prototype = { - uiName: 'combox', - onbuttonclick:function () { - this.showPopup(); - }, - initCombox: function (){ - var me = this; - this.items = this.items || []; - for (var i=0; i vpRect.right) { - left = vpRect.right - rect.width; - } - var top = offset.top; - if (top + rect.height > vpRect.bottom) { - top = vpRect.bottom - rect.height; - } - el.style.left = Math.max(left, 0) + 'px'; - el.style.top = Math.max(top, 0) + 'px'; - }, - showAtCenter: function (){ - - var vpRect = uiUtils.getViewportRect(); - - if ( !this.fullscreen ) { - this.getDom().style.display = ''; - var popSize = this.fitSize(); - var titleHeight = this.getDom('titlebar').offsetHeight | 0; - var left = vpRect.width / 2 - popSize.width / 2; - var top = vpRect.height / 2 - (popSize.height - titleHeight) / 2 - titleHeight; - var popEl = this.getDom(); - this.safeSetOffset({ - left: Math.max(left | 0, 0), - top: Math.max(top | 0, 0) - }); - if (!domUtils.hasClass(popEl, 'edui-state-centered')) { - popEl.className += ' edui-state-centered'; - } - } else { - var dialogWrapNode = this.getDom(), - contentNode = this.getDom('content'); - - dialogWrapNode.style.display = "block"; - - var wrapRect = UE.ui.uiUtils.getClientRect( dialogWrapNode ), - contentRect = UE.ui.uiUtils.getClientRect( contentNode ); - dialogWrapNode.style.left = "-100000px"; - - contentNode.style.width = ( vpRect.width - wrapRect.width + contentRect.width ) + "px"; - contentNode.style.height = ( vpRect.height - wrapRect.height + contentRect.height ) + "px"; - - dialogWrapNode.style.width = vpRect.width + "px"; - dialogWrapNode.style.height = vpRect.height + "px"; - dialogWrapNode.style.left = 0; - - //保存环境的overflow值 - this._originalContext = { - html: { - overflowX: document.documentElement.style.overflowX, - overflowY: document.documentElement.style.overflowY - }, - body: { - overflowX: document.body.style.overflowX, - overflowY: document.body.style.overflowY - } - }; - - document.documentElement.style.overflowX = 'hidden'; - document.documentElement.style.overflowY = 'hidden'; - document.body.style.overflowX = 'hidden'; - document.body.style.overflowY = 'hidden'; - - } - - this._show(); - }, - getContentHtml: function (){ - var contentHtml = ''; - if (typeof this.content == 'string') { - contentHtml = this.content; - } else if (this.iframeUrl) { - contentHtml = ''; - } - return contentHtml; - }, - getHtmlTpl: function (){ - var footHtml = ''; - - if (this.buttons) { - var buff = []; - for (var i=0; i' + buff.join('') + '' + - ''; - } - - return '
    ' + - '
    ' + - '
    ' + - '
    ' + - '' + (this.title || '') + '' + - '
    ' + - this.closeButton.renderHtml() + - '
    ' + - '
    '+ ( this.autoReset ? '' : this.getContentHtml()) +'
    ' + - footHtml + - '
    '; - }, - postRender: function (){ - // todo: 保持居中/记住上次关闭位置选项 - if (!this.modalMask.getDom()) { - this.modalMask.render(); - this.modalMask.hide(); - } - if (!this.dragMask.getDom()) { - this.dragMask.render(); - this.dragMask.hide(); - } - var me = this; - this.addListener('show', function (){ - me.modalMask.show(this.getDom().style.zIndex - 2); - }); - this.addListener('hide', function (){ - me.modalMask.hide(); - }); - if (this.buttons) { - for (var i=0; i'; - me.editor.container.style.zIndex && (this.getDom().style.zIndex = me.editor.container.style.zIndex * 1 + 1); - } - } - // canSideUp:false, - // canSideLeft:false - }); - this.onbuttonclick = function(){ - this.showPopup(); - }; - this.initSplitButton(); - } - - }; - - utils.inherits(MultiMenuPop, SplitButton); -})(); - - -// ui/shortcutmenu.js -(function () { - var UI = baidu.editor.ui, - UIBase = UI.UIBase, - uiUtils = UI.uiUtils, - utils = baidu.editor.utils, - domUtils = baidu.editor.dom.domUtils; - - var allMenus = [],//存储所有快捷菜单 - timeID, - isSubMenuShow = false;//是否有子pop显示 - - var ShortCutMenu = UI.ShortCutMenu = function (options) { - this.initOptions (options); - this.initShortCutMenu (); - }; - - ShortCutMenu.postHide = hideAllMenu; - - ShortCutMenu.prototype = { - isHidden : true , - SPACE : 5 , - initShortCutMenu : function () { - this.items = this.items || []; - this.initUIBase (); - this.initItems (); - this.initEvent (); - allMenus.push (this); - } , - initEvent : function () { - var me = this, - doc = me.editor.document; - - domUtils.on (doc , "mousemove" , function (e) { - if (me.isHidden === false) { - //有pop显示就不隐藏快捷菜单 - if (me.getSubMenuMark () || me.eventType == "contextmenu") return; - - - var flag = true, - el = me.getDom (), - wt = el.offsetWidth, - ht = el.offsetHeight, - distanceX = wt / 2 + me.SPACE,//距离中心X标准 - distanceY = ht / 2,//距离中心Y标准 - x = Math.abs (e.screenX - me.left),//离中心距离横坐标 - y = Math.abs (e.screenY - me.top);//离中心距离纵坐标 - - clearTimeout (timeID); - timeID = setTimeout (function () { - if (y > 0 && y < distanceY) { - me.setOpacity (el , "1"); - } else if (y > distanceY && y < distanceY + 70) { - me.setOpacity (el , "0.5"); - flag = false; - } else if (y > distanceY + 70 && y < distanceY + 140) { - me.hide (); - } - - if (flag && x > 0 && x < distanceX) { - me.setOpacity (el , "1") - } else if (x > distanceX && x < distanceX + 70) { - me.setOpacity (el , "0.5") - } else if (x > distanceX + 70 && x < distanceX + 140) { - me.hide (); - } - }); - } - }); - - //ie\ff下 mouseout不准 - if (browser.chrome) { - domUtils.on (doc , "mouseout" , function (e) { - var relatedTgt = e.relatedTarget || e.toElement; - - if (relatedTgt == null || relatedTgt.tagName == "HTML") { - me.hide (); - } - }); - } - - me.editor.addListener ("afterhidepop" , function () { - if (!me.isHidden) { - isSubMenuShow = true; - } - }); - - } , - initItems : function () { - if (utils.isArray (this.items)) { - for (var i = 0, len = this.items.length ; i < len ; i++) { - var item = this.items[i].toLowerCase (); - - if (UI[item]) { - this.items[i] = new UI[item] (this.editor); - this.items[i].className += " edui-shortcutsubmenu "; - } - } - } - } , - setOpacity : function (el , value) { - if (browser.ie && browser.version < 9) { - el.style.filter = "alpha(opacity = " + parseFloat (value) * 100 + ");" - } else { - el.style.opacity = value; - } - } , - getSubMenuMark : function () { - isSubMenuShow = false; - var layerEle = uiUtils.getFixedLayer (); - var list = domUtils.getElementsByTagName (layerEle , "div" , function (node) { - return domUtils.hasClass (node , "edui-shortcutsubmenu edui-popup") - }); - - for (var i = 0, node ; node = list[i++] ;) { - if (node.style.display != "none") { - isSubMenuShow = true; - } - } - return isSubMenuShow; - } , - show : function (e , hasContextmenu) { - var me = this, - offset = {}, - el = this.getDom (), - fixedlayer = uiUtils.getFixedLayer (); - - function setPos (offset) { - if (offset.left < 0) { - offset.left = 0; - } - if (offset.top < 0) { - offset.top = 0; - } - el.style.cssText = "position:absolute;left:" + offset.left + "px;top:" + offset.top + "px;"; - } - - function setPosByCxtMenu (menu) { - if (!menu.tagName) { - menu = menu.getDom (); - } - offset.left = parseInt (menu.style.left); - offset.top = parseInt (menu.style.top); - offset.top -= el.offsetHeight + 15; - setPos (offset); - } - - - me.eventType = e.type; - el.style.cssText = "display:block;left:-9999px"; - - if (e.type == "contextmenu" && hasContextmenu) { - var menu = domUtils.getElementsByTagName (fixedlayer , "div" , "edui-contextmenu")[0]; - if (menu) { - setPosByCxtMenu (menu) - } else { - me.editor.addListener ("aftershowcontextmenu" , function (type , menu) { - setPosByCxtMenu (menu); - }); - } - } else { - offset = uiUtils.getViewportOffsetByEvent (e); - offset.top -= el.offsetHeight + me.SPACE; - offset.left += me.SPACE + 20; - setPos (offset); - me.setOpacity (el , 0.2); - } - - - me.isHidden = false; - me.left = e.screenX + el.offsetWidth / 2 - me.SPACE; - me.top = e.screenY - (el.offsetHeight / 2) - me.SPACE; - - if (me.editor) { - el.style.zIndex = me.editor.container.style.zIndex * 1 + 10; - fixedlayer.style.zIndex = el.style.zIndex - 1; - } - } , - hide : function () { - if (this.getDom ()) { - this.getDom ().style.display = "none"; - } - this.isHidden = true; - } , - postRender : function () { - if (utils.isArray (this.items)) { - for (var i = 0, item ; item = this.items[i++] ;) { - item.postRender (); - } - } - } , - getHtmlTpl : function () { - var buff; - if (utils.isArray (this.items)) { - buff = []; - for (var i = 0 ; i < this.items.length ; i++) { - buff[i] = this.items[i].renderHtml (); - } - buff = buff.join (""); - } else { - buff = this.items; - } - - return '
    ' + - buff + - '
    '; - } - }; - - utils.inherits (ShortCutMenu , UIBase); - - function hideAllMenu (e) { - var tgt = e.target || e.srcElement, - cur = domUtils.findParent (tgt , function (node) { - return domUtils.hasClass (node , "edui-shortcutmenu") || domUtils.hasClass (node , "edui-popup"); - } , true); - - if (!cur) { - for (var i = 0, menu ; menu = allMenus[i++] ;) { - menu.hide () - } - } - } - - domUtils.on (document , 'mousedown' , function (e) { - hideAllMenu (e); - }); - - domUtils.on (window , 'scroll' , function (e) { - hideAllMenu (e); - }); - -}) (); - - -// ui/breakline.js -(function (){ - var utils = baidu.editor.utils, - UIBase = baidu.editor.ui.UIBase, - Breakline = baidu.editor.ui.Breakline = function (options){ - this.initOptions(options); - this.initSeparator(); - }; - Breakline.prototype = { - uiName: 'Breakline', - initSeparator: function (){ - this.initUIBase(); - }, - getHtmlTpl: function (){ - return '
    '; - } - }; - utils.inherits(Breakline, UIBase); - -})(); - - -// ui/message.js -///import core -///import uicore -(function () { - var utils = baidu.editor.utils, - domUtils = baidu.editor.dom.domUtils, - UIBase = baidu.editor.ui.UIBase, - Message = baidu.editor.ui.Message = function (options){ - this.initOptions(options); - this.initMessage(); - }; - - Message.prototype = { - initMessage: function (){ - this.initUIBase(); - }, - getHtmlTpl: function (){ - return '
    ' + - '
    ×
    ' + - '
    ' + - ' ' + - '
    ' + - '
    ' + - '
    ' + - '
    ' + - '
    '; - }, - reset: function(opt){ - var me = this; - if (!opt.keepshow) { - clearTimeout(this.timer); - me.timer = setTimeout(function(){ - me.hide(); - }, opt.timeout || 4000); - } - - opt.content !== undefined && me.setContent(opt.content); - opt.type !== undefined && me.setType(opt.type); - - me.show(); - }, - postRender: function(){ - var me = this, - closer = this.getDom('closer'); - closer && domUtils.on(closer, 'click', function(){ - me.hide(); - }); - }, - setContent: function(content){ - this.getDom('content').innerHTML = content; - }, - setType: function(type){ - type = type || 'info'; - var body = this.getDom('body'); - body.className = body.className.replace(/edui-message-type-[\w-]+/, 'edui-message-type-' + type); - }, - getContent: function(){ - return this.getDom('content').innerHTML; - }, - getType: function(){ - var arr = this.getDom('body').match(/edui-message-type-([\w-]+)/); - return arr ? arr[1]:''; - }, - show: function (){ - this.getDom().style.display = 'block'; - }, - hide: function (){ - var dom = this.getDom(); - if (dom) { - dom.style.display = 'none'; - dom.parentNode && dom.parentNode.removeChild(dom); - } - } - }; - - utils.inherits(Message, UIBase); - -})(); - - -// adapter/editorui.js -//ui跟编辑器的适配層 -//那个按钮弹出是dialog,是下拉筐等都是在这个js中配置 -//自己写的ui也要在这里配置,放到baidu.editor.ui下边,当编辑器实例化的时候会根据ueditor.config中的toolbars找到相应的进行实例化 -(function () { - var utils = baidu.editor.utils; - var editorui = baidu.editor.ui; - var _Dialog = editorui.Dialog; - editorui.buttons = {}; - - editorui.Dialog = function (options) { - var dialog = new _Dialog(options); - dialog.addListener('hide', function () { - - if (dialog.editor) { - var editor = dialog.editor; - try { - if (browser.gecko) { - var y = editor.window.scrollY, - x = editor.window.scrollX; - editor.body.focus(); - editor.window.scrollTo(x, y); - } else { - editor.focus(); - } - - - } catch (ex) { - } - } - }); - return dialog; - }; - - var iframeUrlMap = { - 'anchor':'~/dialogs/anchor/anchor.html', - 'insertimage':'~/dialogs/image/image.html', - 'link':'~/dialogs/link/link.html', - 'spechars':'~/dialogs/spechars/spechars.html', - 'searchreplace':'~/dialogs/searchreplace/searchreplace.html', - 'map':'~/dialogs/map/map.html', - 'gmap':'~/dialogs/gmap/gmap.html', - 'insertvideo':'~/dialogs/video/video.html', - 'help':'~/dialogs/help/help.html', - 'preview':'~/dialogs/preview/preview.html', - 'emotion':'~/dialogs/emotion/emotion.html', - 'wordimage':'~/dialogs/wordimage/wordimage.html', - 'attachment':'~/dialogs/attachment/attachment.html', - 'insertframe':'~/dialogs/insertframe/insertframe.html', - 'edittip':'~/dialogs/table/edittip.html', - 'edittable':'~/dialogs/table/edittable.html', - 'edittd':'~/dialogs/table/edittd.html', - 'webapp':'~/dialogs/webapp/webapp.html', - 'snapscreen':'~/dialogs/snapscreen/snapscreen.html', - 'scrawl':'~/dialogs/scrawl/scrawl.html', - 'music':'~/dialogs/music/music.html', - 'template':'~/dialogs/template/template.html', - 'background':'~/dialogs/background/background.html', - 'charts': '~/dialogs/charts/charts.html' - }; - //为工具栏添加按钮,以下都是统一的按钮触发命令,所以写在一起 - var btnCmds = ['undo', 'redo', 'formatmatch', - 'bold', 'italic', 'underline', 'fontborder', 'touppercase', 'tolowercase', - 'strikethrough', 'subscript', 'superscript', 'source', 'indent', 'outdent', - 'blockquote', 'pasteplain', 'pagebreak', - 'selectall', 'print','horizontal', 'removeformat', 'time', 'date', 'unlink', - 'insertparagraphbeforetable', 'insertrow', 'insertcol', 'mergeright', 'mergedown', 'deleterow', - 'deletecol', 'splittorows', 'splittocols', 'splittocells', 'mergecells', 'deletetable', 'drafts']; - - for (var i = 0, ci; ci = btnCmds[i++];) { - ci = ci.toLowerCase(); - editorui[ci] = function (cmd) { - return function (editor) { - var ui = new editorui.Button({ - className:'edui-for-' + cmd, - title:editor.options.labelMap[cmd] || editor.getLang("labelMap." + cmd) || '', - onclick:function () { - editor.execCommand(cmd); - }, - theme:editor.options.theme, - showText:false - }); - editorui.buttons[cmd] = ui; - editor.addListener('selectionchange', function (type, causeByUi, uiReady) { - var state = editor.queryCommandState(cmd); - if (state == -1) { - ui.setDisabled(true); - ui.setChecked(false); - } else { - if (!uiReady) { - ui.setDisabled(false); - ui.setChecked(state); - } - } - }); - return ui; - }; - }(ci); - } - - //清除文档 - editorui.cleardoc = function (editor) { - var ui = new editorui.Button({ - className:'edui-for-cleardoc', - title:editor.options.labelMap.cleardoc || editor.getLang("labelMap.cleardoc") || '', - theme:editor.options.theme, - onclick:function () { - if (confirm(editor.getLang("confirmClear"))) { - editor.execCommand('cleardoc'); - } - } - }); - editorui.buttons["cleardoc"] = ui; - editor.addListener('selectionchange', function () { - ui.setDisabled(editor.queryCommandState('cleardoc') == -1); - }); - return ui; - }; - - //排版,图片排版,文字方向 - var typeset = { - 'justify':['left', 'right', 'center', 'justify'], - 'imagefloat':['none', 'left', 'center', 'right'], - 'directionality':['ltr', 'rtl'] - }; - - for (var p in typeset) { - - (function (cmd, val) { - for (var i = 0, ci; ci = val[i++];) { - (function (cmd2) { - editorui[cmd.replace('float', '') + cmd2] = function (editor) { - var ui = new editorui.Button({ - className:'edui-for-' + cmd.replace('float', '') + cmd2, - title:editor.options.labelMap[cmd.replace('float', '') + cmd2] || editor.getLang("labelMap." + cmd.replace('float', '') + cmd2) || '', - theme:editor.options.theme, - onclick:function () { - editor.execCommand(cmd, cmd2); - } - }); - editorui.buttons[cmd] = ui; - editor.addListener('selectionchange', function (type, causeByUi, uiReady) { - ui.setDisabled(editor.queryCommandState(cmd) == -1); - ui.setChecked(editor.queryCommandValue(cmd) == cmd2 && !uiReady); - }); - return ui; - }; - })(ci) - } - })(p, typeset[p]) - } - - //字体颜色和背景颜色 - for (var i = 0, ci; ci = ['backcolor', 'forecolor'][i++];) { - editorui[ci] = function (cmd) { - return function (editor) { - var ui = new editorui.ColorButton({ - className:'edui-for-' + cmd, - color:'default', - title:editor.options.labelMap[cmd] || editor.getLang("labelMap." + cmd) || '', - editor:editor, - onpickcolor:function (t, color) { - editor.execCommand(cmd, color); - }, - onpicknocolor:function () { - editor.execCommand(cmd, 'default'); - this.setColor('transparent'); - this.color = 'default'; - }, - onbuttonclick:function () { - editor.execCommand(cmd, this.color); - } - }); - editorui.buttons[cmd] = ui; - editor.addListener('selectionchange', function () { - ui.setDisabled(editor.queryCommandState(cmd) == -1); - }); - return ui; - }; - }(ci); - } - - - var dialogBtns = { - noOk:['searchreplace', 'help', 'spechars', 'webapp','preview'], - ok:['attachment', 'anchor', 'link', 'insertimage', 'map', 'gmap', 'insertframe', 'wordimage', - 'insertvideo', 'insertframe', 'edittip', 'edittable', 'edittd', 'scrawl', 'template', 'music', 'background', 'charts'] - }; - - for (var p in dialogBtns) { - (function (type, vals) { - for (var i = 0, ci; ci = vals[i++];) { - //todo opera下存在问题 - if (browser.opera && ci === "searchreplace") { - continue; - } - (function (cmd) { - editorui[cmd] = function (editor, iframeUrl, title) { - iframeUrl = iframeUrl || (editor.options.iframeUrlMap || {})[cmd] || iframeUrlMap[cmd]; - title = editor.options.labelMap[cmd] || editor.getLang("labelMap." + cmd) || ''; - - var dialog; - //没有iframeUrl不创建dialog - if (iframeUrl) { - dialog = new editorui.Dialog(utils.extend({ - iframeUrl:editor.ui.mapUrl(iframeUrl), - editor:editor, - className:'edui-for-' + cmd, - title:title, - holdScroll: cmd === 'insertimage', - fullscreen: /charts|preview/.test(cmd), - closeDialog:editor.getLang("closeDialog") - }, type == 'ok' ? { - buttons:[ - { - className:'edui-okbutton', - label:editor.getLang("ok"), - editor:editor, - onclick:function () { - dialog.close(true); - } - }, - { - className:'edui-cancelbutton', - label:editor.getLang("cancel"), - editor:editor, - onclick:function () { - dialog.close(false); - } - } - ] - } : {})); - - editor.ui._dialogs[cmd + "Dialog"] = dialog; - } - - var ui = new editorui.Button({ - className:'edui-for-' + cmd, - title:title, - onclick:function () { - if (dialog) { - switch (cmd) { - case "wordimage": - var images = editor.execCommand("wordimage"); - if (images && images.length) { - dialog.render(); - dialog.open(); - } - break; - case "scrawl": - if (editor.queryCommandState("scrawl") != -1) { - dialog.render(); - dialog.open(); - } - - break; - default: - dialog.render(); - dialog.open(); - } - } - }, - theme:editor.options.theme, - disabled:(cmd == 'scrawl' && editor.queryCommandState("scrawl") == -1) || ( cmd == 'charts' ) - }); - editorui.buttons[cmd] = ui; - editor.addListener('selectionchange', function () { - //只存在于右键菜单而无工具栏按钮的ui不需要检测状态 - var unNeedCheckState = {'edittable':1}; - if (cmd in unNeedCheckState)return; - - var state = editor.queryCommandState(cmd); - if (ui.getDom()) { - ui.setDisabled(state == -1); - ui.setChecked(state); - } - - }); - - return ui; - }; - })(ci.toLowerCase()) - } - })(p, dialogBtns[p]); - } - - editorui.snapscreen = function (editor, iframeUrl, title) { - title = editor.options.labelMap['snapscreen'] || editor.getLang("labelMap.snapscreen") || ''; - var ui = new editorui.Button({ - className:'edui-for-snapscreen', - title:title, - onclick:function () { - editor.execCommand("snapscreen"); - }, - theme:editor.options.theme - - }); - editorui.buttons['snapscreen'] = ui; - iframeUrl = iframeUrl || (editor.options.iframeUrlMap || {})["snapscreen"] || iframeUrlMap["snapscreen"]; - if (iframeUrl) { - var dialog = new editorui.Dialog({ - iframeUrl:editor.ui.mapUrl(iframeUrl), - editor:editor, - className:'edui-for-snapscreen', - title:title, - buttons:[ - { - className:'edui-okbutton', - label:editor.getLang("ok"), - editor:editor, - onclick:function () { - dialog.close(true); - } - }, - { - className:'edui-cancelbutton', - label:editor.getLang("cancel"), - editor:editor, - onclick:function () { - dialog.close(false); - } - } - ] - - }); - dialog.render(); - editor.ui._dialogs["snapscreenDialog"] = dialog; - } - editor.addListener('selectionchange', function () { - ui.setDisabled(editor.queryCommandState('snapscreen') == -1); - }); - return ui; - }; - - editorui.insertcode = function (editor, list, title) { - list = editor.options['insertcode'] || []; - title = editor.options.labelMap['insertcode'] || editor.getLang("labelMap.insertcode") || ''; - // if (!list.length) return; - var items = []; - utils.each(list,function(key,val){ - items.push({ - label:key, - value:val, - theme:editor.options.theme, - renderLabelHtml:function () { - return '
    ' + (this.label || '') + '
    '; - } - }); - }); - - var ui = new editorui.Combox({ - editor:editor, - items:items, - onselect:function (t, index) { - editor.execCommand('insertcode', this.items[index].value); - }, - onbuttonclick:function () { - this.showPopup(); - }, - title:title, - initValue:title, - className:'edui-for-insertcode', - indexByValue:function (value) { - if (value) { - for (var i = 0, ci; ci = this.items[i]; i++) { - if (ci.value.indexOf(value) != -1) - return i; - } - } - - return -1; - } - }); - editorui.buttons['insertcode'] = ui; - editor.addListener('selectionchange', function (type, causeByUi, uiReady) { - if (!uiReady) { - var state = editor.queryCommandState('insertcode'); - if (state == -1) { - ui.setDisabled(true); - } else { - ui.setDisabled(false); - var value = editor.queryCommandValue('insertcode'); - if(!value){ - ui.setValue(title); - return; - } - //trace:1871 ie下从源码模式切换回来时,字体会带单引号,而且会有逗号 - value && (value = value.replace(/['"]/g, '').split(',')[0]); - ui.setValue(value); - - } - } - - }); - return ui; - }; - editorui.fontfamily = function (editor, list, title) { - - list = editor.options['fontfamily'] || []; - title = editor.options.labelMap['fontfamily'] || editor.getLang("labelMap.fontfamily") || ''; - if (!list.length) return; - for (var i = 0, ci, items = []; ci = list[i]; i++) { - var langLabel = editor.getLang('fontfamily')[ci.name] || ""; - (function (key, val) { - items.push({ - label:key, - value:val, - theme:editor.options.theme, - renderLabelHtml:function () { - return '
    ' + (this.label || '') + '
    '; - } - }); - })(ci.label || langLabel, ci.val) - } - var ui = new editorui.Combox({ - editor:editor, - items:items, - onselect:function (t, index) { - editor.execCommand('FontFamily', this.items[index].value); - }, - onbuttonclick:function () { - this.showPopup(); - }, - title:title, - initValue:title, - className:'edui-for-fontfamily', - indexByValue:function (value) { - if (value) { - for (var i = 0, ci; ci = this.items[i]; i++) { - if (ci.value.indexOf(value) != -1) - return i; - } - } - - return -1; - } - }); - editorui.buttons['fontfamily'] = ui; - editor.addListener('selectionchange', function (type, causeByUi, uiReady) { - if (!uiReady) { - var state = editor.queryCommandState('FontFamily'); - if (state == -1) { - ui.setDisabled(true); - } else { - ui.setDisabled(false); - var value = editor.queryCommandValue('FontFamily'); - //trace:1871 ie下从源码模式切换回来时,字体会带单引号,而且会有逗号 - value && (value = value.replace(/['"]/g, '').split(',')[0]); - ui.setValue(value); - - } - } - - }); - return ui; - }; - - editorui.fontsize = function (editor, list, title) { - title = editor.options.labelMap['fontsize'] || editor.getLang("labelMap.fontsize") || ''; - list = list || editor.options['fontsize'] || []; - if (!list.length) return; - var items = []; - for (var i = 0; i < list.length; i++) { - var size = list[i] + 'px'; - items.push({ - label:size, - value:size, - theme:editor.options.theme, - renderLabelHtml:function () { - return '
    ' + (this.label || '') + '
    '; - } - }); - } - var ui = new editorui.Combox({ - editor:editor, - items:items, - title:title, - initValue:title, - onselect:function (t, index) { - editor.execCommand('FontSize', this.items[index].value); - }, - onbuttonclick:function () { - this.showPopup(); - }, - className:'edui-for-fontsize' - }); - editorui.buttons['fontsize'] = ui; - editor.addListener('selectionchange', function (type, causeByUi, uiReady) { - if (!uiReady) { - var state = editor.queryCommandState('FontSize'); - if (state == -1) { - ui.setDisabled(true); - } else { - ui.setDisabled(false); - ui.setValue(editor.queryCommandValue('FontSize')); - } - } - - }); - return ui; - }; - - editorui.paragraph = function (editor, list, title) { - title = editor.options.labelMap['paragraph'] || editor.getLang("labelMap.paragraph") || ''; - list = editor.options['paragraph'] || []; - if (utils.isEmptyObject(list)) return; - var items = []; - for (var i in list) { - items.push({ - value:i, - label:list[i] || editor.getLang("paragraph")[i], - theme:editor.options.theme, - renderLabelHtml:function () { - return '
    ' + (this.label || '') + '
    '; - } - }) - } - var ui = new editorui.Combox({ - editor:editor, - items:items, - title:title, - initValue:title, - className:'edui-for-paragraph', - onselect:function (t, index) { - editor.execCommand('Paragraph', this.items[index].value); - }, - onbuttonclick:function () { - this.showPopup(); - } - }); - editorui.buttons['paragraph'] = ui; - editor.addListener('selectionchange', function (type, causeByUi, uiReady) { - if (!uiReady) { - var state = editor.queryCommandState('Paragraph'); - if (state == -1) { - ui.setDisabled(true); - } else { - ui.setDisabled(false); - var value = editor.queryCommandValue('Paragraph'); - var index = ui.indexByValue(value); - if (index != -1) { - ui.setValue(value); - } else { - ui.setValue(ui.initValue); - } - } - } - - }); - return ui; - }; - - - //自定义标题 - editorui.customstyle = function (editor) { - var list = editor.options['customstyle'] || [], - title = editor.options.labelMap['customstyle'] || editor.getLang("labelMap.customstyle") || ''; - if (!list.length)return; - var langCs = editor.getLang('customstyle'); - for (var i = 0, items = [], t; t = list[i++];) { - (function (t) { - var ck = {}; - ck.label = t.label ? t.label : langCs[t.name]; - ck.style = t.style; - ck.className = t.className; - ck.tag = t.tag; - items.push({ - label:ck.label, - value:ck, - theme:editor.options.theme, - renderLabelHtml:function () { - return '
    ' + '<' + ck.tag + ' ' + (ck.className ? ' class="' + ck.className + '"' : "") - + (ck.style ? ' style="' + ck.style + '"' : "") + '>' + ck.label + "<\/" + ck.tag + ">" - + '
    '; - } - }); - })(t); - } - - var ui = new editorui.Combox({ - editor:editor, - items:items, - title:title, - initValue:title, - className:'edui-for-customstyle', - onselect:function (t, index) { - editor.execCommand('customstyle', this.items[index].value); - }, - onbuttonclick:function () { - this.showPopup(); - }, - indexByValue:function (value) { - for (var i = 0, ti; ti = this.items[i++];) { - if (ti.label == value) { - return i - 1 - } - } - return -1; - } - }); - editorui.buttons['customstyle'] = ui; - editor.addListener('selectionchange', function (type, causeByUi, uiReady) { - if (!uiReady) { - var state = editor.queryCommandState('customstyle'); - if (state == -1) { - ui.setDisabled(true); - } else { - ui.setDisabled(false); - var value = editor.queryCommandValue('customstyle'); - var index = ui.indexByValue(value); - if (index != -1) { - ui.setValue(value); - } else { - ui.setValue(ui.initValue); - } - } - } - - }); - return ui; - }; - editorui.inserttable = function (editor, iframeUrl, title) { - title = editor.options.labelMap['inserttable'] || editor.getLang("labelMap.inserttable") || ''; - var ui = new editorui.TableButton({ - editor:editor, - title:title, - className:'edui-for-inserttable', - onpicktable:function (t, numCols, numRows) { - editor.execCommand('InsertTable', {numRows:numRows, numCols:numCols, border:1}); - }, - onbuttonclick:function () { - this.showPopup(); - } - }); - editorui.buttons['inserttable'] = ui; - editor.addListener('selectionchange', function () { - ui.setDisabled(editor.queryCommandState('inserttable') == -1); - }); - return ui; - }; - - editorui.lineheight = function (editor) { - var val = editor.options.lineheight || []; - if (!val.length)return; - for (var i = 0, ci, items = []; ci = val[i++];) { - items.push({ - //todo:写死了 - label:ci, - value:ci, - theme:editor.options.theme, - onclick:function () { - editor.execCommand("lineheight", this.value); - } - }) - } - var ui = new editorui.MenuButton({ - editor:editor, - className:'edui-for-lineheight', - title:editor.options.labelMap['lineheight'] || editor.getLang("labelMap.lineheight") || '', - items:items, - onbuttonclick:function () { - var value = editor.queryCommandValue('LineHeight') || this.value; - editor.execCommand("LineHeight", value); - } - }); - editorui.buttons['lineheight'] = ui; - editor.addListener('selectionchange', function () { - var state = editor.queryCommandState('LineHeight'); - if (state == -1) { - ui.setDisabled(true); - } else { - ui.setDisabled(false); - var value = editor.queryCommandValue('LineHeight'); - value && ui.setValue((value + '').replace(/cm/, '')); - ui.setChecked(state) - } - }); - return ui; - }; - - var rowspacings = ['top', 'bottom']; - for (var r = 0, ri; ri = rowspacings[r++];) { - (function (cmd) { - editorui['rowspacing' + cmd] = function (editor) { - var val = editor.options['rowspacing' + cmd] || []; - if (!val.length) return null; - for (var i = 0, ci, items = []; ci = val[i++];) { - items.push({ - label:ci, - value:ci, - theme:editor.options.theme, - onclick:function () { - editor.execCommand("rowspacing", this.value, cmd); - } - }) - } - var ui = new editorui.MenuButton({ - editor:editor, - className:'edui-for-rowspacing' + cmd, - title:editor.options.labelMap['rowspacing' + cmd] || editor.getLang("labelMap.rowspacing" + cmd) || '', - items:items, - onbuttonclick:function () { - var value = editor.queryCommandValue('rowspacing', cmd) || this.value; - editor.execCommand("rowspacing", value, cmd); - } - }); - editorui.buttons[cmd] = ui; - editor.addListener('selectionchange', function () { - var state = editor.queryCommandState('rowspacing', cmd); - if (state == -1) { - ui.setDisabled(true); - } else { - ui.setDisabled(false); - var value = editor.queryCommandValue('rowspacing', cmd); - value && ui.setValue((value + '').replace(/%/, '')); - ui.setChecked(state) - } - }); - return ui; - } - })(ri) - } - //有序,无序列表 - var lists = ['insertorderedlist', 'insertunorderedlist']; - for (var l = 0, cl; cl = lists[l++];) { - (function (cmd) { - editorui[cmd] = function (editor) { - var vals = editor.options[cmd], - _onMenuClick = function () { - editor.execCommand(cmd, this.value); - }, items = []; - for (var i in vals) { - items.push({ - label:vals[i] || editor.getLang()[cmd][i] || "", - value:i, - theme:editor.options.theme, - onclick:_onMenuClick - }) - } - var ui = new editorui.MenuButton({ - editor:editor, - className:'edui-for-' + cmd, - title:editor.getLang("labelMap." + cmd) || '', - 'items':items, - onbuttonclick:function () { - var value = editor.queryCommandValue(cmd) || this.value; - editor.execCommand(cmd, value); - } - }); - editorui.buttons[cmd] = ui; - editor.addListener('selectionchange', function () { - var state = editor.queryCommandState(cmd); - if (state == -1) { - ui.setDisabled(true); - } else { - ui.setDisabled(false); - var value = editor.queryCommandValue(cmd); - ui.setValue(value); - ui.setChecked(state) - } - }); - return ui; - }; - })(cl) - } - - editorui.fullscreen = function (editor, title) { - title = editor.options.labelMap['fullscreen'] || editor.getLang("labelMap.fullscreen") || ''; - var ui = new editorui.Button({ - className:'edui-for-fullscreen', - title:title, - theme:editor.options.theme, - onclick:function () { - if (editor.ui) { - editor.ui.setFullScreen(!editor.ui.isFullScreen()); - } - this.setChecked(editor.ui.isFullScreen()); - } - }); - editorui.buttons['fullscreen'] = ui; - editor.addListener('selectionchange', function () { - var state = editor.queryCommandState('fullscreen'); - ui.setDisabled(state == -1); - ui.setChecked(editor.ui.isFullScreen()); - }); - return ui; - }; - - // 表情 - editorui["emotion"] = function (editor, iframeUrl) { - var cmd = "emotion"; - var ui = new editorui.MultiMenuPop({ - title:editor.options.labelMap[cmd] || editor.getLang("labelMap." + cmd + "") || '', - editor:editor, - className:'edui-for-' + cmd, - iframeUrl:editor.ui.mapUrl(iframeUrl || (editor.options.iframeUrlMap || {})[cmd] || iframeUrlMap[cmd]) - }); - editorui.buttons[cmd] = ui; - - editor.addListener('selectionchange', function () { - ui.setDisabled(editor.queryCommandState(cmd) == -1) - }); - return ui; - }; - - editorui.autotypeset = function (editor) { - var ui = new editorui.AutoTypeSetButton({ - editor:editor, - title:editor.options.labelMap['autotypeset'] || editor.getLang("labelMap.autotypeset") || '', - className:'edui-for-autotypeset', - onbuttonclick:function () { - editor.execCommand('autotypeset') - } - }); - editorui.buttons['autotypeset'] = ui; - editor.addListener('selectionchange', function () { - ui.setDisabled(editor.queryCommandState('autotypeset') == -1); - }); - return ui; - }; - - /* 简单上传插件 */ - editorui["simpleupload"] = function (editor) { - var name = 'simpleupload', - ui = new editorui.Button({ - className:'edui-for-' + name, - title:editor.options.labelMap[name] || editor.getLang("labelMap." + name) || '', - onclick:function () {}, - theme:editor.options.theme, - showText:false - }); - editorui.buttons[name] = ui; - editor.addListener('ready', function() { - var b = ui.getDom('body'), - iconSpan = b.children[0]; - editor.fireEvent('simpleuploadbtnready', iconSpan); - }); - editor.addListener('selectionchange', function (type, causeByUi, uiReady) { - var state = editor.queryCommandState(name); - if (state == -1) { - ui.setDisabled(true); - ui.setChecked(false); - } else { - if (!uiReady) { - ui.setDisabled(false); - ui.setChecked(state); - } - } - }); - return ui; - }; - -})(); - - -// adapter/editor.js -///import core -///commands 全屏 -///commandsName FullScreen -///commandsTitle 全屏 -(function () { - var utils = baidu.editor.utils, - uiUtils = baidu.editor.ui.uiUtils, - UIBase = baidu.editor.ui.UIBase, - domUtils = baidu.editor.dom.domUtils; - var nodeStack = []; - - function EditorUI(options) { - this.initOptions(options); - this.initEditorUI(); - } - - EditorUI.prototype = { - uiName:'editor', - initEditorUI:function () { - this.editor.ui = this; - this._dialogs = {}; - this.initUIBase(); - this._initToolbars(); - var editor = this.editor, - me = this; - - editor.addListener('ready', function () { - //提供getDialog方法 - editor.getDialog = function (name) { - return editor.ui._dialogs[name + "Dialog"]; - }; - domUtils.on(editor.window, 'scroll', function (evt) { - baidu.editor.ui.Popup.postHide(evt); - }); - //提供编辑器实时宽高(全屏时宽高不变化) - editor.ui._actualFrameWidth = editor.options.initialFrameWidth; - - UE.browser.ie && UE.browser.version === 6 && editor.container.ownerDocument.execCommand("BackgroundImageCache", false, true); - - //display bottom-bar label based on config - if (editor.options.elementPathEnabled) { - editor.ui.getDom('elementpath').innerHTML = '
    ' + editor.getLang("elementPathTip") + ':
    '; - } - if (editor.options.wordCount) { - function countFn() { - setCount(editor,me); - domUtils.un(editor.document, "click", arguments.callee); - } - domUtils.on(editor.document, "click", countFn); - editor.ui.getDom('wordcount').innerHTML = editor.getLang("wordCountTip"); - } - editor.ui._scale(); - if (editor.options.scaleEnabled) { - if (editor.autoHeightEnabled) { - editor.disableAutoHeight(); - } - me.enableScale(); - } else { - me.disableScale(); - } - if (!editor.options.elementPathEnabled && !editor.options.wordCount && !editor.options.scaleEnabled) { - editor.ui.getDom('elementpath').style.display = "none"; - editor.ui.getDom('wordcount').style.display = "none"; - editor.ui.getDom('scale').style.display = "none"; - } - - if (!editor.selection.isFocus())return; - editor.fireEvent('selectionchange', false, true); - - - }); - - editor.addListener('mousedown', function (t, evt) { - var el = evt.target || evt.srcElement; - baidu.editor.ui.Popup.postHide(evt, el); - baidu.editor.ui.ShortCutMenu.postHide(evt); - - }); - editor.addListener("delcells", function () { - if (UE.ui['edittip']) { - new UE.ui['edittip'](editor); - } - editor.getDialog('edittip').open(); - }); - - var pastePop, isPaste = false, timer; - editor.addListener("afterpaste", function () { - if(editor.queryCommandState('pasteplain')) - return; - if(baidu.editor.ui.PastePicker){ - pastePop = new baidu.editor.ui.Popup({ - content:new baidu.editor.ui.PastePicker({editor:editor}), - editor:editor, - className:'edui-wordpastepop' - }); - pastePop.render(); - } - isPaste = true; - }); - - editor.addListener("afterinserthtml", function () { - clearTimeout(timer); - timer = setTimeout(function () { - if (pastePop && (isPaste || editor.ui._isTransfer)) { - if(pastePop.isHidden()){ - var span = domUtils.createElement(editor.document, 'span', { - 'style':"line-height:0px;", - 'innerHTML':'\ufeff' - }), - range = editor.selection.getRange(); - range.insertNode(span); - var tmp= getDomNode(span, 'firstChild', 'previousSibling'); - tmp && pastePop.showAnchor(tmp.nodeType == 3 ? tmp.parentNode : tmp); - domUtils.remove(span); - }else{ - pastePop.show(); - } - delete editor.ui._isTransfer; - isPaste = false; - } - }, 200) - }); - editor.addListener('contextmenu', function (t, evt) { - baidu.editor.ui.Popup.postHide(evt); - }); - editor.addListener('keydown', function (t, evt) { - if (pastePop) pastePop.dispose(evt); - var keyCode = evt.keyCode || evt.which; - if(evt.altKey&&keyCode==90){ - UE.ui.buttons['fullscreen'].onclick(); - } - }); - editor.addListener('wordcount', function (type) { - setCount(this,me); - }); - function setCount(editor,ui) { - editor.setOpt({ - wordCount:true, - maximumWords:10000, - wordCountMsg:editor.options.wordCountMsg || editor.getLang("wordCountMsg"), - wordOverFlowMsg:editor.options.wordOverFlowMsg || editor.getLang("wordOverFlowMsg") - }); - var opt = editor.options, - max = opt.maximumWords, - msg = opt.wordCountMsg , - errMsg = opt.wordOverFlowMsg, - countDom = ui.getDom('wordcount'); - if (!opt.wordCount) { - return; - } - var count = editor.getContentLength(true); - if (count > max) { - countDom.innerHTML = errMsg; - editor.fireEvent("wordcountoverflow"); - } else { - countDom.innerHTML = msg.replace("{#leave}", max - count).replace("{#count}", count); - } - } - - editor.addListener('selectionchange', function () { - if (editor.options.elementPathEnabled) { - me[(editor.queryCommandState('elementpath') == -1 ? 'dis' : 'en') + 'ableElementPath']() - } - if (editor.options.scaleEnabled) { - me[(editor.queryCommandState('scale') == -1 ? 'dis' : 'en') + 'ableScale'](); - - } - }); - var popup = new baidu.editor.ui.Popup({ - editor:editor, - content:'', - className:'edui-bubble', - _onEditButtonClick:function () { - this.hide(); - editor.ui._dialogs.linkDialog.open(); - }, - _onImgEditButtonClick:function (name) { - this.hide(); - editor.ui._dialogs[name] && editor.ui._dialogs[name].open(); - - }, - _onImgSetFloat:function (value) { - this.hide(); - editor.execCommand("imagefloat", value); - - }, - _setIframeAlign:function (value) { - var frame = popup.anchorEl; - var newFrame = frame.cloneNode(true); - switch (value) { - case -2: - newFrame.setAttribute("align", ""); - break; - case -1: - newFrame.setAttribute("align", "left"); - break; - case 1: - newFrame.setAttribute("align", "right"); - break; - } - frame.parentNode.insertBefore(newFrame, frame); - domUtils.remove(frame); - popup.anchorEl = newFrame; - popup.showAnchor(popup.anchorEl); - }, - _updateIframe:function () { - var frame = editor._iframe = popup.anchorEl; - if(domUtils.hasClass(frame, 'ueditor_baidumap')) { - editor.selection.getRange().selectNode(frame).select(); - editor.ui._dialogs.mapDialog.open(); - popup.hide(); - } else { - editor.ui._dialogs.insertframeDialog.open(); - popup.hide(); - } - }, - _onRemoveButtonClick:function (cmdName) { - editor.execCommand(cmdName); - this.hide(); - }, - queryAutoHide:function (el) { - if (el && el.ownerDocument == editor.document) { - if (el.tagName.toLowerCase() == 'img' || domUtils.findParentByTagName(el, 'a', true)) { - return el !== popup.anchorEl; - } - } - return baidu.editor.ui.Popup.prototype.queryAutoHide.call(this, el); - } - }); - popup.render(); - if (editor.options.imagePopup) { - editor.addListener('mouseover', function (t, evt) { - evt = evt || window.event; - var el = evt.target || evt.srcElement; - if (editor.ui._dialogs.insertframeDialog && /iframe/ig.test(el.tagName)) { - var html = popup.formatHtml( - '' + editor.getLang("property") + ': ' + editor.getLang("default") + '  ' + editor.getLang("justifyleft") + '  ' + editor.getLang("justifyright") + '  ' + - ' ' + editor.getLang("modify") + ''); - if (html) { - popup.getDom('content').innerHTML = html; - popup.anchorEl = el; - popup.showAnchor(popup.anchorEl); - } else { - popup.hide(); - } - } - }); - editor.addListener('selectionchange', function (t, causeByUi) { - if (!causeByUi) return; - var html = '', str = "", - img = editor.selection.getRange().getClosedNode(), - dialogs = editor.ui._dialogs; - if (img && img.tagName == 'IMG') { - var dialogName = 'insertimageDialog'; - if (img.className.indexOf("edui-faked-video") != -1 || img.className.indexOf("edui-upload-video") != -1) { - dialogName = "insertvideoDialog" - } - if (img.className.indexOf("edui-faked-webapp") != -1) { - dialogName = "webappDialog" - } - if (img.src.indexOf("http://api.map.baidu.com") != -1) { - dialogName = "mapDialog" - } - if (img.className.indexOf("edui-faked-music") != -1) { - dialogName = "musicDialog" - } - if (img.src.indexOf("http://maps.google.com/maps/api/staticmap") != -1) { - dialogName = "gmapDialog" - } - if (img.getAttribute("anchorname")) { - dialogName = "anchorDialog"; - html = popup.formatHtml( - '' + editor.getLang("property") + ': ' + editor.getLang("modify") + '  ' + - '' + editor.getLang("delete") + ''); - } - if (img.getAttribute("word_img")) { - //todo 放到dialog去做查询 - editor.word_img = [img.getAttribute("word_img")]; - dialogName = "wordimageDialog" - } - if(domUtils.hasClass(img, 'loadingclass') || domUtils.hasClass(img, 'loaderrorclass')) { - dialogName = ""; - } - if (!dialogs[dialogName]) { - return; - } - str = '' + editor.getLang("property") + ': '+ - '' + editor.getLang("default") + '  ' + - '' + editor.getLang("justifyleft") + '  ' + - '' + editor.getLang("justifyright") + '  ' + - '' + editor.getLang("justifycenter") + '  '+ - '' + editor.getLang("modify") + ''; - - !html && (html = popup.formatHtml(str)) - - } - if (editor.ui._dialogs.linkDialog) { - var link = editor.queryCommandValue('link'); - var url; - if (link && (url = (link.getAttribute('_href') || link.getAttribute('href', 2)))) { - var txt = url; - if (url.length > 30) { - txt = url.substring(0, 20) + "..."; - } - if (html) { - html += '
    ' - } - html += popup.formatHtml( - '' + editor.getLang("anthorMsg") + ': ' + txt + '' + - ' ' + editor.getLang("modify") + '' + - ' ' + editor.getLang("clear") + ''); - popup.showAnchor(link); - } - } - - if (html) { - popup.getDom('content').innerHTML = html; - popup.anchorEl = img || link; - popup.showAnchor(popup.anchorEl); - } else { - popup.hide(); - } - }); - } - - }, - _initToolbars:function () { - var editor = this.editor; - var toolbars = this.toolbars || []; - var toolbarUis = []; - for (var i = 0; i < toolbars.length; i++) { - var toolbar = toolbars[i]; - var toolbarUi = new baidu.editor.ui.Toolbar({theme:editor.options.theme}); - for (var j = 0; j < toolbar.length; j++) { - var toolbarItem = toolbar[j]; - var toolbarItemUi = null; - if (typeof toolbarItem == 'string') { - toolbarItem = toolbarItem.toLowerCase(); - if (toolbarItem == '|') { - toolbarItem = 'Separator'; - } - if(toolbarItem == '||'){ - toolbarItem = 'Breakline'; - } - if (baidu.editor.ui[toolbarItem]) { - toolbarItemUi = new baidu.editor.ui[toolbarItem](editor); - } - - //fullscreen这里单独处理一下,放到首行去 - if (toolbarItem == 'fullscreen') { - if (toolbarUis && toolbarUis[0]) { - toolbarUis[0].items.splice(0, 0, toolbarItemUi); - } else { - toolbarItemUi && toolbarUi.items.splice(0, 0, toolbarItemUi); - } - - continue; - - - } - } else { - toolbarItemUi = toolbarItem; - } - if (toolbarItemUi && toolbarItemUi.id) { - - toolbarUi.add(toolbarItemUi); - } - } - toolbarUis[i] = toolbarUi; - } - - //接受外部定制的UI - - utils.each(UE._customizeUI,function(obj,key){ - var itemUI,index; - if(obj.id && obj.id != editor.key){ - return false; - } - itemUI = obj.execFn.call(editor,editor,key); - if(itemUI){ - index = obj.index; - if(index === undefined){ - index = toolbarUi.items.length; - } - toolbarUi.add(itemUI,index) - } - }); - - this.toolbars = toolbarUis; - }, - getHtmlTpl:function () { - return '
    ' + - '
    ' + - (this.toolbars.length ? - '
    ' + - this.renderToolbarBoxHtml() + - '
    ' : '') + - '' + - '
    ' + - '
    ' + - '
    ' + - '
    ' + - //modify wdcount by matao - '
    ' + - '' + - '' + - '' + - '
    ' + - '
    ' + - '
    '; - }, - showWordImageDialog:function () { - this._dialogs['wordimageDialog'].open(); - }, - renderToolbarBoxHtml:function () { - var buff = []; - for (var i = 0; i < this.toolbars.length; i++) { - buff.push(this.toolbars[i].renderHtml()); - } - return buff.join(''); - }, - setFullScreen:function (fullscreen) { - - var editor = this.editor, - container = editor.container.parentNode.parentNode; - if (this._fullscreen != fullscreen) { - this._fullscreen = fullscreen; - this.editor.fireEvent('beforefullscreenchange', fullscreen); - if (baidu.editor.browser.gecko) { - var bk = editor.selection.getRange().createBookmark(); - } - if (fullscreen) { - while (container.tagName != "BODY") { - var position = baidu.editor.dom.domUtils.getComputedStyle(container, "position"); - nodeStack.push(position); - container.style.position = "static"; - container = container.parentNode; - } - this._bakHtmlOverflow = document.documentElement.style.overflow; - this._bakBodyOverflow = document.body.style.overflow; - this._bakAutoHeight = this.editor.autoHeightEnabled; - this._bakScrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop); - - this._bakEditorContaninerWidth = editor.iframe.parentNode.offsetWidth; - if (this._bakAutoHeight) { - //当全屏时不能执行自动长高 - editor.autoHeightEnabled = false; - this.editor.disableAutoHeight(); - } - - document.documentElement.style.overflow = 'hidden'; - //修复,滚动条不收起的问题 - - window.scrollTo(0,window.scrollY); - this._bakCssText = this.getDom().style.cssText; - this._bakCssText1 = this.getDom('iframeholder').style.cssText; - editor.iframe.parentNode.style.width = ''; - this._updateFullScreen(); - } else { - while (container.tagName != "BODY") { - container.style.position = nodeStack.shift(); - container = container.parentNode; - } - this.getDom().style.cssText = this._bakCssText; - this.getDom('iframeholder').style.cssText = this._bakCssText1; - if (this._bakAutoHeight) { - editor.autoHeightEnabled = true; - this.editor.enableAutoHeight(); - } - - document.documentElement.style.overflow = this._bakHtmlOverflow; - document.body.style.overflow = this._bakBodyOverflow; - editor.iframe.parentNode.style.width = this._bakEditorContaninerWidth + 'px'; - window.scrollTo(0, this._bakScrollTop); - } - if (browser.gecko && editor.body.contentEditable === 'true') { - var input = document.createElement('input'); - document.body.appendChild(input); - editor.body.contentEditable = false; - setTimeout(function () { - input.focus(); - setTimeout(function () { - editor.body.contentEditable = true; - editor.fireEvent('fullscreenchanged', fullscreen); - editor.selection.getRange().moveToBookmark(bk).select(true); - baidu.editor.dom.domUtils.remove(input); - fullscreen && window.scroll(0, 0); - }, 0) - }, 0) - } - - if(editor.body.contentEditable === 'true'){ - this.editor.fireEvent('fullscreenchanged', fullscreen); - this.triggerLayout(); - } - - } - }, - _updateFullScreen:function () { - if (this._fullscreen) { - var vpRect = uiUtils.getViewportRect(); - this.getDom().style.cssText = 'border:0;position:absolute;left:0;top:' + (this.editor.options.topOffset || 0) + 'px;width:' + vpRect.width + 'px;height:' + vpRect.height + 'px;z-index:' + (this.getDom().style.zIndex * 1 + 100); - uiUtils.setViewportOffset(this.getDom(), { left:0, top:this.editor.options.topOffset || 0 }); - this.editor.setHeight(vpRect.height - this.getDom('toolbarbox').offsetHeight - this.getDom('bottombar').offsetHeight - (this.editor.options.topOffset || 0),true); - //不手动调一下,会导致全屏失效 - if(browser.gecko){ - try{ - window.onresize(); - }catch(e){ - - } - - } - } - }, - _updateElementPath:function () { - var bottom = this.getDom('elementpath'), list; - if (this.elementPathEnabled && (list = this.editor.queryCommandValue('elementpath'))) { - - var buff = []; - for (var i = 0, ci; ci = list[i]; i++) { - buff[i] = this.formatHtml('' + ci + ''); - } - bottom.innerHTML = '
    ' + this.editor.getLang("elementPathTip") + ': ' + buff.join(' > ') + '
    '; - - } else { - bottom.style.display = 'none' - } - }, - disableElementPath:function () { - var bottom = this.getDom('elementpath'); - bottom.innerHTML = ''; - bottom.style.display = 'none'; - this.elementPathEnabled = false; - - }, - enableElementPath:function () { - var bottom = this.getDom('elementpath'); - bottom.style.display = ''; - this.elementPathEnabled = true; - this._updateElementPath(); - }, - _scale:function () { - var doc = document, - editor = this.editor, - editorHolder = editor.container, - editorDocument = editor.document, - toolbarBox = this.getDom("toolbarbox"), - bottombar = this.getDom("bottombar"), - scale = this.getDom("scale"), - scalelayer = this.getDom("scalelayer"); - - var isMouseMove = false, - position = null, - minEditorHeight = 0, - minEditorWidth = editor.options.minFrameWidth, - pageX = 0, - pageY = 0, - scaleWidth = 0, - scaleHeight = 0; - - function down() { - position = domUtils.getXY(editorHolder); - - if (!minEditorHeight) { - minEditorHeight = editor.options.minFrameHeight + toolbarBox.offsetHeight + bottombar.offsetHeight; - } - - scalelayer.style.cssText = "position:absolute;left:0;display:;top:0;background-color:#41ABFF;opacity:0.4;filter: Alpha(opacity=40);width:" + editorHolder.offsetWidth + "px;height:" - + editorHolder.offsetHeight + "px;z-index:" + (editor.options.zIndex + 1); - - domUtils.on(doc, "mousemove", move); - domUtils.on(editorDocument, "mouseup", up); - domUtils.on(doc, "mouseup", up); - } - - var me = this; - //by xuheng 全屏时关掉缩放 - this.editor.addListener('fullscreenchanged', function (e, fullScreen) { - if (fullScreen) { - me.disableScale(); - - } else { - if (me.editor.options.scaleEnabled) { - me.enableScale(); - var tmpNode = me.editor.document.createElement('span'); - me.editor.body.appendChild(tmpNode); - me.editor.body.style.height = Math.max(domUtils.getXY(tmpNode).y, me.editor.iframe.offsetHeight - 20) + 'px'; - domUtils.remove(tmpNode) - } - } - }); - function move(event) { - clearSelection(); - var e = event || window.event; - pageX = e.pageX || (doc.documentElement.scrollLeft + e.clientX); - pageY = e.pageY || (doc.documentElement.scrollTop + e.clientY); - scaleWidth = pageX - position.x; - scaleHeight = pageY - position.y; - - if (scaleWidth >= minEditorWidth) { - isMouseMove = true; - scalelayer.style.width = scaleWidth + 'px'; - } - if (scaleHeight >= minEditorHeight) { - isMouseMove = true; - scalelayer.style.height = scaleHeight + "px"; - } - } - - function up() { - if (isMouseMove) { - isMouseMove = false; - editor.ui._actualFrameWidth = scalelayer.offsetWidth - 2; - editorHolder.style.width = editor.ui._actualFrameWidth + 'px'; - - editor.setHeight(scalelayer.offsetHeight - bottombar.offsetHeight - toolbarBox.offsetHeight - 2,true); - } - if (scalelayer) { - scalelayer.style.display = "none"; - } - clearSelection(); - domUtils.un(doc, "mousemove", move); - domUtils.un(editorDocument, "mouseup", up); - domUtils.un(doc, "mouseup", up); - } - - function clearSelection() { - if (browser.ie) - doc.selection.clear(); - else - window.getSelection().removeAllRanges(); - } - - this.enableScale = function () { - //trace:2868 - if (editor.queryCommandState("source") == 1) return; - scale.style.display = ""; - this.scaleEnabled = true; - domUtils.on(scale, "mousedown", down); - }; - this.disableScale = function () { - scale.style.display = "none"; - this.scaleEnabled = false; - domUtils.un(scale, "mousedown", down); - }; - }, - isFullScreen:function () { - return this._fullscreen; - }, - postRender:function () { - UIBase.prototype.postRender.call(this); - for (var i = 0; i < this.toolbars.length; i++) { - this.toolbars[i].postRender(); - } - var me = this; - var timerId, - domUtils = baidu.editor.dom.domUtils, - updateFullScreenTime = function () { - clearTimeout(timerId); - timerId = setTimeout(function () { - me._updateFullScreen(); - }); - }; - domUtils.on(window, 'resize', updateFullScreenTime); - - me.addListener('destroy', function () { - domUtils.un(window, 'resize', updateFullScreenTime); - clearTimeout(timerId); - }) - }, - showToolbarMsg:function (msg, flag) { - this.getDom('toolbarmsg_label').innerHTML = msg; - this.getDom('toolbarmsg').style.display = ''; - // - if (!flag) { - var w = this.getDom('upload_dialog'); - w.style.display = 'none'; - } - }, - hideToolbarMsg:function () { - this.getDom('toolbarmsg').style.display = 'none'; - }, - mapUrl:function (url) { - return url ? url.replace('~/', this.editor.options.UEDITOR_HOME_URL || '') : '' - }, - triggerLayout:function () { - var dom = this.getDom(); - if (dom.style.zoom == '1') { - dom.style.zoom = '100%'; - } else { - dom.style.zoom = '1'; - } - } - }; - utils.inherits(EditorUI, baidu.editor.ui.UIBase); - - - var instances = {}; - - - UE.ui.Editor = function (options) { - var editor = new UE.Editor(options); - editor.options.editor = editor; - utils.loadFile(document, { - href:editor.options.themePath + editor.options.theme + "/css/ueditor.css", - tag:"link", - type:"text/css", - rel:"stylesheet" - }); - - var oldRender = editor.render; - editor.render = function (holder) { - if (holder.constructor === String) { - editor.key = holder; - instances[holder] = editor; - } - utils.domReady(function () { - editor.langIsReady ? renderUI() : editor.addListener("langReady", renderUI); - function renderUI() { - editor.setOpt({ - labelMap:editor.options.labelMap || editor.getLang('labelMap') - }); - new EditorUI(editor.options); - if (holder) { - if (holder.constructor === String) { - holder = document.getElementById(holder); - } - holder && holder.getAttribute('name') && ( editor.options.textarea = holder.getAttribute('name')); - if (holder && /script|textarea/ig.test(holder.tagName)) { - var newDiv = document.createElement('div'); - holder.parentNode.insertBefore(newDiv, holder); - var cont = holder.value || holder.innerHTML; - editor.options.initialContent = /^[\t\r\n ]*$/.test(cont) ? editor.options.initialContent : - cont.replace(/>[\n\r\t]+([ ]{4})+/g, '>') - .replace(/[\n\r\t]+([ ]{4})+[\n\r\t]+<'); - holder.className && (newDiv.className = holder.className); - holder.style.cssText && (newDiv.style.cssText = holder.style.cssText); - if (/textarea/i.test(holder.tagName)) { - editor.textarea = holder; - editor.textarea.style.display = 'none'; - - - } else { - holder.parentNode.removeChild(holder); - - - } - if(holder.id){ - newDiv.id = holder.id; - domUtils.removeAttributes(holder,'id'); - } - holder = newDiv; - holder.innerHTML = ''; - } - - } - domUtils.addClass(holder, "edui-" + editor.options.theme); - editor.ui.render(holder); - var opt = editor.options; - //给实例添加一个编辑器的容器引用 - editor.container = editor.ui.getDom(); - var parents = domUtils.findParents(holder,true); - var displays = []; - for(var i = 0 ,ci;ci=parents[i];i++){ - displays[i] = ci.style.display; - ci.style.display = 'block' - } - if (opt.initialFrameWidth) { - opt.minFrameWidth = opt.initialFrameWidth; - } else { - opt.minFrameWidth = opt.initialFrameWidth = holder.offsetWidth; - var styleWidth = holder.style.width; - if(/%$/.test(styleWidth)) { - opt.initialFrameWidth = styleWidth; - } - } - if (opt.initialFrameHeight) { - opt.minFrameHeight = opt.initialFrameHeight; - } else { - opt.initialFrameHeight = opt.minFrameHeight = holder.offsetHeight; - } - for(var i = 0 ,ci;ci=parents[i];i++){ - ci.style.display = displays[i] - } - //编辑器最外容器设置了高度,会导致,编辑器不占位 - //todo 先去掉,没有找到原因 - if(holder.style.height){ - holder.style.height = '' - } - editor.container.style.width = opt.initialFrameWidth + (/%$/.test(opt.initialFrameWidth) ? '' : 'px'); - editor.container.style.zIndex = opt.zIndex; - oldRender.call(editor, editor.ui.getDom('iframeholder')); - editor.fireEvent("afteruiready"); - } - }) - }; - return editor; - }; - - - /** - * @file - * @name UE - * @short UE - * @desc UEditor的顶部命名空间 - */ - /** - * @name getEditor - * @since 1.2.4+ - * @grammar UE.getEditor(id,[opt]) => Editor实例 - * @desc 提供一个全局的方法得到编辑器实例 - * - * * ''id'' 放置编辑器的容器id, 如果容器下的编辑器已经存在,就直接返回 - * * ''opt'' 编辑器的可选参数 - * @example - * UE.getEditor('containerId',{onready:function(){//创建一个编辑器实例 - * this.setContent('hello') - * }}); - * UE.getEditor('containerId'); //返回刚创建的实例 - * - */ - UE.getEditor = function (id, opt) { - var editor = instances[id]; - if (!editor) { - editor = instances[id] = new UE.ui.Editor(opt); - editor.render(id); - } - return editor; - }; - - - UE.delEditor = function (id) { - var editor; - if (editor = instances[id]) { - editor.key && editor.destroy(); - delete instances[id] - } - }; - - UE.registerUI = function(uiName,fn,index,editorId){ - utils.each(uiName.split(/\s+/), function (name) { - UE._customizeUI[name] = { - id : editorId, - execFn:fn, - index:index - }; - }) - - } - -})(); - -// adapter/message.js -UE.registerUI('message', function(editor) { - - var editorui = baidu.editor.ui; - var Message = editorui.Message; - var holder; - var _messageItems = []; - var me = editor; - - me.addListener('ready', function(){ - holder = document.getElementById(me.ui.id + '_message_holder'); - updateHolderPos(); - setTimeout(function(){ - updateHolderPos(); - }, 500); - }); - - me.addListener('showmessage', function(type, opt){ - opt = utils.isString(opt) ? { - 'content': opt - } : opt; - var message = new Message({ - 'timeout': opt.timeout, - 'type': opt.type, - 'content': opt.content, - 'keepshow': opt.keepshow, - 'editor': me - }), - mid = opt.id || ('msg_' + (+new Date()).toString(36)); - message.render(holder); - _messageItems[mid] = message; - message.reset(opt); - updateHolderPos(); - return mid; - }); - - me.addListener('updatemessage',function(type, id, opt){ - opt = utils.isString(opt) ? { - 'content': opt - } : opt; - var message = _messageItems[id]; - message.render(holder); - message && message.reset(opt); - }); - - me.addListener('hidemessage',function(type, id){ - var message = _messageItems[id]; - message && message.hide(); - }); - - function updateHolderPos(){ - var toolbarbox = me.ui.getDom('toolbarbox'); - if (toolbarbox) { - holder.style.top = toolbarbox.offsetHeight + 3 + 'px'; - } - holder.style.zIndex = Math.max(me.options.zIndex, me.iframe.style.zIndex) + 1; - } - -}); - - -// adapter/autosave.js -UE.registerUI('autosave', function(editor) { - var timer = null,uid = null; - editor.on('afterautosave',function(){ - clearTimeout(timer); - - timer = setTimeout(function(){ - if(uid){ - editor.trigger('hidemessage',uid); - } - uid = editor.trigger('showmessage',{ - content : editor.getLang('autosave.success'), - timeout : 2000 - }); - - },2000) - }) - -}); - - - -})(); diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.all.min.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.all.min.js deleted file mode 100644 index b357d50..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.all.min.js +++ /dev/null @@ -1,18 +0,0 @@ -/*! - * UEditor - * version: ueditor - * build: Wed Aug 10 2016 11:06:16 GMT+0800 (CST) - */ - -!function(){function getListener(a,b,c){var d;return b=b.toLowerCase(),(d=a.__allListeners||c&&(a.__allListeners={}))&&(d[b]||c&&(d[b]=[]))}function getDomNode(a,b,c,d,e,f){var g,h=d&&a[b];for(!h&&(h=a[c]);!h&&(g=(g||a).parentNode);){if("BODY"==g.tagName||f&&!f(g))return null;h=g[c]}return h&&e&&!e(h)?getDomNode(h,b,c,!1,e):h}UEDITOR_CONFIG=window.UEDITOR_CONFIG||{};var baidu=window.baidu||{};window.baidu=baidu,window.UE=baidu.editor=window.UE||{},UE.plugins={},UE.commands={},UE.instants={},UE.I18N={},UE._customizeUI={},UE.version="1.4.3";var dom=UE.dom={},browser=UE.browser=function(){var a=navigator.userAgent.toLowerCase(),b=window.opera,c={ie:/(msie\s|trident.*rv:)([\w.]+)/.test(a),opera:!!b&&b.version,webkit:a.indexOf(" applewebkit/")>-1,mac:a.indexOf("macintosh")>-1,quirks:"BackCompat"==document.compatMode};c.gecko="Gecko"==navigator.product&&!c.webkit&&!c.opera&&!c.ie;var d=0;if(c.ie){var e=a.match(/(?:msie\s([\w.]+))/),f=a.match(/(?:trident.*rv:([\w.]+))/);d=e&&f&&e[1]&&f[1]?Math.max(1*e[1],1*f[1]):e&&e[1]?1*e[1]:f&&f[1]?1*f[1]:0,c.ie11Compat=11==document.documentMode,c.ie9Compat=9==document.documentMode,c.ie8=!!document.documentMode,c.ie8Compat=8==document.documentMode,c.ie7Compat=7==d&&!document.documentMode||7==document.documentMode,c.ie6Compat=d<7||c.quirks,c.ie9above=d>8,c.ie9below=d<9,c.ie11above=d>10,c.ie11below=d<11}if(c.gecko){var g=a.match(/rv:([\d\.]+)/);g&&(g=g[1].split("."),d=1e4*g[0]+100*(g[1]||0)+1*(g[2]||0))}return/chrome\/(\d+\.\d)/i.test(a)&&(c.chrome=+RegExp.$1),/(\d+\.\d)?(?:\.\d)?\s+safari\/?(\d+\.\d+)?/i.test(a)&&!/chrome/i.test(a)&&(c.safari=+(RegExp.$1||RegExp.$2)),c.opera&&(d=parseFloat(b.version())),c.webkit&&(d=parseFloat(a.match(/ applewebkit\/(\d+)/)[1])),c.version=d,c.isCompatible=!c.mobile&&(c.ie&&d>=6||c.gecko&&d>=10801||c.opera&&d>=9.5||c.air&&d>=1||c.webkit&&d>=522||!1),c}(),ie=browser.ie,webkit=browser.webkit,gecko=browser.gecko,opera=browser.opera,utils=UE.utils={each:function(a,b,c){if(null!=a)if(a.length===+a.length){for(var d=0,e=a.length;d=c&&a===b)return d=e,!1}),d},removeItem:function(a,b){for(var c=0,d=a.length;c'](?:(amp|lt|quot|gt|#39|nbsp|#\d+);)?/g,function(a,b){return b?a:{"<":"<","&":"&",'"':""",">":">","'":"'"}[a]}):""},unhtmlForUrl:function(a,b){return a?a.replace(b||/[<">']/g,function(a){return{"<":"<","&":"&",'"':""",">":">","'":"'"}[a]}):""},html:function(a){return a?a.replace(/&((g|l|quo)t|amp|#39|nbsp);/g,function(a){return{"<":"<","&":"&",""":'"',">":">","'":"'"," ":" "}[a]}):""},cssStyleToDomStyle:function(){var a=document.createElement("div").style,b={"float":void 0!=a.cssFloat?"cssFloat":void 0!=a.styleFloat?"styleFloat":"float"};return function(a){return b[a]||(b[a]=a.toLowerCase().replace(/-./g,function(a){return a.charAt(1).toUpperCase()}))}}(),loadFile:function(){function a(a,c){try{for(var d,e=0;d=b[e++];)if(d.doc===a&&d.url==(c.src||c.href))return d}catch(f){return null}}var b=[];return function(c,d,e){var f=a(c,d);if(f)return void(f.ready?e&&e():f.funs.push(e));if(b.push({doc:c,url:d.src||d.href,funs:[e]}),!c.body){var g=[];for(var h in d)"tag"!=h&&g.push(h+'="'+d[h]+'"');return void c.write("<"+d.tag+" "+g.join(" ")+" >")}if(!d.id||!c.getElementById(d.id)){var i=c.createElement(d.tag);delete d.tag;for(var h in d)i.setAttribute(h,d[h]);i.onload=i.onreadystatechange=function(){if(!this.readyState||/loaded|complete/.test(this.readyState)){if(f=a(c,d),f.funs.length>0){f.ready=1;for(var b;b=f.funs.pop();)b()}i.onload=i.onreadystatechange=null}},i.onerror=function(){throw Error("The load "+(d.href||d.src)+" fails,check the url settings of file ueditor.config.js ")},c.getElementsByTagName("head")[0].appendChild(i)}}}(),isEmptyObject:function(a){if(null==a)return!0;if(this.isArray(a)||this.isString(a))return 0===a.length;for(var b in a)if(a.hasOwnProperty(b))return!1;return!0},fixColor:function(a,b){if(/color/i.test(a)&&/rgba?/.test(b)){var c=b.split(",");if(c.length>3)return"";b="#";for(var d,e=0;d=c[e++];)d=parseInt(d.replace(/[^\d]/gi,""),10).toString(16),b+=1==d.length?"0"+d:d;b=b.toUpperCase()}return b},optCss:function(a){function b(a,b){if(!a)return"";var c=a.top,d=a.bottom,e=a.left,f=a.right,g="";if(c&&e&&d&&f)g+=";"+b+":"+(c==d&&d==e&&e==f?c:c==d&&e==f?c+" "+e:e==f?c+" "+e+" "+d:c+" "+f+" "+d+" "+e)+";";else for(var h in a)g+=";"+b+"-"+h+":"+a[h]+";";return g}var c,d;return a=a.replace(/(padding|margin|border)\-([^:]+):([^;]+);?/gi,function(a,b,e,f){if(1==f.split(" ").length)switch(b){case"padding":return!c&&(c={}),c[e]=f,"";case"margin":return!d&&(d={}),d[e]=f,"";case"border":return"initial"==f?"":a}return a}),a+=b(c,"padding")+b(d,"margin"),a.replace(/^[ \n\r\t;]*|[ \n\r\t]*$/,"").replace(/;([ \n\r\t]+)|\1;/g,";").replace(/(&((l|g)t|quot|#39))?;{2,}/g,function(a,b){return b?b+";;":";"})},clone:function(a,b){var c;b=b||{};for(var d in a)a.hasOwnProperty(d)&&(c=a[d],"object"==typeof c?(b[d]=utils.isArray(c)?[]:{},utils.clone(a[d],b[d])):b[d]=c);return b},transUnitToPx:function(a){if(!/(pt|cm)/.test(a))return a;var b;switch(a.replace(/([\d.]+)(\w+)/,function(c,d,e){a=d,b=e}),b){case"cm":a=25*parseFloat(a);break;case"pt":a=Math.round(96*parseFloat(a)/72)}return a+(a?"px":"")},domReady:function(){function a(a){a.isReady=!0;for(var c;c=b.pop();c());}var b=[];return function(c,d){d=d||window;var e=d.document;c&&b.push(c),"complete"===e.readyState?a(e):(e.isReady&&a(e),browser.ie&&11!=browser.version?(!function(){if(!e.isReady){try{e.documentElement.doScroll("left")}catch(b){return void setTimeout(arguments.callee,0)}a(e)}}(),d.attachEvent("onload",function(){a(e)})):(e.addEventListener("DOMContentLoaded",function(){e.removeEventListener("DOMContentLoaded",arguments.callee,!1),a(e)},!1),d.addEventListener("load",function(){a(e)},!1)))}}(),cssRule:browser.ie&&11!=browser.version?function(a,b,c){var d,e;if(void 0===b||b&&b.nodeType&&9==b.nodeType){if(c=b&&b.nodeType&&9==b.nodeType?b:c||document,d=c.indexList||(c.indexList={}),e=d[a],void 0!==e)return c.styleSheets[e].cssText}else{if(c=c||document,d=c.indexList||(c.indexList={}),e=d[a],""===b)return void 0!==e&&(c.styleSheets[e].cssText="",delete d[a],!0);void 0!==e?sheetStyle=c.styleSheets[e]:(sheetStyle=c.createStyleSheet("",e=c.styleSheets.length),d[a]=e),sheetStyle.cssText=b}}:function(a,b,c){var d;return void 0===b||b&&b.nodeType&&9==b.nodeType?(c=b&&b.nodeType&&9==b.nodeType?b:c||document,d=c.getElementById(a),d?d.innerHTML:void 0):(c=c||document,d=c.getElementById(a),""===b?!!d&&(d.parentNode.removeChild(d),!0):void(d?d.innerHTML=b:(d=c.createElement("style"),d.id=a,d.innerHTML=b,c.getElementsByTagName("head")[0].appendChild(d))))},sort:function(a,b){b=b||function(a,b){return a.localeCompare(b)};for(var c=0,d=a.length;c0){var g=a[c];a[c]=a[e],a[e]=g}return a},serializeParam:function(a){var b=[];for(var c in a)if("method"!=c&&"timeout"!=c&&"async"!=c)if("function"!=(typeof a[c]).toLowerCase()&&"object"!=(typeof a[c]).toLowerCase())b.push(encodeURIComponent(c)+"="+encodeURIComponent(a[c]));else if(utils.isArray(a[c]))for(var d=0;d1||b!==a.parentNode){a.style.cssText=b.style.cssText+";"+a.style.cssText,b=b.parentNode;continue}b.style.cssText+=";"+a.style.cssText,"A"==b.tagName&&(b.style.textDecoration="underline")}if("A"!=b.tagName){b===a.parentNode&&domUtils.remove(a,!0);break}}b=b.parentNode}},mergeSibling:function(a,b,c){function d(a,b,c){var d;if((d=c[a])&&!domUtils.isBookmarkNode(d)&&1==d.nodeType&&domUtils.isSameElement(c,d)){for(;d.firstChild;)"firstChild"==b?c.insertBefore(d.lastChild,c.firstChild):c.appendChild(d.firstChild);domUtils.remove(d)}}!b&&d("previousSibling","firstChild",a),!c&&d("nextSibling","lastChild",a)},unSelectable:ie&&browser.ie9below||browser.opera?function(a){a.onselectstart=function(){return!1},a.onclick=a.onkeyup=a.onkeydown=function(){return!1},a.unselectable="on",a.setAttribute("unselectable","on");for(var b,c=0;b=a.all[c++];)switch(b.tagName.toLowerCase()){case"iframe":case"textarea":case"input":case"select":break;default:b.unselectable="on",a.setAttribute("unselectable","on")}}:function(a){a.style.MozUserSelect=a.style.webkitUserSelect=a.style.msUserSelect=a.style.KhtmlUserSelect="none"},removeAttributes:function(a,b){b=utils.isArray(b)?b:utils.trim(b).replace(/[ ]{2,}/g," ").split(" ");for(var c,d=0;c=b[d++];){switch(c=attrFix[c]||c){case"className":a[c]="";break;case"style":a.style.cssText="";var e=a.getAttributeNode("style");!browser.ie&&e&&a.removeAttributeNode(e)}a.removeAttribute(c)}},createElement:function(a,b,c){return domUtils.setAttributes(a.createElement(b),c)},setAttributes:function(a,b){for(var c in b)if(b.hasOwnProperty(c)){var d=b[c];switch(c){case"class":a.className=d;break;case"style":a.style.cssText=a.style.cssText+";"+d;break;case"innerHTML":a[c]=d;break;case"value":a.value=d;break;default:a.setAttribute(attrFix[c]||c,d)}}return a},getComputedStyle:function(a,b){var c="width height top left";if(c.indexOf(b)>-1)return a["offset"+b.replace(/^\w/,function(a){return a.toUpperCase()})]+"px";if(3==a.nodeType&&(a=a.parentNode),browser.ie&&browser.version<9&&"font-size"==b&&!a.style.fontSize&&!dtd.$empty[a.tagName]&&!dtd.$nonChild[a.tagName]){var d=a.ownerDocument.createElement("span");d.style.cssText="padding:0;border:0;font-family:simsun;",d.innerHTML=".",a.appendChild(d);var e=d.offsetHeight;return a.removeChild(d),d=null,e+"px"}try{var f=domUtils.getStyle(a,b)||(window.getComputedStyle?domUtils.getWindow(a).getComputedStyle(a,"").getPropertyValue(b):(a.currentStyle||a.style)[utils.cssStyleToDomStyle(b)])}catch(g){return""}return utils.transUnitToPx(utils.fixColor(b,f))},removeClasses:function(a,b){b=utils.isArray(b)?b:utils.trim(b).replace(/[ ]{2,}/g," ").split(" ");for(var c,d=0,e=a.className;c=b[d++];)e=e.replace(new RegExp("\\b"+c+"\\b"),"");e=utils.trim(e).replace(/[ ]{2,}/g," "),e?a.className=e:domUtils.removeAttributes(a,["class"])},addClass:function(a,b){if(a){b=utils.trim(b).replace(/[ ]{2,}/g," ").split(" ");for(var c,d=0,e=a.className;c=b[d++];)new RegExp("\\b"+c+"\\b").test(e)||(e+=" "+c);a.className=utils.trim(e)}},hasClass:function(a,b){if(utils.isRegExp(b))return b.test(a.className);b=utils.trim(b).replace(/[ ]{2,}/g," ").split(" ");for(var c,d=0,e=a.className;c=b[d++];)if(!new RegExp("\\b"+c+"\\b","i").test(e))return!1;return d-1==b.length},preventDefault:function(a){a.preventDefault?a.preventDefault():a.returnValue=!1},removeStyle:function(a,b){browser.ie?("color"==b&&(b="(^|;)"+b),a.style.cssText=a.style.cssText.replace(new RegExp(b+"[^:]*:[^;]+;?","ig"),"")):a.style.removeProperty?a.style.removeProperty(b):a.style.removeAttribute(utils.cssStyleToDomStyle(b)),a.style.cssText||domUtils.removeAttributes(a,["style"])},getStyle:function(a,b){var c=a.style[utils.cssStyleToDomStyle(b)];return utils.fixColor(b,c)},setStyle:function(a,b,c){a.style[utils.cssStyleToDomStyle(b)]=c,utils.trim(a.style.cssText)||this.removeAttributes(a,"style")},setStyles:function(a,b){for(var c in b)b.hasOwnProperty(c)&&domUtils.setStyle(a,c,b[c])},removeDirtyAttr:function(a){for(var b,c=0,d=a.getElementsByTagName("*");b=d[c++];)b.removeAttribute("_moz_dirty");a.removeAttribute("_moz_dirty")},getChildCount:function(a,b){var c=0,d=a.firstChild;for(b=b||function(){return 1};d;)b(d)&&c++,d=d.nextSibling;return c},isEmptyNode:function(a){return!a.firstChild||0==domUtils.getChildCount(a,function(a){return!domUtils.isBr(a)&&!domUtils.isBookmarkNode(a)&&!domUtils.isWhitespace(a)})},clearSelectedArr:function(a){for(var b;b=a.pop();)domUtils.removeAttributes(b,["class"])},scrollToView:function(a,b,c){var d=function(){var a=b.document,c="CSS1Compat"==a.compatMode;return{width:(c?a.documentElement.clientWidth:a.body.clientWidth)||0,height:(c?a.documentElement.clientHeight:a.body.clientHeight)||0}},e=function(a){if("pageXOffset"in a)return{x:a.pageXOffset||0,y:a.pageYOffset||0};var b=a.document;return{x:b.documentElement.scrollLeft||b.body.scrollLeft||0,y:b.documentElement.scrollTop||b.body.scrollTop||0}},f=d().height,g=f*-1+c;g+=a.offsetHeight||0;var h=domUtils.getXY(a);g+=h.y;var i=e(b).y;(g>i||g0)return 0;for(var c in dtd.$isNotEmpty)if(a.getElementsByTagName(c).length)return 0;return 1},setViewportOffset:function(a,b){var c=0|parseInt(a.style.left),d=0|parseInt(a.style.top),e=a.getBoundingClientRect(),f=b.left-e.left,g=b.top-e.top;f&&(a.style.left=c+f+"px"),g&&(a.style.top=d+g+"px")},fillNode:function(a,b){var c=browser.ie?a.createTextNode(domUtils.fillChar):a.createElement("br");b.innerHTML="",b.appendChild(c)},moveChild:function(a,b,c){for(;a.firstChild;)c&&b.firstChild?b.insertBefore(a.lastChild,b.firstChild):b.appendChild(a.firstChild)},hasNoAttributes:function(a){return browser.ie?/^<\w+\s*?>/.test(a.outerHTML):0==a.attributes.length},isCustomeNode:function(a){return 1==a.nodeType&&a.getAttribute("_ue_custom_node_")},isTagNode:function(a,b){return 1==a.nodeType&&new RegExp("\\b"+a.tagName+"\\b","i").test(b)},filterNodeList:function(a,b,c){var d=[];if(!utils.isFunction(b)){var e=b;b=function(a){return utils.indexOf(utils.isArray(e)?e:e.split(" "),a.tagName.toLowerCase())!=-1}}return utils.each(a,function(a){b(a)&&d.push(a)}),0==d.length?null:1!=d.length&&c?d:d[0]},isInNodeEndBoundary:function(a,b){var c=a.startContainer;if(3==c.nodeType&&a.startOffset!=c.nodeValue.length)return 0;if(1==c.nodeType&&a.startOffset!=c.childNodes.length)return 0;for(;c!==b;){if(c.nextSibling)return 0;c=c.parentNode}return 1},isBoundaryNode:function(a,b){for(var c;!domUtils.isBody(a);)if(c=a,a=a.parentNode,c!==a[b])return!1;return!0},fillHtml:browser.ie11below?" ":"
    "},fillCharReg=new RegExp(domUtils.fillChar,"g");!function(){function a(a){a.collapsed=a.startContainer&&a.endContainer&&a.startContainer===a.endContainer&&a.startOffset==a.endOffset}function b(a){return!a.collapsed&&1==a.startContainer.nodeType&&a.startContainer===a.endContainer&&a.endOffset-a.startOffset==1}function c(b,c,d,e){return 1==c.nodeType&&(dtd.$empty[c.tagName]||dtd.$nonChild[c.tagName])&&(d=domUtils.getNodeIndex(c)+(b?0:1),c=c.parentNode),b?(e.startContainer=c,e.startOffset=d,e.endContainer||e.collapse(!0)):(e.endContainer=c,e.endOffset=d,e.startContainer||e.collapse(!1)),a(e),e}function d(a,b){var c,d,e=a.startContainer,f=a.endContainer,g=a.startOffset,h=a.endOffset,i=a.document,j=i.createDocumentFragment();if(1==e.nodeType&&(e=e.childNodes[g]||(c=e.appendChild(i.createTextNode("")))),1==f.nodeType&&(f=f.childNodes[h]||(d=f.appendChild(i.createTextNode("")))),e===f&&3==e.nodeType)return j.appendChild(i.createTextNode(e.substringData(g,h-g))),b&&(e.deleteData(g,h-g),a.collapse(!0)),j;for(var k,l,m=j,n=domUtils.findParents(e,!0),o=domUtils.findParents(f,!0),p=0;n[p]==o[p];)p++;for(var q,r=p;q=n[r];r++){for(k=q.nextSibling,q==e?c||(3==a.startContainer.nodeType?(m.appendChild(i.createTextNode(e.nodeValue.slice(g))),b&&e.deleteData(g,e.nodeValue.length-g)):m.appendChild(b?e:e.cloneNode(!0))):(l=q.cloneNode(!1),m.appendChild(l));k&&k!==f&&k!==o[r];)q=k.nextSibling,m.appendChild(b?k:k.cloneNode(!0)),k=q;m=l}m=j,n[p]||(m.appendChild(n[p-1].cloneNode(!1)),m=m.firstChild);for(var s,r=p;s=o[r];r++){if(k=s.previousSibling,s==f?d||3!=a.endContainer.nodeType||(m.appendChild(i.createTextNode(f.substringData(0,h))),b&&f.deleteData(0,h)):(l=s.cloneNode(!1),m.appendChild(l)),r!=p||!n[p])for(;k&&k!==e;)s=k.previousSibling,m.insertBefore(b?k:k.cloneNode(!0),m.firstChild),k=s;m=l}return b&&a.setStartBefore(o[p]?n[p]?o[p]:n[p-1]:o[p-1]).collapse(!0),c&&domUtils.remove(c),d&&domUtils.remove(d),j}function e(a,b){try{if(g&&domUtils.inDoc(g,a))if(g.nodeValue.replace(fillCharReg,"").length)g.nodeValue=g.nodeValue.replace(fillCharReg,"");else{var c=g.parentNode;for(domUtils.remove(g);c&&domUtils.isEmptyInlineElement(c)&&(browser.safari?!(domUtils.getPosition(c,b)&domUtils.POSITION_CONTAINS):!c.contains(b));)g=c.parentNode,domUtils.remove(c),c=g}}catch(d){} -}function f(a,b){var c;for(a=a[b];a&&domUtils.isFillChar(a);)c=a[b],domUtils.remove(a),a=c}var g,h=0,i=domUtils.fillChar,j=dom.Range=function(a){var b=this;b.startContainer=b.startOffset=b.endContainer=b.endOffset=null,b.document=a,b.collapsed=!0};j.prototype={cloneContents:function(){return this.collapsed?null:d(this,0)},deleteContents:function(){var a;return this.collapsed||d(this,1),browser.webkit&&(a=this.startContainer,3!=a.nodeType||a.nodeValue.length||(this.setStartBefore(a).collapse(!0),domUtils.remove(a))),this},extractContents:function(){return this.collapsed?null:d(this,2)},setStart:function(a,b){return c(!0,a,b,this)},setEnd:function(a,b){return c(!1,a,b,this)},setStartAfter:function(a){return this.setStart(a.parentNode,domUtils.getNodeIndex(a)+1)},setStartBefore:function(a){return this.setStart(a.parentNode,domUtils.getNodeIndex(a))},setEndAfter:function(a){return this.setEnd(a.parentNode,domUtils.getNodeIndex(a)+1)},setEndBefore:function(a){return this.setEnd(a.parentNode,domUtils.getNodeIndex(a))},setStartAtFirst:function(a){return this.setStart(a,0)},setStartAtLast:function(a){return this.setStart(a,3==a.nodeType?a.nodeValue.length:a.childNodes.length)},setEndAtFirst:function(a){return this.setEnd(a,0)},setEndAtLast:function(a){return this.setEnd(a,3==a.nodeType?a.nodeValue.length:a.childNodes.length)},selectNode:function(a){return this.setStartBefore(a).setEndAfter(a)},selectNodeContents:function(a){return this.setStart(a,0).setEndAtLast(a)},cloneRange:function(){var a=this;return new j(a.document).setStart(a.startContainer,a.startOffset).setEnd(a.endContainer,a.endOffset)},collapse:function(a){var b=this;return a?(b.endContainer=b.startContainer,b.endOffset=b.startOffset):(b.startContainer=b.endContainer,b.startOffset=b.endOffset),b.collapsed=!0,b},shrinkBoundary:function(a){function b(a){return 1==a.nodeType&&!domUtils.isBookmarkNode(a)&&!dtd.$empty[a.tagName]&&!dtd.$nonChild[a.tagName]}for(var c,d=this,e=d.collapsed;1==d.startContainer.nodeType&&(c=d.startContainer.childNodes[d.startOffset])&&b(c);)d.setStart(c,0);if(e)return d.collapse(!0);if(!a)for(;1==d.endContainer.nodeType&&d.endOffset>0&&(c=d.endContainer.childNodes[d.endOffset-1])&&b(c);)d.setEnd(c,c.childNodes.length);return d},getCommonAncestor:function(a,c){var d=this,e=d.startContainer,f=d.endContainer;return e===f?a&&b(this)&&(e=e.childNodes[d.startOffset],1==e.nodeType)?e:c&&3==e.nodeType?e.parentNode:e:domUtils.getCommonAncestor(e,f)},trimBoundary:function(a){this.txtToElmBoundary();var b=this.startContainer,c=this.startOffset,d=this.collapsed,e=this.endContainer;if(3==b.nodeType){if(0==c)this.setStartBefore(b);else if(c>=b.nodeValue.length)this.setStartAfter(b);else{var f=domUtils.split(b,c);b===e?this.setEnd(f,this.endOffset-c):b.parentNode===e&&(this.endOffset+=1),this.setStartBefore(f)}if(d)return this.collapse(!0)}return a||(c=this.endOffset,e=this.endContainer,3==e.nodeType&&(0==c?this.setEndBefore(e):(c=c.nodeValue.length&&a["set"+b.replace(/(\w)/,function(a){return a.toUpperCase()})+"After"](c):a["set"+b.replace(/(\w)/,function(a){return a.toUpperCase()})+"Before"](c))}return!a&&this.collapsed||(b(this,"start"),b(this,"end")),this},insertNode:function(a){var b=a,c=1;11==a.nodeType&&(b=a.firstChild,c=a.childNodes.length),this.trimBoundary(!0);var d=this.startContainer,e=this.startOffset,f=d.childNodes[e];return f?d.insertBefore(a,f):d.appendChild(a),b.parentNode===this.endContainer&&(this.endOffset=this.endOffset+c),this.setStartBefore(b)},setCursor:function(a,b){return this.collapse(!a).select(b)},createBookmark:function(a,b){var c,d=this.document.createElement("span");return d.style.cssText="display:none;line-height:0px;",d.appendChild(this.document.createTextNode("‍")),d.id="_baidu_bookmark_start_"+(b?"":h++),this.collapsed||(c=d.cloneNode(!0),c.id="_baidu_bookmark_end_"+(b?"":h++)),this.insertNode(d),c&&this.collapse().insertNode(c).setEndBefore(c),this.setStartAfter(d),{start:a?d.id:d,end:c?a?c.id:c:null,id:a}},moveToBookmark:function(a){var b=a.id?this.document.getElementById(a.start):a.start,c=a.end&&a.id?this.document.getElementById(a.end):a.end;return this.setStartBefore(b),domUtils.remove(b),c?(this.setEndBefore(c),domUtils.remove(c)):this.collapse(!0),this},enlarge:function(a,b){var c,d,e=domUtils.isBody,f=this.document.createTextNode("");if(a){for(d=this.startContainer,1==d.nodeType?d.childNodes[this.startOffset]?c=d=d.childNodes[this.startOffset]:(d.appendChild(f),c=d=f):c=d;;){if(domUtils.isBlockElm(d)){for(d=c;(c=d.previousSibling)&&!domUtils.isBlockElm(c);)d=c;this.setStartBefore(d);break}c=d,d=d.parentNode}for(d=this.endContainer,1==d.nodeType?((c=d.childNodes[this.endOffset])?d.insertBefore(f,c):d.appendChild(f),c=d=f):c=d;;){if(domUtils.isBlockElm(d)){for(d=c;(c=d.nextSibling)&&!domUtils.isBlockElm(c);)d=c;this.setEndAfter(d);break}c=d,d=d.parentNode}f.parentNode===this.endContainer&&this.endOffset--,domUtils.remove(f)}if(!this.collapsed){for(;!(0!=this.startOffset||b&&b(this.startContainer)||e(this.startContainer));)this.setStartBefore(this.startContainer);for(;!(this.endOffset!=(1==this.endContainer.nodeType?this.endContainer.childNodes.length:this.endContainer.nodeValue.length)||b&&b(this.endContainer)||e(this.endContainer));)this.setEndAfter(this.endContainer)}return this},enlargeToBlockElm:function(a){for(;!domUtils.isBlockElm(this.startContainer);)this.setStartBefore(this.startContainer);if(!a)for(;!domUtils.isBlockElm(this.endContainer);)this.setEndAfter(this.endContainer);return this},adjustmentBoundary:function(){if(!this.collapsed){for(;!domUtils.isBody(this.startContainer)&&this.startOffset==this.startContainer[3==this.startContainer.nodeType?"nodeValue":"childNodes"].length&&this.startContainer[3==this.startContainer.nodeType?"nodeValue":"childNodes"].length;)this.setStartAfter(this.startContainer);for(;!domUtils.isBody(this.endContainer)&&!this.endOffset&&this.endContainer[3==this.endContainer.nodeType?"nodeValue":"childNodes"].length;)this.setEndBefore(this.endContainer)}return this},applyInlineStyle:function(a,b,c){if(this.collapsed)return this;this.trimBoundary().enlarge(!1,function(a){return 1==a.nodeType&&domUtils.isBlockElm(a)}).adjustmentBoundary();for(var d,e,f=this.createBookmark(),g=f.end,h=function(a){return 1==a.nodeType?"br"!=a.tagName.toLowerCase():!domUtils.isWhitespace(a)},i=domUtils.getNextDomNode(f.start,!1,h),j=this.cloneRange();i&&domUtils.getPosition(i,g)&domUtils.POSITION_PRECEDING;)if(3==i.nodeType||dtd[a][i.tagName]){for(j.setStartBefore(i),d=i;d&&(3==d.nodeType||dtd[a][d.tagName])&&d!==g;)e=d,d=domUtils.getNextDomNode(d,1==d.nodeType,null,function(b){return dtd[a][b.tagName]});var k,l=j.setEndAfter(e).extractContents();if(c&&c.length>0){var m,n;n=m=c[0].cloneNode(!1);for(var o,p=1;o=c[p++];)m.appendChild(o.cloneNode(!1)),m=m.firstChild;k=m}else k=j.document.createElement(a);b&&domUtils.setAttributes(k,b),k.appendChild(l),j.insertNode(c?n:k);var q;if("span"==a&&b.style&&/text\-decoration/.test(b.style)&&(q=domUtils.findParentByTagName(k,"a",!0))?(domUtils.setAttributes(q,b),domUtils.remove(k,!0),k=q):(domUtils.mergeSibling(k),domUtils.clearEmptySibling(k)),domUtils.mergeChild(k,b),i=domUtils.getNextDomNode(k,!1,h),domUtils.mergeToParent(k),d===g)break}else i=domUtils.getNextDomNode(i,!0,h);return this.moveToBookmark(f)},removeInlineStyle:function(a){if(this.collapsed)return this;a=utils.isArray(a)?a:[a],this.shrinkBoundary().adjustmentBoundary();for(var b=this.startContainer,c=this.endContainer;;){if(1==b.nodeType){if(utils.indexOf(a,b.tagName.toLowerCase())>-1)break;if("body"==b.tagName.toLowerCase()){b=null;break}}b=b.parentNode}for(;;){if(1==c.nodeType){if(utils.indexOf(a,c.tagName.toLowerCase())>-1)break;if("body"==c.tagName.toLowerCase()){c=null;break}}c=c.parentNode}var d,e,f=this.createBookmark();b&&(e=this.cloneRange().setEndBefore(f.start).setStartBefore(b),d=e.extractContents(),e.insertNode(d),domUtils.clearEmptySibling(b,!0),b.parentNode.insertBefore(f.start,b)),c&&(e=this.cloneRange().setStartAfter(f.end).setEndAfter(c),d=e.extractContents(),e.insertNode(d),domUtils.clearEmptySibling(c,!1,!0),c.parentNode.insertBefore(f.end,c.nextSibling));for(var g,h=domUtils.getNextDomNode(f.start,!1,function(a){return 1==a.nodeType});h&&h!==f.end;)g=domUtils.getNextDomNode(h,!0,function(a){return 1==a.nodeType}),utils.indexOf(a,h.tagName.toLowerCase())>-1&&domUtils.remove(h,!0),h=g;return this.moveToBookmark(f)},getClosedNode:function(){var a;if(!this.collapsed){var c=this.cloneRange().adjustmentBoundary().shrinkBoundary();if(b(c)){var d=c.startContainer.childNodes[c.startOffset];d&&1==d.nodeType&&(dtd.$empty[d.tagName]||dtd.$nonChild[d.tagName])&&(a=d)}}return a},select:browser.ie?function(a,b){var c;this.collapsed||this.shrinkBoundary();var d=this.getClosedNode();if(d&&!b){try{c=this.document.body.createControlRange(),c.addElement(d),c.select()}catch(h){}return this}var j,k=this.createBookmark(),l=k.start;if(c=this.document.body.createTextRange(),c.moveToElementText(l),c.moveStart("character",1),this.collapsed){if(!a&&3!=this.startContainer.nodeType){var m=this.document.createTextNode(i),n=this.document.createElement("span");n.appendChild(this.document.createTextNode(i)),l.parentNode.insertBefore(n,l),l.parentNode.insertBefore(m,l),e(this.document,m),g=m,f(n,"previousSibling"),f(l,"nextSibling"),c.moveStart("character",-1),c.collapse(!0)}}else{var o=this.document.body.createTextRange();j=k.end,o.moveToElementText(j),c.setEndPoint("EndToEnd",o)}this.moveToBookmark(k),n&&domUtils.remove(n);try{c.select()}catch(h){}return this}:function(a){function b(a){function b(b,c,d){3==b.nodeType&&b.nodeValue.length0)j=k-1;else{if(!(l<0))return{container:d,offset:c(e)};i=k+1}}if(k==-1){if(h.moveToElementText(d),h.setEndPoint("StartToStart",a),f=h.text.replace(/(\r\n|\r)/g,"\n").length,g=d.childNodes,!f)return e=g[g.length-1],{container:e,offset:e.nodeValue.length};for(var m=g.length;f>0;)f-=g[--m].nodeValue.length;return{container:g[m],offset:-f}}if(h.collapse(l>0),h.setEndPoint(l>0?"StartToStart":"EndToStart",a),f=h.text.replace(/(\r\n|\r)/g,"\n").length,!f)return dtd.$empty[e.tagName]||dtd.$nonChild[e.tagName]?{container:d,offset:c(e)+(l>0?0:1)}:{container:e,offset:l>0?0:e.childNodes.length};for(;f>0;)try{var n=e;e=e[l>0?"previousSibling":"nextSibling"],f-=e.nodeValue.length}catch(o){return{container:d,offset:c(n)}}return{container:e,offset:l>0?-f:e.nodeValue.length+f}}function b(b,c){if(b.item)c.selectNode(b.item(0));else{var d=a(b,!0);c.setStart(d.container,d.offset),0!=b.compareEndPoints("StartToEnd",b)&&(d=a(b,!1),c.setEnd(d.container,d.offset))}return c}function c(a){var b;try{b=a.getNative().createRange()}catch(c){return null}var d=b.item?b.item(0):b.parentElement();return(d.ownerDocument||d)===a.document?b:null}var d=dom.Selection=function(a){var b,d=this;d.document=a,browser.ie9below&&(b=domUtils.getWindow(a).frameElement,domUtils.on(b,"beforedeactivate",function(){d._bakIERange=d.getIERange()}),domUtils.on(b,"activate",function(){try{!c(d)&&d._bakIERange&&d._bakIERange.select()}catch(a){}d._bakIERange=null})),b=a=null};d.prototype={rangeInBody:function(a,b){var c=browser.ie9below||b?a.item?a.item():a.parentElement():a.startContainer;return c===this.document.body||domUtils.inDoc(c,this.document)},getNative:function(){var a=this.document;try{return a?browser.ie9below?a.selection:domUtils.getWindow(a).getSelection():null}catch(b){return null}},getIERange:function(){var a=c(this);return!a&&this._bakIERange?this._bakIERange:a},cache:function(){this.clear(),this._cachedRange=this.getRange(),this._cachedStartElement=this.getStart(),this._cachedStartElementPath=this.getStartElementPath()},getStartElementPath:function(){if(this._cachedStartElementPath)return this._cachedStartElementPath;var a=this.getStart();return a?domUtils.findParents(a,!0,null,!0):[]},clear:function(){this._cachedStartElementPath=this._cachedRange=this._cachedStartElement=null},isFocus:function(){try{if(browser.ie9below){var a=c(this);return!(!a||!this.rangeInBody(a))}return!!this.getNative().rangeCount}catch(b){return!1}},getRange:function(){function a(a){for(var b=c.document.body.firstChild,d=a.collapsed;b&&b.firstChild;)a.setStart(b,0),b=b.firstChild;a.startContainer||a.setStart(c.document.body,0),d&&a.collapse(!0)}var c=this;if(null!=c._cachedRange)return this._cachedRange;var d=new baidu.editor.dom.Range(c.document);if(browser.ie9below){var e=c.getIERange();if(e)try{b(e,d)}catch(f){a(d)}else a(d)}else{var g=c.getNative();if(g&&g.rangeCount){var h=g.getRangeAt(0),i=g.getRangeAt(g.rangeCount-1);d.setStart(h.startContainer,h.startOffset).setEnd(i.endContainer,i.endOffset),d.collapsed&&domUtils.isBody(d.startContainer)&&!d.startOffset&&a(d)}else{if(this._bakRange&&domUtils.inDoc(this._bakRange.startContainer,this.document))return this._bakRange;a(d)}}return this._bakRange=d},getStart:function(){if(this._cachedStartElement)return this._cachedStartElement;var a,b,c,d,e=browser.ie9below?this.getIERange():this.getRange();if(browser.ie9below){if(!e)return this.document.body.firstChild;if(e.item)return e.item(0);for(a=e.duplicate(),a.text.length>0&&a.moveStart("character",1),a.collapse(1),b=a.parentElement(),d=c=e.parentElement();c=c.parentNode;)if(c==b){b=d;break}}else if(e.shrinkBoundary(),b=e.startContainer,1==b.nodeType&&b.hasChildNodes()&&(b=b.childNodes[Math.min(b.childNodes.length-1,e.startOffset)]),3==b.nodeType)return b.parentNode;return b},getText:function(){var a,b;return this.isFocus()&&(a=this.getNative())?(b=browser.ie9below?a.createRange():a.getRangeAt(0),browser.ie9below?b.text:b.toString()):""},clearRange:function(){this.getNative()[browser.ie9below?"empty":"removeAllRanges"]()}}}(),function(){function a(a,b){var c;if(b.textarea)if(utils.isString(b.textarea)){for(var d,e=0,f=domUtils.getElementsByTagName(a,"textarea");d=f[e++];)if(d.id=="ueditor_textarea_"+b.options.textarea){c=d;break}}else c=b.textarea;c||(a.appendChild(c=domUtils.createElement(document,"textarea",{name:b.options.textarea,id:"ueditor_textarea_"+b.options.textarea,style:"display:none"})),b.textarea=c),!c.getAttribute("name")&&c.setAttribute("name",b.options.textarea),c.value=b.hasContents()?b.options.allHtmlEnabled?b.getAllHtml():b.getContent(null,null,!0):""}function b(a){for(var b in a)return b}function c(a){a.langIsReady=!0,a.fireEvent("langReady")}var d,e=0,f=UE.Editor=function(a){var d=this;d.uid=e++,EventBase.call(d),d.commands={},d.options=utils.extend(utils.clone(a||{}),UEDITOR_CONFIG,!0),d.shortcutkeys={},d.inputRules=[],d.outputRules=[],d.setOpt(f.defaultOptions(d)),d.loadServerConfig(),utils.isEmptyObject(UE.I18N)?utils.loadFile(document,{src:d.options.langPath+d.options.lang+"/"+d.options.lang+".js",tag:"script",type:"text/javascript",defer:"defer"},function(){UE.plugin.load(d),c(d)}):(d.options.lang=b(UE.I18N),UE.plugin.load(d),c(d)),UE.instants["ueditorInstant"+d.uid]=d};f.prototype={registerCommand:function(a,b){this.commands[a]=b},ready:function(a){var b=this;a&&(b.isReady?a.apply(b):b.addListener("ready",a))},setOpt:function(a,b){var c={};utils.isString(a)?c[a]=b:c=a,utils.extend(this.options,c,!0)},getOpt:function(a){return this.options[a]},destroy:function(){var a=this;a.fireEvent("destroy");var b=a.container.parentNode,c=a.textarea;c?c.style.display="":(c=document.createElement("textarea"),b.parentNode.insertBefore(c,b)),c.style.width=a.iframe.offsetWidth+"px",c.style.height=a.iframe.offsetHeight+"px",c.value=a.getContent(),c.id=a.key,b.innerHTML="",domUtils.remove(b);var d=a.key;for(var e in a)a.hasOwnProperty(e)&&delete this[e];UE.delEditor(d)},render:function(a){var b=this,c=b.options,d=function(b){return parseInt(domUtils.getComputedStyle(a,b))};if(utils.isString(a)&&(a=document.getElementById(a)),a){c.initialFrameWidth?c.minFrameWidth=c.initialFrameWidth:c.minFrameWidth=c.initialFrameWidth=a.offsetWidth,c.initialFrameHeight?c.minFrameHeight=c.initialFrameHeight:c.initialFrameHeight=c.minFrameHeight=a.offsetHeight,a.style.width=/%$/.test(c.initialFrameWidth)?"100%":c.initialFrameWidth-d("padding-left")-d("padding-right")+"px",a.style.height=/%$/.test(c.initialFrameHeight)?"100%":c.initialFrameHeight-d("padding-top")-d("padding-bottom")+"px",a.style.zIndex=c.zIndex;var e=(ie&&browser.version<9?"":"")+""+(c.iframeCssUrl?"":"")+(c.initialStyle?"":"")+"";a.appendChild(domUtils.createElement(document,"iframe",{id:"ueditor_"+b.uid,width:"100%",height:"100%",frameborder:"0",src:"javascript:void(function(){document.open();"+(c.customDomain&&document.domain!=location.hostname?'document.domain="'+document.domain+'";':"")+'document.write("'+e+'");document.close();}())'})),a.style.overflow="hidden",setTimeout(function(){/%$/.test(c.initialFrameWidth)&&(c.minFrameWidth=c.initialFrameWidth=a.offsetWidth),/%$/.test(c.initialFrameHeight)&&(c.minFrameHeight=c.initialFrameHeight=a.offsetHeight,a.style.height=c.initialFrameHeight+"px")})}},_setup:function(b){var c=this,d=c.options;ie?(b.body.disabled=!0,b.body.contentEditable=!0,b.body.disabled=!1):b.body.contentEditable=!0,b.body.spellcheck=!1,c.document=b,c.window=b.defaultView||b.parentWindow,c.iframe=c.window.frameElement,c.body=b.body,c.selection=new dom.Selection(b);var e;browser.gecko&&(e=this.selection.getNative())&&e.removeAllRanges(),this._initEvents();for(var f=this.iframe.parentNode;!domUtils.isBody(f);f=f.parentNode)if("FORM"==f.tagName){c.form=f,c.options.autoSyncData?domUtils.on(c.window,"blur",function(){a(f,c)}):domUtils.on(f,"submit",function(){a(this,c)});break}if(d.initialContent)if(d.autoClearinitialContent){var g=c.execCommand;c.execCommand=function(){return c.fireEvent("firstBeforeExecCommand"),g.apply(c,arguments)},this._setDefaultContent(d.initialContent)}else this.setContent(d.initialContent,!1,!0);domUtils.isEmptyNode(c.body)&&(c.body.innerHTML="

    "+(browser.ie?"":"
    ")+"

    "),d.focus&&setTimeout(function(){c.focus(c.options.focusInEnd),!c.options.autoClearinitialContent&&c._selectionChange()},0),c.container||(c.container=this.iframe.parentNode),d.fullscreen&&c.ui&&c.ui.setFullScreen(!0);try{c.document.execCommand("2D-position",!1,!1)}catch(h){}try{c.document.execCommand("enableInlineTableEditing",!1,!1)}catch(h){}try{c.document.execCommand("enableObjectResizing",!1,!1)}catch(h){}c._bindshortcutKeys(),c.isReady=1,c.fireEvent("ready"),d.onready&&d.onready.call(c),browser.ie9below||domUtils.on(c.window,["blur","focus"],function(a){if("blur"==a.type){c._bakRange=c.selection.getRange();try{c._bakNativeRange=c.selection.getNative().getRangeAt(0),c.selection.getNative().removeAllRanges()}catch(a){c._bakNativeRange=null}}else try{c._bakRange&&c._bakRange.select()}catch(a){}}),browser.gecko&&browser.version<=10902&&(c.body.contentEditable=!1,setTimeout(function(){c.body.contentEditable=!0},100),setInterval(function(){c.body.style.height=c.iframe.offsetHeight-20+"px"},100)),!d.isShow&&c.setHide(),d.readonly&&c.setDisabled()},sync:function(b){var c=this,d=b?document.getElementById(b):domUtils.findParent(c.iframe.parentNode,function(a){return"FORM"==a.tagName},!0);d&&a(d,c)},setHeight:function(a,b){a!==parseInt(this.iframe.parentNode.style.height)&&(this.iframe.parentNode.style.height=a+"px"),!b&&(this.options.minFrameHeight=this.options.initialFrameHeight=a),this.body.style.height=a+"px",!b&&this.trigger("setHeight")},addshortcutkey:function(a,b){var c={};b?c[a]=b:c=a,utils.extend(this.shortcutkeys,c)},_bindshortcutKeys:function(){var a=this,b=this.shortcutkeys;a.addListener("keydown",function(c,d){var e=d.keyCode||d.which;for(var f in b)for(var g,h=b[f].split(","),i=0;g=h[i++];){g=g.split(":");var j=g[0],k=g[1];(/^(ctrl)(\+shift)?\+(\d+)$/.test(j.toLowerCase())||/^(\d+)$/.test(j))&&(("ctrl"==RegExp.$1?d.ctrlKey||d.metaKey:0)&&(""!=RegExp.$2?d[RegExp.$2.slice(1)+"Key"]:1)&&e==RegExp.$3||e==RegExp.$1)&&(a.queryCommandState(f,k)!=-1&&a.execCommand(f,k),domUtils.preventDefault(d))}})},getContent:function(a,b,c,d,e){var f=this;if(a&&utils.isFunction(a)&&(b=a,a=""),b?!b():!this.hasContents())return"";f.fireEvent("beforegetcontent");var g=UE.htmlparser(f.body.innerHTML,d);return f.filterOutputRule(g),f.fireEvent("aftergetcontent",a,g),g.toHtml(e)},getAllHtml:function(){var a=this,b=[];if(a.fireEvent("getAllHtml",b),browser.ie&&browser.version>8){var c="";utils.each(a.document.styleSheets,function(a){c+=a.href?'':""}),utils.each(a.document.getElementsByTagName("script"),function(a){c+=a.outerHTML})}return""+(a.options.charset?'':"")+(c||a.document.getElementsByTagName("head")[0].innerHTML)+b.join("\n")+""+a.getContent(null,null,!0)+""},getPlainTxt:function(){var a=new RegExp(domUtils.fillChar,"g"),b=this.body.innerHTML.replace(/[\n\r]/g,"");return b=b.replace(/<(p|div)[^>]*>(| )<\/\1>/gi,"\n").replace(//gi,"\n").replace(/<[^>\/]+>/g,"").replace(/(\n)?<\/([^>]+)>/g,function(a,b,c){return dtd.$block[c]?"\n":b?b:""}),b.replace(a,"").replace(/\u00a0/g," ").replace(/ /g," ")},getContentTxt:function(){var a=new RegExp(domUtils.fillChar,"g");return this.body[browser.ie?"innerText":"textContent"].replace(a,"").replace(/\u00a0/g," ")},setContent:function(b,c,d){function e(a){return"DIV"==a.tagName&&a.getAttribute("cdata_tag")}var f=this;f.fireEvent("beforesetcontent",b);var g=UE.htmlparser(b);if(f.filterInputRule(g),b=g.toHtml(),f.body.innerHTML=(c?f.body.innerHTML:"")+b,"p"==f.options.enterTag){var h,i=this.body.firstChild;if(!i||1==i.nodeType&&(dtd.$cdata[i.tagName]||e(i)||domUtils.isCustomeNode(i))&&i===this.body.lastChild)this.body.innerHTML="

    "+(browser.ie?" ":"
    ")+"

    "+this.body.innerHTML;else for(var j=f.document.createElement("p");i;){for(;i&&(3==i.nodeType||1==i.nodeType&&dtd.p[i.tagName]&&!dtd.$cdata[i.tagName]);)h=i.nextSibling,j.appendChild(i),i=h;if(j.firstChild){if(!i){f.body.appendChild(j);break}i.parentNode.insertBefore(j,i),j=f.document.createElement("p")}i=i.nextSibling}}f.fireEvent("aftersetcontent"),f.fireEvent("contentchange"),!d&&f._selectionChange(),f._bakRange=f._bakIERange=f._bakNativeRange=null;var k;browser.gecko&&(k=this.selection.getNative())&&k.removeAllRanges(),f.options.autoSyncData&&f.form&&a(f.form,f)},focus:function(a){try{var b=this,c=b.selection.getRange();if(a){var d=b.body.lastChild;d&&1==d.nodeType&&!dtd.$empty[d.tagName]&&(domUtils.isEmptyBlock(d)?c.setStartAtFirst(d):c.setStartAtLast(d),c.collapse(!0)),c.setCursor(!0)}else{if(!c.collapsed&&domUtils.isBody(c.startContainer)&&0==c.startOffset){var d=b.body.firstChild;d&&1==d.nodeType&&!dtd.$empty[d.tagName]&&c.setStartAtFirst(d).collapse(!0)}c.select(!0)}this.fireEvent("focus selectionchange")}catch(e){}},isFocus:function(){return this.selection.isFocus()},blur:function(){var a=this.selection.getNative();if(a.empty&&browser.ie){var b=document.body.createTextRange();b.moveToElementText(document.body),b.collapse(!0),b.select(),a.empty()}else a.removeAllRanges()},_initEvents:function(){var a=this,b=a.document,c=a.window;a._proxyDomEvent=utils.bind(a._proxyDomEvent,a),domUtils.on(b,["click","contextmenu","mousedown","keydown","keyup","keypress","mouseup","mouseover","mouseout","selectstart"],a._proxyDomEvent),domUtils.on(c,["focus","blur"],a._proxyDomEvent),domUtils.on(a.body,"drop",function(b){browser.gecko&&b.stopPropagation&&b.stopPropagation(),a.fireEvent("contentchange")}),domUtils.on(b,["mouseup","keydown"],function(b){"keydown"==b.type&&(b.ctrlKey||b.metaKey||b.shiftKey||b.altKey)||2!=b.button&&a._selectionChange(250,b)})},_proxyDomEvent:function(a){return this.fireEvent("before"+a.type.replace(/^on/,"").toLowerCase())!==!1&&(this.fireEvent(a.type.replace(/^on/,""),a)!==!1&&this.fireEvent("after"+a.type.replace(/^on/,"").toLowerCase()))},_selectionChange:function(a,b){var c,e,f=this,g=!1;if(browser.ie&&browser.version<9&&b&&"mouseup"==b.type){var h=this.selection.getRange();h.collapsed||(g=!0,c=b.clientX,e=b.clientY)}clearTimeout(d),d=setTimeout(function(){if(f.selection&&f.selection.getNative()){var a;if(g&&"None"==f.selection.getNative().type){a=f.document.body.createTextRange();try{a.moveToPoint(c,e)}catch(d){a=null}}var h;a&&(h=f.selection.getIERange,f.selection.getIERange=function(){return a}),f.selection.cache(),h&&(f.selection.getIERange=h),f.selection._cachedRange&&f.selection._cachedStartElement&&(f.fireEvent("beforeselectionchange"),f.fireEvent("selectionchange",!!b),f.fireEvent("afterselectionchange"),f.selection.clear())}},a||50)},_callCmdFn:function(a,b){var c,d,e=b[0].toLowerCase();return c=this.commands[e]||UE.commands[e],d=c&&c[a],c&&d||"queryCommandState"!=a?d?d.apply(this,b):void 0:0},execCommand:function(a){a=a.toLowerCase();var b,c=this,d=c.commands[a]||UE.commands[a];return d&&d.execCommand?(d.notNeedUndo||c.__hasEnterExecCommand?(b=this._callCmdFn("execCommand",arguments),!c.__hasEnterExecCommand&&!d.ignoreContentChange&&!c._ignoreContentChange&&c.fireEvent("contentchange")):(c.__hasEnterExecCommand=!0,c.queryCommandState.apply(c,arguments)!=-1&&(c.fireEvent("saveScene"),c.fireEvent.apply(c,["beforeexeccommand",a].concat(arguments)),b=this._callCmdFn("execCommand",arguments),c.fireEvent.apply(c,["afterexeccommand",a].concat(arguments)),c.fireEvent("saveScene")),c.__hasEnterExecCommand=!1),!c.__hasEnterExecCommand&&!d.ignoreContentChange&&!c._ignoreContentChange&&c._selectionChange(),b):null},queryCommandState:function(a){return this._callCmdFn("queryCommandState",arguments)},queryCommandValue:function(a){return this._callCmdFn("queryCommandValue",arguments)},hasContents:function(a){if(a)for(var b,c=0;b=a[c++];)if(this.document.getElementsByTagName(b).length>0)return!0;if(!domUtils.isEmptyBlock(this.body))return!0;for(a=["div"],c=0;b=a[c++];)for(var d,e=domUtils.getElementsByTagName(this.document,b),f=0;d=e[f++];)if(domUtils.isCustomeNode(d))return!0;return!1},reset:function(){this.fireEvent("reset")},setEnabled:function(){var a,b=this;if("false"==b.body.contentEditable){b.body.contentEditable=!0,a=b.selection.getRange();try{a.moveToBookmark(b.lastBk),delete b.lastBk}catch(c){a.setStartAtFirst(b.body).collapse(!0)}a.select(!0),b.bkqueryCommandState&&(b.queryCommandState=b.bkqueryCommandState,delete b.bkqueryCommandState),b.bkqueryCommandValue&&(b.queryCommandValue=b.bkqueryCommandValue,delete b.bkqueryCommandValue),b.fireEvent("selectionchange")}},enable:function(){return this.setEnabled()},setDisabled:function(a){var b=this;a=a?utils.isArray(a)?a:[a]:[],"true"==b.body.contentEditable&&(b.lastBk||(b.lastBk=b.selection.getRange().createBookmark(!0)),b.body.contentEditable=!1,b.bkqueryCommandState=b.queryCommandState,b.bkqueryCommandValue=b.queryCommandValue,b.queryCommandState=function(c){return utils.indexOf(a,c)!=-1?b.bkqueryCommandState.apply(b,arguments):-1},b.queryCommandValue=function(c){return utils.indexOf(a,c)!=-1?b.bkqueryCommandValue.apply(b,arguments):null},b.fireEvent("selectionchange"))},disable:function(a){return this.setDisabled(a)},_setDefaultContent:function(){function a(){var b=this;b.document.getElementById("initContent")&&(b.body.innerHTML="

    "+(ie?"":"
    ")+"

    ",b.removeListener("firstBeforeExecCommand focus",a),setTimeout(function(){b.focus(),b._selectionChange()},0))}return function(b){var c=this;c.body.innerHTML='

    '+b+"

    ",c.addListener("firstBeforeExecCommand focus",a)}}(),setShow:function(){var a=this,b=a.selection.getRange();if("none"==a.container.style.display){try{b.moveToBookmark(a.lastBk),delete a.lastBk}catch(c){b.setStartAtFirst(a.body).collapse(!0)}setTimeout(function(){b.select(!0)},100),a.container.style.display=""}},show:function(){return this.setShow()},setHide:function(){ -var a=this;a.lastBk||(a.lastBk=a.selection.getRange().createBookmark(!0)),a.container.style.display="none"},hide:function(){return this.setHide()},getLang:function(a){var b=UE.I18N[this.options.lang];if(!b)throw Error("not import language file");a=(a||"").split(".");for(var c,d=0;(c=a[d++])&&(b=b[c],b););return b},getContentLength:function(a,b){var c=this.getContent(!1,!1,!0).length;if(a){b=(b||[]).concat(["hr","img","iframe"]),c=this.getContentTxt().replace(/[\t\r\n]+/g,"").length;for(var d,e=0;d=b[e++];)c+=this.document.getElementsByTagName(d).length}return c},addInputRule:function(a){this.inputRules.push(a)},filterInputRule:function(a){for(var b,c=0;b=this.inputRules[c++];)b.call(this,a)},addOutputRule:function(a){this.outputRules.push(a)},filterOutputRule:function(a){for(var b,c=0;b=this.outputRules[c++];)b.call(this,a)},getActionUrl:function(a){var b=this.getOpt(a)||a,c=this.getOpt("imageUrl"),d=this.getOpt("serverUrl");return!d&&c&&(d=c.replace(/^(.*[\/]).+([\.].+)$/,"$1controller$2")),d?(d=d+(d.indexOf("?")==-1?"?":"&")+"action="+(b||""),utils.formatUrl(d)):""}},utils.inherits(f,EventBase)}(),UE.Editor.defaultOptions=function(a){var b=a.options.UEDITOR_HOME_URL;return{isShow:!0,initialContent:"",initialStyle:"",autoClearinitialContent:!1,iframeCssUrl:b+"themes/iframe.css",textarea:"editorValue",focus:!1,focusInEnd:!0,autoClearEmptyNode:!0,fullscreen:!1,readonly:!1,zIndex:999,imagePopup:!0,enterTag:"p",customDomain:!1,lang:"zh-cn",langPath:b+"lang/",theme:"default",themePath:b+"themes/",allHtmlEnabled:!1,scaleEnabled:!1,tableNativeEditInFF:!1,autoSyncData:!0,fileNameFormat:"{time}{rand:6}"}},function(){UE.Editor.prototype.loadServerConfig=function(){function showErrorMsg(a){console&&console.error(a)}var me=this;setTimeout(function(){try{me.options.imageUrl&&me.setOpt("serverUrl",me.options.imageUrl.replace(/^(.*[\/]).+([\.].+)$/,"$1controller$2"));var configUrl=me.getActionUrl("config"),isJsonp=utils.isCrossDomainUrl(configUrl);me._serverConfigLoaded=!1,configUrl&&UE.ajax.request(configUrl,{method:"GET",dataType:isJsonp?"jsonp":"",onsuccess:function(r){try{var config=isJsonp?r:eval("("+r.responseText+")");utils.extend(me.options,config),me.fireEvent("serverConfigLoaded"),me._serverConfigLoaded=!0}catch(e){showErrorMsg(me.getLang("loadconfigFormatError"))}},onerror:function(){showErrorMsg(me.getLang("loadconfigHttpError"))}})}catch(e){showErrorMsg(me.getLang("loadconfigError"))}})},UE.Editor.prototype.isServerConfigLoaded=function(){var a=this;return a._serverConfigLoaded||!1},UE.Editor.prototype.afterConfigReady=function(a){if(a&&utils.isFunction(a)){var b=this,c=function(){a.apply(b,arguments),b.removeListener("serverConfigLoaded",c)};b.isServerConfigLoaded()?a.call(b,"serverConfigLoaded"):b.addListener("serverConfigLoaded",c)}}}(),UE.ajax=function(){function a(a){var b=[];for(var c in a)if("method"!=c&&"timeout"!=c&&"async"!=c&&"dataType"!=c&&"callback"!=c&&void 0!=a[c]&&null!=a[c])if("function"!=(typeof a[c]).toLowerCase()&&"object"!=(typeof a[c]).toLowerCase())b.push(encodeURIComponent(c)+"="+encodeURIComponent(a[c]));else if(utils.isArray(a[c]))for(var d=0;d/gi,"").replace(/]*>[\s\S]*?.<\/v:shape>/gi,function(a){if(browser.opera)return"";try{if(/Bitmap/i.test(a))return"";var c=a.match(/width:([ \d.]*p[tx])/i)[1],d=a.match(/height:([ \d.]*p[tx])/i)[1],e=a.match(/src=\s*"([^"]*)"/i)[1];return''}catch(f){return""}}).replace(/<\/?div[^>]*>/g,"").replace(/v:\w+=(["']?)[^'"]+\1/g,"").replace(/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|xml|meta|link|style|\w+:\w+)(?=[\s\/>]))[^>]*>/gi,"").replace(/

    ]*class="?MsoHeading"?[^>]*>(.*?)<\/p>/gi,"

    $1

    ").replace(/\s+(class|lang|align)\s*=\s*(['"]?)([\w-]+)\2/gi,function(a,b,c,d){return"class"==b&&"MsoListParagraph"==d?a:""}).replace(/<(font|span)[^>]*>(\s*)<\/\1>/gi,function(a,b,c){return c.replace(/[\t\r\n ]+/g," ")}).replace(/(<[a-z][^>]*)\sstyle=(["'])([^\2]*?)\2/gi,function(a,c,d,e){for(var f,g=[],h=e.replace(/^\s+|\s+$/,"").replace(/'/g,"'").replace(/"/gi,"'").replace(/[\d.]+(cm|pt)/g,function(a){return utils.transUnitToPx(a)}).split(/;\s*/g),i=0;f=h[i];i++){var j,k,l=f.split(":");if(2==l.length){if(j=l[0].toLowerCase(),k=l[1].toLowerCase(),/^(background)\w*/.test(j)&&0==k.replace(/(initial|\s)/g,"").length||/^(margin)\w*/.test(j)&&/^0\w+$/.test(k))continue;switch(j){case"mso-padding-alt":case"mso-padding-top-alt":case"mso-padding-right-alt":case"mso-padding-bottom-alt":case"mso-padding-left-alt":case"mso-margin-alt":case"mso-margin-top-alt":case"mso-margin-right-alt":case"mso-margin-bottom-alt":case"mso-margin-left-alt":case"mso-height":case"mso-width":case"mso-vertical-align-alt":/1&&(a(h,j,!0),b(h,j)),c(k,h,i,j);break;case"text":d(g,h);break;case"element":e(g,h,i,j);break;case"comment":f(g,h,i)}return h}function d(a,b){"pre"==a.parentNode.tagName?b.push(a.data):b.push(l[a.parentNode.tagName]?utils.html(a.data):a.data.replace(/[ ]{2}/g,"  "))}function e(d,e,f,g){var h="";if(d.attrs){h=[];var i=d.attrs;for(var j in i)h.push(j+(void 0!==i[j]?'="'+(k[j]?utils.html(i[j]).replace(/["]/g,function(a){return"""}):utils.unhtml(i[j]))+'"':""));h=h.join(" ")}if(e.push("<"+d.tagName+(h?" "+h:"")+(dtd.$empty[d.tagName]?"/":"")+">"),f&&!dtd.$inlineWithA[d.tagName]&&"pre"!=d.tagName&&d.children&&d.children.length&&(g=a(e,g,!0),b(e,g)),d.children&&d.children.length)for(var l,m=0;l=d.children[m++];)f&&"element"==l.type&&!dtd.$inlineWithA[l.tagName]&&m>1&&(a(e,g),b(e,g)),c(l,e,f,g);dtd.$empty[d.tagName]||(f&&!dtd.$inlineWithA[d.tagName]&&"pre"!=d.tagName&&d.children&&d.children.length&&(g=a(e,g),b(e,g)),e.push(""))}function f(a,b){b.push("")}function g(a,b){var c;if("element"==a.type&&a.getAttr("id")==b)return a;if(a.children&&a.children.length)for(var d,e=0;d=a.children[e++];)if(c=g(d,b))return c}function h(a,b,c){if("element"==a.type&&a.tagName==b&&c.push(a),a.children&&a.children.length)for(var d,e=0;d=a.children[e++];)h(d,b,c)}function i(a,b){if(a.children&&a.children.length)for(var c,d=0;c=a.children[d];)i(c,b),c.parentNode&&(c.children&&c.children.length&&b(c),c.parentNode&&d++);else b(a)}var j=UE.uNode=function(a){this.type=a.type,this.data=a.data,this.tagName=a.tagName,this.parentNode=a.parentNode,this.attrs=a.attrs||{},this.children=a.children},k={href:1,src:1,_src:1,_href:1,cdata_data:1},l={style:1,script:1},m=" ",n="\n";j.createElement=function(a){return/[<>]/.test(a)?UE.htmlparser(a).children[0]:new j({type:"element",children:[],tagName:a})},j.createText=function(a,b){return new UE.uNode({type:"text",data:b?a:utils.unhtml(a||"")})},j.prototype={toHtml:function(a){var b=[];return c(this,b,a,0),b.join("")},innerHTML:function(a){if("element"!=this.type||dtd.$empty[this.tagName])return this;if(utils.isString(a)){if(this.children)for(var b,c=0;b=this.children[c++];)b.parentNode=null;this.children=[];for(var b,d=UE.htmlparser(a),c=0;b=d.children[c++];)this.children.push(b),b.parentNode=this;return this}var d=new UE.uNode({type:"root",children:this.children});return d.toHtml()},innerText:function(a,b){if("element"!=this.type||dtd.$empty[this.tagName])return this;if(a){if(this.children)for(var c,d=0;c=this.children[d++];)c.parentNode=null;return this.children=[],this.appendChild(j.createText(a,b)),this}return this.toHtml().replace(/<[^>]+>/g,"")},getData:function(){return"element"==this.type?"":this.data},firstChild:function(){return this.children?this.children[0]:null},lastChild:function(){return this.children?this.children[this.children.length-1]:null},previousSibling:function(){for(var a,b=this.parentNode,c=0;a=b.children[c];c++)if(a===this)return 0==c?null:b.children[c-1]},nextSibling:function(){for(var a,b=this.parentNode,c=0;a=b.children[c++];)if(a===this)return b.children[c]},replaceChild:function(a,b){if(this.children){a.parentNode&&a.parentNode.removeChild(a);for(var c,d=0;c=this.children[d];d++)if(c===b)return this.children.splice(d,1,a),b.parentNode=null,a.parentNode=this,a}},appendChild:function(a){if("root"==this.type||"element"==this.type&&!dtd.$empty[this.tagName]){this.children||(this.children=[]),a.parentNode&&a.parentNode.removeChild(a);for(var b,c=0;b=this.children[c];c++)if(b===a){this.children.splice(c,1);break}return this.children.push(a),a.parentNode=this,a}},insertBefore:function(a,b){if(this.children){a.parentNode&&a.parentNode.removeChild(a);for(var c,d=0;c=this.children[d];d++)if(c===b)return this.children.splice(d,0,a),a.parentNode=this,a}},insertAfter:function(a,b){if(this.children){a.parentNode&&a.parentNode.removeChild(a);for(var c,d=0;c=this.children[d];d++)if(c===b)return this.children.splice(d+1,0,a),a.parentNode=this,a}},removeChild:function(a,b){if(this.children)for(var c,d=0;c=this.children[d];d++)if(c===a){if(this.children.splice(d,1),c.parentNode=null,b&&c.children&&c.children.length)for(var e,f=0;e=c.children[f];f++)this.children.splice(d+f,0,e),e.parentNode=this;return c}},getAttr:function(a){return this.attrs&&this.attrs[a.toLowerCase()]},setAttr:function(a,b){if(!a)return void delete this.attrs;if(this.attrs||(this.attrs={}),utils.isObject(a))for(var c in a)a[c]?this.attrs[c.toLowerCase()]=a[c]:delete this.attrs[c];else b?this.attrs[a.toLowerCase()]=b:delete this.attrs[a]},getIndex:function(){for(var a,b=this.parentNode,c=0;a=b.children[c];c++)if(a===this)return c;return-1},getNodeById:function(a){var b;if(this.children&&this.children.length)for(var c,d=0;c=this.children[d++];)if(b=g(c,a))return b},getNodesByTagName:function(a){a=utils.trim(a).replace(/[ ]{2,}/g," ").split(" ");var b=[],c=this;return utils.each(a,function(a){if(c.children&&c.children.length)for(var d,e=0;d=c.children[e++];)h(d,a,b)}),b},getStyle:function(a){var b=this.getAttr("style");if(!b)return"";var c=new RegExp("(^|;)\\s*"+a+":([^;]+)","i"),d=b.match(c);return d&&d[0]?d[2]:""},setStyle:function(a,b){function c(a,b){var c=new RegExp("(^|;)\\s*"+a+":([^;]+;?)","gi");d=d.replace(c,"$1"),b&&(d=a+":"+utils.unhtml(b)+";"+d)}var d=this.getAttr("style");if(d||(d=""),utils.isObject(a))for(var e in a)c(e,a[e]);else c(a,b);this.setAttr("style",utils.trim(d))},traversal:function(a){return this.children&&this.children.length&&i(this,a),this}}}();var htmlparser=UE.htmlparser=function(a,b){function c(a,b){if(m[a.tagName]){var c=k.createElement(m[a.tagName]);a.appendChild(c),c.appendChild(k.createText(b)),a=c}else a.appendChild(k.createText(b))}function d(a,b,c){var e;if(e=l[b]){for(var f,h=a;"root"!=h.type;){if(utils.isArray(e)?utils.indexOf(e,h.tagName)!=-1:e==h.tagName){a=h,f=!0;break}h=h.parentNode}f||(a=d(a,utils.isArray(e)?e[0]:e))}var i=new k({parentNode:a,type:"element",tagName:b.toLowerCase(),children:dtd.$empty[b]?null:[]});if(c){for(var m,n={};m=g.exec(c);)n[m[1].toLowerCase()]=j[m[1].toLowerCase()]?m[2]||m[3]||m[4]:utils.unhtml(m[2]||m[3]||m[4]);i.attrs=n}return a.children.push(i),dtd.$empty[b]?a:i}function e(a,b){a.children.push(new k({type:"comment",data:b,parentNode:a}))}var f=/<(?:(?:\/([^>]+)>)|(?:!--([\S|\s]*?)-->)|(?:([^\s\/<>]+)\s*((?:(?:"[^"]*")|(?:'[^']*')|[^"'<>])*)\/?>))/g,g=/([\w\-:.]+)(?:(?:\s*=\s*(?:(?:"([^"]*)")|(?:'([^']*)')|([^\s>]+)))|(?=\s|$))/g,h={b:1,code:1,i:1,u:1,strike:1,s:1,tt:1,strong:1,q:1,samp:1,em:1,span:1,sub:1,img:1,sup:1,font:1,big:1,small:1,iframe:1,a:1,br:1,pre:1};a=a.replace(new RegExp(domUtils.fillChar,"g"),""),b||(a=a.replace(new RegExp("[\\r\\t\\n"+(b?"":" ")+"]*]*)>[\\r\\t\\n"+(b?"":" ")+"]*","g"),function(a,c){return c&&h[c.toLowerCase()]?a.replace(/(^[\n\r]+)|([\n\r]+$)/g,""):a.replace(new RegExp("^[\\r\\n"+(b?"":" ")+"]+"),"").replace(new RegExp("[\\r\\n"+(b?"":" ")+"]+$"),"")}));for(var i,j={href:1,src:1},k=UE.uNode,l={td:"tr",tr:["tbody","thead","tfoot"],tbody:"table",th:"tr",thead:"table",tfoot:"table",caption:"table",li:["ul","ol"],dt:"dl",dd:"dl",option:"select"},m={ol:"li",ul:"li"},n=0,o=0,p=new k({type:"root",children:[]}),q=p;i=f.exec(a);){n=i.index;try{if(n>o&&c(q,a.slice(o,n)),i[3])dtd.$cdata[q.tagName]?c(q,i[0]):q=d(q,i[3].toLowerCase(),i[4]);else if(i[1]){if("root"!=q.type)if(dtd.$cdata[q.tagName]&&!dtd.$cdata[i[1]])c(q,i[0]);else{for(var r=q;"element"==q.type&&q.tagName!=i[1].toLowerCase();)if(q=q.parentNode,"root"==q.type)throw q=r,"break";q=q.parentNode}}else i[2]&&e(q,i[2])}catch(s){}o=f.lastIndex}return o");break;case"div":if(b.getAttr("cdata_tag"))break;if(d=b.getAttr("class"),d&&/^line number\d+/.test(d))break;if(!e)break;for(var f,g=UE.uNode.createElement("p");f=b.firstChild();)"text"!=f.type&&UE.dom.dtd.$block[f.tagName]?g.firstChild()?(b.parentNode.insertBefore(g,b),g=UE.uNode.createElement("p")):b.parentNode.insertBefore(f,b):g.appendChild(f);g.firstChild()&&b.parentNode.insertBefore(g,b),b.parentNode.removeChild(b);break;case"dl":b.tagName="ul";break;case"dt":case"dd":b.tagName="li";break;case"li":var h=b.getAttr("class");h&&/list\-/.test(h)||b.setAttr();var i=b.getNodesByTagName("ol ul");UE.utils.each(i,function(a){b.parentNode.insertAfter(a,b)});break;case"td":case"th":case"caption":b.children&&b.children.length||b.appendChild(browser.ie11below?UE.uNode.createText(" "):UE.uNode.createElement("br"));break;case"table":a.options.disabledTableInTable&&c(b)&&(b.parentNode.insertBefore(UE.uNode.createText(b.innerText()),b),b.parentNode.removeChild(b))}}})}),a.addOutputRule(function(b){var c;b.traversal(function(b){if("element"==b.type){if(a.options.autoClearEmptyNode&&dtd.$inline[b.tagName]&&!dtd.$empty[b.tagName]&&(!b.attrs||utils.isEmptyObject(b.attrs)))return void(b.firstChild()?"span"!=b.tagName||b.attrs&&!utils.isEmptyObject(b.attrs)||b.parentNode.removeChild(b,!0):b.parentNode.removeChild(b));switch(b.tagName){case"div":(c=b.getAttr("cdata_tag"))&&(b.tagName=c,b.appendChild(UE.uNode.createText(b.getAttr("cdata_data"))),b.setAttr({cdata_tag:"",cdata_data:"",_ue_custom_node_:""}));break;case"a":(c=b.getAttr("_href"))&&b.setAttr({href:utils.html(c),_href:""});break;case"span":c=b.getAttr("id"),c&&/^_baidu_bookmark_/i.test(c)&&b.parentNode.removeChild(b);break;case"img":(c=b.getAttr("_src"))&&b.setAttr({src:b.getAttr("_src"),_src:""})}}})})},UE.commands.inserthtml={execCommand:function(a,b,c){var d,e,f=this;if(b&&f.fireEvent("beforeinserthtml",b)!==!0){if(d=f.selection.getRange(),e=d.document.createElement("div"),e.style.display="inline",!c){var g=UE.htmlparser(b);f.options.filterRules&&UE.filterNode(g,f.options.filterRules),f.filterInputRule(g),b=g.toHtml()}if(e.innerHTML=utils.trim(b),!d.collapsed){var h=d.startContainer;if(domUtils.isFillChar(h)&&d.setStartBefore(h),h=d.endContainer,domUtils.isFillChar(h)&&d.setEndAfter(h),d.txtToElmBoundary(),d.endContainer&&1==d.endContainer.nodeType&&(h=d.endContainer.childNodes[d.endOffset],h&&domUtils.isBr(h)&&d.setEndAfter(h)),0==d.startOffset&&(h=d.startContainer,domUtils.isBoundaryNode(h,"firstChild")&&(h=d.endContainer,d.endOffset==(3==h.nodeType?h.nodeValue.length:h.childNodes.length)&&domUtils.isBoundaryNode(h,"lastChild")&&(f.body.innerHTML="

    "+(browser.ie?"":"
    ")+"

    ",d.setStart(f.body.firstChild,0).collapse(!0)))),!d.collapsed&&d.deleteContents(),1==d.startContainer.nodeType){var i,j=d.startContainer.childNodes[d.startOffset];if(j&&domUtils.isBlockElm(j)&&(i=j.previousSibling)&&domUtils.isBlockElm(i)){for(d.setEnd(i,i.childNodes.length).collapse();j.firstChild;)i.appendChild(j.firstChild);domUtils.remove(j)}}}var j,k,i,l,m,n=0;d.inFillChar()&&(j=d.startContainer,domUtils.isFillChar(j)?(d.setStartBefore(j).collapse(!0),domUtils.remove(j)):domUtils.isFillChar(j,!0)&&(j.nodeValue=j.nodeValue.replace(fillCharReg,""),d.startOffset--,d.collapsed&&d.collapse(!0)));var o=domUtils.findParentByTagName(d.startContainer,"li",!0);if(o){for(var p,q;j=e.firstChild;){for(;j&&(3==j.nodeType||!domUtils.isBlockElm(j)||"HR"==j.tagName);)p=j.nextSibling,d.insertNode(j).collapse(),q=j,j=p;if(j)if(/^(ol|ul)$/i.test(j.tagName)){for(;j.firstChild;)q=j.firstChild,domUtils.insertAfter(o,j.firstChild),o=o.nextSibling;domUtils.remove(j)}else{var r;p=j.nextSibling,r=f.document.createElement("li"),domUtils.insertAfter(o,r),r.appendChild(j),q=j,j=p,o=r}}o=domUtils.findParentByTagName(d.startContainer,"li",!0),domUtils.isEmptyBlock(o)&&domUtils.remove(o),q&&d.setStartAfter(q).collapse(!0).select(!0)}else{for(;j=e.firstChild;){if(n){for(var s=f.document.createElement("p");j&&(3==j.nodeType||!dtd.$block[j.tagName]);)m=j.nextSibling,s.appendChild(j),j=m;s.firstChild&&(j=s)}if(d.insertNode(j),m=j.nextSibling,!n&&j.nodeType==domUtils.NODE_ELEMENT&&domUtils.isBlockElm(j)&&(k=domUtils.findParent(j,function(a){return domUtils.isBlockElm(a)}),k&&"body"!=k.tagName.toLowerCase()&&(!dtd[k.tagName][j.nodeName]||j.parentNode!==k))){if(dtd[k.tagName][j.nodeName])for(l=j.parentNode;l!==k;)i=l,l=l.parentNode;else i=k;domUtils.breakParent(j,i||l);var i=j.previousSibling;domUtils.trimWhiteTextNode(i),i.childNodes.length||domUtils.remove(i),!browser.ie&&(p=j.nextSibling)&&domUtils.isBlockElm(p)&&p.lastChild&&!domUtils.isBr(p.lastChild)&&p.appendChild(f.document.createElement("br")),n=1}var p=j.nextSibling;if(!e.firstChild&&p&&domUtils.isBlockElm(p)){d.setStart(p,0).collapse(!0);break}d.setEndAfter(j).collapse()}if(j=d.startContainer,m&&domUtils.isBr(m)&&domUtils.remove(m),domUtils.isBlockElm(j)&&domUtils.isEmptyNode(j))if(m=j.nextSibling)domUtils.remove(j),1==m.nodeType&&dtd.$block[m.tagName]&&d.setStart(m,0).collapse(!0).shrinkBoundary();else try{j.innerHTML=browser.ie?domUtils.fillChar:"
    "}catch(t){d.setStartBefore(j),domUtils.remove(j)}try{d.select(!0)}catch(t){}}setTimeout(function(){d=f.selection.getRange(),d.scrollToView(f.autoHeightEnabled,f.autoHeightEnabled?domUtils.getXY(f.iframe).y:0),f.fireEvent("afterinserthtml",b)},200)}}},UE.plugins.autotypeset=function(){function a(a,b){return a&&3!=a.nodeType?domUtils.isBr(a)?1:a&&a.parentNode&&l[a.tagName.toLowerCase()]?g&&g.contains(a)||a.getAttribute("pagebreak")?0:b?!domUtils.isEmptyBlock(a):domUtils.isEmptyBlock(a,new RegExp("[\\s"+domUtils.fillChar+"]","g")):void 0:0}function b(a){a.style.cssText||(domUtils.removeAttributes(a,["style"]),"span"==a.tagName.toLowerCase()&&domUtils.hasNoAttributes(a)&&domUtils.remove(a,!0))}function c(c,f){var h,l=this;if(f){if(!i.pasteFilter)return;h=l.document.createElement("div"),h.innerHTML=f.html}else h=l.document.body;for(var m,n=domUtils.getElementsByTagName(h,"*"),o=0;m=n[o++];)if(l.fireEvent("excludeNodeinautotype",m)!==!0){if(i.clearFontSize&&m.style.fontSize&&(domUtils.removeStyle(m,"font-size"),b(m)),i.clearFontFamily&&m.style.fontFamily&&(domUtils.removeStyle(m,"font-family"),b(m)),a(m)){if(i.mergeEmptyline)for(var p,q=m.nextSibling,r=domUtils.isBr(m);a(q)&&(p=q,q=p.nextSibling,!r||q&&(!q||domUtils.isBr(q)));)domUtils.remove(p);if(i.removeEmptyline&&domUtils.inDoc(m,h)&&!k[m.parentNode.tagName.toLowerCase()]){if(domUtils.isBr(m)&&(q=m.nextSibling,q&&!domUtils.isBr(q)))continue;domUtils.remove(m);continue}}if(a(m,!0)&&"SPAN"!=m.tagName&&(i.indent&&(m.style.textIndent=i.indentValue),i.textAlign&&(m.style.textAlign=i.textAlign)),i.removeClass&&m.className&&!j[m.className.toLowerCase()]){if(g&&g.contains(m))continue;domUtils.removeAttributes(m,["class"])}if(i.imageBlockLine&&"img"==m.tagName.toLowerCase()&&!m.getAttribute("emotion"))if(f){var s=m;switch(i.imageBlockLine){case"left":case"right":case"none":for(var p,t,q,u=s.parentNode;dtd.$inline[u.tagName]||"A"==u.tagName;)u=u.parentNode;if(p=u,"P"==p.tagName&&"center"==domUtils.getStyle(p,"text-align")&&!domUtils.isBody(p)&&1==domUtils.getChildCount(p,function(a){return!domUtils.isBr(a)&&!domUtils.isWhitespace(a)}))if(t=p.previousSibling,q=p.nextSibling,t&&q&&1==t.nodeType&&1==q.nodeType&&t.tagName==q.tagName&&domUtils.isBlockElm(t)){for(t.appendChild(p.firstChild);q.firstChild;)t.appendChild(q.firstChild);domUtils.remove(p),domUtils.remove(q)}else domUtils.setStyle(p,"text-align","");domUtils.setStyle(s,"float",i.imageBlockLine);break;case"center":if("center"!=l.queryCommandValue("imagefloat")){for(u=s.parentNode,domUtils.setStyle(s,"float","none"),p=s;u&&1==domUtils.getChildCount(u,function(a){return!domUtils.isBr(a)&&!domUtils.isWhitespace(a)})&&(dtd.$inline[u.tagName]||"A"==u.tagName);)p=u,u=u.parentNode;var v=l.document.createElement("p");domUtils.setAttributes(v,{style:"text-align:center"}),p.parentNode.insertBefore(v,p),v.appendChild(p),domUtils.setStyle(p,"float","")}}}else{var w=l.selection.getRange();w.selectNode(m).select(),l.execCommand("imagefloat",i.imageBlockLine)}i.removeEmptyNode&&i.removeTagNames[m.tagName.toLowerCase()]&&domUtils.hasNoAttributes(m)&&domUtils.isEmptyBlock(m)&&domUtils.remove(m)}if(i.tobdc){var x=UE.htmlparser(h.innerHTML);x.traversal(function(a){"text"==a.type&&(a.data=e(a.data))}),h.innerHTML=x.toHtml()}if(i.bdc2sb){var x=UE.htmlparser(h.innerHTML);x.traversal(function(a){"text"==a.type&&(a.data=d(a.data))}),h.innerHTML=x.toHtml()}f&&(f.html=h.innerHTML)}function d(a){for(var b="",c=0;c=65281&&d<=65373?String.fromCharCode(a.charCodeAt(c)-65248):12288==d?String.fromCharCode(a.charCodeAt(c)-12288+32):a.charAt(c)}return b}function e(a){a=utils.html(a);for(var b="",c=0;c0?e.substring(e.indexOf(d.options.imagePath),e.length-1).replace(/"|\(|\)/gi,""):"none"!=e?e.replace(/url\("?|"?\)/gi,""):"";var g=' ",b.push(g)},aftersetcontent:function(){0==c&&b()}},inputRule:function(d){c=!1,utils.each(d.getNodesByTagName("p"),function(d){var e=d.getAttr("data-background");e&&(c=!0,b(a(e)),d.parentNode.removeChild(d))})},outputRule:function(a){var b=this,c=(utils.cssRule(e,b.document)||"").replace(/[\n\r]+/g,"").match(f);c&&a.appendChild(UE.uNode.createElement('


    '))},commands:{background:{execCommand:function(a,c){b(c)},queryCommandValue:function(){var b=this,c=(utils.cssRule(e,b.document)||"").replace(/[\n\r]+/g,"").match(f);return c?a(c[1]):null},notNeedUndo:!0}}}}),UE.commands.imagefloat={execCommand:function(a,b){var c=this,d=c.selection.getRange();if(!d.collapsed){var e=d.getClosedNode();if(e&&"IMG"==e.tagName)switch(b){case"left":case"right":case"none":for(var f,g,h,i=e.parentNode;dtd.$inline[i.tagName]||"A"==i.tagName;)i=i.parentNode;if(f=i,"P"==f.tagName&&"center"==domUtils.getStyle(f,"text-align")){if(!domUtils.isBody(f)&&1==domUtils.getChildCount(f,function(a){return!domUtils.isBr(a)&&!domUtils.isWhitespace(a)}))if(g=f.previousSibling,h=f.nextSibling,g&&h&&1==g.nodeType&&1==h.nodeType&&g.tagName==h.tagName&&domUtils.isBlockElm(g)){for(g.appendChild(f.firstChild);h.firstChild;)g.appendChild(h.firstChild);domUtils.remove(f),domUtils.remove(h)}else domUtils.setStyle(f,"text-align","");d.selectNode(e).select()}domUtils.setStyle(e,"float","none"==b?"":b),"none"==b&&domUtils.removeAttributes(e,"align");break;case"center":if("center"!=c.queryCommandValue("imagefloat")){for(i=e.parentNode,domUtils.setStyle(e,"float",""),domUtils.removeAttributes(e,"align"),f=e;i&&1==domUtils.getChildCount(i,function(a){return!domUtils.isBr(a)&&!domUtils.isWhitespace(a)})&&(dtd.$inline[i.tagName]||"A"==i.tagName);)f=i,i=i.parentNode;d.setStartBefore(f).setCursor(!1),i=c.document.createElement("div"),i.appendChild(f),domUtils.setStyle(f,"float",""),c.execCommand("insertHtml",'

    '+i.innerHTML+"

    "),f=c.document.getElementById("_img_parent_tmp"),f.removeAttribute("id"),f=f.firstChild,d.selectNode(f).select(),h=f.parentNode.nextSibling,h&&domUtils.isEmptyNode(h)&&domUtils.remove(h)}}}},queryCommandValue:function(){var a,b,c=this.selection.getRange();return c.collapsed?"none":(a=c.getClosedNode(),a&&1==a.nodeType&&"IMG"==a.tagName?(b=domUtils.getComputedStyle(a,"float")||a.getAttribute("align"),"none"==b&&(b="center"==domUtils.getComputedStyle(a.parentNode,"text-align")?"center":b),{left:1,right:1,center:1}[b]?b:"none"):"none")},queryCommandState:function(){var a,b=this.selection.getRange();return b.collapsed?-1:(a=b.getClosedNode(),a&&1==a.nodeType&&"IMG"==a.tagName?0:-1)}},UE.commands.insertimage={execCommand:function(a,b){function c(a){utils.each("width,height,border,hspace,vspace".split(","),function(b){a[b]&&(a[b]=parseInt(a[b],10)||0)}),utils.each("src,_src".split(","),function(b){a[b]&&(a[b]=utils.unhtmlForUrl(a[b]))}),utils.each("title,alt".split(","),function(b){a[b]&&(a[b]=utils.unhtml(a[b]))})}if(b=utils.isArray(b)?b:[b],b.length){var d=this,e=d.selection.getRange(),f=e.getClosedNode();if(d.fireEvent("beforeinsertimage",b)!==!0){if(!f||!/img/i.test(f.tagName)||"edui-faked-video"==f.className&&f.className.indexOf("edui-upload-video")==-1||f.getAttribute("word_img")){var g,h=[],i="";if(g=b[0],1==b.length)c(g),i=''+g.alt+'","center"==g.floatStyle&&(i='

    '+i+"

    "),h.push(i);else for(var j=0;g=b[j++];)c(g),i="

    ",h.push(i);d.execCommand("insertHtml",h.join(""))}else{var k=b.shift(),l=k.floatStyle;delete k.floatStyle,domUtils.setAttributes(f,k),d.execCommand("imagefloat",l),b.length>0&&(e.setStartAfter(f).setCursor(!1,!0),d.execCommand("insertimage",b))}d.fireEvent("afterinsertimage",b)}}}},UE.plugins.justify=function(){var a=domUtils.isBlockElm,b={left:1,right:1,center:1,justify:1},c=function(b,c){var d=b.createBookmark(),e=function(a){return 1==a.nodeType?"br"!=a.tagName.toLowerCase()&&!domUtils.isBookmarkNode(a):!domUtils.isWhitespace(a)};b.enlarge(!0);for(var f,g=b.createBookmark(),h=domUtils.getNextDomNode(g.start,!1,e),i=b.cloneRange();h&&!(domUtils.getPosition(h,g.end)&domUtils.POSITION_FOLLOWING);)if(3!=h.nodeType&&a(h))h=domUtils.getNextDomNode(h,!0,e);else{for(i.setStartBefore(h);h&&h!==g.end&&!a(h);)f=h,h=domUtils.getNextDomNode(h,!1,null,function(b){return!a(b)});i.setEndAfter(f);var j=i.getCommonAncestor();if(!domUtils.isBody(j)&&a(j))domUtils.setStyles(j,utils.isString(c)?{"text-align":c}:c),h=j;else{var k=b.document.createElement("p");domUtils.setStyles(k,utils.isString(c)?{"text-align":c}:c);var l=i.extractContents();k.appendChild(l),i.insertNode(k),h=k}h=domUtils.getNextDomNode(h,!1,e)}return b.moveToBookmark(g).moveToBookmark(d)};UE.commands.justify={execCommand:function(a,b){var d,e=this.selection.getRange();return e.collapsed&&(d=this.document.createTextNode("p"),e.insertNode(d)),c(e,b),d&&(e.setStartBefore(d).collapse(!0),domUtils.remove(d)),e.select(),!0},queryCommandValue:function(){var a=this.selection.getStart(),c=domUtils.getComputedStyle(a,"text-align");return b[c]?c:"left"},queryCommandState:function(){var a=this.selection.getStart(),b=a&&domUtils.findParentByTagName(a,["td","th","caption"],!0);return b?-1:0}}},UE.plugins.font=function(){function a(a){for(var b;(b=a.parentNode)&&"SPAN"==b.tagName&&1==domUtils.getChildCount(b,function(a){return!domUtils.isBookmarkNode(a)&&!domUtils.isBr(a)});)b.style.cssText+=a.style.cssText,domUtils.remove(a,!0),a=b}function b(a,b,c){if(g[b]&&(a.adjustmentBoundary(),!a.collapsed&&1==a.startContainer.nodeType)){var d=a.startContainer.childNodes[a.startOffset];if(d&&domUtils.isTagNode(d,"span")){var e=a.createBookmark();utils.each(domUtils.getElementsByTagName(d,"span"),function(a){a.parentNode&&!domUtils.isBookmarkNode(a)&&("backcolor"==b&&domUtils.getComputedStyle(a,"background-color").toLowerCase()===c||(domUtils.removeStyle(a,g[b]),0==a.style.cssText.replace(/^\s+$/,"").length&&domUtils.remove(a,!0)))}),a.moveToBookmark(e)}}}function c(c,d,e){var f,g=c.collapsed,h=c.createBookmark();if(g)for(f=h.start.parentNode;dtd.$inline[f.tagName];)f=f.parentNode;else f=domUtils.getCommonAncestor(h.start,h.end);utils.each(domUtils.getElementsByTagName(f,"span"),function(b){if(b.parentNode&&!domUtils.isBookmarkNode(b)){if(/\s*border\s*:\s*none;?\s*/i.test(b.style.cssText))return void(/^\s*border\s*:\s*none;?\s*$/.test(b.style.cssText)?domUtils.remove(b,!0):domUtils.removeStyle(b,"border"));if(/border/i.test(b.style.cssText)&&"SPAN"==b.parentNode.tagName&&/border/i.test(b.parentNode.style.cssText)&&(b.style.cssText=b.style.cssText.replace(/border[^:]*:[^;]+;?/gi,"")),"fontborder"!=d||"none"!=e)for(var c=b.nextSibling;c&&1==c.nodeType&&"SPAN"==c.tagName;)if(domUtils.isBookmarkNode(c)&&"fontborder"==d)b.appendChild(c),c=b.nextSibling;else{if(c.style.cssText==b.style.cssText&&(domUtils.moveChild(c,b),domUtils.remove(c)),b.nextSibling===c)break;c=b.nextSibling}if(a(b),browser.ie&&browser.version>8){var f=domUtils.findParent(b,function(a){return"SPAN"==a.tagName&&/background-color/.test(a.style.cssText)});f&&!/background-color/.test(b.style.cssText)&&(b.style.backgroundColor=f.style.backgroundColor)}}}),c.moveToBookmark(h),b(c,d,e)}var d=this,e={forecolor:"color",backcolor:"background-color",fontsize:"font-size",fontfamily:"font-family",underline:"text-decoration",strikethrough:"text-decoration",fontborder:"border"},f={underline:1,strikethrough:1,fontborder:1},g={forecolor:"color",backcolor:"background-color",fontsize:"font-size",fontfamily:"font-family"};d.setOpt({fontfamily:[{name:"songti",val:"宋体,SimSun"},{name:"yahei",val:"微软雅黑,Microsoft YaHei"},{name:"kaiti",val:"楷体,楷体_GB2312, SimKai"},{name:"heiti",val:"黑体, SimHei"},{name:"lishu",val:"隶书, SimLi"},{name:"andaleMono",val:"andale mono"},{name:"arial",val:"arial, helvetica,sans-serif"},{name:"arialBlack",val:"arial black,avant garde"},{name:"comicSansMs",val:"comic sans ms"},{name:"impact",val:"impact,chicago"},{name:"timesNewRoman",val:"times new roman"}],fontsize:[10,11,12,14,16,18,20,24,36]}),d.addInputRule(function(a){utils.each(a.getNodesByTagName("u s del font strike"),function(a){if("font"==a.tagName){var b=[];for(var c in a.attrs)switch(c){case"size":b.push("font-size:"+({1:"10",2:"12",3:"16",4:"18",5:"24",6:"32",7:"48"}[a.attrs[c]]||a.attrs[c])+"px");break;case"color":b.push("color:"+a.attrs[c]);break;case"face":b.push("font-family:"+a.attrs[c]);break;case"style":b.push(a.attrs[c])}a.attrs={style:b.join(";")}}else{var d="u"==a.tagName?"underline":"line-through";a.attrs={style:(a.getAttr("style")||"")+"text-decoration:"+d+";"}}a.tagName="span"})});for(var h in e)!function(a,b){UE.commands[a]={execCommand:function(d,e){e=e||(this.queryCommandState(d)?"none":"underline"==d?"underline":"fontborder"==d?"1px solid #000":"line-through");var g,h=this,i=this.selection.getRange();if("default"==e)i.collapsed&&(g=h.document.createTextNode("font"),i.insertNode(g).select()),h.execCommand("removeFormat","span,a",b),g&&(i.setStartBefore(g).collapse(!0),domUtils.remove(g)),c(i,d,e),i.select();else if(i.collapsed){var j=domUtils.findParentByTagName(i.startContainer,"span",!0);if(g=h.document.createTextNode("font"),!j||j.children.length||j[browser.ie?"innerText":"textContent"].replace(fillCharReg,"").length){if(i.insertNode(g),i.selectNode(g).select(),j=i.document.createElement("span"),f[a]){if(domUtils.findParentByTagName(g,"a",!0))return i.setStartBefore(g).setCursor(),void domUtils.remove(g);h.execCommand("removeFormat","span,a",b)}if(j.style.cssText=b+":"+e,g.parentNode.insertBefore(j,g),!browser.ie||browser.ie&&9==browser.version)for(var k=j.parentNode;!domUtils.isBlockElm(k);)"SPAN"==k.tagName&&(j.style.cssText=k.style.cssText+";"+j.style.cssText),k=k.parentNode;opera?setTimeout(function(){i.setStart(j,0).collapse(!0),c(i,d,e),i.select()}):(i.setStart(j,0).collapse(!0),c(i,d,e),i.select())}else i.insertNode(g),f[a]&&(i.selectNode(g).select(),h.execCommand("removeFormat","span,a",b,null),j=domUtils.findParentByTagName(g,"span",!0),i.setStartBefore(g)),j&&(j.style.cssText+=";"+b+":"+e),i.collapse(!0).select();domUtils.remove(g)}else f[a]&&h.queryCommandValue(a)&&h.execCommand("removeFormat","span,a",b),i=h.selection.getRange(),i.applyInlineStyle("span",{style:b+":"+e}),c(i,d,e),i.select();return!0},queryCommandValue:function(a){var c=this.selection.getStart();if("underline"==a||"strikethrough"==a){for(var d,e=c;e&&!domUtils.isBlockElm(e)&&!domUtils.isBody(e);){if(1==e.nodeType&&(d=domUtils.getComputedStyle(e,b),"none"!=d))return d;e=e.parentNode}return"none"}if("fontborder"==a){for(var f,g=c;g&&dtd.$inline[g.tagName];){if((f=domUtils.getComputedStyle(g,"border"))&&/1px/.test(f)&&/solid/.test(f))return f;g=g.parentNode}return""}if("FontSize"==a){var h=domUtils.getComputedStyle(c,b),g=/^([\d\.]+)(\w+)$/.exec(h);return g?Math.floor(g[1])+g[2]:h}return domUtils.getComputedStyle(c,b)},queryCommandState:function(a){if(!f[a])return 0;var b=this.queryCommandValue(a);return"fontborder"==a?/1px/.test(b)&&/solid/.test(b):"underline"==a?/underline/.test(b):/line\-through/.test(b)}}}(h,e[h])},UE.plugins.link=function(){function a(a){var b=a.startContainer,c=a.endContainer;(b=domUtils.findParentByTagName(b,"a",!0))&&a.setStartBefore(b),(c=domUtils.findParentByTagName(c,"a",!0))&&a.setEndAfter(c)}function b(b,c,d){var e=b.cloneRange(),f=d.queryCommandValue("link");a(b=b.adjustmentBoundary());var g=b.startContainer;if(1==g.nodeType&&f&&(g=g.childNodes[b.startOffset],g&&1==g.nodeType&&"A"==g.tagName&&/^(?:https?|ftp|file)\s*:\s*\/\//.test(g[browser.ie?"innerText":"textContent"])&&(g[browser.ie?"innerText":"textContent"]=utils.html(c.textValue||c.href))),e.collapsed&&!f||(b.removeInlineStyle("a"),e=b.cloneRange()),e.collapsed){var h=b.document.createElement("a"),i="";c.textValue?(i=utils.html(c.textValue),delete c.textValue):i=utils.html(c.href),domUtils.setAttributes(h,c),g=domUtils.findParentByTagName(e.startContainer,"a",!0),g&&domUtils.isInNodeEndBoundary(e,g)&&b.setStartAfter(g).collapse(!0),h[browser.ie?"innerText":"textContent"]=i,b.insertNode(h).selectNode(h)}else b.applyInlineStyle("a",c)}UE.commands.unlink={execCommand:function(){var b,c=this.selection.getRange();c.collapsed&&!domUtils.findParentByTagName(c.startContainer,"a",!0)||(b=c.createBookmark(),a(c),c.removeInlineStyle("a").moveToBookmark(b).select())},queryCommandState:function(){return!this.highlight&&this.queryCommandValue("link")?0:-1}},UE.commands.link={execCommand:function(a,c){var d;c._href&&(c._href=utils.unhtml(c._href,/[<">]/g)),c.href&&(c.href=utils.unhtml(c.href,/[<">]/g)),c.textValue&&(c.textValue=utils.unhtml(c.textValue,/[<">]/g)),b(d=this.selection.getRange(),c,this),d.collapse().select(!0)},queryCommandValue:function(){var a,b=this.selection.getRange();if(!b.collapsed){b.shrinkBoundary();var c=3!=b.startContainer.nodeType&&b.startContainer.childNodes[b.startOffset]?b.startContainer.childNodes[b.startOffset]:b.startContainer,d=3==b.endContainer.nodeType||0==b.endOffset?b.endContainer:b.endContainer.childNodes[b.endOffset-1],e=b.getCommonAncestor();if(a=domUtils.findParentByTagName(e,"a",!0),!a&&1==e.nodeType)for(var f,g,h,i=e.getElementsByTagName("a"),j=0;h=i[j++];)if(f=domUtils.getPosition(h,c),g=domUtils.getPosition(h,d),(f&domUtils.POSITION_FOLLOWING||f&domUtils.POSITION_CONTAINS)&&(g&domUtils.POSITION_PRECEDING||g&domUtils.POSITION_CONTAINS)){a=h;break}return a}if(a=b.startContainer,a=1==a.nodeType?a:a.parentNode,a&&(a=domUtils.findParentByTagName(a,"a",!0))&&!domUtils.isInNodeEndBoundary(b,a))return a},queryCommandState:function(){var a=this.selection.getRange().getClosedNode(),b=a&&("edui-faked-video"==a.className||a.className.indexOf("edui-upload-video")!=-1);return b?-1:0}}},UE.plugins.insertframe=function(){function a(){b._iframe&&delete b._iframe}var b=this;b.addListener("selectionchange",function(){a()})},UE.commands.scrawl={queryCommandState:function(){return browser.ie&&browser.version<=8?-1:0}},UE.plugins.removeformat=function(){var a=this;a.setOpt({removeFormatTags:"b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var",removeFormatAttributes:"class,style,lang,width,height,align,hspace,valign"}),a.commands.removeformat={execCommand:function(a,b,c,d,e){function f(a){if(3==a.nodeType||"span"!=a.tagName.toLowerCase())return 0;if(browser.ie){var b=a.attributes;if(b.length){for(var c=0,d=b.length;c
    "+this.getContent(null,null,!0)+"
    "),b.close()},notNeedUndo:1},UE.plugins.selectall=function(){var a=this;a.commands.selectall={execCommand:function(){var a=this,b=a.body,c=a.selection.getRange();c.selectNodeContents(b),domUtils.isEmptyBlock(b)&&(browser.opera&&b.firstChild&&1==b.firstChild.nodeType&&c.setStartAtFirst(b.firstChild),c.collapse(!0)),c.select(!0)},notNeedUndo:1},a.addshortcutkey({selectAll:"ctrl+65"})},UE.plugins.paragraph=function(){var a=this,b=domUtils.isBlockElm,c=["TD","LI","PRE"],d=function(a,d,e,f){var g,h=a.createBookmark(),i=function(a){return 1==a.nodeType?"br"!=a.tagName.toLowerCase()&&!domUtils.isBookmarkNode(a):!domUtils.isWhitespace(a)};a.enlarge(!0);for(var j,k=a.createBookmark(),l=domUtils.getNextDomNode(k.start,!1,i),m=a.cloneRange();l&&!(domUtils.getPosition(l,k.end)&domUtils.POSITION_FOLLOWING);)if(3!=l.nodeType&&b(l))l=domUtils.getNextDomNode(l,!0,i);else{for(m.setStartBefore(l);l&&l!==k.end&&!b(l);)j=l,l=domUtils.getNextDomNode(l,!1,null,function(a){return!b(a)});m.setEndAfter(j),g=a.document.createElement(d),e&&(domUtils.setAttributes(g,e),f&&"customstyle"==f&&e.style&&(g.style.cssText=e.style)),g.appendChild(m.extractContents()),domUtils.isEmptyNode(g)&&domUtils.fillChar(a.document,g),m.insertNode(g);var n=g.parentNode;b(n)&&!domUtils.isBody(g.parentNode)&&utils.indexOf(c,n.tagName)==-1&&(f&&"customstyle"==f||(n.getAttribute("dir")&&g.setAttribute("dir",n.getAttribute("dir")),n.style.cssText&&(g.style.cssText=n.style.cssText+";"+g.style.cssText),n.style.textAlign&&!g.style.textAlign&&(g.style.textAlign=n.style.textAlign),n.style.textIndent&&!g.style.textIndent&&(g.style.textIndent=n.style.textIndent),n.style.padding&&!g.style.padding&&(g.style.padding=n.style.padding)),e&&/h\d/i.test(n.tagName)&&!/h\d/i.test(g.tagName)?(domUtils.setAttributes(n,e),f&&"customstyle"==f&&e.style&&(n.style.cssText=e.style),domUtils.remove(g,!0),g=n):domUtils.remove(g.parentNode,!0)),l=utils.indexOf(c,n.tagName)!=-1?n:g,l=domUtils.getNextDomNode(l,!1,i)}return a.moveToBookmark(k).moveToBookmark(h)};a.setOpt("paragraph",{p:"",h1:"",h2:"",h3:"",h4:"",h5:"",h6:""}),a.commands.paragraph={execCommand:function(a,b,c,e){var f=this.selection.getRange();if(f.collapsed){var g=this.document.createTextNode("p");if(f.insertNode(g),browser.ie){var h=g.previousSibling;h&&domUtils.isWhitespace(h)&&domUtils.remove(h),h=g.nextSibling,h&&domUtils.isWhitespace(h)&&domUtils.remove(h)}}if(f=d(f,b,c,e),g&&(f.setStartBefore(g).collapse(!0),pN=g.parentNode,domUtils.remove(g),domUtils.isBlockElm(pN)&&domUtils.isEmptyNode(pN)&&domUtils.fillNode(this.document,pN)),browser.gecko&&f.collapsed&&1==f.startContainer.nodeType){var i=f.startContainer.childNodes[f.startOffset];i&&1==i.nodeType&&i.tagName.toLowerCase()==b&&f.setStart(i,0).collapse(!0)}return f.select(),!0},queryCommandValue:function(){var a=domUtils.filterNodeList(this.selection.getStartElementPath(),"p h1 h2 h3 h4 h5 h6");return a?a.tagName.toLowerCase():""}}},function(){var a=domUtils.isBlockElm,b=function(a){return domUtils.filterNodeList(a.selection.getStartElementPath(),function(a){return a&&1==a.nodeType&&a.getAttribute("dir")})},c=function(c,d,e){var f,g=function(a){return 1==a.nodeType?!domUtils.isBookmarkNode(a):!domUtils.isWhitespace(a)},h=b(d);if(h&&c.collapsed)return h.setAttribute("dir",e),c;f=c.createBookmark(),c.enlarge(!0);for(var i,j=c.createBookmark(),k=domUtils.getNextDomNode(j.start,!1,g),l=c.cloneRange();k&&!(domUtils.getPosition(k,j.end)&domUtils.POSITION_FOLLOWING);)if(3!=k.nodeType&&a(k))k=domUtils.getNextDomNode(k,!0,g);else{for(l.setStartBefore(k);k&&k!==j.end&&!a(k);)i=k,k=domUtils.getNextDomNode(k,!1,null,function(b){return!a(b)});l.setEndAfter(i);var m=l.getCommonAncestor();if(!domUtils.isBody(m)&&a(m))m.setAttribute("dir",e),k=m;else{var n=c.document.createElement("p");n.setAttribute("dir",e);var o=l.extractContents();n.appendChild(o),l.insertNode(n),k=n}k=domUtils.getNextDomNode(k,!1,g)}return c.moveToBookmark(j).moveToBookmark(f)};UE.commands.directionality={execCommand:function(a,b){var d=this.selection.getRange();if(d.collapsed){var e=this.document.createTextNode("d");d.insertNode(e)}return c(d,this,b),e&&(d.setStartBefore(e).collapse(!0),domUtils.remove(e)),d.select(),!0},queryCommandValue:function(){var a=b(this);return a?a.getAttribute("dir"):"ltr"}}}(),UE.plugins.horizontal=function(){var a=this;a.commands.horizontal={execCommand:function(a){var b=this;if(b.queryCommandState(a)!==-1){b.execCommand("insertHtml","
    ");var c=b.selection.getRange(),d=c.startContainer;if(1==d.nodeType&&!d.childNodes[c.startOffset]){var e;(e=d.childNodes[c.startOffset-1])&&1==e.nodeType&&"HR"==e.tagName&&("p"==b.options.enterTag?(e=b.document.createElement("p"),c.insertNode(e),c.setStart(e,0).setCursor()):(e=b.document.createElement("br"),c.insertNode(e),c.setStartBefore(e).setCursor()))}return!0}},queryCommandState:function(){return domUtils.filterNodeList(this.selection.getStartElementPath(),"table")?-1:0}},a.addListener("delkeydown",function(a,b){var c=this.selection.getRange();if(c.txtToElmBoundary(!0),domUtils.isStartInblock(c)){var d=c.startContainer,e=d.previousSibling;if(e&&domUtils.isTagNode(e,"hr"))return domUtils.remove(e),c.select(),domUtils.preventDefault(b),!0}})},UE.commands.time=UE.commands.date={execCommand:function(a,b){function c(a,b){var c=("0"+a.getHours()).slice(-2),d=("0"+a.getMinutes()).slice(-2),e=("0"+a.getSeconds()).slice(-2);return b=b||"hh:ii:ss",b.replace(/hh/gi,c).replace(/ii/gi,d).replace(/ss/gi,e)}function d(a,b){var c=("000"+a.getFullYear()).slice(-4),d=c.slice(-2),e=("0"+(a.getMonth()+1)).slice(-2),f=("0"+a.getDate()).slice(-2);return b=b||"yyyy-mm-dd",b.replace(/yyyy/gi,c).replace(/yy/gi,d).replace(/mm/gi,e).replace(/dd/gi,f)}var e=new Date;this.execCommand("insertHtml","time"==a?c(e,b):d(e,b))}},UE.plugins.rowspacing=function(){var a=this;a.setOpt({rowspacingtop:["5","10","15","20","25"],rowspacingbottom:["5","10","15","20","25"]}),a.commands.rowspacing={execCommand:function(a,b,c){return this.execCommand("paragraph","p",{style:"margin-"+c+":"+b+"px"}),!0},queryCommandValue:function(a,b){var c,d=domUtils.filterNodeList(this.selection.getStartElementPath(),function(a){return domUtils.isBlockElm(a)});return d?(c=domUtils.getComputedStyle(d,"margin-"+b).replace(/[^\d]/g,""),c?c:0):0}}},UE.plugins.lineheight=function(){var a=this;a.setOpt({lineheight:["1","1.5","1.75","2","3","4","5"]}),a.commands.lineheight={execCommand:function(a,b){return this.execCommand("paragraph","p",{style:"line-height:"+("1"==b?"normal":b+"em")}),!0},queryCommandValue:function(){var a=domUtils.filterNodeList(this.selection.getStartElementPath(),function(a){return domUtils.isBlockElm(a)});if(a){var b=domUtils.getComputedStyle(a,"line-height");return"normal"==b?1:b.replace(/[^\d.]*/gi,"")}}}},UE.plugins.insertcode=function(){var a=this;a.ready(function(){utils.cssRule("pre","pre{margin:.5em 0;padding:.4em .6em;border-radius:8px;background:#f8f8f8;}",a.document)}),a.setOpt("insertcode",{as3:"ActionScript3",bash:"Bash/Shell",cpp:"C/C++",css:"Css",cf:"CodeFunction","c#":"C#",delphi:"Delphi",diff:"Diff",erlang:"Erlang",groovy:"Groovy",html:"Html",java:"Java",jfx:"JavaFx",js:"Javascript",pl:"Perl",php:"Php",plain:"Plain Text",ps:"PowerShell",python:"Python",ruby:"Ruby",scala:"Scala",sql:"Sql",vb:"Vb",xml:"Xml"}),a.commands.insertcode={execCommand:function(a,b){var c=this,d=c.selection.getRange(),e=domUtils.findParentByTagName(d.startContainer,"pre",!0);if(e)e.className="brush:"+b+";toolbar:false;";else{var f="";if(d.collapsed)f=browser.ie&&browser.ie11below?browser.version<=8?" ":"":"
    ";else{var g=d.extractContents(),h=c.document.createElement("div");h.appendChild(g),utils.each(UE.filterNode(UE.htmlparser(h.innerHTML.replace(/[\r\t]/g,"")),c.options.filterTxtRules).children,function(a){if(browser.ie&&browser.ie11below&&browser.version>8)"element"==a.type?"br"==a.tagName?f+="\n":dtd.$empty[a.tagName]||(utils.each(a.children,function(b){"element"==b.type?"br"==b.tagName?f+="\n":dtd.$empty[a.tagName]||(f+=b.innerText()):f+=b.data}),/\n$/.test(f)||(f+="\n")):f+=a.data+"\n",!a.nextSibling()&&/\n$/.test(f)&&(f=f.replace(/\n$/,""));else if(browser.ie&&browser.ie11below)"element"==a.type?"br"==a.tagName?f+="
    ":dtd.$empty[a.tagName]||(utils.each(a.children,function(b){"element"==b.type?"br"==b.tagName?f+="
    ":dtd.$empty[a.tagName]||(f+=b.innerText()):f+=b.data}),/br>$/.test(f)||(f+="
    ")):f+=a.data+"
    ",!a.nextSibling()&&/
    $/.test(f)&&(f=f.replace(/
    $/,""));else if(f+="element"==a.type?dtd.$empty[a.tagName]?"":a.innerText():a.data,!/br\/?\s*>$/.test(f)){if(!a.nextSibling())return;f+="
    "}})}c.execCommand("inserthtml",'
    '+f+"
    ",!0),e=c.document.getElementById("coder"),domUtils.removeAttributes(e,"id");var i=e.previousSibling;i&&(3==i.nodeType&&1==i.nodeValue.length&&browser.ie&&6==browser.version||domUtils.isEmptyBlock(i))&&domUtils.remove(i);var d=c.selection.getRange();domUtils.isEmptyBlock(e)?d.setStart(e,0).setCursor(!1,!0):d.selectNodeContents(e).select()}},queryCommandValue:function(){var a=this.selection.getStartElementPath(),b="";return utils.each(a,function(a){if("PRE"==a.nodeName){var c=a.className.match(/brush:([^;]+)/);return b=c&&c[1]?c[1]:"",!1}}),b}},a.addInputRule(function(a){utils.each(a.getNodesByTagName("pre"),function(a){var b=a.getNodesByTagName("br");if(b.length)return void(browser.ie&&browser.ie11below&&browser.version>8&&utils.each(b,function(a){var b=UE.uNode.createText("\n");a.parentNode.insertBefore(b,a),a.parentNode.removeChild(a)}));if(!(browser.ie&&browser.ie11below&&browser.version>8)){var c=a.innerText().split(/\n/);a.innerHTML(""),utils.each(c,function(b){b.length&&a.appendChild(UE.uNode.createText(b)),a.appendChild(UE.uNode.createElement("br"))})}})}),a.addOutputRule(function(a){utils.each(a.getNodesByTagName("pre"),function(a){var b="";utils.each(a.children,function(a){b+="text"==a.type?a.data.replace(/[ ]/g," ").replace(/\n$/,""):"br"==a.tagName?"\n":dtd.$empty[a.tagName]?a.innerText():""}),a.innerText(b.replace(/( |\n)+$/,""))})}),a.notNeedCodeQuery={help:1,undo:1,redo:1,source:1,print:1,searchreplace:1,fullscreen:1,preview:1,insertparagraph:1,elementpath:1,insertcode:1,inserthtml:1,selectall:1};a.queryCommandState;a.queryCommandState=function(a){var b=this;return!b.notNeedCodeQuery[a.toLowerCase()]&&b.selection&&b.queryCommandValue("insertcode")?-1:UE.Editor.prototype.queryCommandState.apply(this,arguments)},a.addListener("beforeenterkeydown",function(){var b=a.selection.getRange(),c=domUtils.findParentByTagName(b.startContainer,"pre",!0);if(c){if(a.fireEvent("saveScene"),b.collapsed||b.deleteContents(),!browser.ie||browser.ie9above){var c,d=a.document.createElement("br");b.insertNode(d).setStartAfter(d).collapse(!0);var e=d.nextSibling;e||browser.ie&&!(browser.version>10)?b.setStartAfter(d):b.insertNode(d.cloneNode(!1)), -c=d.previousSibling;for(var f;c;)if(f=c,c=c.previousSibling,!c||"BR"==c.nodeName){c=f;break}if(c){for(var g="";c&&"BR"!=c.nodeName&&new RegExp("^[\\s"+domUtils.fillChar+"]*$").test(c.nodeValue);)g+=c.nodeValue,c=c.nextSibling;if("BR"!=c.nodeName){var h=c.nodeValue.match(new RegExp("^([\\s"+domUtils.fillChar+"]+)"));h&&h[1]&&(g+=h[1])}g&&(g=a.document.createTextNode(g),b.insertNode(g).setStartAfter(g))}b.collapse(!0).select(!0)}else if(browser.version>8){var i=a.document.createTextNode("\n"),j=b.startContainer;if(0==b.startOffset){var k=j.previousSibling;if(k){b.insertNode(i);var l=a.document.createTextNode(" ");b.setStartAfter(i).insertNode(l).setStart(l,0).collapse(!0).select(!0)}}else{b.insertNode(i).setStartAfter(i);var l=a.document.createTextNode(" ");j=b.startContainer.childNodes[b.startOffset],j&&!/^\n/.test(j.nodeValue)&&b.setStartBefore(i),b.insertNode(l).setStart(l,0).collapse(!0).select(!0)}}else{var d=a.document.createElement("br");b.insertNode(d),b.insertNode(a.document.createTextNode(domUtils.fillChar)),b.setStartAfter(d),c=d.previousSibling;for(var f;c;)if(f=c,c=c.previousSibling,!c||"BR"==c.nodeName){c=f;break}if(c){for(var g="";c&&"BR"!=c.nodeName&&new RegExp("^[ "+domUtils.fillChar+"]*$").test(c.nodeValue);)g+=c.nodeValue,c=c.nextSibling;if("BR"!=c.nodeName){var h=c.nodeValue.match(new RegExp("^([ "+domUtils.fillChar+"]+)"));h&&h[1]&&(g+=h[1])}g=a.document.createTextNode(g),b.insertNode(g).setStartAfter(g)}b.collapse(!0).select()}return a.fireEvent("saveScene"),!0}}),a.addListener("tabkeydown",function(b,c){var d=a.selection.getRange(),e=domUtils.findParentByTagName(d.startContainer,"pre",!0);if(e){if(a.fireEvent("saveScene"),c.shiftKey);else if(d.collapsed){var f=a.document.createTextNode(" ");d.insertNode(f).setStartAfter(f).collapse(!0).select(!0)}else{for(var g=d.createBookmark(),h=g.start.previousSibling;h;){if(e.firstChild===h&&!domUtils.isBr(h)){e.insertBefore(a.document.createTextNode(" "),h);break}if(domUtils.isBr(h)){e.insertBefore(a.document.createTextNode(" "),h.nextSibling);break}h=h.previousSibling}var i=g.end;for(h=g.start.nextSibling,e.firstChild===g.start&&e.insertBefore(a.document.createTextNode(" "),h.nextSibling);h&&h!==i;){if(domUtils.isBr(h)&&h.nextSibling){if(h.nextSibling===i)break;e.insertBefore(a.document.createTextNode(" "),h.nextSibling)}h=h.nextSibling}d.moveToBookmark(g).select()}return a.fireEvent("saveScene"),!0}}),a.addListener("beforeinserthtml",function(a,b){var c=this,d=c.selection.getRange(),e=domUtils.findParentByTagName(d.startContainer,"pre",!0);if(e){d.collapsed||d.deleteContents();var f="";if(browser.ie&&browser.version>8){utils.each(UE.filterNode(UE.htmlparser(b),c.options.filterTxtRules).children,function(a){"element"==a.type?"br"==a.tagName?f+="\n":dtd.$empty[a.tagName]||(utils.each(a.children,function(b){"element"==b.type?"br"==b.tagName?f+="\n":dtd.$empty[a.tagName]||(f+=b.innerText()):f+=b.data}),/\n$/.test(f)||(f+="\n")):f+=a.data+"\n",!a.nextSibling()&&/\n$/.test(f)&&(f=f.replace(/\n$/,""))});var g=c.document.createTextNode(utils.html(f.replace(/ /g," ")));d.insertNode(g).selectNode(g).select()}else{var h=c.document.createDocumentFragment();utils.each(UE.filterNode(UE.htmlparser(b),c.options.filterTxtRules).children,function(a){"element"==a.type?"br"==a.tagName?h.appendChild(c.document.createElement("br")):dtd.$empty[a.tagName]||(utils.each(a.children,function(b){"element"==b.type?"br"==b.tagName?h.appendChild(c.document.createElement("br")):dtd.$empty[a.tagName]||h.appendChild(c.document.createTextNode(utils.html(b.innerText().replace(/ /g," ")))):h.appendChild(c.document.createTextNode(utils.html(b.data.replace(/ /g," "))))}),"BR"!=h.lastChild.nodeName&&h.appendChild(c.document.createElement("br"))):h.appendChild(c.document.createTextNode(utils.html(a.data.replace(/ /g," ")))),a.nextSibling()||"BR"!=h.lastChild.nodeName||h.removeChild(h.lastChild)}),d.insertNode(h).select()}return!0}}),a.addListener("keydown",function(a,b){var c=this,d=b.keyCode||b.which;if(40==d){var e,f=c.selection.getRange(),g=f.startContainer;if(f.collapsed&&(e=domUtils.findParentByTagName(f.startContainer,"pre",!0))&&!e.nextSibling){for(var h=e.lastChild;h&&"BR"==h.nodeName;)h=h.previousSibling;(h===g||f.startContainer===e&&f.startOffset==e.childNodes.length)&&(c.execCommand("insertparagraph"),domUtils.preventDefault(b))}}}),a.addListener("delkeydown",function(b,c){var d=this.selection.getRange();d.txtToElmBoundary(!0);var e=d.startContainer;if(domUtils.isTagNode(e,"pre")&&d.collapsed&&domUtils.isStartInblock(d)){var f=a.document.createElement("p");return domUtils.fillNode(a.document,f),e.parentNode.insertBefore(f,e),domUtils.remove(e),d.setStart(f,0).setCursor(!1,!0),domUtils.preventDefault(c),!0}})},UE.commands.cleardoc={execCommand:function(a){var b=this,c=b.options.enterTag,d=b.selection.getRange();"br"==c?(b.body.innerHTML="
    ",d.setStart(b.body,0).setCursor()):(b.body.innerHTML="

    "+(ie?"":"
    ")+"

    ",d.setStart(b.body.firstChild,0).setCursor(!1,!0)),setTimeout(function(){b.fireEvent("clearDoc")},0)}},UE.plugin.register("anchor",function(){return{bindEvents:{ready:function(){utils.cssRule("anchor",".anchorclass{background: url('"+this.options.themePath+this.options.theme+"/images/anchor.gif') no-repeat scroll left center transparent;cursor: auto;display: inline-block;height: 16px;width: 15px;}",this.document)}},outputRule:function(a){utils.each(a.getNodesByTagName("img"),function(a){var b;(b=a.getAttr("anchorname"))&&(a.tagName="a",a.setAttr({anchorname:"",name:b,"class":""}))})},inputRule:function(a){utils.each(a.getNodesByTagName("a"),function(a){var b;(b=a.getAttr("name"))&&!a.getAttr("href")&&(a.tagName="img",a.setAttr({anchorname:a.getAttr("name"),"class":"anchorclass"}),a.setAttr("name"))})},commands:{anchor:{execCommand:function(a,b){var c=this.selection.getRange(),d=c.getClosedNode();if(d&&d.getAttribute("anchorname"))b?d.setAttribute("anchorname",b):(c.setStartBefore(d).setCursor(),domUtils.remove(d));else if(b){var e=this.document.createElement("img");c.collapse(!0),domUtils.setAttributes(e,{anchorname:b,"class":"anchorclass"}),c.insertNode(e).setStartAfter(e).setCursor(!1,!0)}}}}}}),UE.plugins.wordcount=function(){var a=this;a.setOpt("wordCount",!0),a.addListener("contentchange",function(){a.fireEvent("wordcount")});var b;a.addListener("ready",function(){var a=this;domUtils.on(a.body,"keyup",function(c){var d=c.keyCode||c.which,e={16:1,18:1,20:1,37:1,38:1,39:1,40:1};d in e||(clearTimeout(b),b=setTimeout(function(){a.fireEvent("wordcount")},200))})})},UE.plugins.pagebreak=function(){function a(a){if(domUtils.isEmptyBlock(a)){for(var b,d=a.firstChild;d&&1==d.nodeType&&domUtils.isEmptyBlock(d);)b=d,d=d.firstChild;!b&&(b=a),domUtils.fillNode(c.document,b)}}function b(a){return a&&1==a.nodeType&&"HR"==a.tagName&&"pagebreak"==a.className}var c=this,d=["td"];c.setOpt("pageBreakTag","_ueditor_page_break_tag_"),c.ready(function(){utils.cssRule("pagebreak",".pagebreak{display:block;clear:both !important;cursor:default !important;width: 100% !important;margin:0;}",c.document)}),c.addInputRule(function(a){a.traversal(function(a){if("text"==a.type&&a.data==c.options.pageBreakTag){var b=UE.uNode.createElement('
    ');a.parentNode.insertBefore(b,a),a.parentNode.removeChild(a)}})}),c.addOutputRule(function(a){utils.each(a.getNodesByTagName("hr"),function(a){if("pagebreak"==a.getAttr("class")){var b=UE.uNode.createText(c.options.pageBreakTag);a.parentNode.insertBefore(b,a),a.parentNode.removeChild(a)}})}),c.commands.pagebreak={execCommand:function(){var e=c.selection.getRange(),f=c.document.createElement("hr");domUtils.setAttributes(f,{"class":"pagebreak",noshade:"noshade",size:"5"}),domUtils.unSelectable(f);var g,h=domUtils.findParentByTagName(e.startContainer,d,!0),i=[];if(h)switch(h.tagName){case"TD":if(g=h.parentNode,g.previousSibling)g.parentNode.insertBefore(f,g),i=domUtils.findParents(f);else{var j=domUtils.findParentByTagName(g,"table");j.parentNode.insertBefore(f,j),i=domUtils.findParents(f,!0)}g=i[1],f!==g&&domUtils.breakParent(f,g),c.fireEvent("afteradjusttable",c.document)}else{if(!e.collapsed){e.deleteContents();for(var k=e.startContainer;!domUtils.isBody(k)&&domUtils.isBlockElm(k)&&domUtils.isEmptyNode(k);)e.setStartBefore(k).collapse(!0),domUtils.remove(k),k=e.startContainer}e.insertNode(f);for(var l,g=f.parentNode;!domUtils.isBody(g);)domUtils.breakParent(f,g),l=f.nextSibling,l&&domUtils.isEmptyBlock(l)&&domUtils.remove(l),g=f.parentNode;l=f.nextSibling;var m=f.previousSibling;if(b(m)?domUtils.remove(m):m&&a(m),l)b(l)?domUtils.remove(l):a(l),e.setEndAfter(f).collapse(!1);else{var n=c.document.createElement("p");f.parentNode.appendChild(n),domUtils.fillNode(c.document,n),e.setStart(n,0).collapse(!0)}e.select(!0)}}}},UE.plugin.register("wordimage",function(){var a=this,b=[];return{commands:{wordimage:{execCommand:function(){for(var b,c=domUtils.getElementsByTagName(a.body,"img"),d=[],e=0;b=c[e++];){var f=b.getAttribute("word_img");f&&d.push(f)}return d},queryCommandState:function(){b=domUtils.getElementsByTagName(a.body,"img");for(var c,d=0;c=b[d++];)if(c.getAttribute("word_img"))return 1;return-1},notNeedUndo:!0}},inputRule:function(b){utils.each(b.getNodesByTagName("img"),function(b){var c=b.attrs,d=parseInt(c.width)<128||parseInt(c.height)<43,e=a.options,f=e.UEDITOR_HOME_URL+"themes/default/images/spacer.gif";c.src&&/^(?:(file:\/+))/.test(c.src)&&b.setAttr({width:c.width,height:c.height,alt:c.alt,word_img:c.src,src:f,style:"background:url("+(d?e.themePath+e.theme+"/images/word.gif":e.langPath+e.lang+"/images/localimage.png")+") no-repeat center center;border:1px solid #ddd"})})}}}),UE.plugins.dragdrop=function(){var a=this;a.ready(function(){domUtils.on(this.body,"dragend",function(){var b=a.selection.getRange(),c=b.getClosedNode()||a.selection.getStart();if(c&&"IMG"==c.tagName){for(var d,e=c.previousSibling;(d=c.nextSibling)&&1==d.nodeType&&"SPAN"==d.tagName&&!d.firstChild;)domUtils.remove(d);(!e||1!=e.nodeType||domUtils.isEmptyBlock(e))&&e||d&&(!d||domUtils.isEmptyBlock(d))||(e&&"P"==e.tagName&&!domUtils.isEmptyBlock(e)?(e.appendChild(c),domUtils.moveChild(d,e),domUtils.remove(d)):d&&"P"==d.tagName&&!domUtils.isEmptyBlock(d)&&d.insertBefore(c,d.firstChild),e&&"P"==e.tagName&&domUtils.isEmptyBlock(e)&&domUtils.remove(e),d&&"P"==d.tagName&&domUtils.isEmptyBlock(d)&&domUtils.remove(d),b.selectNode(c).select(),a.fireEvent("saveScene"))}})}),a.addListener("keyup",function(b,c){var d=c.keyCode||c.which;if(13==d){var e,f=a.selection.getRange();(e=domUtils.findParentByTagName(f.startContainer,"p",!0))&&"center"==domUtils.getComputedStyle(e,"text-align")&&domUtils.removeStyle(e,"text-align")}})},UE.plugins.undo=function(){function a(a,b){if(a.length!=b.length)return 0;for(var c=0,d=a.length;cf&&this.list.shift(),this.index=this.list.length-1,this.clearKey(),this.update())},this.update=function(){this.hasRedo=!!this.list[this.index+1],this.hasUndo=!!this.list[this.index-1]},this.reset=function(){this.list=[],this.index=0,this.hasUndo=!1,this.hasRedo=!1,this.clearKey()},this.clearKey=function(){m=0,k=null}}var d,e=this,f=e.options.maxUndoCount||20,g=e.options.maxInputCount||20,h=new RegExp(domUtils.fillChar+"|","gi"),i={ol:1,ul:1,table:1,tbody:1,tr:1,body:1},j=e.options.autoClearEmptyNode;e.undoManger=new c,e.undoManger.editor=e,e.addListener("saveScene",function(){var a=Array.prototype.splice.call(arguments,1);this.undoManger.save.apply(this.undoManger,a)}),e.addListener("reset",function(a,b){b||this.undoManger.reset()}),e.commands.redo=e.commands.undo={execCommand:function(a){this.undoManger[a]()},queryCommandState:function(a){return this.undoManger["has"+("undo"==a.toLowerCase()?"Undo":"Redo")]?0:-1},notNeedUndo:1};var k,l={16:1,17:1,18:1,37:1,38:1,39:1,40:1},m=0,n=!1;e.addListener("ready",function(){domUtils.on(this.body,"compositionstart",function(){n=!0}),domUtils.on(this.body,"compositionend",function(){n=!1})}),e.addshortcutkey({Undo:"ctrl+90",Redo:"ctrl+89"});var o=!0;e.addListener("keydown",function(a,b){function c(a){a.undoManger.save(!1,!0),a.fireEvent("selectionchange")}var e=this,f=b.keyCode||b.which;if(!(l[f]||b.ctrlKey||b.metaKey||b.shiftKey||b.altKey)){if(n)return;if(!e.selection.getRange().collapsed)return e.undoManger.save(!1,!0),void(o=!1);0==e.undoManger.list.length&&e.undoManger.save(!0),clearTimeout(d),d=setTimeout(function(){if(n)var a=setInterval(function(){n||(c(e),clearInterval(a))},300);else c(e)},200),k=f,m++,m>=g&&c(e)}}),e.addListener("keyup",function(a,b){var c=b.keyCode||b.which;if(!(l[c]||b.ctrlKey||b.metaKey||b.shiftKey||b.altKey)){if(n)return;o||(this.undoManger.save(!1,!0),o=!0)}}),e.stopCmdUndo=function(){e.__hasEnterExecCommand=!0},e.startCmdUndo=function(){e.__hasEnterExecCommand=!1}},UE.plugin.register("copy",function(){function a(){ZeroClipboard.config({debug:!1,swfPath:b.options.UEDITOR_HOME_URL+"third-party/zeroclipboard/ZeroClipboard.swf"});var a=b.zeroclipboard=new ZeroClipboard;a.on("copy",function(a){var c=a.client,d=b.selection.getRange(),e=document.createElement("div");e.appendChild(d.cloneContents()),c.setText(e.innerText||e.textContent),c.setHtml(e.innerHTML),d.select()}),a.on("mouseover mouseout",function(a){var b=a.target;"mouseover"==a.type?domUtils.addClass(b,"edui-state-hover"):"mouseout"==a.type&&domUtils.removeClasses(b,"edui-state-hover")}),a.on("wrongflash noflash",function(){ZeroClipboard.destroy()})}var b=this;return{bindEvents:{ready:function(){browser.ie||(window.ZeroClipboard?a():utils.loadFile(document,{src:b.options.UEDITOR_HOME_URL+"third-party/zeroclipboard/ZeroClipboard.js",tag:"script",type:"text/javascript",defer:"defer"},function(){a()}))}},commands:{copy:{execCommand:function(a){b.document.execCommand("copy")||alert(b.getLang("copymsg"))}}}}}),UE.plugins.paste=function(){function a(a){var b=this.document;if(!b.getElementById("baidu_pastebin")){var c=this.selection.getRange(),d=c.createBookmark(),e=b.createElement("div");e.id="baidu_pastebin",browser.webkit&&e.appendChild(b.createTextNode(domUtils.fillChar+domUtils.fillChar)),b.body.appendChild(e),d.start.style.display="",e.style.cssText="position:absolute;width:1px;height:1px;overflow:hidden;left:-1000px;white-space:nowrap;top:"+domUtils.getXY(d.start).y+"px",c.selectNodeContents(e).select(!0),setTimeout(function(){if(browser.webkit)for(var f,g=0,h=b.querySelectorAll("#baidu_pastebin");f=h[g++];){if(!domUtils.isEmptyNode(f)){e=f;break}domUtils.remove(f)}try{e.parentNode.removeChild(e)}catch(i){}c.moveToBookmark(d).select(!0),a(e)},0)}}function b(a){return a.replace(/<(\/?)([\w\-]+)([^>]*)>/gi,function(a,b,c,d){return c=c.toLowerCase(),{img:1}[c]?a:(d=d.replace(/([\w\-]*?)\s*=\s*(("([^"]*)")|('([^']*)')|([^\s>]+))/gi,function(a,b,c){return{src:1,href:1,name:1}[b.toLowerCase()]?b+"="+c+" ":""}),{span:1,div:1}[c]?"":"<"+b+c+" "+utils.trim(d)+">")})}function c(a){var c;if(a.firstChild){for(var h,i=domUtils.getElementsByTagName(a,"span"),j=0;h=i[j++];)"_baidu_cut_start"!=h.id&&"_baidu_cut_end"!=h.id||domUtils.remove(h);if(browser.webkit){for(var k,l=a.querySelectorAll("div br"),j=0;k=l[j++];){var m=k.parentNode;"DIV"==m.tagName&&1==m.childNodes.length&&(m.innerHTML="


    ",domUtils.remove(m))}for(var n,o=a.querySelectorAll("#baidu_pastebin"),j=0;n=o[j++];){var p=d.document.createElement("p");for(n.parentNode.insertBefore(p,n);n.firstChild;)p.appendChild(n.firstChild);domUtils.remove(n)}for(var q,r=a.querySelectorAll("meta"),j=0;q=r[j++];)domUtils.remove(q);var l=a.querySelectorAll("br");for(j=0;q=l[j++];)/^apple-/i.test(q.className)&&domUtils.remove(q)}if(browser.gecko){var s=a.querySelectorAll("[_moz_dirty]");for(j=0;q=s[j++];)q.removeAttribute("_moz_dirty")}if(!browser.ie)for(var q,t=a.querySelectorAll("span.Apple-style-span"),j=0;q=t[j++];)domUtils.remove(q,!0);c=a.innerHTML,c=UE.filterWord(c);var u=UE.htmlparser(c);if(d.options.filterRules&&UE.filterNode(u,d.options.filterRules),d.filterInputRule(u),browser.webkit){var v=u.lastChild();v&&"element"==v.type&&"br"==v.tagName&&u.removeChild(v),utils.each(d.body.querySelectorAll("div"),function(a){domUtils.isEmptyBlock(a)&&domUtils.remove(a,!0)})}if(c={html:u.toHtml()},d.fireEvent("beforepaste",c,u),!c.html)return;u=UE.htmlparser(c.html,!0),1===d.queryCommandState("pasteplain")?d.execCommand("insertHtml",UE.filterNode(u,d.options.filterTxtRules).toHtml(),!0):(UE.filterNode(u,d.options.filterTxtRules),e=u.toHtml(),f=c.html,g=d.selection.getRange().createAddress(!0),d.execCommand("insertHtml",d.getOpt("retainOnlyLabelPasted")===!0?b(f):f,!0)),d.fireEvent("afterpaste",c)}}var d=this;d.setOpt({retainOnlyLabelPasted:!1});var e,f,g;d.addListener("pasteTransfer",function(a,c){if(g&&e&&f&&e!=f){var h=d.selection.getRange();if(h.moveToAddress(g,!0),!h.collapsed){for(;!domUtils.isBody(h.startContainer);){var i=h.startContainer;if(1==i.nodeType){if(i=i.childNodes[h.startOffset],!i){h.setStartBefore(h.startContainer);continue}var j=i.previousSibling;j&&3==j.nodeType&&new RegExp("^[\n\r\t "+domUtils.fillChar+"]*$").test(j.nodeValue)&&h.setStartBefore(j)}if(0!=h.startOffset)break;h.setStartBefore(h.startContainer)}for(;!domUtils.isBody(h.endContainer);){var k=h.endContainer;if(1==k.nodeType){if(k=k.childNodes[h.endOffset],!k){h.setEndAfter(h.endContainer);continue}var l=k.nextSibling;l&&3==l.nodeType&&new RegExp("^[\n\r\t"+domUtils.fillChar+"]*$").test(l.nodeValue)&&h.setEndAfter(l)}if(h.endOffset!=h.endContainer[3==h.endContainer.nodeType?"nodeValue":"childNodes"].length)break;h.setEndAfter(h.endContainer)}}h.deleteContents(),h.select(!0),d.__hasEnterExecCommand=!0;var m=f;2===c?m=b(m):c&&(m=e),d.execCommand("inserthtml",m,!0),d.__hasEnterExecCommand=!1;for(var n=d.selection.getRange();!domUtils.isBody(n.startContainer)&&!n.startOffset&&n.startContainer[3==n.startContainer.nodeType?"nodeValue":"childNodes"].length;)n.setStartBefore(n.startContainer);var o=n.createAddress(!0);g.endAddress=o.startAddress}}),d.addListener("ready",function(){domUtils.on(d.body,"cut",function(){var a=d.selection.getRange();!a.collapsed&&d.undoManger&&d.undoManger.save()}),domUtils.on(d.body,browser.ie||browser.opera?"keydown":"paste",function(b){(!browser.ie&&!browser.opera||(b.ctrlKey||b.metaKey)&&"86"==b.keyCode)&&a.call(d,function(a){c(a)})})}),d.commands.paste={execCommand:function(b){browser.ie?(a.call(d,function(a){c(a)}),d.document.execCommand("paste")):alert(d.getLang("pastemsg"))}}},UE.plugins.pasteplain=function(){var a=this;a.setOpt({pasteplain:!1,filterTxtRules:function(){function a(a){a.tagName="p",a.setStyle()}function b(a){a.parentNode.removeChild(a,!0)}return{"-":"script style object iframe embed input select",p:{$:{}},br:{$:{}},div:function(a){for(var b,c=UE.uNode.createElement("p");b=a.firstChild();)"text"!=b.type&&UE.dom.dtd.$block[b.tagName]?c.firstChild()?(a.parentNode.insertBefore(c,a),c=UE.uNode.createElement("p")):a.parentNode.insertBefore(b,a):c.appendChild(b);c.firstChild()&&a.parentNode.insertBefore(c,a),a.parentNode.removeChild(a)},ol:b,ul:b,dl:b,dt:b,dd:b,li:b,caption:a,th:a,tr:a,h1:a,h2:a,h3:a,h4:a,h5:a,h6:a,td:function(a){var b=!!a.innerText();b&&a.parentNode.insertAfter(UE.uNode.createText("    "),a),a.parentNode.removeChild(a,a.innerText())}}}()});var b=a.options.pasteplain;a.commands.pasteplain={queryCommandState:function(){return b?1:0},execCommand:function(){b=0|!b},notNeedUndo:1}},UE.plugins.list=function(){function a(a){var b=[];for(var c in a)b.push(c);return b}function b(a){var b=a.className;return domUtils.hasClass(a,/custom_/)?b.match(/custom_(\w+)/)[1]:domUtils.getStyle(a,"list-style-type")}function c(a,c){utils.each(domUtils.getElementsByTagName(a,"ol ul"),function(f){if(domUtils.inDoc(f,a)){var g=f.parentNode;if(g.tagName==f.tagName){var h=b(f)||("OL"==f.tagName?"decimal":"disc"),i=b(g)||("OL"==g.tagName?"decimal":"disc");if(h==i){var l=utils.indexOf(k[f.tagName],h);l=l+1==k[f.tagName].length?0:l+1,e(f,k[f.tagName][l])}}var m=0,n=2;domUtils.hasClass(f,/custom_/)?/[ou]l/i.test(g.tagName)&&domUtils.hasClass(g,/custom_/)||(n=1):/[ou]l/i.test(g.tagName)&&domUtils.hasClass(g,/custom_/)&&(n=3);var o=domUtils.getStyle(f,"list-style-type");o&&(f.style.cssText="list-style-type:"+o),f.className=utils.trim(f.className.replace(/list-paddingleft-\w+/,""))+" list-paddingleft-"+n,utils.each(domUtils.getElementsByTagName(f,"li"),function(a){if(a.style.cssText&&(a.style.cssText=""),!a.firstChild)return void domUtils.remove(a);if(a.parentNode===f){if(m++,domUtils.hasClass(f,/custom_/)){var c=1,d=b(f);if("OL"==f.tagName){if(d)switch(d){case"cn":case"cn1":case"cn2":m>10&&(m%10==0||m>10&&m<20)?c=2:m>20&&(c=3);break;case"num2":m>9&&(c=2)}a.className="list-"+j[d]+m+" list-"+d+"-paddingleft-"+c}else a.className="list-"+j[d]+" list-"+d+"-paddingleft"}else a.className=a.className.replace(/list-[\w\-]+/gi,"");var e=a.getAttribute("class");null===e||e.replace(/\s/g,"")||domUtils.removeAttributes(a,"class")}}),!c&&d(f,f.tagName.toLowerCase(),b(f)||domUtils.getStyle(f,"list-style-type"),!0)}})}function d(a,d,e,f){var g=a.nextSibling;g&&1==g.nodeType&&g.tagName.toLowerCase()==d&&(b(g)||domUtils.getStyle(g,"list-style-type")||("ol"==d?"decimal":"disc"))==e&&(domUtils.moveChild(g,a),0==g.childNodes.length&&domUtils.remove(g)),g&&domUtils.isFillChar(g)&&domUtils.remove(g);var h=a.previousSibling;h&&1==h.nodeType&&h.tagName.toLowerCase()==d&&(b(h)||domUtils.getStyle(h,"list-style-type")||("ol"==d?"decimal":"disc"))==e&&domUtils.moveChild(a,h),h&&domUtils.isFillChar(h)&&domUtils.remove(h),!f&&domUtils.isEmptyBlock(a)&&domUtils.remove(a),b(a)&&c(a.ownerDocument,!0)}function e(a,b){j[b]&&(a.className="custom_"+b);try{domUtils.setStyle(a,"list-style-type",b)}catch(c){}}function f(a){var b=a.previousSibling;b&&domUtils.isEmptyBlock(b)&&domUtils.remove(b),b=a.nextSibling,b&&domUtils.isEmptyBlock(b)&&domUtils.remove(b)}function g(a){for(;a&&!domUtils.isBody(a);){if("TABLE"==a.nodeName)return null;if("LI"==a.nodeName)return a;a=a.parentNode}}var h=this,i={TD:1,PRE:1,BLOCKQUOTE:1},j={cn:"cn-1-",cn1:"cn-2-",cn2:"cn-3-",num:"num-1-",num1:"num-2-",num2:"num-3-",dash:"dash",dot:"dot"};h.setOpt({autoTransWordToList:!1,insertorderedlist:{num:"",num1:"",num2:"",cn:"",cn1:"",cn2:"",decimal:"","lower-alpha":"","lower-roman":"","upper-alpha":"","upper-roman":""},insertunorderedlist:{circle:"",disc:"",square:"",dash:"",dot:""},listDefaultPaddingLeft:"30",listiconpath:"http://bs.baidu.com/listicon/",maxListLevel:-1,disablePInList:!1});var k={OL:a(h.options.insertorderedlist),UL:a(h.options.insertunorderedlist)},l=h.options.listiconpath;for(var m in j)h.options.insertorderedlist.hasOwnProperty(m)||h.options.insertunorderedlist.hasOwnProperty(m)||delete j[m];h.ready(function(){var a=[];for(var b in j){if("dash"==b||"dot"==b)a.push("li.list-"+j[b]+"{background-image:url("+l+j[b]+".gif)}"),a.push("ul.custom_"+b+"{list-style:none;}ul.custom_"+b+" li{background-position:0 3px;background-repeat:no-repeat}");else{for(var c=0;c<99;c++)a.push("li.list-"+j[b]+c+"{background-image:url("+l+"list-"+j[b]+c+".gif)}");a.push("ol.custom_"+b+"{list-style:none;}ol.custom_"+b+" li{background-position:0 3px;background-repeat:no-repeat}")}switch(b){case"cn":a.push("li.list-"+b+"-paddingleft-1{padding-left:25px}"),a.push("li.list-"+b+"-paddingleft-2{padding-left:40px}"),a.push("li.list-"+b+"-paddingleft-3{padding-left:55px}");break;case"cn1":a.push("li.list-"+b+"-paddingleft-1{padding-left:30px}"),a.push("li.list-"+b+"-paddingleft-2{padding-left:40px}"),a.push("li.list-"+b+"-paddingleft-3{padding-left:55px}");break;case"cn2":a.push("li.list-"+b+"-paddingleft-1{padding-left:40px}"),a.push("li.list-"+b+"-paddingleft-2{padding-left:55px}"),a.push("li.list-"+b+"-paddingleft-3{padding-left:68px}");break;case"num":case"num1":a.push("li.list-"+b+"-paddingleft-1{padding-left:25px}");break;case"num2":a.push("li.list-"+b+"-paddingleft-1{padding-left:35px}"),a.push("li.list-"+b+"-paddingleft-2{padding-left:40px}");break;case"dash":a.push("li.list-"+b+"-paddingleft{padding-left:35px}");break;case"dot":a.push("li.list-"+b+"-paddingleft{padding-left:20px}")}}a.push(".list-paddingleft-1{padding-left:0}"),a.push(".list-paddingleft-2{padding-left:"+h.options.listDefaultPaddingLeft+"px}"),a.push(".list-paddingleft-3{padding-left:"+2*h.options.listDefaultPaddingLeft+"px}"),utils.cssRule("list","ol,ul{margin:0;pading:0;"+(browser.ie?"":"width:95%")+"}li{clear:both;}"+a.join("\n"),h.document)}),h.ready(function(){domUtils.on(h.body,"cut",function(){setTimeout(function(){var a,b=h.selection.getRange();if(!b.collapsed&&(a=domUtils.findParentByTagName(b.startContainer,"li",!0))&&!a.nextSibling&&domUtils.isEmptyBlock(a)){var c,d=a.parentNode;if(c=d.previousSibling)domUtils.remove(d),b.setStartAtLast(c).collapse(!0),b.select(!0);else if(c=d.nextSibling)domUtils.remove(d),b.setStartAtFirst(c).collapse(!0),b.select(!0);else{var e=h.document.createElement("p");domUtils.fillNode(h.document,e),d.parentNode.insertBefore(e,d),domUtils.remove(d),b.setStart(e,0).collapse(!0),b.select(!0)}}})})}),h.addListener("beforepaste",function(a,c){var d,e=this,f=e.selection.getRange(),g=UE.htmlparser(c.html,!0);if(d=domUtils.findParentByTagName(f.startContainer,"li",!0)){var h=d.parentNode,i="OL"==h.tagName?"ul":"ol";utils.each(g.getNodesByTagName(i),function(c){if(c.tagName=h.tagName,c.setAttr(),c.parentNode===g)a=b(h)||("OL"==h.tagName?"decimal":"disc");else{var d=c.parentNode.getAttr("class");a=d&&/custom_/.test(d)?d.match(/custom_(\w+)/)[1]:c.parentNode.getStyle("list-style-type"),a||(a="OL"==h.tagName?"decimal":"disc")}var e=utils.indexOf(k[h.tagName],a);c.parentNode!==g&&(e=e+1==k[h.tagName].length?0:e+1);var f=k[h.tagName][e];j[f]?c.setAttr("class","custom_"+f):c.setStyle("list-style-type",f)})}c.html=g.toHtml()}),h.getOpt("disablePInList")===!0&&h.addOutputRule(function(a){utils.each(a.getNodesByTagName("li"),function(a){var b=[],c=0;utils.each(a.children,function(d){if("p"==d.tagName){for(var e;e=d.children.pop();)b.splice(c,0,e),e.parentNode=a,lastNode=e;if(e=b[b.length-1],!e||"element"!=e.type||"br"!=e.tagName){var f=UE.uNode.createElement("br");f.parentNode=a,b.push(f)}c=b.length}}),b.length&&(a.children=b)})}),h.addInputRule(function(a){function b(a,b){var e=b.firstChild();if(e&&"element"==e.type&&"span"==e.tagName&&/Wingdings|Symbol/.test(e.getStyle("font-family"))){for(var f in d)if(d[f]==e.data)return f;return"disc"}for(var f in c)if(c[f].test(a))return f}if(utils.each(a.getNodesByTagName("li"),function(a){for(var b,c=UE.uNode.createElement("p"),d=0;b=a.children[d];)"text"==b.type||dtd.p[b.tagName]?c.appendChild(b):c.firstChild()?(a.insertBefore(c,b),c=UE.uNode.createElement("p"),d+=2):d++;(c.firstChild()&&!c.parentNode||!a.firstChild())&&a.appendChild(c),c.firstChild()||c.innerHTML(browser.ie?" ":"
    ");var e=a.firstChild(),f=e.lastChild();f&&"text"==f.type&&/^\s*$/.test(f.data)&&e.removeChild(f)}),h.options.autoTransWordToList){var c={num1:/^\d+\)/,decimal:/^\d+\./,"lower-alpha":/^[a-z]+\)/,"upper-alpha":/^[A-Z]+\./,cn:/^[\u4E00\u4E8C\u4E09\u56DB\u516d\u4e94\u4e03\u516b\u4e5d]+[\u3001]/,cn2:/^\([\u4E00\u4E8C\u4E09\u56DB\u516d\u4e94\u4e03\u516b\u4e5d]+\)/},d={square:"n"};utils.each(a.getNodesByTagName("p"),function(a){function d(a,b,d){if("ol"==a.tagName)if(browser.ie){var e=b.firstChild();"element"==e.type&&"span"==e.tagName&&c[d].test(e.innerText())&&b.removeChild(e)}else b.innerHTML(b.innerHTML().replace(c[d],""));else b.removeChild(b.firstChild());var f=UE.uNode.createElement("li");f.appendChild(b),a.appendChild(f)}if("MsoListParagraph"==a.getAttr("class")){a.setStyle("margin",""),a.setStyle("margin-left",""),a.setAttr("class","");var e,f=a,g=a;if("li"!=a.parentNode.tagName&&(e=b(a.innerText(),a))){var i=UE.uNode.createElement(h.options.insertorderedlist.hasOwnProperty(e)?"ol":"ul");for(j[e]?i.setAttr("class","custom_"+e):i.setStyle("list-style-type",e);a&&"li"!=a.parentNode.tagName&&b(a.innerText(),a);)f=a.nextSibling(),f||a.parentNode.insertBefore(i,a),d(i,a,e),a=f;!i.parentNode&&a&&a.parentNode&&a.parentNode.insertBefore(i,a)}var k=g.firstChild();k&&"element"==k.type&&"span"==k.tagName&&/^\s*( )+\s*$/.test(k.innerText())&&k.parentNode.removeChild(k)}})}}),h.addListener("contentchange",function(){c(h.document)}),h.addListener("keydown",function(a,b){function c(){b.preventDefault?b.preventDefault():b.returnValue=!1,h.fireEvent("contentchange"),h.undoManger&&h.undoManger.save()}function d(a,b){for(;a&&!domUtils.isBody(a);){if(b(a))return null;if(1==a.nodeType&&/[ou]l/i.test(a.tagName))return a;a=a.parentNode}return null}var e=b.keyCode||b.which;if(13==e&&!b.shiftKey){var g=h.selection.getRange(),i=domUtils.findParent(g.startContainer,function(a){return domUtils.isBlockElm(a)},!0),j=domUtils.findParentByTagName(g.startContainer,"li",!0);if(i&&"PRE"!=i.tagName&&!j){var k=i.innerHTML.replace(new RegExp(domUtils.fillChar,"g"),"");/^\s*1\s*\.[^\d]/.test(k)&&(i.innerHTML=k.replace(/^\s*1\s*\./,""),g.setStartAtLast(i).collapse(!0).select(),h.__hasEnterExecCommand=!0,h.execCommand("insertorderedlist"),h.__hasEnterExecCommand=!1)}var l=h.selection.getRange(),m=d(l.startContainer,function(a){return"TABLE"==a.tagName}),n=l.collapsed?m:d(l.endContainer,function(a){return"TABLE"==a.tagName});if(m&&n&&m===n){if(!l.collapsed){if(m=domUtils.findParentByTagName(l.startContainer,"li",!0),n=domUtils.findParentByTagName(l.endContainer,"li",!0),!m||!n||m!==n){var o=l.cloneRange(),p=o.collapse(!1).createBookmark();l.deleteContents(),o.moveToBookmark(p);var j=domUtils.findParentByTagName(o.startContainer,"li",!0);return f(j),o.select(),void c()}if(l.deleteContents(),j=domUtils.findParentByTagName(l.startContainer,"li",!0),j&&domUtils.isEmptyBlock(j))return v=j.previousSibling,next=j.nextSibling,s=h.document.createElement("p"),domUtils.fillNode(h.document,s),q=j.parentNode,v&&next?(l.setStart(next,0).collapse(!0).select(!0),domUtils.remove(j)):((v||next)&&v?j.parentNode.parentNode.insertBefore(s,q.nextSibling):q.parentNode.insertBefore(s,q),domUtils.remove(j),q.firstChild||domUtils.remove(q),l.setStart(s,0).setCursor()),void c()}if(j=domUtils.findParentByTagName(l.startContainer,"li",!0)){ -if(domUtils.isEmptyBlock(j)){p=l.createBookmark();var q=j.parentNode;if(j!==q.lastChild?(domUtils.breakParent(j,q),f(j)):(q.parentNode.insertBefore(j,q.nextSibling),domUtils.isEmptyNode(q)&&domUtils.remove(q)),!dtd.$list[j.parentNode.tagName])if(domUtils.isBlockElm(j.firstChild))domUtils.remove(j,!0);else{for(s=h.document.createElement("p"),j.parentNode.insertBefore(s,j);j.firstChild;)s.appendChild(j.firstChild);domUtils.remove(j)}l.moveToBookmark(p).select()}else{var r=j.firstChild;if(!r||!domUtils.isBlockElm(r)){var s=h.document.createElement("p");for(!j.firstChild&&domUtils.fillNode(h.document,s);j.firstChild;)s.appendChild(j.firstChild);j.appendChild(s),r=s}var t=h.document.createElement("span");l.insertNode(t),domUtils.breakParent(t,j);var u=t.nextSibling;r=u.firstChild,r||(s=h.document.createElement("p"),domUtils.fillNode(h.document,s),u.appendChild(s),r=s),domUtils.isEmptyNode(r)&&(r.innerHTML="",domUtils.fillNode(h.document,r)),l.setStart(r,0).collapse(!0).shrinkBoundary().select(),domUtils.remove(t);var v=u.previousSibling;v&&domUtils.isEmptyBlock(v)&&(v.innerHTML="

    ",domUtils.fillNode(h.document,v.firstChild))}c()}}}if(8==e&&(l=h.selection.getRange(),l.collapsed&&domUtils.isStartInblock(l)&&(o=l.cloneRange().trimBoundary(),j=domUtils.findParentByTagName(l.startContainer,"li",!0),j&&domUtils.isStartInblock(o)))){if(m=domUtils.findParentByTagName(l.startContainer,"p",!0),m&&m!==j.firstChild){var q=domUtils.findParentByTagName(m,["ol","ul"]);return domUtils.breakParent(m,q),f(m),h.fireEvent("contentchange"),l.setStart(m,0).setCursor(!1,!0),h.fireEvent("saveScene"),void domUtils.preventDefault(b)}if(j&&(v=j.previousSibling)){if(46==e&&j.childNodes.length)return;if(dtd.$list[v.tagName]&&(v=v.lastChild),h.undoManger&&h.undoManger.save(),r=j.firstChild,domUtils.isBlockElm(r))if(domUtils.isEmptyNode(r))for(v.appendChild(r),l.setStart(r,0).setCursor(!1,!0);j.firstChild;)v.appendChild(j.firstChild);else t=h.document.createElement("span"),l.insertNode(t),domUtils.isEmptyBlock(v)&&(v.innerHTML=""),domUtils.moveChild(j,v),l.setStartBefore(t).collapse(!0).select(!0),domUtils.remove(t);else if(domUtils.isEmptyNode(j)){var s=h.document.createElement("p");v.appendChild(s),l.setStart(s,0).setCursor()}else for(l.setEnd(v,v.childNodes.length).collapse().select(!0);j.firstChild;)v.appendChild(j.firstChild);return domUtils.remove(j),h.fireEvent("contentchange"),h.fireEvent("saveScene"),void domUtils.preventDefault(b)}if(j&&!j.previousSibling){var q=j.parentNode,p=l.createBookmark();if(domUtils.isTagNode(q.parentNode,"ol ul"))q.parentNode.insertBefore(j,q),domUtils.isEmptyNode(q)&&domUtils.remove(q);else{for(;j.firstChild;)q.parentNode.insertBefore(j.firstChild,q);domUtils.remove(j),domUtils.isEmptyNode(q)&&domUtils.remove(q)}return l.moveToBookmark(p).setCursor(!1,!0),h.fireEvent("contentchange"),h.fireEvent("saveScene"),void domUtils.preventDefault(b)}}}),h.addListener("keyup",function(a,c){var e=c.keyCode||c.which;if(8==e){var f,g=h.selection.getRange();(f=domUtils.findParentByTagName(g.startContainer,["ol","ul"],!0))&&d(f,f.tagName.toLowerCase(),b(f)||domUtils.getComputedStyle(f,"list-style-type"),!0)}}),h.addListener("tabkeydown",function(){function a(a){if(h.options.maxListLevel!=-1){for(var b=a.parentNode,c=0;/[ou]l/i.test(b.tagName);)c++,b=b.parentNode;if(c>=h.options.maxListLevel)return!0}}var c=h.selection.getRange(),f=domUtils.findParentByTagName(c.startContainer,"li",!0);if(f){var g;if(!c.collapsed){h.fireEvent("saveScene"),g=c.createBookmark();for(var i,j,l=0,m=domUtils.findParents(f);j=m[l++];)if(domUtils.isTagNode(j,"ol ul")){i=j;break}var n=f;if(g.end)for(;n&&!(domUtils.getPosition(n,g.end)&domUtils.POSITION_FOLLOWING);)if(a(n))n=domUtils.getNextDomNode(n,!1,null,function(a){return a!==i});else{var o=n.parentNode,p=h.document.createElement(o.tagName),q=utils.indexOf(k[p.tagName],b(o)||domUtils.getComputedStyle(o,"list-style-type")),r=q+1==k[p.tagName].length?0:q+1,s=k[p.tagName][r];for(e(p,s),o.insertBefore(p,n);n&&!(domUtils.getPosition(n,g.end)&domUtils.POSITION_FOLLOWING);){if(f=n.nextSibling,p.appendChild(n),!f||domUtils.isTagNode(f,"ol ul")){if(f)for(;(f=f.firstChild)&&"LI"!=f.tagName;);else f=domUtils.getNextDomNode(n,!1,null,function(a){return a!==i});break}n=f}d(p,p.tagName.toLowerCase(),s),n=f}return h.fireEvent("contentchange"),c.moveToBookmark(g).select(),!0}if(a(f))return!0;var o=f.parentNode,p=h.document.createElement(o.tagName),q=utils.indexOf(k[p.tagName],b(o)||domUtils.getComputedStyle(o,"list-style-type"));q=q+1==k[p.tagName].length?0:q+1;var s=k[p.tagName][q];if(e(p,s),domUtils.isStartInblock(c))return h.fireEvent("saveScene"),g=c.createBookmark(),o.insertBefore(p,f),p.appendChild(f),d(p,p.tagName.toLowerCase(),s),h.fireEvent("contentchange"),c.moveToBookmark(g).select(!0),!0}}),h.commands.insertorderedlist=h.commands.insertunorderedlist={execCommand:function(a,c){c||(c="insertorderedlist"==a.toLowerCase()?"decimal":"disc");var f=this,h=this.selection.getRange(),j=function(a){return 1==a.nodeType?"br"!=a.tagName.toLowerCase():!domUtils.isWhitespace(a)},k="insertorderedlist"==a.toLowerCase()?"ol":"ul",l=f.document.createDocumentFragment();h.adjustmentBoundary().shrinkBoundary();var m,n,o,p,q=h.createBookmark(!0),r=g(f.document.getElementById(q.start)),s=0,t=g(f.document.getElementById(q.end)),u=0;if(r||t){if(r&&(m=r.parentNode),q.end||(t=r),t&&(n=t.parentNode),m===n){for(;r!==t;){if(p=r,r=r.nextSibling,!domUtils.isBlockElm(p.firstChild)){for(var v=f.document.createElement("p");p.firstChild;)v.appendChild(p.firstChild);p.appendChild(v)}l.appendChild(p)}if(p=f.document.createElement("span"),m.insertBefore(p,t),!domUtils.isBlockElm(t.firstChild)){for(v=f.document.createElement("p");t.firstChild;)v.appendChild(t.firstChild);t.appendChild(v)}l.appendChild(t),domUtils.breakParent(p,m),domUtils.isEmptyNode(p.previousSibling)&&domUtils.remove(p.previousSibling),domUtils.isEmptyNode(p.nextSibling)&&domUtils.remove(p.nextSibling);var w=b(m)||domUtils.getComputedStyle(m,"list-style-type")||("insertorderedlist"==a.toLowerCase()?"decimal":"disc");if(m.tagName.toLowerCase()==k&&w==c){for(var x,y=0,z=f.document.createDocumentFragment();x=l.firstChild;)if(domUtils.isTagNode(x,"ol ul"))z.appendChild(x);else for(;x.firstChild;)z.appendChild(x.firstChild),domUtils.remove(x);p.parentNode.insertBefore(z,p)}else o=f.document.createElement(k),e(o,c),o.appendChild(l),p.parentNode.insertBefore(o,p);return domUtils.remove(p),o&&d(o,k,c),void h.moveToBookmark(q).select()}if(r){for(;r;){if(p=r.nextSibling,domUtils.isTagNode(r,"ol ul"))l.appendChild(r);else{for(var A=f.document.createDocumentFragment(),B=0;r.firstChild;)domUtils.isBlockElm(r.firstChild)&&(B=1),A.appendChild(r.firstChild);if(B)l.appendChild(A);else{var C=f.document.createElement("p");C.appendChild(A),l.appendChild(C)}domUtils.remove(r)}r=p}m.parentNode.insertBefore(l,m.nextSibling),domUtils.isEmptyNode(m)?(h.setStartBefore(m),domUtils.remove(m)):h.setStartAfter(m),s=1}if(t&&domUtils.inDoc(n,f.document)){for(r=n.firstChild;r&&r!==t;){if(p=r.nextSibling,domUtils.isTagNode(r,"ol ul"))l.appendChild(r);else{for(A=f.document.createDocumentFragment(),B=0;r.firstChild;)domUtils.isBlockElm(r.firstChild)&&(B=1),A.appendChild(r.firstChild);B?l.appendChild(A):(C=f.document.createElement("p"),C.appendChild(A),l.appendChild(C)),domUtils.remove(r)}r=p}var D=domUtils.createElement(f.document,"div",{tmpDiv:1});domUtils.moveChild(t,D),l.appendChild(D),domUtils.remove(t),n.parentNode.insertBefore(l,n),h.setEndBefore(n),domUtils.isEmptyNode(n)&&domUtils.remove(n),u=1}}s||h.setStartBefore(f.document.getElementById(q.start)),q.end&&!u&&h.setEndAfter(f.document.getElementById(q.end)),h.enlarge(!0,function(a){return i[a.tagName]}),l=f.document.createDocumentFragment();for(var E,F=h.createBookmark(),G=domUtils.getNextDomNode(F.start,!1,j),H=h.cloneRange(),I=domUtils.isBlockElm;G&&G!==F.end&&domUtils.getPosition(G,F.end)&domUtils.POSITION_PRECEDING;)if(3==G.nodeType||dtd.li[G.tagName]){if(1==G.nodeType&&dtd.$list[G.tagName]){for(;G.firstChild;)l.appendChild(G.firstChild);E=domUtils.getNextDomNode(G,!1,j),domUtils.remove(G),G=E;continue}for(E=G,H.setStartBefore(G);G&&G!==F.end&&(!I(G)||domUtils.isBookmarkNode(G));)E=G,G=domUtils.getNextDomNode(G,!1,null,function(a){return!i[a.tagName]});G&&I(G)&&(p=domUtils.getNextDomNode(E,!1,j),p&&domUtils.isBookmarkNode(p)&&(G=domUtils.getNextDomNode(p,!1,j),E=p)),H.setEndAfter(E),G=domUtils.getNextDomNode(E,!1,j);var J=h.document.createElement("li");if(J.appendChild(H.extractContents()),domUtils.isEmptyNode(J)){for(var E=h.document.createElement("p");J.firstChild;)E.appendChild(J.firstChild);J.appendChild(E)}l.appendChild(J)}else G=domUtils.getNextDomNode(G,!0,j);h.moveToBookmark(F).collapse(!0),o=f.document.createElement(k),e(o,c),o.appendChild(l),h.insertNode(o),d(o,k,c);for(var x,y=0,K=domUtils.getElementsByTagName(o,"div");x=K[y++];)x.getAttribute("tmpDiv")&&domUtils.remove(x,!0);h.moveToBookmark(q).select()},queryCommandState:function(a){for(var b,c="insertorderedlist"==a.toLowerCase()?"ol":"ul",d=this.selection.getStartElementPath(),e=0;b=d[e++];){if("TABLE"==b.nodeName)return 0;if(c==b.nodeName.toLowerCase())return 1}return 0},queryCommandValue:function(a){for(var c,d,e="insertorderedlist"==a.toLowerCase()?"ol":"ul",f=this.selection.getStartElementPath(),g=0;d=f[g++];){if("TABLE"==d.nodeName){c=null;break}if(e==d.nodeName.toLowerCase()){c=d;break}}return c?b(c)||domUtils.getComputedStyle(c,"list-style-type"):null}}},function(){var a={textarea:function(a,b){var c=b.ownerDocument.createElement("textarea");return c.style.cssText="position:absolute;resize:none;width:100%;height:100%;border:0;padding:0;margin:0;overflow-y:auto;",browser.ie&&browser.version<8&&(c.style.width=b.offsetWidth+"px",c.style.height=b.offsetHeight+"px",b.onresize=function(){c.style.width=b.offsetWidth+"px",c.style.height=b.offsetHeight+"px"}),b.appendChild(c),{setContent:function(a){c.value=a},getContent:function(){return c.value},select:function(){var a;browser.ie?(a=c.createTextRange(),a.collapse(!0),a.select()):(c.setSelectionRange(0,0),c.focus())},dispose:function(){b.removeChild(c),b.onresize=null,c=null,b=null}}},codemirror:function(a,b){var c=window.CodeMirror(b,{mode:"text/html",tabMode:"indent",lineNumbers:!0,lineWrapping:!0}),d=c.getWrapperElement();return d.style.cssText='position:absolute;left:0;top:0;width:100%;height:100%;font-family:consolas,"Courier new",monospace;font-size:13px;',c.getScrollerElement().style.cssText="position:absolute;left:0;top:0;width:100%;height:100%;",c.refresh(),{getCodeMirror:function(){return c},setContent:function(a){c.setValue(a)},getContent:function(){return c.getValue()},select:function(){c.focus()},dispose:function(){b.removeChild(d),d=null,c=null}}}};UE.plugins.source=function(){function b(b){return a["codemirror"==f.sourceEditor&&window.CodeMirror?"codemirror":"textarea"](e,b)}var c,d,e=this,f=this.options,g=!1;f.sourceEditor=browser.ie?"textarea":f.sourceEditor||"codemirror",e.setOpt({sourceEditorFirst:!1});var h,i,j;e.commands.source={execCommand:function(){if(g=!g){j=e.selection.getRange().createAddress(!1,!0),e.undoManger&&e.undoManger.save(!0),browser.gecko&&(e.body.contentEditable=!1),h=e.iframe.style.cssText,e.iframe.style.cssText+="position:absolute;left:-32768px;top:-32768px;",e.fireEvent("beforegetcontent");var a=UE.htmlparser(e.body.innerHTML);e.filterOutputRule(a),a.traversal(function(a){if("element"==a.type)switch(a.tagName){case"td":case"th":case"caption":a.children&&1==a.children.length&&"br"==a.firstChild().tagName&&a.removeChild(a.firstChild());break;case"pre":a.innerText(a.innerText().replace(/ /g," "))}}),e.fireEvent("aftergetcontent");var f=a.toHtml(!0);c=b(e.iframe.parentNode),c.setContent(f),d=e.setContent,e.setContent=function(a){var b=UE.htmlparser(a);e.filterInputRule(b),a=b.toHtml(),c.setContent(a)},setTimeout(function(){c.select(),e.addListener("fullscreenchanged",function(){try{c.getCodeMirror().refresh()}catch(a){}})}),i=e.getContent,e.getContent=function(){return c.getContent()||"

    "+(browser.ie?"":"
    ")+"

    "}}else{e.iframe.style.cssText=h;var k=c.getContent()||"

    "+(browser.ie?"":"
    ")+"

    ";k=k.replace(new RegExp("[\\r\\t\\n ]*]*)>","g"),function(a,b){return b&&!dtd.$inlineWithA[b.toLowerCase()]?a.replace(/(^[\n\r\t ]*)|([\n\r\t ]*$)/g,""):a.replace(/(^[\n\r\t]*)|([\n\r\t]*$)/g,"")}),e.setContent=d,e.setContent(k),c.dispose(),c=null,e.getContent=i;var l=e.body.firstChild;if(l||(e.body.innerHTML="

    "+(browser.ie?"":"
    ")+"

    ",l=e.body.firstChild),e.undoManger&&e.undoManger.save(!0),browser.gecko){var m=document.createElement("input");m.style.cssText="position:absolute;left:0;top:-32768px",document.body.appendChild(m),e.body.contentEditable=!1,setTimeout(function(){domUtils.setViewportOffset(m,{left:-32768,top:0}),m.focus(),setTimeout(function(){e.body.contentEditable=!0,e.selection.getRange().moveToAddress(j).select(!0),domUtils.remove(m)})})}else try{e.selection.getRange().moveToAddress(j).select(!0)}catch(n){}}this.fireEvent("sourcemodechanged",g)},queryCommandState:function(){return 0|g},notNeedUndo:1};var k=e.queryCommandState;e.queryCommandState=function(a){return a=a.toLowerCase(),g?a in{source:1,fullscreen:1}?1:-1:k.apply(this,arguments)},"codemirror"==f.sourceEditor&&e.addListener("ready",function(){utils.loadFile(document,{src:f.codeMirrorJsUrl||f.UEDITOR_HOME_URL+"third-party/codemirror/codemirror.js",tag:"script",type:"text/javascript",defer:"defer"},function(){f.sourceEditorFirst&&setTimeout(function(){e.execCommand("source")},0)}),utils.loadFile(document,{tag:"link",rel:"stylesheet",type:"text/css",href:f.codeMirrorCssUrl||f.UEDITOR_HOME_URL+"third-party/codemirror/codemirror.css"})})}}(),UE.plugins.enterkey=function(){var a,b=this,c=b.options.enterTag;b.addListener("keyup",function(c,d){var e=d.keyCode||d.which;if(13==e){var f,g=b.selection.getRange(),h=g.startContainer;if(browser.ie)b.fireEvent("saveScene",!0,!0);else{if(/h\d/i.test(a)){if(browser.gecko){var i=domUtils.findParentByTagName(h,["h1","h2","h3","h4","h5","h6","blockquote","caption","table"],!0);i||(b.document.execCommand("formatBlock",!1,"

    "),f=1)}else if(1==h.nodeType){var j,k=b.document.createTextNode("");if(g.insertNode(k),j=domUtils.findParentByTagName(k,"div",!0)){for(var l=b.document.createElement("p");j.firstChild;)l.appendChild(j.firstChild);j.parentNode.insertBefore(l,j),domUtils.remove(j),g.setStartBefore(k).setCursor(),f=1}domUtils.remove(k)}b.undoManger&&f&&b.undoManger.save()}browser.opera&&g.select()}}}),b.addListener("keydown",function(d,e){var f=e.keyCode||e.which;if(13==f){if(b.fireEvent("beforeenterkeydown"))return void domUtils.preventDefault(e);b.fireEvent("saveScene",!0,!0),a="";var g=b.selection.getRange();if(!g.collapsed){var h=g.startContainer,i=g.endContainer,j=domUtils.findParentByTagName(h,"td",!0),k=domUtils.findParentByTagName(i,"td",!0);if(j&&k&&j!==k||!j&&k||j&&!k)return void(e.preventDefault?e.preventDefault():e.returnValue=!1)}if("p"==c)browser.ie||(h=domUtils.findParentByTagName(g.startContainer,["ol","ul","p","h1","h2","h3","h4","h5","h6","blockquote","caption"],!0),h||browser.opera?(a=h.tagName,"p"==h.tagName.toLowerCase()&&browser.gecko&&domUtils.removeDirtyAttr(h)):(b.document.execCommand("formatBlock",!1,"

    "),browser.gecko&&(g=b.selection.getRange(),h=domUtils.findParentByTagName(g.startContainer,"p",!0),h&&domUtils.removeDirtyAttr(h))));else if(e.preventDefault?e.preventDefault():e.returnValue=!1,g.collapsed){m=g.document.createElement("br"),g.insertNode(m);var l=m.parentNode;l.lastChild===m?(m.parentNode.insertBefore(m.cloneNode(!0),m),g.setStartBefore(m)):g.setStartAfter(m),g.setCursor()}else if(g.deleteContents(),h=g.startContainer,1==h.nodeType&&(h=h.childNodes[g.startOffset])){for(;1==h.nodeType;){if(dtd.$empty[h.tagName])return g.setStartBefore(h).setCursor(),b.undoManger&&b.undoManger.save(),!1;if(!h.firstChild){var m=g.document.createElement("br");return h.appendChild(m),g.setStart(h,0).setCursor(),b.undoManger&&b.undoManger.save(),!1}h=h.firstChild}h===g.startContainer.childNodes[g.startOffset]?(m=g.document.createElement("br"),g.insertNode(m).setCursor()):g.setStart(h,0).setCursor()}else m=g.document.createElement("br"),g.insertNode(m).setStartAfter(m).setCursor()}})},UE.plugins.keystrokes=function(){var a=this,b=!0;a.addListener("keydown",function(c,d){var e=d.keyCode||d.which,f=a.selection.getRange();if(!f.collapsed&&!(d.ctrlKey||d.shiftKey||d.altKey||d.metaKey)&&(e>=65&&e<=90||e>=48&&e<=57||e>=96&&e<=111||{13:1,8:1,46:1}[e])){var g=f.startContainer;if(domUtils.isFillChar(g)&&f.setStartBefore(g),g=f.endContainer,domUtils.isFillChar(g)&&f.setEndAfter(g),f.txtToElmBoundary(),f.endContainer&&1==f.endContainer.nodeType&&(g=f.endContainer.childNodes[f.endOffset],g&&domUtils.isBr(g)&&f.setEndAfter(g)),0==f.startOffset&&(g=f.startContainer,domUtils.isBoundaryNode(g,"firstChild")&&(g=f.endContainer,f.endOffset==(3==g.nodeType?g.nodeValue.length:g.childNodes.length)&&domUtils.isBoundaryNode(g,"lastChild"))))return a.fireEvent("saveScene"),a.body.innerHTML="

    "+(browser.ie?"":"
    ")+"

    ",f.setStart(a.body.firstChild,0).setCursor(!1,!0),void a._selectionChange()}if(e==keymap.Backspace){if(f=a.selection.getRange(),b=f.collapsed,a.fireEvent("delkeydown",d))return;var h,i;if(f.collapsed&&f.inFillChar()&&(h=f.startContainer,domUtils.isFillChar(h)?(f.setStartBefore(h).shrinkBoundary(!0).collapse(!0),domUtils.remove(h)):(h.nodeValue=h.nodeValue.replace(new RegExp("^"+domUtils.fillChar),""),f.startOffset--,f.collapse(!0).select(!0))),h=f.getClosedNode())return a.fireEvent("saveScene"),f.setStartBefore(h),domUtils.remove(h),f.setCursor(),a.fireEvent("saveScene"),void domUtils.preventDefault(d);if(!browser.ie&&(h=domUtils.findParentByTagName(f.startContainer,"table",!0),i=domUtils.findParentByTagName(f.endContainer,"table",!0),h&&!i||!h&&i||h!==i))return void d.preventDefault()}if(e==keymap.Tab){var j={ol:1,ul:1,table:1};if(a.fireEvent("tabkeydown",d))return void domUtils.preventDefault(d);var k=a.selection.getRange();a.fireEvent("saveScene");for(var l=0,m="",n=a.options.tabSize||4,o=a.options.tabNode||" ";l"});d.insertNode(g).setStart(g,0).setCursor(!1,!0)}}if(!b&&(3==d.startContainer.nodeType||1==d.startContainer.nodeType&&domUtils.isEmptyBlock(d.startContainer)))if(browser.ie){var k=d.document.createElement("span");d.insertNode(k).setStartBefore(k).collapse(!0),d.select(),domUtils.remove(k)}else d.select()}})},UE.plugins.fiximgclick=function(){function a(){this.editor=null,this.resizer=null,this.cover=null,this.doc=document,this.prePos={x:0,y:0},this.startPos={x:0,y:0}}var b=!1;return function(){var c=[[0,0,-1,-1],[0,0,0,-1],[0,0,1,-1],[0,0,-1,0],[0,0,1,0],[0,0,-1,1],[0,0,0,1],[0,0,1,1]];a.prototype={init:function(a){var b=this;b.editor=a,b.startPos=this.prePos={x:0,y:0},b.dragId=-1;var c=[],d=b.cover=document.createElement("div"),e=b.resizer=document.createElement("div");for(d.id=b.editor.ui.id+"_imagescale_cover",d.style.cssText="position:absolute;display:none;z-index:"+b.editor.options.zIndex+";filter:alpha(opacity=0); opacity:0;background:#CCC;",domUtils.on(d,"mousedown click",function(){b.hide()}),i=0;i<8;i++)c.push('');e.id=b.editor.ui.id+"_imagescale",e.className="edui-editor-imagescale",e.innerHTML=c.join(""),e.style.cssText+=";display:none;border:1px solid #3b77ff;z-index:"+b.editor.options.zIndex+";",b.editor.ui.getDom().appendChild(d),b.editor.ui.getDom().appendChild(e),b.initStyle(),b.initEvents()},initStyle:function(){utils.cssRule("imagescale",".edui-editor-imagescale{display:none;position:absolute;border:1px solid #38B2CE;cursor:hand;-webkit-box-sizing: content-box;-moz-box-sizing: content-box;box-sizing: content-box;}.edui-editor-imagescale span{position:absolute;width:6px;height:6px;overflow:hidden;font-size:0px;display:block;background-color:#3C9DD0;}.edui-editor-imagescale .edui-editor-imagescale-hand0{cursor:nw-resize;top:0;margin-top:-4px;left:0;margin-left:-4px;}.edui-editor-imagescale .edui-editor-imagescale-hand1{cursor:n-resize;top:0;margin-top:-4px;left:50%;margin-left:-4px;}.edui-editor-imagescale .edui-editor-imagescale-hand2{cursor:ne-resize;top:0;margin-top:-4px;left:100%;margin-left:-3px;}.edui-editor-imagescale .edui-editor-imagescale-hand3{cursor:w-resize;top:50%;margin-top:-4px;left:0;margin-left:-4px;}.edui-editor-imagescale .edui-editor-imagescale-hand4{cursor:e-resize;top:50%;margin-top:-4px;left:100%;margin-left:-3px;}.edui-editor-imagescale .edui-editor-imagescale-hand5{cursor:sw-resize;top:100%;margin-top:-3px;left:0;margin-left:-4px;}.edui-editor-imagescale .edui-editor-imagescale-hand6{cursor:s-resize;top:100%;margin-top:-3px;left:50%;margin-left:-4px;}.edui-editor-imagescale .edui-editor-imagescale-hand7{cursor:se-resize;top:100%;margin-top:-3px;left:100%;margin-left:-3px;}")},initEvents:function(){var a=this;a.startPos.x=a.startPos.y=0,a.isDraging=!1},_eventHandler:function(a){var c=this;switch(a.type){case"mousedown":var d,d=a.target||a.srcElement;d.className.indexOf("edui-editor-imagescale-hand")!=-1&&c.dragId==-1&&(c.dragId=d.className.slice(-1),c.startPos.x=c.prePos.x=a.clientX,c.startPos.y=c.prePos.y=a.clientY,domUtils.on(c.doc,"mousemove",c.proxy(c._eventHandler,c)));break;case"mousemove":c.dragId!=-1&&(c.updateContainerStyle(c.dragId,{x:a.clientX-c.prePos.x,y:a.clientY-c.prePos.y}),c.prePos.x=a.clientX,c.prePos.y=a.clientY,b=!0,c.updateTargetElement());break;case"mouseup":c.dragId!=-1&&(c.updateContainerStyle(c.dragId,{x:a.clientX-c.prePos.x,y:a.clientY-c.prePos.y}),c.updateTargetElement(),c.target.parentNode&&c.attachTo(c.target),c.dragId=-1),domUtils.un(c.doc,"mousemove",c.proxy(c._eventHandler,c)),b&&(b=!1,c.editor.fireEvent("contentchange"))}},updateTargetElement:function(){var a=this;domUtils.setStyles(a.target,{width:a.resizer.style.width,height:a.resizer.style.height}),a.target.width=parseInt(a.resizer.style.width),a.target.height=parseInt(a.resizer.style.height),a.attachTo(a.target)},updateContainerStyle:function(a,b){var d,e=this,f=e.resizer;0!=c[a][0]&&(d=parseInt(f.style.left)+b.x,f.style.left=e._validScaledProp("left",d)+"px"),0!=c[a][1]&&(d=parseInt(f.style.top)+b.y,f.style.top=e._validScaledProp("top",d)+"px"),0!=c[a][2]&&(d=f.clientWidth+c[a][2]*b.x,f.style.width=e._validScaledProp("width",d)+"px"),0!=c[a][3]&&(d=f.clientHeight+c[a][3]*b.y,f.style.height=e._validScaledProp("height",d)+"px")},_validScaledProp:function(a,b){var c=this.resizer,d=document;switch(b=isNaN(b)?0:b,a){case"left":return b<0?0:b+c.clientWidth>d.clientWidth?d.clientWidth-c.clientWidth:b;case"top":return b<0?0:b+c.clientHeight>d.clientHeight?d.clientHeight-c.clientHeight:b;case"width":return b<=0?1:b+c.offsetLeft>d.clientWidth?d.clientWidth-c.offsetLeft:b;case"height":return b<=0?1:b+c.offsetTop>d.clientHeight?d.clientHeight-c.offsetTop:b}},hideCover:function(){this.cover.style.display="none"},showCover:function(){var a=this,b=domUtils.getXY(a.editor.ui.getDom()),c=domUtils.getXY(a.editor.iframe);domUtils.setStyles(a.cover,{width:a.editor.iframe.offsetWidth+"px",height:a.editor.iframe.offsetHeight+"px",top:c.y-b.y+"px",left:c.x-b.x+"px",position:"absolute",display:""})},show:function(a){var b=this;b.resizer.style.display="block",a&&b.attachTo(a),domUtils.on(this.resizer,"mousedown",b.proxy(b._eventHandler,b)),domUtils.on(b.doc,"mouseup",b.proxy(b._eventHandler,b)),b.showCover(),b.editor.fireEvent("afterscaleshow",b),b.editor.fireEvent("saveScene")},hide:function(){var a=this;a.hideCover(),a.resizer.style.display="none",domUtils.un(a.resizer,"mousedown",a.proxy(a._eventHandler,a)),domUtils.un(a.doc,"mouseup",a.proxy(a._eventHandler,a)),a.editor.fireEvent("afterscalehide",a)},proxy:function(a,b){return function(c){return a.apply(b||this,arguments)}},attachTo:function(a){var b=this,c=b.target=a,d=this.resizer,e=domUtils.getXY(c),f=domUtils.getXY(b.editor.iframe),g=domUtils.getXY(d.parentNode);domUtils.setStyles(d,{width:c.width+"px",height:c.height+"px",left:f.x+e.x-b.editor.document.body.scrollLeft-g.x-parseInt(d.style.borderLeftWidth)+"px",top:f.y+e.y-b.editor.document.body.scrollTop-g.y-parseInt(d.style.borderTopWidth)+"px"})}}}(),function(){var b,c=this;c.setOpt("imageScaleEnabled",!0),!browser.ie&&c.options.imageScaleEnabled&&c.addListener("click",function(d,e){var f=c.selection.getRange(),g=f.getClosedNode();if(g&&"IMG"==g.tagName&&"false"!=c.body.contentEditable){if(g.className.indexOf("edui-faked-music")!=-1||g.getAttribute("anchorname")||domUtils.hasClass(g,"loadingclass")||domUtils.hasClass(g,"loaderrorclass"))return;if(!b){b=new a,b.init(c),c.ui.getDom().appendChild(b.resizer);var h,i=function(a){b.hide(),b.target&&c.selection.getRange().selectNode(b.target).select()},j=function(a){var b=a.target||a.srcElement;!b||void 0!==b.className&&b.className.indexOf("edui-editor-imagescale")!=-1||i(a)};c.addListener("afterscaleshow",function(a){c.addListener("beforekeydown",i),c.addListener("beforemousedown",j),domUtils.on(document,"keydown",i),domUtils.on(document,"mousedown",j),c.selection.getNative().removeAllRanges()}),c.addListener("afterscalehide",function(a){c.removeListener("beforekeydown",i),c.removeListener("beforemousedown",j),domUtils.un(document,"keydown",i),domUtils.un(document,"mousedown",j);var d=b.target;d.parentNode&&c.selection.getRange().selectNode(d).select()}),domUtils.on(b.resizer,"mousedown",function(a){c.selection.getNative().removeAllRanges();var d=a.target||a.srcElement;d&&d.className.indexOf("edui-editor-imagescale-hand")==-1&&(h=setTimeout(function(){b.hide(),b.target&&c.selection.getRange().selectNode(d).select()},200))}),domUtils.on(b.resizer,"mouseup",function(a){var b=a.target||a.srcElement;b&&b.className.indexOf("edui-editor-imagescale-hand")==-1&&clearTimeout(h)})}b.show(g)}else b&&"none"!=b.resizer.style.display&&b.hide()}),browser.webkit&&c.addListener("click",function(a,b){if("IMG"==b.target.tagName&&"false"!=c.body.contentEditable){var d=new dom.Range(c.document);d.selectNode(b.target).select()}})}}(),UE.plugin.register("autolink",function(){var a=0;return browser.ie?{}:{bindEvents:{reset:function(){a=0},keydown:function(a,b){var c=this,d=b.keyCode||b.which;if(32==d||13==d){for(var e,f,g=c.selection.getNative(),h=g.getRangeAt(0).cloneRange(),i=h.startContainer;1==i.nodeType&&h.startOffset>0&&(i=h.startContainer.childNodes[h.startOffset-1]);)h.setStart(i,1==i.nodeType?i.childNodes.length:i.nodeValue.length),h.collapse(!0),i=h.startContainer;do{if(0==h.startOffset){for(i=h.startContainer.previousSibling;i&&1==i.nodeType;)i=i.lastChild;if(!i||domUtils.isFillChar(i))break;e=i.nodeValue.length}else i=h.startContainer,e=h.startOffset;h.setStart(i,e-1),f=h.toString().charCodeAt(0)}while(160!=f&&32!=f);if(h.toString().replace(new RegExp(domUtils.fillChar,"g"),"").match(/(?:https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.)/i)){for(;h.toString().length&&!/^(?:https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.)/i.test(h.toString());)try{h.setStart(h.startContainer,h.startOffset+1)}catch(j){for(var i=h.startContainer;!(next=i.nextSibling);){if(domUtils.isBody(i))return;i=i.parentNode}h.setStart(next,0)}if(domUtils.findParentByTagName(h.startContainer,"a",!0))return;var k,l=c.document.createElement("a"),m=c.document.createTextNode(" ");c.undoManger&&c.undoManger.save(),l.appendChild(h.extractContents()),l.href=l.innerHTML=l.innerHTML.replace(/<[^>]+>/g,""),k=l.getAttribute("href").replace(new RegExp(domUtils.fillChar,"g"),""),k=/^(?:https?:\/\/)/gi.test(k)?k:"http://"+k,l.setAttribute("_src",utils.html(k)),l.href=utils.html(k),h.insertNode(l),l.parentNode.insertBefore(m,l.nextSibling),h.setStart(m,0),h.collapse(!0),g.removeAllRanges(),g.addRange(h),c.undoManger&&c.undoManger.save()}}}}}},function(){function a(a){if(3==a.nodeType)return null;if("A"==a.nodeName)return a;for(var b=a.lastChild;b;){if("A"==b.nodeName)return b;if(3==b.nodeType){if(domUtils.isWhitespace(b)){b=b.previousSibling;continue}return null}b=b.lastChild}}var b={37:1,38:1,39:1,40:1,13:1,32:1};browser.ie&&this.addListener("keyup",function(c,d){var e=this,f=d.keyCode;if(b[f]){var g=e.selection.getRange(),h=g.startContainer;if(13==f){for(;h&&!domUtils.isBody(h)&&!domUtils.isBlockElm(h);)h=h.parentNode;if(h&&!domUtils.isBody(h)&&"P"==h.nodeName){var i=h.previousSibling;if(i&&1==i.nodeType){var i=a(i);i&&!i.getAttribute("_href")&&domUtils.remove(i,!0)}}}else if(32==f)3==h.nodeType&&/^\s$/.test(h.nodeValue)&&(h=h.previousSibling,h&&"A"==h.nodeName&&!h.getAttribute("_href")&&domUtils.remove(h,!0));else if(h=domUtils.findParentByTagName(h,"a",!0),h&&!h.getAttribute("_href")){var j=g.createBookmark();domUtils.remove(h,!0),g.moveToBookmark(j).select(!0)}}})}),UE.plugins.autoheight=function(){function a(){var a=this;clearTimeout(e),f||(!a.queryCommandState||a.queryCommandState&&1!=a.queryCommandState("source"))&&(e=setTimeout(function(){for(var b=a.body.lastChild;b&&1!=b.nodeType;)b=b.previousSibling;b&&1==b.nodeType&&(b.style.clear="both",d=Math.max(domUtils.getXY(b).y+b.offsetHeight+25,Math.max(h.minFrameHeight,h.initialFrameHeight)),d!=g&&(d!==parseInt(a.iframe.parentNode.style.height)&&(a.iframe.parentNode.style.height=d+"px"),a.body.style.height=d+"px",g=d),domUtils.removeStyle(b,"clear"))},50))}var b=this;if(b.autoHeightEnabled=b.options.autoHeightEnabled!==!1,b.autoHeightEnabled){var c,d,e,f,g=0,h=b.options;b.addListener("fullscreenchanged",function(a,b){f=b}),b.addListener("destroy",function(){b.removeListener("contentchange afterinserthtml keyup mouseup",a)}),b.enableAutoHeight=function(){var b=this;if(b.autoHeightEnabled){var d=b.document;b.autoHeightEnabled=!0,c=d.body.style.overflowY,d.body.style.overflowY="hidden",b.addListener("contentchange afterinserthtml keyup mouseup",a),setTimeout(function(){a.call(b)},browser.gecko?100:0),b.fireEvent("autoheightchanged",b.autoHeightEnabled)}},b.disableAutoHeight=function(){b.body.style.overflowY=c||"",b.removeListener("contentchange",a),b.removeListener("keyup",a),b.removeListener("mouseup",a),b.autoHeightEnabled=!1,b.fireEvent("autoheightchanged",b.autoHeightEnabled)},b.on("setHeight",function(){b.disableAutoHeight()}),b.addListener("ready",function(){b.enableAutoHeight();var c;domUtils.on(browser.ie?b.body:b.document,browser.webkit?"dragover":"drop",function(){clearTimeout(c),c=setTimeout(function(){a.call(b)},100)});var d;window.onscroll=function(){ -null===d?d=this.scrollY:0==this.scrollY&&0!=d&&(b.window.scrollTo(0,0),d=null)}})}},UE.plugins.autofloat=function(){function a(){return UE.ui?1:(alert(g.autofloatMsg),0)}function b(){var a=document.body.style;a.backgroundImage='url("about:blank")',a.backgroundAttachment="fixed"}function c(){var a=domUtils.getXY(k),b=domUtils.getComputedStyle(k,"position"),c=domUtils.getComputedStyle(k,"left");k.style.width=k.offsetWidth+"px",k.style.zIndex=1*f.options.zIndex+1,k.parentNode.insertBefore(q,k),o||p&&browser.ie?("absolute"!=k.style.position&&(k.style.position="absolute"),k.style.top=(document.body.scrollTop||document.documentElement.scrollTop)-l+i+"px"):(browser.ie7Compat&&r&&(r=!1,k.style.left=domUtils.getXY(k).x-document.documentElement.getBoundingClientRect().left+2+"px"),"fixed"!=k.style.position&&(k.style.position="fixed",k.style.top=i+"px",("absolute"==b||"relative"==b)&&parseFloat(c)&&(k.style.left=a.x+"px")))}function d(){r=!0,q.parentNode&&q.parentNode.removeChild(q),k.style.cssText=j}function e(){var a=m(f.container),b=f.options.toolbarTopOffset||0;a.top<0&&a.bottom-k.offsetHeight>b?c():d()}var f=this,g=f.getLang();f.setOpt({topOffset:0});var h=f.options.autoFloatEnabled!==!1,i=f.options.topOffset;if(h){var j,k,l,m,n=UE.ui.uiUtils,o=browser.ie&&browser.version<=6,p=browser.quirks,q=document.createElement("div"),r=!0,s=utils.defer(function(){e()},browser.ie?200:100,!0);f.addListener("destroy",function(){domUtils.un(window,["scroll","resize"],e),f.removeListener("keydown",s)}),f.addListener("ready",function(){if(a(f)){if(!f.ui)return;m=n.getClientRect,k=f.ui.getDom("toolbarbox"),l=m(k).top,j=k.style.cssText,q.style.height=k.offsetHeight+"px",o&&b(),domUtils.on(window,["scroll","resize"],e),f.addListener("keydown",s),f.addListener("beforefullscreenchange",function(a,b){b&&d()}),f.addListener("fullscreenchanged",function(a,b){b||e()}),f.addListener("sourcemodechanged",function(a,b){setTimeout(function(){e()},0)}),f.addListener("clearDoc",function(){setTimeout(function(){e()},0)})}})}},UE.plugins.video=function(){function a(a,b,d,e,f,g,h){a=utils.unhtmlForUrl(a),f=utils.unhtml(f),g=utils.unhtml(g),b=parseInt(b,10)||0,d=parseInt(d,10)||0;var i;switch(h){case"image":i="';break;case"embed":i='';break;case"video":var j=a.substr(a.lastIndexOf(".")+1);"ogv"==j&&(j="ogg"),i="'}return i}function b(b,c){utils.each(b.getNodesByTagName(c?"img":"embed video"),function(b){var d=b.getAttr("class");if(d&&d.indexOf("edui-faked-video")!=-1){var e=a(c?b.getAttr("_url"):b.getAttr("src"),b.getAttr("width"),b.getAttr("height"),null,b.getStyle("float")||"",d,c?"embed":"image");b.parentNode.replaceChild(UE.uNode.createElement(e),b)}if(d&&d.indexOf("edui-upload-video")!=-1){var e=a(c?b.getAttr("_url"):b.getAttr("src"),b.getAttr("width"),b.getAttr("height"),null,b.getStyle("float")||"",d,c?"video":"image");b.parentNode.replaceChild(UE.uNode.createElement(e),b)}})}var c=this;c.addOutputRule(function(a){b(a,!0)}),c.addInputRule(function(a){b(a)}),c.commands.insertvideo={execCommand:function(b,d,e){d=utils.isArray(d)?d:[d];for(var f,g,h=[],i="tmpVedio",j=0,k=d.length;j0)return 0;for(var c in dtd.$isNotEmpty)if(dtd.$isNotEmpty.hasOwnProperty(c)&&a.getElementsByTagName(c).length)return 0;return 1},b.getWidth=function(a){return a?parseInt(domUtils.getComputedStyle(a,"width"),10):0},b.getTableCellAlignState=function(a){!utils.isArray(a)&&(a=[a]);var b={},c=["align","valign"],d=null,e=!0;return utils.each(a,function(a){return utils.each(c,function(c){if(d=a.getAttribute(c),!b[c]&&d)b[c]=d;else if(!b[c]||d!==b[c])return e=!1,!1}),e}),e?b:null},b.getTableItemsByRange=function(a){var b=a.selection.getStart();b&&b.id&&0===b.id.indexOf("_baidu_bookmark_start_")&&b.nextSibling&&(b=b.nextSibling);var c=b&&domUtils.findParentByTagName(b,["td","th"],!0),d=c&&c.parentNode,e=b&&domUtils.findParentByTagName(b,"caption",!0),f=e?e.parentNode:d&&d.parentNode.parentNode;return{cell:c,tr:d,table:f,caption:e}},b.getUETableBySelected=function(a){var c=b.getTableItemsByRange(a).table;return c&&c.ueTable&&c.ueTable.selectedTds.length?c.ueTable:null},b.getDefaultValue=function(a,b){var c,d,e,f,g={thin:"0px",medium:"1px",thick:"2px"};if(b)return h=b.getElementsByTagName("td")[0],f=domUtils.getComputedStyle(b,"border-left-width"),c=parseInt(g[f]||f,10),f=domUtils.getComputedStyle(h,"padding-left"),d=parseInt(g[f]||f,10),f=domUtils.getComputedStyle(h,"border-left-width"),e=parseInt(g[f]||f,10),{tableBorder:c,tdPadding:d,tdBorder:e};b=a.document.createElement("table"),b.insertRow(0).insertCell(0).innerHTML="xxx",a.body.appendChild(b);var h=b.getElementsByTagName("td")[0];return f=domUtils.getComputedStyle(b,"border-left-width"),c=parseInt(g[f]||f,10),f=domUtils.getComputedStyle(h,"padding-left"),d=parseInt(g[f]||f,10),f=domUtils.getComputedStyle(h,"border-left-width"),e=parseInt(g[f]||f,10),domUtils.remove(b),{tableBorder:c,tdPadding:d,tdBorder:e}},b.getUETable=function(a){var c=a.tagName.toLowerCase();return a="td"==c||"th"==c||"caption"==c?domUtils.findParentByTagName(a,"table",!0):a,a.ueTable||(a.ueTable=new b(a)),a.ueTable},b.cloneCell=function(a,b,c){if(!a||utils.isString(a))return this.table.ownerDocument.createElement(a||"td");var d=domUtils.hasClass(a,"selectTdClass");d&&domUtils.removeClasses(a,"selectTdClass");var e=a.cloneNode(!0);return b&&(e.rowSpan=e.colSpan=1),!c&&domUtils.removeAttributes(e,"width height"),!c&&domUtils.removeAttributes(e,"style"),e.style.borderLeftStyle="",e.style.borderTopStyle="",e.style.borderLeftColor=a.style.borderRightColor,e.style.borderLeftWidth=a.style.borderRightWidth,e.style.borderTopColor=a.style.borderBottomColor,e.style.borderTopWidth=a.style.borderBottomWidth,d&&domUtils.addClass(a,"selectTdClass"),e},b.prototype={getMaxRows:function(){for(var a,b=this.table.rows,c=1,d=0;a=b[d];d++){for(var e,f=1,g=0;e=a.cells[g++];)f=Math.max(e.rowSpan||1,f);c=Math.max(f+d,c)}return c},getMaxCols:function(){for(var a,b=this.table.rows,c=0,d={},e=0;a=b[e];e++){for(var f,g=0,h=0;f=a.cells[h++];)if(g+=f.colSpan||1,f.rowSpan&&f.rowSpan>1)for(var i=1;ithis.rowsNum-1)?null:(e=c?h?i.endRowIndex+1:g.rowIndex+g.rowSpan:h?i.beginRowIndex-1:g.rowIndex-1,f=h?i.beginColIndex:g.colIndex,this.getCell(this.indexTable[e][f].rowIndex,this.indexTable[e][f].cellIndex))}catch(j){a(j)}},getSameEndPosCells:function(b,c){try{for(var d="x"===c.toLowerCase(),e=domUtils.getXY(b)[d?"x":"y"]+b["offset"+(d?"Width":"Height")],f=this.table.rows,g=null,h=[],i=0;ie&&d)break;if((b==j||e==l)&&(1==j[d?"colSpan":"rowSpan"]&&h.push(j),d))break}}return h}catch(m){a(m)}},setCellContent:function(a,b){a.innerHTML=b||(browser.ie?domUtils.fillChar:"
    ")},cloneCell:b.cloneCell,getSameStartPosXCells:function(b){try{for(var c,d=domUtils.getXY(b).x+b.offsetWidth,e=this.table.rows,f=[],g=0;gd)break;if(j==d&&1==h.colSpan){f.push(h);break}}}return f}catch(k){a(k)}},update:function(a){this.table=a||this.table,this.selectedTds=[],this.cellsRange={},this.indexTable=[];for(var b=this.table.rows,c=this.getMaxRows(),d=c-b.length,e=this.getMaxCols();d--;)this.table.insertRow(b.length);this.rowsNum=c,this.colsNum=e;for(var f=0,g=b.length;fc&&(j.rowSpan=c);for(var m=k,n=j.rowSpan||1,o=j.colSpan||1;this.indexTable[i][m];)m++;for(var p=0;p0)for(h=b;hf&&(m=Math.max(h,m));if(ee&&(l=Math.max(i,l));if(b>0)for(i=a;ig||d+b.colSpan-1>h)return null;j.push(this.getCell(c,b.cellIndex))}}return j},clearSelected:function(){b.removeSelectedClass(this.selectedTds),this.selectedTds=[],this.cellsRange={}},setSelected:function(a){var c=this.getCells(a);b.addSelectedClass(c),this.selectedTds=c,this.cellsRange=a},isFullRow:function(){var a=this.cellsRange;return a.endColIndex-a.beginColIndex+1==this.colsNum},isFullCol:function(){var a=this.cellsRange,b=this.table,c=b.getElementsByTagName("th"),d=a.endRowIndex-a.beginRowIndex+1;return c.length?d==this.rowsNum||d==this.rowsNum-1:d==this.rowsNum},getNextCell:function(b,c,d){try{var e,f,g=this.getCellInfo(b),h=this.selectedTds.length&&!d,i=this.cellsRange;return!c&&0==g.rowIndex||c&&(h?i.endRowIndex==this.rowsNum-1:g.rowIndex+g.rowSpan>this.rowsNum-1)?null:(e=c?h?i.endRowIndex+1:g.rowIndex+g.rowSpan:h?i.beginRowIndex-1:g.rowIndex-1,f=h?i.beginColIndex:g.colIndex,this.getCell(this.indexTable[e][f].rowIndex,this.indexTable[e][f].cellIndex))}catch(j){a(j)}},getPreviewCell:function(b,c){try{var d,e,f=this.getCellInfo(b),g=this.selectedTds.length,h=this.cellsRange;return!c&&(g?!h.beginColIndex:!f.colIndex)||c&&(g?h.endColIndex==this.colsNum-1:f.rowIndex>this.colsNum-1)?null:(d=c?g?h.beginRowIndex:f.rowIndex<1?0:f.rowIndex-1:g?h.beginRowIndex:f.rowIndex,e=c?g?h.endColIndex+1:f.colIndex:g?h.beginColIndex-1:f.colIndex<1?0:f.colIndex-1,this.getCell(this.indexTable[d][e].rowIndex,this.indexTable[d][e].cellIndex))}catch(i){a(i)}},moveContent:function(a,c){if(!b.isEmptyBlock(c)){if(b.isEmptyBlock(a))return void(a.innerHTML=c.innerHTML);var d=a.lastChild;for(3!=d.nodeType&&dtd.$block[d.tagName]||a.appendChild(a.ownerDocument.createElement("br"));d=c.firstChild;)a.appendChild(d)}},mergeRight:function(a){var b=this.getCellInfo(a),c=b.colIndex+b.colSpan,d=this.indexTable[b.rowIndex][c],e=this.getCell(d.rowIndex,d.cellIndex);a.colSpan=b.colSpan+d.colSpan,a.removeAttribute("width"),this.moveContent(a,e),this.deleteCell(e,d.rowIndex),this.update()},mergeDown:function(a){var b=this.getCellInfo(a),c=b.rowIndex+b.rowSpan,d=this.indexTable[c][b.colIndex],e=this.getCell(d.rowIndex,d.cellIndex);a.rowSpan=b.rowSpan+d.rowSpan,a.removeAttribute("height"),this.moveContent(a,e),this.deleteCell(e,d.rowIndex),this.update()},mergeRange:function(){var a=this.cellsRange,b=this.getCell(a.beginRowIndex,this.indexTable[a.beginRowIndex][a.beginColIndex].cellIndex);if("TH"==b.tagName&&a.endRowIndex!==a.beginRowIndex){var c=this.indexTable,d=this.getCellInfo(b);b=this.getCell(1,c[1][d.colIndex].cellIndex),a=this.getCellsRange(b,this.getCell(c[this.rowsNum-1][d.colIndex].rowIndex,c[this.rowsNum-1][d.colIndex].cellIndex))}for(var e,f=this.getCells(a),g=0;e=f[g++];)e!==b&&(this.moveContent(b,e),this.deleteCell(e));if(b.rowSpan=a.endRowIndex-a.beginRowIndex+1,b.rowSpan>1&&b.removeAttribute("height"),b.colSpan=a.endColIndex-a.beginColIndex+1,b.colSpan>1&&b.removeAttribute("width"),b.rowSpan==this.rowsNum&&1!=b.colSpan&&(b.colSpan=1),b.colSpan==this.colsNum&&1!=b.rowSpan){var h=b.parentNode.rowIndex;if(this.table.deleteRow)for(var g=h+1,i=h+1,j=b.rowSpan;g1&&g.rowIndex==a){var i=h.cloneNode(!0);i.rowSpan=h.rowSpan-1,i.innerHTML="",h.rowSpan=1;var j,k=a+1,l=this.table.rows[k],m=this.getPreviewMergedCellsNum(k,f)-e;m1?l.colSpan--:c[h].deleteCell(j.cellIndex),h+=j.rowSpan||1}}this.table.setAttribute("width",d-e),this.update()},splitToCells:function(a){var b=this,c=this.splitToRows(a);utils.each(c,function(a){b.splitToCols(a)})},splitToRows:function(a){var b=this.getCellInfo(a),c=b.rowIndex,d=b.colIndex,e=[];a.rowSpan=1,e.push(a);for(var f=c,g=c+b.rowSpan;f");for(var g=0;g'+(browser.ie&&browser.version<11?domUtils.fillChar:"
    ")+"");c.push("")}return"
    "+c.join("")+"
    "}b||(b=utils.extend({},{numCols:this.options.defaultCols,numRows:this.options.defaultRows,tdvalign:this.options.tdvalign}));var d=this,e=this.selection.getRange(),f=e.startContainer,h=domUtils.findParent(f,function(a){return domUtils.isBlockElm(a)},!0)||d.body,i=g(d),j=h.offsetWidth,k=Math.floor(j/b.numCols-2*i.tdPadding-i.tdBorder);!b.tdvalign&&(b.tdvalign=d.options.tdvalign),d.execCommand("inserthtml",c(b,k))}},UE.commands.insertparagraphbeforetable={queryCommandState:function(){return e(this).cell?0:-1},execCommand:function(){var a=e(this).table;if(a){var b=this.document.createElement("p");b.innerHTML=browser.ie?" ":"
    ",a.parentNode.insertBefore(b,a),this.selection.getRange().setStart(b,0).setCursor()}}},UE.commands.deletetable={queryCommandState:function(){var a=this.selection.getRange();return domUtils.findParentByTagName(a.startContainer,"table",!0)?0:-1},execCommand:function(a,b){var c=this.selection.getRange();if(b=b||domUtils.findParentByTagName(c.startContainer,"table",!0)){var d=b.nextSibling;d||(d=domUtils.createElement(this.document,"p",{innerHTML:browser.ie?domUtils.fillChar:"
    "}),b.parentNode.insertBefore(d,b)),domUtils.remove(b),c=this.selection.getRange(),3==d.nodeType?c.setStartBefore(d):c.setStart(d,0),c.setCursor(!1,!0),this.fireEvent("tablehasdeleted")}}},UE.commands.cellalign={queryCommandState:function(){return c(this).length?0:-1},execCommand:function(a,b){var d=c(this);if(d.length)for(var e,f=0;e=d[f++];)e.setAttribute("align",b)}},UE.commands.cellvalign={queryCommandState:function(){return c(this).length?0:-1},execCommand:function(a,b){var d=c(this);if(d.length)for(var e,f=0;e=d[f++];)e.setAttribute("vAlign",b)}},UE.commands.insertcaption={queryCommandState:function(){var a=e(this).table;return a&&0==a.getElementsByTagName("caption").length?1:-1},execCommand:function(){var a=e(this).table;if(a){var b=this.document.createElement("caption");b.innerHTML=browser.ie?domUtils.fillChar:"
    ",a.insertBefore(b,a.firstChild);var c=this.selection.getRange();c.setStart(b,0).setCursor()}}},UE.commands.deletecaption={queryCommandState:function(){var a=this.selection.getRange(),b=domUtils.findParentByTagName(a.startContainer,"table");return b?0==b.getElementsByTagName("caption").length?-1:1:-1},execCommand:function(){var a=this.selection.getRange(),b=domUtils.findParentByTagName(a.startContainer,"table");if(b){domUtils.remove(b.getElementsByTagName("caption")[0]);var c=this.selection.getRange();c.setStart(b.rows[0].cells[0],0).setCursor()}}},UE.commands.inserttitle={queryCommandState:function(){var a=e(this).table;if(a){var b=a.rows[0];return"th"!=b.cells[b.cells.length-1].tagName.toLowerCase()?0:-1}return-1},execCommand:function(){var a=e(this).table;a&&h(a).insertRow(0,"th");var b=a.getElementsByTagName("th")[0];this.selection.getRange().setStart(b,0).setCursor(!1,!0)}},UE.commands.deletetitle={queryCommandState:function(){var a=e(this).table;if(a){var b=a.rows[0];return"th"==b.cells[b.cells.length-1].tagName.toLowerCase()?0:-1}return-1},execCommand:function(){var a=e(this).table;a&&domUtils.remove(a.rows[0]);var b=a.getElementsByTagName("td")[0];this.selection.getRange().setStart(b,0).setCursor(!1,!0)}},UE.commands.inserttitlecol={queryCommandState:function(){var a=e(this).table;if(a){var b=a.rows[a.rows.length-1];return b.getElementsByTagName("th").length?-1:0}return-1},execCommand:function(b){var c=e(this).table;c&&h(c).insertCol(0,"th"),a(c,this);var d=c.getElementsByTagName("th")[0];this.selection.getRange().setStart(d,0).setCursor(!1,!0)}},UE.commands.deletetitlecol={queryCommandState:function(){var a=e(this).table;if(a){var b=a.rows[a.rows.length-1];return b.getElementsByTagName("th").length?0:-1}return-1},execCommand:function(){var b=e(this).table;if(b)for(var c=0;c=f.colsNum)return-1;var j=f.indexTable[g.rowIndex][i],k=c.rows[j.rowIndex].cells[j.cellIndex];return k&&d.tagName==k.tagName&&j.rowIndex==g.rowIndex&&j.rowSpan==g.rowSpan?0:-1},execCommand:function(a){var b=this.selection.getRange(),c=b.createBookmark(!0),d=e(this).cell,f=h(d);f.mergeRight(d),b.moveToBookmark(c).select()}},UE.commands.mergedown={queryCommandState:function(a){var b=e(this),c=b.table,d=b.cell;if(!c||!d)return-1;var f=h(c);if(f.selectedTds.length)return-1;var g=f.getCellInfo(d),i=g.rowIndex+g.rowSpan;if(i>=f.rowsNum)return-1;var j=f.indexTable[i][g.colIndex],k=c.rows[j.rowIndex].cells[j.cellIndex];return k&&d.tagName==k.tagName&&j.colIndex==g.colIndex&&j.colSpan==g.colSpan?0:-1},execCommand:function(){var a=this.selection.getRange(),b=a.createBookmark(!0),c=e(this).cell,d=h(c);d.mergeDown(c),a.moveToBookmark(b).select()}},UE.commands.mergecells={queryCommandState:function(){return f(this)?0:-1},execCommand:function(){var a=f(this);if(a&&a.selectedTds.length){var b=a.selectedTds[0];a.mergeRange();var c=this.selection.getRange();domUtils.isEmptyBlock(b)?c.setStart(b,0).collapse(!0):c.selectNodeContents(b),c.select()}}},UE.commands.insertrow={queryCommandState:function(){var a=e(this),b=a.cell;return b&&("TD"==b.tagName||"TH"==b.tagName&&a.tr!==a.table.rows[0])&&h(a.table).rowsNum0?-1:b&&(b.colSpan>1||b.rowSpan>1)?0:-1},execCommand:function(){var a=this.selection.getRange(),b=a.createBookmark(!0),c=e(this).cell,d=h(c);d.splitToCells(c),a.moveToBookmark(b).select()}},UE.commands.splittorows={queryCommandState:function(){var a=e(this),b=a.cell;if(!b)return-1;var c=h(a.table);return c.selectedTds.length>0?-1:b&&b.rowSpan>1?0:-1},execCommand:function(){var a=this.selection.getRange(),b=a.createBookmark(!0),c=e(this).cell,d=h(c);d.splitToRows(c),a.moveToBookmark(b).select()}},UE.commands.splittocols={queryCommandState:function(){var a=e(this),b=a.cell;if(!b)return-1;var c=h(a.table);return c.selectedTds.length>0?-1:b&&b.colSpan>1?0:-1},execCommand:function(){var a=this.selection.getRange(),b=a.createBookmark(!0),c=e(this).cell,d=h(c);d.splitToCols(c),a.moveToBookmark(b).select()}},UE.commands.adaptbytext=UE.commands.adaptbywindow={queryCommandState:function(){return e(this).table?0:-1},execCommand:function(b){var c=e(this),d=c.table;if(d)if("adaptbywindow"==b)a(d,this);else{var f=domUtils.getElementsByTagName(d,"td th");utils.each(f,function(a){a.removeAttribute("width")}),d.removeAttribute("width")}}},UE.commands.averagedistributecol={queryCommandState:function(){var a=f(this);return a&&(a.isFullRow()||a.isFullCol())?0:-1},execCommand:function(a){function b(){var a,b=e.table,c=0,f=0,h=g(d,b);if(e.isFullRow())c=b.offsetWidth,f=e.colsNum;else for(var i,j=e.cellsRange.beginColIndex,k=e.cellsRange.endColIndex,l=j;l<=k;)i=e.selectedTds[l],c+=i.offsetWidth,l+=i.colSpan,f+=1;return a=Math.ceil(c/f)-2*h.tdBorder-2*h.tdPadding}function c(a){utils.each(domUtils.getElementsByTagName(e.table,"th"),function(a){a.setAttribute("width","")});var b=e.isFullRow()?domUtils.getElementsByTagName(e.table,"td"):e.selectedTds;utils.each(b,function(b){1==b.colSpan&&b.setAttribute("width",a)})}var d=this,e=f(d);e&&e.selectedTds.length&&c(b())}},UE.commands.averagedistributerow={queryCommandState:function(){var a=f(this);return a?a.selectedTds&&/th/gi.test(a.selectedTds[0].tagName)?-1:a.isFullRow()||a.isFullCol()?0:-1:-1},execCommand:function(a){function b(){var a,b,c=0,f=e.table,h=g(d,f),i=parseInt(domUtils.getComputedStyle(f.getElementsByTagName("td")[0],"padding-top"));if(e.isFullCol()){var j,k,l=domUtils.getElementsByTagName(f,"caption"),m=domUtils.getElementsByTagName(f,"th");l.length>0&&(j=l[0].offsetHeight),m.length>0&&(k=m[0].offsetHeight),c=f.offsetHeight-(j||0)-(k||0),b=0==m.length?e.rowsNum:e.rowsNum-1}else{for(var n=e.cellsRange.beginRowIndex,o=e.cellsRange.endRowIndex,p=0,q=domUtils.getElementsByTagName(f,"tr"),r=n;r<=o;r++)c+=q[r].offsetHeight,p+=1;b=p}return a=browser.ie&&browser.version<9?Math.ceil(c/b):Math.ceil(c/b)-2*h.tdBorder-2*i}function c(a){var b=e.isFullCol()?domUtils.getElementsByTagName(e.table,"td"):e.selectedTds;utils.each(b,function(b){1==b.rowSpan&&b.setAttribute("height",a)})}var d=this,e=f(d);e&&e.selectedTds.length&&c(b())}},UE.commands.cellalignment={queryCommandState:function(){return e(this).table?0:-1},execCommand:function(a,b){var c=this,d=f(c);if(d)utils.each(d.selectedTds,function(a){domUtils.setAttributes(a,b)});else{var e=c.selection.getStart(),g=e&&domUtils.findParentByTagName(e,["td","th","caption"],!0);/caption/gi.test(g.tagName)?(g.style.textAlign=b.align,g.style.verticalAlign=b.vAlign):domUtils.setAttributes(g,b),c.selection.getRange().setCursor(!0)}},queryCommandValue:function(a){var b=e(this).cell;if(b||(b=c(this)[0]),b){var d=UE.UETable.getUETable(b).selectedTds;return!d.length&&(d=b),UE.UETable.getTableCellAlignState(d)}return null}},UE.commands.tablealignment={queryCommandState:function(){return browser.ie&&browser.version<8?-1:e(this).table?0:-1},execCommand:function(a,b){var c=this,d=c.selection.getStart(),e=d&&domUtils.findParentByTagName(d,["table"],!0);e&&e.setAttribute("align",b)}},UE.commands.edittable={queryCommandState:function(){return e(this).table?0:-1},execCommand:function(a,b){var c=this.selection.getRange(),d=domUtils.findParentByTagName(c.startContainer,"table");if(d){var e=domUtils.getElementsByTagName(d,"td").concat(domUtils.getElementsByTagName(d,"th"),domUtils.getElementsByTagName(d,"caption"));utils.each(e,function(a){a.style.borderColor=b})}}},UE.commands.edittd={queryCommandState:function(){return e(this).table?0:-1},execCommand:function(a,b){var c=this,d=f(c);if(d)utils.each(d.selectedTds,function(a){a.style.backgroundColor=b});else{var e=c.selection.getStart(),g=e&&domUtils.findParentByTagName(e,["td","th","caption"],!0);g&&(g.style.backgroundColor=b)}}},UE.commands.settablebackground={queryCommandState:function(){return c(this).length>1?0:-1},execCommand:function(a,b){var d,e;d=c(this),e=h(d[0]),e.setBackground(d,b)}},UE.commands.cleartablebackground={queryCommandState:function(){var a=c(this);if(!a.length)return-1;for(var b,d=0;b=a[d++];)if(""!==b.style.backgroundColor)return 0;return-1},execCommand:function(){var a=c(this),b=h(a[0]);b.removeBackground(a)}},UE.commands.interlacetable=UE.commands.uninterlacetable={queryCommandState:function(a){var b=e(this).table;if(!b)return-1;var c=b.getAttribute("interlaced");return"interlacetable"==a?"enabled"===c?-1:0:c&&"disabled"!==c?0:-1},execCommand:function(a,b){var c=e(this).table;"interlacetable"==a?(c.setAttribute("interlaced","enabled"),this.fireEvent("interlacetable",c,b)):(c.setAttribute("interlaced","disabled"),this.fireEvent("uninterlacetable",c))}},UE.commands.setbordervisible={queryCommandState:function(a){var b=e(this).table;return b?0:-1},execCommand:function(){var a=e(this).table;utils.each(domUtils.getElementsByTagName(a,"td"),function(a){a.style.borderWidth="1px",a.style.borderStyle="solid"})}}}(),UE.plugins.table=function(){function a(a){}function b(a,b){c(a,"width",!0),c(a,"height",!0)}function c(a,b,c){a.style[b]&&(c&&a.setAttribute(b,parseInt(a.style[b],10)),a.style[b]="")}function d(a){if("TD"==a.tagName||"TH"==a.tagName)return a;var b;return(b=domUtils.findParentByTagName(a,"td",!0)||domUtils.findParentByTagName(a,"th",!0))?b:null}function e(a){var b=new RegExp(domUtils.fillChar,"g");if(a[browser.ie?"innerText":"textContent"].replace(/^\s*$/,"").replace(b,"").length>0)return 0;for(var c in dtd.$isNotEmpty)if(a.getElementsByTagName(c).length)return 0;return 1}function f(a){return a.pageX||a.pageY?{x:a.pageX,y:a.pageY}:{x:a.clientX+N.document.body.scrollLeft-N.document.body.clientLeft,y:a.clientY+N.document.body.scrollTop-N.document.body.clientTop}}function g(b){if(!A())try{var c,e=d(b.target||b.srcElement);if(R&&(N.body.style.webkitUserSelect="none",(Math.abs(V.x-b.clientX)>T||Math.abs(V.y-b.clientY)>T)&&(t(),R=!1,U=0,v(b))),ca&&ha)return U=0,N.body.style.webkitUserSelect="none",N.selection.getNative()[browser.ie9below?"empty":"removeAllRanges"](),c=f(b),m(N,!0,ca,c,e),void("h"==ca?ga.style.left=k(ha,b)+"px":"v"==ca&&(ga.style.top=l(ha,b)+"px"));if(e){if(N.fireEvent("excludetable",e)===!0)return;c=f(b);var g=n(e,c),i=domUtils.findParentByTagName(e,"table",!0);if(j(i,e,b,!0)){if(N.fireEvent("excludetable",i)===!0)return;N.body.style.cursor="url("+N.options.cursorpath+"h.png),pointer"}else if(j(i,e,b)){if(N.fireEvent("excludetable",i)===!0)return;N.body.style.cursor="url("+N.options.cursorpath+"v.png),pointer"}else{N.body.style.cursor="text";/\d/.test(g)&&(g=g.replace(/\d/,""),e=Y(e).getPreviewCell(e,"v"==g)),m(N,!!e&&!!g,e?g:"",c,e)}}else h(!1,i,N)}catch(o){a(o)}}function h(a,b,c){if(a)i(b,c);else{if(fa)return;la=setTimeout(function(){!fa&&ea&&ea.parentNode&&ea.parentNode.removeChild(ea)},2e3)}}function i(a,b){function c(c,d){clearTimeout(g),g=setTimeout(function(){b.fireEvent("tableClicked",a,d)},300)}function d(c){clearTimeout(g);var d=Y(a),e=a.rows[0].cells[0],f=d.getLastCell(),h=d.getCellsRange(e,f);b.selection.getRange().setStart(e,0).setCursor(!1,!0),d.setSelected(h)}var e=domUtils.getXY(a),f=a.ownerDocument;if(ea&&ea.parentNode)return ea;ea=f.createElement("div"),ea.contentEditable=!1,ea.innerHTML="",ea.style.cssText="width:15px;height:15px;background-image:url("+b.options.UEDITOR_HOME_URL+"dialogs/table/dragicon.png);position: absolute;cursor:move;top:"+(e.y-15)+"px;left:"+e.x+"px;",domUtils.unSelectable(ea),ea.onmouseover=function(a){fa=!0},ea.onmouseout=function(a){fa=!1},domUtils.on(ea,"click",function(a,b){c(b,this)}),domUtils.on(ea,"dblclick",function(a,b){d(b)}),domUtils.on(ea,"dragstart",function(a,b){domUtils.preventDefault(b)});var g;f.body.appendChild(ea)}function j(a,b,c,d){var e=f(c),g=n(b,e);if(d){var h=a.getElementsByTagName("caption")[0],i=h?h.offsetHeight:0;return"v1"==g&&e.y-domUtils.getXY(a).y-i<8}return"h1"==g&&e.x-domUtils.getXY(a).x<8}function k(a,b){var c=Y(a);if(c){var d=c.getSameEndPosCells(a,"x")[0],e=c.getSameStartPosXCells(a)[0],g=f(b).x,h=(d?domUtils.getXY(d).x:domUtils.getXY(c.table).x)+20,i=e?domUtils.getXY(e).x+e.offsetWidth-20:N.body.offsetWidth+5||parseInt(domUtils.getComputedStyle(N.body,"width"),10);return h+=Q,i-=Q,gi?i:g}}function l(b,c){try{var d=domUtils.getXY(b).y,e=f(c).y;return ek[c]?(a=!1,!1):void l.push(d)});var b=a?l:k;utils.each(i,function(a,c){a.width=b[c]-G()})},0)}}}}function q(a){if(_(domUtils.getElementsByTagName(N.body,"td th")),utils.each(N.document.getElementsByTagName("table"),function(a){a.ueTable=null}),aa=M(N,a)){var b=domUtils.findParentByTagName(aa,"table",!0);ut=Y(b),ut&&ut.clearSelected(),da?r(a):(N.document.body.style.webkitUserSelect="",ia=!0,N.addListener("mouseover",x))}}function r(a){browser.ie&&(a=u(a)),t(),R=!0,O=setTimeout(function(){v(a)},W)}function s(a,b){for(var c=[],d=null,e=0,f=a.length;e0&&U--},W),2===U))return U=0,void p(b);if(2!=b.button){var c=this,d=c.selection.getRange(),e=domUtils.findParentByTagName(d.startContainer,"table",!0),f=domUtils.findParentByTagName(d.endContainer,"table",!0);if((e||f)&&(e===f?(e=domUtils.findParentByTagName(d.startContainer,["td","th","caption"],!0),f=domUtils.findParentByTagName(d.endContainer,["td","th","caption"],!0),e!==f&&c.selection.clearRange()):c.selection.clearRange()),ia=!1,c.document.body.style.webkitUserSelect="",ca&&ha&&(c.selection.getNative()[browser.ie9below?"empty":"removeAllRanges"](),U=0,ga=c.document.getElementById("ue_tableDragLine"))){var g=domUtils.getXY(ha),h=domUtils.getXY(ga);switch(ca){case"h":z(ha,h.x-g.x);break;case"v":B(ha,h.y-g.y-ha.offsetHeight)}return ca="",ha=null,I(c),void c.fireEvent("saveScene")}if(aa){var i=Y(aa),j=i?i.selectedTds[0]:null;if(j)d=new dom.Range(c.document),domUtils.isEmptyBlock(j)?d.setStart(j,0).setCursor(!1,!0):d.selectNodeContents(j).shrinkBoundary().setCursor(!1,!0);else if(d=c.selection.getRange().shrinkBoundary(),!d.collapsed){var e=domUtils.findParentByTagName(d.startContainer,["td","th"],!0),f=domUtils.findParentByTagName(d.endContainer,["td","th"],!0);(e&&!f||!e&&f||e&&f&&e!==f)&&d.setCursor(!1,!0)}aa=null,c.removeListener("mouseover",x)}else{var k=domUtils.findParentByTagName(b.target||b.srcElement,"td",!0);if(k||(k=domUtils.findParentByTagName(b.target||b.srcElement,"th",!0)),k&&("TD"==k.tagName||"TH"==k.tagName)){if(c.fireEvent("excludetable",k)===!0)return;d=new dom.Range(c.document),d.setStart(k,0).setCursor(!1,!0)}}c._selectionChange(250,b)}}}function x(a,b){if(!A()){var c=this,d=b.target||b.srcElement;if(ba=domUtils.findParentByTagName(d,"td",!0)||domUtils.findParentByTagName(d,"th",!0),aa&&ba&&("TD"==aa.tagName&&"TD"==ba.tagName||"TH"==aa.tagName&&"TH"==ba.tagName)&&domUtils.findParentByTagName(aa,"table")==domUtils.findParentByTagName(ba,"table")){var e=Y(ba);if(aa!=ba){c.document.body.style.webkitUserSelect="none",c.selection.getNative()[browser.ie9below?"empty":"removeAllRanges"]();var f=e.getCellsRange(aa,ba);e.setSelected(f)}else c.document.body.style.webkitUserSelect="",e.clearSelected()}b.preventDefault?b.preventDefault():b.returnValue=!1}}function y(a,b,c){var d=parseInt(domUtils.getComputedStyle(a,"line-height"),10),e=c+b;b=ef?(c&&g.push({left:a}),!1):void 0})}),g}function D(a,b,c){if(a-=G(),a<0)return 0;a-=E(b);var d=a<0?"left":"right";return a=Math.abs(a),utils.each(c,function(b){var c=b[d];c&&(a=Math.min(a,E(c)-Q))}),a=a<0?0:a,"left"===d?-a:a}function E(a){var b=0,b=a.offsetWidth-G();a.nextSibling||(b-=F(a)),b=b<0?0:b;try{a.width=b}catch(c){}return b}function F(a){if(tab=domUtils.findParentByTagName(a,"table",!1),void 0===tab.offsetVal){var b=a.previousSibling;b?tab.offsetVal=a.offsetWidth-b.offsetWidth===X.borderWidth?X.borderWidth:0:tab.offsetVal=0}return tab.offsetVal}function G(){if(void 0===X.tabcellSpace){var a=N.document.createElement("table"),b=N.document.createElement("tbody"),c=N.document.createElement("tr"),d=N.document.createElement("td"),e=null;d.style.cssText="border: 0;",d.width=1,c.appendChild(d),c.appendChild(e=d.cloneNode(!1)),b.appendChild(c),a.appendChild(b),a.style.cssText="visibility: hidden;",N.body.appendChild(a),X.paddingSpace=d.offsetWidth-1;var f=a.offsetWidth;d.style.cssText="",e.style.cssText="",X.borderWidth=(a.offsetWidth-f)/3,X.tabcellSpace=X.paddingSpace+X.borderWidth,N.body.removeChild(a)}return G=function(){return X.tabcellSpace},X.tabcellSpace}function H(a,b){ia||(ga=a.document.createElement("div"),domUtils.setAttributes(ga,{id:"ue_tableDragLine",unselectable:"on",contenteditable:!1,onresizestart:"return false",ondragstart:"return false",onselectstart:"return false",style:"background-color:blue;position:absolute;padding:0;margin:0;background-image:none;border:0px none;opacity:0;filter:alpha(opacity=0)"}),a.body.appendChild(ga))}function I(a){if(!ia)for(var b;b=a.document.getElementById("ue_tableDragLine");)domUtils.remove(b)}function J(a,b){if(b){var c,d=domUtils.findParentByTagName(b,"table"),e=d.getElementsByTagName("caption"),f=d.offsetWidth,g=d.offsetHeight-(e.length>0?e[0].offsetHeight:0),h=domUtils.getXY(d),i=domUtils.getXY(b);switch(a){case"h":c="height:"+g+"px;top:"+(h.y+(e.length>0?e[0].offsetHeight:0))+"px;left:"+(i.x+b.offsetWidth),ga.style.cssText=c+"px;position: absolute;display:block;background-color:blue;width:1px;border:0; color:blue;opacity:.3;filter:alpha(opacity=30)";break;case"v":c="width:"+f+"px;left:"+h.x+"px;top:"+(i.y+b.offsetHeight),ga.style.cssText=c+"px;overflow:hidden;position: absolute;display:block;background-color:blue;height:1px;border:0;color:blue;opacity:.2;filter:alpha(opacity=20)"}}}function K(a,b){for(var c,d,e=domUtils.getElementsByTagName(a.body,"table"),f=0;d=e[f++];){var g=domUtils.getElementsByTagName(d,"td");g[0]&&(b?(c=g[0].style.borderColor.replace(/\s/g,""),/(#ffffff)|(rgb\(255,255,255\))/gi.test(c)&&domUtils.addClass(d,"noBorderTable")):domUtils.removeClasses(d,"noBorderTable"))}}function L(a,b,c){var d=a.body;return d.offsetWidth-(b?2*parseInt(domUtils.getComputedStyle(d,"margin-left"),10):0)-2*c.tableBorder-(a.options.offsetWidth||0)}function M(a,b){var c=domUtils.findParentByTagName(b.target||b.srcElement,["td","th"],!0),d=null;if(!c)return null;if(d=n(c,f(b)),!c)return null;if("h1"===d&&c.previousSibling){var e=domUtils.getXY(c),g=c.offsetWidth;Math.abs(e.x+g-b.clientX)>g/3&&(c=c.previousSibling)}else if("v1"===d&&c.parentNode.previousSibling){var e=domUtils.getXY(c),h=c.offsetHeight;Math.abs(e.y+h-b.clientY)>h/3&&(c=c.parentNode.previousSibling.firstChild)}return c&&a.fireEvent("excludetable",c)!==!0?c:null}var N=this,O=null,P=null,Q=5,R=!1,S=5,T=10,U=0,V=null,W=360,X=UE.UETable,Y=function(a){return X.getUETable(a)},Z=function(a){return X.getUETableBySelected(a)},$=function(a,b){return X.getDefaultValue(a,b)},_=function(a){return X.removeSelectedClass(a)};N.ready(function(){var a=this,b=a.selection.getText;a.selection.getText=function(){var c=Z(a);if(c){var d="";return utils.each(c.selectedTds,function(a){d+=a[browser.ie?"innerText":"textContent"]}),d}return b.call(a.selection)}});var aa=null,ba=null,ca="",da=!1,ea=null,fa=!1,ga=null,ha=null,ia=!1,ja=!0;N.setOpt({maxColNum:20,maxRowNum:100,defaultCols:5,defaultRows:5,tdvalign:"top",cursorpath:N.options.UEDITOR_HOME_URL+"themes/default/images/cursor_",tableDragable:!1,classList:["ue-table-interlace-color-single","ue-table-interlace-color-double"]}),N.getUETable=Y;var ka={deletetable:1,inserttable:1,cellvalign:1,insertcaption:1,deletecaption:1,inserttitle:1,deletetitle:1,mergeright:1,mergedown:1,mergecells:1,insertrow:1,insertrownext:1,deleterow:1,insertcol:1,insertcolnext:1,deletecol:1,splittocells:1,splittorows:1,splittocols:1,adaptbytext:1,adaptbywindow:1,adaptbycustomer:1,insertparagraph:1,insertparagraphbeforetable:1,averagedistributecol:1,averagedistributerow:1};N.ready(function(){utils.cssRule("table",".selectTdClass{background-color:#edf5fa !important}table.noBorderTable td,table.noBorderTable th,table.noBorderTable caption{border:1px dashed #ddd !important}table{margin-bottom:10px;border-collapse:collapse;display:table;}td,th{padding: 5px 10px;border: 1px solid #DDD;}caption{border:1px dashed #DDD;border-bottom:0;padding:3px;text-align:center;}th{border-top:1px solid #BBB;background-color:#F7F7F7;}table tr.firstRow th{border-top-width:2px;}.ue-table-interlace-color-single{ background-color: #fcfcfc; } .ue-table-interlace-color-double{ background-color: #f7faff; }td p{margin:0;padding:0;}",N.document);var a,c,f;N.addListener("keydown",function(b,d){var g=this,h=d.keyCode||d.which;if(8==h){var i=Z(g);i&&i.selectedTds.length&&(i.isFullCol()?g.execCommand("deletecol"):i.isFullRow()?g.execCommand("deleterow"):g.fireEvent("delcells"),domUtils.preventDefault(d));var j=domUtils.findParentByTagName(g.selection.getStart(),"caption",!0),k=g.selection.getRange();if(k.collapsed&&j&&e(j)){g.fireEvent("saveScene");var l=j.parentNode;domUtils.remove(j),l&&k.setStart(l.rows[0].cells[0],0).setCursor(!1,!0),g.fireEvent("saveScene")}}if(46==h&&(i=Z(g))){g.fireEvent("saveScene");for(var m,n=0;m=i.selectedTds[n++];)domUtils.fillNode(g.document,m);g.fireEvent("saveScene"),domUtils.preventDefault(d)}if(13==h){var o=g.selection.getRange(),j=domUtils.findParentByTagName(o.startContainer,"caption",!0);if(j){var l=domUtils.findParentByTagName(j,"table");return o.collapsed?j&&o.setStart(l.rows[0].cells[0],0).setCursor(!1,!0):(o.deleteContents(),g.fireEvent("saveScene")),void domUtils.preventDefault(d)}if(o.collapsed){var l=domUtils.findParentByTagName(o.startContainer,"table");if(l){var p=l.rows[0].cells[0],q=domUtils.findParentByTagName(g.selection.getStart(),["td","th"],!0),r=l.previousSibling;if(p===q&&(!r||1==r.nodeType&&"TABLE"==r.tagName)&&domUtils.isStartInblock(o)){var s=domUtils.findParent(g.selection.getStart(),function(a){return domUtils.isBlockElm(a)},!0);s&&(/t(h|d)/i.test(s.tagName)||s===q.firstChild)&&(g.execCommand("insertparagraphbeforetable"),domUtils.preventDefault(d))}}}}if((d.ctrlKey||d.metaKey)&&"67"==d.keyCode){a=null;var i=Z(g);if(i){var t=i.selectedTds;c=i.isFullCol(),f=i.isFullRow(),a=[[i.cloneCell(t[0],null,!0)]];for(var m,n=1;m=t[n];n++)m.parentNode!==t[n-1].parentNode?a.push([i.cloneCell(m,null,!0)]):a[a.length-1].push(i.cloneCell(m,null,!0))}}}),N.addListener("tablehasdeleted",function(){m(this,!1,"",null),ea&&domUtils.remove(ea)}),N.addListener("beforepaste",function(d,g){var h=this,i=h.selection.getRange();if(domUtils.findParentByTagName(i.startContainer,"caption",!0)){var j=h.document.createElement("div");return j.innerHTML=g.html,void(g.html=j[browser.ie9below?"innerText":"textContent"])}var k=Z(h);if(a){h.fireEvent("saveScene");var l,m,i=h.selection.getRange(),n=domUtils.findParentByTagName(i.startContainer,["td","th"],!0);if(n){var o=Y(n);if(f){var p=o.getCellInfo(n).rowIndex;"TH"==n.tagName&&p++;for(var q,r=0;q=a[r++];){for(var s,t=o.insertRow(p++,"td"),u=0;s=q[u];u++){var v=t.cells[u];v||(v=t.insertCell(u)),v.innerHTML=s.innerHTML,s.getAttribute("width")&&v.setAttribute("width",s.getAttribute("width")),s.getAttribute("vAlign")&&v.setAttribute("vAlign",s.getAttribute("vAlign")),s.getAttribute("align")&&v.setAttribute("align",s.getAttribute("align")),s.style.cssText&&(v.style.cssText=s.style.cssText)}for(var s,u=0;(s=t.cells[u])&&q[u];u++)s.innerHTML=q[u].innerHTML,q[u].getAttribute("width")&&s.setAttribute("width",q[u].getAttribute("width")),q[u].getAttribute("vAlign")&&s.setAttribute("vAlign",q[u].getAttribute("vAlign")),q[u].getAttribute("align")&&s.setAttribute("align",q[u].getAttribute("align")),q[u].style.cssText&&(s.style.cssText=q[u].style.cssText)}}else{if(c){y=o.getCellInfo(n);for(var s,w=0,u=0,q=a[0];s=q[u++];)w+=s.colSpan||1;for(h.__hasEnterExecCommand=!0,r=0;r1&&(x.rowSpan=1)}var z=$(h),A=h.body.offsetWidth-(ja?2*parseInt(domUtils.getComputedStyle(h.body,"margin-left"),10):0)-2*z.tableBorder-(h.options.offsetWidth||0);h.execCommand("insertHTML",""+k.innerHTML.replace(/>\s*<").replace(/\bth\b/gi,"td")+"
    ")}return h.fireEvent("contentchange"),h.fireEvent("saveScene"),g.html="",!0}var B,j=h.document.createElement("div");j.innerHTML=g.html,B=j.getElementsByTagName("table"),domUtils.findParentByTagName(h.selection.getStart(),"table")?(utils.each(B,function(a){domUtils.remove(a)}),domUtils.findParentByTagName(h.selection.getStart(),"caption",!0)&&(j.innerHTML=j[browser.ie?"innerText":"textContent"])):utils.each(B,function(a){b(a,!0),domUtils.removeAttributes(a,["style","border"]),utils.each(domUtils.getElementsByTagName(a,"td"),function(a){e(a)&&domUtils.fillNode(h.document,a),b(a,!0)})}),g.html=j.innerHTML}),N.addListener("afterpaste",function(){utils.each(domUtils.getElementsByTagName(N.body,"table"),function(a){if(a.offsetWidth>N.body.offsetWidth){var b=$(N,a);a.style.width=N.body.offsetWidth-(ja?2*parseInt(domUtils.getComputedStyle(N.body,"margin-left"),10):0)-2*b.tableBorder-(N.options.offsetWidth||0)+"px"}})}),N.addListener("blur",function(){a=null});var i;N.addListener("keydown",function(){clearTimeout(i),i=setTimeout(function(){var a=N.selection.getRange(),b=domUtils.findParentByTagName(a.startContainer,["th","td"],!0);if(b){var c=b.parentNode.parentNode.parentNode;c.offsetWidth>c.getAttribute("width")&&(b.style.wordBreak="break-all")}},100)}),N.addListener("selectionchange",function(){m(N,!1,"",null)}),N.addListener("contentchange",function(){var a=this;if(I(a),!Z(a)){var b=a.selection.getRange(),c=b.startContainer;c=domUtils.findParentByTagName(c,["td","th"],!0),utils.each(domUtils.getElementsByTagName(a.document,"table"),function(b){a.fireEvent("excludetable",b)!==!0&&(b.ueTable=new X(b),b.onmouseover=function(){a.fireEvent("tablemouseover",b)},b.onmousemove=function(){a.fireEvent("tablemousemove",b),a.options.tableDragable&&h(!0,this,a),utils.defer(function(){a.fireEvent("contentchange",50)},!0)},b.onmouseout=function(){a.fireEvent("tablemouseout",b),m(a,!1,"",null),I(a)},b.onclick=function(b){b=a.window.event||b;var c=d(b.target||b.srcElement);if(c){var e,f=Y(c),g=f.table,h=f.getCellInfo(c),i=a.selection.getRange();if(j(g,c,b,!0)){var k=f.getCell(f.indexTable[f.rowsNum-1][h.colIndex].rowIndex,f.indexTable[f.rowsNum-1][h.colIndex].cellIndex);return void(b.shiftKey&&f.selectedTds.length?f.selectedTds[0]!==k?(e=f.getCellsRange(f.selectedTds[0],k),f.setSelected(e)):i&&i.selectNodeContents(k).select():c!==k?(e=f.getCellsRange(c,k),f.setSelected(e)):i&&i.selectNodeContents(k).select())}if(j(g,c,b)){var l=f.getCell(f.indexTable[h.rowIndex][f.colsNum-1].rowIndex,f.indexTable[h.rowIndex][f.colsNum-1].cellIndex);b.shiftKey&&f.selectedTds.length?f.selectedTds[0]!==l?(e=f.getCellsRange(f.selectedTds[0],l),f.setSelected(e)):i&&i.selectNodeContents(l).select():c!==l?(e=f.getCellsRange(c,l),f.setSelected(e)):i&&i.selectNodeContents(l).select()}}})}),K(a,!0)}}),domUtils.on(N.document,"mousemove",g),domUtils.on(N.document,"mouseout",function(a){var b=a.target||a.srcElement;"TABLE"==b.tagName&&m(N,!1,"",null)}),N.addListener("interlacetable",function(a,b,c){if(b)for(var d=this,e=b.rows,f=e.length,g=function(a,b,c){return a[b]?a[b]:c?a[b%a.length]:""},h=0;h1?k:f.getCellInfo(d).rowIndex;var g=f.getTabNextCell(d,k);g?e(g)?a.setStart(g,0).setCursor(!1,!0):a.selectNodeContents(g).select():(N.fireEvent("saveScene"),N.__hasEnterExecCommand=!0,this.execCommand("insertrownext"),N.__hasEnterExecCommand=!1,a=this.selection.getRange(),a.setStart(c.rows[c.rows.length-1].cells[0],0).setCursor(),N.fireEvent("saveScene"))}return!0}}),browser.ie&&N.addListener("selectionchange",function(){m(this,!1,"",null)}),N.addListener("keydown",function(a,b){var c=this,d=b.keyCode||b.which;if(8!=d&&46!=d){var e=!(b.ctrlKey||b.metaKey||b.shiftKey||b.altKey);e&&_(domUtils.getElementsByTagName(c.body,"td"));var f=Z(c);f&&e&&f.clearSelected()}}),N.addListener("beforegetcontent",function(){K(this,!1),browser.ie&&utils.each(this.document.getElementsByTagName("caption"),function(a){domUtils.isEmptyNode(a)&&(a.innerHTML=" ")})}),N.addListener("aftergetcontent",function(){K(this,!0)}),N.addListener("getAllHtml",function(){_(N.document.getElementsByTagName("td"))}),N.addListener("fullscreenchanged",function(a,b){if(!b){var c=this.body.offsetWidth/document.body.offsetWidth,d=domUtils.getElementsByTagName(this.body,"table");utils.each(d,function(a){if(a.offsetWidth1||c[e].getAttribute("rowspan")>1)return-1;return b?"enablesort"==a^"sortEnabled"!=b.getAttribute("data-sort")?-1:0:-1},execCommand:function(a){var b=d(this).table;b.setAttribute("data-sort","enablesort"==a?"sortEnabled":"sortDisabled"),"enablesort"==a?domUtils.addClass(b,"sortEnabled"):domUtils.removeClasses(b,"sortEnabled")}}},UE.plugins.contextmenu=function(){var a=this;if(a.setOpt("enableContextMenu",!0),a.getOpt("enableContextMenu")!==!1){var b,c=a.getLang("contextMenu"),d=a.options.contextMenu||[{label:c.selectall,cmdName:"selectall"},{label:c.cleardoc,cmdName:"cleardoc",exec:function(){confirm(c.confirmclear)&&this.execCommand("cleardoc")}},"-",{label:c.unlink,cmdName:"unlink"},"-",{group:c.paragraph,icon:"justifyjustify",subMenu:[{label:c.justifyleft,cmdName:"justify",value:"left"},{label:c.justifyright,cmdName:"justify",value:"right"},{label:c.justifycenter,cmdName:"justify",value:"center"},{label:c.justifyjustify,cmdName:"justify",value:"justify"}]},"-",{group:c.table,icon:"table",subMenu:[{label:c.inserttable,cmdName:"inserttable"},{label:c.deletetable,cmdName:"deletetable"},"-",{label:c.deleterow,cmdName:"deleterow"},{label:c.deletecol,cmdName:"deletecol"},{label:c.insertcol,cmdName:"insertcol"},{label:c.insertcolnext,cmdName:"insertcolnext"},{label:c.insertrow,cmdName:"insertrow"},{label:c.insertrownext,cmdName:"insertrownext"},"-",{label:c.insertcaption,cmdName:"insertcaption"},{label:c.deletecaption,cmdName:"deletecaption"},{label:c.inserttitle,cmdName:"inserttitle"},{label:c.deletetitle,cmdName:"deletetitle"},{label:c.inserttitlecol,cmdName:"inserttitlecol"},{label:c.deletetitlecol,cmdName:"deletetitlecol"},"-",{label:c.mergecells,cmdName:"mergecells"},{label:c.mergeright,cmdName:"mergeright"},{label:c.mergedown,cmdName:"mergedown"},"-",{label:c.splittorows,cmdName:"splittorows"},{label:c.splittocols,cmdName:"splittocols"},{label:c.splittocells,cmdName:"splittocells"},"-",{label:c.averageDiseRow,cmdName:"averagedistributerow"},{label:c.averageDisCol,cmdName:"averagedistributecol"},"-",{label:c.edittd,cmdName:"edittd",exec:function(){UE.ui.edittd&&new UE.ui.edittd(this),this.getDialog("edittd").open()}},{label:c.edittable,cmdName:"edittable",exec:function(){UE.ui.edittable&&new UE.ui.edittable(this),this.getDialog("edittable").open()}},{label:c.setbordervisible,cmdName:"setbordervisible"}]},{group:c.tablesort,icon:"tablesort",subMenu:[{label:c.enablesort,cmdName:"enablesort"},{label:c.disablesort,cmdName:"disablesort"},"-",{label:c.reversecurrent,cmdName:"sorttable",value:"reversecurrent"},{label:c.orderbyasc,cmdName:"sorttable",value:"orderbyasc"},{label:c.reversebyasc,cmdName:"sorttable",value:"reversebyasc"},{label:c.orderbynum,cmdName:"sorttable",value:"orderbynum"},{label:c.reversebynum,cmdName:"sorttable",value:"reversebynum"}]},{group:c.borderbk,icon:"borderBack",subMenu:[{label:c.setcolor,cmdName:"interlacetable",exec:function(){this.execCommand("interlacetable")}},{label:c.unsetcolor,cmdName:"uninterlacetable",exec:function(){this.execCommand("uninterlacetable")}},{label:c.setbackground,cmdName:"settablebackground",exec:function(){this.execCommand("settablebackground",{repeat:!0,colorList:["#bbb","#ccc"]})}},{label:c.unsetbackground,cmdName:"cleartablebackground",exec:function(){this.execCommand("cleartablebackground")}},{label:c.redandblue,cmdName:"settablebackground",exec:function(){this.execCommand("settablebackground",{repeat:!0,colorList:["red","blue"]})}},{label:c.threecolorgradient,cmdName:"settablebackground",exec:function(){this.execCommand("settablebackground",{repeat:!0,colorList:["#aaa","#bbb","#ccc"]})}}]},{group:c.aligntd,icon:"aligntd",subMenu:[{cmdName:"cellalignment",value:{align:"left",vAlign:"top"}},{cmdName:"cellalignment",value:{align:"center",vAlign:"top"}},{cmdName:"cellalignment",value:{align:"right",vAlign:"top"}},{cmdName:"cellalignment",value:{align:"left",vAlign:"middle"}},{cmdName:"cellalignment",value:{align:"center",vAlign:"middle"}},{cmdName:"cellalignment",value:{align:"right",vAlign:"middle"}},{cmdName:"cellalignment",value:{align:"left",vAlign:"bottom"}},{cmdName:"cellalignment",value:{align:"center",vAlign:"bottom"}},{cmdName:"cellalignment",value:{align:"right",vAlign:"bottom"}}]},{group:c.aligntable,icon:"aligntable",subMenu:[{cmdName:"tablealignment",className:"left",label:c.tableleft,value:"left"},{cmdName:"tablealignment",className:"center",label:c.tablecenter,value:"center"},{cmdName:"tablealignment",className:"right",label:c.tableright,value:"right"}]},"-",{label:c.insertparagraphbefore,cmdName:"insertparagraph",value:!0},{label:c.insertparagraphafter,cmdName:"insertparagraph"},{label:c.copy,cmdName:"copy"},{label:c.paste,cmdName:"paste"}];if(d.length){var e=UE.ui.uiUtils;a.addListener("contextmenu",function(f,g){var h=e.getViewportOffsetByEvent(g);a.fireEvent("beforeselectionchange"),b&&b.destroy();for(var i,j=0,k=[];i=d[j];j++){var l;!function(b){function d(){switch(b.icon){case"table":return a.getLang("contextMenu.table");case"justifyjustify":return a.getLang("contextMenu.paragraph");case"aligntd":return a.getLang("contextMenu.aligntd");case"aligntable":return a.getLang("contextMenu.aligntable");case"tablesort":return c.tablesort;case"borderBack":return c.borderbk;default:return""}}if("-"==b)(l=k[k.length-1])&&"-"!==l&&k.push("-");else if(b.hasOwnProperty("group")){for(var e,f=0,g=[];e=b.subMenu[f];f++)!function(b){"-"==b?(l=g[g.length-1])&&"-"!==l?g.push("-"):g.splice(g.length-1):(a.commands[b.cmdName]||UE.commands[b.cmdName]||b.query)&&(b.query?b.query():a.queryCommandState(b.cmdName))>-1&&g.push({label:b.label||a.getLang("contextMenu."+b.cmdName+(b.value||""))||"",className:"edui-for-"+b.cmdName+(b.className?" edui-for-"+b.cmdName+"-"+b.className:""),onclick:b.exec?function(){b.exec.call(a)}:function(){a.execCommand(b.cmdName,b.value)}})}(e);g.length&&k.push({label:d(),className:"edui-for-"+b.icon,subMenu:{items:g,editor:a}})}else(a.commands[b.cmdName]||UE.commands[b.cmdName]||b.query)&&(b.query?b.query.call(a):a.queryCommandState(b.cmdName))>-1&&k.push({label:b.label||a.getLang("contextMenu."+b.cmdName),className:"edui-for-"+(b.icon?b.icon:b.cmdName+(b.value||"")),onclick:b.exec?function(){b.exec.call(a)}:function(){a.execCommand(b.cmdName,b.value)}})}(i)}if("-"==k[k.length-1]&&k.pop(),b=new UE.ui.Menu({items:k,className:"edui-contextmenu",editor:a}),b.render(),b.showAt(h),a.fireEvent("aftershowcontextmenu",b),domUtils.preventDefault(g),browser.ie){var m;try{m=a.selection.getNative().createRange()}catch(n){return}if(m.item){var o=new dom.Range(a.document);o.selectNode(m.item(0)).select(!0,!0)}}}),a.addListener("aftershowcontextmenu",function(b,c){if(a.zeroclipboard){var d=c.items;for(var e in d)"edui-for-copy"==d[e].className&&a.zeroclipboard.clip(d[e].getDom())}})}}},UE.plugins.shortcutmenu=function(){var a,b=this,c=b.options.shortcutMenu||[];c.length&&(b.addListener("contextmenu mouseup",function(b,d){var e=this,f={type:b,target:d.target||d.srcElement,screenX:d.screenX,screenY:d.screenY,clientX:d.clientX,clientY:d.clientY};if(setTimeout(function(){var d=e.selection.getRange();d.collapsed!==!1&&"contextmenu"!=b||(a||(a=new baidu.editor.ui.ShortCutMenu({editor:e,items:c,theme:e.options.theme,className:"edui-shortcutmenu"}),a.render(),e.fireEvent("afterrendershortcutmenu",a)),a.show(f,!!UE.plugins.contextmenu))}),"contextmenu"==b&&(domUtils.preventDefault(d),browser.ie9below)){var g;try{g=e.selection.getNative().createRange()}catch(d){return}if(g.item){var h=new dom.Range(e.document);h.selectNode(g.item(0)).select(!0,!0)}}}),b.addListener("keydown",function(b){"keydown"==b&&a&&!a.isHidden&&a.hide()}))},UE.plugins.basestyle=function(){var a={bold:["strong","b"],italic:["em","i"],subscript:["sub"],superscript:["sup"]},b=function(a,b){return domUtils.filterNodeList(a.selection.getStartElementPath(),b)},c=this;c.addshortcutkey({Bold:"ctrl+66",Italic:"ctrl+73",Underline:"ctrl+85"}),c.addInputRule(function(a){utils.each(a.getNodesByTagName("b i"),function(a){switch(a.tagName){case"b":a.tagName="strong";break;case"i":a.tagName="em"}})});for(var d in a)!function(a,d){c.commands[a]={execCommand:function(a){var e=c.selection.getRange(),f=b(this,d);if(e.collapsed){if(f){var g=c.document.createTextNode("");e.insertNode(g).removeInlineStyle(d),e.setStartBefore(g),domUtils.remove(g)}else{var h=e.document.createElement(d[0]);"superscript"!=a&&"subscript"!=a||(g=c.document.createTextNode(""),e.insertNode(g).removeInlineStyle(["sub","sup"]).setStartBefore(g).collapse(!0)),e.insertNode(h).setStart(h,0)}e.collapse(!0)}else"superscript"!=a&&"subscript"!=a||f&&f.tagName.toLowerCase()==a||e.removeInlineStyle(["sub","sup"]),f?e.removeInlineStyle(d):e.applyInlineStyle(d[0]);e.select()},queryCommandState:function(){return b(this,d)?1:0}}}(d,a[d])},UE.plugins.elementpath=function(){var a,b,c=this;c.setOpt("elementPathEnabled",!0),c.options.elementPathEnabled&&(c.commands.elementpath={execCommand:function(d,e){var f=b[e],g=c.selection.getRange();a=1*e,g.selectNode(f).select()},queryCommandValue:function(){var c=[].concat(this.selection.getStartElementPath()).reverse(),d=[];b=c;for(var e,f=0;e=c[f];f++)if(3!=e.nodeType){var g=e.tagName.toLowerCase();if("img"==g&&e.getAttribute("anchorname")&&(g="anchor"),d[f]=g,a==f){a=-1;break}}return d}})},UE.plugins.formatmatch=function(){function a(f,g){function h(a){return m&&a.selectNode(m),a.applyInlineStyle(d[d.length-1].tagName,null,d)}if(browser.webkit)var i="IMG"==g.target.tagName?g.target:null;c.undoManger&&c.undoManger.save();var j=c.selection.getRange(),k=i||j.getClosedNode();if(b&&k&&"IMG"==k.tagName)k.style.cssText+=";float:"+(b.style.cssFloat||b.style.styleFloat||"none")+";display:"+(b.style.display||"inline"),b=null;else if(!b){var l=j.collapsed;if(l){var m=c.document.createTextNode("match");j.insertNode(m).select()}c.__hasEnterExecCommand=!0;var n=c.options.removeFormatAttributes;c.options.removeFormatAttributes="",c.execCommand("removeformat"),c.options.removeFormatAttributes=n,c.__hasEnterExecCommand=!1,j=c.selection.getRange(),d.length&&h(j),m&&j.setStartBefore(m).collapse(!0),j.select(),m&&domUtils.remove(m)}c.undoManger&&c.undoManger.save(),c.removeListener("mouseup",a),e=0}var b,c=this,d=[],e=0;c.addListener("reset",function(){d=[],e=0}),c.commands.formatmatch={execCommand:function(f){if(e)return e=0,d=[],void c.removeListener("mouseup",a);var g=c.selection.getRange();if(b=g.getClosedNode(),!b||"IMG"!=b.tagName){g.collapse(!0).shrinkBoundary();var h=g.startContainer;d=domUtils.findParents(h,!0,function(a){return!domUtils.isBlockElm(a)&&1==a.nodeType});for(var i,j=0;i=d[j];j++)if("A"==i.tagName){d.splice(j,1);break}}c.addListener("mouseup",a),e=1},queryCommandState:function(){return e},notNeedUndo:1}},UE.plugin.register("searchreplace",function(){function a(a,b,c){var d=b.searchStr;b.dir==-1&&(a=a.split("").reverse().join(""),d=d.split("").reverse().join(""),c=a.length-c);for(var e,f=new RegExp(d,"g"+(b.casesensitive?"":"i"));e=f.exec(a);)if(e.index>=c)return b.dir==-1?a.length-e.index-b.searchStr.length:e.index;return-1}function b(b,c,d){var e,f,h=d.all||1==d.dir?"getNextDomNode":"getPreDomNode";domUtils.isBody(b)&&(b=b.firstChild);for(var i=1;b;){if(e=3==b.nodeType?b.nodeValue:b[browser.ie?"innerText":"textContent"],f=a(e,d,c),i=0,f!=-1)return{node:b,index:f};for(b=domUtils[h](b);b&&g[b.nodeName.toLowerCase()];)b=domUtils[h](b,!0);b&&(c=d.dir==-1?(3==b.nodeType?b.nodeValue:b[browser.ie?"innerText":"textContent"]).length:0)}}function c(a,b,d){for(var e,f=0,g=a.firstChild,h=0;g;){if(3==g.nodeType){if(h=g.nodeValue.replace(/(^[\t\r\n]+)|([\t\r\n]+$)/,"").length,f+=h,f>=b)return{node:g,index:h-(f-b)}}else if(!dtd.$empty[g.tagName]&&(h=g[browser.ie?"innerText":"textContent"].replace(/(^[\t\r\n]+)|([\t\r\n]+$)/,"").length,f+=h,f>=b&&(e=c(g,h-(f-b),d))))return e;g=domUtils.getNextDomNode(g)}}function d(a,d){var f,g=a.selection.getRange(),h=d.searchStr,i=a.document.createElement("span");if(i.innerHTML="$$ueditor_searchreplace_key$$",g.shrinkBoundary(!0),!g.collapsed){g.select();var j=a.selection.getText();if(new RegExp("^"+d.searchStr+"$",d.casesensitive?"":"i").test(j)){if(void 0!=d.replaceStr)return e(g,d.replaceStr),g.select(),!0;g.collapse(d.dir==-1)}}g.insertNode(i),g.enlargeToBlockElm(!0),f=g.startContainer;var k=f[browser.ie?"innerText":"textContent"].indexOf("$$ueditor_searchreplace_key$$");g.setStartBefore(i),domUtils.remove(i);var l=b(f,k,d);if(l){var m=c(l.node,l.index,h),n=c(l.node,l.index+h.length,h);return g.setStart(m.node,m.index).setEnd(n.node,n.index),void 0!==d.replaceStr&&e(g,d.replaceStr),g.select(),!0}g.setCursor()}function e(a,b){b=f.document.createTextNode(b),a.deleteContents().insertNode(b)}var f=this,g={table:1,tbody:1,tr:1,ol:1,ul:1};return{commands:{searchreplace:{execCommand:function(a,b){utils.extend(b,{all:!1,casesensitive:!1,dir:1},!0);var c=0;if(b.all){var e=f.selection.getRange(),g=f.body.firstChild;for(g&&1==g.nodeType?(e.setStart(g,0),e.shrinkBoundary(!0)):3==g.nodeType&&e.setStartBefore(g),e.collapse(!0).select(!0),void 0!==b.replaceStr&&f.fireEvent("saveScene");d(this,b);)c++;c&&f.fireEvent("saveScene")}else void 0!==b.replaceStr&&f.fireEvent("saveScene"),d(this,b)&&c++,c&&f.fireEvent("saveScene");return c},notNeedUndo:1}}}}),UE.plugins.customstyle=function(){var a=this;a.setOpt({customstyle:[{tag:"h1",name:"tc",style:"font-size:32px;font-weight:bold;border-bottom:#ccc 2px solid;padding:0 4px 0 0;text-align:center;margin:0 0 20px 0;"},{tag:"h1",name:"tl",style:"font-size:32px;font-weight:bold;border-bottom:#ccc 2px solid;padding:0 4px 0 0;text-align:left;margin:0 0 10px 0;"},{tag:"span",name:"im",style:"font-size:16px;font-style:italic;font-weight:bold;line-height:18px;"},{tag:"span",name:"hi",style:"font-size:16px;font-style:italic;font-weight:bold;color:rgb(51, 153, 204);line-height:18px;"}]}),a.commands.customstyle={execCommand:function(a,b){var c,d,e=this,f=b.tag,g=domUtils.findParent(e.selection.getStart(),function(a){return a.getAttribute("label")},!0),h={};for(var i in b)void 0!==b[i]&&(h[i]=b[i]);if(delete h.tag,g&&g.getAttribute("label")==b.label){if(c=this.selection.getRange(),d=c.createBookmark(),c.collapsed)if(dtd.$block[g.tagName]){var j=e.document.createElement("p");domUtils.moveChild(g,j),g.parentNode.insertBefore(j,g),domUtils.remove(g)}else domUtils.remove(g,!0);else{var k=domUtils.getCommonAncestor(d.start,d.end),l=domUtils.getElementsByTagName(k,f);new RegExp(f,"i").test(k.tagName)&&l.push(k);for(var m,n=0;m=l[n++];)if(m.getAttribute("label")==b.label){var o=domUtils.getPosition(m,d.start),p=domUtils.getPosition(m,d.end);if((o&domUtils.POSITION_FOLLOWING||o&domUtils.POSITION_CONTAINS)&&(p&domUtils.POSITION_PRECEDING||p&domUtils.POSITION_CONTAINS)&&dtd.$block[f]){var j=e.document.createElement("p");domUtils.moveChild(m,j),m.parentNode.insertBefore(j,m)}domUtils.remove(m,!0)}g=domUtils.findParent(k,function(a){return a.getAttribute("label")==b.label},!0),g&&domUtils.remove(g,!0)}c.moveToBookmark(d).select()}else if(dtd.$block[f]){if(this.execCommand("paragraph",f,h,"customstyle"),c=e.selection.getRange(),!c.collapsed){c.collapse(),g=domUtils.findParent(e.selection.getStart(),function(a){return a.getAttribute("label")==b.label},!0);var q=e.document.createElement("p");domUtils.insertAfter(g,q),domUtils.fillNode(e.document,q),c.setStart(q,0).setCursor()}}else{if(c=e.selection.getRange(),c.collapsed)return g=e.document.createElement(f),domUtils.setAttributes(g,h),void c.insertNode(g).setStart(g,0).setCursor();d=c.createBookmark(),c.applyInlineStyle(f,h).moveToBookmark(d).select()}},queryCommandValue:function(){var a=domUtils.filterNodeList(this.selection.getStartElementPath(),function(a){return a.getAttribute("label")});return a?a.getAttribute("label"):""}},a.addListener("keyup",function(b,c){var d=c.keyCode||c.which;if(32==d||13==d){var e=a.selection.getRange();if(e.collapsed){var f=domUtils.findParent(a.selection.getStart(),function(a){return a.getAttribute("label")},!0);if(f&&dtd.$block[f.tagName]&&domUtils.isEmptyNode(f)){var g=a.document.createElement("p");domUtils.insertAfter(f,g),domUtils.fillNode(a.document,g),domUtils.remove(f),e.setStart(g,0).setCursor()}}}})},UE.plugins.catchremoteimage=function(){var me=this,ajax=UE.ajax;me.options.catchRemoteImageEnable!==!1&&(me.setOpt({catchRemoteImageEnable:!1}),me.addListener("afterpaste",function(){me.fireEvent("catchRemoteImage")}),me.addListener("catchRemoteImage",function(){function catchremoteimage(a,b){var c=utils.serializeParam(me.queryCommandValue("serverparam"))||"",d=utils.formatUrl(catcherActionUrl+(catcherActionUrl.indexOf("?")==-1?"?":"&")+c),e=utils.isCrossDomainUrl(d),f={method:"POST",dataType:e?"jsonp":"",timeout:6e4,onsuccess:b.success,onerror:b.error};f[catcherFieldName]=a,ajax.request(d,f)}for(var catcherLocalDomain=me.getOpt("catcherLocalDomain"),catcherActionUrl=me.getActionUrl(me.getOpt("catcherActionName")),catcherUrlPrefix=me.getOpt("catcherUrlPrefix"),catcherFieldName=me.getOpt("catcherFieldName"),remoteImages=[],imgs=domUtils.getElementsByTagName(me.document,"img"),test=function(a,b){if(a.indexOf(location.host)!=-1||/(^\.)|(^\/)/.test(a))return!0;if(b)for(var c,d=0;c=b[d++];)if(a.indexOf(c)!==-1)return!0;return!1},i=0,ci;ci=imgs[i++];)if(!ci.getAttribute("word_img")){var src=ci.getAttribute("_src")||ci.src||"";/^(https?|ftp):/i.test(src)&&!test(src,catcherLocalDomain)&&remoteImages.push(src)}remoteImages.length&&catchremoteimage(remoteImages,{success:function(r){try{var info=void 0!==r.state?r:eval("("+r.responseText+")")}catch(e){return}var i,j,ci,cj,oldSrc,newSrc,list=info.list;for(i=0;ci=imgs[i++];)for(oldSrc=ci.getAttribute("_src")||ci.src||"",j=0;cj=list[j++];)if(oldSrc==cj.source&&"SUCCESS"==cj.state){newSrc=catcherUrlPrefix+cj.url,domUtils.setAttributes(ci,{src:newSrc,_src:newSrc});break}me.fireEvent("catchremotesuccess")},error:function(){me.fireEvent("catchremoteerror")}})}))},UE.plugin.register("snapscreen",function(){function getLocation(a){var b,c=document.createElement("a"),d=utils.serializeParam(me.queryCommandValue("serverparam"))||"";return c.href=a,browser.ie&&(c.href=c.href),b=c.search,d&&(b=b+(b.indexOf("?")==-1?"?":"&")+d,b=b.replace(/[&]+/gi,"&")),{port:c.port,hostname:c.hostname,path:c.pathname+b||+c.hash}}var me=this,snapplugin;return{commands:{snapscreen:{execCommand:function(cmd){function onSuccess(rs){try{if(rs=eval("("+rs+")"),"SUCCESS"==rs.state){var opt=me.options;me.execCommand("insertimage",{src:opt.snapscreenUrlPrefix+rs.url,_src:opt.snapscreenUrlPrefix+rs.url,alt:rs.title||"",floatStyle:opt.snapscreenImgAlign})}else alert(rs.state)}catch(e){alert(lang.callBackErrorMsg)}}var url,local,res,lang=me.getLang("snapScreen_plugin");if(!snapplugin){var container=me.container,doc=me.container.ownerDocument||me.container.document;snapplugin=doc.createElement("object");try{snapplugin.type="application/x-pluginbaidusnap"}catch(e){return}snapplugin.style.cssText="position:absolute;left:-9999px;width:0;height:0;",snapplugin.setAttribute("width","0"),snapplugin.setAttribute("height","0"),container.appendChild(snapplugin)}url=me.getActionUrl(me.getOpt("snapscreenActionName")),local=getLocation(url),setTimeout(function(){try{res=snapplugin.saveSnapshot(local.hostname,local.path,local.port)}catch(a){return void me.ui._dialogs.snapscreenDialog.open()}onSuccess(res)},50)},queryCommandState:function(){return navigator.userAgent.indexOf("Windows",0)!=-1?0:-1}}}}}),UE.commands.insertparagraph={execCommand:function(a,b){for(var c,d=this,e=d.selection.getRange(),f=e.startContainer;f&&!domUtils.isBody(f);)c=f,f=f.parentNode;if(c){var g=d.document.createElement("p");b?c.parentNode.insertBefore(g,c):c.parentNode.insertBefore(g,c.nextSibling),domUtils.fillNode(d.document,g),e.setStart(g,0).setCursor(!1,!0)}}},UE.plugin.register("webapp",function(){function a(a,c){return c?'':'"}var b=this;return{outputRule:function(b){utils.each(b.getNodesByTagName("img"),function(b){var c;if("edui-faked-webapp"==b.getAttr("class")){c=a({title:b.getAttr("title"),width:b.getAttr("width"),height:b.getAttr("height"),align:b.getAttr("align"),cssfloat:b.getStyle("float"),url:b.getAttr("_url"),logo:b.getAttr("_logo_url")},!0);var d=UE.uNode.createElement(c);b.parentNode.replaceChild(d,b)}})},inputRule:function(b){utils.each(b.getNodesByTagName("iframe"),function(b){if("edui-faked-webapp"==b.getAttr("class")){var c=UE.uNode.createElement(a({title:b.getAttr("title"),width:b.getAttr("width"),height:b.getAttr("height"),align:b.getAttr("align"),cssfloat:b.getStyle("float"),url:b.getAttr("src"),logo:b.getAttr("logo_url")}));b.parentNode.replaceChild(c,b)}})},commands:{webapp:{execCommand:function(b,c){var d=this,e=a(utils.extend(c,{align:"none"}),!1);d.execCommand("inserthtml",e)},queryCommandState:function(){var a=this,b=a.selection.getRange().getClosedNode(),c=b&&"edui-faked-webapp"==b.className;return c?1:0}}}}}),UE.plugins.template=function(){UE.commands.template={execCommand:function(a,b){b.html&&this.execCommand("inserthtml",b.html)}},this.addListener("click",function(a,b){var c=b.target||b.srcElement,d=this.selection.getRange(),e=domUtils.findParent(c,function(a){if(a.className&&domUtils.hasClass(a,"ue_t"))return a},!0);e&&d.selectNode(e).shrinkBoundary().select()}),this.addListener("keydown",function(a,b){var c=this.selection.getRange();if(!c.collapsed&&!(b.ctrlKey||b.metaKey||b.shiftKey||b.altKey)){var d=domUtils.findParent(c.startContainer,function(a){if(a.className&&domUtils.hasClass(a,"ue_t"))return a},!0);d&&domUtils.removeClasses(d,["ue_t"])}})},UE.plugin.register("music",function(){function a(a,c,d,e,f,g){return g?'':"'}var b=this;return{outputRule:function(b){utils.each(b.getNodesByTagName("img"),function(b){var c;if("edui-faked-music"==b.getAttr("class")){var d=b.getStyle("float"),e=b.getAttr("align");c=a(b.getAttr("_url"),b.getAttr("width"),b.getAttr("height"),e,d,!0);var f=UE.uNode.createElement(c);b.parentNode.replaceChild(f,b)}})},inputRule:function(b){utils.each(b.getNodesByTagName("embed"),function(b){if("edui-faked-music"==b.getAttr("class")){var c=b.getStyle("float"),d=b.getAttr("align");html=a(b.getAttr("src"),b.getAttr("width"),b.getAttr("height"),d,c,!1);var e=UE.uNode.createElement(html);b.parentNode.replaceChild(e,b)}})},commands:{music:{execCommand:function(b,c){var d=this,e=a(c.url,c.width||400,c.height||95,"none",!1);d.execCommand("inserthtml",e)},queryCommandState:function(){var a=this,b=a.selection.getRange().getClosedNode(),c=b&&"edui-faked-music"==b.className;return c?1:0}}}}}),UE.plugin.register("autoupload",function(){function a(a,b){var c,d,e,f,g,h,i,j,k=b,l=/image\/\w+/i.test(a.type)?"image":"file",m="loading_"+(+new Date).toString(36);if(c=k.getOpt(l+"FieldName"),d=k.getOpt(l+"UrlPrefix"),e=k.getOpt(l+"MaxSize"),f=k.getOpt(l+"AllowFiles"),g=k.getActionUrl(k.getOpt(l+"ActionName")),i=function(a){var b=k.document.getElementById(m);b&&domUtils.remove(b),k.fireEvent("showmessage",{id:m,content:a,type:"error",timeout:4e3})},"image"==l?(h='',j=function(a){var b=d+a.url,c=k.document.getElementById(m);c&&(c.setAttribute("src",b),c.setAttribute("_src",b),c.setAttribute("title",a.title||""),c.setAttribute("alt",a.original||""),c.removeAttribute("id"),domUtils.removeClasses(c,"loadingclass"))}):(h='

    ',j=function(a){var b=d+a.url,c=k.document.getElementById(m),e=k.selection.getRange(),f=e.createBookmark();e.selectNode(c).select(),k.execCommand("insertfile",{url:b}),e.moveToBookmark(f).select()}),k.execCommand("inserthtml",h),!k.getOpt(l+"ActionName"))return void i(k.getLang("autoupload.errorLoadConfig"));if(a.size>e)return void i(k.getLang("autoupload.exceedSizeError"));var n=a.name?a.name.substr(a.name.lastIndexOf(".")):"";if(n&&"image"!=l||f&&(f.join("")+".").indexOf(n.toLowerCase()+".")==-1)return void i(k.getLang("autoupload.exceedTypeError"));var o=new XMLHttpRequest,p=new FormData,q=utils.serializeParam(k.queryCommandValue("serverparam"))||"",r=utils.formatUrl(g+(g.indexOf("?")==-1?"?":"&")+q);p.append(c,a,a.name||"blob."+a.type.substr("image/".length)),p.append("type","ajax"),o.open("post",r,!0),o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.addEventListener("load",function(a){try{var b=new Function("return "+utils.trim(a.target.response))();"SUCCESS"==b.state&&b.url?j(b):i(b.state)}catch(c){i(k.getLang("autoupload.loadError"))}}),o.send(p)}function b(a){return a.clipboardData&&a.clipboardData.items&&1==a.clipboardData.items.length&&/^image\//.test(a.clipboardData.items[0].type)?a.clipboardData.items:null}function c(a){return a.dataTransfer&&a.dataTransfer.files?a.dataTransfer.files:null}return{outputRule:function(a){utils.each(a.getNodesByTagName("img"),function(a){/\b(loaderrorclass)|(bloaderrorclass)\b/.test(a.getAttr("class"))&&a.parentNode.removeChild(a)}),utils.each(a.getNodesByTagName("p"),function(a){/\bloadpara\b/.test(a.getAttr("class"))&&a.parentNode.removeChild(a)})},bindEvents:{ready:function(d){var e=this;window.FormData&&window.FileReader&&(domUtils.on(e.body,"paste drop",function(d){var f,g=!1;if(f="paste"==d.type?b(d):c(d)){for(var h,i=f.length;i--;)h=f[i],h.getAsFile&&(h=h.getAsFile()),h&&h.size>0&&(a(h,e),g=!0);g&&d.preventDefault()}}),domUtils.on(e.body,"dragover",function(a){"Files"==a.dataTransfer.types[0]&&a.preventDefault()}),utils.cssRule("loading",".loadingclass{display:inline-block;cursor:default;background: url('"+this.options.themePath+this.options.theme+"/images/loading.gif') no-repeat center center transparent;border:1px solid #cccccc;margin-left:1px;height: 22px;width: 22px;}\n.loaderrorclass{display:inline-block;cursor:default;background: url('"+this.options.themePath+this.options.theme+"/images/loaderror.png') no-repeat center center transparent;border:1px solid #cccccc;margin-right:1px;height: 22px;width: 22px;}",this.document))}}}}),UE.plugin.register("autosave",function(){function a(a){var f;if(!(new Date-c0?b._saveFlag=window.setTimeout(function(){a(b)},b.options.saveInterval):a(b))}},commands:{clearlocaldata:{execCommand:function(a,c){e&&b.getPreferences(e)&&b.removePreferences(e)},notNeedUndo:!0,ignoreContentChange:!0},getlocaldata:{execCommand:function(a,c){return e?b.getPreferences(e)||"":""},notNeedUndo:!0,ignoreContentChange:!0},drafts:{execCommand:function(a,c){e&&(b.body.innerHTML=b.getPreferences(e)||"

    "+domUtils.fillHtml+"

    ",b.focus(!0))},queryCommandState:function(){return e?null===b.getPreferences(e)?-1:0:-1},notNeedUndo:!0,ignoreContentChange:!0}}}}),UE.plugin.register("charts",function(){function a(a){var b=null,c=0;if(a.rows.length<2)return!1;if(a.rows[0].cells.length<2)return!1;b=a.rows[0].cells,c=b.length;for(var d,e=0;d=b[e];e++)if("th"!==d.tagName.toLowerCase())return!1;for(var f,e=1;f=a.rows[e];e++){if(f.cells.length!=c)return!1;if("th"!==f.cells[0].tagName.toLowerCase())return!1;for(var d,g=1;d=f.cells[g];g++){var h=utils.trim(d.innerText||d.textContent||"");if(h=h.replace(new RegExp(UE.dom.domUtils.fillChar,"g"),"").replace(/^\s+|\s+$/g,""),!/^\d*\.?\d+$/.test(h))return!1}}return!0}var b=this;return{bindEvents:{chartserror:function(){}},commands:{charts:{execCommand:function(c,d){var e=domUtils.findParentByTagName(this.selection.getRange().startContainer,"table",!0),f=[],g={};if(!e)return!1;if(!a(e))return b.fireEvent("chartserror"),!1;g.title=d.title||"",g.subTitle=d.subTitle||"",g.xTitle=d.xTitle||"",g.yTitle=d.yTitle||"",g.suffix=d.suffix||"",g.tip=d.tip||"",g.dataFormat=d.tableDataFormat||"",g.chartType=d.chartType||0;for(var h in g)g.hasOwnProperty(h)&&f.push(h+":"+g[h]);e.setAttribute("data-chart",f.join(";")),domUtils.addClass(e,"edui-charts-table")},queryCommandState:function(b,c){ -var d=domUtils.findParentByTagName(this.selection.getRange().startContainer,"table",!0);return d&&a(d)?0:-1}}},inputRule:function(a){utils.each(a.getNodesByTagName("table"),function(a){void 0!==a.getAttr("data-chart")&&a.setAttr("style")})},outputRule:function(a){utils.each(a.getNodesByTagName("table"),function(a){void 0!==a.getAttr("data-chart")&&a.setAttr("style","display: none;")})}}}),UE.plugin.register("section",function(){function a(a){this.tag="",this.level=-1,this.dom=null,this.nextSection=null,this.previousSection=null,this.parentSection=null,this.startAddress=[],this.endAddress=[],this.children=[]}function b(b){var c=new a;return utils.extend(c,b)}function c(a,b){for(var c=b,d=0;d=0){var o=h.selection.getRange().selectNode(i).createAddress(!0).startAddress,p=b({tag:i.tagName,title:i.innerText||i.textContent||"",level:f,dom:i,startAddress:utils.clone(o,[]),endAddress:utils.clone(o,[]),children:[]});for(j.nextSection=p,p.previousSection=j,g=j;f<=g.level;)g=g.parentSection;p.parentSection=g,g.children.push(p),k=j=p}else 1===i.nodeType&&e(i,c),k&&k.endAddress[k.endAddress.length-1]++}for(var f=c||["h1","h2","h3","h4","h5","h6"],g=0;g=c.length);f++){if(c[f]>a[f]){d=!0;break}if(c[f]=c.length);f++){if(c[f]a[f])break}return d&&e}var g,h,i=this;if(b&&d&&d.level!=-1&&(g=e?d.endAddress:d.startAddress,h=c(g,i.body),g&&h&&!f(b.startAddress,b.endAddress,g))){var j,k,l=c(b.startAddress,i.body),m=c(b.endAddress,i.body);if(e)for(j=m;j&&!(domUtils.getPosition(l,j)&domUtils.POSITION_FOLLOWING)&&(k=j.previousSibling,domUtils.insertAfter(h,j),j!=l);)j=k;else for(j=l;j&&!(domUtils.getPosition(j,m)&domUtils.POSITION_FOLLOWING)&&(k=j.nextSibling,h.parentNode.insertBefore(j,h),j!=m);)j=k;i.fireEvent("updateSections")}}},deletesection:{execCommand:function(a,b,c){function d(a){for(var b=e.body,c=0;c',b.className="edui-"+c.options.theme,b.id=c.ui.id+"_iframeupload",i.style.cssText=g,i.style.width=a+"px",i.style.height=e+"px",i.appendChild(b),i.parentNode&&(i.parentNode.style.width=a+"px",i.parentNode.style.height=a+"px");var k=h.getElementById("edui_form_"+j),l=h.getElementById("edui_input_"+j),m=h.getElementById("edui_iframe_"+j);domUtils.on(l,"change",function(){function a(){try{var e,f,g,h=(m.contentDocument||m.contentWindow.document).body,i=h.innerText||h.textContent||"";f=new Function("return "+i)(),e=c.options.imageUrlPrefix+f.url,"SUCCESS"==f.state&&f.url?(g=c.document.getElementById(d),g.setAttribute("src",e),g.setAttribute("_src",e),g.setAttribute("title",f.title||""),g.setAttribute("alt",f.original||""),g.removeAttribute("id"),domUtils.removeClasses(g,"loadingclass")):b&&b(f.state)}catch(j){b&&b(c.getLang("simpleupload.loadError"))}k.reset(),domUtils.un(m,"load",a)}function b(a){if(d){var b=c.document.getElementById(d);b&&domUtils.remove(b),c.fireEvent("showmessage",{id:d,content:a,type:"error",timeout:4e3})}}if(l.value){var d="loading_"+(+new Date).toString(36),e=utils.serializeParam(c.queryCommandValue("serverparam"))||"",f=c.getActionUrl(c.getOpt("imageActionName")),g=c.getOpt("imageAllowFiles");if(c.focus(),c.execCommand("inserthtml",''),!c.getOpt("imageActionName"))return void errorHandler(c.getLang("autoupload.errorLoadConfig"));var h=l.value,i=h?h.substr(h.lastIndexOf(".")):"";if(!i||g&&(g.join("")+".").indexOf(i.toLowerCase()+".")==-1)return void b(c.getLang("simpleupload.exceedTypeError"));domUtils.on(m,"load",a),k.action=utils.formatUrl(f+(f.indexOf("?")==-1?"?":"&")+e),k.submit()}});var n;c.addListener("selectionchange",function(){clearTimeout(n),n=setTimeout(function(){var a=c.queryCommandState("simpleupload");a==-1?l.disabled="disabled":l.disabled=!1},400)}),d=!0}),f.style.cssText=g,b.appendChild(f)}var b,c=this,d=!1;return{bindEvents:{ready:function(){utils.cssRule("loading",".loadingclass{display:inline-block;cursor:default;background: url('"+this.options.themePath+this.options.theme+"/images/loading.gif') no-repeat center center transparent;border:1px solid #cccccc;margin-right:1px;height: 22px;width: 22px;}\n.loaderrorclass{display:inline-block;cursor:default;background: url('"+this.options.themePath+this.options.theme+"/images/loaderror.png') no-repeat center center transparent;border:1px solid #cccccc;margin-right:1px;height: 22px;width: 22px;}",this.document)},simpleuploadbtnready:function(d,e){b=e,c.afterConfigReady(a)}},outputRule:function(a){utils.each(a.getNodesByTagName("img"),function(a){/\b(loaderrorclass)|(bloaderrorclass)\b/.test(a.getAttr("class"))&&a.parentNode.removeChild(a)})},commands:{simpleupload:{queryCommandState:function(){return d?0:-1}}}}}),UE.plugin.register("serverparam",function(){var a={};return{commands:{serverparam:{execCommand:function(b,c,d){void 0===c||null===c?a={}:utils.isString(c)?void 0===d||null===d?delete a[c]:a[c]=d:utils.isObject(c)?utils.extend(a,c,!0):utils.isFunction(c)&&utils.extend(a,c(),!0)},queryCommandValue:function(){return a||{}}}}}}),UE.plugin.register("insertfile",function(){function a(a){var b=a.substr(a.lastIndexOf(".")+1).toLowerCase(),c={rar:"icon_rar.gif",zip:"icon_rar.gif",tar:"icon_rar.gif",gz:"icon_rar.gif",bz2:"icon_rar.gif",doc:"icon_doc.gif",docx:"icon_doc.gif",pdf:"icon_pdf.gif",mp3:"icon_mp3.gif",xls:"icon_xls.gif",chm:"icon_chm.gif",ppt:"icon_ppt.gif",pptx:"icon_ppt.gif",avi:"icon_mv.gif",rmvb:"icon_mv.gif",wmv:"icon_mv.gif",flv:"icon_mv.gif",swf:"icon_mv.gif",rm:"icon_mv.gif",exe:"icon_exe.gif",psd:"icon_psd.gif",txt:"icon_txt.gif",jpg:"icon_jpg.gif",png:"icon_jpg.gif",jpeg:"icon_jpg.gif",gif:"icon_jpg.gif",ico:"icon_jpg.gif",bmp:"icon_jpg.gif"};return c[b]?c[b]:c.txt}var b=this;return{commands:{insertfile:{execCommand:function(c,d){d=utils.isArray(d)?d:[d];var e,f,g,h,i="",j=b.getOpt("UEDITOR_HOME_URL"),k=j+("/"==j.substr(j.length-1)?"":"/")+"dialogs/attachment/fileTypeImages/";for(e=0;e'+h+"

    ";b.execCommand("insertHtml",i)}}}}}),UE.plugins.xssFilter=function(){function a(a){var b=a.tagName,d=a.attrs;return c.hasOwnProperty(b)?void UE.utils.each(d,function(d,e){c[b].indexOf(e)===-1&&a.setAttr(e)}):(a.parentNode.removeChild(a),!1)}var b=UEDITOR_CONFIG,c=b.whitList;c&&b.xssFilterRules&&(this.options.filterRules=function(){var b={};return UE.utils.each(c,function(c,d){b[d]=function(b){return a(b)}}),b}());var d=[];UE.utils.each(c,function(a,b){d.push(b)}),c&&b.inputXssFilter&&this.addInputRule(function(b){b.traversal(function(b){return"element"===b.type&&void a(b)})}),c&&b.outputXssFilter&&this.addOutputRule(function(b){b.traversal(function(b){return"element"===b.type&&void a(b)})})};var baidu=baidu||{};baidu.editor=baidu.editor||{},UE.ui=baidu.editor.ui={},function(){function a(){var a=document.getElementById("edui_fixedlayer");i.setViewportOffset(a,{left:0,top:0})}function b(b){d.on(window,"scroll",a),d.on(window,"resize",baidu.editor.utils.defer(a,0,!0))}var c=baidu.editor.browser,d=baidu.editor.dom.domUtils,e="$EDITORUI",f=window[e]={},g="ID"+e,h=0,i=baidu.editor.ui.uiUtils={uid:function(a){return a?a[g]||(a[g]=++h):++h},hook:function(a,b){var c;return a&&a._callbacks?c=a:(c=function(){var b;a&&(b=a.apply(this,arguments));for(var d=c._callbacks,e=d.length;e--;){var f=d[e].apply(this,arguments);void 0===b&&(b=f)}return b},c._callbacks=[]),c._callbacks.push(b),c},createElementByHtml:function(a){var b=document.createElement("div");return b.innerHTML=a,b=b.firstChild,b.parentNode.removeChild(b),b},getViewportElement:function(){return c.ie&&c.quirks?document.body:document.documentElement},getClientRect:function(a){var b;try{b=a.getBoundingClientRect()}catch(c){b={left:0,top:0,height:0,width:0}}for(var e,f={left:Math.round(b.left),top:Math.round(b.top),height:Math.round(b.bottom-b.top),width:Math.round(b.right-b.left)};(e=a.ownerDocument)!==document&&(a=d.getWindow(e).frameElement);)b=a.getBoundingClientRect(),f.left+=b.left,f.top+=b.top;return f.bottom=f.top+f.height,f.right=f.left+f.width,f},getViewportRect:function(){var a=i.getViewportElement(),b=0|(window.innerWidth||a.clientWidth),c=0|(window.innerHeight||a.clientHeight);return{left:0,top:0,height:c,width:b,bottom:c,right:b}},setViewportOffset:function(a,b){var c=i.getFixedLayer();a.parentNode===c?(a.style.left=b.left+"px",a.style.top=b.top+"px"):d.setViewportOffset(a,b)},getEventOffset:function(a){var b=a.target||a.srcElement,c=i.getClientRect(b),d=i.getViewportOffsetByEvent(a);return{left:d.left-c.left,top:d.top-c.top}},getViewportOffsetByEvent:function(a){var b=a.target||a.srcElement,c=d.getWindow(b).frameElement,e={left:a.clientX,top:a.clientY};if(c&&b.ownerDocument!==document){var f=i.getClientRect(c);e.left+=f.left,e.top+=f.top}return e},setGlobal:function(a,b){return f[a]=b,e+'["'+a+'"]'},unsetGlobal:function(a){delete f[a]},copyAttributes:function(a,b){for(var e=b.attributes,f=e.length;f--;){var g=e[f];"style"==g.nodeName||"class"==g.nodeName||c.ie&&!g.specified||a.setAttribute(g.nodeName,g.nodeValue)}b.className&&d.addClass(a,b.className),b.style.cssText&&(a.style.cssText+=";"+b.style.cssText)},removeStyle:function(a,b){if(a.style.removeProperty)a.style.removeProperty(b);else{if(!a.style.removeAttribute)throw"";a.style.removeAttribute(b)}},contains:function(a,b){return a&&b&&a!==b&&(a.contains?a.contains(b):16&a.compareDocumentPosition(b))},startDrag:function(a,b,c){function d(a){var c=a.clientX-g,d=a.clientY-h;b.ondragmove(c,d,a),a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}function e(a){c.removeEventListener("mousemove",d,!0),c.removeEventListener("mouseup",e,!0),window.removeEventListener("mouseup",e,!0),b.ondragstop()}function f(){i.releaseCapture(),i.detachEvent("onmousemove",d),i.detachEvent("onmouseup",f),i.detachEvent("onlosecaptrue",f),b.ondragstop()}var c=c||document,g=a.clientX,h=a.clientY;if(c.addEventListener)c.addEventListener("mousemove",d,!0),c.addEventListener("mouseup",e,!0),window.addEventListener("mouseup",e,!0),a.preventDefault();else{var i=a.srcElement;i.setCapture(),i.attachEvent("onmousemove",d),i.attachEvent("onmouseup",f),i.attachEvent("onlosecaptrue",f),a.returnValue=!1}b.ondragstart()},getFixedLayer:function(){var d=document.getElementById("edui_fixedlayer");return null==d&&(d=document.createElement("div"),d.id="edui_fixedlayer",document.body.appendChild(d),c.ie&&c.version<=8?(d.style.position="absolute",b(),setTimeout(a)):d.style.position="fixed",d.style.left="0",d.style.top="0",d.style.width="0",d.style.height="0"),d},makeUnselectable:function(a){if(c.opera||c.ie&&c.version<9){if(a.unselectable="on",a.hasChildNodes())for(var b=0;b'}},a.inherits(c,b)}(),function(){var a=baidu.editor.utils,b=baidu.editor.dom.domUtils,c=baidu.editor.ui.UIBase,d=baidu.editor.ui.uiUtils,e=baidu.editor.ui.Mask=function(a){this.initOptions(a),this.initUIBase()};e.prototype={getHtmlTpl:function(){return'
    '},postRender:function(){var a=this;b.on(window,"resize",function(){setTimeout(function(){a.isHidden()||a._fill()})})},show:function(a){this._fill(),this.getDom().style.display="",this.getDom().style.zIndex=a},hide:function(){this.getDom().style.display="none",this.getDom().style.zIndex=""},isHidden:function(){return"none"==this.getDom().style.display},_onMouseDown:function(){return!1},_onClick:function(a,b){this.fireEvent("click",a,b)},_fill:function(){var a=this.getDom(),b=d.getViewportRect();a.style.width=b.width+"px",a.style.height=b.height+"px"}},a.inherits(e,c)}(),function(){function a(a,b){for(var c=0;c
    '+this.getContentHtmlTpl()+"
    "},getContentHtmlTpl:function(){return this.content?"string"==typeof this.content?this.content:this.content.renderHtml():""},_UIBase_postRender:e.prototype.postRender,postRender:function(){if(this.content instanceof e&&this.content.postRender(),this.captureWheel&&!this.captured){this.captured=!0;var a=(document.documentElement.clientHeight||document.body.clientHeight)-80,b=this.getDom().offsetHeight,f=c.getClientRect(this.combox.getDom()).top,g=this.getDom("content"),h=this.getDom("body").getElementsByTagName("iframe"),i=this;for(h.length&&(h=h[0]);f+b>a;)b-=30;g.style.height=b+"px",h&&(h.style.height=b+"px"),window.XMLHttpRequest?d.on(g,"onmousewheel"in document.body?"mousewheel":"DOMMouseScroll",function(a){a.preventDefault?a.preventDefault():a.returnValue=!1,a.wheelDelta?g.scrollTop-=a.wheelDelta/120*60:g.scrollTop-=a.detail/-3*60}):d.on(this.getDom(),"mousewheel",function(a){a.returnValue=!1,i.getDom("content").scrollTop-=a.wheelDelta/120*60})}this.fireEvent("postRenderAfter"),this.hide(!0),this._UIBase_postRender()},_doAutoRender:function(){!this.getDom()&&this.autoRender&&this.render()},mesureSize:function(){var a=this.getDom("content");return c.getClientRect(a)},fitSize:function(){if(this.captureWheel&&this.sized)return this.__size;this.sized=!0;var a=this.getDom("body");a.style.width="",a.style.height="";var b=this.mesureSize();if(this.captureWheel){a.style.width=-(-20-b.width)+"px";var c=parseInt(this.getDom("content").style.height,10);!window.isNaN(c)&&(b.height=c)}else a.style.width=b.width+"px";return a.style.height=b.height+"px",this.__size=b,this.captureWheel&&(this.getDom("content").style.overflow="auto"),b},showAnchor:function(a,b){this.showAnchorRect(c.getClientRect(a),b)},showAnchorRect:function(a,b,e){this._doAutoRender();var f=c.getViewportRect();this.getDom().style.visibility="hidden",this._show();var g,i,j,k,l=this.fitSize();b?(g=this.canSideLeft&&a.right+l.width>f.right&&a.left>l.width,i=this.canSideUp&&a.top+l.height>f.bottom&&a.bottom>l.height,j=g?a.left-l.width:a.right,k=i?a.bottom-l.height:a.top):(g=this.canSideLeft&&a.right+l.width>f.right&&a.left>l.width,i=this.canSideUp&&a.top+l.height>f.bottom&&a.bottom>l.height,j=g?a.right-l.width:a.left,k=i?a.top-l.height:a.bottom);var m=this.getDom();c.setViewportOffset(m,{left:j,top:k}),d.removeClasses(m,h),m.className+=" "+h[2*(i?1:0)+(g?1:0)],this.editor&&(m.style.zIndex=1*this.editor.container.style.zIndex+10,baidu.editor.ui.uiUtils.getFixedLayer().style.zIndex=m.style.zIndex-1),this.getDom().style.visibility="visible"},showAt:function(a){var b=a.left,c=a.top,d={left:b,top:c,right:b,bottom:c,height:0,width:0};this.showAnchorRect(d,!1,!0)},_show:function(){if(this._hidden){var a=this.getDom();a.style.display="",this._hidden=!1,this.fireEvent("show")}},isHidden:function(){return this._hidden},show:function(){this._doAutoRender(),this._show()},hide:function(a){!this._hidden&&this.getDom()&&(this.getDom().style.display="none",this._hidden=!0,a||this.fireEvent("hide"))},queryAutoHide:function(a){return!a||!c.contains(this.getDom(),a)}},b.inherits(f,e),d.on(document,"mousedown",function(b){var c=b.target||b.srcElement;a(b,c)}),d.on(window,"scroll",function(b,c){a(b,c)})}(),function(){function a(a,b){for(var c='
    '+a+'
    ',d=0;d"+(60==d?'":"")+""),c+=d<70?'':"";return c+="
    '+b.getLang("themeColor")+'
    '+b.getLang("standardColor")+"
    =60?"border-width:1px;":d>=10&&d<20?"border-width:1px 1px 0 1px;":"border-width:0 1px 0 1px;")+'">
    "}var b=baidu.editor.utils,c=baidu.editor.ui.UIBase,d=baidu.editor.ui.ColorPicker=function(a){this.initOptions(a),this.noColorText=this.noColorText||this.editor.getLang("clearColor"),this.initUIBase()};d.prototype={getHtmlTpl:function(){return a(this.noColorText,this.editor)},_onTableClick:function(a){var b=a.target||a.srcElement,c=b.getAttribute("data-color");c&&this.fireEvent("pickcolor",c)},_onTableOver:function(a){var b=a.target||a.srcElement,c=b.getAttribute("data-color");c&&(this.getDom("preview").style.backgroundColor=c)},_onTableOut:function(){this.getDom("preview").style.backgroundColor=""},_onPickNoColor:function(){this.fireEvent("picknocolor")}},b.inherits(d,c);var e="ffffff,000000,eeece1,1f497d,4f81bd,c0504d,9bbb59,8064a2,4bacc6,f79646,f2f2f2,7f7f7f,ddd9c3,c6d9f0,dbe5f1,f2dcdb,ebf1dd,e5e0ec,dbeef3,fdeada,d8d8d8,595959,c4bd97,8db3e2,b8cce4,e5b9b7,d7e3bc,ccc1d9,b7dde8,fbd5b5,bfbfbf,3f3f3f,938953,548dd4,95b3d7,d99694,c3d69b,b2a2c7,92cddc,fac08f,a5a5a5,262626,494429,17365d,366092,953734,76923c,5f497a,31859b,e36c09,7f7f7f,0c0c0c,1d1b10,0f243e,244061,632423,4f6128,3f3151,205867,974806,c00000,ff0000,ffc000,ffff00,92d050,00b050,00b0f0,0070c0,002060,7030a0,".split(",")}(),function(){var a=baidu.editor.utils,b=baidu.editor.ui.uiUtils,c=baidu.editor.ui.UIBase,d=baidu.editor.ui.TablePicker=function(a){this.initOptions(a),this.initTablePicker()};d.prototype={defaultNumRows:10,defaultNumCols:10,maxNumRows:20,maxNumCols:20,numRows:10,numCols:10,lengthOfCellSide:22,initTablePicker:function(){this.initUIBase()},getHtmlTpl:function(){return'
    '},_UIBase_render:c.prototype.render,render:function(a){this._UIBase_render(a),this.getDom("label").innerHTML="0"+this.editor.getLang("t_row")+" x 0"+this.editor.getLang("t_col")},_track:function(a,b){var c=this.getDom("overlay").style,d=this.lengthOfCellSide;c.width=a*d+"px",c.height=b*d+"px";var e=this.getDom("label");e.innerHTML=a+this.editor.getLang("t_col")+" x "+b+this.editor.getLang("t_row"),this.numCols=a,this.numRows=b},_onMouseOver:function(a,c){var d=a.relatedTarget||a.fromElement;b.contains(c,d)||c===d||(this.getDom("label").innerHTML="0"+this.editor.getLang("t_col")+" x 0"+this.editor.getLang("t_row"),this.getDom("overlay").style.visibility="")},_onMouseOut:function(a,c){var d=a.relatedTarget||a.toElement;b.contains(c,d)||c===d||(this.getDom("label").innerHTML="0"+this.editor.getLang("t_col")+" x 0"+this.editor.getLang("t_row"),this.getDom("overlay").style.visibility="hidden")},_onMouseMove:function(a,c){var d=(this.getDom("overlay").style,b.getEventOffset(a)),e=this.lengthOfCellSide,f=Math.ceil(d.left/e),g=Math.ceil(d.top/e);this._track(f,g)},_onClick:function(){this.fireEvent("picktable",this.numCols,this.numRows)}},a.inherits(d,c)}(),function(){var a=baidu.editor.browser,b=baidu.editor.dom.domUtils,c=baidu.editor.ui.uiUtils,d='onmousedown="$$.Stateful_onMouseDown(event, this);" onmouseup="$$.Stateful_onMouseUp(event, this);"'+(a.ie?' onmouseenter="$$.Stateful_onMouseEnter(event, this);" onmouseleave="$$.Stateful_onMouseLeave(event, this);"':' onmouseover="$$.Stateful_onMouseOver(event, this);" onmouseout="$$.Stateful_onMouseOut(event, this);"');baidu.editor.ui.Stateful={alwalysHoverable:!1,target:null,Stateful_init:function(){this._Stateful_dGetHtmlTpl=this.getHtmlTpl,this.getHtmlTpl=this.Stateful_getHtmlTpl},Stateful_getHtmlTpl:function(){var a=this._Stateful_dGetHtmlTpl();return a.replace(/stateful/g,function(){return d})},Stateful_onMouseEnter:function(a,b){this.target=b,this.isDisabled()&&!this.alwalysHoverable||(this.addState("hover"),this.fireEvent("over"))},Stateful_onMouseLeave:function(a,b){this.isDisabled()&&!this.alwalysHoverable||(this.removeState("hover"),this.removeState("active"),this.fireEvent("out"))},Stateful_onMouseOver:function(a,b){var d=a.relatedTarget;c.contains(b,d)||b===d||this.Stateful_onMouseEnter(a,b)},Stateful_onMouseOut:function(a,b){var d=a.relatedTarget;c.contains(b,d)||b===d||this.Stateful_onMouseLeave(a,b)},Stateful_onMouseDown:function(a,b){this.isDisabled()||this.addState("active")},Stateful_onMouseUp:function(a,b){this.isDisabled()||this.removeState("active")},Stateful_postRender:function(){this.disabled&&!this.hasState("disabled")&&this.addState("disabled")},hasState:function(a){return b.hasClass(this.getStateDom(),"edui-state-"+a)},addState:function(a){this.hasState(a)||(this.getStateDom().className+=" edui-state-"+a)},removeState:function(a){this.hasState(a)&&b.removeClasses(this.getStateDom(),["edui-state-"+a])},getStateDom:function(){return this.getDom("state")},isChecked:function(){return this.hasState("checked")},setChecked:function(a){!this.isDisabled()&&a?this.addState("checked"):this.removeState("checked")},isDisabled:function(){return this.hasState("disabled")},setDisabled:function(a){a?(this.removeState("hover"),this.removeState("checked"),this.removeState("active"),this.addState("disabled")):this.removeState("disabled")}}}(),function(){var a=baidu.editor.utils,b=baidu.editor.ui.UIBase,c=baidu.editor.ui.Stateful,d=baidu.editor.ui.Button=function(a){if(a.name){var b=a.name,c=a.cssRules;a.className||(a.className="edui-for-"+b),a.cssRules=".edui-default .edui-for-"+b+" .edui-icon {"+c+"}"}this.initOptions(a),this.initButton()};d.prototype={uiName:"button",label:"",title:"",showIcon:!0,showText:!0,cssRules:"",initButton:function(){this.initUIBase(),this.Stateful_init(),this.cssRules&&a.cssRule("edui-customize-"+this.name+"-style",this.cssRules)},getHtmlTpl:function(){return'
    '+(this.showIcon?'
    ':"")+(this.showText?'
    '+this.label+"
    ":"")+"
    "},postRender:function(){this.Stateful_postRender(),this.setDisabled(this.disabled)},_onMouseDown:function(a){var b=a.target||a.srcElement,c=b&&b.tagName&&b.tagName.toLowerCase();if("input"==c||"object"==c||"object"==c)return!1},_onClick:function(){this.isDisabled()||this.fireEvent("click")},setTitle:function(a){var b=this.getDom("label");b.innerHTML=a}},a.inherits(d,b),a.extend(d.prototype,c)}(),function(){var a=baidu.editor.utils,b=baidu.editor.ui.uiUtils,c=(baidu.editor.dom.domUtils,baidu.editor.ui.UIBase),d=baidu.editor.ui.Stateful,e=baidu.editor.ui.SplitButton=function(a){this.initOptions(a),this.initSplitButton()};e.prototype={popup:null,uiName:"splitbutton",title:"",initSplitButton:function(){this.initUIBase(),this.Stateful_init();if(null!=this.popup){var a=this.popup;this.popup=null,this.setPopup(a)}},_UIBase_postRender:c.prototype.postRender,postRender:function(){this.Stateful_postRender(),this._UIBase_postRender()},setPopup:function(c){this.popup!==c&&(null!=this.popup&&this.popup.dispose(),c.addListener("show",a.bind(this._onPopupShow,this)),c.addListener("hide",a.bind(this._onPopupHide,this)),c.addListener("postrender",a.bind(function(){c.getDom("body").appendChild(b.createElementByHtml('
    ')),c.getDom().className+=" "+this.className},this)),this.popup=c)},_onPopupShow:function(){this.addState("opened")},_onPopupHide:function(){this.removeState("opened")},getHtmlTpl:function(){return'
    '},showPopup:function(){var a=b.getClientRect(this.getDom());a.top-=this.popup.SHADOW_RADIUS,a.height+=this.popup.SHADOW_RADIUS,this.popup.showAnchorRect(a)},_onArrowClick:function(a,b){this.isDisabled()||this.showPopup()},_onButtonClick:function(){this.isDisabled()||this.fireEvent("buttonclick")}},a.inherits(e,c),a.extend(e.prototype,d,!0)}(),function(){var a=baidu.editor.utils,b=baidu.editor.ui.uiUtils,c=baidu.editor.ui.ColorPicker,d=baidu.editor.ui.Popup,e=baidu.editor.ui.SplitButton,f=baidu.editor.ui.ColorButton=function(a){this.initOptions(a),this.initColorButton()};f.prototype={initColorButton:function(){var a=this;this.popup=new d({content:new c({noColorText:a.editor.getLang("clearColor"),editor:a.editor,onpickcolor:function(b,c){a._onPickColor(c)},onpicknocolor:function(b,c){a._onPickNoColor(c)}}),editor:a.editor}),this.initSplitButton()},_SplitButton_postRender:e.prototype.postRender,postRender:function(){this._SplitButton_postRender(),this.getDom("button_body").appendChild(b.createElementByHtml('
    ')),this.getDom().className+=" edui-colorbutton"; -},setColor:function(a){this.getDom("colorlump").style.backgroundColor=a,this.color=a},_onPickColor:function(a){this.fireEvent("pickcolor",a)!==!1&&(this.setColor(a),this.popup.hide())},_onPickNoColor:function(a){this.fireEvent("picknocolor")!==!1&&this.popup.hide()}},a.inherits(f,e)}(),function(){var a=baidu.editor.utils,b=baidu.editor.ui.Popup,c=baidu.editor.ui.TablePicker,d=baidu.editor.ui.SplitButton,e=baidu.editor.ui.TableButton=function(a){this.initOptions(a),this.initTableButton()};e.prototype={initTableButton:function(){var a=this;this.popup=new b({content:new c({editor:a.editor,onpicktable:function(b,c,d){a._onPickTable(c,d)}}),editor:a.editor}),this.initSplitButton()},_onPickTable:function(a,b){this.fireEvent("picktable",a,b)!==!1&&this.popup.hide()}},a.inherits(e,d)}(),function(){var a=baidu.editor.utils,b=baidu.editor.ui.UIBase,c=baidu.editor.ui.AutoTypeSetPicker=function(a){this.initOptions(a),this.initAutoTypeSetPicker()};c.prototype={initAutoTypeSetPicker:function(){this.initUIBase()},getHtmlTpl:function(){var a=this.editor,b=a.options.autotypeset,c=a.getLang("autoTypeSet"),d="textAlignValue"+a.uid,e="imageBlockLineValue"+a.uid,f="symbolConverValue"+a.uid;return'
    "+c.mergeLine+'"+c.delLine+'
    "+c.removeFormat+'"+c.indent+'
    "+c.alignment+'"+a.getLang("justifyleft")+'"+a.getLang("justifycenter")+'"+a.getLang("justifyright")+'
    "+c.imageFloat+'"+a.getLang("default")+'"+a.getLang("justifyleft")+'"+a.getLang("justifycenter")+'"+a.getLang("justifyright")+'
    "+c.removeFontsize+'"+c.removeFontFamily+'
    "+c.removeHtml+'
    "+c.pasteFilter+'
    "+c.symbol+'"+c.bdc2sb+'"+c.tobdc+'
    "},_UIBase_render:b.prototype.render},a.inherits(c,b)}(),function(){function a(a){for(var c,d={},e=a.getDom(),f=a.editor.uid,g=null,h=null,i=domUtils.getElementsByTagName(e,"input"),j=i.length-1;c=i[j--];)if(g=c.getAttribute("type"),"checkbox"==g)if(h=c.getAttribute("name"),d[h]&&delete d[h],c.checked){var k=document.getElementById(h+"Value"+f);if(k){if(/input/gi.test(k.tagName))d[h]=k.value;else for(var l,m=k.getElementsByTagName("input"),n=m.length-1;l=m[n--];)if(l.checked){d[h]=l.value;break}}else d[h]=!0}else d[h]=!1;else d[c.getAttribute("value")]=c.checked;for(var o,p=domUtils.getElementsByTagName(e,"select"),j=0;o=p[j++];){var q=o.getAttribute("name");d[q]=d[q]?o.value:""}b.extend(a.editor.options.autotypeset,d),a.editor.setPreferences("autotypeset",d)}var b=baidu.editor.utils,c=baidu.editor.ui.Popup,d=baidu.editor.ui.AutoTypeSetPicker,e=baidu.editor.ui.SplitButton,f=baidu.editor.ui.AutoTypeSetButton=function(a){this.initOptions(a),this.initAutoTypeSetButton()};f.prototype={initAutoTypeSetButton:function(){var b=this;this.popup=new c({content:new d({editor:b.editor}),editor:b.editor,hide:function(){!this._hidden&&this.getDom()&&(a(this),this.getDom().style.display="none",this._hidden=!0,this.fireEvent("hide"))}});var e=0;this.popup.addListener("postRenderAfter",function(){var c=this;if(!e){var d=this.getDom(),f=d.getElementsByTagName("button")[0];f.onclick=function(){a(c),b.editor.execCommand("autotypeset"),c.hide()},domUtils.on(d,"click",function(d){var e=d.target||d.srcElement,f=b.editor.uid;if(e&&"INPUT"==e.tagName){if("imageBlockLine"==e.name||"textAlign"==e.name||"symbolConver"==e.name)for(var g=e.checked,h=document.getElementById(e.name+"Value"+f),i=h.getElementsByTagName("input"),j={imageBlockLine:"none",textAlign:"left",symbolConver:"tobdc"},k=0;k"),e.push('
    '),2===d&&e.push("");return'
    '+e.join("")+"
    "},getStateDom:function(){return this.target},_onClick:function(a){var c=a.target||a.srcElement;/icon/.test(c.className)&&(this.items[c.parentNode.getAttribute("index")].onclick(),b.postHide(a))},_UIBase_render:d.prototype.render},a.inherits(e,d),a.extend(e.prototype,c,!0)}(),function(){var a=baidu.editor.utils,b=baidu.editor.ui.Stateful,c=baidu.editor.ui.uiUtils,d=baidu.editor.ui.UIBase,e=baidu.editor.ui.PastePicker=function(a){this.initOptions(a),this.initPastePicker()};e.prototype={initPastePicker:function(){this.initUIBase(),this.Stateful_init()},getHtmlTpl:function(){return'
    '+this.editor.getLang("pasteOpt")+'
    '},getStateDom:function(){return this.target},format:function(a){this.editor.ui._isTransfer=!0,this.editor.fireEvent("pasteTransfer",a)},_onClick:function(a){var b=domUtils.getNextDomNode(a),d=c.getViewportRect().height,e=c.getClientRect(b);e.top+e.height>d?b.style.top=-e.height-a.offsetHeight+"px":b.style.top="",/hidden/gi.test(domUtils.getComputedStyle(b,"visibility"))?(b.style.visibility="visible",domUtils.addClass(a,"edui-state-opened")):(b.style.visibility="hidden",domUtils.removeClasses(a,"edui-state-opened"))},_UIBase_render:d.prototype.render},a.inherits(e,d),a.extend(e.prototype,b,!0)}(),function(){var a=baidu.editor.utils,b=baidu.editor.ui.uiUtils,c=baidu.editor.ui.UIBase,d=baidu.editor.ui.Toolbar=function(a){this.initOptions(a),this.initToolbar()};d.prototype={items:null,initToolbar:function(){this.items=this.items||[],this.initUIBase()},add:function(a,b){void 0===b?this.items.push(a):this.items.splice(b,0,a)},getHtmlTpl:function(){for(var a=[],b=0;b'+a.join("")+""},postRender:function(){for(var a=this.getDom(),c=0;c
    '},postRender:function(){},queryAutoHide:function(){return!0}};h.prototype={items:null,uiName:"menu",initMenu:function(){this.items=this.items||[],this.initPopup(),this.initItems()},initItems:function(){for(var a=0;a'+a.join("")+""},_Popup_postRender:e.prototype.postRender,postRender:function(){for(var a=this,d=0;d
    '+this.renderLabelHtml()+"
    "},postRender:function(){var a=this;this.addListener("over",function(){a.ownerMenu.fireEvent("submenuover",a),a.subMenu&&a.delayShowSubMenu()}),this.subMenu&&(this.getDom().className+=" edui-hassubmenu",this.subMenu.render(),this.addListener("out",function(){a.delayHideSubMenu()}),this.subMenu.addListener("over",function(){clearTimeout(a._closingTimer),a._closingTimer=null,a.addState("opened")}),this.ownerMenu.addListener("hide",function(){a.hideSubMenu()}),this.ownerMenu.addListener("submenuover",function(b,c){c!==a&&a.delayHideSubMenu()}),this.subMenu._bakQueryAutoHide=this.subMenu.queryAutoHide,this.subMenu.queryAutoHide=function(b){return(!b||!c.contains(a.getDom(),b))&&this._bakQueryAutoHide(b)}),this.getDom().style.tabIndex="-1",c.makeUnselectable(this.getDom()),this.Stateful_postRender()},delayShowSubMenu:function(){var a=this;a.isDisabled()||(a.addState("opened"),clearTimeout(a._showingTimer),clearTimeout(a._closingTimer),a._closingTimer=null,a._showingTimer=setTimeout(function(){a.showSubMenu()},250))},delayHideSubMenu:function(){var a=this;a.isDisabled()||(a.removeState("opened"),clearTimeout(a._showingTimer),a._closingTimer||(a._closingTimer=setTimeout(function(){a.hasState("opened")||a.hideSubMenu(),a._closingTimer=null},400)))},renderLabelHtml:function(){return'
    '+(this.label||"")+"
    "},getStateDom:function(){return this.getDom()},queryAutoHide:function(a){if(this.subMenu&&this.hasState("opened"))return this.subMenu.queryAutoHide(a)},_onClick:function(a,b){this.hasState("disabled")||this.fireEvent("click",a,b)!==!1&&(this.subMenu?this.showSubMenu():e.postHide(a))},showSubMenu:function(){var a=c.getClientRect(this.getDom());a.right-=5,a.left+=2,a.width-=7,a.top-=4,a.bottom+=4,a.height+=8,this.subMenu.showAnchorRect(a,!0,!0)},hideSubMenu:function(){this.subMenu.hide()}},a.inherits(j,d),a.extend(j.prototype,f,!0)}(),function(){var a=baidu.editor.utils,b=baidu.editor.ui.uiUtils,c=baidu.editor.ui.Menu,d=baidu.editor.ui.SplitButton,e=baidu.editor.ui.Combox=function(a){this.initOptions(a),this.initCombox()};e.prototype={uiName:"combox",onbuttonclick:function(){this.showPopup()},initCombox:function(){var a=this;this.items=this.items||[];for(var b=0;bd.right&&(g=d.right-e.width);var h=a.top;h+e.height>d.bottom&&(h=d.bottom-e.height),c.style.left=Math.max(g,0)+"px",c.style.top=Math.max(h,0)+"px"},showAtCenter:function(){var a=f.getViewportRect();if(this.fullscreen){var b=this.getDom(),c=this.getDom("content");b.style.display="block";var d=UE.ui.uiUtils.getClientRect(b),g=UE.ui.uiUtils.getClientRect(c);b.style.left="-100000px",c.style.width=a.width-d.width+g.width+"px",c.style.height=a.height-d.height+g.height+"px",b.style.width=a.width+"px",b.style.height=a.height+"px",b.style.left=0,this._originalContext={html:{overflowX:document.documentElement.style.overflowX,overflowY:document.documentElement.style.overflowY},body:{overflowX:document.body.style.overflowX,overflowY:document.body.style.overflowY}},document.documentElement.style.overflowX="hidden",document.documentElement.style.overflowY="hidden",document.body.style.overflowX="hidden",document.body.style.overflowY="hidden"}else{this.getDom().style.display="";var h=this.fitSize(),i=0|this.getDom("titlebar").offsetHeight,j=a.width/2-h.width/2,k=a.height/2-(h.height-i)/2-i,l=this.getDom();this.safeSetOffset({left:Math.max(0|j,0),top:Math.max(0|k,0)}),e.hasClass(l,"edui-state-centered")||(l.className+=" edui-state-centered")}this._show()},getContentHtml:function(){var a="";return"string"==typeof this.content?a=this.content:this.iframeUrl&&(a=''),a},getHtmlTpl:function(){var a="";if(this.buttons){for(var b=[],c=0;c
    '+b.join("")+"
    "}return'
    '+(this.title||"")+"
    "+this.closeButton.renderHtml()+'
    '+(this.autoReset?"":this.getContentHtml())+"
    "+a+"
    "},postRender:function(){this.modalMask.getDom()||(this.modalMask.render(),this.modalMask.hide()),this.dragMask.getDom()||(this.dragMask.render(),this.dragMask.hide());var a=this;if(this.addListener("show",function(){a.modalMask.show(this.getDom().style.zIndex-2)}),this.addListener("hide",function(){a.modalMask.hide()}),this.buttons)for(var b=0;b',a.editor.container.style.zIndex&&(this.getDom().style.zIndex=1*a.editor.container.style.zIndex+1))}}),this.onbuttonclick=function(){this.showPopup()},this.initSplitButton()}},a.inherits(d,c)}(),function(){function a(a){var b=a.target||a.srcElement,c=g.findParent(b,function(a){return g.hasClass(a,"edui-shortcutmenu")||g.hasClass(a,"edui-popup")},!0);if(!c)for(var d,e=0;d=h[e++];)d.hide()}var b,c=baidu.editor.ui,d=c.UIBase,e=c.uiUtils,f=baidu.editor.utils,g=baidu.editor.dom.domUtils,h=[],i=!1,j=c.ShortCutMenu=function(a){this.initOptions(a),this.initShortCutMenu()};j.postHide=a,j.prototype={isHidden:!0,SPACE:5,initShortCutMenu:function(){this.items=this.items||[],this.initUIBase(),this.initItems(),this.initEvent(),h.push(this)},initEvent:function(){var a=this,c=a.editor.document;g.on(c,"mousemove",function(c){if(a.isHidden===!1){if(a.getSubMenuMark()||"contextmenu"==a.eventType)return;var d=!0,e=a.getDom(),f=e.offsetWidth,g=e.offsetHeight,h=f/2+a.SPACE,i=g/2,j=Math.abs(c.screenX-a.left),k=Math.abs(c.screenY-a.top);clearTimeout(b),b=setTimeout(function(){k>0&&ki&&ki+70&&k0&&jh&&jh+70&&j'+a+""}},f.inherits(j,d),g.on(document,"mousedown",function(b){a(b)}),g.on(window,"scroll",function(b){a(b)})}(),function(){var a=baidu.editor.utils,b=baidu.editor.ui.UIBase,c=baidu.editor.ui.Breakline=function(a){this.initOptions(a),this.initSeparator()};c.prototype={uiName:"Breakline",initSeparator:function(){this.initUIBase()},getHtmlTpl:function(){return"
    "}},a.inherits(c,b)}(),function(){var a=baidu.editor.utils,b=baidu.editor.dom.domUtils,c=baidu.editor.ui.UIBase,d=baidu.editor.ui.Message=function(a){this.initOptions(a),this.initMessage()};d.prototype={initMessage:function(){this.initUIBase()},getHtmlTpl:function(){return'
    ×
    '},reset:function(a){var b=this;a.keepshow||(clearTimeout(this.timer),b.timer=setTimeout(function(){b.hide()},a.timeout||4e3)),void 0!==a.content&&b.setContent(a.content),void 0!==a.type&&b.setType(a.type),b.show()},postRender:function(){var a=this,c=this.getDom("closer");c&&b.on(c,"click",function(){a.hide()})},setContent:function(a){this.getDom("content").innerHTML=a},setType:function(a){a=a||"info";var b=this.getDom("body");b.className=b.className.replace(/edui-message-type-[\w-]+/,"edui-message-type-"+a)},getContent:function(){return this.getDom("content").innerHTML},getType:function(){var a=this.getDom("body").match(/edui-message-type-([\w-]+)/);return a?a[1]:""},show:function(){this.getDom().style.display="block"},hide:function(){var a=this.getDom();a&&(a.style.display="none",a.parentNode&&a.parentNode.removeChild(a))}},a.inherits(d,c)}(),function(){var a=baidu.editor.utils,b=baidu.editor.ui,c=b.Dialog;b.buttons={},b.Dialog=function(a){var b=new c(a);return b.addListener("hide",function(){if(b.editor){var a=b.editor;try{if(browser.gecko){var c=a.window.scrollY,d=a.window.scrollX;a.body.focus(),a.window.scrollTo(d,c)}else a.focus()}catch(e){}}}),b};for(var d,e={anchor:"~/dialogs/anchor/anchor.html",insertimage:"~/dialogs/image/image.html",link:"~/dialogs/link/link.html",spechars:"~/dialogs/spechars/spechars.html",searchreplace:"~/dialogs/searchreplace/searchreplace.html",map:"~/dialogs/map/map.html",gmap:"~/dialogs/gmap/gmap.html",insertvideo:"~/dialogs/video/video.html",help:"~/dialogs/help/help.html",preview:"~/dialogs/preview/preview.html",emotion:"~/dialogs/emotion/emotion.html",wordimage:"~/dialogs/wordimage/wordimage.html",attachment:"~/dialogs/attachment/attachment.html",insertframe:"~/dialogs/insertframe/insertframe.html",edittip:"~/dialogs/table/edittip.html",edittable:"~/dialogs/table/edittable.html",edittd:"~/dialogs/table/edittd.html",webapp:"~/dialogs/webapp/webapp.html",snapscreen:"~/dialogs/snapscreen/snapscreen.html",scrawl:"~/dialogs/scrawl/scrawl.html",music:"~/dialogs/music/music.html",template:"~/dialogs/template/template.html",background:"~/dialogs/background/background.html",charts:"~/dialogs/charts/charts.html"},f=["undo","redo","formatmatch","bold","italic","underline","fontborder","touppercase","tolowercase","strikethrough","subscript","superscript","source","indent","outdent","blockquote","pasteplain","pagebreak","selectall","print","horizontal","removeformat","time","date","unlink","insertparagraphbeforetable","insertrow","insertcol","mergeright","mergedown","deleterow","deletecol","splittorows","splittocols","splittocells","mergecells","deletetable","drafts"],g=0;d=f[g++];)d=d.toLowerCase(),b[d]=function(a){return function(c){var d=new b.Button({className:"edui-for-"+a,title:c.options.labelMap[a]||c.getLang("labelMap."+a)||"",onclick:function(){c.execCommand(a)},theme:c.options.theme,showText:!1});return b.buttons[a]=d,c.addListener("selectionchange",function(b,e,f){var g=c.queryCommandState(a);g==-1?(d.setDisabled(!0),d.setChecked(!1)):f||(d.setDisabled(!1),d.setChecked(g))}),d}}(d);b.cleardoc=function(a){var c=new b.Button({className:"edui-for-cleardoc",title:a.options.labelMap.cleardoc||a.getLang("labelMap.cleardoc")||"",theme:a.options.theme,onclick:function(){confirm(a.getLang("confirmClear"))&&a.execCommand("cleardoc")}});return b.buttons.cleardoc=c,a.addListener("selectionchange",function(){c.setDisabled(a.queryCommandState("cleardoc")==-1)}),c};var h={justify:["left","right","center","justify"],imagefloat:["none","left","center","right"],directionality:["ltr","rtl"]};for(var i in h)!function(a,c){for(var d,e=0;d=c[e++];)!function(c){b[a.replace("float","")+c]=function(d){var e=new b.Button({ -className:"edui-for-"+a.replace("float","")+c,title:d.options.labelMap[a.replace("float","")+c]||d.getLang("labelMap."+a.replace("float","")+c)||"",theme:d.options.theme,onclick:function(){d.execCommand(a,c)}});return b.buttons[a]=e,d.addListener("selectionchange",function(b,f,g){e.setDisabled(d.queryCommandState(a)==-1),e.setChecked(d.queryCommandValue(a)==c&&!g)}),e}}(d)}(i,h[i]);for(var d,g=0;d=["backcolor","forecolor"][g++];)b[d]=function(a){return function(c){var d=new b.ColorButton({className:"edui-for-"+a,color:"default",title:c.options.labelMap[a]||c.getLang("labelMap."+a)||"",editor:c,onpickcolor:function(b,d){c.execCommand(a,d)},onpicknocolor:function(){c.execCommand(a,"default"),this.setColor("transparent"),this.color="default"},onbuttonclick:function(){c.execCommand(a,this.color)}});return b.buttons[a]=d,c.addListener("selectionchange",function(){d.setDisabled(c.queryCommandState(a)==-1)}),d}}(d);var j={noOk:["searchreplace","help","spechars","webapp","preview"],ok:["attachment","anchor","link","insertimage","map","gmap","insertframe","wordimage","insertvideo","insertframe","edittip","edittable","edittd","scrawl","template","music","background","charts"]};for(var i in j)!function(c,d){for(var f,g=0;f=d[g++];)browser.opera&&"searchreplace"===f||!function(d){b[d]=function(f,g,h){g=g||(f.options.iframeUrlMap||{})[d]||e[d],h=f.options.labelMap[d]||f.getLang("labelMap."+d)||"";var i;g&&(i=new b.Dialog(a.extend({iframeUrl:f.ui.mapUrl(g),editor:f,className:"edui-for-"+d,title:h,holdScroll:"insertimage"===d,fullscreen:/charts|preview/.test(d),closeDialog:f.getLang("closeDialog")},"ok"==c?{buttons:[{className:"edui-okbutton",label:f.getLang("ok"),editor:f,onclick:function(){i.close(!0)}},{className:"edui-cancelbutton",label:f.getLang("cancel"),editor:f,onclick:function(){i.close(!1)}}]}:{})),f.ui._dialogs[d+"Dialog"]=i);var j=new b.Button({className:"edui-for-"+d,title:h,onclick:function(){if(i)switch(d){case"wordimage":var a=f.execCommand("wordimage");a&&a.length&&(i.render(),i.open());break;case"scrawl":f.queryCommandState("scrawl")!=-1&&(i.render(),i.open());break;default:i.render(),i.open()}},theme:f.options.theme,disabled:"scrawl"==d&&f.queryCommandState("scrawl")==-1||"charts"==d});return b.buttons[d]=j,f.addListener("selectionchange",function(){var a={edittable:1};if(!(d in a)){var b=f.queryCommandState(d);j.getDom()&&(j.setDisabled(b==-1),j.setChecked(b))}}),j}}(f.toLowerCase())}(i,j[i]);b.snapscreen=function(a,c,d){d=a.options.labelMap.snapscreen||a.getLang("labelMap.snapscreen")||"";var f=new b.Button({className:"edui-for-snapscreen",title:d,onclick:function(){a.execCommand("snapscreen")},theme:a.options.theme});if(b.buttons.snapscreen=f,c=c||(a.options.iframeUrlMap||{}).snapscreen||e.snapscreen){var g=new b.Dialog({iframeUrl:a.ui.mapUrl(c),editor:a,className:"edui-for-snapscreen",title:d,buttons:[{className:"edui-okbutton",label:a.getLang("ok"),editor:a,onclick:function(){g.close(!0)}},{className:"edui-cancelbutton",label:a.getLang("cancel"),editor:a,onclick:function(){g.close(!1)}}]});g.render(),a.ui._dialogs.snapscreenDialog=g}return a.addListener("selectionchange",function(){f.setDisabled(a.queryCommandState("snapscreen")==-1)}),f},b.insertcode=function(c,d,e){d=c.options.insertcode||[],e=c.options.labelMap.insertcode||c.getLang("labelMap.insertcode")||"";var f=[];a.each(d,function(a,b){f.push({label:a,value:b,theme:c.options.theme,renderLabelHtml:function(){return'
    '+(this.label||"")+"
    "}})});var g=new b.Combox({editor:c,items:f,onselect:function(a,b){c.execCommand("insertcode",this.items[b].value)},onbuttonclick:function(){this.showPopup()},title:e,initValue:e,className:"edui-for-insertcode",indexByValue:function(a){if(a)for(var b,c=0;b=this.items[c];c++)if(b.value.indexOf(a)!=-1)return c;return-1}});return b.buttons.insertcode=g,c.addListener("selectionchange",function(a,b,d){if(!d){var f=c.queryCommandState("insertcode");if(f==-1)g.setDisabled(!0);else{g.setDisabled(!1);var h=c.queryCommandValue("insertcode");if(!h)return void g.setValue(e);h&&(h=h.replace(/['"]/g,"").split(",")[0]),g.setValue(h)}}}),g},b.fontfamily=function(c,d,e){if(d=c.options.fontfamily||[],e=c.options.labelMap.fontfamily||c.getLang("labelMap.fontfamily")||"",d.length){for(var f,g=0,h=[];f=d[g];g++){var i=c.getLang("fontfamily")[f.name]||"";!function(b,d){h.push({label:b,value:d,theme:c.options.theme,renderLabelHtml:function(){return'
    '+(this.label||"")+"
    "}})}(f.label||i,f.val)}var j=new b.Combox({editor:c,items:h,onselect:function(a,b){c.execCommand("FontFamily",this.items[b].value)},onbuttonclick:function(){this.showPopup()},title:e,initValue:e,className:"edui-for-fontfamily",indexByValue:function(a){if(a)for(var b,c=0;b=this.items[c];c++)if(b.value.indexOf(a)!=-1)return c;return-1}});return b.buttons.fontfamily=j,c.addListener("selectionchange",function(a,b,d){if(!d){var e=c.queryCommandState("FontFamily");if(e==-1)j.setDisabled(!0);else{j.setDisabled(!1);var f=c.queryCommandValue("FontFamily");f&&(f=f.replace(/['"]/g,"").split(",")[0]),j.setValue(f)}}}),j}},b.fontsize=function(a,c,d){if(d=a.options.labelMap.fontsize||a.getLang("labelMap.fontsize")||"",c=c||a.options.fontsize||[],c.length){for(var e=[],f=0;f'+(this.label||"")+""}})}var h=new b.Combox({editor:a,items:e,title:d,initValue:d,onselect:function(b,c){a.execCommand("FontSize",this.items[c].value)},onbuttonclick:function(){this.showPopup()},className:"edui-for-fontsize"});return b.buttons.fontsize=h,a.addListener("selectionchange",function(b,c,d){if(!d){var e=a.queryCommandState("FontSize");e==-1?h.setDisabled(!0):(h.setDisabled(!1),h.setValue(a.queryCommandValue("FontSize")))}}),h}},b.paragraph=function(c,d,e){if(e=c.options.labelMap.paragraph||c.getLang("labelMap.paragraph")||"",d=c.options.paragraph||[],!a.isEmptyObject(d)){var f=[];for(var g in d)f.push({value:g,label:d[g]||c.getLang("paragraph")[g],theme:c.options.theme,renderLabelHtml:function(){return'
    '+(this.label||"")+"
    "}});var h=new b.Combox({editor:c,items:f,title:e,initValue:e,className:"edui-for-paragraph",onselect:function(a,b){c.execCommand("Paragraph",this.items[b].value)},onbuttonclick:function(){this.showPopup()}});return b.buttons.paragraph=h,c.addListener("selectionchange",function(a,b,d){if(!d){var e=c.queryCommandState("Paragraph");if(e==-1)h.setDisabled(!0);else{h.setDisabled(!1);var f=c.queryCommandValue("Paragraph"),g=h.indexByValue(f);g!=-1?h.setValue(f):h.setValue(h.initValue)}}}),h}},b.customstyle=function(a){var c=a.options.customstyle||[],d=a.options.labelMap.customstyle||a.getLang("labelMap.customstyle")||"";if(c.length){for(var e,f=a.getLang("customstyle"),g=0,h=[];e=c[g++];)!function(b){var c={};c.label=b.label?b.label:f[b.name],c.style=b.style,c.className=b.className,c.tag=b.tag,h.push({label:c.label,value:c,theme:a.options.theme,renderLabelHtml:function(){return'
    <'+c.tag+" "+(c.className?' class="'+c.className+'"':"")+(c.style?' style="'+c.style+'"':"")+">"+c.label+"
    "}})}(e);var i=new b.Combox({editor:a,items:h,title:d,initValue:d,className:"edui-for-customstyle",onselect:function(b,c){a.execCommand("customstyle",this.items[c].value)},onbuttonclick:function(){this.showPopup()},indexByValue:function(a){for(var b,c=0;b=this.items[c++];)if(b.label==a)return c-1;return-1}});return b.buttons.customstyle=i,a.addListener("selectionchange",function(b,c,d){if(!d){var e=a.queryCommandState("customstyle");if(e==-1)i.setDisabled(!0);else{i.setDisabled(!1);var f=a.queryCommandValue("customstyle"),g=i.indexByValue(f);g!=-1?i.setValue(f):i.setValue(i.initValue)}}}),i}},b.inserttable=function(a,c,d){d=a.options.labelMap.inserttable||a.getLang("labelMap.inserttable")||"";var e=new b.TableButton({editor:a,title:d,className:"edui-for-inserttable",onpicktable:function(b,c,d){a.execCommand("InsertTable",{numRows:d,numCols:c,border:1})},onbuttonclick:function(){this.showPopup()}});return b.buttons.inserttable=e,a.addListener("selectionchange",function(){e.setDisabled(a.queryCommandState("inserttable")==-1)}),e},b.lineheight=function(a){var c=a.options.lineheight||[];if(c.length){for(var d,e=0,f=[];d=c[e++];)f.push({label:d,value:d,theme:a.options.theme,onclick:function(){a.execCommand("lineheight",this.value)}});var g=new b.MenuButton({editor:a,className:"edui-for-lineheight",title:a.options.labelMap.lineheight||a.getLang("labelMap.lineheight")||"",items:f,onbuttonclick:function(){var b=a.queryCommandValue("LineHeight")||this.value;a.execCommand("LineHeight",b)}});return b.buttons.lineheight=g,a.addListener("selectionchange",function(){var b=a.queryCommandState("LineHeight");if(b==-1)g.setDisabled(!0);else{g.setDisabled(!1);var c=a.queryCommandValue("LineHeight");c&&g.setValue((c+"").replace(/cm/,"")),g.setChecked(b)}}),g}};for(var k,l=["top","bottom"],m=0;k=l[m++];)!function(a){b["rowspacing"+a]=function(c){var d=c.options["rowspacing"+a]||[];if(!d.length)return null;for(var e,f=0,g=[];e=d[f++];)g.push({label:e,value:e,theme:c.options.theme,onclick:function(){c.execCommand("rowspacing",this.value,a)}});var h=new b.MenuButton({editor:c,className:"edui-for-rowspacing"+a,title:c.options.labelMap["rowspacing"+a]||c.getLang("labelMap.rowspacing"+a)||"",items:g,onbuttonclick:function(){var b=c.queryCommandValue("rowspacing",a)||this.value;c.execCommand("rowspacing",b,a)}});return b.buttons[a]=h,c.addListener("selectionchange",function(){var b=c.queryCommandState("rowspacing",a);if(b==-1)h.setDisabled(!0);else{h.setDisabled(!1);var d=c.queryCommandValue("rowspacing",a);d&&h.setValue((d+"").replace(/%/,"")),h.setChecked(b)}}),h}}(k);for(var n,o=["insertorderedlist","insertunorderedlist"],p=0;n=o[p++];)!function(a){b[a]=function(c){var d=c.options[a],e=function(){c.execCommand(a,this.value)},f=[];for(var g in d)f.push({label:d[g]||c.getLang()[a][g]||"",value:g,theme:c.options.theme,onclick:e});var h=new b.MenuButton({editor:c,className:"edui-for-"+a,title:c.getLang("labelMap."+a)||"",items:f,onbuttonclick:function(){var b=c.queryCommandValue(a)||this.value;c.execCommand(a,b)}});return b.buttons[a]=h,c.addListener("selectionchange",function(){var b=c.queryCommandState(a);if(b==-1)h.setDisabled(!0);else{h.setDisabled(!1);var d=c.queryCommandValue(a);h.setValue(d),h.setChecked(b)}}),h}}(n);b.fullscreen=function(a,c){c=a.options.labelMap.fullscreen||a.getLang("labelMap.fullscreen")||"";var d=new b.Button({className:"edui-for-fullscreen",title:c,theme:a.options.theme,onclick:function(){a.ui&&a.ui.setFullScreen(!a.ui.isFullScreen()),this.setChecked(a.ui.isFullScreen())}});return b.buttons.fullscreen=d,a.addListener("selectionchange",function(){var b=a.queryCommandState("fullscreen");d.setDisabled(b==-1),d.setChecked(a.ui.isFullScreen())}),d},b.emotion=function(a,c){var d="emotion",f=new b.MultiMenuPop({title:a.options.labelMap[d]||a.getLang("labelMap."+d)||"",editor:a,className:"edui-for-"+d,iframeUrl:a.ui.mapUrl(c||(a.options.iframeUrlMap||{})[d]||e[d])});return b.buttons[d]=f,a.addListener("selectionchange",function(){f.setDisabled(a.queryCommandState(d)==-1)}),f},b.autotypeset=function(a){var c=new b.AutoTypeSetButton({editor:a,title:a.options.labelMap.autotypeset||a.getLang("labelMap.autotypeset")||"",className:"edui-for-autotypeset",onbuttonclick:function(){a.execCommand("autotypeset")}});return b.buttons.autotypeset=c,a.addListener("selectionchange",function(){c.setDisabled(a.queryCommandState("autotypeset")==-1)}),c},b.simpleupload=function(a){var c="simpleupload",d=new b.Button({className:"edui-for-"+c,title:a.options.labelMap[c]||a.getLang("labelMap."+c)||"",onclick:function(){},theme:a.options.theme,showText:!1});return b.buttons[c]=d,a.addListener("ready",function(){var b=d.getDom("body"),c=b.children[0];a.fireEvent("simpleuploadbtnready",c)}),a.addListener("selectionchange",function(b,e,f){var g=a.queryCommandState(c);g==-1?(d.setDisabled(!0),d.setChecked(!1)):f||(d.setDisabled(!1),d.setChecked(g))}),d}}(),function(){function a(a){this.initOptions(a),this.initEditorUI()}var b=baidu.editor.utils,c=baidu.editor.ui.uiUtils,d=baidu.editor.ui.UIBase,e=baidu.editor.dom.domUtils,f=[];a.prototype={uiName:"editor",initEditorUI:function(){function a(a,b){a.setOpt({wordCount:!0,maximumWords:1e4,wordCountMsg:a.options.wordCountMsg||a.getLang("wordCountMsg"),wordOverFlowMsg:a.options.wordOverFlowMsg||a.getLang("wordOverFlowMsg")});var c=a.options,d=c.maximumWords,e=c.wordCountMsg,f=c.wordOverFlowMsg,g=b.getDom("wordcount");if(c.wordCount){var h=a.getContentLength(!0);h>d?(g.innerHTML=f,a.fireEvent("wordcountoverflow")):g.innerHTML=e.replace("{#leave}",d-h).replace("{#count}",h)}}this.editor.ui=this,this._dialogs={},this.initUIBase(),this._initToolbars();var b=this.editor,c=this;b.addListener("ready",function(){function d(){a(b,c),e.un(b.document,"click",arguments.callee)}b.getDialog=function(a){return b.ui._dialogs[a+"Dialog"]},e.on(b.window,"scroll",function(a){baidu.editor.ui.Popup.postHide(a)}),b.ui._actualFrameWidth=b.options.initialFrameWidth,UE.browser.ie&&6===UE.browser.version&&b.container.ownerDocument.execCommand("BackgroundImageCache",!1,!0),b.options.elementPathEnabled&&(b.ui.getDom("elementpath").innerHTML='
    '+b.getLang("elementPathTip")+":
    "),b.options.wordCount&&(e.on(b.document,"click",d),b.ui.getDom("wordcount").innerHTML=b.getLang("wordCountTip")),b.ui._scale(),b.options.scaleEnabled?(b.autoHeightEnabled&&b.disableAutoHeight(),c.enableScale()):c.disableScale(),b.options.elementPathEnabled||b.options.wordCount||b.options.scaleEnabled||(b.ui.getDom("elementpath").style.display="none",b.ui.getDom("wordcount").style.display="none",b.ui.getDom("scale").style.display="none"),b.selection.isFocus()&&b.fireEvent("selectionchange",!1,!0)}),b.addListener("mousedown",function(a,b){var c=b.target||b.srcElement;baidu.editor.ui.Popup.postHide(b,c),baidu.editor.ui.ShortCutMenu.postHide(b)}),b.addListener("delcells",function(){UE.ui.edittip&&new UE.ui.edittip(b),b.getDialog("edittip").open()});var d,f,g=!1;b.addListener("afterpaste",function(){b.queryCommandState("pasteplain")||(baidu.editor.ui.PastePicker&&(d=new baidu.editor.ui.Popup({content:new baidu.editor.ui.PastePicker({editor:b}),editor:b,className:"edui-wordpastepop"}),d.render()),g=!0)}),b.addListener("afterinserthtml",function(){clearTimeout(f),f=setTimeout(function(){if(d&&(g||b.ui._isTransfer)){if(d.isHidden()){var a=e.createElement(b.document,"span",{style:"line-height:0px;",innerHTML:"\ufeff"}),c=b.selection.getRange();c.insertNode(a);var f=getDomNode(a,"firstChild","previousSibling");f&&d.showAnchor(3==f.nodeType?f.parentNode:f),e.remove(a)}else d.show();delete b.ui._isTransfer,g=!1}},200)}),b.addListener("contextmenu",function(a,b){baidu.editor.ui.Popup.postHide(b)}),b.addListener("keydown",function(a,b){d&&d.dispose(b);var c=b.keyCode||b.which;b.altKey&&90==c&&UE.ui.buttons.fullscreen.onclick()}),b.addListener("wordcount",function(b){a(this,c)}),b.addListener("selectionchange",function(){b.options.elementPathEnabled&&c[(b.queryCommandState("elementpath")==-1?"dis":"en")+"ableElementPath"](),b.options.scaleEnabled&&c[(b.queryCommandState("scale")==-1?"dis":"en")+"ableScale"]()});var h=new baidu.editor.ui.Popup({editor:b,content:"",className:"edui-bubble",_onEditButtonClick:function(){this.hide(),b.ui._dialogs.linkDialog.open()},_onImgEditButtonClick:function(a){this.hide(),b.ui._dialogs[a]&&b.ui._dialogs[a].open()},_onImgSetFloat:function(a){this.hide(),b.execCommand("imagefloat",a)},_setIframeAlign:function(a){var b=h.anchorEl,c=b.cloneNode(!0);switch(a){case-2:c.setAttribute("align","");break;case-1:c.setAttribute("align","left");break;case 1:c.setAttribute("align","right")}b.parentNode.insertBefore(c,b),e.remove(b),h.anchorEl=c,h.showAnchor(h.anchorEl)},_updateIframe:function(){var a=b._iframe=h.anchorEl;e.hasClass(a,"ueditor_baidumap")?(b.selection.getRange().selectNode(a).select(),b.ui._dialogs.mapDialog.open(),h.hide()):(b.ui._dialogs.insertframeDialog.open(),h.hide())},_onRemoveButtonClick:function(a){b.execCommand(a),this.hide()},queryAutoHide:function(a){return a&&a.ownerDocument==b.document&&("img"==a.tagName.toLowerCase()||e.findParentByTagName(a,"a",!0))?a!==h.anchorEl:baidu.editor.ui.Popup.prototype.queryAutoHide.call(this,a)}});h.render(),b.options.imagePopup&&(b.addListener("mouseover",function(a,c){c=c||window.event;var d=c.target||c.srcElement;if(b.ui._dialogs.insertframeDialog&&/iframe/gi.test(d.tagName)){var e=h.formatHtml(""+b.getLang("property")+': '+b.getLang("default")+'  '+b.getLang("justifyleft")+'  '+b.getLang("justifyright")+'   '+b.getLang("modify")+"");e?(h.getDom("content").innerHTML=e,h.anchorEl=d,h.showAnchor(h.anchorEl)):h.hide()}}),b.addListener("selectionchange",function(a,c){if(c){var d="",f="",g=b.selection.getRange().getClosedNode(),i=b.ui._dialogs;if(g&&"IMG"==g.tagName){var j="insertimageDialog";if(g.className.indexOf("edui-faked-video")==-1&&g.className.indexOf("edui-upload-video")==-1||(j="insertvideoDialog"),g.className.indexOf("edui-faked-webapp")!=-1&&(j="webappDialog"),g.src.indexOf("http://api.map.baidu.com")!=-1&&(j="mapDialog"),g.className.indexOf("edui-faked-music")!=-1&&(j="musicDialog"),g.src.indexOf("http://maps.google.com/maps/api/staticmap")!=-1&&(j="gmapDialog"),g.getAttribute("anchorname")&&(j="anchorDialog",d=h.formatHtml(""+b.getLang("property")+': '+b.getLang("modify")+"  "+b.getLang("delete")+"")),g.getAttribute("word_img")&&(b.word_img=[g.getAttribute("word_img")],j="wordimageDialog"),(e.hasClass(g,"loadingclass")||e.hasClass(g,"loaderrorclass"))&&(j=""),!i[j])return;f=""+b.getLang("property")+': '+b.getLang("default")+'  '+b.getLang("justifyleft")+'  '+b.getLang("justifyright")+'  '+b.getLang("justifycenter")+"  '+b.getLang("modify")+"",!d&&(d=h.formatHtml(f))}if(b.ui._dialogs.linkDialog){var k,l=b.queryCommandValue("link");if(l&&(k=l.getAttribute("_href")||l.getAttribute("href",2))){var m=k;k.length>30&&(m=k.substring(0,20)+"..."),d&&(d+='
    '),d+=h.formatHtml(""+b.getLang("anthorMsg")+': '+m+' '+b.getLang("modify")+' '+b.getLang("clear")+""),h.showAnchor(l)}}d?(h.getDom("content").innerHTML=d,h.anchorEl=g||l,h.showAnchor(h.anchorEl)):h.hide()}}))},_initToolbars:function(){for(var a=this.editor,c=this.toolbars||[],d=[],e=0;e
    '+(this.toolbars.length?'
    '+this.renderToolbarBoxHtml()+"
    ":"")+'
    '},showWordImageDialog:function(){this._dialogs.wordimageDialog.open()},renderToolbarBoxHtml:function(){for(var a=[],b=0;b'+c+"");b.innerHTML='
    '+this.editor.getLang("elementPathTip")+": "+d.join(" > ")+"
    "}else b.style.display="none"},disableElementPath:function(){var a=this.getDom("elementpath");a.innerHTML="",a.style.display="none",this.elementPathEnabled=!1},enableElementPath:function(){var a=this.getDom("elementpath");a.style.display="",this.elementPathEnabled=!0,this._updateElementPath()},_scale:function(){function a(){o=e.getXY(h),p||(p=g.options.minFrameHeight+j.offsetHeight+k.offsetHeight),m.style.cssText="position:absolute;left:0;display:;top:0;background-color:#41ABFF;opacity:0.4;filter: Alpha(opacity=40);width:"+h.offsetWidth+"px;height:"+h.offsetHeight+"px;z-index:"+(g.options.zIndex+1),e.on(f,"mousemove",b),e.on(i,"mouseup",c),e.on(f,"mouseup",c)}function b(a){d();var b=a||window.event;r=b.pageX||f.documentElement.scrollLeft+b.clientX,s=b.pageY||f.documentElement.scrollTop+b.clientY,t=r-o.x,u=s-o.y,t>=q&&(n=!0,m.style.width=t+"px"),u>=p&&(n=!0,m.style.height=u+"px")}function c(){n&&(n=!1,g.ui._actualFrameWidth=m.offsetWidth-2,h.style.width=g.ui._actualFrameWidth+"px",g.setHeight(m.offsetHeight-k.offsetHeight-j.offsetHeight-2,!0)),m&&(m.style.display="none"),d(),e.un(f,"mousemove",b),e.un(i,"mouseup",c),e.un(f,"mouseup",c)}function d(){browser.ie?f.selection.clear():window.getSelection().removeAllRanges()}var f=document,g=this.editor,h=g.container,i=g.document,j=this.getDom("toolbarbox"),k=this.getDom("bottombar"),l=this.getDom("scale"),m=this.getDom("scalelayer"),n=!1,o=null,p=0,q=g.options.minFrameWidth,r=0,s=0,t=0,u=0,v=this;this.editor.addListener("fullscreenchanged",function(a,b){if(b)v.disableScale();else if(v.editor.options.scaleEnabled){v.enableScale();var c=v.editor.document.createElement("span");v.editor.body.appendChild(c),v.editor.body.style.height=Math.max(e.getXY(c).y,v.editor.iframe.offsetHeight-20)+"px",e.remove(c)}}),this.enableScale=function(){1!=g.queryCommandState("source")&&(l.style.display="",this.scaleEnabled=!0,e.on(l,"mousedown",a))},this.disableScale=function(){l.style.display="none",this.scaleEnabled=!1,e.un(l,"mousedown",a)}},isFullScreen:function(){return this._fullscreen},postRender:function(){d.prototype.postRender.call(this);for(var a=0;a[\n\r\t]+([ ]{4})+/g,">").replace(/[\n\r\t]+([ ]{4})+[\n\r\t]+<"),c.className&&(b.className=c.className),c.style.cssText&&(b.style.cssText=c.style.cssText),/textarea/i.test(c.tagName)?(d.textarea=c,d.textarea.style.display="none"):c.parentNode.removeChild(c),c.id&&(b.id=c.id,e.removeAttributes(c,"id")),c=b,c.innerHTML=""}e.addClass(c,"edui-"+d.options.theme),d.ui.render(c);var h=d.options;d.container=d.ui.getDom();for(var i,j=e.findParents(c,!0),k=[],l=0;i=j[l];l++)k[l]=i.style.display,i.style.display="block";if(h.initialFrameWidth)h.minFrameWidth=h.initialFrameWidth;else{h.minFrameWidth=h.initialFrameWidth=c.offsetWidth;var m=c.style.width;/%$/.test(m)&&(h.initialFrameWidth=m)}h.initialFrameHeight?h.minFrameHeight=h.initialFrameHeight:h.initialFrameHeight=h.minFrameHeight=c.offsetHeight;for(var i,l=0;i=j[l];l++)i.style.display=k[l];c.style.height&&(c.style.height=""),d.container.style.width=h.initialFrameWidth+(/%$/.test(h.initialFrameWidth)?"":"px"),d.container.style.zIndex=h.zIndex,f.call(d,d.ui.getDom("iframeholder")),d.fireEvent("afteruiready")}d.langIsReady?b():d.addListener("langReady",b)})},d},UE.getEditor=function(a,b){var c=g[a];return c||(c=g[a]=new UE.ui.Editor(b),c.render(a)),c},UE.delEditor=function(a){var b;(b=g[a])&&(b.key&&b.destroy(),delete g[a])},UE.registerUI=function(a,c,d,e){b.each(a.split(/\s+/),function(a){UE._customizeUI[a]={id:e,execFn:c,index:d}})}}(),UE.registerUI("message",function(a){function b(){var a=g.ui.getDom("toolbarbox");a&&(c.style.top=a.offsetHeight+3+"px"),c.style.zIndex=Math.max(g.options.zIndex,g.iframe.style.zIndex)+1}var c,d=baidu.editor.ui,e=d.Message,f=[],g=a;g.addListener("ready",function(){c=document.getElementById(g.ui.id+"_message_holder"),b(),setTimeout(function(){b()},500)}),g.addListener("showmessage",function(a,d){d=utils.isString(d)?{content:d}:d;var h=new e({timeout:d.timeout,type:d.type,content:d.content,keepshow:d.keepshow,editor:g}),i=d.id||"msg_"+(+new Date).toString(36);return h.render(c),f[i]=h,h.reset(d),b(),i}),g.addListener("updatemessage",function(a,b,d){d=utils.isString(d)?{content:d}:d;var e=f[b];e.render(c),e&&e.reset(d)}),g.addListener("hidemessage",function(a,b){var c=f[b];c&&c.hide()})}),UE.registerUI("autosave",function(a){var b=null,c=null;a.on("afterautosave",function(){clearTimeout(b),b=setTimeout(function(){c&&a.trigger("hidemessage",c),c=a.trigger("showmessage",{content:a.getLang("autosave.success"),timeout:2e3})},2e3)})})}(); \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.config.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.config.js deleted file mode 100644 index 9fd8773..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.config.js +++ /dev/null @@ -1,499 +0,0 @@ -/** - * ueditor完整配置项 - * 可以在这里配置整个编辑器的特性 - */ -/**************************提示******************************** - * 所有被注释的配置项均为UEditor默认值。 - * 修改默认配置请首先确保已经完全明确该参数的真实用途。 - * 主要有两种修改方案,一种是取消此处注释,然后修改成对应参数;另一种是在实例化编辑器时传入对应参数。 - * 当升级编辑器时,可直接使用旧版配置文件替换新版配置文件,不用担心旧版配置文件中因缺少新功能所需的参数而导致脚本报错。 - **************************提示********************************/ - -(function () { - - /** - * 编辑器资源文件根路径。它所表示的含义是:以编辑器实例化页面为当前路径,指向编辑器资源文件(即dialog等文件夹)的路径。 - * 鉴于很多同学在使用编辑器的时候出现的种种路径问题,此处强烈建议大家使用"相对于网站根目录的相对路径"进行配置。 - * "相对于网站根目录的相对路径"也就是以斜杠开头的形如"/myProject/ueditor/"这样的路径。 - * 如果站点中有多个不在同一层级的页面需要实例化编辑器,且引用了同一UEditor的时候,此处的URL可能不适用于每个页面的编辑器。 - * 因此,UEditor提供了针对不同页面的编辑器可单独配置的根路径,具体来说,在需要实例化编辑器的页面最顶部写上如下代码即可。当然,需要令此处的URL等于对应的配置。 - * window.UEDITOR_HOME_URL = "/xxxx/xxxx/"; - */ - var URL = window.UEDITOR_HOME_URL || getUEBasePath(); - - URL = URL + "/ueditor/" - - /** - * 配置项主体。注意,此处所有涉及到路径的配置别遗漏URL变量。 - */ - window.UEDITOR_CONFIG = { - - //为编辑器实例添加一个路径,这个不能被注释 - UEDITOR_HOME_URL: URL - - // 服务器统一请求接口路径 - , serverUrl: URL + "jsp/controller.jsp" - - //工具栏上的所有的功能按钮和下拉框,可以在new编辑器的实例时选择自己需要的重新定义 - , toolbars: [[ - 'fullscreen', 'source', '|', 'undo', 'redo', '|', - 'bold', 'italic', 'underline', 'fontborder', 'strikethrough', 'superscript', 'subscript', 'removeformat', 'formatmatch', 'autotypeset', 'blockquote', 'pasteplain', '|', 'forecolor', 'backcolor', 'insertorderedlist', 'insertunorderedlist', 'selectall', 'cleardoc', '|', - 'rowspacingtop', 'rowspacingbottom', 'lineheight', '|', - 'customstyle', 'paragraph', 'fontfamily', 'fontsize', '|', - 'directionalityltr', 'directionalityrtl', 'indent', '|', - 'justifyleft', 'justifycenter', 'justifyright', 'justifyjustify', '|', 'touppercase', 'tolowercase', '|', - 'link', 'unlink', 'anchor', '|', 'imagenone', 'imageleft', 'imageright', 'imagecenter', '|', - 'simpleupload', 'insertimage', 'emotion', 'scrawl', 'insertvideo', 'music', 'attachment', 'map', 'gmap', 'insertframe', 'insertcode', 'webapp', 'pagebreak', 'template', 'background', '|', - 'horizontal', 'date', 'time', 'spechars', 'snapscreen', 'wordimage', '|', - 'inserttable', 'deletetable', 'insertparagraphbeforetable', 'insertrow', 'deleterow', 'insertcol', 'deletecol', 'mergecells', 'mergeright', 'mergedown', 'splittocells', 'splittorows', 'splittocols', 'charts', '|', - 'print', 'preview', 'searchreplace', 'drafts', 'help' - ]] - //当鼠标放在工具栏上时显示的tooltip提示,留空支持自动多语言配置,否则以配置值为准 - //,labelMap:{ - // 'anchor':'', 'undo':'' - //} - - //语言配置项,默认是zh-cn。有需要的话也可以使用如下这样的方式来自动多语言切换,当然,前提条件是lang文件夹下存在对应的语言文件: - //lang值也可以通过自动获取 (navigator.language||navigator.browserLanguage ||navigator.userLanguage).toLowerCase() - //,lang:"zh-cn" - //,langPath:URL +"lang/" - - //主题配置项,默认是default。有需要的话也可以使用如下这样的方式来自动多主题切换,当然,前提条件是themes文件夹下存在对应的主题文件: - //现有如下皮肤:default - //,theme:'default' - //,themePath:URL +"themes/" - - //,zIndex : 900 //编辑器层级的基数,默认是900 - - //针对getAllHtml方法,会在对应的head标签中增加该编码设置。 - //,charset:"utf-8" - - //若实例化编辑器的页面手动修改的domain,此处需要设置为true - //,customDomain:false - - //常用配置项目 - //,isShow : true //默认显示编辑器 - - //,textarea:'editorValue' // 提交表单时,服务器获取编辑器提交内容的所用的参数,多实例时可以给容器name属性,会将name给定的值最为每个实例的键值,不用每次实例化的时候都设置这个值 - - //,initialContent:'欢迎使用ueditor!' //初始化编辑器的内容,也可以通过textarea/script给值,看官网例子 - - //,autoClearinitialContent:true //是否自动清除编辑器初始内容,注意:如果focus属性设置为true,这个也为真,那么编辑器一上来就会触发导致初始化的内容看不到了 - - //,focus:false //初始化时,是否让编辑器获得焦点true或false - - //如果自定义,最好给p标签如下的行高,要不输入中文时,会有跳动感 - //,initialStyle:'p{line-height:1em}'//编辑器层级的基数,可以用来改变字体等 - - //,iframeCssUrl: URL + '/themes/iframe.css' //给编辑区域的iframe引入一个css文件 - - //indentValue - //首行缩进距离,默认是2em - //,indentValue:'2em' - - //,initialFrameWidth:1000 //初始化编辑器宽度,默认1000 - //,initialFrameHeight:320 //初始化编辑器高度,默认320 - - //,readonly : false //编辑器初始化结束后,编辑区域是否是只读的,默认是false - - //,autoClearEmptyNode : true //getContent时,是否删除空的inlineElement节点(包括嵌套的情况) - - //启用自动保存 - //,enableAutoSave: true - //自动保存间隔时间, 单位ms - //,saveInterval: 500 - - //,fullscreen : false //是否开启初始化时即全屏,默认关闭 - - //,imagePopup:true //图片操作的浮层开关,默认打开 - - //,autoSyncData:true //自动同步编辑器要提交的数据 - //,emotionLocalization:false //是否开启表情本地化,默认关闭。若要开启请确保emotion文件夹下包含官网提供的images表情文件夹 - - //粘贴只保留标签,去除标签所有属性 - //,retainOnlyLabelPasted: false - - //,pasteplain:false //是否默认为纯文本粘贴。false为不使用纯文本粘贴,true为使用纯文本粘贴 - //纯文本粘贴模式下的过滤规则 - //'filterTxtRules' : function(){ - // function transP(node){ - // node.tagName = 'p'; - // node.setStyle(); - // } - // return { - // //直接删除及其字节点内容 - // '-' : 'script style object iframe embed input select', - // 'p': {$:{}}, - // 'br':{$:{}}, - // 'div':{'$':{}}, - // 'li':{'$':{}}, - // 'caption':transP, - // 'th':transP, - // 'tr':transP, - // 'h1':transP,'h2':transP,'h3':transP,'h4':transP,'h5':transP,'h6':transP, - // 'td':function(node){ - // //没有内容的td直接删掉 - // var txt = !!node.innerText(); - // if(txt){ - // node.parentNode.insertAfter(UE.uNode.createText('    '),node); - // } - // node.parentNode.removeChild(node,node.innerText()) - // } - // } - //}() - - //,allHtmlEnabled:false //提交到后台的数据是否包含整个html字符串 - - //insertorderedlist - //有序列表的下拉配置,值留空时支持多语言自动识别,若配置值,则以此值为准 - //,'insertorderedlist':{ - // //自定的样式 - // 'num':'1,2,3...', - // 'num1':'1),2),3)...', - // 'num2':'(1),(2),(3)...', - // 'cn':'一,二,三....', - // 'cn1':'一),二),三)....', - // 'cn2':'(一),(二),(三)....', - // //系统自带 - // 'decimal' : '' , //'1,2,3...' - // 'lower-alpha' : '' , // 'a,b,c...' - // 'lower-roman' : '' , //'i,ii,iii...' - // 'upper-alpha' : '' , lang //'A,B,C' - // 'upper-roman' : '' //'I,II,III...' - //} - - //insertunorderedlist - //无序列表的下拉配置,值留空时支持多语言自动识别,若配置值,则以此值为准 - //,insertunorderedlist : { //自定的样式 - // 'dash' :'— 破折号', //-破折号 - // 'dot':' 。 小圆圈', //系统自带 - // 'circle' : '', // '○ 小圆圈' - // 'disc' : '', // '● 小圆点' - // 'square' : '' //'■ 小方块' - //} - //,listDefaultPaddingLeft : '30'//默认的左边缩进的基数倍 - //,listiconpath : 'http://bs.baidu.com/listicon/'//自定义标号的路径 - //,maxListLevel : 3 //限制可以tab的级数, 设置-1为不限制 - - //,autoTransWordToList:false //禁止word中粘贴进来的列表自动变成列表标签 - - //fontfamily - //字体设置 label留空支持多语言自动切换,若配置,则以配置值为准 - //,'fontfamily':[ - // { label:'',name:'songti',val:'宋体,SimSun'}, - // { label:'',name:'kaiti',val:'楷体,楷体_GB2312, SimKai'}, - // { label:'',name:'yahei',val:'微软雅黑,Microsoft YaHei'}, - // { label:'',name:'heiti',val:'黑体, SimHei'}, - // { label:'',name:'lishu',val:'隶书, SimLi'}, - // { label:'',name:'andaleMono',val:'andale mono'}, - // { label:'',name:'arial',val:'arial, helvetica,sans-serif'}, - // { label:'',name:'arialBlack',val:'arial black,avant garde'}, - // { label:'',name:'comicSansMs',val:'comic sans ms'}, - // { label:'',name:'impact',val:'impact,chicago'}, - // { label:'',name:'timesNewRoman',val:'times new roman'} - //] - - //fontsize - //字号 - //,'fontsize':[10, 11, 12, 14, 16, 18, 20, 24, 36] - - //paragraph - //段落格式 值留空时支持多语言自动识别,若配置,则以配置值为准 - //,'paragraph':{'p':'', 'h1':'', 'h2':'', 'h3':'', 'h4':'', 'h5':'', 'h6':''} - - //rowspacingtop - //段间距 值和显示的名字相同 - //,'rowspacingtop':['5', '10', '15', '20', '25'] - - //rowspacingBottom - //段间距 值和显示的名字相同 - //,'rowspacingbottom':['5', '10', '15', '20', '25'] - - //lineheight - //行内间距 值和显示的名字相同 - //,'lineheight':['1', '1.5','1.75','2', '3', '4', '5'] - - //customstyle - //自定义样式,不支持国际化,此处配置值即可最后显示值 - //block的元素是依据设置段落的逻辑设置的,inline的元素依据BIU的逻辑设置 - //尽量使用一些常用的标签 - //参数说明 - //tag 使用的标签名字 - //label 显示的名字也是用来标识不同类型的标识符,注意这个值每个要不同, - //style 添加的样式 - //每一个对象就是一个自定义的样式 - //,'customstyle':[ - // {tag:'h1', name:'tc', label:'', style:'border-bottom:#ccc 2px solid;padding:0 4px 0 0;text-align:center;margin:0 0 20px 0;'}, - // {tag:'h1', name:'tl',label:'', style:'border-bottom:#ccc 2px solid;padding:0 4px 0 0;margin:0 0 10px 0;'}, - // {tag:'span',name:'im', label:'', style:'font-style:italic;font-weight:bold'}, - // {tag:'span',name:'hi', label:'', style:'font-style:italic;font-weight:bold;color:rgb(51, 153, 204)'} - //] - - //打开右键菜单功能 - //,enableContextMenu: true - //右键菜单的内容,可以参考plugins/contextmenu.js里边的默认菜单的例子,label留空支持国际化,否则以此配置为准 - //,contextMenu:[ - // { - // label:'', //显示的名称 - // cmdName:'selectall',//执行的command命令,当点击这个右键菜单时 - // //exec可选,有了exec就会在点击时执行这个function,优先级高于cmdName - // exec:function () { - // //this是当前编辑器的实例 - // //this.ui._dialogs['inserttableDialog'].open(); - // } - // } - //] - - //快捷菜单 - //,shortcutMenu:["fontfamily", "fontsize", "bold", "italic", "underline", "forecolor", "backcolor", "insertorderedlist", "insertunorderedlist"] - - //elementPathEnabled - //是否启用元素路径,默认是显示 - //,elementPathEnabled : true - - //wordCount - //,wordCount:true //是否开启字数统计 - //,maximumWords:10000 //允许的最大字符数 - //字数统计提示,{#count}代表当前字数,{#leave}代表还可以输入多少字符数,留空支持多语言自动切换,否则按此配置显示 - //,wordCountMsg:'' //当前已输入 {#count} 个字符,您还可以输入{#leave} 个字符 - //超出字数限制提示 留空支持多语言自动切换,否则按此配置显示 - //,wordOverFlowMsg:'' //你输入的字符个数已经超出最大允许值,服务器可能会拒绝保存! - - //tab - //点击tab键时移动的距离,tabSize倍数,tabNode什么字符做为单位 - //,tabSize:4 - //,tabNode:' ' - - //removeFormat - //清除格式时可以删除的标签和属性 - //removeForamtTags标签 - //,removeFormatTags:'b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var' - //removeFormatAttributes属性 - //,removeFormatAttributes:'class,style,lang,width,height,align,hspace,valign' - - //undo - //可以最多回退的次数,默认20 - //,maxUndoCount:20 - //当输入的字符数超过该值时,保存一次现场 - //,maxInputCount:1 - - //autoHeightEnabled - // 是否自动长高,默认true - //,autoHeightEnabled:true - - //scaleEnabled - //是否可以拉伸长高,默认true(当开启时,自动长高失效) - //,scaleEnabled:false - //,minFrameWidth:800 //编辑器拖动时最小宽度,默认800 - //,minFrameHeight:220 //编辑器拖动时最小高度,默认220 - - //autoFloatEnabled - //是否保持toolbar的位置不动,默认true - //,autoFloatEnabled:true - //浮动时工具栏距离浏览器顶部的高度,用于某些具有固定头部的页面 - //,topOffset:30 - //编辑器底部距离工具栏高度(如果参数大于等于编辑器高度,则设置无效) - //,toolbarTopOffset:400 - - //设置远程图片是否抓取到本地保存 - //,catchRemoteImageEnable: true //设置是否抓取远程图片 - - //pageBreakTag - //分页标识符,默认是_ueditor_page_break_tag_ - //,pageBreakTag:'_ueditor_page_break_tag_' - - //autotypeset - //自动排版参数 - //,autotypeset: { - // mergeEmptyline: true, //合并空行 - // removeClass: true, //去掉冗余的class - // removeEmptyline: false, //去掉空行 - // textAlign:"left", //段落的排版方式,可以是 left,right,center,justify 去掉这个属性表示不执行排版 - // imageBlockLine: 'center', //图片的浮动方式,独占一行剧中,左右浮动,默认: center,left,right,none 去掉这个属性表示不执行排版 - // pasteFilter: false, //根据规则过滤没事粘贴进来的内容 - // clearFontSize: false, //去掉所有的内嵌字号,使用编辑器默认的字号 - // clearFontFamily: false, //去掉所有的内嵌字体,使用编辑器默认的字体 - // removeEmptyNode: false, // 去掉空节点 - // //可以去掉的标签 - // removeTagNames: {标签名字:1}, - // indent: false, // 行首缩进 - // indentValue : '2em', //行首缩进的大小 - // bdc2sb: false, - // tobdc: false - //} - - //tableDragable - //表格是否可以拖拽 - //,tableDragable: true - - - - //sourceEditor - //源码的查看方式,codemirror 是代码高亮,textarea是文本框,默认是codemirror - //注意默认codemirror只能在ie8+和非ie中使用 - //,sourceEditor:"codemirror" - //如果sourceEditor是codemirror,还用配置一下两个参数 - //codeMirrorJsUrl js加载的路径,默认是 URL + "third-party/codemirror/codemirror.js" - //,codeMirrorJsUrl:URL + "third-party/codemirror/codemirror.js" - //codeMirrorCssUrl css加载的路径,默认是 URL + "third-party/codemirror/codemirror.css" - //,codeMirrorCssUrl:URL + "third-party/codemirror/codemirror.css" - //编辑器初始化完成后是否进入源码模式,默认为否。 - //,sourceEditorFirst:false - - //iframeUrlMap - //dialog内容的路径 ~会被替换成URL,垓属性一旦打开,将覆盖所有的dialog的默认路径 - //,iframeUrlMap:{ - // 'anchor':'~/dialogs/anchor/anchor.html', - //} - - //allowLinkProtocol 允许的链接地址,有这些前缀的链接地址不会自动添加http - //, allowLinkProtocols: ['http:', 'https:', '#', '/', 'ftp:', 'mailto:', 'tel:', 'git:', 'svn:'] - - //webAppKey 百度应用的APIkey,每个站长必须首先去百度官网注册一个key后方能正常使用app功能,注册介绍,http://app.baidu.com/static/cms/getapikey.html - //, webAppKey: "" - - //默认过滤规则相关配置项目 - //,disabledTableInTable:true //禁止表格嵌套 - //,allowDivTransToP:true //允许进入编辑器的div标签自动变成p标签 - //,rgb2Hex:true //默认产出的数据中的color自动从rgb格式变成16进制格式 - - // xss 过滤是否开启,inserthtml等操作 - ,xssFilterRules: true - //input xss过滤 - ,inputXssFilter: true - //output xss过滤 - ,outputXssFilter: true - // xss过滤白名单 名单来源: https://raw.githubusercontent.com/leizongmin/js-xss/master/lib/default.js - ,whitList: { - a: ['target', 'href', 'title', 'class', 'style'], - abbr: ['title', 'class', 'style'], - address: ['class', 'style'], - area: ['shape', 'coords', 'href', 'alt'], - article: [], - aside: [], - audio: ['autoplay', 'controls', 'loop', 'preload', 'src', 'class', 'style'], - b: ['class', 'style'], - bdi: ['dir'], - bdo: ['dir'], - big: [], - blockquote: ['cite', 'class', 'style'], - br: [], - caption: ['class', 'style'], - center: [], - cite: [], - code: ['class', 'style'], - col: ['align', 'valign', 'span', 'width', 'class', 'style'], - colgroup: ['align', 'valign', 'span', 'width', 'class', 'style'], - dd: ['class', 'style'], - del: ['datetime'], - details: ['open'], - div: ['class', 'style'], - dl: ['class', 'style'], - dt: ['class', 'style'], - em: ['class', 'style'], - font: ['color', 'size', 'face'], - footer: [], - h1: ['class', 'style'], - h2: ['class', 'style'], - h3: ['class', 'style'], - h4: ['class', 'style'], - h5: ['class', 'style'], - h6: ['class', 'style'], - header: [], - hr: [], - i: ['class', 'style'], - img: ['src', 'alt', 'title', 'width', 'height', 'id', '_src', 'loadingclass', 'class', 'data-latex'], - ins: ['datetime'], - li: ['class', 'style'], - mark: [], - nav: [], - ol: ['class', 'style'], - p: ['class', 'style'], - pre: ['class', 'style'], - s: [], - section:[], - small: [], - span: ['class', 'style'], - sub: ['class', 'style'], - sup: ['class', 'style'], - strong: ['class', 'style'], - table: ['width', 'border', 'align', 'valign', 'class', 'style'], - tbody: ['align', 'valign', 'class', 'style'], - td: ['width', 'rowspan', 'colspan', 'align', 'valign', 'class', 'style'], - tfoot: ['align', 'valign', 'class', 'style'], - th: ['width', 'rowspan', 'colspan', 'align', 'valign', 'class', 'style'], - thead: ['align', 'valign', 'class', 'style'], - tr: ['rowspan', 'align', 'valign', 'class', 'style'], - tt: [], - u: [], - ul: ['class', 'style'], - video: ['autoplay', 'controls', 'loop', 'preload', 'src', 'height', 'width', 'class', 'style'] - } - }; - - function getUEBasePath(docUrl, confUrl) { - - return getBasePath(docUrl || self.document.URL || self.location.href, confUrl || getConfigFilePath()); - - } - - function getConfigFilePath() { - - var configPath = document.getElementsByTagName('script'); - - return configPath[ configPath.length - 1 ].src; - - } - - function getBasePath(docUrl, confUrl) { - - var basePath = confUrl; - - - if (/^(\/|\\\\)/.test(confUrl)) { - - basePath = /^.+?\w(\/|\\\\)/.exec(docUrl)[0] + confUrl.replace(/^(\/|\\\\)/, ''); - - } else if (!/^[a-z]+:/i.test(confUrl)) { - - docUrl = docUrl.split("#")[0].split("?")[0].replace(/[^\\\/]+$/, ''); - - basePath = docUrl + "" + confUrl; - - } - - return optimizationPath(basePath); - - } - - function optimizationPath(path) { - - var protocol = /^[a-z]+:\/\//.exec(path)[ 0 ], - tmp = null, - res = []; - - path = path.replace(protocol, "").split("?")[0].split("#")[0]; - - path = path.replace(/\\/g, '/').split(/\//); - - path[ path.length - 1 ] = ""; - - while (path.length) { - - if (( tmp = path.shift() ) === "..") { - res.pop(); - } else if (tmp !== ".") { - res.push(tmp); - } - - } - - return protocol + res.join("/"); - - } - - window.UE = { - getUEBasePath: getUEBasePath - }; - -})(); diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.parse.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.parse.js deleted file mode 100644 index 84421f2..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.parse.js +++ /dev/null @@ -1,1022 +0,0 @@ -/*! - * UEditor - * version: ueditor - * build: Wed Aug 10 2016 11:06:16 GMT+0800 (CST) - */ - -(function(){ - -(function(){ - UE = window.UE || {}; - var isIE = !!window.ActiveXObject; - //定义utils工具 - var utils = { - removeLastbs : function(url){ - return url.replace(/\/$/,'') - }, - extend : function(t,s){ - var a = arguments, - notCover = this.isBoolean(a[a.length - 1]) ? a[a.length - 1] : false, - len = this.isBoolean(a[a.length - 1]) ? a.length - 1 : a.length; - for (var i = 1; i < len; i++) { - var x = a[i]; - for (var k in x) { - if (!notCover || !t.hasOwnProperty(k)) { - t[k] = x[k]; - } - } - } - return t; - }, - isIE : isIE, - cssRule : isIE ? function(key,style,doc){ - var indexList,index; - doc = doc || document; - if(doc.indexList){ - indexList = doc.indexList; - }else{ - indexList = doc.indexList = {}; - } - var sheetStyle; - if(!indexList[key]){ - if(style === undefined){ - return '' - } - sheetStyle = doc.createStyleSheet('',index = doc.styleSheets.length); - indexList[key] = index; - }else{ - sheetStyle = doc.styleSheets[indexList[key]]; - } - if(style === undefined){ - return sheetStyle.cssText - } - sheetStyle.cssText = sheetStyle.cssText + '\n' + (style || '') - } : function(key,style,doc){ - doc = doc || document; - var head = doc.getElementsByTagName('head')[0],node; - if(!(node = doc.getElementById(key))){ - if(style === undefined){ - return '' - } - node = doc.createElement('style'); - node.id = key; - head.appendChild(node) - } - if(style === undefined){ - return node.innerHTML - } - if(style !== ''){ - node.innerHTML = node.innerHTML + '\n' + style; - }else{ - head.removeChild(node) - } - }, - domReady : function (onready) { - var doc = window.document; - if (doc.readyState === "complete") { - onready(); - }else{ - if (isIE) { - (function () { - if (doc.isReady) return; - try { - doc.documentElement.doScroll("left"); - } catch (error) { - setTimeout(arguments.callee, 0); - return; - } - onready(); - })(); - window.attachEvent('onload', function(){ - onready() - }); - } else { - doc.addEventListener("DOMContentLoaded", function () { - doc.removeEventListener("DOMContentLoaded", arguments.callee, false); - onready(); - }, false); - window.addEventListener('load', function(){onready()}, false); - } - } - - }, - each : function(obj, iterator, context) { - if (obj == null) return; - if (obj.length === +obj.length) { - for (var i = 0, l = obj.length; i < l; i++) { - if(iterator.call(context, obj[i], i, obj) === false) - return false; - } - } else { - for (var key in obj) { - if (obj.hasOwnProperty(key)) { - if(iterator.call(context, obj[key], key, obj) === false) - return false; - } - } - } - }, - inArray : function(arr,item){ - var index = -1; - this.each(arr,function(v,i){ - if(v === item){ - index = i; - return false; - } - }); - return index; - }, - pushItem : function(arr,item){ - if(this.inArray(arr,item)==-1){ - arr.push(item) - } - }, - trim: function (str) { - return str.replace(/(^[ \t\n\r]+)|([ \t\n\r]+$)/g, ''); - }, - indexOf: function (array, item, start) { - var index = -1; - start = this.isNumber(start) ? start : 0; - this.each(array, function (v, i) { - if (i >= start && v === item) { - index = i; - return false; - } - }); - return index; - }, - hasClass: function (element, className) { - className = className.replace(/(^[ ]+)|([ ]+$)/g, '').replace(/[ ]{2,}/g, ' ').split(' '); - for (var i = 0, ci, cls = element.className; ci = className[i++];) { - if (!new RegExp('\\b' + ci + '\\b', 'i').test(cls)) { - return false; - } - } - return i - 1 == className.length; - }, - addClass:function (elm, classNames) { - if(!elm)return; - classNames = this.trim(classNames).replace(/[ ]{2,}/g,' ').split(' '); - for(var i = 0,ci,cls = elm.className;ci=classNames[i++];){ - if(!new RegExp('\\b' + ci + '\\b').test(cls)){ - cls += ' ' + ci; - } - } - elm.className = utils.trim(cls); - }, - removeClass:function (elm, classNames) { - classNames = this.isArray(classNames) ? classNames : - this.trim(classNames).replace(/[ ]{2,}/g,' ').split(' '); - for(var i = 0,ci,cls = elm.className;ci=classNames[i++];){ - cls = cls.replace(new RegExp('\\b' + ci + '\\b'),'') - } - cls = this.trim(cls).replace(/[ ]{2,}/g,' '); - elm.className = cls; - !cls && elm.removeAttribute('className'); - }, - on: function (element, type, handler) { - var types = this.isArray(type) ? type : type.split(/\s+/), - k = types.length; - if (k) while (k--) { - type = types[k]; - if (element.addEventListener) { - element.addEventListener(type, handler, false); - } else { - if (!handler._d) { - handler._d = { - els : [] - }; - } - var key = type + handler.toString(),index = utils.indexOf(handler._d.els,element); - if (!handler._d[key] || index == -1) { - if(index == -1){ - handler._d.els.push(element); - } - if(!handler._d[key]){ - handler._d[key] = function (evt) { - return handler.call(evt.srcElement, evt || window.event); - }; - } - - - element.attachEvent('on' + type, handler._d[key]); - } - } - } - element = null; - }, - off: function (element, type, handler) { - var types = this.isArray(type) ? type : type.split(/\s+/), - k = types.length; - if (k) while (k--) { - type = types[k]; - if (element.removeEventListener) { - element.removeEventListener(type, handler, false); - } else { - var key = type + handler.toString(); - try{ - element.detachEvent('on' + type, handler._d ? handler._d[key] : handler); - }catch(e){} - if (handler._d && handler._d[key]) { - var index = utils.indexOf(handler._d.els,element); - if(index!=-1){ - handler._d.els.splice(index,1); - } - handler._d.els.length == 0 && delete handler._d[key]; - } - } - } - }, - loadFile : function () { - var tmpList = []; - function getItem(doc,obj){ - try{ - for(var i= 0,ci;ci=tmpList[i++];){ - if(ci.doc === doc && ci.url == (obj.src || obj.href)){ - return ci; - } - } - }catch(e){ - return null; - } - - } - return function (doc, obj, fn) { - var item = getItem(doc,obj); - if (item) { - if(item.ready){ - fn && fn(); - }else{ - item.funs.push(fn) - } - return; - } - tmpList.push({ - doc:doc, - url:obj.src||obj.href, - funs:[fn] - }); - if (!doc.body) { - var html = []; - for(var p in obj){ - if(p == 'tag')continue; - html.push(p + '="' + obj[p] + '"') - } - doc.write('<' + obj.tag + ' ' + html.join(' ') + ' >'); - return; - } - if (obj.id && doc.getElementById(obj.id)) { - return; - } - var element = doc.createElement(obj.tag); - delete obj.tag; - for (var p in obj) { - element.setAttribute(p, obj[p]); - } - element.onload = element.onreadystatechange = function () { - if (!this.readyState || /loaded|complete/.test(this.readyState)) { - item = getItem(doc,obj); - if (item.funs.length > 0) { - item.ready = 1; - for (var fi; fi = item.funs.pop();) { - fi(); - } - } - element.onload = element.onreadystatechange = null; - } - }; - element.onerror = function(){ - throw Error('The load '+(obj.href||obj.src)+' fails,check the url') - }; - doc.getElementsByTagName("head")[0].appendChild(element); - } - }() - }; - utils.each(['String', 'Function', 'Array', 'Number', 'RegExp', 'Object','Boolean'], function (v) { - utils['is' + v] = function (obj) { - return Object.prototype.toString.apply(obj) == '[object ' + v + ']'; - } - }); - var parselist = {}; - UE.parse = { - register : function(parseName,fn){ - parselist[parseName] = fn; - }, - load : function(opt){ - utils.each(parselist,function(v){ - v.call(opt,utils); - }) - } - }; - uParse = function(selector,opt){ - utils.domReady(function(){ - var contents; - if(document.querySelectorAll){ - contents = document.querySelectorAll(selector) - }else{ - if(/^#/.test(selector)){ - contents = [document.getElementById(selector.replace(/^#/,''))] - }else if(/^\./.test(selector)){ - var contents = []; - utils.each(document.getElementsByTagName('*'),function(node){ - if(node.className && new RegExp('\\b' + selector.replace(/^\./,'') + '\\b','i').test(node.className)){ - contents.push(node) - } - }) - }else{ - contents = document.getElementsByTagName(selector) - } - } - utils.each(contents,function(v){ - UE.parse.load(utils.extend({root:v,selector:selector},opt)) - }) - }) - } -})(); - -UE.parse.register('insertcode',function(utils){ - var pres = this.root.getElementsByTagName('pre'); - if(pres.length){ - if(typeof XRegExp == "undefined"){ - var jsurl,cssurl; - if(this.rootPath !== undefined){ - jsurl = utils.removeLastbs(this.rootPath) + '/third-party/SyntaxHighlighter/shCore.js'; - cssurl = utils.removeLastbs(this.rootPath) + '/third-party/SyntaxHighlighter/shCoreDefault.css'; - }else{ - jsurl = this.highlightJsUrl; - cssurl = this.highlightCssUrl; - } - utils.loadFile(document,{ - id : "syntaxhighlighter_css", - tag : "link", - rel : "stylesheet", - type : "text/css", - href : cssurl - }); - utils.loadFile(document,{ - id : "syntaxhighlighter_js", - src : jsurl, - tag : "script", - type : "text/javascript", - defer : "defer" - },function(){ - utils.each(pres,function(pi){ - if(pi && /brush/i.test(pi.className)){ - SyntaxHighlighter.highlight(pi); - } - }); - }); - }else{ - utils.each(pres,function(pi){ - if(pi && /brush/i.test(pi.className)){ - SyntaxHighlighter.highlight(pi); - } - }); - } - } - -}); -UE.parse.register('table', function (utils) { - var me = this, - root = this.root, - tables = root.getElementsByTagName('table'); - if (tables.length) { - var selector = this.selector; - //追加默认的表格样式 - utils.cssRule('table', - selector + ' table.noBorderTable td,' + - selector + ' table.noBorderTable th,' + - selector + ' table.noBorderTable caption{border:1px dashed #ddd !important}' + - selector + ' table.sortEnabled tr.firstRow th,' + selector + ' table.sortEnabled tr.firstRow td{padding-right:20px; background-repeat: no-repeat;' + - 'background-position: center right; background-image:url(' + this.rootPath + 'themes/default/images/sortable.png);}' + - selector + ' table.sortEnabled tr.firstRow th:hover,' + selector + ' table.sortEnabled tr.firstRow td:hover{background-color: #EEE;}' + - selector + ' table{margin-bottom:10px;border-collapse:collapse;display:table;}' + - selector + ' td,' + selector + ' th{ background:white; padding: 5px 10px;border: 1px solid #DDD;}' + - selector + ' caption{border:1px dashed #DDD;border-bottom:0;padding:3px;text-align:center;}' + - selector + ' th{border-top:1px solid #BBB;background:#F7F7F7;}' + - selector + ' table tr.firstRow th{border-top:2px solid #BBB;background:#F7F7F7;}' + - selector + ' tr.ue-table-interlace-color-single td{ background: #fcfcfc; }' + - selector + ' tr.ue-table-interlace-color-double td{ background: #f7faff; }' + - selector + ' td p{margin:0;padding:0;}', - document); - //填充空的单元格 - - utils.each('td th caption'.split(' '), function (tag) { - var cells = root.getElementsByTagName(tag); - cells.length && utils.each(cells, function (node) { - if (!node.firstChild) { - node.innerHTML = ' '; - - } - }) - }); - - //表格可排序 - var tables = root.getElementsByTagName('table'); - utils.each(tables, function (table) { - if (/\bsortEnabled\b/.test(table.className)) { - utils.on(table, 'click', function(e){ - var target = e.target || e.srcElement, - cell = findParentByTagName(target, ['td', 'th']); - var table = findParentByTagName(target, 'table'), - colIndex = utils.indexOf(table.rows[0].cells, cell), - sortType = table.getAttribute('data-sort-type'); - if(colIndex != -1) { - sortTable(table, colIndex, me.tableSortCompareFn || sortType); - updateTable(table); - } - }); - } - }); - - //按照标签名查找父节点 - function findParentByTagName(target, tagNames) { - var i, current = target; - tagNames = utils.isArray(tagNames) ? tagNames:[tagNames]; - while(current){ - for(i = 0;i < tagNames.length; i++) { - if(current.tagName == tagNames[i].toUpperCase()) return current; - } - current = current.parentNode; - } - return null; - } - //表格排序 - function sortTable(table, sortByCellIndex, compareFn) { - var rows = table.rows, - trArray = [], - flag = rows[0].cells[0].tagName === "TH", - lastRowIndex = 0; - - for (var i = 0,len = rows.length; i < len; i++) { - trArray[i] = rows[i]; - } - - var Fn = { - 'reversecurrent': function(td1,td2){ - return 1; - }, - 'orderbyasc': function(td1,td2){ - var value1 = td1.innerText||td1.textContent, - value2 = td2.innerText||td2.textContent; - return value1.localeCompare(value2); - }, - 'reversebyasc': function(td1,td2){ - var value1 = td1.innerHTML, - value2 = td2.innerHTML; - return value2.localeCompare(value1); - }, - 'orderbynum': function(td1,td2){ - var value1 = td1[utils.isIE ? 'innerText':'textContent'].match(/\d+/), - value2 = td2[utils.isIE ? 'innerText':'textContent'].match(/\d+/); - if(value1) value1 = +value1[0]; - if(value2) value2 = +value2[0]; - return (value1||0) - (value2||0); - }, - 'reversebynum': function(td1,td2){ - var value1 = td1[utils.isIE ? 'innerText':'textContent'].match(/\d+/), - value2 = td2[utils.isIE ? 'innerText':'textContent'].match(/\d+/); - if(value1) value1 = +value1[0]; - if(value2) value2 = +value2[0]; - return (value2||0) - (value1||0); - } - }; - - //对表格设置排序的标记data-sort-type - table.setAttribute('data-sort-type', compareFn && typeof compareFn === "string" && Fn[compareFn] ? compareFn:''); - - //th不参与排序 - flag && trArray.splice(0, 1); - trArray = sort(trArray,function (tr1, tr2) { - var result; - if (compareFn && typeof compareFn === "function") { - result = compareFn.call(this, tr1.cells[sortByCellIndex], tr2.cells[sortByCellIndex]); - } else if (compareFn && typeof compareFn === "number") { - result = 1; - } else if (compareFn && typeof compareFn === "string" && Fn[compareFn]) { - result = Fn[compareFn].call(this, tr1.cells[sortByCellIndex], tr2.cells[sortByCellIndex]); - } else { - result = Fn['orderbyasc'].call(this, tr1.cells[sortByCellIndex], tr2.cells[sortByCellIndex]); - } - return result; - }); - var fragment = table.ownerDocument.createDocumentFragment(); - for (var j = 0, len = trArray.length; j < len; j++) { - fragment.appendChild(trArray[j]); - } - var tbody = table.getElementsByTagName("tbody")[0]; - if(!lastRowIndex){ - tbody.appendChild(fragment); - }else{ - tbody.insertBefore(fragment,rows[lastRowIndex- range.endRowIndex + range.beginRowIndex - 1]) - } - } - //冒泡排序 - function sort(array, compareFn){ - compareFn = compareFn || function(item1, item2){ return item1.localeCompare(item2);}; - for(var i= 0,len = array.length; i 0){ - var t = array[i]; - array[i] = array[j]; - array[j] = t; - } - } - } - return array; - } - //更新表格 - function updateTable(table) { - //给第一行设置firstRow的样式名称,在排序图标的样式上使用到 - if(!utils.hasClass(table.rows[0], "firstRow")) { - for(var i = 1; i< table.rows.length; i++) { - utils.removeClass(table.rows[i], "firstRow"); - } - utils.addClass(table.rows[0], "firstRow"); - } - } - } -}); -UE.parse.register('charts',function( utils ){ - - utils.cssRule('chartsContainerHeight','.edui-chart-container { height:'+(this.chartContainerHeight||300)+'px}'); - var resourceRoot = this.rootPath, - containers = this.root, - sources = null; - - //不存在指定的根路径, 则直接退出 - if ( !resourceRoot ) { - return; - } - - if ( sources = parseSources() ) { - - loadResources(); - - } - - - function parseSources () { - - if ( !containers ) { - return null; - } - - return extractChartData( containers ); - - } - - /** - * 提取数据 - */ - function extractChartData ( rootNode ) { - - var data = [], - tables = rootNode.getElementsByTagName( "table" ); - - for ( var i = 0, tableNode; tableNode = tables[ i ]; i++ ) { - - if ( tableNode.getAttribute( "data-chart" ) !== null ) { - - data.push( formatData( tableNode ) ); - - } - - } - - return data.length ? data : null; - - } - - function formatData ( tableNode ) { - - var meta = tableNode.getAttribute( "data-chart" ), - metaConfig = {}, - data = []; - - //提取table数据 - for ( var i = 0, row; row = tableNode.rows[ i ]; i++ ) { - - var rowData = []; - - for ( var j = 0, cell; cell = row.cells[ j ]; j++ ) { - - var value = ( cell.innerText || cell.textContent || '' ); - rowData.push( cell.tagName == 'TH' ? value:(value | 0) ); - - } - - data.push( rowData ); - - } - - //解析元信息 - meta = meta.split( ";" ); - for ( var i = 0, metaData; metaData = meta[ i ]; i++ ) { - - metaData = metaData.split( ":" ); - metaConfig[ metaData[ 0 ] ] = metaData[ 1 ]; - - } - - - return { - table: tableNode, - meta: metaConfig, - data: data - }; - - } - - //加载资源 - function loadResources () { - - loadJQuery(); - - } - - function loadJQuery () { - - //不存在jquery, 则加载jquery - if ( !window.jQuery ) { - - utils.loadFile(document,{ - src : resourceRoot + "/third-party/jquery-1.10.2.min.js", - tag : "script", - type : "text/javascript", - defer : "defer" - },function(){ - - loadHighcharts(); - - }); - - } else { - - loadHighcharts(); - - } - - } - - function loadHighcharts () { - - //不存在Highcharts, 则加载Highcharts - if ( !window.Highcharts ) { - - utils.loadFile(document,{ - src : resourceRoot + "/third-party/highcharts/highcharts.js", - tag : "script", - type : "text/javascript", - defer : "defer" - },function(){ - - loadTypeConfig(); - - }); - - } else { - - loadTypeConfig(); - - } - - } - - //加载图表差异化配置文件 - function loadTypeConfig () { - - utils.loadFile(document,{ - src : resourceRoot + "/dialogs/charts/chart.config.js", - tag : "script", - type : "text/javascript", - defer : "defer" - },function(){ - - render(); - - }); - - } - - //渲染图表 - function render () { - - var config = null, - chartConfig = null, - container = null; - - for ( var i = 0, len = sources.length; i < len; i++ ) { - - config = sources[ i ]; - - chartConfig = analysisConfig( config ); - - container = createContainer( config.table ); - - renderChart( container, typeConfig[ config.meta.chartType ], chartConfig ); - - } - - - } - - /** - * 渲染图表 - * @param container 图表容器节点对象 - * @param typeConfig 图表类型配置 - * @param config 图表通用配置 - * */ - function renderChart ( container, typeConfig, config ) { - - - $( container ).highcharts( $.extend( {}, typeConfig, { - - credits: { - enabled: false - }, - exporting: { - enabled: false - }, - title: { - text: config.title, - x: -20 //center - }, - subtitle: { - text: config.subTitle, - x: -20 - }, - xAxis: { - title: { - text: config.xTitle - }, - categories: config.categories - }, - yAxis: { - title: { - text: config.yTitle - }, - plotLines: [{ - value: 0, - width: 1, - color: '#808080' - }] - }, - tooltip: { - enabled: true, - valueSuffix: config.suffix - }, - legend: { - layout: 'vertical', - align: 'right', - verticalAlign: 'middle', - borderWidth: 1 - }, - series: config.series - - } )); - - } - - /** - * 创建图表的容器 - * 新创建的容器会替换掉对应的table对象 - * */ - function createContainer ( tableNode ) { - - var container = document.createElement( "div" ); - container.className = "edui-chart-container"; - - tableNode.parentNode.replaceChild( container, tableNode ); - - return container; - - } - - //根据config解析出正确的类别和图表数据信息 - function analysisConfig ( config ) { - - var series = [], - //数据类别 - categories = [], - result = [], - data = config.data, - meta = config.meta; - - //数据对齐方式为相反的方式, 需要反转数据 - if ( meta.dataFormat != "1" ) { - - for ( var i = 0, len = data.length; i < len ; i++ ) { - - for ( var j = 0, jlen = data[ i ].length; j < jlen; j++ ) { - - if ( !result[ j ] ) { - result[ j ] = []; - } - - result[ j ][ i ] = data[ i ][ j ]; - - } - - } - - data = result; - - } - - result = {}; - - //普通图表 - if ( meta.chartType != typeConfig.length - 1 ) { - - categories = data[ 0 ].slice( 1 ); - - for ( var i = 1, curData; curData = data[ i ]; i++ ) { - series.push( { - name: curData[ 0 ], - data: curData.slice( 1 ) - } ); - } - - result.series = series; - result.categories = categories; - result.title = meta.title; - result.subTitle = meta.subTitle; - result.xTitle = meta.xTitle; - result.yTitle = meta.yTitle; - result.suffix = meta.suffix; - - } else { - - var curData = []; - - for ( var i = 1, len = data[ 0 ].length; i < len; i++ ) { - - curData.push( [ data[ 0 ][ i ], data[ 1 ][ i ] | 0 ] ); - - } - - //饼图 - series[ 0 ] = { - type: 'pie', - name: meta.tip, - data: curData - }; - - result.series = series; - result.title = meta.title; - result.suffix = meta.suffix; - - } - - return result; - - } - -}); -UE.parse.register('background', function (utils) { - var me = this, - root = me.root, - p = root.getElementsByTagName('p'), - styles; - - for (var i = 0,ci; ci = p[i++];) { - styles = ci.getAttribute('data-background'); - if (styles){ - ci.parentNode.removeChild(ci); - } - } - - //追加默认的表格样式 - styles && utils.cssRule('ueditor_background', me.selector + '{' + styles + '}', document); -}); -UE.parse.register('list',function(utils){ - var customCss = [], - customStyle = { - 'cn' : 'cn-1-', - 'cn1' : 'cn-2-', - 'cn2' : 'cn-3-', - 'num' : 'num-1-', - 'num1' : 'num-2-', - 'num2' : 'num-3-', - 'dash' : 'dash', - 'dot' : 'dot' - }; - - - utils.extend(this,{ - liiconpath : 'http://bs.baidu.com/listicon/', - listDefaultPaddingLeft : '20' - }); - - var root = this.root, - ols = root.getElementsByTagName('ol'), - uls = root.getElementsByTagName('ul'), - selector = this.selector; - - if(ols.length){ - applyStyle.call(this,ols); - } - - if(uls.length){ - applyStyle.call(this,uls); - } - - if(ols.length || uls.length){ - customCss.push(selector +' .list-paddingleft-1{padding-left:0}'); - customCss.push(selector +' .list-paddingleft-2{padding-left:'+ this.listDefaultPaddingLeft+'px}'); - customCss.push(selector +' .list-paddingleft-3{padding-left:'+ this.listDefaultPaddingLeft*2+'px}'); - - utils.cssRule('list', selector +' ol,'+selector +' ul{margin:0;padding:0;}li{clear:both;}'+customCss.join('\n'), document); - } - function applyStyle(nodes){ - var T = this; - utils.each(nodes,function(list){ - if(list.className && /custom_/i.test(list.className)){ - var listStyle = list.className.match(/custom_(\w+)/)[1]; - if(listStyle == 'dash' || listStyle == 'dot'){ - utils.pushItem(customCss,selector +' li.list-' + customStyle[listStyle] + '{background-image:url(' + T.liiconpath +customStyle[listStyle]+'.gif)}'); - utils.pushItem(customCss,selector +' ul.custom_'+listStyle+'{list-style:none;} '+ selector +' ul.custom_'+listStyle+' li{background-position:0 3px;background-repeat:no-repeat}'); - - }else{ - var index = 1; - utils.each(list.childNodes,function(li){ - if(li.tagName == 'LI'){ - utils.pushItem(customCss,selector + ' li.list-' + customStyle[listStyle] + index + '{background-image:url(' + T.liiconpath + 'list-'+customStyle[listStyle] +index + '.gif)}'); - index++; - } - }); - utils.pushItem(customCss,selector + ' ol.custom_'+listStyle+'{list-style:none;}'+selector+' ol.custom_'+listStyle+' li{background-position:0 3px;background-repeat:no-repeat}'); - } - switch(listStyle){ - case 'cn': - utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-1{padding-left:25px}'); - utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-2{padding-left:40px}'); - utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-3{padding-left:55px}'); - break; - case 'cn1': - utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-1{padding-left:30px}'); - utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-2{padding-left:40px}'); - utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-3{padding-left:55px}'); - break; - case 'cn2': - utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-1{padding-left:40px}'); - utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-2{padding-left:55px}'); - utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-3{padding-left:68px}'); - break; - case 'num': - case 'num1': - utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-1{padding-left:25px}'); - break; - case 'num2': - utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-1{padding-left:35px}'); - utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-2{padding-left:40px}'); - break; - case 'dash': - utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft{padding-left:35px}'); - break; - case 'dot': - utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft{padding-left:20px}'); - } - } - }); - } - - -}); -UE.parse.register('vedio',function(utils){ - var video = this.root.getElementsByTagName('video'), - audio = this.root.getElementsByTagName('audio'); - - document.createElement('video');document.createElement('audio'); - if(video.length || audio.length){ - var sourcePath = utils.removeLastbs(this.rootPath), - jsurl = sourcePath + '/third-party/video-js/video.js', - cssurl = sourcePath + '/third-party/video-js/video-js.min.css', - swfUrl = sourcePath + '/third-party/video-js/video-js.swf'; - - if(window.videojs) { - videojs.autoSetup(); - } else { - utils.loadFile(document,{ - id : "video_css", - tag : "link", - rel : "stylesheet", - type : "text/css", - href : cssurl - }); - utils.loadFile(document,{ - id : "video_js", - src : jsurl, - tag : "script", - type : "text/javascript" - },function(){ - videojs.options.flash.swf = swfUrl; - videojs.autoSetup(); - }); - } - - } -}); - -})(); diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.parse.min.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.parse.min.js deleted file mode 100644 index 9fe9a08..0000000 --- a/manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.parse.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * UEditor - * version: ueditor - * build: Wed Aug 10 2016 11:06:19 GMT+0800 (CST) - */ - -!function(){!function(){UE=window.UE||{};var a=!!window.ActiveXObject,b={removeLastbs:function(a){return a.replace(/\/$/,"")},extend:function(a,b){for(var c=arguments,d=!!this.isBoolean(c[c.length-1])&&c[c.length-1],e=this.isBoolean(c[c.length-1])?c.length-1:c.length,f=1;f=c&&a===b)return d=e,!1}),d},hasClass:function(a,b){b=b.replace(/(^[ ]+)|([ ]+$)/g,"").replace(/[ ]{2,}/g," ").split(" ");for(var c,d=0,e=a.className;c=b[d++];)if(!new RegExp("\\b"+c+"\\b","i").test(e))return!1;return d-1==b.length},addClass:function(a,c){if(a){c=this.trim(c).replace(/[ ]{2,}/g," ").split(" ");for(var d,e=0,f=a.className;d=c[e++];)new RegExp("\\b"+d+"\\b").test(f)||(f+=" "+d);a.className=b.trim(f)}},removeClass:function(a,b){b=this.isArray(b)?b:this.trim(b).replace(/[ ]{2,}/g," ").split(" ");for(var c,d=0,e=a.className;c=b[d++];)e=e.replace(new RegExp("\\b"+c+"\\b"),"");e=this.trim(e).replace(/[ ]{2,}/g," "),a.className=e,!e&&a.removeAttribute("className")},on:function(a,c,d){var e=this.isArray(c)?c:c.split(/\s+/),f=e.length;if(f)for(;f--;)if(c=e[f],a.addEventListener)a.addEventListener(c,d,!1);else{d._d||(d._d={els:[]});var g=c+d.toString(),h=b.indexOf(d._d.els,a);d._d[g]&&h!=-1||(h==-1&&d._d.els.push(a),d._d[g]||(d._d[g]=function(a){return d.call(a.srcElement,a||window.event)}),a.attachEvent("on"+c,d._d[g]))}a=null},off:function(a,c,d){var e=this.isArray(c)?c:c.split(/\s+/),f=e.length;if(f)for(;f--;)if(c=e[f],a.removeEventListener)a.removeEventListener(c,d,!1);else{var g=c+d.toString();try{a.detachEvent("on"+c,d._d?d._d[g]:d)}catch(h){}if(d._d&&d._d[g]){var i=b.indexOf(d._d.els,a);i!=-1&&d._d.els.splice(i,1),0==d._d.els.length&&delete d._d[g]}}},loadFile:function(){function a(a,c){try{for(var d,e=0;d=b[e++];)if(d.doc===a&&d.url==(c.src||c.href))return d}catch(f){return null}}var b=[];return function(c,d,e){var f=a(c,d);if(f)return void(f.ready?e&&e():f.funs.push(e));if(b.push({doc:c,url:d.src||d.href,funs:[e]}),!c.body){var g=[];for(var h in d)"tag"!=h&&g.push(h+'="'+d[h]+'"');return void c.write("<"+d.tag+" "+g.join(" ")+" >")}if(!d.id||!c.getElementById(d.id)){var i=c.createElement(d.tag);delete d.tag;for(var h in d)i.setAttribute(h,d[h]);i.onload=i.onreadystatechange=function(){if(!this.readyState||/loaded|complete/.test(this.readyState)){if(f=a(c,d),f.funs.length>0){f.ready=1;for(var b;b=f.funs.pop();)b()}i.onload=i.onreadystatechange=null}},i.onerror=function(){throw Error("The load "+(d.href||d.src)+" fails,check the url")},c.getElementsByTagName("head")[0].appendChild(i)}}}()};b.each(["String","Function","Array","Number","RegExp","Object","Boolean"],function(a){b["is"+a]=function(b){return Object.prototype.toString.apply(b)=="[object "+a+"]"}});var c={};UE.parse={register:function(a,b){c[a]=b},load:function(a){b.each(c,function(c){c.call(a,b)})}},uParse=function(a,c){b.domReady(function(){var d;if(document.querySelectorAll)d=document.querySelectorAll(a);else if(/^#/.test(a))d=[document.getElementById(a.replace(/^#/,""))];else if(/^\./.test(a)){var d=[];b.each(document.getElementsByTagName("*"),function(b){b.className&&new RegExp("\\b"+a.replace(/^\./,"")+"\\b","i").test(b.className)&&d.push(b)})}else d=document.getElementsByTagName(a);b.each(d,function(d){UE.parse.load(b.extend({root:d,selector:a},c))})})}}(),UE.parse.register("insertcode",function(a){var b=this.root.getElementsByTagName("pre");if(b.length)if("undefined"==typeof XRegExp){var c,d;void 0!==this.rootPath?(c=a.removeLastbs(this.rootPath)+"/third-party/SyntaxHighlighter/shCore.js",d=a.removeLastbs(this.rootPath)+"/third-party/SyntaxHighlighter/shCoreDefault.css"):(c=this.highlightJsUrl,d=this.highlightCssUrl),a.loadFile(document,{id:"syntaxhighlighter_css",tag:"link",rel:"stylesheet",type:"text/css",href:d}),a.loadFile(document,{id:"syntaxhighlighter_js",src:c,tag:"script",type:"text/javascript",defer:"defer"},function(){a.each(b,function(a){a&&/brush/i.test(a.className)&&SyntaxHighlighter.highlight(a)})})}else a.each(b,function(a){a&&/brush/i.test(a.className)&&SyntaxHighlighter.highlight(a)})}),UE.parse.register("table",function(a){function b(b,c){var d,e=b;for(c=a.isArray(c)?c:[c];e;){for(d=0;d0){var g=a[c];a[c]=a[e],a[e]=g}return a}function e(b){if(!a.hasClass(b.rows[0],"firstRow")){for(var c=1;c - - - manong_parent - com.kendinghui - 1.0-SNAPSHOT - ../manong_parent/pom.xml - - 4.0.0 - manong_manager - pom - - manong_manager_pojo - manong_manager_mapper - manong_manager_service - manong_manager_web - - - - - - org.apache.tomcat.maven - tomcat7-maven-plugin - 2.2 - - 8080 - / - - - - - \ No newline at end of file diff --git a/manong_parent/pom.xml b/manong_parent/pom.xml deleted file mode 100644 index d52043c..0000000 --- a/manong_parent/pom.xml +++ /dev/null @@ -1,231 +0,0 @@ - - - 4.0.0 - com.kendinghui - manong_parent - 1.0-SNAPSHOT - pom - - - - ../manong_common - ../manong_manager - ../manong_rest - ../manong_sso - ../manong_redis - ../manong_search - ../manong_portal - - - - - 4.12 - 3.1.0 - 3.2 - 3.2.8 - 1.2.2 - 3.2.8 - 1.2.2 - 4.1.3.RELEASE - 1.0.9 - 5.1.32 - [2.8.11.1,) - 1.27-SNAPSHOT - [1.3.3,) - 2.2 - 3.1 - 1.6 - 1.1 - 1.1.2 - 2.3.28 - 2.5 - 4.1.1 - [4.3.6,) - 3.3 - 2.7 - - - - - - junit - junit - ${junit.version} - - - - org.mybatis - mybatis - ${mybatis.version} - - - - org.mybatis - mybatis-spring - ${mybatis-spring.version} - - - - org.springframework - spring-context - ${spring.version} - - - - org.springframework - spring-jdbc - ${spring.version} - - - - org.springframework - spring-aspects - ${spring.version} - - - - org.springframework - spring-webmvc - ${spring.version} - - - - org.springframework - spring-beans - ${spring.version} - - - - com.alibaba - druid - ${druid.version} - - - - mysql - mysql-connector-java - ${mysql.version} - - - - com.fasterxml.jackson.core - jackson-databind - ${jackson-databind} - - - - org.csource - fastdfs-client-java - ${fastdfs.version} - - - - commons-fileupload - commons-fileupload - ${commons-fileupload} - - - - commons-io - commons-io - ${commons-io} - - - - org.apache.commons - commons-lang3 - ${commons-lang3} - - - - commons-codec - commons-codec - ${commons-codec} - - - - commons-net - commons-net - ${commons-net.version} - - - - com.json - json - ${json.version} - - - - com.baidu - ueditor - ${ueditor.version} - - - - org.freemarker - freemarker - ${freemarker.version} - - - - org.springframework - spring-context-support - ${spring.version} - - - - javax.servlet - servlet-api - ${servlet-api} - - - - com.github.pagehelper - pagehelper - ${pagehelper.version} - - - - org.apache.httpcomponents - httpclient - ${httpclient.version} - - - - com.google.code.gson - gson - ${gson.version} - - - - - - - - org.apache.maven.plugins - maven-resources-plugin - ${maven-resources-plugin} - - UTF-8 - - - - - org.apache.maven.plugins - maven-compiler-plugin - ${maven-compiler-plugin} - - 1.8 - 1.8 - 1.8 - UTF-8 - - - - - - - - \ No newline at end of file diff --git a/manong_portal/pom.xml b/manong_portal/pom.xml deleted file mode 100644 index fd424dd..0000000 --- a/manong_portal/pom.xml +++ /dev/null @@ -1,107 +0,0 @@ - - - - manong_parent - com.kendinghui - 1.0-SNAPSHOT - ../manong_parent/pom.xml - - 4.0.0 - war - 1.0-SNAPSHOT - manong_portal - - - - - com.kendinghui - manong_common - 1.0-SNAPSHOT - - - - com.kendinghui - manong_manager_pojo - 1.0-SNAPSHOT - - - - commons-fileupload - commons-fileupload - - - - org.springframework - spring-context - - - - org.springframework - spring-jdbc - - - - org.springframework - spring-aspects - - - - org.springframework - spring-webmvc - - - - org.springframework - spring-beans - - - - commons-io - commons-io - - - - org.apache.commons - commons-lang3 - - - - org.freemarker - freemarker - - - - org.springframework - spring-context-support - - - - javax.servlet - servlet-api - provided - - - - com.google.code.gson - gson - - - - - - - - org.apache.tomcat.maven - tomcat7-maven-plugin - 2.2 - - 8081 - / - - - - - - \ No newline at end of file diff --git a/manong_portal/src/main/java/com/manong/portal/controller/FreemarkerTest.java b/manong_portal/src/main/java/com/manong/portal/controller/FreemarkerTest.java deleted file mode 100644 index 7991c8f..0000000 --- a/manong_portal/src/main/java/com/manong/portal/controller/FreemarkerTest.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.manong.portal.controller; - -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.RequestMapping; - -/** - * Created by wistbean on 2018/12/12. - */ -@Controller -public class FreemarkerTest { - - @RequestMapping("/hello") - public String sayHello(Model model){ - - model.addAttribute("name","wistbean"); - return "hello"; - - } - - @RequestMapping("/hi") - public String sayHi(Model model){ - - model.addAttribute("name","wistbean"); - return "hi"; - - } -} diff --git a/manong_portal/src/main/java/com/manong/portal/controller/IndexController.java b/manong_portal/src/main/java/com/manong/portal/controller/IndexController.java deleted file mode 100644 index fa05060..0000000 --- a/manong_portal/src/main/java/com/manong/portal/controller/IndexController.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.manong.portal.controller; - -import com.manong.portal.service.CategoriesService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.ui.ModelMap; -import org.springframework.web.bind.annotation.RequestMapping; -import pojo.Res_Categories; - -/** - * Created by wistbean on 2019/1/24. - */ -@Controller -public class IndexController { - - @Autowired - CategoriesService categoriesService; - - @RequestMapping("/home.html") - public String index(ModelMap modelMap){ - Res_Categories categories = categoriesService.getCategories(); - modelMap.addAttribute("categories",categories); - return "index"; - } - - -} diff --git a/manong_portal/src/main/java/com/manong/portal/service/CategoriesService.java b/manong_portal/src/main/java/com/manong/portal/service/CategoriesService.java deleted file mode 100644 index adacd49..0000000 --- a/manong_portal/src/main/java/com/manong/portal/service/CategoriesService.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.manong.portal.service; - -import pojo.Res_Categories; - -/** - * Created by wistbean on 2019/2/26. - */ -public interface CategoriesService { - - Res_Categories getCategories(); - -} diff --git a/manong_portal/src/main/java/com/manong/portal/service/impl/CategoriesServiceImpl.java b/manong_portal/src/main/java/com/manong/portal/service/impl/CategoriesServiceImpl.java deleted file mode 100644 index c77d27d..0000000 --- a/manong_portal/src/main/java/com/manong/portal/service/impl/CategoriesServiceImpl.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.manong.portal.service.impl; - -import com.manong.portal.service.CategoriesService; -import com.manong.portal.util.GsonUtils; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; -import pojo.Res_Categories; -import utils.HttpClientUtil; - -import java.io.IOException; - -/** - * Created by wistbean on 2019/2/26. - */ -@Service -public class CategoriesServiceImpl implements CategoriesService { - - @Value("${REST_URL}") - private String REST_URL; - - @Value("${REST_CAT_LIST}") - private String REST_CAT_LIST; - - @Override - public Res_Categories getCategories() { - - try { - String result = HttpClientUtil.httpGet(REST_URL + REST_CAT_LIST); - Res_Categories res_categories = GsonUtils.fromJson(Res_Categories.class, result); - return res_categories; - } catch (IOException e) { - e.printStackTrace(); - } - - return null; - } -} diff --git a/manong_portal/src/main/java/com/manong/portal/util/GsonUtils.java b/manong_portal/src/main/java/com/manong/portal/util/GsonUtils.java deleted file mode 100644 index 15f7250..0000000 --- a/manong_portal/src/main/java/com/manong/portal/util/GsonUtils.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.manong.portal.util; - -import com.google.gson.GsonBuilder; -import com.google.gson.*; - -/** - * Created by wistbean on 2019/2/26. - */ -public class GsonUtils { - - private static Gson gson = null; - - static { - GsonBuilder gsonBuilder = new GsonBuilder(); - gson = gsonBuilder.create(); - } - - public static String toJson(Object object){ - return gson.toJson(object); - } - - public static T fromJson(Class clazz,String json){ - return gson.fromJson(json,clazz); - } - -} diff --git a/manong_portal/src/main/resources/resource/resource.properties b/manong_portal/src/main/resources/resource/resource.properties deleted file mode 100644 index 2fae647..0000000 --- a/manong_portal/src/main/resources/resource/resource.properties +++ /dev/null @@ -1,5 +0,0 @@ -# REST -REST_URL = http://127.0.0.1:8088/rest/ - -# REST ȡƷ -REST_CAT_LIST = productCategries/list \ No newline at end of file diff --git a/manong_portal/src/main/resources/spring/applicationContext-service.xml b/manong_portal/src/main/resources/spring/applicationContext-service.xml deleted file mode 100644 index 63a54fc..0000000 --- a/manong_portal/src/main/resources/spring/applicationContext-service.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - classpath:resource/resource.properties - - - - - - \ No newline at end of file diff --git a/manong_portal/src/main/resources/spring/springmvc.xml b/manong_portal/src/main/resources/spring/springmvc.xml deleted file mode 100644 index 93e7ba4..0000000 --- a/manong_portal/src/main/resources/spring/springmvc.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/manong_portal/src/main/webapp/WEB-INF/css/index.css b/manong_portal/src/main/webapp/WEB-INF/css/index.css deleted file mode 100644 index 6b3493a..0000000 --- a/manong_portal/src/main/webapp/WEB-INF/css/index.css +++ /dev/null @@ -1,1539 +0,0 @@ -@font-face { - font-family: 'iconfont'; /* project id 603912 */ - src: url('https://at.alicdn.com/t/font_603912_75wblyti5vsll3di.eot'); - src: url('https://at.alicdn.com/t/font_603912_75wblyti5vsll3di.eot?#iefix') format('embedded-opentype'), - url('https://at.alicdn.com/t/font_603912_75wblyti5vsll3di.woff') format('woff'), - url('https://at.alicdn.com/t/font_603912_75wblyti5vsll3di.ttf') format('truetype'), - url('https://at.alicdn.com/t/font_603912_75wblyti5vsll3di.svg#iconfont') format('svg'); -} -/* 导航栏 */ -.daohang{ - width: 100%; - height: 35px; - background-color: #f5f5f5; - border-bottom: 1px solid #eee; -} -.daohang_main{ - width: 1230px; - height: 36px; - margin: 0 auto; - position: relative; -} -.daohang_left span{ - font-size: 12px; - color: #999; - text-align: center; - line-height: 36px; - margin-right: 20px; - float: left; -} -.daoHang_s2{ - cursor: pointer; -} -.daoHang_s2:hover{ - color: #ff6700; -} -.daohang_right{ - width:580px; - height: 35px; - /*background-color: pink;*/ - float: right; - padding-right: 35px; -} -.daohang_word{ - font-size: 12px; - color: #999; - line-height: 35px; - margin-left: 15px; - cursor: pointer; - display: inline-block; - float: left; -} -.daohang_wordLeft{ - margin-left: 3px; -} -.daoHangLine{ - width: 1px; - height: 28px; - margin-top: 3px; - float: left; - margin-left: 15px; - color: #999; -} -.daohang_zuhe1{ - font-size: 12px; - line-height: 35px; - float: left; - margin-left: 5px; - cursor: pointer; - color: #999; -} -.daohang_tibaio4{ - font-family: 'iconfont'; - float: left; - margin-left: 2px; -} -.daohang_color{ - color: #ff6700; - margin-left: 5px; -} -.daohang_color1{ - color: #ff6700; -} -.daohang_word:hover{ - color: #ff6700; -} -.daohang_hover:hover{ - width: 81px; - height: 33px; - border: 1px solid #b0b0b0; -} -.daohang_tibaio5{ - font-family: 'iconfont'; - float: left; - color: #ff6700; - margin-left: 15px; -} -.daohang_bottom{ - width: 400px; - height: 0px; - background: pink; - overflow: hidden; - position: absolute; - left: 0; - top: 35px; - z-index: 999; - text-align: center; - /* display: none; */ - transition: all 0.5s; -} -.daohang_bottom_goodlist{ - width: 100px; - height: 100px; - background: red; - float: left; - position: absolute; - left: 0; - top: 35px; - z-index: 999; - text-align: center; - display: none; -} -/* 搜索 */ -.sousuo{ - width: 100%; - height: 130px; - background-color: #fff; - position: absolute; - top: 35px; - left: 0; -} -.sousuo_main{ - width: 1230px; - height: 130px; - background-color: #fff; - margin: 0 auto; - /*padding-bottom:10px;*/ -} -.sousuo_fir{ - width: 240px; - height: 130px; - /* background-color: skyblue; */ - float: left; - cursor: pointer; -} -.sousuo_fir img{ - width: 240px; - height: 130px; -} -.sousuo_thr{ - width: 540px; - height: 100px; - /* background-color: green; */ - float: left; - margin: 0 auto; - margin-left: 160px; -} -.sousuo_top{ - width: 538px; - height: 38px; - /*background-color: yellow;*/ - margin-top: 30px; - border: 1px solid #FF0036; -} -.souSInput{ - width: 404px; - height: 36px; - /*background: skyblue;*/ - font-family: 'iconfont'; - font-size: 14px; - line-height: 36px; - float: left; - color: #bbbbbb; - font-style: normal; - font-weight: 200; - padding-left: 10px; - border: none; - outline: none; -} -.sousuo_org{ - width: 120px; - height: 38px; - background-color:#FF0036; - float: right; - cursor: pointer; - font-size: 18px; - color: #fff; - line-height: 38px; - text-align: center; - font-weight: bold; - outline: none; - border-style: none; -} -.sousuo_bottom{ - width: 540px; - height: 18px; - /* background-color:pink; */ - margin-top: 2px; -} -.sousuo_wenzi{ - color: #b0b0b0; - line-height: 18px; /* 文本垂直居中 */ - font-size: 12px; - float: left; - display: block; - cursor: pointer; -} -.sousuo_wenzi:hover{ - color: #ff6700; -} -.sousuo_line{ - width: 1px; - height: 12px; - background-color: #DDDDDD; - float: left; - margin-left: 10px; - margin-right:10px; - line-height: 18px; - margin-top:3px; -} - -/* banner */ -.banner{ - width: 100%; - height: 540px; - background-color: #fff; - /* margin: 0 auto; */ - position: absolute; - top: 165px; - left: 0; -} -.banner_main{ - width: 1230px; - height: 540px; - /* background-color: #fff; */ - margin: 0 auto; - position: relative; -} -.banner_top{ - width: 1230px; - height: 38px; - /* background-color: green; */ -} -.banner_top1{ - width: 200px; - height: 38px; - background-color: #FF0036; - float: left; - cursor: pointer; -} -.banner_top1 span{ - font-family: 'iconfont'; - font-size: 18px; - color: #fff; - line-height: 38px; - float: left; - margin-left: 9px; - margin-right: 6px; -} -.banner_top1 h1{ - font-size: 16px; - color: #fff; - line-height: 38px; - font-weight:700; - float: left; -} -.banner_top2{ - width: 850px; - height: 38px; - float: left; - padding-left: 10px; -} -.bannerImgs{ - width: 100px; - height: 30px; - padding:0 8px; - display: block; - float: left; -} -.banner_twenzi{ - font-size: 16px; - color: #333; - line-height: 38px; - font-weight: 500; - padding:0 8px; - display: block; - float: left; -} -.banner_twenzi:hover{ - color: #ff6700; -} -.banner_top3{ - width: 170px; - height: 38px; - /* background-color: pink; */ - float: right; - cursor: pointer; -} -.banner_top3 img{ - width: 170px; - height: 38px; -} -.banner_bottom{ - width: 1230px; - height: 460px; - background-color: #F2F2F2; - position: relative; -} -.banner_ce{ - width: 200px; - height: 500px; - /* background-color: pink; */ - float: left; - margin-top: 1px; - position: absolute; - left: 0; - top: 0; - z-index: 99; -} -.banner_kuai{ - width: 200px; - height: 37px; - background-color:rgba(0,0,0,0.6); - color: #fff; -} -.banner_kuai span{ - font-family: 'iconfont'; - color: #999; - float: left; - line-height: 37px; - margin-left: 8px; - margin-right: 3px; -} -.banner_kuai:hover{ - background-color: #fff; - color: #333; -} -.banner_kuai h1{ - font-size: 12px; - line-height: 32px; - font-weight: 400; - float: left; - float: left; - cursor: pointer; -} -.banner_kuai h1:hover{ - color: #FF0036; -} -.banner_kuai em{ - color: #fff; - line-height: 32px; - margin: 0 2px; - float: left; -} -.banner_kuai1{ - height: 35px; - float: left; -} -.banner_kuai1 h1{ - line-height: 31px; - float: left; -} - -.banner_zhong{ - width: 1230px; - height: 500px; - /* background-color: red; */ - float: left; - position: absolute; - top: 0; - left: 0; -} -.banner_img{ - width: 1230px; - height: 500px; - /* background-color: green; */ - position: absolute; - top: 0; - left: 0; -} -.banner_img li{ - width: 1230px; - height: 500px; - /* background-color: green; */ - position: absolute; - top: 0; - left: 0; - cursor: pointer; - transition: all 0.6s; - opacity: 0.5; -} -.banner_img li img{ - width: 1230px; - height: 500px; -} -.banner_img li.active{ - opacity: 1; - z-index: 15; -} -#banner_imgt{ - width: 150px; - height: 213px; - background-color: #F9F7F9; - /* background-color: rgba(0, 0, 0, .8); */ - float: right; - position: absolute; - top: 20px; - right: 40px; - cursor: pointer; -} -#banner_imgb{ - width: 150px; - height: 213px; - background-color: #F9F7F9; - /* background-color: rgba(0, 0, 0, .8); */ - float: right; - position: absolute; - bottom: 20px; - right: 40px; - cursor: pointer; -} -#banner_imgt img{ - width: 150px; - height: 213px; - } -#banner_imgb img{ - width: 150px; - height: 213px; -} -.banner_zhong:hover .prev,.banner_zhong:hover .next{ - opacity: 0.6; -} -.banner_lunbo{ - width: 250px; - height: 20px; - position: absolute; - bottom: 25px; - margin-left: 515px; - z-index: 99; -} -.banner_lunbo li{ - width: 25px; - height: 5px; - background-color: #000; - opacity: 0.3; - float:left; - color: #fff; - margin-top: 4px; - margin-left: 10px; -} -.banner_lunbo .active{ - background-color: #fff; -} -.banner_lunbo li:hover{ - background-color: #EE8902; -} -.piaofu{ - width: 1000px; - height: 500px; - background: #fff; - border: 1px solid #b0b0b0; - border-left: 0; - position: absolute; - left: 200px; - top: 0px; - z-index: 99999; - display: none; -} -.piaofu_left{ - width: 830px; - height: 100%; - /* background: red; */ - float: left; -} -.piaofu_right{ - width: 160px; - height: 426px; - background: #F2F2F2; - float: left; - padding-left: 10px; - padding-top: 14px; -} -.piaofu_right_top{ - width: 150px; - height: 200px; - background: #fff; -} -.piaofu_right_item1{ - width: 74px; - height: 49px; - border-right: 1px solid #eee; - border-bottom: 1px solid #eee; - float: left; -} -.piaofu_right_border{ - border-right: 0; -} -.piaofu_right_item1 img{ - width: 74px; - height: 30px; - margin-top: 10px; -} -.piaofu_right_mid{ - width: 150px; - height: 80px; - background: #fff; - margin-top: 10px; -} -.piaofu_right_mid img{ - width: 150px; - height: 80px; -} -.piaofu_left_top{ - width: 100%; - height: 35px; - /* background-color: skyblue; */ -} -.piaofu_left_top1{ - background-color: #ffaa01; - float: left; - margin-top: 8px; - margin-left: 25px; - padding: 2px 2px 2px 2px; -} -.piaofu_left_top1 span{ - font-size: 12px; - color: #fff; - margin-left: 5px; - margin-right: 5px; -} -.piaofu_left_item{ - width: 750px; - /* background: yellow; */ - /* height: 20px; */ - margin-left: 25px; - margin-top: 20px; -} -.piaofu_item_left{ - width: 50px; - /* background: plum; */ - float: left; - - font-size: 12px; - color: #333; -} -.piaofu_item_right{ - width: 640px; - /* height: 50px; */ - /* background: pink; */ - float: left; - margin-left: 30px; -} -.piaofu_item_right span{ - font-size: 12px; - color: #333; - margin-left: 10px; -} -.piaofu_left_line{ - width: 100%; - height: 1px; - background: #cac6c6; - margin-top: 15px; - margin-bottom: 15px; -} - -/*content开始*/ -.content{ - width: 100%; - position: absolute; - left: 0; - top: 705px; - background: #f5f5f5; -} -.container{ - width: 1230px; - margin: 0 auto; -} -.container_fir{ - width: 1230px; - height: 329px; - /*background: red;*/ - margin-top: 40px; -} -.container_fir_img{ - width: 600px; - height: 40px; - margin:0 auto; -} -.container_fir_img img{ - width: 600px; - height: 40px; -} -.container_fir_inner{ - width: 100%; - height:269px; - margin-top: 20px; - /*background: pink;*/ - margin-left: 0; -} -.containerFir_item{ - width: 238px; - height: 100%; - /*background: plum;*/ - float: left; - margin-right: 10px; - opacity: 1; - transition: all 0.5s; -} -.containerFir_item:hover{ - opacity: 0.5; -} -.containerFir_itemR{ - margin-right: 0; -} -.containerFir_item img{ - width: 238px; - height: 100%; -} -.container_sec{ - width: 1230px; - height: 370px; - /*background: red;*/ - margin-top: 34px; -} -.containerSec_item1{ - width:234px; - height: 100%; - /*background: skyblue;*/ - float: left; -} -.containerSec_item1_top{ - width: 100%; - height: 55px; - background: #fff; -} -.containerSec_word1{ - display: inline-block; - font-size: 18px; - font-weight: 700; - color: #333; - line-height: 54px; - height: 18px; - margin-left: 10px; - float: left; -} -.containerSec_word2{ - display: inline-block; - font-size: 14px; - font-weight: 700; - color: #333; - margin-left: 10px; - line-height: 54px; - float: left; -} -.containerSec_tubiao{ - display: inline-block; - font-family: 'iconfont'; - font-size: 14px; - color: #333; - margin-left: 10px; - line-height: 54px; - float: right; - margin-right: 3px; - cursor: pointer; - margin-right: 10px; -} -.containerSec_tubiaoB{ - margin-right: 25px; -} -.containerSec_item1_bottom{ - width: 100%; - height: 316px; - /*background: yellow;*/ - cursor: pointer; - opacity: 1; -} -.containerSec_item1_bottom:hover{ - opacity: 0.5; -} -.containerSec_item1_bottom img{ - width: 100%; - height: 316px; -} -.containerSec_item2{ - width:485px; - height: 100%; - /*background: skyblue;*/ - float: left; - margin-left: 13px; -} -.container_three{ - width:100%; - height: 327px; - /*background: pink;*/ - margin-top: 10px; -} -.container_three_item{ - width: 122px; - height: 108px; - background: #fff; - float: left; - border-bottom: 1px solid #dbdada; - border-right: 1px solid #dbdada; - position: relative; - cursor: pointer; -} -.container_three_item img{ - width: 100px; - height: 50px; - display: block; - position: absolute; - left: 11px; - top: 29px; -} -.container_three_hover{ - width: 122px; - height: 108px; - background: #333; - position: absolute; - left: 0; - top: 0; - opacity: 0; -} -.container_three_hover span{ - font-size: 12px; - color: #fff; - display: block; - margin-left: 30px; - margin-top: 30px; -} -.container_three_hoverY{ - width: 60px; - height: 16px; - background: #FF0036; - border-radius: 12px; - margin-top: 8px; - margin-left: 30px; - font-size: 12px; - color: #fff; - text-align: center; - line-height: 16px; -} -.container_three_item:hover .container_three_hover{ - opacity: 1; -} -.containerThree_item_last{ - width: 122px; - height: 108px; - background: #fff; - float: left; - border-bottom: 1px solid #dbdada; - border-right: 1px solid #dbdada; - position: relative; - cursor: pointer; - color: #999; -} -.containerThree_h{ - font-family: 'iconfont'; - text-align: center; - font-size: 36px; - margin-top: 28px; -} -.containerThree_item_last span{ - font-size: 16px; - margin-left: 40px; - /*transform: rotate(360deg);*/ -} -.containerThree_item_last:hover{ - background: red; - color: #fff; -} -.containerThree_item_last:hover .containerThree_item_last span{ - transform: rotate(180deg); -} - - - - - - - - - - - - - -.container_four{ - width: 1230px; - height: 665px; - margin-top: 20px; -} -.container_four_top{ - width: 100%; - height: 47px; -} -.container_four_topLeft{ - width: 214px; - height: 25px; - float: left; - margin-top: 16px; - /*background: red;*/ -} -.container_four_topLeft img{ - width: 214px; - height: 25px; -} -.container_four_topRight{ - /*width: 600px;*/ - height: 31px; - /*background: skyblue;*/ - float: right; - margin-top: 15px; - margin-right: 30px; -} -.container_four_topRight a{ - font-size: 14px; - color: #333; - margin-left: 10px; - line-height: 25px; - display: block; - float: left; -} -.container_four_topRight a:hover{ - /*text-decoration: underline;*/ - border-bottom: 1px solid #999; -} -.container_four_bottom{ - width: 100%; - height: 618px; -} -.container_four_bottomLeft{ - width: 235px; - height: 100%; - float: left; - position: relative; - cursor: pointer; - opacity: 1; - transition: all 0.5s; -} -.container_four_bottomLeft img{ - width: 235px; - height: 100%; - position: absolute; - left: 0; - top: 0; -} -.container_four_bottomLeft:hover{ - opacity: 0.5; -} -.cFour_bottomLeft_hover{ - width: 218px; - height: 64px; - background: rgba(0,0,0,0.4); - position: absolute; - left: 0px; - bottom: 20%; - z-index: 999; -} -.cFour_bottomLeft_hover1{ - width: 50px; - height: 44px; - background: rgba(0,0,0,.9); - float: left; - padding: 10px; -} -.cFour_bottomLeft_hover1 span{ - font-size: 18px; - color: #fff; - display: block; - margin-left: 5px; -} -.cFour_bottomLeft_hover2Z{ - float: left; -} -.cFour_bottomLeft_hover2{ - font-size: 18px; - color: #fff; - display: block; - margin-top: 8px; - margin-left: 8px; -} -.cFour_bottomLeft_hover3{ - margin-top: 3px; -} -.container_four_bottomRight{ - width: 995px; - height: 618px; - /*background: yellow;*/ - float: right; -} -.containerFour_bottomRight_1{ - width: 484px; - height:300px; - background: #fff; - float: left; - margin-left: 13px; -} -.containerFour_bottomRight_1Z{ - width: 462px; - height:282px; - margin:10px; - box-shadow: 0 0 8px 2px #999; -} -.containerFourbottomRight_1Top{ - width: 100%; - height:57px; - background: plum; -} -.containerFBRight_1Top_Left{ - width: 50%; - height:57px; - background: #d8d7d7; - float: left; - font-size: 18px; - color: #000; - text-align: center; - line-height: 57px; - cursor: pointer; -} -.containerFBRight_1Top_Left.active{ - background: #00b262; - color: #fff; -} -.containerFourbottomRight_1Bottom{ - width: 100%; - height: 225px; - background: #fff; - position: relative; -} -.conBottomZong{ - width: 100%; - height: 225px; - background: #fff; - position: absolute; - left: 0; - top: 0; -} -.conBottomZong.active{ - z-index: 9999; -} -.containerFour_jiantou{ - height: 87px; - width: 291px; - background-image: url("../img/content/four_jiantou.png"); - position: absolute; - top:75px; - left: 0; - z-index: 999; - cursor: pointer; -} -.cFour_jiantou_t{ - width: 240px; - height: 36px; - margin-top: 8px; - margin-left: 26px; -} -.cFour_jiantou_b{ - width: 140px; - height: 26px; - margin-top: 8px; - margin-left: 26px; - font-size: 18px; - letter-spacing: 1px; - color: #000; -} -.cFour_jiantou_tL{ - width: 23px; - height: 23px; - background-image: url("../img/content/four_tu.png"); - float: left; - margin-top: 8px; -} -.cFour_jiantou_t span{ - font-size: 24px; - color: #00B262; - font-weight: 700; - line-height: 36px; - margin-left: 8px; -} -.containerFour_Imgs{ - width: 200px; - height: 200px; - position: absolute; - top:10px; - right: 30px; -} -.containerFour_Imgs img{ - width: 200px; - height: 200px; - position: absolute; - left: 0; - top: 0; -} -.containerFour_bottomRight_2{ - width: 234px; - height:300px; - background: #fff; - float: left; - margin-left: 12px; - border:1px solid #fff; - cursor: pointer; -} -.containerFour_bottomRight_2:hover{ - border:1px solid #FF0036; -} -.containerFour_bottomRight_3{ - margin-top: 13px; -} -.cFour_botRight_2img{ - width: 185px; - height:185px; - margin-left: 25px; - margin-top: 20px; -} -.cFour_botRight_2img img{ - width: 185px; - height: 185px; - opacity: 1; - transition: all 0.5s; -} -.containerFour_bottomRight_2:hover .cFour_botRight_2img img{ - opacity: 0.5; -} -.cFour_botRight_2word1{ - width: 135px; - height: 40px; - font-size: 14px; - color: #333; - line-height: 20px; - overflow: hidden; - margin: 8px auto; -} -.cFour_botRight_2word2{ - width: 234px; - height: 18px; - font-size: 18px; - color: #FF0036; - text-align: center; - line-height: 18px; - margin: 10px auto; -} -.cFour_bottomLeft_youJT{ - font-family: 'iconfont'; - font-size: 36px; - position: absolute; - right: 15px; - bottom: 15px; - z-index: 999; - color: #fff; -} -.container_five{ - width:1230px; - height: 90px; - margin-top: 20px; - cursor: pointer; -} -.container_five img{ - width: 1230px; - height: 90px; -} -.container_four_topLeft1{ - width: 400px; -} -.container_six_1{ - width: 5px; - height: 100%; - background: #EA5F8D; - float: left; -} -.container_six_2{ - font-size: 18px; - color: #000; - float: left; - font-weight: 400; - margin-left: 10px; -} -.container_like{ - width: 1230px; - margin-top: 30px; -} -.conLike_top{ - width: 1230px; - height: 43px; - /*background: red;*/ -} -.conLike_top_main{ - width: 176px; - height: 23px; - /*background: yellow;*/ - margin:0 auto; -} -.conLikeTop_main_1{ - width: 30px; - height: 1px; - background: #979797; - float: left; - margin-top: 11px; -} -.conLikeTop_main_2{ - width: 30px; - height: 1px; - background: #979797; - float: right; - margin-top: 11px; -} -.conLikeTop_main_word{ - width: 96px; - height: 23px; - /*background: green;*/ - float: left; - margin-left: 10px; - font-size: 18px; - text-align: center; - color: #666; - font-family: 'iconfont'; -} -.conLikeTopMain_word1{ - color: #FF0036; -} -.containerFour_bottomRight_4{ - margin-left: 0; -} -.conLike_bottom{ - width: 1230px; - height: 5670px; -} -.container_bottom{ - width: 80px; - height: 45px; - /*background: skyblue;*/ - background-image: url("../img/content/tianmao.png"); - background-repeat: no-repeat; - margin:0 auto; - margin-top: 15px; -} -.map{ - width: 100%; - height: 562px; - background: #fff; -} -.map_top{ - width: 1190px; - height: 366px; - /*background: red;*/ - margin:0 auto; - position: relative; -} -.map_top_3{ - width: 70px; - height: 30px; - /*background: pink;*/ - position: absolute; - left: 50px; - bottom: 0; -} -.map_top_3 img{ - width: 70px; - height: 30px; -} -.map_top_1{ - width: 100%; - height: 100px; - /*background: pink;*/ - padding:30px 0; - border-bottom: 1px solid #ededed; -} -.map_top_1 img{ - width: 292px; - height: 100px; - cursor: pointer; -} -.map_top_2{ - width: 1190px; - height: 200px; - /*background-color: yellow;*/ - margin: 0 auto; -} -.map_three_1{ - width: 210px; - height: 180px; - /*background-color: plum;*/ - float: left; - margin-left: 20px; -} -.map_three_word1{ - font-size: 16px; - color: #646464; - font-weight: bold; - margin-top: 10px; -} -.map_three_word2{ - font-size: 12px; - color: #8b8b8b; - margin-top: 5px; - cursor: pointer; - display: block; -} -.map_three_word2:hover{ - color: #FF0036; -} -.map_three_IMGS{ - width: 105px; - height: 105px; - /*background: #ff6700;*/ - margin-top: 10px; -} -.map_three_IMGS img{ - width: 105px; - height: 105px; -} -.map_bottom{ - width: 100%; - height: 200px; - background: #000000; - border-top: 1px solid #FF0036; -} -.map_bottom_main{ - width: 1190px; - height: 180px; - margin:0 auto; - /*background:skyblue;*/ -} -.map_main_1{ - width: 1190px; - height: 35px; - /*background:yellow;*/ -} -.map_main_1 span{ - font-size: 12px; - color: #fff; - margin-right: 10px; - line-height: 35px; - cursor: pointer; -} -.map_main_2{ - width: 1190px; - height: 35px; - /*background:plum;*/ -} -.head_wenzi { - color: #fff; - line-height: 35px; - font-size: 12px; - float: left; -} -.head_line { - width: 1px; - height: 12px; - background-color: #fff; - float: left; - margin: 13px 7px 0; -} -.map_main_3{ - width: 1190px; - height: 110px; - /*background: pink;*/ -} -.map_main_31{ - width: 1190px; - height: 20px; - /*background: yellow;*/ - margin-top: 5px; -} -.map_main_31 img{ - width: 20px; - height: 20px; -} -.map_main_31 span{ - font-size: 12px; - color: #a4a4a4; - margin-right: 50px; - line-height: 20px; -} -.map_main_4{ - width: 1190px; - height: 30px; - /*background: red;*/ - margin-top: 10px; - cursor: pointer; -} -.map_main_4 img{ - width: 73px; - height: 30px; -} -/* topBar开始 */ -.topBar{ - width: 100%; - height: 50px; - background: #ca1e2d; - opacity: 0.95; - /*box-shadow: rgba(0,0,0,.2) 0 1px 5px;*/ - position: fixed; - top: 0; - left: 0; - z-index: 99999; - display: none; -} -.topBar_main{ - width: 1190px; - height: 100%; - /* background: skyblue; */ - margin: 0 auto; -} -.topBar_main_1{ - width: 190px; - height: 38px; - background: #F90; - float: left; - margin-top: 6px; - cursor: pointer; -} -.topBar_main_1 img{ - width: 190px; - height: 38px; -} -.topBar_main_2{ - width: 600px; - height: 34px; - background: #fff; - border-style: none; - float: left; - margin-top: 6px; - margin-left: 100px; - color: #666; - font-size: 12px; - outline: none; -} -.topBar_main_3{ - width: 120px; - height: 34px; - background: #d45761; - float: left; - margin-top: 6px; - - color: #fff; - font-size: 18px; - text-align: center; - line-height: 34px; - font-weight: bold; - cursor: pointer; -} -/* leftBar开始 */ -.leftBar{ - width: 36px; - height: 370px; - background: #f8f8f8; - border: 1px solid #ddd; - position: fixed; - top: 210px; - left: 50%; - bottom: 0px; - margin-left: -655px; - display: none; -} -.tips{ - width: 30px; - height: 36px; - background: rgba(0,0,0,0.6); - border-top: 1px solid #e8e8e8; - border-bottom: 1px solid #e8e8e8; - cursor: pointer; - padding: 0 3px; - text-align: center; - color: #fff; - font-size: 12px; -} -.tips.active{ - background: #ff37bb; - color: #fff; -} -.leftBar_footer_1{ - font-family: 'iconfont'; - font-size: 30px; - color: #fff; - line-height: 36px; -} -.tip_color{ - width: 30px; - height: 36px; - border-top: 1px solid #e8e8e8; - border-bottom: 1px solid #e8e8e8; - cursor: pointer; - padding: 0 3px; - text-align: center; - color: #fff; - font-size: 12px; - background: #ff0036; - text-align: center; - line-height: 36px; -} -.leftBar_footer{ - width: 30px; - height: 36px; - background: rgba(0,0,0,0.3); - border-top: 1px solid #e8e8e8; - border-bottom: 1px solid #e8e8e8; - cursor: pointer; - padding: 0 3px; - text-align: center; - color: #fff; - font-size: 12px; -} -/*右侧导航栏*/ -.rightBan{ - width: 35px; - height: 100%; - background: #000; - position: fixed; - top: 0; - right: 0; - z-index: 999999; -} -.rightBan_1{ - width: 35px; - height: 35px; - background: #000; - font-family: 'iconfont'; - font-size: 18px; - text-align: center; - line-height: 35px; - color: #e7e5e5; - cursor: pointer; -} -.rightBan_1:hover{ - background:#FF0036; -} -.rightBan_1 img{ - width: 20px; - height: 15px; -} -.rightBan_2{ - width: 35px; - height: 116px; - background: #000; - cursor: pointer; -} -.rightBan_2 span{ - font-size: 12px; - text-align: center; - /*line-height: 35px;*/ - color: #e7e5e5; - display: block; - margin: 0; -} -.rightBan_2_1ine{ - width: 28px; - height:1px; - margin:0 auto; - background: #666; - margin-bottom: 10px; -} -.rightBan_2_1ine2{ - margin-bottom: 0px; - margin-top: 23px; -} -.rightBan_1_color{ - width: 35px; - height: 35px; - font-family: 'iconfont'; - font-size: 20px; - color: #FF0036; - text-align: center; - line-height: 35px; - cursor: pointer; -} -.rightBan_2:hover{ - background:#FF0036; -} -.rightBan_2:hover .rightBan_1_color{ - color: #e7e5e5; -} -.rightB_fir{ - position: absolute; - left: 0; - top: 28%; -} -.rightB_sec{ - position: absolute; - left: 0; - top: 33%; -} -.rightB_thr{ - position: absolute; - left: 0; - bottom: 0; -} -.rightB_four{ - position: absolute; - left: 0; - top: 52%; -} -.rightB_fir1{ - position: absolute; - right: 25px; - top: 28%; -} -.rightB_four1{ - position: absolute; - right: 25px; - top: 52%; -} -.rightB_thr1{ - position: absolute; - right: 25px; - bottom: 0; -} -.piaofu1{ - width:100px; - height: 35px; - background-image: url("../img/qipao.png"); - font-size: 10px; - text-align: center; - line-height: 35px; - color: #fff; - opacity: 0; - transition: all 0.5s; - margin-right: 50px; - position: relative; -} -.piaofu2{ - margin-right: 0px; -} -.piaofu1 img{ - width: 100px; - height: 35px; -} -.piaofu_erweima{ - width: 154px; - height: 207px; - background-image: url("../img/erWeiMaBackground.png"); - position: absolute; - bottom: 0; - right: 0; -} -.piaofu_erweima img{ - width: 144px; - height: 144px; - margin-top: 50px; -} \ No newline at end of file diff --git a/manong_portal/src/main/webapp/WEB-INF/css/public.css b/manong_portal/src/main/webapp/WEB-INF/css/public.css deleted file mode 100644 index 08e5532..0000000 --- a/manong_portal/src/main/webapp/WEB-INF/css/public.css +++ /dev/null @@ -1,10 +0,0 @@ -*{ - margin:0; - /* body -8px */ - text-decoration: none;/*a */ - /* 字体回复默认值 */ - font-style: normal; - padding: 0;/* 标题 */ - list-style: none;/* body -8px */ - -} \ No newline at end of file diff --git a/manong_portal/src/main/webapp/WEB-INF/ftl/hello.ftl b/manong_portal/src/main/webapp/WEB-INF/ftl/hello.ftl deleted file mode 100644 index d01dff9..0000000 --- a/manong_portal/src/main/webapp/WEB-INF/ftl/hello.ftl +++ /dev/null @@ -1,5 +0,0 @@ -

    hello ${name}

    - -<#list ["aaa","bbbb","ccc"] as x> - ${x} - \ No newline at end of file diff --git a/manong_portal/src/main/webapp/WEB-INF/ftl/index.ftl b/manong_portal/src/main/webapp/WEB-INF/ftl/index.ftl deleted file mode 100644 index 04168ab..0000000 --- a/manong_portal/src/main/webapp/WEB-INF/ftl/index.ftl +++ /dev/null @@ -1,2357 +0,0 @@ - - - - - - - 天猫tmall.com--理想的生活 - - - - - - -
    -
    -
    - 嗨!欢迎来天猫 - 请登录 - 免费注册 -
    - -
    -
    -
    - 我的淘宝 - -
    -
    - -
    -
    - - 购物车 0件 - -
    -
    - -
    -
    - 收藏夹 - -
    -
    -
    |
    -
    -
    - - 手机版 -
    -
    - - 淘宝网 - -
    -
    - 商家支持 - -
    -
    - -
    -
    - - 网站导航 - -
    -
    -
    - -
    -
    1
    -
    2
    -
    3
    -
    4
    -
    5
    -
    6
    -
    7
    -
    -
    -
    - - - -
    -
    -
    - -
    - -
    -
    - - -
    搜索
    -
    - -
    -
    -
    - - - - - - - -
    -
    -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    -
    -
    -
    - 品牌闪购 - BRAND SALE - -
    -
    - -
    -
    -
    -
    - 聚名品 - LUXURY CHANNEL - 更多  -
    -
    - -
    -
    -
    -
    - 品牌活动 - BRAND ACTIVITY - 更多  -
    -
    - -
    -
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    - -
    - 优惠券 ¥30 -
    点击进入
    -
    -
    -
    -
    - 换一批 -
    -
    -
    -
    - -
    -
    - -
    -
    天猫超市
    -
    - 短促美食囤 - 一元疯抢 -
    -
    -
    -
    -
    -
    -
    -
    -
    今日疯抢
    -
    量版装
    -
    -
    -
    -
    -
    -
    - 限时限量抢购 -
    -
    限时第二件0元
    -
    -
    - -
    -
    -
    -
    -
    -
    - 限时限量抢购 -
    -
    一元超值疯抢中
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    - 口红 - YSL - 面膜 - 防嗮 - 迪奥 -
    -
    -
    -
    - -
    -
    天猫超市
    -
    - 短促美食囤 - 一元疯抢 -
    -
    -
    -
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    美丽人生
    -
    FASHION & BEAUTY
    -
    - -
    -
    -
    - -
    -
    天猫超市
    -
    - 短促美食囤 - 一元疯抢 -
    -
    -
    -
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    潮电酷玩
    -
    ELECTRONICS
    -
    - -
    -
    -
    - -
    -
    天猫超市
    -
    - 短促美食囤 - 一元疯抢 -
    -
    -
    -
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    居家生活
    -
    GROCERY & HEALTH
    -
    - -
    -
    -
    - -
    -
    运动户外
    -
    - 短促美食囤 - 一元疯抢 -
    -
    -
    -
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    打造爱巢
    -
    HOME
    -
    - -
    -
    -
    - -
    -
    乐活烘焙
    -
    - 短促美食囤 - 一元疯抢 -
    -
    -
    -
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    户外出行
    -
    OUTDOORS & AUTOMOTIVE
    -
    - -
    -
    -
    - -
    -
    户外出行
    -
    - 短促美食囤 - 一元疯抢 -
    -
    -
    -
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - 猜你喜欢 -
    -
    -
    -
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    - -
    -
    - 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g -
    -
    ¥22.8
    -
    -
    -
    -
    -
    - - -
    -
    导航
    -
    天猫超市
    -
    天猫国际
    -
    美丽人生
    -
    潮电酷玩
    -
    居家生活
    -
    打造爱巢
    -
    户外出行
    -
    猜你喜欢
    - -
    - -
    -
    -
    -
    - - - - -
    - -
    - -
    -
    -
    -
    -
    - 关于天猫 - 帮助中心 - 开放平台 - 诚聘英才 - 联系我们 - 网站合作 - 法律声明 - 隐私权政策 - 知识产权 - 廉正举报 - 规则意见征集 -
    -
    - 阿里巴巴集团 -
    - - 淘宝网 -
    - - 天猫 -
    - - 聚划算 -
    - - 全球通卖通 -
    - - 阿里巴巴交易市场 -
    - - 1688 -
    - - 阿里妈妈 -
    - - 飞猪 -
    - - 阿里云计算 -
    - - Alios -
    - - 阿里通信 -
    - - 万网 -
    - - 高德 -
    - - UC -
    - - 友盟 -
    - - 虾米 -
    - - 阿里星球 -
    - - 来往 -
    - - 钉钉 -
    - - 支付宝 -
    -
    -
    - 新增电信业务经营许可证:浙B2-20110446 - 网络文化经营许可证:浙网文[2015]0295-024号 - 12318举报 - 互联网违法和不良信息举报电话:0571-81683755 bjxxjb@alibaba-inc.com -
    -
    - 互联网药品信息资质证书编号:浙-(经营性)-2017-0005 - - 网络文化经营许可证:浙网文[2015]0295-024号 - (浙)网械平台备字[2018]第00002号 -
    -
    - @2003-2018 TMALL.COM 版权所有 -
    -
    - - -
    -
    -
    -
    -
    -
    - - - -
    -
    -
    - -
    - -
    搜索
    -
    -
    - - - -
    -
    -
    - -
    -
    -
    -
    -
    -
    - - - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    会员权益
    -
    -
    -
    我的资产
    -
    我的收藏
    -
    我看过的
    -
    我要充值
    -
    -
    -
    用户反馈
    -
    -
    - -
    -
    -
    返回顶部
    -
    -
    - - - - \ No newline at end of file diff --git a/manong_portal/src/main/webapp/WEB-INF/js/index.js b/manong_portal/src/main/webapp/WEB-INF/js/index.js deleted file mode 100644 index 7363d53..0000000 --- a/manong_portal/src/main/webapp/WEB-INF/js/index.js +++ /dev/null @@ -1,204 +0,0 @@ -//banner -{ - const imgs = document.querySelectorAll(".banner_img li"); //不会被修改,常量 - let pagers = document.querySelectorAll(".banner_lunbo li"); - let banner = document.querySelector(".banner_bottom"); //设置banner,鼠标放上去,停止播放,鼠标移开开始播放。 - - pagers.forEach(function (ele, index) { //形参,遍历数。 - ele.onmouseenter = function () { - for (let i = 0; i < imgs.length; i++) { - imgs[i].classList.remove("active"); - pagers[i].classList.remove("active"); //移除active - } - this.classList.add("active"); - imgs[index].classList.add("active"); //添加active - n = index; //n从当前位子自加。 - } - }) - - // BOM_window.setInterval();//让代码自动执行 自动轮播 - let n = 0; //访问n,自加 - let t = setInterval(move, 3000) - - function move() { - n++; - //n超范围判断 - // n=n%5; - if (n === imgs.length) { - n = 0; //赋值 - } - //左按钮,点到第一张时跳转到第五章 - if (n < 0) { - n = imgs.length - 1; - } - for (let i = 0; i < imgs.length; i++) { - imgs[i].classList.remove("active"); - pagers[i].classList.remove("active"); - } - imgs[n].classList.add("active"); - pagers[n].classList.add("active"); - } - - banner.onmouseenter=function(){ - clearInterval(t); - } - banner.onmouseleave=function(){ - t=setInterval(move,3000); - } -} -//banner 侧导航点击出现内容 -{ - let lab=document.querySelectorAll(".banner_ce li"); - let menus=document.querySelectorAll(".piaofu"); - let obj=menus[0]; - lab.forEach(function(ele,index){ - ele.onmouseenter=function(){ - menus[index].style.display="block"; - } - ele.onmouseleave=function(){ - menus[index].style.display="none"; - } - }) -} -//某一位置出现导航栏(上导航、左导航),以及点击回到顶部 -{ - let topBar=document.querySelector(".topBar"); - let leftBar=document.querySelector(".leftBar"); - window.onscroll=function(){ - let st=document.documentElement.scrollTop; - if(st>700){ - topBar.style.display="block"; - }else{ - topBar.style.display="none"; - } - - if(st>1000&&st<12400){ - leftBar.style.display="block"; - }else{ - leftBar.style.display="none"; - } - } - - let leftBar_footer=document.querySelector(".leftBar_footer"); - leftBar_footer.onclick=function(){ - let st=document.documentElement.scrollTop; - let t=setInterval(function(){ - st-=200; - if(st<0){ - st=0; - clearInterval(t); - } - document.documentElement.scrollTop=st; - },25) - } -} -//跳楼机 -{ - let container=document.querySelectorAll(".content_container"); - let tips=document.querySelectorAll(".tips"); - let flag=true; - tips.forEach(function(ele,index){ - ele.onclick=function(){ - flag=false; - let ot=container[index].offsetTop-20; - // document.documentElement.scrollTop=ot; - let now=document.documentElement.scrollTop; - let speed=(ot-now)/8; - let time=0; - let t=setInterval(function(){ - time+=25; - now+=speed; - if(time===200){ - clearInterval(t); - flag=true; - } - document.documentElement.scrollTop=now; - },25) - } - }); - //给同一内容添加很多不同事件处理事件 - window.addEventListener("scroll",function(){ - if(flag){ - let st=document.documentElement.scrollTop; - // let obj=tips[0]; - for(let i=0;icontainer[i].offsetTop-80){ - for(let i=0;i - - manong-portal - - index.html - index.htm - index.jsp - - - - - contextConfigLocation - classpath:spring/applicationContext-*.xml - - - org.springframework.web.context.ContextLoaderListener - - - - CharacterEncodingFilter - org.springframework.web.filter.CharacterEncodingFilter - - encoding - utf-8 - - - - CharacterEncodingFilter - /* - - - - manong-portal - org.springframework.web.servlet.DispatcherServlet - - - contextConfigLocation - classpath:spring/springmvc.xml - - 1 - - - manong-portal - / - - \ No newline at end of file diff --git a/manong_portal/src/main/webapp/index.jsp b/manong_portal/src/main/webapp/index.jsp deleted file mode 100644 index a3d7841..0000000 --- a/manong_portal/src/main/webapp/index.jsp +++ /dev/null @@ -1,7 +0,0 @@ -<%-- - User: wistbean - Date: 2019/1/15 - Time: 18:47 ---%> -<%@ page contentType="text/html;charset=UTF-8" language="java" %> - \ No newline at end of file diff --git a/manong_portal/target/classes/resource/resource.properties b/manong_portal/target/classes/resource/resource.properties deleted file mode 100644 index 2fae647..0000000 --- a/manong_portal/target/classes/resource/resource.properties +++ /dev/null @@ -1,5 +0,0 @@ -# REST -REST_URL = http://127.0.0.1:8088/rest/ - -# REST ȡƷ -REST_CAT_LIST = productCategries/list \ No newline at end of file diff --git a/manong_portal/target/classes/spring/applicationContext-service.xml b/manong_portal/target/classes/spring/applicationContext-service.xml deleted file mode 100644 index 63a54fc..0000000 --- a/manong_portal/target/classes/spring/applicationContext-service.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - classpath:resource/resource.properties - - - - - - \ No newline at end of file diff --git a/manong_portal/target/classes/spring/springmvc.xml b/manong_portal/target/classes/spring/springmvc.xml deleted file mode 100644 index 93e7ba4..0000000 --- a/manong_portal/target/classes/spring/springmvc.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/manong_portal/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/manong_portal/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst deleted file mode 100644 index 81ad9c8..0000000 --- a/manong_portal/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ /dev/null @@ -1,5 +0,0 @@ -com/manong/portal/util/GsonUtils.class -com/manong/portal/service/impl/CategoriesServiceImpl.class -com/manong/portal/controller/FreemarkerTest.class -com/manong/portal/controller/IndexController.class -com/manong/portal/service/CategoriesService.class diff --git a/manong_portal/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/manong_portal/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst deleted file mode 100644 index d3689a3..0000000 --- a/manong_portal/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ /dev/null @@ -1,5 +0,0 @@ -/home/wistbean/manong-ssm/manong_portal/src/main/java/com/manong/portal/controller/IndexController.java -/home/wistbean/manong-ssm/manong_portal/src/main/java/com/manong/portal/service/impl/CategoriesServiceImpl.java -/home/wistbean/manong-ssm/manong_portal/src/main/java/com/manong/portal/controller/FreemarkerTest.java -/home/wistbean/manong-ssm/manong_portal/src/main/java/com/manong/portal/service/CategoriesService.java -/home/wistbean/manong-ssm/manong_portal/src/main/java/com/manong/portal/util/GsonUtils.java diff --git a/manong_portal/target/tomcat/conf/logging.properties b/manong_portal/target/tomcat/conf/logging.properties deleted file mode 100644 index 76c9512..0000000 --- a/manong_portal/target/tomcat/conf/logging.properties +++ /dev/null @@ -1,64 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You 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. - -handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler - -.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler - -############################################################ -# Handler specific properties. -# Describes specific configuration info for Handlers. -############################################################ - -1catalina.org.apache.juli.FileHandler.level = FINE -1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs -1catalina.org.apache.juli.FileHandler.prefix = catalina. - -2localhost.org.apache.juli.FileHandler.level = FINE -2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs -2localhost.org.apache.juli.FileHandler.prefix = localhost. - -3manager.org.apache.juli.FileHandler.level = FINE -3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs -3manager.org.apache.juli.FileHandler.prefix = manager. - -4host-manager.org.apache.juli.FileHandler.level = FINE -4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs -4host-manager.org.apache.juli.FileHandler.prefix = host-manager. - -java.util.logging.ConsoleHandler.level = FINE -java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter - - -############################################################ -# Facility specific properties. -# Provides extra control for each logger. -############################################################ - -org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO -org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler - -org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO -org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler - -org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO -org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.FileHandler - -# For example, set the org.apache.catalina.util.LifecycleBase logger to log -# each component that extends LifecycleBase changing state: -#org.apache.catalina.util.LifecycleBase.level = FINE - -# To see debug messages in TldLocationsCache, uncomment the following line: -#org.apache.jasper.compiler.TldLocationsCache.level = FINE diff --git a/manong_portal/target/tomcat/conf/tomcat-users.xml b/manong_portal/target/tomcat/conf/tomcat-users.xml deleted file mode 100644 index 7114f5d..0000000 --- a/manong_portal/target/tomcat/conf/tomcat-users.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - diff --git a/manong_portal/target/tomcat/conf/web.xml b/manong_portal/target/tomcat/conf/web.xml deleted file mode 100644 index cc8383c..0000000 --- a/manong_portal/target/tomcat/conf/web.xml +++ /dev/null @@ -1,4283 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - default - org.apache.catalina.servlets.DefaultServlet - - debug - 0 - - - listings - false - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - jsp - org.apache.jasper.servlet.JspServlet - - fork - false - - - xpoweredBy - false - - 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - default - / - - - - - jsp - *.jsp - *.jspx - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 30 - - - - - - - - - - - - 123 - application/vnd.lotus-1-2-3 - - - 3dml - text/vnd.in3d.3dml - - - 3g2 - video/3gpp2 - - - 3gp - video/3gpp - - - 7z - application/x-7z-compressed - - - aab - application/x-authorware-bin - - - aac - audio/x-aac - - - aam - application/x-authorware-map - - - aas - application/x-authorware-seg - - - abs - audio/x-mpeg - - - abw - application/x-abiword - - - ac - application/pkix-attr-cert - - - acc - application/vnd.americandynamics.acc - - - ace - application/x-ace-compressed - - - acu - application/vnd.acucobol - - - acutc - application/vnd.acucorp - - - adp - audio/adpcm - - - aep - application/vnd.audiograph - - - afm - application/x-font-type1 - - - afp - application/vnd.ibm.modcap - - - ahead - application/vnd.ahead.space - - - ai - application/postscript - - - aif - audio/x-aiff - - - aifc - audio/x-aiff - - - aiff - audio/x-aiff - - - aim - application/x-aim - - - air - application/vnd.adobe.air-application-installer-package+zip - - - ait - application/vnd.dvb.ait - - - ami - application/vnd.amiga.ami - - - anx - application/annodex - - - apk - application/vnd.android.package-archive - - - application - application/x-ms-application - - - apr - application/vnd.lotus-approach - - - art - image/x-jg - - - asc - application/pgp-signature - - - asf - video/x-ms-asf - - - asm - text/x-asm - - - aso - application/vnd.accpac.simply.aso - - - asx - video/x-ms-asf - - - atc - application/vnd.acucorp - - - atom - application/atom+xml - - - atomcat - application/atomcat+xml - - - atomsvc - application/atomsvc+xml - - - atx - application/vnd.antix.game-component - - - au - audio/basic - - - avi - video/x-msvideo - - - avx - video/x-rad-screenplay - - - aw - application/applixware - - - axa - audio/annodex - - - axv - video/annodex - - - azf - application/vnd.airzip.filesecure.azf - - - azs - application/vnd.airzip.filesecure.azs - - - azw - application/vnd.amazon.ebook - - - bat - application/x-msdownload - - - bcpio - application/x-bcpio - - - bdf - application/x-font-bdf - - - bdm - application/vnd.syncml.dm+wbxml - - - bed - application/vnd.realvnc.bed - - - bh2 - application/vnd.fujitsu.oasysprs - - - bin - application/octet-stream - - - bmi - application/vnd.bmi - - - bmp - image/bmp - - - body - text/html - - - book - application/vnd.framemaker - - - box - application/vnd.previewsystems.box - - - boz - application/x-bzip2 - - - bpk - application/octet-stream - - - btif - image/prs.btif - - - bz - application/x-bzip - - - bz2 - application/x-bzip2 - - - c - text/x-c - - - c11amc - application/vnd.cluetrust.cartomobile-config - - - c11amz - application/vnd.cluetrust.cartomobile-config-pkg - - - c4d - application/vnd.clonk.c4group - - - c4f - application/vnd.clonk.c4group - - - c4g - application/vnd.clonk.c4group - - - c4p - application/vnd.clonk.c4group - - - c4u - application/vnd.clonk.c4group - - - cab - application/vnd.ms-cab-compressed - - - cap - application/vnd.tcpdump.pcap - - - car - application/vnd.curl.car - - - cat - application/vnd.ms-pki.seccat - - - cc - text/x-c - - - cct - application/x-director - - - ccxml - application/ccxml+xml - - - cdbcmsg - application/vnd.contact.cmsg - - - cdf - application/x-cdf - - - cdkey - application/vnd.mediastation.cdkey - - - cdmia - application/cdmi-capability - - - cdmic - application/cdmi-container - - - cdmid - application/cdmi-domain - - - cdmio - application/cdmi-object - - - cdmiq - application/cdmi-queue - - - cdx - chemical/x-cdx - - - cdxml - application/vnd.chemdraw+xml - - - cdy - application/vnd.cinderella - - - cer - application/pkix-cert - - - cgm - image/cgm - - - chat - application/x-chat - - - chm - application/vnd.ms-htmlhelp - - - chrt - application/vnd.kde.kchart - - - cif - chemical/x-cif - - - cii - application/vnd.anser-web-certificate-issue-initiation - - - cil - application/vnd.ms-artgalry - - - cla - application/vnd.claymore - - - class - application/java - - - clkk - application/vnd.crick.clicker.keyboard - - - clkp - application/vnd.crick.clicker.palette - - - clkt - application/vnd.crick.clicker.template - - - clkw - application/vnd.crick.clicker.wordbank - - - clkx - application/vnd.crick.clicker - - - clp - application/x-msclip - - - cmc - application/vnd.cosmocaller - - - cmdf - chemical/x-cmdf - - - cml - chemical/x-cml - - - cmp - application/vnd.yellowriver-custom-menu - - - cmx - image/x-cmx - - - cod - application/vnd.rim.cod - - - com - application/x-msdownload - - - conf - text/plain - - - cpio - application/x-cpio - - - cpp - text/x-c - - - cpt - application/mac-compactpro - - - crd - application/x-mscardfile - - - crl - application/pkix-crl - - - crt - application/x-x509-ca-cert - - - cryptonote - application/vnd.rig.cryptonote - - - csh - application/x-csh - - - csml - chemical/x-csml - - - csp - application/vnd.commonspace - - - css - text/css - - - cst - application/x-director - - - csv - text/csv - - - cu - application/cu-seeme - - - curl - text/vnd.curl - - - cww - application/prs.cww - - - cxt - application/x-director - - - cxx - text/x-c - - - dae - model/vnd.collada+xml - - - daf - application/vnd.mobius.daf - - - dataless - application/vnd.fdsn.seed - - - davmount - application/davmount+xml - - - dcr - application/x-director - - - dcurl - text/vnd.curl.dcurl - - - dd2 - application/vnd.oma.dd2+xml - - - ddd - application/vnd.fujixerox.ddd - - - deb - application/x-debian-package - - - def - text/plain - - - deploy - application/octet-stream - - - der - application/x-x509-ca-cert - - - dfac - application/vnd.dreamfactory - - - dib - image/bmp - - - dic - text/x-c - - - dir - application/x-director - - - dis - application/vnd.mobius.dis - - - dist - application/octet-stream - - - distz - application/octet-stream - - - djv - image/vnd.djvu - - - djvu - image/vnd.djvu - - - dll - application/x-msdownload - - - dmg - application/octet-stream - - - dmp - application/vnd.tcpdump.pcap - - - dms - application/octet-stream - - - dna - application/vnd.dna - - - doc - application/msword - - - docm - application/vnd.ms-word.document.macroenabled.12 - - - docx - application/vnd.openxmlformats-officedocument.wordprocessingml.document - - - dot - application/msword - - - dotm - application/vnd.ms-word.template.macroenabled.12 - - - dotx - application/vnd.openxmlformats-officedocument.wordprocessingml.template - - - dp - application/vnd.osgi.dp - - - dpg - application/vnd.dpgraph - - - dra - audio/vnd.dra - - - dsc - text/prs.lines.tag - - - dssc - application/dssc+der - - - dtb - application/x-dtbook+xml - - - dtd - application/xml-dtd - - - dts - audio/vnd.dts - - - dtshd - audio/vnd.dts.hd - - - dump - application/octet-stream - - - dv - video/x-dv - - - dvb - video/vnd.dvb.file - - - dvi - application/x-dvi - - - dwf - model/vnd.dwf - - - dwg - image/vnd.dwg - - - dxf - image/vnd.dxf - - - dxp - application/vnd.spotfire.dxp - - - dxr - application/x-director - - - ecelp4800 - audio/vnd.nuera.ecelp4800 - - - ecelp7470 - audio/vnd.nuera.ecelp7470 - - - ecelp9600 - audio/vnd.nuera.ecelp9600 - - - ecma - application/ecmascript - - - edm - application/vnd.novadigm.edm - - - edx - application/vnd.novadigm.edx - - - efif - application/vnd.picsel - - - ei6 - application/vnd.pg.osasli - - - elc - application/octet-stream - - - eml - message/rfc822 - - - emma - application/emma+xml - - - eol - audio/vnd.digital-winds - - - eot - application/vnd.ms-fontobject - - - eps - application/postscript - - - epub - application/epub+zip - - - es3 - application/vnd.eszigno3+xml - - - esf - application/vnd.epson.esf - - - et3 - application/vnd.eszigno3+xml - - - etx - text/x-setext - - - exe - application/octet-stream - - - exi - application/exi - - - ext - application/vnd.novadigm.ext - - - ez - application/andrew-inset - - - ez2 - application/vnd.ezpix-album - - - ez3 - application/vnd.ezpix-package - - - f - text/x-fortran - - - f4v - video/x-f4v - - - f77 - text/x-fortran - - - f90 - text/x-fortran - - - fbs - image/vnd.fastbidsheet - - - fcs - application/vnd.isac.fcs - - - fdf - application/vnd.fdf - - - fe_launch - application/vnd.denovo.fcselayout-link - - - fg5 - application/vnd.fujitsu.oasysgp - - - fgd - application/x-director - - - fh - image/x-freehand - - - fh4 - image/x-freehand - - - fh5 - image/x-freehand - - - fh7 - image/x-freehand - - - fhc - image/x-freehand - - - fig - application/x-xfig - - - flac - audio/flac - - - fli - video/x-fli - - - flo - application/vnd.micrografx.flo - - - flv - video/x-flv - - - flw - application/vnd.kde.kivio - - - flx - text/vnd.fmi.flexstor - - - fly - text/vnd.fly - - - fm - application/vnd.framemaker - - - fnc - application/vnd.frogans.fnc - - - for - text/x-fortran - - - fpx - image/vnd.fpx - - - frame - application/vnd.framemaker - - - fsc - application/vnd.fsc.weblaunch - - - fst - image/vnd.fst - - - ftc - application/vnd.fluxtime.clip - - - fti - application/vnd.anser-web-funds-transfer-initiation - - - fvt - video/vnd.fvt - - - fxp - application/vnd.adobe.fxp - - - fxpl - application/vnd.adobe.fxp - - - fzs - application/vnd.fuzzysheet - - - g2w - application/vnd.geoplan - - - g3 - image/g3fax - - - g3w - application/vnd.geospace - - - gac - application/vnd.groove-account - - - gbr - application/rpki-ghostbusters - - - gdl - model/vnd.gdl - - - geo - application/vnd.dynageo - - - gex - application/vnd.geometry-explorer - - - ggb - application/vnd.geogebra.file - - - ggt - application/vnd.geogebra.tool - - - ghf - application/vnd.groove-help - - - gif - image/gif - - - gim - application/vnd.groove-identity-message - - - gmx - application/vnd.gmx - - - gnumeric - application/x-gnumeric - - - gph - application/vnd.flographit - - - gqf - application/vnd.grafeq - - - gqs - application/vnd.grafeq - - - gram - application/srgs - - - gre - application/vnd.geometry-explorer - - - grv - application/vnd.groove-injector - - - grxml - application/srgs+xml - - - gsf - application/x-font-ghostscript - - - gtar - application/x-gtar - - - gtm - application/vnd.groove-tool-message - - - gtw - model/vnd.gtw - - - gv - text/vnd.graphviz - - - gxt - application/vnd.geonext - - - gz - application/x-gzip - - - h - text/x-c - - - h261 - video/h261 - - - h263 - video/h263 - - - h264 - video/h264 - - - hal - application/vnd.hal+xml - - - hbci - application/vnd.hbci - - - hdf - application/x-hdf - - - hh - text/x-c - - - hlp - application/winhlp - - - hpgl - application/vnd.hp-hpgl - - - hpid - application/vnd.hp-hpid - - - hps - application/vnd.hp-hps - - - hqx - application/mac-binhex40 - - - htc - text/x-component - - - htke - application/vnd.kenameaapp - - - htm - text/html - - - html - text/html - - - hvd - application/vnd.yamaha.hv-dic - - - hvp - application/vnd.yamaha.hv-voice - - - hvs - application/vnd.yamaha.hv-script - - - i2g - application/vnd.intergeo - - - icc - application/vnd.iccprofile - - - ice - x-conference/x-cooltalk - - - icm - application/vnd.iccprofile - - - ico - image/x-icon - - - ics - text/calendar - - - ief - image/ief - - - ifb - text/calendar - - - ifm - application/vnd.shana.informed.formdata - - - iges - model/iges - - - igl - application/vnd.igloader - - - igm - application/vnd.insors.igm - - - igs - model/iges - - - igx - application/vnd.micrografx.igx - - - iif - application/vnd.shana.informed.interchange - - - imp - application/vnd.accpac.simply.imp - - - ims - application/vnd.ms-ims - - - in - text/plain - - - ink - application/inkml+xml - - - inkml - application/inkml+xml - - - iota - application/vnd.astraea-software.iota - - - ipfix - application/ipfix - - - ipk - application/vnd.shana.informed.package - - - irm - application/vnd.ibm.rights-management - - - irp - application/vnd.irepository.package+xml - - - iso - application/octet-stream - - - itp - application/vnd.shana.informed.formtemplate - - - ivp - application/vnd.immervision-ivp - - - ivu - application/vnd.immervision-ivu - - - jad - text/vnd.sun.j2me.app-descriptor - - - jam - application/vnd.jam - - - jar - application/java-archive - - - java - text/x-java-source - - - jisp - application/vnd.jisp - - - jlt - application/vnd.hp-jlyt - - - jnlp - application/x-java-jnlp-file - - - joda - application/vnd.joost.joda-archive - - - jpe - image/jpeg - - - jpeg - image/jpeg - - - jpg - image/jpeg - - - jpgm - video/jpm - - - jpgv - video/jpeg - - - jpm - video/jpm - - - js - application/javascript - - - jsf - text/plain - - - json - application/json - - - jspf - text/plain - - - kar - audio/midi - - - karbon - application/vnd.kde.karbon - - - kfo - application/vnd.kde.kformula - - - kia - application/vnd.kidspiration - - - kml - application/vnd.google-earth.kml+xml - - - kmz - application/vnd.google-earth.kmz - - - kne - application/vnd.kinar - - - knp - application/vnd.kinar - - - kon - application/vnd.kde.kontour - - - kpr - application/vnd.kde.kpresenter - - - kpt - application/vnd.kde.kpresenter - - - ksp - application/vnd.kde.kspread - - - ktr - application/vnd.kahootz - - - ktx - image/ktx - - - ktz - application/vnd.kahootz - - - kwd - application/vnd.kde.kword - - - kwt - application/vnd.kde.kword - - - lasxml - application/vnd.las.las+xml - - - latex - application/x-latex - - - lbd - application/vnd.llamagraphics.life-balance.desktop - - - lbe - application/vnd.llamagraphics.life-balance.exchange+xml - - - les - application/vnd.hhe.lesson-player - - - lha - application/octet-stream - - - link66 - application/vnd.route66.link66+xml - - - list - text/plain - - - list3820 - application/vnd.ibm.modcap - - - listafp - application/vnd.ibm.modcap - - - log - text/plain - - - lostxml - application/lost+xml - - - lrf - application/octet-stream - - - lrm - application/vnd.ms-lrm - - - ltf - application/vnd.frogans.ltf - - - lvp - audio/vnd.lucent.voice - - - lwp - application/vnd.lotus-wordpro - - - lzh - application/octet-stream - - - m13 - application/x-msmediaview - - - m14 - application/x-msmediaview - - - m1v - video/mpeg - - - m21 - application/mp21 - - - m2a - audio/mpeg - - - m2v - video/mpeg - - - m3a - audio/mpeg - - - m3u - audio/x-mpegurl - - - m3u8 - application/vnd.apple.mpegurl - - - m4a - audio/mp4 - - - m4b - audio/mp4 - - - m4r - audio/mp4 - - - m4u - video/vnd.mpegurl - - - m4v - video/mp4 - - - ma - application/mathematica - - - mac - image/x-macpaint - - - mads - application/mads+xml - - - mag - application/vnd.ecowin.chart - - - maker - application/vnd.framemaker - - - man - text/troff - - - mathml - application/mathml+xml - - - mb - application/mathematica - - - mbk - application/vnd.mobius.mbk - - - mbox - application/mbox - - - mc1 - application/vnd.medcalcdata - - - mcd - application/vnd.mcd - - - mcurl - text/vnd.curl.mcurl - - - mdb - application/x-msaccess - - - mdi - image/vnd.ms-modi - - - me - text/troff - - - mesh - model/mesh - - - meta4 - application/metalink4+xml - - - mets - application/mets+xml - - - mfm - application/vnd.mfmp - - - mft - application/rpki-manifest - - - mgp - application/vnd.osgeo.mapguide.package - - - mgz - application/vnd.proteus.magazine - - - mid - audio/midi - - - midi - audio/midi - - - mif - application/x-mif - - - mime - message/rfc822 - - - mj2 - video/mj2 - - - mjp2 - video/mj2 - - - mlp - application/vnd.dolby.mlp - - - mmd - application/vnd.chipnuts.karaoke-mmd - - - mmf - application/vnd.smaf - - - mmr - image/vnd.fujixerox.edmics-mmr - - - mny - application/x-msmoney - - - mobi - application/x-mobipocket-ebook - - - mods - application/mods+xml - - - mov - video/quicktime - - - movie - video/x-sgi-movie - - - mp1 - audio/mpeg - - - mp2 - audio/mpeg - - - mp21 - application/mp21 - - - mp2a - audio/mpeg - - - mp3 - audio/mpeg - - - mp4 - video/mp4 - - - mp4a - audio/mp4 - - - mp4s - application/mp4 - - - mp4v - video/mp4 - - - mpa - audio/mpeg - - - mpc - application/vnd.mophun.certificate - - - mpe - video/mpeg - - - mpeg - video/mpeg - - - mpega - audio/x-mpeg - - - mpg - video/mpeg - - - mpg4 - video/mp4 - - - mpga - audio/mpeg - - - mpkg - application/vnd.apple.installer+xml - - - mpm - application/vnd.blueice.multipass - - - mpn - application/vnd.mophun.application - - - mpp - application/vnd.ms-project - - - mpt - application/vnd.ms-project - - - mpv2 - video/mpeg2 - - - mpy - application/vnd.ibm.minipay - - - mqy - application/vnd.mobius.mqy - - - mrc - application/marc - - - mrcx - application/marcxml+xml - - - ms - text/troff - - - mscml - application/mediaservercontrol+xml - - - mseed - application/vnd.fdsn.mseed - - - mseq - application/vnd.mseq - - - msf - application/vnd.epson.msf - - - msh - model/mesh - - - msi - application/x-msdownload - - - msl - application/vnd.mobius.msl - - - msty - application/vnd.muvee.style - - - mts - model/vnd.mts - - - mus - application/vnd.musician - - - musicxml - application/vnd.recordare.musicxml+xml - - - mvb - application/x-msmediaview - - - mwf - application/vnd.mfer - - - mxf - application/mxf - - - mxl - application/vnd.recordare.musicxml - - - mxml - application/xv+xml - - - mxs - application/vnd.triscape.mxs - - - mxu - video/vnd.mpegurl - - - n-gage - application/vnd.nokia.n-gage.symbian.install - - - n3 - text/n3 - - - nb - application/mathematica - - - nbp - application/vnd.wolfram.player - - - nc - application/x-netcdf - - - ncx - application/x-dtbncx+xml - - - ngdat - application/vnd.nokia.n-gage.data - - - nlu - application/vnd.neurolanguage.nlu - - - nml - application/vnd.enliven - - - nnd - application/vnd.noblenet-directory - - - nns - application/vnd.noblenet-sealer - - - nnw - application/vnd.noblenet-web - - - npx - image/vnd.net-fpx - - - nsf - application/vnd.lotus-notes - - - oa2 - application/vnd.fujitsu.oasys2 - - - oa3 - application/vnd.fujitsu.oasys3 - - - oas - application/vnd.fujitsu.oasys - - - obd - application/x-msbinder - - - oda - application/oda - - - - odb - application/vnd.oasis.opendocument.database - - - - odc - application/vnd.oasis.opendocument.chart - - - - odf - application/vnd.oasis.opendocument.formula - - - odft - application/vnd.oasis.opendocument.formula-template - - - - odg - application/vnd.oasis.opendocument.graphics - - - - odi - application/vnd.oasis.opendocument.image - - - - odm - application/vnd.oasis.opendocument.text-master - - - - odp - application/vnd.oasis.opendocument.presentation - - - - ods - application/vnd.oasis.opendocument.spreadsheet - - - - odt - application/vnd.oasis.opendocument.text - - - oga - audio/ogg - - - ogg - audio/ogg - - - ogv - video/ogg - - - - ogx - application/ogg - - - onepkg - application/onenote - - - onetmp - application/onenote - - - onetoc - application/onenote - - - onetoc2 - application/onenote - - - opf - application/oebps-package+xml - - - oprc - application/vnd.palm - - - org - application/vnd.lotus-organizer - - - osf - application/vnd.yamaha.openscoreformat - - - osfpvg - application/vnd.yamaha.openscoreformat.osfpvg+xml - - - otc - application/vnd.oasis.opendocument.chart-template - - - otf - application/x-font-otf - - - - otg - application/vnd.oasis.opendocument.graphics-template - - - - oth - application/vnd.oasis.opendocument.text-web - - - oti - application/vnd.oasis.opendocument.image-template - - - - otp - application/vnd.oasis.opendocument.presentation-template - - - - ots - application/vnd.oasis.opendocument.spreadsheet-template - - - - ott - application/vnd.oasis.opendocument.text-template - - - oxps - application/oxps - - - oxt - application/vnd.openofficeorg.extension - - - p - text/x-pascal - - - p10 - application/pkcs10 - - - p12 - application/x-pkcs12 - - - p7b - application/x-pkcs7-certificates - - - p7c - application/pkcs7-mime - - - p7m - application/pkcs7-mime - - - p7r - application/x-pkcs7-certreqresp - - - p7s - application/pkcs7-signature - - - p8 - application/pkcs8 - - - pas - text/x-pascal - - - paw - application/vnd.pawaafile - - - pbd - application/vnd.powerbuilder6 - - - pbm - image/x-portable-bitmap - - - pcap - application/vnd.tcpdump.pcap - - - pcf - application/x-font-pcf - - - pcl - application/vnd.hp-pcl - - - pclxl - application/vnd.hp-pclxl - - - pct - image/pict - - - pcurl - application/vnd.curl.pcurl - - - pcx - image/x-pcx - - - pdb - application/vnd.palm - - - pdf - application/pdf - - - pfa - application/x-font-type1 - - - pfb - application/x-font-type1 - - - pfm - application/x-font-type1 - - - pfr - application/font-tdpfr - - - pfx - application/x-pkcs12 - - - pgm - image/x-portable-graymap - - - pgn - application/x-chess-pgn - - - pgp - application/pgp-encrypted - - - pic - image/pict - - - pict - image/pict - - - pkg - application/octet-stream - - - pki - application/pkixcmp - - - pkipath - application/pkix-pkipath - - - plb - application/vnd.3gpp.pic-bw-large - - - plc - application/vnd.mobius.plc - - - plf - application/vnd.pocketlearn - - - pls - audio/x-scpls - - - pml - application/vnd.ctc-posml - - - png - image/png - - - pnm - image/x-portable-anymap - - - pnt - image/x-macpaint - - - portpkg - application/vnd.macports.portpkg - - - pot - application/vnd.ms-powerpoint - - - potm - application/vnd.ms-powerpoint.template.macroenabled.12 - - - potx - application/vnd.openxmlformats-officedocument.presentationml.template - - - ppam - application/vnd.ms-powerpoint.addin.macroenabled.12 - - - ppd - application/vnd.cups-ppd - - - ppm - image/x-portable-pixmap - - - pps - application/vnd.ms-powerpoint - - - ppsm - application/vnd.ms-powerpoint.slideshow.macroenabled.12 - - - ppsx - application/vnd.openxmlformats-officedocument.presentationml.slideshow - - - ppt - application/vnd.ms-powerpoint - - - pptm - application/vnd.ms-powerpoint.presentation.macroenabled.12 - - - pptx - application/vnd.openxmlformats-officedocument.presentationml.presentation - - - pqa - application/vnd.palm - - - prc - application/x-mobipocket-ebook - - - pre - application/vnd.lotus-freelance - - - prf - application/pics-rules - - - ps - application/postscript - - - psb - application/vnd.3gpp.pic-bw-small - - - psd - image/vnd.adobe.photoshop - - - psf - application/x-font-linux-psf - - - pskcxml - application/pskc+xml - - - ptid - application/vnd.pvi.ptid1 - - - pub - application/x-mspublisher - - - pvb - application/vnd.3gpp.pic-bw-var - - - pwn - application/vnd.3m.post-it-notes - - - pya - audio/vnd.ms-playready.media.pya - - - pyv - video/vnd.ms-playready.media.pyv - - - qam - application/vnd.epson.quickanime - - - qbo - application/vnd.intu.qbo - - - qfx - application/vnd.intu.qfx - - - qps - application/vnd.publishare-delta-tree - - - qt - video/quicktime - - - qti - image/x-quicktime - - - qtif - image/x-quicktime - - - qwd - application/vnd.quark.quarkxpress - - - qwt - application/vnd.quark.quarkxpress - - - qxb - application/vnd.quark.quarkxpress - - - qxd - application/vnd.quark.quarkxpress - - - qxl - application/vnd.quark.quarkxpress - - - qxt - application/vnd.quark.quarkxpress - - - ra - audio/x-pn-realaudio - - - ram - audio/x-pn-realaudio - - - rar - application/x-rar-compressed - - - ras - image/x-cmu-raster - - - rcprofile - application/vnd.ipunplugged.rcprofile - - - rdf - application/rdf+xml - - - rdz - application/vnd.data-vision.rdz - - - rep - application/vnd.businessobjects - - - res - application/x-dtbresource+xml - - - rgb - image/x-rgb - - - rif - application/reginfo+xml - - - rip - audio/vnd.rip - - - rl - application/resource-lists+xml - - - rlc - image/vnd.fujixerox.edmics-rlc - - - rld - application/resource-lists-diff+xml - - - rm - application/vnd.rn-realmedia - - - rmi - audio/midi - - - rmp - audio/x-pn-realaudio-plugin - - - rms - application/vnd.jcp.javame.midlet-rms - - - rnc - application/relax-ng-compact-syntax - - - roa - application/rpki-roa - - - roff - text/troff - - - rp9 - application/vnd.cloanto.rp9 - - - rpss - application/vnd.nokia.radio-presets - - - rpst - application/vnd.nokia.radio-preset - - - rq - application/sparql-query - - - rs - application/rls-services+xml - - - rsd - application/rsd+xml - - - rss - application/rss+xml - - - rtf - application/rtf - - - rtx - text/richtext - - - s - text/x-asm - - - saf - application/vnd.yamaha.smaf-audio - - - sbml - application/sbml+xml - - - sc - application/vnd.ibm.secure-container - - - scd - application/x-msschedule - - - scm - application/vnd.lotus-screencam - - - scq - application/scvp-cv-request - - - scs - application/scvp-cv-response - - - scurl - text/vnd.curl.scurl - - - sda - application/vnd.stardivision.draw - - - sdc - application/vnd.stardivision.calc - - - sdd - application/vnd.stardivision.impress - - - sdkd - application/vnd.solent.sdkm+xml - - - sdkm - application/vnd.solent.sdkm+xml - - - sdp - application/sdp - - - sdw - application/vnd.stardivision.writer - - - see - application/vnd.seemail - - - seed - application/vnd.fdsn.seed - - - sema - application/vnd.sema - - - semd - application/vnd.semd - - - semf - application/vnd.semf - - - ser - application/java-serialized-object - - - setpay - application/set-payment-initiation - - - setreg - application/set-registration-initiation - - - sfd-hdstx - application/vnd.hydrostatix.sof-data - - - sfs - application/vnd.spotfire.sfs - - - sgl - application/vnd.stardivision.writer-global - - - sgm - text/sgml - - - sgml - text/sgml - - - sh - application/x-sh - - - shar - application/x-shar - - - shf - application/shf+xml - - - - sig - application/pgp-signature - - - silo - model/mesh - - - sis - application/vnd.symbian.install - - - sisx - application/vnd.symbian.install - - - sit - application/x-stuffit - - - sitx - application/x-stuffitx - - - skd - application/vnd.koan - - - skm - application/vnd.koan - - - skp - application/vnd.koan - - - skt - application/vnd.koan - - - sldm - application/vnd.ms-powerpoint.slide.macroenabled.12 - - - sldx - application/vnd.openxmlformats-officedocument.presentationml.slide - - - slt - application/vnd.epson.salt - - - sm - application/vnd.stepmania.stepchart - - - smf - application/vnd.stardivision.math - - - smi - application/smil+xml - - - smil - application/smil+xml - - - smzip - application/vnd.stepmania.package - - - snd - audio/basic - - - snf - application/x-font-snf - - - so - application/octet-stream - - - spc - application/x-pkcs7-certificates - - - spf - application/vnd.yamaha.smaf-phrase - - - spl - application/x-futuresplash - - - spot - text/vnd.in3d.spot - - - spp - application/scvp-vp-response - - - spq - application/scvp-vp-request - - - spx - audio/ogg - - - src - application/x-wais-source - - - sru - application/sru+xml - - - srx - application/sparql-results+xml - - - sse - application/vnd.kodak-descriptor - - - ssf - application/vnd.epson.ssf - - - ssml - application/ssml+xml - - - st - application/vnd.sailingtracker.track - - - stc - application/vnd.sun.xml.calc.template - - - std - application/vnd.sun.xml.draw.template - - - stf - application/vnd.wt.stf - - - sti - application/vnd.sun.xml.impress.template - - - stk - application/hyperstudio - - - stl - application/vnd.ms-pki.stl - - - str - application/vnd.pg.format - - - stw - application/vnd.sun.xml.writer.template - - - sub - text/vnd.dvb.subtitle - - - sus - application/vnd.sus-calendar - - - susp - application/vnd.sus-calendar - - - sv4cpio - application/x-sv4cpio - - - sv4crc - application/x-sv4crc - - - svc - application/vnd.dvb.service - - - svd - application/vnd.svd - - - svg - image/svg+xml - - - svgz - image/svg+xml - - - swa - application/x-director - - - swf - application/x-shockwave-flash - - - swi - application/vnd.aristanetworks.swi - - - sxc - application/vnd.sun.xml.calc - - - sxd - application/vnd.sun.xml.draw - - - sxg - application/vnd.sun.xml.writer.global - - - sxi - application/vnd.sun.xml.impress - - - sxm - application/vnd.sun.xml.math - - - sxw - application/vnd.sun.xml.writer - - - t - text/troff - - - taglet - application/vnd.mynfc - - - tao - application/vnd.tao.intent-module-archive - - - tar - application/x-tar - - - tcap - application/vnd.3gpp2.tcap - - - tcl - application/x-tcl - - - teacher - application/vnd.smart.teacher - - - tei - application/tei+xml - - - teicorpus - application/tei+xml - - - tex - application/x-tex - - - texi - application/x-texinfo - - - texinfo - application/x-texinfo - - - text - text/plain - - - tfi - application/thraud+xml - - - tfm - application/x-tex-tfm - - - thmx - application/vnd.ms-officetheme - - - tif - image/tiff - - - tiff - image/tiff - - - tmo - application/vnd.tmobile-livetv - - - torrent - application/x-bittorrent - - - tpl - application/vnd.groove-tool-template - - - tpt - application/vnd.trid.tpt - - - tr - text/troff - - - tra - application/vnd.trueapp - - - trm - application/x-msterminal - - - tsd - application/timestamped-data - - - tsv - text/tab-separated-values - - - ttc - application/x-font-ttf - - - ttf - application/x-font-ttf - - - ttl - text/turtle - - - twd - application/vnd.simtech-mindmapper - - - twds - application/vnd.simtech-mindmapper - - - txd - application/vnd.genomatix.tuxedo - - - txf - application/vnd.mobius.txf - - - txt - text/plain - - - u32 - application/x-authorware-bin - - - udeb - application/x-debian-package - - - ufd - application/vnd.ufdl - - - ufdl - application/vnd.ufdl - - - ulw - audio/basic - - - umj - application/vnd.umajin - - - unityweb - application/vnd.unity - - - uoml - application/vnd.uoml+xml - - - uri - text/uri-list - - - uris - text/uri-list - - - urls - text/uri-list - - - ustar - application/x-ustar - - - utz - application/vnd.uiq.theme - - - uu - text/x-uuencode - - - uva - audio/vnd.dece.audio - - - uvd - application/vnd.dece.data - - - uvf - application/vnd.dece.data - - - uvg - image/vnd.dece.graphic - - - uvh - video/vnd.dece.hd - - - uvi - image/vnd.dece.graphic - - - uvm - video/vnd.dece.mobile - - - uvp - video/vnd.dece.pd - - - uvs - video/vnd.dece.sd - - - uvt - application/vnd.dece.ttml+xml - - - uvu - video/vnd.uvvu.mp4 - - - uvv - video/vnd.dece.video - - - uvva - audio/vnd.dece.audio - - - uvvd - application/vnd.dece.data - - - uvvf - application/vnd.dece.data - - - uvvg - image/vnd.dece.graphic - - - uvvh - video/vnd.dece.hd - - - uvvi - image/vnd.dece.graphic - - - uvvm - video/vnd.dece.mobile - - - uvvp - video/vnd.dece.pd - - - uvvs - video/vnd.dece.sd - - - uvvt - application/vnd.dece.ttml+xml - - - uvvu - video/vnd.uvvu.mp4 - - - uvvv - video/vnd.dece.video - - - uvvx - application/vnd.dece.unspecified - - - uvvz - application/vnd.dece.zip - - - uvx - application/vnd.dece.unspecified - - - uvz - application/vnd.dece.zip - - - vcard - text/vcard - - - vcd - application/x-cdlink - - - vcf - text/x-vcard - - - vcg - application/vnd.groove-vcard - - - vcs - text/x-vcalendar - - - vcx - application/vnd.vcx - - - vis - application/vnd.visionary - - - viv - video/vnd.vivo - - - vor - application/vnd.stardivision.writer - - - vox - application/x-authorware-bin - - - vrml - model/vrml - - - vsd - application/vnd.visio - - - vsf - application/vnd.vsf - - - vss - application/vnd.visio - - - vst - application/vnd.visio - - - vsw - application/vnd.visio - - - vtu - model/vnd.vtu - - - vxml - application/voicexml+xml - - - w3d - application/x-director - - - wad - application/x-doom - - - wav - audio/x-wav - - - wax - audio/x-ms-wax - - - - wbmp - image/vnd.wap.wbmp - - - wbs - application/vnd.criticaltools.wbs+xml - - - wbxml - application/vnd.wap.wbxml - - - wcm - application/vnd.ms-works - - - wdb - application/vnd.ms-works - - - weba - audio/webm - - - webm - video/webm - - - webp - image/webp - - - wg - application/vnd.pmi.widget - - - wgt - application/widget - - - wks - application/vnd.ms-works - - - wm - video/x-ms-wm - - - wma - audio/x-ms-wma - - - wmd - application/x-ms-wmd - - - wmf - application/x-msmetafile - - - - wml - text/vnd.wap.wml - - - - wmlc - application/vnd.wap.wmlc - - - - wmls - text/vnd.wap.wmlscript - - - - wmlsc - application/vnd.wap.wmlscriptc - - - wmv - video/x-ms-wmv - - - wmx - video/x-ms-wmx - - - wmz - application/x-ms-wmz - - - woff - application/x-font-woff - - - wpd - application/vnd.wordperfect - - - wpl - application/vnd.ms-wpl - - - wps - application/vnd.ms-works - - - wqd - application/vnd.wqd - - - wri - application/x-mswrite - - - wrl - model/vrml - - - wsdl - application/wsdl+xml - - - wspolicy - application/wspolicy+xml - - - wtb - application/vnd.webturbo - - - wvx - video/x-ms-wvx - - - x32 - application/x-authorware-bin - - - x3d - application/vnd.hzn-3d-crossword - - - xap - application/x-silverlight-app - - - xar - application/vnd.xara - - - xbap - application/x-ms-xbap - - - xbd - application/vnd.fujixerox.docuworks.binder - - - xbm - image/x-xbitmap - - - xdf - application/xcap-diff+xml - - - xdm - application/vnd.syncml.dm+xml - - - xdp - application/vnd.adobe.xdp+xml - - - xdssc - application/dssc+xml - - - xdw - application/vnd.fujixerox.docuworks - - - xenc - application/xenc+xml - - - xer - application/patch-ops-error+xml - - - xfdf - application/vnd.adobe.xfdf - - - xfdl - application/vnd.xfdl - - - xht - application/xhtml+xml - - - xhtml - application/xhtml+xml - - - xhvml - application/xv+xml - - - xif - image/vnd.xiff - - - xla - application/vnd.ms-excel - - - xlam - application/vnd.ms-excel.addin.macroenabled.12 - - - xlc - application/vnd.ms-excel - - - xlm - application/vnd.ms-excel - - - xls - application/vnd.ms-excel - - - xlsb - application/vnd.ms-excel.sheet.binary.macroenabled.12 - - - xlsm - application/vnd.ms-excel.sheet.macroenabled.12 - - - xlsx - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet - - - xlt - application/vnd.ms-excel - - - xltm - application/vnd.ms-excel.template.macroenabled.12 - - - xltx - application/vnd.openxmlformats-officedocument.spreadsheetml.template - - - xlw - application/vnd.ms-excel - - - xml - application/xml - - - xo - application/vnd.olpc-sugar - - - xop - application/xop+xml - - - xpi - application/x-xpinstall - - - xpm - image/x-xpixmap - - - xpr - application/vnd.is-xpr - - - xps - application/vnd.ms-xpsdocument - - - xpw - application/vnd.intercon.formnet - - - xpx - application/vnd.intercon.formnet - - - xsl - application/xml - - - xslt - application/xslt+xml - - - xsm - application/vnd.syncml+xml - - - xspf - application/xspf+xml - - - xul - application/vnd.mozilla.xul+xml - - - xvm - application/xv+xml - - - xvml - application/xv+xml - - - xwd - image/x-xwindowdump - - - xyz - chemical/x-xyz - - - yang - application/yang - - - yin - application/yin+xml - - - z - application/x-compress - - - Z - application/x-compress - - - zaz - application/vnd.zzazz.deck+xml - - - zip - application/zip - - - zir - application/vnd.zul - - - zirz - application/vnd.zul - - - zmm - application/vnd.handheld-entertainment+xml - - - - - - - - - - - - - - - - - - index.html - index.htm - index.jsp - - - diff --git a/manong_portal/target/tomcat/logs/access_log.2019-03-26 b/manong_portal/target/tomcat/logs/access_log.2019-03-26 deleted file mode 100644 index e0e1144..0000000 --- a/manong_portal/target/tomcat/logs/access_log.2019-03-26 +++ /dev/null @@ -1,7 +0,0 @@ -0:0:0:0:0:0:0:1 - - [26/Mar/2019:22:20:23 +0800] "GET /css/index.css HTTP/1.1" 200 27585 http-bio-8081-exec-2 63 -0:0:0:0:0:0:0:1 - - [26/Mar/2019:22:20:23 +0800] "GET /img/search.gif HTTP/1.1" 404 979 http-bio-8081-exec-4 36 -0:0:0:0:0:0:0:1 - - [26/Mar/2019:22:20:23 +0800] "GET /css/public.css HTTP/1.1" 200 183 http-bio-8081-exec-3 32 -0:0:0:0:0:0:0:1 - - [26/Mar/2019:22:20:23 +0800] "GET / HTTP/1.1" 200 12919 http-bio-8081-exec-1 1764 -0:0:0:0:0:0:0:1 - - [26/Mar/2019:22:20:23 +0800] "GET /img/banner1.png HTTP/1.1" 404 981 http-bio-8081-exec-5 47 -0:0:0:0:0:0:0:1 - - [26/Mar/2019:22:20:24 +0800] "GET /img/banner2.png HTTP/1.1" 404 981 http-bio-8081-exec-10 2 -0:0:0:0:0:0:0:1 - - [26/Mar/2019:22:20:24 +0800] "GET /img/tianMlogo.png HTTP/1.1" 404 985 http-bio-8081-exec-10 3 diff --git a/manong_portal/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/index_jsp.java b/manong_portal/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/index_jsp.java deleted file mode 100644 index 8556373..0000000 --- a/manong_portal/target/tomcat/work/Tomcat/localhost/_/org/apache/jsp/index_jsp.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Generated by the Jasper component of Apache Tomcat - * Version: Apache Tomcat/7.0.47 - * Generated at: 2019-03-26 14:20:22 UTC - * Note: The last modified time of this file was set to - * the last modified time of the source file after - * generation to assist with modification tracking. - */ -package org.apache.jsp; - -import javax.servlet.*; -import javax.servlet.http.*; -import javax.servlet.jsp.*; - -public final class index_jsp extends org.apache.jasper.runtime.HttpJspBase - implements org.apache.jasper.runtime.JspSourceDependent { - - private static final javax.servlet.jsp.JspFactory _jspxFactory = - javax.servlet.jsp.JspFactory.getDefaultFactory(); - - private static java.util.Map _jspx_dependants; - - private javax.el.ExpressionFactory _el_expressionfactory; - private org.apache.tomcat.InstanceManager _jsp_instancemanager; - - public java.util.Map getDependants() { - return _jspx_dependants; - } - - public void _jspInit() { - _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory(); - _jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig()); - } - - public void _jspDestroy() { - } - - public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response) - throws java.io.IOException, javax.servlet.ServletException { - - final javax.servlet.jsp.PageContext pageContext; - javax.servlet.http.HttpSession session = null; - final javax.servlet.ServletContext application; - final javax.servlet.ServletConfig config; - javax.servlet.jsp.JspWriter out = null; - final java.lang.Object page = this; - javax.servlet.jsp.JspWriter _jspx_out = null; - javax.servlet.jsp.PageContext _jspx_page_context = null; - - - try { - response.setContentType("text/html;charset=UTF-8"); - pageContext = _jspxFactory.getPageContext(this, request, response, - null, true, 8192, true); - _jspx_page_context = pageContext; - application = pageContext.getServletContext(); - config = pageContext.getServletConfig(); - session = pageContext.getSession(); - out = pageContext.getOut(); - _jspx_out = out; - - out.write('\n'); - out.write('\n'); - if (true) { - _jspx_page_context.forward("home.html"); - return; - } - } catch (java.lang.Throwable t) { - if (!(t instanceof javax.servlet.jsp.SkipPageException)){ - out = _jspx_out; - if (out != null && out.getBufferSize() != 0) - try { out.clearBuffer(); } catch (java.io.IOException e) {} - if (_jspx_page_context != null) _jspx_page_context.handlePageException(t); - else throw new ServletException(t); - } - } finally { - _jspxFactory.releasePageContext(_jspx_page_context); - } - } -} diff --git a/manong_redis/pom.xml b/manong_redis/pom.xml deleted file mode 100644 index 2ffd57d..0000000 --- a/manong_redis/pom.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - manong_parent - com.kendinghui - 1.0-SNAPSHOT - ../manong_parent/pom.xml - - 4.0.0 - - manong_redis - - - \ No newline at end of file diff --git a/manong_rest/pom.xml b/manong_rest/pom.xml deleted file mode 100644 index 07df23b..0000000 --- a/manong_rest/pom.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - manong_parent - com.kendinghui - 1.0-SNAPSHOT - ../manong_parent/pom.xml - - 4.0.0 - manong_rest - war - - - - com.kendinghui - manong_common - 1.0-SNAPSHOT - - - - com.kendinghui - manong_manager_pojo - 1.0-SNAPSHOT - - - - com.kendinghui - manong_manager_mapper - 1.0-SNAPSHOT - - - - commons-fileupload - commons-fileupload - - - - com.alibaba - druid - - - - mysql - mysql-connector-java - - - - org.mybatis - mybatis - - - - com.github.pagehelper - pagehelper - - - - org.mybatis - mybatis-spring - - - - org.springframework - spring-context - - - - org.springframework - spring-context-support - - - - org.springframework - spring-jdbc - - - - org.springframework - spring-aspects - - - - org.springframework - spring-webmvc - - - - org.springframework - spring-beans - - - - com.fasterxml.jackson.core - jackson-databind - - - - - - - - org.apache.tomcat.maven - tomcat7-maven-plugin - 2.2 - - 8088 - / - - - - - - \ No newline at end of file diff --git a/manong_rest/src/main/java/com/manong/rest/controller/ProductCategoriesController.java b/manong_rest/src/main/java/com/manong/rest/controller/ProductCategoriesController.java deleted file mode 100644 index 04c0240..0000000 --- a/manong_rest/src/main/java/com/manong/rest/controller/ProductCategoriesController.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.manong.rest.controller; - -import com.manong.rest.service.ProductCategriesService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import pojo.Res_Categories; - -/** - * Created by wistbean on 2019/2/24. - */ -@Controller -@RequestMapping("/rest") -public class ProductCategoriesController { - - @Autowired - private ProductCategriesService productCategriesService; - - @RequestMapping("productCategries/list") - @ResponseBody - public Res_Categories getCategories(){ - Res_Categories categries = productCategriesService.getCategries(); - return categries; - } - -} diff --git a/manong_rest/src/main/java/com/manong/rest/service/ProductCategriesService.java b/manong_rest/src/main/java/com/manong/rest/service/ProductCategriesService.java deleted file mode 100644 index d0a2cbc..0000000 --- a/manong_rest/src/main/java/com/manong/rest/service/ProductCategriesService.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.manong.rest.service; - -import pojo.Res_Categories; - -/** - * Created by wistbean on 2019/2/24. - */ -public interface ProductCategriesService { - - Res_Categories getCategries(); - -} diff --git a/manong_rest/src/main/java/com/manong/rest/service/impl/ProductCategriesServiceImpl.java b/manong_rest/src/main/java/com/manong/rest/service/impl/ProductCategriesServiceImpl.java deleted file mode 100644 index 7ce6b26..0000000 --- a/manong_rest/src/main/java/com/manong/rest/service/impl/ProductCategriesServiceImpl.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.manong.rest.service.impl; - -import com.manong.mapper.ProductCategoryMapper; -import com.manong.pojo.ProductCategory; -import com.manong.pojo.ProductCategoryExample; -import com.manong.rest.service.ProductCategriesService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import pojo.Res_Categories; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by wistbean on 2019/2/24. - */ -@Service -public class ProductCategriesServiceImpl implements ProductCategriesService { - - @Autowired - ProductCategoryMapper productCategoryMapper; - - @Override - public Res_Categories getCategries() { - - Res_Categories res_categories = new Res_Categories(); - - ProductCategoryExample productCategoryExample = new ProductCategoryExample(); - ProductCategoryExample.Criteria criteria = productCategoryExample.createCriteria(); - criteria.andParentIdEqualTo((short) 0); - List productCategories = productCategoryMapper.selectByExample(productCategoryExample); - - List categories = new ArrayList<>(); - - for (int i = 0; i subCetegoriesBeenList = getSubCategroies - (productCategory.getId()); - - categoriesBean.setSub_cetegories(subCetegoriesBeenList); - categories.add(categoriesBean); - } - - res_categories.setCategories(categories); - - return res_categories; - } - - private List getSubCategroies(Short id) { - - List list = new ArrayList<>(); - - ProductCategoryExample productCategoryExample = new ProductCategoryExample(); - ProductCategoryExample.Criteria criteria = productCategoryExample.createCriteria(); - criteria.andParentIdEqualTo(id); - List productCategories = productCategoryMapper.selectByExample(productCategoryExample); - - for (int i = 0; i - - - - - - - - - - \ No newline at end of file diff --git a/manong_rest/src/main/resources/properties/db.properties b/manong_rest/src/main/resources/properties/db.properties deleted file mode 100644 index d3e91ec..0000000 --- a/manong_rest/src/main/resources/properties/db.properties +++ /dev/null @@ -1,4 +0,0 @@ -jdbc_url=jdbc:mysql://localhost:3306/manong?characterEncoding=utf-8 -jdbc_user=root -jdbc_password=admin -jdbc_driver=com.mysql.jdbc.Driver \ No newline at end of file diff --git a/manong_rest/src/main/resources/spring/applicationContext-dao.xml b/manong_rest/src/main/resources/spring/applicationContext-dao.xml deleted file mode 100644 index db2f305..0000000 --- a/manong_rest/src/main/resources/spring/applicationContext-dao.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/manong_rest/src/main/resources/spring/applicationContext-service.xml b/manong_rest/src/main/resources/spring/applicationContext-service.xml deleted file mode 100644 index b14ad81..0000000 --- a/manong_rest/src/main/resources/spring/applicationContext-service.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - \ No newline at end of file diff --git a/manong_rest/src/main/resources/spring/applicationContext-trans.xml b/manong_rest/src/main/resources/spring/applicationContext-trans.xml deleted file mode 100644 index 5b3cef2..0000000 --- a/manong_rest/src/main/resources/spring/applicationContext-trans.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/manong_rest/src/main/resources/spring/springmvc.xml b/manong_rest/src/main/resources/spring/springmvc.xml deleted file mode 100644 index 2cc196b..0000000 --- a/manong_rest/src/main/resources/spring/springmvc.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/manong_rest/src/main/webapp/WEB-INF/web.xml b/manong_rest/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 6e4e60e..0000000 --- a/manong_rest/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - manong-rest - - index.html - index.htm - index.jsp - - - - - contextConfigLocation - classpath:spring/applicationContext-*.xml - - - org.springframework.web.context.ContextLoaderListener - - - - CharacterEncodingFilter - org.springframework.web.filter.CharacterEncodingFilter - - encoding - utf-8 - - - - CharacterEncodingFilter - /* - - - - manong-rest - org.springframework.web.servlet.DispatcherServlet - - - contextConfigLocation - classpath:spring/springmvc.xml - - 1 - - - manong-rest - / - - \ No newline at end of file diff --git a/manong_rest/src/main/webapp/index.jsp b/manong_rest/src/main/webapp/index.jsp deleted file mode 100644 index 3808c08..0000000 --- a/manong_rest/src/main/webapp/index.jsp +++ /dev/null @@ -1,14 +0,0 @@ -<%-- - User: wistbean - Date: 2019/2/21 - Time: 14:56 ---%> -<%@ page contentType="text/html;charset=UTF-8" language="java" %> - - - Title - - - rest... - - diff --git a/manong_search/pom.xml b/manong_search/pom.xml deleted file mode 100644 index 19f4dd1..0000000 --- a/manong_search/pom.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - manong_parent - com.kendinghui - 1.0-SNAPSHOT - ../manong_parent/pom.xml - - 4.0.0 - - manong_search - - - \ No newline at end of file diff --git a/manong_sso/pom.xml b/manong_sso/pom.xml deleted file mode 100644 index bfd105f..0000000 --- a/manong_sso/pom.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - manong_parent - com.kendinghui - 1.0-SNAPSHOT - ../manong_parent/pom.xml - - 4.0.0 - - manong_sso - - - \ No newline at end of file From 07e0c4f57345c135556116370cf524419d8574da Mon Sep 17 00:00:00 2001 From: wistbean <354142480@qq.com> Date: Wed, 27 Mar 2019 00:32:25 +0800 Subject: [PATCH 07/14] update gitignore --- .gitattributes | 3 + .gitignore | 23 + README.md | 54 + manong.sql | 74 + manong_common/pom.xml | 39 + .../src/main/java/pojo/EasyGrid.java | 28 + .../src/main/java/pojo/EasyUITree.java | 44 + .../src/main/java/pojo/Res_Categories.java | 81 + .../main/java/pojo/ResponseJsonResult.java | 47 + .../src/main/java/utils/HttpClientUtil.java | 163 + manong_manager/manong_manager_mapper/pom.xml | 60 + .../manong/mapper/ProductCategoryMapper.java | 32 + .../manong/mapper/ProductCategoryMapper.xml | 211 + .../java/com/manong/mapper/ProductMapper.java | 31 + .../java/com/manong/mapper/ProductMapper.xml | 275 + .../java/com/manong/mapper/UserMapper.java | 31 + .../java/com/manong/mapper/UserMapper.xml | 164 + manong_manager/manong_manager_pojo/pom.xml | 14 + .../main/java/com/manong/pojo/Product.java | 93 + .../java/com/manong/pojo/ProductCategory.java | 53 + .../manong/pojo/ProductCategoryExample.java | 510 + .../java/com/manong/pojo/ProductExample.java | 780 + .../src/main/java/com/manong/pojo/User.java | 23 + .../java/com/manong/pojo/UserExample.java | 330 + manong_manager/manong_manager_service/pom.xml | 59 + .../service/ProductCategoryService.java | 22 + .../com/manong/service/ProductService.java | 13 + .../java/com/manong/service/UserService.java | 11 + .../impl/ProductCategoryServiceImpl.java | 87 + .../service/impl/ProductServiceImpl.java | 52 + .../manong/service/impl/UserServiceImpl.java | 36 + manong_manager/manong_manager_web/pom.xml | 76 + .../com/manong/controller/FileController.java | 29 + .../com/manong/controller/FreemarkerTest.java | 28 + .../com/manong/controller/PageController.java | 41 + .../controller/ProductCategoryController.java | 59 + .../manong/controller/ProductConrtroller.java | 41 + .../com/manong/controller/UserController.java | 28 + .../com/manong/fastdfs/FastDFSClient.java | 76 + .../src/main/resources/conf/fdfs_client.conf | 8 + .../main/resources/mybatis/sqlMapConfig.xml | 13 + .../main/resources/properties/db.properties | 4 + .../spring/applicationContext-dao.xml | 53 + .../spring/applicationContext-service.xml | 11 + .../spring/applicationContext-trans.xml | 34 + .../src/main/resources/spring/springmvc.xml | 37 + .../webapp/WEB-INF/css/themes/angular.css | 639 + .../WEB-INF/css/themes/black/accordion.css | 89 + .../WEB-INF/css/themes/black/calendar.css | 203 + .../WEB-INF/css/themes/black/checkbox.css | 31 + .../webapp/WEB-INF/css/themes/black/combo.css | 35 + .../WEB-INF/css/themes/black/combobox.css | 40 + .../WEB-INF/css/themes/black/datagrid.css | 291 + .../WEB-INF/css/themes/black/datalist.css | 95 + .../WEB-INF/css/themes/black/datebox.css | 36 + .../WEB-INF/css/themes/black/dialog.css | 47 + .../WEB-INF/css/themes/black/easyui.css | 3438 ++ .../WEB-INF/css/themes/black/filebox.css | 20 + .../themes/black/images/accordion_arrows.png | Bin 0 -> 122 bytes .../WEB-INF/css/themes/black/images/blank.gif | Bin 0 -> 43 bytes .../themes/black/images/calendar_arrows.png | Bin 0 -> 173 bytes .../css/themes/black/images/combo_arrow.png | Bin 0 -> 100 bytes .../themes/black/images/datagrid_icons.png | Bin 0 -> 300 bytes .../css/themes/black/images/datebox_arrow.png | Bin 0 -> 626 bytes .../css/themes/black/images/layout_arrows.png | Bin 0 -> 179 bytes .../css/themes/black/images/linkbutton_bg.png | Bin 0 -> 1274 bytes .../css/themes/black/images/loading.gif | Bin 0 -> 1737 bytes .../css/themes/black/images/menu_arrows.png | Bin 0 -> 134 bytes .../themes/black/images/messager_icons.png | Bin 0 -> 2224 bytes .../themes/black/images/pagination_icons.png | Bin 0 -> 339 bytes .../css/themes/black/images/panel_tools.png | Bin 0 -> 184 bytes .../themes/black/images/passwordbox_close.png | Bin 0 -> 149 bytes .../themes/black/images/passwordbox_open.png | Bin 0 -> 160 bytes .../themes/black/images/searchbox_button.png | Bin 0 -> 813 bytes .../css/themes/black/images/slider_handle.png | Bin 0 -> 863 bytes .../themes/black/images/spinner_arrows.png | Bin 0 -> 140 bytes .../css/themes/black/images/tabs_icons.png | Bin 0 -> 144 bytes .../css/themes/black/images/tagbox_icons.png | Bin 0 -> 133 bytes .../css/themes/black/images/tree_icons.png | Bin 0 -> 3086 bytes .../black/images/validatebox_warning.png | Bin 0 -> 921 bytes .../WEB-INF/css/themes/black/layout.css | 150 + .../WEB-INF/css/themes/black/linkbutton.css | 203 + .../webapp/WEB-INF/css/themes/black/menu.css | 119 + .../WEB-INF/css/themes/black/menubutton.css | 94 + .../WEB-INF/css/themes/black/messager.css | 44 + .../WEB-INF/css/themes/black/numberbox.css | 0 .../WEB-INF/css/themes/black/pagination.css | 77 + .../webapp/WEB-INF/css/themes/black/panel.css | 267 + .../WEB-INF/css/themes/black/passwordbox.css | 6 + .../WEB-INF/css/themes/black/progressbar.css | 33 + .../WEB-INF/css/themes/black/propertygrid.css | 27 + .../WEB-INF/css/themes/black/radiobutton.css | 25 + .../WEB-INF/css/themes/black/searchbox.css | 61 + .../WEB-INF/css/themes/black/sidemenu.css | 72 + .../WEB-INF/css/themes/black/slider.css | 101 + .../WEB-INF/css/themes/black/spinner.css | 114 + .../WEB-INF/css/themes/black/splitbutton.css | 12 + .../WEB-INF/css/themes/black/switchbutton.css | 77 + .../webapp/WEB-INF/css/themes/black/tabs.css | 413 + .../WEB-INF/css/themes/black/tagbox.css | 44 + .../WEB-INF/css/themes/black/textbox.css | 144 + .../WEB-INF/css/themes/black/tooltip.css | 103 + .../webapp/WEB-INF/css/themes/black/tree.css | 164 + .../WEB-INF/css/themes/black/validatebox.css | 13 + .../WEB-INF/css/themes/black/window.css | 188 + .../css/themes/bootstrap/accordion.css | 89 + .../WEB-INF/css/themes/bootstrap/calendar.css | 203 + .../WEB-INF/css/themes/bootstrap/checkbox.css | 31 + .../WEB-INF/css/themes/bootstrap/combo.css | 35 + .../WEB-INF/css/themes/bootstrap/combobox.css | 40 + .../WEB-INF/css/themes/bootstrap/datagrid.css | 291 + .../WEB-INF/css/themes/bootstrap/datalist.css | 95 + .../WEB-INF/css/themes/bootstrap/datebox.css | 36 + .../WEB-INF/css/themes/bootstrap/dialog.css | 47 + .../WEB-INF/css/themes/bootstrap/easyui.css | 3457 ++ .../WEB-INF/css/themes/bootstrap/filebox.css | 20 + .../bootstrap/images/accordion_arrows.png | Bin 0 -> 184 bytes .../css/themes/bootstrap/images/blank.gif | Bin 0 -> 43 bytes .../bootstrap/images/calendar_arrows.png | Bin 0 -> 173 bytes .../themes/bootstrap/images/combo_arrow.png | Bin 0 -> 117 bytes .../bootstrap/images/datagrid_icons.png | Bin 0 -> 307 bytes .../themes/bootstrap/images/datebox_arrow.png | Bin 0 -> 626 bytes .../themes/bootstrap/images/layout_arrows.png | Bin 0 -> 319 bytes .../themes/bootstrap/images/linkbutton_bg.png | Bin 0 -> 1274 bytes .../css/themes/bootstrap/images/loading.gif | Bin 0 -> 1737 bytes .../themes/bootstrap/images/menu_arrows.png | Bin 0 -> 160 bytes .../bootstrap/images/messager_icons.png | Bin 0 -> 2224 bytes .../bootstrap/images/pagination_icons.png | Bin 0 -> 628 bytes .../themes/bootstrap/images/panel_tools.png | Bin 0 -> 194 bytes .../bootstrap/images/passwordbox_close.png | Bin 0 -> 159 bytes .../bootstrap/images/passwordbox_open.png | Bin 0 -> 165 bytes .../bootstrap/images/searchbox_button.png | Bin 0 -> 813 bytes .../themes/bootstrap/images/slider_handle.png | Bin 0 -> 863 bytes .../bootstrap/images/spinner_arrows.png | Bin 0 -> 149 bytes .../themes/bootstrap/images/tabs_icons.png | Bin 0 -> 150 bytes .../themes/bootstrap/images/tagbox_icons.png | Bin 0 -> 134 bytes .../themes/bootstrap/images/tree_icons.png | Bin 0 -> 3115 bytes .../bootstrap/images/validatebox_warning.png | Bin 0 -> 921 bytes .../WEB-INF/css/themes/bootstrap/layout.css | 150 + .../css/themes/bootstrap/linkbutton.css | 203 + .../WEB-INF/css/themes/bootstrap/menu.css | 119 + .../css/themes/bootstrap/menubutton.css | 94 + .../WEB-INF/css/themes/bootstrap/messager.css | 44 + .../css/themes/bootstrap/numberbox.css | 0 .../css/themes/bootstrap/pagination.css | 77 + .../WEB-INF/css/themes/bootstrap/panel.css | 267 + .../css/themes/bootstrap/passwordbox.css | 6 + .../css/themes/bootstrap/progressbar.css | 33 + .../css/themes/bootstrap/propertygrid.css | 27 + .../css/themes/bootstrap/radiobutton.css | 25 + .../css/themes/bootstrap/searchbox.css | 61 + .../WEB-INF/css/themes/bootstrap/sidemenu.css | 72 + .../WEB-INF/css/themes/bootstrap/slider.css | 101 + .../WEB-INF/css/themes/bootstrap/spinner.css | 114 + .../css/themes/bootstrap/splitbutton.css | 12 + .../css/themes/bootstrap/switchbutton.css | 77 + .../WEB-INF/css/themes/bootstrap/tabs.css | 413 + .../WEB-INF/css/themes/bootstrap/tagbox.css | 44 + .../WEB-INF/css/themes/bootstrap/textbox.css | 144 + .../WEB-INF/css/themes/bootstrap/tooltip.css | 103 + .../WEB-INF/css/themes/bootstrap/tree.css | 164 + .../css/themes/bootstrap/validatebox.css | 13 + .../WEB-INF/css/themes/bootstrap/window.css | 188 + .../main/webapp/WEB-INF/css/themes/color.css | 210 + .../WEB-INF/css/themes/default/accordion.css | 89 + .../WEB-INF/css/themes/default/calendar.css | 203 + .../WEB-INF/css/themes/default/checkbox.css | 31 + .../WEB-INF/css/themes/default/combo.css | 35 + .../WEB-INF/css/themes/default/combobox.css | 40 + .../WEB-INF/css/themes/default/datagrid.css | 291 + .../WEB-INF/css/themes/default/datalist.css | 95 + .../WEB-INF/css/themes/default/datebox.css | 36 + .../WEB-INF/css/themes/default/dialog.css | 47 + .../WEB-INF/css/themes/default/easyui.css | 3438 ++ .../WEB-INF/css/themes/default/filebox.css | 20 + .../default/images/accordion_arrows.png | Bin 0 -> 184 bytes .../css/themes/default/images/blank.gif | Bin 0 -> 43 bytes .../themes/default/images/calendar_arrows.png | Bin 0 -> 173 bytes .../css/themes/default/images/combo_arrow.png | Bin 0 -> 117 bytes .../themes/default/images/datagrid_icons.png | Bin 0 -> 307 bytes .../themes/default/images/datebox_arrow.png | Bin 0 -> 626 bytes .../themes/default/images/layout_arrows.png | Bin 0 -> 319 bytes .../themes/default/images/linkbutton_bg.png | Bin 0 -> 1274 bytes .../css/themes/default/images/loading.gif | Bin 0 -> 1737 bytes .../css/themes/default/images/menu_arrows.png | Bin 0 -> 160 bytes .../themes/default/images/messager_icons.png | Bin 0 -> 2224 bytes .../default/images/pagination_icons.png | Bin 0 -> 628 bytes .../css/themes/default/images/panel_tools.png | Bin 0 -> 852 bytes .../default/images/passwordbox_close.png | Bin 0 -> 159 bytes .../default/images/passwordbox_open.png | Bin 0 -> 165 bytes .../default/images/searchbox_button.png | Bin 0 -> 813 bytes .../themes/default/images/slider_handle.png | Bin 0 -> 863 bytes .../themes/default/images/spinner_arrows.png | Bin 0 -> 149 bytes .../css/themes/default/images/tabs_icons.png | Bin 0 -> 150 bytes .../themes/default/images/tagbox_icons.png | Bin 0 -> 134 bytes .../css/themes/default/images/tree_icons.png | Bin 0 -> 3115 bytes .../default/images/validatebox_warning.png | Bin 0 -> 921 bytes .../WEB-INF/css/themes/default/layout.css | 150 + .../WEB-INF/css/themes/default/linkbutton.css | 203 + .../WEB-INF/css/themes/default/menu.css | 119 + .../WEB-INF/css/themes/default/menubutton.css | 94 + .../WEB-INF/css/themes/default/messager.css | 44 + .../WEB-INF/css/themes/default/numberbox.css | 0 .../WEB-INF/css/themes/default/pagination.css | 77 + .../WEB-INF/css/themes/default/panel.css | 267 + .../css/themes/default/passwordbox.css | 6 + .../css/themes/default/progressbar.css | 33 + .../css/themes/default/propertygrid.css | 27 + .../css/themes/default/radiobutton.css | 25 + .../WEB-INF/css/themes/default/searchbox.css | 61 + .../WEB-INF/css/themes/default/sidemenu.css | 72 + .../WEB-INF/css/themes/default/slider.css | 101 + .../WEB-INF/css/themes/default/spinner.css | 114 + .../css/themes/default/splitbutton.css | 12 + .../css/themes/default/switchbutton.css | 77 + .../WEB-INF/css/themes/default/tabs.css | 413 + .../WEB-INF/css/themes/default/tagbox.css | 44 + .../WEB-INF/css/themes/default/textbox.css | 144 + .../WEB-INF/css/themes/default/tooltip.css | 103 + .../WEB-INF/css/themes/default/tree.css | 164 + .../css/themes/default/validatebox.css | 13 + .../WEB-INF/css/themes/default/window.css | 188 + .../WEB-INF/css/themes/gray/accordion.css | 89 + .../WEB-INF/css/themes/gray/calendar.css | 203 + .../WEB-INF/css/themes/gray/checkbox.css | 31 + .../webapp/WEB-INF/css/themes/gray/combo.css | 35 + .../WEB-INF/css/themes/gray/combobox.css | 40 + .../WEB-INF/css/themes/gray/datagrid.css | 291 + .../WEB-INF/css/themes/gray/datalist.css | 95 + .../WEB-INF/css/themes/gray/datebox.css | 36 + .../webapp/WEB-INF/css/themes/gray/dialog.css | 47 + .../webapp/WEB-INF/css/themes/gray/easyui.css | 3438 ++ .../WEB-INF/css/themes/gray/filebox.css | 20 + .../themes/gray/images/accordion_arrows.png | Bin 0 -> 125 bytes .../WEB-INF/css/themes/gray/images/blank.gif | Bin 0 -> 43 bytes .../themes/gray/images/calendar_arrows.png | Bin 0 -> 173 bytes .../css/themes/gray/images/combo_arrow.png | Bin 0 -> 103 bytes .../css/themes/gray/images/datagrid_icons.png | Bin 0 -> 330 bytes .../css/themes/gray/images/datebox_arrow.png | Bin 0 -> 626 bytes .../css/themes/gray/images/layout_arrows.png | Bin 0 -> 181 bytes .../css/themes/gray/images/linkbutton_bg.png | Bin 0 -> 1274 bytes .../css/themes/gray/images/loading.gif | Bin 0 -> 1737 bytes .../css/themes/gray/images/menu_arrows.png | Bin 0 -> 160 bytes .../css/themes/gray/images/messager_icons.png | Bin 0 -> 2224 bytes .../themes/gray/images/pagination_icons.png | Bin 0 -> 466 bytes .../css/themes/gray/images/panel_tools.png | Bin 0 -> 191 bytes .../themes/gray/images/passwordbox_close.png | Bin 0 -> 149 bytes .../themes/gray/images/passwordbox_open.png | Bin 0 -> 160 bytes .../themes/gray/images/searchbox_button.png | Bin 0 -> 813 bytes .../css/themes/gray/images/slider_handle.png | Bin 0 -> 863 bytes .../css/themes/gray/images/spinner_arrows.png | Bin 0 -> 149 bytes .../css/themes/gray/images/tabs_icons.png | Bin 0 -> 144 bytes .../css/themes/gray/images/tagbox_icons.png | Bin 0 -> 133 bytes .../css/themes/gray/images/tree_icons.png | Bin 0 -> 3115 bytes .../gray/images/validatebox_warning.png | Bin 0 -> 921 bytes .../webapp/WEB-INF/css/themes/gray/layout.css | 150 + .../WEB-INF/css/themes/gray/linkbutton.css | 203 + .../webapp/WEB-INF/css/themes/gray/menu.css | 119 + .../WEB-INF/css/themes/gray/menubutton.css | 94 + .../WEB-INF/css/themes/gray/messager.css | 44 + .../WEB-INF/css/themes/gray/numberbox.css | 0 .../WEB-INF/css/themes/gray/pagination.css | 77 + .../webapp/WEB-INF/css/themes/gray/panel.css | 267 + .../WEB-INF/css/themes/gray/passwordbox.css | 6 + .../WEB-INF/css/themes/gray/progressbar.css | 33 + .../WEB-INF/css/themes/gray/propertygrid.css | 27 + .../WEB-INF/css/themes/gray/radiobutton.css | 25 + .../WEB-INF/css/themes/gray/searchbox.css | 61 + .../WEB-INF/css/themes/gray/sidemenu.css | 72 + .../webapp/WEB-INF/css/themes/gray/slider.css | 101 + .../WEB-INF/css/themes/gray/spinner.css | 114 + .../WEB-INF/css/themes/gray/splitbutton.css | 12 + .../WEB-INF/css/themes/gray/switchbutton.css | 77 + .../webapp/WEB-INF/css/themes/gray/tabs.css | 413 + .../webapp/WEB-INF/css/themes/gray/tagbox.css | 44 + .../WEB-INF/css/themes/gray/textbox.css | 144 + .../WEB-INF/css/themes/gray/tooltip.css | 103 + .../webapp/WEB-INF/css/themes/gray/tree.css | 164 + .../WEB-INF/css/themes/gray/validatebox.css | 13 + .../webapp/WEB-INF/css/themes/gray/window.css | 188 + .../main/webapp/WEB-INF/css/themes/icon.css | 96 + .../webapp/WEB-INF/css/themes/icons/back.png | Bin 0 -> 912 bytes .../webapp/WEB-INF/css/themes/icons/blank.gif | Bin 0 -> 43 bytes .../WEB-INF/css/themes/icons/cancel.png | Bin 0 -> 1133 bytes .../webapp/WEB-INF/css/themes/icons/clear.png | Bin 0 -> 779 bytes .../webapp/WEB-INF/css/themes/icons/cut.png | Bin 0 -> 1024 bytes .../WEB-INF/css/themes/icons/edit_add.png | Bin 0 -> 1088 bytes .../WEB-INF/css/themes/icons/edit_remove.png | Bin 0 -> 625 bytes .../WEB-INF/css/themes/icons/filesave.png | Bin 0 -> 898 bytes .../WEB-INF/css/themes/icons/filter.png | Bin 0 -> 305 bytes .../webapp/WEB-INF/css/themes/icons/help.png | Bin 0 -> 1187 bytes .../WEB-INF/css/themes/icons/large_chart.png | Bin 0 -> 1669 bytes .../css/themes/icons/large_clipart.png | Bin 0 -> 1727 bytes .../css/themes/icons/large_picture.png | Bin 0 -> 1667 bytes .../WEB-INF/css/themes/icons/large_shapes.png | Bin 0 -> 1318 bytes .../css/themes/icons/large_smartart.png | Bin 0 -> 1336 bytes .../webapp/WEB-INF/css/themes/icons/lock.png | Bin 0 -> 311 bytes .../webapp/WEB-INF/css/themes/icons/man.png | Bin 0 -> 244 bytes .../WEB-INF/css/themes/icons/mini_add.png | Bin 0 -> 244 bytes .../WEB-INF/css/themes/icons/mini_edit.png | Bin 0 -> 161 bytes .../WEB-INF/css/themes/icons/mini_refresh.png | Bin 0 -> 160 bytes .../webapp/WEB-INF/css/themes/icons/more.png | Bin 0 -> 110 bytes .../webapp/WEB-INF/css/themes/icons/no.png | Bin 0 -> 922 bytes .../webapp/WEB-INF/css/themes/icons/ok.png | Bin 0 -> 883 bytes .../WEB-INF/css/themes/icons/pencil.png | Bin 0 -> 713 bytes .../webapp/WEB-INF/css/themes/icons/print.png | Bin 0 -> 1057 bytes .../webapp/WEB-INF/css/themes/icons/redo.png | Bin 0 -> 708 bytes .../WEB-INF/css/themes/icons/reload.png | Bin 0 -> 1045 bytes .../WEB-INF/css/themes/icons/search.png | Bin 0 -> 813 bytes .../webapp/WEB-INF/css/themes/icons/sum.png | Bin 0 -> 289 bytes .../webapp/WEB-INF/css/themes/icons/tip.png | Bin 0 -> 743 bytes .../webapp/WEB-INF/css/themes/icons/undo.png | Bin 0 -> 707 bytes .../css/themes/material-teal/accordion.css | 89 + .../css/themes/material-teal/calendar.css | 203 + .../css/themes/material-teal/checkbox.css | 31 + .../css/themes/material-teal/combo.css | 35 + .../css/themes/material-teal/combobox.css | 40 + .../css/themes/material-teal/datagrid.css | 285 + .../css/themes/material-teal/datalist.css | 95 + .../css/themes/material-teal/datebox.css | 36 + .../css/themes/material-teal/dialog.css | 47 + .../css/themes/material-teal/easyui.css | 3560 ++ .../css/themes/material-teal/filebox.css | 20 + .../css/themes/material-teal/images/Thumbs.db | Bin 0 -> 35328 bytes .../material-teal/images/accordion_arrows.png | Bin 0 -> 121 bytes .../css/themes/material-teal/images/blank.gif | Bin 0 -> 43 bytes .../material-teal/images/calendar_arrows.png | Bin 0 -> 173 bytes .../material-teal/images/combo_arrow.png | Bin 0 -> 103 bytes .../material-teal/images/datagrid_icons.png | Bin 0 -> 330 bytes .../material-teal/images/datebox_arrow.png | Bin 0 -> 626 bytes .../material-teal/images/layout_arrows.png | Bin 0 -> 170 bytes .../material-teal/images/linkbutton_bg.png | Bin 0 -> 1274 bytes .../themes/material-teal/images/loading.gif | Bin 0 -> 1737 bytes .../material-teal/images/menu_arrows.png | Bin 0 -> 160 bytes .../material-teal/images/messager_icons.png | Bin 0 -> 2224 bytes .../material-teal/images/pagination_icons.png | Bin 0 -> 466 bytes .../material-teal/images/panel_tools.png | Bin 0 -> 191 bytes .../images/passwordbox_close.png | Bin 0 -> 149 bytes .../material-teal/images/passwordbox_open.png | Bin 0 -> 160 bytes .../material-teal/images/searchbox_button.png | Bin 0 -> 813 bytes .../material-teal/images/slider_handle.png | Bin 0 -> 863 bytes .../material-teal/images/spinner_arrows.png | Bin 0 -> 149 bytes .../material-teal/images/tabs_icons.png | Bin 0 -> 143 bytes .../material-teal/images/tagbox_icons.png | Bin 0 -> 133 bytes .../material-teal/images/tree_icons.png | Bin 0 -> 3115 bytes .../images/validatebox_warning.png | Bin 0 -> 921 bytes .../css/themes/material-teal/layout.css | 150 + .../css/themes/material-teal/linkbutton.css | 191 + .../WEB-INF/css/themes/material-teal/menu.css | 119 + .../css/themes/material-teal/menubutton.css | 94 + .../css/themes/material-teal/messager.css | 44 + .../css/themes/material-teal/numberbox.css | 0 .../css/themes/material-teal/pagination.css | 77 + .../css/themes/material-teal/panel.css | 261 + .../css/themes/material-teal/passwordbox.css | 6 + .../css/themes/material-teal/progressbar.css | 33 + .../css/themes/material-teal/propertygrid.css | 27 + .../css/themes/material-teal/radiobutton.css | 25 + .../css/themes/material-teal/searchbox.css | 61 + .../css/themes/material-teal/sidemenu.css | 72 + .../css/themes/material-teal/slider.css | 101 + .../css/themes/material-teal/spinner.css | 114 + .../css/themes/material-teal/splitbutton.css | 12 + .../css/themes/material-teal/switchbutton.css | 77 + .../WEB-INF/css/themes/material-teal/tabs.css | 377 + .../css/themes/material-teal/tagbox.css | 44 + .../css/themes/material-teal/textbox.css | 144 + .../css/themes/material-teal/tooltip.css | 103 + .../WEB-INF/css/themes/material-teal/tree.css | 164 + .../css/themes/material-teal/validatebox.css | 13 + .../css/themes/material-teal/window.css | 182 + .../WEB-INF/css/themes/material/accordion.css | 89 + .../WEB-INF/css/themes/material/calendar.css | 203 + .../WEB-INF/css/themes/material/checkbox.css | 31 + .../WEB-INF/css/themes/material/combo.css | 35 + .../WEB-INF/css/themes/material/combobox.css | 40 + .../WEB-INF/css/themes/material/datagrid.css | 285 + .../WEB-INF/css/themes/material/datalist.css | 95 + .../WEB-INF/css/themes/material/datebox.css | 36 + .../WEB-INF/css/themes/material/dialog.css | 47 + .../WEB-INF/css/themes/material/easyui.css | 3447 ++ .../WEB-INF/css/themes/material/filebox.css | 20 + .../css/themes/material/images/Thumbs.db | Bin 0 -> 35328 bytes .../material/images/accordion_arrows.png | Bin 0 -> 121 bytes .../css/themes/material/images/blank.gif | Bin 0 -> 43 bytes .../material/images/calendar_arrows.png | Bin 0 -> 173 bytes .../themes/material/images/combo_arrow.png | Bin 0 -> 103 bytes .../themes/material/images/datagrid_icons.png | Bin 0 -> 330 bytes .../themes/material/images/datebox_arrow.png | Bin 0 -> 626 bytes .../themes/material/images/layout_arrows.png | Bin 0 -> 170 bytes .../themes/material/images/linkbutton_bg.png | Bin 0 -> 1274 bytes .../css/themes/material/images/loading.gif | Bin 0 -> 1737 bytes .../themes/material/images/menu_arrows.png | Bin 0 -> 160 bytes .../themes/material/images/messager_icons.png | Bin 0 -> 2224 bytes .../material/images/pagination_icons.png | Bin 0 -> 466 bytes .../themes/material/images/panel_tools.png | Bin 0 -> 191 bytes .../material/images/passwordbox_close.png | Bin 0 -> 149 bytes .../material/images/passwordbox_open.png | Bin 0 -> 160 bytes .../material/images/searchbox_button.png | Bin 0 -> 813 bytes .../themes/material/images/slider_handle.png | Bin 0 -> 863 bytes .../themes/material/images/spinner_arrows.png | Bin 0 -> 149 bytes .../css/themes/material/images/tabs_icons.png | Bin 0 -> 143 bytes .../themes/material/images/tagbox_icons.png | Bin 0 -> 133 bytes .../css/themes/material/images/tree_icons.png | Bin 0 -> 3115 bytes .../material/images/validatebox_warning.png | Bin 0 -> 921 bytes .../WEB-INF/css/themes/material/layout.css | 150 + .../css/themes/material/linkbutton.css | 191 + .../WEB-INF/css/themes/material/menu.css | 119 + .../css/themes/material/menubutton.css | 94 + .../WEB-INF/css/themes/material/messager.css | 44 + .../WEB-INF/css/themes/material/numberbox.css | 0 .../css/themes/material/pagination.css | 77 + .../WEB-INF/css/themes/material/panel.css | 261 + .../css/themes/material/passwordbox.css | 6 + .../css/themes/material/progressbar.css | 33 + .../css/themes/material/propertygrid.css | 27 + .../css/themes/material/radiobutton.css | 25 + .../WEB-INF/css/themes/material/searchbox.css | 61 + .../WEB-INF/css/themes/material/sidemenu.css | 72 + .../WEB-INF/css/themes/material/slider.css | 101 + .../WEB-INF/css/themes/material/spinner.css | 114 + .../css/themes/material/splitbutton.css | 12 + .../css/themes/material/switchbutton.css | 77 + .../WEB-INF/css/themes/material/tabs.css | 377 + .../WEB-INF/css/themes/material/tagbox.css | 44 + .../WEB-INF/css/themes/material/textbox.css | 144 + .../WEB-INF/css/themes/material/tooltip.css | 103 + .../WEB-INF/css/themes/material/tree.css | 164 + .../css/themes/material/validatebox.css | 13 + .../WEB-INF/css/themes/material/window.css | 182 + .../WEB-INF/css/themes/metro/accordion.css | 89 + .../WEB-INF/css/themes/metro/calendar.css | 203 + .../WEB-INF/css/themes/metro/checkbox.css | 31 + .../webapp/WEB-INF/css/themes/metro/combo.css | 35 + .../WEB-INF/css/themes/metro/combobox.css | 40 + .../WEB-INF/css/themes/metro/datagrid.css | 285 + .../WEB-INF/css/themes/metro/datalist.css | 95 + .../WEB-INF/css/themes/metro/datebox.css | 36 + .../WEB-INF/css/themes/metro/dialog.css | 47 + .../WEB-INF/css/themes/metro/easyui.css | 3384 ++ .../WEB-INF/css/themes/metro/filebox.css | 20 + .../themes/metro/images/accordion_arrows.png | Bin 0 -> 184 bytes .../WEB-INF/css/themes/metro/images/blank.gif | Bin 0 -> 43 bytes .../themes/metro/images/calendar_arrows.png | Bin 0 -> 173 bytes .../css/themes/metro/images/combo_arrow.png | Bin 0 -> 117 bytes .../themes/metro/images/datagrid_icons.png | Bin 0 -> 307 bytes .../css/themes/metro/images/datebox_arrow.png | Bin 0 -> 626 bytes .../css/themes/metro/images/layout_arrows.png | Bin 0 -> 319 bytes .../css/themes/metro/images/linkbutton_bg.png | Bin 0 -> 1274 bytes .../css/themes/metro/images/loading.gif | Bin 0 -> 1737 bytes .../css/themes/metro/images/menu_arrows.png | Bin 0 -> 160 bytes .../themes/metro/images/messager_icons.png | Bin 0 -> 2224 bytes .../themes/metro/images/pagination_icons.png | Bin 0 -> 628 bytes .../css/themes/metro/images/panel_tools.png | Bin 0 -> 194 bytes .../themes/metro/images/passwordbox_close.png | Bin 0 -> 159 bytes .../themes/metro/images/passwordbox_open.png | Bin 0 -> 165 bytes .../themes/metro/images/searchbox_button.png | Bin 0 -> 813 bytes .../css/themes/metro/images/slider_handle.png | Bin 0 -> 863 bytes .../themes/metro/images/spinner_arrows.png | Bin 0 -> 149 bytes .../css/themes/metro/images/tabs_icons.png | Bin 0 -> 150 bytes .../css/themes/metro/images/tagbox_icons.png | Bin 0 -> 134 bytes .../css/themes/metro/images/tree_icons.png | Bin 0 -> 3115 bytes .../metro/images/validatebox_warning.png | Bin 0 -> 921 bytes .../WEB-INF/css/themes/metro/layout.css | 150 + .../WEB-INF/css/themes/metro/linkbutton.css | 203 + .../webapp/WEB-INF/css/themes/metro/menu.css | 119 + .../WEB-INF/css/themes/metro/menubutton.css | 94 + .../WEB-INF/css/themes/metro/messager.css | 44 + .../WEB-INF/css/themes/metro/numberbox.css | 0 .../WEB-INF/css/themes/metro/pagination.css | 77 + .../webapp/WEB-INF/css/themes/metro/panel.css | 261 + .../WEB-INF/css/themes/metro/passwordbox.css | 6 + .../WEB-INF/css/themes/metro/progressbar.css | 33 + .../WEB-INF/css/themes/metro/propertygrid.css | 27 + .../WEB-INF/css/themes/metro/radiobutton.css | 25 + .../WEB-INF/css/themes/metro/searchbox.css | 61 + .../WEB-INF/css/themes/metro/sidemenu.css | 72 + .../WEB-INF/css/themes/metro/slider.css | 101 + .../WEB-INF/css/themes/metro/spinner.css | 114 + .../WEB-INF/css/themes/metro/splitbutton.css | 12 + .../WEB-INF/css/themes/metro/switchbutton.css | 77 + .../webapp/WEB-INF/css/themes/metro/tabs.css | 377 + .../WEB-INF/css/themes/metro/tagbox.css | 44 + .../WEB-INF/css/themes/metro/textbox.css | 144 + .../WEB-INF/css/themes/metro/tooltip.css | 103 + .../webapp/WEB-INF/css/themes/metro/tree.css | 164 + .../WEB-INF/css/themes/metro/validatebox.css | 13 + .../WEB-INF/css/themes/metro/window.css | 182 + .../main/webapp/WEB-INF/css/themes/mobile.css | 355 + .../main/webapp/WEB-INF/css/themes/vue.css | 634 + .../src/main/webapp/WEB-INF/ftl/hello.ftl | 1 + .../main/webapp/WEB-INF/js/ajaxFileUpload.js | 236 + .../webapp/WEB-INF/js/jquery.easyui.min.js | 17117 +++++++++ .../src/main/webapp/WEB-INF/js/jquery.min.js | 5 + .../src/main/webapp/WEB-INF/js/product_add.js | 81 + .../src/main/webapp/WEB-INF/jsp/hi.jsp | 14 + .../src/main/webapp/WEB-INF/jsp/index.jsp | 69 + .../main/webapp/WEB-INF/jsp/product_add.jsp | 136 + .../webapp/WEB-INF/jsp/product_cat_list.jsp | 112 + .../main/webapp/WEB-INF/jsp/product_list.jsp | 40 + .../main/webapp/WEB-INF/jsp/ueditor_test.jsp | 179 + .../src/main/webapp/WEB-INF/web.xml | 49 + .../webapp/ueditor/dialogs/anchor/anchor.html | 40 + .../ueditor/dialogs/attachment/attachment.css | 681 + .../dialogs/attachment/attachment.html | 60 + .../ueditor/dialogs/attachment/attachment.js | 754 + .../attachment/fileTypeImages/icon_chm.gif | Bin 0 -> 923 bytes .../fileTypeImages/icon_default.png | Bin 0 -> 841 bytes .../attachment/fileTypeImages/icon_doc.gif | Bin 0 -> 1012 bytes .../attachment/fileTypeImages/icon_exe.gif | Bin 0 -> 949 bytes .../attachment/fileTypeImages/icon_jpg.gif | Bin 0 -> 950 bytes .../attachment/fileTypeImages/icon_mp3.gif | Bin 0 -> 986 bytes .../attachment/fileTypeImages/icon_mv.gif | Bin 0 -> 1001 bytes .../attachment/fileTypeImages/icon_pdf.gif | Bin 0 -> 996 bytes .../attachment/fileTypeImages/icon_ppt.gif | Bin 0 -> 1001 bytes .../attachment/fileTypeImages/icon_psd.gif | Bin 0 -> 1009 bytes .../attachment/fileTypeImages/icon_rar.gif | Bin 0 -> 1007 bytes .../attachment/fileTypeImages/icon_txt.gif | Bin 0 -> 970 bytes .../attachment/fileTypeImages/icon_xls.gif | Bin 0 -> 1005 bytes .../dialogs/attachment/images/alignicon.gif | Bin 0 -> 1051 bytes .../dialogs/attachment/images/alignicon.png | Bin 0 -> 3714 bytes .../ueditor/dialogs/attachment/images/bg.png | Bin 0 -> 2810 bytes .../dialogs/attachment/images/file-icons.gif | Bin 0 -> 20097 bytes .../dialogs/attachment/images/file-icons.png | Bin 0 -> 44070 bytes .../dialogs/attachment/images/icons.gif | Bin 0 -> 453 bytes .../dialogs/attachment/images/icons.png | Bin 0 -> 2678 bytes .../dialogs/attachment/images/image.png | Bin 0 -> 1672 bytes .../dialogs/attachment/images/progress.png | Bin 0 -> 1269 bytes .../dialogs/attachment/images/success.gif | Bin 0 -> 445 bytes .../dialogs/attachment/images/success.png | Bin 0 -> 1621 bytes .../ueditor/dialogs/background/background.css | 94 + .../dialogs/background/background.html | 56 + .../ueditor/dialogs/background/background.js | 376 + .../ueditor/dialogs/background/images/bg.png | Bin 0 -> 2810 bytes .../dialogs/background/images/success.png | Bin 0 -> 1621 bytes .../ueditor/dialogs/charts/chart.config.js | 65 + .../webapp/ueditor/dialogs/charts/charts.css | 165 + .../webapp/ueditor/dialogs/charts/charts.html | 89 + .../webapp/ueditor/dialogs/charts/charts.js | 519 + .../ueditor/dialogs/charts/images/charts0.png | Bin 0 -> 25306 bytes .../ueditor/dialogs/charts/images/charts1.png | Bin 0 -> 19263 bytes .../ueditor/dialogs/charts/images/charts2.png | Bin 0 -> 23016 bytes .../ueditor/dialogs/charts/images/charts3.png | Bin 0 -> 7823 bytes .../ueditor/dialogs/charts/images/charts4.png | Bin 0 -> 8344 bytes .../ueditor/dialogs/charts/images/charts5.png | Bin 0 -> 47084 bytes .../ueditor/dialogs/emotion/emotion.css | 43 + .../ueditor/dialogs/emotion/emotion.html | 54 + .../webapp/ueditor/dialogs/emotion/emotion.js | 186 + .../ueditor/dialogs/emotion/images/0.gif | Bin 0 -> 43 bytes .../ueditor/dialogs/emotion/images/bface.gif | Bin 0 -> 27167 bytes .../ueditor/dialogs/emotion/images/cface.gif | Bin 0 -> 8603 bytes .../ueditor/dialogs/emotion/images/fface.gif | Bin 0 -> 18479 bytes .../dialogs/emotion/images/jxface2.gif | Bin 0 -> 40706 bytes .../emotion/images/neweditor-tab-bg.png | Bin 0 -> 216 bytes .../ueditor/dialogs/emotion/images/tface.gif | Bin 0 -> 19805 bytes .../ueditor/dialogs/emotion/images/wface.gif | Bin 0 -> 49850 bytes .../ueditor/dialogs/emotion/images/yface.gif | Bin 0 -> 28409 bytes .../webapp/ueditor/dialogs/gmap/gmap.html | 89 + .../main/webapp/ueditor/dialogs/help/help.css | 7 + .../webapp/ueditor/dialogs/help/help.html | 82 + .../main/webapp/ueditor/dialogs/help/help.js | 56 + .../webapp/ueditor/dialogs/image/image.css | 894 + .../webapp/ueditor/dialogs/image/image.html | 120 + .../webapp/ueditor/dialogs/image/image.js | 1142 + .../dialogs/image/images/alignicon.jpg | Bin 0 -> 16101 bytes .../ueditor/dialogs/image/images/bg.png | Bin 0 -> 2810 bytes .../ueditor/dialogs/image/images/icons.gif | Bin 0 -> 453 bytes .../ueditor/dialogs/image/images/icons.png | Bin 0 -> 2678 bytes .../ueditor/dialogs/image/images/image.png | Bin 0 -> 1672 bytes .../ueditor/dialogs/image/images/progress.png | Bin 0 -> 1269 bytes .../ueditor/dialogs/image/images/success.gif | Bin 0 -> 445 bytes .../ueditor/dialogs/image/images/success.png | Bin 0 -> 1621 bytes .../dialogs/insertframe/insertframe.html | 98 + .../main/webapp/ueditor/dialogs/internal.js | 81 + .../webapp/ueditor/dialogs/link/link.html | 126 + .../main/webapp/ueditor/dialogs/map/map.html | 135 + .../main/webapp/ueditor/dialogs/map/show.html | 118 + .../webapp/ueditor/dialogs/music/music.css | 30 + .../webapp/ueditor/dialogs/music/music.html | 32 + .../webapp/ueditor/dialogs/music/music.js | 192 + .../ueditor/dialogs/preview/preview.html | 40 + .../ueditor/dialogs/scrawl/images/addimg.png | Bin 0 -> 628 bytes .../ueditor/dialogs/scrawl/images/brush.png | Bin 0 -> 608 bytes .../ueditor/dialogs/scrawl/images/delimg.png | Bin 0 -> 516 bytes .../ueditor/dialogs/scrawl/images/delimgH.png | Bin 0 -> 578 bytes .../ueditor/dialogs/scrawl/images/empty.png | Bin 0 -> 519 bytes .../ueditor/dialogs/scrawl/images/emptyH.png | Bin 0 -> 657 bytes .../ueditor/dialogs/scrawl/images/eraser.png | Bin 0 -> 43271 bytes .../ueditor/dialogs/scrawl/images/redo.png | Bin 0 -> 454 bytes .../ueditor/dialogs/scrawl/images/redoH.png | Bin 0 -> 536 bytes .../ueditor/dialogs/scrawl/images/scale.png | Bin 0 -> 435 bytes .../ueditor/dialogs/scrawl/images/scaleH.png | Bin 0 -> 330 bytes .../ueditor/dialogs/scrawl/images/size.png | Bin 0 -> 775 bytes .../ueditor/dialogs/scrawl/images/undo.png | Bin 0 -> 444 bytes .../ueditor/dialogs/scrawl/images/undoH.png | Bin 0 -> 511 bytes .../webapp/ueditor/dialogs/scrawl/scrawl.css | 72 + .../webapp/ueditor/dialogs/scrawl/scrawl.html | 95 + .../webapp/ueditor/dialogs/scrawl/scrawl.js | 671 + .../dialogs/searchreplace/searchreplace.html | 102 + .../dialogs/searchreplace/searchreplace.js | 164 + .../dialogs/snapscreen/snapscreen.html | 58 + .../ueditor/dialogs/spechars/spechars.html | 21 + .../ueditor/dialogs/spechars/spechars.js | 57 + .../webapp/ueditor/dialogs/table/dragicon.png | Bin 0 -> 304 bytes .../ueditor/dialogs/table/edittable.css | 84 + .../ueditor/dialogs/table/edittable.html | 64 + .../webapp/ueditor/dialogs/table/edittable.js | 237 + .../webapp/ueditor/dialogs/table/edittd.html | 61 + .../webapp/ueditor/dialogs/table/edittip.html | 33 + .../webapp/ueditor/dialogs/template/config.js | 42 + .../ueditor/dialogs/template/images/bg.gif | Bin 0 -> 84 bytes .../ueditor/dialogs/template/images/pre0.png | Bin 0 -> 250 bytes .../ueditor/dialogs/template/images/pre1.png | Bin 0 -> 291 bytes .../ueditor/dialogs/template/images/pre2.png | Bin 0 -> 394 bytes .../ueditor/dialogs/template/images/pre3.png | Bin 0 -> 485 bytes .../ueditor/dialogs/template/images/pre4.png | Bin 0 -> 393 bytes .../ueditor/dialogs/template/template.css | 18 + .../ueditor/dialogs/template/template.html | 26 + .../ueditor/dialogs/template/template.js | 53 + .../ueditor/dialogs/video/images/bg.png | Bin 0 -> 2810 bytes .../dialogs/video/images/center_focus.jpg | Bin 0 -> 11795 bytes .../dialogs/video/images/file-icons.gif | Bin 0 -> 20097 bytes .../dialogs/video/images/file-icons.png | Bin 0 -> 44070 bytes .../ueditor/dialogs/video/images/icons.gif | Bin 0 -> 453 bytes .../ueditor/dialogs/video/images/icons.png | Bin 0 -> 2678 bytes .../ueditor/dialogs/video/images/image.png | Bin 0 -> 1672 bytes .../dialogs/video/images/left_focus.jpg | Bin 0 -> 11423 bytes .../dialogs/video/images/none_focus.jpg | Bin 0 -> 11546 bytes .../ueditor/dialogs/video/images/progress.png | Bin 0 -> 1269 bytes .../dialogs/video/images/right_focus.jpg | Bin 0 -> 11334 bytes .../ueditor/dialogs/video/images/success.gif | Bin 0 -> 445 bytes .../ueditor/dialogs/video/images/success.png | Bin 0 -> 1621 bytes .../webapp/ueditor/dialogs/video/video.css | 635 + .../webapp/ueditor/dialogs/video/video.html | 86 + .../webapp/ueditor/dialogs/video/video.js | 791 + .../webapp/ueditor/dialogs/webapp/webapp.html | 53 + .../dialogs/wordimage/fClipboard_ueditor.swf | Bin 0 -> 1908 bytes .../dialogs/wordimage/imageUploader.swf | Bin 0 -> 62857 bytes .../ueditor/dialogs/wordimage/tangram.js | 1495 + .../ueditor/dialogs/wordimage/wordimage.html | 111 + .../ueditor/dialogs/wordimage/wordimage.js | 157 + .../src/main/webapp/ueditor/index.html | 175 + .../src/main/webapp/ueditor/jsp/config.json | 94 + .../main/webapp/ueditor/jsp/controller.jsp | 14 + .../image/20181204/1543858596077013255.png | Bin 0 -> 24674 bytes .../image/20181204/1543858816403038748.png | Bin 0 -> 24674 bytes .../image/20181218/1545124074789022151.png | Bin 0 -> 29162 bytes .../image/20190105/1546693501508030129.png | Bin 0 -> 95825 bytes .../src/main/webapp/ueditor/lang/en/en.js | 684 + .../ueditor/lang/en/images/addimage.png | Bin 0 -> 3373 bytes .../lang/en/images/alldeletebtnhoverskin.png | Bin 0 -> 743 bytes .../lang/en/images/alldeletebtnupskin.png | Bin 0 -> 743 bytes .../ueditor/lang/en/images/background.png | Bin 0 -> 3854 bytes .../webapp/ueditor/lang/en/images/button.png | Bin 0 -> 4929 bytes .../webapp/ueditor/lang/en/images/copy.png | Bin 0 -> 1222 bytes .../ueditor/lang/en/images/deletedisable.png | Bin 0 -> 649 bytes .../ueditor/lang/en/images/deleteenable.png | Bin 0 -> 664 bytes .../ueditor/lang/en/images/listbackground.png | Bin 0 -> 3750 bytes .../ueditor/lang/en/images/localimage.png | Bin 0 -> 3083 bytes .../webapp/ueditor/lang/en/images/music.png | Bin 0 -> 91561 bytes .../lang/en/images/rotateleftdisable.png | Bin 0 -> 719 bytes .../lang/en/images/rotateleftenable.png | Bin 0 -> 952 bytes .../lang/en/images/rotaterightdisable.png | Bin 0 -> 754 bytes .../lang/en/images/rotaterightenable.png | Bin 0 -> 1007 bytes .../webapp/ueditor/lang/en/images/upload.png | Bin 0 -> 3941 bytes .../webapp/ueditor/lang/zh-cn/images/copy.png | Bin 0 -> 4319 bytes .../ueditor/lang/zh-cn/images/localimage.png | Bin 0 -> 6979 bytes .../ueditor/lang/zh-cn/images/music.png | Bin 0 -> 23106 bytes .../ueditor/lang/zh-cn/images/upload.png | Bin 0 -> 6608 bytes .../main/webapp/ueditor/lang/zh-cn/zh-cn.js | 669 + .../ueditor/themes/default/css/ueditor.css | 1903 + .../themes/default/css/ueditor.min.css | 8 + .../ueditor/themes/default/dialogbase.css | 100 + .../ueditor/themes/default/images/anchor.gif | Bin 0 -> 184 bytes .../ueditor/themes/default/images/arrow.png | Bin 0 -> 1173 bytes .../themes/default/images/arrow_down.png | Bin 0 -> 1610 bytes .../themes/default/images/arrow_up.png | Bin 0 -> 1649 bytes .../themes/default/images/button-bg.gif | Bin 0 -> 1114 bytes .../themes/default/images/cancelbutton.gif | Bin 0 -> 1227 bytes .../ueditor/themes/default/images/charts.png | Bin 0 -> 518 bytes .../themes/default/images/cursor_h.gif | Bin 0 -> 253 bytes .../themes/default/images/cursor_h.png | Bin 0 -> 175 bytes .../themes/default/images/cursor_v.gif | Bin 0 -> 370 bytes .../themes/default/images/cursor_v.png | Bin 0 -> 177 bytes .../themes/default/images/dialog-title-bg.png | Bin 0 -> 938 bytes .../themes/default/images/filescan.png | Bin 0 -> 4282 bytes .../themes/default/images/highlighted.gif | Bin 0 -> 111 bytes .../themes/default/images/icons-all.gif | Bin 0 -> 3750 bytes .../ueditor/themes/default/images/icons.gif | Bin 0 -> 20947 bytes .../ueditor/themes/default/images/icons.png | Bin 0 -> 19694 bytes .../themes/default/images/loaderror.png | Bin 0 -> 3209 bytes .../ueditor/themes/default/images/loading.gif | Bin 0 -> 734 bytes .../ueditor/themes/default/images/lock.gif | Bin 0 -> 1062 bytes .../default/images/neweditor-tab-bg.png | Bin 0 -> 216 bytes .../themes/default/images/pagebreak.gif | Bin 0 -> 54 bytes .../ueditor/themes/default/images/scale.png | Bin 0 -> 167 bytes .../themes/default/images/sortable.png | Bin 0 -> 2851 bytes .../ueditor/themes/default/images/spacer.gif | Bin 0 -> 43 bytes .../themes/default/images/sparator_v.png | Bin 0 -> 122 bytes .../default/images/table-cell-align.png | Bin 0 -> 1847 bytes .../default/images/tangram-colorpicker.png | Bin 0 -> 17355 bytes .../themes/default/images/toolbar_bg.png | Bin 0 -> 170 bytes .../themes/default/images/unhighlighted.gif | Bin 0 -> 111 bytes .../ueditor/themes/default/images/upload.png | Bin 0 -> 6608 bytes .../themes/default/images/videologo.gif | Bin 0 -> 1604 bytes .../ueditor/themes/default/images/word.gif | Bin 0 -> 1019 bytes .../themes/default/images/wordpaste.png | Bin 0 -> 6467 bytes .../src/main/webapp/ueditor/themes/iframe.css | 1 + .../third-party/SyntaxHighlighter/shCore.js | 3655 ++ .../SyntaxHighlighter/shCoreDefault.css | 1 + .../third-party/codemirror/codemirror.css | 104 + .../third-party/codemirror/codemirror.js | 3581 ++ .../highcharts/adapters/mootools-adapter.js | 13 + .../adapters/mootools-adapter.src.js | 313 + .../highcharts/adapters/prototype-adapter.js | 15 + .../adapters/prototype-adapter.src.js | 316 + .../adapters/standalone-framework.js | 17 + .../adapters/standalone-framework.src.js | 583 + .../third-party/highcharts/highcharts-more.js | 50 + .../highcharts/highcharts-more.src.js | 2430 ++ .../third-party/highcharts/highcharts.js | 283 + .../third-party/highcharts/highcharts.src.js | 16974 +++++++++ .../highcharts/modules/annotations.js | 7 + .../highcharts/modules/annotations.src.js | 401 + .../highcharts/modules/canvas-tools.js | 133 + .../highcharts/modules/canvas-tools.src.js | 3113 ++ .../third-party/highcharts/modules/data.js | 17 + .../highcharts/modules/data.src.js | 582 + .../highcharts/modules/drilldown.js | 11 + .../highcharts/modules/drilldown.src.js | 447 + .../highcharts/modules/exporting.js | 22 + .../highcharts/modules/exporting.src.js | 709 + .../third-party/highcharts/modules/funnel.js | 12 + .../highcharts/modules/funnel.src.js | 289 + .../third-party/highcharts/modules/heatmap.js | 1 + .../highcharts/modules/heatmap.src.js | 53 + .../third-party/highcharts/modules/map.js | 27 + .../third-party/highcharts/modules/map.src.js | 1002 + .../highcharts/modules/no-data-to-display.js | 12 + .../modules/no-data-to-display.src.js | 128 + .../highcharts/themes/dark-blue.js | 254 + .../highcharts/themes/dark-green.js | 255 + .../third-party/highcharts/themes/gray.js | 257 + .../third-party/highcharts/themes/grid.js | 103 + .../third-party/highcharts/themes/skies.js | 89 + .../ueditor/third-party/jquery-1.10.2.js | 9789 +++++ .../ueditor/third-party/jquery-1.10.2.min.js | 6 + .../ueditor/third-party/jquery-1.10.2.min.map | 1 + .../snapscreen/UEditorSnapscreen.exe | Bin 0 -> 519936 bytes .../ueditor/third-party/video-js/font/vjs.eot | Bin 0 -> 3536 bytes .../ueditor/third-party/video-js/font/vjs.svg | 65 + .../ueditor/third-party/video-js/font/vjs.ttf | Bin 0 -> 3372 bytes .../third-party/video-js/font/vjs.woff | Bin 0 -> 4228 bytes .../ueditor/third-party/video-js/video-js.css | 766 + .../third-party/video-js/video-js.min.css | 5 + .../ueditor/third-party/video-js/video-js.swf | Bin 0 -> 16745 bytes .../ueditor/third-party/video-js/video.dev.js | 7108 ++++ .../ueditor/third-party/video-js/video.js | 129 + .../third-party/webuploader/Uploader.swf | Bin 0 -> 49382 bytes .../third-party/webuploader/webuploader.css | 28 + .../webuploader/webuploader.custom.js | 5670 +++ .../webuploader/webuploader.custom.min.js | 2 + .../webuploader/webuploader.flashonly.js | 4176 +++ .../webuploader/webuploader.flashonly.min.js | 2 + .../webuploader/webuploader.html5only.js | 5559 +++ .../webuploader/webuploader.html5only.min.js | 2 + .../third-party/webuploader/webuploader.js | 6733 ++++ .../webuploader/webuploader.min.js | 2 + .../webuploader/webuploader.withoutimage.js | 4593 +++ .../webuploader.withoutimage.min.js | 2 + .../webapp/ueditor/third-party/xss.min.js | 1 + .../zeroclipboard/ZeroClipboard.js | 1256 + .../zeroclipboard/ZeroClipboard.min.js | 9 + .../zeroclipboard/ZeroClipboard.swf | Bin 0 -> 3933 bytes .../src/main/webapp/ueditor/ueditor.all.js | 29568 ++++++++++++++++ .../main/webapp/ueditor/ueditor.all.min.js | 18 + .../src/main/webapp/ueditor/ueditor.config.js | 499 + .../src/main/webapp/ueditor/ueditor.parse.js | 1022 + .../main/webapp/ueditor/ueditor.parse.min.js | 7 + manong_manager/pom.xml | 34 + manong_parent/pom.xml | 231 + manong_portal/pom.xml | 107 + .../portal/controller/FreemarkerTest.java | 28 + .../portal/controller/IndexController.java | 27 + .../portal/service/CategoriesService.java | 12 + .../service/impl/CategoriesServiceImpl.java | 37 + .../com/manong/portal/util/GsonUtils.java | 26 + .../resources/resource/resource.properties | 5 + .../spring/applicationContext-service.xml | 18 + .../src/main/resources/spring/springmvc.xml | 37 + .../src/main/webapp/WEB-INF/css/index.css | 1539 + .../src/main/webapp/WEB-INF/css/public.css | 10 + .../src/main/webapp/WEB-INF/ftl/hello.ftl | 5 + .../src/main/webapp/WEB-INF/ftl/index.ftl | 2357 ++ .../src/main/webapp/WEB-INF/js/index.js | 204 + manong_portal/src/main/webapp/WEB-INF/web.xml | 49 + manong_portal/src/main/webapp/index.jsp | 7 + manong_redis/pom.xml | 16 + manong_rest/pom.xml | 115 + .../ProductCategoriesController.java | 27 + .../rest/service/ProductCategriesService.java | 12 + .../impl/ProductCategriesServiceImpl.java | 77 + .../main/resources/mybatis/sqlMapConfig.xml | 13 + .../main/resources/properties/db.properties | 4 + .../spring/applicationContext-dao.xml | 53 + .../spring/applicationContext-service.xml | 11 + .../spring/applicationContext-trans.xml | 34 + .../src/main/resources/spring/springmvc.xml | 19 + manong_rest/src/main/webapp/WEB-INF/web.xml | 49 + manong_rest/src/main/webapp/index.jsp | 14 + manong_search/pom.xml | 16 + manong_sso/pom.xml | 16 + 812 files changed, 205740 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 README.md create mode 100644 manong.sql create mode 100644 manong_common/pom.xml create mode 100644 manong_common/src/main/java/pojo/EasyGrid.java create mode 100644 manong_common/src/main/java/pojo/EasyUITree.java create mode 100644 manong_common/src/main/java/pojo/Res_Categories.java create mode 100644 manong_common/src/main/java/pojo/ResponseJsonResult.java create mode 100644 manong_common/src/main/java/utils/HttpClientUtil.java create mode 100644 manong_manager/manong_manager_mapper/pom.xml create mode 100644 manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductCategoryMapper.java create mode 100644 manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductCategoryMapper.xml create mode 100644 manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductMapper.java create mode 100644 manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductMapper.xml create mode 100644 manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/UserMapper.java create mode 100644 manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/UserMapper.xml create mode 100644 manong_manager/manong_manager_pojo/pom.xml create mode 100644 manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/Product.java create mode 100644 manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/ProductCategory.java create mode 100644 manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/ProductCategoryExample.java create mode 100644 manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/ProductExample.java create mode 100644 manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/User.java create mode 100644 manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/UserExample.java create mode 100644 manong_manager/manong_manager_service/pom.xml create mode 100644 manong_manager/manong_manager_service/src/main/java/com/manong/service/ProductCategoryService.java create mode 100644 manong_manager/manong_manager_service/src/main/java/com/manong/service/ProductService.java create mode 100644 manong_manager/manong_manager_service/src/main/java/com/manong/service/UserService.java create mode 100644 manong_manager/manong_manager_service/src/main/java/com/manong/service/impl/ProductCategoryServiceImpl.java create mode 100644 manong_manager/manong_manager_service/src/main/java/com/manong/service/impl/ProductServiceImpl.java create mode 100644 manong_manager/manong_manager_service/src/main/java/com/manong/service/impl/UserServiceImpl.java create mode 100644 manong_manager/manong_manager_web/pom.xml create mode 100644 manong_manager/manong_manager_web/src/main/java/com/manong/controller/FileController.java create mode 100644 manong_manager/manong_manager_web/src/main/java/com/manong/controller/FreemarkerTest.java create mode 100644 manong_manager/manong_manager_web/src/main/java/com/manong/controller/PageController.java create mode 100644 manong_manager/manong_manager_web/src/main/java/com/manong/controller/ProductCategoryController.java create mode 100644 manong_manager/manong_manager_web/src/main/java/com/manong/controller/ProductConrtroller.java create mode 100644 manong_manager/manong_manager_web/src/main/java/com/manong/controller/UserController.java create mode 100644 manong_manager/manong_manager_web/src/main/java/com/manong/fastdfs/FastDFSClient.java create mode 100644 manong_manager/manong_manager_web/src/main/resources/conf/fdfs_client.conf create mode 100644 manong_manager/manong_manager_web/src/main/resources/mybatis/sqlMapConfig.xml create mode 100644 manong_manager/manong_manager_web/src/main/resources/properties/db.properties create mode 100644 manong_manager/manong_manager_web/src/main/resources/spring/applicationContext-dao.xml create mode 100644 manong_manager/manong_manager_web/src/main/resources/spring/applicationContext-service.xml create mode 100644 manong_manager/manong_manager_web/src/main/resources/spring/applicationContext-trans.xml create mode 100644 manong_manager/manong_manager_web/src/main/resources/spring/springmvc.xml create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/angular.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/accordion.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/calendar.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/checkbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/combo.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/combobox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/datagrid.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/datalist.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/datebox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/dialog.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/easyui.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/filebox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/accordion_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/blank.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/calendar_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/combo_arrow.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/datagrid_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/datebox_arrow.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/layout_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/linkbutton_bg.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/loading.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/menu_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/messager_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/pagination_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/panel_tools.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/passwordbox_close.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/passwordbox_open.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/searchbox_button.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/slider_handle.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/spinner_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/tabs_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/tagbox_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/tree_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/validatebox_warning.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/layout.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/linkbutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/menu.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/menubutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/messager.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/numberbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/pagination.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/panel.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/passwordbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/progressbar.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/propertygrid.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/radiobutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/searchbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/sidemenu.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/slider.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/spinner.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/splitbutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/switchbutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tabs.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tagbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/textbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tooltip.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tree.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/validatebox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/window.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/accordion.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/calendar.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/checkbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/combo.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/combobox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/datagrid.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/datalist.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/datebox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/dialog.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/easyui.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/filebox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/accordion_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/blank.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/calendar_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/combo_arrow.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/datagrid_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/datebox_arrow.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/layout_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/linkbutton_bg.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/loading.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/menu_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/messager_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/pagination_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/panel_tools.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/passwordbox_close.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/passwordbox_open.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/searchbox_button.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/slider_handle.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/spinner_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/tabs_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/tagbox_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/tree_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/validatebox_warning.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/layout.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/linkbutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/menu.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/menubutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/messager.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/numberbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/pagination.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/panel.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/passwordbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/progressbar.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/propertygrid.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/radiobutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/searchbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/sidemenu.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/slider.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/spinner.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/splitbutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/switchbutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tabs.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tagbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/textbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tooltip.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tree.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/validatebox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/window.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/color.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/accordion.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/calendar.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/checkbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/combo.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/combobox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/datagrid.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/datalist.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/datebox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/dialog.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/easyui.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/filebox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/accordion_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/blank.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/calendar_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/combo_arrow.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/datagrid_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/datebox_arrow.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/layout_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/linkbutton_bg.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/loading.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/menu_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/messager_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/pagination_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/panel_tools.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/passwordbox_close.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/passwordbox_open.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/searchbox_button.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/slider_handle.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/spinner_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/tabs_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/tagbox_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/tree_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/validatebox_warning.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/layout.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/linkbutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/menu.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/menubutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/messager.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/numberbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/pagination.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/panel.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/passwordbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/progressbar.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/propertygrid.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/radiobutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/searchbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/sidemenu.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/slider.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/spinner.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/splitbutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/switchbutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tabs.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tagbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/textbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tooltip.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tree.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/validatebox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/window.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/accordion.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/calendar.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/checkbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/combo.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/combobox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/datagrid.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/datalist.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/datebox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/dialog.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/easyui.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/filebox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/accordion_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/blank.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/calendar_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/combo_arrow.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/datagrid_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/datebox_arrow.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/layout_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/linkbutton_bg.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/loading.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/menu_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/messager_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/pagination_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/panel_tools.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/passwordbox_close.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/passwordbox_open.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/searchbox_button.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/slider_handle.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/spinner_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/tabs_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/tagbox_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/tree_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/validatebox_warning.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/layout.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/linkbutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/menu.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/menubutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/messager.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/numberbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/pagination.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/panel.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/passwordbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/progressbar.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/propertygrid.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/radiobutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/searchbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/sidemenu.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/slider.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/spinner.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/splitbutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/switchbutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tabs.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tagbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/textbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tooltip.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tree.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/validatebox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/window.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icon.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/back.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/blank.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/cancel.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/clear.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/cut.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/edit_add.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/edit_remove.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/filesave.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/filter.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/help.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_chart.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_clipart.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_picture.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_shapes.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_smartart.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/lock.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/man.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/mini_add.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/mini_edit.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/mini_refresh.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/more.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/no.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/ok.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/pencil.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/print.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/redo.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/reload.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/search.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/sum.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/tip.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/undo.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/accordion.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/calendar.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/checkbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/combo.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/combobox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/datagrid.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/datalist.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/datebox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/dialog.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/easyui.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/filebox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/Thumbs.db create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/accordion_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/blank.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/calendar_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/combo_arrow.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/datagrid_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/datebox_arrow.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/layout_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/linkbutton_bg.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/loading.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/menu_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/messager_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/pagination_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/panel_tools.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/passwordbox_close.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/passwordbox_open.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/searchbox_button.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/slider_handle.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/spinner_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/tabs_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/tagbox_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/tree_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/validatebox_warning.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/layout.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/linkbutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/menu.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/menubutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/messager.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/numberbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/pagination.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/panel.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/passwordbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/progressbar.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/propertygrid.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/radiobutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/searchbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/sidemenu.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/slider.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/spinner.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/splitbutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/switchbutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tabs.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tagbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/textbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tooltip.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tree.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/validatebox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/window.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/accordion.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/calendar.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/checkbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/combo.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/combobox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/datagrid.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/datalist.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/datebox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/dialog.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/easyui.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/filebox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/Thumbs.db create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/accordion_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/blank.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/calendar_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/combo_arrow.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/datagrid_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/datebox_arrow.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/layout_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/linkbutton_bg.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/loading.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/menu_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/messager_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/pagination_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/panel_tools.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/passwordbox_close.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/passwordbox_open.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/searchbox_button.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/slider_handle.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/spinner_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/tabs_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/tagbox_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/tree_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/validatebox_warning.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/layout.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/linkbutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/menu.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/menubutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/messager.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/numberbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/pagination.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/panel.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/passwordbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/progressbar.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/propertygrid.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/radiobutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/searchbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/sidemenu.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/slider.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/spinner.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/splitbutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/switchbutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tabs.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tagbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/textbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tooltip.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tree.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/validatebox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/window.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/accordion.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/calendar.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/checkbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/combo.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/combobox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/datagrid.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/datalist.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/datebox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/dialog.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/easyui.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/filebox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/accordion_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/blank.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/calendar_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/combo_arrow.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/datagrid_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/datebox_arrow.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/layout_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/linkbutton_bg.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/loading.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/menu_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/messager_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/pagination_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/panel_tools.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/passwordbox_close.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/passwordbox_open.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/searchbox_button.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/slider_handle.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/spinner_arrows.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/tabs_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/tagbox_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/tree_icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/validatebox_warning.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/layout.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/linkbutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/menu.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/menubutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/messager.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/numberbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/pagination.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/panel.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/passwordbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/progressbar.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/propertygrid.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/radiobutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/searchbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/sidemenu.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/slider.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/spinner.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/splitbutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/switchbutton.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tabs.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tagbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/textbox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tooltip.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tree.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/validatebox.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/window.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/mobile.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/vue.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/ftl/hello.ftl create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/js/ajaxFileUpload.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/js/jquery.easyui.min.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/js/jquery.min.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/js/product_add.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/jsp/hi.jsp create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/jsp/index.jsp create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/jsp/product_add.jsp create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/jsp/product_cat_list.jsp create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/jsp/product_list.jsp create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/jsp/ueditor_test.jsp create mode 100644 manong_manager/manong_manager_web/src/main/webapp/WEB-INF/web.xml create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/anchor/anchor.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/attachment.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/attachment.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/attachment.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_chm.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_default.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_doc.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_exe.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_jpg.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_mp3.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_mv.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_pdf.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_ppt.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_psd.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_rar.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_txt.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/fileTypeImages/icon_xls.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/images/alignicon.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/images/alignicon.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/images/bg.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/images/file-icons.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/images/file-icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/images/icons.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/images/icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/images/image.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/images/progress.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/images/success.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/attachment/images/success.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/background/background.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/background/background.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/background/background.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/background/images/bg.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/background/images/success.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/charts/chart.config.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/charts/charts.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/charts/charts.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/charts/charts.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/charts/images/charts0.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/charts/images/charts1.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/charts/images/charts2.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/charts/images/charts3.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/charts/images/charts4.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/charts/images/charts5.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/emotion/emotion.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/emotion/emotion.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/emotion/emotion.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/emotion/images/0.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/emotion/images/bface.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/emotion/images/cface.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/emotion/images/fface.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/emotion/images/jxface2.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/emotion/images/neweditor-tab-bg.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/emotion/images/tface.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/emotion/images/wface.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/emotion/images/yface.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/gmap/gmap.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/help/help.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/help/help.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/help/help.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/image/image.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/image/image.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/image/image.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/image/images/alignicon.jpg create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/image/images/bg.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/image/images/icons.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/image/images/icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/image/images/image.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/image/images/progress.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/image/images/success.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/image/images/success.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/insertframe/insertframe.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/internal.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/link/link.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/map/map.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/map/show.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/music/music.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/music/music.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/music/music.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/preview/preview.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/addimg.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/brush.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/delimg.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/delimgH.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/empty.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/emptyH.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/eraser.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/redo.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/redoH.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/scale.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/scaleH.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/size.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/undo.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/undoH.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/scrawl.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/scrawl.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/scrawl.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/searchreplace/searchreplace.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/searchreplace/searchreplace.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/snapscreen/snapscreen.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/spechars/spechars.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/spechars/spechars.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/dragicon.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittable.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittable.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittable.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittd.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittip.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/config.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/bg.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/pre0.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/pre1.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/pre2.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/pre3.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/pre4.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/template.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/template.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/template.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/bg.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/center_focus.jpg create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/file-icons.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/file-icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/icons.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/image.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/left_focus.jpg create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/none_focus.jpg create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/progress.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/right_focus.jpg create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/success.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/success.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/video.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/video.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/video.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/webapp/webapp.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/fClipboard_ueditor.swf create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/imageUploader.swf create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/tangram.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/wordimage.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/wordimage.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/index.html create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/config.json create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/controller.jsp create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/upload/image/20181204/1543858596077013255.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/upload/image/20181204/1543858816403038748.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/upload/image/20181218/1545124074789022151.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/upload/image/20190105/1546693501508030129.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/en.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/addimage.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/alldeletebtnhoverskin.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/alldeletebtnupskin.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/background.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/button.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/copy.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/deletedisable.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/deleteenable.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/listbackground.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/localimage.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/music.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/rotateleftdisable.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/rotateleftenable.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/rotaterightdisable.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/rotaterightenable.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/upload.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/zh-cn/images/copy.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/zh-cn/images/localimage.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/zh-cn/images/music.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/zh-cn/images/upload.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/zh-cn/zh-cn.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/css/ueditor.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/css/ueditor.min.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/dialogbase.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/anchor.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/arrow.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/arrow_down.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/arrow_up.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/button-bg.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/cancelbutton.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/charts.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/cursor_h.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/cursor_h.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/cursor_v.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/cursor_v.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/dialog-title-bg.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/filescan.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/highlighted.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/icons-all.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/icons.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/icons.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/loaderror.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/loading.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/lock.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/neweditor-tab-bg.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/pagebreak.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/scale.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/sortable.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/spacer.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/sparator_v.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/table-cell-align.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/tangram-colorpicker.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/toolbar_bg.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/unhighlighted.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/upload.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/videologo.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/word.gif create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/wordpaste.png create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/iframe.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/SyntaxHighlighter/shCore.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/SyntaxHighlighter/shCoreDefault.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/codemirror/codemirror.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/codemirror/codemirror.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/adapters/mootools-adapter.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/adapters/mootools-adapter.src.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/adapters/prototype-adapter.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/adapters/prototype-adapter.src.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/adapters/standalone-framework.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/adapters/standalone-framework.src.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/highcharts-more.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/highcharts-more.src.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/highcharts.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/highcharts.src.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/annotations.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/annotations.src.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/canvas-tools.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/canvas-tools.src.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/data.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/data.src.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/drilldown.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/drilldown.src.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/exporting.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/exporting.src.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/funnel.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/funnel.src.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/heatmap.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/heatmap.src.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/map.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/map.src.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/no-data-to-display.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/modules/no-data-to-display.src.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/themes/dark-blue.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/themes/dark-green.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/themes/gray.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/themes/grid.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/highcharts/themes/skies.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/jquery-1.10.2.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/jquery-1.10.2.min.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/jquery-1.10.2.min.map create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/snapscreen/UEditorSnapscreen.exe create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/video-js/font/vjs.eot create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/video-js/font/vjs.svg create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/video-js/font/vjs.ttf create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/video-js/font/vjs.woff create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/video-js/video-js.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/video-js/video-js.min.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/video-js/video-js.swf create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/video-js/video.dev.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/video-js/video.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/webuploader/Uploader.swf create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/webuploader/webuploader.css create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/webuploader/webuploader.custom.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/webuploader/webuploader.custom.min.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/webuploader/webuploader.flashonly.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/webuploader/webuploader.flashonly.min.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/webuploader/webuploader.html5only.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/webuploader/webuploader.html5only.min.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/webuploader/webuploader.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/webuploader/webuploader.min.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/webuploader/webuploader.withoutimage.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/webuploader/webuploader.withoutimage.min.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/xss.min.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/zeroclipboard/ZeroClipboard.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/zeroclipboard/ZeroClipboard.min.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/zeroclipboard/ZeroClipboard.swf create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.all.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.all.min.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.config.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.parse.js create mode 100644 manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.parse.min.js create mode 100644 manong_manager/pom.xml create mode 100644 manong_parent/pom.xml create mode 100644 manong_portal/pom.xml create mode 100644 manong_portal/src/main/java/com/manong/portal/controller/FreemarkerTest.java create mode 100644 manong_portal/src/main/java/com/manong/portal/controller/IndexController.java create mode 100644 manong_portal/src/main/java/com/manong/portal/service/CategoriesService.java create mode 100644 manong_portal/src/main/java/com/manong/portal/service/impl/CategoriesServiceImpl.java create mode 100644 manong_portal/src/main/java/com/manong/portal/util/GsonUtils.java create mode 100644 manong_portal/src/main/resources/resource/resource.properties create mode 100644 manong_portal/src/main/resources/spring/applicationContext-service.xml create mode 100644 manong_portal/src/main/resources/spring/springmvc.xml create mode 100644 manong_portal/src/main/webapp/WEB-INF/css/index.css create mode 100644 manong_portal/src/main/webapp/WEB-INF/css/public.css create mode 100644 manong_portal/src/main/webapp/WEB-INF/ftl/hello.ftl create mode 100644 manong_portal/src/main/webapp/WEB-INF/ftl/index.ftl create mode 100644 manong_portal/src/main/webapp/WEB-INF/js/index.js create mode 100644 manong_portal/src/main/webapp/WEB-INF/web.xml create mode 100644 manong_portal/src/main/webapp/index.jsp create mode 100644 manong_redis/pom.xml create mode 100644 manong_rest/pom.xml create mode 100644 manong_rest/src/main/java/com/manong/rest/controller/ProductCategoriesController.java create mode 100644 manong_rest/src/main/java/com/manong/rest/service/ProductCategriesService.java create mode 100644 manong_rest/src/main/java/com/manong/rest/service/impl/ProductCategriesServiceImpl.java create mode 100644 manong_rest/src/main/resources/mybatis/sqlMapConfig.xml create mode 100644 manong_rest/src/main/resources/properties/db.properties create mode 100644 manong_rest/src/main/resources/spring/applicationContext-dao.xml create mode 100644 manong_rest/src/main/resources/spring/applicationContext-service.xml create mode 100644 manong_rest/src/main/resources/spring/applicationContext-trans.xml create mode 100644 manong_rest/src/main/resources/spring/springmvc.xml create mode 100644 manong_rest/src/main/webapp/WEB-INF/web.xml create mode 100644 manong_rest/src/main/webapp/index.jsp create mode 100644 manong_search/pom.xml create mode 100644 manong_sso/pom.xml diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..2959201 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ +*.js linguist-language=java +*.css linguist-language=java +*.html linguist-language=java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..08d80de --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +# Compiled class file +.idea +*.iml +*.ipr +*.iws +*.class +target/ + + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar +*.iml + + + + + diff --git a/README.md b/README.md new file mode 100644 index 0000000..59a7125 --- /dev/null +++ b/README.md @@ -0,0 +1,54 @@ +# 码农商城 +基于SSM框架的Java项目 + + +# 技术选型 + +1. Spring +2. Spring MVC +3. Mybatis +4. redis +5. solor +6. EasyUI +7. UEditor +8. JQuery +9. Freemark +10. activMQ +11. httpClient +12. MySQL +13. FastDFS +14. ... + +# 开发环境 + +1. InteliJ IDEA +2. Maven +3. Tomcat7 +4. JDK +5. Nginx +6. Git +7. postman +8. sqlyog +9. win7 +10. ... + + +# 计划 + +- 技术架构 (集群和分布式架构的区别) +- 工程搭建 (maven) +- SSM框架的整合 +- Mybatis逆向工程以及使用 +- 日志的添加与使用 +- 拦截器 +- 后端功能 (系统的开发,图片系统,数据等等) +- 前端功能 (商品浏览,下订单,购物车等等。。) +- redis使用以及集群搭建 +- solor使用和集群搭建 +- JMS 消息队列 (activMQ) +- sso单点登录 +- restful服务 +- 在Linux上部署 + + + diff --git a/manong.sql b/manong.sql new file mode 100644 index 0000000..e7fcb8e --- /dev/null +++ b/manong.sql @@ -0,0 +1,74 @@ +/* +SQLyog Ultimate v8.32 +MySQL - 5.7.12-log : Database - manong +********************************************************************* +*/ + +/*!40101 SET NAMES utf8 */; + +/*!40101 SET SQL_MODE=''*/; + +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; +CREATE DATABASE /*!32312 IF NOT EXISTS*/`manong` /*!40100 DEFAULT CHARACTER SET utf8 */; + +USE `manong`; + +/*Table structure for table `product` */ + +DROP TABLE IF EXISTS `product`; + +CREATE TABLE `product` ( + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键id', + `category_id` smallint(5) NOT NULL COMMENT '分类id', + `name` varchar(25) NOT NULL COMMENT '商品名称', + `image` varchar(135) NOT NULL COMMENT '商品主图', + `maket_price` decimal(10,0) NOT NULL COMMENT '市场价格', + `price` decimal(10,0) NOT NULL COMMENT '原价', + `status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '1:上架 0:下架', + `description` varchar(2048) NOT NULL COMMENT '商品描述', + `product_number` varchar(25) NOT NULL COMMENT '商品编码', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8 COMMENT='商品'; + +/*Data for the table `product` */ + +insert into `product`(`id`,`category_id`,`name`,`image`,`maket_price`,`price`,`status`,`description`,`product_number`) values (2,19,'我爱java','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','500000','33300',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','4234234'),(3,19,'我爱java01','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','5555','4444',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','asdasd'),(4,19,'我爱java01','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','5555','4444',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','asdasd'),(5,19,'我爱java01','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','5555','4444',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','asdasd'),(6,19,'我爱java01','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','5555','4444',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','asdasd'),(7,19,'我爱java01','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','5555','4444',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','asdasd'),(8,19,'我爱java01','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','5555','4444',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','asdasd'),(9,19,'我爱java01','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','5555','4444',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','asdasd'),(10,19,'我爱java01','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','5555','4444',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','asdasd'),(11,19,'我爱java01','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','5555','4444',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','asdasd'),(12,19,'我爱java01','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','5555','4444',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','asdasd'),(13,19,'我爱java01','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','5555','4444',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','asdasd'),(14,19,'我爱java01','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','5555','4444',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','asdasd'),(15,19,'我爱java01','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','5555','4444',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','asdasd'),(16,19,'我爱java01','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','5555','4444',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','asdasd'),(17,19,'我爱java01','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','5555','4444',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','asdasd'),(18,19,'我爱java01','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','5555','4444',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','asdasd'),(19,19,'我爱java01','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','5555','4444',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','asdasd'),(20,19,'我爱java01','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','5555','4444',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','asdasd'),(21,19,'我爱java01','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','5555','4444',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','asdasd'),(22,19,'我爱java01','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','5555','4444',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','asdasd'),(23,19,'我爱java01','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','5555','4444',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','asdasd'),(24,19,'我爱java01','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','5555','4444',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','asdasd'),(25,19,'我爱java01','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','5555','4444',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','asdasd'),(26,19,'我爱java01','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','5555','4444',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','asdasd'),(27,19,'我爱java01','group1/M00/00/00/QTHjgVwwqoKAfsL_AALeBXcjf1w334.jpg','5555','4444',1,'

    Java hello


    \"625px-NewTux.svg.png\"/

    ','asdasd'); + +/*Table structure for table `product_category` */ + +DROP TABLE IF EXISTS `product_category`; + +CREATE TABLE `product_category` ( + `id` smallint(5) NOT NULL AUTO_INCREMENT COMMENT '主键id', + `name` varchar(25) NOT NULL COMMENT '分类名称', + `sorderorder` smallint(5) NOT NULL DEFAULT '999' COMMENT '排序', + `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '0:不删除 1:删除', + `parent_id` smallint(5) NOT NULL DEFAULT '0' COMMENT '父级的id (0就代表是父级)', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8 COMMENT='商品分类表'; + +/*Data for the table `product_category` */ + +insert into `product_category`(`id`,`name`,`sorderorder`,`status`,`parent_id`) values (9,'java se',999,0,0),(10,'java ee',999,0,0),(17,'从入门到放弃',999,0,9),(18,'从放弃到坚持',999,0,9),(19,'从坚持到牛逼',999,0,9),(20,'java cool',999,0,10),(21,'java 666',999,0,10); + +/*Table structure for table `user` */ + +DROP TABLE IF EXISTS `user`; + +CREATE TABLE `user` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `userName` varchar(25) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; + +/*Data for the table `user` */ + +insert into `user`(`id`,`userName`) values (1,'wistbean'); + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; diff --git a/manong_common/pom.xml b/manong_common/pom.xml new file mode 100644 index 0000000..bc6628a --- /dev/null +++ b/manong_common/pom.xml @@ -0,0 +1,39 @@ + + + + manong_parent + com.kendinghui + 1.0-SNAPSHOT + ../manong_parent/pom.xml + + 4.0.0 + manong_common + + + + org.apache.commons + commons-lang3 + + + commons-io + commons-io + + + commons-net + commons-net + + + com.fasterxml.jackson.core + jackson-databind + + + org.apache.httpcomponents + httpclient + + + + + + \ No newline at end of file diff --git a/manong_common/src/main/java/pojo/EasyGrid.java b/manong_common/src/main/java/pojo/EasyGrid.java new file mode 100644 index 0000000..d9325ce --- /dev/null +++ b/manong_common/src/main/java/pojo/EasyGrid.java @@ -0,0 +1,28 @@ +package pojo; + +import java.util.List; + +/** + * Created by wistbean on 2019/1/8. + */ +public class EasyGrid { + + private int total; + private List rows; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } +} diff --git a/manong_common/src/main/java/pojo/EasyUITree.java b/manong_common/src/main/java/pojo/EasyUITree.java new file mode 100644 index 0000000..a783035 --- /dev/null +++ b/manong_common/src/main/java/pojo/EasyUITree.java @@ -0,0 +1,44 @@ +package pojo; + +/** + * Created by wistbean on 2018/10/2. + */ +public class EasyUITree { + + private int id; + private String text; + private String state; + private String attributes; + + public String getAttributes() { + return attributes; + } + + public void setAttributes(String attributes) { + this.attributes = attributes; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getText() { + return text; + } + + public void setText(String text) { + this.text = text; + } + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } +} diff --git a/manong_common/src/main/java/pojo/Res_Categories.java b/manong_common/src/main/java/pojo/Res_Categories.java new file mode 100644 index 0000000..0f51a73 --- /dev/null +++ b/manong_common/src/main/java/pojo/Res_Categories.java @@ -0,0 +1,81 @@ +package pojo; + +import java.util.List; + +/** + * Created by wistbean on 2019/2/24. + */ +public class Res_Categories { + + private List categories; + + public List getCategories() { + return categories; + } + + public void setCategories(List categories) { + this.categories = categories; + } + + public static class CategoriesBean { + /** + * cat_id : 1 + * name : 父级分类名称 + * sub_cetegories : [{"cat_id":"2","name":"java se"},{"cat_id":"3","name":"java ee"}] + */ + + private String cat_id; + private String name; + private List sub_cetegories; + + public String getCat_id() { + return cat_id; + } + + public void setCat_id(String cat_id) { + this.cat_id = cat_id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getSub_cetegories() { + return sub_cetegories; + } + + public void setSub_cetegories(List sub_cetegories) { + this.sub_cetegories = sub_cetegories; + } + + public static class SubCetegoriesBean { + /** + * cat_id : 2 + * name : java se + */ + + private String cat_id; + private String name; + + public String getCat_id() { + return cat_id; + } + + public void setCat_id(String cat_id) { + this.cat_id = cat_id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + } + } +} diff --git a/manong_common/src/main/java/pojo/ResponseJsonResult.java b/manong_common/src/main/java/pojo/ResponseJsonResult.java new file mode 100644 index 0000000..01c5926 --- /dev/null +++ b/manong_common/src/main/java/pojo/ResponseJsonResult.java @@ -0,0 +1,47 @@ +package pojo; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by wistbean on 2018/10/15. + */ +public class ResponseJsonResult { + + private int status = 200; + private String msg; + private Object obj; + private List list = new ArrayList(); + + public int getStatus() { + return status; + } + + public void setStatus(int status) { + this.status = status; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public Object getObj() { + return obj; + } + + public void setObj(Object obj) { + this.obj = obj; + } + + public List getList() { + return list; + } + + public void setList(List list) { + this.list = list; + } +} diff --git a/manong_common/src/main/java/utils/HttpClientUtil.java b/manong_common/src/main/java/utils/HttpClientUtil.java new file mode 100644 index 0000000..f69bfef --- /dev/null +++ b/manong_common/src/main/java/utils/HttpClientUtil.java @@ -0,0 +1,163 @@ +package utils; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +import org.apache.http.Header; +import org.apache.http.HttpEntity; +import org.apache.http.client.ClientProtocolException; +import org.apache.http.client.config.RequestConfig; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; + + +/** + * HttpClientUtil + */ +public class HttpClientUtil { + + // 连接主机超时(30s) + public static final int HTTP_CONNECT_TIMEOUT_30S = 30 * 1000; + + // 从主机读取数据超时(3min) + public static final int HTTP_READ_TIMEOUT_3MIN = 180 * 1000; + + /** + * httpPost + */ + public static String httpPost(String url, String jsonParam) throws IOException { + CloseableHttpClient httpclient = HttpClients.createDefault(); + HttpPost httpPost = new HttpPost(url); + + // 设置请求头和请求参数 + if (null != jsonParam && !jsonParam.isEmpty()) { + StringEntity entity = new StringEntity(jsonParam, "utf-8"); + entity.setContentEncoding("UTF-8"); + entity.setContentType("application/json"); + httpPost.setEntity(entity); + } + + // 超时时间设置 + RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(HTTP_READ_TIMEOUT_3MIN) + .setConnectTimeout(HTTP_CONNECT_TIMEOUT_30S).build(); + httpPost.setConfig(requestConfig); + + // 发送请求 + CloseableHttpResponse response = httpclient.execute(httpPost); + + // 获取返回内容 + try { + HttpEntity entity = response.getEntity(); + String str = EntityUtils.toString(entity); + EntityUtils.consume(entity); // 此句关闭了流 + return str; + } finally { + response.close(); + } + } + + /** + * httpPost get Cookies + */ + public static Map httpPostGetCookies(String url, String jsonParam) throws + IOException { + CloseableHttpClient httpclient = HttpClients.createDefault(); + HttpPost httpPost = new HttpPost(url); + + // 设置请求头和请求参数 + if (null != jsonParam && !jsonParam.isEmpty()) { + StringEntity entity = new StringEntity(jsonParam, "utf-8"); + entity.setContentEncoding("UTF-8"); + entity.setContentType("application/json"); + httpPost.setEntity(entity); + } + + // 超时时间设置 + RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(HTTP_READ_TIMEOUT_3MIN) + .setConnectTimeout(HTTP_CONNECT_TIMEOUT_30S).build(); + httpPost.setConfig(requestConfig); + + // 发送请求 + CloseableHttpResponse response = httpclient.execute(httpPost); + + // 获取返回内容 + try { + HttpEntity entity = response.getEntity(); + String str = EntityUtils.toString(entity); + EntityUtils.consume(entity); // 此句关闭了流 + + // 获取数据内容 + Map map = new HashMap(); + map.put("result", str); + + // 获取返回到额Cookies + Header[] headers = response.getHeaders("Set-Cookie"); + map.put("cookies", headers); + + return map; + } finally { + response.close(); + } + } + + /** + * httpGet + */ + public static String httpGet(String url) throws IOException { + CloseableHttpClient httpclient = HttpClients.createDefault(); + HttpGet httpGet = new HttpGet(url); + + // 超时时间设置 + RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(HTTP_READ_TIMEOUT_3MIN) + .setConnectTimeout(HTTP_CONNECT_TIMEOUT_30S).build(); + httpGet.setConfig(requestConfig); + + // 发送请求 + CloseableHttpResponse response = httpclient.execute(httpGet); + + // 获取返回内容 + try { + HttpEntity entity = response.getEntity(); + String strResult = EntityUtils.toString(entity); + return strResult; + } finally { + response.close(); + } + } + + /** + * httpGet with Cookies + */ + public static String httpGetWithCookies(String url, Header[] headers) throws IOException { + CloseableHttpClient httpclient = HttpClients.createDefault(); + HttpGet httpGet = new HttpGet(url); + + // 超时时间设置 + RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(HTTP_READ_TIMEOUT_3MIN) + .setConnectTimeout(HTTP_CONNECT_TIMEOUT_30S).build(); + httpGet.setConfig(requestConfig); + + // 设置请求头 + if (headers != null && headers.length > 0) { + httpGet.setHeaders(headers); + } + + // 发送请求 + CloseableHttpResponse response = httpclient.execute(httpGet); + + // 获取返回内容 + try { + HttpEntity entity = response.getEntity(); + String strResult = EntityUtils.toString(entity); + return strResult; + } finally { + response.close(); + } + } + +} \ No newline at end of file diff --git a/manong_manager/manong_manager_mapper/pom.xml b/manong_manager/manong_manager_mapper/pom.xml new file mode 100644 index 0000000..af8aeea --- /dev/null +++ b/manong_manager/manong_manager_mapper/pom.xml @@ -0,0 +1,60 @@ + + + + manong_manager + com.kendinghui + 1.0-SNAPSHOT + + 4.0.0 + jar + manong_manager_mapper + + + + com.kendinghui + manong_manager_pojo + 1.0-SNAPSHOT + + + + org.mybatis + mybatis + + + + org.mybatis + mybatis-spring + + + + com.alibaba + druid + + + + mysql + mysql-connector-java + + + + com.fasterxml.jackson.core + jackson-databind + + + + + + + src/main/java + + **/*.properties + **/*.xml + + false + + + + + \ No newline at end of file diff --git a/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductCategoryMapper.java b/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductCategoryMapper.java new file mode 100644 index 0000000..9b537c3 --- /dev/null +++ b/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductCategoryMapper.java @@ -0,0 +1,32 @@ +package com.manong.mapper; + +import com.manong.pojo.ProductCategory; +import com.manong.pojo.ProductCategoryExample; +import org.apache.ibatis.annotations.Param; + + +import java.util.List; + +public interface ProductCategoryMapper { + int countByExample(ProductCategoryExample example); + + int deleteByExample(ProductCategoryExample example); + + int deleteByPrimaryKey(Short id); + + int insert(ProductCategory record); + + int insertSelective(ProductCategory record); + + List selectByExample(ProductCategoryExample example); + + ProductCategory selectByPrimaryKey(Short id); + + int updateByExampleSelective(@Param("record") ProductCategory record, @Param("example") ProductCategoryExample example); + + int updateByExample(@Param("record") ProductCategory record, @Param("example") ProductCategoryExample example); + + int updateByPrimaryKeySelective(ProductCategory record); + + int updateByPrimaryKey(ProductCategory record); +} \ No newline at end of file diff --git a/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductCategoryMapper.xml b/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductCategoryMapper.xml new file mode 100644 index 0000000..1ea83cc --- /dev/null +++ b/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductCategoryMapper.xml @@ -0,0 +1,211 @@ + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, name, sorderorder, status, parent_id + + + + + delete from product_category + where id = #{id,jdbcType=SMALLINT} + + + delete from product_category + + + + + + insert into product_category (id, name, sorderorder, + status, parent_id) + values (#{id,jdbcType=SMALLINT}, #{name,jdbcType=VARCHAR}, #{sorderorder,jdbcType=SMALLINT}, + #{status,jdbcType=TINYINT}, #{parentId,jdbcType=SMALLINT}) + + + insert into product_category + + + id, + + + name, + + + sorderorder, + + + status, + + + parent_id, + + + + + #{id,jdbcType=SMALLINT}, + + + #{name,jdbcType=VARCHAR}, + + + #{sorderorder,jdbcType=SMALLINT}, + + + #{status,jdbcType=TINYINT}, + + + #{parentId,jdbcType=SMALLINT}, + + + + + + update product_category + + + id = #{record.id,jdbcType=SMALLINT}, + + + name = #{record.name,jdbcType=VARCHAR}, + + + sorderorder = #{record.sorderorder,jdbcType=SMALLINT}, + + + status = #{record.status,jdbcType=TINYINT}, + + + parent_id = #{record.parentId,jdbcType=SMALLINT}, + + + + + + + + update product_category + set id = #{record.id,jdbcType=SMALLINT}, + name = #{record.name,jdbcType=VARCHAR}, + sorderorder = #{record.sorderorder,jdbcType=SMALLINT}, + status = #{record.status,jdbcType=TINYINT}, + parent_id = #{record.parentId,jdbcType=SMALLINT} + + + + + + update product_category + + + name = #{name,jdbcType=VARCHAR}, + + + sorderorder = #{sorderorder,jdbcType=SMALLINT}, + + + status = #{status,jdbcType=TINYINT}, + + + parent_id = #{parentId,jdbcType=SMALLINT}, + + + where id = #{id,jdbcType=SMALLINT} + + + update product_category + set name = #{name,jdbcType=VARCHAR}, + sorderorder = #{sorderorder,jdbcType=SMALLINT}, + status = #{status,jdbcType=TINYINT}, + parent_id = #{parentId,jdbcType=SMALLINT} + where id = #{id,jdbcType=SMALLINT} + + \ No newline at end of file diff --git a/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductMapper.java b/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductMapper.java new file mode 100644 index 0000000..673c5ce --- /dev/null +++ b/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductMapper.java @@ -0,0 +1,31 @@ +package com.manong.mapper; + +import com.manong.pojo.Product; +import com.manong.pojo.ProductExample; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface ProductMapper { + int countByExample(ProductExample example); + + int deleteByExample(ProductExample example); + + int deleteByPrimaryKey(Integer id); + + int insert(Product record); + + int insertSelective(Product record); + + List selectByExample(ProductExample example); + + Product selectByPrimaryKey(Integer id); + + int updateByExampleSelective(@Param("record") Product record, @Param("example") ProductExample example); + + int updateByExample(@Param("record") Product record, @Param("example") ProductExample example); + + int updateByPrimaryKeySelective(Product record); + + int updateByPrimaryKey(Product record); +} \ No newline at end of file diff --git a/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductMapper.xml b/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductMapper.xml new file mode 100644 index 0000000..ef9b9c3 --- /dev/null +++ b/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/ProductMapper.xml @@ -0,0 +1,275 @@ + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, category_id, name, image, maket_price, price, status, description, product_number + + + + + delete from product + where id = #{id,jdbcType=INTEGER} + + + delete from product + + + + + + insert into product (id, category_id, name, + image, maket_price, price, + status, description, product_number + ) + values (#{id,jdbcType=INTEGER}, #{categoryId,jdbcType=SMALLINT}, #{name,jdbcType=VARCHAR}, + #{image,jdbcType=VARCHAR}, #{maketPrice,jdbcType=DECIMAL}, #{price,jdbcType=DECIMAL}, + #{status,jdbcType=TINYINT}, #{description,jdbcType=VARCHAR}, #{productNumber,jdbcType=VARCHAR} + ) + + + insert into product + + + id, + + + category_id, + + + name, + + + image, + + + maket_price, + + + price, + + + status, + + + description, + + + product_number, + + + + + #{id,jdbcType=INTEGER}, + + + #{categoryId,jdbcType=SMALLINT}, + + + #{name,jdbcType=VARCHAR}, + + + #{image,jdbcType=VARCHAR}, + + + #{maketPrice,jdbcType=DECIMAL}, + + + #{price,jdbcType=DECIMAL}, + + + #{status,jdbcType=TINYINT}, + + + #{description,jdbcType=VARCHAR}, + + + #{productNumber,jdbcType=VARCHAR}, + + + + + + update product + + + id = #{record.id,jdbcType=INTEGER}, + + + category_id = #{record.categoryId,jdbcType=SMALLINT}, + + + name = #{record.name,jdbcType=VARCHAR}, + + + image = #{record.image,jdbcType=VARCHAR}, + + + maket_price = #{record.maketPrice,jdbcType=DECIMAL}, + + + price = #{record.price,jdbcType=DECIMAL}, + + + status = #{record.status,jdbcType=TINYINT}, + + + description = #{record.description,jdbcType=VARCHAR}, + + + product_number = #{record.productNumber,jdbcType=VARCHAR}, + + + + + + + + update product + set id = #{record.id,jdbcType=INTEGER}, + category_id = #{record.categoryId,jdbcType=SMALLINT}, + name = #{record.name,jdbcType=VARCHAR}, + image = #{record.image,jdbcType=VARCHAR}, + maket_price = #{record.maketPrice,jdbcType=DECIMAL}, + price = #{record.price,jdbcType=DECIMAL}, + status = #{record.status,jdbcType=TINYINT}, + description = #{record.description,jdbcType=VARCHAR}, + product_number = #{record.productNumber,jdbcType=VARCHAR} + + + + + + update product + + + category_id = #{categoryId,jdbcType=SMALLINT}, + + + name = #{name,jdbcType=VARCHAR}, + + + image = #{image,jdbcType=VARCHAR}, + + + maket_price = #{maketPrice,jdbcType=DECIMAL}, + + + price = #{price,jdbcType=DECIMAL}, + + + status = #{status,jdbcType=TINYINT}, + + + description = #{description,jdbcType=VARCHAR}, + + + product_number = #{productNumber,jdbcType=VARCHAR}, + + + where id = #{id,jdbcType=INTEGER} + + + update product + set category_id = #{categoryId,jdbcType=SMALLINT}, + name = #{name,jdbcType=VARCHAR}, + image = #{image,jdbcType=VARCHAR}, + maket_price = #{maketPrice,jdbcType=DECIMAL}, + price = #{price,jdbcType=DECIMAL}, + status = #{status,jdbcType=TINYINT}, + description = #{description,jdbcType=VARCHAR}, + product_number = #{productNumber,jdbcType=VARCHAR} + where id = #{id,jdbcType=INTEGER} + + \ No newline at end of file diff --git a/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/UserMapper.java b/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/UserMapper.java new file mode 100644 index 0000000..6cabb45 --- /dev/null +++ b/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/UserMapper.java @@ -0,0 +1,31 @@ +package com.manong.mapper; + +import com.manong.pojo.User; +import com.manong.pojo.UserExample; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface UserMapper { + int countByExample(UserExample example); + + int deleteByExample(UserExample example); + + int deleteByPrimaryKey(Integer id); + + int insert(User record); + + int insertSelective(User record); + + List selectByExample(UserExample example); + + User selectByPrimaryKey(Integer id); + + int updateByExampleSelective(@Param("record") User record, @Param("example") UserExample example); + + int updateByExample(@Param("record") User record, @Param("example") UserExample example); + + int updateByPrimaryKeySelective(User record); + + int updateByPrimaryKey(User record); +} \ No newline at end of file diff --git a/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/UserMapper.xml b/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/UserMapper.xml new file mode 100644 index 0000000..a546841 --- /dev/null +++ b/manong_manager/manong_manager_mapper/src/main/java/com/manong/mapper/UserMapper.xml @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, userName + + + + + delete from user + where id = #{id,jdbcType=INTEGER} + + + delete from user + + + + + + insert into user (id, userName) + values (#{id,jdbcType=INTEGER}, #{username,jdbcType=VARCHAR}) + + + insert into user + + + id, + + + userName, + + + + + #{id,jdbcType=INTEGER}, + + + #{username,jdbcType=VARCHAR}, + + + + + + update user + + + id = #{record.id,jdbcType=INTEGER}, + + + userName = #{record.username,jdbcType=VARCHAR}, + + + + + + + + update user + set id = #{record.id,jdbcType=INTEGER}, + userName = #{record.username,jdbcType=VARCHAR} + + + + + + update user + + + userName = #{username,jdbcType=VARCHAR}, + + + where id = #{id,jdbcType=INTEGER} + + + update user + set userName = #{username,jdbcType=VARCHAR} + where id = #{id,jdbcType=INTEGER} + + \ No newline at end of file diff --git a/manong_manager/manong_manager_pojo/pom.xml b/manong_manager/manong_manager_pojo/pom.xml new file mode 100644 index 0000000..0ca0c77 --- /dev/null +++ b/manong_manager/manong_manager_pojo/pom.xml @@ -0,0 +1,14 @@ + + + + manong_manager + com.kendinghui + 1.0-SNAPSHOT + + 4.0.0 + jar + manong_manager_pojo + + \ No newline at end of file diff --git a/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/Product.java b/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/Product.java new file mode 100644 index 0000000..2b3c483 --- /dev/null +++ b/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/Product.java @@ -0,0 +1,93 @@ +package com.manong.pojo; + +public class Product { + private Integer id; + + private Short categoryId; + + private String name; + + private String image; + + private Long maketPrice; + + private Long price; + + private Byte status; + + private String description; + + private String productNumber; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Short getCategoryId() { + return categoryId; + } + + public void setCategoryId(Short categoryId) { + this.categoryId = categoryId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name == null ? null : name.trim(); + } + + public String getImage() { + return image; + } + + public void setImage(String image) { + this.image = image == null ? null : image.trim(); + } + + public Long getMaketPrice() { + return maketPrice; + } + + public void setMaketPrice(Long maketPrice) { + this.maketPrice = maketPrice; + } + + public Long getPrice() { + return price; + } + + public void setPrice(Long price) { + this.price = price; + } + + public Byte getStatus() { + return status; + } + + public void setStatus(Byte status) { + this.status = status; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description == null ? null : description.trim(); + } + + public String getProductNumber() { + return productNumber; + } + + public void setProductNumber(String productNumber) { + this.productNumber = productNumber == null ? null : productNumber.trim(); + } +} \ No newline at end of file diff --git a/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/ProductCategory.java b/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/ProductCategory.java new file mode 100644 index 0000000..6730e27 --- /dev/null +++ b/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/ProductCategory.java @@ -0,0 +1,53 @@ +package com.manong.pojo; + +public class ProductCategory { + private Short id; + + private String name; + + private Short sorderorder = 999; + + private Byte status = 0; + + private Short parentId = 0; + + public Short getId() { + return id; + } + + public void setId(Short id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name == null ? null : name.trim(); + } + + public Short getSorderorder() { + return sorderorder; + } + + public void setSorderorder(Short sorderorder) { + this.sorderorder = sorderorder; + } + + public Byte getStatus() { + return status; + } + + public void setStatus(Byte status) { + this.status = status; + } + + public Short getParentId() { + return parentId; + } + + public void setParentId(Short parentId) { + this.parentId = parentId; + } +} \ No newline at end of file diff --git a/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/ProductCategoryExample.java b/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/ProductCategoryExample.java new file mode 100644 index 0000000..47aac2f --- /dev/null +++ b/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/ProductCategoryExample.java @@ -0,0 +1,510 @@ +package com.manong.pojo; + +import java.util.ArrayList; +import java.util.List; + +public class ProductCategoryExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public ProductCategoryExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Short value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Short value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Short value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Short value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Short value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Short value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Short value1, Short value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Short value1, Short value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andNameIsNull() { + addCriterion("name is null"); + return (Criteria) this; + } + + public Criteria andNameIsNotNull() { + addCriterion("name is not null"); + return (Criteria) this; + } + + public Criteria andNameEqualTo(String value) { + addCriterion("name =", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotEqualTo(String value) { + addCriterion("name <>", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThan(String value) { + addCriterion("name >", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThanOrEqualTo(String value) { + addCriterion("name >=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThan(String value) { + addCriterion("name <", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThanOrEqualTo(String value) { + addCriterion("name <=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLike(String value) { + addCriterion("name like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotLike(String value) { + addCriterion("name not like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameIn(List values) { + addCriterion("name in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameNotIn(List values) { + addCriterion("name not in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameBetween(String value1, String value2) { + addCriterion("name between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andNameNotBetween(String value1, String value2) { + addCriterion("name not between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andSorderorderIsNull() { + addCriterion("sorderorder is null"); + return (Criteria) this; + } + + public Criteria andSorderorderIsNotNull() { + addCriterion("sorderorder is not null"); + return (Criteria) this; + } + + public Criteria andSorderorderEqualTo(Short value) { + addCriterion("sorderorder =", value, "sorderorder"); + return (Criteria) this; + } + + public Criteria andSorderorderNotEqualTo(Short value) { + addCriterion("sorderorder <>", value, "sorderorder"); + return (Criteria) this; + } + + public Criteria andSorderorderGreaterThan(Short value) { + addCriterion("sorderorder >", value, "sorderorder"); + return (Criteria) this; + } + + public Criteria andSorderorderGreaterThanOrEqualTo(Short value) { + addCriterion("sorderorder >=", value, "sorderorder"); + return (Criteria) this; + } + + public Criteria andSorderorderLessThan(Short value) { + addCriterion("sorderorder <", value, "sorderorder"); + return (Criteria) this; + } + + public Criteria andSorderorderLessThanOrEqualTo(Short value) { + addCriterion("sorderorder <=", value, "sorderorder"); + return (Criteria) this; + } + + public Criteria andSorderorderIn(List values) { + addCriterion("sorderorder in", values, "sorderorder"); + return (Criteria) this; + } + + public Criteria andSorderorderNotIn(List values) { + addCriterion("sorderorder not in", values, "sorderorder"); + return (Criteria) this; + } + + public Criteria andSorderorderBetween(Short value1, Short value2) { + addCriterion("sorderorder between", value1, value2, "sorderorder"); + return (Criteria) this; + } + + public Criteria andSorderorderNotBetween(Short value1, Short value2) { + addCriterion("sorderorder not between", value1, value2, "sorderorder"); + return (Criteria) this; + } + + public Criteria andStatusIsNull() { + addCriterion("status is null"); + return (Criteria) this; + } + + public Criteria andStatusIsNotNull() { + addCriterion("status is not null"); + return (Criteria) this; + } + + public Criteria andStatusEqualTo(Byte value) { + addCriterion("status =", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusNotEqualTo(Byte value) { + addCriterion("status <>", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusGreaterThan(Byte value) { + addCriterion("status >", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusGreaterThanOrEqualTo(Byte value) { + addCriterion("status >=", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusLessThan(Byte value) { + addCriterion("status <", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusLessThanOrEqualTo(Byte value) { + addCriterion("status <=", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusIn(List values) { + addCriterion("status in", values, "status"); + return (Criteria) this; + } + + public Criteria andStatusNotIn(List values) { + addCriterion("status not in", values, "status"); + return (Criteria) this; + } + + public Criteria andStatusBetween(Byte value1, Byte value2) { + addCriterion("status between", value1, value2, "status"); + return (Criteria) this; + } + + public Criteria andStatusNotBetween(Byte value1, Byte value2) { + addCriterion("status not between", value1, value2, "status"); + return (Criteria) this; + } + + public Criteria andParentIdIsNull() { + addCriterion("parent_id is null"); + return (Criteria) this; + } + + public Criteria andParentIdIsNotNull() { + addCriterion("parent_id is not null"); + return (Criteria) this; + } + + public Criteria andParentIdEqualTo(Short value) { + addCriterion("parent_id =", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdNotEqualTo(Short value) { + addCriterion("parent_id <>", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdGreaterThan(Short value) { + addCriterion("parent_id >", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdGreaterThanOrEqualTo(Short value) { + addCriterion("parent_id >=", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdLessThan(Short value) { + addCriterion("parent_id <", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdLessThanOrEqualTo(Short value) { + addCriterion("parent_id <=", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdIn(List values) { + addCriterion("parent_id in", values, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdNotIn(List values) { + addCriterion("parent_id not in", values, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdBetween(Short value1, Short value2) { + addCriterion("parent_id between", value1, value2, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdNotBetween(Short value1, Short value2) { + addCriterion("parent_id not between", value1, value2, "parentId"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/ProductExample.java b/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/ProductExample.java new file mode 100644 index 0000000..4ea090e --- /dev/null +++ b/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/ProductExample.java @@ -0,0 +1,780 @@ +package com.manong.pojo; + +import java.util.ArrayList; +import java.util.List; + +public class ProductExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public ProductExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Integer value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Integer value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Integer value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Integer value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Integer value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Integer value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Integer value1, Integer value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Integer value1, Integer value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andCategoryIdIsNull() { + addCriterion("category_id is null"); + return (Criteria) this; + } + + public Criteria andCategoryIdIsNotNull() { + addCriterion("category_id is not null"); + return (Criteria) this; + } + + public Criteria andCategoryIdEqualTo(Short value) { + addCriterion("category_id =", value, "categoryId"); + return (Criteria) this; + } + + public Criteria andCategoryIdNotEqualTo(Short value) { + addCriterion("category_id <>", value, "categoryId"); + return (Criteria) this; + } + + public Criteria andCategoryIdGreaterThan(Short value) { + addCriterion("category_id >", value, "categoryId"); + return (Criteria) this; + } + + public Criteria andCategoryIdGreaterThanOrEqualTo(Short value) { + addCriterion("category_id >=", value, "categoryId"); + return (Criteria) this; + } + + public Criteria andCategoryIdLessThan(Short value) { + addCriterion("category_id <", value, "categoryId"); + return (Criteria) this; + } + + public Criteria andCategoryIdLessThanOrEqualTo(Short value) { + addCriterion("category_id <=", value, "categoryId"); + return (Criteria) this; + } + + public Criteria andCategoryIdIn(List values) { + addCriterion("category_id in", values, "categoryId"); + return (Criteria) this; + } + + public Criteria andCategoryIdNotIn(List values) { + addCriterion("category_id not in", values, "categoryId"); + return (Criteria) this; + } + + public Criteria andCategoryIdBetween(Short value1, Short value2) { + addCriterion("category_id between", value1, value2, "categoryId"); + return (Criteria) this; + } + + public Criteria andCategoryIdNotBetween(Short value1, Short value2) { + addCriterion("category_id not between", value1, value2, "categoryId"); + return (Criteria) this; + } + + public Criteria andNameIsNull() { + addCriterion("name is null"); + return (Criteria) this; + } + + public Criteria andNameIsNotNull() { + addCriterion("name is not null"); + return (Criteria) this; + } + + public Criteria andNameEqualTo(String value) { + addCriterion("name =", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotEqualTo(String value) { + addCriterion("name <>", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThan(String value) { + addCriterion("name >", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThanOrEqualTo(String value) { + addCriterion("name >=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThan(String value) { + addCriterion("name <", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThanOrEqualTo(String value) { + addCriterion("name <=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLike(String value) { + addCriterion("name like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotLike(String value) { + addCriterion("name not like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameIn(List values) { + addCriterion("name in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameNotIn(List values) { + addCriterion("name not in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameBetween(String value1, String value2) { + addCriterion("name between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andNameNotBetween(String value1, String value2) { + addCriterion("name not between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andImageIsNull() { + addCriterion("image is null"); + return (Criteria) this; + } + + public Criteria andImageIsNotNull() { + addCriterion("image is not null"); + return (Criteria) this; + } + + public Criteria andImageEqualTo(String value) { + addCriterion("image =", value, "image"); + return (Criteria) this; + } + + public Criteria andImageNotEqualTo(String value) { + addCriterion("image <>", value, "image"); + return (Criteria) this; + } + + public Criteria andImageGreaterThan(String value) { + addCriterion("image >", value, "image"); + return (Criteria) this; + } + + public Criteria andImageGreaterThanOrEqualTo(String value) { + addCriterion("image >=", value, "image"); + return (Criteria) this; + } + + public Criteria andImageLessThan(String value) { + addCriterion("image <", value, "image"); + return (Criteria) this; + } + + public Criteria andImageLessThanOrEqualTo(String value) { + addCriterion("image <=", value, "image"); + return (Criteria) this; + } + + public Criteria andImageLike(String value) { + addCriterion("image like", value, "image"); + return (Criteria) this; + } + + public Criteria andImageNotLike(String value) { + addCriterion("image not like", value, "image"); + return (Criteria) this; + } + + public Criteria andImageIn(List values) { + addCriterion("image in", values, "image"); + return (Criteria) this; + } + + public Criteria andImageNotIn(List values) { + addCriterion("image not in", values, "image"); + return (Criteria) this; + } + + public Criteria andImageBetween(String value1, String value2) { + addCriterion("image between", value1, value2, "image"); + return (Criteria) this; + } + + public Criteria andImageNotBetween(String value1, String value2) { + addCriterion("image not between", value1, value2, "image"); + return (Criteria) this; + } + + public Criteria andMaketPriceIsNull() { + addCriterion("maket_price is null"); + return (Criteria) this; + } + + public Criteria andMaketPriceIsNotNull() { + addCriterion("maket_price is not null"); + return (Criteria) this; + } + + public Criteria andMaketPriceEqualTo(Long value) { + addCriterion("maket_price =", value, "maketPrice"); + return (Criteria) this; + } + + public Criteria andMaketPriceNotEqualTo(Long value) { + addCriterion("maket_price <>", value, "maketPrice"); + return (Criteria) this; + } + + public Criteria andMaketPriceGreaterThan(Long value) { + addCriterion("maket_price >", value, "maketPrice"); + return (Criteria) this; + } + + public Criteria andMaketPriceGreaterThanOrEqualTo(Long value) { + addCriterion("maket_price >=", value, "maketPrice"); + return (Criteria) this; + } + + public Criteria andMaketPriceLessThan(Long value) { + addCriterion("maket_price <", value, "maketPrice"); + return (Criteria) this; + } + + public Criteria andMaketPriceLessThanOrEqualTo(Long value) { + addCriterion("maket_price <=", value, "maketPrice"); + return (Criteria) this; + } + + public Criteria andMaketPriceIn(List values) { + addCriterion("maket_price in", values, "maketPrice"); + return (Criteria) this; + } + + public Criteria andMaketPriceNotIn(List values) { + addCriterion("maket_price not in", values, "maketPrice"); + return (Criteria) this; + } + + public Criteria andMaketPriceBetween(Long value1, Long value2) { + addCriterion("maket_price between", value1, value2, "maketPrice"); + return (Criteria) this; + } + + public Criteria andMaketPriceNotBetween(Long value1, Long value2) { + addCriterion("maket_price not between", value1, value2, "maketPrice"); + return (Criteria) this; + } + + public Criteria andPriceIsNull() { + addCriterion("price is null"); + return (Criteria) this; + } + + public Criteria andPriceIsNotNull() { + addCriterion("price is not null"); + return (Criteria) this; + } + + public Criteria andPriceEqualTo(Long value) { + addCriterion("price =", value, "price"); + return (Criteria) this; + } + + public Criteria andPriceNotEqualTo(Long value) { + addCriterion("price <>", value, "price"); + return (Criteria) this; + } + + public Criteria andPriceGreaterThan(Long value) { + addCriterion("price >", value, "price"); + return (Criteria) this; + } + + public Criteria andPriceGreaterThanOrEqualTo(Long value) { + addCriterion("price >=", value, "price"); + return (Criteria) this; + } + + public Criteria andPriceLessThan(Long value) { + addCriterion("price <", value, "price"); + return (Criteria) this; + } + + public Criteria andPriceLessThanOrEqualTo(Long value) { + addCriterion("price <=", value, "price"); + return (Criteria) this; + } + + public Criteria andPriceIn(List values) { + addCriterion("price in", values, "price"); + return (Criteria) this; + } + + public Criteria andPriceNotIn(List values) { + addCriterion("price not in", values, "price"); + return (Criteria) this; + } + + public Criteria andPriceBetween(Long value1, Long value2) { + addCriterion("price between", value1, value2, "price"); + return (Criteria) this; + } + + public Criteria andPriceNotBetween(Long value1, Long value2) { + addCriterion("price not between", value1, value2, "price"); + return (Criteria) this; + } + + public Criteria andStatusIsNull() { + addCriterion("status is null"); + return (Criteria) this; + } + + public Criteria andStatusIsNotNull() { + addCriterion("status is not null"); + return (Criteria) this; + } + + public Criteria andStatusEqualTo(Byte value) { + addCriterion("status =", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusNotEqualTo(Byte value) { + addCriterion("status <>", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusGreaterThan(Byte value) { + addCriterion("status >", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusGreaterThanOrEqualTo(Byte value) { + addCriterion("status >=", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusLessThan(Byte value) { + addCriterion("status <", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusLessThanOrEqualTo(Byte value) { + addCriterion("status <=", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusIn(List values) { + addCriterion("status in", values, "status"); + return (Criteria) this; + } + + public Criteria andStatusNotIn(List values) { + addCriterion("status not in", values, "status"); + return (Criteria) this; + } + + public Criteria andStatusBetween(Byte value1, Byte value2) { + addCriterion("status between", value1, value2, "status"); + return (Criteria) this; + } + + public Criteria andStatusNotBetween(Byte value1, Byte value2) { + addCriterion("status not between", value1, value2, "status"); + return (Criteria) this; + } + + public Criteria andDescriptionIsNull() { + addCriterion("description is null"); + return (Criteria) this; + } + + public Criteria andDescriptionIsNotNull() { + addCriterion("description is not null"); + return (Criteria) this; + } + + public Criteria andDescriptionEqualTo(String value) { + addCriterion("description =", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionNotEqualTo(String value) { + addCriterion("description <>", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionGreaterThan(String value) { + addCriterion("description >", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionGreaterThanOrEqualTo(String value) { + addCriterion("description >=", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionLessThan(String value) { + addCriterion("description <", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionLessThanOrEqualTo(String value) { + addCriterion("description <=", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionLike(String value) { + addCriterion("description like", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionNotLike(String value) { + addCriterion("description not like", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionIn(List values) { + addCriterion("description in", values, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionNotIn(List values) { + addCriterion("description not in", values, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionBetween(String value1, String value2) { + addCriterion("description between", value1, value2, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionNotBetween(String value1, String value2) { + addCriterion("description not between", value1, value2, "description"); + return (Criteria) this; + } + + public Criteria andProductNumberIsNull() { + addCriterion("product_number is null"); + return (Criteria) this; + } + + public Criteria andProductNumberIsNotNull() { + addCriterion("product_number is not null"); + return (Criteria) this; + } + + public Criteria andProductNumberEqualTo(String value) { + addCriterion("product_number =", value, "productNumber"); + return (Criteria) this; + } + + public Criteria andProductNumberNotEqualTo(String value) { + addCriterion("product_number <>", value, "productNumber"); + return (Criteria) this; + } + + public Criteria andProductNumberGreaterThan(String value) { + addCriterion("product_number >", value, "productNumber"); + return (Criteria) this; + } + + public Criteria andProductNumberGreaterThanOrEqualTo(String value) { + addCriterion("product_number >=", value, "productNumber"); + return (Criteria) this; + } + + public Criteria andProductNumberLessThan(String value) { + addCriterion("product_number <", value, "productNumber"); + return (Criteria) this; + } + + public Criteria andProductNumberLessThanOrEqualTo(String value) { + addCriterion("product_number <=", value, "productNumber"); + return (Criteria) this; + } + + public Criteria andProductNumberLike(String value) { + addCriterion("product_number like", value, "productNumber"); + return (Criteria) this; + } + + public Criteria andProductNumberNotLike(String value) { + addCriterion("product_number not like", value, "productNumber"); + return (Criteria) this; + } + + public Criteria andProductNumberIn(List values) { + addCriterion("product_number in", values, "productNumber"); + return (Criteria) this; + } + + public Criteria andProductNumberNotIn(List values) { + addCriterion("product_number not in", values, "productNumber"); + return (Criteria) this; + } + + public Criteria andProductNumberBetween(String value1, String value2) { + addCriterion("product_number between", value1, value2, "productNumber"); + return (Criteria) this; + } + + public Criteria andProductNumberNotBetween(String value1, String value2) { + addCriterion("product_number not between", value1, value2, "productNumber"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/User.java b/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/User.java new file mode 100644 index 0000000..85598b3 --- /dev/null +++ b/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/User.java @@ -0,0 +1,23 @@ +package com.manong.pojo; + +public class User { + private Integer id; + + private String username; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username == null ? null : username.trim(); + } +} \ No newline at end of file diff --git a/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/UserExample.java b/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/UserExample.java new file mode 100644 index 0000000..4ca71eb --- /dev/null +++ b/manong_manager/manong_manager_pojo/src/main/java/com/manong/pojo/UserExample.java @@ -0,0 +1,330 @@ +package com.manong.pojo; + +import java.util.ArrayList; +import java.util.List; + +public class UserExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public UserExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Integer value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Integer value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Integer value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Integer value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Integer value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Integer value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Integer value1, Integer value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Integer value1, Integer value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andUsernameIsNull() { + addCriterion("userName is null"); + return (Criteria) this; + } + + public Criteria andUsernameIsNotNull() { + addCriterion("userName is not null"); + return (Criteria) this; + } + + public Criteria andUsernameEqualTo(String value) { + addCriterion("userName =", value, "username"); + return (Criteria) this; + } + + public Criteria andUsernameNotEqualTo(String value) { + addCriterion("userName <>", value, "username"); + return (Criteria) this; + } + + public Criteria andUsernameGreaterThan(String value) { + addCriterion("userName >", value, "username"); + return (Criteria) this; + } + + public Criteria andUsernameGreaterThanOrEqualTo(String value) { + addCriterion("userName >=", value, "username"); + return (Criteria) this; + } + + public Criteria andUsernameLessThan(String value) { + addCriterion("userName <", value, "username"); + return (Criteria) this; + } + + public Criteria andUsernameLessThanOrEqualTo(String value) { + addCriterion("userName <=", value, "username"); + return (Criteria) this; + } + + public Criteria andUsernameLike(String value) { + addCriterion("userName like", value, "username"); + return (Criteria) this; + } + + public Criteria andUsernameNotLike(String value) { + addCriterion("userName not like", value, "username"); + return (Criteria) this; + } + + public Criteria andUsernameIn(List values) { + addCriterion("userName in", values, "username"); + return (Criteria) this; + } + + public Criteria andUsernameNotIn(List values) { + addCriterion("userName not in", values, "username"); + return (Criteria) this; + } + + public Criteria andUsernameBetween(String value1, String value2) { + addCriterion("userName between", value1, value2, "username"); + return (Criteria) this; + } + + public Criteria andUsernameNotBetween(String value1, String value2) { + addCriterion("userName not between", value1, value2, "username"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/manong_manager/manong_manager_service/pom.xml b/manong_manager/manong_manager_service/pom.xml new file mode 100644 index 0000000..d1e88c7 --- /dev/null +++ b/manong_manager/manong_manager_service/pom.xml @@ -0,0 +1,59 @@ + + + + manong_manager + com.kendinghui + 1.0-SNAPSHOT + + 4.0.0 + jar + manong_manager_service + + + + com.kendinghui + manong_manager_mapper + 1.0-SNAPSHOT + + + + org.springframework + spring-context + + + + org.springframework + spring-jdbc + + + + org.springframework + spring-aspects + + + + org.springframework + spring-webmvc + + + + org.springframework + spring-beans + + + + com.kendinghui + manong_common + 1.0-SNAPSHOT + + + + com.github.pagehelper + pagehelper + + + + + \ No newline at end of file diff --git a/manong_manager/manong_manager_service/src/main/java/com/manong/service/ProductCategoryService.java b/manong_manager/manong_manager_service/src/main/java/com/manong/service/ProductCategoryService.java new file mode 100644 index 0000000..1ed4ea1 --- /dev/null +++ b/manong_manager/manong_manager_service/src/main/java/com/manong/service/ProductCategoryService.java @@ -0,0 +1,22 @@ +package com.manong.service; + + +import pojo.EasyUITree; +import pojo.ResponseJsonResult; + +import java.util.List; + +/** + * Created by wistbean on 2018/10/2. + */ +public interface ProductCategoryService { + + List findProductCategoryListByParentId(Short parentid); + + ResponseJsonResult addCategory(Short parentid, String name); + + ResponseJsonResult deleteCategory(Short parentid,Short id); + + + +} diff --git a/manong_manager/manong_manager_service/src/main/java/com/manong/service/ProductService.java b/manong_manager/manong_manager_service/src/main/java/com/manong/service/ProductService.java new file mode 100644 index 0000000..aad7a35 --- /dev/null +++ b/manong_manager/manong_manager_service/src/main/java/com/manong/service/ProductService.java @@ -0,0 +1,13 @@ +package com.manong.service; + +import com.manong.pojo.Product; +import pojo.EasyGrid; +import pojo.ResponseJsonResult; + +/** + * Created by wistbean on 2019/1/5. + */ +public interface ProductService { + ResponseJsonResult saveProduct(Product product); + EasyGrid listProduct(int pages,int rows); +} diff --git a/manong_manager/manong_manager_service/src/main/java/com/manong/service/UserService.java b/manong_manager/manong_manager_service/src/main/java/com/manong/service/UserService.java new file mode 100644 index 0000000..01d0b15 --- /dev/null +++ b/manong_manager/manong_manager_service/src/main/java/com/manong/service/UserService.java @@ -0,0 +1,11 @@ +package com.manong.service; + +import com.manong.pojo.User; + +/** + * Created by wistbean on 2018/9/6. + */ +public interface UserService { + + User getUserById(Integer id); +} diff --git a/manong_manager/manong_manager_service/src/main/java/com/manong/service/impl/ProductCategoryServiceImpl.java b/manong_manager/manong_manager_service/src/main/java/com/manong/service/impl/ProductCategoryServiceImpl.java new file mode 100644 index 0000000..c580938 --- /dev/null +++ b/manong_manager/manong_manager_service/src/main/java/com/manong/service/impl/ProductCategoryServiceImpl.java @@ -0,0 +1,87 @@ +package com.manong.service.impl; + +import com.manong.mapper.ProductCategoryMapper; +import com.manong.pojo.ProductCategory; +import com.manong.pojo.ProductCategoryExample; +import com.manong.service.ProductCategoryService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import pojo.EasyUITree; +import pojo.ResponseJsonResult; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by wistbean on 2018/10/2. + */ +@Service +public class ProductCategoryServiceImpl implements ProductCategoryService { + + @Autowired + private ProductCategoryMapper productCategoryMapper; + + @Override + public List findProductCategoryListByParentId(Short parentid) { + + ProductCategoryExample productCategoryExample = new ProductCategoryExample(); + ProductCategoryExample.Criteria criteria = productCategoryExample.createCriteria(); + criteria.andParentIdEqualTo(parentid); + List productCategoryList = productCategoryMapper.selectByExample(productCategoryExample); + + List easyUITrees = new ArrayList<>(productCategoryList.size()); + + for (ProductCategory productCategory:productCategoryList) { + + EasyUITree easyuiTree = new EasyUITree(); + + easyuiTree.setId(productCategory.getId()); + easyuiTree.setText(productCategory.getName()); + easyuiTree.setState(productCategory.getParentId()==0?"closed":"open"); + easyuiTree.setAttributes(productCategory.getParentId()+""); + + easyUITrees.add(easyuiTree); + } + + return easyUITrees; + } + + @Override + public ResponseJsonResult addCategory(Short parentid, String name) { + + ProductCategory productCategory = new ProductCategory(); + productCategory.setParentId(parentid); + productCategory.setName(name); + + productCategoryMapper.insert(productCategory); + + ResponseJsonResult responseJsonResult = new ResponseJsonResult(); + responseJsonResult.setMsg(productCategory.getId()+""); + + return responseJsonResult; + } + + @Override + public ResponseJsonResult deleteCategory(Short parentid, Short id) { + + ProductCategoryExample productCategoryExample = new ProductCategoryExample(); + ProductCategoryExample.Criteria criteria = productCategoryExample.createCriteria(); + + if(parentid == 0){ + criteria.andIdEqualTo(id); + ProductCategoryExample.Criteria criteria1 = productCategoryExample.createCriteria(); + criteria1.andParentIdEqualTo(id); + productCategoryExample.or(criteria1); + }else{ + criteria.andIdEqualTo(id); + } + + productCategoryMapper.deleteByExample(productCategoryExample); + + ResponseJsonResult responseJsonResult = new ResponseJsonResult(); + responseJsonResult.setStatus(200); + responseJsonResult.setMsg("success"); + + return responseJsonResult; + } +} diff --git a/manong_manager/manong_manager_service/src/main/java/com/manong/service/impl/ProductServiceImpl.java b/manong_manager/manong_manager_service/src/main/java/com/manong/service/impl/ProductServiceImpl.java new file mode 100644 index 0000000..39eab43 --- /dev/null +++ b/manong_manager/manong_manager_service/src/main/java/com/manong/service/impl/ProductServiceImpl.java @@ -0,0 +1,52 @@ +package com.manong.service.impl; + +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.manong.mapper.ProductMapper; +import com.manong.pojo.Product; +import com.manong.pojo.ProductExample; +import com.manong.service.ProductService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import pojo.EasyGrid; +import pojo.ResponseJsonResult; + +import java.util.List; + +/** + * Created by wistbean on 2019/1/5. + */ +@Service +public class ProductServiceImpl implements ProductService { + + @Autowired + ProductMapper productMapper; + + @Override + public ResponseJsonResult saveProduct(Product product) { + + product.setStatus((byte) 1); + productMapper.insert(product); + + ResponseJsonResult responseJsonResult = new ResponseJsonResult(); + responseJsonResult.setStatus(200); + + return responseJsonResult; + } + + @Override + public EasyGrid listProduct(int pages, int rows) { + + ProductExample productExample = new ProductExample(); + PageHelper.startPage(pages,rows); + List productList = productMapper.selectByExample(productExample); + + PageInfo pageInfo = new PageInfo<>(productList); + + EasyGrid easyGrid = new EasyGrid(); + easyGrid.setTotal((int) pageInfo.getTotal()); + easyGrid.setRows(productList); + + return easyGrid; + } +} diff --git a/manong_manager/manong_manager_service/src/main/java/com/manong/service/impl/UserServiceImpl.java b/manong_manager/manong_manager_service/src/main/java/com/manong/service/impl/UserServiceImpl.java new file mode 100644 index 0000000..3c491df --- /dev/null +++ b/manong_manager/manong_manager_service/src/main/java/com/manong/service/impl/UserServiceImpl.java @@ -0,0 +1,36 @@ +package com.manong.service.impl; + +import com.manong.mapper.UserMapper; +import com.manong.pojo.User; +import com.manong.pojo.UserExample; +import com.manong.service.UserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Created by wistbean on 2018/9/6. + */ +@Service +public class UserServiceImpl implements UserService { + + @Autowired + UserMapper userMapper; + + @Override + public User getUserById(Integer id) { + + UserExample userExample = new UserExample(); + UserExample.Criteria criteria = userExample.createCriteria(); + criteria.andIdEqualTo(id); + + List userList = userMapper.selectByExample(userExample); + + if(userList!=null){ + return userList.get(0); + } + + return null; + } +} diff --git a/manong_manager/manong_manager_web/pom.xml b/manong_manager/manong_manager_web/pom.xml new file mode 100644 index 0000000..4f2bbdf --- /dev/null +++ b/manong_manager/manong_manager_web/pom.xml @@ -0,0 +1,76 @@ + + + + manong_manager + com.kendinghui + 1.0-SNAPSHOT + + 4.0.0 + war + manong_manager_web + + + + com.kendinghui + manong_manager_service + 1.0-SNAPSHOT + + + + org.csource + fastdfs-client-java + + + + commons-fileupload + commons-fileupload + + + + commons-io + commons-io + + + + org.apache.commons + commons-lang3 + + + + commons-codec + commons-codec + + + + com.json + json + + + + com.baidu + ueditor + + + + org.freemarker + freemarker + + + + org.springframework + spring-context-support + + + + javax.servlet + servlet-api + provided + + + + + + + \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/java/com/manong/controller/FileController.java b/manong_manager/manong_manager_web/src/main/java/com/manong/controller/FileController.java new file mode 100644 index 0000000..e94c5e3 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/java/com/manong/controller/FileController.java @@ -0,0 +1,29 @@ +package com.manong.controller; + +import com.manong.fastdfs.FastDFSClient; +import org.springframework.stereotype.Controller; +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 java.io.IOException; + +/** + * Created by wistbean on 2018/11/29. + */ +@Controller +public class FileController { + + @RequestMapping(value = "uploadfile",method = RequestMethod.POST) + @ResponseBody + public String fileupload(@RequestParam MultipartFile uploadfile) throws IOException { + String fileID = FastDFSClient.uploadFile(uploadfile.getInputStream(), uploadfile.getOriginalFilename()); + if(fileID!=null){ + System.out.print("上传文件成功"); + } + return fileID; + + } +} diff --git a/manong_manager/manong_manager_web/src/main/java/com/manong/controller/FreemarkerTest.java b/manong_manager/manong_manager_web/src/main/java/com/manong/controller/FreemarkerTest.java new file mode 100644 index 0000000..a5c4042 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/java/com/manong/controller/FreemarkerTest.java @@ -0,0 +1,28 @@ +package com.manong.controller; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.RequestMapping; + +/** + * Created by wistbean on 2018/12/12. + */ +@Controller +public class FreemarkerTest { + + @RequestMapping("/hello") + public String sayHello(Model model){ + + model.addAttribute("name","wistbean"); + return "hello"; + + } + + @RequestMapping("/hi") + public String sayHi(Model model){ + + model.addAttribute("name","wistbean"); + return "hi"; + + } +} diff --git a/manong_manager/manong_manager_web/src/main/java/com/manong/controller/PageController.java b/manong_manager/manong_manager_web/src/main/java/com/manong/controller/PageController.java new file mode 100644 index 0000000..aa1634e --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/java/com/manong/controller/PageController.java @@ -0,0 +1,41 @@ +package com.manong.controller; + +import com.manong.service.ProductCategoryService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import pojo.EasyUITree; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * Created by wistbean on 2018/10/2. + * 页面管理控制器 + */ +@Controller +public class PageController { + + + @Autowired + ProductCategoryService productCategoryService; + + @RequestMapping("/{page}") + public String requestPage(@PathVariable String page){ + return page; + } + + @RequestMapping("/") + public String requestIndex(){ + return "index"; + } + + @RequestMapping("/product_add") + public String requestProductAdd(HttpServletRequest request){ + List categories = productCategoryService.findProductCategoryListByParentId((short) 0); + request.getSession().setAttribute("categories",categories); + return "product_add"; + } + +} diff --git a/manong_manager/manong_manager_web/src/main/java/com/manong/controller/ProductCategoryController.java b/manong_manager/manong_manager_web/src/main/java/com/manong/controller/ProductCategoryController.java new file mode 100644 index 0000000..c0f157d --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/java/com/manong/controller/ProductCategoryController.java @@ -0,0 +1,59 @@ +package com.manong.controller; + +import com.manong.service.ProductCategoryService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import pojo.EasyUITree; +import pojo.ResponseJsonResult; + +import java.util.List; + +/** + * Created by wistbean on 2018/10/2. + * 商品分类管理控制器 + */ +@Controller +@RequestMapping("/product_category") +public class ProductCategoryController { + + @Autowired + ProductCategoryService productCategoryService; + + /** + * 根据parentid返回数据列表 + */ + @RequestMapping("/list") + @ResponseBody + public List getProductCategoryByParentId(@RequestParam(value = "id", defaultValue = "0") Short + parentId) { + List easyUITrees = productCategoryService.findProductCategoryListByParentId(parentId); + return easyUITrees; + } + + + /** + * 添加分类 + */ + @RequestMapping("/add") + @ResponseBody + public ResponseJsonResult addCategory(Short parentId,String name){ + ResponseJsonResult responseJsonResult = productCategoryService.addCategory(parentId, name); + return responseJsonResult; + } + + /** + * 删除分类 + */ + @RequestMapping("/del") + @ResponseBody + public ResponseJsonResult delCategory(Short parentId,Short id){ + ResponseJsonResult responseJsonResult = productCategoryService.deleteCategory(parentId, id); + return responseJsonResult; + } + + + +} diff --git a/manong_manager/manong_manager_web/src/main/java/com/manong/controller/ProductConrtroller.java b/manong_manager/manong_manager_web/src/main/java/com/manong/controller/ProductConrtroller.java new file mode 100644 index 0000000..0304109 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/java/com/manong/controller/ProductConrtroller.java @@ -0,0 +1,41 @@ +package com.manong.controller; + +import com.manong.pojo.Product; +import com.manong.service.ProductService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import pojo.EasyGrid; +import pojo.ResponseJsonResult; + +/** + * Created by wistbean on 2018/9/19. + * 商品管理控制层 + */ + +@Controller +public class ProductConrtroller { + + @Autowired + ProductService productService; + + @RequestMapping("/product/list") + @ResponseBody + public EasyGrid listProduct(@RequestParam(value = "page" , defaultValue = "1")int page,@RequestParam(value = + "rows",defaultValue = "10")int rows){ + + EasyGrid easyGrid = productService.listProduct(page, rows); + + return easyGrid; + } + + @RequestMapping("product_save") + @ResponseBody + public ResponseJsonResult saveProduct(Product product){ + ResponseJsonResult responseJsonResult = productService.saveProduct(product); + return responseJsonResult; + } + +} diff --git a/manong_manager/manong_manager_web/src/main/java/com/manong/controller/UserController.java b/manong_manager/manong_manager_web/src/main/java/com/manong/controller/UserController.java new file mode 100644 index 0000000..550e034 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/java/com/manong/controller/UserController.java @@ -0,0 +1,28 @@ +package com.manong.controller; + +import com.manong.pojo.User; +import com.manong.service.UserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * Created by wistbean on 2018/9/6. + */ +@Controller +public class UserController { + + @Autowired + UserService userService; + + @RequestMapping("/user/{userid}") + @ResponseBody + public User getUserById(@PathVariable Integer userid){ + User user = userService.getUserById(userid); + return user; + } + + +} diff --git a/manong_manager/manong_manager_web/src/main/java/com/manong/fastdfs/FastDFSClient.java b/manong_manager/manong_manager_web/src/main/java/com/manong/fastdfs/FastDFSClient.java new file mode 100644 index 0000000..029be1f --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/java/com/manong/fastdfs/FastDFSClient.java @@ -0,0 +1,76 @@ +package com.manong.fastdfs; + +import org.apache.commons.lang3.StringUtils; +import org.csource.common.NameValuePair; +import org.csource.fastdfs.*; + +import java.io.File; +import java.io.IOException; +import java.io.InputStream; + +/** + * Created by wistbean on 2018/11/29. + */ +public class FastDFSClient { + + private static StorageClient1 storageClient1 = null; + + static { + try { + // 获取配置文件 + String classPath = new File(FastDFSClient.class.getResource("/").getFile()).getCanonicalPath(); + String CONF_FILENAME = classPath + File.separator + "conf" + File.separator + "fdfs_client.conf"; + ClientGlobal.init(CONF_FILENAME); + // 获取触发器 + TrackerClient trackerClient = new TrackerClient(ClientGlobal.g_tracker_group); + TrackerServer trackerServer = trackerClient.getConnection(); + // 获取存储服务器 + StorageServer storageServer = trackerClient.getStoreStorage(trackerServer); + storageClient1 = new StorageClient1(trackerServer, storageServer); + } catch (Exception e) { + System.out.println(e); + } + } + + /** + * @param fis 文件输入流 + * @param fileName 文件名称 + * @return + */ + public static String uploadFile(InputStream fis, String fileName) { + try { + NameValuePair[] meta_list = null; + + //将输入流写入file_buff数组 + byte[] file_buff = null; + if (fis != null) { + int len = fis.available(); + file_buff = new byte[len]; + fis.read(file_buff); + } + + String fileid = storageClient1.upload_file1(file_buff, getFileExt(fileName), meta_list); + return fileid; + } catch (Exception ex) { + return null; + } finally { + if (fis != null) { + try { + fis.close(); + } catch (IOException e) { + System.out.println(e); + } + } + } + } + + + private static String getFileExt(String fileName) { + if (StringUtils.isBlank(fileName) || !fileName.contains(".")) { + return ""; + } else { + return fileName.substring(fileName.lastIndexOf(".") + 1); + } + } + +} diff --git a/manong_manager/manong_manager_web/src/main/resources/conf/fdfs_client.conf b/manong_manager/manong_manager_web/src/main/resources/conf/fdfs_client.conf new file mode 100644 index 0000000..84eab9b --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/resources/conf/fdfs_client.conf @@ -0,0 +1,8 @@ +connect_timeout = 2 +network_timeout = 30 +charset = UTF-8 +http.tracker_http_port = 8080 +http.anti_steal_token = no +http.secret_key = FastDFS1234567890 + +tracker_server = 65.49.227.129:22122 diff --git a/manong_manager/manong_manager_web/src/main/resources/mybatis/sqlMapConfig.xml b/manong_manager/manong_manager_web/src/main/resources/mybatis/sqlMapConfig.xml new file mode 100644 index 0000000..edbc230 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/resources/mybatis/sqlMapConfig.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/resources/properties/db.properties b/manong_manager/manong_manager_web/src/main/resources/properties/db.properties new file mode 100644 index 0000000..d3e91ec --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/resources/properties/db.properties @@ -0,0 +1,4 @@ +jdbc_url=jdbc:mysql://localhost:3306/manong?characterEncoding=utf-8 +jdbc_user=root +jdbc_password=admin +jdbc_driver=com.mysql.jdbc.Driver \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/resources/spring/applicationContext-dao.xml b/manong_manager/manong_manager_web/src/main/resources/spring/applicationContext-dao.xml new file mode 100644 index 0000000..db2f305 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/resources/spring/applicationContext-dao.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/resources/spring/applicationContext-service.xml b/manong_manager/manong_manager_web/src/main/resources/spring/applicationContext-service.xml new file mode 100644 index 0000000..30a855a --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/resources/spring/applicationContext-service.xml @@ -0,0 +1,11 @@ + + + + + \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/resources/spring/applicationContext-trans.xml b/manong_manager/manong_manager_web/src/main/resources/spring/applicationContext-trans.xml new file mode 100644 index 0000000..5b3cef2 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/resources/spring/applicationContext-trans.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/resources/spring/springmvc.xml b/manong_manager/manong_manager_web/src/main/resources/spring/springmvc.xml new file mode 100644 index 0000000..d23c677 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/resources/spring/springmvc.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/angular.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/angular.css new file mode 100644 index 0000000..b2ea7d4 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/angular.css @@ -0,0 +1,639 @@ +*{ + box-sizing: border-box; +} +.f-block{ + display: block; + position: relative; +} +.f-row{ + display: -webkit-box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + position: relative; +} +.f-column{ + display: -webkit-box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-direction: normal; + -webkit-box-orient: vertical; + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + position: relative; +} +.f-inline-row{ + white-space: nowrap; + display: -webkit-inline-box; + display: -ms-inline-box; + display: inline-flex; + vertical-align: middle; + position: relative; + align-items: stretch; + -webkit-tap-highlight-color: transparent; +} +.f-content-center{ + -webkit-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + -moz-justify-content: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + -moz-align-items: center; + align-items: center; +} +.f-full{ + -webkit-box-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; +} +.f-hide{ + display: none; +} +.f-order0{ + order: 0; +} +.f-order1{ + order: 1; +} +.f-order2{ + order: 2; +} +.f-order3{ + order: 3; +} +.f-order4{ + order: 4; +} +.f-order5{ + order: 5; +} +.f-order6{ + order: 6; +} +.f-order7{ + order: 7; +} +.f-order8{ + order: 8; +} +.f-noshrink{ + -webkit-flex-shrink: 0; + -moz-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; +} +.f-animate{ + transition: all .3s; +} + +.scroll-body{ + overflow: auto; + position: relative; +} + +.textbox .textbox-text{ + width: 100%; + height: auto; + overflow: hidden; +} +.textbox-addon{ + align-items: center; +} +.textbox-disabled>.textbox-addon .textbox-icon, +.textbox-readonly>.textbox-addon .textbox-icon{ + cursor: default; +} +.textbox-disabled>.textbox-addon .textbox-icon:hover, +.textbox-readonly>.textbox-addon .textbox-icon:hover{ + opacity: 0.6; + cursor: default; +} +.textbox-addon .textbox-icon{ + width: 26px; + height: 18px; +} + +.spinner .textbox-text{ + height: auto; +} +.spinner-button-left,.spinner-button-right{ + width: 26px; +} +.spinner-button-updown{ + width: 26px; +} +.spinner-button-top,.spinner-button-bottom{ + position: absolute; + width: 100%; + height: 26px; +} +.spinner-button-top{ + top: 0; +} +.spinner-button-bottom{ + top: auto; + bottom: 0; +} +.spinner-button{ + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + left: 50%; + margin-left: -8px; + top: 50%; + margin-top: -8px; +} +.spinner-arrow{ + cursor: pointer; + opacity: 0.6; +} + +.textbox-disabled .spinner-arrow:hover, +.textbox-readonly .spinner-arrow:hover +{ + opacity: 0.6; + cursor: default; +} +.textbox-readonly .spinner-arrow .spinner-arrow-up:hover, +.textbox-disabled .spinner-arrow .spinner-arrow-up:hover, +.textbox-readonly .spinner-arrow .spinner-arrow-down:hover, +.textbox-disabled .spinner-arrow .spinner-arrow-down:hover +{ + cursor: default; +} + +.l-btn{ + width: 100%; +} +.l-btn-empty{ + height: 28px; +} +.l-btn-large .l-btn-empty{ + height: 44px; +} +.l-btn-left{ + overflow: visible; +} +.m-btn .l-btn-left .m-btn-line{ + top: -100px; + width: 36px; + right: -20px; +} +eui-button-group eui-linkbutton.f-inline-row{ + margin-left: -1px; +} +eui-button-group .l-btn:hover{ + z-index: 99; +} +eui-button-group eui-linkbutton:not(:first-child):not(:last-child) .l-btn{ + border-radius: 0; +} +eui-button-group eui-linkbutton:first-child .l-btn{ + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +eui-button-group eui-linkbutton:last-child .l-btn{ + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.switchbutton-on,.switchbutton-off{ + position: absolute; + left: 0; + width: calc(100% - 15px); + height: 100%; +} +.switchbutton-on span,.switchbutton-off span,.switchbutton-handle span{ + height: 100%; +} +.switchbutton-on span{ + text-indent: -15px; +} +.switchbutton-off span{ + text-indent: 15px; +} +.switchbutton-off{ + left: calc(100% - 15px); +} +.switchbutton-handle{ + width: 30px; + left: auto; + right: 0; + z-index: 9; +} +.switchbutton-inner{ + transition: all 200ms ease-out; + overflow: visible; + position: absolute; + width: 100%; + top: -1px; + bottom: -1px; + left: calc(-100% + 30px); + right: auto; +} +.switchbutton-checked .switchbutton-inner{ + left: 0; +} +.draggable-reverting{ + transition: all 200ms ease-out; +} +.slider-h .slider-tip{ + transform: translateX(-50%); +} +.slider-h .slider-rulelabel span{ + transform: translateX(-50%); +} +.slider-v .slider-tip{ + margin-top: 0; + transform: translate(-100%,-50%); +} +.slider-v .slider-rulelabel span{ + transform: translateY(-50%); +} +.slider-v .slider-inner{ + height: auto; +} + + +.panel{ + position:relative; +} +.panel-title{ + height: 20px; + line-height: 20px; +} +.panel-footer-fixed{ + position:absolute; + width:100%; + bottom:0; +} +.window{ + position: absolute; +} +.window-mask{ + position: fixed; +} +.window .window-footer{ + top: 0; +} +.dialog-toolbar{ + border-width: 0 0 1px 0; +} +.dialog-button{ + border-width: 1px 0 0 0; + top: 0; +} + +.tabs{ + width: 100%; + height: auto; +} +.tabs-scrollable{ + transition: left 400ms, right 400ms; + position: absolute; + width: auto; + height: 100%; + left: 0; + top: 0; +} +.tabs li{ + display: inherit; +} +.tabs li a.tabs-inner{ + height: auto; + line-height: normal; + display: inherit; + overflow: hidden; +} +.tabs-title{ + display: inherit; + align-items: center; + line-height: normal; +} +.tabs-close{ + outline: none; +} +.tabs-scroller-left,.tabs-scroller-right{ + position: relative; + display: block; + width: 21px; + height: 100%; +} +.tabs-header-left .tabs li{ + right: -1px; +} +.tabs-header-left .tabs li,.tabs-header-right .tabs li, +.tabs-header-left .tabs li a.tabs-inner, +.tabs-header-right .tabs li a.tabs-inner{ + display: inherit; +} + +.combo-panel{ + position: absolute; + height: 200px; + z-index: 9999; +} +.combo-panel eui-virtual-scroll, +.combo-panel eui-datagrid, +.combo-panel eui-treegrid{ + width: 100%; + height: 100%; +} +.combobox-item{ + padding: 6px 4px; + line-height: 20px; +} +.tagbox-labels{ + padding-bottom: 4px; +} +.tagbox-label{ + height: 20px; + line-height: 20px; +} +.tagbox .textbox-text{ + width: 50px; + max-width: 100%; + margin-top: 4px; + padding-top: 0; + padding-bottom: 0; + height: 20px; + line-height: 20px; +} + +.datagrid,eui-datagrid, +eui-datagrid-view,eui-datagrid-body, +eui-treegrid-view,eui-treegrid-body{ + overflow: hidden; +} +.datagrid-view,.datagrid-view1,.datagrid-view2{ + position: relative; +} +.datagrid-vbody{ + overflow: hidden; +} +.datagrid-view3{ + margin-left: -1px; +} +.datagrid-view3 .datagrid-body{ + overflow: hidden; +} +.datagrid-view3 .datagrid-body-inner{ + padding-bottom: 20px; +} +.datagrid-view3 .datagrid-header td, +.datagrid-view3 .datagrid-body td, +.datagrid-view3 .datagrid-footer td { + border-width: 0 0 1px 1px; +} +.datagrid-htable,.datagrid-btable,.datagrid-ftable{ + table-layout: fixed; + width: 100%; +} +.datagrid-htable{ + height: 100%; +} +.datagrid-header .datagrid-header, +.datagrid-footer .datagrid-header{ + border-width: 0 0 0 1px; +} +.datagrid-header-inner,.datagrid-footer-inner{ + overflow: hidden; +} +.datagrid-header-row, .datagrid-row{ + height: 32px; +} +.datagrid-cell{ + text-align: left; + height: auto; + font-size: inherit; +} +.datagrid-cell-group{ + text-align: center; +} +.datagrid .datagrid-pager{ + padding: 2px 4px; + display: inherit; +} +.datagrid-loading{ + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + justify-content: center; + align-items: center; +} +.datagrid-mask{ + display: block; +} +.datagrid-mask-msg{ + display: block; + position: static; + line-height: 36px; + height: 40px; + margin: 0; + padding: 0 5px 0 30px; + z-index: 9; +} +.datagrid-body .datagrid-td-group{ + border-left-color: transparent; + border-right-color: transparent; +} +.datagrid-group-expander{ + cursor: pointer; +} +.datagrid-row-expander{ + display: inline-block; + width: 16px; + height: 18px; + cursor: pointer; +} +.datagrid-group-title{ + align-self: center; + padding: 0 4px; + white-space: nowrap; + word-break: normal; + position: relative; +} +.datagrid-editable> .f-field, +.datagrid-editable> *{ + width: 100%; + height: 31px; +} +.datagrid-editable .textbox, .datagrid-editable .textbox-text{ + border-radius: 0; +} +.datagrid-filter-row .textbox{ + border-radius: 0; +} +.datagrid-filter-c{ + padding: 4px; + height: 38px; +} +.datagrid-filter-c> .f-field, +.datagrid-filter-c> *{ + height: 30px; +} +.datagrid-filter-c .datagrid-editable-input{ + width: 100%; +} +.datagrid-filter-btn{ + width: 30px; +} +.datagrid-filter-btn .textbox-icon{ + width: 28px; +} +.datagrid-filter-btn .textbox{ + background-color: transparent; +} +.datagrid-filter-btn-left{ + margin-right: 4px; +} +.datagrid-filter-btn-right{ + margin-left: 4px; +} + +eui-menu.menu-inline{ + position: relative; + display: inline; + margin: 0; + padding: 0; +} +eui-menu> .menu-container{ + position: relative; +} +.menu-container{ + position: absolute; + left: 0; + top: 0; + min-width: 200px; +} +.menu{ + overflow: visible; +} +.menu-shadow{ + width: 100%; + height: 100%; + left: 0; + top: 0; +} +.menu-item{ + overflow: visible; +} +.menu-text{ + height: 32px; + line-height: 32px; + float: none; +} +.menu-line{ + z-index: 9999999; + height: 100%; +} +.menu-active{ + z-index: 99999999; +} + +.progressbar-value{ + overflow: visible; +} + +.searchbox .textbox-button, +.searchbox .textbox-button:hover{ + position: inherit; +} + +.calendar-content{ + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; +} +.calendar-menu{ + position: absolute; + width: 100%; + height: 100%; +} +.calendar-menu-month-inner{ + position: relative; +} + +.f-field{ + width: 12em; + height: 30px; +} +eui-tagbox{ + width: 12em; + height: auto; + min-height: 30px; +} +eui-switchbutton{ + width: 70px; + height: 30px; +} +eui-radiobutton{ + width: 20px; + height: 20px; +} +eui-checkbox{ + width: 20px; + height: 20px; +} +eui-progressbar{ + height: 24px; +} +eui-pagination{ + height: 34px; + padding: 2px; +} +eui-layout{ + display: block; +} +.layout{ + height: 100%; +} +.layout-animate{ + transition: transform 400ms; +} +.layout-panel-north,.layout-panel-south{ + position: absolute; + width: 100%; + left: 0; + top: 0; +} +.layout-panel-south{ + top: auto; + bottom: 0; +} +.layout-panel-west,.layout-panel-east{ + position: absolute; + left: 0; + top: 0; + bottom: 0; +} +.layout-panel-east{ + left: auto; + right: 0; +} +.layout-panel-west.layout-collapsed{ + transform: translate3d(-100%, 0, 0); +} +.layout-panel-east.layout-collapsed{ + transform: translate3d(100%, 0, 0) +} +.layout-panel-north.layout-collapsed{ + transform: translate3d(0, -100%, 0) +} +.layout-panel-south.layout-collapsed{ + transform: translate3d(0, 100%, 0) +} + diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/accordion.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/accordion.css new file mode 100644 index 0000000..b2dba52 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/accordion.css @@ -0,0 +1,89 @@ +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #666; + border-color: #000; +} +.accordion .accordion-header { + background: #3d3d3d; + filter: none; +} +.accordion .accordion-header-selected { + background: #0052A3; +} +.accordion .accordion-header-selected .panel-title { + color: #fff; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #3d3d3d; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #666; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #000; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #3d3d3d; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #666; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #000; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #3d3d3d; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #666; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #000; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/calendar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/calendar.css new file mode 100644 index 0000000..eed5a4b --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/calendar.css @@ -0,0 +1,203 @@ +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 14px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 14px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 28px; +} +.calendar-title { + text-align: center; + height: 28px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 0px; + padding: 0 3px; + height: 28px; + line-height: 28px; + font-size: 14px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -8px; + width: 16px; + height: 16px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -16px 0; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -32px 0; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat 0px 0; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -48px 0; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 14px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 80px; + line-height: 26px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 0; + font-weight: bold; + font-size: 14px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 25px; + height: 28px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 5px center; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -44px center; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-body th, +.calendar-menu-month { + color: #ffffff; +} +.calendar-day { + color: #fff; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #000; +} +.calendar { + border-color: #000; +} +.calendar-header { + background: #3d3d3d; +} +.calendar-body, +.calendar-menu { + background: #666; +} +.calendar-body th { + background: #555; + padding: 4px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #777; + color: #fff; +} +.calendar-hover { + border: 1px solid #555; + padding: 0; +} +.calendar-selected { + background-color: #0052A3; + color: #fff; + border: 1px solid #00458a; + padding: 0; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/checkbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/checkbox.css new file mode 100644 index 0000000..e84e80d --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/checkbox.css @@ -0,0 +1,31 @@ +.checkbox { + position: relative; + border: 2px solid #00458a; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.checkbox-checked { + border: 0; + background: #00458a; +} +.checkbox-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; +} +.checkbox path { + stroke-width: 2px; +} +.checkbox-disabled { + opacity: 0.6; +} +.checkbox-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/combo.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/combo.css new file mode 100644 index 0000000..0798ce1 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/combo.css @@ -0,0 +1,35 @@ +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #666; +} +.combo-arrow { + background-color: #3d3d3d; +} +.combo-arrow-hover { + background-color: #777; +} +.combo-arrow:hover { + background-color: #777; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/combobox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/combobox.css new file mode 100644 index 0000000..6415d08 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/combobox.css @@ -0,0 +1,40 @@ +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 14px; + padding: 6px 4px; + line-height: 20px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #777; + color: #fff; +} +.combobox-item-selected { + background-color: #0052A3; + color: #fff; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/datagrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/datagrid.css new file mode 100644 index 0000000..376206d --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/datagrid.css @@ -0,0 +1,291 @@ +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #444; + border-right: 1px solid #777; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 32px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 14px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 14px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #000; + font-size: 14px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #666 url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #444; + background: -webkit-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%); + background: -moz-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%); + background: -o-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%); + background: linear-gradient(to bottom,#4c4c4c 0,#3f3f3f 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4c4c4c,endColorstr=#3f3f3f,GradientType=0); +} +.datagrid-cell-rownumber { + color: #fff; +} +.datagrid-resize-proxy { + background: #cccccc; +} +.datagrid-mask { + background: #000; +} +.datagrid-mask-msg { + border-color: #000; +} +.datagrid-toolbar, +.datagrid-pager { + background: #555; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #222; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #222; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #fff; + border-collapse: separate; +} +.datagrid-row-alt { + background: #555; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #777; + color: #fff; + cursor: default; +} +.datagrid-row-selected { + background: #0052A3; + color: #fff; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-header .datagrid-filter-row td.datagrid-header-over { + background: inherit; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/datalist.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/datalist.css new file mode 100644 index 0000000..94dd67e --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/datalist.css @@ -0,0 +1,95 @@ +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #444; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #222; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #fff; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #222; +} +.m-list li>a:hover { + background: #777; + color: #fff; +} +.m-list .m-list-group { + padding: 0 4px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/datebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/datebox.css new file mode 100644 index 0000000..ae25037 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/datebox.css @@ -0,0 +1,36 @@ +.datebox-calendar-inner { + height: 250px; +} +.datebox-button { + padding: 4px 0; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 14px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #555; +} +.datebox-button a { + color: #fff; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/dialog.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/dialog.css new file mode 100644 index 0000000..4a6f36e --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/dialog.css @@ -0,0 +1,47 @@ +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #444; + border-right: 1px solid #777; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #555; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #000 #000 #222 #000; +} +.dialog-button { + border-color: #222 #000 #000 #000; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #555; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/easyui.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/easyui.css new file mode 100644 index 0000000..16cdbff --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/easyui.css @@ -0,0 +1,3438 @@ +.panel { + overflow: hidden; + text-align: left; + margin: 0; + border: 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.panel-header, +.panel-body { + border-width: 1px; + border-style: solid; +} +.panel-header { + padding: 5px; + position: relative; +} +.panel-title { + background: url('images/blank.gif') no-repeat; +} +.panel-header-noborder { + border-width: 0 0 1px 0; +} +.panel-body { + overflow: auto; + border-top-width: 0; + padding: 0; +} +.panel-body-noheader { + border-top-width: 1px; +} +.panel-body-noborder { + border-width: 0px; +} +.panel-body-nobottom { + border-bottom-width: 0; +} +.panel-with-icon { + padding-left: 18px; +} +.panel-icon, +.panel-tool { + position: absolute; + top: 50%; + margin-top: -8px; + height: 16px; + overflow: hidden; +} +.panel-icon { + left: 5px; + width: 16px; +} +.panel-tool { + right: 5px; + width: auto; +} +.panel-tool a { + display: inline-block; + width: 16px; + height: 16px; + opacity: 0.6; + filter: alpha(opacity=60); + margin: 0 0 0 2px; + vertical-align: top; +} +.panel-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + background-color: #777; + -moz-border-radius: 3px 3px 3px 3px; + -webkit-border-radius: 3px 3px 3px 3px; + border-radius: 3px 3px 3px 3px; +} +.panel-loading { + padding: 11px 0px 10px 30px; +} +.panel-noscroll { + overflow: hidden; +} +.panel-fit, +.panel-fit body { + height: 100%; + margin: 0; + padding: 0; + border: 0; + overflow: hidden; +} +.panel-loading { + background: url('images/loading.gif') no-repeat 10px 10px; +} +.panel-tool-close { + background: url('images/panel_tools.png') no-repeat -16px 0px; +} +.panel-tool-min { + background: url('images/panel_tools.png') no-repeat 0px 0px; +} +.panel-tool-max { + background: url('images/panel_tools.png') no-repeat 0px -16px; +} +.panel-tool-restore { + background: url('images/panel_tools.png') no-repeat -16px -16px; +} +.panel-tool-collapse { + background: url('images/panel_tools.png') no-repeat -32px 0; +} +.panel-tool-expand { + background: url('images/panel_tools.png') no-repeat -32px -16px; +} +.panel-header, +.panel-body { + border-color: #000; +} +.panel-header { + background-color: #3d3d3d; + background: -webkit-linear-gradient(top,#454545 0,#383838 100%); + background: -moz-linear-gradient(top,#454545 0,#383838 100%); + background: -o-linear-gradient(top,#454545 0,#383838 100%); + background: linear-gradient(to bottom,#454545 0,#383838 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0); +} +.panel-body { + background-color: #666; + color: #fff; + font-size: 14px; +} +.panel-title { + font-size: 14px; + font-weight: bold; + color: #fff; + height: 20px; + line-height: 20px; +} +.panel-footer { + border: 1px solid #000; + overflow: hidden; + background: #555; +} +.panel-footer-noborder { + border-width: 1px 0 0 0; +} +.panel-hleft, +.panel-hright { + position: relative; +} +.panel-hleft>.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; + left: 50%; + margin-left: -8px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 25px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 0px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #666; + border-color: #000; +} +.accordion .accordion-header { + background: #3d3d3d; + filter: none; +} +.accordion .accordion-header-selected { + background: #0052A3; +} +.accordion .accordion-header-selected .panel-title { + color: #fff; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #3d3d3d; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #666; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #000; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #3d3d3d; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #666; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #000; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #3d3d3d; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #666; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #000; +} +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.window-shadow { + background: #777; + -moz-box-shadow: 2px 2px 3px #787878; + -webkit-box-shadow: 2px 2px 3px #787878; + box-shadow: 2px 2px 3px #787878; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #000; +} +.window { + background-color: #3d3d3d; + background: -webkit-linear-gradient(top,#454545 0,#383838 20%); + background: -moz-linear-gradient(top,#454545 0,#383838 20%); + background: -o-linear-gradient(top,#454545 0,#383838 20%); + background: linear-gradient(to bottom,#454545 0,#383838 20%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0); +} +.window-proxy { + border: 1px dashed #000; +} +.window-proxy-mask, +.window-mask { + background: #000; +} +.window .panel-footer { + border: 1px solid #000; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-footer { + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #444; + border-right: 1px solid #777; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #555; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #000 #000 #222 #000; +} +.dialog-button { + border-color: #222 #000 #000 #000; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #555; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.l-btn { + text-decoration: none; + display: inline-block; + overflow: hidden; + margin: 0; + padding: 0; + cursor: pointer; + outline: none; + text-align: center; + vertical-align: middle; + line-height: normal; +} +.l-btn-plain { + border-width: 0; + padding: 1px; +} +.l-btn-left { + display: inline-block; + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + vertical-align: top; +} +.l-btn-text { + display: inline-block; + vertical-align: top; + width: auto; + line-height: 28px; + font-size: 14px; + padding: 0; + margin: 0 6px; +} +.l-btn-icon { + display: inline-block; + width: 16px; + height: 16px; + line-height: 16px; + position: absolute; + top: 50%; + margin-top: -8px; + font-size: 1px; +} +.l-btn span span .l-btn-empty { + display: inline-block; + margin: 0; + width: 16px; + height: 24px; + font-size: 1px; + vertical-align: top; +} +.l-btn span .l-btn-icon-left { + padding: 0 0 0 20px; + background-position: left center; +} +.l-btn span .l-btn-icon-right { + padding: 0 20px 0 0; + background-position: right center; +} +.l-btn-icon-left .l-btn-text { + margin: 0 6px 0 26px; +} +.l-btn-icon-left .l-btn-icon { + left: 6px; +} +.l-btn-icon-right .l-btn-text { + margin: 0 26px 0 6px; +} +.l-btn-icon-right .l-btn-icon { + right: 6px; +} +.l-btn-icon-top .l-btn-text { + margin: 20px 4px 0 4px; +} +.l-btn-icon-top .l-btn-icon { + top: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-icon-bottom .l-btn-text { + margin: 0 4px 20px 4px; +} +.l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-left .l-btn-empty { + margin: 0 6px; + width: 16px; +} +.l-btn-plain:hover { + padding: 0; +} +.l-btn-focus { + outline: #0000FF dotted thin; +} +.l-btn-large .l-btn-text { + line-height: 44px; +} +.l-btn-large .l-btn-icon { + width: 32px; + height: 32px; + line-height: 32px; + margin-top: -16px; +} +.l-btn-large .l-btn-icon-left .l-btn-text { + margin-left: 40px; +} +.l-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.l-btn-large .l-btn-icon-top .l-btn-text { + margin-top: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-top .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-left .l-btn-empty { + margin: 0 6px; + width: 32px; +} +.l-btn { + color: #fff; + background: #777; + background-repeat: repeat-x; + border: 1px solid #555; + background: -webkit-linear-gradient(top,#919191 0,#6a6a6a 100%); + background: -moz-linear-gradient(top,#919191 0,#6a6a6a 100%); + background: -o-linear-gradient(top,#919191 0,#6a6a6a 100%); + background: linear-gradient(to bottom,#919191 0,#6a6a6a 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#919191,endColorstr=#6a6a6a,GradientType=0); + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn:hover { + background: #777; + color: #fff; + border: 1px solid #555; + filter: none; +} +.l-btn-plain { + background: transparent; + border-width: 0; + filter: none; +} +.l-btn-outline { + border-width: 1px; + border-color: #555; + padding: 0; +} +.l-btn-plain:hover { + background: #777; + color: #fff; + border: 1px solid #555; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn-disabled, +.l-btn-disabled:hover { + opacity: 0.5; + cursor: default; + background: #777; + color: #fff; + background: -webkit-linear-gradient(top,#919191 0,#6a6a6a 100%); + background: -moz-linear-gradient(top,#919191 0,#6a6a6a 100%); + background: -o-linear-gradient(top,#919191 0,#6a6a6a 100%); + background: linear-gradient(to bottom,#919191 0,#6a6a6a 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#919191,endColorstr=#6a6a6a,GradientType=0); +} +.l-btn-disabled .l-btn-text, +.l-btn-disabled .l-btn-icon { + filter: alpha(opacity=50); +} +.l-btn-plain-disabled, +.l-btn-plain-disabled:hover { + background: transparent; + filter: alpha(opacity=50); +} +.l-btn-selected, +.l-btn-selected:hover { + background: #000; + filter: none; +} +.l-btn-plain-selected, +.l-btn-plain-selected:hover { + background: #000; +} +.textbox { + position: relative; + border: 1px solid #000; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-text { + font-size: 14px; + border: 0; + margin: 0; + padding: 0 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + height: 28px; + line-height: 28px; +} +.textbox textarea.textbox-text { + line-height: normal; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 14px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 30px; + line-height: 30px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #000000; + -moz-box-shadow: 0 0 3px 0 #000; + -webkit-box-shadow: 0 0 3px 0 #000; + box-shadow: 0 0 3px 0 #000; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #666; +} +.combo-arrow { + background-color: #3d3d3d; +} +.combo-arrow-hover { + background-color: #777; +} +.combo-arrow:hover { + background-color: #777; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 14px; + padding: 6px 4px; + line-height: 20px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #777; + color: #fff; +} +.combobox-item-selected { + background-color: #0052A3; + color: #fff; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #777; + color: #fff; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} +.layout { + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + z-index: 0; +} +.layout-panel { + position: absolute; + overflow: hidden; +} +.layout-body { + min-width: 1px; + min-height: 1px; +} +.layout-panel-east, +.layout-panel-west { + z-index: 2; +} +.layout-panel-north, +.layout-panel-south { + z-index: 3; +} +.layout-expand { + position: absolute; + padding: 0px; + font-size: 1px; + cursor: pointer; + z-index: 1; +} +.layout-expand .panel-header, +.layout-expand .panel-body { + background: transparent; + filter: none; + overflow: hidden; +} +.layout-expand .panel-header { + border-bottom-width: 0px; +} +.layout-expand .panel-body { + position: relative; +} +.layout-expand .panel-body .panel-icon { + margin-top: 0; + top: 0; + left: 50%; + margin-left: -8px; +} +.layout-expand-west .panel-header .panel-icon, +.layout-expand-east .panel-header .panel-icon { + display: none; +} +.layout-expand-title { + position: absolute; + top: 0; + left: 21px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.layout-expand-title-up { + position: absolute; + top: 0; + left: 0; + text-align: right; + padding-left: 5px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 0; +} +.layout-expand-with-icon { + top: 18px; +} +.layout-expand .panel-body-noheader .layout-expand-title, +.layout-expand .panel-body-noheader .panel-icon { + top: 5px; +} +.layout-expand .panel-body-noheader .layout-expand-with-icon { + top: 23px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + position: absolute; + font-size: 1px; + display: none; + z-index: 5; +} +.layout-split-proxy-h { + width: 5px; + cursor: e-resize; +} +.layout-split-proxy-v { + height: 5px; + cursor: n-resize; +} +.layout-mask { + position: absolute; + background: #fafafa; + filter: alpha(opacity=10); + opacity: 0.10; + z-index: 4; +} +.layout-button-up { + background: url('images/layout_arrows.png') no-repeat -16px -16px; +} +.layout-button-down { + background: url('images/layout_arrows.png') no-repeat -16px 0; +} +.layout-button-left { + background: url('images/layout_arrows.png') no-repeat 0 0; +} +.layout-button-right { + background: url('images/layout_arrows.png') no-repeat 0 -16px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + background-color: #cccccc; +} +.layout-split-north { + border-bottom: 5px solid #444; +} +.layout-split-south { + border-top: 5px solid #444; +} +.layout-split-east { + border-left: 5px solid #444; +} +.layout-split-west { + border-right: 5px solid #444; +} +.layout-expand { + background-color: #3d3d3d; +} +.layout-expand-over { + background-color: #3d3d3d; +} +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 0 0; + -webkit-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 14px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 5px 5px; + -webkit-border-radius: 0 0 5px 5px; + border-radius: 0 0 5px 5px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #3d3d3d url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #3d3d3d url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #777; + color: #fff; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #666; + color: #fff; + background: -webkit-linear-gradient(top,#454545 0,#666 100%); + background: -moz-linear-gradient(top,#454545 0,#666 100%); + background: -o-linear-gradient(top,#454545 0,#666 100%); + background: linear-gradient(to bottom,#454545 0,#666 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#666,GradientType=0); +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(top,#666 0,#454545 100%); + background: -moz-linear-gradient(top,#666 0,#454545 100%); + background: -o-linear-gradient(top,#666 0,#454545 100%); + background: linear-gradient(to bottom,#666 0,#454545 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#666,endColorstr=#454545,GradientType=0); +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#454545 0,#666 100%); + background: -moz-linear-gradient(left,#454545 0,#666 100%); + background: -o-linear-gradient(left,#454545 0,#666 100%); + background: linear-gradient(to right,#454545 0,#666 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#666,GradientType=1); +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#666 0,#454545 100%); + background: -moz-linear-gradient(left,#666 0,#454545 100%); + background: -o-linear-gradient(left,#666 0,#454545 100%); + background: linear-gradient(to right,#666 0,#454545 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#666,endColorstr=#454545,GradientType=1); +} +.tabs li a.tabs-inner { + color: #fff; + background-color: #3d3d3d; + background: -webkit-linear-gradient(top,#454545 0,#383838 100%); + background: -moz-linear-gradient(top,#454545 0,#383838 100%); + background: -o-linear-gradient(top,#454545 0,#383838 100%); + background: linear-gradient(to bottom,#454545 0,#383838 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0); +} +.tabs-header, +.tabs-tool { + background-color: #3d3d3d; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #000; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #777; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #666; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #666; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #666; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #666; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #0052A3; + color: #fff; + filter: none; + border-color: #000; +} +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #444; + border-right: 1px solid #777; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 32px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 14px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 14px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #000; + font-size: 14px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #666 url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #444; + background: -webkit-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%); + background: -moz-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%); + background: -o-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%); + background: linear-gradient(to bottom,#4c4c4c 0,#3f3f3f 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4c4c4c,endColorstr=#3f3f3f,GradientType=0); +} +.datagrid-cell-rownumber { + color: #fff; +} +.datagrid-resize-proxy { + background: #cccccc; +} +.datagrid-mask { + background: #000; +} +.datagrid-mask-msg { + border-color: #000; +} +.datagrid-toolbar, +.datagrid-pager { + background: #555; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #222; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #222; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #fff; + border-collapse: separate; +} +.datagrid-row-alt { + background: #555; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #777; + color: #fff; + cursor: default; +} +.datagrid-row-selected { + background: #0052A3; + color: #fff; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-header .datagrid-filter-row td.datagrid-header-over { + background: inherit; +} +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #222; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #3d3d3d; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #222; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #3d3d3d; +} +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #444; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #222; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #fff; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #222; +} +.m-list li>a:hover { + background: #777; + color: #fff; +} +.m-list .m-list-group { + padding: 0 4px; +} +.pagination { + zoom: 1; + padding: 2px; +} +.pagination table { + float: left; + height: 30px; +} +.pagination td { + border: 0; +} +.pagination-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #444; + border-right: 1px solid #777; + margin: 3px 1px; +} +.pagination .pagination-num { + border-width: 1px; + border-style: solid; + margin: 0 2px; + padding: 2px; + width: 3em; + height: auto; + text-align: center; + font-size: 14px; +} +.pagination-page-list { + margin: 0px 6px; + padding: 1px 2px; + width: auto; + height: auto; + border-width: 1px; + border-style: solid; +} +.pagination-info { + float: right; + margin: 0 6px; + padding: 0; + height: 30px; + line-height: 30px; + font-size: 14px; +} +.pagination span { + font-size: 14px; +} +.pagination-link .l-btn-text { + box-sizing: border-box; + text-align: center; + margin: 0; + padding: 0 .5em; + width: auto; + min-width: 28px; +} +.pagination-first { + background: url('images/pagination_icons.png') no-repeat 0 center; +} +.pagination-prev { + background: url('images/pagination_icons.png') no-repeat -16px center; +} +.pagination-next { + background: url('images/pagination_icons.png') no-repeat -32px center; +} +.pagination-last { + background: url('images/pagination_icons.png') no-repeat -48px center; +} +.pagination-load { + background: url('images/pagination_icons.png') no-repeat -64px center; +} +.pagination-loading { + background: url('images/loading.gif') no-repeat center center; +} +.pagination-page-list, +.pagination .pagination-num { + border-color: #000; +} +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 14px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 14px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 28px; +} +.calendar-title { + text-align: center; + height: 28px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 0px; + padding: 0 3px; + height: 28px; + line-height: 28px; + font-size: 14px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -8px; + width: 16px; + height: 16px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -16px 0; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -32px 0; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat 0px 0; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -48px 0; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 14px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 80px; + line-height: 26px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 0; + font-weight: bold; + font-size: 14px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 25px; + height: 28px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 5px center; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -44px center; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-body th, +.calendar-menu-month { + color: #ffffff; +} +.calendar-day { + color: #fff; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #000; +} +.calendar { + border-color: #000; +} +.calendar-header { + background: #3d3d3d; +} +.calendar-body, +.calendar-menu { + background: #666; +} +.calendar-body th { + background: #555; + padding: 4px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #777; + color: #fff; +} +.calendar-hover { + border: 1px solid #555; + padding: 0; +} +.calendar-selected { + background-color: #0052A3; + color: #fff; + border: 1px solid #00458a; + padding: 0; +} +.datebox-calendar-inner { + height: 250px; +} +.datebox-button { + padding: 4px 0; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 14px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #555; +} +.datebox-button a { + color: #fff; +} +.spinner-arrow { + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow.spinner-button-top, +.spinner-arrow.spinner-button-bottom, +.spinner-arrow.spinner-button-left, +.spinner-arrow.spinner-button-right { + background-color: #3d3d3d; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #fff; + outline-style: none; + background-color: #3d3d3d; +} +.spinner-button-updown { + opacity: 1.0; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + position: relative; + display: block; + width: 100%; + height: 50%; +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down { + opacity: 1.0; + filter: alpha(opacity=100); + cursor: pointer; + width: 16px; + height: 16px; + top: 50%; + left: 50%; + margin-top: -8px; + margin-left: -8px; + position: absolute; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-button-updown .spinner-button-top:hover, +.spinner-button-updown .spinner-button-bottom:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down, +.spinner-button-updown .spinner-arrow-up:hover, +.spinner-button-updown .spinner-arrow-down:hover { + background-color: transparent; +} +.spinner-arrow-hover { + background-color: #777; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-top:hover, +.spinner-button-bottom:hover, +.spinner-button-left:hover, +.spinner-button-right:hover, +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #777; +} +.textbox-disabled .spinner-button-top:hover, +.textbox-disabled .spinner-button-bottom:hover, +.textbox-disabled .spinner-button-left:hover, +.textbox-disabled .spinner-button-right:hover, +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #3d3d3d; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; + background-color: #3d3d3d; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; + background-color: #3d3d3d; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.progressbar { + border-color: #000; +} +.progressbar-text { + color: #fff; + font-size: 14px; +} +.progressbar-value, +.progressbar-value .progressbar-text { + background-color: #0052A3; + color: #fff; +} +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #3d3d3d; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 5px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 14px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 14px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #000; + background: #3d3d3d; +} +.slider-rule span { + border-color: #000; +} +.slider-rulelabel span { + color: #fff; +} +.menu { + position: absolute; + margin: 0; + padding: 2px; + border-width: 1px; + border-style: solid; + overflow: hidden; +} +.menu-inline { + position: relative; +} +.menu-item { + position: relative; + margin: 0; + padding: 0; + overflow: hidden; + white-space: nowrap; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.menu-text { + height: 20px; + line-height: 20px; + float: left; + padding-left: 28px; +} +.menu-icon { + position: absolute; + width: 16px; + height: 16px; + left: 2px; + top: 50%; + margin-top: -8px; +} +.menu-rightarrow { + position: absolute; + width: 16px; + height: 16px; + right: 0; + top: 50%; + margin-top: -8px; +} +.menu-line { + position: absolute; + left: 26px; + top: 0; + height: 2000px; + font-size: 1px; +} +.menu-sep { + margin: 3px 0px 3px 25px; + font-size: 1px; +} +.menu-noline .menu-line { + display: none; +} +.menu-noline .menu-sep { + margin-left: 0; + margin-right: 0; +} +.menu-active { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.menu-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); + cursor: default; +} +.menu-text, +.menu-text span { + font-size: 14px; +} +.menu-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #777; + -moz-box-shadow: 2px 2px 3px #787878; + -webkit-box-shadow: 2px 2px 3px #787878; + box-shadow: 2px 2px 3px #787878; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.menu-rightarrow { + background: url('images/menu_arrows.png') no-repeat -32px center; +} +.menu-line { + border-left: 1px solid #444; + border-right: 1px solid #777; +} +.menu-sep { + border-top: 1px solid #444; + border-bottom: 1px solid #777; +} +.menu { + background-color: #666; + border-color: #444; + color: #fff; +} +.menu-content { + background: #666; +} +.menu-item { + border-color: transparent; + _border-color: #666; +} +.menu-active { + border-color: #555; + color: #fff; + background: #777; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #fff; +} +.m-btn-downarrow, +.s-btn-downarrow { + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + font-size: 1px; + right: 0; + top: 50%; + margin-top: -8px; +} +.m-btn-active, +.s-btn-active { + background: #777; + color: #fff; + border: 1px solid #555; + filter: none; +} +.m-btn-plain-active, +.s-btn-plain-active { + background: transparent; + padding: 0; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.m-btn .l-btn-left .l-btn-text { + margin-right: 20px; +} +.m-btn .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.m-btn .l-btn-icon-right .l-btn-icon { + right: 20px; +} +.m-btn .l-btn-icon-top .l-btn-text { + margin-right: 4px; + margin-bottom: 14px; +} +.m-btn .l-btn-icon-bottom .l-btn-text { + margin-right: 4px; + margin-bottom: 34px; +} +.m-btn .l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 20px; +} +.m-btn .l-btn-icon-top .m-btn-downarrow, +.m-btn .l-btn-icon-bottom .m-btn-downarrow { + top: auto; + bottom: 0px; + left: 50%; + margin-left: -8px; +} +.m-btn-line { + display: inline-block; + position: absolute; + font-size: 1px; + display: none; +} +.m-btn .l-btn-left .m-btn-line { + right: 0; + width: 16px; + height: 500px; + border-style: solid; + border-color: #cccccc; + border-width: 0 0 0 1px; +} +.m-btn .l-btn-icon-top .m-btn-line, +.m-btn .l-btn-icon-bottom .m-btn-line { + left: 0; + bottom: 0; + width: 500px; + height: 16px; + border-width: 1px 0 0 0; +} +.m-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 56px; +} +.m-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 50px; +} +.m-btn-downarrow, +.s-btn-downarrow { + background: url('images/menu_arrows.png') no-repeat 0 center; +} +.m-btn-plain-active, +.s-btn-plain-active { + border-color: #555; + background-color: #777; + color: #fff; +} +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #cccccc; + border-width: 0 0 0 1px; +} +.messager-body { + padding: 10px 10px 30px 10px; + overflow: auto; +} +.messager-button { + text-align: center; + padding: 5px; +} +.messager-button .l-btn { + width: 70px; +} +.messager-icon { + float: left; + width: 32px; + height: 32px; + margin: 0 10px 10px 0; +} +.messager-error { + background: url('images/messager_icons.png') no-repeat scroll -64px 0; +} +.messager-info { + background: url('images/messager_icons.png') no-repeat scroll 0 0; +} +.messager-question { + background: url('images/messager_icons.png') no-repeat scroll -32px 0; +} +.messager-warning { + background: url('images/messager_icons.png') no-repeat scroll -96px 0; +} +.messager-progress { + padding: 10px; +} +.messager-p-msg { + margin-bottom: 5px; +} +.messager-body .messager-input { + width: 100%; + padding: 4px 0; + outline-style: none; + border: 1px solid #000; +} +.window-thinborder .messager-button { + padding-bottom: 8px; +} +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 26px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + margin: 4px 0; + vertical-align: middle; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 14px; + display: inline-block; + text-decoration: none; + vertical-align: middle; + white-space: nowrap; + padding: 0 2px; + margin: 4px 0; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 14px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #000; + font-size: 14px; + height: 26px; + line-height: 26px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: middle; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #666; + color: #fff; + border-color: #000; +} +.tree-node-hover { + background: #777; + color: #fff; +} +.tree-node-selected { + background: #0052A3; + color: #fff; +} +.tree-node-hidden { + display: none; +} +.inputbox { + display: inline-block; + vertical-align: middle; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; +} +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; + color: #000; +} +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tooltip-content { + font-size: 14px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #666; + border-color: #000; + color: #fff; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #000; +} +.tooltip-right .tooltip-arrow { + border-right-color: #666; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #000; +} +.tooltip-left .tooltip-arrow { + border-left-color: #666; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #000; +} +.tooltip-top .tooltip-arrow { + border-top-color: #666; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #000; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #666; +} +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #555; + border: 1px solid #555; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 14px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-on { + background: #0052A3; + color: #fff; +} +.switchbutton-off { + background-color: #666; + color: #fff; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #666; + color: #fff; + border: 1px solid #555; + -moz-box-shadow: 0 0 3px 0 #555; + -webkit-box-shadow: 0 0 3px 0 #555; + box-shadow: 0 0 3px 0 #555; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} +.radiobutton { + position: relative; + border: 2px solid #00458a; + border-radius: 50%; +} +.radiobutton-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + background: #00458a; + border-radius: 50%; + transform: scale(.6); +} +.radiobutton-disabled { + opacity: 0.6; +} +.radiobutton-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} +.checkbox { + position: relative; + border: 2px solid #00458a; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.checkbox-checked { + border: 0; + background: #00458a; +} +.checkbox-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; +} +.checkbox path { + stroke-width: 2px; +} +.checkbox-disabled { + opacity: 0.6; +} +.checkbox-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} +.sidemenu .tree-hit { + background-image: none; +} +.sidemenu-default-icon { + background-image: none; + width: 0; +} +.sidemenu .accordion .accordion-header, +.sidemenu .accordion .accordion-body { + border-bottom-color: transparent; + background: transparent; +} +.sidemenu .accordion .accordion-header { + color: #fff; +} +.sidemenu .accordion-header .panel-title { + height: 30px; + line-height: 30px; + color: #fff; +} +.sidemenu .accordion-header:hover { + background: #777; + color: #fff; +} +.sidemenu .tree-node-hover { + background: #777; + color: #fff; +} +.sidemenu .tree-node-selected { + border-right: 2px solid #00458a; + color: #fff; + background: #0052A3; +} +.sidemenu .tree-node { + height: 40px; +} +.sidemenu .tree-title { + margin: 11px 0; +} +.sidemenu .tree-node-nonleaf { + position: relative; +} +.sidemenu .tree-node-nonleaf::after { + display: inline-block; + content: ''; + position: absolute; + top: 50%; + margin-top: -8px; + background: url('images/accordion_arrows.png') no-repeat 0 0; + width: 16px; + height: 16px; + right: 5px; +} +.sidemenu .tree-node-nonleaf-collapsed::after { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.sidemenu-collapsed .panel-icon { + left: 50%; + margin-left: -8px; +} +.sidemenu-tooltip { + padding: 0; + margin: 0 -12px; + border: 0; +} +.sidemenu-tooltip.tooltip-left { + margin: 0 12px; +} +.sidemenu-tooltip .tooltip-arrow-outer, +.sidemenu-tooltip .tooltip-arrow { + display: none; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/filebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/filebox.css new file mode 100644 index 0000000..c6bac66 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/filebox.css @@ -0,0 +1,20 @@ +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/accordion_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/accordion_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..45fd44aa30476e107428feeea74273a354d3b003 GIT binary patch literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel%uDMV@SoVN1z5L3B> xDW~hhNx=}0EonJY9@lzK3(R79rLjPWf#H~1{zPk!fAK(V44$rjF6*2Ung9evL?JRtAPgomjiGH|9{f$n(B`$j zEeb&pg!EKZW!#K$4@xNm$yT6c41rc&wh}>_*7}p71!8&8673tn-QQiFh646*YwHT+ z)EV#dB}QIviTL0tB!=YS+5%Rf3nh>uG`~OIR&I9Pb&1#X>AvnQFNH)(9OKtKv|Z?jXgA8=g#}$o8PwWf~s)v4TOWbIh-FayvCIQ*!i4(A|Z*a`pRGU y`z_2`-mf|ief_$wXW7b|3Y(^xL#4%pFkRlNzMe3nx0Htf00005OC%H;f`~O(q$Q#t2<^v$A>fbmv%e#dKTwK=Ku{5lS|}<-`a#7b zzTCOnnT>at)D}AMFuOZ5&%EqFN(lyumd$2ASF6=;nM~%2?gqc@U=#|4PqkX@EBo-9 z7pD#bO_RUa>*faM`8;MYfVi$JnB-zcBFc6gjl$d!bF98Q!!!(Z1_R~P?e!pt#6CHJ9S&n_n&@=9 z%GP;!@Co4c*at+6vNz7o(6en^Q1%qHrc;1)9IRaz-$@S$Z-qdC^ds3X0NvQH;KS)D z-dh&rW&@X;1cS(45z)J&BVt+tv&GMVJ%!EiW) zLBGZW)#Z+gl-Lih&?>X3SS-S#ujQ;9JRXmIB7X)8`d6ETj)D#Q2+$s|<_b7-B9Xvq zwNfqlEp%y3$uY`h{Y$(Gn5@}sqEsq95lpAkFO5dyBmP6^H-51G4J|rN2Ujt<`2YX_ M07*qoM6N<$f3kcwMx!yWk;1b9CG_kXOx zmzFK*Ssi^NN-27((w?4M8@u`^_qP=9nfy4m{lwb6;U^wS@qDtp9?C45@HGEwayQ3S z%Ua=ZSB3W+c`gDw6;3c4*f@AGFEUxQKH4x2D*a5)78&qol`;+03qN((f|Me literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/linkbutton_bg.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/linkbutton_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..fc66bd2cd24047b8377342365a1df3846327ecde GIT binary patch literal 1274 zcmVc6j2;SWMDuL>F^vlqEUI{oOgO!xNf*11TukM z6kTZ3V2qd3<~<$H&Lrt?SpXUxF5Zb^}(={r!EHE+$QMdH|XZ zSYbMyc0tQc3qbP$tG{U_Jyg>I(0srOscEGU?-T)4AzuS$_2J>6`+BJ50YDY<^>2vV z+uI880P2ui(hyHiPrK$)CkbHg=kD&V3^8pD z0v3QOB&8eT@87?rgaGPrb#+ySxU;jP=nkL`nZ_{0e*BD+1Tc5b&d$oLo}8R$90gF1 z^ij>~#>R%HIRNUB_kgpQ+Lg!80Gbb2saY8>1EBeUm7A3TegK*dSciv)Wqp0!h-3im z1+1f^qq4iZ+ZEMUS63~e0I+zh`2rwd0l@!F(!7sM%_`|&0+*B!z{1(u+A9BIU&~T- z2he=L>dmc7TLXZFkeTeCHMcE|qX51{z>0ZC=xGjss*FaXGOMX+dHf8Z8hL6ntGQ_z zF9V<&dwY9jh`D7czyqj4g3S=~)zFA!0980RI4DC*Ez1%L09D8%=OHF&S@Q*;3bRfe zeL2-ZzyeT(Av4`$>R3`j096>WH7BOELD3yR70%Dk%Mk4)1W=73OH{L_UgIc$YFu7k zmRaq`&NxK?Rk*skDzlhL4IV!OsLJ*Ab@{BRT^TO}pgQC6xO~R6G8o_oU?C)>`xlc2 zriH~zU-;g$PyPA_&X!OBSU6SIeB~eKNAhF&(fs&F|1n9<+Yj^2T+4Dj%UFjr zZ%rnX^7Qmn0ANwP308gILtaQfK0Z1j0Br`Wq<=~Ka+?BxW&>7kRtZ+q>C~wJXg6S` zW|cJ1%?d#C0V@Ue)T{uY>425ig?tTsczEc(0+M8_c7^t|!sm-1Nw(}#nnLr?FgGlc zY}ut0+w(d)Uk6FDWtY;*aCdjteIX>tmhA#o+8PqHNU~+SlrTfyKRaNHBx~Ch-FJ3& z%B(Y&NwStp{rH$6Yj{YqhR=Gk~Mtw_&K$#yeTBf z7JV~bCN(VwL$c|B^>Topn-X{+7;S!yV~2^ zBgv-iMkME}U;-COwrsbABDvwg!2wA&ZMWttf5^jTl5E*7V41=|@=Hu>NJ^O8(7b4p z&ChgC(LF5>Md#{+4LgS{%KA|H(Xv`l4P^KdiBKB*_;1&m|Q7!{|O$ k%vVK{T!hwqk^D0L0mO==@4IV9lK=n!07*qoM6N<$f|Ge;n*aa+ literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/loading.gif b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..68f01d04813c1f622810864a3aaa04b4a17ac8f9 GIT binary patch literal 1737 zcmaKsX;2e)7>CzDa{xjjy99|1A!tC(kfocDi)<1$AxHpOQ4k^l!Vx1W6x7<&|FYXU zqO4jEiU-!VR1p+Xj1?4-iuI_J;!&?!+ghg|JJad3U)pMGzcKxNeCM6tJnuX+uPvX@ zZY|=AHdxt2Xr2y*)5|c6#FSEuyJ+Y3Z&l z2hJWo`9;lJ$6wzSoW60tqkB|d$oiO*d-^85^ojn{*NR{MP*%{@H*#gihZ8BKyB68E z-MIbjgNNV0y5khpJ^Jv`51aR%={<4jhaVq5e*9D5+*hL)XCHn4{^d%hPu@?KpKbc=eN!D=XUjDmH#n{YHNS zHCX6BV)yn2CuTNujhN~V+`RKpyXO6^ht92eqhIIlQLfz6eeCnH_C7`NPNrw9ks366 z4xX9(`s~z=+1uX^ocZ$2_fBs=JihPfWYufOIuD&AU-@`>>qn~cy$1)T7CU!5z2(U8 z)9Kt9)l`f6?NU41j6XbXfR{OHwm|T4}&24tIf+!C-g~6cQfY2^n$?AT&ZW zgqm`}3-jS2NS6n=k;sr5Hv(Q%%n)qW0X|neWVBd;Ko}d(=u%?{O0-a>kSI}shOd9n z5top}%gUCf=>?tg;*;#7!^HOL3k$fMxd=O-6Y4@%u8LS)C1D_a?27R6^vcC+6tttL z)GmTahbyJB!xmcHL#ya8ZXyfRl)a!N0BJE0y3BBfAV5;#=K&Z2VkaKZ)?9`1h5P_% znt*b}%j1|#j`b|aQDx@~wA#$PYRN2xE6UO;;vE(@$&xww-s8fZ5HmJ(eJ*rQrDbaawDbrfe_8F(wq{ge?)qQG`aXV;r(*6EM|ESje;52aFmrX!f=Pw^2oGQX$1|o4yts|b_5@w_kNwtl{wDP#JGMvIp#!SYX?Wq9S&`&_ZwkgGH5CLB7DEGJ6=R4J~p3Z4i^A}hs=-uZeD zs92l6u@**R$~L()G{5N8*7cE5-q$SCo`q4|NSVF*+A7&xZnypm$EdXgf)E%(VJHFD zSgi(H!D!(;9Zcc#GrCCJh=RlvXBQ-hv4Vodse`a32ZUFWgP5ZhM5LeV(#D^H8p@Lg ztra5R32z@1rQv{6u&RZL5%Z@Ye{q|t#6aM_1hIrpl@)oH6}os*cbAQywa{5<`ekzW O1il%9bk82&KlvLjD^%40 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/menu_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/menu_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..2a984941d6590c78d67ee68d2087d8cc88efbac6 GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQof!pjv*Dd-d;V(%b>u);`l3H z>g53sy@tf+`c*Dhco^6|8Eg#8WENqsU-wu%RB=*I5D$X7F_Nb6Mw<&;$S;RV&B< literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/messager_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/messager_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..86b0b0e6c73d6bdedc843763484982e5c9e71b0e GIT binary patch literal 2224 zcmV;h2v7HkP)0TZF_syd)JvG$EOP;OXl2_@ozH4?s>%2|oTwk-b#M@+T@HSg~T`g7w0_SiobkCd%&#I<4b9v=7 z%W~Tf*1XET2;d0?KMU``yUFTr&z~>@16E;`C+ZErOO-imklASv*2BJcwaj^9+J z(ce$~`|aaXJWZDEzGh316nGgC@Vl@EtVN~VysRP{oAee|;N?WHwZNLB`rV%xrgs$R zTUmjZ5dp6SYm(}(nka^`ew(py=9j}=%8)+ADHdHeV* zymQ;s0$*Yc+F&O8~ocB)}g+f;g4{c0LBbQ*H2vkRXmF2=9C% z@H;PAQPuaE$bK*rn|g8*3~LF%Pt%zFB3mmO7z`pfjyi6kNh_;}-GNd}0DhX(?0dI8 ziF!|dj{00BD9~^a`Kx!J?($sJSvZl%9Vo>FcFp({myT~8De$H4Kq)2wKTT@(0q|Fz zH=ry-x*)5T8mZiYVoU(R8Y%eCuCt@qBk#LQbdPVp9A^) zaDX*E{5WbaKZNS}NeRJiuuMgr$0~();$;U;T}HMv)uV~_ofSg~0P?rPLX{m1NfCuS zpCX_G-~X@2FaFc}2ZDlCpb84H&gkyfmn8zft7L(wZ{T_@@~oc{z5iJzCdUc!zTdu? zzzXQg#NE&FW%0ld+`J{M>pN|aO9BAD+u;(Pg?AE=V6Rx@!8tokK$k251XqA{iWNSp zB2QSJDm;x!&t6A|Yj2`?Mb-3~0oDn+p=w7`dJIPbDfp2C-W`?zI#VxH454aAQ{+*L079_{DuzONSLKwCJQg^<7)rM! zfnWc%n(+1ypw6{Md3>-TJ8B_r){$ieShtHa=EgJW05*Ugj|58KC$bhoETGMJ6-u|X zDV-Vw2nB@ZTn*IkS-_k8ZWVfScbyRYflFW_0oD!mdm;k-buJX>b>2|C-*a@O_|FeC z9wH(D=yvLiC5ilcJQA>iAIb=fJE4Amw+H~bH9`}I61c1tRj9hvE&kx^Z9Qn_>YrIE zg!RzGApy&`Z4UCEFGjvSFUao|&lQ5g$kDZbKA8o;y0I^AAc@=+NpR*YGx#Alz&oIc zbN4KOwLv58>XFKVEw!>Npx{swOLfpE?dq{e*WQ;<(C?)R0Hs|-41$j|eN!RL*^e)>{lVl0k^+C<%P8328_xd*QIG8->NRL{c!30X=O+t( zm;n7OWnHxh05WO`;8{Nz=lpGv>>qWPFJW4TmH@*pr){Pr!;ps#cxTXQHB1lF^H z4`x3$CZHjKi!;@-1cA^9dMsyx2>!gM4Xho)2BtJnH5WjU2FeMrS=0?hASMeym6A#(@!>2C@`_)FJ>)AxIVjeDxset1A<_g3RsV zP$6guEBNuU0}>KAv>6Lo3PI}42$*x3O2MiSfU*>fIkH1+z4R)F1$DGe{N${`j8I{)NVnck2@@0if#5 zASnq5nn8P5n?YdmAIXl!0B}z02E=9%OFKAO0ECD~*JO$G}@g9(+^dIgRGNWJbc=^;Y!a9K8rWoWr%GM#5-^ zLYHDU&~nR*uC?``!o$t~i=j~ABM^>vkK|CO)buAa6bd6?wtbm`kdA}J9SR*A3y+S4 zLxpZ6z`yW-@u7QqEPU+4kZ?Sp%gBc5T{X?VBW*&~sQ55s?9;H&0i)Y6y$cb062V?S z1bj+9|DOIdZ0zGuiAzYymP2Jv3>80t+5#NSCz>DdY1?+6=lRq-0N)F#H;wIQi`C_sJ!SVT`Wft}8_wH~Q%XA*9t9fT|c lGy-mR literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/panel_tools.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/panel_tools.png new file mode 100644 index 0000000000000000000000000000000000000000..f97761eb393def3b5f61774142413e740fe8fe8b GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^20*O9!3HEluKbn(QuUrLjv*Dd-p+93Yfuni{`r6T z$48CLf{EOzXU|M@xy0GMavBpu(5ti8zb3QZ+Tfp^siO37?WI*8%sM?7u5w1XttgAw z*Z5axHOr-aZj1~Mw;UHx3vIVCg!0FXpSG5`Po literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/passwordbox_close.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/passwordbox_close.png new file mode 100644 index 0000000000000000000000000000000000000000..276b57974284d1449250e362644dd7416632d92c GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`F`h1tAr-fh6C~yxIB_Cl)5eV- z>r;4yl-<@d?s6;P338s2Hlg>#j0uWN8C(aFPJB{e^6h1c5$jHyQsD5--fSz=3o~iS wnLdu+*z}wOVj6h@O#h^}NFFlaV$)<`u-+3C6wY^M3(y`0Pgg&ebxsLQ04X#uG5`Po literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/passwordbox_open.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/passwordbox_open.png new file mode 100644 index 0000000000000000000000000000000000000000..0f25d535e05b22b406fd72647611aace9cfa6249 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>7Fi*Ar-fh6C~yxIB_Cl)5eV- z>r;4yl-<@d?s6;P338s2rmQ?!Qz1HW#so#C46Xx7Cq5}K`Svo!h;^q;DRB5^Z?=`` zg<12Qetm(ByO<;&a5^L{7TnL>!KiVsAxlibJl4>NC!c|#Jtt+3rSZgWpp^`su6{1- HoD!M<3i~r2 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/searchbox_button.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/searchbox_button.png new file mode 100644 index 0000000000000000000000000000000000000000..6dd1931589b453f6cc9772fd1851d8705d6b6631 GIT binary patch literal 813 zcmV+|1JeA7P)lXvaa)1B=8vtU6i;3jw7+Lm8D5$Z@i10EnF)=bcefw4K z$^E-CUfjQG`svfBbfD6|R#sLFj6lo3FG$G6@;ee>>~6i|H^5OY8c00W#fi<*1vzh{0&qu3dB`V0{{XDY`}(1n>S9M(9!zw#!&`A z#;*+0{6GVMSeWGp!`o{o8NPge#o%jgs54WT$qnQYpsyGNpauX05F;oJfZ`Pdw6!$j zynTH0RMa&!n3$Pa9zVGEY{&L(3qnPBl_DG6<9Xk0`Fl3`LiD4@pH{vDsxJWQ1qdJp zEJ>M}osCtQlY?CgW>F{;gVK#SmgoOZnEn5J%EtIXaWQXAO>Rdf)WFR;gt~f zXaA3z{{L{q=l48y!32yJ3i0hJ2BS=^}@sXzH{F9Iq&OW375;I7CG-}Vr|aF#l<(fySwu2>`YdxRW*W0f#2un=W5Jmvoe`XCK%I_Y++#`fwE+= zSd{sEULGDE%A=#BOW<6gP*6VfMa^fr8qe`5w%)P0a^Y9WGTw! zvI^|$>l@1Da^Ke1*T3RdY7KqM%gaBb(P+oP!GW;b?ZRfW3Bxc1H@GCaHK#XhZ*Lc= zRBC@>V&W#x&B5%(#>OW5`};d6I5Qw218EG_q@1gtr!Nl*v7yn?(MPMRt4SNy%--JK zanm#f^bw^}Nr7b(EUg}TUi(2;)deX10lAo=83+VA(QksJI6(zwptET-y~avN=J9w$ zI2`W5lG|aOkjY7(&!@;Jx*nUA>~J`Q)9L&(G8y=g$3a4YgD7z)5>gXQNKhw=uR0zF z#jHruh)gDv=bj|2ZES4(fEM?I!JyKqo=}sj-fBYTcDt4KXq)eFQH}wW`vh%Mla}#@ z@Mb`C)x@YkK{xd2>8ZLg+E!Lps$Q@6DY-~!0=Gs+Mm~_JnW1EbX2uxClEdN>Y@I78 z=ke_9?7sX@o0*x}M{JB77MIXj_MmNE%+1Xe{*{crh)9={dR(U;y-{jrxUXmG%Gt002ovPDHLkV1hy(sXhPz literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/spinner_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/spinner_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..349d7d9d1dd5757fe673c74779ca4397b3ac9880 GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQo)`sjv*Dd-cGgTVld!f`TKvl zx$i261Imkz%njSa<|ydo5x!wz!%F5U-;Ot$9v8}1XAs{bw8eCRinje8hmeGw4b#=% p?40+0pF;`bK1VJIy@m-jV#fsL6&$#pdj@DcgQu&X%Q~loCIE{>Fhc+U literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/tabs_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/tabs_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..732b1237a14cf6c525dee8646f322d5603664866 GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^20$#p!3HD)*8SNCq{2O2978H@B_~L*E^a7$U@!3C zaj-Z4S(*MEORM>}ezCPaUb%ArQw1m64&Nzopr0N{TzyZ`_I literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/tagbox_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/tagbox_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..faddd10cab63488000e766ca3cb10a4a21671c10 GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel#i#2V@SoV($fFg z6O)c!JXo)x5GJ#nd4ld?HMbLtC#EF|E8h}a647_oX_D^oryN0xCn=p~zr)BZ#mYR7 hgWX2DuSt-dVWQ=IMMbkYnLu+HJYD@<);T3K0RXNJC2Rly literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/tree_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/tree_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..2b4fd2025c7588c84df27d89466b470e273f5c06 GIT binary patch literal 3086 zcmV+p4Ds`cP)~TesqeqN>v{0t!Gi}6eg)$W;^97jYuB!YrL@_X1+wAp+no|T zcDh$_O7P%eqeu&X29&AWo<{PPpCRe9F=#J60RjkzE?U3Z3?eJo?8kQd7R}F@guc7` zUhkAAqN4FO%Cs%*PXFraYFJ9He{gzxb|BR7?~fB=#%+2M*65p>Z;2^ae-9wWQ(T@F zZaqY%vR>>jE}y>~JsP`eXW;4mkGHVp>~)jt(@xyDaic>lTycF1-p_49Lgg*AH$eFE zj$3Ze&Lbx(M9AM5$q=0S$KyD$&JR&*2I1S)190S{e)xKo4_d<`!brlRUWo%SbRteO zom2t_`k39pxnAR4*7f;5=sSNzH_gT5Z^wcKvw3DU5(x_n3vF`Jqobq6&y%xm{>>Kj zkJn;UvKH#nW}AHfS7l8I$ZkYwo$1dr{DB*8Z+kbepW64^s{^4fhtfE-(i_>?*|=XH zVJ2Ja&!0aJV-Ca+7RKC&r1RZ4sNQ?spiK6fS3e`W=E&ad9q7AxaQ)`ecaYUGA5)Hw z2m6!DDvJk&HuC!Q>*B_0G#c0f9&!P4`Nk~~Apg1Agi%Ra>}?}N_7yjZpGSG+CI^VU z0K{H`#w&Djf z0_%Bqr)Ccx*8RPK2Pa29i~m*!A)_T2(~dunu7LwK$~q|0kEf!dLfnMP%1X2a9y4al zkPVQFcL0)J*^I9UB7zf1tg@~MNRGi!Ht0)U&-vq9$5%ux$@vHGzdJn%P78(}5M7B9fKZf| zmqT(S*1|&(Kx*y*B&(_!N6K}LKkJ6Ffz^F_@Q?sfP|F<%cObTngil848mDXr5ssbj zIo$<_Jogfg%V&ag>t9?W>Wu?LnFD#`Rn-$C)<3IFY}$gLn0IbF&mU4eYW>){Ems1O zqTPfubt^F^b}HQGJsHKkz1?LWl(sq$LwG0w$fY|Dgy8XYSu;ip4kSsT1EDbweRxO! zDdJt2pA10SYYc>DO2o!lwO(Ed>;5~aduxDL=(cF9*Nf}7d><_8ZQ($K=;kqN)b_Bn zKx8)Tz|z#;Vt4U!oU8d1N2^z2;kjR<*Zgr=%zt!$MF+2~V<4smkK|}`YjprQBEW;X zFZ-`59|NHQQ)%2oN_wxXUOqthay|2cG59Ot>ZbYDi2oTcWg@{G)sFA!= zg~B5*iF&IXh>@w>o>L~gI&Q;rw~th;!`Yh6I9mR99RBfr1gE@?KJ#DDF#icdn6&_~ z)hvvXD6G@X!i-MR;=onw22g3Xg$7J%%!9fu|2B0O>b=n%7ga-Yl3N_dLcf zo7$*)?u}Wz1@Pd}jzK`6Zi$@Khldmd1nQQ^Nqu-o08x_0wtw{G>1#*Ke5+~rb8o-T z&n6GMx`OlV=fQ&q4<0=DRjl*uKd%YGg9i^DJh%hl4utC;)(B;6_(4Cvw6g(ovBT5z z+sTZ1NXuSf%ypBS+u^8y0DLxL#Kl0y#&I(6;9sSot@S$Hy(BGVW#u(7 zNn=cZVCc~E)t3Z#M67{!SZ}nPJcN?ebbR9Fb!xqf%Qu?1v#5;ZdAF?usn#Ms$_ImDpe_KFM#mn9k<+`9f+L9UsrciY{0b4)_OVcsIRYU zrH`NU2ee$x6X4MU)xHeZ20KCyx8)2 zq~~CiJOpPLq@$;DtvxAJjf@_qqvv9%N|_QZJqtq*&(Tx4Z2<^>B9~VslM4_zjbE#+ zhqSIzz3K}U8XB|~^m%w}_fQN}`(el)Kk?OX&k!*Q9uh$G^*elhkCzB8gPg~;!H=L+ zfQY8ABdWeRgzKlH1bDb2*_9#IxeJPSY{!-Kbc78WlxX&V&=a`&Pvlw)5NjbqRmi9s z8C4}CfKZh(C3Vj~9*e5{j$$`j$M`L4y8334vha7;AR<%bZfE|)#9q!{3TatMm4M)F3z5tKQUJTiToN<1j8&cc^cnI#J@bj%G7P>lN zDpl%K;VVrZ466M>LA5}P{fLwRM5+U#1R_*@jGPBmBcq~11c8eR0YXpV>Q^FDn}CR6 zbt$D)z1pfb)xg?I-_iTu)~aJ|br81terl9*;9;x*8|n!Z#^6C|PA_#^BnLtuA%IAK zlh%~}7mT@o+@r?{&DnTVMSdy3!wne%L{dB%;=Q^FgYtdpZW!Pke*SfgVVCRDeehhSNQrpgFJ?IZ4S_ z=HU_TEx^X?!LYRhQ3?^NK1Nl@s2UkTgc|=Pg$|_XX0y?XWR}K6I6!z+GHb^`J~RyBVNNd%nCf?32q01y#+07i2Tj!$#Kr3dOnqFDEOcAqdph8ZXLlU$#t_-v z0l9m2BR3-hON8!@ztHVzw=ocFs*+I^GU~=qRWfS$RHaPGcT@2oQ&q|MEC`>4c@Pdn z4m`{Oz+AUQj$WE=(RUtFH-_FbrQg)E*WtXACvoFU6teob>c%{r88ka01n032k&X^H zEHvl6j*hsbRwFwu4#9o9CqmsB8WW*`RdfF@ zjPwKN_i^y5WY#zkIq)zC0DV0TmKuYHIlcZ=tu$aNM;{e12Tj7?8Qva9e1rx}yP_~6 z9QlIVxSW`XoV{x7b8x^;0V3hux}ivTUmX%6@3?mKeIQhojP3)WDrJlZk524B)&TBElF4`cdm!-wZo=4(*!!4kx}yPbN~PV07*qoM6N<$fk literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/validatebox_warning.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/images/validatebox_warning.png new file mode 100644 index 0000000000000000000000000000000000000000..2b3d4f05babf3f82b146350e96570fac02075de0 GIT binary patch literal 921 zcmV;K17`e*P)nRv1_mBsMY*-M^XCf)eflW5 z|MC^)Hw+AW{sHCCF+cz@{fF8J!+#-kxoSv=7^|!zgOQUngSQ}mDo|J)n+pH}hzZ#= zr~y18$_m-?9v%$;?mu8);}>9vFgFvDXJDwrW&l6{p}625M66yTFhGz^K$w9^O$BHi zFN2Ym7DIple*#cW4BY^L0Al(Jbv6k9U|^6IQBp{hx3XdQ&CJ4Z_|YSVr@XujY(PVT zlok1<85nBO4FCurumK>O|A07*jFlSRUcxLAQVcIR*co#3@)&jj4Pj7KXRri%#h;fa z4ya5O*#Lk5Vq!q}T~=CGH(uV-hJk^fkAYoGjN#AMuMF($>N=giWG}IXse|=+c=i>7HEg>%*E%fLD!-uy|85n^6W?^Dt(9zXp5EB&z+w>_knBmdiKMbzi z?A!`WOl>e100a=&05*1xZdFls?*HtZ48H?o7=HW%ivIu45E2~BASWx!@DIpmv9e}h zaPwji|L}pqor@y`=yxrU0RRES^qYY}O;TRcU+DKIhL4`%3_nyf8U6tS<<-ZJ40D$( zWjJ%`G6NIPHNP2{7am*Fp% z{>ShK#0G`~kjd~57_BU.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; + left: 50%; + margin-left: -8px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 25px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 0px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/passwordbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/passwordbox.css new file mode 100644 index 0000000..92c9ce5 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/passwordbox.css @@ -0,0 +1,6 @@ +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/progressbar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/progressbar.css new file mode 100644 index 0000000..e89cb3a --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/progressbar.css @@ -0,0 +1,33 @@ +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.progressbar { + border-color: #000; +} +.progressbar-text { + color: #fff; + font-size: 14px; +} +.progressbar-value, +.progressbar-value .progressbar-text { + background-color: #0052A3; + color: #fff; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/propertygrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/propertygrid.css new file mode 100644 index 0000000..871c585 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/propertygrid.css @@ -0,0 +1,27 @@ +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #222; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #3d3d3d; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #222; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #3d3d3d; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/radiobutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/radiobutton.css new file mode 100644 index 0000000..a31bc36 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/radiobutton.css @@ -0,0 +1,25 @@ +.radiobutton { + position: relative; + border: 2px solid #00458a; + border-radius: 50%; +} +.radiobutton-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + background: #00458a; + border-radius: 50%; + transform: scale(.6); +} +.radiobutton-disabled { + opacity: 0.6; +} +.radiobutton-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/searchbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/searchbox.css new file mode 100644 index 0000000..01f6697 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/searchbox.css @@ -0,0 +1,61 @@ +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #3d3d3d; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/sidemenu.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/sidemenu.css new file mode 100644 index 0000000..12d6181 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/sidemenu.css @@ -0,0 +1,72 @@ +.sidemenu .tree-hit { + background-image: none; +} +.sidemenu-default-icon { + background-image: none; + width: 0; +} +.sidemenu .accordion .accordion-header, +.sidemenu .accordion .accordion-body { + border-bottom-color: transparent; + background: transparent; +} +.sidemenu .accordion .accordion-header { + color: #fff; +} +.sidemenu .accordion-header .panel-title { + height: 30px; + line-height: 30px; + color: #fff; +} +.sidemenu .accordion-header:hover { + background: #777; + color: #fff; +} +.sidemenu .tree-node-hover { + background: #777; + color: #fff; +} +.sidemenu .tree-node-selected { + border-right: 2px solid #00458a; + color: #fff; + background: #0052A3; +} +.sidemenu .tree-node { + height: 40px; +} +.sidemenu .tree-title { + margin: 11px 0; +} +.sidemenu .tree-node-nonleaf { + position: relative; +} +.sidemenu .tree-node-nonleaf::after { + display: inline-block; + content: ''; + position: absolute; + top: 50%; + margin-top: -8px; + background: url('images/accordion_arrows.png') no-repeat 0 0; + width: 16px; + height: 16px; + right: 5px; +} +.sidemenu .tree-node-nonleaf-collapsed::after { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.sidemenu-collapsed .panel-icon { + left: 50%; + margin-left: -8px; +} +.sidemenu-tooltip { + padding: 0; + margin: 0 -12px; + border: 0; +} +.sidemenu-tooltip.tooltip-left { + margin: 0 12px; +} +.sidemenu-tooltip .tooltip-arrow-outer, +.sidemenu-tooltip .tooltip-arrow { + display: none; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/slider.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/slider.css new file mode 100644 index 0000000..22d9744 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/slider.css @@ -0,0 +1,101 @@ +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 5px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 14px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 14px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #000; + background: #3d3d3d; +} +.slider-rule span { + border-color: #000; +} +.slider-rulelabel span { + color: #fff; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/spinner.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/spinner.css new file mode 100644 index 0000000..9d80102 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/spinner.css @@ -0,0 +1,114 @@ +.spinner-arrow { + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow.spinner-button-top, +.spinner-arrow.spinner-button-bottom, +.spinner-arrow.spinner-button-left, +.spinner-arrow.spinner-button-right { + background-color: #3d3d3d; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #fff; + outline-style: none; + background-color: #3d3d3d; +} +.spinner-button-updown { + opacity: 1.0; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + position: relative; + display: block; + width: 100%; + height: 50%; +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down { + opacity: 1.0; + filter: alpha(opacity=100); + cursor: pointer; + width: 16px; + height: 16px; + top: 50%; + left: 50%; + margin-top: -8px; + margin-left: -8px; + position: absolute; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-button-updown .spinner-button-top:hover, +.spinner-button-updown .spinner-button-bottom:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down, +.spinner-button-updown .spinner-arrow-up:hover, +.spinner-button-updown .spinner-arrow-down:hover { + background-color: transparent; +} +.spinner-arrow-hover { + background-color: #777; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-top:hover, +.spinner-button-bottom:hover, +.spinner-button-left:hover, +.spinner-button-right:hover, +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #777; +} +.textbox-disabled .spinner-button-top:hover, +.textbox-disabled .spinner-button-bottom:hover, +.textbox-disabled .spinner-button-left:hover, +.textbox-disabled .spinner-button-right:hover, +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #3d3d3d; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; + background-color: #3d3d3d; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; + background-color: #3d3d3d; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/splitbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/splitbutton.css new file mode 100644 index 0000000..b42e396 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/splitbutton.css @@ -0,0 +1,12 @@ +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #cccccc; + border-width: 0 0 0 1px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/switchbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/switchbutton.css new file mode 100644 index 0000000..0e78b56 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/switchbutton.css @@ -0,0 +1,77 @@ +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #555; + border: 1px solid #555; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 14px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-on { + background: #0052A3; + color: #fff; +} +.switchbutton-off { + background-color: #666; + color: #fff; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #666; + color: #fff; + border: 1px solid #555; + -moz-box-shadow: 0 0 3px 0 #555; + -webkit-box-shadow: 0 0 3px 0 #555; + box-shadow: 0 0 3px 0 #555; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tabs.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tabs.css new file mode 100644 index 0000000..65a465c --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tabs.css @@ -0,0 +1,413 @@ +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 0 0; + -webkit-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 14px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 5px 5px; + -webkit-border-radius: 0 0 5px 5px; + border-radius: 0 0 5px 5px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #3d3d3d url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #3d3d3d url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #777; + color: #fff; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #666; + color: #fff; + background: -webkit-linear-gradient(top,#454545 0,#666 100%); + background: -moz-linear-gradient(top,#454545 0,#666 100%); + background: -o-linear-gradient(top,#454545 0,#666 100%); + background: linear-gradient(to bottom,#454545 0,#666 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#666,GradientType=0); +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(top,#666 0,#454545 100%); + background: -moz-linear-gradient(top,#666 0,#454545 100%); + background: -o-linear-gradient(top,#666 0,#454545 100%); + background: linear-gradient(to bottom,#666 0,#454545 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#666,endColorstr=#454545,GradientType=0); +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#454545 0,#666 100%); + background: -moz-linear-gradient(left,#454545 0,#666 100%); + background: -o-linear-gradient(left,#454545 0,#666 100%); + background: linear-gradient(to right,#454545 0,#666 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#666,GradientType=1); +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#666 0,#454545 100%); + background: -moz-linear-gradient(left,#666 0,#454545 100%); + background: -o-linear-gradient(left,#666 0,#454545 100%); + background: linear-gradient(to right,#666 0,#454545 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#666,endColorstr=#454545,GradientType=1); +} +.tabs li a.tabs-inner { + color: #fff; + background-color: #3d3d3d; + background: -webkit-linear-gradient(top,#454545 0,#383838 100%); + background: -moz-linear-gradient(top,#454545 0,#383838 100%); + background: -o-linear-gradient(top,#454545 0,#383838 100%); + background: linear-gradient(to bottom,#454545 0,#383838 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0); +} +.tabs-header, +.tabs-tool { + background-color: #3d3d3d; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #000; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #777; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #666; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #666; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #666; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #666; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #0052A3; + color: #fff; + filter: none; + border-color: #000; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tagbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tagbox.css new file mode 100644 index 0000000..e08ec87 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tagbox.css @@ -0,0 +1,44 @@ +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #777; + color: #fff; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/textbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/textbox.css new file mode 100644 index 0000000..1d18ad9 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/textbox.css @@ -0,0 +1,144 @@ +.textbox { + position: relative; + border: 1px solid #000; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-text { + font-size: 14px; + border: 0; + margin: 0; + padding: 0 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + height: 28px; + line-height: 28px; +} +.textbox textarea.textbox-text { + line-height: normal; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 14px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 30px; + line-height: 30px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #000000; + -moz-box-shadow: 0 0 3px 0 #000; + -webkit-box-shadow: 0 0 3px 0 #000; + box-shadow: 0 0 3px 0 #000; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tooltip.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tooltip.css new file mode 100644 index 0000000..13e310d --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tooltip.css @@ -0,0 +1,103 @@ +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tooltip-content { + font-size: 14px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #666; + border-color: #000; + color: #fff; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #000; +} +.tooltip-right .tooltip-arrow { + border-right-color: #666; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #000; +} +.tooltip-left .tooltip-arrow { + border-left-color: #666; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #000; +} +.tooltip-top .tooltip-arrow { + border-top-color: #666; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #000; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #666; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tree.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tree.css new file mode 100644 index 0000000..08e4849 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/tree.css @@ -0,0 +1,164 @@ +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 26px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + margin: 4px 0; + vertical-align: middle; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 14px; + display: inline-block; + text-decoration: none; + vertical-align: middle; + white-space: nowrap; + padding: 0 2px; + margin: 4px 0; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 14px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #000; + font-size: 14px; + height: 26px; + line-height: 26px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: middle; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #666; + color: #fff; + border-color: #000; +} +.tree-node-hover { + background: #777; + color: #fff; +} +.tree-node-selected { + background: #0052A3; + color: #fff; +} +.tree-node-hidden { + display: none; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/validatebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/validatebox.css new file mode 100644 index 0000000..4d566de --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/validatebox.css @@ -0,0 +1,13 @@ +.inputbox { + display: inline-block; + vertical-align: middle; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; +} +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; + color: #000; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/window.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/window.css new file mode 100644 index 0000000..0369589 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/black/window.css @@ -0,0 +1,188 @@ +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.window-shadow { + background: #777; + -moz-box-shadow: 2px 2px 3px #787878; + -webkit-box-shadow: 2px 2px 3px #787878; + box-shadow: 2px 2px 3px #787878; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #000; +} +.window { + background-color: #3d3d3d; + background: -webkit-linear-gradient(top,#454545 0,#383838 20%); + background: -moz-linear-gradient(top,#454545 0,#383838 20%); + background: -o-linear-gradient(top,#454545 0,#383838 20%); + background: linear-gradient(to bottom,#454545 0,#383838 20%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0); +} +.window-proxy { + border: 1px dashed #000; +} +.window-proxy-mask, +.window-mask { + background: #000; +} +.window .panel-footer { + border: 1px solid #000; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-footer { + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/accordion.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/accordion.css new file mode 100644 index 0000000..9d268c0 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/accordion.css @@ -0,0 +1,89 @@ +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #ffffff; + border-color: #D4D4D4; +} +.accordion .accordion-header { + background: #F2F2F2; + filter: none; +} +.accordion .accordion-header-selected { + background: #0081c2; +} +.accordion .accordion-header-selected .panel-title { + color: #fff; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #F2F2F2; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #ffffff; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #D4D4D4; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #F2F2F2; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #ffffff; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #D4D4D4; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #F2F2F2; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #ffffff; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #D4D4D4; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/calendar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/calendar.css new file mode 100644 index 0000000..b3c7495 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/calendar.css @@ -0,0 +1,203 @@ +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 12px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 12px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 28px; +} +.calendar-title { + text-align: center; + height: 28px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 0px; + padding: 0 3px; + height: 28px; + line-height: 28px; + font-size: 12px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -8px; + width: 16px; + height: 16px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -16px 0; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -32px 0; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat 0px 0; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -48px 0; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 12px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 80px; + line-height: 26px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 0; + font-weight: bold; + font-size: 12px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 25px; + height: 28px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 5px center; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -44px center; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-body th, +.calendar-menu-month { + color: #808080; +} +.calendar-day { + color: #333; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #D4D4D4; +} +.calendar { + border-color: #D4D4D4; +} +.calendar-header { + background: #F2F2F2; +} +.calendar-body, +.calendar-menu { + background: #ffffff; +} +.calendar-body th { + background: #F5F5F5; + padding: 4px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #e6e6e6; + color: #00438a; +} +.calendar-hover { + border: 1px solid #ddd; + padding: 0; +} +.calendar-selected { + background-color: #0081c2; + color: #fff; + border: 1px solid #0070a9; + padding: 0; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/checkbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/checkbox.css new file mode 100644 index 0000000..0edec67 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/checkbox.css @@ -0,0 +1,31 @@ +.checkbox { + position: relative; + border: 2px solid #0070a9; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.checkbox-checked { + border: 0; + background: #0070a9; +} +.checkbox-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; +} +.checkbox path { + stroke-width: 2px; +} +.checkbox-disabled { + opacity: 0.6; +} +.checkbox-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/combo.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/combo.css new file mode 100644 index 0000000..fc9030d --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/combo.css @@ -0,0 +1,35 @@ +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #ffffff; +} +.combo-arrow { + background-color: #F2F2F2; +} +.combo-arrow-hover { + background-color: #e6e6e6; +} +.combo-arrow:hover { + background-color: #e6e6e6; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/combobox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/combobox.css new file mode 100644 index 0000000..f490811 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/combobox.css @@ -0,0 +1,40 @@ +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 12px; + padding: 6px 4px; + line-height: 20px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #e6e6e6; + color: #00438a; +} +.combobox-item-selected { + background-color: #0081c2; + color: #fff; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/datagrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/datagrid.css new file mode 100644 index 0000000..8c67b17 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/datagrid.css @@ -0,0 +1,291 @@ +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 32px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 12px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 12px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #D4D4D4; + font-size: 12px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #F2F2F2; + background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0); +} +.datagrid-cell-rownumber { + color: #333; +} +.datagrid-resize-proxy { + background: #bbb; +} +.datagrid-mask { + background: #ccc; +} +.datagrid-mask-msg { + border-color: #D4D4D4; +} +.datagrid-toolbar, +.datagrid-pager { + background: #F5F5F5; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #e6e6e6; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #ccc; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #333; + border-collapse: separate; +} +.datagrid-row-alt { + background: #F5F5F5; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #e6e6e6; + color: #00438a; + cursor: default; +} +.datagrid-row-selected { + background: #0081c2; + color: #fff; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-header .datagrid-filter-row td.datagrid-header-over { + background: inherit; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/datalist.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/datalist.css new file mode 100644 index 0000000..68e8df6 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/datalist.css @@ -0,0 +1,95 @@ +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #F2F2F2; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ccc; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #333; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ccc; +} +.m-list li>a:hover { + background: #e6e6e6; + color: #00438a; +} +.m-list .m-list-group { + padding: 0 4px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/datebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/datebox.css new file mode 100644 index 0000000..34e376f --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/datebox.css @@ -0,0 +1,36 @@ +.datebox-calendar-inner { + height: 250px; +} +.datebox-button { + padding: 4px 0; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 12px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #F5F5F5; +} +.datebox-button a { + color: #444; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/dialog.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/dialog.css new file mode 100644 index 0000000..b44497f --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/dialog.css @@ -0,0 +1,47 @@ +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #F5F5F5; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #D4D4D4 #D4D4D4 #e6e6e6 #D4D4D4; +} +.dialog-button { + border-color: #e6e6e6 #D4D4D4 #D4D4D4 #D4D4D4; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #F5F5F5; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/easyui.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/easyui.css new file mode 100644 index 0000000..012f8c2 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/easyui.css @@ -0,0 +1,3457 @@ +.panel { + overflow: hidden; + text-align: left; + margin: 0; + border: 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.panel-header, +.panel-body { + border-width: 1px; + border-style: solid; +} +.panel-header { + padding: 5px; + position: relative; +} +.panel-title { + background: url('images/blank.gif') no-repeat; +} +.panel-header-noborder { + border-width: 0 0 1px 0; +} +.panel-body { + overflow: auto; + border-top-width: 0; + padding: 0; +} +.panel-body-noheader { + border-top-width: 1px; +} +.panel-body-noborder { + border-width: 0px; +} +.panel-body-nobottom { + border-bottom-width: 0; +} +.panel-with-icon { + padding-left: 18px; +} +.panel-icon, +.panel-tool { + position: absolute; + top: 50%; + margin-top: -8px; + height: 16px; + overflow: hidden; +} +.panel-icon { + left: 5px; + width: 16px; +} +.panel-tool { + right: 5px; + width: auto; +} +.panel-tool a { + display: inline-block; + width: 16px; + height: 16px; + opacity: 0.6; + filter: alpha(opacity=60); + margin: 0 0 0 2px; + vertical-align: top; +} +.panel-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + background-color: #e6e6e6; + -moz-border-radius: 3px 3px 3px 3px; + -webkit-border-radius: 3px 3px 3px 3px; + border-radius: 3px 3px 3px 3px; +} +.panel-loading { + padding: 11px 0px 10px 30px; +} +.panel-noscroll { + overflow: hidden; +} +.panel-fit, +.panel-fit body { + height: 100%; + margin: 0; + padding: 0; + border: 0; + overflow: hidden; +} +.panel-loading { + background: url('images/loading.gif') no-repeat 10px 10px; +} +.panel-tool-close { + background: url('images/panel_tools.png') no-repeat -16px 0px; +} +.panel-tool-min { + background: url('images/panel_tools.png') no-repeat 0px 0px; +} +.panel-tool-max { + background: url('images/panel_tools.png') no-repeat 0px -16px; +} +.panel-tool-restore { + background: url('images/panel_tools.png') no-repeat -16px -16px; +} +.panel-tool-collapse { + background: url('images/panel_tools.png') no-repeat -32px 0; +} +.panel-tool-expand { + background: url('images/panel_tools.png') no-repeat -32px -16px; +} +.panel-header, +.panel-body { + border-color: #D4D4D4; +} +.panel-header { + background-color: #F2F2F2; + background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0); +} +.panel-body { + background-color: #ffffff; + color: #333; + font-size: 12px; +} +.panel-title { + font-size: 12px; + font-weight: bold; + color: #777; + height: 20px; + line-height: 20px; +} +.panel-footer { + border: 1px solid #D4D4D4; + overflow: hidden; + background: #F5F5F5; +} +.panel-footer-noborder { + border-width: 1px 0 0 0; +} +.panel-hleft, +.panel-hright { + position: relative; +} +.panel-hleft>.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; + left: 50%; + margin-left: -8px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 25px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 0px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #ffffff; + border-color: #D4D4D4; +} +.accordion .accordion-header { + background: #F2F2F2; + filter: none; +} +.accordion .accordion-header-selected { + background: #0081c2; +} +.accordion .accordion-header-selected .panel-title { + color: #fff; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #F2F2F2; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #ffffff; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #D4D4D4; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #F2F2F2; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #ffffff; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #D4D4D4; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #F2F2F2; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #ffffff; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #D4D4D4; +} +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.window-shadow { + background: #ccc; + -moz-box-shadow: 2px 2px 3px #cccccc; + -webkit-box-shadow: 2px 2px 3px #cccccc; + box-shadow: 2px 2px 3px #cccccc; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #D4D4D4; +} +.window { + background-color: #F2F2F2; + background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 20%); + background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 20%); + background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 20%); + background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 20%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0); +} +.window-proxy { + border: 1px dashed #D4D4D4; +} +.window-proxy-mask, +.window-mask { + background: #ccc; +} +.window .panel-footer { + border: 1px solid #D4D4D4; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-footer { + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #F5F5F5; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #D4D4D4 #D4D4D4 #e6e6e6 #D4D4D4; +} +.dialog-button { + border-color: #e6e6e6 #D4D4D4 #D4D4D4 #D4D4D4; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #F5F5F5; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.l-btn { + text-decoration: none; + display: inline-block; + overflow: hidden; + margin: 0; + padding: 0; + cursor: pointer; + outline: none; + text-align: center; + vertical-align: middle; + line-height: normal; +} +.l-btn-plain { + border-width: 0; + padding: 1px; +} +.l-btn-left { + display: inline-block; + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + vertical-align: top; +} +.l-btn-text { + display: inline-block; + vertical-align: top; + width: auto; + line-height: 28px; + font-size: 12px; + padding: 0; + margin: 0 6px; +} +.l-btn-icon { + display: inline-block; + width: 16px; + height: 16px; + line-height: 16px; + position: absolute; + top: 50%; + margin-top: -8px; + font-size: 1px; +} +.l-btn span span .l-btn-empty { + display: inline-block; + margin: 0; + width: 16px; + height: 24px; + font-size: 1px; + vertical-align: top; +} +.l-btn span .l-btn-icon-left { + padding: 0 0 0 20px; + background-position: left center; +} +.l-btn span .l-btn-icon-right { + padding: 0 20px 0 0; + background-position: right center; +} +.l-btn-icon-left .l-btn-text { + margin: 0 6px 0 26px; +} +.l-btn-icon-left .l-btn-icon { + left: 6px; +} +.l-btn-icon-right .l-btn-text { + margin: 0 26px 0 6px; +} +.l-btn-icon-right .l-btn-icon { + right: 6px; +} +.l-btn-icon-top .l-btn-text { + margin: 20px 4px 0 4px; +} +.l-btn-icon-top .l-btn-icon { + top: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-icon-bottom .l-btn-text { + margin: 0 4px 20px 4px; +} +.l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-left .l-btn-empty { + margin: 0 6px; + width: 16px; +} +.l-btn-plain:hover { + padding: 0; +} +.l-btn-focus { + outline: #0000FF dotted thin; +} +.l-btn-large .l-btn-text { + line-height: 44px; +} +.l-btn-large .l-btn-icon { + width: 32px; + height: 32px; + line-height: 32px; + margin-top: -16px; +} +.l-btn-large .l-btn-icon-left .l-btn-text { + margin-left: 40px; +} +.l-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.l-btn-large .l-btn-icon-top .l-btn-text { + margin-top: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-top .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-left .l-btn-empty { + margin: 0 6px; + width: 32px; +} +.l-btn { + color: #444; + background: #f5f5f5; + background-repeat: repeat-x; + border: 1px solid #bbb; + background: -webkit-linear-gradient(top,#ffffff 0,#e6e6e6 100%); + background: -moz-linear-gradient(top,#ffffff 0,#e6e6e6 100%); + background: -o-linear-gradient(top,#ffffff 0,#e6e6e6 100%); + background: linear-gradient(to bottom,#ffffff 0,#e6e6e6 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#e6e6e6,GradientType=0); + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn:hover { + background: #e6e6e6; + color: #00438a; + border: 1px solid #ddd; + filter: none; +} +.l-btn-plain { + background: transparent; + border-width: 0; + filter: none; +} +.l-btn-outline { + border-width: 1px; + border-color: #ddd; + padding: 0; +} +.l-btn-plain:hover { + background: #e6e6e6; + color: #00438a; + border: 1px solid #ddd; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn-disabled, +.l-btn-disabled:hover { + opacity: 0.5; + cursor: default; + background: #f5f5f5; + color: #444; + background: -webkit-linear-gradient(top,#ffffff 0,#e6e6e6 100%); + background: -moz-linear-gradient(top,#ffffff 0,#e6e6e6 100%); + background: -o-linear-gradient(top,#ffffff 0,#e6e6e6 100%); + background: linear-gradient(to bottom,#ffffff 0,#e6e6e6 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#e6e6e6,GradientType=0); +} +.l-btn-disabled .l-btn-text, +.l-btn-disabled .l-btn-icon { + filter: alpha(opacity=50); +} +.l-btn-plain-disabled, +.l-btn-plain-disabled:hover { + background: transparent; + filter: alpha(opacity=50); +} +.l-btn-selected, +.l-btn-selected:hover { + background: #ddd; + filter: none; +} +.l-btn-plain-selected, +.l-btn-plain-selected:hover { + background: #ddd; +} +.textbox { + position: relative; + border: 1px solid #D4D4D4; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-text { + font-size: 12px; + border: 0; + margin: 0; + padding: 0 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + height: 28px; + line-height: 28px; +} +.textbox textarea.textbox-text { + line-height: normal; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 12px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 30px; + line-height: 30px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #bbbbbb; + -moz-box-shadow: 0 0 3px 0 #D4D4D4; + -webkit-box-shadow: 0 0 3px 0 #D4D4D4; + box-shadow: 0 0 3px 0 #D4D4D4; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #ffffff; +} +.combo-arrow { + background-color: #F2F2F2; +} +.combo-arrow-hover { + background-color: #e6e6e6; +} +.combo-arrow:hover { + background-color: #e6e6e6; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 12px; + padding: 6px 4px; + line-height: 20px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #e6e6e6; + color: #00438a; +} +.combobox-item-selected { + background-color: #0081c2; + color: #fff; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #e6e6e6; + color: #00438a; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} +.layout { + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + z-index: 0; +} +.layout-panel { + position: absolute; + overflow: hidden; +} +.layout-body { + min-width: 1px; + min-height: 1px; +} +.layout-panel-east, +.layout-panel-west { + z-index: 2; +} +.layout-panel-north, +.layout-panel-south { + z-index: 3; +} +.layout-expand { + position: absolute; + padding: 0px; + font-size: 1px; + cursor: pointer; + z-index: 1; +} +.layout-expand .panel-header, +.layout-expand .panel-body { + background: transparent; + filter: none; + overflow: hidden; +} +.layout-expand .panel-header { + border-bottom-width: 0px; +} +.layout-expand .panel-body { + position: relative; +} +.layout-expand .panel-body .panel-icon { + margin-top: 0; + top: 0; + left: 50%; + margin-left: -8px; +} +.layout-expand-west .panel-header .panel-icon, +.layout-expand-east .panel-header .panel-icon { + display: none; +} +.layout-expand-title { + position: absolute; + top: 0; + left: 21px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.layout-expand-title-up { + position: absolute; + top: 0; + left: 0; + text-align: right; + padding-left: 5px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 0; +} +.layout-expand-with-icon { + top: 18px; +} +.layout-expand .panel-body-noheader .layout-expand-title, +.layout-expand .panel-body-noheader .panel-icon { + top: 5px; +} +.layout-expand .panel-body-noheader .layout-expand-with-icon { + top: 23px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + position: absolute; + font-size: 1px; + display: none; + z-index: 5; +} +.layout-split-proxy-h { + width: 5px; + cursor: e-resize; +} +.layout-split-proxy-v { + height: 5px; + cursor: n-resize; +} +.layout-mask { + position: absolute; + background: #fafafa; + filter: alpha(opacity=10); + opacity: 0.10; + z-index: 4; +} +.layout-button-up { + background: url('images/layout_arrows.png') no-repeat -16px -16px; +} +.layout-button-down { + background: url('images/layout_arrows.png') no-repeat -16px 0; +} +.layout-button-left { + background: url('images/layout_arrows.png') no-repeat 0 0; +} +.layout-button-right { + background: url('images/layout_arrows.png') no-repeat 0 -16px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + background-color: #bbb; +} +.layout-split-north { + border-bottom: 5px solid #eee; +} +.layout-split-south { + border-top: 5px solid #eee; +} +.layout-split-east { + border-left: 5px solid #eee; +} +.layout-split-west { + border-right: 5px solid #eee; +} +.layout-expand { + background-color: #F2F2F2; +} +.layout-expand-over { + background-color: #F2F2F2; +} +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 0 0; + -webkit-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 12px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 5px 5px; + -webkit-border-radius: 0 0 5px 5px; + border-radius: 0 0 5px 5px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #F2F2F2 url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #F2F2F2 url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #e6e6e6; + color: #00438a; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #ffffff; + color: #777; + background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0); +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0); +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#ffffff 0,#ffffff 100%); + background: -moz-linear-gradient(left,#ffffff 0,#ffffff 100%); + background: -o-linear-gradient(left,#ffffff 0,#ffffff 100%); + background: linear-gradient(to right,#ffffff 0,#ffffff 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=1); +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#ffffff 0,#ffffff 100%); + background: -moz-linear-gradient(left,#ffffff 0,#ffffff 100%); + background: -o-linear-gradient(left,#ffffff 0,#ffffff 100%); + background: linear-gradient(to right,#ffffff 0,#ffffff 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=1); +} +.tabs li a.tabs-inner { + color: #777; + background-color: #F2F2F2; + background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0); +} +.tabs-header, +.tabs-tool { + background-color: #F2F2F2; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #D4D4D4; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #e6e6e6; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #ffffff; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #ffffff; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #ffffff; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #ffffff; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #0081c2; + color: #fff; + filter: none; + border-color: #D4D4D4; +} +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 32px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 12px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 12px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #D4D4D4; + font-size: 12px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #F2F2F2; + background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0); +} +.datagrid-cell-rownumber { + color: #333; +} +.datagrid-resize-proxy { + background: #bbb; +} +.datagrid-mask { + background: #ccc; +} +.datagrid-mask-msg { + border-color: #D4D4D4; +} +.datagrid-toolbar, +.datagrid-pager { + background: #F5F5F5; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #e6e6e6; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #ccc; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #333; + border-collapse: separate; +} +.datagrid-row-alt { + background: #F5F5F5; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #e6e6e6; + color: #00438a; + cursor: default; +} +.datagrid-row-selected { + background: #0081c2; + color: #fff; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-header .datagrid-filter-row td.datagrid-header-over { + background: inherit; +} +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #e6e6e6; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #F2F2F2; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #e6e6e6; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #F2F2F2; +} +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #F2F2F2; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ccc; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #333; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ccc; +} +.m-list li>a:hover { + background: #e6e6e6; + color: #00438a; +} +.m-list .m-list-group { + padding: 0 4px; +} +.pagination { + zoom: 1; + padding: 2px; +} +.pagination table { + float: left; + height: 30px; +} +.pagination td { + border: 0; +} +.pagination-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 3px 1px; +} +.pagination .pagination-num { + border-width: 1px; + border-style: solid; + margin: 0 2px; + padding: 2px; + width: 3em; + height: auto; + text-align: center; + font-size: 12px; +} +.pagination-page-list { + margin: 0px 6px; + padding: 1px 2px; + width: auto; + height: auto; + border-width: 1px; + border-style: solid; +} +.pagination-info { + float: right; + margin: 0 6px; + padding: 0; + height: 30px; + line-height: 30px; + font-size: 12px; +} +.pagination span { + font-size: 12px; +} +.pagination-link .l-btn-text { + box-sizing: border-box; + text-align: center; + margin: 0; + padding: 0 .5em; + width: auto; + min-width: 28px; +} +.pagination-first { + background: url('images/pagination_icons.png') no-repeat 0 center; +} +.pagination-prev { + background: url('images/pagination_icons.png') no-repeat -16px center; +} +.pagination-next { + background: url('images/pagination_icons.png') no-repeat -32px center; +} +.pagination-last { + background: url('images/pagination_icons.png') no-repeat -48px center; +} +.pagination-load { + background: url('images/pagination_icons.png') no-repeat -64px center; +} +.pagination-loading { + background: url('images/loading.gif') no-repeat center center; +} +.pagination-page-list, +.pagination .pagination-num { + border-color: #D4D4D4; +} +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 12px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 12px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 28px; +} +.calendar-title { + text-align: center; + height: 28px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 0px; + padding: 0 3px; + height: 28px; + line-height: 28px; + font-size: 12px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -8px; + width: 16px; + height: 16px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -16px 0; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -32px 0; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat 0px 0; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -48px 0; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 12px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 80px; + line-height: 26px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 0; + font-weight: bold; + font-size: 12px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 25px; + height: 28px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 5px center; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -44px center; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-body th, +.calendar-menu-month { + color: #808080; +} +.calendar-day { + color: #333; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #D4D4D4; +} +.calendar { + border-color: #D4D4D4; +} +.calendar-header { + background: #F2F2F2; +} +.calendar-body, +.calendar-menu { + background: #ffffff; +} +.calendar-body th { + background: #F5F5F5; + padding: 4px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #e6e6e6; + color: #00438a; +} +.calendar-hover { + border: 1px solid #ddd; + padding: 0; +} +.calendar-selected { + background-color: #0081c2; + color: #fff; + border: 1px solid #0070a9; + padding: 0; +} +.datebox-calendar-inner { + height: 250px; +} +.datebox-button { + padding: 4px 0; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 12px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #F5F5F5; +} +.datebox-button a { + color: #444; +} +.spinner-arrow { + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow.spinner-button-top, +.spinner-arrow.spinner-button-bottom, +.spinner-arrow.spinner-button-left, +.spinner-arrow.spinner-button-right { + background-color: #F2F2F2; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #444; + outline-style: none; + background-color: #F2F2F2; +} +.spinner-button-updown { + opacity: 1.0; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + position: relative; + display: block; + width: 100%; + height: 50%; +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down { + opacity: 1.0; + filter: alpha(opacity=100); + cursor: pointer; + width: 16px; + height: 16px; + top: 50%; + left: 50%; + margin-top: -8px; + margin-left: -8px; + position: absolute; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-button-updown .spinner-button-top:hover, +.spinner-button-updown .spinner-button-bottom:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down, +.spinner-button-updown .spinner-arrow-up:hover, +.spinner-button-updown .spinner-arrow-down:hover { + background-color: transparent; +} +.spinner-arrow-hover { + background-color: #e6e6e6; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-top:hover, +.spinner-button-bottom:hover, +.spinner-button-left:hover, +.spinner-button-right:hover, +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #e6e6e6; +} +.textbox-disabled .spinner-button-top:hover, +.textbox-disabled .spinner-button-bottom:hover, +.textbox-disabled .spinner-button-left:hover, +.textbox-disabled .spinner-button-right:hover, +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #F2F2F2; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; + background-color: #F2F2F2; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; + background-color: #F2F2F2; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.progressbar { + border-color: #D4D4D4; +} +.progressbar-text { + color: #333; + font-size: 12px; +} +.progressbar-value, +.progressbar-value .progressbar-text { + background-color: #0081c2; + color: #fff; +} +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #F2F2F2; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 5px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 12px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 12px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #D4D4D4; + background: #F2F2F2; +} +.slider-rule span { + border-color: #D4D4D4; +} +.slider-rulelabel span { + color: #333; +} +.menu { + position: absolute; + margin: 0; + padding: 2px; + border-width: 1px; + border-style: solid; + overflow: hidden; +} +.menu-inline { + position: relative; +} +.menu-item { + position: relative; + margin: 0; + padding: 0; + overflow: hidden; + white-space: nowrap; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.menu-text { + height: 20px; + line-height: 20px; + float: left; + padding-left: 28px; +} +.menu-icon { + position: absolute; + width: 16px; + height: 16px; + left: 2px; + top: 50%; + margin-top: -8px; +} +.menu-rightarrow { + position: absolute; + width: 16px; + height: 16px; + right: 0; + top: 50%; + margin-top: -8px; +} +.menu-line { + position: absolute; + left: 26px; + top: 0; + height: 2000px; + font-size: 1px; +} +.menu-sep { + margin: 3px 0px 3px 25px; + font-size: 1px; +} +.menu-noline .menu-line { + display: none; +} +.menu-noline .menu-sep { + margin-left: 0; + margin-right: 0; +} +.menu-active { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.menu-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); + cursor: default; +} +.menu-text, +.menu-text span { + font-size: 12px; +} +.menu-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #ccc; + -moz-box-shadow: 2px 2px 3px #cccccc; + -webkit-box-shadow: 2px 2px 3px #cccccc; + box-shadow: 2px 2px 3px #cccccc; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.menu-rightarrow { + background: url('images/menu_arrows.png') no-repeat -32px center; +} +.menu-line { + border-left: 1px solid #ccc; + border-right: 1px solid #fff; +} +.menu-sep { + border-top: 1px solid #ccc; + border-bottom: 1px solid #fff; +} +.menu { + background-color: #fff; + border-color: #e6e6e6; + color: #333; +} +.menu-content { + background: #ffffff; +} +.menu-item { + border-color: transparent; + _border-color: #fff; +} +.menu-active { + border-color: #ddd; + color: #00438a; + background: #e6e6e6; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #333; +} +.m-btn-downarrow, +.s-btn-downarrow { + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + font-size: 1px; + right: 0; + top: 50%; + margin-top: -8px; +} +.m-btn-active, +.s-btn-active { + background: #e6e6e6; + color: #00438a; + border: 1px solid #ddd; + filter: none; +} +.m-btn-plain-active, +.s-btn-plain-active { + background: transparent; + padding: 0; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.m-btn .l-btn-left .l-btn-text { + margin-right: 20px; +} +.m-btn .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.m-btn .l-btn-icon-right .l-btn-icon { + right: 20px; +} +.m-btn .l-btn-icon-top .l-btn-text { + margin-right: 4px; + margin-bottom: 14px; +} +.m-btn .l-btn-icon-bottom .l-btn-text { + margin-right: 4px; + margin-bottom: 34px; +} +.m-btn .l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 20px; +} +.m-btn .l-btn-icon-top .m-btn-downarrow, +.m-btn .l-btn-icon-bottom .m-btn-downarrow { + top: auto; + bottom: 0px; + left: 50%; + margin-left: -8px; +} +.m-btn-line { + display: inline-block; + position: absolute; + font-size: 1px; + display: none; +} +.m-btn .l-btn-left .m-btn-line { + right: 0; + width: 16px; + height: 500px; + border-style: solid; + border-color: #bbb; + border-width: 0 0 0 1px; +} +.m-btn .l-btn-icon-top .m-btn-line, +.m-btn .l-btn-icon-bottom .m-btn-line { + left: 0; + bottom: 0; + width: 500px; + height: 16px; + border-width: 1px 0 0 0; +} +.m-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 56px; +} +.m-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 50px; +} +.m-btn-downarrow, +.s-btn-downarrow { + background: url('images/menu_arrows.png') no-repeat 0 center; +} +.m-btn-plain-active, +.s-btn-plain-active { + border-color: #ddd; + background-color: #e6e6e6; + color: #00438a; +} +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #bbb; + border-width: 0 0 0 1px; +} +.messager-body { + padding: 10px 10px 30px 10px; + overflow: auto; +} +.messager-button { + text-align: center; + padding: 5px; +} +.messager-button .l-btn { + width: 70px; +} +.messager-icon { + float: left; + width: 32px; + height: 32px; + margin: 0 10px 10px 0; +} +.messager-error { + background: url('images/messager_icons.png') no-repeat scroll -64px 0; +} +.messager-info { + background: url('images/messager_icons.png') no-repeat scroll 0 0; +} +.messager-question { + background: url('images/messager_icons.png') no-repeat scroll -32px 0; +} +.messager-warning { + background: url('images/messager_icons.png') no-repeat scroll -96px 0; +} +.messager-progress { + padding: 10px; +} +.messager-p-msg { + margin-bottom: 5px; +} +.messager-body .messager-input { + width: 100%; + padding: 4px 0; + outline-style: none; + border: 1px solid #D4D4D4; +} +.window-thinborder .messager-button { + padding-bottom: 8px; +} +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 26px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + margin: 4px 0; + vertical-align: middle; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 12px; + display: inline-block; + text-decoration: none; + vertical-align: middle; + white-space: nowrap; + padding: 0 2px; + margin: 4px 0; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 12px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #D4D4D4; + font-size: 12px; + height: 26px; + line-height: 26px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: middle; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #ffffff; + color: #333; + border-color: #D4D4D4; +} +.tree-node-hover { + background: #e6e6e6; + color: #00438a; +} +.tree-node-selected { + background: #0081c2; + color: #fff; +} +.tree-node-hidden { + display: none; +} +.inputbox { + display: inline-block; + vertical-align: middle; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; +} +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; + color: #000; +} +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tooltip-content { + font-size: 12px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #ffffff; + border-color: #D4D4D4; + color: #333; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #D4D4D4; +} +.tooltip-right .tooltip-arrow { + border-right-color: #ffffff; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #D4D4D4; +} +.tooltip-left .tooltip-arrow { + border-left-color: #ffffff; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #D4D4D4; +} +.tooltip-top .tooltip-arrow { + border-top-color: #ffffff; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #D4D4D4; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #ffffff; +} +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #bbb; + border: 1px solid #bbb; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 12px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-on { + background: #0081c2; + color: #fff; +} +.switchbutton-off { + background-color: #ffffff; + color: #333; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #ffffff; + color: #333; + border: 1px solid #bbb; + -moz-box-shadow: 0 0 3px 0 #bbb; + -webkit-box-shadow: 0 0 3px 0 #bbb; + box-shadow: 0 0 3px 0 #bbb; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} +.radiobutton { + position: relative; + border: 2px solid #0070a9; + border-radius: 50%; +} +.radiobutton-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + background: #0070a9; + border-radius: 50%; + transform: scale(.6); +} +.radiobutton-disabled { + opacity: 0.6; +} +.radiobutton-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} +.checkbox { + position: relative; + border: 2px solid #0070a9; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.checkbox-checked { + border: 0; + background: #0070a9; +} +.checkbox-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; +} +.checkbox path { + stroke-width: 2px; +} +.checkbox-disabled { + opacity: 0.6; +} +.checkbox-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} +.sidemenu .tree-hit { + background-image: none; +} +.sidemenu-default-icon { + background-image: none; + width: 0; +} +.sidemenu .accordion .accordion-header, +.sidemenu .accordion .accordion-body { + border-bottom-color: transparent; + background: transparent; +} +.sidemenu .accordion .accordion-header { + color: #777; +} +.sidemenu .accordion-header .panel-title { + height: 30px; + line-height: 30px; + color: #777; +} +.sidemenu .accordion-header:hover { + background: #e6e6e6; + color: #777; +} +.sidemenu .tree-node-hover { + background: #e6e6e6; + color: #777; +} +.sidemenu .tree-node-selected { + border-right: 2px solid #0070a9; + color: #fff; + background: #0081c2; +} +.sidemenu .tree-node { + height: 40px; +} +.sidemenu .tree-title { + margin: 11px 0; +} +.sidemenu .tree-node-nonleaf { + position: relative; +} +.sidemenu .tree-node-nonleaf::after { + display: inline-block; + content: ''; + position: absolute; + top: 50%; + margin-top: -8px; + background: url('images/accordion_arrows.png') no-repeat 0 0; + width: 16px; + height: 16px; + right: 5px; +} +.sidemenu .tree-node-nonleaf-collapsed::after { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.sidemenu-collapsed .panel-icon { + left: 50%; + margin-left: -8px; +} +.sidemenu-tooltip { + padding: 0; + margin: 0 -12px; + border: 0; +} +.sidemenu-tooltip.tooltip-left { + margin: 0 12px; +} +.sidemenu-tooltip .tooltip-arrow-outer, +.sidemenu-tooltip .tooltip-arrow { + display: none; +} +.tabs-panels { + border-color: transparent; +} +.tabs li a.tabs-inner { + border-color: transparent; + background: transparent; + filter: none; + color: #0088CC; +} +.menu-active { + background-color: #0081C2; + border-color: #0081C2; + color: #fff; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #333; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/filebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/filebox.css new file mode 100644 index 0000000..c6bac66 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/filebox.css @@ -0,0 +1,20 @@ +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/accordion_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/accordion_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..720835f69c96c17ec32a20b03ac9753aa59b7f4f GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYeRK2H*V@SoVUT_Y-nKxaI`{RC0WjSLJ&w^R(C-|JQTojLXc1&{d*_z{$ jW+oTMdQ(F|jDg|L>K${_)^zO#I)%a0)z4*}Q$iB}_fAN- literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/blank.gif b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/blank.gif new file mode 100644 index 0000000000000000000000000000000000000000..1d11fa9ada9e93505b3d736acb204083f45d5fbf GIT binary patch literal 43 scmZ?wbhEHbWMp7uX!y@?;J^U}1_s5SEQ~;kK?g*DWEhy3To@Uw0n;G|I{*Lx literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/calendar_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/calendar_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..430c4ad685b8c0068ecb7e3cbef74f493a84ad0d GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQYD@)jv*Dd-cCEn)nLHm{QbZE z+q@uWwandfr?Jb4eDYYmB3UAt=OO2Vt+MMT&+KD%&6hZDt!FBpej;sEpMN69^tKl% zp6y<4_lG^P z=;=eQ4Vs74-2)Ua&f1tcVdk$#{GPKe@&?ZMHmT&SMw?IV&w7)}ixLbB3d$Zg{&KGb P8OPx1>gTe~DWM4fp>5!O@Gl{c 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 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/loading.gif b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..68f01d04813c1f622810864a3aaa04b4a17ac8f9 GIT binary patch literal 1737 zcmaKsX;2e)7>CzDa{xjjy99|1A!tC(kfocDi)<1$AxHpOQ4k^l!Vx1W6x7<&|FYXU zqO4jEiU-!VR1p+Xj1?4-iuI_J;!&?!+ghg|JJad3U)pMGzcKxNeCM6tJnuX+uPvX@ zZY|=AHdxt2Xr2y*)5|c6#FSEuyJ+Y3Z&l z2hJWo`9;lJ$6wzSoW60tqkB|d$oiO*d-^85^ojn{*NR{MP*%{@H*#gihZ8BKyB68E z-MIbjgNNV0y5khpJ^Jv`51aR%={<4jhaVq5e*9D5+*hL)XCHn4{^d%hPu@?KpKbc=eN!D=XUjDmH#n{YHNS zHCX6BV)yn2CuTNujhN~V+`RKpyXO6^ht92eqhIIlQLfz6eeCnH_C7`NPNrw9ks366 z4xX9(`s~z=+1uX^ocZ$2_fBs=JihPfWYufOIuD&AU-@`>>qn~cy$1)T7CU!5z2(U8 z)9Kt9)l`f6?NU41j6XbXfR{OHwm|T4}&24tIf+!C-g~6cQfY2^n$?AT&ZW zgqm`}3-jS2NS6n=k;sr5Hv(Q%%n)qW0X|neWVBd;Ko}d(=u%?{O0-a>kSI}shOd9n z5top}%gUCf=>?tg;*;#7!^HOL3k$fMxd=O-6Y4@%u8LS)C1D_a?27R6^vcC+6tttL z)GmTahbyJB!xmcHL#ya8ZXyfRl)a!N0BJE0y3BBfAV5;#=K&Z2VkaKZ)?9`1h5P_% znt*b}%j1|#j`b|aQDx@~wA#$PYRN2xE6UO;;vE(@$&xww-s8fZ5HmJ(eJ*rQrDbaawDbrfe_8F(wq{ge?)qQG`aXV;r(*6EM|ESje;52aFmrX!f=Pw^2oGQX$1|o4yts|b_5@w_kNwtl{wDP#JGMvIp#!SYX?Wq9S&`&_ZwkgGH5CLB7DEGJ6=R4J~p3Z4i^A}hs=-uZeD zs92l6u@**R$~L()G{5N8*7cE5-q$SCo`q4|NSVF*+A7&xZnypm$EdXgf)E%(VJHFD zSgi(H!D!(;9Zcc#GrCCJh=RlvXBQ-hv4Vodse`a32ZUFWgP5ZhM5LeV(#D^H8p@Lg ztra5R32z@1rQv{6u&RZL5%Z@Ye{q|t#6aM_1hIrpl@)oH6}os*cbAQywa{5<`ekzW O1il%9bk82&KlvLjD^%40 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/menu_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/menu_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..b986842e7e4044caed18edbcb4b376a4bb915623 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQt6&9jv*Dd-cB{-J7B=U{PTZ! zWrKV9%Z3|Wt5t$(gq+#d+-OocB$0fsr9DfRx52vPhSu$$+yXuy+69hDZ54DDTxx#r zL7>-12UT01v)>tZ+;HI4pDNf?@KK~EC$@35ykmXyu^HJF3})N>8P9Uwo&~g$!PC{x JWt~$(697!FIeGv9 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/messager_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/messager_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..86b0b0e6c73d6bdedc843763484982e5c9e71b0e GIT binary patch literal 2224 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 G5}E*M5;#5p literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/passwordbox_open.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/passwordbox_open.png new file mode 100644 index 0000000000000000000000000000000000000000..d328891f6a18ea703fd25a47b228df9cb13b4744 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ii4<#Ar-fh6C~y}*jFF6I{2&m zf8fW~lSf{d9=Ouc<(SoRr6$ox=6dW5rxOB`TRe8 z#G%R{$Nj@Z)5m5kM@2RMITi_;Npmte=_#;rBych_7F`xqKKy}=f%DM}Q4`(M(}DIf Nc)I$ztaD0e0su|qH(3Ax literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/searchbox_button.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/searchbox_button.png new file mode 100644 index 0000000000000000000000000000000000000000..6dd1931589b453f6cc9772fd1851d8705d6b6631 GIT binary patch literal 813 zcmV+|1JeA7P)lXvaa)1B=8vtU6i;3jw7+Lm8D5$Z@i10EnF)=bcefw4K z$^E-CUfjQG`svfBbfD6|R#sLFj6lo3FG$G6@;ee>>~6i|H^5OY8c00W#fi<*1vzh{0&qu3dB`V0{{XDY`}(1n>S9M(9!zw#!&`A z#;*+0{6GVMSeWGp!`o{o8NPge#o%jgs54WT$qnQYpsyGNpauX05F;oJfZ`Pdw6!$j zynTH0RMa&!n3$Pa9zVGEY{&L(3qnPBl_DG6<9Xk0`Fl3`LiD4@pH{vDsxJWQ1qdJp zEJ>M}osCtQlY?CgW>F{;gVK#SmgoOZnEn5J%EtIXaWQXAO>Rdf)WFR;gt~f zXaA3z{{L{q=l48y!32yJ3i0hJ2BS=^}@sXzH{F9Iq&OW375;I7CG-}Vr|aF#l<(fySwu2>`YdxRW*W0f#2un=W5Jmvoe`XCK%I_Y++#`fwE+= zSd{sEULGDE%A=#BOW<6gP*6VfMa^fr8qe`5w%)P0a^Y9WGTw! zvI^|$>l@1Da^Ke1*T3RdY7KqM%gaBb(P+oP!GW;b?ZRfW3Bxc1H@GCaHK#XhZ*Lc= zRBC@>V&W#x&B5%(#>OW5`};d6I5Qw218EG_q@1gtr!Nl*v7yn?(MPMRt4SNy%--JK zanm#f^bw^}Nr7b(EUg}TUi(2;)deX10lAo=83+VA(QksJI6(zwptET-y~avN=J9w$ zI2`W5lG|aOkjY7(&!@;Jx*nUA>~J`Q)9L&(G8y=g$3a4YgD7z)5>gXQNKhw=uR0zF z#jHruh)gDv=bj|2ZES4(fEM?I!JyKqo=}sj-fBYTcDt4KXq)eFQH}wW`vh%Mla}#@ z@Mb`C)x@YkK{xd2>8ZLg+E!Lps$Q@6DY-~!0=Gs+Mm~_JnW1EbX2uxClEdN>Y@I78 z=ke_9?7sX@o0*x}M{JB77MIXj_MmNE%+1Xe{*{crh)9={dR(U;y-{jrxUXmG%Gt002ovPDHLkV1hy(sXhPz literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/spinner_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/spinner_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..7c2df483dbb30dfb3a51332c03fe6f0c229c0547 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQZb$`jv*Ddk`p9Y7bl4Dgeh3R zJz6gy$J;RRRRiNz`7}$-z5~nWg=}UsVYp!HpQ#{_&8An~S<1fjm*zKyrHmF27#+^4 x`1rk&EZfSkR8C?on>%wt3;O{L3Dzy_3@=Og7TEqO`UJFx!PC{xWt~$(69D$UE$jdQ literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/tabs_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/tabs_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..4d29966d7154338a9e2e358821a5f72655eba43e GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^20$#p!3HD)*8SNCq+&f?978H@B_~L*E^a7uNPG49 z|BoM6E;$_tDnm{r-UW|t3f!- literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/tagbox_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/tagbox_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..bd02e2d817c6b7c4e2a105919e9a89cc0a1d577f GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel&`0YV@SoV>_0CQASS literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/tree_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/tree_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..e9be4f3a9965e49a4e4078f8c53f486d761a7468 GIT binary patch literal 3115 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 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/validatebox_warning.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/images/validatebox_warning.png new file mode 100644 index 0000000000000000000000000000000000000000..2b3d4f05babf3f82b146350e96570fac02075de0 GIT binary patch literal 921 zcmV;K17`e*P)nRv1_mBsMY*-M^XCf)eflW5 z|MC^)Hw+AW{sHCCF+cz@{fF8J!+#-kxoSv=7^|!zgOQUngSQ}mDo|J)n+pH}hzZ#= zr~y18$_m-?9v%$;?mu8);}>9vFgFvDXJDwrW&l6{p}625M66yTFhGz^K$w9^O$BHi zFN2Ym7DIple*#cW4BY^L0Al(Jbv6k9U|^6IQBp{hx3XdQ&CJ4Z_|YSVr@XujY(PVT zlok1<85nBO4FCurumK>O|A07*jFlSRUcxLAQVcIR*co#3@)&jj4Pj7KXRri%#h;fa z4ya5O*#Lk5Vq!q}T~=CGH(uV-hJk^fkAYoGjN#AMuMF($>N=giWG}IXse|=+c=i>7HEg>%*E%fLD!-uy|85n^6W?^Dt(9zXp5EB&z+w>_knBmdiKMbzi z?A!`WOl>e100a=&05*1xZdFls?*HtZ48H?o7=HW%ivIu45E2~BASWx!@DIpmv9e}h zaPwji|L}pqor@y`=yxrU0RRES^qYY}O;TRcU+DKIhL4`%3_nyf8U6tS<<-ZJ40D$( zWjJ%`G6NIPHNP2{7am*Fp% z{>ShK#0G`~kjd~57_BU.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; + left: 50%; + margin-left: -8px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 25px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 0px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/passwordbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/passwordbox.css new file mode 100644 index 0000000..92c9ce5 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/passwordbox.css @@ -0,0 +1,6 @@ +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/progressbar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/progressbar.css new file mode 100644 index 0000000..73f0de0 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/progressbar.css @@ -0,0 +1,33 @@ +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.progressbar { + border-color: #D4D4D4; +} +.progressbar-text { + color: #333; + font-size: 12px; +} +.progressbar-value, +.progressbar-value .progressbar-text { + background-color: #0081c2; + color: #fff; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/propertygrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/propertygrid.css new file mode 100644 index 0000000..4b37fa6 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/propertygrid.css @@ -0,0 +1,27 @@ +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #e6e6e6; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #F2F2F2; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #e6e6e6; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #F2F2F2; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/radiobutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/radiobutton.css new file mode 100644 index 0000000..341e570 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/radiobutton.css @@ -0,0 +1,25 @@ +.radiobutton { + position: relative; + border: 2px solid #0070a9; + border-radius: 50%; +} +.radiobutton-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + background: #0070a9; + border-radius: 50%; + transform: scale(.6); +} +.radiobutton-disabled { + opacity: 0.6; +} +.radiobutton-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/searchbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/searchbox.css new file mode 100644 index 0000000..bf615de --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/searchbox.css @@ -0,0 +1,61 @@ +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #F2F2F2; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/sidemenu.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/sidemenu.css new file mode 100644 index 0000000..3c526c2 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/sidemenu.css @@ -0,0 +1,72 @@ +.sidemenu .tree-hit { + background-image: none; +} +.sidemenu-default-icon { + background-image: none; + width: 0; +} +.sidemenu .accordion .accordion-header, +.sidemenu .accordion .accordion-body { + border-bottom-color: transparent; + background: transparent; +} +.sidemenu .accordion .accordion-header { + color: #777; +} +.sidemenu .accordion-header .panel-title { + height: 30px; + line-height: 30px; + color: #777; +} +.sidemenu .accordion-header:hover { + background: #e6e6e6; + color: #777; +} +.sidemenu .tree-node-hover { + background: #e6e6e6; + color: #777; +} +.sidemenu .tree-node-selected { + border-right: 2px solid #0070a9; + color: #fff; + background: #0081c2; +} +.sidemenu .tree-node { + height: 40px; +} +.sidemenu .tree-title { + margin: 11px 0; +} +.sidemenu .tree-node-nonleaf { + position: relative; +} +.sidemenu .tree-node-nonleaf::after { + display: inline-block; + content: ''; + position: absolute; + top: 50%; + margin-top: -8px; + background: url('images/accordion_arrows.png') no-repeat 0 0; + width: 16px; + height: 16px; + right: 5px; +} +.sidemenu .tree-node-nonleaf-collapsed::after { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.sidemenu-collapsed .panel-icon { + left: 50%; + margin-left: -8px; +} +.sidemenu-tooltip { + padding: 0; + margin: 0 -12px; + border: 0; +} +.sidemenu-tooltip.tooltip-left { + margin: 0 12px; +} +.sidemenu-tooltip .tooltip-arrow-outer, +.sidemenu-tooltip .tooltip-arrow { + display: none; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/slider.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/slider.css new file mode 100644 index 0000000..b58d8de --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/slider.css @@ -0,0 +1,101 @@ +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 5px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 12px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 12px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #D4D4D4; + background: #F2F2F2; +} +.slider-rule span { + border-color: #D4D4D4; +} +.slider-rulelabel span { + color: #333; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/spinner.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/spinner.css new file mode 100644 index 0000000..6a6e6fc --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/spinner.css @@ -0,0 +1,114 @@ +.spinner-arrow { + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow.spinner-button-top, +.spinner-arrow.spinner-button-bottom, +.spinner-arrow.spinner-button-left, +.spinner-arrow.spinner-button-right { + background-color: #F2F2F2; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #444; + outline-style: none; + background-color: #F2F2F2; +} +.spinner-button-updown { + opacity: 1.0; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + position: relative; + display: block; + width: 100%; + height: 50%; +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down { + opacity: 1.0; + filter: alpha(opacity=100); + cursor: pointer; + width: 16px; + height: 16px; + top: 50%; + left: 50%; + margin-top: -8px; + margin-left: -8px; + position: absolute; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-button-updown .spinner-button-top:hover, +.spinner-button-updown .spinner-button-bottom:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down, +.spinner-button-updown .spinner-arrow-up:hover, +.spinner-button-updown .spinner-arrow-down:hover { + background-color: transparent; +} +.spinner-arrow-hover { + background-color: #e6e6e6; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-top:hover, +.spinner-button-bottom:hover, +.spinner-button-left:hover, +.spinner-button-right:hover, +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #e6e6e6; +} +.textbox-disabled .spinner-button-top:hover, +.textbox-disabled .spinner-button-bottom:hover, +.textbox-disabled .spinner-button-left:hover, +.textbox-disabled .spinner-button-right:hover, +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #F2F2F2; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; + background-color: #F2F2F2; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; + background-color: #F2F2F2; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/splitbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/splitbutton.css new file mode 100644 index 0000000..bf86453 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/splitbutton.css @@ -0,0 +1,12 @@ +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #bbb; + border-width: 0 0 0 1px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/switchbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/switchbutton.css new file mode 100644 index 0000000..38803aa --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/switchbutton.css @@ -0,0 +1,77 @@ +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #bbb; + border: 1px solid #bbb; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 12px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-on { + background: #0081c2; + color: #fff; +} +.switchbutton-off { + background-color: #ffffff; + color: #333; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #ffffff; + color: #333; + border: 1px solid #bbb; + -moz-box-shadow: 0 0 3px 0 #bbb; + -webkit-box-shadow: 0 0 3px 0 #bbb; + box-shadow: 0 0 3px 0 #bbb; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tabs.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tabs.css new file mode 100644 index 0000000..c06a4aa --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tabs.css @@ -0,0 +1,413 @@ +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 0 0; + -webkit-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 12px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 5px 5px; + -webkit-border-radius: 0 0 5px 5px; + border-radius: 0 0 5px 5px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #F2F2F2 url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #F2F2F2 url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #e6e6e6; + color: #00438a; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #ffffff; + color: #777; + background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0); +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0); +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#ffffff 0,#ffffff 100%); + background: -moz-linear-gradient(left,#ffffff 0,#ffffff 100%); + background: -o-linear-gradient(left,#ffffff 0,#ffffff 100%); + background: linear-gradient(to right,#ffffff 0,#ffffff 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=1); +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#ffffff 0,#ffffff 100%); + background: -moz-linear-gradient(left,#ffffff 0,#ffffff 100%); + background: -o-linear-gradient(left,#ffffff 0,#ffffff 100%); + background: linear-gradient(to right,#ffffff 0,#ffffff 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=1); +} +.tabs li a.tabs-inner { + color: #777; + background-color: #F2F2F2; + background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0); +} +.tabs-header, +.tabs-tool { + background-color: #F2F2F2; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #D4D4D4; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #e6e6e6; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #ffffff; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #ffffff; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #ffffff; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #ffffff; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #0081c2; + color: #fff; + filter: none; + border-color: #D4D4D4; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tagbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tagbox.css new file mode 100644 index 0000000..7e98a0a --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tagbox.css @@ -0,0 +1,44 @@ +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #e6e6e6; + color: #00438a; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/textbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/textbox.css new file mode 100644 index 0000000..a708ce3 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/textbox.css @@ -0,0 +1,144 @@ +.textbox { + position: relative; + border: 1px solid #D4D4D4; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-text { + font-size: 12px; + border: 0; + margin: 0; + padding: 0 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + height: 28px; + line-height: 28px; +} +.textbox textarea.textbox-text { + line-height: normal; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 12px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 30px; + line-height: 30px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #bbbbbb; + -moz-box-shadow: 0 0 3px 0 #D4D4D4; + -webkit-box-shadow: 0 0 3px 0 #D4D4D4; + box-shadow: 0 0 3px 0 #D4D4D4; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tooltip.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tooltip.css new file mode 100644 index 0000000..ed9fe1c --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tooltip.css @@ -0,0 +1,103 @@ +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tooltip-content { + font-size: 12px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #ffffff; + border-color: #D4D4D4; + color: #333; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #D4D4D4; +} +.tooltip-right .tooltip-arrow { + border-right-color: #ffffff; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #D4D4D4; +} +.tooltip-left .tooltip-arrow { + border-left-color: #ffffff; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #D4D4D4; +} +.tooltip-top .tooltip-arrow { + border-top-color: #ffffff; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #D4D4D4; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #ffffff; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tree.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tree.css new file mode 100644 index 0000000..87d2474 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/tree.css @@ -0,0 +1,164 @@ +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 26px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + margin: 4px 0; + vertical-align: middle; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 12px; + display: inline-block; + text-decoration: none; + vertical-align: middle; + white-space: nowrap; + padding: 0 2px; + margin: 4px 0; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 12px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #D4D4D4; + font-size: 12px; + height: 26px; + line-height: 26px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: middle; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #ffffff; + color: #333; + border-color: #D4D4D4; +} +.tree-node-hover { + background: #e6e6e6; + color: #00438a; +} +.tree-node-selected { + background: #0081c2; + color: #fff; +} +.tree-node-hidden { + display: none; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/validatebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/validatebox.css new file mode 100644 index 0000000..4d566de --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/validatebox.css @@ -0,0 +1,13 @@ +.inputbox { + display: inline-block; + vertical-align: middle; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; +} +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; + color: #000; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/window.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/window.css new file mode 100644 index 0000000..a544a4e --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/bootstrap/window.css @@ -0,0 +1,188 @@ +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.window-shadow { + background: #ccc; + -moz-box-shadow: 2px 2px 3px #cccccc; + -webkit-box-shadow: 2px 2px 3px #cccccc; + box-shadow: 2px 2px 3px #cccccc; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #D4D4D4; +} +.window { + background-color: #F2F2F2; + background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 20%); + background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 20%); + background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 20%); + background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 20%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0); +} +.window-proxy { + border: 1px dashed #D4D4D4; +} +.window-proxy-mask, +.window-mask { + background: #ccc; +} +.window .panel-footer { + border: 1px solid #D4D4D4; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-footer { + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/color.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/color.css new file mode 100644 index 0000000..bfb8ecb --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/color.css @@ -0,0 +1,210 @@ +.c1,.c1:hover,.c1>.panel-header{ + color: #fff; + border-color: #3c8b3c; + background: #4cae4c; + background: -webkit-linear-gradient(top,#4cae4c 0,#449d44 100%); + background: -moz-linear-gradient(top,#4cae4c 0,#449d44 100%); + background: -o-linear-gradient(top,#4cae4c 0,#449d44 100%); + background: linear-gradient(to bottom,#4cae4c 0,#449d44 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4cae4c,endColorstr=#449d44,GradientType=0); +} +a.c1:hover{ + background: #449d44; + filter: none; +} +.c1>.panel-body{ + border-color: #3c8b3c; +} +.c1>.dialog-toolbar,.c1>.dialog-button{ + border-left-color: #3c8b3c; + border-right-color: #3c8b3c; +} +.c1>.dialog-button{ + border-bottom-color: #3c8b3c; +} +.c2,.c2:hover,.c2>.panel-header{ + color: #fff; + border-color: #5f5f5f; + background: #747474; + background: -webkit-linear-gradient(top,#747474 0,#676767 100%); + background: -moz-linear-gradient(top,#747474 0,#676767 100%); + background: -o-linear-gradient(top,#747474 0,#676767 100%); + background: linear-gradient(to bottom,#747474 0,#676767 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#747474,endColorstr=#676767,GradientType=0); +} +a.c2:hover{ + background: #676767; + filter: none; +} +.c2>.panel-body{ + border-color: #5f5f5f; +} +.c2>.dialog-toolbar,.c2>.dialog-button{ + border-left-color: #5f5f5f; + border-right-color: #5f5f5f; +} +.c2>.dialog-button{ + border-bottom-color: #5f5f5f; +} +.c3,.c3:hover,.c3>.panel-header{ + color: #333; + border-color: #ff8080; + background: #ffb3b3; + background: -webkit-linear-gradient(top,#ffb3b3 0,#ff9999 100%); + background: -moz-linear-gradient(top,#ffb3b3 0,#ff9999 100%); + background: -o-linear-gradient(top,#ffb3b3 0,#ff9999 100%); + background: linear-gradient(to bottom,#ffb3b3 0,#ff9999 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffb3b3,endColorstr=#ff9999,GradientType=0); +} +a.c3:hover{ + background: #ff9999; + filter: none; +} +.c3>.panel-body{ + border-color: #ff8080; +} +.c3>.dialog-toolbar,.c3>.dialog-button{ + border-left-color: #ff8080; + border-right-color: #ff8080; +} +.c3>.dialog-button{ + border-bottom-color: #ff8080; +} +.c4,.c4:hover,.c4>.panel-header{ + color: #333; + border-color: #52d689; + background: #b8eecf; + background: -webkit-linear-gradient(top,#b8eecf 0,#a4e9c1 100%); + background: -moz-linear-gradient(top,#b8eecf 0,#a4e9c1 100%); + background: -o-linear-gradient(top,#b8eecf 0,#a4e9c1 100%); + background: linear-gradient(to bottom,#b8eecf 0,#a4e9c1 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#b8eecf,endColorstr=#a4e9c1,GradientType=0); +} +a.c4:hover{ + background: #a4e9c1; + filter: none; +} +.c4>.panel-body{ + border-color: #52d689; +} +.c4>.dialog-toolbar,.c4>.dialog-button{ + border-left-color: #52d689; + border-right-color: #52d689; +} +.c4>.dialog-button{ + border-bottom-color: #52d689; +} +.c5,.c5:hover,.c5>.panel-header{ + color: #fff; + border-color: #b52b27; + background: #d84f4b; + background: -webkit-linear-gradient(top,#d84f4b 0,#c9302c 100%); + background: -moz-linear-gradient(top,#d84f4b 0,#c9302c 100%); + background: -o-linear-gradient(top,#d84f4b 0,#c9302c 100%); + background: linear-gradient(to bottom,#d84f4b 0,#c9302c 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#d84f4b,endColorstr=#c9302c,GradientType=0); +} +a.c5:hover{ + background: #c9302c; + filter: none; +} +.c5>.panel-body{ + border-color: #b52b27; +} +.c5>.dialog-toolbar,.c5>.dialog-button{ + border-left-color: #b52b27; + border-right-color: #b52b27; +} +.c5>.dialog-button{ + border-bottom-color: #b52b27; +} +.c6,.c6:hover,.c6>.panel-header{ + color: #fff; + border-color: #1f637b; + background: #2984a4; + background: -webkit-linear-gradient(top,#2984a4 0,#24748f 100%); + background: -moz-linear-gradient(top,#2984a4 0,#24748f 100%); + background: -o-linear-gradient(top,#2984a4 0,#24748f 100%); + background: linear-gradient(to bottom,#2984a4 0,#24748f 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#2984a4,endColorstr=#24748f,GradientType=0); +} +a.c6:hover{ + background: #24748f; + filter: none; +} +.c6>.panel-body{ + border-color: #1f637b; +} +.c6>.dialog-toolbar,.c6>.dialog-button{ + border-left-color: #1f637b; + border-right-color: #1f637b; +} +.c6>.dialog-button{ + border-bottom-color: #1f637b; +} +.c7,.c7:hover,.c7>.panel-header{ + color: #333; + border-color: #e68900; + background: #ffab2e; + background: -webkit-linear-gradient(top,#ffab2e 0,#ff9900 100%); + background: -moz-linear-gradient(top,#ffab2e 0,#ff9900 100%); + background: -o-linear-gradient(top,#ffab2e 0,#ff9900 100%); + background: linear-gradient(to bottom,#ffab2e 0,#ff9900 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffab2e,endColorstr=#ff9900,GradientType=0); +} +a.c7:hover{ + background: #ff9900; + filter: none; +} +.c7>.panel-body{ + border-color: #e68900; +} +.c7>.dialog-toolbar,.c7>.dialog-button{ + border-left-color: #e68900; + border-right-color: #e68900; +} +.c7>.dialog-button{ + border-bottom-color: #e68900; +} +.c8,.c8:hover,.c8>.panel-header{ + color: #fff; + border-color: #4b72a4; + background: #698cba; + background: -webkit-linear-gradient(top,#698cba 0,#577eb2 100%); + background: -moz-linear-gradient(top,#698cba 0,#577eb2 100%); + background: -o-linear-gradient(top,#698cba 0,#577eb2 100%); + background: linear-gradient(to bottom,#698cba 0,#577eb2 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#698cba,endColorstr=#577eb2,GradientType=0); +} +a.c8:hover{ + background: #577eb2; + filter: none; +} +.c8>.panel-body{ + border-color: #4b72a4; +} +.c8>.dialog-toolbar,.c8>.dialog-button{ + border-left-color: #4b72a4; + border-right-color: #4b72a4; +} +.c8>.dialog-button{ + border-bottom-color: #4b72a4; +} +.c1>.panel-header>.panel-title,.c2>.panel-header>.panel-title, +.c5>.panel-header>.panel-title,.c6>.panel-header>.panel-title,.c8>.panel-header>.panel-title{ + color: #fff; +} +.c-plain{ + border-color: #fff; + background: #fff; +} +.c-plain>.panel-header, +.c-plain>.panel-body, +.c-plain>.dialog-button, +.c-plain>.dialog-toolbar{ + border-color: transparent; + background: transparent; +} +.c-raised{ + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/accordion.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/accordion.css new file mode 100644 index 0000000..9d60531 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/accordion.css @@ -0,0 +1,89 @@ +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #ffffff; + border-color: #95B8E7; +} +.accordion .accordion-header { + background: #E0ECFF; + filter: none; +} +.accordion .accordion-header-selected { + background: #ffe48d; +} +.accordion .accordion-header-selected .panel-title { + color: #000000; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #E0ECFF; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #ffffff; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #95B8E7; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #E0ECFF; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #ffffff; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #95B8E7; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #E0ECFF; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #ffffff; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #95B8E7; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/calendar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/calendar.css new file mode 100644 index 0000000..f25a458 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/calendar.css @@ -0,0 +1,203 @@ +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 14px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 14px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 28px; +} +.calendar-title { + text-align: center; + height: 28px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 0px; + padding: 0 3px; + height: 28px; + line-height: 28px; + font-size: 14px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -8px; + width: 16px; + height: 16px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -16px 0; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -32px 0; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat 0px 0; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -48px 0; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 14px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 80px; + line-height: 26px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 0; + font-weight: bold; + font-size: 14px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 25px; + height: 28px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 5px center; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -44px center; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-body th, +.calendar-menu-month { + color: #4d4d4d; +} +.calendar-day { + color: #000000; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #95B8E7; +} +.calendar { + border-color: #95B8E7; +} +.calendar-header { + background: #E0ECFF; +} +.calendar-body, +.calendar-menu { + background: #ffffff; +} +.calendar-body th { + background: #F4F4F4; + padding: 4px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #eaf2ff; + color: #000000; +} +.calendar-hover { + border: 1px solid #b7d2ff; + padding: 0; +} +.calendar-selected { + background-color: #ffe48d; + color: #000000; + border: 1px solid #ffab3f; + padding: 0; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/checkbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/checkbox.css new file mode 100644 index 0000000..61c5351 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/checkbox.css @@ -0,0 +1,31 @@ +.checkbox { + position: relative; + border: 2px solid #ffab3f; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.checkbox-checked { + border: 0; + background: #ffab3f; +} +.checkbox-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; +} +.checkbox path { + stroke-width: 2px; +} +.checkbox-disabled { + opacity: 0.6; +} +.checkbox-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/combo.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/combo.css new file mode 100644 index 0000000..a516386 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/combo.css @@ -0,0 +1,35 @@ +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #ffffff; +} +.combo-arrow { + background-color: #E0ECFF; +} +.combo-arrow-hover { + background-color: #eaf2ff; +} +.combo-arrow:hover { + background-color: #eaf2ff; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/combobox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/combobox.css new file mode 100644 index 0000000..c315199 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/combobox.css @@ -0,0 +1,40 @@ +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 14px; + padding: 6px 4px; + line-height: 20px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #eaf2ff; + color: #000000; +} +.combobox-item-selected { + background-color: #ffe48d; + color: #000000; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/datagrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/datagrid.css new file mode 100644 index 0000000..f86aa14 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/datagrid.css @@ -0,0 +1,291 @@ +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 32px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 14px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 14px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #95B8E7; + font-size: 14px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #efefef; + background: -webkit-linear-gradient(top,#F9F9F9 0,#efefef 100%); + background: -moz-linear-gradient(top,#F9F9F9 0,#efefef 100%); + background: -o-linear-gradient(top,#F9F9F9 0,#efefef 100%); + background: linear-gradient(to bottom,#F9F9F9 0,#efefef 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F9F9F9,endColorstr=#efefef,GradientType=0); +} +.datagrid-cell-rownumber { + color: #000000; +} +.datagrid-resize-proxy { + background: #aac5e7; +} +.datagrid-mask { + background: #ccc; +} +.datagrid-mask-msg { + border-color: #95B8E7; +} +.datagrid-toolbar, +.datagrid-pager { + background: #F4F4F4; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #dddddd; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #ccc; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #000000; + border-collapse: separate; +} +.datagrid-row-alt { + background: #fafafa; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #eaf2ff; + color: #000000; + cursor: default; +} +.datagrid-row-selected { + background: #ffe48d; + color: #000000; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-header .datagrid-filter-row td.datagrid-header-over { + background: inherit; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/datalist.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/datalist.css new file mode 100644 index 0000000..eedd25b --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/datalist.css @@ -0,0 +1,95 @@ +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #efefef; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ccc; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #000000; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ccc; +} +.m-list li>a:hover { + background: #eaf2ff; + color: #000000; +} +.m-list .m-list-group { + padding: 0 4px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/datebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/datebox.css new file mode 100644 index 0000000..61093f0 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/datebox.css @@ -0,0 +1,36 @@ +.datebox-calendar-inner { + height: 250px; +} +.datebox-button { + padding: 4px 0; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 14px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #F4F4F4; +} +.datebox-button a { + color: #444; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/dialog.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/dialog.css new file mode 100644 index 0000000..ff55387 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/dialog.css @@ -0,0 +1,47 @@ +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #F4F4F4; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #95B8E7 #95B8E7 #dddddd #95B8E7; +} +.dialog-button { + border-color: #dddddd #95B8E7 #95B8E7 #95B8E7; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #F4F4F4; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/easyui.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/easyui.css new file mode 100644 index 0000000..b864948 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/easyui.css @@ -0,0 +1,3438 @@ +.panel { + overflow: hidden; + text-align: left; + margin: 0; + border: 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.panel-header, +.panel-body { + border-width: 1px; + border-style: solid; +} +.panel-header { + padding: 5px; + position: relative; +} +.panel-title { + background: url('images/blank.gif') no-repeat; +} +.panel-header-noborder { + border-width: 0 0 1px 0; +} +.panel-body { + overflow: auto; + border-top-width: 0; + padding: 0; +} +.panel-body-noheader { + border-top-width: 1px; +} +.panel-body-noborder { + border-width: 0px; +} +.panel-body-nobottom { + border-bottom-width: 0; +} +.panel-with-icon { + padding-left: 18px; +} +.panel-icon, +.panel-tool { + position: absolute; + top: 50%; + margin-top: -8px; + height: 16px; + overflow: hidden; +} +.panel-icon { + left: 5px; + width: 16px; +} +.panel-tool { + right: 5px; + width: auto; +} +.panel-tool a { + display: inline-block; + width: 16px; + height: 16px; + opacity: 0.6; + filter: alpha(opacity=60); + margin: 0 0 0 2px; + vertical-align: top; +} +.panel-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + background-color: #eaf2ff; + -moz-border-radius: 3px 3px 3px 3px; + -webkit-border-radius: 3px 3px 3px 3px; + border-radius: 3px 3px 3px 3px; +} +.panel-loading { + padding: 11px 0px 10px 30px; +} +.panel-noscroll { + overflow: hidden; +} +.panel-fit, +.panel-fit body { + height: 100%; + margin: 0; + padding: 0; + border: 0; + overflow: hidden; +} +.panel-loading { + background: url('images/loading.gif') no-repeat 10px 10px; +} +.panel-tool-close { + background: url('images/panel_tools.png') no-repeat -16px 0px; +} +.panel-tool-min { + background: url('images/panel_tools.png') no-repeat 0px 0px; +} +.panel-tool-max { + background: url('images/panel_tools.png') no-repeat 0px -16px; +} +.panel-tool-restore { + background: url('images/panel_tools.png') no-repeat -16px -16px; +} +.panel-tool-collapse { + background: url('images/panel_tools.png') no-repeat -32px 0; +} +.panel-tool-expand { + background: url('images/panel_tools.png') no-repeat -32px -16px; +} +.panel-header, +.panel-body { + border-color: #95B8E7; +} +.panel-header { + background-color: #E0ECFF; + background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); + background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); + background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); + background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0); +} +.panel-body { + background-color: #ffffff; + color: #000000; + font-size: 14px; +} +.panel-title { + font-size: 14px; + font-weight: bold; + color: #0E2D5F; + height: 20px; + line-height: 20px; +} +.panel-footer { + border: 1px solid #95B8E7; + overflow: hidden; + background: #F4F4F4; +} +.panel-footer-noborder { + border-width: 1px 0 0 0; +} +.panel-hleft, +.panel-hright { + position: relative; +} +.panel-hleft>.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; + left: 50%; + margin-left: -8px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 25px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 0px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #ffffff; + border-color: #95B8E7; +} +.accordion .accordion-header { + background: #E0ECFF; + filter: none; +} +.accordion .accordion-header-selected { + background: #ffe48d; +} +.accordion .accordion-header-selected .panel-title { + color: #000000; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #E0ECFF; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #ffffff; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #95B8E7; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #E0ECFF; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #ffffff; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #95B8E7; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #E0ECFF; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #ffffff; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #95B8E7; +} +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.window-shadow { + background: #ccc; + -moz-box-shadow: 2px 2px 3px #cccccc; + -webkit-box-shadow: 2px 2px 3px #cccccc; + box-shadow: 2px 2px 3px #cccccc; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #95B8E7; +} +.window { + background-color: #E0ECFF; + background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%); + background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%); + background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%); + background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 20%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0); +} +.window-proxy { + border: 1px dashed #95B8E7; +} +.window-proxy-mask, +.window-mask { + background: #ccc; +} +.window .panel-footer { + border: 1px solid #95B8E7; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-footer { + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #F4F4F4; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #95B8E7 #95B8E7 #dddddd #95B8E7; +} +.dialog-button { + border-color: #dddddd #95B8E7 #95B8E7 #95B8E7; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #F4F4F4; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.l-btn { + text-decoration: none; + display: inline-block; + overflow: hidden; + margin: 0; + padding: 0; + cursor: pointer; + outline: none; + text-align: center; + vertical-align: middle; + line-height: normal; +} +.l-btn-plain { + border-width: 0; + padding: 1px; +} +.l-btn-left { + display: inline-block; + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + vertical-align: top; +} +.l-btn-text { + display: inline-block; + vertical-align: top; + width: auto; + line-height: 28px; + font-size: 14px; + padding: 0; + margin: 0 6px; +} +.l-btn-icon { + display: inline-block; + width: 16px; + height: 16px; + line-height: 16px; + position: absolute; + top: 50%; + margin-top: -8px; + font-size: 1px; +} +.l-btn span span .l-btn-empty { + display: inline-block; + margin: 0; + width: 16px; + height: 24px; + font-size: 1px; + vertical-align: top; +} +.l-btn span .l-btn-icon-left { + padding: 0 0 0 20px; + background-position: left center; +} +.l-btn span .l-btn-icon-right { + padding: 0 20px 0 0; + background-position: right center; +} +.l-btn-icon-left .l-btn-text { + margin: 0 6px 0 26px; +} +.l-btn-icon-left .l-btn-icon { + left: 6px; +} +.l-btn-icon-right .l-btn-text { + margin: 0 26px 0 6px; +} +.l-btn-icon-right .l-btn-icon { + right: 6px; +} +.l-btn-icon-top .l-btn-text { + margin: 20px 4px 0 4px; +} +.l-btn-icon-top .l-btn-icon { + top: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-icon-bottom .l-btn-text { + margin: 0 4px 20px 4px; +} +.l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-left .l-btn-empty { + margin: 0 6px; + width: 16px; +} +.l-btn-plain:hover { + padding: 0; +} +.l-btn-focus { + outline: #0000FF dotted thin; +} +.l-btn-large .l-btn-text { + line-height: 44px; +} +.l-btn-large .l-btn-icon { + width: 32px; + height: 32px; + line-height: 32px; + margin-top: -16px; +} +.l-btn-large .l-btn-icon-left .l-btn-text { + margin-left: 40px; +} +.l-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.l-btn-large .l-btn-icon-top .l-btn-text { + margin-top: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-top .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-left .l-btn-empty { + margin: 0 6px; + width: 32px; +} +.l-btn { + color: #444; + background: #fafafa; + background-repeat: repeat-x; + border: 1px solid #bbb; + background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0); + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn:hover { + background: #eaf2ff; + color: #000000; + border: 1px solid #b7d2ff; + filter: none; +} +.l-btn-plain { + background: transparent; + border-width: 0; + filter: none; +} +.l-btn-outline { + border-width: 1px; + border-color: #b7d2ff; + padding: 0; +} +.l-btn-plain:hover { + background: #eaf2ff; + color: #000000; + border: 1px solid #b7d2ff; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn-disabled, +.l-btn-disabled:hover { + opacity: 0.5; + cursor: default; + background: #fafafa; + color: #444; + background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0); +} +.l-btn-disabled .l-btn-text, +.l-btn-disabled .l-btn-icon { + filter: alpha(opacity=50); +} +.l-btn-plain-disabled, +.l-btn-plain-disabled:hover { + background: transparent; + filter: alpha(opacity=50); +} +.l-btn-selected, +.l-btn-selected:hover { + background: #ddd; + filter: none; +} +.l-btn-plain-selected, +.l-btn-plain-selected:hover { + background: #ddd; +} +.textbox { + position: relative; + border: 1px solid #95B8E7; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-text { + font-size: 14px; + border: 0; + margin: 0; + padding: 0 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + height: 28px; + line-height: 28px; +} +.textbox textarea.textbox-text { + line-height: normal; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 14px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 30px; + line-height: 30px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #6b9cde; + -moz-box-shadow: 0 0 3px 0 #95B8E7; + -webkit-box-shadow: 0 0 3px 0 #95B8E7; + box-shadow: 0 0 3px 0 #95B8E7; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #ffffff; +} +.combo-arrow { + background-color: #E0ECFF; +} +.combo-arrow-hover { + background-color: #eaf2ff; +} +.combo-arrow:hover { + background-color: #eaf2ff; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 14px; + padding: 6px 4px; + line-height: 20px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #eaf2ff; + color: #000000; +} +.combobox-item-selected { + background-color: #ffe48d; + color: #000000; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #eaf2ff; + color: #000000; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} +.layout { + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + z-index: 0; +} +.layout-panel { + position: absolute; + overflow: hidden; +} +.layout-body { + min-width: 1px; + min-height: 1px; +} +.layout-panel-east, +.layout-panel-west { + z-index: 2; +} +.layout-panel-north, +.layout-panel-south { + z-index: 3; +} +.layout-expand { + position: absolute; + padding: 0px; + font-size: 1px; + cursor: pointer; + z-index: 1; +} +.layout-expand .panel-header, +.layout-expand .panel-body { + background: transparent; + filter: none; + overflow: hidden; +} +.layout-expand .panel-header { + border-bottom-width: 0px; +} +.layout-expand .panel-body { + position: relative; +} +.layout-expand .panel-body .panel-icon { + margin-top: 0; + top: 0; + left: 50%; + margin-left: -8px; +} +.layout-expand-west .panel-header .panel-icon, +.layout-expand-east .panel-header .panel-icon { + display: none; +} +.layout-expand-title { + position: absolute; + top: 0; + left: 21px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.layout-expand-title-up { + position: absolute; + top: 0; + left: 0; + text-align: right; + padding-left: 5px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 0; +} +.layout-expand-with-icon { + top: 18px; +} +.layout-expand .panel-body-noheader .layout-expand-title, +.layout-expand .panel-body-noheader .panel-icon { + top: 5px; +} +.layout-expand .panel-body-noheader .layout-expand-with-icon { + top: 23px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + position: absolute; + font-size: 1px; + display: none; + z-index: 5; +} +.layout-split-proxy-h { + width: 5px; + cursor: e-resize; +} +.layout-split-proxy-v { + height: 5px; + cursor: n-resize; +} +.layout-mask { + position: absolute; + background: #fafafa; + filter: alpha(opacity=10); + opacity: 0.10; + z-index: 4; +} +.layout-button-up { + background: url('images/layout_arrows.png') no-repeat -16px -16px; +} +.layout-button-down { + background: url('images/layout_arrows.png') no-repeat -16px 0; +} +.layout-button-left { + background: url('images/layout_arrows.png') no-repeat 0 0; +} +.layout-button-right { + background: url('images/layout_arrows.png') no-repeat 0 -16px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + background-color: #aac5e7; +} +.layout-split-north { + border-bottom: 5px solid #E6EEF8; +} +.layout-split-south { + border-top: 5px solid #E6EEF8; +} +.layout-split-east { + border-left: 5px solid #E6EEF8; +} +.layout-split-west { + border-right: 5px solid #E6EEF8; +} +.layout-expand { + background-color: #E0ECFF; +} +.layout-expand-over { + background-color: #E0ECFF; +} +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 0 0; + -webkit-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 14px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 5px 5px; + -webkit-border-radius: 0 0 5px 5px; + border-radius: 0 0 5px 5px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #E0ECFF url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #E0ECFF url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #eaf2ff; + color: #000000; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #ffffff; + color: #0E2D5F; + background: -webkit-linear-gradient(top,#EFF5FF 0,#ffffff 100%); + background: -moz-linear-gradient(top,#EFF5FF 0,#ffffff 100%); + background: -o-linear-gradient(top,#EFF5FF 0,#ffffff 100%); + background: linear-gradient(to bottom,#EFF5FF 0,#ffffff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#ffffff,GradientType=0); +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(top,#ffffff 0,#EFF5FF 100%); + background: -moz-linear-gradient(top,#ffffff 0,#EFF5FF 100%); + background: -o-linear-gradient(top,#ffffff 0,#EFF5FF 100%); + background: linear-gradient(to bottom,#ffffff 0,#EFF5FF 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#EFF5FF,GradientType=0); +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#EFF5FF 0,#ffffff 100%); + background: -moz-linear-gradient(left,#EFF5FF 0,#ffffff 100%); + background: -o-linear-gradient(left,#EFF5FF 0,#ffffff 100%); + background: linear-gradient(to right,#EFF5FF 0,#ffffff 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#ffffff,GradientType=1); +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#ffffff 0,#EFF5FF 100%); + background: -moz-linear-gradient(left,#ffffff 0,#EFF5FF 100%); + background: -o-linear-gradient(left,#ffffff 0,#EFF5FF 100%); + background: linear-gradient(to right,#ffffff 0,#EFF5FF 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#EFF5FF,GradientType=1); +} +.tabs li a.tabs-inner { + color: #0E2D5F; + background-color: #E0ECFF; + background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); + background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); + background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); + background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0); +} +.tabs-header, +.tabs-tool { + background-color: #E0ECFF; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #95B8E7; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #eaf2ff; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #ffffff; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #ffffff; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #ffffff; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #ffffff; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #ffe48d; + color: #000000; + filter: none; + border-color: #95B8E7; +} +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 32px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 14px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 14px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #95B8E7; + font-size: 14px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #efefef; + background: -webkit-linear-gradient(top,#F9F9F9 0,#efefef 100%); + background: -moz-linear-gradient(top,#F9F9F9 0,#efefef 100%); + background: -o-linear-gradient(top,#F9F9F9 0,#efefef 100%); + background: linear-gradient(to bottom,#F9F9F9 0,#efefef 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F9F9F9,endColorstr=#efefef,GradientType=0); +} +.datagrid-cell-rownumber { + color: #000000; +} +.datagrid-resize-proxy { + background: #aac5e7; +} +.datagrid-mask { + background: #ccc; +} +.datagrid-mask-msg { + border-color: #95B8E7; +} +.datagrid-toolbar, +.datagrid-pager { + background: #F4F4F4; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #dddddd; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #ccc; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #000000; + border-collapse: separate; +} +.datagrid-row-alt { + background: #fafafa; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #eaf2ff; + color: #000000; + cursor: default; +} +.datagrid-row-selected { + background: #ffe48d; + color: #000000; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-header .datagrid-filter-row td.datagrid-header-over { + background: inherit; +} +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #dddddd; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #E0ECFF; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #dddddd; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #E0ECFF; +} +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #efefef; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ccc; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #000000; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ccc; +} +.m-list li>a:hover { + background: #eaf2ff; + color: #000000; +} +.m-list .m-list-group { + padding: 0 4px; +} +.pagination { + zoom: 1; + padding: 2px; +} +.pagination table { + float: left; + height: 30px; +} +.pagination td { + border: 0; +} +.pagination-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 3px 1px; +} +.pagination .pagination-num { + border-width: 1px; + border-style: solid; + margin: 0 2px; + padding: 2px; + width: 3em; + height: auto; + text-align: center; + font-size: 14px; +} +.pagination-page-list { + margin: 0px 6px; + padding: 1px 2px; + width: auto; + height: auto; + border-width: 1px; + border-style: solid; +} +.pagination-info { + float: right; + margin: 0 6px; + padding: 0; + height: 30px; + line-height: 30px; + font-size: 14px; +} +.pagination span { + font-size: 14px; +} +.pagination-link .l-btn-text { + box-sizing: border-box; + text-align: center; + margin: 0; + padding: 0 .5em; + width: auto; + min-width: 28px; +} +.pagination-first { + background: url('images/pagination_icons.png') no-repeat 0 center; +} +.pagination-prev { + background: url('images/pagination_icons.png') no-repeat -16px center; +} +.pagination-next { + background: url('images/pagination_icons.png') no-repeat -32px center; +} +.pagination-last { + background: url('images/pagination_icons.png') no-repeat -48px center; +} +.pagination-load { + background: url('images/pagination_icons.png') no-repeat -64px center; +} +.pagination-loading { + background: url('images/loading.gif') no-repeat center center; +} +.pagination-page-list, +.pagination .pagination-num { + border-color: #95B8E7; +} +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 14px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 14px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 28px; +} +.calendar-title { + text-align: center; + height: 28px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 0px; + padding: 0 3px; + height: 28px; + line-height: 28px; + font-size: 14px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -8px; + width: 16px; + height: 16px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -16px 0; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -32px 0; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat 0px 0; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -48px 0; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 14px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 80px; + line-height: 26px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 0; + font-weight: bold; + font-size: 14px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 25px; + height: 28px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 5px center; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -44px center; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-body th, +.calendar-menu-month { + color: #4d4d4d; +} +.calendar-day { + color: #000000; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #95B8E7; +} +.calendar { + border-color: #95B8E7; +} +.calendar-header { + background: #E0ECFF; +} +.calendar-body, +.calendar-menu { + background: #ffffff; +} +.calendar-body th { + background: #F4F4F4; + padding: 4px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #eaf2ff; + color: #000000; +} +.calendar-hover { + border: 1px solid #b7d2ff; + padding: 0; +} +.calendar-selected { + background-color: #ffe48d; + color: #000000; + border: 1px solid #ffab3f; + padding: 0; +} +.datebox-calendar-inner { + height: 250px; +} +.datebox-button { + padding: 4px 0; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 14px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #F4F4F4; +} +.datebox-button a { + color: #444; +} +.spinner-arrow { + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow.spinner-button-top, +.spinner-arrow.spinner-button-bottom, +.spinner-arrow.spinner-button-left, +.spinner-arrow.spinner-button-right { + background-color: #E0ECFF; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #444; + outline-style: none; + background-color: #E0ECFF; +} +.spinner-button-updown { + opacity: 1.0; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + position: relative; + display: block; + width: 100%; + height: 50%; +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down { + opacity: 1.0; + filter: alpha(opacity=100); + cursor: pointer; + width: 16px; + height: 16px; + top: 50%; + left: 50%; + margin-top: -8px; + margin-left: -8px; + position: absolute; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-button-updown .spinner-button-top:hover, +.spinner-button-updown .spinner-button-bottom:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down, +.spinner-button-updown .spinner-arrow-up:hover, +.spinner-button-updown .spinner-arrow-down:hover { + background-color: transparent; +} +.spinner-arrow-hover { + background-color: #eaf2ff; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-top:hover, +.spinner-button-bottom:hover, +.spinner-button-left:hover, +.spinner-button-right:hover, +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #eaf2ff; +} +.textbox-disabled .spinner-button-top:hover, +.textbox-disabled .spinner-button-bottom:hover, +.textbox-disabled .spinner-button-left:hover, +.textbox-disabled .spinner-button-right:hover, +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #E0ECFF; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; + background-color: #E0ECFF; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; + background-color: #E0ECFF; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.progressbar { + border-color: #95B8E7; +} +.progressbar-text { + color: #000000; + font-size: 14px; +} +.progressbar-value, +.progressbar-value .progressbar-text { + background-color: #ffe48d; + color: #000000; +} +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #E0ECFF; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 5px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 14px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 14px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #95B8E7; + background: #E0ECFF; +} +.slider-rule span { + border-color: #95B8E7; +} +.slider-rulelabel span { + color: #000000; +} +.menu { + position: absolute; + margin: 0; + padding: 2px; + border-width: 1px; + border-style: solid; + overflow: hidden; +} +.menu-inline { + position: relative; +} +.menu-item { + position: relative; + margin: 0; + padding: 0; + overflow: hidden; + white-space: nowrap; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.menu-text { + height: 20px; + line-height: 20px; + float: left; + padding-left: 28px; +} +.menu-icon { + position: absolute; + width: 16px; + height: 16px; + left: 2px; + top: 50%; + margin-top: -8px; +} +.menu-rightarrow { + position: absolute; + width: 16px; + height: 16px; + right: 0; + top: 50%; + margin-top: -8px; +} +.menu-line { + position: absolute; + left: 26px; + top: 0; + height: 2000px; + font-size: 1px; +} +.menu-sep { + margin: 3px 0px 3px 25px; + font-size: 1px; +} +.menu-noline .menu-line { + display: none; +} +.menu-noline .menu-sep { + margin-left: 0; + margin-right: 0; +} +.menu-active { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.menu-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); + cursor: default; +} +.menu-text, +.menu-text span { + font-size: 14px; +} +.menu-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #ccc; + -moz-box-shadow: 2px 2px 3px #cccccc; + -webkit-box-shadow: 2px 2px 3px #cccccc; + box-shadow: 2px 2px 3px #cccccc; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.menu-rightarrow { + background: url('images/menu_arrows.png') no-repeat -32px center; +} +.menu-line { + border-left: 1px solid #ccc; + border-right: 1px solid #fff; +} +.menu-sep { + border-top: 1px solid #ccc; + border-bottom: 1px solid #fff; +} +.menu { + background-color: #fafafa; + border-color: #ddd; + color: #444; +} +.menu-content { + background: #ffffff; +} +.menu-item { + border-color: transparent; + _border-color: #fafafa; +} +.menu-active { + border-color: #b7d2ff; + color: #000000; + background: #eaf2ff; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #444; +} +.m-btn-downarrow, +.s-btn-downarrow { + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + font-size: 1px; + right: 0; + top: 50%; + margin-top: -8px; +} +.m-btn-active, +.s-btn-active { + background: #eaf2ff; + color: #000000; + border: 1px solid #b7d2ff; + filter: none; +} +.m-btn-plain-active, +.s-btn-plain-active { + background: transparent; + padding: 0; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.m-btn .l-btn-left .l-btn-text { + margin-right: 20px; +} +.m-btn .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.m-btn .l-btn-icon-right .l-btn-icon { + right: 20px; +} +.m-btn .l-btn-icon-top .l-btn-text { + margin-right: 4px; + margin-bottom: 14px; +} +.m-btn .l-btn-icon-bottom .l-btn-text { + margin-right: 4px; + margin-bottom: 34px; +} +.m-btn .l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 20px; +} +.m-btn .l-btn-icon-top .m-btn-downarrow, +.m-btn .l-btn-icon-bottom .m-btn-downarrow { + top: auto; + bottom: 0px; + left: 50%; + margin-left: -8px; +} +.m-btn-line { + display: inline-block; + position: absolute; + font-size: 1px; + display: none; +} +.m-btn .l-btn-left .m-btn-line { + right: 0; + width: 16px; + height: 500px; + border-style: solid; + border-color: #aac5e7; + border-width: 0 0 0 1px; +} +.m-btn .l-btn-icon-top .m-btn-line, +.m-btn .l-btn-icon-bottom .m-btn-line { + left: 0; + bottom: 0; + width: 500px; + height: 16px; + border-width: 1px 0 0 0; +} +.m-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 56px; +} +.m-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 50px; +} +.m-btn-downarrow, +.s-btn-downarrow { + background: url('images/menu_arrows.png') no-repeat 0 center; +} +.m-btn-plain-active, +.s-btn-plain-active { + border-color: #b7d2ff; + background-color: #eaf2ff; + color: #000000; +} +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #aac5e7; + border-width: 0 0 0 1px; +} +.messager-body { + padding: 10px 10px 30px 10px; + overflow: auto; +} +.messager-button { + text-align: center; + padding: 5px; +} +.messager-button .l-btn { + width: 70px; +} +.messager-icon { + float: left; + width: 32px; + height: 32px; + margin: 0 10px 10px 0; +} +.messager-error { + background: url('images/messager_icons.png') no-repeat scroll -64px 0; +} +.messager-info { + background: url('images/messager_icons.png') no-repeat scroll 0 0; +} +.messager-question { + background: url('images/messager_icons.png') no-repeat scroll -32px 0; +} +.messager-warning { + background: url('images/messager_icons.png') no-repeat scroll -96px 0; +} +.messager-progress { + padding: 10px; +} +.messager-p-msg { + margin-bottom: 5px; +} +.messager-body .messager-input { + width: 100%; + padding: 4px 0; + outline-style: none; + border: 1px solid #95B8E7; +} +.window-thinborder .messager-button { + padding-bottom: 8px; +} +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 26px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + margin: 4px 0; + vertical-align: middle; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 14px; + display: inline-block; + text-decoration: none; + vertical-align: middle; + white-space: nowrap; + padding: 0 2px; + margin: 4px 0; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 14px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #95B8E7; + font-size: 14px; + height: 26px; + line-height: 26px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: middle; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #ffffff; + color: #000000; + border-color: #95B8E7; +} +.tree-node-hover { + background: #eaf2ff; + color: #000000; +} +.tree-node-selected { + background: #ffe48d; + color: #000000; +} +.tree-node-hidden { + display: none; +} +.inputbox { + display: inline-block; + vertical-align: middle; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; +} +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; + color: #000; +} +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tooltip-content { + font-size: 14px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #ffffff; + border-color: #95B8E7; + color: #000000; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #95B8E7; +} +.tooltip-right .tooltip-arrow { + border-right-color: #ffffff; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #95B8E7; +} +.tooltip-left .tooltip-arrow { + border-left-color: #ffffff; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #95B8E7; +} +.tooltip-top .tooltip-arrow { + border-top-color: #ffffff; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #95B8E7; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #ffffff; +} +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #bbb; + border: 1px solid #bbb; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 14px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-on { + background: #ffe48d; + color: #000000; +} +.switchbutton-off { + background-color: #ffffff; + color: #000000; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #ffffff; + color: #000000; + border: 1px solid #bbb; + -moz-box-shadow: 0 0 3px 0 #bbb; + -webkit-box-shadow: 0 0 3px 0 #bbb; + box-shadow: 0 0 3px 0 #bbb; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} +.radiobutton { + position: relative; + border: 2px solid #ffab3f; + border-radius: 50%; +} +.radiobutton-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + background: #ffab3f; + border-radius: 50%; + transform: scale(.6); +} +.radiobutton-disabled { + opacity: 0.6; +} +.radiobutton-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} +.checkbox { + position: relative; + border: 2px solid #ffab3f; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.checkbox-checked { + border: 0; + background: #ffab3f; +} +.checkbox-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; +} +.checkbox path { + stroke-width: 2px; +} +.checkbox-disabled { + opacity: 0.6; +} +.checkbox-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} +.sidemenu .tree-hit { + background-image: none; +} +.sidemenu-default-icon { + background-image: none; + width: 0; +} +.sidemenu .accordion .accordion-header, +.sidemenu .accordion .accordion-body { + border-bottom-color: transparent; + background: transparent; +} +.sidemenu .accordion .accordion-header { + color: #0E2D5F; +} +.sidemenu .accordion-header .panel-title { + height: 30px; + line-height: 30px; + color: #0E2D5F; +} +.sidemenu .accordion-header:hover { + background: #eaf2ff; + color: #0E2D5F; +} +.sidemenu .tree-node-hover { + background: #eaf2ff; + color: #0E2D5F; +} +.sidemenu .tree-node-selected { + border-right: 2px solid #ffab3f; + color: #000000; + background: #ffe48d; +} +.sidemenu .tree-node { + height: 40px; +} +.sidemenu .tree-title { + margin: 11px 0; +} +.sidemenu .tree-node-nonleaf { + position: relative; +} +.sidemenu .tree-node-nonleaf::after { + display: inline-block; + content: ''; + position: absolute; + top: 50%; + margin-top: -8px; + background: url('images/accordion_arrows.png') no-repeat 0 0; + width: 16px; + height: 16px; + right: 5px; +} +.sidemenu .tree-node-nonleaf-collapsed::after { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.sidemenu-collapsed .panel-icon { + left: 50%; + margin-left: -8px; +} +.sidemenu-tooltip { + padding: 0; + margin: 0 -12px; + border: 0; +} +.sidemenu-tooltip.tooltip-left { + margin: 0 12px; +} +.sidemenu-tooltip .tooltip-arrow-outer, +.sidemenu-tooltip .tooltip-arrow { + display: none; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/filebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/filebox.css new file mode 100644 index 0000000..c6bac66 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/filebox.css @@ -0,0 +1,20 @@ +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/accordion_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/accordion_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..720835f69c96c17ec32a20b03ac9753aa59b7f4f GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYeRK2H*V@SoVUT_Y-nKxaI`{RC0WjSLJ&w^R(C-|JQTojLXc1&{d*_z{$ jW+oTMdQ(F|jDg|L>K${_)^zO#I)%a0)z4*}Q$iB}_fAN- literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/blank.gif b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/blank.gif new file mode 100644 index 0000000000000000000000000000000000000000..1d11fa9ada9e93505b3d736acb204083f45d5fbf GIT binary patch literal 43 scmZ?wbhEHbWMp7uX!y@?;J^U}1_s5SEQ~;kK?g*DWEhy3To@Uw0n;G|I{*Lx literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/calendar_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/calendar_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..430c4ad685b8c0068ecb7e3cbef74f493a84ad0d GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQYD@)jv*Dd-cCEn)nLHm{QbZE z+q@uWwandfr?Jb4eDYYmB3UAt=OO2Vt+MMT&+KD%&6hZDt!FBpej;sEpMN69^tKl% zp6y<4_lG^P z=;=eQ4Vs74-2)Ua&f1tcVdk$#{GPKe@&?ZMHmT&SMw?IV&w7)}ixLbB3d$Zg{&KGb P8OPx1>gTe~DWM4fp>5!O@Gl{c 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 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/loading.gif b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..68f01d04813c1f622810864a3aaa04b4a17ac8f9 GIT binary patch literal 1737 zcmaKsX;2e)7>CzDa{xjjy99|1A!tC(kfocDi)<1$AxHpOQ4k^l!Vx1W6x7<&|FYXU zqO4jEiU-!VR1p+Xj1?4-iuI_J;!&?!+ghg|JJad3U)pMGzcKxNeCM6tJnuX+uPvX@ zZY|=AHdxt2Xr2y*)5|c6#FSEuyJ+Y3Z&l z2hJWo`9;lJ$6wzSoW60tqkB|d$oiO*d-^85^ojn{*NR{MP*%{@H*#gihZ8BKyB68E z-MIbjgNNV0y5khpJ^Jv`51aR%={<4jhaVq5e*9D5+*hL)XCHn4{^d%hPu@?KpKbc=eN!D=XUjDmH#n{YHNS zHCX6BV)yn2CuTNujhN~V+`RKpyXO6^ht92eqhIIlQLfz6eeCnH_C7`NPNrw9ks366 z4xX9(`s~z=+1uX^ocZ$2_fBs=JihPfWYufOIuD&AU-@`>>qn~cy$1)T7CU!5z2(U8 z)9Kt9)l`f6?NU41j6XbXfR{OHwm|T4}&24tIf+!C-g~6cQfY2^n$?AT&ZW zgqm`}3-jS2NS6n=k;sr5Hv(Q%%n)qW0X|neWVBd;Ko}d(=u%?{O0-a>kSI}shOd9n z5top}%gUCf=>?tg;*;#7!^HOL3k$fMxd=O-6Y4@%u8LS)C1D_a?27R6^vcC+6tttL z)GmTahbyJB!xmcHL#ya8ZXyfRl)a!N0BJE0y3BBfAV5;#=K&Z2VkaKZ)?9`1h5P_% znt*b}%j1|#j`b|aQDx@~wA#$PYRN2xE6UO;;vE(@$&xww-s8fZ5HmJ(eJ*rQrDbaawDbrfe_8F(wq{ge?)qQG`aXV;r(*6EM|ESje;52aFmrX!f=Pw^2oGQX$1|o4yts|b_5@w_kNwtl{wDP#JGMvIp#!SYX?Wq9S&`&_ZwkgGH5CLB7DEGJ6=R4J~p3Z4i^A}hs=-uZeD zs92l6u@**R$~L()G{5N8*7cE5-q$SCo`q4|NSVF*+A7&xZnypm$EdXgf)E%(VJHFD zSgi(H!D!(;9Zcc#GrCCJh=RlvXBQ-hv4Vodse`a32ZUFWgP5ZhM5LeV(#D^H8p@Lg ztra5R32z@1rQv{6u&RZL5%Z@Ye{q|t#6aM_1hIrpl@)oH6}os*cbAQywa{5<`ekzW O1il%9bk82&KlvLjD^%40 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/menu_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/menu_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..b986842e7e4044caed18edbcb4b376a4bb915623 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQt6&9jv*Dd-cB{-J7B=U{PTZ! zWrKV9%Z3|Wt5t$(gq+#d+-OocB$0fsr9DfRx52vPhSu$$+yXuy+69hDZ54DDTxx#r zL7>-12UT01v)>tZ+;HI4pDNf?@KK~EC$@35ykmXyu^HJF3})N>8P9Uwo&~g$!PC{x JWt~$(697!FIeGv9 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/messager_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/messager_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..86b0b0e6c73d6bdedc843763484982e5c9e71b0e GIT binary patch literal 2224 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 eBlUQ{{Qm&YJg{HE_Fe7(0000`TRe8 z#G%R{$NfX%tci2`Gda4n1O70V3HltacN37lc`VT21_Oig(wY*}T!mDijSQZyelF{r G5}E*M5;#5p literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/passwordbox_open.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/passwordbox_open.png new file mode 100644 index 0000000000000000000000000000000000000000..d328891f6a18ea703fd25a47b228df9cb13b4744 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ii4<#Ar-fh6C~y}*jFF6I{2&m zf8fW~lSf{d9=Ouc<(SoRr6$ox=6dW5rxOB`TRe8 z#G%R{$Nj@Z)5m5kM@2RMITi_;Npmte=_#;rBych_7F`xqKKy}=f%DM}Q4`(M(}DIf Nc)I$ztaD0e0su|qH(3Ax literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/searchbox_button.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/searchbox_button.png new file mode 100644 index 0000000000000000000000000000000000000000..6dd1931589b453f6cc9772fd1851d8705d6b6631 GIT binary patch literal 813 zcmV+|1JeA7P)lXvaa)1B=8vtU6i;3jw7+Lm8D5$Z@i10EnF)=bcefw4K z$^E-CUfjQG`svfBbfD6|R#sLFj6lo3FG$G6@;ee>>~6i|H^5OY8c00W#fi<*1vzh{0&qu3dB`V0{{XDY`}(1n>S9M(9!zw#!&`A z#;*+0{6GVMSeWGp!`o{o8NPge#o%jgs54WT$qnQYpsyGNpauX05F;oJfZ`Pdw6!$j zynTH0RMa&!n3$Pa9zVGEY{&L(3qnPBl_DG6<9Xk0`Fl3`LiD4@pH{vDsxJWQ1qdJp zEJ>M}osCtQlY?CgW>F{;gVK#SmgoOZnEn5J%EtIXaWQXAO>Rdf)WFR;gt~f zXaA3z{{L{q=l48y!32yJ3i0hJ2BS=^}@sXzH{F9Iq&OW375;I7CG-}Vr|aF#l<(fySwu2>`YdxRW*W0f#2un=W5Jmvoe`XCK%I_Y++#`fwE+= zSd{sEULGDE%A=#BOW<6gP*6VfMa^fr8qe`5w%)P0a^Y9WGTw! zvI^|$>l@1Da^Ke1*T3RdY7KqM%gaBb(P+oP!GW;b?ZRfW3Bxc1H@GCaHK#XhZ*Lc= zRBC@>V&W#x&B5%(#>OW5`};d6I5Qw218EG_q@1gtr!Nl*v7yn?(MPMRt4SNy%--JK zanm#f^bw^}Nr7b(EUg}TUi(2;)deX10lAo=83+VA(QksJI6(zwptET-y~avN=J9w$ zI2`W5lG|aOkjY7(&!@;Jx*nUA>~J`Q)9L&(G8y=g$3a4YgD7z)5>gXQNKhw=uR0zF z#jHruh)gDv=bj|2ZES4(fEM?I!JyKqo=}sj-fBYTcDt4KXq)eFQH}wW`vh%Mla}#@ z@Mb`C)x@YkK{xd2>8ZLg+E!Lps$Q@6DY-~!0=Gs+Mm~_JnW1EbX2uxClEdN>Y@I78 z=ke_9?7sX@o0*x}M{JB77MIXj_MmNE%+1Xe{*{crh)9={dR(U;y-{jrxUXmG%Gt002ovPDHLkV1hy(sXhPz literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/spinner_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/spinner_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..7c2df483dbb30dfb3a51332c03fe6f0c229c0547 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQZb$`jv*Ddk`p9Y7bl4Dgeh3R zJz6gy$J;RRRRiNz`7}$-z5~nWg=}UsVYp!HpQ#{_&8An~S<1fjm*zKyrHmF27#+^4 x`1rk&EZfSkR8C?on>%wt3;O{L3Dzy_3@=Og7TEqO`UJFx!PC{xWt~$(69D$UE$jdQ literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/tabs_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/tabs_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..4d29966d7154338a9e2e358821a5f72655eba43e GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^20$#p!3HD)*8SNCq+&f?978H@B_~L*E^a7uNPG49 z|BoM6E;$_tDnm{r-UW|t3f!- literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/tagbox_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/tagbox_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..bd02e2d817c6b7c4e2a105919e9a89cc0a1d577f GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel&`0YV@SoV>_0CQASS literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/tree_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/tree_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..e9be4f3a9965e49a4e4078f8c53f486d761a7468 GIT binary patch literal 3115 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 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/validatebox_warning.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/images/validatebox_warning.png new file mode 100644 index 0000000000000000000000000000000000000000..2b3d4f05babf3f82b146350e96570fac02075de0 GIT binary patch literal 921 zcmV;K17`e*P)nRv1_mBsMY*-M^XCf)eflW5 z|MC^)Hw+AW{sHCCF+cz@{fF8J!+#-kxoSv=7^|!zgOQUngSQ}mDo|J)n+pH}hzZ#= zr~y18$_m-?9v%$;?mu8);}>9vFgFvDXJDwrW&l6{p}625M66yTFhGz^K$w9^O$BHi zFN2Ym7DIple*#cW4BY^L0Al(Jbv6k9U|^6IQBp{hx3XdQ&CJ4Z_|YSVr@XujY(PVT zlok1<85nBO4FCurumK>O|A07*jFlSRUcxLAQVcIR*co#3@)&jj4Pj7KXRri%#h;fa z4ya5O*#Lk5Vq!q}T~=CGH(uV-hJk^fkAYoGjN#AMuMF($>N=giWG}IXse|=+c=i>7HEg>%*E%fLD!-uy|85n^6W?^Dt(9zXp5EB&z+w>_knBmdiKMbzi z?A!`WOl>e100a=&05*1xZdFls?*HtZ48H?o7=HW%ivIu45E2~BASWx!@DIpmv9e}h zaPwji|L}pqor@y`=yxrU0RRES^qYY}O;TRcU+DKIhL4`%3_nyf8U6tS<<-ZJ40D$( zWjJ%`G6NIPHNP2{7am*Fp% z{>ShK#0G`~kjd~57_BU.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; + left: 50%; + margin-left: -8px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 25px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 0px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/passwordbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/passwordbox.css new file mode 100644 index 0000000..92c9ce5 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/passwordbox.css @@ -0,0 +1,6 @@ +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/progressbar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/progressbar.css new file mode 100644 index 0000000..9fbcb3a --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/progressbar.css @@ -0,0 +1,33 @@ +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.progressbar { + border-color: #95B8E7; +} +.progressbar-text { + color: #000000; + font-size: 14px; +} +.progressbar-value, +.progressbar-value .progressbar-text { + background-color: #ffe48d; + color: #000000; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/propertygrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/propertygrid.css new file mode 100644 index 0000000..3b6f419 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/propertygrid.css @@ -0,0 +1,27 @@ +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #dddddd; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #E0ECFF; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #dddddd; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #E0ECFF; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/radiobutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/radiobutton.css new file mode 100644 index 0000000..82533c8 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/radiobutton.css @@ -0,0 +1,25 @@ +.radiobutton { + position: relative; + border: 2px solid #ffab3f; + border-radius: 50%; +} +.radiobutton-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + background: #ffab3f; + border-radius: 50%; + transform: scale(.6); +} +.radiobutton-disabled { + opacity: 0.6; +} +.radiobutton-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/searchbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/searchbox.css new file mode 100644 index 0000000..ada5ce3 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/searchbox.css @@ -0,0 +1,61 @@ +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #E0ECFF; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/sidemenu.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/sidemenu.css new file mode 100644 index 0000000..65c6b42 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/sidemenu.css @@ -0,0 +1,72 @@ +.sidemenu .tree-hit { + background-image: none; +} +.sidemenu-default-icon { + background-image: none; + width: 0; +} +.sidemenu .accordion .accordion-header, +.sidemenu .accordion .accordion-body { + border-bottom-color: transparent; + background: transparent; +} +.sidemenu .accordion .accordion-header { + color: #0E2D5F; +} +.sidemenu .accordion-header .panel-title { + height: 30px; + line-height: 30px; + color: #0E2D5F; +} +.sidemenu .accordion-header:hover { + background: #eaf2ff; + color: #0E2D5F; +} +.sidemenu .tree-node-hover { + background: #eaf2ff; + color: #0E2D5F; +} +.sidemenu .tree-node-selected { + border-right: 2px solid #ffab3f; + color: #000000; + background: #ffe48d; +} +.sidemenu .tree-node { + height: 40px; +} +.sidemenu .tree-title { + margin: 11px 0; +} +.sidemenu .tree-node-nonleaf { + position: relative; +} +.sidemenu .tree-node-nonleaf::after { + display: inline-block; + content: ''; + position: absolute; + top: 50%; + margin-top: -8px; + background: url('images/accordion_arrows.png') no-repeat 0 0; + width: 16px; + height: 16px; + right: 5px; +} +.sidemenu .tree-node-nonleaf-collapsed::after { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.sidemenu-collapsed .panel-icon { + left: 50%; + margin-left: -8px; +} +.sidemenu-tooltip { + padding: 0; + margin: 0 -12px; + border: 0; +} +.sidemenu-tooltip.tooltip-left { + margin: 0 12px; +} +.sidemenu-tooltip .tooltip-arrow-outer, +.sidemenu-tooltip .tooltip-arrow { + display: none; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/slider.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/slider.css new file mode 100644 index 0000000..8721832 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/slider.css @@ -0,0 +1,101 @@ +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 5px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 14px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 14px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #95B8E7; + background: #E0ECFF; +} +.slider-rule span { + border-color: #95B8E7; +} +.slider-rulelabel span { + color: #000000; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/spinner.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/spinner.css new file mode 100644 index 0000000..9e163f9 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/spinner.css @@ -0,0 +1,114 @@ +.spinner-arrow { + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow.spinner-button-top, +.spinner-arrow.spinner-button-bottom, +.spinner-arrow.spinner-button-left, +.spinner-arrow.spinner-button-right { + background-color: #E0ECFF; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #444; + outline-style: none; + background-color: #E0ECFF; +} +.spinner-button-updown { + opacity: 1.0; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + position: relative; + display: block; + width: 100%; + height: 50%; +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down { + opacity: 1.0; + filter: alpha(opacity=100); + cursor: pointer; + width: 16px; + height: 16px; + top: 50%; + left: 50%; + margin-top: -8px; + margin-left: -8px; + position: absolute; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-button-updown .spinner-button-top:hover, +.spinner-button-updown .spinner-button-bottom:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down, +.spinner-button-updown .spinner-arrow-up:hover, +.spinner-button-updown .spinner-arrow-down:hover { + background-color: transparent; +} +.spinner-arrow-hover { + background-color: #eaf2ff; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-top:hover, +.spinner-button-bottom:hover, +.spinner-button-left:hover, +.spinner-button-right:hover, +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #eaf2ff; +} +.textbox-disabled .spinner-button-top:hover, +.textbox-disabled .spinner-button-bottom:hover, +.textbox-disabled .spinner-button-left:hover, +.textbox-disabled .spinner-button-right:hover, +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #E0ECFF; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; + background-color: #E0ECFF; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; + background-color: #E0ECFF; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/splitbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/splitbutton.css new file mode 100644 index 0000000..86d6da5 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/splitbutton.css @@ -0,0 +1,12 @@ +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #aac5e7; + border-width: 0 0 0 1px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/switchbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/switchbutton.css new file mode 100644 index 0000000..4b5d4ad --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/switchbutton.css @@ -0,0 +1,77 @@ +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #bbb; + border: 1px solid #bbb; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 14px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-on { + background: #ffe48d; + color: #000000; +} +.switchbutton-off { + background-color: #ffffff; + color: #000000; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #ffffff; + color: #000000; + border: 1px solid #bbb; + -moz-box-shadow: 0 0 3px 0 #bbb; + -webkit-box-shadow: 0 0 3px 0 #bbb; + box-shadow: 0 0 3px 0 #bbb; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tabs.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tabs.css new file mode 100644 index 0000000..e3e97c7 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tabs.css @@ -0,0 +1,413 @@ +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 0 0; + -webkit-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 14px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 5px 5px; + -webkit-border-radius: 0 0 5px 5px; + border-radius: 0 0 5px 5px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #E0ECFF url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #E0ECFF url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #eaf2ff; + color: #000000; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #ffffff; + color: #0E2D5F; + background: -webkit-linear-gradient(top,#EFF5FF 0,#ffffff 100%); + background: -moz-linear-gradient(top,#EFF5FF 0,#ffffff 100%); + background: -o-linear-gradient(top,#EFF5FF 0,#ffffff 100%); + background: linear-gradient(to bottom,#EFF5FF 0,#ffffff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#ffffff,GradientType=0); +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(top,#ffffff 0,#EFF5FF 100%); + background: -moz-linear-gradient(top,#ffffff 0,#EFF5FF 100%); + background: -o-linear-gradient(top,#ffffff 0,#EFF5FF 100%); + background: linear-gradient(to bottom,#ffffff 0,#EFF5FF 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#EFF5FF,GradientType=0); +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#EFF5FF 0,#ffffff 100%); + background: -moz-linear-gradient(left,#EFF5FF 0,#ffffff 100%); + background: -o-linear-gradient(left,#EFF5FF 0,#ffffff 100%); + background: linear-gradient(to right,#EFF5FF 0,#ffffff 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#ffffff,GradientType=1); +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#ffffff 0,#EFF5FF 100%); + background: -moz-linear-gradient(left,#ffffff 0,#EFF5FF 100%); + background: -o-linear-gradient(left,#ffffff 0,#EFF5FF 100%); + background: linear-gradient(to right,#ffffff 0,#EFF5FF 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#EFF5FF,GradientType=1); +} +.tabs li a.tabs-inner { + color: #0E2D5F; + background-color: #E0ECFF; + background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); + background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); + background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); + background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0); +} +.tabs-header, +.tabs-tool { + background-color: #E0ECFF; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #95B8E7; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #eaf2ff; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #ffffff; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #ffffff; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #ffffff; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #ffffff; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #ffe48d; + color: #000000; + filter: none; + border-color: #95B8E7; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tagbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tagbox.css new file mode 100644 index 0000000..67d51a3 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tagbox.css @@ -0,0 +1,44 @@ +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #eaf2ff; + color: #000000; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/textbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/textbox.css new file mode 100644 index 0000000..71b154a --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/textbox.css @@ -0,0 +1,144 @@ +.textbox { + position: relative; + border: 1px solid #95B8E7; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-text { + font-size: 14px; + border: 0; + margin: 0; + padding: 0 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + height: 28px; + line-height: 28px; +} +.textbox textarea.textbox-text { + line-height: normal; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 14px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 30px; + line-height: 30px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #6b9cde; + -moz-box-shadow: 0 0 3px 0 #95B8E7; + -webkit-box-shadow: 0 0 3px 0 #95B8E7; + box-shadow: 0 0 3px 0 #95B8E7; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tooltip.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tooltip.css new file mode 100644 index 0000000..8ce21b4 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tooltip.css @@ -0,0 +1,103 @@ +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tooltip-content { + font-size: 14px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #ffffff; + border-color: #95B8E7; + color: #000000; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #95B8E7; +} +.tooltip-right .tooltip-arrow { + border-right-color: #ffffff; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #95B8E7; +} +.tooltip-left .tooltip-arrow { + border-left-color: #ffffff; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #95B8E7; +} +.tooltip-top .tooltip-arrow { + border-top-color: #ffffff; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #95B8E7; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #ffffff; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tree.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tree.css new file mode 100644 index 0000000..4a1bce0 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/tree.css @@ -0,0 +1,164 @@ +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 26px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + margin: 4px 0; + vertical-align: middle; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 14px; + display: inline-block; + text-decoration: none; + vertical-align: middle; + white-space: nowrap; + padding: 0 2px; + margin: 4px 0; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 14px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #95B8E7; + font-size: 14px; + height: 26px; + line-height: 26px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: middle; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #ffffff; + color: #000000; + border-color: #95B8E7; +} +.tree-node-hover { + background: #eaf2ff; + color: #000000; +} +.tree-node-selected { + background: #ffe48d; + color: #000000; +} +.tree-node-hidden { + display: none; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/validatebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/validatebox.css new file mode 100644 index 0000000..4d566de --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/validatebox.css @@ -0,0 +1,13 @@ +.inputbox { + display: inline-block; + vertical-align: middle; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; +} +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; + color: #000; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/window.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/window.css new file mode 100644 index 0000000..25a4bee --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/default/window.css @@ -0,0 +1,188 @@ +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.window-shadow { + background: #ccc; + -moz-box-shadow: 2px 2px 3px #cccccc; + -webkit-box-shadow: 2px 2px 3px #cccccc; + box-shadow: 2px 2px 3px #cccccc; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #95B8E7; +} +.window { + background-color: #E0ECFF; + background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%); + background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%); + background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%); + background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 20%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0); +} +.window-proxy { + border: 1px dashed #95B8E7; +} +.window-proxy-mask, +.window-mask { + background: #ccc; +} +.window .panel-footer { + border: 1px solid #95B8E7; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-footer { + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/accordion.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/accordion.css new file mode 100644 index 0000000..3226cb3 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/accordion.css @@ -0,0 +1,89 @@ +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #ffffff; + border-color: #D3D3D3; +} +.accordion .accordion-header { + background: #f3f3f3; + filter: none; +} +.accordion .accordion-header-selected { + background: #0092DC; +} +.accordion .accordion-header-selected .panel-title { + color: #fff; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #f3f3f3; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #ffffff; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #D3D3D3; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #f3f3f3; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #ffffff; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #D3D3D3; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #f3f3f3; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #ffffff; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #D3D3D3; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/calendar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/calendar.css new file mode 100644 index 0000000..c647dcd --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/calendar.css @@ -0,0 +1,203 @@ +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 14px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 14px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 28px; +} +.calendar-title { + text-align: center; + height: 28px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 0px; + padding: 0 3px; + height: 28px; + line-height: 28px; + font-size: 14px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -8px; + width: 16px; + height: 16px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -16px 0; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -32px 0; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat 0px 0; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -48px 0; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 14px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 80px; + line-height: 26px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 0; + font-weight: bold; + font-size: 14px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 25px; + height: 28px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 5px center; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -44px center; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-body th, +.calendar-menu-month { + color: #4d4d4d; +} +.calendar-day { + color: #000000; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #D3D3D3; +} +.calendar { + border-color: #D3D3D3; +} +.calendar-header { + background: #f3f3f3; +} +.calendar-body, +.calendar-menu { + background: #ffffff; +} +.calendar-body th { + background: #fafafa; + padding: 4px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #e2e2e2; + color: #000000; +} +.calendar-hover { + border: 1px solid #ccc; + padding: 0; +} +.calendar-selected { + background-color: #0092DC; + color: #fff; + border: 1px solid #0070a9; + padding: 0; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/checkbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/checkbox.css new file mode 100644 index 0000000..0edec67 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/checkbox.css @@ -0,0 +1,31 @@ +.checkbox { + position: relative; + border: 2px solid #0070a9; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.checkbox-checked { + border: 0; + background: #0070a9; +} +.checkbox-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; +} +.checkbox path { + stroke-width: 2px; +} +.checkbox-disabled { + opacity: 0.6; +} +.checkbox-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/combo.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/combo.css new file mode 100644 index 0000000..6ebdf5e --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/combo.css @@ -0,0 +1,35 @@ +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #ffffff; +} +.combo-arrow { + background-color: #f3f3f3; +} +.combo-arrow-hover { + background-color: #e2e2e2; +} +.combo-arrow:hover { + background-color: #e2e2e2; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/combobox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/combobox.css new file mode 100644 index 0000000..06613c1 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/combobox.css @@ -0,0 +1,40 @@ +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 14px; + padding: 6px 4px; + line-height: 20px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #e2e2e2; + color: #000000; +} +.combobox-item-selected { + background-color: #0092DC; + color: #fff; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/datagrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/datagrid.css new file mode 100644 index 0000000..f5e39b4 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/datagrid.css @@ -0,0 +1,291 @@ +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 32px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 14px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 14px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #D3D3D3; + font-size: 14px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #fafafa; + background: -webkit-linear-gradient(top,#fdfdfd 0,#f5f5f5 100%); + background: -moz-linear-gradient(top,#fdfdfd 0,#f5f5f5 100%); + background: -o-linear-gradient(top,#fdfdfd 0,#f5f5f5 100%); + background: linear-gradient(to bottom,#fdfdfd 0,#f5f5f5 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#fdfdfd,endColorstr=#f5f5f5,GradientType=0); +} +.datagrid-cell-rownumber { + color: #000000; +} +.datagrid-resize-proxy { + background: #bfbfbf; +} +.datagrid-mask { + background: #ccc; +} +.datagrid-mask-msg { + border-color: #D3D3D3; +} +.datagrid-toolbar, +.datagrid-pager { + background: #fafafa; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #ddd; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #ccc; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #000000; + border-collapse: separate; +} +.datagrid-row-alt { + background: #fafafa; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #e2e2e2; + color: #000000; + cursor: default; +} +.datagrid-row-selected { + background: #0092DC; + color: #fff; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-header .datagrid-filter-row td.datagrid-header-over { + background: inherit; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/datalist.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/datalist.css new file mode 100644 index 0000000..de149ef --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/datalist.css @@ -0,0 +1,95 @@ +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #fafafa; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ccc; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #000000; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ccc; +} +.m-list li>a:hover { + background: #e2e2e2; + color: #000000; +} +.m-list .m-list-group { + padding: 0 4px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/datebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/datebox.css new file mode 100644 index 0000000..36281af --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/datebox.css @@ -0,0 +1,36 @@ +.datebox-calendar-inner { + height: 250px; +} +.datebox-button { + padding: 4px 0; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 14px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #fafafa; +} +.datebox-button a { + color: #444; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/dialog.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/dialog.css new file mode 100644 index 0000000..2850ca1 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/dialog.css @@ -0,0 +1,47 @@ +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #fafafa; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #D3D3D3 #D3D3D3 #ddd #D3D3D3; +} +.dialog-button { + border-color: #ddd #D3D3D3 #D3D3D3 #D3D3D3; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #fafafa; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/easyui.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/easyui.css new file mode 100644 index 0000000..199a66d --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/easyui.css @@ -0,0 +1,3438 @@ +.panel { + overflow: hidden; + text-align: left; + margin: 0; + border: 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.panel-header, +.panel-body { + border-width: 1px; + border-style: solid; +} +.panel-header { + padding: 5px; + position: relative; +} +.panel-title { + background: url('images/blank.gif') no-repeat; +} +.panel-header-noborder { + border-width: 0 0 1px 0; +} +.panel-body { + overflow: auto; + border-top-width: 0; + padding: 0; +} +.panel-body-noheader { + border-top-width: 1px; +} +.panel-body-noborder { + border-width: 0px; +} +.panel-body-nobottom { + border-bottom-width: 0; +} +.panel-with-icon { + padding-left: 18px; +} +.panel-icon, +.panel-tool { + position: absolute; + top: 50%; + margin-top: -8px; + height: 16px; + overflow: hidden; +} +.panel-icon { + left: 5px; + width: 16px; +} +.panel-tool { + right: 5px; + width: auto; +} +.panel-tool a { + display: inline-block; + width: 16px; + height: 16px; + opacity: 0.6; + filter: alpha(opacity=60); + margin: 0 0 0 2px; + vertical-align: top; +} +.panel-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + background-color: #e2e2e2; + -moz-border-radius: 3px 3px 3px 3px; + -webkit-border-radius: 3px 3px 3px 3px; + border-radius: 3px 3px 3px 3px; +} +.panel-loading { + padding: 11px 0px 10px 30px; +} +.panel-noscroll { + overflow: hidden; +} +.panel-fit, +.panel-fit body { + height: 100%; + margin: 0; + padding: 0; + border: 0; + overflow: hidden; +} +.panel-loading { + background: url('images/loading.gif') no-repeat 10px 10px; +} +.panel-tool-close { + background: url('images/panel_tools.png') no-repeat -16px 0px; +} +.panel-tool-min { + background: url('images/panel_tools.png') no-repeat 0px 0px; +} +.panel-tool-max { + background: url('images/panel_tools.png') no-repeat 0px -16px; +} +.panel-tool-restore { + background: url('images/panel_tools.png') no-repeat -16px -16px; +} +.panel-tool-collapse { + background: url('images/panel_tools.png') no-repeat -32px 0; +} +.panel-tool-expand { + background: url('images/panel_tools.png') no-repeat -32px -16px; +} +.panel-header, +.panel-body { + border-color: #D3D3D3; +} +.panel-header { + background-color: #f3f3f3; + background: -webkit-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); + background: -moz-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); + background: -o-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); + background: linear-gradient(to bottom,#F8F8F8 0,#eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#eeeeee,GradientType=0); +} +.panel-body { + background-color: #ffffff; + color: #000000; + font-size: 14px; +} +.panel-title { + font-size: 14px; + font-weight: bold; + color: #575765; + height: 20px; + line-height: 20px; +} +.panel-footer { + border: 1px solid #D3D3D3; + overflow: hidden; + background: #fafafa; +} +.panel-footer-noborder { + border-width: 1px 0 0 0; +} +.panel-hleft, +.panel-hright { + position: relative; +} +.panel-hleft>.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; + left: 50%; + margin-left: -8px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 25px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 0px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #ffffff; + border-color: #D3D3D3; +} +.accordion .accordion-header { + background: #f3f3f3; + filter: none; +} +.accordion .accordion-header-selected { + background: #0092DC; +} +.accordion .accordion-header-selected .panel-title { + color: #fff; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #f3f3f3; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #ffffff; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #D3D3D3; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #f3f3f3; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #ffffff; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #D3D3D3; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #f3f3f3; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #ffffff; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #D3D3D3; +} +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.window-shadow { + background: #ccc; + -moz-box-shadow: 2px 2px 3px #cccccc; + -webkit-box-shadow: 2px 2px 3px #cccccc; + box-shadow: 2px 2px 3px #cccccc; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #D3D3D3; +} +.window { + background-color: #f3f3f3; + background: -webkit-linear-gradient(top,#F8F8F8 0,#eeeeee 20%); + background: -moz-linear-gradient(top,#F8F8F8 0,#eeeeee 20%); + background: -o-linear-gradient(top,#F8F8F8 0,#eeeeee 20%); + background: linear-gradient(to bottom,#F8F8F8 0,#eeeeee 20%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#eeeeee,GradientType=0); +} +.window-proxy { + border: 1px dashed #D3D3D3; +} +.window-proxy-mask, +.window-mask { + background: #ccc; +} +.window .panel-footer { + border: 1px solid #D3D3D3; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-footer { + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #fafafa; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #D3D3D3 #D3D3D3 #ddd #D3D3D3; +} +.dialog-button { + border-color: #ddd #D3D3D3 #D3D3D3 #D3D3D3; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #fafafa; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.l-btn { + text-decoration: none; + display: inline-block; + overflow: hidden; + margin: 0; + padding: 0; + cursor: pointer; + outline: none; + text-align: center; + vertical-align: middle; + line-height: normal; +} +.l-btn-plain { + border-width: 0; + padding: 1px; +} +.l-btn-left { + display: inline-block; + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + vertical-align: top; +} +.l-btn-text { + display: inline-block; + vertical-align: top; + width: auto; + line-height: 28px; + font-size: 14px; + padding: 0; + margin: 0 6px; +} +.l-btn-icon { + display: inline-block; + width: 16px; + height: 16px; + line-height: 16px; + position: absolute; + top: 50%; + margin-top: -8px; + font-size: 1px; +} +.l-btn span span .l-btn-empty { + display: inline-block; + margin: 0; + width: 16px; + height: 24px; + font-size: 1px; + vertical-align: top; +} +.l-btn span .l-btn-icon-left { + padding: 0 0 0 20px; + background-position: left center; +} +.l-btn span .l-btn-icon-right { + padding: 0 20px 0 0; + background-position: right center; +} +.l-btn-icon-left .l-btn-text { + margin: 0 6px 0 26px; +} +.l-btn-icon-left .l-btn-icon { + left: 6px; +} +.l-btn-icon-right .l-btn-text { + margin: 0 26px 0 6px; +} +.l-btn-icon-right .l-btn-icon { + right: 6px; +} +.l-btn-icon-top .l-btn-text { + margin: 20px 4px 0 4px; +} +.l-btn-icon-top .l-btn-icon { + top: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-icon-bottom .l-btn-text { + margin: 0 4px 20px 4px; +} +.l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-left .l-btn-empty { + margin: 0 6px; + width: 16px; +} +.l-btn-plain:hover { + padding: 0; +} +.l-btn-focus { + outline: #0000FF dotted thin; +} +.l-btn-large .l-btn-text { + line-height: 44px; +} +.l-btn-large .l-btn-icon { + width: 32px; + height: 32px; + line-height: 32px; + margin-top: -16px; +} +.l-btn-large .l-btn-icon-left .l-btn-text { + margin-left: 40px; +} +.l-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.l-btn-large .l-btn-icon-top .l-btn-text { + margin-top: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-top .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-left .l-btn-empty { + margin: 0 6px; + width: 32px; +} +.l-btn { + color: #444; + background: #fafafa; + background-repeat: repeat-x; + border: 1px solid #bbb; + background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0); + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn:hover { + background: #e2e2e2; + color: #000000; + border: 1px solid #ccc; + filter: none; +} +.l-btn-plain { + background: transparent; + border-width: 0; + filter: none; +} +.l-btn-outline { + border-width: 1px; + border-color: #ccc; + padding: 0; +} +.l-btn-plain:hover { + background: #e2e2e2; + color: #000000; + border: 1px solid #ccc; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn-disabled, +.l-btn-disabled:hover { + opacity: 0.5; + cursor: default; + background: #fafafa; + color: #444; + background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0); +} +.l-btn-disabled .l-btn-text, +.l-btn-disabled .l-btn-icon { + filter: alpha(opacity=50); +} +.l-btn-plain-disabled, +.l-btn-plain-disabled:hover { + background: transparent; + filter: alpha(opacity=50); +} +.l-btn-selected, +.l-btn-selected:hover { + background: #ddd; + filter: none; +} +.l-btn-plain-selected, +.l-btn-plain-selected:hover { + background: #ddd; +} +.textbox { + position: relative; + border: 1px solid #D3D3D3; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-text { + font-size: 14px; + border: 0; + margin: 0; + padding: 0 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + height: 28px; + line-height: 28px; +} +.textbox textarea.textbox-text { + line-height: normal; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 14px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 30px; + line-height: 30px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #bababa; + -moz-box-shadow: 0 0 3px 0 #D3D3D3; + -webkit-box-shadow: 0 0 3px 0 #D3D3D3; + box-shadow: 0 0 3px 0 #D3D3D3; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #ffffff; +} +.combo-arrow { + background-color: #f3f3f3; +} +.combo-arrow-hover { + background-color: #e2e2e2; +} +.combo-arrow:hover { + background-color: #e2e2e2; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 14px; + padding: 6px 4px; + line-height: 20px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #e2e2e2; + color: #000000; +} +.combobox-item-selected { + background-color: #0092DC; + color: #fff; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #e2e2e2; + color: #000000; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} +.layout { + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + z-index: 0; +} +.layout-panel { + position: absolute; + overflow: hidden; +} +.layout-body { + min-width: 1px; + min-height: 1px; +} +.layout-panel-east, +.layout-panel-west { + z-index: 2; +} +.layout-panel-north, +.layout-panel-south { + z-index: 3; +} +.layout-expand { + position: absolute; + padding: 0px; + font-size: 1px; + cursor: pointer; + z-index: 1; +} +.layout-expand .panel-header, +.layout-expand .panel-body { + background: transparent; + filter: none; + overflow: hidden; +} +.layout-expand .panel-header { + border-bottom-width: 0px; +} +.layout-expand .panel-body { + position: relative; +} +.layout-expand .panel-body .panel-icon { + margin-top: 0; + top: 0; + left: 50%; + margin-left: -8px; +} +.layout-expand-west .panel-header .panel-icon, +.layout-expand-east .panel-header .panel-icon { + display: none; +} +.layout-expand-title { + position: absolute; + top: 0; + left: 21px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.layout-expand-title-up { + position: absolute; + top: 0; + left: 0; + text-align: right; + padding-left: 5px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 0; +} +.layout-expand-with-icon { + top: 18px; +} +.layout-expand .panel-body-noheader .layout-expand-title, +.layout-expand .panel-body-noheader .panel-icon { + top: 5px; +} +.layout-expand .panel-body-noheader .layout-expand-with-icon { + top: 23px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + position: absolute; + font-size: 1px; + display: none; + z-index: 5; +} +.layout-split-proxy-h { + width: 5px; + cursor: e-resize; +} +.layout-split-proxy-v { + height: 5px; + cursor: n-resize; +} +.layout-mask { + position: absolute; + background: #fafafa; + filter: alpha(opacity=10); + opacity: 0.10; + z-index: 4; +} +.layout-button-up { + background: url('images/layout_arrows.png') no-repeat -16px -16px; +} +.layout-button-down { + background: url('images/layout_arrows.png') no-repeat -16px 0; +} +.layout-button-left { + background: url('images/layout_arrows.png') no-repeat 0 0; +} +.layout-button-right { + background: url('images/layout_arrows.png') no-repeat 0 -16px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + background-color: #bfbfbf; +} +.layout-split-north { + border-bottom: 5px solid #efefef; +} +.layout-split-south { + border-top: 5px solid #efefef; +} +.layout-split-east { + border-left: 5px solid #efefef; +} +.layout-split-west { + border-right: 5px solid #efefef; +} +.layout-expand { + background-color: #f3f3f3; +} +.layout-expand-over { + background-color: #f3f3f3; +} +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 0 0; + -webkit-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 14px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 5px 5px; + -webkit-border-radius: 0 0 5px 5px; + border-radius: 0 0 5px 5px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #f3f3f3 url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #f3f3f3 url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #e2e2e2; + color: #000000; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #ffffff; + color: #575765; + background: -webkit-linear-gradient(top,#F8F8F8 0,#ffffff 100%); + background: -moz-linear-gradient(top,#F8F8F8 0,#ffffff 100%); + background: -o-linear-gradient(top,#F8F8F8 0,#ffffff 100%); + background: linear-gradient(to bottom,#F8F8F8 0,#ffffff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#ffffff,GradientType=0); +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(top,#ffffff 0,#F8F8F8 100%); + background: -moz-linear-gradient(top,#ffffff 0,#F8F8F8 100%); + background: -o-linear-gradient(top,#ffffff 0,#F8F8F8 100%); + background: linear-gradient(to bottom,#ffffff 0,#F8F8F8 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F8F8F8,GradientType=0); +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#F8F8F8 0,#ffffff 100%); + background: -moz-linear-gradient(left,#F8F8F8 0,#ffffff 100%); + background: -o-linear-gradient(left,#F8F8F8 0,#ffffff 100%); + background: linear-gradient(to right,#F8F8F8 0,#ffffff 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#ffffff,GradientType=1); +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#ffffff 0,#F8F8F8 100%); + background: -moz-linear-gradient(left,#ffffff 0,#F8F8F8 100%); + background: -o-linear-gradient(left,#ffffff 0,#F8F8F8 100%); + background: linear-gradient(to right,#ffffff 0,#F8F8F8 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F8F8F8,GradientType=1); +} +.tabs li a.tabs-inner { + color: #575765; + background-color: #f3f3f3; + background: -webkit-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); + background: -moz-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); + background: -o-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); + background: linear-gradient(to bottom,#F8F8F8 0,#eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#eeeeee,GradientType=0); +} +.tabs-header, +.tabs-tool { + background-color: #f3f3f3; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #D3D3D3; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #e2e2e2; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #ffffff; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #ffffff; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #ffffff; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #ffffff; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #0092DC; + color: #fff; + filter: none; + border-color: #D3D3D3; +} +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 32px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 14px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 14px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #D3D3D3; + font-size: 14px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #fafafa; + background: -webkit-linear-gradient(top,#fdfdfd 0,#f5f5f5 100%); + background: -moz-linear-gradient(top,#fdfdfd 0,#f5f5f5 100%); + background: -o-linear-gradient(top,#fdfdfd 0,#f5f5f5 100%); + background: linear-gradient(to bottom,#fdfdfd 0,#f5f5f5 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#fdfdfd,endColorstr=#f5f5f5,GradientType=0); +} +.datagrid-cell-rownumber { + color: #000000; +} +.datagrid-resize-proxy { + background: #bfbfbf; +} +.datagrid-mask { + background: #ccc; +} +.datagrid-mask-msg { + border-color: #D3D3D3; +} +.datagrid-toolbar, +.datagrid-pager { + background: #fafafa; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #ddd; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #ccc; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #000000; + border-collapse: separate; +} +.datagrid-row-alt { + background: #fafafa; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #e2e2e2; + color: #000000; + cursor: default; +} +.datagrid-row-selected { + background: #0092DC; + color: #fff; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-header .datagrid-filter-row td.datagrid-header-over { + background: inherit; +} +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #ddd; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #f3f3f3; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #ddd; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #f3f3f3; +} +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #fafafa; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ccc; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #000000; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ccc; +} +.m-list li>a:hover { + background: #e2e2e2; + color: #000000; +} +.m-list .m-list-group { + padding: 0 4px; +} +.pagination { + zoom: 1; + padding: 2px; +} +.pagination table { + float: left; + height: 30px; +} +.pagination td { + border: 0; +} +.pagination-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 3px 1px; +} +.pagination .pagination-num { + border-width: 1px; + border-style: solid; + margin: 0 2px; + padding: 2px; + width: 3em; + height: auto; + text-align: center; + font-size: 14px; +} +.pagination-page-list { + margin: 0px 6px; + padding: 1px 2px; + width: auto; + height: auto; + border-width: 1px; + border-style: solid; +} +.pagination-info { + float: right; + margin: 0 6px; + padding: 0; + height: 30px; + line-height: 30px; + font-size: 14px; +} +.pagination span { + font-size: 14px; +} +.pagination-link .l-btn-text { + box-sizing: border-box; + text-align: center; + margin: 0; + padding: 0 .5em; + width: auto; + min-width: 28px; +} +.pagination-first { + background: url('images/pagination_icons.png') no-repeat 0 center; +} +.pagination-prev { + background: url('images/pagination_icons.png') no-repeat -16px center; +} +.pagination-next { + background: url('images/pagination_icons.png') no-repeat -32px center; +} +.pagination-last { + background: url('images/pagination_icons.png') no-repeat -48px center; +} +.pagination-load { + background: url('images/pagination_icons.png') no-repeat -64px center; +} +.pagination-loading { + background: url('images/loading.gif') no-repeat center center; +} +.pagination-page-list, +.pagination .pagination-num { + border-color: #D3D3D3; +} +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 14px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 14px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 28px; +} +.calendar-title { + text-align: center; + height: 28px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 0px; + padding: 0 3px; + height: 28px; + line-height: 28px; + font-size: 14px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -8px; + width: 16px; + height: 16px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -16px 0; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -32px 0; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat 0px 0; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -48px 0; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 14px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 80px; + line-height: 26px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 0; + font-weight: bold; + font-size: 14px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 25px; + height: 28px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 5px center; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -44px center; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-body th, +.calendar-menu-month { + color: #4d4d4d; +} +.calendar-day { + color: #000000; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #D3D3D3; +} +.calendar { + border-color: #D3D3D3; +} +.calendar-header { + background: #f3f3f3; +} +.calendar-body, +.calendar-menu { + background: #ffffff; +} +.calendar-body th { + background: #fafafa; + padding: 4px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #e2e2e2; + color: #000000; +} +.calendar-hover { + border: 1px solid #ccc; + padding: 0; +} +.calendar-selected { + background-color: #0092DC; + color: #fff; + border: 1px solid #0070a9; + padding: 0; +} +.datebox-calendar-inner { + height: 250px; +} +.datebox-button { + padding: 4px 0; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 14px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #fafafa; +} +.datebox-button a { + color: #444; +} +.spinner-arrow { + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow.spinner-button-top, +.spinner-arrow.spinner-button-bottom, +.spinner-arrow.spinner-button-left, +.spinner-arrow.spinner-button-right { + background-color: #f3f3f3; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #444; + outline-style: none; + background-color: #f3f3f3; +} +.spinner-button-updown { + opacity: 1.0; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + position: relative; + display: block; + width: 100%; + height: 50%; +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down { + opacity: 1.0; + filter: alpha(opacity=100); + cursor: pointer; + width: 16px; + height: 16px; + top: 50%; + left: 50%; + margin-top: -8px; + margin-left: -8px; + position: absolute; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-button-updown .spinner-button-top:hover, +.spinner-button-updown .spinner-button-bottom:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down, +.spinner-button-updown .spinner-arrow-up:hover, +.spinner-button-updown .spinner-arrow-down:hover { + background-color: transparent; +} +.spinner-arrow-hover { + background-color: #e2e2e2; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-top:hover, +.spinner-button-bottom:hover, +.spinner-button-left:hover, +.spinner-button-right:hover, +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #e2e2e2; +} +.textbox-disabled .spinner-button-top:hover, +.textbox-disabled .spinner-button-bottom:hover, +.textbox-disabled .spinner-button-left:hover, +.textbox-disabled .spinner-button-right:hover, +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #f3f3f3; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; + background-color: #f3f3f3; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; + background-color: #f3f3f3; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.progressbar { + border-color: #D3D3D3; +} +.progressbar-text { + color: #000000; + font-size: 14px; +} +.progressbar-value, +.progressbar-value .progressbar-text { + background-color: #0092DC; + color: #fff; +} +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #f3f3f3; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 5px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 14px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 14px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #D3D3D3; + background: #f3f3f3; +} +.slider-rule span { + border-color: #D3D3D3; +} +.slider-rulelabel span { + color: #000000; +} +.menu { + position: absolute; + margin: 0; + padding: 2px; + border-width: 1px; + border-style: solid; + overflow: hidden; +} +.menu-inline { + position: relative; +} +.menu-item { + position: relative; + margin: 0; + padding: 0; + overflow: hidden; + white-space: nowrap; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.menu-text { + height: 20px; + line-height: 20px; + float: left; + padding-left: 28px; +} +.menu-icon { + position: absolute; + width: 16px; + height: 16px; + left: 2px; + top: 50%; + margin-top: -8px; +} +.menu-rightarrow { + position: absolute; + width: 16px; + height: 16px; + right: 0; + top: 50%; + margin-top: -8px; +} +.menu-line { + position: absolute; + left: 26px; + top: 0; + height: 2000px; + font-size: 1px; +} +.menu-sep { + margin: 3px 0px 3px 25px; + font-size: 1px; +} +.menu-noline .menu-line { + display: none; +} +.menu-noline .menu-sep { + margin-left: 0; + margin-right: 0; +} +.menu-active { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.menu-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); + cursor: default; +} +.menu-text, +.menu-text span { + font-size: 14px; +} +.menu-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #ccc; + -moz-box-shadow: 2px 2px 3px #cccccc; + -webkit-box-shadow: 2px 2px 3px #cccccc; + box-shadow: 2px 2px 3px #cccccc; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.menu-rightarrow { + background: url('images/menu_arrows.png') no-repeat -32px center; +} +.menu-line { + border-left: 1px solid #ccc; + border-right: 1px solid #fff; +} +.menu-sep { + border-top: 1px solid #ccc; + border-bottom: 1px solid #fff; +} +.menu { + background-color: #f3f3f3; + border-color: #D3D3D3; + color: #444; +} +.menu-content { + background: #ffffff; +} +.menu-item { + border-color: transparent; + _border-color: #f3f3f3; +} +.menu-active { + border-color: #ccc; + color: #000000; + background: #e2e2e2; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #444; +} +.m-btn-downarrow, +.s-btn-downarrow { + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + font-size: 1px; + right: 0; + top: 50%; + margin-top: -8px; +} +.m-btn-active, +.s-btn-active { + background: #e2e2e2; + color: #000000; + border: 1px solid #ccc; + filter: none; +} +.m-btn-plain-active, +.s-btn-plain-active { + background: transparent; + padding: 0; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.m-btn .l-btn-left .l-btn-text { + margin-right: 20px; +} +.m-btn .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.m-btn .l-btn-icon-right .l-btn-icon { + right: 20px; +} +.m-btn .l-btn-icon-top .l-btn-text { + margin-right: 4px; + margin-bottom: 14px; +} +.m-btn .l-btn-icon-bottom .l-btn-text { + margin-right: 4px; + margin-bottom: 34px; +} +.m-btn .l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 20px; +} +.m-btn .l-btn-icon-top .m-btn-downarrow, +.m-btn .l-btn-icon-bottom .m-btn-downarrow { + top: auto; + bottom: 0px; + left: 50%; + margin-left: -8px; +} +.m-btn-line { + display: inline-block; + position: absolute; + font-size: 1px; + display: none; +} +.m-btn .l-btn-left .m-btn-line { + right: 0; + width: 16px; + height: 500px; + border-style: solid; + border-color: #bfbfbf; + border-width: 0 0 0 1px; +} +.m-btn .l-btn-icon-top .m-btn-line, +.m-btn .l-btn-icon-bottom .m-btn-line { + left: 0; + bottom: 0; + width: 500px; + height: 16px; + border-width: 1px 0 0 0; +} +.m-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 56px; +} +.m-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 50px; +} +.m-btn-downarrow, +.s-btn-downarrow { + background: url('images/menu_arrows.png') no-repeat 0 center; +} +.m-btn-plain-active, +.s-btn-plain-active { + border-color: #ccc; + background-color: #e2e2e2; + color: #000000; +} +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #bfbfbf; + border-width: 0 0 0 1px; +} +.messager-body { + padding: 10px 10px 30px 10px; + overflow: auto; +} +.messager-button { + text-align: center; + padding: 5px; +} +.messager-button .l-btn { + width: 70px; +} +.messager-icon { + float: left; + width: 32px; + height: 32px; + margin: 0 10px 10px 0; +} +.messager-error { + background: url('images/messager_icons.png') no-repeat scroll -64px 0; +} +.messager-info { + background: url('images/messager_icons.png') no-repeat scroll 0 0; +} +.messager-question { + background: url('images/messager_icons.png') no-repeat scroll -32px 0; +} +.messager-warning { + background: url('images/messager_icons.png') no-repeat scroll -96px 0; +} +.messager-progress { + padding: 10px; +} +.messager-p-msg { + margin-bottom: 5px; +} +.messager-body .messager-input { + width: 100%; + padding: 4px 0; + outline-style: none; + border: 1px solid #D3D3D3; +} +.window-thinborder .messager-button { + padding-bottom: 8px; +} +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 26px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + margin: 4px 0; + vertical-align: middle; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 14px; + display: inline-block; + text-decoration: none; + vertical-align: middle; + white-space: nowrap; + padding: 0 2px; + margin: 4px 0; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 14px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #D3D3D3; + font-size: 14px; + height: 26px; + line-height: 26px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: middle; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #ffffff; + color: #000000; + border-color: #D3D3D3; +} +.tree-node-hover { + background: #e2e2e2; + color: #000000; +} +.tree-node-selected { + background: #0092DC; + color: #fff; +} +.tree-node-hidden { + display: none; +} +.inputbox { + display: inline-block; + vertical-align: middle; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; +} +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; + color: #000; +} +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tooltip-content { + font-size: 14px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #ffffff; + border-color: #D3D3D3; + color: #000000; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #D3D3D3; +} +.tooltip-right .tooltip-arrow { + border-right-color: #ffffff; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #D3D3D3; +} +.tooltip-left .tooltip-arrow { + border-left-color: #ffffff; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #D3D3D3; +} +.tooltip-top .tooltip-arrow { + border-top-color: #ffffff; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #D3D3D3; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #ffffff; +} +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #bbb; + border: 1px solid #bbb; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 14px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-on { + background: #0092DC; + color: #fff; +} +.switchbutton-off { + background-color: #ffffff; + color: #000000; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #ffffff; + color: #000000; + border: 1px solid #bbb; + -moz-box-shadow: 0 0 3px 0 #bbb; + -webkit-box-shadow: 0 0 3px 0 #bbb; + box-shadow: 0 0 3px 0 #bbb; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} +.radiobutton { + position: relative; + border: 2px solid #0070a9; + border-radius: 50%; +} +.radiobutton-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + background: #0070a9; + border-radius: 50%; + transform: scale(.6); +} +.radiobutton-disabled { + opacity: 0.6; +} +.radiobutton-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} +.checkbox { + position: relative; + border: 2px solid #0070a9; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.checkbox-checked { + border: 0; + background: #0070a9; +} +.checkbox-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; +} +.checkbox path { + stroke-width: 2px; +} +.checkbox-disabled { + opacity: 0.6; +} +.checkbox-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} +.sidemenu .tree-hit { + background-image: none; +} +.sidemenu-default-icon { + background-image: none; + width: 0; +} +.sidemenu .accordion .accordion-header, +.sidemenu .accordion .accordion-body { + border-bottom-color: transparent; + background: transparent; +} +.sidemenu .accordion .accordion-header { + color: #575765; +} +.sidemenu .accordion-header .panel-title { + height: 30px; + line-height: 30px; + color: #575765; +} +.sidemenu .accordion-header:hover { + background: #e2e2e2; + color: #575765; +} +.sidemenu .tree-node-hover { + background: #e2e2e2; + color: #575765; +} +.sidemenu .tree-node-selected { + border-right: 2px solid #0070a9; + color: #fff; + background: #0092DC; +} +.sidemenu .tree-node { + height: 40px; +} +.sidemenu .tree-title { + margin: 11px 0; +} +.sidemenu .tree-node-nonleaf { + position: relative; +} +.sidemenu .tree-node-nonleaf::after { + display: inline-block; + content: ''; + position: absolute; + top: 50%; + margin-top: -8px; + background: url('images/accordion_arrows.png') no-repeat 0 0; + width: 16px; + height: 16px; + right: 5px; +} +.sidemenu .tree-node-nonleaf-collapsed::after { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.sidemenu-collapsed .panel-icon { + left: 50%; + margin-left: -8px; +} +.sidemenu-tooltip { + padding: 0; + margin: 0 -12px; + border: 0; +} +.sidemenu-tooltip.tooltip-left { + margin: 0 12px; +} +.sidemenu-tooltip .tooltip-arrow-outer, +.sidemenu-tooltip .tooltip-arrow { + display: none; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/filebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/filebox.css new file mode 100644 index 0000000..c6bac66 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/filebox.css @@ -0,0 +1,20 @@ +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/accordion_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/accordion_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..a0b8769cc5091d81760c7ed555ac3c3453febbfd GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel#8c}V@SoVHq8x z8Mn?6aTf^k-V*tOYvn_ZO}fk5lvg|}E|PI9vs&aPwII@?XO4*juRBlIrj#un@>dub Yl7)&6CQe}74m6L!)78&qol`;+0Id=veEh?7!oT zn93bYIb9!43Wj)WNz0M)xYl!8U>3_OjRiss3@1j_Zvlb#iD~jUnsR3em#t_3WtUHqj%c^0} zFSrhZpjU$)YHUS-lsMx)nN8pghWK6h!524#*oXjC@NjHF9H1y2K%G?c=lr%4eY%ue zT+7R9Pld<2<$C}OAU0HZIJPqD0RA&Sip042zF(tA4uaUhZ>jL`*HN0POocjDIidNRbTZ#@zvW7@I c5>Ct23v;ttA1D3-v;Y7A07*qoM6N<$f&+eyE&u=k literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/datebox_arrow.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/datebox_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..783c83357fdf90a1c7c024358e1d768b5c09c135 GIT binary patch literal 626 zcmV-&0*(ENP)5OC%H;f`~O(q$Q#t2<^v$A>fbmv%e#dKTwK=Ku{5lS|}<-`a#7b zzTCOnnT>at)D}AMFuOZ5&%EqFN(lyumd$2ASF6=;nM~%2?gqc@U=#|4PqkX@EBo-9 z7pD#bO_RUa>*faM`8;MYfVi$JnB-zcBFc6gjl$d!bF98Q!!!(Z1_R~P?e!pt#6CHJ9S&n_n&@=9 z%GP;!@Co4c*at+6vNz7o(6en^Q1%qHrc;1)9IRaz-$@S$Z-qdC^ds3X0NvQH;KS)D z-dh&rW&@X;1cS(45z)J&BVt+tv&GMVJ%!EiW) zLBGZW)#Z+gl-Lih&?>X3SS-S#ujQ;9JRXmIB7X)8`d6ETj)D#Q2+$s|<_b7-B9Xvq zwNfqlEp%y3$uY`h{Y$(Gn5@}sqEsq95lpAkFO5dyBmP6^H-51G4J|rN2Ujt<`2YX_ M07*qoM6N<$fWs*_M~|PZK4f_B}P-f8$r|z#h zE+)9D_?OzcE{A)9cRCb`94D|RR5VOsbIEjx-=1{JpsQ;^Px3ZX?(@vc^nEOU2KU{_ gJ$cDa*@;a`BkgHpqSBTGpgR~mUHx3vIVCg!07Oqo9{>OV literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/linkbutton_bg.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/linkbutton_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..fc66bd2cd24047b8377342365a1df3846327ecde GIT binary patch literal 1274 zcmVc6j2;SWMDuL>F^vlqEUI{oOgO!xNf*11TukM z6kTZ3V2qd3<~<$H&Lrt?SpXUxF5Zb^}(={r!EHE+$QMdH|XZ zSYbMyc0tQc3qbP$tG{U_Jyg>I(0srOscEGU?-T)4AzuS$_2J>6`+BJ50YDY<^>2vV z+uI880P2ui(hyHiPrK$)CkbHg=kD&V3^8pD z0v3QOB&8eT@87?rgaGPrb#+ySxU;jP=nkL`nZ_{0e*BD+1Tc5b&d$oLo}8R$90gF1 z^ij>~#>R%HIRNUB_kgpQ+Lg!80Gbb2saY8>1EBeUm7A3TegK*dSciv)Wqp0!h-3im z1+1f^qq4iZ+ZEMUS63~e0I+zh`2rwd0l@!F(!7sM%_`|&0+*B!z{1(u+A9BIU&~T- z2he=L>dmc7TLXZFkeTeCHMcE|qX51{z>0ZC=xGjss*FaXGOMX+dHf8Z8hL6ntGQ_z zF9V<&dwY9jh`D7czyqj4g3S=~)zFA!0980RI4DC*Ez1%L09D8%=OHF&S@Q*;3bRfe zeL2-ZzyeT(Av4`$>R3`j096>WH7BOELD3yR70%Dk%Mk4)1W=73OH{L_UgIc$YFu7k zmRaq`&NxK?Rk*skDzlhL4IV!OsLJ*Ab@{BRT^TO}pgQC6xO~R6G8o_oU?C)>`xlc2 zriH~zU-;g$PyPA_&X!OBSU6SIeB~eKNAhF&(fs&F|1n9<+Yj^2T+4Dj%UFjr zZ%rnX^7Qmn0ANwP308gILtaQfK0Z1j0Br`Wq<=~Ka+?BxW&>7kRtZ+q>C~wJXg6S` zW|cJ1%?d#C0V@Ue)T{uY>425ig?tTsczEc(0+M8_c7^t|!sm-1Nw(}#nnLr?FgGlc zY}ut0+w(d)Uk6FDWtY;*aCdjteIX>tmhA#o+8PqHNU~+SlrTfyKRaNHBx~Ch-FJ3& z%B(Y&NwStp{rH$6Yj{YqhR=Gk~Mtw_&K$#yeTBf z7JV~bCN(VwL$c|B^>Topn-X{+7;S!yV~2^ zBgv-iMkME}U;-COwrsbABDvwg!2wA&ZMWttf5^jTl5E*7V41=|@=Hu>NJ^O8(7b4p z&ChgC(LF5>Md#{+4LgS{%KA|H(Xv`l4P^KdiBKB*_;1&m|Q7!{|O$ k%vVK{T!hwqk^D0L0mO==@4IV9lK=n!07*qoM6N<$f|Ge;n*aa+ literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/loading.gif b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..68f01d04813c1f622810864a3aaa04b4a17ac8f9 GIT binary patch literal 1737 zcmaKsX;2e)7>CzDa{xjjy99|1A!tC(kfocDi)<1$AxHpOQ4k^l!Vx1W6x7<&|FYXU zqO4jEiU-!VR1p+Xj1?4-iuI_J;!&?!+ghg|JJad3U)pMGzcKxNeCM6tJnuX+uPvX@ zZY|=AHdxt2Xr2y*)5|c6#FSEuyJ+Y3Z&l z2hJWo`9;lJ$6wzSoW60tqkB|d$oiO*d-^85^ojn{*NR{MP*%{@H*#gihZ8BKyB68E z-MIbjgNNV0y5khpJ^Jv`51aR%={<4jhaVq5e*9D5+*hL)XCHn4{^d%hPu@?KpKbc=eN!D=XUjDmH#n{YHNS zHCX6BV)yn2CuTNujhN~V+`RKpyXO6^ht92eqhIIlQLfz6eeCnH_C7`NPNrw9ks366 z4xX9(`s~z=+1uX^ocZ$2_fBs=JihPfWYufOIuD&AU-@`>>qn~cy$1)T7CU!5z2(U8 z)9Kt9)l`f6?NU41j6XbXfR{OHwm|T4}&24tIf+!C-g~6cQfY2^n$?AT&ZW zgqm`}3-jS2NS6n=k;sr5Hv(Q%%n)qW0X|neWVBd;Ko}d(=u%?{O0-a>kSI}shOd9n z5top}%gUCf=>?tg;*;#7!^HOL3k$fMxd=O-6Y4@%u8LS)C1D_a?27R6^vcC+6tttL z)GmTahbyJB!xmcHL#ya8ZXyfRl)a!N0BJE0y3BBfAV5;#=K&Z2VkaKZ)?9`1h5P_% znt*b}%j1|#j`b|aQDx@~wA#$PYRN2xE6UO;;vE(@$&xww-s8fZ5HmJ(eJ*rQrDbaawDbrfe_8F(wq{ge?)qQG`aXV;r(*6EM|ESje;52aFmrX!f=Pw^2oGQX$1|o4yts|b_5@w_kNwtl{wDP#JGMvIp#!SYX?Wq9S&`&_ZwkgGH5CLB7DEGJ6=R4J~p3Z4i^A}hs=-uZeD zs92l6u@**R$~L()G{5N8*7cE5-q$SCo`q4|NSVF*+A7&xZnypm$EdXgf)E%(VJHFD zSgi(H!D!(;9Zcc#GrCCJh=RlvXBQ-hv4Vodse`a32ZUFWgP5ZhM5LeV(#D^H8p@Lg ztra5R32z@1rQv{6u&RZL5%Z@Ye{q|t#6aM_1hIrpl@)oH6}os*cbAQywa{5<`ekzW O1il%9bk82&KlvLjD^%40 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/menu_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/menu_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..b986842e7e4044caed18edbcb4b376a4bb915623 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQt6&9jv*Dd-cB{-J7B=U{PTZ! zWrKV9%Z3|Wt5t$(gq+#d+-OocB$0fsr9DfRx52vPhSu$$+yXuy+69hDZ54DDTxx#r zL7>-12UT01v)>tZ+;HI4pDNf?@KK~EC$@35ykmXyu^HJF3})N>8P9Uwo&~g$!PC{x JWt~$(697!FIeGv9 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/messager_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/messager_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..86b0b0e6c73d6bdedc843763484982e5c9e71b0e GIT binary patch literal 2224 zcmV;h2v7HkP)0TZF_syd)JvG$EOP;OXl2_@ozH4?s>%2|oTwk-b#M@+T@HSg~T`g7w0_SiobkCd%&#I<4b9v=7 z%W~Tf*1XET2;d0?KMU``yUFTr&z~>@16E;`C+ZErOO-imklASv*2BJcwaj^9+J z(ce$~`|aaXJWZDEzGh316nGgC@Vl@EtVN~VysRP{oAee|;N?WHwZNLB`rV%xrgs$R zTUmjZ5dp6SYm(}(nka^`ew(py=9j}=%8)+ADHdHeV* zymQ;s0$*Yc+F&O8~ocB)}g+f;g4{c0LBbQ*H2vkRXmF2=9C% z@H;PAQPuaE$bK*rn|g8*3~LF%Pt%zFB3mmO7z`pfjyi6kNh_;}-GNd}0DhX(?0dI8 ziF!|dj{00BD9~^a`Kx!J?($sJSvZl%9Vo>FcFp({myT~8De$H4Kq)2wKTT@(0q|Fz zH=ry-x*)5T8mZiYVoU(R8Y%eCuCt@qBk#LQbdPVp9A^) zaDX*E{5WbaKZNS}NeRJiuuMgr$0~();$;U;T}HMv)uV~_ofSg~0P?rPLX{m1NfCuS zpCX_G-~X@2FaFc}2ZDlCpb84H&gkyfmn8zft7L(wZ{T_@@~oc{z5iJzCdUc!zTdu? zzzXQg#NE&FW%0ld+`J{M>pN|aO9BAD+u;(Pg?AE=V6Rx@!8tokK$k251XqA{iWNSp zB2QSJDm;x!&t6A|Yj2`?Mb-3~0oDn+p=w7`dJIPbDfp2C-W`?zI#VxH454aAQ{+*L079_{DuzONSLKwCJQg^<7)rM! zfnWc%n(+1ypw6{Md3>-TJ8B_r){$ieShtHa=EgJW05*Ugj|58KC$bhoETGMJ6-u|X zDV-Vw2nB@ZTn*IkS-_k8ZWVfScbyRYflFW_0oD!mdm;k-buJX>b>2|C-*a@O_|FeC z9wH(D=yvLiC5ilcJQA>iAIb=fJE4Amw+H~bH9`}I61c1tRj9hvE&kx^Z9Qn_>YrIE zg!RzGApy&`Z4UCEFGjvSFUao|&lQ5g$kDZbKA8o;y0I^AAc@=+NpR*YGx#Alz&oIc zbN4KOwLv58>XFKVEw!>Npx{swOLfpE?dq{e*WQ;<(C?)R0Hs|-41$j|eN!RL*^e)>{lVl0k^+C<%P8328_xd*QIG8->NRL{c!30X=O+t( zm;n7OWnHxh05WO`;8{Nz=lpGv>>qWPFJW4TmH@*pr){Pr!;ps#cxTXQHB1lF^H z4`x3$CZHjKi!;@-1cA^9dMsyx2>!gM4Xho)2BtJnH5WjU2FeMrS=0?hASMeym6A#(@!>2C@`_)FJ>)AxIVjeDxset1A<_g3RsV zP$6guEBNuU0}>KAv>6Lo3PI}42$*x3O2MiSfU*>fIkH1+z4R)F1$DGe{N${`j8I{)NVnck2@@0if#5 zASnq5nn8P5n?YdmAIXl!0B}z02E=9%OFKAO0ECD~*JO$G}@g9(+^dIgRGNWJbc=^;Y!a9K8rWoWr%GM#5-^ zLYHDU&~nR*uC?``!o$t~i=j~ABM^>vkK|CO)buAa6bd6?wtbm`kdA}J9SR*A3y+S4 zLxpZ6z`yW-@u7QqEPU+4kZ?Sp%gBc5T{X?VBW*&~sQ55s?9;H&0i)Y6y$cb062V?S z1bj+9|DOIdZ0zGuiAzYym_$JYFBpo`sqZyU339@ZwM6gi$;Pr>w&6M&T1N3Q$b?ahk3>@EL9`+1-BwzvH4 z=V<*uH!1ee(Sv*K$aVm^9zxbfZU9nZC#eDGVQ*&XXK(qpy{>x2j~_q0QX@ky?B2S$ z`TO_pb_Ho^lHPWf$3SXG3P5TF!a(UIB>)3m?2n~HhFtml`Lhm)4-7>2Cr_RTgV@`) zZDWrM_B#twLv#R=>k(}FC=EbL>?Sq<16=LCHdYi*!X*!q1F0DeKpY^*)!|!SNr;4yl-<@d?s6;P338s2Hlg>#j0uWN8C(aFPJB{e^6h1c5$jHyQsD5--fSz=3o~iS wnLdu+*z}wOVj6h@O#h^}NFFlaV$)<`u-+3C6wY^M3(y`0Pgg&ebxsLQ04X#uG5`Po literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/passwordbox_open.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/passwordbox_open.png new file mode 100644 index 0000000000000000000000000000000000000000..0f25d535e05b22b406fd72647611aace9cfa6249 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>7Fi*Ar-fh6C~yxIB_Cl)5eV- z>r;4yl-<@d?s6;P338s2rmQ?!Qz1HW#so#C46Xx7Cq5}K`Svo!h;^q;DRB5^Z?=`` zg<12Qetm(ByO<;&a5^L{7TnL>!KiVsAxlibJl4>NC!c|#Jtt+3rSZgWpp^`su6{1- HoD!M<3i~r2 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/searchbox_button.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/searchbox_button.png new file mode 100644 index 0000000000000000000000000000000000000000..6dd1931589b453f6cc9772fd1851d8705d6b6631 GIT binary patch literal 813 zcmV+|1JeA7P)lXvaa)1B=8vtU6i;3jw7+Lm8D5$Z@i10EnF)=bcefw4K z$^E-CUfjQG`svfBbfD6|R#sLFj6lo3FG$G6@;ee>>~6i|H^5OY8c00W#fi<*1vzh{0&qu3dB`V0{{XDY`}(1n>S9M(9!zw#!&`A z#;*+0{6GVMSeWGp!`o{o8NPge#o%jgs54WT$qnQYpsyGNpauX05F;oJfZ`Pdw6!$j zynTH0RMa&!n3$Pa9zVGEY{&L(3qnPBl_DG6<9Xk0`Fl3`LiD4@pH{vDsxJWQ1qdJp zEJ>M}osCtQlY?CgW>F{;gVK#SmgoOZnEn5J%EtIXaWQXAO>Rdf)WFR;gt~f zXaA3z{{L{q=l48y!32yJ3i0hJ2BS=^}@sXzH{F9Iq&OW375;I7CG-}Vr|aF#l<(fySwu2>`YdxRW*W0f#2un=W5Jmvoe`XCK%I_Y++#`fwE+= zSd{sEULGDE%A=#BOW<6gP*6VfMa^fr8qe`5w%)P0a^Y9WGTw! zvI^|$>l@1Da^Ke1*T3RdY7KqM%gaBb(P+oP!GW;b?ZRfW3Bxc1H@GCaHK#XhZ*Lc= zRBC@>V&W#x&B5%(#>OW5`};d6I5Qw218EG_q@1gtr!Nl*v7yn?(MPMRt4SNy%--JK zanm#f^bw^}Nr7b(EUg}TUi(2;)deX10lAo=83+VA(QksJI6(zwptET-y~avN=J9w$ zI2`W5lG|aOkjY7(&!@;Jx*nUA>~J`Q)9L&(G8y=g$3a4YgD7z)5>gXQNKhw=uR0zF z#jHruh)gDv=bj|2ZES4(fEM?I!JyKqo=}sj-fBYTcDt4KXq)eFQH}wW`vh%Mla}#@ z@Mb`C)x@YkK{xd2>8ZLg+E!Lps$Q@6DY-~!0=Gs+Mm~_JnW1EbX2uxClEdN>Y@I78 z=ke_9?7sX@o0*x}M{JB77MIXj_MmNE%+1Xe{*{crh)9={dR(U;y-{jrxUXmG%Gt002ovPDHLkV1hy(sXhPz literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/spinner_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/spinner_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..b1773c24b20b30318e38c4b84690e3d0010c9c43 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQZb$`jv*Ddk`p9Y7bl4DgeBzU z{E=^QXHHmRmEiEUJ<_jB`NK-}t7{l}8A{FvOK}{T)p$BC>8|6-x-MIXOa{IRh5%#E x$&;(vVs#x>vb(K5c#%QkA)^788{=C>2L8QE5AM%P*8@KmF984m literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/tabs_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/tabs_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..dfa10f7d78b3dc6965ef86957a0e4345ec000bc6 GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^20$#p!3HD)*8SNCq{2O2978H@B_~L*E^a70aO1`g zdpoacw*Y(&nwsF2UyID`n8m&$nZ<^krzppre_*0C6=+@buQ_y%c^L~IL^<_ t&+}8oM91jk1`W4%S64GGH^xE+hOnLmClB8dn+LRl!PC{xWt~$(69Df$H1z-g literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/tagbox_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/tagbox_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..8ec64360884b3fdb81255ad6074bc08ed183232c GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel#i#2V@SoVtb9vwNkrdSr%AfUpK=5(o}_e|{SG6u6f5&Q g4t5*qz9vC-hN^}472i&@1{u%b>FVdQ&MBb@08Zm4@c;k- literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/tree_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/tree_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..e9be4f3a9965e49a4e4078f8c53f486d761a7468 GIT binary patch literal 3115 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 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/validatebox_warning.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/images/validatebox_warning.png new file mode 100644 index 0000000000000000000000000000000000000000..2b3d4f05babf3f82b146350e96570fac02075de0 GIT binary patch literal 921 zcmV;K17`e*P)nRv1_mBsMY*-M^XCf)eflW5 z|MC^)Hw+AW{sHCCF+cz@{fF8J!+#-kxoSv=7^|!zgOQUngSQ}mDo|J)n+pH}hzZ#= zr~y18$_m-?9v%$;?mu8);}>9vFgFvDXJDwrW&l6{p}625M66yTFhGz^K$w9^O$BHi zFN2Ym7DIple*#cW4BY^L0Al(Jbv6k9U|^6IQBp{hx3XdQ&CJ4Z_|YSVr@XujY(PVT zlok1<85nBO4FCurumK>O|A07*jFlSRUcxLAQVcIR*co#3@)&jj4Pj7KXRri%#h;fa z4ya5O*#Lk5Vq!q}T~=CGH(uV-hJk^fkAYoGjN#AMuMF($>N=giWG}IXse|=+c=i>7HEg>%*E%fLD!-uy|85n^6W?^Dt(9zXp5EB&z+w>_knBmdiKMbzi z?A!`WOl>e100a=&05*1xZdFls?*HtZ48H?o7=HW%ivIu45E2~BASWx!@DIpmv9e}h zaPwji|L}pqor@y`=yxrU0RRES^qYY}O;TRcU+DKIhL4`%3_nyf8U6tS<<-ZJ40D$( zWjJ%`G6NIPHNP2{7am*Fp% z{>ShK#0G`~kjd~57_BU.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; + left: 50%; + margin-left: -8px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 25px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 0px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/passwordbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/passwordbox.css new file mode 100644 index 0000000..92c9ce5 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/passwordbox.css @@ -0,0 +1,6 @@ +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/progressbar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/progressbar.css new file mode 100644 index 0000000..ca49e94 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/progressbar.css @@ -0,0 +1,33 @@ +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.progressbar { + border-color: #D3D3D3; +} +.progressbar-text { + color: #000000; + font-size: 14px; +} +.progressbar-value, +.progressbar-value .progressbar-text { + background-color: #0092DC; + color: #fff; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/propertygrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/propertygrid.css new file mode 100644 index 0000000..e9f98ee --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/propertygrid.css @@ -0,0 +1,27 @@ +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #ddd; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #f3f3f3; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #ddd; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #f3f3f3; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/radiobutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/radiobutton.css new file mode 100644 index 0000000..341e570 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/radiobutton.css @@ -0,0 +1,25 @@ +.radiobutton { + position: relative; + border: 2px solid #0070a9; + border-radius: 50%; +} +.radiobutton-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + background: #0070a9; + border-radius: 50%; + transform: scale(.6); +} +.radiobutton-disabled { + opacity: 0.6; +} +.radiobutton-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/searchbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/searchbox.css new file mode 100644 index 0000000..7b15815 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/searchbox.css @@ -0,0 +1,61 @@ +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #f3f3f3; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/sidemenu.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/sidemenu.css new file mode 100644 index 0000000..b2ac5fe --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/sidemenu.css @@ -0,0 +1,72 @@ +.sidemenu .tree-hit { + background-image: none; +} +.sidemenu-default-icon { + background-image: none; + width: 0; +} +.sidemenu .accordion .accordion-header, +.sidemenu .accordion .accordion-body { + border-bottom-color: transparent; + background: transparent; +} +.sidemenu .accordion .accordion-header { + color: #575765; +} +.sidemenu .accordion-header .panel-title { + height: 30px; + line-height: 30px; + color: #575765; +} +.sidemenu .accordion-header:hover { + background: #e2e2e2; + color: #575765; +} +.sidemenu .tree-node-hover { + background: #e2e2e2; + color: #575765; +} +.sidemenu .tree-node-selected { + border-right: 2px solid #0070a9; + color: #fff; + background: #0092DC; +} +.sidemenu .tree-node { + height: 40px; +} +.sidemenu .tree-title { + margin: 11px 0; +} +.sidemenu .tree-node-nonleaf { + position: relative; +} +.sidemenu .tree-node-nonleaf::after { + display: inline-block; + content: ''; + position: absolute; + top: 50%; + margin-top: -8px; + background: url('images/accordion_arrows.png') no-repeat 0 0; + width: 16px; + height: 16px; + right: 5px; +} +.sidemenu .tree-node-nonleaf-collapsed::after { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.sidemenu-collapsed .panel-icon { + left: 50%; + margin-left: -8px; +} +.sidemenu-tooltip { + padding: 0; + margin: 0 -12px; + border: 0; +} +.sidemenu-tooltip.tooltip-left { + margin: 0 12px; +} +.sidemenu-tooltip .tooltip-arrow-outer, +.sidemenu-tooltip .tooltip-arrow { + display: none; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/slider.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/slider.css new file mode 100644 index 0000000..11c8b26 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/slider.css @@ -0,0 +1,101 @@ +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 5px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 14px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 14px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #D3D3D3; + background: #f3f3f3; +} +.slider-rule span { + border-color: #D3D3D3; +} +.slider-rulelabel span { + color: #000000; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/spinner.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/spinner.css new file mode 100644 index 0000000..391f227 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/spinner.css @@ -0,0 +1,114 @@ +.spinner-arrow { + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow.spinner-button-top, +.spinner-arrow.spinner-button-bottom, +.spinner-arrow.spinner-button-left, +.spinner-arrow.spinner-button-right { + background-color: #f3f3f3; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #444; + outline-style: none; + background-color: #f3f3f3; +} +.spinner-button-updown { + opacity: 1.0; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + position: relative; + display: block; + width: 100%; + height: 50%; +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down { + opacity: 1.0; + filter: alpha(opacity=100); + cursor: pointer; + width: 16px; + height: 16px; + top: 50%; + left: 50%; + margin-top: -8px; + margin-left: -8px; + position: absolute; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-button-updown .spinner-button-top:hover, +.spinner-button-updown .spinner-button-bottom:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down, +.spinner-button-updown .spinner-arrow-up:hover, +.spinner-button-updown .spinner-arrow-down:hover { + background-color: transparent; +} +.spinner-arrow-hover { + background-color: #e2e2e2; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-top:hover, +.spinner-button-bottom:hover, +.spinner-button-left:hover, +.spinner-button-right:hover, +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #e2e2e2; +} +.textbox-disabled .spinner-button-top:hover, +.textbox-disabled .spinner-button-bottom:hover, +.textbox-disabled .spinner-button-left:hover, +.textbox-disabled .spinner-button-right:hover, +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #f3f3f3; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; + background-color: #f3f3f3; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; + background-color: #f3f3f3; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/splitbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/splitbutton.css new file mode 100644 index 0000000..bb2b6da --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/splitbutton.css @@ -0,0 +1,12 @@ +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #bfbfbf; + border-width: 0 0 0 1px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/switchbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/switchbutton.css new file mode 100644 index 0000000..a5bf61f --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/switchbutton.css @@ -0,0 +1,77 @@ +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #bbb; + border: 1px solid #bbb; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 14px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-on { + background: #0092DC; + color: #fff; +} +.switchbutton-off { + background-color: #ffffff; + color: #000000; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #ffffff; + color: #000000; + border: 1px solid #bbb; + -moz-box-shadow: 0 0 3px 0 #bbb; + -webkit-box-shadow: 0 0 3px 0 #bbb; + box-shadow: 0 0 3px 0 #bbb; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tabs.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tabs.css new file mode 100644 index 0000000..2767fc0 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tabs.css @@ -0,0 +1,413 @@ +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 0 0; + -webkit-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 14px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 5px 5px; + -webkit-border-radius: 0 0 5px 5px; + border-radius: 0 0 5px 5px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #f3f3f3 url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #f3f3f3 url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #e2e2e2; + color: #000000; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #ffffff; + color: #575765; + background: -webkit-linear-gradient(top,#F8F8F8 0,#ffffff 100%); + background: -moz-linear-gradient(top,#F8F8F8 0,#ffffff 100%); + background: -o-linear-gradient(top,#F8F8F8 0,#ffffff 100%); + background: linear-gradient(to bottom,#F8F8F8 0,#ffffff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#ffffff,GradientType=0); +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(top,#ffffff 0,#F8F8F8 100%); + background: -moz-linear-gradient(top,#ffffff 0,#F8F8F8 100%); + background: -o-linear-gradient(top,#ffffff 0,#F8F8F8 100%); + background: linear-gradient(to bottom,#ffffff 0,#F8F8F8 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F8F8F8,GradientType=0); +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#F8F8F8 0,#ffffff 100%); + background: -moz-linear-gradient(left,#F8F8F8 0,#ffffff 100%); + background: -o-linear-gradient(left,#F8F8F8 0,#ffffff 100%); + background: linear-gradient(to right,#F8F8F8 0,#ffffff 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#ffffff,GradientType=1); +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#ffffff 0,#F8F8F8 100%); + background: -moz-linear-gradient(left,#ffffff 0,#F8F8F8 100%); + background: -o-linear-gradient(left,#ffffff 0,#F8F8F8 100%); + background: linear-gradient(to right,#ffffff 0,#F8F8F8 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F8F8F8,GradientType=1); +} +.tabs li a.tabs-inner { + color: #575765; + background-color: #f3f3f3; + background: -webkit-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); + background: -moz-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); + background: -o-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); + background: linear-gradient(to bottom,#F8F8F8 0,#eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#eeeeee,GradientType=0); +} +.tabs-header, +.tabs-tool { + background-color: #f3f3f3; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #D3D3D3; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #e2e2e2; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #ffffff; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #ffffff; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #ffffff; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #ffffff; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #0092DC; + color: #fff; + filter: none; + border-color: #D3D3D3; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tagbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tagbox.css new file mode 100644 index 0000000..46cbd33 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tagbox.css @@ -0,0 +1,44 @@ +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #e2e2e2; + color: #000000; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/textbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/textbox.css new file mode 100644 index 0000000..2705ebc --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/textbox.css @@ -0,0 +1,144 @@ +.textbox { + position: relative; + border: 1px solid #D3D3D3; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-text { + font-size: 14px; + border: 0; + margin: 0; + padding: 0 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + height: 28px; + line-height: 28px; +} +.textbox textarea.textbox-text { + line-height: normal; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 14px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 30px; + line-height: 30px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #bababa; + -moz-box-shadow: 0 0 3px 0 #D3D3D3; + -webkit-box-shadow: 0 0 3px 0 #D3D3D3; + box-shadow: 0 0 3px 0 #D3D3D3; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tooltip.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tooltip.css new file mode 100644 index 0000000..fee263f --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tooltip.css @@ -0,0 +1,103 @@ +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tooltip-content { + font-size: 14px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #ffffff; + border-color: #D3D3D3; + color: #000000; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #D3D3D3; +} +.tooltip-right .tooltip-arrow { + border-right-color: #ffffff; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #D3D3D3; +} +.tooltip-left .tooltip-arrow { + border-left-color: #ffffff; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #D3D3D3; +} +.tooltip-top .tooltip-arrow { + border-top-color: #ffffff; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #D3D3D3; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #ffffff; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tree.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tree.css new file mode 100644 index 0000000..1cc4f2d --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/tree.css @@ -0,0 +1,164 @@ +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 26px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + margin: 4px 0; + vertical-align: middle; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 14px; + display: inline-block; + text-decoration: none; + vertical-align: middle; + white-space: nowrap; + padding: 0 2px; + margin: 4px 0; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 14px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #D3D3D3; + font-size: 14px; + height: 26px; + line-height: 26px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: middle; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #ffffff; + color: #000000; + border-color: #D3D3D3; +} +.tree-node-hover { + background: #e2e2e2; + color: #000000; +} +.tree-node-selected { + background: #0092DC; + color: #fff; +} +.tree-node-hidden { + display: none; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/validatebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/validatebox.css new file mode 100644 index 0000000..4d566de --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/validatebox.css @@ -0,0 +1,13 @@ +.inputbox { + display: inline-block; + vertical-align: middle; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; +} +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; + color: #000; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/window.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/window.css new file mode 100644 index 0000000..0e522cd --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/gray/window.css @@ -0,0 +1,188 @@ +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.window-shadow { + background: #ccc; + -moz-box-shadow: 2px 2px 3px #cccccc; + -webkit-box-shadow: 2px 2px 3px #cccccc; + box-shadow: 2px 2px 3px #cccccc; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #D3D3D3; +} +.window { + background-color: #f3f3f3; + background: -webkit-linear-gradient(top,#F8F8F8 0,#eeeeee 20%); + background: -moz-linear-gradient(top,#F8F8F8 0,#eeeeee 20%); + background: -o-linear-gradient(top,#F8F8F8 0,#eeeeee 20%); + background: linear-gradient(to bottom,#F8F8F8 0,#eeeeee 20%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#eeeeee,GradientType=0); +} +.window-proxy { + border: 1px dashed #D3D3D3; +} +.window-proxy-mask, +.window-mask { + background: #ccc; +} +.window .panel-footer { + border: 1px solid #D3D3D3; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-footer { + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icon.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icon.css new file mode 100644 index 0000000..c2d3b21 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icon.css @@ -0,0 +1,96 @@ +.icon-blank{ + background:url('icons/blank.gif') no-repeat center center; +} +.icon-add{ + background:url('icons/edit_add.png') no-repeat center center; +} +.icon-edit{ + background:url('icons/pencil.png') no-repeat center center; +} +.icon-clear{ + background:url('icons/clear.png') no-repeat center center; +} +.icon-remove{ + background:url('icons/edit_remove.png') no-repeat center center; +} +.icon-save{ + background:url('icons/filesave.png') no-repeat center center; +} +.icon-cut{ + background:url('icons/cut.png') no-repeat center center; +} +.icon-ok{ + background:url('icons/ok.png') no-repeat center center; +} +.icon-no{ + background:url('icons/no.png') no-repeat center center; +} +.icon-cancel{ + background:url('icons/cancel.png') no-repeat center center; +} +.icon-reload{ + background:url('icons/reload.png') no-repeat center center; +} +.icon-search{ + background:url('icons/search.png') no-repeat center center; +} +.icon-print{ + background:url('icons/print.png') no-repeat center center; +} +.icon-help{ + background:url('icons/help.png') no-repeat center center; +} +.icon-undo{ + background:url('icons/undo.png') no-repeat center center; +} +.icon-redo{ + background:url('icons/redo.png') no-repeat center center; +} +.icon-back{ + background:url('icons/back.png') no-repeat center center; +} +.icon-sum{ + background:url('icons/sum.png') no-repeat center center; +} +.icon-tip{ + background:url('icons/tip.png') no-repeat center center; +} +.icon-filter{ + background:url('icons/filter.png') no-repeat center center; +} +.icon-man{ + background:url('icons/man.png') no-repeat center center; +} +.icon-lock{ + background:url('icons/lock.png') no-repeat center center; +} +.icon-more{ + background:url('icons/more.png') no-repeat center center; +} + + +.icon-mini-add{ + background:url('icons/mini_add.png') no-repeat center center; +} +.icon-mini-edit{ + background:url('icons/mini_edit.png') no-repeat center center; +} +.icon-mini-refresh{ + background:url('icons/mini_refresh.png') no-repeat center center; +} + +.icon-large-picture{ + background:url('icons/large_picture.png') no-repeat center center; +} +.icon-large-clipart{ + background:url('icons/large_clipart.png') no-repeat center center; +} +.icon-large-shapes{ + background:url('icons/large_shapes.png') no-repeat center center; +} +.icon-large-smartart{ + background:url('icons/large_smartart.png') no-repeat center center; +} +.icon-large-chart{ + background:url('icons/large_chart.png') no-repeat center center; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/back.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/back.png new file mode 100644 index 0000000000000000000000000000000000000000..3fe8b178ec9eb9fdbfefe0f2c81c8d4acf0dc275 GIT binary patch literal 912 zcmV;B18@9^P)DPbufGfoO#dy!l?7(~R{rJuB|Ic3( zr2qlMf}#2UUndb!-U*#ucDjkNIt+}=Obow%{r$o4^UqfXE*6k;foc%S0Rjlgfd4?5 zf5px&s!cN{J9F|ViZCp>{+}U8Tk|V?U_iPMphZz_IS$;9h@%hJaXH%3`;KjXZQ*9FFVV3hN%aCGjMUR1HHn+ z@a^MI26o0j4AJ(Y49b$+;J^R~Ag}?Z#!~g|?RE?+ZZR?}IQyT0vRH6Gfp6#Aq|XXnD!yol{GeUeEH15z{&iNK}>*+ff=Ho0U&_D2K@WS)Y#U3 zL<*QjlG@v>7^K*LF;uO1$H33~kD)O@mf_`_pA4@*{$OBc;sM6se}=oyzcD<1{hb-4 z7a)M3fynfS;s3w1j*cU*?%aD#}SqhQ+&{GkpB3~WDG86SXj0t66JI$#2Z>i^0$tFE0td*)?Zf4{AAccL7__n-e5zW@IF`Rlho zISk)^-(&#U%K~&i4@4_K0AWeW%&YF-``{WFx_xe1-VuhUFTXRebF#1lJi_@W|M}sAhw_srY>W~TKsPfouoxLJNIief_Uq!sAfaEsA{^Y@xOjmE zgETUH_`vZ0)G3BDOP2h+bm&kaKmak@u(Mx&^y$-mrq{2%AP9OrSt~`cWMBe}Df@WdXVtAb^-{fqrKM zhBm{WKbK$p{CV}~>(@b&Z{ISrfec|{VqpC9hvEOnj||^|n$Pav|M&czJ4yfk{hPxK ziXor@00G3p|Me>aP=MhdQ1O2@wh#Zfxc+?xI`hkm7YtzU0Ks3N8c+cLWnuXTwCn>L zPz;1Y=>#Bvm|a;}8UBK7;o$HwmX%#&_3Ev z8Du=HOuX z4|L&Apeyv`#@8bfBxE!U^>5?3)J&j7~IN0z^T7prh^aQ_9m=nqi-_p@gVCMG7_z;K%h5I{^nzkYr61?WsB zppBr|;1UpEcqk91j^EtPTT1|U8QuVY?eYHqKSSK zP3o7x#7F%IgmygBVw*mDl7H^Z{OA78x#wJf^N>g+(A}*)`QG z5RTB`_EMce+Rq7v1K^?@u()CXf6xoz7!8!yDW$`H4viiQVXJBa++G(roc6hNHhJa` zc)tgNK1C=T#LYg4#zR25R*jil>eLtT{GdaAuGwmA2T&d-c>V5!!d9NyEp9Qmxe|`j ziex$g4vI7tOS{$FMw-cFlc$u|)oH@xv;lB4TdF3p9zS6L`{g|*5)D-xF1xRMSgLOC z7MSARP8Hv+kyxnx2--m{*z6VvMS>8Zy#!`G*)JEFkDm^i! z57&EQSe~y>rx{P4Jq8WqI_>n@dK|C^u()ifPp27dDGN*U z^*)3m0U({Lwv9rzno6%R=}dwtY~>hiY=vzs3$T+mn9{vzjZvdfBXyxZ39Q1lxt*_O za!Cf)+FBy^2Uli$r+^So1&^UvC9Uv!asn@3M*|?0O5yp7r!a4LH=D=I>FhdY&DZp^ zI_lx02LqV>=f-B1VTE_&n|?;e8M}28xLj@nAnp)D|3JTRN;i4Tjw+i=)$ZND8$(OU zO0JNPx!jIl*?fw5pNO9Is(T6ipVtD2MW9ltL~^<8_V~oBFC(MFPBbrJi4vhmDCP_J z3YkoHXME!2*U=lJE*_6}vFCCRm&4&S04zz3eYkpUkW2Ite1g#M`uYfvc1r7BSCpMy$Yx?I literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/cut.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/cut.png new file mode 100644 index 0000000000000000000000000000000000000000..21fdb4dc3c8ee79a0ce59a981c336538bb334442 GIT binary patch literal 1024 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 Y07EoBQ)jr0B>(^b07*qoM6N<$g57L=!vFvP literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/filter.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/filter.png new file mode 100644 index 0000000000000000000000000000000000000000..1fedf7ae66f9512c8991a91f606e33926210dfd1 GIT binary patch literal 305 zcmV-10nYx3P)i;JxOiC&m|MyN^@V~Zu%6~m0)Bj`zY(-tqe_OBM|76EZZDa3$M~@)# z4XCPX|L^4POMwARE&rW8d?@fjbNzpNXSe?h!y5nqPb`Zh>Gjmx00000NkvXXu0mjf D9Yd^C literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/help.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/help.png new file mode 100644 index 0000000000000000000000000000000000000000..28a0f9e5e6a24fe2cc3d842d0708e70512dbf84b GIT binary patch literal 1187 zcmXX`YfMuI6h6Hzx2+Ut1EjYq1A-3cSfq4{Is$g`oXj!QjiG^7TiBdhXGlOZxm1@9 zS*DOla3bRT0cHN_rJ;^5DgN)q2ZN z|EAt&1z&5w`m%mvX&4t+@c4Ki)zj^n9Qtq}u-Kkgm|S+sG2Fc6RK?X36?YJhP0dA}?VOU?JP&>G6klO2uGz08Gy=gKR?}h(b{K&aenodIzi% z2f@MJp01+RY|(6BJziiDpcm1+C)f4BSg6zCdpJmKRiimi){G4(q} z1^PxxRYp%IvSXi?q6Z{WU1=c||G9fvjNOV8M5eGC9+9=$-Km*DQ5AV*WII_(dnpARZKp%77uh;KZ$z~72R!)*N`!~x=0M8DAMel@xO((;7NkGYln^j z>m@53+D`)q@q?T2z|AfKr0Wq7@&V%3vEWE%IJj2*@I~|AQ1|l-SXw1vg>V7oa|8I- z0PP3HCDVWP3>La6dZtL>>2W$NTXeTeE3}I*#OEs`#HLvXE;&}!k}!JOU8}8G*^*;= zPjSv0_%M5yo+6j0Lw14m9`2dn-mf1NjIPg)Vw7)%a0o9zj^>|q#+Vv13MJSTT;}7h z4Zfq*P7G=k-K=j!InVUNj9wh!)4I~ern6^GUXtfu4!SZ`QB}@5t|WV`n%8=*ErSn) zGjYM$*~Vxc9q@=I`#Q~!`<=w&Se+$ud=Pk1O*Brwau1*M?WFKRth>8iTZJdIQgn~v zCzI($b7!BT>3&ZqyhH4&mz1-ow|8KFVjY;l(ti5lghhYge-hacl;-uimIqemZ0Qjj zBEs2%Kv-FHfq7&Jo><&)%Bjgdi{^SdvbB+` z{s9&)87BY$ literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_chart.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_chart.png new file mode 100644 index 0000000000000000000000000000000000000000..527608ee94683724de57fac1ed7593714ac41be4 GIT binary patch literal 1669 zcmV;027394P)OoL=dNpfT{jDe$P=9Ivhqz^iKm@S3IrUXvM(0iptmQ@N;^Xr`2l z>4!e;MtyMJ3@@+P z*cta0P;qWNgQ5t%kIIj;1wLh)>WhuhRMihnmHnENfO~VPJZBe!rXUHBxK2!dnjp`y z(`>y!X!;Ed4J}m4t$ZUqDz_on(tKFP<=Z=Rs60EC!Cg-WdZizNtwDlZX0M^Vz;da) zRk?SP0@rg5(0I-o4d?oDoM&fiyuRg4U;@stq2@8HW2l!$}hO{43f| zkRR=*CN3~#OC`C|Iv#~EN98>g3S3CjgZzXU!JJQyrc1M^d~XB;xx@+$vxiXb(Hu;2 zFkVG15abzF9mEABn@ce}UQW15nZ?ctSFs`YA(b2XNb$S02Wm1+P?Kd!R)b`wDdkb6 zCzU6LGN^U6z@3>6xI=D6HtT0{`DdiBAW!S7q=4(sCGh;Unj`KKp_&pQYoKyNuN0h3 z>4uAkjZtyfh~o%1H-B;Tyx`6PO>T7N03V` zRm26HLyu!xbTQ#9Pcfzv)@CTEytl`8oQ&&CR-qS4QuImc^K&oUE}l;1F@X$9N9*IV zt0kqDPnO3&c?t4VOC>Ad6r2G`;c zZL$jAAUCcD$!6rIrcrt1d7v}p0A*tdPKG=NXjthX$oHBn*@BUalQ2H`5S$6` z=j!BAD(~+66VldeLAJFU$F}YQwYk%%Jlu!D>47@<&9NuWwLl;BLGFS)*|eRw!0-ie za0*Js*mo@Da%Dm>mFtdK4rzo2jz;S?v#Be|uBeu|QF-WW1}FM!qG)(`6n)FmjZ1QT zD{!hH-)-`>xWHha&2U__1EVQB;porJD|X~jx$a1R>xdQ@kmMRh^?hR)nfvf`+O z%7Z-_$ZXV*Kcq8G59xyZ!8~ME1WXp>iN;C_IDEeWBj(2tw(!JIf?{P<-f74@B!zT< zbe#^N6Q4RbKqyO}MCB`HFgRwVijxkV$WJf1UsxQp=`3I5BFGbr+K3C-O%KIT?T?T-@#dA#9Q z;sUmAt1xJ0IEN>jVHikqadaA$YuV30+)`ES3DG2Ik=5Xmr9?W3%2^JXwn3&%2M%i% zH8QK=vahos-)X311*~0{V8FCs!YV!q?!oZixSz_^ZQSt75)~w@)IcI3VHJxeJuXgl z5elRlllOu?D&(=NLi0!;Rg$Wxo;OaAr}+IKF3`u>4|bBJu$#P;roAMHWDxu!_E7ma z?={#K&<>Oq`+Z|wn+bg3ZL(&JZbVMWEEBYkyTWk)Z(So z!f8HiUHo|hg!B!M$GACb=$E$mwIkcmQAGak2~^IWlW0V?!K{sl3*KXpx^l@oc}8YI z#pD*RYzcN>l)?XzF!)U82=c!Hwib{lHNGh0 P00000NkvXXu0mjf#2YXZ literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_clipart.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_clipart.png new file mode 100644 index 0000000000000000000000000000000000000000..9c9c44002b6f76fcddea75aad020f5f58e91d10f GIT binary patch literal 1727 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 N002ovPDHLkV1luY1RVeX literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_shapes.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_shapes.png new file mode 100644 index 0000000000000000000000000000000000000000..90a0dcacd8d8b851262102fbbd9f99e23404da11 GIT binary patch literal 1318 zcmV+>1=;$EP)9s!&kf1?`{(nr_nL4ijp z@Q59_AEy-e%+o#ZJ=sso=F5O#0npiiBF!K&3p5uYxXhffFJlfWXEo!=YI0RFHj|7W z&H(1NBtX7zVpRehUIYfo{O?&edZ&-@i=qNGe+_v<@V;`X*;FshvcF;T88V-8p>5(AZNn>gl#-9;-jVL6Zqt{a0Jynq z=d$e|UqepKAj-6p7_e+%Y4Zq2$EP^I+-^6v4_uhEA3$qbL2-*2*?;t+e{vhTc{lps zyU|0LcUUCzma!wWo44>?RMtg+^*yP4@*ZZC^RgtE6sv5dFQ1Brbbj=2NJS70%oFl<4p8eh$siTIRu^T?<{w4o zO=R3)cB1v26SpHX{{@gzDCU}*i#0~06P{d1)GpdTw`eE^IVH2hW2ryhkXf6>4UOp# zRk|J0HfjvJl%W&1!qN%;80}=O&W=zzH!cA1_^~mI4a1TO(K6ve z?<_6=*!%$084n2hL;y(UQs(uhebgHEQKjF7vU&gsFDiWikiolUNjzeqNd@?G()}L* zxB$S=w?dza%-LLHI-ttz3G;^GJw&FyhN`l|8z3UNK#ZSRo^4V{Vt@eSC-^$#iIh2& zy_QVXdIx>(Kz4Z_VxN`K88EW#bq<6luOHzqnF*auL*&S>Jxa^#HoxuSGW$xFUS7_o(5!A3KNgoUV^#B8C2JFaD4^28?_+<%y_grD6z~>!07Bw^NBr{&sH!?HH|NF8(A;BIaA(R2wgPNQaZIAy zso^etBH|Aig2zHuumB$OaE=wwGvPG=oXvS4>p?=k_etpRK8oMk&H$u2_nv~F0q)1= z`33l#F$@~uhhJ49*yRA;Q^42P2Jmx6849&?=&_ywoSa@>fm-^tE9siYou3rJ190ai zDb^faoa~#vtuJo{>G47$b(*}il2nl)ZxD%s9IQ=WSaMlM1aFb`3 z193JPDm9|h@^P24;|Gp!!_sg!T7jrk71ETISDX8*K*;AqW8dg)8OE1{Dc=+5++PL8 cmjX5Y2jT&te&o4V^Z)<=07*qoM6N<$f=jV;pa1{> literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_smartart.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/large_smartart.png new file mode 100644 index 0000000000000000000000000000000000000000..b47da08fa7ff9b56f6abb2517cb6c2177029faf8 GIT binary patch literal 1336 zcmV-81;_e{P)pBh)O^%3AYgtAK>fS=bS`B3ob2ygd+n1+_U!rp`nRtOoyGX4 z=(KTP5eZuwP_)XRw^g9SUyshotLT2$geTLtU<+8$8*JY(&u4BU|8g?AY}~;uO)!@y z>wkj2Plaovm1yv2ah0#c4PJ+vZatdah8=NjxDqu^B~rEDZ*79zU=O5Q_QT*TLmht} zwVWEYLlv+Ll%uADk^-pOgQdid1!+XCm|3L0E>AWS|%q`)HvTg}BgDAjS}svlza|@=dV0YH3{6 zlZT?;5|LSXFg_DGEyrMdDaVDrLR8!HQDr-gs^@uODs6dD`NlaRe|~z?Tn_SS-8^HO zU}CG+Gl3mS)#Gevp5;KhOEeN}tbCY(<8&VG+4;sTzoc?ne#H5wCtc4@QF? z8cVQTnB(CM;}OWMQX}i!QL5g(8gmDdE#IO1!7org&JZwKo8epZkf0|V$L4v74MG7o zJcM^+9+U|181awbSYB>Oyz{eXAknlJC0$8SK1!oriRi62Nth>L9^(s4)GaU?ieYgV zJaaBVj2Fgk@RYj=*9-@zyBDWaMz-}_mz__EdJB@w-=eVNXR1C0G$ibX+|Vviq-%pr(~4|WBhpIhalD`wM{`U#l%)eVbHj>odMUZ zi>l_pO^={|bO3{14*t0nOwO%F8_?aWhOCXmyOUAvI0e&iVHD<$R!ppni;K(T>4rEm0?aX^j%&w4$RTOCJA`P6-9ma{O zACRd&6cbHd132F>F(fcNK7^q$k-^bdR3Sz0t1tr|#vu9$-@C17zr@~VMVO#}j;dx*^?pe_mVpFjf=$HYdWRi><#o(0 zeIOGbkS;e7227I?h2al@VqH55G;KIp(Ta?c8%Qp!$FbZ?IGk-HQ)>bff`R(azXe-e z*V}s$T>gl_(nm6}PA1l+U0B1rAR!4%(oQg@NXRcSF}o`CpNa3nfIYT>`7av?@4)O1 z4P0$!E%+$5V3EWb)Qai(55f*ig$Nm$TNA~Jx2$>+enXM5GXr;DKyA4#e3((VOSWww uo;PJ%&{}NG?HKsto3b6^`p5L2x&8(W8B7jWgRVFL0000P$7bO0Bg$#2^g^4GL=P|t$hNq6Wo3a*(T;p z0vQVx+}+~^FZg$7F5mpj8TfC>dxjeSoPQ1VOMaA_u^ZnVr5#t%}HrnH>ScvMk452cyww4>){z4m<+~ zz$VYjod;A^<#YL=rT|^%{p!C3c<0*i002ov JPDHLkV1n}aiueEk literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/man.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/man.png new file mode 100644 index 0000000000000000000000000000000000000000..a8cafcb9a1bc9fafbc429093084aa2e5b37103b6 GIT binary patch literal 244 zcmVC_BI~?$baTUM>r&7#gjkN^eHIi#o0SqI#KDxPp zw@9vyR-*q#A1*f^_CI2jYYrM;0TvR|rdBA|{&P?5Vul}=KM*D;@QW`DQsz%=+`fM~ u3QS{w?+kN@RWQ}B0CTJ}SKVj!J=PhX&@(3LQ}*Qm0000>$j+3?x7IEPn{3BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrH1%xd!-zxLTAQhakJ^Q+73{+?&sPG@tVTk}cBH8-FbMA2gTIwZ$R1rnqZ!{LQN5dZW*_A98)a hcb&}1B^+S+>+nau>-9y|=gz9{lr;}c=wVN)Q*o7; z#1rt#{)*L{NuLvUInMbWz@F$~q+t2X*32`7HA0n}1B^+RR-Z*1Eqt_euNB=!4?3hCYmYkCBcssH5 zPdnEk2K$~yJ;tQ}=`B*K3`ckaI0gPP&VH(3X7A9z$Z+9+&@?^iN_(Jb44$rjF6*2U FngA=BGHCz+ literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/more.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/more.png new file mode 100644 index 0000000000000000000000000000000000000000..94922a2c86cb6b1cd2a7085e055073226ad591ed GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`rk*a2Ar-fh6Atj!H2mNcuy5Mr z$>!hq!(QaR^6>_B54Jn1#~Jije3o~(=`7H5>`;cz1${9F%W##sAI~(r1scHM>FVdQ I&MBb@08~pNrT_o{ literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/no.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/no.png new file mode 100644 index 0000000000000000000000000000000000000000..37a7c7497782dadcf14a765051a62dd5616200c5 GIT binary patch literal 922 zcmV;L17-Y)P)~H)FpGiVA+maa075~P;^Ost z%FF+My>{*Y{|_Jj|9|)H|Nl2{{{Mgd`v2FHC;#tBN%>zXAW)C22Oxl$VT=}a_4z4N zrW6=>dNQ#7{ma1c;R6H1`}YhCZ{IR7ym`aG`ujJ7l8z38nu>}8%kkq1$A10V2+{`- zKwtwZB_!%oy1NTx6%`p6K7NE?kmh&qz?vCezh+=~@q&Tj`Ev$7py4W#k_H^-&M_Qi zU^oa6K+Hft^Ls=_t}xct=3w~ph2g@XLkuqj1Q@RF*ukL03^f1MD~7#5#lI~rfyxgu zaNW7Xz<&Nb!`D}@41jje0SF)#Adz5aXehvN>=*+B8yf?swKapfn;XM72M30|Sy>DW zKpQP*⪼M8hY&JO$LjiB8ETz{xN7UFbD`TFvI`^5R0b1z5^G~7O=A!85y{?ZDaUm zW(L+^Ic*v^d_e5S7cMYxwYD<+1#12S6ypJ6X$A&ofB<6R;@}Wqc=-|@XtF@Rz6ILy z4af&+glT^3?aiPM6a#4n;om^~pMgONAb^+{fF?40{tPhyif@4oL;}JJ3Jh;0B^mw# zW8x=}{|jLN13&;Vy?*uT0mILqkWdF|-uwSQgXPktaGPN+vD~wV;i$eo!w;Y)5C$0p zwDt}_05Ls!`0&8vU%%kCa{`?TcealY!&?szxFJjd0dNCeK=2WO00KL4xwZBE|LW@h z|4T~#eCJ-NHV0gBdfguHGz&s%LFGwFi05M|8lxzVE3}(QD5+KCD wpazO6V0O9-%njRjGcW*?E5jFL#Q*^Y0M({d4SP?a6aWAK07*qoM6N<$f&>VU5C8xG literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/ok.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/ok.png new file mode 100644 index 0000000000000000000000000000000000000000..5b0f6a6174f67879d89b8c970d88734cd6f9f844 GIT binary patch literal 883 zcmV-(1C0EMP)wF51aIxG|t0o~WeTux?(*f!J?S`!vJrWM3^ z)v?u>(g^>@;xO#mkNlu=e*%b!BkO=S9U%&s|{QUTj4;ur+Qxv`b{1=&{q{_{@=tdkKKPJjPv{N-R+ z=H{q0b!wOgrI|?`QkZ(!{_7i9LV-VtRJx`%DQ2F^23wD{DqBhIRk` zF);r5{m+$GoMl&Put7+Jt2=`@4-Z4{!AlI=w!d7({+qd+0V(7F0suh(zW)OTFd63V z^!sFSNlF9<4gMd;*WzU&Dh*+FS2`3*A~OK^{__Bz$W0R(*Uum z?9l=80a*nF0_+3*1ONs71^@>82>=H93IGBCK>)u00}wAF|NZm@`|<(rTQ4UU0WcOM z00aL60Pp?k0KeVV0IsF+;Q#FbO$G-6;062!00#UB00{XE00{OE015OE00M|vNJE=} z^$*A6FQ5Ne@vDAS;$dfD`1Jo3!|5mY7`86`{^s{nmH;M>-&g)K|ATm%5g73x%=8b8 z0Ro7L;}<&v=RdZejL-PCo<9Aa;W^_ShKsN6GwfXY>&vg(Trted45#rWFn|DJV*bm{ z0Ky#q*cZJ%!~O8Y?dJ?fS26$kepw(JsCg%$6bcYP%o1uwz$j&AU}9wa&h(8#?9FW+ ziyzl{>lm2-O#9FFhv6UdZ-)OYzzhWT0wab200G2EX?6w(FaS`kAv2YZ@FM^K002ov JPDHLkV1n^7jC=q9 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/pencil.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/pencil.png new file mode 100644 index 0000000000000000000000000000000000000000..5b8cc893d0e50c0e15cf10fbbb08706f81ec224a GIT binary patch literal 713 zcmV;)0yh1LP)R)!_m*FeI9eJ0Gxq#H zf0_XxfS9lv%LmkKB8}kx16siJFV!*nd7pOS69ERhSDg(18DcA(#PsQ(DfoWDDC{a=@>nto>xWzb;o zP$*;Aa%nq5TlT(fKhM4o2P*mk(g_ei5CcqsHvff2=RY9k`aMC~Kn&o76a{330bLQrJ&U26`M=Sy3)uqGxWf%F0d5QMO1 v>|l^)2n34pz-1YUGXNlf7%9!p009O71V-RMzjpE=00000NkvXXu0mjfxvf2L literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/print.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/print.png new file mode 100644 index 0000000000000000000000000000000000000000..fdf67a1e2771c1481d4fdf3c3bb219904cdde434 GIT binary patch literal 1057 zcmV++1m63JP)z1G?hxZ;&`ED+>cNGYingzZn1m zi0SLs4-79~-etIOVGqOe=l2>Z%BAk7f^KhW_13_pMU`pwSH#-O94%^)f& z3N-K^13&;VLHzfh;p^8g3^#9{H2wblqZrJ9KS1%{Kv(?!`4i~P{|ua*91=XdJgT6; z`St4;*p&bQ!~(?P!otFnEG?~V1q1{|M1_S}KY#tr@b%YUh9AFvGyDPKzd*%*zcVld z`Ugr`TiaZI_Ty@A>nW=<)yo#7xKlEh(vj1xwlt7#MgWzP$bT0%*uZWO;x9 z!fSwov9Uh~14Beagrk7ItviRhqIkg9=T8*)ge4C=e*XL?NDV*$F=Er`Vr(4mXr?g1 z)x}1@)Y^!FfsqM{nHgR`f5y<=G55mJn=cZMojrRIAb>Coh_o}9pPyizU~Z|yz`(=; z#6U+fLTM=f>$l$wi{@|tuwv(>V1NKZ@j|4%et%nvY=(}S5Cg-n4-5>yKLTkW{__dQ z{tTo)gT>g`J~N1_^Ko3f_)G{OfLLIf9gU6cqmAAaD6jz)zkJHTz{3~O8o!7fdBvhJL&&7 zEzS8KWN)@fPg66=+sNqB{}Vy~Up;L5Ul8klLse1H6FK$(0tk$}jE(!hOym0h|8~m% zDNRwIbd{B3fWmAbIX`3L{U`QU{to~eC?zhgj2`F!0R%=(K`Q6}?=tznbY|Lr4LLb~ zWE+4{s&A&Qo(5!cV$%x{Kwva8UiSa1o0b3Vw6&)alRA+BKmf4-{V&fa#mul`<-^an zUcH*g01htV0YCr&lNW=6vZVpTfxUMQymyyFg$$D!0_P3$1SAV4gvrH q1Tx^k^5vIKzWDHAF9R6>Aiw}@kj85RTB}e10000VP)p|3y6O+Fnsy(*G|dGwA8_{sE@0VD?kY)l*s511}8@N@DpuwT|nH_3V>hx1ODQ%gn&~@8_@IOt#8aVhL_V%$IK8 zWk{S+eg652N7)Q)9AE25ELv$HybnO!M{I#uKD}#=M;vYf7lrQFmo`l@cj9I@ZL*+0D=T!0-G4a z_us4x|CxR%P+4O z%=m19E(1m6KcMkUz;yA2;myD24DM`^3=_Jyz22~IyVL&*H?9B#5X1$4SsA{6|NY{@ z(^>zp*f|F>^Eg`1=E%Jp>r!82Fy*Fx0GG_T{`ts%Hw-;|-9sl#=*HT~_cnLQ6 zZwyY1jNAqP|1re_1K>S4TZ6MV5dUL@_zCI)fB*vkslXvaa)1B=8vtU6i;3jw7+Lm8D5$Z@i10EnF)=bcefw4K z$^E-CUfjQG`svfBbfD6|R#sLFj6lo3FG$G6@;ee>>~6i|H^5OY8c00W#fi<*1vzh{0&qu3dB`V0{{XDY`}(1n>S9M(9!zw#!&`A z#;*+0{6GVMSeWGp!`o{o8NPge#o%jgs54WT$qnQYpsyGNpauX05F;oJfZ`Pdw6!$j zynTH0RMa&!n3$Pa9zVGEY{&L(3qnPBl_DG6<9Xk0`Fl3`LiD4@pH{vDsxJWQ1qdJp zEJ>M}osCtQlY?CgW>F{;gVK#SmgoOZnEn5J%EtIXaWQXAO>Rdf)WFR;gt~f zXaA3z{{L{q=l48y!32dEcNn4H`bJ0C+qr9t=q z3IB5(AiS{sSlm!hKmUK){R9C#j!Zc}`+sBs9tE)p5$}U$;ZzVK5OzQCHlA<@UGIO! zvj@U9`H!I>IKl6{$7vAD0_aTr_h<@&41C_Zzj3U$sW?P)s`^}rT?-9$gz_!>OcE=Nf062l+NnAOE%LIKMeUciG zG5@4$#o>#0(^REaszX( z@Br;Y1jl>uI&DD}m2Idxq%!Gwkr0;PT_BnCf*VQmb@KBW^WVSl?z4#ixOz4Ke!ssk zy+~qx3HN1Lmf_*JwldghDRx~#Huv5AzuyA9NNmE;P!yvrh(>!r*9CAQI{gJZ77+*H z@%Rxtk;~ literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/undo.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/icons/undo.png new file mode 100644 index 0000000000000000000000000000000000000000..6129fa0c77eb1d2100ed1c99b5643ab8990a9566 GIT binary patch literal 707 zcmV;!0zCbRP)gx00G1Zv_aomR`x(qRh0l2FE0bbpFa!?fB$08 zkFQ)|s9L!2z&&2xfMaLReuNnS5I{^UzkfRf$Hoe9fp{-pGBCV;4WVDWU|@Lm41ym& zW{~CPX6X0xb5MHuav8D<00M~l)~8P=@1HyOnT?gzU0Y6$f#K#&28Oq985rKZgBbSe z6~w?NPZ+p>wDzArsy8?}Ki_-*{y4}0fB<3!5w|~mI{y0k^X(5GJqk7R^5S3xY54Gg z;V@9{y|_37pRO(g>+jzT438c$h_JFUeEIar>Y2FstQW6ee+LL4W|&hReEj(I13UYi znbkhd^K)@A%v-naX4mP{i91)X{{CA+!pI;bgn{AeRR)QlKiRi``0yC0=M+Ey zVT~0JdHJSom6iV+{r%6t#LV>djcY9}FMXXe=l_3O+y7ZoQhPw+00D#(*(oWx*+@tv zp{LLZetz%&x3v79qNw;ED8va6Kn$b;P{O)4dGi0A+S>nhH8gAh0*IMZ1Ma+ke^KiH z{{%~Qb%Axyo~;K6ASMPf!11eBC%hFCV_^OEO$;D_$THxanAm~S7cMXefB&up5J1f2 p81VS{^OpjgoMw-I|K0`=U;x^&`B18C?@a&z002ovPDHLkV1f|(PF(;1 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/accordion.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/accordion.css new file mode 100644 index 0000000..5f104a4 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/accordion.css @@ -0,0 +1,89 @@ +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #ffffff; + border-color: #dfdfdf; +} +.accordion .accordion-header { + background: #fafafa; + filter: none; +} +.accordion .accordion-header-selected { + background: #eee; +} +.accordion .accordion-header-selected .panel-title { + color: #39c; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #fafafa; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #ffffff; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #dfdfdf; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #fafafa; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #ffffff; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #dfdfdf; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #fafafa; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #ffffff; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #dfdfdf; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/calendar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/calendar.css new file mode 100644 index 0000000..194f6f6 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/calendar.css @@ -0,0 +1,203 @@ +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 14px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 14px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 28px; +} +.calendar-title { + text-align: center; + height: 28px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 0px; + padding: 0 3px; + height: 28px; + line-height: 28px; + font-size: 14px; + cursor: pointer; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -8px; + width: 16px; + height: 16px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -16px 0; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -32px 0; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat 0px 0; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -48px 0; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 14px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 80px; + line-height: 26px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 0; + font-weight: bold; + font-size: 14px; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 25px; + height: 28px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 5px center; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -44px center; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-body th, +.calendar-menu-month { + color: #8d8d8d; +} +.calendar-day { + color: #404040; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #dfdfdf; +} +.calendar { + border-color: #dfdfdf; +} +.calendar-header { + background: #fafafa; +} +.calendar-body, +.calendar-menu { + background: #ffffff; +} +.calendar-body th { + background: #fafafa; + padding: 4px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #eee; + color: #404040; +} +.calendar-hover { + border: 1px solid #ccc; + padding: 0; +} +.calendar-selected { + background-color: #eee; + color: #39c; + border: 1px solid #39c; + padding: 0; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/checkbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/checkbox.css new file mode 100644 index 0000000..8cd106b --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/checkbox.css @@ -0,0 +1,31 @@ +.checkbox { + position: relative; + border: 2px solid #39c; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.checkbox-checked { + border: 0; + background: #39c; +} +.checkbox-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; +} +.checkbox path { + stroke-width: 2px; +} +.checkbox-disabled { + opacity: 0.6; +} +.checkbox-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/combo.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/combo.css new file mode 100644 index 0000000..cbe460b --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/combo.css @@ -0,0 +1,35 @@ +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #ffffff; +} +.combo-arrow { + background-color: #fafafa; +} +.combo-arrow-hover { + background-color: #eee; +} +.combo-arrow:hover { + background-color: #eee; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/combobox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/combobox.css new file mode 100644 index 0000000..bacfda0 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/combobox.css @@ -0,0 +1,40 @@ +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 14px; + padding: 6px 4px; + line-height: 20px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #eee; + color: #404040; +} +.combobox-item-selected { + background-color: #eee; + color: #39c; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/datagrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/datagrid.css new file mode 100644 index 0000000..5f73ebe --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/datagrid.css @@ -0,0 +1,285 @@ +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #dfdfdf; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 32px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 14px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 14px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #dfdfdf; + font-size: 14px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #fff; +} +.datagrid-cell-rownumber { + color: #404040; +} +.datagrid-resize-proxy { + background: #ccc; +} +.datagrid-mask { + background: #eee; +} +.datagrid-mask-msg { + border-color: #dfdfdf; +} +.datagrid-toolbar, +.datagrid-pager { + background: #fafafa; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #dfdfdf; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #dfdfdf; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #404040; + border-collapse: separate; +} +.datagrid-row-alt { + background: #fafafa; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #eee; + color: #404040; + cursor: default; +} +.datagrid-row-selected { + background: #eee; + color: #39c; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-header .datagrid-filter-row td.datagrid-header-over { + background: inherit; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/datalist.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/datalist.css new file mode 100644 index 0000000..3085482 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/datalist.css @@ -0,0 +1,95 @@ +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #fff; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #dfdfdf; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #404040; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #dfdfdf; +} +.m-list li>a:hover { + background: #eee; + color: #404040; +} +.m-list .m-list-group { + padding: 0 4px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/datebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/datebox.css new file mode 100644 index 0000000..392b779 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/datebox.css @@ -0,0 +1,36 @@ +.datebox-calendar-inner { + height: 250px; +} +.datebox-button { + padding: 4px 0; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 14px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #fafafa; +} +.datebox-button a { + color: #404040; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/dialog.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/dialog.css new file mode 100644 index 0000000..c962c42 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/dialog.css @@ -0,0 +1,47 @@ +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #dfdfdf; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #fafafa; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #dfdfdf #dfdfdf #dfdfdf #dfdfdf; +} +.dialog-button { + border-color: #dfdfdf #dfdfdf #dfdfdf #dfdfdf; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #fafafa; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/easyui.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/easyui.css new file mode 100644 index 0000000..49b3de0 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/easyui.css @@ -0,0 +1,3560 @@ +.panel { + overflow: hidden; + text-align: left; + margin: 0; + border: 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.panel-header, +.panel-body { + border-width: 1px; + border-style: solid; +} +.panel-header { + padding: 5px; + position: relative; +} +.panel-title { + background: url('images/blank.gif') no-repeat; +} +.panel-header-noborder { + border-width: 0 0 1px 0; +} +.panel-body { + overflow: auto; + border-top-width: 0; + padding: 0; +} +.panel-body-noheader { + border-top-width: 1px; +} +.panel-body-noborder { + border-width: 0px; +} +.panel-body-nobottom { + border-bottom-width: 0; +} +.panel-with-icon { + padding-left: 18px; +} +.panel-icon, +.panel-tool { + position: absolute; + top: 50%; + margin-top: -8px; + height: 16px; + overflow: hidden; +} +.panel-icon { + left: 5px; + width: 16px; +} +.panel-tool { + right: 5px; + width: auto; +} +.panel-tool a { + display: inline-block; + width: 16px; + height: 16px; + opacity: 0.6; + filter: alpha(opacity=60); + margin: 0 0 0 2px; + vertical-align: top; +} +.panel-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + background-color: #eee; + -moz-border-radius: 2px 2px 2px 2px; + -webkit-border-radius: 2px 2px 2px 2px; + border-radius: 2px 2px 2px 2px; +} +.panel-loading { + padding: 11px 0px 10px 30px; +} +.panel-noscroll { + overflow: hidden; +} +.panel-fit, +.panel-fit body { + height: 100%; + margin: 0; + padding: 0; + border: 0; + overflow: hidden; +} +.panel-loading { + background: url('images/loading.gif') no-repeat 10px 10px; +} +.panel-tool-close { + background: url('images/panel_tools.png') no-repeat -16px 0px; +} +.panel-tool-min { + background: url('images/panel_tools.png') no-repeat 0px 0px; +} +.panel-tool-max { + background: url('images/panel_tools.png') no-repeat 0px -16px; +} +.panel-tool-restore { + background: url('images/panel_tools.png') no-repeat -16px -16px; +} +.panel-tool-collapse { + background: url('images/panel_tools.png') no-repeat -32px 0; +} +.panel-tool-expand { + background: url('images/panel_tools.png') no-repeat -32px -16px; +} +.panel-header, +.panel-body { + border-color: #dfdfdf; +} +.panel-header { + background-color: #fafafa; +} +.panel-body { + background-color: #ffffff; + color: #404040; + font-size: 14px; +} +.panel-title { + font-size: 14px; + font-weight: bold; + color: #404040; + height: 20px; + line-height: 20px; +} +.panel-footer { + border: 1px solid #dfdfdf; + overflow: hidden; + background: #fafafa; +} +.panel-footer-noborder { + border-width: 1px 0 0 0; +} +.panel-hleft, +.panel-hright { + position: relative; +} +.panel-hleft>.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; + left: 50%; + margin-left: -8px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 25px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 0px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #ffffff; + border-color: #dfdfdf; +} +.accordion .accordion-header { + background: #fafafa; + filter: none; +} +.accordion .accordion-header-selected { + background: #eee; +} +.accordion .accordion-header-selected .panel-title { + color: #39c; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #fafafa; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #ffffff; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #dfdfdf; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #fafafa; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #ffffff; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #dfdfdf; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #fafafa; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #ffffff; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #dfdfdf; +} +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.window-shadow { + background: #ccc; + -moz-box-shadow: 2px 2px 3px #cccccc; + -webkit-box-shadow: 2px 2px 3px #cccccc; + box-shadow: 2px 2px 3px #cccccc; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #dfdfdf; +} +.window { + background-color: #fafafa; +} +.window-proxy { + border: 1px dashed #dfdfdf; +} +.window-proxy-mask, +.window-mask { + background: #eee; +} +.window .panel-footer { + border: 1px solid #dfdfdf; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-footer { + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #dfdfdf; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #fafafa; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #dfdfdf #dfdfdf #dfdfdf #dfdfdf; +} +.dialog-button { + border-color: #dfdfdf #dfdfdf #dfdfdf #dfdfdf; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #fafafa; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.l-btn { + text-decoration: none; + display: inline-block; + overflow: hidden; + margin: 0; + padding: 0; + cursor: pointer; + outline: none; + text-align: center; + vertical-align: middle; + line-height: normal; +} +.l-btn-plain { + border-width: 0; + padding: 1px; +} +.l-btn-left { + display: inline-block; + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + vertical-align: top; +} +.l-btn-text { + display: inline-block; + vertical-align: top; + width: auto; + line-height: 28px; + font-size: 14px; + padding: 0; + margin: 0 6px; +} +.l-btn-icon { + display: inline-block; + width: 16px; + height: 16px; + line-height: 16px; + position: absolute; + top: 50%; + margin-top: -8px; + font-size: 1px; +} +.l-btn span span .l-btn-empty { + display: inline-block; + margin: 0; + width: 16px; + height: 24px; + font-size: 1px; + vertical-align: top; +} +.l-btn span .l-btn-icon-left { + padding: 0 0 0 20px; + background-position: left center; +} +.l-btn span .l-btn-icon-right { + padding: 0 20px 0 0; + background-position: right center; +} +.l-btn-icon-left .l-btn-text { + margin: 0 6px 0 26px; +} +.l-btn-icon-left .l-btn-icon { + left: 6px; +} +.l-btn-icon-right .l-btn-text { + margin: 0 26px 0 6px; +} +.l-btn-icon-right .l-btn-icon { + right: 6px; +} +.l-btn-icon-top .l-btn-text { + margin: 20px 4px 0 4px; +} +.l-btn-icon-top .l-btn-icon { + top: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-icon-bottom .l-btn-text { + margin: 0 4px 20px 4px; +} +.l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-left .l-btn-empty { + margin: 0 6px; + width: 16px; +} +.l-btn-plain:hover { + padding: 0; +} +.l-btn-focus { + outline: #0000FF dotted thin; +} +.l-btn-large .l-btn-text { + line-height: 44px; +} +.l-btn-large .l-btn-icon { + width: 32px; + height: 32px; + line-height: 32px; + margin-top: -16px; +} +.l-btn-large .l-btn-icon-left .l-btn-text { + margin-left: 40px; +} +.l-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.l-btn-large .l-btn-icon-top .l-btn-text { + margin-top: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-top .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-left .l-btn-empty { + margin: 0 6px; + width: 32px; +} +.l-btn { + color: #404040; + background: #fafafa; + background-repeat: repeat-x; + border: 1px solid #dfdfdf; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.l-btn:hover { + background: #eee; + color: #404040; + border: 1px solid #ccc; + filter: none; +} +.l-btn-plain { + background: transparent; + border-width: 0; + filter: none; +} +.l-btn-outline { + border-width: 1px; + border-color: #ccc; + padding: 0; +} +.l-btn-plain:hover { + background: #eee; + color: #404040; + border: 1px solid #ccc; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.l-btn-disabled, +.l-btn-disabled:hover { + opacity: 0.5; + cursor: default; + background: #fafafa; + color: #404040; +} +.l-btn-disabled .l-btn-text, +.l-btn-disabled .l-btn-icon { + filter: alpha(opacity=50); +} +.l-btn-plain-disabled, +.l-btn-plain-disabled:hover { + background: transparent; + filter: alpha(opacity=50); +} +.l-btn-selected, +.l-btn-selected:hover { + background: #39c; + filter: none; +} +.l-btn-plain-selected, +.l-btn-plain-selected:hover { + background: #39c; +} +.textbox { + position: relative; + border: 1px solid #dfdfdf; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.textbox .textbox-text { + font-size: 14px; + border: 0; + margin: 0; + padding: 0 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; + height: 28px; + line-height: 28px; +} +.textbox textarea.textbox-text { + line-height: normal; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 14px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 30px; + line-height: 30px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #c6c6c6; + -moz-box-shadow: 0 0 3px 0 #dfdfdf; + -webkit-box-shadow: 0 0 3px 0 #dfdfdf; + box-shadow: 0 0 3px 0 #dfdfdf; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff; +} +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #ffffff; +} +.combo-arrow { + background-color: #fafafa; +} +.combo-arrow-hover { + background-color: #eee; +} +.combo-arrow:hover { + background-color: #eee; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 14px; + padding: 6px 4px; + line-height: 20px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #eee; + color: #404040; +} +.combobox-item-selected { + background-color: #eee; + color: #39c; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; + background: #eee; + color: #404040; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} +.layout { + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + z-index: 0; +} +.layout-panel { + position: absolute; + overflow: hidden; +} +.layout-body { + min-width: 1px; + min-height: 1px; +} +.layout-panel-east, +.layout-panel-west { + z-index: 2; +} +.layout-panel-north, +.layout-panel-south { + z-index: 3; +} +.layout-expand { + position: absolute; + padding: 0px; + font-size: 1px; + cursor: pointer; + z-index: 1; +} +.layout-expand .panel-header, +.layout-expand .panel-body { + background: transparent; + filter: none; + overflow: hidden; +} +.layout-expand .panel-header { + border-bottom-width: 0px; +} +.layout-expand .panel-body { + position: relative; +} +.layout-expand .panel-body .panel-icon { + margin-top: 0; + top: 0; + left: 50%; + margin-left: -8px; +} +.layout-expand-west .panel-header .panel-icon, +.layout-expand-east .panel-header .panel-icon { + display: none; +} +.layout-expand-title { + position: absolute; + top: 0; + left: 21px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.layout-expand-title-up { + position: absolute; + top: 0; + left: 0; + text-align: right; + padding-left: 5px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 0; +} +.layout-expand-with-icon { + top: 18px; +} +.layout-expand .panel-body-noheader .layout-expand-title, +.layout-expand .panel-body-noheader .panel-icon { + top: 5px; +} +.layout-expand .panel-body-noheader .layout-expand-with-icon { + top: 23px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + position: absolute; + font-size: 1px; + display: none; + z-index: 5; +} +.layout-split-proxy-h { + width: 5px; + cursor: e-resize; +} +.layout-split-proxy-v { + height: 5px; + cursor: n-resize; +} +.layout-mask { + position: absolute; + background: #fafafa; + filter: alpha(opacity=10); + opacity: 0.10; + z-index: 4; +} +.layout-button-up { + background: url('images/layout_arrows.png') no-repeat -16px -16px; +} +.layout-button-down { + background: url('images/layout_arrows.png') no-repeat -16px 0; +} +.layout-button-left { + background: url('images/layout_arrows.png') no-repeat 0 0; +} +.layout-button-right { + background: url('images/layout_arrows.png') no-repeat 0 -16px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + background-color: #ccc; +} +.layout-split-north { + border-bottom: 5px solid #ffffff; +} +.layout-split-south { + border-top: 5px solid #ffffff; +} +.layout-split-east { + border-left: 5px solid #ffffff; +} +.layout-split-west { + border-right: 5px solid #ffffff; +} +.layout-expand { + background-color: #fafafa; +} +.layout-expand-over { + background-color: #fafafa; +} +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 4px 4px 0 0; + -webkit-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 14px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 4px 4px; + -webkit-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 4px 0 0 4px; + -webkit-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 4px 4px 0; + -webkit-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #fafafa url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #fafafa url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #eee; + color: #404040; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #ffffff; + color: #404040; +} +.tabs li a.tabs-inner { + color: #404040; + background-color: #fafafa; +} +.tabs-header, +.tabs-tool { + background-color: #fafafa; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #dfdfdf; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #eee; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #ffffff; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #ffffff; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #ffffff; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #ffffff; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #eee; + color: #39c; + filter: none; + border-color: #dfdfdf; +} +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #dfdfdf; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 32px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 14px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 14px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #dfdfdf; + font-size: 14px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #fff; +} +.datagrid-cell-rownumber { + color: #404040; +} +.datagrid-resize-proxy { + background: #ccc; +} +.datagrid-mask { + background: #eee; +} +.datagrid-mask-msg { + border-color: #dfdfdf; +} +.datagrid-toolbar, +.datagrid-pager { + background: #fafafa; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #dfdfdf; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #dfdfdf; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #404040; + border-collapse: separate; +} +.datagrid-row-alt { + background: #fafafa; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #eee; + color: #404040; + cursor: default; +} +.datagrid-row-selected { + background: #eee; + color: #39c; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-header .datagrid-filter-row td.datagrid-header-over { + background: inherit; +} +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #dfdfdf; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #fafafa; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #dfdfdf; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #fafafa; +} +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #fff; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #dfdfdf; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #404040; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #dfdfdf; +} +.m-list li>a:hover { + background: #eee; + color: #404040; +} +.m-list .m-list-group { + padding: 0 4px; +} +.pagination { + zoom: 1; + padding: 2px; +} +.pagination table { + float: left; + height: 30px; +} +.pagination td { + border: 0; +} +.pagination-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #dfdfdf; + border-right: 1px solid #fff; + margin: 3px 1px; +} +.pagination .pagination-num { + border-width: 1px; + border-style: solid; + margin: 0 2px; + padding: 2px; + width: 3em; + height: auto; + text-align: center; + font-size: 14px; +} +.pagination-page-list { + margin: 0px 6px; + padding: 1px 2px; + width: auto; + height: auto; + border-width: 1px; + border-style: solid; +} +.pagination-info { + float: right; + margin: 0 6px; + padding: 0; + height: 30px; + line-height: 30px; + font-size: 14px; +} +.pagination span { + font-size: 14px; +} +.pagination-link .l-btn-text { + box-sizing: border-box; + text-align: center; + margin: 0; + padding: 0 .5em; + width: auto; + min-width: 28px; +} +.pagination-first { + background: url('images/pagination_icons.png') no-repeat 0 center; +} +.pagination-prev { + background: url('images/pagination_icons.png') no-repeat -16px center; +} +.pagination-next { + background: url('images/pagination_icons.png') no-repeat -32px center; +} +.pagination-last { + background: url('images/pagination_icons.png') no-repeat -48px center; +} +.pagination-load { + background: url('images/pagination_icons.png') no-repeat -64px center; +} +.pagination-loading { + background: url('images/loading.gif') no-repeat center center; +} +.pagination-page-list, +.pagination .pagination-num { + border-color: #dfdfdf; +} +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 14px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 14px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 28px; +} +.calendar-title { + text-align: center; + height: 28px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 0px; + padding: 0 3px; + height: 28px; + line-height: 28px; + font-size: 14px; + cursor: pointer; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -8px; + width: 16px; + height: 16px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -16px 0; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -32px 0; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat 0px 0; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -48px 0; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 14px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 80px; + line-height: 26px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 0; + font-weight: bold; + font-size: 14px; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 25px; + height: 28px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 5px center; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -44px center; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-body th, +.calendar-menu-month { + color: #8d8d8d; +} +.calendar-day { + color: #404040; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #dfdfdf; +} +.calendar { + border-color: #dfdfdf; +} +.calendar-header { + background: #fafafa; +} +.calendar-body, +.calendar-menu { + background: #ffffff; +} +.calendar-body th { + background: #fafafa; + padding: 4px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #eee; + color: #404040; +} +.calendar-hover { + border: 1px solid #ccc; + padding: 0; +} +.calendar-selected { + background-color: #eee; + color: #39c; + border: 1px solid #39c; + padding: 0; +} +.datebox-calendar-inner { + height: 250px; +} +.datebox-button { + padding: 4px 0; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 14px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #fafafa; +} +.datebox-button a { + color: #404040; +} +.spinner-arrow { + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow.spinner-button-top, +.spinner-arrow.spinner-button-bottom, +.spinner-arrow.spinner-button-left, +.spinner-arrow.spinner-button-right { + background-color: #fafafa; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #404040; + outline-style: none; + background-color: #fafafa; +} +.spinner-button-updown { + opacity: 1.0; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + position: relative; + display: block; + width: 100%; + height: 50%; +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down { + opacity: 1.0; + filter: alpha(opacity=100); + cursor: pointer; + width: 16px; + height: 16px; + top: 50%; + left: 50%; + margin-top: -8px; + margin-left: -8px; + position: absolute; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-button-updown .spinner-button-top:hover, +.spinner-button-updown .spinner-button-bottom:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down, +.spinner-button-updown .spinner-arrow-up:hover, +.spinner-button-updown .spinner-arrow-down:hover { + background-color: transparent; +} +.spinner-arrow-hover { + background-color: #eee; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-top:hover, +.spinner-button-bottom:hover, +.spinner-button-left:hover, +.spinner-button-right:hover, +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #eee; +} +.textbox-disabled .spinner-button-top:hover, +.textbox-disabled .spinner-button-bottom:hover, +.textbox-disabled .spinner-button-left:hover, +.textbox-disabled .spinner-button-right:hover, +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #fafafa; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; + background-color: #fafafa; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; + background-color: #fafafa; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 4px 0 0 4px; + -webkit-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.progressbar { + border-color: #dfdfdf; +} +.progressbar-text { + color: #404040; + font-size: 14px; +} +.progressbar-value, +.progressbar-value .progressbar-text { + background-color: #eee; + color: #39c; +} +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #fafafa; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 4px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 14px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 14px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #dfdfdf; + background: #fafafa; +} +.slider-rule span { + border-color: #dfdfdf; +} +.slider-rulelabel span { + color: #404040; +} +.menu { + position: absolute; + margin: 0; + padding: 2px; + border-width: 1px; + border-style: solid; + overflow: hidden; +} +.menu-inline { + position: relative; +} +.menu-item { + position: relative; + margin: 0; + padding: 0; + overflow: hidden; + white-space: nowrap; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.menu-text { + height: 20px; + line-height: 20px; + float: left; + padding-left: 28px; +} +.menu-icon { + position: absolute; + width: 16px; + height: 16px; + left: 2px; + top: 50%; + margin-top: -8px; +} +.menu-rightarrow { + position: absolute; + width: 16px; + height: 16px; + right: 0; + top: 50%; + margin-top: -8px; +} +.menu-line { + position: absolute; + left: 26px; + top: 0; + height: 2000px; + font-size: 1px; +} +.menu-sep { + margin: 3px 0px 3px 25px; + font-size: 1px; +} +.menu-noline .menu-line { + display: none; +} +.menu-noline .menu-sep { + margin-left: 0; + margin-right: 0; +} +.menu-active { + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.menu-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); + cursor: default; +} +.menu-text, +.menu-text span { + font-size: 14px; +} +.menu-shadow { + position: absolute; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; + background: #ccc; + -moz-box-shadow: 2px 2px 3px #cccccc; + -webkit-box-shadow: 2px 2px 3px #cccccc; + box-shadow: 2px 2px 3px #cccccc; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.menu-rightarrow { + background: url('images/menu_arrows.png') no-repeat -32px center; +} +.menu-line { + border-left: 1px solid #dfdfdf; + border-right: 1px solid #fff; +} +.menu-sep { + border-top: 1px solid #dfdfdf; + border-bottom: 1px solid #fff; +} +.menu { + background-color: #fff; + border-color: #eee; + color: #404040; +} +.menu-content { + background: #ffffff; +} +.menu-item { + border-color: transparent; + _border-color: #fff; +} +.menu-active { + border-color: #ccc; + color: #404040; + background: #eee; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #404040; +} +.m-btn-downarrow, +.s-btn-downarrow { + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + font-size: 1px; + right: 0; + top: 50%; + margin-top: -8px; +} +.m-btn-active, +.s-btn-active { + background: #eee; + color: #404040; + border: 1px solid #ccc; + filter: none; +} +.m-btn-plain-active, +.s-btn-plain-active { + background: transparent; + padding: 0; + border-width: 1px; + border-style: solid; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.m-btn .l-btn-left .l-btn-text { + margin-right: 20px; +} +.m-btn .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.m-btn .l-btn-icon-right .l-btn-icon { + right: 20px; +} +.m-btn .l-btn-icon-top .l-btn-text { + margin-right: 4px; + margin-bottom: 14px; +} +.m-btn .l-btn-icon-bottom .l-btn-text { + margin-right: 4px; + margin-bottom: 34px; +} +.m-btn .l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 20px; +} +.m-btn .l-btn-icon-top .m-btn-downarrow, +.m-btn .l-btn-icon-bottom .m-btn-downarrow { + top: auto; + bottom: 0px; + left: 50%; + margin-left: -8px; +} +.m-btn-line { + display: inline-block; + position: absolute; + font-size: 1px; + display: none; +} +.m-btn .l-btn-left .m-btn-line { + right: 0; + width: 16px; + height: 500px; + border-style: solid; + border-color: #ccc; + border-width: 0 0 0 1px; +} +.m-btn .l-btn-icon-top .m-btn-line, +.m-btn .l-btn-icon-bottom .m-btn-line { + left: 0; + bottom: 0; + width: 500px; + height: 16px; + border-width: 1px 0 0 0; +} +.m-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 56px; +} +.m-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 50px; +} +.m-btn-downarrow, +.s-btn-downarrow { + background: url('images/menu_arrows.png') no-repeat 0 center; +} +.m-btn-plain-active, +.s-btn-plain-active { + border-color: #ccc; + background-color: #eee; + color: #404040; +} +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #ccc; + border-width: 0 0 0 1px; +} +.messager-body { + padding: 10px 10px 30px 10px; + overflow: auto; +} +.messager-button { + text-align: center; + padding: 5px; +} +.messager-button .l-btn { + width: 70px; +} +.messager-icon { + float: left; + width: 32px; + height: 32px; + margin: 0 10px 10px 0; +} +.messager-error { + background: url('images/messager_icons.png') no-repeat scroll -64px 0; +} +.messager-info { + background: url('images/messager_icons.png') no-repeat scroll 0 0; +} +.messager-question { + background: url('images/messager_icons.png') no-repeat scroll -32px 0; +} +.messager-warning { + background: url('images/messager_icons.png') no-repeat scroll -96px 0; +} +.messager-progress { + padding: 10px; +} +.messager-p-msg { + margin-bottom: 5px; +} +.messager-body .messager-input { + width: 100%; + padding: 4px 0; + outline-style: none; + border: 1px solid #dfdfdf; +} +.window-thinborder .messager-button { + padding-bottom: 8px; +} +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 26px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + margin: 4px 0; + vertical-align: middle; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 14px; + display: inline-block; + text-decoration: none; + vertical-align: middle; + white-space: nowrap; + padding: 0 2px; + margin: 4px 0; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 14px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #dfdfdf; + font-size: 14px; + height: 26px; + line-height: 26px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: middle; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #ffffff; + color: #404040; + border-color: #dfdfdf; +} +.tree-node-hover { + background: #eee; + color: #404040; +} +.tree-node-selected { + background: #eee; + color: #39c; +} +.tree-node-hidden { + display: none; +} +.inputbox { + display: inline-block; + vertical-align: middle; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; +} +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff; + color: #404040; +} +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.tooltip-content { + font-size: 14px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #ffffff; + border-color: #dfdfdf; + color: #404040; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #dfdfdf; +} +.tooltip-right .tooltip-arrow { + border-right-color: #ffffff; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #dfdfdf; +} +.tooltip-left .tooltip-arrow { + border-left-color: #ffffff; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #dfdfdf; +} +.tooltip-top .tooltip-arrow { + border-top-color: #ffffff; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #dfdfdf; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #ffffff; +} +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #dfdfdf; + border: 1px solid #dfdfdf; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 14px; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.switchbutton-on { + background: #eee; + color: #39c; +} +.switchbutton-off { + background-color: #ffffff; + color: #404040; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 4px 0 0 4px; + -webkit-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 4px 4px 0; + -webkit-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #ffffff; + color: #404040; + border: 1px solid #dfdfdf; + -moz-box-shadow: 0 0 3px 0 #dfdfdf; + -webkit-box-shadow: 0 0 3px 0 #dfdfdf; + box-shadow: 0 0 3px 0 #dfdfdf; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} +.radiobutton { + position: relative; + border: 2px solid #39c; + border-radius: 50%; +} +.radiobutton-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + background: #39c; + border-radius: 50%; + transform: scale(.6); +} +.radiobutton-disabled { + opacity: 0.6; +} +.radiobutton-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} +.checkbox { + position: relative; + border: 2px solid #39c; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.checkbox-checked { + border: 0; + background: #39c; +} +.checkbox-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; +} +.checkbox path { + stroke-width: 2px; +} +.checkbox-disabled { + opacity: 0.6; +} +.checkbox-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} +.sidemenu .tree-hit { + background-image: none; +} +.sidemenu-default-icon { + background-image: none; + width: 0; +} +.sidemenu .accordion .accordion-header, +.sidemenu .accordion .accordion-body { + border-bottom-color: transparent; + background: transparent; +} +.sidemenu .accordion .accordion-header { + color: #404040; +} +.sidemenu .accordion-header .panel-title { + height: 30px; + line-height: 30px; + color: #404040; +} +.sidemenu .accordion-header:hover { + background: #eee; + color: #404040; +} +.sidemenu .tree-node-hover { + background: #eee; + color: #404040; +} +.sidemenu .tree-node-selected { + border-right: 2px solid #39c; + color: #39c; + background: #eee; +} +.sidemenu .tree-node { + height: 40px; +} +.sidemenu .tree-title { + margin: 11px 0; +} +.sidemenu .tree-node-nonleaf { + position: relative; +} +.sidemenu .tree-node-nonleaf::after { + display: inline-block; + content: ''; + position: absolute; + top: 50%; + margin-top: -8px; + background: url('images/accordion_arrows.png') no-repeat 0 0; + width: 16px; + height: 16px; + right: 5px; +} +.sidemenu .tree-node-nonleaf-collapsed::after { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.sidemenu-collapsed .panel-icon { + left: 50%; + margin-left: -8px; +} +.sidemenu-tooltip { + padding: 0; + margin: 0 -12px; + border: 0; +} +.sidemenu-tooltip.tooltip-left { + margin: 0 12px; +} +.sidemenu-tooltip .tooltip-arrow-outer, +.sidemenu-tooltip .tooltip-arrow { + display: none; +} +.textbox { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; + border-top-color: transparent; + border-left-color: transparent; + border-right-color: transparent; +} +.textbox-focused { + border-color: #39c; + border-top-color: transparent; + border-left-color: transparent; + border-right-color: transparent; + -moz-box-shadow: 0 0 3px 0 transparent; + -webkit-box-shadow: 0 0 3px 0 transparent; + box-shadow: 0 0 3px 0 transparent; +} +.textbox .textbox-button { + background-color: transparent; +} +.textbox .textbox-button-left, +.textbox .textbox-button-right, +.textbox .textbox-button-top, +.textbox .textbox-button-bottom { + border-color: transparent; +} +.combo-arrow, +.combo-arrow:hover, +.spinner-arrow-up, +.spinner-arrow-up:hover, +.spinner-arrow-down, +.spinner-arrow-down:hover { + background-color: transparent; +} +.spinner-arrow.spinner-button-top, +.spinner-arrow.spinner-button-bottom { + background-color: transparent; +} +.datagrid-header .datagrid-cell, +.datagrid-cell-group { + color: #a6a6a6; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; +} +.datagrid-row-alt .datagrid-td-rownumber { + background-color: #fafafa; +} +.datagrid-row-over .datagrid-td-rownumber { + background-color: #eee; +} +.datagrid-row-selected .datagrid-td-rownumber { + background-color: #eee; +} +.datagrid-row-selected .datagrid-cell-rownumber { + color: #39c; +} +.datagrid-filter-row .textbox, +.datagrid-editable .textbox { + border: 1px solid #dfdfdf; +} +.tree-node { + border-left: 2px solid transparent; +} +.tree-node-selected { + border-left: 2px solid #39c; +} +.calendar-header, +.calendar-body th { + background: transparent; +} +.calendar-selected { + background: #39c; + color: #fff; + border-color: transparent; +} +.calendar-selected.calendar-saturday { + background: #00ee00; +} +.calendar-selected.calendar-sunday { + background: #CC2222; +} +.tabs-header, +.tabs-tool { + padding-top: 0; +} +.tabs li { + margin-bottom: 0; +} +.tabs li a.tabs-inner, +.tabs li a:hover.tabs-inner { + color: #404040; + background: transparent; + border-color: transparent; + border-left-width: 0; + border-right-width: 0; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.tabs li.tabs-selected a.tabs-inner { + background: transparent; + border-color: transparent; + color: #39c; + border-bottom: 2px solid #39c; + border-radius: 0; + font-weight: normal; +} +.tabs-header-bottom .tabs li a.tabs-inner { + border-top: 2px solid transparent; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 2px solid #39c; + border-bottom: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + border-right: 2px solid transparent; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 2px solid #39c; + border-top-color: transparent; + border-bottom-color: transparent; +} +.tabs-header-right .tabs li a.tabs-inner { + border-left: 2px solid transparent; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 2px solid #39c; + border-top-color: transparent; + border-bottom-color: transparent; +} +.l-btn-selected, +.l-btn-selected:hover { + color: #fff; +} +.slider-handle { + background: #39c; + -moz-border-radius: 50% 50% 50% 50%; + -webkit-border-radius: 50% 50% 50% 50%; + border-radius: 50% 50% 50% 50%; +} +.menu-shadow, +.combo-p { + -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); + -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); + box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); + filter: none; +} +.menu { + padding: 3px 0; + border: 0; +} +.menu-icon { + left: 4px; +} +.menu-active { + border-color: transparent; + color: #39c; + background: #eee; + border-radius: 0; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #404040; +} +.window { + background-color: #fff; +} +.window-proxy { + border-color: #ccc; +} +.window-shadow { + -moz-box-shadow: 0 7px 8px -4px rgba(0,0,0,0.2), 0 13px 19px 2px rgba(0,0,0,0.14), 0 5px 24px 4px rgba(0,0,0,0.12); + -webkit-box-shadow: 0 7px 8px -4px rgba(0,0,0,0.2), 0 13px 19px 2px rgba(0,0,0,0.14), 0 5px 24px 4px rgba(0,0,0,0.12); + box-shadow: 0 7px 8px -4px rgba(0,0,0,0.2), 0 13px 19px 2px rgba(0,0,0,0.14), 0 5px 24px 4px rgba(0,0,0,0.12); + filter: none; +} +.window-mask { + background: #000; +} +.sidemenu .tree-node-selected { + border-right: 0; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/filebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/filebox.css new file mode 100644 index 0000000..c6bac66 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/filebox.css @@ -0,0 +1,20 @@ +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/Thumbs.db b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..5f257a2a49959543d36e2641d352572547e40e63 GIT binary patch literal 35328 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 T0gjLZeOBaa?|wA#e_!~27*z{8 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/accordion_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/accordion_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..b6368d636e2ff36501ff9c6b14f7ce09997f3743 GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel!K>>V@SoV?_1tQrr|vg#{&FxgXS!5MW?fq8aJ< T>6BX`&@2W|S3j3^P6h?7!oT zn93bYIb9!43Wj)WNz0M)xYl!8U>3_OjRiss3@1j_Zvlb#iD~jUnsR3em#t_3WtUHqj%c^0} zFSrhZpjU$)YHUS-lsMx)nN8pghWK6h!524#*oXjC@NjHF9H1y2K%G?c=lr%4eY%ue zT+7R9Pld<2<$C}OAU0HZIJPqD0RA&Sip042zF(tA4uaUhZ>jL`*HN0POocjDIidNRbTZ#@zvW7@I c5>Ct23v;ttA1D3-v;Y7A07*qoM6N<$f&+eyE&u=k literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/datebox_arrow.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/datebox_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..783c83357fdf90a1c7c024358e1d768b5c09c135 GIT binary patch literal 626 zcmV-&0*(ENP)5OC%H;f`~O(q$Q#t2<^v$A>fbmv%e#dKTwK=Ku{5lS|}<-`a#7b zzTCOnnT>at)D}AMFuOZ5&%EqFN(lyumd$2ASF6=;nM~%2?gqc@U=#|4PqkX@EBo-9 z7pD#bO_RUa>*faM`8;MYfVi$JnB-zcBFc6gjl$d!bF98Q!!!(Z1_R~P?e!pt#6CHJ9S&n_n&@=9 z%GP;!@Co4c*at+6vNz7o(6en^Q1%qHrc;1)9IRaz-$@S$Z-qdC^ds3X0NvQH;KS)D z-dh&rW&@X;1cS(45z)J&BVt+tv&GMVJ%!EiW) zLBGZW)#Z+gl-Lih&?>X3SS-S#ujQ;9JRXmIB7X)8`d6ETj)D#Q2+$s|<_b7-B9Xvq zwNfqlEp%y3$uY`h{Y$(Gn5@}sqEsq95lpAkFO5dyBmP6^H-51G4J|rN2Ujt<`2YX_ M07*qoM6N<$f|L1?c z_O8;7?=$$OZE)N^=kf)!wu_8{hTkWuP3Lf!{Qqt%*U6B7qRbydZ`F0T{#^CG?%493 zHc6j2;SWMDuL>F^vlqEUI{oOgO!xNf*11TukM z6kTZ3V2qd3<~<$H&Lrt?SpXUxF5Zb^}(={r!EHE+$QMdH|XZ zSYbMyc0tQc3qbP$tG{U_Jyg>I(0srOscEGU?-T)4AzuS$_2J>6`+BJ50YDY<^>2vV z+uI880P2ui(hyHiPrK$)CkbHg=kD&V3^8pD z0v3QOB&8eT@87?rgaGPrb#+ySxU;jP=nkL`nZ_{0e*BD+1Tc5b&d$oLo}8R$90gF1 z^ij>~#>R%HIRNUB_kgpQ+Lg!80Gbb2saY8>1EBeUm7A3TegK*dSciv)Wqp0!h-3im z1+1f^qq4iZ+ZEMUS63~e0I+zh`2rwd0l@!F(!7sM%_`|&0+*B!z{1(u+A9BIU&~T- z2he=L>dmc7TLXZFkeTeCHMcE|qX51{z>0ZC=xGjss*FaXGOMX+dHf8Z8hL6ntGQ_z zF9V<&dwY9jh`D7czyqj4g3S=~)zFA!0980RI4DC*Ez1%L09D8%=OHF&S@Q*;3bRfe zeL2-ZzyeT(Av4`$>R3`j096>WH7BOELD3yR70%Dk%Mk4)1W=73OH{L_UgIc$YFu7k zmRaq`&NxK?Rk*skDzlhL4IV!OsLJ*Ab@{BRT^TO}pgQC6xO~R6G8o_oU?C)>`xlc2 zriH~zU-;g$PyPA_&X!OBSU6SIeB~eKNAhF&(fs&F|1n9<+Yj^2T+4Dj%UFjr zZ%rnX^7Qmn0ANwP308gILtaQfK0Z1j0Br`Wq<=~Ka+?BxW&>7kRtZ+q>C~wJXg6S` zW|cJ1%?d#C0V@Ue)T{uY>425ig?tTsczEc(0+M8_c7^t|!sm-1Nw(}#nnLr?FgGlc zY}ut0+w(d)Uk6FDWtY;*aCdjteIX>tmhA#o+8PqHNU~+SlrTfyKRaNHBx~Ch-FJ3& z%B(Y&NwStp{rH$6Yj{YqhR=Gk~Mtw_&K$#yeTBf z7JV~bCN(VwL$c|B^>Topn-X{+7;S!yV~2^ zBgv-iMkME}U;-COwrsbABDvwg!2wA&ZMWttf5^jTl5E*7V41=|@=Hu>NJ^O8(7b4p z&ChgC(LF5>Md#{+4LgS{%KA|H(Xv`l4P^KdiBKB*_;1&m|Q7!{|O$ k%vVK{T!hwqk^D0L0mO==@4IV9lK=n!07*qoM6N<$f|Ge;n*aa+ literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/loading.gif b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..68f01d04813c1f622810864a3aaa04b4a17ac8f9 GIT binary patch literal 1737 zcmaKsX;2e)7>CzDa{xjjy99|1A!tC(kfocDi)<1$AxHpOQ4k^l!Vx1W6x7<&|FYXU zqO4jEiU-!VR1p+Xj1?4-iuI_J;!&?!+ghg|JJad3U)pMGzcKxNeCM6tJnuX+uPvX@ zZY|=AHdxt2Xr2y*)5|c6#FSEuyJ+Y3Z&l z2hJWo`9;lJ$6wzSoW60tqkB|d$oiO*d-^85^ojn{*NR{MP*%{@H*#gihZ8BKyB68E z-MIbjgNNV0y5khpJ^Jv`51aR%={<4jhaVq5e*9D5+*hL)XCHn4{^d%hPu@?KpKbc=eN!D=XUjDmH#n{YHNS zHCX6BV)yn2CuTNujhN~V+`RKpyXO6^ht92eqhIIlQLfz6eeCnH_C7`NPNrw9ks366 z4xX9(`s~z=+1uX^ocZ$2_fBs=JihPfWYufOIuD&AU-@`>>qn~cy$1)T7CU!5z2(U8 z)9Kt9)l`f6?NU41j6XbXfR{OHwm|T4}&24tIf+!C-g~6cQfY2^n$?AT&ZW zgqm`}3-jS2NS6n=k;sr5Hv(Q%%n)qW0X|neWVBd;Ko}d(=u%?{O0-a>kSI}shOd9n z5top}%gUCf=>?tg;*;#7!^HOL3k$fMxd=O-6Y4@%u8LS)C1D_a?27R6^vcC+6tttL z)GmTahbyJB!xmcHL#ya8ZXyfRl)a!N0BJE0y3BBfAV5;#=K&Z2VkaKZ)?9`1h5P_% znt*b}%j1|#j`b|aQDx@~wA#$PYRN2xE6UO;;vE(@$&xww-s8fZ5HmJ(eJ*rQrDbaawDbrfe_8F(wq{ge?)qQG`aXV;r(*6EM|ESje;52aFmrX!f=Pw^2oGQX$1|o4yts|b_5@w_kNwtl{wDP#JGMvIp#!SYX?Wq9S&`&_ZwkgGH5CLB7DEGJ6=R4J~p3Z4i^A}hs=-uZeD zs92l6u@**R$~L()G{5N8*7cE5-q$SCo`q4|NSVF*+A7&xZnypm$EdXgf)E%(VJHFD zSgi(H!D!(;9Zcc#GrCCJh=RlvXBQ-hv4Vodse`a32ZUFWgP5ZhM5LeV(#D^H8p@Lg ztra5R32z@1rQv{6u&RZL5%Z@Ye{q|t#6aM_1hIrpl@)oH6}os*cbAQywa{5<`ekzW O1il%9bk82&KlvLjD^%40 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/menu_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/menu_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..b986842e7e4044caed18edbcb4b376a4bb915623 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQt6&9jv*Dd-cB{-J7B=U{PTZ! zWrKV9%Z3|Wt5t$(gq+#d+-OocB$0fsr9DfRx52vPhSu$$+yXuy+69hDZ54DDTxx#r zL7>-12UT01v)>tZ+;HI4pDNf?@KK~EC$@35ykmXyu^HJF3})N>8P9Uwo&~g$!PC{x JWt~$(697!FIeGv9 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/messager_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/messager_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..86b0b0e6c73d6bdedc843763484982e5c9e71b0e GIT binary patch literal 2224 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 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/passwordbox_open.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/passwordbox_open.png new file mode 100644 index 0000000000000000000000000000000000000000..0f25d535e05b22b406fd72647611aace9cfa6249 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>7Fi*Ar-fh6C~yxIB_Cl)5eV- z>r;4yl-<@d?s6;P338s2rmQ?!Qz1HW#so#C46Xx7Cq5}K`Svo!h;^q;DRB5^Z?=`` zg<12Qetm(ByO<;&a5^L{7TnL>!KiVsAxlibJl4>NC!c|#Jtt+3rSZgWpp^`su6{1- HoD!M<3i~r2 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/searchbox_button.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/searchbox_button.png new file mode 100644 index 0000000000000000000000000000000000000000..6dd1931589b453f6cc9772fd1851d8705d6b6631 GIT binary patch literal 813 zcmV+|1JeA7P)lXvaa)1B=8vtU6i;3jw7+Lm8D5$Z@i10EnF)=bcefw4K z$^E-CUfjQG`svfBbfD6|R#sLFj6lo3FG$G6@;ee>>~6i|H^5OY8c00W#fi<*1vzh{0&qu3dB`V0{{XDY`}(1n>S9M(9!zw#!&`A z#;*+0{6GVMSeWGp!`o{o8NPge#o%jgs54WT$qnQYpsyGNpauX05F;oJfZ`Pdw6!$j zynTH0RMa&!n3$Pa9zVGEY{&L(3qnPBl_DG6<9Xk0`Fl3`LiD4@pH{vDsxJWQ1qdJp zEJ>M}osCtQlY?CgW>F{;gVK#SmgoOZnEn5J%EtIXaWQXAO>Rdf)WFR;gt~f zXaA3z{{L{q=l48y!32yJ3i0hJ2BS=^}@sXzH{F9Iq&OW375;I7CG-}Vr|aF#l<(fySwu2>`YdxRW*W0f#2un=W5Jmvoe`XCK%I_Y++#`fwE+= zSd{sEULGDE%A=#BOW<6gP*6VfMa^fr8qe`5w%)P0a^Y9WGTw! zvI^|$>l@1Da^Ke1*T3RdY7KqM%gaBb(P+oP!GW;b?ZRfW3Bxc1H@GCaHK#XhZ*Lc= zRBC@>V&W#x&B5%(#>OW5`};d6I5Qw218EG_q@1gtr!Nl*v7yn?(MPMRt4SNy%--JK zanm#f^bw^}Nr7b(EUg}TUi(2;)deX10lAo=83+VA(QksJI6(zwptET-y~avN=J9w$ zI2`W5lG|aOkjY7(&!@;Jx*nUA>~J`Q)9L&(G8y=g$3a4YgD7z)5>gXQNKhw=uR0zF z#jHruh)gDv=bj|2ZES4(fEM?I!JyKqo=}sj-fBYTcDt4KXq)eFQH}wW`vh%Mla}#@ z@Mb`C)x@YkK{xd2>8ZLg+E!Lps$Q@6DY-~!0=Gs+Mm~_JnW1EbX2uxClEdN>Y@I78 z=ke_9?7sX@o0*x}M{JB77MIXj_MmNE%+1Xe{*{crh)9={dR(U;y-{jrxUXmG%Gt002ovPDHLkV1hy(sXhPz literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/spinner_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/spinner_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..b1773c24b20b30318e38c4b84690e3d0010c9c43 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQZb$`jv*Ddk`p9Y7bl4DgeBzU z{E=^QXHHmRmEiEUJ<_jB`NK-}t7{l}8A{FvOK}{T)p$BC>8|6-x-MIXOa{IRh5%#E x$&;(vVs#x>vb(K5c#%QkA)^788{=C>2L8QE5AM%P*8@KmF984m literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/tabs_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/tabs_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..4dbacce18ec1310d22dc4de8ff895f597b0d61eb GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^20$#p!3HD)*8SNCq{2L1978H@B_~L*E^hdC;Kq#~ z_8gbJY-45o``Fp;2v4zS5!xHXwo~JmL(T+=yD|FVdQ&MBb@0IQ}mHUIzs literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/tagbox_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/tagbox_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..8ec64360884b3fdb81255ad6074bc08ed183232c GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel#i#2V@SoVtb9vwNkrdSr%AfUpK=5(o}_e|{SG6u6f5&Q g4t5*qz9vC-hN^}472i&@1{u%b>FVdQ&MBb@08Zm4@c;k- literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/tree_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/tree_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..e9be4f3a9965e49a4e4078f8c53f486d761a7468 GIT binary patch literal 3115 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 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/validatebox_warning.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/images/validatebox_warning.png new file mode 100644 index 0000000000000000000000000000000000000000..2b3d4f05babf3f82b146350e96570fac02075de0 GIT binary patch literal 921 zcmV;K17`e*P)nRv1_mBsMY*-M^XCf)eflW5 z|MC^)Hw+AW{sHCCF+cz@{fF8J!+#-kxoSv=7^|!zgOQUngSQ}mDo|J)n+pH}hzZ#= zr~y18$_m-?9v%$;?mu8);}>9vFgFvDXJDwrW&l6{p}625M66yTFhGz^K$w9^O$BHi zFN2Ym7DIple*#cW4BY^L0Al(Jbv6k9U|^6IQBp{hx3XdQ&CJ4Z_|YSVr@XujY(PVT zlok1<85nBO4FCurumK>O|A07*jFlSRUcxLAQVcIR*co#3@)&jj4Pj7KXRri%#h;fa z4ya5O*#Lk5Vq!q}T~=CGH(uV-hJk^fkAYoGjN#AMuMF($>N=giWG}IXse|=+c=i>7HEg>%*E%fLD!-uy|85n^6W?^Dt(9zXp5EB&z+w>_knBmdiKMbzi z?A!`WOl>e100a=&05*1xZdFls?*HtZ48H?o7=HW%ivIu45E2~BASWx!@DIpmv9e}h zaPwji|L}pqor@y`=yxrU0RRES^qYY}O;TRcU+DKIhL4`%3_nyf8U6tS<<-ZJ40D$( zWjJ%`G6NIPHNP2{7am*Fp% z{>ShK#0G`~kjd~57_BU.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; + left: 50%; + margin-left: -8px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 25px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 0px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/passwordbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/passwordbox.css new file mode 100644 index 0000000..92c9ce5 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/passwordbox.css @@ -0,0 +1,6 @@ +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/progressbar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/progressbar.css new file mode 100644 index 0000000..1acc690 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/progressbar.css @@ -0,0 +1,33 @@ +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 4px 0 0 4px; + -webkit-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.progressbar { + border-color: #dfdfdf; +} +.progressbar-text { + color: #404040; + font-size: 14px; +} +.progressbar-value, +.progressbar-value .progressbar-text { + background-color: #eee; + color: #39c; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/propertygrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/propertygrid.css new file mode 100644 index 0000000..03e222b --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/propertygrid.css @@ -0,0 +1,27 @@ +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #dfdfdf; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #fafafa; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #dfdfdf; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #fafafa; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/radiobutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/radiobutton.css new file mode 100644 index 0000000..8e439ee --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/radiobutton.css @@ -0,0 +1,25 @@ +.radiobutton { + position: relative; + border: 2px solid #39c; + border-radius: 50%; +} +.radiobutton-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + background: #39c; + border-radius: 50%; + transform: scale(.6); +} +.radiobutton-disabled { + opacity: 0.6; +} +.radiobutton-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/searchbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/searchbox.css new file mode 100644 index 0000000..fc3cb10 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/searchbox.css @@ -0,0 +1,61 @@ +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #fafafa; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/sidemenu.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/sidemenu.css new file mode 100644 index 0000000..cc6739a --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/sidemenu.css @@ -0,0 +1,72 @@ +.sidemenu .tree-hit { + background-image: none; +} +.sidemenu-default-icon { + background-image: none; + width: 0; +} +.sidemenu .accordion .accordion-header, +.sidemenu .accordion .accordion-body { + border-bottom-color: transparent; + background: transparent; +} +.sidemenu .accordion .accordion-header { + color: #404040; +} +.sidemenu .accordion-header .panel-title { + height: 30px; + line-height: 30px; + color: #404040; +} +.sidemenu .accordion-header:hover { + background: #eee; + color: #404040; +} +.sidemenu .tree-node-hover { + background: #eee; + color: #404040; +} +.sidemenu .tree-node-selected { + border-right: 2px solid #39c; + color: #39c; + background: #eee; +} +.sidemenu .tree-node { + height: 40px; +} +.sidemenu .tree-title { + margin: 11px 0; +} +.sidemenu .tree-node-nonleaf { + position: relative; +} +.sidemenu .tree-node-nonleaf::after { + display: inline-block; + content: ''; + position: absolute; + top: 50%; + margin-top: -8px; + background: url('images/accordion_arrows.png') no-repeat 0 0; + width: 16px; + height: 16px; + right: 5px; +} +.sidemenu .tree-node-nonleaf-collapsed::after { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.sidemenu-collapsed .panel-icon { + left: 50%; + margin-left: -8px; +} +.sidemenu-tooltip { + padding: 0; + margin: 0 -12px; + border: 0; +} +.sidemenu-tooltip.tooltip-left { + margin: 0 12px; +} +.sidemenu-tooltip .tooltip-arrow-outer, +.sidemenu-tooltip .tooltip-arrow { + display: none; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/slider.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/slider.css new file mode 100644 index 0000000..7e4a91c --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/slider.css @@ -0,0 +1,101 @@ +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 4px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 14px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 14px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #dfdfdf; + background: #fafafa; +} +.slider-rule span { + border-color: #dfdfdf; +} +.slider-rulelabel span { + color: #404040; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/spinner.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/spinner.css new file mode 100644 index 0000000..f81643c --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/spinner.css @@ -0,0 +1,114 @@ +.spinner-arrow { + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow.spinner-button-top, +.spinner-arrow.spinner-button-bottom, +.spinner-arrow.spinner-button-left, +.spinner-arrow.spinner-button-right { + background-color: #fafafa; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #404040; + outline-style: none; + background-color: #fafafa; +} +.spinner-button-updown { + opacity: 1.0; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + position: relative; + display: block; + width: 100%; + height: 50%; +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down { + opacity: 1.0; + filter: alpha(opacity=100); + cursor: pointer; + width: 16px; + height: 16px; + top: 50%; + left: 50%; + margin-top: -8px; + margin-left: -8px; + position: absolute; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-button-updown .spinner-button-top:hover, +.spinner-button-updown .spinner-button-bottom:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down, +.spinner-button-updown .spinner-arrow-up:hover, +.spinner-button-updown .spinner-arrow-down:hover { + background-color: transparent; +} +.spinner-arrow-hover { + background-color: #eee; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-top:hover, +.spinner-button-bottom:hover, +.spinner-button-left:hover, +.spinner-button-right:hover, +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #eee; +} +.textbox-disabled .spinner-button-top:hover, +.textbox-disabled .spinner-button-bottom:hover, +.textbox-disabled .spinner-button-left:hover, +.textbox-disabled .spinner-button-right:hover, +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #fafafa; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; + background-color: #fafafa; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; + background-color: #fafafa; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/splitbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/splitbutton.css new file mode 100644 index 0000000..2ad86f7 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/splitbutton.css @@ -0,0 +1,12 @@ +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #ccc; + border-width: 0 0 0 1px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/switchbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/switchbutton.css new file mode 100644 index 0000000..701657a --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/switchbutton.css @@ -0,0 +1,77 @@ +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #dfdfdf; + border: 1px solid #dfdfdf; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 14px; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.switchbutton-on { + background: #eee; + color: #39c; +} +.switchbutton-off { + background-color: #ffffff; + color: #404040; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 4px 0 0 4px; + -webkit-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 4px 4px 0; + -webkit-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #ffffff; + color: #404040; + border: 1px solid #dfdfdf; + -moz-box-shadow: 0 0 3px 0 #dfdfdf; + -webkit-box-shadow: 0 0 3px 0 #dfdfdf; + box-shadow: 0 0 3px 0 #dfdfdf; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tabs.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tabs.css new file mode 100644 index 0000000..e438b0b --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tabs.css @@ -0,0 +1,377 @@ +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 4px 4px 0 0; + -webkit-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 14px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 4px 4px; + -webkit-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 4px 0 0 4px; + -webkit-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 4px 4px 0; + -webkit-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #fafafa url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #fafafa url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #eee; + color: #404040; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #ffffff; + color: #404040; +} +.tabs li a.tabs-inner { + color: #404040; + background-color: #fafafa; +} +.tabs-header, +.tabs-tool { + background-color: #fafafa; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #dfdfdf; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #eee; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #ffffff; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #ffffff; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #ffffff; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #ffffff; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #eee; + color: #39c; + filter: none; + border-color: #dfdfdf; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tagbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tagbox.css new file mode 100644 index 0000000..16ff414 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tagbox.css @@ -0,0 +1,44 @@ +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; + background: #eee; + color: #404040; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/textbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/textbox.css new file mode 100644 index 0000000..60f5ce2 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/textbox.css @@ -0,0 +1,144 @@ +.textbox { + position: relative; + border: 1px solid #dfdfdf; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.textbox .textbox-text { + font-size: 14px; + border: 0; + margin: 0; + padding: 0 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; + height: 28px; + line-height: 28px; +} +.textbox textarea.textbox-text { + line-height: normal; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 14px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 30px; + line-height: 30px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #c6c6c6; + -moz-box-shadow: 0 0 3px 0 #dfdfdf; + -webkit-box-shadow: 0 0 3px 0 #dfdfdf; + box-shadow: 0 0 3px 0 #dfdfdf; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tooltip.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tooltip.css new file mode 100644 index 0000000..8f1055d --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tooltip.css @@ -0,0 +1,103 @@ +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.tooltip-content { + font-size: 14px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #ffffff; + border-color: #dfdfdf; + color: #404040; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #dfdfdf; +} +.tooltip-right .tooltip-arrow { + border-right-color: #ffffff; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #dfdfdf; +} +.tooltip-left .tooltip-arrow { + border-left-color: #ffffff; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #dfdfdf; +} +.tooltip-top .tooltip-arrow { + border-top-color: #ffffff; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #dfdfdf; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #ffffff; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tree.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tree.css new file mode 100644 index 0000000..51d1ee0 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/tree.css @@ -0,0 +1,164 @@ +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 26px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + margin: 4px 0; + vertical-align: middle; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 14px; + display: inline-block; + text-decoration: none; + vertical-align: middle; + white-space: nowrap; + padding: 0 2px; + margin: 4px 0; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 14px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #dfdfdf; + font-size: 14px; + height: 26px; + line-height: 26px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: middle; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #ffffff; + color: #404040; + border-color: #dfdfdf; +} +.tree-node-hover { + background: #eee; + color: #404040; +} +.tree-node-selected { + background: #eee; + color: #39c; +} +.tree-node-hidden { + display: none; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/validatebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/validatebox.css new file mode 100644 index 0000000..f03f26b --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/validatebox.css @@ -0,0 +1,13 @@ +.inputbox { + display: inline-block; + vertical-align: middle; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; +} +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff; + color: #404040; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/window.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/window.css new file mode 100644 index 0000000..542f071 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material-teal/window.css @@ -0,0 +1,182 @@ +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.window-shadow { + background: #ccc; + -moz-box-shadow: 2px 2px 3px #cccccc; + -webkit-box-shadow: 2px 2px 3px #cccccc; + box-shadow: 2px 2px 3px #cccccc; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #dfdfdf; +} +.window { + background-color: #fafafa; +} +.window-proxy { + border: 1px dashed #dfdfdf; +} +.window-proxy-mask, +.window-mask { + background: #eee; +} +.window .panel-footer { + border: 1px solid #dfdfdf; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-footer { + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/accordion.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/accordion.css new file mode 100644 index 0000000..51d0c70 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/accordion.css @@ -0,0 +1,89 @@ +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #ffffff; + border-color: #ddd; +} +.accordion .accordion-header { + background: #f5f5f5; + filter: none; +} +.accordion .accordion-header-selected { + background: #00bbee; +} +.accordion .accordion-header-selected .panel-title { + color: #fff; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #f5f5f5; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #ffffff; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #ddd; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #f5f5f5; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #ffffff; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #ddd; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #f5f5f5; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #ffffff; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #ddd; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/calendar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/calendar.css new file mode 100644 index 0000000..cd20627 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/calendar.css @@ -0,0 +1,203 @@ +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 14px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 14px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 28px; +} +.calendar-title { + text-align: center; + height: 28px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 0px; + padding: 0 3px; + height: 28px; + line-height: 28px; + font-size: 14px; + cursor: pointer; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -8px; + width: 16px; + height: 16px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -16px 0; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -32px 0; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat 0px 0; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -48px 0; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 14px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 80px; + line-height: 26px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 0; + font-weight: bold; + font-size: 14px; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 25px; + height: 28px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 5px center; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -44px center; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-body th, +.calendar-menu-month { + color: #8d8d8d; +} +.calendar-day { + color: #404040; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #ddd; +} +.calendar { + border-color: #ddd; +} +.calendar-header { + background: #f5f5f5; +} +.calendar-body, +.calendar-menu { + background: #ffffff; +} +.calendar-body th { + background: #fafafa; + padding: 4px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #eee; + color: #404040; +} +.calendar-hover { + border: 1px solid #ccc; + padding: 0; +} +.calendar-selected { + background-color: #00bbee; + color: #fff; + border: 1px solid #00bbee; + padding: 0; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/checkbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/checkbox.css new file mode 100644 index 0000000..5180d43 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/checkbox.css @@ -0,0 +1,31 @@ +.checkbox { + position: relative; + border: 2px solid #00bbee; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.checkbox-checked { + border: 0; + background: #00bbee; +} +.checkbox-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; +} +.checkbox path { + stroke-width: 2px; +} +.checkbox-disabled { + opacity: 0.6; +} +.checkbox-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/combo.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/combo.css new file mode 100644 index 0000000..622d7c2 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/combo.css @@ -0,0 +1,35 @@ +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #ffffff; +} +.combo-arrow { + background-color: #f5f5f5; +} +.combo-arrow-hover { + background-color: #eee; +} +.combo-arrow:hover { + background-color: #eee; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/combobox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/combobox.css new file mode 100644 index 0000000..619efd4 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/combobox.css @@ -0,0 +1,40 @@ +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 14px; + padding: 6px 4px; + line-height: 20px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #eee; + color: #404040; +} +.combobox-item-selected { + background-color: #00bbee; + color: #fff; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/datagrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/datagrid.css new file mode 100644 index 0000000..bbc719a --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/datagrid.css @@ -0,0 +1,285 @@ +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 32px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 14px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 14px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #ddd; + font-size: 14px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #fafafa; +} +.datagrid-cell-rownumber { + color: #404040; +} +.datagrid-resize-proxy { + background: #ccc; +} +.datagrid-mask { + background: #eee; +} +.datagrid-mask-msg { + border-color: #ddd; +} +.datagrid-toolbar, +.datagrid-pager { + background: #fafafa; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #eee; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #ebebeb; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #404040; + border-collapse: separate; +} +.datagrid-row-alt { + background: #f9f9f9; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #eee; + color: #404040; + cursor: default; +} +.datagrid-row-selected { + background: #00bbee; + color: #fff; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-header .datagrid-filter-row td.datagrid-header-over { + background: inherit; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/datalist.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/datalist.css new file mode 100644 index 0000000..27617f0 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/datalist.css @@ -0,0 +1,95 @@ +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #fafafa; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ebebeb; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #404040; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ebebeb; +} +.m-list li>a:hover { + background: #eee; + color: #404040; +} +.m-list .m-list-group { + padding: 0 4px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/datebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/datebox.css new file mode 100644 index 0000000..392b779 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/datebox.css @@ -0,0 +1,36 @@ +.datebox-calendar-inner { + height: 250px; +} +.datebox-button { + padding: 4px 0; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 14px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #fafafa; +} +.datebox-button a { + color: #404040; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/dialog.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/dialog.css new file mode 100644 index 0000000..82a1bb8 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/dialog.css @@ -0,0 +1,47 @@ +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #fafafa; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #ddd #ddd #eee #ddd; +} +.dialog-button { + border-color: #eee #ddd #ddd #ddd; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #fafafa; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/easyui.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/easyui.css new file mode 100644 index 0000000..7535f6c --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/easyui.css @@ -0,0 +1,3447 @@ +.panel { + overflow: hidden; + text-align: left; + margin: 0; + border: 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.panel-header, +.panel-body { + border-width: 1px; + border-style: solid; +} +.panel-header { + padding: 5px; + position: relative; +} +.panel-title { + background: url('images/blank.gif') no-repeat; +} +.panel-header-noborder { + border-width: 0 0 1px 0; +} +.panel-body { + overflow: auto; + border-top-width: 0; + padding: 0; +} +.panel-body-noheader { + border-top-width: 1px; +} +.panel-body-noborder { + border-width: 0px; +} +.panel-body-nobottom { + border-bottom-width: 0; +} +.panel-with-icon { + padding-left: 18px; +} +.panel-icon, +.panel-tool { + position: absolute; + top: 50%; + margin-top: -8px; + height: 16px; + overflow: hidden; +} +.panel-icon { + left: 5px; + width: 16px; +} +.panel-tool { + right: 5px; + width: auto; +} +.panel-tool a { + display: inline-block; + width: 16px; + height: 16px; + opacity: 0.6; + filter: alpha(opacity=60); + margin: 0 0 0 2px; + vertical-align: top; +} +.panel-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + background-color: #eee; + -moz-border-radius: 2px 2px 2px 2px; + -webkit-border-radius: 2px 2px 2px 2px; + border-radius: 2px 2px 2px 2px; +} +.panel-loading { + padding: 11px 0px 10px 30px; +} +.panel-noscroll { + overflow: hidden; +} +.panel-fit, +.panel-fit body { + height: 100%; + margin: 0; + padding: 0; + border: 0; + overflow: hidden; +} +.panel-loading { + background: url('images/loading.gif') no-repeat 10px 10px; +} +.panel-tool-close { + background: url('images/panel_tools.png') no-repeat -16px 0px; +} +.panel-tool-min { + background: url('images/panel_tools.png') no-repeat 0px 0px; +} +.panel-tool-max { + background: url('images/panel_tools.png') no-repeat 0px -16px; +} +.panel-tool-restore { + background: url('images/panel_tools.png') no-repeat -16px -16px; +} +.panel-tool-collapse { + background: url('images/panel_tools.png') no-repeat -32px 0; +} +.panel-tool-expand { + background: url('images/panel_tools.png') no-repeat -32px -16px; +} +.panel-header, +.panel-body { + border-color: #ddd; +} +.panel-header { + background-color: #f5f5f5; +} +.panel-body { + background-color: #ffffff; + color: #404040; + font-size: 14px; +} +.panel-title { + font-size: 14px; + font-weight: bold; + color: #000000; + height: 20px; + line-height: 20px; +} +.panel-footer { + border: 1px solid #ddd; + overflow: hidden; + background: #fafafa; +} +.panel-footer-noborder { + border-width: 1px 0 0 0; +} +.panel-hleft, +.panel-hright { + position: relative; +} +.panel-hleft>.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; + left: 50%; + margin-left: -8px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 25px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 0px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #ffffff; + border-color: #ddd; +} +.accordion .accordion-header { + background: #f5f5f5; + filter: none; +} +.accordion .accordion-header-selected { + background: #00bbee; +} +.accordion .accordion-header-selected .panel-title { + color: #fff; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #f5f5f5; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #ffffff; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #ddd; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #f5f5f5; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #ffffff; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #ddd; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #f5f5f5; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #ffffff; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #ddd; +} +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.window-shadow { + background: #fafafa; + -moz-box-shadow: 2px 2px 3px #fafafa; + -webkit-box-shadow: 2px 2px 3px #fafafa; + box-shadow: 2px 2px 3px #fafafa; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #ddd; +} +.window { + background-color: #f5f5f5; +} +.window-proxy { + border: 1px dashed #ddd; +} +.window-proxy-mask, +.window-mask { + background: #eee; +} +.window .panel-footer { + border: 1px solid #ddd; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-footer { + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #fafafa; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #ddd #ddd #eee #ddd; +} +.dialog-button { + border-color: #eee #ddd #ddd #ddd; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #fafafa; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.l-btn { + text-decoration: none; + display: inline-block; + overflow: hidden; + margin: 0; + padding: 0; + cursor: pointer; + outline: none; + text-align: center; + vertical-align: middle; + line-height: normal; +} +.l-btn-plain { + border-width: 0; + padding: 1px; +} +.l-btn-left { + display: inline-block; + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + vertical-align: top; +} +.l-btn-text { + display: inline-block; + vertical-align: top; + width: auto; + line-height: 28px; + font-size: 14px; + padding: 0; + margin: 0 6px; +} +.l-btn-icon { + display: inline-block; + width: 16px; + height: 16px; + line-height: 16px; + position: absolute; + top: 50%; + margin-top: -8px; + font-size: 1px; +} +.l-btn span span .l-btn-empty { + display: inline-block; + margin: 0; + width: 16px; + height: 24px; + font-size: 1px; + vertical-align: top; +} +.l-btn span .l-btn-icon-left { + padding: 0 0 0 20px; + background-position: left center; +} +.l-btn span .l-btn-icon-right { + padding: 0 20px 0 0; + background-position: right center; +} +.l-btn-icon-left .l-btn-text { + margin: 0 6px 0 26px; +} +.l-btn-icon-left .l-btn-icon { + left: 6px; +} +.l-btn-icon-right .l-btn-text { + margin: 0 26px 0 6px; +} +.l-btn-icon-right .l-btn-icon { + right: 6px; +} +.l-btn-icon-top .l-btn-text { + margin: 20px 4px 0 4px; +} +.l-btn-icon-top .l-btn-icon { + top: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-icon-bottom .l-btn-text { + margin: 0 4px 20px 4px; +} +.l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-left .l-btn-empty { + margin: 0 6px; + width: 16px; +} +.l-btn-plain:hover { + padding: 0; +} +.l-btn-focus { + outline: #0000FF dotted thin; +} +.l-btn-large .l-btn-text { + line-height: 44px; +} +.l-btn-large .l-btn-icon { + width: 32px; + height: 32px; + line-height: 32px; + margin-top: -16px; +} +.l-btn-large .l-btn-icon-left .l-btn-text { + margin-left: 40px; +} +.l-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.l-btn-large .l-btn-icon-top .l-btn-text { + margin-top: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-top .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-left .l-btn-empty { + margin: 0 6px; + width: 32px; +} +.l-btn { + color: #404040; + background: #fafafa; + background-repeat: repeat-x; + border: 1px solid #d9d9d9; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.l-btn:hover { + background: #eee; + color: #404040; + border: 1px solid #ccc; + filter: none; +} +.l-btn-plain { + background: transparent; + border-width: 0; + filter: none; +} +.l-btn-outline { + border-width: 1px; + border-color: #ccc; + padding: 0; +} +.l-btn-plain:hover { + background: #eee; + color: #404040; + border: 1px solid #ccc; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.l-btn-disabled, +.l-btn-disabled:hover { + opacity: 0.5; + cursor: default; + background: #fafafa; + color: #404040; +} +.l-btn-disabled .l-btn-text, +.l-btn-disabled .l-btn-icon { + filter: alpha(opacity=50); +} +.l-btn-plain-disabled, +.l-btn-plain-disabled:hover { + background: transparent; + filter: alpha(opacity=50); +} +.l-btn-selected, +.l-btn-selected:hover { + background: #00bbee; + filter: none; +} +.l-btn-plain-selected, +.l-btn-plain-selected:hover { + background: #00bbee; +} +.textbox { + position: relative; + border: 1px solid #ddd; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.textbox .textbox-text { + font-size: 14px; + border: 0; + margin: 0; + padding: 0 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; + height: 28px; + line-height: 28px; +} +.textbox textarea.textbox-text { + line-height: normal; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 14px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 30px; + line-height: 30px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #c4c4c4; + -moz-box-shadow: 0 0 3px 0 #ddd; + -webkit-box-shadow: 0 0 3px 0 #ddd; + box-shadow: 0 0 3px 0 #ddd; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff; +} +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #ffffff; +} +.combo-arrow { + background-color: #f5f5f5; +} +.combo-arrow-hover { + background-color: #eee; +} +.combo-arrow:hover { + background-color: #eee; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 14px; + padding: 6px 4px; + line-height: 20px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #eee; + color: #404040; +} +.combobox-item-selected { + background-color: #00bbee; + color: #fff; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; + background: #eee; + color: #404040; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} +.layout { + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + z-index: 0; +} +.layout-panel { + position: absolute; + overflow: hidden; +} +.layout-body { + min-width: 1px; + min-height: 1px; +} +.layout-panel-east, +.layout-panel-west { + z-index: 2; +} +.layout-panel-north, +.layout-panel-south { + z-index: 3; +} +.layout-expand { + position: absolute; + padding: 0px; + font-size: 1px; + cursor: pointer; + z-index: 1; +} +.layout-expand .panel-header, +.layout-expand .panel-body { + background: transparent; + filter: none; + overflow: hidden; +} +.layout-expand .panel-header { + border-bottom-width: 0px; +} +.layout-expand .panel-body { + position: relative; +} +.layout-expand .panel-body .panel-icon { + margin-top: 0; + top: 0; + left: 50%; + margin-left: -8px; +} +.layout-expand-west .panel-header .panel-icon, +.layout-expand-east .panel-header .panel-icon { + display: none; +} +.layout-expand-title { + position: absolute; + top: 0; + left: 21px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.layout-expand-title-up { + position: absolute; + top: 0; + left: 0; + text-align: right; + padding-left: 5px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 0; +} +.layout-expand-with-icon { + top: 18px; +} +.layout-expand .panel-body-noheader .layout-expand-title, +.layout-expand .panel-body-noheader .panel-icon { + top: 5px; +} +.layout-expand .panel-body-noheader .layout-expand-with-icon { + top: 23px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + position: absolute; + font-size: 1px; + display: none; + z-index: 5; +} +.layout-split-proxy-h { + width: 5px; + cursor: e-resize; +} +.layout-split-proxy-v { + height: 5px; + cursor: n-resize; +} +.layout-mask { + position: absolute; + background: #fafafa; + filter: alpha(opacity=10); + opacity: 0.10; + z-index: 4; +} +.layout-button-up { + background: url('images/layout_arrows.png') no-repeat -16px -16px; +} +.layout-button-down { + background: url('images/layout_arrows.png') no-repeat -16px 0; +} +.layout-button-left { + background: url('images/layout_arrows.png') no-repeat 0 0; +} +.layout-button-right { + background: url('images/layout_arrows.png') no-repeat 0 -16px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + background-color: #ccc; +} +.layout-split-north { + border-bottom: 5px solid #ffffff; +} +.layout-split-south { + border-top: 5px solid #ffffff; +} +.layout-split-east { + border-left: 5px solid #ffffff; +} +.layout-split-west { + border-right: 5px solid #ffffff; +} +.layout-expand { + background-color: #f5f5f5; +} +.layout-expand-over { + background-color: #f5f5f5; +} +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 4px 4px 0 0; + -webkit-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 14px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 4px 4px; + -webkit-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 4px 0 0 4px; + -webkit-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 4px 4px 0; + -webkit-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #f5f5f5 url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #f5f5f5 url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #eee; + color: #404040; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #ffffff; + color: #000000; +} +.tabs li a.tabs-inner { + color: #000000; + background-color: #f5f5f5; +} +.tabs-header, +.tabs-tool { + background-color: #f5f5f5; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #ddd; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #eee; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #ffffff; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #ffffff; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #ffffff; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #ffffff; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #00bbee; + color: #fff; + filter: none; + border-color: #ddd; +} +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 32px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 14px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 14px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #ddd; + font-size: 14px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #fafafa; +} +.datagrid-cell-rownumber { + color: #404040; +} +.datagrid-resize-proxy { + background: #ccc; +} +.datagrid-mask { + background: #eee; +} +.datagrid-mask-msg { + border-color: #ddd; +} +.datagrid-toolbar, +.datagrid-pager { + background: #fafafa; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #eee; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #ebebeb; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #404040; + border-collapse: separate; +} +.datagrid-row-alt { + background: #f9f9f9; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #eee; + color: #404040; + cursor: default; +} +.datagrid-row-selected { + background: #00bbee; + color: #fff; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-header .datagrid-filter-row td.datagrid-header-over { + background: inherit; +} +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #eee; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #f5f5f5; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #eee; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #f5f5f5; +} +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #fafafa; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ebebeb; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #404040; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ebebeb; +} +.m-list li>a:hover { + background: #eee; + color: #404040; +} +.m-list .m-list-group { + padding: 0 4px; +} +.pagination { + zoom: 1; + padding: 2px; +} +.pagination table { + float: left; + height: 30px; +} +.pagination td { + border: 0; +} +.pagination-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 3px 1px; +} +.pagination .pagination-num { + border-width: 1px; + border-style: solid; + margin: 0 2px; + padding: 2px; + width: 3em; + height: auto; + text-align: center; + font-size: 14px; +} +.pagination-page-list { + margin: 0px 6px; + padding: 1px 2px; + width: auto; + height: auto; + border-width: 1px; + border-style: solid; +} +.pagination-info { + float: right; + margin: 0 6px; + padding: 0; + height: 30px; + line-height: 30px; + font-size: 14px; +} +.pagination span { + font-size: 14px; +} +.pagination-link .l-btn-text { + box-sizing: border-box; + text-align: center; + margin: 0; + padding: 0 .5em; + width: auto; + min-width: 28px; +} +.pagination-first { + background: url('images/pagination_icons.png') no-repeat 0 center; +} +.pagination-prev { + background: url('images/pagination_icons.png') no-repeat -16px center; +} +.pagination-next { + background: url('images/pagination_icons.png') no-repeat -32px center; +} +.pagination-last { + background: url('images/pagination_icons.png') no-repeat -48px center; +} +.pagination-load { + background: url('images/pagination_icons.png') no-repeat -64px center; +} +.pagination-loading { + background: url('images/loading.gif') no-repeat center center; +} +.pagination-page-list, +.pagination .pagination-num { + border-color: #ddd; +} +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 14px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 14px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 28px; +} +.calendar-title { + text-align: center; + height: 28px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 0px; + padding: 0 3px; + height: 28px; + line-height: 28px; + font-size: 14px; + cursor: pointer; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -8px; + width: 16px; + height: 16px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -16px 0; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -32px 0; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat 0px 0; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -48px 0; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 14px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 80px; + line-height: 26px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 0; + font-weight: bold; + font-size: 14px; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 25px; + height: 28px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 5px center; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -44px center; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-body th, +.calendar-menu-month { + color: #8d8d8d; +} +.calendar-day { + color: #404040; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #ddd; +} +.calendar { + border-color: #ddd; +} +.calendar-header { + background: #f5f5f5; +} +.calendar-body, +.calendar-menu { + background: #ffffff; +} +.calendar-body th { + background: #fafafa; + padding: 4px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #eee; + color: #404040; +} +.calendar-hover { + border: 1px solid #ccc; + padding: 0; +} +.calendar-selected { + background-color: #00bbee; + color: #fff; + border: 1px solid #00bbee; + padding: 0; +} +.datebox-calendar-inner { + height: 250px; +} +.datebox-button { + padding: 4px 0; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 14px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #fafafa; +} +.datebox-button a { + color: #404040; +} +.spinner-arrow { + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow.spinner-button-top, +.spinner-arrow.spinner-button-bottom, +.spinner-arrow.spinner-button-left, +.spinner-arrow.spinner-button-right { + background-color: #f5f5f5; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #404040; + outline-style: none; + background-color: #f5f5f5; +} +.spinner-button-updown { + opacity: 1.0; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + position: relative; + display: block; + width: 100%; + height: 50%; +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down { + opacity: 1.0; + filter: alpha(opacity=100); + cursor: pointer; + width: 16px; + height: 16px; + top: 50%; + left: 50%; + margin-top: -8px; + margin-left: -8px; + position: absolute; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-button-updown .spinner-button-top:hover, +.spinner-button-updown .spinner-button-bottom:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down, +.spinner-button-updown .spinner-arrow-up:hover, +.spinner-button-updown .spinner-arrow-down:hover { + background-color: transparent; +} +.spinner-arrow-hover { + background-color: #eee; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-top:hover, +.spinner-button-bottom:hover, +.spinner-button-left:hover, +.spinner-button-right:hover, +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #eee; +} +.textbox-disabled .spinner-button-top:hover, +.textbox-disabled .spinner-button-bottom:hover, +.textbox-disabled .spinner-button-left:hover, +.textbox-disabled .spinner-button-right:hover, +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #f5f5f5; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; + background-color: #f5f5f5; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; + background-color: #f5f5f5; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 4px 0 0 4px; + -webkit-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.progressbar { + border-color: #ddd; +} +.progressbar-text { + color: #404040; + font-size: 14px; +} +.progressbar-value, +.progressbar-value .progressbar-text { + background-color: #00bbee; + color: #fff; +} +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #f5f5f5; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 4px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 14px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 14px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #ddd; + background: #f5f5f5; +} +.slider-rule span { + border-color: #ddd; +} +.slider-rulelabel span { + color: #404040; +} +.menu { + position: absolute; + margin: 0; + padding: 2px; + border-width: 1px; + border-style: solid; + overflow: hidden; +} +.menu-inline { + position: relative; +} +.menu-item { + position: relative; + margin: 0; + padding: 0; + overflow: hidden; + white-space: nowrap; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.menu-text { + height: 20px; + line-height: 20px; + float: left; + padding-left: 28px; +} +.menu-icon { + position: absolute; + width: 16px; + height: 16px; + left: 2px; + top: 50%; + margin-top: -8px; +} +.menu-rightarrow { + position: absolute; + width: 16px; + height: 16px; + right: 0; + top: 50%; + margin-top: -8px; +} +.menu-line { + position: absolute; + left: 26px; + top: 0; + height: 2000px; + font-size: 1px; +} +.menu-sep { + margin: 3px 0px 3px 25px; + font-size: 1px; +} +.menu-noline .menu-line { + display: none; +} +.menu-noline .menu-sep { + margin-left: 0; + margin-right: 0; +} +.menu-active { + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.menu-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); + cursor: default; +} +.menu-text, +.menu-text span { + font-size: 14px; +} +.menu-shadow { + position: absolute; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; + background: #fafafa; + -moz-box-shadow: 2px 2px 3px #fafafa; + -webkit-box-shadow: 2px 2px 3px #fafafa; + box-shadow: 2px 2px 3px #fafafa; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.menu-rightarrow { + background: url('images/menu_arrows.png') no-repeat -32px center; +} +.menu-line { + border-left: 1px solid #ddd; + border-right: 1px solid #fff; +} +.menu-sep { + border-top: 1px solid #ddd; + border-bottom: 1px solid #fff; +} +.menu { + background-color: #fff; + border-color: #eee; + color: #404040; +} +.menu-content { + background: #ffffff; +} +.menu-item { + border-color: transparent; + _border-color: #fff; +} +.menu-active { + border-color: #ccc; + color: #404040; + background: #eee; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #404040; +} +.m-btn-downarrow, +.s-btn-downarrow { + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + font-size: 1px; + right: 0; + top: 50%; + margin-top: -8px; +} +.m-btn-active, +.s-btn-active { + background: #eee; + color: #404040; + border: 1px solid #ccc; + filter: none; +} +.m-btn-plain-active, +.s-btn-plain-active { + background: transparent; + padding: 0; + border-width: 1px; + border-style: solid; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.m-btn .l-btn-left .l-btn-text { + margin-right: 20px; +} +.m-btn .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.m-btn .l-btn-icon-right .l-btn-icon { + right: 20px; +} +.m-btn .l-btn-icon-top .l-btn-text { + margin-right: 4px; + margin-bottom: 14px; +} +.m-btn .l-btn-icon-bottom .l-btn-text { + margin-right: 4px; + margin-bottom: 34px; +} +.m-btn .l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 20px; +} +.m-btn .l-btn-icon-top .m-btn-downarrow, +.m-btn .l-btn-icon-bottom .m-btn-downarrow { + top: auto; + bottom: 0px; + left: 50%; + margin-left: -8px; +} +.m-btn-line { + display: inline-block; + position: absolute; + font-size: 1px; + display: none; +} +.m-btn .l-btn-left .m-btn-line { + right: 0; + width: 16px; + height: 500px; + border-style: solid; + border-color: #ccc; + border-width: 0 0 0 1px; +} +.m-btn .l-btn-icon-top .m-btn-line, +.m-btn .l-btn-icon-bottom .m-btn-line { + left: 0; + bottom: 0; + width: 500px; + height: 16px; + border-width: 1px 0 0 0; +} +.m-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 56px; +} +.m-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 50px; +} +.m-btn-downarrow, +.s-btn-downarrow { + background: url('images/menu_arrows.png') no-repeat 0 center; +} +.m-btn-plain-active, +.s-btn-plain-active { + border-color: #ccc; + background-color: #eee; + color: #404040; +} +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #ccc; + border-width: 0 0 0 1px; +} +.messager-body { + padding: 10px 10px 30px 10px; + overflow: auto; +} +.messager-button { + text-align: center; + padding: 5px; +} +.messager-button .l-btn { + width: 70px; +} +.messager-icon { + float: left; + width: 32px; + height: 32px; + margin: 0 10px 10px 0; +} +.messager-error { + background: url('images/messager_icons.png') no-repeat scroll -64px 0; +} +.messager-info { + background: url('images/messager_icons.png') no-repeat scroll 0 0; +} +.messager-question { + background: url('images/messager_icons.png') no-repeat scroll -32px 0; +} +.messager-warning { + background: url('images/messager_icons.png') no-repeat scroll -96px 0; +} +.messager-progress { + padding: 10px; +} +.messager-p-msg { + margin-bottom: 5px; +} +.messager-body .messager-input { + width: 100%; + padding: 4px 0; + outline-style: none; + border: 1px solid #ddd; +} +.window-thinborder .messager-button { + padding-bottom: 8px; +} +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 26px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + margin: 4px 0; + vertical-align: middle; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 14px; + display: inline-block; + text-decoration: none; + vertical-align: middle; + white-space: nowrap; + padding: 0 2px; + margin: 4px 0; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 14px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #ddd; + font-size: 14px; + height: 26px; + line-height: 26px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: middle; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #ffffff; + color: #404040; + border-color: #ddd; +} +.tree-node-hover { + background: #eee; + color: #404040; +} +.tree-node-selected { + background: #00bbee; + color: #fff; +} +.tree-node-hidden { + display: none; +} +.inputbox { + display: inline-block; + vertical-align: middle; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; +} +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff; + color: #404040; +} +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.tooltip-content { + font-size: 14px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #ffffff; + border-color: #ddd; + color: #404040; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #ddd; +} +.tooltip-right .tooltip-arrow { + border-right-color: #ffffff; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #ddd; +} +.tooltip-left .tooltip-arrow { + border-left-color: #ffffff; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #ddd; +} +.tooltip-top .tooltip-arrow { + border-top-color: #ffffff; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #ddd; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #ffffff; +} +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #d9d9d9; + border: 1px solid #d9d9d9; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 14px; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.switchbutton-on { + background: #00bbee; + color: #fff; +} +.switchbutton-off { + background-color: #ffffff; + color: #404040; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 4px 0 0 4px; + -webkit-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 4px 4px 0; + -webkit-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #ffffff; + color: #404040; + border: 1px solid #d9d9d9; + -moz-box-shadow: 0 0 3px 0 #d9d9d9; + -webkit-box-shadow: 0 0 3px 0 #d9d9d9; + box-shadow: 0 0 3px 0 #d9d9d9; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} +.radiobutton { + position: relative; + border: 2px solid #00bbee; + border-radius: 50%; +} +.radiobutton-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + background: #00bbee; + border-radius: 50%; + transform: scale(.6); +} +.radiobutton-disabled { + opacity: 0.6; +} +.radiobutton-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} +.checkbox { + position: relative; + border: 2px solid #00bbee; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.checkbox-checked { + border: 0; + background: #00bbee; +} +.checkbox-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; +} +.checkbox path { + stroke-width: 2px; +} +.checkbox-disabled { + opacity: 0.6; +} +.checkbox-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} +.sidemenu .tree-hit { + background-image: none; +} +.sidemenu-default-icon { + background-image: none; + width: 0; +} +.sidemenu .accordion .accordion-header, +.sidemenu .accordion .accordion-body { + border-bottom-color: transparent; + background: transparent; +} +.sidemenu .accordion .accordion-header { + color: #000000; +} +.sidemenu .accordion-header .panel-title { + height: 30px; + line-height: 30px; + color: #000000; +} +.sidemenu .accordion-header:hover { + background: #eee; + color: #000000; +} +.sidemenu .tree-node-hover { + background: #eee; + color: #000000; +} +.sidemenu .tree-node-selected { + border-right: 2px solid #00bbee; + color: #fff; + background: #00bbee; +} +.sidemenu .tree-node { + height: 40px; +} +.sidemenu .tree-title { + margin: 11px 0; +} +.sidemenu .tree-node-nonleaf { + position: relative; +} +.sidemenu .tree-node-nonleaf::after { + display: inline-block; + content: ''; + position: absolute; + top: 50%; + margin-top: -8px; + background: url('images/accordion_arrows.png') no-repeat 0 0; + width: 16px; + height: 16px; + right: 5px; +} +.sidemenu .tree-node-nonleaf-collapsed::after { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.sidemenu-collapsed .panel-icon { + left: 50%; + margin-left: -8px; +} +.sidemenu-tooltip { + padding: 0; + margin: 0 -12px; + border: 0; +} +.sidemenu-tooltip.tooltip-left { + margin: 0 12px; +} +.sidemenu-tooltip .tooltip-arrow-outer, +.sidemenu-tooltip .tooltip-arrow { + display: none; +} +.l-btn { + box-shadow: 0 1px 2px rgba(0,0,0,0.2), 0 1px 1px rgba(0,0,0,0.05); +} +.l-btn:active { + box-shadow: 0 6px 17px 0 rgba(235,235,235,0.3); +} +.l-btn-selected { + box-shadow: 0 1px 2px rgba(89,205,226,0.2), 0 1px 1px rgba(89,205,226,0.05); +} +.l-btn-plain, +.l-btn-disabled, +.l-btn-disabled:active, +.textbox-button { + box-shadow: none; +} +.l-btn-selected, +.l-btn-selected:hover { + background: #00bbee; + color: #fff; +} +.l-btn-plain-selected, +.l-btn-plain-selected:hover { + background: #00bbee; +} +.m-btn-active, +.m-btn-plain-active, +.s-btn-active, +.s-btn-plain-active { + background: #00bbee; + color: #fff; +} +.menu-shadow, +.combo-p { + -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); + -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); + box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); + filter: none; +} +.menu-active { + border-color: transparent; + color: #fff; + background: #00bbee; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #404040; +} +.window { + background-color: #fff; +} +.window-proxy { + border-color: #ccc; +} +.window-shadow { + -moz-box-shadow: 0 7px 8px -4px rgba(0,0,0,0.2), 0 13px 19px 2px rgba(0,0,0,0.14), 0 5px 24px 4px rgba(0,0,0,0.12); + -webkit-box-shadow: 0 7px 8px -4px rgba(0,0,0,0.2), 0 13px 19px 2px rgba(0,0,0,0.14), 0 5px 24px 4px rgba(0,0,0,0.12); + box-shadow: 0 7px 8px -4px rgba(0,0,0,0.2), 0 13px 19px 2px rgba(0,0,0,0.14), 0 5px 24px 4px rgba(0,0,0,0.12); + filter: none; +} +.window-mask { + background: #000; +} +.datagrid-header .datagrid-cell, +.datagrid-header .datagrid-cell-group { + color: #666; + font-weight: bold; + filter: alpha(opacity=80); + opacity: 0.80; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-style: solid; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/filebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/filebox.css new file mode 100644 index 0000000..c6bac66 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/filebox.css @@ -0,0 +1,20 @@ +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/Thumbs.db b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..5f257a2a49959543d36e2641d352572547e40e63 GIT binary patch literal 35328 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 T0gjLZeOBaa?|wA#e_!~27*z{8 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/accordion_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/accordion_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..b6368d636e2ff36501ff9c6b14f7ce09997f3743 GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel!K>>V@SoV?_1tQrr|vg#{&FxgXS!5MW?fq8aJ< T>6BX`&@2W|S3j3^P6h?7!oT zn93bYIb9!43Wj)WNz0M)xYl!8U>3_OjRiss3@1j_Zvlb#iD~jUnsR3em#t_3WtUHqj%c^0} zFSrhZpjU$)YHUS-lsMx)nN8pghWK6h!524#*oXjC@NjHF9H1y2K%G?c=lr%4eY%ue zT+7R9Pld<2<$C}OAU0HZIJPqD0RA&Sip042zF(tA4uaUhZ>jL`*HN0POocjDIidNRbTZ#@zvW7@I c5>Ct23v;ttA1D3-v;Y7A07*qoM6N<$f&+eyE&u=k literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/datebox_arrow.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/datebox_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..783c83357fdf90a1c7c024358e1d768b5c09c135 GIT binary patch literal 626 zcmV-&0*(ENP)5OC%H;f`~O(q$Q#t2<^v$A>fbmv%e#dKTwK=Ku{5lS|}<-`a#7b zzTCOnnT>at)D}AMFuOZ5&%EqFN(lyumd$2ASF6=;nM~%2?gqc@U=#|4PqkX@EBo-9 z7pD#bO_RUa>*faM`8;MYfVi$JnB-zcBFc6gjl$d!bF98Q!!!(Z1_R~P?e!pt#6CHJ9S&n_n&@=9 z%GP;!@Co4c*at+6vNz7o(6en^Q1%qHrc;1)9IRaz-$@S$Z-qdC^ds3X0NvQH;KS)D z-dh&rW&@X;1cS(45z)J&BVt+tv&GMVJ%!EiW) zLBGZW)#Z+gl-Lih&?>X3SS-S#ujQ;9JRXmIB7X)8`d6ETj)D#Q2+$s|<_b7-B9Xvq zwNfqlEp%y3$uY`h{Y$(Gn5@}sqEsq95lpAkFO5dyBmP6^H-51G4J|rN2Ujt<`2YX_ M07*qoM6N<$f|L1?c z_O8;7?=$$OZE)N^=kf)!wu_8{hTkWuP3Lf!{Qqt%*U6B7qRbydZ`F0T{#^CG?%493 zHc6j2;SWMDuL>F^vlqEUI{oOgO!xNf*11TukM z6kTZ3V2qd3<~<$H&Lrt?SpXUxF5Zb^}(={r!EHE+$QMdH|XZ zSYbMyc0tQc3qbP$tG{U_Jyg>I(0srOscEGU?-T)4AzuS$_2J>6`+BJ50YDY<^>2vV z+uI880P2ui(hyHiPrK$)CkbHg=kD&V3^8pD z0v3QOB&8eT@87?rgaGPrb#+ySxU;jP=nkL`nZ_{0e*BD+1Tc5b&d$oLo}8R$90gF1 z^ij>~#>R%HIRNUB_kgpQ+Lg!80Gbb2saY8>1EBeUm7A3TegK*dSciv)Wqp0!h-3im z1+1f^qq4iZ+ZEMUS63~e0I+zh`2rwd0l@!F(!7sM%_`|&0+*B!z{1(u+A9BIU&~T- z2he=L>dmc7TLXZFkeTeCHMcE|qX51{z>0ZC=xGjss*FaXGOMX+dHf8Z8hL6ntGQ_z zF9V<&dwY9jh`D7czyqj4g3S=~)zFA!0980RI4DC*Ez1%L09D8%=OHF&S@Q*;3bRfe zeL2-ZzyeT(Av4`$>R3`j096>WH7BOELD3yR70%Dk%Mk4)1W=73OH{L_UgIc$YFu7k zmRaq`&NxK?Rk*skDzlhL4IV!OsLJ*Ab@{BRT^TO}pgQC6xO~R6G8o_oU?C)>`xlc2 zriH~zU-;g$PyPA_&X!OBSU6SIeB~eKNAhF&(fs&F|1n9<+Yj^2T+4Dj%UFjr zZ%rnX^7Qmn0ANwP308gILtaQfK0Z1j0Br`Wq<=~Ka+?BxW&>7kRtZ+q>C~wJXg6S` zW|cJ1%?d#C0V@Ue)T{uY>425ig?tTsczEc(0+M8_c7^t|!sm-1Nw(}#nnLr?FgGlc zY}ut0+w(d)Uk6FDWtY;*aCdjteIX>tmhA#o+8PqHNU~+SlrTfyKRaNHBx~Ch-FJ3& z%B(Y&NwStp{rH$6Yj{YqhR=Gk~Mtw_&K$#yeTBf z7JV~bCN(VwL$c|B^>Topn-X{+7;S!yV~2^ zBgv-iMkME}U;-COwrsbABDvwg!2wA&ZMWttf5^jTl5E*7V41=|@=Hu>NJ^O8(7b4p z&ChgC(LF5>Md#{+4LgS{%KA|H(Xv`l4P^KdiBKB*_;1&m|Q7!{|O$ k%vVK{T!hwqk^D0L0mO==@4IV9lK=n!07*qoM6N<$f|Ge;n*aa+ literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/loading.gif b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..68f01d04813c1f622810864a3aaa04b4a17ac8f9 GIT binary patch literal 1737 zcmaKsX;2e)7>CzDa{xjjy99|1A!tC(kfocDi)<1$AxHpOQ4k^l!Vx1W6x7<&|FYXU zqO4jEiU-!VR1p+Xj1?4-iuI_J;!&?!+ghg|JJad3U)pMGzcKxNeCM6tJnuX+uPvX@ zZY|=AHdxt2Xr2y*)5|c6#FSEuyJ+Y3Z&l z2hJWo`9;lJ$6wzSoW60tqkB|d$oiO*d-^85^ojn{*NR{MP*%{@H*#gihZ8BKyB68E z-MIbjgNNV0y5khpJ^Jv`51aR%={<4jhaVq5e*9D5+*hL)XCHn4{^d%hPu@?KpKbc=eN!D=XUjDmH#n{YHNS zHCX6BV)yn2CuTNujhN~V+`RKpyXO6^ht92eqhIIlQLfz6eeCnH_C7`NPNrw9ks366 z4xX9(`s~z=+1uX^ocZ$2_fBs=JihPfWYufOIuD&AU-@`>>qn~cy$1)T7CU!5z2(U8 z)9Kt9)l`f6?NU41j6XbXfR{OHwm|T4}&24tIf+!C-g~6cQfY2^n$?AT&ZW zgqm`}3-jS2NS6n=k;sr5Hv(Q%%n)qW0X|neWVBd;Ko}d(=u%?{O0-a>kSI}shOd9n z5top}%gUCf=>?tg;*;#7!^HOL3k$fMxd=O-6Y4@%u8LS)C1D_a?27R6^vcC+6tttL z)GmTahbyJB!xmcHL#ya8ZXyfRl)a!N0BJE0y3BBfAV5;#=K&Z2VkaKZ)?9`1h5P_% znt*b}%j1|#j`b|aQDx@~wA#$PYRN2xE6UO;;vE(@$&xww-s8fZ5HmJ(eJ*rQrDbaawDbrfe_8F(wq{ge?)qQG`aXV;r(*6EM|ESje;52aFmrX!f=Pw^2oGQX$1|o4yts|b_5@w_kNwtl{wDP#JGMvIp#!SYX?Wq9S&`&_ZwkgGH5CLB7DEGJ6=R4J~p3Z4i^A}hs=-uZeD zs92l6u@**R$~L()G{5N8*7cE5-q$SCo`q4|NSVF*+A7&xZnypm$EdXgf)E%(VJHFD zSgi(H!D!(;9Zcc#GrCCJh=RlvXBQ-hv4Vodse`a32ZUFWgP5ZhM5LeV(#D^H8p@Lg ztra5R32z@1rQv{6u&RZL5%Z@Ye{q|t#6aM_1hIrpl@)oH6}os*cbAQywa{5<`ekzW O1il%9bk82&KlvLjD^%40 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/menu_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/menu_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..b986842e7e4044caed18edbcb4b376a4bb915623 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQt6&9jv*Dd-cB{-J7B=U{PTZ! zWrKV9%Z3|Wt5t$(gq+#d+-OocB$0fsr9DfRx52vPhSu$$+yXuy+69hDZ54DDTxx#r zL7>-12UT01v)>tZ+;HI4pDNf?@KK~EC$@35ykmXyu^HJF3})N>8P9Uwo&~g$!PC{x JWt~$(697!FIeGv9 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/messager_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/messager_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..86b0b0e6c73d6bdedc843763484982e5c9e71b0e GIT binary patch literal 2224 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 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/passwordbox_open.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/passwordbox_open.png new file mode 100644 index 0000000000000000000000000000000000000000..0f25d535e05b22b406fd72647611aace9cfa6249 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>7Fi*Ar-fh6C~yxIB_Cl)5eV- z>r;4yl-<@d?s6;P338s2rmQ?!Qz1HW#so#C46Xx7Cq5}K`Svo!h;^q;DRB5^Z?=`` zg<12Qetm(ByO<;&a5^L{7TnL>!KiVsAxlibJl4>NC!c|#Jtt+3rSZgWpp^`su6{1- HoD!M<3i~r2 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/searchbox_button.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/searchbox_button.png new file mode 100644 index 0000000000000000000000000000000000000000..6dd1931589b453f6cc9772fd1851d8705d6b6631 GIT binary patch literal 813 zcmV+|1JeA7P)lXvaa)1B=8vtU6i;3jw7+Lm8D5$Z@i10EnF)=bcefw4K z$^E-CUfjQG`svfBbfD6|R#sLFj6lo3FG$G6@;ee>>~6i|H^5OY8c00W#fi<*1vzh{0&qu3dB`V0{{XDY`}(1n>S9M(9!zw#!&`A z#;*+0{6GVMSeWGp!`o{o8NPge#o%jgs54WT$qnQYpsyGNpauX05F;oJfZ`Pdw6!$j zynTH0RMa&!n3$Pa9zVGEY{&L(3qnPBl_DG6<9Xk0`Fl3`LiD4@pH{vDsxJWQ1qdJp zEJ>M}osCtQlY?CgW>F{;gVK#SmgoOZnEn5J%EtIXaWQXAO>Rdf)WFR;gt~f zXaA3z{{L{q=l48y!32yJ3i0hJ2BS=^}@sXzH{F9Iq&OW375;I7CG-}Vr|aF#l<(fySwu2>`YdxRW*W0f#2un=W5Jmvoe`XCK%I_Y++#`fwE+= zSd{sEULGDE%A=#BOW<6gP*6VfMa^fr8qe`5w%)P0a^Y9WGTw! zvI^|$>l@1Da^Ke1*T3RdY7KqM%gaBb(P+oP!GW;b?ZRfW3Bxc1H@GCaHK#XhZ*Lc= zRBC@>V&W#x&B5%(#>OW5`};d6I5Qw218EG_q@1gtr!Nl*v7yn?(MPMRt4SNy%--JK zanm#f^bw^}Nr7b(EUg}TUi(2;)deX10lAo=83+VA(QksJI6(zwptET-y~avN=J9w$ zI2`W5lG|aOkjY7(&!@;Jx*nUA>~J`Q)9L&(G8y=g$3a4YgD7z)5>gXQNKhw=uR0zF z#jHruh)gDv=bj|2ZES4(fEM?I!JyKqo=}sj-fBYTcDt4KXq)eFQH}wW`vh%Mla}#@ z@Mb`C)x@YkK{xd2>8ZLg+E!Lps$Q@6DY-~!0=Gs+Mm~_JnW1EbX2uxClEdN>Y@I78 z=ke_9?7sX@o0*x}M{JB77MIXj_MmNE%+1Xe{*{crh)9={dR(U;y-{jrxUXmG%Gt002ovPDHLkV1hy(sXhPz literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/spinner_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/spinner_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..b1773c24b20b30318e38c4b84690e3d0010c9c43 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQZb$`jv*Ddk`p9Y7bl4DgeBzU z{E=^QXHHmRmEiEUJ<_jB`NK-}t7{l}8A{FvOK}{T)p$BC>8|6-x-MIXOa{IRh5%#E x$&;(vVs#x>vb(K5c#%QkA)^788{=C>2L8QE5AM%P*8@KmF984m literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/tabs_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/tabs_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..4dbacce18ec1310d22dc4de8ff895f597b0d61eb GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^20$#p!3HD)*8SNCq{2L1978H@B_~L*E^hdC;Kq#~ z_8gbJY-45o``Fp;2v4zS5!xHXwo~JmL(T+=yD|FVdQ&MBb@0IQ}mHUIzs literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/tagbox_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/tagbox_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..8ec64360884b3fdb81255ad6074bc08ed183232c GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel#i#2V@SoVtb9vwNkrdSr%AfUpK=5(o}_e|{SG6u6f5&Q g4t5*qz9vC-hN^}472i&@1{u%b>FVdQ&MBb@08Zm4@c;k- literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/tree_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/tree_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..e9be4f3a9965e49a4e4078f8c53f486d761a7468 GIT binary patch literal 3115 zcmV+`4Ak?9P)g24+u&k_UG+WCVnOW0FwMG}(2wGOI!IUx6nn{~p zK+GuW#mGkun)pBk1bIKq2~!>yc`1oJM7TV}|D1iU2d{7+=iGY*Zhd>Ly{>T1|31#) z``!Py&-u2D@h}=|*RDlx>VNK^-`@2+c<|uCg9rZx;|}7def~CV*Z^~Bvlk0y6WzaX zO7)0#uj7>9!NW$89WfP@S>cZ$8!Q+fgf5CL6uf3z7yRUM87*26} zc7){+S-^&{P?s;BN|=J}jRBY%>({~FW^;}1pOKM)t5>h~iiN9a?!cQxZAh)Xj-Cbx z-`;!M?b&%0#)k;`qJa#-vG>Q}$a}tsUq2e(hTV((>qg+4HQwkBk0=8Pvw9^Cq^lEg zdeuqA0@yH%5C8TbQ7FAuPv)$7}<1EDF0(%7?l zFbWC^aJxRrM0VGoK7AU797tDK7;+<$&S&$O=E0jr=dtI#Mi}^Lj%@MJAfHcF&7V~L z9{C-M@yx;LV9VXsm^~;2kSkZNAUZl48jS|l!o$zcPfR)cpTBxt1jyGH+b}s@ix?{* zva6z1d_Kwx*Em4z1t9hkRIktt&M27~fn9HSAUiu7xAa1^d@L`8=OBG*YAWP95Muxt z_tB*4MY&JFGt@VQ&0vE%Kh&Zz69xp2+C4k&QT(@l8FD*tj#rt$qJ}_46BhKjt3qv;#5snD)toChHG|az}_Ova+&pD$++$mLMTL8(gYsda--Qdr^s;scOOAj6rKuR0A1K|$D zwvqa;$-2QQ+d)KN+h3hJ0V2=6MBx01WxD;(t{3%&0iw)-+&xz{e$xAoYSY?2!)r+k zZ#XX*S26khN18sn5QI$aW}IkRjhB<2h5O?Bsf!mj*3+{)$lP6*009WQ@_QKCDZbm|CEu64xY6& z5Gt5Tbq^`!7Ey~DbpY8fz=NhQUtUyR1EGScRQHgQes`%^5kUBM?m)~&;y)+o24}@P z@>1A0D#$?u2K9l9?LjKVz)ogJSEeFiN7VNp}@yO1c)Y7cDEG($y9!m{QGyrY+<=2p)AU z*G&S1-^bB+?gOzG2SS%w#lczlhP)K^ja<^NJ3z>Vm;{d+XAk)!Z@ZtUSL{Ht4LT5U zCNpZ0f5KZi0f?K5I7Aer^o`C=v>eLmnr)!Qs)%VeL0~SXdbB`TZ-=>)+tD?{7n~`)x0Lx#}LM zSGtQ=OsMEdbqkt$(BMx@OvITpXKn)s?b|hXu5iQlV3*tUGQoF{PPQ?3zHwiBdeZmRsDM2OMC?I;L(FYK%i-foYaSh6a)mCmdHtcct`+I zl7`;@l&2SNnDo+uwuv(rzRAxf54-vX=kK2f4<0;t@ZjHKedqJ@o*+DU@ZiCNI}q+b zxc;Xae`jps9$(+=lYy^bo2Tcu3mEf|wmr?5>lQb+z43v8`22wf&Ms$c8Ycq}9yW}T z^VdR2QuG!5CIKE_Pk#7^y7TAIQCWr0=;?W=_}Fo@mlmQ{Q;djT zJzg4QPY|K*WHmi>UkJaOly@bwL{EdVsOYSiWo5-emY}k-43{odqNb)Ab#*mpXsAPD zV}m$=>Cx7Do$gkWma?|?vY4bXq~Go5ce?(Z0FS8k&`ubNj-z`}nU#Z&y}XWn;No&X zlYA15Nr#a)YzQu_S&1Jnlw$J(lZs^>K)M^1?n><~cu-d|x+|5sl=TJ6&bRaRFs1-v zZtyoXT@wc|ZL_sr4m_Hho4V;!UVarF7mEdW3`D&T!{srK(8ljZ>B&?S9Xp1G*;#RCMe;#Qa46TRJU)rxEXz?7a%C+>QP&YDKOh@Zts7sj=Ev<#2 z#dEYO*Gho!6}i0#5PNbUat6Ov+YD)6rFvDg3N0;KGx}oOx5E#k)V>(I(^q`--8oiF zf`uB8BxR^eI#5$Zxl-N>jb83Ba4lqu2ELON*`F7*ZB0I^Si*pma1 z1CQ3$783w44G%d0A+2hsN(6^$`%QSLM~VL?c(k{-bt3MB$O z&U-NwjCRK9QEtd|6W}4ZkFqa5M};ueS*KEEy(qk-(St#~Kd1)?^#TzGvlRf5`hX~b z2z4JL=Rw`bsHqS^;H*M`&?;R0PGo8$5HZo^N>*1dYxO1uSdZv?`}14db<9>%QfptI z2BjQ$7#hG`^#lq-@SrrMm!>U}10j$QK%}2ZYfL|vG53!K4m_ecnS#2wuLO9wAy+gbS0xM zWHgPTu4FXusY{uX*QVw{#=4U6t04R;%$;x`a^PVK0H&rba`e*G7JcU-O=IYH#`IeT z4cS|K^eC>Lh)4b~S6$7+nL)EPN^l;#5a;NCy}}nsjH4sYsnsY*PDaS^;m7XyRTyi7 zx{*;=G8*{QrA&#II*$=V$cfN&hH4^IST*(k!bpGM{5}remCOXAH=Ez7K@DlF@x2)TNB^;L(R2h#YvB1Aqh%N=x+S;9*D~IdNiPZHWe@p(~N( z?uLr35hyPxz&j&HX1?L&b)qOMOLQLLuC6#57>IIVb`m;$dWGGb9O_O+UCQ{MY0n4m z2_oNtC`m&A=q-H+V^hOt&eU8k)u1sy7Z>vK5T;UPQJuqwF&Ca| z&YY@+jQR7?!Gnj5g1*_w0nn9@uD6sM%f6&v%GfVAPnz^YTyO~1d3z^6&sgVwb-9SK zdxAYZ52=?gN9aQjmHvjYS^SLi;10wN-aii>Jb3(M`wpy literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/validatebox_warning.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/images/validatebox_warning.png new file mode 100644 index 0000000000000000000000000000000000000000..2b3d4f05babf3f82b146350e96570fac02075de0 GIT binary patch literal 921 zcmV;K17`e*P)nRv1_mBsMY*-M^XCf)eflW5 z|MC^)Hw+AW{sHCCF+cz@{fF8J!+#-kxoSv=7^|!zgOQUngSQ}mDo|J)n+pH}hzZ#= zr~y18$_m-?9v%$;?mu8);}>9vFgFvDXJDwrW&l6{p}625M66yTFhGz^K$w9^O$BHi zFN2Ym7DIple*#cW4BY^L0Al(Jbv6k9U|^6IQBp{hx3XdQ&CJ4Z_|YSVr@XujY(PVT zlok1<85nBO4FCurumK>O|A07*jFlSRUcxLAQVcIR*co#3@)&jj4Pj7KXRri%#h;fa z4ya5O*#Lk5Vq!q}T~=CGH(uV-hJk^fkAYoGjN#AMuMF($>N=giWG}IXse|=+c=i>7HEg>%*E%fLD!-uy|85n^6W?^Dt(9zXp5EB&z+w>_knBmdiKMbzi z?A!`WOl>e100a=&05*1xZdFls?*HtZ48H?o7=HW%ivIu45E2~BASWx!@DIpmv9e}h zaPwji|L}pqor@y`=yxrU0RRES^qYY}O;TRcU+DKIhL4`%3_nyf8U6tS<<-ZJ40D$( zWjJ%`G6NIPHNP2{7am*Fp% z{>ShK#0G`~kjd~57_BU.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; + left: 50%; + margin-left: -8px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 25px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 0px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/passwordbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/passwordbox.css new file mode 100644 index 0000000..92c9ce5 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/passwordbox.css @@ -0,0 +1,6 @@ +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/progressbar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/progressbar.css new file mode 100644 index 0000000..3eb2e0b --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/progressbar.css @@ -0,0 +1,33 @@ +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 4px 0 0 4px; + -webkit-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.progressbar { + border-color: #ddd; +} +.progressbar-text { + color: #404040; + font-size: 14px; +} +.progressbar-value, +.progressbar-value .progressbar-text { + background-color: #00bbee; + color: #fff; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/propertygrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/propertygrid.css new file mode 100644 index 0000000..1d7a392 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/propertygrid.css @@ -0,0 +1,27 @@ +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #eee; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #f5f5f5; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #eee; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #f5f5f5; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/radiobutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/radiobutton.css new file mode 100644 index 0000000..8dda45f --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/radiobutton.css @@ -0,0 +1,25 @@ +.radiobutton { + position: relative; + border: 2px solid #00bbee; + border-radius: 50%; +} +.radiobutton-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + background: #00bbee; + border-radius: 50%; + transform: scale(.6); +} +.radiobutton-disabled { + opacity: 0.6; +} +.radiobutton-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/searchbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/searchbox.css new file mode 100644 index 0000000..54ad885 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/searchbox.css @@ -0,0 +1,61 @@ +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #f5f5f5; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/sidemenu.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/sidemenu.css new file mode 100644 index 0000000..2037aac --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/sidemenu.css @@ -0,0 +1,72 @@ +.sidemenu .tree-hit { + background-image: none; +} +.sidemenu-default-icon { + background-image: none; + width: 0; +} +.sidemenu .accordion .accordion-header, +.sidemenu .accordion .accordion-body { + border-bottom-color: transparent; + background: transparent; +} +.sidemenu .accordion .accordion-header { + color: #000000; +} +.sidemenu .accordion-header .panel-title { + height: 30px; + line-height: 30px; + color: #000000; +} +.sidemenu .accordion-header:hover { + background: #eee; + color: #000000; +} +.sidemenu .tree-node-hover { + background: #eee; + color: #000000; +} +.sidemenu .tree-node-selected { + border-right: 2px solid #00bbee; + color: #fff; + background: #00bbee; +} +.sidemenu .tree-node { + height: 40px; +} +.sidemenu .tree-title { + margin: 11px 0; +} +.sidemenu .tree-node-nonleaf { + position: relative; +} +.sidemenu .tree-node-nonleaf::after { + display: inline-block; + content: ''; + position: absolute; + top: 50%; + margin-top: -8px; + background: url('images/accordion_arrows.png') no-repeat 0 0; + width: 16px; + height: 16px; + right: 5px; +} +.sidemenu .tree-node-nonleaf-collapsed::after { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.sidemenu-collapsed .panel-icon { + left: 50%; + margin-left: -8px; +} +.sidemenu-tooltip { + padding: 0; + margin: 0 -12px; + border: 0; +} +.sidemenu-tooltip.tooltip-left { + margin: 0 12px; +} +.sidemenu-tooltip .tooltip-arrow-outer, +.sidemenu-tooltip .tooltip-arrow { + display: none; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/slider.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/slider.css new file mode 100644 index 0000000..43658dd --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/slider.css @@ -0,0 +1,101 @@ +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 4px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 14px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 14px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #ddd; + background: #f5f5f5; +} +.slider-rule span { + border-color: #ddd; +} +.slider-rulelabel span { + color: #404040; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/spinner.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/spinner.css new file mode 100644 index 0000000..55580b3 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/spinner.css @@ -0,0 +1,114 @@ +.spinner-arrow { + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow.spinner-button-top, +.spinner-arrow.spinner-button-bottom, +.spinner-arrow.spinner-button-left, +.spinner-arrow.spinner-button-right { + background-color: #f5f5f5; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #404040; + outline-style: none; + background-color: #f5f5f5; +} +.spinner-button-updown { + opacity: 1.0; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + position: relative; + display: block; + width: 100%; + height: 50%; +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down { + opacity: 1.0; + filter: alpha(opacity=100); + cursor: pointer; + width: 16px; + height: 16px; + top: 50%; + left: 50%; + margin-top: -8px; + margin-left: -8px; + position: absolute; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-button-updown .spinner-button-top:hover, +.spinner-button-updown .spinner-button-bottom:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down, +.spinner-button-updown .spinner-arrow-up:hover, +.spinner-button-updown .spinner-arrow-down:hover { + background-color: transparent; +} +.spinner-arrow-hover { + background-color: #eee; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-top:hover, +.spinner-button-bottom:hover, +.spinner-button-left:hover, +.spinner-button-right:hover, +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #eee; +} +.textbox-disabled .spinner-button-top:hover, +.textbox-disabled .spinner-button-bottom:hover, +.textbox-disabled .spinner-button-left:hover, +.textbox-disabled .spinner-button-right:hover, +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #f5f5f5; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; + background-color: #f5f5f5; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; + background-color: #f5f5f5; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/splitbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/splitbutton.css new file mode 100644 index 0000000..2ad86f7 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/splitbutton.css @@ -0,0 +1,12 @@ +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #ccc; + border-width: 0 0 0 1px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/switchbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/switchbutton.css new file mode 100644 index 0000000..4c628cf --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/switchbutton.css @@ -0,0 +1,77 @@ +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #d9d9d9; + border: 1px solid #d9d9d9; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 14px; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.switchbutton-on { + background: #00bbee; + color: #fff; +} +.switchbutton-off { + background-color: #ffffff; + color: #404040; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 4px 0 0 4px; + -webkit-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 4px 4px 0; + -webkit-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #ffffff; + color: #404040; + border: 1px solid #d9d9d9; + -moz-box-shadow: 0 0 3px 0 #d9d9d9; + -webkit-box-shadow: 0 0 3px 0 #d9d9d9; + box-shadow: 0 0 3px 0 #d9d9d9; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tabs.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tabs.css new file mode 100644 index 0000000..a44d914 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tabs.css @@ -0,0 +1,377 @@ +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 4px 4px 0 0; + -webkit-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 14px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 4px 4px; + -webkit-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 4px 0 0 4px; + -webkit-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 4px 4px 0; + -webkit-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #f5f5f5 url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #f5f5f5 url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #eee; + color: #404040; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #ffffff; + color: #000000; +} +.tabs li a.tabs-inner { + color: #000000; + background-color: #f5f5f5; +} +.tabs-header, +.tabs-tool { + background-color: #f5f5f5; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #ddd; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #eee; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #ffffff; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #ffffff; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #ffffff; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #ffffff; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #00bbee; + color: #fff; + filter: none; + border-color: #ddd; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tagbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tagbox.css new file mode 100644 index 0000000..16ff414 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tagbox.css @@ -0,0 +1,44 @@ +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; + background: #eee; + color: #404040; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/textbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/textbox.css new file mode 100644 index 0000000..488e6b7 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/textbox.css @@ -0,0 +1,144 @@ +.textbox { + position: relative; + border: 1px solid #ddd; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.textbox .textbox-text { + font-size: 14px; + border: 0; + margin: 0; + padding: 0 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; + height: 28px; + line-height: 28px; +} +.textbox textarea.textbox-text { + line-height: normal; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 14px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 30px; + line-height: 30px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #c4c4c4; + -moz-box-shadow: 0 0 3px 0 #ddd; + -webkit-box-shadow: 0 0 3px 0 #ddd; + box-shadow: 0 0 3px 0 #ddd; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tooltip.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tooltip.css new file mode 100644 index 0000000..a000048 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tooltip.css @@ -0,0 +1,103 @@ +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.tooltip-content { + font-size: 14px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #ffffff; + border-color: #ddd; + color: #404040; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #ddd; +} +.tooltip-right .tooltip-arrow { + border-right-color: #ffffff; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #ddd; +} +.tooltip-left .tooltip-arrow { + border-left-color: #ffffff; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #ddd; +} +.tooltip-top .tooltip-arrow { + border-top-color: #ffffff; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #ddd; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #ffffff; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tree.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tree.css new file mode 100644 index 0000000..ccb900b --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/tree.css @@ -0,0 +1,164 @@ +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 26px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + margin: 4px 0; + vertical-align: middle; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 14px; + display: inline-block; + text-decoration: none; + vertical-align: middle; + white-space: nowrap; + padding: 0 2px; + margin: 4px 0; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 14px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #ddd; + font-size: 14px; + height: 26px; + line-height: 26px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: middle; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #ffffff; + color: #404040; + border-color: #ddd; +} +.tree-node-hover { + background: #eee; + color: #404040; +} +.tree-node-selected { + background: #00bbee; + color: #fff; +} +.tree-node-hidden { + display: none; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/validatebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/validatebox.css new file mode 100644 index 0000000..f03f26b --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/validatebox.css @@ -0,0 +1,13 @@ +.inputbox { + display: inline-block; + vertical-align: middle; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; +} +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff; + color: #404040; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/window.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/window.css new file mode 100644 index 0000000..8f1851e --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/material/window.css @@ -0,0 +1,182 @@ +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.window-shadow { + background: #fafafa; + -moz-box-shadow: 2px 2px 3px #fafafa; + -webkit-box-shadow: 2px 2px 3px #fafafa; + box-shadow: 2px 2px 3px #fafafa; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #ddd; +} +.window { + background-color: #f5f5f5; +} +.window-proxy { + border: 1px dashed #ddd; +} +.window-proxy-mask, +.window-mask { + background: #eee; +} +.window .panel-footer { + border: 1px solid #ddd; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-footer { + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/accordion.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/accordion.css new file mode 100644 index 0000000..fb9f85e --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/accordion.css @@ -0,0 +1,89 @@ +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #fff; + border-color: #ddd; +} +.accordion .accordion-header { + background: #ffffff; + filter: none; +} +.accordion .accordion-header-selected { + background: #CCE6FF; +} +.accordion .accordion-header-selected .panel-title { + color: #000; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #ffffff; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #fff; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #ddd; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #ffffff; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #fff; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #ddd; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #ffffff; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #fff; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #ddd; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/calendar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/calendar.css new file mode 100644 index 0000000..3f32d30 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/calendar.css @@ -0,0 +1,203 @@ +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 14px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 14px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 28px; +} +.calendar-title { + text-align: center; + height: 28px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 0px; + padding: 0 3px; + height: 28px; + line-height: 28px; + font-size: 14px; + cursor: pointer; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -8px; + width: 16px; + height: 16px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -16px 0; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -32px 0; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat 0px 0; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -48px 0; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 14px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 80px; + line-height: 26px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 0; + font-weight: bold; + font-size: 14px; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 25px; + height: 28px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 5px center; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -44px center; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-body th, +.calendar-menu-month { + color: #919191; +} +.calendar-day { + color: #444; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #ddd; +} +.calendar { + border-color: #ddd; +} +.calendar-header { + background: #ffffff; +} +.calendar-body, +.calendar-menu { + background: #fff; +} +.calendar-body th { + background: #fff; + padding: 4px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #E6E6E6; + color: #444; +} +.calendar-hover { + border: 1px solid #ddd; + padding: 0; +} +.calendar-selected { + background-color: #CCE6FF; + color: #000; + border: 1px solid #99cdff; + padding: 0; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/checkbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/checkbox.css new file mode 100644 index 0000000..5c8ebdd --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/checkbox.css @@ -0,0 +1,31 @@ +.checkbox { + position: relative; + border: 2px solid #99cdff; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.checkbox-checked { + border: 0; + background: #99cdff; +} +.checkbox-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; +} +.checkbox path { + stroke-width: 2px; +} +.checkbox-disabled { + opacity: 0.6; +} +.checkbox-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/combo.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/combo.css new file mode 100644 index 0000000..2e89071 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/combo.css @@ -0,0 +1,35 @@ +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #fff; +} +.combo-arrow { + background-color: #ffffff; +} +.combo-arrow-hover { + background-color: #E6E6E6; +} +.combo-arrow:hover { + background-color: #E6E6E6; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/combobox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/combobox.css new file mode 100644 index 0000000..115192c --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/combobox.css @@ -0,0 +1,40 @@ +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 14px; + padding: 6px 4px; + line-height: 20px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #E6E6E6; + color: #444; +} +.combobox-item-selected { + background-color: #CCE6FF; + color: #000; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/datagrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/datagrid.css new file mode 100644 index 0000000..220e6a9 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/datagrid.css @@ -0,0 +1,285 @@ +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 32px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 14px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 14px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #ddd; + font-size: 14px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #fff url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #ffffff; +} +.datagrid-cell-rownumber { + color: #444; +} +.datagrid-resize-proxy { + background: #b3b3b3; +} +.datagrid-mask { + background: #eee; +} +.datagrid-mask-msg { + border-color: #ddd; +} +.datagrid-toolbar, +.datagrid-pager { + background: #fff; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #ddd; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #ddd; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #444; + border-collapse: separate; +} +.datagrid-row-alt { + background: #f5f5f5; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #E6E6E6; + color: #444; + cursor: default; +} +.datagrid-row-selected { + background: #CCE6FF; + color: #000; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-header .datagrid-filter-row td.datagrid-header-over { + background: inherit; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/datalist.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/datalist.css new file mode 100644 index 0000000..8a7f949 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/datalist.css @@ -0,0 +1,95 @@ +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #ffffff; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ddd; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #444; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ddd; +} +.m-list li>a:hover { + background: #E6E6E6; + color: #444; +} +.m-list .m-list-group { + padding: 0 4px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/datebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/datebox.css new file mode 100644 index 0000000..931b825 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/datebox.css @@ -0,0 +1,36 @@ +.datebox-calendar-inner { + height: 250px; +} +.datebox-button { + padding: 4px 0; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 14px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #fff; +} +.datebox-button a { + color: #777; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/dialog.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/dialog.css new file mode 100644 index 0000000..3737479 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/dialog.css @@ -0,0 +1,47 @@ +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #fff; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #ddd #ddd #ddd #ddd; +} +.dialog-button { + border-color: #ddd #ddd #ddd #ddd; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #fff; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/easyui.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/easyui.css new file mode 100644 index 0000000..1f4a015 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/easyui.css @@ -0,0 +1,3384 @@ +.panel { + overflow: hidden; + text-align: left; + margin: 0; + border: 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.panel-header, +.panel-body { + border-width: 1px; + border-style: solid; +} +.panel-header { + padding: 5px; + position: relative; +} +.panel-title { + background: url('images/blank.gif') no-repeat; +} +.panel-header-noborder { + border-width: 0 0 1px 0; +} +.panel-body { + overflow: auto; + border-top-width: 0; + padding: 0; +} +.panel-body-noheader { + border-top-width: 1px; +} +.panel-body-noborder { + border-width: 0px; +} +.panel-body-nobottom { + border-bottom-width: 0; +} +.panel-with-icon { + padding-left: 18px; +} +.panel-icon, +.panel-tool { + position: absolute; + top: 50%; + margin-top: -8px; + height: 16px; + overflow: hidden; +} +.panel-icon { + left: 5px; + width: 16px; +} +.panel-tool { + right: 5px; + width: auto; +} +.panel-tool a { + display: inline-block; + width: 16px; + height: 16px; + opacity: 0.6; + filter: alpha(opacity=60); + margin: 0 0 0 2px; + vertical-align: top; +} +.panel-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + background-color: #E6E6E6; + -moz-border-radius: -2px -2px -2px -2px; + -webkit-border-radius: -2px -2px -2px -2px; + border-radius: -2px -2px -2px -2px; +} +.panel-loading { + padding: 11px 0px 10px 30px; +} +.panel-noscroll { + overflow: hidden; +} +.panel-fit, +.panel-fit body { + height: 100%; + margin: 0; + padding: 0; + border: 0; + overflow: hidden; +} +.panel-loading { + background: url('images/loading.gif') no-repeat 10px 10px; +} +.panel-tool-close { + background: url('images/panel_tools.png') no-repeat -16px 0px; +} +.panel-tool-min { + background: url('images/panel_tools.png') no-repeat 0px 0px; +} +.panel-tool-max { + background: url('images/panel_tools.png') no-repeat 0px -16px; +} +.panel-tool-restore { + background: url('images/panel_tools.png') no-repeat -16px -16px; +} +.panel-tool-collapse { + background: url('images/panel_tools.png') no-repeat -32px 0; +} +.panel-tool-expand { + background: url('images/panel_tools.png') no-repeat -32px -16px; +} +.panel-header, +.panel-body { + border-color: #ddd; +} +.panel-header { + background-color: #ffffff; +} +.panel-body { + background-color: #fff; + color: #444; + font-size: 14px; +} +.panel-title { + font-size: 14px; + font-weight: bold; + color: #777; + height: 20px; + line-height: 20px; +} +.panel-footer { + border: 1px solid #ddd; + overflow: hidden; + background: #fff; +} +.panel-footer-noborder { + border-width: 1px 0 0 0; +} +.panel-hleft, +.panel-hright { + position: relative; +} +.panel-hleft>.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; + left: 50%; + margin-left: -8px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 25px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 0px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #fff; + border-color: #ddd; +} +.accordion .accordion-header { + background: #ffffff; + filter: none; +} +.accordion .accordion-header-selected { + background: #CCE6FF; +} +.accordion .accordion-header-selected .panel-title { + color: #000; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #ffffff; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #fff; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #ddd; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #ffffff; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #fff; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #ddd; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #ffffff; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #fff; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #ddd; +} +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.window-shadow { + background: #eee; + -moz-box-shadow: 2px 2px 3px #ededed; + -webkit-box-shadow: 2px 2px 3px #ededed; + box-shadow: 2px 2px 3px #ededed; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #ddd; +} +.window { + background-color: #ffffff; +} +.window-proxy { + border: 1px dashed #ddd; +} +.window-proxy-mask, +.window-mask { + background: #eee; +} +.window .panel-footer { + border: 1px solid #ddd; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-footer { + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #fff; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #ddd #ddd #ddd #ddd; +} +.dialog-button { + border-color: #ddd #ddd #ddd #ddd; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #fff; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.l-btn { + text-decoration: none; + display: inline-block; + overflow: hidden; + margin: 0; + padding: 0; + cursor: pointer; + outline: none; + text-align: center; + vertical-align: middle; + line-height: normal; +} +.l-btn-plain { + border-width: 0; + padding: 1px; +} +.l-btn-left { + display: inline-block; + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + vertical-align: top; +} +.l-btn-text { + display: inline-block; + vertical-align: top; + width: auto; + line-height: 28px; + font-size: 14px; + padding: 0; + margin: 0 6px; +} +.l-btn-icon { + display: inline-block; + width: 16px; + height: 16px; + line-height: 16px; + position: absolute; + top: 50%; + margin-top: -8px; + font-size: 1px; +} +.l-btn span span .l-btn-empty { + display: inline-block; + margin: 0; + width: 16px; + height: 24px; + font-size: 1px; + vertical-align: top; +} +.l-btn span .l-btn-icon-left { + padding: 0 0 0 20px; + background-position: left center; +} +.l-btn span .l-btn-icon-right { + padding: 0 20px 0 0; + background-position: right center; +} +.l-btn-icon-left .l-btn-text { + margin: 0 6px 0 26px; +} +.l-btn-icon-left .l-btn-icon { + left: 6px; +} +.l-btn-icon-right .l-btn-text { + margin: 0 26px 0 6px; +} +.l-btn-icon-right .l-btn-icon { + right: 6px; +} +.l-btn-icon-top .l-btn-text { + margin: 20px 4px 0 4px; +} +.l-btn-icon-top .l-btn-icon { + top: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-icon-bottom .l-btn-text { + margin: 0 4px 20px 4px; +} +.l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-left .l-btn-empty { + margin: 0 6px; + width: 16px; +} +.l-btn-plain:hover { + padding: 0; +} +.l-btn-focus { + outline: #0000FF dotted thin; +} +.l-btn-large .l-btn-text { + line-height: 44px; +} +.l-btn-large .l-btn-icon { + width: 32px; + height: 32px; + line-height: 32px; + margin-top: -16px; +} +.l-btn-large .l-btn-icon-left .l-btn-text { + margin-left: 40px; +} +.l-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.l-btn-large .l-btn-icon-top .l-btn-text { + margin-top: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-top .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-left .l-btn-empty { + margin: 0 6px; + width: 32px; +} +.l-btn { + color: #777; + background: #ffffff; + background-repeat: repeat-x; + border: 1px solid #dddddd; + background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0); + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.l-btn:hover { + background: #E6E6E6; + color: #444; + border: 1px solid #ddd; + filter: none; +} +.l-btn-plain { + background: transparent; + border-width: 0; + filter: none; +} +.l-btn-outline { + border-width: 1px; + border-color: #ddd; + padding: 0; +} +.l-btn-plain:hover { + background: #E6E6E6; + color: #444; + border: 1px solid #ddd; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.l-btn-disabled, +.l-btn-disabled:hover { + opacity: 0.5; + cursor: default; + background: #ffffff; + color: #777; + background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0); +} +.l-btn-disabled .l-btn-text, +.l-btn-disabled .l-btn-icon { + filter: alpha(opacity=50); +} +.l-btn-plain-disabled, +.l-btn-plain-disabled:hover { + background: transparent; + filter: alpha(opacity=50); +} +.l-btn-selected, +.l-btn-selected:hover { + background: #ddd; + filter: none; +} +.l-btn-plain-selected, +.l-btn-plain-selected:hover { + background: #ddd; +} +.textbox { + position: relative; + border: 1px solid #ddd; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.textbox .textbox-text { + font-size: 14px; + border: 0; + margin: 0; + padding: 0 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; + height: 28px; + line-height: 28px; +} +.textbox textarea.textbox-text { + line-height: normal; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 14px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 30px; + line-height: 30px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #c4c4c4; + -moz-box-shadow: 0 0 3px 0 #ddd; + -webkit-box-shadow: 0 0 3px 0 #ddd; + box-shadow: 0 0 3px 0 #ddd; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #fff; +} +.combo-arrow { + background-color: #ffffff; +} +.combo-arrow-hover { + background-color: #E6E6E6; +} +.combo-arrow:hover { + background-color: #E6E6E6; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 14px; + padding: 6px 4px; + line-height: 20px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #E6E6E6; + color: #444; +} +.combobox-item-selected { + background-color: #CCE6FF; + color: #000; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; + background: #E6E6E6; + color: #444; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} +.layout { + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + z-index: 0; +} +.layout-panel { + position: absolute; + overflow: hidden; +} +.layout-body { + min-width: 1px; + min-height: 1px; +} +.layout-panel-east, +.layout-panel-west { + z-index: 2; +} +.layout-panel-north, +.layout-panel-south { + z-index: 3; +} +.layout-expand { + position: absolute; + padding: 0px; + font-size: 1px; + cursor: pointer; + z-index: 1; +} +.layout-expand .panel-header, +.layout-expand .panel-body { + background: transparent; + filter: none; + overflow: hidden; +} +.layout-expand .panel-header { + border-bottom-width: 0px; +} +.layout-expand .panel-body { + position: relative; +} +.layout-expand .panel-body .panel-icon { + margin-top: 0; + top: 0; + left: 50%; + margin-left: -8px; +} +.layout-expand-west .panel-header .panel-icon, +.layout-expand-east .panel-header .panel-icon { + display: none; +} +.layout-expand-title { + position: absolute; + top: 0; + left: 21px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.layout-expand-title-up { + position: absolute; + top: 0; + left: 0; + text-align: right; + padding-left: 5px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 0; +} +.layout-expand-with-icon { + top: 18px; +} +.layout-expand .panel-body-noheader .layout-expand-title, +.layout-expand .panel-body-noheader .panel-icon { + top: 5px; +} +.layout-expand .panel-body-noheader .layout-expand-with-icon { + top: 23px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + position: absolute; + font-size: 1px; + display: none; + z-index: 5; +} +.layout-split-proxy-h { + width: 5px; + cursor: e-resize; +} +.layout-split-proxy-v { + height: 5px; + cursor: n-resize; +} +.layout-mask { + position: absolute; + background: #fafafa; + filter: alpha(opacity=10); + opacity: 0.10; + z-index: 4; +} +.layout-button-up { + background: url('images/layout_arrows.png') no-repeat -16px -16px; +} +.layout-button-down { + background: url('images/layout_arrows.png') no-repeat -16px 0; +} +.layout-button-left { + background: url('images/layout_arrows.png') no-repeat 0 0; +} +.layout-button-right { + background: url('images/layout_arrows.png') no-repeat 0 -16px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + background-color: #b3b3b3; +} +.layout-split-north { + border-bottom: 5px solid #fff; +} +.layout-split-south { + border-top: 5px solid #fff; +} +.layout-split-east { + border-left: 5px solid #fff; +} +.layout-split-west { + border-right: 5px solid #fff; +} +.layout-expand { + background-color: #ffffff; +} +.layout-expand-over { + background-color: #ffffff; +} +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 0px 0px 0 0; + -webkit-border-radius: 0px 0px 0 0; + border-radius: 0px 0px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 14px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 0px 0px; + -webkit-border-radius: 0 0 0px 0px; + border-radius: 0 0 0px 0px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0px 0 0 0px; + -webkit-border-radius: 0px 0 0 0px; + border-radius: 0px 0 0 0px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 0px 0px 0; + -webkit-border-radius: 0 0px 0px 0; + border-radius: 0 0px 0px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #ffffff url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #ffffff url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #E6E6E6; + color: #444; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #fff; + color: #777; +} +.tabs li a.tabs-inner { + color: #777; + background-color: #ffffff; +} +.tabs-header, +.tabs-tool { + background-color: #ffffff; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #ddd; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #E6E6E6; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #fff; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #fff; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #fff; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #fff; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #CCE6FF; + color: #000; + filter: none; + border-color: #ddd; +} +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 32px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 14px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 14px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #ddd; + font-size: 14px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #fff url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #ffffff; +} +.datagrid-cell-rownumber { + color: #444; +} +.datagrid-resize-proxy { + background: #b3b3b3; +} +.datagrid-mask { + background: #eee; +} +.datagrid-mask-msg { + border-color: #ddd; +} +.datagrid-toolbar, +.datagrid-pager { + background: #fff; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #ddd; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #ddd; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #444; + border-collapse: separate; +} +.datagrid-row-alt { + background: #f5f5f5; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #E6E6E6; + color: #444; + cursor: default; +} +.datagrid-row-selected { + background: #CCE6FF; + color: #000; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-header .datagrid-filter-row td.datagrid-header-over { + background: inherit; +} +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #ddd; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #ffffff; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #ddd; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #ffffff; +} +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #ffffff; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ddd; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #444; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ddd; +} +.m-list li>a:hover { + background: #E6E6E6; + color: #444; +} +.m-list .m-list-group { + padding: 0 4px; +} +.pagination { + zoom: 1; + padding: 2px; +} +.pagination table { + float: left; + height: 30px; +} +.pagination td { + border: 0; +} +.pagination-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 3px 1px; +} +.pagination .pagination-num { + border-width: 1px; + border-style: solid; + margin: 0 2px; + padding: 2px; + width: 3em; + height: auto; + text-align: center; + font-size: 14px; +} +.pagination-page-list { + margin: 0px 6px; + padding: 1px 2px; + width: auto; + height: auto; + border-width: 1px; + border-style: solid; +} +.pagination-info { + float: right; + margin: 0 6px; + padding: 0; + height: 30px; + line-height: 30px; + font-size: 14px; +} +.pagination span { + font-size: 14px; +} +.pagination-link .l-btn-text { + box-sizing: border-box; + text-align: center; + margin: 0; + padding: 0 .5em; + width: auto; + min-width: 28px; +} +.pagination-first { + background: url('images/pagination_icons.png') no-repeat 0 center; +} +.pagination-prev { + background: url('images/pagination_icons.png') no-repeat -16px center; +} +.pagination-next { + background: url('images/pagination_icons.png') no-repeat -32px center; +} +.pagination-last { + background: url('images/pagination_icons.png') no-repeat -48px center; +} +.pagination-load { + background: url('images/pagination_icons.png') no-repeat -64px center; +} +.pagination-loading { + background: url('images/loading.gif') no-repeat center center; +} +.pagination-page-list, +.pagination .pagination-num { + border-color: #ddd; +} +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 14px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 14px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 28px; +} +.calendar-title { + text-align: center; + height: 28px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 0px; + padding: 0 3px; + height: 28px; + line-height: 28px; + font-size: 14px; + cursor: pointer; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -8px; + width: 16px; + height: 16px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -16px 0; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -32px 0; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat 0px 0; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -48px 0; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 14px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 80px; + line-height: 26px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 0; + font-weight: bold; + font-size: 14px; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 25px; + height: 28px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 5px center; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -44px center; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-body th, +.calendar-menu-month { + color: #919191; +} +.calendar-day { + color: #444; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #ddd; +} +.calendar { + border-color: #ddd; +} +.calendar-header { + background: #ffffff; +} +.calendar-body, +.calendar-menu { + background: #fff; +} +.calendar-body th { + background: #fff; + padding: 4px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #E6E6E6; + color: #444; +} +.calendar-hover { + border: 1px solid #ddd; + padding: 0; +} +.calendar-selected { + background-color: #CCE6FF; + color: #000; + border: 1px solid #99cdff; + padding: 0; +} +.datebox-calendar-inner { + height: 250px; +} +.datebox-button { + padding: 4px 0; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 14px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #fff; +} +.datebox-button a { + color: #777; +} +.spinner-arrow { + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow.spinner-button-top, +.spinner-arrow.spinner-button-bottom, +.spinner-arrow.spinner-button-left, +.spinner-arrow.spinner-button-right { + background-color: #ffffff; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #777; + outline-style: none; + background-color: #ffffff; +} +.spinner-button-updown { + opacity: 1.0; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + position: relative; + display: block; + width: 100%; + height: 50%; +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down { + opacity: 1.0; + filter: alpha(opacity=100); + cursor: pointer; + width: 16px; + height: 16px; + top: 50%; + left: 50%; + margin-top: -8px; + margin-left: -8px; + position: absolute; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-button-updown .spinner-button-top:hover, +.spinner-button-updown .spinner-button-bottom:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down, +.spinner-button-updown .spinner-arrow-up:hover, +.spinner-button-updown .spinner-arrow-down:hover { + background-color: transparent; +} +.spinner-arrow-hover { + background-color: #E6E6E6; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-top:hover, +.spinner-button-bottom:hover, +.spinner-button-left:hover, +.spinner-button-right:hover, +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #E6E6E6; +} +.textbox-disabled .spinner-button-top:hover, +.textbox-disabled .spinner-button-bottom:hover, +.textbox-disabled .spinner-button-left:hover, +.textbox-disabled .spinner-button-right:hover, +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #ffffff; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; + background-color: #ffffff; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; + background-color: #ffffff; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 0px 0 0 0px; + -webkit-border-radius: 0px 0 0 0px; + border-radius: 0px 0 0 0px; +} +.progressbar { + border-color: #ddd; +} +.progressbar-text { + color: #444; + font-size: 14px; +} +.progressbar-value, +.progressbar-value .progressbar-text { + background-color: #CCE6FF; + color: #000; +} +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #ffffff; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 0px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 14px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 14px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #ddd; + background: #ffffff; +} +.slider-rule span { + border-color: #ddd; +} +.slider-rulelabel span { + color: #444; +} +.menu { + position: absolute; + margin: 0; + padding: 2px; + border-width: 1px; + border-style: solid; + overflow: hidden; +} +.menu-inline { + position: relative; +} +.menu-item { + position: relative; + margin: 0; + padding: 0; + overflow: hidden; + white-space: nowrap; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.menu-text { + height: 20px; + line-height: 20px; + float: left; + padding-left: 28px; +} +.menu-icon { + position: absolute; + width: 16px; + height: 16px; + left: 2px; + top: 50%; + margin-top: -8px; +} +.menu-rightarrow { + position: absolute; + width: 16px; + height: 16px; + right: 0; + top: 50%; + margin-top: -8px; +} +.menu-line { + position: absolute; + left: 26px; + top: 0; + height: 2000px; + font-size: 1px; +} +.menu-sep { + margin: 3px 0px 3px 25px; + font-size: 1px; +} +.menu-noline .menu-line { + display: none; +} +.menu-noline .menu-sep { + margin-left: 0; + margin-right: 0; +} +.menu-active { + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.menu-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); + cursor: default; +} +.menu-text, +.menu-text span { + font-size: 14px; +} +.menu-shadow { + position: absolute; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; + background: #eee; + -moz-box-shadow: 2px 2px 3px #ededed; + -webkit-box-shadow: 2px 2px 3px #ededed; + box-shadow: 2px 2px 3px #ededed; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.menu-rightarrow { + background: url('images/menu_arrows.png') no-repeat -32px center; +} +.menu-line { + border-left: 1px solid #ddd; + border-right: 1px solid #fff; +} +.menu-sep { + border-top: 1px solid #ddd; + border-bottom: 1px solid #fff; +} +.menu { + background-color: #ffffff; + border-color: #ddd; + color: #444; +} +.menu-content { + background: #fff; +} +.menu-item { + border-color: transparent; + _border-color: #ffffff; +} +.menu-active { + border-color: #ddd; + color: #444; + background: #E6E6E6; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #444; +} +.m-btn-downarrow, +.s-btn-downarrow { + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + font-size: 1px; + right: 0; + top: 50%; + margin-top: -8px; +} +.m-btn-active, +.s-btn-active { + background: #E6E6E6; + color: #444; + border: 1px solid #ddd; + filter: none; +} +.m-btn-plain-active, +.s-btn-plain-active { + background: transparent; + padding: 0; + border-width: 1px; + border-style: solid; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.m-btn .l-btn-left .l-btn-text { + margin-right: 20px; +} +.m-btn .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.m-btn .l-btn-icon-right .l-btn-icon { + right: 20px; +} +.m-btn .l-btn-icon-top .l-btn-text { + margin-right: 4px; + margin-bottom: 14px; +} +.m-btn .l-btn-icon-bottom .l-btn-text { + margin-right: 4px; + margin-bottom: 34px; +} +.m-btn .l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 20px; +} +.m-btn .l-btn-icon-top .m-btn-downarrow, +.m-btn .l-btn-icon-bottom .m-btn-downarrow { + top: auto; + bottom: 0px; + left: 50%; + margin-left: -8px; +} +.m-btn-line { + display: inline-block; + position: absolute; + font-size: 1px; + display: none; +} +.m-btn .l-btn-left .m-btn-line { + right: 0; + width: 16px; + height: 500px; + border-style: solid; + border-color: #b3b3b3; + border-width: 0 0 0 1px; +} +.m-btn .l-btn-icon-top .m-btn-line, +.m-btn .l-btn-icon-bottom .m-btn-line { + left: 0; + bottom: 0; + width: 500px; + height: 16px; + border-width: 1px 0 0 0; +} +.m-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 56px; +} +.m-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 50px; +} +.m-btn-downarrow, +.s-btn-downarrow { + background: url('images/menu_arrows.png') no-repeat 0 center; +} +.m-btn-plain-active, +.s-btn-plain-active { + border-color: #ddd; + background-color: #E6E6E6; + color: #444; +} +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #b3b3b3; + border-width: 0 0 0 1px; +} +.messager-body { + padding: 10px 10px 30px 10px; + overflow: auto; +} +.messager-button { + text-align: center; + padding: 5px; +} +.messager-button .l-btn { + width: 70px; +} +.messager-icon { + float: left; + width: 32px; + height: 32px; + margin: 0 10px 10px 0; +} +.messager-error { + background: url('images/messager_icons.png') no-repeat scroll -64px 0; +} +.messager-info { + background: url('images/messager_icons.png') no-repeat scroll 0 0; +} +.messager-question { + background: url('images/messager_icons.png') no-repeat scroll -32px 0; +} +.messager-warning { + background: url('images/messager_icons.png') no-repeat scroll -96px 0; +} +.messager-progress { + padding: 10px; +} +.messager-p-msg { + margin-bottom: 5px; +} +.messager-body .messager-input { + width: 100%; + padding: 4px 0; + outline-style: none; + border: 1px solid #ddd; +} +.window-thinborder .messager-button { + padding-bottom: 8px; +} +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 26px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + margin: 4px 0; + vertical-align: middle; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 14px; + display: inline-block; + text-decoration: none; + vertical-align: middle; + white-space: nowrap; + padding: 0 2px; + margin: 4px 0; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 14px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #ddd; + font-size: 14px; + height: 26px; + line-height: 26px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: middle; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #fff; + color: #444; + border-color: #ddd; +} +.tree-node-hover { + background: #E6E6E6; + color: #444; +} +.tree-node-selected { + background: #CCE6FF; + color: #000; +} +.tree-node-hidden { + display: none; +} +.inputbox { + display: inline-block; + vertical-align: middle; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; +} +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; + color: #000; +} +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.tooltip-content { + font-size: 14px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #fff; + border-color: #ddd; + color: #444; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #ddd; +} +.tooltip-right .tooltip-arrow { + border-right-color: #fff; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #ddd; +} +.tooltip-left .tooltip-arrow { + border-left-color: #fff; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #ddd; +} +.tooltip-top .tooltip-arrow { + border-top-color: #fff; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #ddd; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #fff; +} +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #dddddd; + border: 1px solid #dddddd; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 14px; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.switchbutton-on { + background: #CCE6FF; + color: #000; +} +.switchbutton-off { + background-color: #fff; + color: #444; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 0px 0 0 0px; + -webkit-border-radius: 0px 0 0 0px; + border-radius: 0px 0 0 0px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 0px 0px 0; + -webkit-border-radius: 0 0px 0px 0; + border-radius: 0 0px 0px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #fff; + color: #444; + border: 1px solid #dddddd; + -moz-box-shadow: 0 0 3px 0 #dddddd; + -webkit-box-shadow: 0 0 3px 0 #dddddd; + box-shadow: 0 0 3px 0 #dddddd; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} +.radiobutton { + position: relative; + border: 2px solid #99cdff; + border-radius: 50%; +} +.radiobutton-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + background: #99cdff; + border-radius: 50%; + transform: scale(.6); +} +.radiobutton-disabled { + opacity: 0.6; +} +.radiobutton-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} +.checkbox { + position: relative; + border: 2px solid #99cdff; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.checkbox-checked { + border: 0; + background: #99cdff; +} +.checkbox-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; +} +.checkbox path { + stroke-width: 2px; +} +.checkbox-disabled { + opacity: 0.6; +} +.checkbox-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} +.sidemenu .tree-hit { + background-image: none; +} +.sidemenu-default-icon { + background-image: none; + width: 0; +} +.sidemenu .accordion .accordion-header, +.sidemenu .accordion .accordion-body { + border-bottom-color: transparent; + background: transparent; +} +.sidemenu .accordion .accordion-header { + color: #777; +} +.sidemenu .accordion-header .panel-title { + height: 30px; + line-height: 30px; + color: #777; +} +.sidemenu .accordion-header:hover { + background: #E6E6E6; + color: #777; +} +.sidemenu .tree-node-hover { + background: #E6E6E6; + color: #777; +} +.sidemenu .tree-node-selected { + border-right: 2px solid #99cdff; + color: #000; + background: #CCE6FF; +} +.sidemenu .tree-node { + height: 40px; +} +.sidemenu .tree-title { + margin: 11px 0; +} +.sidemenu .tree-node-nonleaf { + position: relative; +} +.sidemenu .tree-node-nonleaf::after { + display: inline-block; + content: ''; + position: absolute; + top: 50%; + margin-top: -8px; + background: url('images/accordion_arrows.png') no-repeat 0 0; + width: 16px; + height: 16px; + right: 5px; +} +.sidemenu .tree-node-nonleaf-collapsed::after { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.sidemenu-collapsed .panel-icon { + left: 50%; + margin-left: -8px; +} +.sidemenu-tooltip { + padding: 0; + margin: 0 -12px; + border: 0; +} +.sidemenu-tooltip.tooltip-left { + margin: 0 12px; +} +.sidemenu-tooltip .tooltip-arrow-outer, +.sidemenu-tooltip .tooltip-arrow { + display: none; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/filebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/filebox.css new file mode 100644 index 0000000..c6bac66 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/filebox.css @@ -0,0 +1,20 @@ +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/accordion_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/accordion_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..720835f69c96c17ec32a20b03ac9753aa59b7f4f GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYeRK2H*V@SoVUT_Y-nKxaI`{RC0WjSLJ&w^R(C-|JQTojLXc1&{d*_z{$ jW+oTMdQ(F|jDg|L>K${_)^zO#I)%a0)z4*}Q$iB}_fAN- literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/blank.gif b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/blank.gif new file mode 100644 index 0000000000000000000000000000000000000000..1d11fa9ada9e93505b3d736acb204083f45d5fbf GIT binary patch literal 43 scmZ?wbhEHbWMp7uX!y@?;J^U}1_s5SEQ~;kK?g*DWEhy3To@Uw0n;G|I{*Lx literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/calendar_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/calendar_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..430c4ad685b8c0068ecb7e3cbef74f493a84ad0d GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQYD@)jv*Dd-cCEn)nLHm{QbZE z+q@uWwandfr?Jb4eDYYmB3UAt=OO2Vt+MMT&+KD%&6hZDt!FBpej;sEpMN69^tKl% zp6y<4_lG^P z=;=eQ4Vs74-2)Ua&f1tcVdk$#{GPKe@&?ZMHmT&SMw?IV&w7)}ixLbB3d$Zg{&KGb P8OPx1>gTe~DWM4fp>5!O@Gl{c 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 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/loading.gif b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..68f01d04813c1f622810864a3aaa04b4a17ac8f9 GIT binary patch literal 1737 zcmaKsX;2e)7>CzDa{xjjy99|1A!tC(kfocDi)<1$AxHpOQ4k^l!Vx1W6x7<&|FYXU zqO4jEiU-!VR1p+Xj1?4-iuI_J;!&?!+ghg|JJad3U)pMGzcKxNeCM6tJnuX+uPvX@ zZY|=AHdxt2Xr2y*)5|c6#FSEuyJ+Y3Z&l z2hJWo`9;lJ$6wzSoW60tqkB|d$oiO*d-^85^ojn{*NR{MP*%{@H*#gihZ8BKyB68E z-MIbjgNNV0y5khpJ^Jv`51aR%={<4jhaVq5e*9D5+*hL)XCHn4{^d%hPu@?KpKbc=eN!D=XUjDmH#n{YHNS zHCX6BV)yn2CuTNujhN~V+`RKpyXO6^ht92eqhIIlQLfz6eeCnH_C7`NPNrw9ks366 z4xX9(`s~z=+1uX^ocZ$2_fBs=JihPfWYufOIuD&AU-@`>>qn~cy$1)T7CU!5z2(U8 z)9Kt9)l`f6?NU41j6XbXfR{OHwm|T4}&24tIf+!C-g~6cQfY2^n$?AT&ZW zgqm`}3-jS2NS6n=k;sr5Hv(Q%%n)qW0X|neWVBd;Ko}d(=u%?{O0-a>kSI}shOd9n z5top}%gUCf=>?tg;*;#7!^HOL3k$fMxd=O-6Y4@%u8LS)C1D_a?27R6^vcC+6tttL z)GmTahbyJB!xmcHL#ya8ZXyfRl)a!N0BJE0y3BBfAV5;#=K&Z2VkaKZ)?9`1h5P_% znt*b}%j1|#j`b|aQDx@~wA#$PYRN2xE6UO;;vE(@$&xww-s8fZ5HmJ(eJ*rQrDbaawDbrfe_8F(wq{ge?)qQG`aXV;r(*6EM|ESje;52aFmrX!f=Pw^2oGQX$1|o4yts|b_5@w_kNwtl{wDP#JGMvIp#!SYX?Wq9S&`&_ZwkgGH5CLB7DEGJ6=R4J~p3Z4i^A}hs=-uZeD zs92l6u@**R$~L()G{5N8*7cE5-q$SCo`q4|NSVF*+A7&xZnypm$EdXgf)E%(VJHFD zSgi(H!D!(;9Zcc#GrCCJh=RlvXBQ-hv4Vodse`a32ZUFWgP5ZhM5LeV(#D^H8p@Lg ztra5R32z@1rQv{6u&RZL5%Z@Ye{q|t#6aM_1hIrpl@)oH6}os*cbAQywa{5<`ekzW O1il%9bk82&KlvLjD^%40 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/menu_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/menu_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..b986842e7e4044caed18edbcb4b376a4bb915623 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQt6&9jv*Dd-cB{-J7B=U{PTZ! zWrKV9%Z3|Wt5t$(gq+#d+-OocB$0fsr9DfRx52vPhSu$$+yXuy+69hDZ54DDTxx#r zL7>-12UT01v)>tZ+;HI4pDNf?@KK~EC$@35ykmXyu^HJF3})N>8P9Uwo&~g$!PC{x JWt~$(697!FIeGv9 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/messager_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/messager_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..86b0b0e6c73d6bdedc843763484982e5c9e71b0e GIT binary patch literal 2224 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 G5}E*M5;#5p literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/passwordbox_open.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/passwordbox_open.png new file mode 100644 index 0000000000000000000000000000000000000000..d328891f6a18ea703fd25a47b228df9cb13b4744 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ii4<#Ar-fh6C~y}*jFF6I{2&m zf8fW~lSf{d9=Ouc<(SoRr6$ox=6dW5rxOB`TRe8 z#G%R{$Nj@Z)5m5kM@2RMITi_;Npmte=_#;rBych_7F`xqKKy}=f%DM}Q4`(M(}DIf Nc)I$ztaD0e0su|qH(3Ax literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/searchbox_button.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/searchbox_button.png new file mode 100644 index 0000000000000000000000000000000000000000..6dd1931589b453f6cc9772fd1851d8705d6b6631 GIT binary patch literal 813 zcmV+|1JeA7P)lXvaa)1B=8vtU6i;3jw7+Lm8D5$Z@i10EnF)=bcefw4K z$^E-CUfjQG`svfBbfD6|R#sLFj6lo3FG$G6@;ee>>~6i|H^5OY8c00W#fi<*1vzh{0&qu3dB`V0{{XDY`}(1n>S9M(9!zw#!&`A z#;*+0{6GVMSeWGp!`o{o8NPge#o%jgs54WT$qnQYpsyGNpauX05F;oJfZ`Pdw6!$j zynTH0RMa&!n3$Pa9zVGEY{&L(3qnPBl_DG6<9Xk0`Fl3`LiD4@pH{vDsxJWQ1qdJp zEJ>M}osCtQlY?CgW>F{;gVK#SmgoOZnEn5J%EtIXaWQXAO>Rdf)WFR;gt~f zXaA3z{{L{q=l48y!32yJ3i0hJ2BS=^}@sXzH{F9Iq&OW375;I7CG-}Vr|aF#l<(fySwu2>`YdxRW*W0f#2un=W5Jmvoe`XCK%I_Y++#`fwE+= zSd{sEULGDE%A=#BOW<6gP*6VfMa^fr8qe`5w%)P0a^Y9WGTw! zvI^|$>l@1Da^Ke1*T3RdY7KqM%gaBb(P+oP!GW;b?ZRfW3Bxc1H@GCaHK#XhZ*Lc= zRBC@>V&W#x&B5%(#>OW5`};d6I5Qw218EG_q@1gtr!Nl*v7yn?(MPMRt4SNy%--JK zanm#f^bw^}Nr7b(EUg}TUi(2;)deX10lAo=83+VA(QksJI6(zwptET-y~avN=J9w$ zI2`W5lG|aOkjY7(&!@;Jx*nUA>~J`Q)9L&(G8y=g$3a4YgD7z)5>gXQNKhw=uR0zF z#jHruh)gDv=bj|2ZES4(fEM?I!JyKqo=}sj-fBYTcDt4KXq)eFQH}wW`vh%Mla}#@ z@Mb`C)x@YkK{xd2>8ZLg+E!Lps$Q@6DY-~!0=Gs+Mm~_JnW1EbX2uxClEdN>Y@I78 z=ke_9?7sX@o0*x}M{JB77MIXj_MmNE%+1Xe{*{crh)9={dR(U;y-{jrxUXmG%Gt002ovPDHLkV1hy(sXhPz literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/spinner_arrows.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/spinner_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..7c2df483dbb30dfb3a51332c03fe6f0c229c0547 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQZb$`jv*Ddk`p9Y7bl4Dgeh3R zJz6gy$J;RRRRiNz`7}$-z5~nWg=}UsVYp!HpQ#{_&8An~S<1fjm*zKyrHmF27#+^4 x`1rk&EZfSkR8C?on>%wt3;O{L3Dzy_3@=Og7TEqO`UJFx!PC{xWt~$(69D$UE$jdQ literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/tabs_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/tabs_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..4d29966d7154338a9e2e358821a5f72655eba43e GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^20$#p!3HD)*8SNCq+&f?978H@B_~L*E^a7uNPG49 z|BoM6E;$_tDnm{r-UW|t3f!- literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/tagbox_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/tagbox_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..bd02e2d817c6b7c4e2a105919e9a89cc0a1d577f GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel&`0YV@SoV>_0CQASS literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/tree_icons.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/tree_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..e9be4f3a9965e49a4e4078f8c53f486d761a7468 GIT binary patch literal 3115 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 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/validatebox_warning.png b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/images/validatebox_warning.png new file mode 100644 index 0000000000000000000000000000000000000000..2b3d4f05babf3f82b146350e96570fac02075de0 GIT binary patch literal 921 zcmV;K17`e*P)nRv1_mBsMY*-M^XCf)eflW5 z|MC^)Hw+AW{sHCCF+cz@{fF8J!+#-kxoSv=7^|!zgOQUngSQ}mDo|J)n+pH}hzZ#= zr~y18$_m-?9v%$;?mu8);}>9vFgFvDXJDwrW&l6{p}625M66yTFhGz^K$w9^O$BHi zFN2Ym7DIple*#cW4BY^L0Al(Jbv6k9U|^6IQBp{hx3XdQ&CJ4Z_|YSVr@XujY(PVT zlok1<85nBO4FCurumK>O|A07*jFlSRUcxLAQVcIR*co#3@)&jj4Pj7KXRri%#h;fa z4ya5O*#Lk5Vq!q}T~=CGH(uV-hJk^fkAYoGjN#AMuMF($>N=giWG}IXse|=+c=i>7HEg>%*E%fLD!-uy|85n^6W?^Dt(9zXp5EB&z+w>_knBmdiKMbzi z?A!`WOl>e100a=&05*1xZdFls?*HtZ48H?o7=HW%ivIu45E2~BASWx!@DIpmv9e}h zaPwji|L}pqor@y`=yxrU0RRES^qYY}O;TRcU+DKIhL4`%3_nyf8U6tS<<-ZJ40D$( zWjJ%`G6NIPHNP2{7am*Fp% z{>ShK#0G`~kjd~57_BU.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; + left: 50%; + margin-left: -8px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 25px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 0px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/passwordbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/passwordbox.css new file mode 100644 index 0000000..92c9ce5 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/passwordbox.css @@ -0,0 +1,6 @@ +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/progressbar.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/progressbar.css new file mode 100644 index 0000000..77512af --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/progressbar.css @@ -0,0 +1,33 @@ +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 0px 0 0 0px; + -webkit-border-radius: 0px 0 0 0px; + border-radius: 0px 0 0 0px; +} +.progressbar { + border-color: #ddd; +} +.progressbar-text { + color: #444; + font-size: 14px; +} +.progressbar-value, +.progressbar-value .progressbar-text { + background-color: #CCE6FF; + color: #000; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/propertygrid.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/propertygrid.css new file mode 100644 index 0000000..9c859b1 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/propertygrid.css @@ -0,0 +1,27 @@ +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #ddd; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #ffffff; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #ddd; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #ffffff; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/radiobutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/radiobutton.css new file mode 100644 index 0000000..d1b61ce --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/radiobutton.css @@ -0,0 +1,25 @@ +.radiobutton { + position: relative; + border: 2px solid #99cdff; + border-radius: 50%; +} +.radiobutton-inner { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + background: #99cdff; + border-radius: 50%; + transform: scale(.6); +} +.radiobutton-disabled { + opacity: 0.6; +} +.radiobutton-value { + position: absolute; + overflow: hidden; + width: 1px; + height: 1px; + left: -999px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/searchbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/searchbox.css new file mode 100644 index 0000000..2d3af1c --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/searchbox.css @@ -0,0 +1,61 @@ +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #ffffff; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/sidemenu.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/sidemenu.css new file mode 100644 index 0000000..7e5ebf7 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/sidemenu.css @@ -0,0 +1,72 @@ +.sidemenu .tree-hit { + background-image: none; +} +.sidemenu-default-icon { + background-image: none; + width: 0; +} +.sidemenu .accordion .accordion-header, +.sidemenu .accordion .accordion-body { + border-bottom-color: transparent; + background: transparent; +} +.sidemenu .accordion .accordion-header { + color: #777; +} +.sidemenu .accordion-header .panel-title { + height: 30px; + line-height: 30px; + color: #777; +} +.sidemenu .accordion-header:hover { + background: #E6E6E6; + color: #777; +} +.sidemenu .tree-node-hover { + background: #E6E6E6; + color: #777; +} +.sidemenu .tree-node-selected { + border-right: 2px solid #99cdff; + color: #000; + background: #CCE6FF; +} +.sidemenu .tree-node { + height: 40px; +} +.sidemenu .tree-title { + margin: 11px 0; +} +.sidemenu .tree-node-nonleaf { + position: relative; +} +.sidemenu .tree-node-nonleaf::after { + display: inline-block; + content: ''; + position: absolute; + top: 50%; + margin-top: -8px; + background: url('images/accordion_arrows.png') no-repeat 0 0; + width: 16px; + height: 16px; + right: 5px; +} +.sidemenu .tree-node-nonleaf-collapsed::after { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.sidemenu-collapsed .panel-icon { + left: 50%; + margin-left: -8px; +} +.sidemenu-tooltip { + padding: 0; + margin: 0 -12px; + border: 0; +} +.sidemenu-tooltip.tooltip-left { + margin: 0 12px; +} +.sidemenu-tooltip .tooltip-arrow-outer, +.sidemenu-tooltip .tooltip-arrow { + display: none; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/slider.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/slider.css new file mode 100644 index 0000000..7f84103 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/slider.css @@ -0,0 +1,101 @@ +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 0px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 14px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 14px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #ddd; + background: #ffffff; +} +.slider-rule span { + border-color: #ddd; +} +.slider-rulelabel span { + color: #444; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/spinner.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/spinner.css new file mode 100644 index 0000000..cbc7e59 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/spinner.css @@ -0,0 +1,114 @@ +.spinner-arrow { + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow.spinner-button-top, +.spinner-arrow.spinner-button-bottom, +.spinner-arrow.spinner-button-left, +.spinner-arrow.spinner-button-right { + background-color: #ffffff; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #777; + outline-style: none; + background-color: #ffffff; +} +.spinner-button-updown { + opacity: 1.0; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + position: relative; + display: block; + width: 100%; + height: 50%; +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down { + opacity: 1.0; + filter: alpha(opacity=100); + cursor: pointer; + width: 16px; + height: 16px; + top: 50%; + left: 50%; + margin-top: -8px; + margin-left: -8px; + position: absolute; +} +.spinner-button-updown .spinner-button-top, +.spinner-button-updown .spinner-button-bottom { + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-button-updown .spinner-button-top:hover, +.spinner-button-updown .spinner-button-bottom:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-updown .spinner-arrow-up, +.spinner-button-updown .spinner-arrow-down, +.spinner-button-updown .spinner-arrow-up:hover, +.spinner-button-updown .spinner-arrow-down:hover { + background-color: transparent; +} +.spinner-arrow-hover { + background-color: #E6E6E6; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-button-top:hover, +.spinner-button-bottom:hover, +.spinner-button-left:hover, +.spinner-button-right:hover, +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #E6E6E6; +} +.textbox-disabled .spinner-button-top:hover, +.textbox-disabled .spinner-button-bottom:hover, +.textbox-disabled .spinner-button-left:hover, +.textbox-disabled .spinner-button-right:hover, +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #ffffff; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; + background-color: #ffffff; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; + background-color: #ffffff; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/splitbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/splitbutton.css new file mode 100644 index 0000000..3451138 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/splitbutton.css @@ -0,0 +1,12 @@ +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #b3b3b3; + border-width: 0 0 0 1px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/switchbutton.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/switchbutton.css new file mode 100644 index 0000000..057bf55 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/switchbutton.css @@ -0,0 +1,77 @@ +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #dddddd; + border: 1px solid #dddddd; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 14px; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.switchbutton-on { + background: #CCE6FF; + color: #000; +} +.switchbutton-off { + background-color: #fff; + color: #444; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 0px 0 0 0px; + -webkit-border-radius: 0px 0 0 0px; + border-radius: 0px 0 0 0px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 0px 0px 0; + -webkit-border-radius: 0 0px 0px 0; + border-radius: 0 0px 0px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #fff; + color: #444; + border: 1px solid #dddddd; + -moz-box-shadow: 0 0 3px 0 #dddddd; + -webkit-box-shadow: 0 0 3px 0 #dddddd; + box-shadow: 0 0 3px 0 #dddddd; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tabs.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tabs.css new file mode 100644 index 0000000..cc1500e --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tabs.css @@ -0,0 +1,377 @@ +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 0px 0px 0 0; + -webkit-border-radius: 0px 0px 0 0; + border-radius: 0px 0px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 14px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 0px 0px; + -webkit-border-radius: 0 0 0px 0px; + border-radius: 0 0 0px 0px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0px 0 0 0px; + -webkit-border-radius: 0px 0 0 0px; + border-radius: 0px 0 0 0px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 0px 0px 0; + -webkit-border-radius: 0 0px 0px 0; + border-radius: 0 0px 0px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #ffffff url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #ffffff url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #E6E6E6; + color: #444; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #fff; + color: #777; +} +.tabs li a.tabs-inner { + color: #777; + background-color: #ffffff; +} +.tabs-header, +.tabs-tool { + background-color: #ffffff; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #ddd; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #E6E6E6; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #fff; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #fff; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #fff; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #fff; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #CCE6FF; + color: #000; + filter: none; + border-color: #ddd; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tagbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tagbox.css new file mode 100644 index 0000000..7c6fd15 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tagbox.css @@ -0,0 +1,44 @@ +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; + background: #E6E6E6; + color: #444; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/textbox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/textbox.css new file mode 100644 index 0000000..55dc503 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/textbox.css @@ -0,0 +1,144 @@ +.textbox { + position: relative; + border: 1px solid #ddd; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.textbox .textbox-text { + font-size: 14px; + border: 0; + margin: 0; + padding: 0 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; + height: 28px; + line-height: 28px; +} +.textbox textarea.textbox-text { + line-height: normal; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 14px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 30px; + line-height: 30px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #c4c4c4; + -moz-box-shadow: 0 0 3px 0 #ddd; + -webkit-box-shadow: 0 0 3px 0 #ddd; + box-shadow: 0 0 3px 0 #ddd; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tooltip.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tooltip.css new file mode 100644 index 0000000..21ae211 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tooltip.css @@ -0,0 +1,103 @@ +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.tooltip-content { + font-size: 14px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #fff; + border-color: #ddd; + color: #444; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #ddd; +} +.tooltip-right .tooltip-arrow { + border-right-color: #fff; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #ddd; +} +.tooltip-left .tooltip-arrow { + border-left-color: #fff; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #ddd; +} +.tooltip-top .tooltip-arrow { + border-top-color: #fff; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #ddd; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #fff; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tree.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tree.css new file mode 100644 index 0000000..ab4efa6 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/tree.css @@ -0,0 +1,164 @@ +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 26px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + margin: 4px 0; + vertical-align: middle; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 14px; + display: inline-block; + text-decoration: none; + vertical-align: middle; + white-space: nowrap; + padding: 0 2px; + margin: 4px 0; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 14px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #ddd; + font-size: 14px; + height: 26px; + line-height: 26px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: middle; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #fff; + color: #444; + border-color: #ddd; +} +.tree-node-hover { + background: #E6E6E6; + color: #444; +} +.tree-node-selected { + background: #CCE6FF; + color: #000; +} +.tree-node-hidden { + display: none; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/validatebox.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/validatebox.css new file mode 100644 index 0000000..4d566de --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/validatebox.css @@ -0,0 +1,13 @@ +.inputbox { + display: inline-block; + vertical-align: middle; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; +} +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; + color: #000; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/window.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/window.css new file mode 100644 index 0000000..9602f67 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/metro/window.css @@ -0,0 +1,182 @@ +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.window-shadow { + background: #eee; + -moz-box-shadow: 2px 2px 3px #ededed; + -webkit-box-shadow: 2px 2px 3px #ededed; + box-shadow: 2px 2px 3px #ededed; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #ddd; +} +.window { + background-color: #ffffff; +} +.window-proxy { + border: 1px dashed #ddd; +} +.window-proxy-mask, +.window-mask { + background: #eee; +} +.window .panel-footer { + border: 1px solid #ddd; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-footer { + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/mobile.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/mobile.css new file mode 100644 index 0000000..ff57245 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/mobile.css @@ -0,0 +1,355 @@ +*{ + box-sizing: border-box; +} +.m-toolbar{ + position: relative; + text-align: center; + min-height: 34px; +} +.m-toolbar .m-title{ + line-height: 34px; + font-size: 16px; + font-weight: bold; + text-align: center; +} +.m-left{ + position: absolute; + height: 100%; + vertical-align: middle; + top:0; + left:0; + z-index: 1; +} +.m-right{ + position: absolute; + height: 100%; + vertical-align: middle; + top:0; + right:0; + z-index: 1; +} +.m-left>.l-btn,.m-right>.l-btn, +.m-left>.switchbutton,.m-right>.switchbutton{ + position: relative; + vertical-align: top; + top: 50%; + margin-top: -15px; +} +.m-back::before,.m-next::after{ + display: inline-block; + box-sizing: border-box; + vertical-align: top; + border-style: solid; + -webkit-transform:rotate(45deg); + transform:rotate(45deg); + width: 12px; + height: 12px; + content: ''; + position: absolute; + top: 50%; + margin-top: -6px; +} +.m-back::before{ + border-width: 0 0 1px 1px; + left: 8px; +} +.m-next::after{ + border-width: 1px 1px 0 0; + right: 8px; +} +.m-back .l-btn-text{ + padding-left: 12px; +} +.m-next .l-btn-text{ + padding-right: 12px; +} +.m-buttongroup{ + display: inline-block; + margin: 0; + padding: 0; + overflow: hidden; + vertical-align: middle; +} +.m-buttongroup .l-btn{ + float: left; + margin-left: -1px; +} +.m-buttongroup .l-btn:last-child::after{ + content: ''; + clear: both; +} +.m-buttongroup .l-btn:not(:first-child):not(:last-child){ + border-radius: 0; +} +.m-buttongroup .l-btn:first-child{ + border-top-right-radius: 0; + border-bottom-right-radius: 0; + margin-left: 0; +} +.m-buttongroup .l-btn:last-child{ + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.m-buttongroup-justified{ + display: table; + table-layout: fixed; +} +.m-buttongroup-justified .l-btn{ + float: none; + display: table-cell; +} +.m-badge:not(.l-btn), +.l-btn.m-badge::after{ + display: inline-block; + min-width: 10px; + line-height: 1; + font-size: 12px; + text-align: center; + white-space: nowrap; + border-radius: 10px; + padding: 2px 4px; + border-style: solid; + border-width: 0px; + background-color: #d9534f; + color: #fff; + z-index: 99999; +} +.l-btn.m-badge::after, +.l-btn .m-badge{ + position: absolute; + top: -10px; + right: -10px; +} +.tabs-inner .m-badge{ + position: absolute; + top: 1px; + right: -10px; +} +.tabs-inner>.tabs-title>.m-badge{ + top: 0; + right: 0; +} +.tabs-header-bottom .tabs-inner>.tabs-title>.m-badge{ + top: auto; + bottom: 0; + right: 0; +} +.panel-footer .l-btn .l-btn-icon-top .m-badge, +.panel-footer .l-btn .l-btn-icon-bottom .m-badge{ + top: 0; + right: -10px; +} +.l-btn.m-badge::after{ + content: attr(data-badge); +} +.l-btn,.l-btn-left{ + overflow: visible; + position: relative; +} + +.m-in{ + -webkit-animation-timing-function: ease-out; + -webkit-animation-duration: 250ms; +} +.m-out{ + -webkit-animation-timing-function: ease-in; + -webkit-animation-duration: 250ms; +} +.m-slide-left.m-in{ + -webkit-animation-name: slideLeftIn; +} +.m-slide-left.m-out{ + -webkit-animation-name: slideLeftOut; +} +.m-slide-right.m-in{ + -webkit-animation-name: slideRightIn; +} +.m-slide-right.m-out{ + -webkit-animation-name: slideRightOut; +} +.m-slide-up.m-in{ + -webkit-animation-name: slideUpIn; +} +.m-slide-up.m-out{ + -webkit-animation-name: slideUpOut; +} +.m-slide-down.m-in{ + -webkit-animation-name: slideDownIn; +} +.m-slide-down.m-out{ + -webkit-animation-name: slideDownOut; +} + +@-webkit-keyframes slideLeftIn{ + from {-webkit-transform: translateX(100%);} + to {-webkit-transform: translateX(0);} +} +@-webkit-keyframes slideLeftOut{ + from {-webkit-transform: translateX(0);} + to {-webkit-transform: translateX(-100%);} +} +@-webkit-keyframes slideRightIn{ + from {-webkit-transform: translateX(-100%);} + to {-webkit-transform: translateX(0);} +} +@-webkit-keyframes slideRightOut{ + from {-webkit-transform: translateX(0);} + to {-webkit-transform: translateX(100%);} +} +@-webkit-keyframes slideUpIn{ + from {-webkit-transform: translateY(100%);} + to {-webkit-transform: translateY(0);} +} +@-webkit-keyframes slideUpOut{ + from {-webkit-transform: translateY(0);} + to {-webkit-transform: translateY(-100%);} +} +@-webkit-keyframes slideDownIn{ + from {-webkit-transform: translateY(-100%);} + to {-webkit-transform: translateY(0);} +} +@-webkit-keyframes slideDownOut{ + from {-webkit-transform: translateY(0);} + to {-webkit-transform: translateY(100%);} +} + +.m-fade.m-in{ + -webkit-animation-name: fadeIn; +} +.m-fade.m-out{ + -webkit-animation-name: fadeOut; +} + +@-webkit-keyframes fadeIn{ + from {opacity: 0;} + to {opacity: 1} +} +@-webkit-keyframes fadeOut{ + from {opacity: 1;} + to {opacity: 0;} +} + +.m-pop.m-in{ + -webkit-animation-name: popIn; +} +.m-pop.m-out{ + -webkit-animation-name: popOut; +} +@-webkit-keyframes popIn{ + from { + opacity: 0; + -webkit-transform: scale(.2); + } + to { + opacity: 1; + -webkit-transform: scale(1); + } +} +@-webkit-keyframes popOut{ + from { + opacity: 1; + -webkit-transform: scale(1); + } + to { + opacity: 0; + -webkit-transform: scale(0); + } +} + +.navpanel{ + position: absolute; +} +.textbox .textbox-text{ + padding: 0 4px; + height: 30px; + line-height: 30px; +} +.calendar-header,.calendar-title{ + height: 30px; +} +.calendar-title span{ + height: 30px; + line-height: 30px +} +.datebox-button{ + height: 24px; +} +.datebox-button a{ + line-height: 24px; +} +.tree-node{ + box-sizing: border-box; + height: 32px; + padding: 3px 0; +} + +.panel-title{ + height: 26px; + line-height: 26px; +} +.window{ + padding: 5px 0 0 0; +} +.window-shadow{ + -moz-box-shadow: 0 0 30px 0 #D3D3D3; + -webkit-box-shadow: 0 0 30px 0 #D3D3D3; + box-shadow: 0 0 30px 0 #D3D3D3; +} +.window-header .panel-title{ + height: 26px; + line-height: 26px; + text-align: center; +} +.window-header .panel-tool{ + display: none; +} +.window .window-body{ + border: 0; +} +.dialog-button{ + border-color: transparent; + overflow: hidden; +} +.dialog-button .l-btn{ + margin: 0; +} + +.tabs-justified, +.tabs-justified .l-btn, +.tabs-justified li a.tabs-inner, +.tabs-justified li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs-justified li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs-justified li a.tabs-inner{ + -moz-border-radius:0; + -webkit-border-radius:0; + border-radius:0; +} + +.datagrid-row,.datagrid-header-row{ + height: 32px; +} +.datalist .datagrid-group-title, +.m-list .m-list-group{ + padding: 0 10px; +} +.datalist .datagrid-cell, +.m-list li{ + padding: 10px; +} +.m-list li .m-right{ + right: 10px; +} +.datalist .datalist-link, +.m-list li>a{ + margin: -10px; + padding: 10px; + padding-right: 24px; +} +.m-list li>a .m-right{ + right: 24px; +} +.datalist .datalist-link::after, +.m-list li>a::after{ + right: 12px; +} + diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/vue.css b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/vue.css new file mode 100644 index 0000000..431e32d --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/css/themes/vue.css @@ -0,0 +1,634 @@ +*{ + box-sizing: border-box; +} +.f-block{ + display: block; + position: relative; +} +.f-row{ + display: -webkit-box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + position: relative; +} +.f-column{ + display: -webkit-box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-direction: normal; + -webkit-box-orient: vertical; + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + position: relative; +} +.f-inline-row{ + white-space: nowrap; + display: -webkit-inline-box; + display: -ms-inline-box; + display: inline-flex; + vertical-align: middle; + position: relative; + align-items: stretch; + -webkit-tap-highlight-color: transparent; +} +.f-content-center{ + -webkit-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + -moz-justify-content: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + -moz-align-items: center; + align-items: center; +} +.f-full{ + -webkit-box-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; +} +.f-hide{ + display: none; +} +.f-order0{ + order: 0; +} +.f-order1{ + order: 1; +} +.f-order2{ + order: 2; +} +.f-order3{ + order: 3; +} +.f-order4{ + order: 4; +} +.f-order5{ + order: 5; +} +.f-order6{ + order: 6; +} +.f-order7{ + order: 7; +} +.f-order8{ + order: 8; +} +.f-noshrink{ + -webkit-flex-shrink: 0; + -moz-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; +} +.f-animate{ + transition: all .3s; +} +.f-field{ + width: 12em; + height: 30px; +} + +.scroll-body{ + overflow: auto; + position: relative; +} + +.textbox .textbox-text{ + width: 100%; + height: auto; + overflow: hidden; +} +.textbox-addon{ + align-items: center; +} +.textbox textarea.textbox-text{ + height: auto; + overflow: auto; +} +.textbox-disabled>.textbox-addon .textbox-icon, +.textbox-readonly>.textbox-addon .textbox-icon{ + cursor: default; +} +.textbox-disabled>.textbox-addon .textbox-icon:hover, +.textbox-readonly>.textbox-addon .textbox-icon:hover{ + opacity: 0.6; + cursor: default; +} +.textbox-addon .textbox-icon{ + width: 26px; + height: 18px; +} + +.spinner .textbox-text{ + height: auto; +} +.spinner-button-left,.spinner-button-right{ + width: 26px; +} +.spinner-button-updown{ + width: 26px; +} +.spinner-button-top,.spinner-button-bottom{ + position: absolute; + width: 100%; + height: 26px; +} +.spinner-button-top{ + top: 0; +} +.spinner-button-bottom{ + top: auto; + bottom: 0; +} +.spinner-button{ + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + left: 50%; + margin-left: -8px; + top: 50%; + margin-top: -8px; +} +.spinner-arrow{ + cursor: pointer; + opacity: 0.6; +} + +.textbox-disabled .spinner-arrow:hover, +.textbox-readonly .spinner-arrow:hover +{ + opacity: 0.6; + cursor: default; +} +.textbox-readonly .spinner-arrow .spinner-arrow-up:hover, +.textbox-disabled .spinner-arrow .spinner-arrow-up:hover, +.textbox-readonly .spinner-arrow .spinner-arrow-down:hover, +.textbox-disabled .spinner-arrow .spinner-arrow-down:hover +{ + cursor: default; +} + +.l-btn{ + width1: 100%; +} +.l-btn-empty{ + height: 28px; +} +.l-btn-large .l-btn-empty{ + height: 44px; +} +.l-btn-left{ + overflow: visible; +} +.m-btn .l-btn-left .m-btn-line{ + top: -100px; + width: 36px; + right: -20px; +} +.button-group .l-btn.f-inline-row{ + margin-left: -1px; +} +.button-group .l-btn:hover{ + z-index: 99; +} +.button-group .l-btn:not(:first-child):not(:last-child){ + border-radius: 0; +} +.button-group .l-btn:first-child{ + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.button-group .l-btn:last-child{ + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.switchbutton{ + width: 70px; + height: 30px; +} +.switchbutton-on,.switchbutton-off{ + position: absolute; + left: 0; + width: calc(100% - 15px); + height: 100%; +} +.switchbutton-on span,.switchbutton-off span,.switchbutton-handle span{ + height: 100%; +} +.switchbutton-on span{ + text-indent: -15px; +} +.switchbutton-off span{ + text-indent: 15px; +} +.switchbutton-off{ + left: calc(100% - 15px); +} +.switchbutton-handle{ + width: 30px; + left: auto; + right: 0; + z-index: 9; +} +.switchbutton-inner{ + transition: all 200ms ease-out; + overflow: visible; + position: absolute; + width: 100%; + top: -1px; + bottom: -1px; + left: calc(-100% + 30px); + right: auto; +} +.switchbutton-checked .switchbutton-inner{ + left: 0; +} +.draggable-reverting{ + transition: all 200ms ease-out; +} +.slider-h .slider-tip{ + transform: translateX(-50%); +} +.slider-h .slider-rulelabel span{ + transform: translateX(-50%); +} +.slider-v .slider-tip{ + margin-top: 0; + transform: translate(-100%,-50%); +} +.slider-v .slider-rulelabel span{ + transform: translateY(-50%); +} +.slider-v .slider-inner{ + height: auto; +} + + +.panel{ + position:relative; +} +.panel-title{ + height: 20px; + line-height: 20px; +} +.panel-footer-fixed{ + position:absolute; + width:100%; + bottom:0; +} +.window{ + position: absolute; +} +.window-mask{ + position: fixed; +} +.window .window-footer{ + top: 0; +} +.dialog-toolbar{ + border-width: 0 0 1px 0; +} +.dialog-button{ + border-width: 1px 0 0 0; + top: 0; +} + +.tabs{ + width: 100%; + height: auto; +} +.tabs-scrollable{ + transition: left 400ms, right 400ms; + position: absolute; + width: auto; + height: 100%; + left: 0; + top: 0; +} +.tabs li{ + display: inherit; +} +.tabs li a.tabs-inner{ + height: auto; + line-height: normal; + display: inherit; + overflow: hidden; +} +.tabs-title{ + display: inherit; + align-items: center; + line-height: normal; +} +.tabs-close{ + outline: none; +} +.tabs-scroller-left,.tabs-scroller-right{ + position: relative; + display: block; + width: 21px; + height: 100%; +} +.tabs-header-left .tabs li{ + right: -1px; +} +.tabs-header-left .tabs li,.tabs-header-right .tabs li, +.tabs-header-left .tabs li a.tabs-inner, +.tabs-header-right .tabs li a.tabs-inner{ + display: inherit; +} + +.combo-panel{ + position: absolute; + height: 200px; + z-index: 9999; +} +.combo-panel .tree, +.combo-panel eui-datagrid, +.combo-panel eui-treegrid{ + width: 100%; + height: 100%; +} +.combobox-item{ + padding: 6px 4px; + line-height: 20px; +} +.tagbox-labels{ + padding-bottom: 4px; +} +.tagbox-label{ + height: 20px; + line-height: 20px; +} +.tagbox .textbox-text{ + width: 50px; + max-width: 100%; + margin-top: 4px; + padding-top: 0; + padding-bottom: 0; + height: 20px; + line-height: 20px; +} + +.datagrid, +.datagrid-view,.datagrid-view1,.datagrid-view2{ + position: relative; +} +.datagrid-vbody{ + overflow: hidden; +} +.datagrid-view3{ + margin-left: -1px; +} +.datagrid-view3 .datagrid-body{ + overflow: hidden; +} +.datagrid-view3 .datagrid-body-inner{ + padding-bottom: 20px; +} +.datagrid-view3 .datagrid-header td, +.datagrid-view3 .datagrid-body td, +.datagrid-view3 .datagrid-footer td { + border-width: 0 0 1px 1px; +} +.datagrid-htable,.datagrid-btable,.datagrid-ftable{ + table-layout: fixed; + width: 100%; +} +.datagrid-htable{ + height: 100%; +} +.datagrid-header .datagrid-header, +.datagrid-footer .datagrid-header{ + border-width: 0 0 0 1px; +} +.datagrid-header-inner,.datagrid-footer-inner{ + overflow: hidden; +} +.datagrid-header-row, .datagrid-row{ + height: 32px; +} +.datagrid-header td.datagrid-field-td{ + border-bottom: 0; +} +.datagrid-cell{ + text-align: left; + height: auto; + font-size: inherit; +} +.datagrid-cell-group{ + text-align: center; +} +.datagrid .datagrid-pager{ + padding: 2px 4px; + display: inherit; +} +.datagrid-loading{ + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + justify-content: center; + align-items: center; +} +.datagrid-mask{ + display: block; +} +.datagrid-mask-msg{ + display: block; + position: static; + line-height: 36px; + height: 40px; + margin: 0; + padding: 0 5px 0 30px; + z-index: 9; +} +.datagrid-body .datagrid-td-group{ + border-left-color: transparent; + border-right-color: transparent; +} +.datagrid-group-expander{ + cursor: pointer; +} +.datagrid-row-expander{ + display: inline-block; + width: 16px; + height: 18px; + cursor: pointer; +} +.datagrid-group-title{ + align-self: center; + padding: 0 4px; + white-space: nowrap; + word-break: normal; + position: relative; +} +.datagrid-editable> .f-field, +.datagrid-editable> *{ + width: 100%; + height: 31px; +} +.datagrid-editable .textbox, .datagrid-editable .textbox-text{ + border-radius: 0; +} +.datagrid-filter-row .textbox{ + border-radius: 0; +} +.datagrid-filter-c{ + padding: 4px; + height: 38px; +} +.datagrid-filter-c> .f-field, +.datagrid-filter-c> *{ + height: 30px; +} +.datagrid-filter-c .datagrid-editable-input{ + width: 100%; +} +.datagrid-filter-btn{ + width: 30px; +} +.datagrid-filter-btn .textbox-icon{ + width: 28px; +} +.datagrid-filter-btn .textbox{ + background-color: transparent; +} +.datagrid-filter-btn-left{ + margin-right: 4px; +} +.datagrid-filter-btn-right{ + margin-left: 4px; +} + +.menu-inline{ + position: relative; + display: inline; + margin: 0; + padding: 0; +} +.menu-inline> .menu-container{ + position: relative; +} +.menu-container{ + position: absolute; + left: 0; + top: 0; + min-width: 200px; +} +.menu{ + overflow: visible; +} +.menu-shadow{ + width: 100%; + height: 100%; + left: 0; + top: 0; +} +.menu-item{ + overflow: visible; +} +.menu-text{ + height: 32px; + line-height: 32px; + float: none; +} +.menu-line{ + z-index: 9999999; + height: 100%; +} +.menu-active{ + z-index: 99999999; +} + +.progressbar-value{ + overflow: visible; +} + +.searchbox .textbox-button, +.searchbox .textbox-button:hover{ + position: inherit; +} + +.calendar-content{ + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; +} +.calendar-menu{ + position: absolute; + width: 100%; + height: 100%; +} +.calendar-menu-month-inner{ + position: relative; +} + +.radiobutton{ + width: 20px; + height: 20px; +} +.checkbox{ + width: 20px; + height: 20px; +} +.progressbar{ + height: 24px; +} +.pagination1{ + height: 34px; + padding: 2px; +} +.layout{ + height: 100%; +} +.layout-animate{ + transition: transform 400ms; +} +.layout-panel-north,.layout-panel-south{ + position: absolute; + width: 100%; + left: 0; + top: 0; +} +.layout-panel-south{ + top: auto; + bottom: 0; +} +.layout-panel-west,.layout-panel-east{ + position: absolute; + left: 0; + top: 0; + bottom: 0; +} +.layout-panel-east{ + left: auto; + right: 0; +} +.layout-panel-west.layout-collapsed{ + transform: translate3d(-100%, 0, 0); +} +.layout-panel-east.layout-collapsed{ + transform: translate3d(100%, 0, 0) +} +.layout-panel-north.layout-collapsed{ + transform: translate3d(0, -100%, 0) +} +.layout-panel-south.layout-collapsed{ + transform: translate3d(0, 100%, 0) +} + diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/ftl/hello.ftl b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/ftl/hello.ftl new file mode 100644 index 0000000..f22d509 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/ftl/hello.ftl @@ -0,0 +1 @@ +

    hello ${name}

    \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/js/ajaxFileUpload.js b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/js/ajaxFileUpload.js new file mode 100644 index 0000000..579160d --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/js/ajaxFileUpload.js @@ -0,0 +1,236 @@ +// JavaScript Document +jQuery.extend({ + + createUploadIframe: function(id, uri) + { + //create frame + var frameId = 'jUploadFrame' + id; + + if(window.ActiveXObject) { + var io = document.createElement('").appendTo("body"); +_62d.attr("src",window.ActiveXObject?"javascript:false":"about:blank"); +_62d.css({position:"absolute",top:-1000,left:-1000}); +_62d.bind("load",cb); +_62e(_62b); +function _62e(_62f){ +var form=$(_62a); +if(opts.url){ +form.attr("action",opts.url); +} +var t=form.attr("target"),a=form.attr("action"); +form.attr("target",_62c); +var _630=$(); +try{ +for(var n in _62f){ +var _631=$("").val(_62f[n]).appendTo(form); +_630=_630.add(_631); +} +_632(); +form[0].submit(); +} +finally{ +form.attr("action",a); +t?form.attr("target",t):form.removeAttr("target"); +_630.remove(); +} +}; +function _632(){ +var f=$("#"+_62c); +if(!f.length){ +return; +} +try{ +var s=f.contents()[0].readyState; +if(s&&s.toLowerCase()=="uninitialized"){ +setTimeout(_632,100); +} +} +catch(e){ +cb(); +} +}; +var _633=10; +function cb(){ +var f=$("#"+_62c); +if(!f.length){ +return; +} +f.unbind(); +var data=""; +try{ +var body=f.contents().find("body"); +data=body.html(); +if(data==""){ +if(--_633){ +setTimeout(cb,100); +return; +} +} +var ta=body.find(">textarea"); +if(ta.length){ +data=ta.val(); +}else{ +var pre=body.find(">pre"); +if(pre.length){ +data=pre.html(); +} +} +} +catch(e){ +} +opts.success.call(_62a,data); +setTimeout(function(){ +f.unbind(); +f.remove(); +},100); +}; +}; +function _629(_634,_635){ +var opts=$.data(_634,"form").options; +var _636=new FormData($(_634)[0]); +for(var name in _635){ +_636.append(name,_635[name]); +} +$.ajax({url:opts.url,type:"post",xhr:function(){ +var xhr=$.ajaxSettings.xhr(); +if(xhr.upload){ +xhr.upload.addEventListener("progress",function(e){ +if(e.lengthComputable){ +var _637=e.total; +var _638=e.loaded||e.position; +var _639=Math.ceil(_638*100/_637); +opts.onProgress.call(_634,_639); +} +},false); +} +return xhr; +},data:_636,dataType:"html",cache:false,contentType:false,processData:false,complete:function(res){ +opts.success.call(_634,res.responseText); +}}); +}; +function load(_63a,data){ +var opts=$.data(_63a,"form").options; +if(typeof data=="string"){ +var _63b={}; +if(opts.onBeforeLoad.call(_63a,_63b)==false){ +return; +} +$.ajax({url:data,data:_63b,dataType:"json",success:function(data){ +_63c(data); +},error:function(){ +opts.onLoadError.apply(_63a,arguments); +}}); +}else{ +_63c(data); +} +function _63c(data){ +var form=$(_63a); +for(var name in data){ +var val=data[name]; +if(!_63d(name,val)){ +if(!_63e(name,val)){ +form.find("input[name=\""+name+"\"]").val(val); +form.find("textarea[name=\""+name+"\"]").val(val); +form.find("select[name=\""+name+"\"]").val(val); +} +} +} +opts.onLoadSuccess.call(_63a,data); +form.form("validate"); +}; +function _63d(name,val){ +var _63f=["switchbutton","radiobutton","checkbox"]; +for(var i=0;i<_63f.length;i++){ +var _640=_63f[i]; +var cc=$(_63a).find("["+_640+"Name=\""+name+"\"]"); +if(cc.length){ +cc[_640]("uncheck"); +cc.each(function(){ +if(_641($(this)[_640]("options").value,val)){ +$(this)[_640]("check"); +} +}); +return true; +} +} +var cc=$(_63a).find("input[name=\""+name+"\"][type=radio], input[name=\""+name+"\"][type=checkbox]"); +if(cc.length){ +cc._propAttr("checked",false); +cc.each(function(){ +if(_641($(this).val(),val)){ +$(this)._propAttr("checked",true); +} +}); +return true; +} +return false; +}; +function _641(v,val){ +if(v==String(val)||$.inArray(v,$.isArray(val)?val:[val])>=0){ +return true; +}else{ +return false; +} +}; +function _63e(name,val){ +var _642=$(_63a).find("[textboxName=\""+name+"\"],[sliderName=\""+name+"\"]"); +if(_642.length){ +for(var i=0;i=0;i--){ +var type=opts.fieldTypes[i]; +var _64a=form.find("."+type+"-f"); +if(_64a.length&&_64a[type]){ +_64a[type]("reset"); +} +} +form.form("validate"); +}; +function _64b(_64c){ +var _64d=$.data(_64c,"form").options; +$(_64c).unbind(".form"); +if(_64d.ajax){ +$(_64c).bind("submit.form",function(){ +setTimeout(function(){ +_622(_64c,_64d); +},0); +return false; +}); +} +$(_64c).bind("_change.form",function(e,t){ +if($.inArray(t,_64d.dirtyFields)==-1){ +_64d.dirtyFields.push(t); +} +_64d.onChange.call(this,t); +}).bind("change.form",function(e){ +var t=e.target; +if(!$(t).hasClass("textbox-text")){ +if($.inArray(t,_64d.dirtyFields)==-1){ +_64d.dirtyFields.push(t); +} +_64d.onChange.call(this,t); +} +}); +_64e(_64c,_64d.novalidate); +}; +function _64f(_650,_651){ +_651=_651||{}; +var _652=$.data(_650,"form"); +if(_652){ +$.extend(_652.options,_651); +}else{ +$.data(_650,"form",{options:$.extend({},$.fn.form.defaults,$.fn.form.parseOptions(_650),_651)}); +} +}; +function _653(_654){ +if($.fn.validatebox){ +var t=$(_654); +t.find(".validatebox-text:not(:disabled)").validatebox("validate"); +var _655=t.find(".validatebox-invalid"); +_655.filter(":not(:disabled):first").focus(); +return _655.length==0; +} +return true; +}; +function _64e(_656,_657){ +var opts=$.data(_656,"form").options; +opts.novalidate=_657; +$(_656).find(".validatebox-text:not(:disabled)").validatebox(_657?"disableValidation":"enableValidation"); +}; +$.fn.form=function(_658,_659){ +if(typeof _658=="string"){ +this.each(function(){ +_64f(this); +}); +return $.fn.form.methods[_658](this,_659); +} +return this.each(function(){ +_64f(this,_658); +_64b(this); +}); +}; +$.fn.form.methods={options:function(jq){ +return $.data(jq[0],"form").options; +},submit:function(jq,_65a){ +return jq.each(function(){ +_622(this,_65a); +}); +},load:function(jq,data){ +return jq.each(function(){ +load(this,data); +}); +},clear:function(jq){ +return jq.each(function(){ +_644(this); +}); +},reset:function(jq){ +return jq.each(function(){ +_648(this); +}); +},validate:function(jq){ +return _653(jq[0]); +},disableValidation:function(jq){ +return jq.each(function(){ +_64e(this,true); +}); +},enableValidation:function(jq){ +return jq.each(function(){ +_64e(this,false); +}); +},resetValidation:function(jq){ +return jq.each(function(){ +$(this).find(".validatebox-text:not(:disabled)").validatebox("resetValidation"); +}); +},resetDirty:function(jq){ +return jq.each(function(){ +$(this).form("options").dirtyFields=[]; +}); +}}; +$.fn.form.parseOptions=function(_65b){ +var t=$(_65b); +return $.extend({},$.parser.parseOptions(_65b,[{ajax:"boolean",dirty:"boolean"}]),{url:(t.attr("action")?t.attr("action"):undefined)}); +}; +$.fn.form.defaults={fieldTypes:["tagbox","combobox","combotree","combogrid","combotreegrid","datetimebox","datebox","combo","datetimespinner","timespinner","numberspinner","spinner","slider","searchbox","numberbox","passwordbox","filebox","textbox","switchbutton","radiobutton","checkbox"],novalidate:false,ajax:true,iframe:true,dirty:false,dirtyFields:[],url:null,queryParams:{},onSubmit:function(_65c){ +return $(this).form("validate"); +},onProgress:function(_65d){ +},success:function(data){ +},onBeforeLoad:function(_65e){ +},onLoadSuccess:function(data){ +},onLoadError:function(){ +},onChange:function(_65f){ +}}; +})(jQuery); +(function($){ +function _660(_661){ +var _662=$.data(_661,"numberbox"); +var opts=_662.options; +$(_661).addClass("numberbox-f").textbox(opts); +$(_661).textbox("textbox").css({imeMode:"disabled"}); +$(_661).attr("numberboxName",$(_661).attr("textboxName")); +_662.numberbox=$(_661).next(); +_662.numberbox.addClass("numberbox"); +var _663=opts.parser.call(_661,opts.value); +var _664=opts.formatter.call(_661,_663); +$(_661).numberbox("initValue",_663).numberbox("setText",_664); +}; +function _665(_666,_667){ +var _668=$.data(_666,"numberbox"); +var opts=_668.options; +opts.value=parseFloat(_667); +var _667=opts.parser.call(_666,_667); +var text=opts.formatter.call(_666,_667); +opts.value=_667; +$(_666).textbox("setText",text).textbox("setValue",_667); +text=opts.formatter.call(_666,$(_666).textbox("getValue")); +$(_666).textbox("setText",text); +}; +$.fn.numberbox=function(_669,_66a){ +if(typeof _669=="string"){ +var _66b=$.fn.numberbox.methods[_669]; +if(_66b){ +return _66b(this,_66a); +}else{ +return this.textbox(_669,_66a); +} +} +_669=_669||{}; +return this.each(function(){ +var _66c=$.data(this,"numberbox"); +if(_66c){ +$.extend(_66c.options,_669); +}else{ +_66c=$.data(this,"numberbox",{options:$.extend({},$.fn.numberbox.defaults,$.fn.numberbox.parseOptions(this),_669)}); +} +_660(this); +}); +}; +$.fn.numberbox.methods={options:function(jq){ +var opts=jq.data("textbox")?jq.textbox("options"):{}; +return $.extend($.data(jq[0],"numberbox").options,{width:opts.width,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly}); +},cloneFrom:function(jq,from){ +return jq.each(function(){ +$(this).textbox("cloneFrom",from); +$.data(this,"numberbox",{options:$.extend(true,{},$(from).numberbox("options"))}); +$(this).addClass("numberbox-f"); +}); +},fix:function(jq){ +return jq.each(function(){ +var opts=$(this).numberbox("options"); +opts.value=null; +var _66d=opts.parser.call(this,$(this).numberbox("getText")); +$(this).numberbox("setValue",_66d); +}); +},setValue:function(jq,_66e){ +return jq.each(function(){ +_665(this,_66e); +}); +},clear:function(jq){ +return jq.each(function(){ +$(this).textbox("clear"); +$(this).numberbox("options").value=""; +}); +},reset:function(jq){ +return jq.each(function(){ +$(this).textbox("reset"); +$(this).numberbox("setValue",$(this).numberbox("getValue")); +}); +}}; +$.fn.numberbox.parseOptions=function(_66f){ +var t=$(_66f); +return $.extend({},$.fn.textbox.parseOptions(_66f),$.parser.parseOptions(_66f,["decimalSeparator","groupSeparator","suffix",{min:"number",max:"number",precision:"number"}]),{prefix:(t.attr("prefix")?t.attr("prefix"):undefined)}); +}; +$.fn.numberbox.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:{keypress:function(e){ +var _670=e.data.target; +var opts=$(_670).numberbox("options"); +return opts.filter.call(_670,e); +},blur:function(e){ +$(e.data.target).numberbox("fix"); +},keydown:function(e){ +if(e.keyCode==13){ +$(e.data.target).numberbox("fix"); +} +}},min:null,max:null,precision:0,decimalSeparator:".",groupSeparator:"",prefix:"",suffix:"",filter:function(e){ +var opts=$(this).numberbox("options"); +var s=$(this).numberbox("getText"); +if(e.metaKey||e.ctrlKey){ +return true; +} +if($.inArray(String(e.which),["46","8","13","0"])>=0){ +return true; +} +var tmp=$(""); +tmp.html(String.fromCharCode(e.which)); +var c=tmp.text(); +tmp.remove(); +if(!c){ +return true; +} +if(c=="-"||c==opts.decimalSeparator){ +return (s.indexOf(c)==-1)?true:false; +}else{ +if(c==opts.groupSeparator){ +return true; +}else{ +if("0123456789".indexOf(c)>=0){ +return true; +}else{ +return false; +} +} +} +},formatter:function(_671){ +if(!_671){ +return _671; +} +_671=_671+""; +var opts=$(this).numberbox("options"); +var s1=_671,s2=""; +var dpos=_671.indexOf("."); +if(dpos>=0){ +s1=_671.substring(0,dpos); +s2=_671.substring(dpos+1,_671.length); +} +if(opts.groupSeparator){ +var p=/(\d+)(\d{3})/; +while(p.test(s1)){ +s1=s1.replace(p,"$1"+opts.groupSeparator+"$2"); +} +} +if(s2){ +return opts.prefix+s1+opts.decimalSeparator+s2+opts.suffix; +}else{ +return opts.prefix+s1+opts.suffix; +} +},parser:function(s){ +s=s+""; +var opts=$(this).numberbox("options"); +if(opts.prefix){ +s=$.trim(s.replace(new RegExp("\\"+$.trim(opts.prefix),"g"),"")); +} +if(opts.suffix){ +s=$.trim(s.replace(new RegExp("\\"+$.trim(opts.suffix),"g"),"")); +} +if(parseFloat(s)!=opts.value){ +if(opts.groupSeparator){ +s=$.trim(s.replace(new RegExp("\\"+opts.groupSeparator,"g"),"")); +} +if(opts.decimalSeparator){ +s=$.trim(s.replace(new RegExp("\\"+opts.decimalSeparator,"g"),".")); +} +s=s.replace(/\s/g,""); +} +var val=parseFloat(s).toFixed(opts.precision); +if(isNaN(val)){ +val=""; +}else{ +if(typeof (opts.min)=="number"&&valopts.max){ +val=opts.max.toFixed(opts.precision); +} +} +} +return val; +}}); +})(jQuery); +(function($){ +function _672(_673,_674){ +var opts=$.data(_673,"calendar").options; +var t=$(_673); +if(_674){ +$.extend(opts,{width:_674.width,height:_674.height}); +} +t._size(opts,t.parent()); +t.find(".calendar-body")._outerHeight(t.height()-t.find(".calendar-header")._outerHeight()); +if(t.find(".calendar-menu").is(":visible")){ +_675(_673); +} +}; +function init(_676){ +$(_676).addClass("calendar").html("
    "+"
    "+"
    "+"
    "+"
    "+"
    "+""+"
    "+"
    "+"
    "+"
    "+"
    "+""+""+""+"
    "+"
    "+"
    "+"
    "+"
    "); +$(_676).bind("_resize",function(e,_677){ +if($(this).hasClass("easyui-fluid")||_677){ +_672(_676); +} +return false; +}); +}; +function _678(_679){ +var opts=$.data(_679,"calendar").options; +var menu=$(_679).find(".calendar-menu"); +menu.find(".calendar-menu-year").unbind(".calendar").bind("keypress.calendar",function(e){ +if(e.keyCode==13){ +_67a(true); +} +}); +$(_679).unbind(".calendar").bind("mouseover.calendar",function(e){ +var t=_67b(e.target); +if(t.hasClass("calendar-nav")||t.hasClass("calendar-text")||(t.hasClass("calendar-day")&&!t.hasClass("calendar-disabled"))){ +t.addClass("calendar-nav-hover"); +} +}).bind("mouseout.calendar",function(e){ +var t=_67b(e.target); +if(t.hasClass("calendar-nav")||t.hasClass("calendar-text")||(t.hasClass("calendar-day")&&!t.hasClass("calendar-disabled"))){ +t.removeClass("calendar-nav-hover"); +} +}).bind("click.calendar",function(e){ +var t=_67b(e.target); +if(t.hasClass("calendar-menu-next")||t.hasClass("calendar-nextyear")){ +_67c(1); +}else{ +if(t.hasClass("calendar-menu-prev")||t.hasClass("calendar-prevyear")){ +_67c(-1); +}else{ +if(t.hasClass("calendar-menu-month")){ +menu.find(".calendar-selected").removeClass("calendar-selected"); +t.addClass("calendar-selected"); +_67a(true); +}else{ +if(t.hasClass("calendar-prevmonth")){ +_67d(-1); +}else{ +if(t.hasClass("calendar-nextmonth")){ +_67d(1); +}else{ +if(t.hasClass("calendar-text")){ +if(menu.is(":visible")){ +menu.hide(); +}else{ +_675(_679); +} +}else{ +if(t.hasClass("calendar-day")){ +if(t.hasClass("calendar-disabled")){ +return; +} +var _67e=opts.current; +t.closest("div.calendar-body").find(".calendar-selected").removeClass("calendar-selected"); +t.addClass("calendar-selected"); +var _67f=t.attr("abbr").split(","); +var y=parseInt(_67f[0]); +var m=parseInt(_67f[1]); +var d=parseInt(_67f[2]); +opts.current=new Date(y,m-1,d); +opts.onSelect.call(_679,opts.current); +if(!_67e||_67e.getTime()!=opts.current.getTime()){ +opts.onChange.call(_679,opts.current,_67e); +} +if(opts.year!=y||opts.month!=m){ +opts.year=y; +opts.month=m; +show(_679); +} +} +} +} +} +} +} +} +}); +function _67b(t){ +var day=$(t).closest(".calendar-day"); +if(day.length){ +return day; +}else{ +return $(t); +} +}; +function _67a(_680){ +var menu=$(_679).find(".calendar-menu"); +var year=menu.find(".calendar-menu-year").val(); +var _681=menu.find(".calendar-selected").attr("abbr"); +if(!isNaN(year)){ +opts.year=parseInt(year); +opts.month=parseInt(_681); +show(_679); +} +if(_680){ +menu.hide(); +} +}; +function _67c(_682){ +opts.year+=_682; +show(_679); +menu.find(".calendar-menu-year").val(opts.year); +}; +function _67d(_683){ +opts.month+=_683; +if(opts.month>12){ +opts.year++; +opts.month=1; +}else{ +if(opts.month<1){ +opts.year--; +opts.month=12; +} +} +show(_679); +menu.find("td.calendar-selected").removeClass("calendar-selected"); +menu.find("td:eq("+(opts.month-1)+")").addClass("calendar-selected"); +}; +}; +function _675(_684){ +var opts=$.data(_684,"calendar").options; +$(_684).find(".calendar-menu").show(); +if($(_684).find(".calendar-menu-month-inner").is(":empty")){ +$(_684).find(".calendar-menu-month-inner").empty(); +var t=$("
    ").appendTo($(_684).find(".calendar-menu-month-inner")); +var idx=0; +for(var i=0;i<3;i++){ +var tr=$("").appendTo(t); +for(var j=0;j<4;j++){ +$("").html(opts.months[idx++]).attr("abbr",idx).appendTo(tr); +} +} +} +var body=$(_684).find(".calendar-body"); +var sele=$(_684).find(".calendar-menu"); +var _685=sele.find(".calendar-menu-year-inner"); +var _686=sele.find(".calendar-menu-month-inner"); +_685.find("input").val(opts.year).focus(); +_686.find("td.calendar-selected").removeClass("calendar-selected"); +_686.find("td:eq("+(opts.month-1)+")").addClass("calendar-selected"); +sele._outerWidth(body._outerWidth()); +sele._outerHeight(body._outerHeight()); +_686._outerHeight(sele.height()-_685._outerHeight()); +}; +function _687(_688,year,_689){ +var opts=$.data(_688,"calendar").options; +var _68a=[]; +var _68b=new Date(year,_689,0).getDate(); +for(var i=1;i<=_68b;i++){ +_68a.push([year,_689,i]); +} +var _68c=[],week=[]; +var _68d=-1; +while(_68a.length>0){ +var date=_68a.shift(); +week.push(date); +var day=new Date(date[0],date[1]-1,date[2]).getDay(); +if(_68d==day){ +day=0; +}else{ +if(day==(opts.firstDay==0?7:opts.firstDay)-1){ +_68c.push(week); +week=[]; +} +} +_68d=day; +} +if(week.length){ +_68c.push(week); +} +var _68e=_68c[0]; +if(_68e.length<7){ +while(_68e.length<7){ +var _68f=_68e[0]; +var date=new Date(_68f[0],_68f[1]-1,_68f[2]-1); +_68e.unshift([date.getFullYear(),date.getMonth()+1,date.getDate()]); +} +}else{ +var _68f=_68e[0]; +var week=[]; +for(var i=1;i<=7;i++){ +var date=new Date(_68f[0],_68f[1]-1,_68f[2]-i); +week.unshift([date.getFullYear(),date.getMonth()+1,date.getDate()]); +} +_68c.unshift(week); +} +var _690=_68c[_68c.length-1]; +while(_690.length<7){ +var _691=_690[_690.length-1]; +var date=new Date(_691[0],_691[1]-1,_691[2]+1); +_690.push([date.getFullYear(),date.getMonth()+1,date.getDate()]); +} +if(_68c.length<6){ +var _691=_690[_690.length-1]; +var week=[]; +for(var i=1;i<=7;i++){ +var date=new Date(_691[0],_691[1]-1,_691[2]+i); +week.push([date.getFullYear(),date.getMonth()+1,date.getDate()]); +} +_68c.push(week); +} +return _68c; +}; +function show(_692){ +var opts=$.data(_692,"calendar").options; +if(opts.current&&!opts.validator.call(_692,opts.current)){ +opts.current=null; +} +var now=new Date(); +var _693=now.getFullYear()+","+(now.getMonth()+1)+","+now.getDate(); +var _694=opts.current?(opts.current.getFullYear()+","+(opts.current.getMonth()+1)+","+opts.current.getDate()):""; +var _695=6-opts.firstDay; +var _696=_695+1; +if(_695>=7){ +_695-=7; +} +if(_696>=7){ +_696-=7; +} +$(_692).find(".calendar-title span").html(opts.months[opts.month-1]+" "+opts.year); +var body=$(_692).find("div.calendar-body"); +body.children("table").remove(); +var data=[""]; +data.push(""); +if(opts.showWeek){ +data.push(""); +} +for(var i=opts.firstDay;i"+opts.weeks[i]+""); +} +for(var i=0;i"+opts.weeks[i]+""); +} +data.push(""); +data.push(""); +var _697=_687(_692,opts.year,opts.month); +for(var i=0;i<_697.length;i++){ +var week=_697[i]; +var cls=""; +if(i==0){ +cls="calendar-first"; +}else{ +if(i==_697.length-1){ +cls="calendar-last"; +} +} +data.push(""); +if(opts.showWeek){ +var _698=opts.getWeekNumber(new Date(week[0][0],parseInt(week[0][1])-1,week[0][2])); +data.push(""); +} +for(var j=0;j"+d+""); +} +data.push(""); +} +data.push(""); +data.push("
    "+opts.weekNumberHeader+"
    "+_698+"
    "); +body.append(data.join("")); +body.children("table.calendar-dtable").prependTo(body); +opts.onNavigate.call(_692,opts.year,opts.month); +}; +$.fn.calendar=function(_69c,_69d){ +if(typeof _69c=="string"){ +return $.fn.calendar.methods[_69c](this,_69d); +} +_69c=_69c||{}; +return this.each(function(){ +var _69e=$.data(this,"calendar"); +if(_69e){ +$.extend(_69e.options,_69c); +}else{ +_69e=$.data(this,"calendar",{options:$.extend({},$.fn.calendar.defaults,$.fn.calendar.parseOptions(this),_69c)}); +init(this); +} +if(_69e.options.border==false){ +$(this).addClass("calendar-noborder"); +} +_672(this); +_678(this); +show(this); +$(this).find("div.calendar-menu").hide(); +}); +}; +$.fn.calendar.methods={options:function(jq){ +return $.data(jq[0],"calendar").options; +},resize:function(jq,_69f){ +return jq.each(function(){ +_672(this,_69f); +}); +},moveTo:function(jq,date){ +return jq.each(function(){ +if(!date){ +var now=new Date(); +$(this).calendar({year:now.getFullYear(),month:now.getMonth()+1,current:date}); +return; +} +var opts=$(this).calendar("options"); +if(opts.validator.call(this,date)){ +var _6a0=opts.current; +$(this).calendar({year:date.getFullYear(),month:date.getMonth()+1,current:date}); +if(!_6a0||_6a0.getTime()!=date.getTime()){ +opts.onChange.call(this,opts.current,_6a0); +} +} +}); +}}; +$.fn.calendar.parseOptions=function(_6a1){ +var t=$(_6a1); +return $.extend({},$.parser.parseOptions(_6a1,["weekNumberHeader",{firstDay:"number",fit:"boolean",border:"boolean",showWeek:"boolean"}])); +}; +$.fn.calendar.defaults={width:180,height:180,fit:false,border:true,showWeek:false,firstDay:0,weeks:["S","M","T","W","T","F","S"],months:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],year:new Date().getFullYear(),month:new Date().getMonth()+1,current:(function(){ +var d=new Date(); +return new Date(d.getFullYear(),d.getMonth(),d.getDate()); +})(),weekNumberHeader:"",getWeekNumber:function(date){ +var _6a2=new Date(date.getTime()); +_6a2.setDate(_6a2.getDate()+4-(_6a2.getDay()||7)); +var time=_6a2.getTime(); +_6a2.setMonth(0); +_6a2.setDate(1); +return Math.floor(Math.round((time-_6a2)/86400000)/7)+1; +},formatter:function(date){ +return date.getDate(); +},styler:function(date){ +return ""; +},validator:function(date){ +return true; +},onSelect:function(date){ +},onChange:function(_6a3,_6a4){ +},onNavigate:function(year,_6a5){ +}}; +})(jQuery); +(function($){ +function _6a6(_6a7){ +var _6a8=$.data(_6a7,"spinner"); +var opts=_6a8.options; +var _6a9=$.extend(true,[],opts.icons); +if(opts.spinAlign=="left"||opts.spinAlign=="right"){ +opts.spinArrow=true; +opts.iconAlign=opts.spinAlign; +var _6aa={iconCls:"spinner-button-updown",handler:function(e){ +var spin=$(e.target).closest(".spinner-arrow-up,.spinner-arrow-down"); +_6b4(e.data.target,spin.hasClass("spinner-arrow-down")); +}}; +if(opts.spinAlign=="left"){ +_6a9.unshift(_6aa); +}else{ +_6a9.push(_6aa); +} +}else{ +opts.spinArrow=false; +if(opts.spinAlign=="vertical"){ +if(opts.buttonAlign!="top"){ +opts.buttonAlign="bottom"; +} +opts.clsLeft="textbox-button-bottom"; +opts.clsRight="textbox-button-top"; +}else{ +opts.clsLeft="textbox-button-left"; +opts.clsRight="textbox-button-right"; +} +} +$(_6a7).addClass("spinner-f").textbox($.extend({},opts,{icons:_6a9,doSize:false,onResize:function(_6ab,_6ac){ +if(!opts.spinArrow){ +var span=$(this).next(); +var btn=span.find(".textbox-button:not(.spinner-button)"); +if(btn.length){ +var _6ad=btn.outerWidth(); +var _6ae=btn.outerHeight(); +var _6af=span.find(".spinner-button."+opts.clsLeft); +var _6b0=span.find(".spinner-button."+opts.clsRight); +if(opts.buttonAlign=="right"){ +_6b0.css("marginRight",_6ad+"px"); +}else{ +if(opts.buttonAlign=="left"){ +_6af.css("marginLeft",_6ad+"px"); +}else{ +if(opts.buttonAlign=="top"){ +_6b0.css("marginTop",_6ae+"px"); +}else{ +_6af.css("marginBottom",_6ae+"px"); +} +} +} +} +} +opts.onResize.call(this,_6ab,_6ac); +}})); +$(_6a7).attr("spinnerName",$(_6a7).attr("textboxName")); +_6a8.spinner=$(_6a7).next(); +_6a8.spinner.addClass("spinner"); +if(opts.spinArrow){ +var _6b1=_6a8.spinner.find(".spinner-button-updown"); +_6b1.append(""+""+""+""+""+""); +}else{ +var _6b2=$("
    ").addClass(opts.clsLeft).appendTo(_6a8.spinner); +var _6b3=$("").addClass(opts.clsRight).appendTo(_6a8.spinner); +_6b2.linkbutton({iconCls:opts.reversed?"spinner-button-up":"spinner-button-down",onClick:function(){ +_6b4(_6a7,!opts.reversed); +}}); +_6b3.linkbutton({iconCls:opts.reversed?"spinner-button-down":"spinner-button-up",onClick:function(){ +_6b4(_6a7,opts.reversed); +}}); +if(opts.disabled){ +$(_6a7).spinner("disable"); +} +if(opts.readonly){ +$(_6a7).spinner("readonly"); +} +} +$(_6a7).spinner("resize"); +}; +function _6b4(_6b5,down){ +var opts=$(_6b5).spinner("options"); +opts.spin.call(_6b5,down); +opts[down?"onSpinDown":"onSpinUp"].call(_6b5); +$(_6b5).spinner("validate"); +}; +$.fn.spinner=function(_6b6,_6b7){ +if(typeof _6b6=="string"){ +var _6b8=$.fn.spinner.methods[_6b6]; +if(_6b8){ +return _6b8(this,_6b7); +}else{ +return this.textbox(_6b6,_6b7); +} +} +_6b6=_6b6||{}; +return this.each(function(){ +var _6b9=$.data(this,"spinner"); +if(_6b9){ +$.extend(_6b9.options,_6b6); +}else{ +_6b9=$.data(this,"spinner",{options:$.extend({},$.fn.spinner.defaults,$.fn.spinner.parseOptions(this),_6b6)}); +} +_6a6(this); +}); +}; +$.fn.spinner.methods={options:function(jq){ +var opts=jq.textbox("options"); +return $.extend($.data(jq[0],"spinner").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly}); +}}; +$.fn.spinner.parseOptions=function(_6ba){ +return $.extend({},$.fn.textbox.parseOptions(_6ba),$.parser.parseOptions(_6ba,["min","max","spinAlign",{increment:"number",reversed:"boolean"}])); +}; +$.fn.spinner.defaults=$.extend({},$.fn.textbox.defaults,{min:null,max:null,increment:1,spinAlign:"right",reversed:false,spin:function(down){ +},onSpinUp:function(){ +},onSpinDown:function(){ +}}); +})(jQuery); +(function($){ +function _6bb(_6bc){ +$(_6bc).addClass("numberspinner-f"); +var opts=$.data(_6bc,"numberspinner").options; +$(_6bc).numberbox($.extend({},opts,{doSize:false})).spinner(opts); +$(_6bc).numberbox("setValue",opts.value); +}; +function _6bd(_6be,down){ +var opts=$.data(_6be,"numberspinner").options; +var v=parseFloat($(_6be).numberbox("getValue")||opts.value)||0; +if(down){ +v-=opts.increment; +}else{ +v+=opts.increment; +} +$(_6be).numberbox("setValue",v); +}; +$.fn.numberspinner=function(_6bf,_6c0){ +if(typeof _6bf=="string"){ +var _6c1=$.fn.numberspinner.methods[_6bf]; +if(_6c1){ +return _6c1(this,_6c0); +}else{ +return this.numberbox(_6bf,_6c0); +} +} +_6bf=_6bf||{}; +return this.each(function(){ +var _6c2=$.data(this,"numberspinner"); +if(_6c2){ +$.extend(_6c2.options,_6bf); +}else{ +$.data(this,"numberspinner",{options:$.extend({},$.fn.numberspinner.defaults,$.fn.numberspinner.parseOptions(this),_6bf)}); +} +_6bb(this); +}); +}; +$.fn.numberspinner.methods={options:function(jq){ +var opts=jq.numberbox("options"); +return $.extend($.data(jq[0],"numberspinner").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly}); +}}; +$.fn.numberspinner.parseOptions=function(_6c3){ +return $.extend({},$.fn.spinner.parseOptions(_6c3),$.fn.numberbox.parseOptions(_6c3),{}); +}; +$.fn.numberspinner.defaults=$.extend({},$.fn.spinner.defaults,$.fn.numberbox.defaults,{spin:function(down){ +_6bd(this,down); +}}); +})(jQuery); +(function($){ +function _6c4(_6c5){ +var opts=$.data(_6c5,"timespinner").options; +$(_6c5).addClass("timespinner-f").spinner(opts); +var _6c6=opts.formatter.call(_6c5,opts.parser.call(_6c5,opts.value)); +$(_6c5).timespinner("initValue",_6c6); +}; +function _6c7(e){ +var _6c8=e.data.target; +var opts=$.data(_6c8,"timespinner").options; +var _6c9=$(_6c8).timespinner("getSelectionStart"); +for(var i=0;i=_6ca[0]&&_6c9<=_6ca[1]){ +_6cb(_6c8,i); +return; +} +} +}; +function _6cb(_6cc,_6cd){ +var opts=$.data(_6cc,"timespinner").options; +if(_6cd!=undefined){ +opts.highlight=_6cd; +} +var _6ce=opts.selections[opts.highlight]; +if(_6ce){ +var tb=$(_6cc).timespinner("textbox"); +$(_6cc).timespinner("setSelectionRange",{start:_6ce[0],end:_6ce[1]}); +tb.focus(); +} +}; +function _6cf(_6d0,_6d1){ +var opts=$.data(_6d0,"timespinner").options; +var _6d1=opts.parser.call(_6d0,_6d1); +var text=opts.formatter.call(_6d0,_6d1); +$(_6d0).spinner("setValue",text); +}; +function _6d2(_6d3,down){ +var opts=$.data(_6d3,"timespinner").options; +var s=$(_6d3).timespinner("getValue"); +var _6d4=opts.selections[opts.highlight]; +var s1=s.substring(0,_6d4[0]); +var s2=s.substring(_6d4[0],_6d4[1]); +var s3=s.substring(_6d4[1]); +var v=s1+((parseInt(s2,10)||0)+opts.increment*(down?-1:1))+s3; +$(_6d3).timespinner("setValue",v); +_6cb(_6d3); +}; +$.fn.timespinner=function(_6d5,_6d6){ +if(typeof _6d5=="string"){ +var _6d7=$.fn.timespinner.methods[_6d5]; +if(_6d7){ +return _6d7(this,_6d6); +}else{ +return this.spinner(_6d5,_6d6); +} +} +_6d5=_6d5||{}; +return this.each(function(){ +var _6d8=$.data(this,"timespinner"); +if(_6d8){ +$.extend(_6d8.options,_6d5); +}else{ +$.data(this,"timespinner",{options:$.extend({},$.fn.timespinner.defaults,$.fn.timespinner.parseOptions(this),_6d5)}); +} +_6c4(this); +}); +}; +$.fn.timespinner.methods={options:function(jq){ +var opts=jq.data("spinner")?jq.spinner("options"):{}; +return $.extend($.data(jq[0],"timespinner").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly}); +},setValue:function(jq,_6d9){ +return jq.each(function(){ +_6cf(this,_6d9); +}); +},getHours:function(jq){ +var opts=$.data(jq[0],"timespinner").options; +var vv=jq.timespinner("getValue").split(opts.separator); +return parseInt(vv[0],10); +},getMinutes:function(jq){ +var opts=$.data(jq[0],"timespinner").options; +var vv=jq.timespinner("getValue").split(opts.separator); +return parseInt(vv[1],10); +},getSeconds:function(jq){ +var opts=$.data(jq[0],"timespinner").options; +var vv=jq.timespinner("getValue").split(opts.separator); +return parseInt(vv[2],10)||0; +}}; +$.fn.timespinner.parseOptions=function(_6da){ +return $.extend({},$.fn.spinner.parseOptions(_6da),$.parser.parseOptions(_6da,["separator",{showSeconds:"boolean",highlight:"number"}])); +}; +$.fn.timespinner.defaults=$.extend({},$.fn.spinner.defaults,{inputEvents:$.extend({},$.fn.spinner.defaults.inputEvents,{click:function(e){ +_6c7.call(this,e); +},blur:function(e){ +var t=$(e.data.target); +t.timespinner("setValue",t.timespinner("getText")); +},keydown:function(e){ +if(e.keyCode==13){ +var t=$(e.data.target); +t.timespinner("setValue",t.timespinner("getText")); +} +}}),formatter:function(date){ +if(!date){ +return ""; +} +var opts=$(this).timespinner("options"); +var tt=[_6db(date.getHours()),_6db(date.getMinutes())]; +if(opts.showSeconds){ +tt.push(_6db(date.getSeconds())); +} +return tt.join(opts.separator); +function _6db(_6dc){ +return (_6dc<10?"0":"")+_6dc; +}; +},parser:function(s){ +var opts=$(this).timespinner("options"); +var date=_6dd(s); +if(date){ +var min=_6dd(opts.min); +var max=_6dd(opts.max); +if(min&&min>date){ +date=min; +} +if(max&&max"]; +for(var i=0;i<_6f2.length;i++){ +_6f1.cache[_6f2[i][0]]={width:_6f2[i][1]}; +} +var _6f3=0; +for(var s in _6f1.cache){ +var item=_6f1.cache[s]; +item.index=_6f3++; +ss.push(s+"{width:"+item.width+"}"); +} +ss.push(""); +$(ss.join("\n")).appendTo(cc); +cc.children("style[easyui]:not(:last)").remove(); +},getRule:function(_6f4){ +var _6f5=cc.children("style[easyui]:last")[0]; +var _6f6=_6f5.styleSheet?_6f5.styleSheet:(_6f5.sheet||document.styleSheets[document.styleSheets.length-1]); +var _6f7=_6f6.cssRules||_6f6.rules; +return _6f7[_6f4]; +},set:function(_6f8,_6f9){ +var item=_6f1.cache[_6f8]; +if(item){ +item.width=_6f9; +var rule=this.getRule(item.index); +if(rule){ +rule.style["width"]=_6f9; +} +} +},remove:function(_6fa){ +var tmp=[]; +for(var s in _6f1.cache){ +if(s.indexOf(_6fa)==-1){ +tmp.push([s,_6f1.cache[s].width]); +} +} +_6f1.cache={}; +this.add(tmp); +},dirty:function(_6fb){ +if(_6fb){ +_6f1.dirty.push(_6fb); +} +},clean:function(){ +for(var i=0;i<_6f1.dirty.length;i++){ +this.remove(_6f1.dirty[i]); +} +_6f1.dirty=[]; +}}; +}; +function _6fc(_6fd,_6fe){ +var _6ff=$.data(_6fd,"datagrid"); +var opts=_6ff.options; +var _700=_6ff.panel; +if(_6fe){ +$.extend(opts,_6fe); +} +if(opts.fit==true){ +var p=_700.panel("panel").parent(); +opts.width=p.width(); +opts.height=p.height(); +} +_700.panel("resize",opts); +}; +function _701(_702){ +var _703=$.data(_702,"datagrid"); +var opts=_703.options; +var dc=_703.dc; +var wrap=_703.panel; +var _704=wrap.width(); +var _705=wrap.height(); +var view=dc.view; +var _706=dc.view1; +var _707=dc.view2; +var _708=_706.children("div.datagrid-header"); +var _709=_707.children("div.datagrid-header"); +var _70a=_708.find("table"); +var _70b=_709.find("table"); +view.width(_704); +var _70c=_708.children("div.datagrid-header-inner").show(); +_706.width(_70c.find("table").width()); +if(!opts.showHeader){ +_70c.hide(); +} +_707.width(_704-_706._outerWidth()); +_706.children()._outerWidth(_706.width()); +_707.children()._outerWidth(_707.width()); +var all=_708.add(_709).add(_70a).add(_70b); +all.css("height",""); +var hh=Math.max(_70a.height(),_70b.height()); +all._outerHeight(hh); +view.children(".datagrid-empty").css("top",hh+"px"); +dc.body1.add(dc.body2).children("table.datagrid-btable-frozen").css({position:"absolute",top:dc.header2._outerHeight()}); +var _70d=dc.body2.children("table.datagrid-btable-frozen")._outerHeight(); +var _70e=_70d+_709._outerHeight()+_707.children(".datagrid-footer")._outerHeight(); +wrap.children(":not(.datagrid-view,.datagrid-mask,.datagrid-mask-msg)").each(function(){ +_70e+=$(this)._outerHeight(); +}); +var _70f=wrap.outerHeight()-wrap.height(); +var _710=wrap._size("minHeight")||""; +var _711=wrap._size("maxHeight")||""; +_706.add(_707).children("div.datagrid-body").css({marginTop:_70d,height:(isNaN(parseInt(opts.height))?"":(_705-_70e)),minHeight:(_710?_710-_70f-_70e:""),maxHeight:(_711?_711-_70f-_70e:"")}); +view.height(_707.height()); +}; +function _712(_713,_714,_715){ +var rows=$.data(_713,"datagrid").data.rows; +var opts=$.data(_713,"datagrid").options; +var dc=$.data(_713,"datagrid").dc; +var tmp=$("").appendTo("body"); +var _716=tmp.outerHeight(); +tmp.remove(); +if(!dc.body1.is(":empty")&&(!opts.nowrap||opts.autoRowHeight||_715)){ +if(_714!=undefined){ +var tr1=opts.finder.getTr(_713,_714,"body",1); +var tr2=opts.finder.getTr(_713,_714,"body",2); +_717(tr1,tr2); +}else{ +var tr1=opts.finder.getTr(_713,0,"allbody",1); +var tr2=opts.finder.getTr(_713,0,"allbody",2); +_717(tr1,tr2); +if(opts.showFooter){ +var tr1=opts.finder.getTr(_713,0,"allfooter",1); +var tr2=opts.finder.getTr(_713,0,"allfooter",2); +_717(tr1,tr2); +} +} +} +_701(_713); +if(opts.height=="auto"){ +var _718=dc.body1.parent(); +var _719=dc.body2; +var _71a=_71b(_719); +var _71c=_71a.height; +if(_71a.width>_719.width()){ +_71c+=18; +} +_71c-=parseInt(_719.css("marginTop"))||0; +_718.height(_71c); +_719.height(_71c); +dc.view.height(dc.view2.height()); +} +dc.body2.triggerHandler("scroll"); +function _717(trs1,trs2){ +for(var i=0;i"); +} +_724(true); +_724(false); +_701(_721); +function _724(_725){ +var _726=_725?1:2; +var tr=opts.finder.getTr(_721,_722,"body",_726); +(_725?dc.body1:dc.body2).children("table.datagrid-btable-frozen").append(tr); +}; +}; +function _727(_728,_729){ +function _72a(){ +var _72b=[]; +var _72c=[]; +$(_728).children("thead").each(function(){ +var opt=$.parser.parseOptions(this,[{frozen:"boolean"}]); +$(this).find("tr").each(function(){ +var cols=[]; +$(this).find("th").each(function(){ +var th=$(this); +var col=$.extend({},$.parser.parseOptions(this,["id","field","align","halign","order","width",{sortable:"boolean",checkbox:"boolean",resizable:"boolean",fixed:"boolean"},{rowspan:"number",colspan:"number"}]),{title:(th.html()||undefined),hidden:(th.attr("hidden")?true:undefined),formatter:(th.attr("formatter")?eval(th.attr("formatter")):undefined),styler:(th.attr("styler")?eval(th.attr("styler")):undefined),sorter:(th.attr("sorter")?eval(th.attr("sorter")):undefined)}); +if(col.width&&String(col.width).indexOf("%")==-1){ +col.width=parseInt(col.width); +} +if(th.attr("editor")){ +var s=$.trim(th.attr("editor")); +if(s.substr(0,1)=="{"){ +col.editor=eval("("+s+")"); +}else{ +col.editor=s; +} +} +cols.push(col); +}); +opt.frozen?_72b.push(cols):_72c.push(cols); +}); +}); +return [_72b,_72c]; +}; +var _72d=$("
    "+"
    "+"
    "+"
    "+"
    "+"
    "+"
    "+"
    "+"
    "+"
    "+""+"
    "+"
    "+"
    "+"
    "+"
    "+"
    "+"
    "+"
    "+""+"
    "+"
    "+"
    "+"
    ").insertAfter(_728); +_72d.panel({doSize:false,cls:"datagrid"}); +$(_728).addClass("datagrid-f").hide().appendTo(_72d.children("div.datagrid-view")); +var cc=_72a(); +var view=_72d.children("div.datagrid-view"); +var _72e=view.children("div.datagrid-view1"); +var _72f=view.children("div.datagrid-view2"); +return {panel:_72d,frozenColumns:cc[0],columns:cc[1],dc:{view:view,view1:_72e,view2:_72f,header1:_72e.children("div.datagrid-header").children("div.datagrid-header-inner"),header2:_72f.children("div.datagrid-header").children("div.datagrid-header-inner"),body1:_72e.children("div.datagrid-body").children("div.datagrid-body-inner"),body2:_72f.children("div.datagrid-body"),footer1:_72e.children("div.datagrid-footer").children("div.datagrid-footer-inner"),footer2:_72f.children("div.datagrid-footer").children("div.datagrid-footer-inner")}}; +}; +function _730(_731){ +var _732=$.data(_731,"datagrid"); +var opts=_732.options; +var dc=_732.dc; +var _733=_732.panel; +_732.ss=$(_731).datagrid("createStyleSheet"); +_733.panel($.extend({},opts,{id:null,doSize:false,onResize:function(_734,_735){ +if($.data(_731,"datagrid")){ +_701(_731); +$(_731).datagrid("fitColumns"); +opts.onResize.call(_733,_734,_735); +} +},onExpand:function(){ +if($.data(_731,"datagrid")){ +$(_731).datagrid("fixRowHeight").datagrid("fitColumns"); +opts.onExpand.call(_733); +} +}})); +_732.rowIdPrefix="datagrid-row-r"+(++_6e7); +_732.cellClassPrefix="datagrid-cell-c"+_6e7; +_736(dc.header1,opts.frozenColumns,true); +_736(dc.header2,opts.columns,false); +_737(); +dc.header1.add(dc.header2).css("display",opts.showHeader?"block":"none"); +dc.footer1.add(dc.footer2).css("display",opts.showFooter?"block":"none"); +if(opts.toolbar){ +if($.isArray(opts.toolbar)){ +$("div.datagrid-toolbar",_733).remove(); +var tb=$("
    ").prependTo(_733); +var tr=tb.find("tr"); +for(var i=0;i
    ").appendTo(tr); +}else{ +var td=$("").appendTo(tr); +var tool=$("").appendTo(td); +tool[0].onclick=eval(btn.handler||function(){ +}); +tool.linkbutton($.extend({},btn,{plain:true})); +} +} +}else{ +$(opts.toolbar).addClass("datagrid-toolbar").prependTo(_733); +$(opts.toolbar).show(); +} +}else{ +$("div.datagrid-toolbar",_733).remove(); +} +$("div.datagrid-pager",_733).remove(); +if(opts.pagination){ +var _738=$("
    "); +if(opts.pagePosition=="bottom"){ +_738.appendTo(_733); +}else{ +if(opts.pagePosition=="top"){ +_738.addClass("datagrid-pager-top").prependTo(_733); +}else{ +var ptop=$("
    ").prependTo(_733); +_738.appendTo(_733); +_738=_738.add(ptop); +} +} +_738.pagination({total:0,pageNumber:opts.pageNumber,pageSize:opts.pageSize,pageList:opts.pageList,onSelectPage:function(_739,_73a){ +opts.pageNumber=_739||1; +opts.pageSize=_73a; +_738.pagination("refresh",{pageNumber:_739,pageSize:_73a}); +_782(_731); +}}); +opts.pageSize=_738.pagination("options").pageSize; +} +function _736(_73b,_73c,_73d){ +if(!_73c){ +return; +} +$(_73b).show(); +$(_73b).empty(); +var tmp=$("
    ").appendTo("body"); +tmp._outerWidth(99); +var _73e=100-parseInt(tmp[0].style.width); +tmp.remove(); +var _73f=[]; +var _740=[]; +var _741=[]; +if(opts.sortName){ +_73f=opts.sortName.split(","); +_740=opts.sortOrder.split(","); +} +var t=$("
    ").appendTo(_73b); +for(var i=0;i<_73c.length;i++){ +var tr=$("").appendTo($("tbody",t)); +var cols=_73c[i]; +for(var j=0;j").appendTo(tr); +if(col.checkbox){ +td.attr("field",col.field); +$("
    ").html("").appendTo(td); +}else{ +if(col.field){ +td.attr("field",col.field); +td.append("
    "); +td.find("span:first").html(col.title); +var cell=td.find("div.datagrid-cell"); +var pos=_6e8(_73f,col.field); +if(pos>=0){ +cell.addClass("datagrid-sort-"+_740[pos]); +} +if(col.sortable){ +cell.addClass("datagrid-sort"); +} +if(col.resizable==false){ +cell.attr("resizable","false"); +} +if(col.width){ +var _742=$.parser.parseValue("width",col.width,dc.view,opts.scrollbarSize+(opts.rownumbers?opts.rownumberWidth:0)); +col.deltaWidth=_73e; +col.boxWidth=_742-_73e; +}else{ +col.auto=true; +} +cell.css("text-align",(col.halign||col.align||"")); +col.cellClass=_732.cellClassPrefix+"-"+col.field.replace(/[\.|\s]/g,"-"); +cell.addClass(col.cellClass); +}else{ +$("
    ").html(col.title).appendTo(td); +} +} +if(col.hidden){ +td.hide(); +_741.push(col.field); +} +} +} +if(_73d&&opts.rownumbers){ +var td=$("
    "); +if($("tr",t).length==0){ +td.wrap("").parent().appendTo($("tbody",t)); +}else{ +td.prependTo($("tr:first",t)); +} +} +for(var i=0;i<_741.length;i++){ +_784(_731,_741[i],-1); +} +}; +function _737(){ +var _743=[[".datagrid-header-rownumber",(opts.rownumberWidth-1)+"px"],[".datagrid-cell-rownumber",(opts.rownumberWidth-1)+"px"]]; +var _744=_745(_731,true).concat(_745(_731)); +for(var i=0;i<_744.length;i++){ +var col=_746(_731,_744[i]); +if(col&&!col.checkbox){ +_743.push(["."+col.cellClass,col.boxWidth?col.boxWidth+"px":"auto"]); +} +} +_732.ss.add(_743); +_732.ss.dirty(_732.cellSelectorPrefix); +_732.cellSelectorPrefix="."+_732.cellClassPrefix; +}; +}; +function _747(_748){ +var _749=$.data(_748,"datagrid"); +var _74a=_749.panel; +var opts=_749.options; +var dc=_749.dc; +var _74b=dc.header1.add(dc.header2); +_74b.unbind(".datagrid"); +for(var _74c in opts.headerEvents){ +_74b.bind(_74c+".datagrid",opts.headerEvents[_74c]); +} +var _74d=_74b.find("div.datagrid-cell"); +var _74e=opts.resizeHandle=="right"?"e":(opts.resizeHandle=="left"?"w":"e,w"); +_74d.each(function(){ +$(this).resizable({handles:_74e,edge:opts.resizeEdge,disabled:($(this).attr("resizable")?$(this).attr("resizable")=="false":false),minWidth:25,onStartResize:function(e){ +_749.resizing=true; +_74b.css("cursor",$("body").css("cursor")); +if(!_749.proxy){ +_749.proxy=$("
    ").appendTo(dc.view); +} +if(e.data.dir=="e"){ +e.data.deltaEdge=$(this)._outerWidth()-(e.pageX-$(this).offset().left); +}else{ +e.data.deltaEdge=$(this).offset().left-e.pageX-1; +} +_749.proxy.css({left:e.pageX-$(_74a).offset().left-1+e.data.deltaEdge,display:"none"}); +setTimeout(function(){ +if(_749.proxy){ +_749.proxy.show(); +} +},500); +},onResize:function(e){ +_749.proxy.css({left:e.pageX-$(_74a).offset().left-1+e.data.deltaEdge,display:"block"}); +return false; +},onStopResize:function(e){ +_74b.css("cursor",""); +$(this).css("height",""); +var _74f=$(this).parent().attr("field"); +var col=_746(_748,_74f); +col.width=$(this)._outerWidth()+1; +col.boxWidth=col.width-col.deltaWidth; +col.auto=undefined; +$(this).css("width",""); +$(_748).datagrid("fixColumnSize",_74f); +_749.proxy.remove(); +_749.proxy=null; +if($(this).parents("div:first.datagrid-header").parent().hasClass("datagrid-view1")){ +_701(_748); +} +$(_748).datagrid("fitColumns"); +opts.onResizeColumn.call(_748,_74f,col.width); +setTimeout(function(){ +_749.resizing=false; +},0); +}}); +}); +var bb=dc.body1.add(dc.body2); +bb.unbind(); +for(var _74c in opts.rowEvents){ +bb.bind(_74c,opts.rowEvents[_74c]); +} +dc.body1.bind("mousewheel DOMMouseScroll",function(e){ +e.preventDefault(); +var e1=e.originalEvent||window.event; +var _750=e1.wheelDelta||e1.detail*(-1); +if("deltaY" in e1){ +_750=e1.deltaY*-1; +} +var dg=$(e.target).closest("div.datagrid-view").children(".datagrid-f"); +var dc=dg.data("datagrid").dc; +dc.body2.scrollTop(dc.body2.scrollTop()-_750); +}); +dc.body2.bind("scroll",function(){ +var b1=dc.view1.children("div.datagrid-body"); +var stv=$(this).scrollTop(); +$(this).scrollTop(stv); +b1.scrollTop(stv); +var c1=dc.body1.children(":first"); +var c2=dc.body2.children(":first"); +if(c1.length&&c2.length){ +var top1=c1.offset().top; +var top2=c2.offset().top; +if(top1!=top2){ +b1.scrollTop(b1.scrollTop()+top1-top2); +} +} +dc.view2.children("div.datagrid-header,div.datagrid-footer")._scrollLeft($(this)._scrollLeft()); +dc.body2.children("table.datagrid-btable-frozen").css("left",-$(this)._scrollLeft()); +}); +}; +function _751(_752){ +return function(e){ +var td=$(e.target).closest("td[field]"); +if(td.length){ +var _753=_754(td); +if(!$(_753).data("datagrid").resizing&&_752){ +td.addClass("datagrid-header-over"); +}else{ +td.removeClass("datagrid-header-over"); +} +} +}; +}; +function _755(e){ +var _756=_754(e.target); +var opts=$(_756).datagrid("options"); +var ck=$(e.target).closest("input[type=checkbox]"); +if(ck.length){ +if(opts.singleSelect&&opts.selectOnCheck){ +return false; +} +if(ck.is(":checked")){ +_757(_756); +}else{ +_758(_756); +} +e.stopPropagation(); +}else{ +var cell=$(e.target).closest(".datagrid-cell"); +if(cell.length){ +var p1=cell.offset().left+5; +var p2=cell.offset().left+cell._outerWidth()-5; +if(e.pageXp1){ +_759(_756,cell.parent().attr("field")); +} +} +} +}; +function _75a(e){ +var _75b=_754(e.target); +var opts=$(_75b).datagrid("options"); +var cell=$(e.target).closest(".datagrid-cell"); +if(cell.length){ +var p1=cell.offset().left+5; +var p2=cell.offset().left+cell._outerWidth()-5; +var cond=opts.resizeHandle=="right"?(e.pageX>p2):(opts.resizeHandle=="left"?(e.pageXp2)); +if(cond){ +var _75c=cell.parent().attr("field"); +var col=_746(_75b,_75c); +if(col.resizable==false){ +return; +} +$(_75b).datagrid("autoSizeColumn",_75c); +col.auto=false; +} +} +}; +function _75d(e){ +var _75e=_754(e.target); +var opts=$(_75e).datagrid("options"); +var td=$(e.target).closest("td[field]"); +opts.onHeaderContextMenu.call(_75e,e,td.attr("field")); +}; +function _75f(_760){ +return function(e){ +var tr=_761(e.target); +if(!tr){ +return; +} +var _762=_754(tr); +if($.data(_762,"datagrid").resizing){ +return; +} +var _763=_764(tr); +if(_760){ +_765(_762,_763); +}else{ +var opts=$.data(_762,"datagrid").options; +opts.finder.getTr(_762,_763).removeClass("datagrid-row-over"); +} +}; +}; +function _766(e){ +var tr=_761(e.target); +if(!tr){ +return; +} +var _767=_754(tr); +var opts=$.data(_767,"datagrid").options; +var _768=_764(tr); +var tt=$(e.target); +if(tt.parent().hasClass("datagrid-cell-check")){ +if(opts.singleSelect&&opts.selectOnCheck){ +tt._propAttr("checked",!tt.is(":checked")); +_769(_767,_768); +}else{ +if(tt.is(":checked")){ +tt._propAttr("checked",false); +_769(_767,_768); +}else{ +tt._propAttr("checked",true); +_76a(_767,_768); +} +} +}else{ +var row=opts.finder.getRow(_767,_768); +var td=tt.closest("td[field]",tr); +if(td.length){ +var _76b=td.attr("field"); +opts.onClickCell.call(_767,_768,_76b,row[_76b]); +} +if(opts.singleSelect==true){ +_76c(_767,_768); +}else{ +if(opts.ctrlSelect){ +if(e.metaKey||e.ctrlKey){ +if(tr.hasClass("datagrid-row-selected")){ +_76d(_767,_768); +}else{ +_76c(_767,_768); +} +}else{ +if(e.shiftKey){ +$(_767).datagrid("clearSelections"); +var _76e=Math.min(opts.lastSelectedIndex||0,_768); +var _76f=Math.max(opts.lastSelectedIndex||0,_768); +for(var i=_76e;i<=_76f;i++){ +_76c(_767,i); +} +}else{ +$(_767).datagrid("clearSelections"); +_76c(_767,_768); +opts.lastSelectedIndex=_768; +} +} +}else{ +if(tr.hasClass("datagrid-row-selected")){ +_76d(_767,_768); +}else{ +_76c(_767,_768); +} +} +} +opts.onClickRow.apply(_767,_6eb(_767,[_768,row])); +} +}; +function _770(e){ +var tr=_761(e.target); +if(!tr){ +return; +} +var _771=_754(tr); +var opts=$.data(_771,"datagrid").options; +var _772=_764(tr); +var row=opts.finder.getRow(_771,_772); +var td=$(e.target).closest("td[field]",tr); +if(td.length){ +var _773=td.attr("field"); +opts.onDblClickCell.call(_771,_772,_773,row[_773]); +} +opts.onDblClickRow.apply(_771,_6eb(_771,[_772,row])); +}; +function _774(e){ +var tr=_761(e.target); +if(tr){ +var _775=_754(tr); +var opts=$.data(_775,"datagrid").options; +var _776=_764(tr); +var row=opts.finder.getRow(_775,_776); +opts.onRowContextMenu.call(_775,e,_776,row); +}else{ +var body=_761(e.target,".datagrid-body"); +if(body){ +var _775=_754(body); +var opts=$.data(_775,"datagrid").options; +opts.onRowContextMenu.call(_775,e,-1,null); +} +} +}; +function _754(t){ +return $(t).closest("div.datagrid-view").children(".datagrid-f")[0]; +}; +function _761(t,_777){ +var tr=$(t).closest(_777||"tr.datagrid-row"); +if(tr.length&&tr.parent().length){ +return tr; +}else{ +return undefined; +} +}; +function _764(tr){ +if(tr.attr("datagrid-row-index")){ +return parseInt(tr.attr("datagrid-row-index")); +}else{ +return tr.attr("node-id"); +} +}; +function _759(_778,_779){ +var _77a=$.data(_778,"datagrid"); +var opts=_77a.options; +_779=_779||{}; +var _77b={sortName:opts.sortName,sortOrder:opts.sortOrder}; +if(typeof _779=="object"){ +$.extend(_77b,_779); +} +var _77c=[]; +var _77d=[]; +if(_77b.sortName){ +_77c=_77b.sortName.split(","); +_77d=_77b.sortOrder.split(","); +} +if(typeof _779=="string"){ +var _77e=_779; +var col=_746(_778,_77e); +if(!col.sortable||_77a.resizing){ +return; +} +var _77f=col.order||"asc"; +var pos=_6e8(_77c,_77e); +if(pos>=0){ +var _780=_77d[pos]=="asc"?"desc":"asc"; +if(opts.multiSort&&_780==_77f){ +_77c.splice(pos,1); +_77d.splice(pos,1); +}else{ +_77d[pos]=_780; +} +}else{ +if(opts.multiSort){ +_77c.push(_77e); +_77d.push(_77f); +}else{ +_77c=[_77e]; +_77d=[_77f]; +} +} +_77b.sortName=_77c.join(","); +_77b.sortOrder=_77d.join(","); +} +if(opts.onBeforeSortColumn.call(_778,_77b.sortName,_77b.sortOrder)==false){ +return; +} +$.extend(opts,_77b); +var dc=_77a.dc; +var _781=dc.header1.add(dc.header2); +_781.find("div.datagrid-cell").removeClass("datagrid-sort-asc datagrid-sort-desc"); +for(var i=0;i<_77c.length;i++){ +var col=_746(_778,_77c[i]); +_781.find("div."+col.cellClass).addClass("datagrid-sort-"+_77d[i]); +} +if(opts.remoteSort){ +_782(_778); +}else{ +_783(_778,$(_778).datagrid("getData")); +} +opts.onSortColumn.call(_778,opts.sortName,opts.sortOrder); +}; +function _784(_785,_786,_787){ +_788(true); +_788(false); +function _788(_789){ +var aa=_78a(_785,_789); +if(aa.length){ +var _78b=aa[aa.length-1]; +var _78c=_6e8(_78b,_786); +if(_78c>=0){ +for(var _78d=0;_78d=_792.find("table").width()){ +dc.body2.css("overflow-x","hidden"); +} +function _795(){ +if(!opts.fitColumns){ +return; +} +if(!_791.leftWidth){ +_791.leftWidth=0; +} +var _796=0; +var cc=[]; +var _797=_745(_790,false); +for(var i=0;i<_797.length;i++){ +var col=_746(_790,_797[i]); +if(_798(col)){ +_796+=col.width; +cc.push({field:col.field,col:col,addingWidth:0}); +} +} +if(!_796){ +return; +} +cc[cc.length-1].addingWidth-=_791.leftWidth; +var _799=_792.children("div.datagrid-header-inner").show(); +var _79a=_792.width()-_792.find("table").width()-opts.scrollbarSize+_791.leftWidth; +var rate=_79a/_796; +if(!opts.showHeader){ +_799.hide(); +} +for(var i=0;i0){ +c.col.boxWidth+=c.addingWidth; +c.col.width+=c.addingWidth; +} +} +_791.leftWidth=_79a; +$(_790).datagrid("fixColumnSize"); +}; +function _794(){ +var _79c=false; +var _79d=_745(_790,true).concat(_745(_790,false)); +$.map(_79d,function(_79e){ +var col=_746(_790,_79e); +if(String(col.width||"").indexOf("%")>=0){ +var _79f=$.parser.parseValue("width",col.width,dc.view,opts.scrollbarSize+(opts.rownumbers?opts.rownumberWidth:0))-col.deltaWidth; +if(_79f>0){ +col.boxWidth=_79f; +_79c=true; +} +} +}); +if(_79c){ +$(_790).datagrid("fixColumnSize"); +} +}; +function _793(fit){ +var _7a0=dc.header1.add(dc.header2).find(".datagrid-cell-group"); +if(_7a0.length){ +_7a0.each(function(){ +$(this)._outerWidth(fit?$(this).parent().width():10); +}); +if(fit){ +_701(_790); +} +} +}; +function _798(col){ +if(String(col.width||"").indexOf("%")>=0){ +return false; +} +if(!col.hidden&&!col.checkbox&&!col.auto&&!col.fixed){ +return true; +} +}; +}; +function _7a1(_7a2,_7a3){ +var _7a4=$.data(_7a2,"datagrid"); +var opts=_7a4.options; +var dc=_7a4.dc; +var tmp=$("
    ").appendTo("body"); +if(_7a3){ +_6fc(_7a3); +$(_7a2).datagrid("fitColumns"); +}else{ +var _7a5=false; +var _7a6=_745(_7a2,true).concat(_745(_7a2,false)); +for(var i=0;i<_7a6.length;i++){ +var _7a3=_7a6[i]; +var col=_746(_7a2,_7a3); +if(col.auto){ +_6fc(_7a3); +_7a5=true; +} +} +if(_7a5){ +$(_7a2).datagrid("fitColumns"); +} +} +tmp.remove(); +function _6fc(_7a7){ +var _7a8=dc.view.find("div.datagrid-header td[field=\""+_7a7+"\"] div.datagrid-cell"); +_7a8.css("width",""); +var col=$(_7a2).datagrid("getColumnOption",_7a7); +col.width=undefined; +col.boxWidth=undefined; +col.auto=true; +$(_7a2).datagrid("fixColumnSize",_7a7); +var _7a9=Math.max(_7aa("header"),_7aa("allbody"),_7aa("allfooter"))+1; +_7a8._outerWidth(_7a9-1); +col.width=_7a9; +col.boxWidth=parseInt(_7a8[0].style.width); +col.deltaWidth=_7a9-col.boxWidth; +_7a8.css("width",""); +$(_7a2).datagrid("fixColumnSize",_7a7); +opts.onResizeColumn.call(_7a2,_7a7,col.width); +function _7aa(type){ +var _7ab=0; +if(type=="header"){ +_7ab=_7ac(_7a8); +}else{ +opts.finder.getTr(_7a2,0,type).find("td[field=\""+_7a7+"\"] div.datagrid-cell").each(function(){ +var w=_7ac($(this)); +if(_7ab1){ +var col=_746(_7b5,td.attr("field")); +var _7b7=col.boxWidth+col.deltaWidth-1; +for(var i=1;i<_7b6;i++){ +td=td.next(); +col=_746(_7b5,td.attr("field")); +_7b7+=col.boxWidth+col.deltaWidth; +} +$(this).children("div.datagrid-cell")._outerWidth(_7b7); +} +}); +}; +function _7b3(_7b8){ +var dc=$.data(_7b8,"datagrid").dc; +dc.view.find("div.datagrid-editable").each(function(){ +var cell=$(this); +var _7b9=cell.parent().attr("field"); +var col=$(_7b8).datagrid("getColumnOption",_7b9); +cell._outerWidth(col.boxWidth+col.deltaWidth-1); +var ed=$.data(this,"datagrid.editor"); +if(ed.actions.resize){ +ed.actions.resize(ed.target,cell.width()); +} +}); +}; +function _746(_7ba,_7bb){ +function find(_7bc){ +if(_7bc){ +for(var i=0;i<_7bc.length;i++){ +var cc=_7bc[i]; +for(var j=0;j=0){ +var _7c5=col.field||col.id||""; +for(var c=0;c<(col.colspan||1);c++){ +for(var r=0;r<(col.rowspan||1);r++){ +aa[_7c2+r][_7c3]=_7c5; +} +_7c3++; +} +} +}); +} +return aa; +function _7c1(){ +var _7c6=0; +$.map(_7bf[0]||[],function(col){ +_7c6+=col.colspan||1; +}); +return _7c6; +}; +function _7c4(a){ +for(var i=0;ib?1:-1); +}; +r=_7cd(r1[sn],r2[sn])*(so=="asc"?1:-1); +if(r!=0){ +return r; +} +} +return r; +}); +} +if(opts.view.onBeforeRender){ +opts.view.onBeforeRender.call(opts.view,_7c9,data.rows); +} +opts.view.render.call(opts.view,_7c9,dc.body2,false); +opts.view.render.call(opts.view,_7c9,dc.body1,true); +if(opts.showFooter){ +opts.view.renderFooter.call(opts.view,_7c9,dc.footer2,false); +opts.view.renderFooter.call(opts.view,_7c9,dc.footer1,true); +} +if(opts.view.onAfterRender){ +opts.view.onAfterRender.call(opts.view,_7c9); +} +_7ca.ss.clean(); +var _7ce=$(_7c9).datagrid("getPager"); +if(_7ce.length){ +var _7cf=_7ce.pagination("options"); +if(_7cf.total!=data.total){ +_7ce.pagination("refresh",{pageNumber:opts.pageNumber,total:data.total}); +if(opts.pageNumber!=_7cf.pageNumber&&_7cf.pageNumber>0){ +opts.pageNumber=_7cf.pageNumber; +_782(_7c9); +} +} +} +_712(_7c9); +dc.body2.triggerHandler("scroll"); +$(_7c9).datagrid("setSelectionState"); +$(_7c9).datagrid("autoSizeColumn"); +opts.onLoadSuccess.call(_7c9,data); +}; +function _7d0(_7d1){ +var _7d2=$.data(_7d1,"datagrid"); +var opts=_7d2.options; +var dc=_7d2.dc; +dc.header1.add(dc.header2).find("input[type=checkbox]")._propAttr("checked",false); +if(opts.idField){ +var _7d3=$.data(_7d1,"treegrid")?true:false; +var _7d4=opts.onSelect; +var _7d5=opts.onCheck; +opts.onSelect=opts.onCheck=function(){ +}; +var rows=opts.finder.getRows(_7d1); +for(var i=0;i_7e6.height()-_7e7){ +_7e6.scrollTop(_7e6.scrollTop()+top+tr._outerHeight()-_7e6.height()+_7e7); +} +} +} +}; +function _765(_7e9,_7ea){ +var _7eb=$.data(_7e9,"datagrid"); +var opts=_7eb.options; +opts.finder.getTr(_7e9,_7eb.highlightIndex).removeClass("datagrid-row-over"); +opts.finder.getTr(_7e9,_7ea).addClass("datagrid-row-over"); +_7eb.highlightIndex=_7ea; +}; +function _76c(_7ec,_7ed,_7ee,_7ef){ +var _7f0=$.data(_7ec,"datagrid"); +var opts=_7f0.options; +var row=opts.finder.getRow(_7ec,_7ed); +if(!row){ +return; +} +if(opts.onBeforeSelect.apply(_7ec,_6eb(_7ec,[_7ed,row]))==false){ +return; +} +if(opts.singleSelect){ +_7f1(_7ec,true); +_7f0.selectedRows=[]; +} +if(!_7ee&&opts.checkOnSelect){ +_769(_7ec,_7ed,true); +} +if(opts.idField){ +_6ea(_7f0.selectedRows,opts.idField,row); +} +opts.finder.getTr(_7ec,_7ed).addClass("datagrid-row-selected"); +opts.onSelect.apply(_7ec,_6eb(_7ec,[_7ed,row])); +if(!_7ef&&opts.scrollOnSelect){ +_7e1(_7ec,_7ed); +} +}; +function _76d(_7f2,_7f3,_7f4){ +var _7f5=$.data(_7f2,"datagrid"); +var dc=_7f5.dc; +var opts=_7f5.options; +var row=opts.finder.getRow(_7f2,_7f3); +if(!row){ +return; +} +if(opts.onBeforeUnselect.apply(_7f2,_6eb(_7f2,[_7f3,row]))==false){ +return; +} +if(!_7f4&&opts.checkOnSelect){ +_76a(_7f2,_7f3,true); +} +opts.finder.getTr(_7f2,_7f3).removeClass("datagrid-row-selected"); +if(opts.idField){ +_6e9(_7f5.selectedRows,opts.idField,row[opts.idField]); +} +opts.onUnselect.apply(_7f2,_6eb(_7f2,[_7f3,row])); +}; +function _7f6(_7f7,_7f8){ +var _7f9=$.data(_7f7,"datagrid"); +var opts=_7f9.options; +var rows=opts.finder.getRows(_7f7); +var _7fa=$.data(_7f7,"datagrid").selectedRows; +if(!_7f8&&opts.checkOnSelect){ +_757(_7f7,true); +} +opts.finder.getTr(_7f7,"","allbody").addClass("datagrid-row-selected"); +if(opts.idField){ +for(var _7fb=0;_7fb"); +cell.children("table").bind("click dblclick contextmenu",function(e){ +e.stopPropagation(); +}); +$.data(cell[0],"datagrid.editor",{actions:_830,target:_830.init(cell.find("td"),$.extend({height:opts.editorHeight},_82f)),field:_82d,type:_82e,oldHtml:_831}); +} +} +}); +_712(_82b,_82c,true); +}; +function _822(_833,_834){ +var opts=$.data(_833,"datagrid").options; +var tr=opts.finder.getTr(_833,_834); +tr.children("td").each(function(){ +var cell=$(this).find("div.datagrid-editable"); +if(cell.length){ +var ed=$.data(cell[0],"datagrid.editor"); +if(ed.actions.destroy){ +ed.actions.destroy(ed.target); +} +cell.html(ed.oldHtml); +$.removeData(cell[0],"datagrid.editor"); +cell.removeClass("datagrid-editable"); +cell.css("width",""); +} +}); +}; +function _815(_835,_836){ +var tr=$.data(_835,"datagrid").options.finder.getTr(_835,_836); +if(!tr.hasClass("datagrid-row-editing")){ +return true; +} +var vbox=tr.find(".validatebox-text"); +vbox.validatebox("validate"); +vbox.trigger("mouseleave"); +var _837=tr.find(".validatebox-invalid"); +return _837.length==0; +}; +function _838(_839,_83a){ +var _83b=$.data(_839,"datagrid").insertedRows; +var _83c=$.data(_839,"datagrid").deletedRows; +var _83d=$.data(_839,"datagrid").updatedRows; +if(!_83a){ +var rows=[]; +rows=rows.concat(_83b); +rows=rows.concat(_83c); +rows=rows.concat(_83d); +return rows; +}else{ +if(_83a=="inserted"){ +return _83b; +}else{ +if(_83a=="deleted"){ +return _83c; +}else{ +if(_83a=="updated"){ +return _83d; +} +} +} +} +return []; +}; +function _83e(_83f,_840){ +var _841=$.data(_83f,"datagrid"); +var opts=_841.options; +var data=_841.data; +var _842=_841.insertedRows; +var _843=_841.deletedRows; +$(_83f).datagrid("cancelEdit",_840); +var row=opts.finder.getRow(_83f,_840); +if(_6e8(_842,row)>=0){ +_6e9(_842,row); +}else{ +_843.push(row); +} +_6e9(_841.selectedRows,opts.idField,row[opts.idField]); +_6e9(_841.checkedRows,opts.idField,row[opts.idField]); +opts.view.deleteRow.call(opts.view,_83f,_840); +if(opts.height=="auto"){ +_712(_83f); +} +$(_83f).datagrid("getPager").pagination("refresh",{total:data.total}); +}; +function _844(_845,_846){ +var data=$.data(_845,"datagrid").data; +var view=$.data(_845,"datagrid").options.view; +var _847=$.data(_845,"datagrid").insertedRows; +view.insertRow.call(view,_845,_846.index,_846.row); +_847.push(_846.row); +$(_845).datagrid("getPager").pagination("refresh",{total:data.total}); +}; +function _848(_849,row){ +var data=$.data(_849,"datagrid").data; +var view=$.data(_849,"datagrid").options.view; +var _84a=$.data(_849,"datagrid").insertedRows; +view.insertRow.call(view,_849,null,row); +_84a.push(row); +$(_849).datagrid("getPager").pagination("refresh",{total:data.total}); +}; +function _84b(_84c,_84d){ +var _84e=$.data(_84c,"datagrid"); +var opts=_84e.options; +var row=opts.finder.getRow(_84c,_84d.index); +var _84f=false; +_84d.row=_84d.row||{}; +for(var _850 in _84d.row){ +if(row[_850]!==_84d.row[_850]){ +_84f=true; +break; +} +} +if(_84f){ +if(_6e8(_84e.insertedRows,row)==-1){ +if(_6e8(_84e.updatedRows,row)==-1){ +_84e.updatedRows.push(row); +} +} +opts.view.updateRow.call(opts.view,_84c,_84d.index,_84d.row); +} +}; +function _851(_852){ +var _853=$.data(_852,"datagrid"); +var data=_853.data; +var rows=data.rows; +var _854=[]; +for(var i=0;i=0){ +(_861=="s"?_76c:_769)(_858,_862,true); +} +} +}; +for(var i=0;i0){ +$(this).datagrid("loadData",data); +}else{ +$(this).datagrid("autoSizeColumn"); +} +} +_782(this); +}); +}; +function _872(_873){ +var _874={}; +$.map(_873,function(name){ +_874[name]=_875(name); +}); +return _874; +function _875(name){ +function isA(_876){ +return $.data($(_876)[0],name)!=undefined; +}; +return {init:function(_877,_878){ +var _879=$("").appendTo(_877); +if(_879[name]&&name!="text"){ +return _879[name](_878); +}else{ +return _879; +} +},destroy:function(_87a){ +if(isA(_87a,name)){ +$(_87a)[name]("destroy"); +} +},getValue:function(_87b){ +if(isA(_87b,name)){ +var opts=$(_87b)[name]("options"); +if(opts.multiple){ +return $(_87b)[name]("getValues").join(opts.separator); +}else{ +return $(_87b)[name]("getValue"); +} +}else{ +return $(_87b).val(); +} +},setValue:function(_87c,_87d){ +if(isA(_87c,name)){ +var opts=$(_87c)[name]("options"); +if(opts.multiple){ +if(_87d){ +$(_87c)[name]("setValues",_87d.split(opts.separator)); +}else{ +$(_87c)[name]("clear"); +} +}else{ +$(_87c)[name]("setValue",_87d); +} +}else{ +$(_87c).val(_87d); +} +},resize:function(_87e,_87f){ +if(isA(_87e,name)){ +$(_87e)[name]("resize",_87f); +}else{ +$(_87e)._size({width:_87f,height:$.fn.datagrid.defaults.editorHeight}); +} +}}; +}; +}; +var _880=$.extend({},_872(["text","textbox","passwordbox","filebox","numberbox","numberspinner","combobox","combotree","combogrid","combotreegrid","datebox","datetimebox","timespinner","datetimespinner"]),{textarea:{init:function(_881,_882){ +var _883=$("").appendTo(_881); +_883.css("vertical-align","middle")._outerHeight(_882.height); +return _883; +},getValue:function(_884){ +return $(_884).val(); +},setValue:function(_885,_886){ +$(_885).val(_886); +},resize:function(_887,_888){ +$(_887)._outerWidth(_888); +}},checkbox:{init:function(_889,_88a){ +var _88b=$("").appendTo(_889); +_88b.val(_88a.on); +_88b.attr("offval",_88a.off); +return _88b; +},getValue:function(_88c){ +if($(_88c).is(":checked")){ +return $(_88c).val(); +}else{ +return $(_88c).attr("offval"); +} +},setValue:function(_88d,_88e){ +var _88f=false; +if($(_88d).val()==_88e){ +_88f=true; +} +$(_88d)._propAttr("checked",_88f); +}},validatebox:{init:function(_890,_891){ +var _892=$("").appendTo(_890); +_892.validatebox(_891); +return _892; +},destroy:function(_893){ +$(_893).validatebox("destroy"); +},getValue:function(_894){ +return $(_894).val(); +},setValue:function(_895,_896){ +$(_895).val(_896); +},resize:function(_897,_898){ +$(_897)._outerWidth(_898)._outerHeight($.fn.datagrid.defaults.editorHeight); +}}}); +$.fn.datagrid.methods={options:function(jq){ +var _899=$.data(jq[0],"datagrid").options; +var _89a=$.data(jq[0],"datagrid").panel.panel("options"); +var opts=$.extend(_899,{width:_89a.width,height:_89a.height,closed:_89a.closed,collapsed:_89a.collapsed,minimized:_89a.minimized,maximized:_89a.maximized}); +return opts; +},setSelectionState:function(jq){ +return jq.each(function(){ +_7d0(this); +}); +},createStyleSheet:function(jq){ +return _6ed(jq[0]); +},getPanel:function(jq){ +return $.data(jq[0],"datagrid").panel; +},getPager:function(jq){ +return $.data(jq[0],"datagrid").panel.children("div.datagrid-pager"); +},getColumnFields:function(jq,_89b){ +return _745(jq[0],_89b); +},getColumnOption:function(jq,_89c){ +return _746(jq[0],_89c); +},resize:function(jq,_89d){ +return jq.each(function(){ +_6fc(this,_89d); +}); +},load:function(jq,_89e){ +return jq.each(function(){ +var opts=$(this).datagrid("options"); +if(typeof _89e=="string"){ +opts.url=_89e; +_89e=null; +} +opts.pageNumber=1; +var _89f=$(this).datagrid("getPager"); +_89f.pagination("refresh",{pageNumber:1}); +_782(this,_89e); +}); +},reload:function(jq,_8a0){ +return jq.each(function(){ +var opts=$(this).datagrid("options"); +if(typeof _8a0=="string"){ +opts.url=_8a0; +_8a0=null; +} +_782(this,_8a0); +}); +},reloadFooter:function(jq,_8a1){ +return jq.each(function(){ +var opts=$.data(this,"datagrid").options; +var dc=$.data(this,"datagrid").dc; +if(_8a1){ +$.data(this,"datagrid").footer=_8a1; +} +if(opts.showFooter){ +opts.view.renderFooter.call(opts.view,this,dc.footer2,false); +opts.view.renderFooter.call(opts.view,this,dc.footer1,true); +if(opts.view.onAfterRender){ +opts.view.onAfterRender.call(opts.view,this); +} +$(this).datagrid("fixRowHeight"); +} +}); +},loading:function(jq){ +return jq.each(function(){ +var opts=$.data(this,"datagrid").options; +$(this).datagrid("getPager").pagination("loading"); +if(opts.loadMsg){ +var _8a2=$(this).datagrid("getPanel"); +if(!_8a2.children("div.datagrid-mask").length){ +$("
    ").appendTo(_8a2); +var msg=$("
    ").html(opts.loadMsg).appendTo(_8a2); +msg._outerHeight(40); +msg.css({marginLeft:(-msg.outerWidth()/2),lineHeight:(msg.height()+"px")}); +} +} +}); +},loaded:function(jq){ +return jq.each(function(){ +$(this).datagrid("getPager").pagination("loaded"); +var _8a3=$(this).datagrid("getPanel"); +_8a3.children("div.datagrid-mask-msg").remove(); +_8a3.children("div.datagrid-mask").remove(); +}); +},fitColumns:function(jq){ +return jq.each(function(){ +_78f(this); +}); +},fixColumnSize:function(jq,_8a4){ +return jq.each(function(){ +_7ad(this,_8a4); +}); +},fixRowHeight:function(jq,_8a5){ +return jq.each(function(){ +_712(this,_8a5); +}); +},freezeRow:function(jq,_8a6){ +return jq.each(function(){ +_720(this,_8a6); +}); +},autoSizeColumn:function(jq,_8a7){ +return jq.each(function(){ +_7a1(this,_8a7); +}); +},loadData:function(jq,data){ +return jq.each(function(){ +_783(this,data); +_851(this); +}); +},getData:function(jq){ +return $.data(jq[0],"datagrid").data; +},getRows:function(jq){ +return $.data(jq[0],"datagrid").data.rows; +},getFooterRows:function(jq){ +return $.data(jq[0],"datagrid").footer; +},getRowIndex:function(jq,id){ +return _7d8(jq[0],id); +},getChecked:function(jq){ +return _7de(jq[0]); +},getSelected:function(jq){ +var rows=_7db(jq[0]); +return rows.length>0?rows[0]:null; +},getSelections:function(jq){ +return _7db(jq[0]); +},clearSelections:function(jq){ +return jq.each(function(){ +var _8a8=$.data(this,"datagrid"); +var _8a9=_8a8.selectedRows; +var _8aa=_8a8.checkedRows; +_8a9.splice(0,_8a9.length); +_7f1(this); +if(_8a8.options.checkOnSelect){ +_8aa.splice(0,_8aa.length); +} +}); +},clearChecked:function(jq){ +return jq.each(function(){ +var _8ab=$.data(this,"datagrid"); +var _8ac=_8ab.selectedRows; +var _8ad=_8ab.checkedRows; +_8ad.splice(0,_8ad.length); +_758(this); +if(_8ab.options.selectOnCheck){ +_8ac.splice(0,_8ac.length); +} +}); +},scrollTo:function(jq,_8ae){ +return jq.each(function(){ +_7e1(this,_8ae); +}); +},highlightRow:function(jq,_8af){ +return jq.each(function(){ +_765(this,_8af); +_7e1(this,_8af); +}); +},selectAll:function(jq){ +return jq.each(function(){ +_7f6(this); +}); +},unselectAll:function(jq){ +return jq.each(function(){ +_7f1(this); +}); +},selectRow:function(jq,_8b0){ +return jq.each(function(){ +_76c(this,_8b0); +}); +},selectRecord:function(jq,id){ +return jq.each(function(){ +var opts=$.data(this,"datagrid").options; +if(opts.idField){ +var _8b1=_7d8(this,id); +if(_8b1>=0){ +$(this).datagrid("selectRow",_8b1); +} +} +}); +},unselectRow:function(jq,_8b2){ +return jq.each(function(){ +_76d(this,_8b2); +}); +},checkRow:function(jq,_8b3){ +return jq.each(function(){ +_769(this,_8b3); +}); +},uncheckRow:function(jq,_8b4){ +return jq.each(function(){ +_76a(this,_8b4); +}); +},checkAll:function(jq){ +return jq.each(function(){ +_757(this); +}); +},uncheckAll:function(jq){ +return jq.each(function(){ +_758(this); +}); +},beginEdit:function(jq,_8b5){ +return jq.each(function(){ +_810(this,_8b5); +}); +},endEdit:function(jq,_8b6){ +return jq.each(function(){ +_816(this,_8b6,false); +}); +},cancelEdit:function(jq,_8b7){ +return jq.each(function(){ +_816(this,_8b7,true); +}); +},getEditors:function(jq,_8b8){ +return _823(jq[0],_8b8); +},getEditor:function(jq,_8b9){ +return _827(jq[0],_8b9); +},refreshRow:function(jq,_8ba){ +return jq.each(function(){ +var opts=$.data(this,"datagrid").options; +opts.view.refreshRow.call(opts.view,this,_8ba); +}); +},validateRow:function(jq,_8bb){ +return _815(jq[0],_8bb); +},updateRow:function(jq,_8bc){ +return jq.each(function(){ +_84b(this,_8bc); +}); +},appendRow:function(jq,row){ +return jq.each(function(){ +_848(this,row); +}); +},insertRow:function(jq,_8bd){ +return jq.each(function(){ +_844(this,_8bd); +}); +},deleteRow:function(jq,_8be){ +return jq.each(function(){ +_83e(this,_8be); +}); +},getChanges:function(jq,_8bf){ +return _838(jq[0],_8bf); +},acceptChanges:function(jq){ +return jq.each(function(){ +_855(this); +}); +},rejectChanges:function(jq){ +return jq.each(function(){ +_857(this); +}); +},mergeCells:function(jq,_8c0){ +return jq.each(function(){ +_869(this,_8c0); +}); +},showColumn:function(jq,_8c1){ +return jq.each(function(){ +var col=$(this).datagrid("getColumnOption",_8c1); +if(col.hidden){ +col.hidden=false; +$(this).datagrid("getPanel").find("td[field=\""+_8c1+"\"]").show(); +_784(this,_8c1,1); +$(this).datagrid("fitColumns"); +} +}); +},hideColumn:function(jq,_8c2){ +return jq.each(function(){ +var col=$(this).datagrid("getColumnOption",_8c2); +if(!col.hidden){ +col.hidden=true; +$(this).datagrid("getPanel").find("td[field=\""+_8c2+"\"]").hide(); +_784(this,_8c2,-1); +$(this).datagrid("fitColumns"); +} +}); +},sort:function(jq,_8c3){ +return jq.each(function(){ +_759(this,_8c3); +}); +},gotoPage:function(jq,_8c4){ +return jq.each(function(){ +var _8c5=this; +var page,cb; +if(typeof _8c4=="object"){ +page=_8c4.page; +cb=_8c4.callback; +}else{ +page=_8c4; +} +$(_8c5).datagrid("options").pageNumber=page; +$(_8c5).datagrid("getPager").pagination("refresh",{pageNumber:page}); +_782(_8c5,null,function(){ +if(cb){ +cb.call(_8c5,page); +} +}); +}); +}}; +$.fn.datagrid.parseOptions=function(_8c6){ +var t=$(_8c6); +return $.extend({},$.fn.panel.parseOptions(_8c6),$.parser.parseOptions(_8c6,["url","toolbar","idField","sortName","sortOrder","pagePosition","resizeHandle",{sharedStyleSheet:"boolean",fitColumns:"boolean",autoRowHeight:"boolean",striped:"boolean",nowrap:"boolean"},{rownumbers:"boolean",singleSelect:"boolean",ctrlSelect:"boolean",checkOnSelect:"boolean",selectOnCheck:"boolean"},{pagination:"boolean",pageSize:"number",pageNumber:"number"},{multiSort:"boolean",remoteSort:"boolean",showHeader:"boolean",showFooter:"boolean"},{scrollbarSize:"number",scrollOnSelect:"boolean"}]),{pageList:(t.attr("pageList")?eval(t.attr("pageList")):undefined),loadMsg:(t.attr("loadMsg")!=undefined?t.attr("loadMsg"):undefined),rowStyler:(t.attr("rowStyler")?eval(t.attr("rowStyler")):undefined)}); +}; +$.fn.datagrid.parseData=function(_8c7){ +var t=$(_8c7); +var data={total:0,rows:[]}; +var _8c8=t.datagrid("getColumnFields",true).concat(t.datagrid("getColumnFields",false)); +t.find("tbody tr").each(function(){ +data.total++; +var row={}; +$.extend(row,$.parser.parseOptions(this,["iconCls","state"])); +for(var i=0;i<_8c8.length;i++){ +row[_8c8[i]]=$(this).find("td:eq("+i+")").html(); +} +data.rows.push(row); +}); +return data; +}; +var _8c9={render:function(_8ca,_8cb,_8cc){ +var rows=$(_8ca).datagrid("getRows"); +$(_8cb).empty().html(this.renderTable(_8ca,0,rows,_8cc)); +},renderFooter:function(_8cd,_8ce,_8cf){ +var opts=$.data(_8cd,"datagrid").options; +var rows=$.data(_8cd,"datagrid").footer||[]; +var _8d0=$(_8cd).datagrid("getColumnFields",_8cf); +var _8d1=[""]; +for(var i=0;i"); +_8d1.push(this.renderRow.call(this,_8cd,_8d0,_8cf,i,rows[i])); +_8d1.push(""); +} +_8d1.push("
    "); +$(_8ce).html(_8d1.join("")); +},renderTable:function(_8d2,_8d3,rows,_8d4){ +var _8d5=$.data(_8d2,"datagrid"); +var opts=_8d5.options; +if(_8d4){ +if(!(opts.rownumbers||(opts.frozenColumns&&opts.frozenColumns.length))){ +return ""; +} +} +var _8d6=$(_8d2).datagrid("getColumnFields",_8d4); +var _8d7=[""]; +for(var i=0;i"); +_8d7.push(this.renderRow.call(this,_8d2,_8d6,_8d4,_8d3,row)); +_8d7.push(""); +_8d3++; +} +_8d7.push("
    "); +return _8d7.join(""); +},renderRow:function(_8da,_8db,_8dc,_8dd,_8de){ +var opts=$.data(_8da,"datagrid").options; +var cc=[]; +if(_8dc&&opts.rownumbers){ +var _8df=_8dd+1; +if(opts.pagination){ +_8df+=(opts.pageNumber-1)*opts.pageSize; +} +cc.push("
    "+_8df+"
    "); +} +for(var i=0;i<_8db.length;i++){ +var _8e0=_8db[i]; +var col=$(_8da).datagrid("getColumnOption",_8e0); +if(col){ +var _8e1=_8de[_8e0]; +var css=col.styler?(col.styler.call(_8da,_8e1,_8de,_8dd)||""):""; +var cs=this.getStyleValue(css); +var cls=cs.c?"class=\""+cs.c+"\"":""; +var _8e2=col.hidden?"style=\"display:none;"+cs.s+"\"":(cs.s?"style=\""+cs.s+"\"":""); +cc.push(""); +var _8e2=""; +if(!col.checkbox){ +if(col.align){ +_8e2+="text-align:"+col.align+";"; +} +if(!opts.nowrap){ +_8e2+="white-space:normal;height:auto;"; +}else{ +if(opts.autoRowHeight){ +_8e2+="height:auto;"; +} +} +} +cc.push("
    "); +if(col.checkbox){ +cc.push(""); +}else{ +if(col.formatter){ +cc.push(col.formatter(_8e1,_8de,_8dd)); +}else{ +cc.push(_8e1); +} +} +cc.push("
    "); +cc.push(""); +} +} +return cc.join(""); +},getStyleValue:function(css){ +var _8e3=""; +var _8e4=""; +if(typeof css=="string"){ +_8e4=css; +}else{ +if(css){ +_8e3=css["class"]||""; +_8e4=css["style"]||""; +} +} +return {c:_8e3,s:_8e4}; +},refreshRow:function(_8e5,_8e6){ +this.updateRow.call(this,_8e5,_8e6,{}); +},updateRow:function(_8e7,_8e8,row){ +var opts=$.data(_8e7,"datagrid").options; +var _8e9=opts.finder.getRow(_8e7,_8e8); +$.extend(_8e9,row); +var cs=_8ea.call(this,_8e8); +var _8eb=cs.s; +var cls="datagrid-row "+(_8e8%2&&opts.striped?"datagrid-row-alt ":" ")+cs.c; +function _8ea(_8ec){ +var css=opts.rowStyler?opts.rowStyler.call(_8e7,_8ec,_8e9):""; +return this.getStyleValue(css); +}; +function _8ed(_8ee){ +var tr=opts.finder.getTr(_8e7,_8e8,"body",(_8ee?1:2)); +if(!tr.length){ +return; +} +var _8ef=$(_8e7).datagrid("getColumnFields",_8ee); +var _8f0=tr.find("div.datagrid-cell-check input[type=checkbox]").is(":checked"); +tr.html(this.renderRow.call(this,_8e7,_8ef,_8ee,_8e8,_8e9)); +var _8f1=(tr.hasClass("datagrid-row-checked")?" datagrid-row-checked":"")+(tr.hasClass("datagrid-row-selected")?" datagrid-row-selected":""); +tr.attr("style",_8eb).attr("class",cls+_8f1); +if(_8f0){ +tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",true); +} +}; +_8ed.call(this,true); +_8ed.call(this,false); +$(_8e7).datagrid("fixRowHeight",_8e8); +},insertRow:function(_8f2,_8f3,row){ +var _8f4=$.data(_8f2,"datagrid"); +var opts=_8f4.options; +var dc=_8f4.dc; +var data=_8f4.data; +if(_8f3==undefined||_8f3==null){ +_8f3=data.rows.length; +} +if(_8f3>data.rows.length){ +_8f3=data.rows.length; +} +function _8f5(_8f6){ +var _8f7=_8f6?1:2; +for(var i=data.rows.length-1;i>=_8f3;i--){ +var tr=opts.finder.getTr(_8f2,i,"body",_8f7); +tr.attr("datagrid-row-index",i+1); +tr.attr("id",_8f4.rowIdPrefix+"-"+_8f7+"-"+(i+1)); +if(_8f6&&opts.rownumbers){ +var _8f8=i+2; +if(opts.pagination){ +_8f8+=(opts.pageNumber-1)*opts.pageSize; +} +tr.find("div.datagrid-cell-rownumber").html(_8f8); +} +if(opts.striped){ +tr.removeClass("datagrid-row-alt").addClass((i+1)%2?"datagrid-row-alt":""); +} +} +}; +function _8f9(_8fa){ +var _8fb=_8fa?1:2; +var _8fc=$(_8f2).datagrid("getColumnFields",_8fa); +var _8fd=_8f4.rowIdPrefix+"-"+_8fb+"-"+_8f3; +var tr=""; +if(_8f3>=data.rows.length){ +if(data.rows.length){ +opts.finder.getTr(_8f2,"","last",_8fb).after(tr); +}else{ +var cc=_8fa?dc.body1:dc.body2; +cc.html(""+tr+"
    "); +} +}else{ +opts.finder.getTr(_8f2,_8f3+1,"body",_8fb).before(tr); +} +}; +_8f5.call(this,true); +_8f5.call(this,false); +_8f9.call(this,true); +_8f9.call(this,false); +data.total+=1; +data.rows.splice(_8f3,0,row); +this.setEmptyMsg(_8f2); +this.refreshRow.call(this,_8f2,_8f3); +},deleteRow:function(_8fe,_8ff){ +var _900=$.data(_8fe,"datagrid"); +var opts=_900.options; +var data=_900.data; +function _901(_902){ +var _903=_902?1:2; +for(var i=_8ff+1;i").appendTo(_90a.dc.view); +d.html(opts.emptyMsg).css("top",h+"px"); +} +} +},renderEmptyRow:function(_90c){ +var cols=$.map($(_90c).datagrid("getColumnFields"),function(_90d){ +return $(_90c).datagrid("getColumnOption",_90d); +}); +$.map(cols,function(col){ +col.formatter1=col.formatter; +col.styler1=col.styler; +col.formatter=col.styler=undefined; +}); +var _90e=$.data(_90c,"datagrid").dc.body2; +_90e.html(this.renderTable(_90c,0,[{}],false)); +_90e.find("tbody *").css({height:1,borderColor:"transparent",background:"transparent"}); +var tr=_90e.find(".datagrid-row"); +tr.removeClass("datagrid-row").removeAttr("datagrid-row-index"); +tr.find(".datagrid-cell,.datagrid-cell-check").empty(); +$.map(cols,function(col){ +col.formatter=col.formatter1; +col.styler=col.styler1; +col.formatter1=col.styler1=undefined; +}); +}}; +$.fn.datagrid.defaults=$.extend({},$.fn.panel.defaults,{sharedStyleSheet:false,frozenColumns:undefined,columns:undefined,fitColumns:false,resizeHandle:"right",resizeEdge:5,autoRowHeight:true,toolbar:null,striped:false,method:"post",nowrap:true,idField:null,url:null,data:null,loadMsg:"Processing, please wait ...",emptyMsg:"",rownumbers:false,singleSelect:false,ctrlSelect:false,selectOnCheck:true,checkOnSelect:true,pagination:false,pagePosition:"bottom",pageNumber:1,pageSize:10,pageList:[10,20,30,40,50],queryParams:{},sortName:null,sortOrder:"asc",multiSort:false,remoteSort:true,showHeader:true,showFooter:false,scrollOnSelect:true,scrollbarSize:18,rownumberWidth:30,editorHeight:31,headerEvents:{mouseover:_751(true),mouseout:_751(false),click:_755,dblclick:_75a,contextmenu:_75d},rowEvents:{mouseover:_75f(true),mouseout:_75f(false),click:_766,dblclick:_770,contextmenu:_774},rowStyler:function(_90f,_910){ +},loader:function(_911,_912,_913){ +var opts=$(this).datagrid("options"); +if(!opts.url){ +return false; +} +$.ajax({type:opts.method,url:opts.url,data:_911,dataType:"json",success:function(data){ +_912(data); +},error:function(){ +_913.apply(this,arguments); +}}); +},loadFilter:function(data){ +return data; +},editors:_880,finder:{getTr:function(_914,_915,type,_916){ +type=type||"body"; +_916=_916||0; +var _917=$.data(_914,"datagrid"); +var dc=_917.dc; +var opts=_917.options; +if(_916==0){ +var tr1=opts.finder.getTr(_914,_915,type,1); +var tr2=opts.finder.getTr(_914,_915,type,2); +return tr1.add(tr2); +}else{ +if(type=="body"){ +var tr=$("#"+_917.rowIdPrefix+"-"+_916+"-"+_915); +if(!tr.length){ +tr=(_916==1?dc.body1:dc.body2).find(">table>tbody>tr[datagrid-row-index="+_915+"]"); +} +return tr; +}else{ +if(type=="footer"){ +return (_916==1?dc.footer1:dc.footer2).find(">table>tbody>tr[datagrid-row-index="+_915+"]"); +}else{ +if(type=="selected"){ +return (_916==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-selected"); +}else{ +if(type=="highlight"){ +return (_916==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-over"); +}else{ +if(type=="checked"){ +return (_916==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-checked"); +}else{ +if(type=="editing"){ +return (_916==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-editing"); +}else{ +if(type=="last"){ +return (_916==1?dc.body1:dc.body2).find(">table>tbody>tr[datagrid-row-index]:last"); +}else{ +if(type=="allbody"){ +return (_916==1?dc.body1:dc.body2).find(">table>tbody>tr[datagrid-row-index]"); +}else{ +if(type=="allfooter"){ +return (_916==1?dc.footer1:dc.footer2).find(">table>tbody>tr[datagrid-row-index]"); +} +} +} +} +} +} +} +} +} +} +},getRow:function(_918,p){ +var _919=(typeof p=="object")?p.attr("datagrid-row-index"):p; +return $.data(_918,"datagrid").data.rows[parseInt(_919)]; +},getRows:function(_91a){ +return $(_91a).datagrid("getRows"); +}},view:_8c9,onBeforeLoad:function(_91b){ +},onLoadSuccess:function(){ +},onLoadError:function(){ +},onClickRow:function(_91c,_91d){ +},onDblClickRow:function(_91e,_91f){ +},onClickCell:function(_920,_921,_922){ +},onDblClickCell:function(_923,_924,_925){ +},onBeforeSortColumn:function(sort,_926){ +},onSortColumn:function(sort,_927){ +},onResizeColumn:function(_928,_929){ +},onBeforeSelect:function(_92a,_92b){ +},onSelect:function(_92c,_92d){ +},onBeforeUnselect:function(_92e,_92f){ +},onUnselect:function(_930,_931){ +},onSelectAll:function(rows){ +},onUnselectAll:function(rows){ +},onBeforeCheck:function(_932,_933){ +},onCheck:function(_934,_935){ +},onBeforeUncheck:function(_936,_937){ +},onUncheck:function(_938,_939){ +},onCheckAll:function(rows){ +},onUncheckAll:function(rows){ +},onBeforeEdit:function(_93a,_93b){ +},onBeginEdit:function(_93c,_93d){ +},onEndEdit:function(_93e,_93f,_940){ +},onAfterEdit:function(_941,_942,_943){ +},onCancelEdit:function(_944,_945){ +},onHeaderContextMenu:function(e,_946){ +},onRowContextMenu:function(e,_947,_948){ +}}); +})(jQuery); +(function($){ +var _949; +$(document).unbind(".propertygrid").bind("mousedown.propertygrid",function(e){ +var p=$(e.target).closest("div.datagrid-view,div.combo-panel"); +if(p.length){ +return; +} +_94a(_949); +_949=undefined; +}); +function _94b(_94c){ +var _94d=$.data(_94c,"propertygrid"); +var opts=$.data(_94c,"propertygrid").options; +$(_94c).datagrid($.extend({},opts,{cls:"propertygrid",view:(opts.showGroup?opts.groupView:opts.view),onBeforeEdit:function(_94e,row){ +if(opts.onBeforeEdit.call(_94c,_94e,row)==false){ +return false; +} +var dg=$(this); +var row=dg.datagrid("getRows")[_94e]; +var col=dg.datagrid("getColumnOption","value"); +col.editor=row.editor; +},onClickCell:function(_94f,_950,_951){ +if(_949!=this){ +_94a(_949); +_949=this; +} +if(opts.editIndex!=_94f){ +_94a(_949); +$(this).datagrid("beginEdit",_94f); +var ed=$(this).datagrid("getEditor",{index:_94f,field:_950}); +if(!ed){ +ed=$(this).datagrid("getEditor",{index:_94f,field:"value"}); +} +if(ed){ +var t=$(ed.target); +var _952=t.data("textbox")?t.textbox("textbox"):t; +_952.focus(); +opts.editIndex=_94f; +} +} +opts.onClickCell.call(_94c,_94f,_950,_951); +},loadFilter:function(data){ +_94a(this); +return opts.loadFilter.call(this,data); +}})); +}; +function _94a(_953){ +var t=$(_953); +if(!t.length){ +return; +} +var opts=$.data(_953,"propertygrid").options; +opts.finder.getTr(_953,null,"editing").each(function(){ +var _954=parseInt($(this).attr("datagrid-row-index")); +if(t.datagrid("validateRow",_954)){ +t.datagrid("endEdit",_954); +}else{ +t.datagrid("cancelEdit",_954); +} +}); +opts.editIndex=undefined; +}; +$.fn.propertygrid=function(_955,_956){ +if(typeof _955=="string"){ +var _957=$.fn.propertygrid.methods[_955]; +if(_957){ +return _957(this,_956); +}else{ +return this.datagrid(_955,_956); +} +} +_955=_955||{}; +return this.each(function(){ +var _958=$.data(this,"propertygrid"); +if(_958){ +$.extend(_958.options,_955); +}else{ +var opts=$.extend({},$.fn.propertygrid.defaults,$.fn.propertygrid.parseOptions(this),_955); +opts.frozenColumns=$.extend(true,[],opts.frozenColumns); +opts.columns=$.extend(true,[],opts.columns); +$.data(this,"propertygrid",{options:opts}); +} +_94b(this); +}); +}; +$.fn.propertygrid.methods={options:function(jq){ +return $.data(jq[0],"propertygrid").options; +}}; +$.fn.propertygrid.parseOptions=function(_959){ +return $.extend({},$.fn.datagrid.parseOptions(_959),$.parser.parseOptions(_959,[{showGroup:"boolean"}])); +}; +var _95a=$.extend({},$.fn.datagrid.defaults.view,{render:function(_95b,_95c,_95d){ +var _95e=[]; +var _95f=this.groups; +for(var i=0;i<_95f.length;i++){ +_95e.push(this.renderGroup.call(this,_95b,i,_95f[i],_95d)); +} +$(_95c).html(_95e.join("")); +},renderGroup:function(_960,_961,_962,_963){ +var _964=$.data(_960,"datagrid"); +var opts=_964.options; +var _965=$(_960).datagrid("getColumnFields",_963); +var _966=opts.frozenColumns&&opts.frozenColumns.length; +if(_963){ +if(!(opts.rownumbers||_966)){ +return ""; +} +} +var _967=[]; +var css=opts.groupStyler.call(_960,_962.value,_962.rows); +var cs=_968(css,"datagrid-group"); +_967.push("
    "); +if((_963&&(opts.rownumbers||opts.frozenColumns.length))||(!_963&&!(opts.rownumbers||opts.frozenColumns.length))){ +_967.push(""); +_967.push(" "); +_967.push(""); +} +if((_963&&_966)||(!_963)){ +_967.push(""); +_967.push(opts.groupFormatter.call(_960,_962.value,_962.rows)); +_967.push(""); +} +_967.push("
    "); +_967.push(""); +var _969=_962.startIndex; +for(var j=0;j<_962.rows.length;j++){ +var css=opts.rowStyler?opts.rowStyler.call(_960,_969,_962.rows[j]):""; +var _96a=""; +var _96b=""; +if(typeof css=="string"){ +_96b=css; +}else{ +if(css){ +_96a=css["class"]||""; +_96b=css["style"]||""; +} +} +var cls="class=\"datagrid-row "+(_969%2&&opts.striped?"datagrid-row-alt ":" ")+_96a+"\""; +var _96c=_96b?"style=\""+_96b+"\"":""; +var _96d=_964.rowIdPrefix+"-"+(_963?1:2)+"-"+_969; +_967.push(""); +_967.push(this.renderRow.call(this,_960,_965,_963,_969,_962.rows[j])); +_967.push(""); +_969++; +} +_967.push("
    "); +return _967.join(""); +function _968(css,cls){ +var _96e=""; +var _96f=""; +if(typeof css=="string"){ +_96f=css; +}else{ +if(css){ +_96e=css["class"]||""; +_96f=css["style"]||""; +} +} +return "class=\""+cls+(_96e?" "+_96e:"")+"\" "+"style=\""+_96f+"\""; +}; +},bindEvents:function(_970){ +var _971=$.data(_970,"datagrid"); +var dc=_971.dc; +var body=dc.body1.add(dc.body2); +var _972=($.data(body[0],"events")||$._data(body[0],"events")).click[0].handler; +body.unbind("click").bind("click",function(e){ +var tt=$(e.target); +var _973=tt.closest("span.datagrid-row-expander"); +if(_973.length){ +var _974=_973.closest("div.datagrid-group").attr("group-index"); +if(_973.hasClass("datagrid-row-collapse")){ +$(_970).datagrid("collapseGroup",_974); +}else{ +$(_970).datagrid("expandGroup",_974); +} +}else{ +_972(e); +} +e.stopPropagation(); +}); +},onBeforeRender:function(_975,rows){ +var _976=$.data(_975,"datagrid"); +var opts=_976.options; +_977(); +var _978=[]; +for(var i=0;i"+".datagrid-group{height:"+opts.groupHeight+"px;overflow:hidden;font-weight:bold;border-bottom:1px solid #ccc;white-space:nowrap;word-break:normal;}"+".datagrid-group-title,.datagrid-group-expander{display:inline-block;vertical-align:bottom;height:100%;line-height:"+opts.groupHeight+"px;padding:0 4px;}"+".datagrid-group-title{position:relative;}"+".datagrid-group-expander{width:"+opts.expanderWidth+"px;text-align:center;padding:0}"+".datagrid-row-expander{margin:"+Math.floor((opts.groupHeight-16)/2)+"px 0;display:inline-block;width:16px;height:16px;cursor:pointer}"+""); +} +}; +},onAfterRender:function(_97f){ +$.fn.datagrid.defaults.view.onAfterRender.call(this,_97f); +var view=this; +var _980=$.data(_97f,"datagrid"); +var opts=_980.options; +if(!_980.onResizeColumn){ +_980.onResizeColumn=opts.onResizeColumn; +} +if(!_980.onResize){ +_980.onResize=opts.onResize; +} +opts.onResizeColumn=function(_981,_982){ +view.resizeGroup(_97f); +_980.onResizeColumn.call(_97f,_981,_982); +}; +opts.onResize=function(_983,_984){ +view.resizeGroup(_97f); +_980.onResize.call($(_97f).datagrid("getPanel")[0],_983,_984); +}; +view.resizeGroup(_97f); +}}); +$.extend($.fn.datagrid.methods,{groups:function(jq){ +return jq.datagrid("options").view.groups; +},expandGroup:function(jq,_985){ +return jq.each(function(){ +var opts=$(this).datagrid("options"); +var view=$.data(this,"datagrid").dc.view; +var _986=view.find(_985!=undefined?"div.datagrid-group[group-index=\""+_985+"\"]":"div.datagrid-group"); +var _987=_986.find("span.datagrid-row-expander"); +if(_987.hasClass("datagrid-row-expand")){ +_987.removeClass("datagrid-row-expand").addClass("datagrid-row-collapse"); +_986.next("table").show(); +} +$(this).datagrid("fixRowHeight"); +if(opts.onExpandGroup){ +opts.onExpandGroup.call(this,_985); +} +}); +},collapseGroup:function(jq,_988){ +return jq.each(function(){ +var opts=$(this).datagrid("options"); +var view=$.data(this,"datagrid").dc.view; +var _989=view.find(_988!=undefined?"div.datagrid-group[group-index=\""+_988+"\"]":"div.datagrid-group"); +var _98a=_989.find("span.datagrid-row-expander"); +if(_98a.hasClass("datagrid-row-collapse")){ +_98a.removeClass("datagrid-row-collapse").addClass("datagrid-row-expand"); +_989.next("table").hide(); +} +$(this).datagrid("fixRowHeight"); +if(opts.onCollapseGroup){ +opts.onCollapseGroup.call(this,_988); +} +}); +},scrollToGroup:function(jq,_98b){ +return jq.each(function(){ +var _98c=$.data(this,"datagrid"); +var dc=_98c.dc; +var grow=dc.body2.children("div.datagrid-group[group-index=\""+_98b+"\"]"); +if(grow.length){ +var _98d=grow.outerHeight(); +var _98e=dc.view2.children("div.datagrid-header")._outerHeight(); +var _98f=dc.body2.outerHeight(true)-dc.body2.outerHeight(); +var top=grow.position().top-_98e-_98f; +if(top<0){ +dc.body2.scrollTop(dc.body2.scrollTop()+top); +}else{ +if(top+_98d>dc.body2.height()-18){ +dc.body2.scrollTop(dc.body2.scrollTop()+top+_98d-dc.body2.height()+18); +} +} +} +}); +}}); +$.extend(_95a,{refreshGroupTitle:function(_990,_991){ +var _992=$.data(_990,"datagrid"); +var opts=_992.options; +var dc=_992.dc; +var _993=this.groups[_991]; +var span=dc.body1.add(dc.body2).children("div.datagrid-group[group-index="+_991+"]").find("span.datagrid-group-title"); +span.html(opts.groupFormatter.call(_990,_993.value,_993.rows)); +},resizeGroup:function(_994,_995){ +var _996=$.data(_994,"datagrid"); +var dc=_996.dc; +var ht=dc.header2.find("table"); +var fr=ht.find("tr.datagrid-filter-row").hide(); +var ww=dc.body2.children("table.datagrid-btable:first").width(); +if(_995==undefined){ +var _997=dc.body2.children("div.datagrid-group"); +}else{ +var _997=dc.body2.children("div.datagrid-group[group-index="+_995+"]"); +} +_997._outerWidth(ww); +var opts=_996.options; +if(opts.frozenColumns&&opts.frozenColumns.length){ +var _998=dc.view1.width()-opts.expanderWidth; +var _999=dc.view1.css("direction").toLowerCase()=="rtl"; +_997.find(".datagrid-group-title").css(_999?"right":"left",-_998+"px"); +} +if(fr.length){ +if(opts.showFilterBar){ +fr.show(); +} +} +},insertRow:function(_99a,_99b,row){ +var _99c=$.data(_99a,"datagrid"); +var opts=_99c.options; +var dc=_99c.dc; +var _99d=null; +var _99e; +if(!_99c.data.rows.length){ +$(_99a).datagrid("loadData",[row]); +return; +} +for(var i=0;i_99d.startIndex+_99d.rows.length){ +_99b=_99d.startIndex+_99d.rows.length; +} +} +$.fn.datagrid.defaults.view.insertRow.call(this,_99a,_99b,row); +if(_99b>=_99d.startIndex+_99d.rows.length){ +_99f(_99b,true); +_99f(_99b,false); +} +_99d.rows.splice(_99b-_99d.startIndex,0,row); +}else{ +_99d={value:row[opts.groupField],rows:[row],startIndex:_99c.data.rows.length}; +_99e=this.groups.length; +dc.body1.append(this.renderGroup.call(this,_99a,_99e,_99d,true)); +dc.body2.append(this.renderGroup.call(this,_99a,_99e,_99d,false)); +this.groups.push(_99d); +_99c.data.rows.push(row); +} +this.setGroupIndex(_99a); +this.refreshGroupTitle(_99a,_99e); +this.resizeGroup(_99a); +function _99f(_9a0,_9a1){ +var _9a2=_9a1?1:2; +var _9a3=opts.finder.getTr(_99a,_9a0-1,"body",_9a2); +var tr=opts.finder.getTr(_99a,_9a0,"body",_9a2); +tr.insertAfter(_9a3); +}; +},updateRow:function(_9a4,_9a5,row){ +var opts=$.data(_9a4,"datagrid").options; +$.fn.datagrid.defaults.view.updateRow.call(this,_9a4,_9a5,row); +var tb=opts.finder.getTr(_9a4,_9a5,"body",2).closest("table.datagrid-btable"); +var _9a6=parseInt(tb.prev().attr("group-index")); +this.refreshGroupTitle(_9a4,_9a6); +},deleteRow:function(_9a7,_9a8){ +var _9a9=$.data(_9a7,"datagrid"); +var opts=_9a9.options; +var dc=_9a9.dc; +var body=dc.body1.add(dc.body2); +var tb=opts.finder.getTr(_9a7,_9a8,"body",2).closest("table.datagrid-btable"); +var _9aa=parseInt(tb.prev().attr("group-index")); +$.fn.datagrid.defaults.view.deleteRow.call(this,_9a7,_9a8); +var _9ab=this.groups[_9aa]; +if(_9ab.rows.length>1){ +_9ab.rows.splice(_9a8-_9ab.startIndex,1); +this.refreshGroupTitle(_9a7,_9aa); +}else{ +body.children("div.datagrid-group[group-index="+_9aa+"]").remove(); +for(var i=_9aa+1;i").insertBefore(tr.find(".tree-title")); +} +if(row.checkState=="checked"){ +_9d3(_9e7,_9e8,true,true); +}else{ +if(row.checkState=="unchecked"){ +_9d3(_9e7,_9e8,false,true); +}else{ +var flag=_9e5(row); +if(flag===0){ +_9d3(_9e7,_9e8,false,true); +}else{ +if(flag===1){ +_9d3(_9e7,_9e8,true,true); +} +} +} +} +}else{ +ck.remove(); +row.checkState=undefined; +row.checked=undefined; +_9dc(_9e7,row); +} +}; +function _9e9(_9ea,_9eb){ +var opts=$.data(_9ea,"treegrid").options; +var tr1=opts.finder.getTr(_9ea,_9eb,"body",1); +var tr2=opts.finder.getTr(_9ea,_9eb,"body",2); +var _9ec=$(_9ea).datagrid("getColumnFields",true).length+(opts.rownumbers?1:0); +var _9ed=$(_9ea).datagrid("getColumnFields",false).length; +_9ee(tr1,_9ec); +_9ee(tr2,_9ed); +function _9ee(tr,_9ef){ +$(""+""+"
    "+""+"").insertAfter(tr); +}; +}; +function _9f0(_9f1,_9f2,data,_9f3,_9f4){ +var _9f5=$.data(_9f1,"treegrid"); +var opts=_9f5.options; +var dc=_9f5.dc; +data=opts.loadFilter.call(_9f1,data,_9f2); +var node=find(_9f1,_9f2); +if(node){ +var _9f6=opts.finder.getTr(_9f1,_9f2,"body",1); +var _9f7=opts.finder.getTr(_9f1,_9f2,"body",2); +var cc1=_9f6.next("tr.treegrid-tr-tree").children("td").children("div"); +var cc2=_9f7.next("tr.treegrid-tr-tree").children("td").children("div"); +if(!_9f3){ +node.children=[]; +} +}else{ +var cc1=dc.body1; +var cc2=dc.body2; +if(!_9f3){ +_9f5.data=[]; +} +} +if(!_9f3){ +cc1.empty(); +cc2.empty(); +} +if(opts.view.onBeforeRender){ +opts.view.onBeforeRender.call(opts.view,_9f1,_9f2,data); +} +opts.view.render.call(opts.view,_9f1,cc1,true); +opts.view.render.call(opts.view,_9f1,cc2,false); +if(opts.showFooter){ +opts.view.renderFooter.call(opts.view,_9f1,dc.footer1,true); +opts.view.renderFooter.call(opts.view,_9f1,dc.footer2,false); +} +if(opts.view.onAfterRender){ +opts.view.onAfterRender.call(opts.view,_9f1); +} +if(!_9f2&&opts.pagination){ +var _9f8=$.data(_9f1,"treegrid").total; +var _9f9=$(_9f1).datagrid("getPager"); +if(_9f9.pagination("options").total!=_9f8){ +_9f9.pagination({total:_9f8}); +} +} +_9c2(_9f1); +_9ca(_9f1); +$(_9f1).treegrid("showLines"); +$(_9f1).treegrid("setSelectionState"); +$(_9f1).treegrid("autoSizeColumn"); +if(!_9f4){ +opts.onLoadSuccess.call(_9f1,node,data); +} +}; +function _9c1(_9fa,_9fb,_9fc,_9fd,_9fe){ +var opts=$.data(_9fa,"treegrid").options; +var body=$(_9fa).datagrid("getPanel").find("div.datagrid-body"); +if(_9fb==undefined&&opts.queryParams){ +opts.queryParams.id=undefined; +} +if(_9fc){ +opts.queryParams=_9fc; +} +var _9ff=$.extend({},opts.queryParams); +if(opts.pagination){ +$.extend(_9ff,{page:opts.pageNumber,rows:opts.pageSize}); +} +if(opts.sortName){ +$.extend(_9ff,{sort:opts.sortName,order:opts.sortOrder}); +} +var row=find(_9fa,_9fb); +if(opts.onBeforeLoad.call(_9fa,row,_9ff)==false){ +return; +} +var _a00=body.find("tr[node-id=\""+_9fb+"\"] span.tree-folder"); +_a00.addClass("tree-loading"); +$(_9fa).treegrid("loading"); +var _a01=opts.loader.call(_9fa,_9ff,function(data){ +_a00.removeClass("tree-loading"); +$(_9fa).treegrid("loaded"); +_9f0(_9fa,_9fb,data,_9fd); +if(_9fe){ +_9fe(); +} +},function(){ +_a00.removeClass("tree-loading"); +$(_9fa).treegrid("loaded"); +opts.onLoadError.apply(_9fa,arguments); +if(_9fe){ +_9fe(); +} +}); +if(_a01==false){ +_a00.removeClass("tree-loading"); +$(_9fa).treegrid("loaded"); +} +}; +function _a02(_a03){ +var _a04=_a05(_a03); +return _a04.length?_a04[0]:null; +}; +function _a05(_a06){ +return $.data(_a06,"treegrid").data; +}; +function _9e4(_a07,_a08){ +var row=find(_a07,_a08); +if(row._parentId){ +return find(_a07,row._parentId); +}else{ +return null; +} +}; +function _9c6(_a09,_a0a){ +var data=$.data(_a09,"treegrid").data; +if(_a0a){ +var _a0b=find(_a09,_a0a); +data=_a0b?(_a0b.children||[]):[]; +} +var _a0c=[]; +$.easyui.forEach(data,true,function(node){ +_a0c.push(node); +}); +return _a0c; +}; +function _a0d(_a0e,_a0f){ +var opts=$.data(_a0e,"treegrid").options; +var tr=opts.finder.getTr(_a0e,_a0f); +var node=tr.children("td[field=\""+opts.treeField+"\"]"); +return node.find("span.tree-indent,span.tree-hit").length; +}; +function find(_a10,_a11){ +var _a12=$.data(_a10,"treegrid"); +var opts=_a12.options; +var _a13=null; +$.easyui.forEach(_a12.data,true,function(node){ +if(node[opts.idField]==_a11){ +_a13=node; +return false; +} +}); +return _a13; +}; +function _a14(_a15,_a16){ +var opts=$.data(_a15,"treegrid").options; +var row=find(_a15,_a16); +var tr=opts.finder.getTr(_a15,_a16); +var hit=tr.find("span.tree-hit"); +if(hit.length==0){ +return; +} +if(hit.hasClass("tree-collapsed")){ +return; +} +if(opts.onBeforeCollapse.call(_a15,row)==false){ +return; +} +hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed"); +hit.next().removeClass("tree-folder-open"); +row.state="closed"; +tr=tr.next("tr.treegrid-tr-tree"); +var cc=tr.children("td").children("div"); +if(opts.animate){ +cc.slideUp("normal",function(){ +$(_a15).treegrid("autoSizeColumn"); +_9c2(_a15,_a16); +opts.onCollapse.call(_a15,row); +}); +}else{ +cc.hide(); +$(_a15).treegrid("autoSizeColumn"); +_9c2(_a15,_a16); +opts.onCollapse.call(_a15,row); +} +}; +function _a17(_a18,_a19){ +var opts=$.data(_a18,"treegrid").options; +var tr=opts.finder.getTr(_a18,_a19); +var hit=tr.find("span.tree-hit"); +var row=find(_a18,_a19); +if(hit.length==0){ +return; +} +if(hit.hasClass("tree-expanded")){ +return; +} +if(opts.onBeforeExpand.call(_a18,row)==false){ +return; +} +hit.removeClass("tree-collapsed tree-collapsed-hover").addClass("tree-expanded"); +hit.next().addClass("tree-folder-open"); +var _a1a=tr.next("tr.treegrid-tr-tree"); +if(_a1a.length){ +var cc=_a1a.children("td").children("div"); +_a1b(cc); +}else{ +_9e9(_a18,row[opts.idField]); +var _a1a=tr.next("tr.treegrid-tr-tree"); +var cc=_a1a.children("td").children("div"); +cc.hide(); +var _a1c=$.extend({},opts.queryParams||{}); +_a1c.id=row[opts.idField]; +_9c1(_a18,row[opts.idField],_a1c,true,function(){ +if(cc.is(":empty")){ +_a1a.remove(); +}else{ +_a1b(cc); +} +}); +} +function _a1b(cc){ +row.state="open"; +if(opts.animate){ +cc.slideDown("normal",function(){ +$(_a18).treegrid("autoSizeColumn"); +_9c2(_a18,_a19); +opts.onExpand.call(_a18,row); +}); +}else{ +cc.show(); +$(_a18).treegrid("autoSizeColumn"); +_9c2(_a18,_a19); +opts.onExpand.call(_a18,row); +} +}; +}; +function _9d2(_a1d,_a1e){ +var opts=$.data(_a1d,"treegrid").options; +var tr=opts.finder.getTr(_a1d,_a1e); +var hit=tr.find("span.tree-hit"); +if(hit.hasClass("tree-expanded")){ +_a14(_a1d,_a1e); +}else{ +_a17(_a1d,_a1e); +} +}; +function _a1f(_a20,_a21){ +var opts=$.data(_a20,"treegrid").options; +var _a22=_9c6(_a20,_a21); +if(_a21){ +_a22.unshift(find(_a20,_a21)); +} +for(var i=0;i<_a22.length;i++){ +_a14(_a20,_a22[i][opts.idField]); +} +}; +function _a23(_a24,_a25){ +var opts=$.data(_a24,"treegrid").options; +var _a26=_9c6(_a24,_a25); +if(_a25){ +_a26.unshift(find(_a24,_a25)); +} +for(var i=0;i<_a26.length;i++){ +_a17(_a24,_a26[i][opts.idField]); +} +}; +function _a27(_a28,_a29){ +var opts=$.data(_a28,"treegrid").options; +var ids=[]; +var p=_9e4(_a28,_a29); +while(p){ +var id=p[opts.idField]; +ids.unshift(id); +p=_9e4(_a28,id); +} +for(var i=0;i").insertBefore(_a2e); +if(hit.prev().length){ +hit.prev().remove(); +} +} +} +_9f0(_a2b,_a2c.parent,_a2c.data,_a2d.data.length>0,true); +}; +function _a2f(_a30,_a31){ +var ref=_a31.before||_a31.after; +var opts=$.data(_a30,"treegrid").options; +var _a32=_9e4(_a30,ref); +_a2a(_a30,{parent:(_a32?_a32[opts.idField]:null),data:[_a31.data]}); +var _a33=_a32?_a32.children:$(_a30).treegrid("getRoots"); +for(var i=0;i<_a33.length;i++){ +if(_a33[i][opts.idField]==ref){ +var _a34=_a33[_a33.length-1]; +_a33.splice(_a31.before?i:(i+1),0,_a34); +_a33.splice(_a33.length-1,1); +break; +} +} +_a35(true); +_a35(false); +_9ca(_a30); +$(_a30).treegrid("showLines"); +function _a35(_a36){ +var _a37=_a36?1:2; +var tr=opts.finder.getTr(_a30,_a31.data[opts.idField],"body",_a37); +var _a38=tr.closest("table.datagrid-btable"); +tr=tr.parent().children(); +var dest=opts.finder.getTr(_a30,ref,"body",_a37); +if(_a31.before){ +tr.insertBefore(dest); +}else{ +var sub=dest.next("tr.treegrid-tr-tree"); +tr.insertAfter(sub.length?sub:dest); +} +_a38.remove(); +}; +}; +function _a39(_a3a,_a3b){ +var _a3c=$.data(_a3a,"treegrid"); +var opts=_a3c.options; +var prow=_9e4(_a3a,_a3b); +$(_a3a).datagrid("deleteRow",_a3b); +$.easyui.removeArrayItem(_a3c.checkedRows,opts.idField,_a3b); +_9ca(_a3a); +if(prow){ +_9e6(_a3a,prow[opts.idField]); +} +_a3c.total-=1; +$(_a3a).datagrid("getPager").pagination("refresh",{total:_a3c.total}); +$(_a3a).treegrid("showLines"); +}; +function _a3d(_a3e){ +var t=$(_a3e); +var opts=t.treegrid("options"); +if(opts.lines){ +t.treegrid("getPanel").addClass("tree-lines"); +}else{ +t.treegrid("getPanel").removeClass("tree-lines"); +return; +} +t.treegrid("getPanel").find("span.tree-indent").removeClass("tree-line tree-join tree-joinbottom"); +t.treegrid("getPanel").find("div.datagrid-cell").removeClass("tree-node-last tree-root-first tree-root-one"); +var _a3f=t.treegrid("getRoots"); +if(_a3f.length>1){ +_a40(_a3f[0]).addClass("tree-root-first"); +}else{ +if(_a3f.length==1){ +_a40(_a3f[0]).addClass("tree-root-one"); +} +} +_a41(_a3f); +_a42(_a3f); +function _a41(_a43){ +$.map(_a43,function(node){ +if(node.children&&node.children.length){ +_a41(node.children); +}else{ +var cell=_a40(node); +cell.find(".tree-icon").prev().addClass("tree-join"); +} +}); +if(_a43.length){ +var cell=_a40(_a43[_a43.length-1]); +cell.addClass("tree-node-last"); +cell.find(".tree-join").removeClass("tree-join").addClass("tree-joinbottom"); +} +}; +function _a42(_a44){ +$.map(_a44,function(node){ +if(node.children&&node.children.length){ +_a42(node.children); +} +}); +for(var i=0;i<_a44.length-1;i++){ +var node=_a44[i]; +var _a45=t.treegrid("getLevel",node[opts.idField]); +var tr=opts.finder.getTr(_a3e,node[opts.idField]); +var cc=tr.next().find("tr.datagrid-row td[field=\""+opts.treeField+"\"] div.datagrid-cell"); +cc.find("span:eq("+(_a45-1)+")").addClass("tree-line"); +} +}; +function _a40(node){ +var tr=opts.finder.getTr(_a3e,node[opts.idField]); +var cell=tr.find("td[field=\""+opts.treeField+"\"] div.datagrid-cell"); +return cell; +}; +}; +$.fn.treegrid=function(_a46,_a47){ +if(typeof _a46=="string"){ +var _a48=$.fn.treegrid.methods[_a46]; +if(_a48){ +return _a48(this,_a47); +}else{ +return this.datagrid(_a46,_a47); +} +} +_a46=_a46||{}; +return this.each(function(){ +var _a49=$.data(this,"treegrid"); +if(_a49){ +$.extend(_a49.options,_a46); +}else{ +_a49=$.data(this,"treegrid",{options:$.extend({},$.fn.treegrid.defaults,$.fn.treegrid.parseOptions(this),_a46),data:[],checkedRows:[],tmpIds:[]}); +} +_9b1(this); +if(_a49.options.data){ +$(this).treegrid("loadData",_a49.options.data); +} +_9c1(this); +}); +}; +$.fn.treegrid.methods={options:function(jq){ +return $.data(jq[0],"treegrid").options; +},resize:function(jq,_a4a){ +return jq.each(function(){ +$(this).datagrid("resize",_a4a); +}); +},fixRowHeight:function(jq,_a4b){ +return jq.each(function(){ +_9c2(this,_a4b); +}); +},loadData:function(jq,data){ +return jq.each(function(){ +_9f0(this,data.parent,data); +}); +},load:function(jq,_a4c){ +return jq.each(function(){ +$(this).treegrid("options").pageNumber=1; +$(this).treegrid("getPager").pagination({pageNumber:1}); +$(this).treegrid("reload",_a4c); +}); +},reload:function(jq,id){ +return jq.each(function(){ +var opts=$(this).treegrid("options"); +var _a4d={}; +if(typeof id=="object"){ +_a4d=id; +}else{ +_a4d=$.extend({},opts.queryParams); +_a4d.id=id; +} +if(_a4d.id){ +var node=$(this).treegrid("find",_a4d.id); +if(node.children){ +node.children.splice(0,node.children.length); +} +opts.queryParams=_a4d; +var tr=opts.finder.getTr(this,_a4d.id); +tr.next("tr.treegrid-tr-tree").remove(); +tr.find("span.tree-hit").removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed"); +_a17(this,_a4d.id); +}else{ +_9c1(this,null,_a4d); +} +}); +},reloadFooter:function(jq,_a4e){ +return jq.each(function(){ +var opts=$.data(this,"treegrid").options; +var dc=$.data(this,"datagrid").dc; +if(_a4e){ +$.data(this,"treegrid").footer=_a4e; +} +if(opts.showFooter){ +opts.view.renderFooter.call(opts.view,this,dc.footer1,true); +opts.view.renderFooter.call(opts.view,this,dc.footer2,false); +if(opts.view.onAfterRender){ +opts.view.onAfterRender.call(opts.view,this); +} +$(this).treegrid("fixRowHeight"); +} +}); +},getData:function(jq){ +return $.data(jq[0],"treegrid").data; +},getFooterRows:function(jq){ +return $.data(jq[0],"treegrid").footer; +},getRoot:function(jq){ +return _a02(jq[0]); +},getRoots:function(jq){ +return _a05(jq[0]); +},getParent:function(jq,id){ +return _9e4(jq[0],id); +},getChildren:function(jq,id){ +return _9c6(jq[0],id); +},getLevel:function(jq,id){ +return _a0d(jq[0],id); +},find:function(jq,id){ +return find(jq[0],id); +},isLeaf:function(jq,id){ +var opts=$.data(jq[0],"treegrid").options; +var tr=opts.finder.getTr(jq[0],id); +var hit=tr.find("span.tree-hit"); +return hit.length==0; +},select:function(jq,id){ +return jq.each(function(){ +$(this).datagrid("selectRow",id); +}); +},unselect:function(jq,id){ +return jq.each(function(){ +$(this).datagrid("unselectRow",id); +}); +},collapse:function(jq,id){ +return jq.each(function(){ +_a14(this,id); +}); +},expand:function(jq,id){ +return jq.each(function(){ +_a17(this,id); +}); +},toggle:function(jq,id){ +return jq.each(function(){ +_9d2(this,id); +}); +},collapseAll:function(jq,id){ +return jq.each(function(){ +_a1f(this,id); +}); +},expandAll:function(jq,id){ +return jq.each(function(){ +_a23(this,id); +}); +},expandTo:function(jq,id){ +return jq.each(function(){ +_a27(this,id); +}); +},append:function(jq,_a4f){ +return jq.each(function(){ +_a2a(this,_a4f); +}); +},insert:function(jq,_a50){ +return jq.each(function(){ +_a2f(this,_a50); +}); +},remove:function(jq,id){ +return jq.each(function(){ +_a39(this,id); +}); +},pop:function(jq,id){ +var row=jq.treegrid("find",id); +jq.treegrid("remove",id); +return row; +},refresh:function(jq,id){ +return jq.each(function(){ +var opts=$.data(this,"treegrid").options; +opts.view.refreshRow.call(opts.view,this,id); +}); +},update:function(jq,_a51){ +return jq.each(function(){ +var opts=$.data(this,"treegrid").options; +var row=_a51.row; +opts.view.updateRow.call(opts.view,this,_a51.id,row); +if(row.checked!=undefined){ +row=find(this,_a51.id); +$.extend(row,{checkState:row.checked?"checked":(row.checked===false?"unchecked":undefined)}); +_9e6(this,_a51.id); +} +}); +},beginEdit:function(jq,id){ +return jq.each(function(){ +$(this).datagrid("beginEdit",id); +$(this).treegrid("fixRowHeight",id); +}); +},endEdit:function(jq,id){ +return jq.each(function(){ +$(this).datagrid("endEdit",id); +}); +},cancelEdit:function(jq,id){ +return jq.each(function(){ +$(this).datagrid("cancelEdit",id); +}); +},showLines:function(jq){ +return jq.each(function(){ +_a3d(this); +}); +},setSelectionState:function(jq){ +return jq.each(function(){ +$(this).datagrid("setSelectionState"); +var _a52=$(this).data("treegrid"); +for(var i=0;i<_a52.tmpIds.length;i++){ +_9d3(this,_a52.tmpIds[i],true,true); +} +_a52.tmpIds=[]; +}); +},getCheckedNodes:function(jq,_a53){ +_a53=_a53||"checked"; +var rows=[]; +$.easyui.forEach(jq.data("treegrid").checkedRows,false,function(row){ +if(row.checkState==_a53){ +rows.push(row); +} +}); +return rows; +},checkNode:function(jq,id){ +return jq.each(function(){ +_9d3(this,id,true); +}); +},uncheckNode:function(jq,id){ +return jq.each(function(){ +_9d3(this,id,false); +}); +},clearChecked:function(jq){ +return jq.each(function(){ +var _a54=this; +var opts=$(_a54).treegrid("options"); +$(_a54).datagrid("clearChecked"); +$.map($(_a54).treegrid("getCheckedNodes"),function(row){ +_9d3(_a54,row[opts.idField],false,true); +}); +}); +}}; +$.fn.treegrid.parseOptions=function(_a55){ +return $.extend({},$.fn.datagrid.parseOptions(_a55),$.parser.parseOptions(_a55,["treeField",{checkbox:"boolean",cascadeCheck:"boolean",onlyLeafCheck:"boolean"},{animate:"boolean"}])); +}; +var _a56=$.extend({},$.fn.datagrid.defaults.view,{render:function(_a57,_a58,_a59){ +var opts=$.data(_a57,"treegrid").options; +var _a5a=$(_a57).datagrid("getColumnFields",_a59); +var _a5b=$.data(_a57,"datagrid").rowIdPrefix; +if(_a59){ +if(!(opts.rownumbers||(opts.frozenColumns&&opts.frozenColumns.length))){ +return; +} +} +var view=this; +if(this.treeNodes&&this.treeNodes.length){ +var _a5c=_a5d.call(this,_a59,this.treeLevel,this.treeNodes); +$(_a58).append(_a5c.join("")); +} +function _a5d(_a5e,_a5f,_a60){ +var _a61=$(_a57).treegrid("getParent",_a60[0][opts.idField]); +var _a62=(_a61?_a61.children.length:$(_a57).treegrid("getRoots").length)-_a60.length; +var _a63=[""]; +for(var i=0;i<_a60.length;i++){ +var row=_a60[i]; +if(row.state!="open"&&row.state!="closed"){ +row.state="open"; +} +var css=opts.rowStyler?opts.rowStyler.call(_a57,row):""; +var cs=this.getStyleValue(css); +var cls="class=\"datagrid-row "+(_a62++%2&&opts.striped?"datagrid-row-alt ":" ")+cs.c+"\""; +var _a64=cs.s?"style=\""+cs.s+"\"":""; +var _a65=_a5b+"-"+(_a5e?1:2)+"-"+row[opts.idField]; +_a63.push(""); +_a63=_a63.concat(view.renderRow.call(view,_a57,_a5a,_a5e,_a5f,row)); +_a63.push(""); +if(row.children&&row.children.length){ +var tt=_a5d.call(this,_a5e,_a5f+1,row.children); +var v=row.state=="closed"?"none":"block"; +_a63.push(""); +} +} +_a63.push("
    "); +_a63=_a63.concat(tt); +_a63.push("
    "); +return _a63; +}; +},renderFooter:function(_a66,_a67,_a68){ +var opts=$.data(_a66,"treegrid").options; +var rows=$.data(_a66,"treegrid").footer||[]; +var _a69=$(_a66).datagrid("getColumnFields",_a68); +var _a6a=[""]; +for(var i=0;i"); +_a6a.push(this.renderRow.call(this,_a66,_a69,_a68,0,row)); +_a6a.push(""); +} +_a6a.push("
    "); +$(_a67).html(_a6a.join("")); +},renderRow:function(_a6b,_a6c,_a6d,_a6e,row){ +var _a6f=$.data(_a6b,"treegrid"); +var opts=_a6f.options; +var cc=[]; +if(_a6d&&opts.rownumbers){ +cc.push("
    0
    "); +} +for(var i=0;i<_a6c.length;i++){ +var _a70=_a6c[i]; +var col=$(_a6b).datagrid("getColumnOption",_a70); +if(col){ +var css=col.styler?(col.styler(row[_a70],row)||""):""; +var cs=this.getStyleValue(css); +var cls=cs.c?"class=\""+cs.c+"\"":""; +var _a71=col.hidden?"style=\"display:none;"+cs.s+"\"":(cs.s?"style=\""+cs.s+"\"":""); +cc.push(""); +var _a71=""; +if(!col.checkbox){ +if(col.align){ +_a71+="text-align:"+col.align+";"; +} +if(!opts.nowrap){ +_a71+="white-space:normal;height:auto;"; +}else{ +if(opts.autoRowHeight){ +_a71+="height:auto;"; +} +} +} +cc.push("
    "); +if(col.checkbox){ +if(row.checked){ +cc.push(""); +}else{ +var val=null; +if(col.formatter){ +val=col.formatter(row[_a70],row); +}else{ +val=row[_a70]; +} +if(_a70==opts.treeField){ +for(var j=0;j<_a6e;j++){ +cc.push(""); +} +if(row.state=="closed"){ +cc.push(""); +cc.push(""); +}else{ +if(row.children&&row.children.length){ +cc.push(""); +cc.push(""); +}else{ +cc.push(""); +cc.push(""); +} +} +if(this.hasCheckbox(_a6b,row)){ +var flag=0; +var crow=$.easyui.getArrayItem(_a6f.checkedRows,opts.idField,row[opts.idField]); +if(crow){ +flag=crow.checkState=="checked"?1:2; +row.checkState=crow.checkState; +row.checked=crow.checked; +$.easyui.addArrayItem(_a6f.checkedRows,opts.idField,row); +}else{ +var prow=$.easyui.getArrayItem(_a6f.checkedRows,opts.idField,row._parentId); +if(prow&&prow.checkState=="checked"&&opts.cascadeCheck){ +flag=1; +row.checked=true; +$.easyui.addArrayItem(_a6f.checkedRows,opts.idField,row); +}else{ +if(row.checked){ +$.easyui.addArrayItem(_a6f.tmpIds,row[opts.idField]); +} +} +row.checkState=flag?"checked":"unchecked"; +} +cc.push(""); +}else{ +row.checkState=undefined; +row.checked=undefined; +} +cc.push(""+val+""); +}else{ +cc.push(val); +} +} +cc.push("
    "); +cc.push(""); +} +} +return cc.join(""); +},hasCheckbox:function(_a72,row){ +var opts=$.data(_a72,"treegrid").options; +if(opts.checkbox){ +if($.isFunction(opts.checkbox)){ +if(opts.checkbox.call(_a72,row)){ +return true; +}else{ +return false; +} +}else{ +if(opts.onlyLeafCheck){ +if(row.state=="open"&&!(row.children&&row.children.length)){ +return true; +} +}else{ +return true; +} +} +} +return false; +},refreshRow:function(_a73,id){ +this.updateRow.call(this,_a73,id,{}); +},updateRow:function(_a74,id,row){ +var opts=$.data(_a74,"treegrid").options; +var _a75=$(_a74).treegrid("find",id); +$.extend(_a75,row); +var _a76=$(_a74).treegrid("getLevel",id)-1; +var _a77=opts.rowStyler?opts.rowStyler.call(_a74,_a75):""; +var _a78=$.data(_a74,"datagrid").rowIdPrefix; +var _a79=_a75[opts.idField]; +function _a7a(_a7b){ +var _a7c=$(_a74).treegrid("getColumnFields",_a7b); +var tr=opts.finder.getTr(_a74,id,"body",(_a7b?1:2)); +var _a7d=tr.find("div.datagrid-cell-rownumber").html(); +var _a7e=tr.find("div.datagrid-cell-check input[type=checkbox]").is(":checked"); +tr.html(this.renderRow(_a74,_a7c,_a7b,_a76,_a75)); +tr.attr("style",_a77||""); +tr.find("div.datagrid-cell-rownumber").html(_a7d); +if(_a7e){ +tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",true); +} +if(_a79!=id){ +tr.attr("id",_a78+"-"+(_a7b?1:2)+"-"+_a79); +tr.attr("node-id",_a79); +} +}; +_a7a.call(this,true); +_a7a.call(this,false); +$(_a74).treegrid("fixRowHeight",id); +},deleteRow:function(_a7f,id){ +var opts=$.data(_a7f,"treegrid").options; +var tr=opts.finder.getTr(_a7f,id); +tr.next("tr.treegrid-tr-tree").remove(); +tr.remove(); +var _a80=del(id); +if(_a80){ +if(_a80.children.length==0){ +tr=opts.finder.getTr(_a7f,_a80[opts.idField]); +tr.next("tr.treegrid-tr-tree").remove(); +var cell=tr.children("td[field=\""+opts.treeField+"\"]").children("div.datagrid-cell"); +cell.find(".tree-icon").removeClass("tree-folder").addClass("tree-file"); +cell.find(".tree-hit").remove(); +$("").prependTo(cell); +} +} +this.setEmptyMsg(_a7f); +function del(id){ +var cc; +var _a81=$(_a7f).treegrid("getParent",id); +if(_a81){ +cc=_a81.children; +}else{ +cc=$(_a7f).treegrid("getData"); +} +for(var i=0;ib?1:-1); +}; +r=_a8c(r1[sn],r2[sn])*(so=="asc"?1:-1); +if(r!=0){ +return r; +} +} +return r; +}); +for(var i=0;i"); +if(!_aaf){ +_ab2.push(""); +_ab2.push(opts.groupFormatter.call(_aac,_aae.value,_aae.rows)); +_ab2.push(""); +} +_ab2.push(""); +_ab2.push(this.renderTable(_aac,_aae.startIndex,_aae.rows,_aaf)); +return _ab2.join(""); +},groupRows:function(_ab3,rows){ +var _ab4=$.data(_ab3,"datagrid"); +var opts=_ab4.options; +var _ab5=[]; +for(var i=0;idiv.combo-p>div.combo-panel:visible").panel("close"); +}); +}); +function _ac5(_ac6){ +var _ac7=$.data(_ac6,"combo"); +var opts=_ac7.options; +if(!_ac7.panel){ +_ac7.panel=$("
    ").appendTo("body"); +_ac7.panel.panel({minWidth:opts.panelMinWidth,maxWidth:opts.panelMaxWidth,minHeight:opts.panelMinHeight,maxHeight:opts.panelMaxHeight,doSize:false,closed:true,cls:"combo-p",style:{position:"absolute",zIndex:10},onOpen:function(){ +var _ac8=$(this).panel("options").comboTarget; +var _ac9=$.data(_ac8,"combo"); +if(_ac9){ +_ac9.options.onShowPanel.call(_ac8); +} +},onBeforeClose:function(){ +_ac4($(this).parent()); +},onClose:function(){ +var _aca=$(this).panel("options").comboTarget; +var _acb=$(_aca).data("combo"); +if(_acb){ +_acb.options.onHidePanel.call(_aca); +} +}}); +} +var _acc=$.extend(true,[],opts.icons); +if(opts.hasDownArrow){ +_acc.push({iconCls:"combo-arrow",handler:function(e){ +_ad1(e.data.target); +}}); +} +$(_ac6).addClass("combo-f").textbox($.extend({},opts,{icons:_acc,onChange:function(){ +}})); +$(_ac6).attr("comboName",$(_ac6).attr("textboxName")); +_ac7.combo=$(_ac6).next(); +_ac7.combo.addClass("combo"); +_ac7.panel.unbind(".combo"); +for(var _acd in opts.panelEvents){ +_ac7.panel.bind(_acd+".combo",{target:_ac6},opts.panelEvents[_acd]); +} +}; +function _ace(_acf){ +var _ad0=$.data(_acf,"combo"); +var opts=_ad0.options; +var p=_ad0.panel; +if(p.is(":visible")){ +p.panel("close"); +} +if(!opts.cloned){ +p.panel("destroy"); +} +$(_acf).textbox("destroy"); +}; +function _ad1(_ad2){ +var _ad3=$.data(_ad2,"combo").panel; +if(_ad3.is(":visible")){ +var _ad4=_ad3.combo("combo"); +_ad5(_ad4); +if(_ad4!=_ad2){ +$(_ad2).combo("showPanel"); +} +}else{ +var p=$(_ad2).closest("div.combo-p").children(".combo-panel"); +$("div.combo-panel:visible").not(_ad3).not(p).panel("close"); +$(_ad2).combo("showPanel"); +} +$(_ad2).combo("textbox").focus(); +}; +function _ac4(_ad6){ +$(_ad6).find(".combo-f").each(function(){ +var p=$(this).combo("panel"); +if(p.is(":visible")){ +p.panel("close"); +} +}); +}; +function _ad7(e){ +var _ad8=e.data.target; +var _ad9=$.data(_ad8,"combo"); +var opts=_ad9.options; +if(!opts.editable){ +_ad1(_ad8); +}else{ +var p=$(_ad8).closest("div.combo-p").children(".combo-panel"); +$("div.combo-panel:visible").not(p).each(function(){ +var _ada=$(this).combo("combo"); +if(_ada!=_ad8){ +_ad5(_ada); +} +}); +} +}; +function _adb(e){ +var _adc=e.data.target; +var t=$(_adc); +var _add=t.data("combo"); +var opts=t.combo("options"); +_add.panel.panel("options").comboTarget=_adc; +switch(e.keyCode){ +case 38: +opts.keyHandler.up.call(_adc,e); +break; +case 40: +opts.keyHandler.down.call(_adc,e); +break; +case 37: +opts.keyHandler.left.call(_adc,e); +break; +case 39: +opts.keyHandler.right.call(_adc,e); +break; +case 13: +e.preventDefault(); +opts.keyHandler.enter.call(_adc,e); +return false; +case 9: +case 27: +_ad5(_adc); +break; +default: +if(opts.editable){ +if(_add.timer){ +clearTimeout(_add.timer); +} +_add.timer=setTimeout(function(){ +var q=t.combo("getText"); +if(_add.previousText!=q){ +_add.previousText=q; +t.combo("showPanel"); +opts.keyHandler.query.call(_adc,q,e); +t.combo("validate"); +} +},opts.delay); +} +} +}; +function _ade(e){ +var _adf=e.data.target; +var _ae0=$(_adf).data("combo"); +if(_ae0.timer){ +clearTimeout(_ae0.timer); +} +}; +function _ae1(_ae2){ +var _ae3=$.data(_ae2,"combo"); +var _ae4=_ae3.combo; +var _ae5=_ae3.panel; +var opts=$(_ae2).combo("options"); +var _ae6=_ae5.panel("options"); +_ae6.comboTarget=_ae2; +if(_ae6.closed){ +_ae5.panel("panel").show().css({zIndex:($.fn.menu?$.fn.menu.defaults.zIndex++:($.fn.window?$.fn.window.defaults.zIndex++:99)),left:-999999}); +_ae5.panel("resize",{width:(opts.panelWidth?opts.panelWidth:_ae4._outerWidth()),height:opts.panelHeight}); +_ae5.panel("panel").hide(); +_ae5.panel("open"); +} +(function(){ +if(_ae6.comboTarget==_ae2&&_ae5.is(":visible")){ +_ae5.panel("move",{left:_ae7(),top:_ae8()}); +setTimeout(arguments.callee,200); +} +})(); +function _ae7(){ +var left=_ae4.offset().left; +if(opts.panelAlign=="right"){ +left+=_ae4._outerWidth()-_ae5._outerWidth(); +} +if(left+_ae5._outerWidth()>$(window)._outerWidth()+$(document).scrollLeft()){ +left=$(window)._outerWidth()+$(document).scrollLeft()-_ae5._outerWidth(); +} +if(left<0){ +left=0; +} +return left; +}; +function _ae8(){ +var top=_ae4.offset().top+_ae4._outerHeight(); +if(top+_ae5._outerHeight()>$(window)._outerHeight()+$(document).scrollTop()){ +top=_ae4.offset().top-_ae5._outerHeight(); +} +if(top<$(document).scrollTop()){ +top=_ae4.offset().top+_ae4._outerHeight(); +} +return top; +}; +}; +function _ad5(_ae9){ +var _aea=$.data(_ae9,"combo").panel; +_aea.panel("close"); +}; +function _aeb(_aec,text){ +var _aed=$.data(_aec,"combo"); +var _aee=$(_aec).textbox("getText"); +if(_aee!=text){ +$(_aec).textbox("setText",text); +} +_aed.previousText=text; +}; +function _aef(_af0){ +var _af1=$.data(_af0,"combo"); +var opts=_af1.options; +var _af2=$(_af0).next(); +var _af3=[]; +_af2.find(".textbox-value").each(function(){ +_af3.push($(this).val()); +}); +if(opts.multivalue){ +return _af3; +}else{ +return _af3.length?_af3[0].split(opts.separator):_af3; +} +}; +function _af4(_af5,_af6){ +var _af7=$.data(_af5,"combo"); +var _af8=_af7.combo; +var opts=$(_af5).combo("options"); +if(!$.isArray(_af6)){ +_af6=_af6.split(opts.separator); +} +var _af9=_aef(_af5); +_af8.find(".textbox-value").remove(); +if(_af6.length){ +if(opts.multivalue){ +for(var i=0;i<_af6.length;i++){ +_afa(_af6[i]); +} +}else{ +_afa(_af6.join(opts.separator)); +} +} +function _afa(_afb){ +var name=$(_af5).attr("textboxName")||""; +var _afc=$("").appendTo(_af8); +_afc.attr("name",name); +if(opts.disabled){ +_afc.attr("disabled","disabled"); +} +_afc.val(_afb); +}; +var _afd=(function(){ +if(_af9.length!=_af6.length){ +return true; +} +for(var i=0;i<_af6.length;i++){ +if(_af6[i]!=_af9[i]){ +return true; +} +} +return false; +})(); +if(_afd){ +$(_af5).val(_af6.join(opts.separator)); +if(opts.multiple){ +opts.onChange.call(_af5,_af6,_af9); +}else{ +opts.onChange.call(_af5,_af6[0],_af9[0]); +} +$(_af5).closest("form").trigger("_change",[_af5]); +} +}; +function _afe(_aff){ +var _b00=_aef(_aff); +return _b00[0]; +}; +function _b01(_b02,_b03){ +_af4(_b02,[_b03]); +}; +function _b04(_b05){ +var opts=$.data(_b05,"combo").options; +var _b06=opts.onChange; +opts.onChange=function(){ +}; +if(opts.multiple){ +_af4(_b05,opts.value?opts.value:[]); +}else{ +_b01(_b05,opts.value); +} +opts.onChange=_b06; +}; +$.fn.combo=function(_b07,_b08){ +if(typeof _b07=="string"){ +var _b09=$.fn.combo.methods[_b07]; +if(_b09){ +return _b09(this,_b08); +}else{ +return this.textbox(_b07,_b08); +} +} +_b07=_b07||{}; +return this.each(function(){ +var _b0a=$.data(this,"combo"); +if(_b0a){ +$.extend(_b0a.options,_b07); +if(_b07.value!=undefined){ +_b0a.options.originalValue=_b07.value; +} +}else{ +_b0a=$.data(this,"combo",{options:$.extend({},$.fn.combo.defaults,$.fn.combo.parseOptions(this),_b07),previousText:""}); +if(_b0a.options.multiple&&_b0a.options.value==""){ +_b0a.options.originalValue=[]; +}else{ +_b0a.options.originalValue=_b0a.options.value; +} +} +_ac5(this); +_b04(this); +}); +}; +$.fn.combo.methods={options:function(jq){ +var opts=jq.textbox("options"); +return $.extend($.data(jq[0],"combo").options,{width:opts.width,height:opts.height,disabled:opts.disabled,readonly:opts.readonly}); +},cloneFrom:function(jq,from){ +return jq.each(function(){ +$(this).textbox("cloneFrom",from); +$.data(this,"combo",{options:$.extend(true,{cloned:true},$(from).combo("options")),combo:$(this).next(),panel:$(from).combo("panel")}); +$(this).addClass("combo-f").attr("comboName",$(this).attr("textboxName")); +}); +},combo:function(jq){ +return jq.closest(".combo-panel").panel("options").comboTarget; +},panel:function(jq){ +return $.data(jq[0],"combo").panel; +},destroy:function(jq){ +return jq.each(function(){ +_ace(this); +}); +},showPanel:function(jq){ +return jq.each(function(){ +_ae1(this); +}); +},hidePanel:function(jq){ +return jq.each(function(){ +_ad5(this); +}); +},clear:function(jq){ +return jq.each(function(){ +$(this).textbox("setText",""); +var opts=$.data(this,"combo").options; +if(opts.multiple){ +$(this).combo("setValues",[]); +}else{ +$(this).combo("setValue",""); +} +}); +},reset:function(jq){ +return jq.each(function(){ +var opts=$.data(this,"combo").options; +if(opts.multiple){ +$(this).combo("setValues",opts.originalValue); +}else{ +$(this).combo("setValue",opts.originalValue); +} +}); +},setText:function(jq,text){ +return jq.each(function(){ +_aeb(this,text); +}); +},getValues:function(jq){ +return _aef(jq[0]); +},setValues:function(jq,_b0b){ +return jq.each(function(){ +_af4(this,_b0b); +}); +},getValue:function(jq){ +return _afe(jq[0]); +},setValue:function(jq,_b0c){ +return jq.each(function(){ +_b01(this,_b0c); +}); +}}; +$.fn.combo.parseOptions=function(_b0d){ +var t=$(_b0d); +return $.extend({},$.fn.textbox.parseOptions(_b0d),$.parser.parseOptions(_b0d,["separator","panelAlign",{panelWidth:"number",hasDownArrow:"boolean",delay:"number",reversed:"boolean",multivalue:"boolean",selectOnNavigation:"boolean"},{panelMinWidth:"number",panelMaxWidth:"number",panelMinHeight:"number",panelMaxHeight:"number"}]),{panelHeight:(t.attr("panelHeight")=="auto"?"auto":parseInt(t.attr("panelHeight"))||undefined),multiple:(t.attr("multiple")?true:undefined)}); +}; +$.fn.combo.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:{click:_ad7,keydown:_adb,paste:_adb,drop:_adb,blur:_ade},panelEvents:{mousedown:function(e){ +e.preventDefault(); +e.stopPropagation(); +}},panelWidth:null,panelHeight:300,panelMinWidth:null,panelMaxWidth:null,panelMinHeight:null,panelMaxHeight:null,panelAlign:"left",reversed:false,multiple:false,multivalue:true,selectOnNavigation:true,separator:",",hasDownArrow:true,delay:200,keyHandler:{up:function(e){ +},down:function(e){ +},left:function(e){ +},right:function(e){ +},enter:function(e){ +},query:function(q,e){ +}},onShowPanel:function(){ +},onHidePanel:function(){ +},onChange:function(_b0e,_b0f){ +}}); +})(jQuery); +(function($){ +function _b10(_b11,_b12){ +var _b13=$.data(_b11,"combobox"); +return $.easyui.indexOfArray(_b13.data,_b13.options.valueField,_b12); +}; +function _b14(_b15,_b16){ +var opts=$.data(_b15,"combobox").options; +var _b17=$(_b15).combo("panel"); +var item=opts.finder.getEl(_b15,_b16); +if(item.length){ +if(item.position().top<=0){ +var h=_b17.scrollTop()+item.position().top; +_b17.scrollTop(h); +}else{ +if(item.position().top+item.outerHeight()>_b17.height()){ +var h=_b17.scrollTop()+item.position().top+item.outerHeight()-_b17.height(); +_b17.scrollTop(h); +} +} +} +_b17.triggerHandler("scroll"); +}; +function nav(_b18,dir){ +var opts=$.data(_b18,"combobox").options; +var _b19=$(_b18).combobox("panel"); +var item=_b19.children("div.combobox-item-hover"); +if(!item.length){ +item=_b19.children("div.combobox-item-selected"); +} +item.removeClass("combobox-item-hover"); +var _b1a="div.combobox-item:visible:not(.combobox-item-disabled):first"; +var _b1b="div.combobox-item:visible:not(.combobox-item-disabled):last"; +if(!item.length){ +item=_b19.children(dir=="next"?_b1a:_b1b); +}else{ +if(dir=="next"){ +item=item.nextAll(_b1a); +if(!item.length){ +item=_b19.children(_b1a); +} +}else{ +item=item.prevAll(_b1a); +if(!item.length){ +item=_b19.children(_b1b); +} +} +} +if(item.length){ +item.addClass("combobox-item-hover"); +var row=opts.finder.getRow(_b18,item); +if(row){ +$(_b18).combobox("scrollTo",row[opts.valueField]); +if(opts.selectOnNavigation){ +_b1c(_b18,row[opts.valueField]); +} +} +} +}; +function _b1c(_b1d,_b1e,_b1f){ +var opts=$.data(_b1d,"combobox").options; +var _b20=$(_b1d).combo("getValues"); +if($.inArray(_b1e+"",_b20)==-1){ +if(opts.multiple){ +_b20.push(_b1e); +}else{ +_b20=[_b1e]; +} +_b21(_b1d,_b20,_b1f); +} +}; +function _b22(_b23,_b24){ +var opts=$.data(_b23,"combobox").options; +var _b25=$(_b23).combo("getValues"); +var _b26=$.inArray(_b24+"",_b25); +if(_b26>=0){ +_b25.splice(_b26,1); +_b21(_b23,_b25); +} +}; +function _b21(_b27,_b28,_b29){ +var opts=$.data(_b27,"combobox").options; +var _b2a=$(_b27).combo("panel"); +if(!$.isArray(_b28)){ +_b28=_b28.split(opts.separator); +} +if(!opts.multiple){ +_b28=_b28.length?[_b28[0]]:[""]; +} +var _b2b=$(_b27).combo("getValues"); +if(_b2a.is(":visible")){ +_b2a.find(".combobox-item-selected").each(function(){ +var row=opts.finder.getRow(_b27,$(this)); +if(row){ +if($.easyui.indexOfArray(_b2b,row[opts.valueField])==-1){ +$(this).removeClass("combobox-item-selected"); +} +} +}); +} +$.map(_b2b,function(v){ +if($.easyui.indexOfArray(_b28,v)==-1){ +var el=opts.finder.getEl(_b27,v); +if(el.hasClass("combobox-item-selected")){ +el.removeClass("combobox-item-selected"); +opts.onUnselect.call(_b27,opts.finder.getRow(_b27,v)); +} +} +}); +var _b2c=null; +var vv=[],ss=[]; +for(var i=0;i<_b28.length;i++){ +var v=_b28[i]; +var s=v; +var row=opts.finder.getRow(_b27,v); +if(row){ +s=row[opts.textField]; +_b2c=row; +var el=opts.finder.getEl(_b27,v); +if(!el.hasClass("combobox-item-selected")){ +el.addClass("combobox-item-selected"); +opts.onSelect.call(_b27,row); +} +}else{ +s=_b2d(v,opts.mappingRows)||v; +} +vv.push(v); +ss.push(s); +} +if(!_b29){ +$(_b27).combo("setText",ss.join(opts.separator)); +} +if(opts.showItemIcon){ +var tb=$(_b27).combobox("textbox"); +tb.removeClass("textbox-bgicon "+opts.textboxIconCls); +if(_b2c&&_b2c.iconCls){ +tb.addClass("textbox-bgicon "+_b2c.iconCls); +opts.textboxIconCls=_b2c.iconCls; +} +} +$(_b27).combo("setValues",vv); +_b2a.triggerHandler("scroll"); +function _b2d(_b2e,a){ +var item=$.easyui.getArrayItem(a,opts.valueField,_b2e); +return item?item[opts.textField]:undefined; +}; +}; +function _b2f(_b30,data,_b31){ +var _b32=$.data(_b30,"combobox"); +var opts=_b32.options; +_b32.data=opts.loadFilter.call(_b30,data); +opts.view.render.call(opts.view,_b30,$(_b30).combo("panel"),_b32.data); +var vv=$(_b30).combobox("getValues"); +$.easyui.forEach(_b32.data,false,function(row){ +if(row["selected"]){ +$.easyui.addArrayItem(vv,row[opts.valueField]+""); +} +}); +if(opts.multiple){ +_b21(_b30,vv,_b31); +}else{ +_b21(_b30,vv.length?[vv[vv.length-1]]:[],_b31); +} +opts.onLoadSuccess.call(_b30,data); +}; +function _b33(_b34,url,_b35,_b36){ +var opts=$.data(_b34,"combobox").options; +if(url){ +opts.url=url; +} +_b35=$.extend({},opts.queryParams,_b35||{}); +if(opts.onBeforeLoad.call(_b34,_b35)==false){ +return; +} +opts.loader.call(_b34,_b35,function(data){ +_b2f(_b34,data,_b36); +},function(){ +opts.onLoadError.apply(this,arguments); +}); +}; +function _b37(_b38,q){ +var _b39=$.data(_b38,"combobox"); +var opts=_b39.options; +var _b3a=$(); +var qq=opts.multiple?q.split(opts.separator):[q]; +if(opts.mode=="remote"){ +_b3b(qq); +_b33(_b38,null,{q:q},true); +}else{ +var _b3c=$(_b38).combo("panel"); +_b3c.find(".combobox-item-hover").removeClass("combobox-item-hover"); +_b3c.find(".combobox-item,.combobox-group").hide(); +var data=_b39.data; +var vv=[]; +$.map(qq,function(q){ +q=$.trim(q); +var _b3d=q; +var _b3e=undefined; +_b3a=$(); +for(var i=0;i=0){ +vv.push(v); +} +}); +t.combobox("setValues",vv); +if(!opts.multiple){ +t.combobox("hidePanel"); +} +}; +function _b43(_b44){ +var _b45=$.data(_b44,"combobox"); +var opts=_b45.options; +$(_b44).addClass("combobox-f"); +$(_b44).combo($.extend({},opts,{onShowPanel:function(){ +$(this).combo("panel").find("div.combobox-item:hidden,div.combobox-group:hidden").show(); +_b21(this,$(this).combobox("getValues"),true); +$(this).combobox("scrollTo",$(this).combobox("getValue")); +opts.onShowPanel.call(this); +}})); +}; +function _b46(e){ +$(this).children("div.combobox-item-hover").removeClass("combobox-item-hover"); +var item=$(e.target).closest("div.combobox-item"); +if(!item.hasClass("combobox-item-disabled")){ +item.addClass("combobox-item-hover"); +} +e.stopPropagation(); +}; +function _b47(e){ +$(e.target).closest("div.combobox-item").removeClass("combobox-item-hover"); +e.stopPropagation(); +}; +function _b48(e){ +var _b49=$(this).panel("options").comboTarget; +if(!_b49){ +return; +} +var opts=$(_b49).combobox("options"); +var item=$(e.target).closest("div.combobox-item"); +if(!item.length||item.hasClass("combobox-item-disabled")){ +return; +} +var row=opts.finder.getRow(_b49,item); +if(!row){ +return; +} +if(opts.blurTimer){ +clearTimeout(opts.blurTimer); +opts.blurTimer=null; +} +opts.onClick.call(_b49,row); +var _b4a=row[opts.valueField]; +if(opts.multiple){ +if(item.hasClass("combobox-item-selected")){ +_b22(_b49,_b4a); +}else{ +_b1c(_b49,_b4a); +} +}else{ +$(_b49).combobox("setValue",_b4a).combobox("hidePanel"); +} +e.stopPropagation(); +}; +function _b4b(e){ +var _b4c=$(this).panel("options").comboTarget; +if(!_b4c){ +return; +} +var opts=$(_b4c).combobox("options"); +if(opts.groupPosition=="sticky"){ +var _b4d=$(this).children(".combobox-stick"); +if(!_b4d.length){ +_b4d=$("
    ").appendTo(this); +} +_b4d.hide(); +var _b4e=$(_b4c).data("combobox"); +$(this).children(".combobox-group:visible").each(function(){ +var g=$(this); +var _b4f=opts.finder.getGroup(_b4c,g); +var _b50=_b4e.data[_b4f.startIndex+_b4f.count-1]; +var last=opts.finder.getEl(_b4c,_b50[opts.valueField]); +if(g.position().top<0&&last.position().top>0){ +_b4d.show().html(g.html()); +return false; +} +}); +} +}; +$.fn.combobox=function(_b51,_b52){ +if(typeof _b51=="string"){ +var _b53=$.fn.combobox.methods[_b51]; +if(_b53){ +return _b53(this,_b52); +}else{ +return this.combo(_b51,_b52); +} +} +_b51=_b51||{}; +return this.each(function(){ +var _b54=$.data(this,"combobox"); +if(_b54){ +$.extend(_b54.options,_b51); +}else{ +_b54=$.data(this,"combobox",{options:$.extend({},$.fn.combobox.defaults,$.fn.combobox.parseOptions(this),_b51),data:[]}); +} +_b43(this); +if(_b54.options.data){ +_b2f(this,_b54.options.data); +}else{ +var data=$.fn.combobox.parseData(this); +if(data.length){ +_b2f(this,data); +} +} +_b33(this); +}); +}; +$.fn.combobox.methods={options:function(jq){ +var _b55=jq.combo("options"); +return $.extend($.data(jq[0],"combobox").options,{width:_b55.width,height:_b55.height,originalValue:_b55.originalValue,disabled:_b55.disabled,readonly:_b55.readonly}); +},cloneFrom:function(jq,from){ +return jq.each(function(){ +$(this).combo("cloneFrom",from); +$.data(this,"combobox",$(from).data("combobox")); +$(this).addClass("combobox-f").attr("comboboxName",$(this).attr("textboxName")); +}); +},getData:function(jq){ +return $.data(jq[0],"combobox").data; +},setValues:function(jq,_b56){ +return jq.each(function(){ +var opts=$(this).combobox("options"); +if($.isArray(_b56)){ +_b56=$.map(_b56,function(_b57){ +if(_b57&&typeof _b57=="object"){ +$.easyui.addArrayItem(opts.mappingRows,opts.valueField,_b57); +return _b57[opts.valueField]; +}else{ +return _b57; +} +}); +} +_b21(this,_b56); +}); +},setValue:function(jq,_b58){ +return jq.each(function(){ +$(this).combobox("setValues",$.isArray(_b58)?_b58:[_b58]); +}); +},clear:function(jq){ +return jq.each(function(){ +_b21(this,[]); +}); +},reset:function(jq){ +return jq.each(function(){ +var opts=$(this).combobox("options"); +if(opts.multiple){ +$(this).combobox("setValues",opts.originalValue); +}else{ +$(this).combobox("setValue",opts.originalValue); +} +}); +},loadData:function(jq,data){ +return jq.each(function(){ +_b2f(this,data); +}); +},reload:function(jq,url){ +return jq.each(function(){ +if(typeof url=="string"){ +_b33(this,url); +}else{ +if(url){ +var opts=$(this).combobox("options"); +opts.queryParams=url; +} +_b33(this); +} +}); +},select:function(jq,_b59){ +return jq.each(function(){ +_b1c(this,_b59); +}); +},unselect:function(jq,_b5a){ +return jq.each(function(){ +_b22(this,_b5a); +}); +},scrollTo:function(jq,_b5b){ +return jq.each(function(){ +_b14(this,_b5b); +}); +}}; +$.fn.combobox.parseOptions=function(_b5c){ +var t=$(_b5c); +return $.extend({},$.fn.combo.parseOptions(_b5c),$.parser.parseOptions(_b5c,["valueField","textField","groupField","groupPosition","mode","method","url",{showItemIcon:"boolean",limitToList:"boolean"}])); +}; +$.fn.combobox.parseData=function(_b5d){ +var data=[]; +var opts=$(_b5d).combobox("options"); +$(_b5d).children().each(function(){ +if(this.tagName.toLowerCase()=="optgroup"){ +var _b5e=$(this).attr("label"); +$(this).children().each(function(){ +_b5f(this,_b5e); +}); +}else{ +_b5f(this); +} +}); +return data; +function _b5f(el,_b60){ +var t=$(el); +var row={}; +row[opts.valueField]=t.attr("value")!=undefined?t.attr("value"):t.text(); +row[opts.textField]=t.text(); +row["iconCls"]=$.parser.parseOptions(el,["iconCls"]).iconCls; +row["selected"]=t.is(":selected"); +row["disabled"]=t.is(":disabled"); +if(_b60){ +opts.groupField=opts.groupField||"group"; +row[opts.groupField]=_b60; +} +data.push(row); +}; +}; +var _b61=0; +var _b62={render:function(_b63,_b64,data){ +var _b65=$.data(_b63,"combobox"); +var opts=_b65.options; +_b61++; +_b65.itemIdPrefix="_easyui_combobox_i"+_b61; +_b65.groupIdPrefix="_easyui_combobox_g"+_b61; +_b65.groups=[]; +var dd=[]; +var _b66=undefined; +for(var i=0;i"); +dd.push(opts.groupFormatter?opts.groupFormatter.call(_b63,g):g); +dd.push(""); +}else{ +_b65.groups[_b65.groups.length-1].count++; +} +}else{ +_b66=undefined; +} +var cls="combobox-item"+(row.disabled?" combobox-item-disabled":"")+(g?" combobox-gitem":""); +dd.push("
    "); +if(opts.showItemIcon&&row.iconCls){ +dd.push(""); +} +dd.push(opts.formatter?opts.formatter.call(_b63,row):s); +dd.push("
    "); +} +$(_b64).html(dd.join("")); +}}; +$.fn.combobox.defaults=$.extend({},$.fn.combo.defaults,{valueField:"value",textField:"text",groupPosition:"static",groupField:null,groupFormatter:function(_b67){ +return _b67; +},mode:"local",method:"post",url:null,data:null,queryParams:{},showItemIcon:false,limitToList:false,unselectedValues:[],mappingRows:[],view:_b62,keyHandler:{up:function(e){ +nav(this,"prev"); +e.preventDefault(); +},down:function(e){ +nav(this,"next"); +e.preventDefault(); +},left:function(e){ +},right:function(e){ +},enter:function(e){ +_b3f(this); +},query:function(q,e){ +_b37(this,q); +}},inputEvents:$.extend({},$.fn.combo.defaults.inputEvents,{blur:function(e){ +$.fn.combo.defaults.inputEvents.blur(e); +var _b68=e.data.target; +var opts=$(_b68).combobox("options"); +if(opts.reversed||opts.limitToList){ +if(opts.blurTimer){ +clearTimeout(opts.blurTimer); +} +opts.blurTimer=setTimeout(function(){ +var _b69=$(_b68).parent().length; +if(_b69){ +if(opts.reversed){ +$(_b68).combobox("setValues",$(_b68).combobox("getValues")); +}else{ +if(opts.limitToList){ +var vv=[]; +$.map($(_b68).combobox("getValues"),function(v){ +var _b6a=$.easyui.indexOfArray($(_b68).combobox("getData"),opts.valueField,v); +if(_b6a>=0){ +vv.push(v); +} +}); +$(_b68).combobox("setValues",vv); +} +} +opts.blurTimer=null; +} +},50); +} +}}),panelEvents:{mouseover:_b46,mouseout:_b47,mousedown:function(e){ +e.preventDefault(); +e.stopPropagation(); +},click:_b48,scroll:_b4b},filter:function(q,row){ +var opts=$(this).combobox("options"); +return row[opts.textField].toLowerCase().indexOf(q.toLowerCase())>=0; +},formatter:function(row){ +var opts=$(this).combobox("options"); +return row[opts.textField]; +},loader:function(_b6b,_b6c,_b6d){ +var opts=$(this).combobox("options"); +if(!opts.url){ +return false; +} +$.ajax({type:opts.method,url:opts.url,data:_b6b,dataType:"json",success:function(data){ +_b6c(data); +},error:function(){ +_b6d.apply(this,arguments); +}}); +},loadFilter:function(data){ +return data; +},finder:{getEl:function(_b6e,_b6f){ +var _b70=_b10(_b6e,_b6f); +var id=$.data(_b6e,"combobox").itemIdPrefix+"_"+_b70; +return $("#"+id); +},getGroupEl:function(_b71,_b72){ +var _b73=$.data(_b71,"combobox"); +var _b74=$.easyui.indexOfArray(_b73.groups,"value",_b72); +var id=_b73.groupIdPrefix+"_"+_b74; +return $("#"+id); +},getGroup:function(_b75,p){ +var _b76=$.data(_b75,"combobox"); +var _b77=p.attr("id").substr(_b76.groupIdPrefix.length+1); +return _b76.groups[parseInt(_b77)]; +},getRow:function(_b78,p){ +var _b79=$.data(_b78,"combobox"); +var _b7a=(p instanceof $)?p.attr("id").substr(_b79.itemIdPrefix.length+1):_b10(_b78,p); +return _b79.data[parseInt(_b7a)]; +}},onBeforeLoad:function(_b7b){ +},onLoadSuccess:function(data){ +},onLoadError:function(){ +},onSelect:function(_b7c){ +},onUnselect:function(_b7d){ +},onClick:function(_b7e){ +}}); +})(jQuery); +(function($){ +function _b7f(_b80){ +var _b81=$.data(_b80,"combotree"); +var opts=_b81.options; +var tree=_b81.tree; +$(_b80).addClass("combotree-f"); +$(_b80).combo($.extend({},opts,{onShowPanel:function(){ +if(opts.editable){ +tree.tree("doFilter",""); +} +opts.onShowPanel.call(this); +}})); +var _b82=$(_b80).combo("panel"); +if(!tree){ +tree=$("
      ").appendTo(_b82); +_b81.tree=tree; +} +tree.tree($.extend({},opts,{checkbox:opts.multiple,onLoadSuccess:function(node,data){ +var _b83=$(_b80).combotree("getValues"); +if(opts.multiple){ +$.map(tree.tree("getChecked"),function(node){ +$.easyui.addArrayItem(_b83,node.id); +}); +} +_b88(_b80,_b83,_b81.remainText); +opts.onLoadSuccess.call(this,node,data); +},onClick:function(node){ +if(opts.multiple){ +$(this).tree(node.checked?"uncheck":"check",node.target); +}else{ +$(_b80).combo("hidePanel"); +} +_b81.remainText=false; +_b85(_b80); +opts.onClick.call(this,node); +},onCheck:function(node,_b84){ +_b81.remainText=false; +_b85(_b80); +opts.onCheck.call(this,node,_b84); +}})); +}; +function _b85(_b86){ +var _b87=$.data(_b86,"combotree"); +var opts=_b87.options; +var tree=_b87.tree; +var vv=[]; +if(opts.multiple){ +vv=$.map(tree.tree("getChecked"),function(node){ +return node.id; +}); +}else{ +var node=tree.tree("getSelected"); +if(node){ +vv.push(node.id); +} +} +vv=vv.concat(opts.unselectedValues); +_b88(_b86,vv,_b87.remainText); +}; +function _b88(_b89,_b8a,_b8b){ +var _b8c=$.data(_b89,"combotree"); +var opts=_b8c.options; +var tree=_b8c.tree; +var _b8d=tree.tree("options"); +var _b8e=_b8d.onBeforeCheck; +var _b8f=_b8d.onCheck; +var _b90=_b8d.onSelect; +_b8d.onBeforeCheck=_b8d.onCheck=_b8d.onSelect=function(){ +}; +if(!$.isArray(_b8a)){ +_b8a=_b8a.split(opts.separator); +} +if(!opts.multiple){ +_b8a=_b8a.length?[_b8a[0]]:[""]; +} +var vv=$.map(_b8a,function(_b91){ +return String(_b91); +}); +tree.find("div.tree-node-selected").removeClass("tree-node-selected"); +$.map(tree.tree("getChecked"),function(node){ +if($.inArray(String(node.id),vv)==-1){ +tree.tree("uncheck",node.target); +} +}); +var ss=[]; +opts.unselectedValues=[]; +$.map(vv,function(v){ +var node=tree.tree("find",v); +if(node){ +tree.tree("check",node.target).tree("select",node.target); +ss.push(_b92(node)); +}else{ +ss.push(_b93(v,opts.mappingRows)||v); +opts.unselectedValues.push(v); +} +}); +if(opts.multiple){ +$.map(tree.tree("getChecked"),function(node){ +var id=String(node.id); +if($.inArray(id,vv)==-1){ +vv.push(id); +ss.push(_b92(node)); +} +}); +} +_b8d.onBeforeCheck=_b8e; +_b8d.onCheck=_b8f; +_b8d.onSelect=_b90; +if(!_b8b){ +var s=ss.join(opts.separator); +if($(_b89).combo("getText")!=s){ +$(_b89).combo("setText",s); +} +} +$(_b89).combo("setValues",vv); +function _b93(_b94,a){ +var item=$.easyui.getArrayItem(a,"id",_b94); +return item?_b92(item):undefined; +}; +function _b92(node){ +return node[opts.textField||""]||node.text; +}; +}; +function _b95(_b96,q){ +var _b97=$.data(_b96,"combotree"); +var opts=_b97.options; +var tree=_b97.tree; +_b97.remainText=true; +tree.tree("doFilter",opts.multiple?q.split(opts.separator):q); +}; +function _b98(_b99){ +var _b9a=$.data(_b99,"combotree"); +_b9a.remainText=false; +$(_b99).combotree("setValues",$(_b99).combotree("getValues")); +$(_b99).combotree("hidePanel"); +}; +$.fn.combotree=function(_b9b,_b9c){ +if(typeof _b9b=="string"){ +var _b9d=$.fn.combotree.methods[_b9b]; +if(_b9d){ +return _b9d(this,_b9c); +}else{ +return this.combo(_b9b,_b9c); +} +} +_b9b=_b9b||{}; +return this.each(function(){ +var _b9e=$.data(this,"combotree"); +if(_b9e){ +$.extend(_b9e.options,_b9b); +}else{ +$.data(this,"combotree",{options:$.extend({},$.fn.combotree.defaults,$.fn.combotree.parseOptions(this),_b9b)}); +} +_b7f(this); +}); +}; +$.fn.combotree.methods={options:function(jq){ +var _b9f=jq.combo("options"); +return $.extend($.data(jq[0],"combotree").options,{width:_b9f.width,height:_b9f.height,originalValue:_b9f.originalValue,disabled:_b9f.disabled,readonly:_b9f.readonly}); +},clone:function(jq,_ba0){ +var t=jq.combo("clone",_ba0); +t.data("combotree",{options:$.extend(true,{},jq.combotree("options")),tree:jq.combotree("tree")}); +return t; +},tree:function(jq){ +return $.data(jq[0],"combotree").tree; +},loadData:function(jq,data){ +return jq.each(function(){ +var opts=$.data(this,"combotree").options; +opts.data=data; +var tree=$.data(this,"combotree").tree; +tree.tree("loadData",data); +}); +},reload:function(jq,url){ +return jq.each(function(){ +var opts=$.data(this,"combotree").options; +var tree=$.data(this,"combotree").tree; +if(url){ +opts.url=url; +} +tree.tree({url:opts.url}); +}); +},setValues:function(jq,_ba1){ +return jq.each(function(){ +var opts=$(this).combotree("options"); +if($.isArray(_ba1)){ +_ba1=$.map(_ba1,function(_ba2){ +if(_ba2&&typeof _ba2=="object"){ +$.easyui.addArrayItem(opts.mappingRows,"id",_ba2); +return _ba2.id; +}else{ +return _ba2; +} +}); +} +_b88(this,_ba1); +}); +},setValue:function(jq,_ba3){ +return jq.each(function(){ +$(this).combotree("setValues",$.isArray(_ba3)?_ba3:[_ba3]); +}); +},clear:function(jq){ +return jq.each(function(){ +$(this).combotree("setValues",[]); +}); +},reset:function(jq){ +return jq.each(function(){ +var opts=$(this).combotree("options"); +if(opts.multiple){ +$(this).combotree("setValues",opts.originalValue); +}else{ +$(this).combotree("setValue",opts.originalValue); +} +}); +}}; +$.fn.combotree.parseOptions=function(_ba4){ +return $.extend({},$.fn.combo.parseOptions(_ba4),$.fn.tree.parseOptions(_ba4)); +}; +$.fn.combotree.defaults=$.extend({},$.fn.combo.defaults,$.fn.tree.defaults,{editable:false,textField:null,unselectedValues:[],mappingRows:[],keyHandler:{up:function(e){ +},down:function(e){ +},left:function(e){ +},right:function(e){ +},enter:function(e){ +_b98(this); +},query:function(q,e){ +_b95(this,q); +}}}); +})(jQuery); +(function($){ +function _ba5(_ba6){ +var _ba7=$.data(_ba6,"combogrid"); +var opts=_ba7.options; +var grid=_ba7.grid; +$(_ba6).addClass("combogrid-f").combo($.extend({},opts,{onShowPanel:function(){ +_bbe(this,$(this).combogrid("getValues"),true); +var p=$(this).combogrid("panel"); +var _ba8=p.outerHeight()-p.height(); +var _ba9=p._size("minHeight"); +var _baa=p._size("maxHeight"); +var dg=$(this).combogrid("grid"); +dg.datagrid("resize",{width:"100%",height:(isNaN(parseInt(opts.panelHeight))?"auto":"100%"),minHeight:(_ba9?_ba9-_ba8:""),maxHeight:(_baa?_baa-_ba8:"")}); +var row=dg.datagrid("getSelected"); +if(row){ +dg.datagrid("scrollTo",dg.datagrid("getRowIndex",row)); +} +opts.onShowPanel.call(this); +}})); +var _bab=$(_ba6).combo("panel"); +if(!grid){ +grid=$("
      ").appendTo(_bab); +_ba7.grid=grid; +} +grid.datagrid($.extend({},opts,{border:false,singleSelect:(!opts.multiple),onLoadSuccess:_bac,onClickRow:_bad,onSelect:_bae("onSelect"),onUnselect:_bae("onUnselect"),onSelectAll:_bae("onSelectAll"),onUnselectAll:_bae("onUnselectAll")})); +function _baf(dg){ +return $(dg).closest(".combo-panel").panel("options").comboTarget||_ba6; +}; +function _bac(data){ +var _bb0=_baf(this); +var _bb1=$(_bb0).data("combogrid"); +var opts=_bb1.options; +var _bb2=$(_bb0).combo("getValues"); +_bbe(_bb0,_bb2,_bb1.remainText); +opts.onLoadSuccess.call(this,data); +}; +function _bad(_bb3,row){ +var _bb4=_baf(this); +var _bb5=$(_bb4).data("combogrid"); +var opts=_bb5.options; +_bb5.remainText=false; +_bb6.call(this); +if(!opts.multiple){ +$(_bb4).combo("hidePanel"); +} +opts.onClickRow.call(this,_bb3,row); +}; +function _bae(_bb7){ +return function(_bb8,row){ +var _bb9=_baf(this); +var opts=$(_bb9).combogrid("options"); +if(_bb7=="onUnselectAll"){ +if(opts.multiple){ +_bb6.call(this); +} +}else{ +_bb6.call(this); +} +opts[_bb7].call(this,_bb8,row); +}; +}; +function _bb6(){ +var dg=$(this); +var _bba=_baf(dg); +var _bbb=$(_bba).data("combogrid"); +var opts=_bbb.options; +var vv=$.map(dg.datagrid("getSelections"),function(row){ +return row[opts.idField]; +}); +vv=vv.concat(opts.unselectedValues); +var _bbc=dg.data("datagrid").dc.body2; +var _bbd=_bbc.scrollTop(); +_bbe(_bba,vv,_bbb.remainText); +_bbc.scrollTop(_bbd); +}; +}; +function nav(_bbf,dir){ +var _bc0=$.data(_bbf,"combogrid"); +var opts=_bc0.options; +var grid=_bc0.grid; +var _bc1=grid.datagrid("getRows").length; +if(!_bc1){ +return; +} +var tr=opts.finder.getTr(grid[0],null,"highlight"); +if(!tr.length){ +tr=opts.finder.getTr(grid[0],null,"selected"); +} +var _bc2; +if(!tr.length){ +_bc2=(dir=="next"?0:_bc1-1); +}else{ +var _bc2=parseInt(tr.attr("datagrid-row-index")); +_bc2+=(dir=="next"?1:-1); +if(_bc2<0){ +_bc2=_bc1-1; +} +if(_bc2>=_bc1){ +_bc2=0; +} +} +grid.datagrid("highlightRow",_bc2); +if(opts.selectOnNavigation){ +_bc0.remainText=false; +grid.datagrid("selectRow",_bc2); +} +}; +function _bbe(_bc3,_bc4,_bc5){ +var _bc6=$.data(_bc3,"combogrid"); +var opts=_bc6.options; +var grid=_bc6.grid; +var _bc7=$(_bc3).combo("getValues"); +var _bc8=$(_bc3).combo("options"); +var _bc9=_bc8.onChange; +_bc8.onChange=function(){ +}; +var _bca=grid.datagrid("options"); +var _bcb=_bca.onSelect; +var _bcc=_bca.onUnselectAll; +_bca.onSelect=_bca.onUnselectAll=function(){ +}; +if(!$.isArray(_bc4)){ +_bc4=_bc4.split(opts.separator); +} +if(!opts.multiple){ +_bc4=_bc4.length?[_bc4[0]]:[""]; +} +var vv=$.map(_bc4,function(_bcd){ +return String(_bcd); +}); +vv=$.grep(vv,function(v,_bce){ +return _bce===$.inArray(v,vv); +}); +var _bcf=$.grep(grid.datagrid("getSelections"),function(row,_bd0){ +return $.inArray(String(row[opts.idField]),vv)>=0; +}); +grid.datagrid("clearSelections"); +grid.data("datagrid").selectedRows=_bcf; +var ss=[]; +opts.unselectedValues=[]; +$.map(vv,function(v){ +var _bd1=grid.datagrid("getRowIndex",v); +if(_bd1>=0){ +grid.datagrid("selectRow",_bd1); +}else{ +opts.unselectedValues.push(v); +} +ss.push(_bd2(v,grid.datagrid("getRows"))||_bd2(v,_bcf)||_bd2(v,opts.mappingRows)||v); +}); +$(_bc3).combo("setValues",_bc7); +_bc8.onChange=_bc9; +_bca.onSelect=_bcb; +_bca.onUnselectAll=_bcc; +if(!_bc5){ +var s=ss.join(opts.separator); +if($(_bc3).combo("getText")!=s){ +$(_bc3).combo("setText",s); +} +} +$(_bc3).combo("setValues",_bc4); +function _bd2(_bd3,a){ +var item=$.easyui.getArrayItem(a,opts.idField,_bd3); +return item?item[opts.textField]:undefined; +}; +}; +function _bd4(_bd5,q){ +var _bd6=$.data(_bd5,"combogrid"); +var opts=_bd6.options; +var grid=_bd6.grid; +_bd6.remainText=true; +var qq=opts.multiple?q.split(opts.separator):[q]; +qq=$.grep(qq,function(q){ +return $.trim(q)!=""; +}); +if(opts.mode=="remote"){ +_bd7(qq); +grid.datagrid("load",$.extend({},opts.queryParams,{q:q})); +}else{ +grid.datagrid("highlightRow",-1); +var rows=grid.datagrid("getRows"); +var vv=[]; +$.map(qq,function(q){ +q=$.trim(q); +var _bd8=q; +_bd9(opts.mappingRows,q); +_bd9(grid.datagrid("getSelections"),q); +var _bda=_bd9(rows,q); +if(_bda>=0){ +if(opts.reversed){ +grid.datagrid("highlightRow",_bda); +} +}else{ +$.map(rows,function(row,i){ +if(opts.filter.call(_bd5,q,row)){ +grid.datagrid("highlightRow",i); +} +}); +} +}); +_bd7(vv); +} +function _bd9(rows,q){ +for(var i=0;i=0){ +$.easyui.addArrayItem(vv,v); +} +}); +$(_bdc).combogrid("setValues",vv); +if(!opts.multiple){ +$(_bdc).combogrid("hidePanel"); +} +}; +$.fn.combogrid=function(_bdf,_be0){ +if(typeof _bdf=="string"){ +var _be1=$.fn.combogrid.methods[_bdf]; +if(_be1){ +return _be1(this,_be0); +}else{ +return this.combo(_bdf,_be0); +} +} +_bdf=_bdf||{}; +return this.each(function(){ +var _be2=$.data(this,"combogrid"); +if(_be2){ +$.extend(_be2.options,_bdf); +}else{ +_be2=$.data(this,"combogrid",{options:$.extend({},$.fn.combogrid.defaults,$.fn.combogrid.parseOptions(this),_bdf)}); +} +_ba5(this); +}); +}; +$.fn.combogrid.methods={options:function(jq){ +var _be3=jq.combo("options"); +return $.extend($.data(jq[0],"combogrid").options,{width:_be3.width,height:_be3.height,originalValue:_be3.originalValue,disabled:_be3.disabled,readonly:_be3.readonly}); +},cloneFrom:function(jq,from){ +return jq.each(function(){ +$(this).combo("cloneFrom",from); +$.data(this,"combogrid",{options:$.extend(true,{cloned:true},$(from).combogrid("options")),combo:$(this).next(),panel:$(from).combo("panel"),grid:$(from).combogrid("grid")}); +}); +},grid:function(jq){ +return $.data(jq[0],"combogrid").grid; +},setValues:function(jq,_be4){ +return jq.each(function(){ +var opts=$(this).combogrid("options"); +if($.isArray(_be4)){ +_be4=$.map(_be4,function(_be5){ +if(_be5&&typeof _be5=="object"){ +$.easyui.addArrayItem(opts.mappingRows,opts.idField,_be5); +return _be5[opts.idField]; +}else{ +return _be5; +} +}); +} +_bbe(this,_be4); +}); +},setValue:function(jq,_be6){ +return jq.each(function(){ +$(this).combogrid("setValues",$.isArray(_be6)?_be6:[_be6]); +}); +},clear:function(jq){ +return jq.each(function(){ +$(this).combogrid("setValues",[]); +}); +},reset:function(jq){ +return jq.each(function(){ +var opts=$(this).combogrid("options"); +if(opts.multiple){ +$(this).combogrid("setValues",opts.originalValue); +}else{ +$(this).combogrid("setValue",opts.originalValue); +} +}); +}}; +$.fn.combogrid.parseOptions=function(_be7){ +var t=$(_be7); +return $.extend({},$.fn.combo.parseOptions(_be7),$.fn.datagrid.parseOptions(_be7),$.parser.parseOptions(_be7,["idField","textField","mode"])); +}; +$.fn.combogrid.defaults=$.extend({},$.fn.combo.defaults,$.fn.datagrid.defaults,{loadMsg:null,idField:null,textField:null,unselectedValues:[],mappingRows:[],mode:"local",keyHandler:{up:function(e){ +nav(this,"prev"); +e.preventDefault(); +},down:function(e){ +nav(this,"next"); +e.preventDefault(); +},left:function(e){ +},right:function(e){ +},enter:function(e){ +_bdb(this); +},query:function(q,e){ +_bd4(this,q); +}},inputEvents:$.extend({},$.fn.combo.defaults.inputEvents,{blur:function(e){ +$.fn.combo.defaults.inputEvents.blur(e); +var _be8=e.data.target; +var opts=$(_be8).combogrid("options"); +if(opts.reversed){ +$(_be8).combogrid("setValues",$(_be8).combogrid("getValues")); +} +}}),panelEvents:{mousedown:function(e){ +}},filter:function(q,row){ +var opts=$(this).combogrid("options"); +return (row[opts.textField]||"").toLowerCase().indexOf(q.toLowerCase())>=0; +}}); +})(jQuery); +(function($){ +function _be9(_bea){ +var _beb=$.data(_bea,"combotreegrid"); +var opts=_beb.options; +$(_bea).addClass("combotreegrid-f").combo($.extend({},opts,{onShowPanel:function(){ +var p=$(this).combotreegrid("panel"); +var _bec=p.outerHeight()-p.height(); +var _bed=p._size("minHeight"); +var _bee=p._size("maxHeight"); +var dg=$(this).combotreegrid("grid"); +dg.treegrid("resize",{width:"100%",height:(isNaN(parseInt(opts.panelHeight))?"auto":"100%"),minHeight:(_bed?_bed-_bec:""),maxHeight:(_bee?_bee-_bec:"")}); +var row=dg.treegrid("getSelected"); +if(row){ +dg.treegrid("scrollTo",row[opts.idField]); +} +opts.onShowPanel.call(this); +}})); +if(!_beb.grid){ +var _bef=$(_bea).combo("panel"); +_beb.grid=$("
      ").appendTo(_bef); +} +_beb.grid.treegrid($.extend({},opts,{border:false,checkbox:opts.multiple,onLoadSuccess:function(row,data){ +var _bf0=$(_bea).combotreegrid("getValues"); +if(opts.multiple){ +$.map($(this).treegrid("getCheckedNodes"),function(row){ +$.easyui.addArrayItem(_bf0,row[opts.idField]); +}); +} +_bf5(_bea,_bf0); +opts.onLoadSuccess.call(this,row,data); +_beb.remainText=false; +},onClickRow:function(row){ +if(opts.multiple){ +$(this).treegrid(row.checked?"uncheckNode":"checkNode",row[opts.idField]); +$(this).treegrid("unselect",row[opts.idField]); +}else{ +$(_bea).combo("hidePanel"); +} +_bf2(_bea); +opts.onClickRow.call(this,row); +},onCheckNode:function(row,_bf1){ +_bf2(_bea); +opts.onCheckNode.call(this,row,_bf1); +}})); +}; +function _bf2(_bf3){ +var _bf4=$.data(_bf3,"combotreegrid"); +var opts=_bf4.options; +var grid=_bf4.grid; +var vv=[]; +if(opts.multiple){ +vv=$.map(grid.treegrid("getCheckedNodes"),function(row){ +return row[opts.idField]; +}); +}else{ +var row=grid.treegrid("getSelected"); +if(row){ +vv.push(row[opts.idField]); +} +} +vv=vv.concat(opts.unselectedValues); +_bf5(_bf3,vv); +}; +function _bf5(_bf6,_bf7){ +var _bf8=$.data(_bf6,"combotreegrid"); +var opts=_bf8.options; +var grid=_bf8.grid; +if(!$.isArray(_bf7)){ +_bf7=_bf7.split(opts.separator); +} +if(!opts.multiple){ +_bf7=_bf7.length?[_bf7[0]]:[""]; +} +var vv=$.map(_bf7,function(_bf9){ +return String(_bf9); +}); +vv=$.grep(vv,function(v,_bfa){ +return _bfa===$.inArray(v,vv); +}); +var _bfb=grid.treegrid("getSelected"); +if(_bfb){ +grid.treegrid("unselect",_bfb[opts.idField]); +} +$.map(grid.treegrid("getCheckedNodes"),function(row){ +if($.inArray(String(row[opts.idField]),vv)==-1){ +grid.treegrid("uncheckNode",row[opts.idField]); +} +}); +var ss=[]; +opts.unselectedValues=[]; +$.map(vv,function(v){ +var row=grid.treegrid("find",v); +if(row){ +if(opts.multiple){ +grid.treegrid("checkNode",v); +}else{ +grid.treegrid("select",v); +} +ss.push(_bfc(row)); +}else{ +ss.push(_bfd(v,opts.mappingRows)||v); +opts.unselectedValues.push(v); +} +}); +if(opts.multiple){ +$.map(grid.treegrid("getCheckedNodes"),function(row){ +var id=String(row[opts.idField]); +if($.inArray(id,vv)==-1){ +vv.push(id); +ss.push(_bfc(row)); +} +}); +} +if(!_bf8.remainText){ +var s=ss.join(opts.separator); +if($(_bf6).combo("getText")!=s){ +$(_bf6).combo("setText",s); +} +} +$(_bf6).combo("setValues",vv); +function _bfd(_bfe,a){ +var item=$.easyui.getArrayItem(a,opts.idField,_bfe); +return item?_bfc(item):undefined; +}; +function _bfc(row){ +return row[opts.textField||""]||row[opts.treeField]; +}; +}; +function _bff(_c00,q){ +var _c01=$.data(_c00,"combotreegrid"); +var opts=_c01.options; +var grid=_c01.grid; +_c01.remainText=true; +var qq=opts.multiple?q.split(opts.separator):[q]; +qq=$.grep(qq,function(q){ +return $.trim(q)!=""; +}); +grid.treegrid("clearSelections").treegrid("clearChecked").treegrid("highlightRow",-1); +if(opts.mode=="remote"){ +_c02(qq); +grid.treegrid("load",$.extend({},opts.queryParams,{q:q})); +}else{ +if(q){ +var data=grid.treegrid("getData"); +var vv=[]; +$.map(qq,function(q){ +q=$.trim(q); +if(q){ +var v=undefined; +$.easyui.forEach(data,true,function(row){ +if(q.toLowerCase()==String(row[opts.treeField]).toLowerCase()){ +v=row[opts.idField]; +return false; +}else{ +if(opts.filter.call(_c00,q,row)){ +grid.treegrid("expandTo",row[opts.idField]); +grid.treegrid("highlightRow",row[opts.idField]); +return false; +} +} +}); +if(v==undefined){ +$.easyui.forEach(opts.mappingRows,false,function(row){ +if(q.toLowerCase()==String(row[opts.treeField])){ +v=row[opts.idField]; +return false; +} +}); +} +if(v!=undefined){ +vv.push(v); +}else{ +vv.push(q); +} +} +}); +_c02(vv); +_c01.remainText=false; +} +} +function _c02(vv){ +if(!opts.reversed){ +$(_c00).combotreegrid("setValues",vv); +} +}; +}; +function _c03(_c04){ +var _c05=$.data(_c04,"combotreegrid"); +var opts=_c05.options; +var grid=_c05.grid; +var tr=opts.finder.getTr(grid[0],null,"highlight"); +_c05.remainText=false; +if(tr.length){ +var id=tr.attr("node-id"); +if(opts.multiple){ +if(tr.hasClass("datagrid-row-selected")){ +grid.treegrid("uncheckNode",id); +}else{ +grid.treegrid("checkNode",id); +} +}else{ +grid.treegrid("selectRow",id); +} +} +var vv=[]; +if(opts.multiple){ +$.map(grid.treegrid("getCheckedNodes"),function(row){ +vv.push(row[opts.idField]); +}); +}else{ +var row=grid.treegrid("getSelected"); +if(row){ +vv.push(row[opts.idField]); +} +} +$.map(opts.unselectedValues,function(v){ +if($.easyui.indexOfArray(opts.mappingRows,opts.idField,v)>=0){ +$.easyui.addArrayItem(vv,v); +} +}); +$(_c04).combotreegrid("setValues",vv); +if(!opts.multiple){ +$(_c04).combotreegrid("hidePanel"); +} +}; +$.fn.combotreegrid=function(_c06,_c07){ +if(typeof _c06=="string"){ +var _c08=$.fn.combotreegrid.methods[_c06]; +if(_c08){ +return _c08(this,_c07); +}else{ +return this.combo(_c06,_c07); +} +} +_c06=_c06||{}; +return this.each(function(){ +var _c09=$.data(this,"combotreegrid"); +if(_c09){ +$.extend(_c09.options,_c06); +}else{ +_c09=$.data(this,"combotreegrid",{options:$.extend({},$.fn.combotreegrid.defaults,$.fn.combotreegrid.parseOptions(this),_c06)}); +} +_be9(this); +}); +}; +$.fn.combotreegrid.methods={options:function(jq){ +var _c0a=jq.combo("options"); +return $.extend($.data(jq[0],"combotreegrid").options,{width:_c0a.width,height:_c0a.height,originalValue:_c0a.originalValue,disabled:_c0a.disabled,readonly:_c0a.readonly}); +},grid:function(jq){ +return $.data(jq[0],"combotreegrid").grid; +},setValues:function(jq,_c0b){ +return jq.each(function(){ +var opts=$(this).combotreegrid("options"); +if($.isArray(_c0b)){ +_c0b=$.map(_c0b,function(_c0c){ +if(_c0c&&typeof _c0c=="object"){ +$.easyui.addArrayItem(opts.mappingRows,opts.idField,_c0c); +return _c0c[opts.idField]; +}else{ +return _c0c; +} +}); +} +_bf5(this,_c0b); +}); +},setValue:function(jq,_c0d){ +return jq.each(function(){ +$(this).combotreegrid("setValues",$.isArray(_c0d)?_c0d:[_c0d]); +}); +},clear:function(jq){ +return jq.each(function(){ +$(this).combotreegrid("setValues",[]); +}); +},reset:function(jq){ +return jq.each(function(){ +var opts=$(this).combotreegrid("options"); +if(opts.multiple){ +$(this).combotreegrid("setValues",opts.originalValue); +}else{ +$(this).combotreegrid("setValue",opts.originalValue); +} +}); +}}; +$.fn.combotreegrid.parseOptions=function(_c0e){ +var t=$(_c0e); +return $.extend({},$.fn.combo.parseOptions(_c0e),$.fn.treegrid.parseOptions(_c0e),$.parser.parseOptions(_c0e,["mode",{limitToGrid:"boolean"}])); +}; +$.fn.combotreegrid.defaults=$.extend({},$.fn.combo.defaults,$.fn.treegrid.defaults,{editable:false,singleSelect:true,limitToGrid:false,unselectedValues:[],mappingRows:[],mode:"local",textField:null,keyHandler:{up:function(e){ +},down:function(e){ +},left:function(e){ +},right:function(e){ +},enter:function(e){ +_c03(this); +},query:function(q,e){ +_bff(this,q); +}},inputEvents:$.extend({},$.fn.combo.defaults.inputEvents,{blur:function(e){ +$.fn.combo.defaults.inputEvents.blur(e); +var _c0f=e.data.target; +var opts=$(_c0f).combotreegrid("options"); +if(opts.limitToGrid){ +_c03(_c0f); +} +}}),filter:function(q,row){ +var opts=$(this).combotreegrid("options"); +return (row[opts.treeField]||"").toLowerCase().indexOf(q.toLowerCase())>=0; +}}); +})(jQuery); +(function($){ +function _c10(_c11){ +var _c12=$.data(_c11,"tagbox"); +var opts=_c12.options; +$(_c11).addClass("tagbox-f").combobox($.extend({},opts,{cls:"tagbox",reversed:true,onChange:function(_c13,_c14){ +_c15(); +$(this).combobox("hidePanel"); +opts.onChange.call(_c11,_c13,_c14); +},onResizing:function(_c16,_c17){ +var _c18=$(this).combobox("textbox"); +var tb=$(this).data("textbox").textbox; +var _c19=tb.outerWidth(); +tb.css({height:"",paddingLeft:_c18.css("marginLeft"),paddingRight:_c18.css("marginRight")}); +_c18.css("margin",0); +tb._outerWidth(_c19); +_c2c(_c11); +_c1e(this); +opts.onResizing.call(_c11,_c16,_c17); +},onLoadSuccess:function(data){ +_c15(); +opts.onLoadSuccess.call(_c11,data); +}})); +_c15(); +_c2c(_c11); +function _c15(){ +$(_c11).next().find(".tagbox-label").remove(); +var _c1a=$(_c11).tagbox("textbox"); +var ss=[]; +$.map($(_c11).tagbox("getValues"),function(_c1b,_c1c){ +var row=opts.finder.getRow(_c11,_c1b); +var text=opts.tagFormatter.call(_c11,_c1b,row); +var cs={}; +var css=opts.tagStyler.call(_c11,_c1b,row)||""; +if(typeof css=="string"){ +cs={s:css}; +}else{ +cs={c:css["class"]||"",s:css["style"]||""}; +} +var _c1d=$("").insertBefore(_c1a).html(text); +_c1d.attr("tagbox-index",_c1c); +_c1d.attr("style",cs.s).addClass(cs.c); +$("").appendTo(_c1d); +}); +_c1e(_c11); +$(_c11).combobox("setText",""); +}; +}; +function _c1e(_c1f,_c20){ +var span=$(_c1f).next(); +var _c21=_c20?$(_c20):span.find(".tagbox-label"); +if(_c21.length){ +var _c22=$(_c1f).tagbox("textbox"); +var _c23=$(_c21[0]); +var _c24=_c23.outerHeight(true)-_c23.outerHeight(); +var _c25=_c22.outerHeight()-_c24*2; +_c21.css({height:_c25+"px",lineHeight:_c25+"px"}); +var _c26=span.find(".textbox-addon").css("height","100%"); +_c26.find(".textbox-icon").css("height","100%"); +span.find(".textbox-button").linkbutton("resize",{height:"100%"}); +} +}; +function _c27(_c28){ +var span=$(_c28).next(); +span.unbind(".tagbox").bind("click.tagbox",function(e){ +var opts=$(_c28).tagbox("options"); +if(opts.disabled||opts.readonly){ +return; +} +if($(e.target).hasClass("tagbox-remove")){ +var _c29=parseInt($(e.target).parent().attr("tagbox-index")); +var _c2a=$(_c28).tagbox("getValues"); +if(opts.onBeforeRemoveTag.call(_c28,_c2a[_c29])==false){ +return; +} +opts.onRemoveTag.call(_c28,_c2a[_c29]); +_c2a.splice(_c29,1); +$(_c28).tagbox("setValues",_c2a); +}else{ +var _c2b=$(e.target).closest(".tagbox-label"); +if(_c2b.length){ +var _c29=parseInt(_c2b.attr("tagbox-index")); +var _c2a=$(_c28).tagbox("getValues"); +opts.onClickTag.call(_c28,_c2a[_c29]); +} +} +$(this).find(".textbox-text").focus(); +}).bind("keyup.tagbox",function(e){ +_c2c(_c28); +}).bind("mouseover.tagbox",function(e){ +if($(e.target).closest(".textbox-button,.textbox-addon,.tagbox-label").length){ +$(this).triggerHandler("mouseleave"); +}else{ +$(this).find(".textbox-text").triggerHandler("mouseenter"); +} +}).bind("mouseleave.tagbox",function(e){ +$(this).find(".textbox-text").triggerHandler("mouseleave"); +}); +}; +function _c2c(_c2d){ +var opts=$(_c2d).tagbox("options"); +var _c2e=$(_c2d).tagbox("textbox"); +var span=$(_c2d).next(); +var tmp=$("").appendTo("body"); +tmp.attr("style",_c2e.attr("style")); +tmp.css({position:"absolute",top:-9999,left:-9999,width:"auto",fontFamily:_c2e.css("fontFamily"),fontSize:_c2e.css("fontSize"),fontWeight:_c2e.css("fontWeight"),whiteSpace:"nowrap"}); +var _c2f=_c30(_c2e.val()); +var _c31=_c30(opts.prompt||""); +tmp.remove(); +var _c32=Math.min(Math.max(_c2f,_c31)+20,span.width()); +_c2e._outerWidth(_c32); +span.find(".textbox-button").linkbutton("resize",{height:"100%"}); +function _c30(val){ +var s=val.replace(/&/g,"&").replace(/\s/g," ").replace(//g,">"); +tmp.html(s); +return tmp.outerWidth(); +}; +}; +function _c33(_c34){ +var t=$(_c34); +var opts=t.tagbox("options"); +if(opts.limitToList){ +var _c35=t.tagbox("panel"); +var item=_c35.children("div.combobox-item-hover"); +if(item.length){ +item.removeClass("combobox-item-hover"); +var row=opts.finder.getRow(_c34,item); +var _c36=row[opts.valueField]; +$(_c34).tagbox(item.hasClass("combobox-item-selected")?"unselect":"select",_c36); +} +$(_c34).tagbox("hidePanel"); +}else{ +var v=$.trim($(_c34).tagbox("getText")); +if(v!==""){ +var _c37=$(_c34).tagbox("getValues"); +_c37.push(v); +$(_c34).tagbox("setValues",_c37); +} +} +}; +function _c38(_c39,_c3a){ +$(_c39).combobox("setText",""); +_c2c(_c39); +$(_c39).combobox("setValues",_c3a); +$(_c39).combobox("setText",""); +$(_c39).tagbox("validate"); +}; +$.fn.tagbox=function(_c3b,_c3c){ +if(typeof _c3b=="string"){ +var _c3d=$.fn.tagbox.methods[_c3b]; +if(_c3d){ +return _c3d(this,_c3c); +}else{ +return this.combobox(_c3b,_c3c); +} +} +_c3b=_c3b||{}; +return this.each(function(){ +var _c3e=$.data(this,"tagbox"); +if(_c3e){ +$.extend(_c3e.options,_c3b); +}else{ +$.data(this,"tagbox",{options:$.extend({},$.fn.tagbox.defaults,$.fn.tagbox.parseOptions(this),_c3b)}); +} +_c10(this); +_c27(this); +}); +}; +$.fn.tagbox.methods={options:function(jq){ +var _c3f=jq.combobox("options"); +return $.extend($.data(jq[0],"tagbox").options,{width:_c3f.width,height:_c3f.height,originalValue:_c3f.originalValue,disabled:_c3f.disabled,readonly:_c3f.readonly}); +},setValues:function(jq,_c40){ +return jq.each(function(){ +_c38(this,_c40); +}); +},reset:function(jq){ +return jq.each(function(){ +$(this).combobox("reset").combobox("setText",""); +}); +}}; +$.fn.tagbox.parseOptions=function(_c41){ +return $.extend({},$.fn.combobox.parseOptions(_c41),$.parser.parseOptions(_c41,[])); +}; +$.fn.tagbox.defaults=$.extend({},$.fn.combobox.defaults,{hasDownArrow:false,multiple:true,reversed:true,selectOnNavigation:false,tipOptions:$.extend({},$.fn.textbox.defaults.tipOptions,{showDelay:200}),val:function(_c42){ +var vv=$(_c42).parent().prev().tagbox("getValues"); +if($(_c42).is(":focus")){ +vv.push($(_c42).val()); +} +return vv.join(","); +},inputEvents:$.extend({},$.fn.combo.defaults.inputEvents,{blur:function(e){ +var _c43=e.data.target; +var opts=$(_c43).tagbox("options"); +if(opts.limitToList){ +_c33(_c43); +} +}}),keyHandler:$.extend({},$.fn.combobox.defaults.keyHandler,{enter:function(e){ +_c33(this); +},query:function(q,e){ +var opts=$(this).tagbox("options"); +if(opts.limitToList){ +$.fn.combobox.defaults.keyHandler.query.call(this,q,e); +}else{ +$(this).combobox("hidePanel"); +} +}}),tagFormatter:function(_c44,row){ +var opts=$(this).tagbox("options"); +return row?row[opts.textField]:_c44; +},tagStyler:function(_c45,row){ +return ""; +},onClickTag:function(_c46){ +},onBeforeRemoveTag:function(_c47){ +},onRemoveTag:function(_c48){ +}}); +})(jQuery); +(function($){ +function _c49(_c4a){ +var _c4b=$.data(_c4a,"datebox"); +var opts=_c4b.options; +$(_c4a).addClass("datebox-f").combo($.extend({},opts,{onShowPanel:function(){ +_c4c(this); +_c4d(this); +_c4e(this); +_c5c(this,$(this).datebox("getText"),true); +opts.onShowPanel.call(this); +}})); +if(!_c4b.calendar){ +var _c4f=$(_c4a).combo("panel").css("overflow","hidden"); +_c4f.panel("options").onBeforeDestroy=function(){ +var c=$(this).find(".calendar-shared"); +if(c.length){ +c.insertBefore(c[0].pholder); +} +}; +var cc=$("
      ").prependTo(_c4f); +if(opts.sharedCalendar){ +var c=$(opts.sharedCalendar); +if(!c[0].pholder){ +c[0].pholder=$("
      ").insertAfter(c); +} +c.addClass("calendar-shared").appendTo(cc); +if(!c.hasClass("calendar")){ +c.calendar(); +} +_c4b.calendar=c; +}else{ +_c4b.calendar=$("
      ").appendTo(cc).calendar(); +} +$.extend(_c4b.calendar.calendar("options"),{fit:true,border:false,onSelect:function(date){ +var _c50=this.target; +var opts=$(_c50).datebox("options"); +opts.onSelect.call(_c50,date); +_c5c(_c50,opts.formatter.call(_c50,date)); +$(_c50).combo("hidePanel"); +}}); +} +$(_c4a).combo("textbox").parent().addClass("datebox"); +$(_c4a).datebox("initValue",opts.value); +function _c4c(_c51){ +var opts=$(_c51).datebox("options"); +var _c52=$(_c51).combo("panel"); +_c52.unbind(".datebox").bind("click.datebox",function(e){ +if($(e.target).hasClass("datebox-button-a")){ +var _c53=parseInt($(e.target).attr("datebox-button-index")); +opts.buttons[_c53].handler.call(e.target,_c51); +} +}); +}; +function _c4d(_c54){ +var _c55=$(_c54).combo("panel"); +if(_c55.children("div.datebox-button").length){ +return; +} +var _c56=$("
      ").appendTo(_c55); +var tr=_c56.find("tr"); +for(var i=0;i").appendTo(tr); +var btn=opts.buttons[i]; +var t=$("").html($.isFunction(btn.text)?btn.text(_c54):btn.text).appendTo(td); +t.attr("datebox-button-index",i); +} +tr.find("td").css("width",(100/opts.buttons.length)+"%"); +}; +function _c4e(_c57){ +var _c58=$(_c57).combo("panel"); +var cc=_c58.children("div.datebox-calendar-inner"); +_c58.children()._outerWidth(_c58.width()); +_c4b.calendar.appendTo(cc); +_c4b.calendar[0].target=_c57; +if(opts.panelHeight!="auto"){ +var _c59=_c58.height(); +_c58.children().not(cc).each(function(){ +_c59-=$(this).outerHeight(); +}); +cc._outerHeight(_c59); +} +_c4b.calendar.calendar("resize"); +}; +}; +function _c5a(_c5b,q){ +_c5c(_c5b,q,true); +}; +function _c5d(_c5e){ +var _c5f=$.data(_c5e,"datebox"); +var opts=_c5f.options; +var _c60=_c5f.calendar.calendar("options").current; +if(_c60){ +_c5c(_c5e,opts.formatter.call(_c5e,_c60)); +$(_c5e).combo("hidePanel"); +} +}; +function _c5c(_c61,_c62,_c63){ +var _c64=$.data(_c61,"datebox"); +var opts=_c64.options; +var _c65=_c64.calendar; +_c65.calendar("moveTo",opts.parser.call(_c61,_c62)); +if(_c63){ +$(_c61).combo("setValue",_c62); +}else{ +if(_c62){ +_c62=opts.formatter.call(_c61,_c65.calendar("options").current); +} +$(_c61).combo("setText",_c62).combo("setValue",_c62); +} +}; +$.fn.datebox=function(_c66,_c67){ +if(typeof _c66=="string"){ +var _c68=$.fn.datebox.methods[_c66]; +if(_c68){ +return _c68(this,_c67); +}else{ +return this.combo(_c66,_c67); +} +} +_c66=_c66||{}; +return this.each(function(){ +var _c69=$.data(this,"datebox"); +if(_c69){ +$.extend(_c69.options,_c66); +}else{ +$.data(this,"datebox",{options:$.extend({},$.fn.datebox.defaults,$.fn.datebox.parseOptions(this),_c66)}); +} +_c49(this); +}); +}; +$.fn.datebox.methods={options:function(jq){ +var _c6a=jq.combo("options"); +return $.extend($.data(jq[0],"datebox").options,{width:_c6a.width,height:_c6a.height,originalValue:_c6a.originalValue,disabled:_c6a.disabled,readonly:_c6a.readonly}); +},cloneFrom:function(jq,from){ +return jq.each(function(){ +$(this).combo("cloneFrom",from); +$.data(this,"datebox",{options:$.extend(true,{},$(from).datebox("options")),calendar:$(from).datebox("calendar")}); +$(this).addClass("datebox-f"); +}); +},calendar:function(jq){ +return $.data(jq[0],"datebox").calendar; +},initValue:function(jq,_c6b){ +return jq.each(function(){ +var opts=$(this).datebox("options"); +var _c6c=opts.value; +if(_c6c){ +_c6c=opts.formatter.call(this,opts.parser.call(this,_c6c)); +} +$(this).combo("initValue",_c6c).combo("setText",_c6c); +}); +},setValue:function(jq,_c6d){ +return jq.each(function(){ +_c5c(this,_c6d); +}); +},reset:function(jq){ +return jq.each(function(){ +var opts=$(this).datebox("options"); +$(this).datebox("setValue",opts.originalValue); +}); +}}; +$.fn.datebox.parseOptions=function(_c6e){ +return $.extend({},$.fn.combo.parseOptions(_c6e),$.parser.parseOptions(_c6e,["sharedCalendar"])); +}; +$.fn.datebox.defaults=$.extend({},$.fn.combo.defaults,{panelWidth:250,panelHeight:"auto",sharedCalendar:null,keyHandler:{up:function(e){ +},down:function(e){ +},left:function(e){ +},right:function(e){ +},enter:function(e){ +_c5d(this); +},query:function(q,e){ +_c5a(this,q); +}},currentText:"Today",closeText:"Close",okText:"Ok",buttons:[{text:function(_c6f){ +return $(_c6f).datebox("options").currentText; +},handler:function(_c70){ +var opts=$(_c70).datebox("options"); +var now=new Date(); +var _c71=new Date(now.getFullYear(),now.getMonth(),now.getDate()); +$(_c70).datebox("calendar").calendar({year:_c71.getFullYear(),month:_c71.getMonth()+1,current:_c71}); +opts.onSelect.call(_c70,_c71); +_c5d(_c70); +}},{text:function(_c72){ +return $(_c72).datebox("options").closeText; +},handler:function(_c73){ +$(this).closest("div.combo-panel").panel("close"); +}}],formatter:function(date){ +var y=date.getFullYear(); +var m=date.getMonth()+1; +var d=date.getDate(); +return (m<10?("0"+m):m)+"/"+(d<10?("0"+d):d)+"/"+y; +},parser:function(s){ +if(!s){ +return new Date(); +} +var ss=s.split("/"); +var m=parseInt(ss[0],10); +var d=parseInt(ss[1],10); +var y=parseInt(ss[2],10); +if(!isNaN(y)&&!isNaN(m)&&!isNaN(d)){ +return new Date(y,m-1,d); +}else{ +return new Date(); +} +},onSelect:function(date){ +}}); +})(jQuery); +(function($){ +function _c74(_c75){ +var _c76=$.data(_c75,"datetimebox"); +var opts=_c76.options; +$(_c75).datebox($.extend({},opts,{onShowPanel:function(){ +var _c77=$(this).datetimebox("getValue"); +_c7d(this,_c77,true); +opts.onShowPanel.call(this); +},formatter:$.fn.datebox.defaults.formatter,parser:$.fn.datebox.defaults.parser})); +$(_c75).removeClass("datebox-f").addClass("datetimebox-f"); +$(_c75).datebox("calendar").calendar({onSelect:function(date){ +opts.onSelect.call(this.target,date); +}}); +if(!_c76.spinner){ +var _c78=$(_c75).datebox("panel"); +var p=$("
      ").insertAfter(_c78.children("div.datebox-calendar-inner")); +_c76.spinner=p.children("input"); +} +_c76.spinner.timespinner({width:opts.spinnerWidth,showSeconds:opts.showSeconds,separator:opts.timeSeparator}); +$(_c75).datetimebox("initValue",opts.value); +}; +function _c79(_c7a){ +var c=$(_c7a).datetimebox("calendar"); +var t=$(_c7a).datetimebox("spinner"); +var date=c.calendar("options").current; +return new Date(date.getFullYear(),date.getMonth(),date.getDate(),t.timespinner("getHours"),t.timespinner("getMinutes"),t.timespinner("getSeconds")); +}; +function _c7b(_c7c,q){ +_c7d(_c7c,q,true); +}; +function _c7e(_c7f){ +var opts=$.data(_c7f,"datetimebox").options; +var date=_c79(_c7f); +_c7d(_c7f,opts.formatter.call(_c7f,date)); +$(_c7f).combo("hidePanel"); +}; +function _c7d(_c80,_c81,_c82){ +var opts=$.data(_c80,"datetimebox").options; +$(_c80).combo("setValue",_c81); +if(!_c82){ +if(_c81){ +var date=opts.parser.call(_c80,_c81); +$(_c80).combo("setText",opts.formatter.call(_c80,date)); +$(_c80).combo("setValue",opts.formatter.call(_c80,date)); +}else{ +$(_c80).combo("setText",_c81); +} +} +var date=opts.parser.call(_c80,_c81); +$(_c80).datetimebox("calendar").calendar("moveTo",date); +$(_c80).datetimebox("spinner").timespinner("setValue",_c83(date)); +function _c83(date){ +function _c84(_c85){ +return (_c85<10?"0":"")+_c85; +}; +var tt=[_c84(date.getHours()),_c84(date.getMinutes())]; +if(opts.showSeconds){ +tt.push(_c84(date.getSeconds())); +} +return tt.join($(_c80).datetimebox("spinner").timespinner("options").separator); +}; +}; +$.fn.datetimebox=function(_c86,_c87){ +if(typeof _c86=="string"){ +var _c88=$.fn.datetimebox.methods[_c86]; +if(_c88){ +return _c88(this,_c87); +}else{ +return this.datebox(_c86,_c87); +} +} +_c86=_c86||{}; +return this.each(function(){ +var _c89=$.data(this,"datetimebox"); +if(_c89){ +$.extend(_c89.options,_c86); +}else{ +$.data(this,"datetimebox",{options:$.extend({},$.fn.datetimebox.defaults,$.fn.datetimebox.parseOptions(this),_c86)}); +} +_c74(this); +}); +}; +$.fn.datetimebox.methods={options:function(jq){ +var _c8a=jq.datebox("options"); +return $.extend($.data(jq[0],"datetimebox").options,{originalValue:_c8a.originalValue,disabled:_c8a.disabled,readonly:_c8a.readonly}); +},cloneFrom:function(jq,from){ +return jq.each(function(){ +$(this).datebox("cloneFrom",from); +$.data(this,"datetimebox",{options:$.extend(true,{},$(from).datetimebox("options")),spinner:$(from).datetimebox("spinner")}); +$(this).removeClass("datebox-f").addClass("datetimebox-f"); +}); +},spinner:function(jq){ +return $.data(jq[0],"datetimebox").spinner; +},initValue:function(jq,_c8b){ +return jq.each(function(){ +var opts=$(this).datetimebox("options"); +var _c8c=opts.value; +if(_c8c){ +_c8c=opts.formatter.call(this,opts.parser.call(this,_c8c)); +} +$(this).combo("initValue",_c8c).combo("setText",_c8c); +}); +},setValue:function(jq,_c8d){ +return jq.each(function(){ +_c7d(this,_c8d); +}); +},reset:function(jq){ +return jq.each(function(){ +var opts=$(this).datetimebox("options"); +$(this).datetimebox("setValue",opts.originalValue); +}); +}}; +$.fn.datetimebox.parseOptions=function(_c8e){ +var t=$(_c8e); +return $.extend({},$.fn.datebox.parseOptions(_c8e),$.parser.parseOptions(_c8e,["timeSeparator","spinnerWidth",{showSeconds:"boolean"}])); +}; +$.fn.datetimebox.defaults=$.extend({},$.fn.datebox.defaults,{spinnerWidth:"100%",showSeconds:true,timeSeparator:":",panelEvents:{mousedown:function(e){ +}},keyHandler:{up:function(e){ +},down:function(e){ +},left:function(e){ +},right:function(e){ +},enter:function(e){ +_c7e(this); +},query:function(q,e){ +_c7b(this,q); +}},buttons:[{text:function(_c8f){ +return $(_c8f).datetimebox("options").currentText; +},handler:function(_c90){ +var opts=$(_c90).datetimebox("options"); +_c7d(_c90,opts.formatter.call(_c90,new Date())); +$(_c90).datetimebox("hidePanel"); +}},{text:function(_c91){ +return $(_c91).datetimebox("options").okText; +},handler:function(_c92){ +_c7e(_c92); +}},{text:function(_c93){ +return $(_c93).datetimebox("options").closeText; +},handler:function(_c94){ +$(_c94).datetimebox("hidePanel"); +}}],formatter:function(date){ +var h=date.getHours(); +var M=date.getMinutes(); +var s=date.getSeconds(); +function _c95(_c96){ +return (_c96<10?"0":"")+_c96; +}; +var _c97=$(this).datetimebox("spinner").timespinner("options").separator; +var r=$.fn.datebox.defaults.formatter(date)+" "+_c95(h)+_c97+_c95(M); +if($(this).datetimebox("options").showSeconds){ +r+=_c97+_c95(s); +} +return r; +},parser:function(s){ +if($.trim(s)==""){ +return new Date(); +} +var dt=s.split(" "); +var d=$.fn.datebox.defaults.parser(dt[0]); +if(dt.length<2){ +return d; +} +var _c98=$(this).datetimebox("spinner").timespinner("options").separator; +var tt=dt[1].split(_c98); +var hour=parseInt(tt[0],10)||0; +var _c99=parseInt(tt[1],10)||0; +var _c9a=parseInt(tt[2],10)||0; +return new Date(d.getFullYear(),d.getMonth(),d.getDate(),hour,_c99,_c9a); +}}); +})(jQuery); +(function($){ +function init(_c9b){ +var _c9c=$("
      "+"
      "+""+""+"
      "+"
      "+"
      "+"
      "+""+"
      ").insertAfter(_c9b); +var t=$(_c9b); +t.addClass("slider-f").hide(); +var name=t.attr("name"); +if(name){ +_c9c.find("input.slider-value").attr("name",name); +t.removeAttr("name").attr("sliderName",name); +} +_c9c.bind("_resize",function(e,_c9d){ +if($(this).hasClass("easyui-fluid")||_c9d){ +_c9e(_c9b); +} +return false; +}); +return _c9c; +}; +function _c9e(_c9f,_ca0){ +var _ca1=$.data(_c9f,"slider"); +var opts=_ca1.options; +var _ca2=_ca1.slider; +if(_ca0){ +if(_ca0.width){ +opts.width=_ca0.width; +} +if(_ca0.height){ +opts.height=_ca0.height; +} +} +_ca2._size(opts); +if(opts.mode=="h"){ +_ca2.css("height",""); +_ca2.children("div").css("height",""); +}else{ +_ca2.css("width",""); +_ca2.children("div").css("width",""); +_ca2.children("div.slider-rule,div.slider-rulelabel,div.slider-inner")._outerHeight(_ca2._outerHeight()); +} +_ca3(_c9f); +}; +function _ca4(_ca5){ +var _ca6=$.data(_ca5,"slider"); +var opts=_ca6.options; +var _ca7=_ca6.slider; +var aa=opts.mode=="h"?opts.rule:opts.rule.slice(0).reverse(); +if(opts.reversed){ +aa=aa.slice(0).reverse(); +} +_ca8(aa); +function _ca8(aa){ +var rule=_ca7.find("div.slider-rule"); +var _ca9=_ca7.find("div.slider-rulelabel"); +rule.empty(); +_ca9.empty(); +for(var i=0;i").appendTo(rule); +span.css((opts.mode=="h"?"left":"top"),_caa); +if(aa[i]!="|"){ +span=$("").appendTo(_ca9); +span.html(aa[i]); +if(opts.mode=="h"){ +span.css({left:_caa,marginLeft:-Math.round(span.outerWidth()/2)}); +}else{ +span.css({top:_caa,marginTop:-Math.round(span.outerHeight()/2)}); +} +} +} +}; +}; +function _cab(_cac){ +var _cad=$.data(_cac,"slider"); +var opts=_cad.options; +var _cae=_cad.slider; +_cae.removeClass("slider-h slider-v slider-disabled"); +_cae.addClass(opts.mode=="h"?"slider-h":"slider-v"); +_cae.addClass(opts.disabled?"slider-disabled":""); +var _caf=_cae.find(".slider-inner"); +_caf.html(""+""); +if(opts.range){ +_caf.append(""+""); +} +_cae.find("a.slider-handle").draggable({axis:opts.mode,cursor:"pointer",disabled:opts.disabled,onDrag:function(e){ +var left=e.data.left; +var _cb0=_cae.width(); +if(opts.mode!="h"){ +left=e.data.top; +_cb0=_cae.height(); +} +if(left<0||left>_cb0){ +return false; +}else{ +_cb1(left,this); +return false; +} +},onStartDrag:function(){ +_cad.isDragging=true; +opts.onSlideStart.call(_cac,opts.value); +},onStopDrag:function(e){ +_cb1(opts.mode=="h"?e.data.left:e.data.top,this); +opts.onSlideEnd.call(_cac,opts.value); +opts.onComplete.call(_cac,opts.value); +_cad.isDragging=false; +}}); +_cae.find("div.slider-inner").unbind(".slider").bind("mousedown.slider",function(e){ +if(_cad.isDragging||opts.disabled){ +return; +} +var pos=$(this).offset(); +_cb1(opts.mode=="h"?(e.pageX-pos.left):(e.pageY-pos.top)); +opts.onComplete.call(_cac,opts.value); +}); +function _cb2(_cb3){ +var dd=String(opts.step).split("."); +var dlen=dd.length>1?dd[1].length:0; +return parseFloat(_cb3.toFixed(dlen)); +}; +function _cb1(pos,_cb4){ +var _cb5=_cb6(_cac,pos); +var s=Math.abs(_cb5%opts.step); +if(s0; +if(_cb5<=v2&&_cb7){ +v1=_cb5; +}else{ +if(_cb5>=v1&&(!_cb7)){ +v2=_cb5; +} +} +}else{ +if(_cb5v2){ +v2=_cb5; +}else{ +_cb5opts.max){ +_cbf=opts.max; +} +var _cc0=$("").appendTo(_cbc); +_cc0.attr("name",name); +_cc0.val(_cbf); +_cbe.push(_cbf); +var _cc1=_cbc.find(".slider-handle:eq("+i+")"); +var tip=_cc1.next(); +var pos=_cc2(_cb9,_cbf); +if(opts.showTip){ +tip.show(); +tip.html(opts.tipFormatter.call(_cb9,_cbf)); +}else{ +tip.hide(); +} +if(opts.mode=="h"){ +var _cc3="left:"+pos+"px;"; +_cc1.attr("style",_cc3); +tip.attr("style",_cc3+"margin-left:"+(-Math.round(tip.outerWidth()/2))+"px"); +}else{ +var _cc3="top:"+pos+"px;"; +_cc1.attr("style",_cc3); +tip.attr("style",_cc3+"margin-left:"+(-Math.round(tip.outerWidth()))+"px"); +} +} +opts.value=opts.range?_cbe:_cbe[0]; +$(_cb9).val(opts.range?_cbe.join(opts.separator):_cbe[0]); +if(_cbd.join(",")!=_cbe.join(",")){ +opts.onChange.call(_cb9,opts.value,(opts.range?_cbd:_cbd[0])); +} +}; +function _ca3(_cc4){ +var opts=$.data(_cc4,"slider").options; +var fn=opts.onChange; +opts.onChange=function(){ +}; +_cb8(_cc4,opts.value); +opts.onChange=fn; +}; +function _cc2(_cc5,_cc6){ +var _cc7=$.data(_cc5,"slider"); +var opts=_cc7.options; +var _cc8=_cc7.slider; +var size=opts.mode=="h"?_cc8.width():_cc8.height(); +var pos=opts.converter.toPosition.call(_cc5,_cc6,size); +if(opts.mode=="v"){ +pos=_cc8.height()-pos; +} +if(opts.reversed){ +pos=size-pos; +} +return pos; +}; +function _cb6(_cc9,pos){ +var _cca=$.data(_cc9,"slider"); +var opts=_cca.options; +var _ccb=_cca.slider; +var size=opts.mode=="h"?_ccb.width():_ccb.height(); +var pos=opts.mode=="h"?(opts.reversed?(size-pos):pos):(opts.reversed?pos:(size-pos)); +var _ccc=opts.converter.toValue.call(_cc9,pos,size); +return _ccc; +}; +$.fn.slider=function(_ccd,_cce){ +if(typeof _ccd=="string"){ +return $.fn.slider.methods[_ccd](this,_cce); +} +_ccd=_ccd||{}; +return this.each(function(){ +var _ccf=$.data(this,"slider"); +if(_ccf){ +$.extend(_ccf.options,_ccd); +}else{ +_ccf=$.data(this,"slider",{options:$.extend({},$.fn.slider.defaults,$.fn.slider.parseOptions(this),_ccd),slider:init(this)}); +$(this)._propAttr("disabled",false); +} +var opts=_ccf.options; +opts.min=parseFloat(opts.min); +opts.max=parseFloat(opts.max); +if(opts.range){ +if(!$.isArray(opts.value)){ +opts.value=$.map(String(opts.value).split(opts.separator),function(v){ +return parseFloat(v); +}); +} +if(opts.value.length<2){ +opts.value.push(opts.max); +} +}else{ +opts.value=parseFloat(opts.value); +} +opts.step=parseFloat(opts.step); +opts.originalValue=opts.value; +_cab(this); +_ca4(this); +_c9e(this); +}); +}; +$.fn.slider.methods={options:function(jq){ +return $.data(jq[0],"slider").options; +},destroy:function(jq){ +return jq.each(function(){ +$.data(this,"slider").slider.remove(); +$(this).remove(); +}); +},resize:function(jq,_cd0){ +return jq.each(function(){ +_c9e(this,_cd0); +}); +},getValue:function(jq){ +return jq.slider("options").value; +},getValues:function(jq){ +return jq.slider("options").value; +},setValue:function(jq,_cd1){ +return jq.each(function(){ +_cb8(this,[_cd1]); +}); +},setValues:function(jq,_cd2){ +return jq.each(function(){ +_cb8(this,_cd2); +}); +},clear:function(jq){ +return jq.each(function(){ +var opts=$(this).slider("options"); +_cb8(this,opts.range?[opts.min,opts.max]:[opts.min]); +}); +},reset:function(jq){ +return jq.each(function(){ +var opts=$(this).slider("options"); +$(this).slider(opts.range?"setValues":"setValue",opts.originalValue); +}); +},enable:function(jq){ +return jq.each(function(){ +$.data(this,"slider").options.disabled=false; +_cab(this); +}); +},disable:function(jq){ +return jq.each(function(){ +$.data(this,"slider").options.disabled=true; +_cab(this); +}); +}}; +$.fn.slider.parseOptions=function(_cd3){ +var t=$(_cd3); +return $.extend({},$.parser.parseOptions(_cd3,["width","height","mode",{reversed:"boolean",showTip:"boolean",range:"boolean",min:"number",max:"number",step:"number"}]),{value:(t.val()||undefined),disabled:(t.attr("disabled")?true:undefined),rule:(t.attr("rule")?eval(t.attr("rule")):undefined)}); +}; +$.fn.slider.defaults={width:"auto",height:"auto",mode:"h",reversed:false,showTip:false,disabled:false,range:false,value:0,separator:",",min:0,max:100,step:1,rule:[],tipFormatter:function(_cd4){ +return _cd4; +},converter:{toPosition:function(_cd5,size){ +var opts=$(this).slider("options"); +var p=(_cd5-opts.min)/(opts.max-opts.min)*size; +return p; +},toValue:function(pos,size){ +var opts=$(this).slider("options"); +var v=opts.min+(opts.max-opts.min)*(pos/size); +return v; +}},onChange:function(_cd6,_cd7){ +},onSlideStart:function(_cd8){ +},onSlideEnd:function(_cd9){ +},onComplete:function(_cda){ +}}; +})(jQuery); + diff --git a/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/js/jquery.min.js b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/js/jquery.min.js new file mode 100644 index 0000000..e836475 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/WEB-INF/js/jquery.min.js @@ -0,0 +1,5 @@ +/*! jQuery v1.12.4 | (c) jQuery Foundation | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="1.12.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(!l.ownFirst)for(b in a)return k.call(a,b);for(b in a);return void 0===b||k.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(h)return h.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=e.call(arguments,2),d=function(){return a.apply(b||this,c.concat(e.call(arguments)))},d.guid=a.guid=a.guid||n.guid++,d):void 0},now:function(){return+new Date},support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}if(f=d.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return A.find(a);this.length=1,this[0]=f}return this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||(e=n.uniqueSort(e)),D.test(a)&&(e=e.reverse())),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=!0,c||j.disable(),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.addEventListener?(d.removeEventListener("DOMContentLoaded",K),a.removeEventListener("load",K)):(d.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(d.addEventListener||"load"===a.event.type||"complete"===d.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll)a.setTimeout(n.ready);else if(d.addEventListener)d.addEventListener("DOMContentLoaded",K),a.addEventListener("load",K);else{d.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&d.documentElement}catch(e){}c&&c.doScroll&&!function f(){if(!n.isReady){try{c.doScroll("left")}catch(b){return a.setTimeout(f,50)}J(),n.ready()}}()}return I.promise(b)},n.ready.promise();var L;for(L in n(l))break;l.ownFirst="0"===L,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c,e;c=d.getElementsByTagName("body")[0],c&&c.style&&(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",l.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(e))}),function(){var a=d.createElement("div");l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}a=null}();var M=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b},N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0; +}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(M(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),"object"!=typeof b&&"function"!=typeof b||(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}function S(a,b,c){if(M(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=void 0)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&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 n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},Z=/^(?:checkbox|radio)$/i,$=/<([\w:-]+)/,_=/^$|\/(?:java|ecma)script/i,aa=/^\s+/,ba="abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";function ca(a){var b=ba.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}!function(){var a=d.createElement("div"),b=d.createDocumentFragment(),c=d.createElement("input");a.innerHTML="
      a",l.leadingWhitespace=3===a.firstChild.nodeType,l.tbody=!a.getElementsByTagName("tbody").length,l.htmlSerialize=!!a.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==d.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,b.appendChild(c),l.appendChecked=c.checked,a.innerHTML="",l.noCloneChecked=!!a.cloneNode(!0).lastChild.defaultValue,b.appendChild(a),c=d.createElement("input"),c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),a.appendChild(c),l.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!!a.addEventListener,a[n.expando]=1,l.attributes=!a.getAttribute(n.expando)}();var da={option:[1,""],legend:[1,"
      ","
      "],area:[1,"",""],param:[1,"",""],thead:[1,"","
      "],tr:[2,"","
      "],col:[2,"","
      "],td:[3,"","
      "],_default:l.htmlSerialize?[0,"",""]:[1,"X
      ","
      "]};da.optgroup=da.option,da.tbody=da.tfoot=da.colgroup=da.caption=da.thead,da.th=da.td;function ea(a,b){var c,d,e=0,f="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,ea(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function fa(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}var ga=/<|&#?\w+;/,ha=/r;r++)if(g=a[r],g||0===g)if("object"===n.type(g))n.merge(q,g.nodeType?[g]:g);else if(ga.test(g)){i=i||p.appendChild(b.createElement("div")),j=($.exec(g)||["",""])[1].toLowerCase(),m=da[j]||da._default,i.innerHTML=m[1]+n.htmlPrefilter(g)+m[2],f=m[0];while(f--)i=i.lastChild;if(!l.leadingWhitespace&&aa.test(g)&&q.push(b.createTextNode(aa.exec(g)[0])),!l.tbody){g="table"!==j||ha.test(g)?""!==m[1]||ha.test(g)?0:i:i.firstChild,f=g&&g.childNodes.length;while(f--)n.nodeName(k=g.childNodes[f],"tbody")&&!k.childNodes.length&&g.removeChild(k)}n.merge(q,i.childNodes),i.textContent="";while(i.firstChild)i.removeChild(i.firstChild);i=p.lastChild}else q.push(b.createTextNode(g));i&&p.removeChild(i),l.appendChecked||n.grep(ea(q,"input"),ia),r=0;while(g=q[r++])if(d&&n.inArray(g,d)>-1)e&&e.push(g);else if(h=n.contains(g.ownerDocument,g),i=ea(p.appendChild(g),"script"),h&&fa(i),c){f=0;while(g=i[f++])_.test(g.type||"")&&c.push(g)}return i=null,p}!function(){var b,c,e=d.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b]=c in a)||(e.setAttribute(c,"t"),l[b]=e.attributes[c].expando===!1);e=null}();var ka=/^(?:input|select|textarea)$/i,la=/^key/,ma=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,na=/^(?:focusinfocus|focusoutblur)$/,oa=/^([^.]*)(?:\.(.+)|)/;function pa(){return!0}function qa(){return!1}function ra(){try{return d.activeElement}catch(a){}}function sa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)sa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=qa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return"undefined"==typeof n||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(G)||[""],h=b.length;while(h--)f=oa.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=oa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(i=m=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!na.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),h=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),l=n.event.special[q]||{},f||!l.trigger||l.trigger.apply(e,c)!==!1)){if(!f&&!l.noBubble&&!n.isWindow(e)){for(j=l.delegateType||q,na.test(j+q)||(i=i.parentNode);i;i=i.parentNode)p.push(i),m=i;m===(e.ownerDocument||d)&&p.push(m.defaultView||m.parentWindow||a)}o=0;while((i=p[o++])&&!b.isPropagationStopped())b.type=o>1?j:l.bindType||q,g=(n._data(i,"events")||{})[b.type]&&n._data(i,"handle"),g&&g.apply(i,c),g=h&&i[h],g&&g.apply&&M(i)&&(b.result=g.apply(i,c),b.result===!1&&b.preventDefault());if(b.type=q,!f&&!b.isDefaultPrevented()&&(!l._default||l._default.apply(p.pop(),c)===!1)&&M(e)&&h&&e[q]&&!n.isWindow(e)){m=e[h],m&&(e[h]=null),n.event.triggered=q;try{e[q]()}catch(s){}n.event.triggered=void 0,m&&(e[h]=m)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]","i"),va=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,wa=/\s*$/g,Aa=ca(d),Ba=Aa.appendChild(d.createElement("div"));function Ca(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function Da(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function Ea(a){var b=ya.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Ga(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(Da(b).text=a.text,Ea(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Z.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}}function Ha(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&xa.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(o&&(k=ja(b,a[0].ownerDocument,!1,a,d),e=k.firstChild,1===k.childNodes.length&&(k=e),e||d)){for(i=n.map(ea(k,"script"),Da),h=i.length;o>m;m++)g=k,m!==p&&(g=n.clone(g,!0,!0),h&&n.merge(i,ea(g,"script"))),c.call(a[m],g,m);if(h)for(j=i[i.length-1].ownerDocument,n.map(i,Ea),m=0;h>m;m++)g=i[m],_.test(g.type||"")&&!n._data(g,"globalEval")&&n.contains(j,g)&&(g.src?n._evalUrl&&n._evalUrl(g.src):n.globalEval((g.text||g.textContent||g.innerHTML||"").replace(za,"")));k=e=null}return a}function Ia(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(ea(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&fa(ea(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(va,"<$1>")},clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!ua.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(Ba.innerHTML=a.outerHTML,Ba.removeChild(f=Ba.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=ea(f),h=ea(a),g=0;null!=(e=h[g]);++g)d[g]&&Ga(e,d[g]);if(b)if(c)for(h=h||ea(a),d=d||ea(f),g=0;null!=(e=h[g]);g++)Fa(e,d[g]);else Fa(a,f);return d=ea(f,"script"),d.length>0&&fa(d,!i&&ea(a,"script")),d=h=e=null,f},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.attributes,m=n.event.special;null!=(d=a[h]);h++)if((b||M(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k||"undefined"==typeof d.removeAttribute?d[i]=void 0:d.removeAttribute(i),c.push(f))}}}),n.fn.extend({domManip:Ha,detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return Y(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||d).createTextNode(a))},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(ea(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return Y(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(ta,""):void 0;if("string"==typeof a&&!wa.test(a)&&(l.htmlSerialize||!ua.test(a))&&(l.leadingWhitespace||!aa.test(a))&&!da[($.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ea(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(ea(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],f=n(a),h=f.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(f[d])[b](c),g.apply(e,c.get());return this.pushStack(e)}});var Ja,Ka={HTML:"block",BODY:"block"};function La(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function Ma(a){var b=d,c=Ka[a];return c||(c=La(a,b),"none"!==c&&c||(Ja=(Ja||n("'); + } else { + var url = "http://api.map.baidu.com/staticimage?center=" + center.lng + ',' + center.lat + + "&zoom=" + zoom + "&width=" + size.width + '&height=' + size.height + "&markers=" + point.lng + ',' + point.lat; + editor.execCommand('inserthtml', ''); + } + }; + document.getElementById("address").focus(); + + + + + diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/map/show.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/map/show.html new file mode 100644 index 0000000..329cfeb --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/map/show.html @@ -0,0 +1,118 @@ + + + + + + + 百度地图API自定义地图 + + + + + + + +
      + + + \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/music/music.css b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/music/music.css new file mode 100644 index 0000000..8fb7a94 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/music/music.css @@ -0,0 +1,30 @@ +.wrapper{margin: 5px 10px;} + +.searchBar{height:30px;padding:7px 0 3px;text-align:center;} +.searchBtn{font-size:13px;height:24px;} + +.resultBar{width:460px;margin:5px auto;border: 1px solid #CCC;border-radius: 5px;box-shadow: 2px 2px 5px #D3D6DA;overflow: hidden;} + +.listPanel{overflow: hidden;} +.panelon{display:block;} +.paneloff{display:none} + +.page{width:220px;margin:20px auto;overflow: hidden;} +.pageon{float:right;width:24px;line-height:24px;height:24px;margin-right: 5px;background: none;border: none;color: #000;font-weight: bold;text-align:center} +.pageoff{float:right;width:24px;line-height:24px;height:24px;cursor:pointer;background-color: #fff; + border: 1px solid #E7ECF0;color: #2D64B3;margin-right: 5px;text-decoration: none;text-align:center;} + +.m-box{width:460px;} +.m-m{float: left;line-height: 20px;height: 20px;} +.m-h{height:24px;line-height:24px;padding-left: 46px;background-color:#FAFAFA;border-bottom: 1px solid #DAD8D8;font-weight: bold;font-size: 12px;color: #333;} +.m-l{float:left;width:40px; } +.m-t{float:left;width:140px;} +.m-s{float:left;width:110px;} +.m-z{float:left;width:100px;} +.m-try-t{float: left;width: 60px;;} + +.m-try{float:left;width:20px;height:20px;background:url('http://static.tieba.baidu.com/tb/editor/images/try_music.gif') no-repeat ;} +.m-trying{float:left;width:20px;height:20px;background:url('http://static.tieba.baidu.com/tb/editor/images/stop_music.gif') no-repeat ;} + +.loading{width:95px;height:7px;font-size:7px;margin:60px auto;background:url(http://static.tieba.baidu.com/tb/editor/images/loading.gif) no-repeat} +.empty{width:300px;height:40px;padding:2px;margin:50px auto;line-height:40px; color:#006699;text-align:center;} \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/music/music.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/music/music.html new file mode 100644 index 0000000..e7ef04f --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/music/music.html @@ -0,0 +1,32 @@ + + + + + 插入音乐 + + + + +
      + +
      + +
      +
      +
      +
      + + + + \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/music/music.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/music/music.js new file mode 100644 index 0000000..1c538bf --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/music/music.js @@ -0,0 +1,192 @@ +function Music() { + this.init(); +} +(function () { + var pages = [], + panels = [], + selectedItem = null; + Music.prototype = { + total:70, + pageSize:10, + dataUrl:"http://tingapi.ting.baidu.com/v1/restserver/ting?method=baidu.ting.search.common", + playerUrl:"http://box.baidu.com/widget/flash/bdspacesong.swf", + + init:function () { + var me = this; + domUtils.on($G("J_searchName"), "keyup", function (event) { + var e = window.event || event; + if (e.keyCode == 13) { + me.dosearch(); + } + }); + domUtils.on($G("J_searchBtn"), "click", function () { + me.dosearch(); + }); + }, + callback:function (data) { + var me = this; + me.data = data.song_list; + setTimeout(function () { + $G('J_resultBar').innerHTML = me._renderTemplate(data.song_list); + }, 300); + }, + dosearch:function () { + var me = this; + selectedItem = null; + var key = $G('J_searchName').value; + if (utils.trim(key) == "")return false; + key = encodeURIComponent(key); + me._sent(key); + }, + doselect:function (i) { + var me = this; + if (typeof i == 'object') { + selectedItem = i; + } else if (typeof i == 'number') { + selectedItem = me.data[i]; + } + }, + onpageclick:function (id) { + var me = this; + for (var i = 0; i < pages.length; i++) { + $G(pages[i]).className = 'pageoff'; + $G(panels[i]).className = 'paneloff'; + } + $G('page' + id).className = 'pageon'; + $G('panel' + id).className = 'panelon'; + }, + listenTest:function (elem) { + var me = this, + view = $G('J_preview'), + is_play_action = (elem.className == 'm-try'), + old_trying = me._getTryingElem(); + + if (old_trying) { + old_trying.className = 'm-try'; + view.innerHTML = ''; + } + if (is_play_action) { + elem.className = 'm-trying'; + view.innerHTML = me._buildMusicHtml(me._getUrl(true)); + } + }, + _sent:function (param) { + var me = this; + $G('J_resultBar').innerHTML = '
      '; + + utils.loadFile(document, { + src:me.dataUrl + '&query=' + param + '&page_size=' + me.total + '&callback=music.callback&.r=' + Math.random(), + tag:"script", + type:"text/javascript", + defer:"defer" + }); + }, + _removeHtml:function (str) { + var reg = /<\s*\/?\s*[^>]*\s*>/gi; + return str.replace(reg, ""); + }, + _getUrl:function (isTryListen) { + var me = this; + var param = 'from=tiebasongwidget&url=&name=' + encodeURIComponent(me._removeHtml(selectedItem.title)) + '&artist=' + + encodeURIComponent(me._removeHtml(selectedItem.author)) + '&extra=' + + encodeURIComponent(me._removeHtml(selectedItem.album_title)) + + '&autoPlay='+isTryListen+'' + '&loop=true'; + return me.playerUrl + "?" + param; + }, + _getTryingElem:function () { + var s = $G('J_listPanel').getElementsByTagName('span'); + + for (var i = 0; i < s.length; i++) { + if (s[i].className == 'm-trying') + return s[i]; + } + return null; + }, + _buildMusicHtml:function (playerUrl) { + var html = ' 12) + return s.substring(0, 5) + '...'; + if (!s) s = " "; + return s; + }, + _rebuildData:function (data) { + var me = this, + newData = [], + d = me.pageSize, + itembox; + for (var i = 0; i < data.length; i++) { + if ((i + d) % d == 0) { + itembox = []; + newData.push(itembox) + } + itembox.push(data[i]); + } + return newData; + }, + _renderTemplate:function (data) { + var me = this; + if (data.length == 0)return '
      ' + lang.emptyTxt + '
      '; + data = me._rebuildData(data); + var s = [], p = [], t = []; + s.push('
      '); + p.push('
      '); + for (var i = 0, tmpList; tmpList = data[i++];) { + panels.push('panel' + i); + pages.push('page' + i); + if (i == 1) { + s.push('
      '); + if (data.length != 1) { + t.push('
      ' + (i ) + '
      '); + } + } else { + s.push('
      '); + t.push('
      ' + (i ) + '
      '); + } + s.push('
      '); + s.push('
      ' + lang.chapter + '' + lang.singer + + '' + lang.special + '' + lang.listenTest + '
      '); + for (var j = 0, tmpObj; tmpObj = tmpList[j++];) { + s.push(''); + } + s.push('
      '); + s.push('
      '); + } + t.reverse(); + p.push(t.join('')); + s.push('
      '); + p.push('
      '); + return s.join('') + p.join(''); + }, + exec:function () { + var me = this; + if (selectedItem == null) return; + $G('J_preview').innerHTML = ""; + editor.execCommand('music', { + url:me._getUrl(false), + width:400, + height:95 + }); + } + }; +})(); + + + diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/preview/preview.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/preview/preview.html new file mode 100644 index 0000000..f6b433b --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/preview/preview.html @@ -0,0 +1,40 @@ + + + + + + + + + + +
      + +
      + + + \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/addimg.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/addimg.png new file mode 100644 index 0000000000000000000000000000000000000000..03a87135bab65fa2633156789ed0f4a906d6c48b GIT binary patch literal 628 zcmV-)0*n2LP)LlfO?CQ4q&JZ};uuDR(Ob))OTXC`@eBz!@zF z+HgV%Hu^952Y4l=g(2n$i9ae63lhXcqYyM9#DWA|@b(rsk9+f;1wl+yj4;&{^Z8EZ zJ2T2T$4NrJSzdPEvg}xJM?R0MBtb zF(d!&V7bvXOyyt%V+_VxCMVl|G4K0L2`GSu4nDMoTw7VvC?4}634OnCk@;@JLnc3FEH3Q_>)m5edixGKIt7FkHcF4 O0000LlRapYQ51%sn|z5A!;eU>8r+{HJr7$}yPjp=Xw4K1Ua#f7iuXvM4a5!@5mnb6Jy5;4f zq^GClVK^)=CMV^$zAd#p)X9w(bjvTJaV6W6Y< zHElN4Fd9h58CQpMwnbCF0&&|nt--a91jfSjz&XY;RG1F=2?rH8AKl0($O&qx#;_=`eAIGPkrEiZ*t@m5rL2F^2%$?h~iba07-RvG6!+$Z#-hF)* z*wUa-u1NavBOIv|-+OxK963tx@)g|sy&J-7BIJt|`BL~qAQEA|QlZmXAv_UdV92*A z3}9Ln#}*y)LEQe`d0jImLzJL!8vd uXg6z^rfGozG)+U(G#m~GPN$P@*OZ@vE+GjWfY&Ji0000Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUzf=NU{R5(w?lReA9Q5c8MckvC3CRr4rWH3k}lHF)Du^B`%h=dG6 zguL4*gWaS^NGOSZ`kg^f{XGLc^_;r8yYF+Z`@GZ<;@`(&vA|?9`3kyXJRalQL01fi zLp&Z2WV6|iphH*mdOh6lcNB}ox0FgHl*{E8%(<2hUD0m0al73R4u_FWr%|m|U({+f zG#U+byIr{(BXid2&=t*Q6W8k%I-L%By=@ zm&*kzl?rOL8d|Lu!C(;4XcW0z4*h-~yWI|l!$HRBbc(@XARW4*QmNo{I>BPGNUT;X zoK7cPE*HFBFG8UZX0sXA>ow-{IbyLG;_u=hIe}(G|5Z=0000LlRs}0K@i1%ySKhz{O1fJ$i!Hn&_fERK@ibd zbP=ieOf+<);v-NHQBXy)C?X|I5W=L1LJA~<17{zJ<9KG5!k{1wk%*@njpn`4doyD~ z2uu@pDm37>c6P$IEISwYQmKSH==W(ZE}o0v_2wonsNzFl`^D^kf$u!}LQutt_h<;j zar~DygE3(2IEO&+5CUiji1#=ZK||o}yDIhi33JuKDcl%rWQp=QqMSoVf(}M_9S>Cz zoT{SUv$l2tmn+e19`WG*;h4Z$Tz-aRexA6TaMJJ5+ucP5L)3dz6(_2Uyk~!Jk0eQW z^|DCs>qV~3L9K47-Y79!zJ;+$TrLymKV!r*@*Yt=mC$IUKuQ!vbUH=4-H3MEa`k$j zhnMqIZzgp1JzK3F1=nNY_D=~Sf_Tr$%FJ)(9slx>D9Y%(@ACbV<1iJj6ctqv?-3E) zNCY1O8yiQHJFtexf@?2R{@BJ?i!}ygEd8hVIIh)jS(Xvyay))=@XwvUSz2QG?!rX< zd8>shILEWq)iaM~SSaveeSM-{Y&0;#;gB>(^b literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/empty.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/empty.png new file mode 100644 index 0000000000000000000000000000000000000000..0375196257ac3c859373b3ebebbabe6f16105587 GIT binary patch literal 519 zcmV+i0{H!jP)Ll09-0Q4oZ`x4R&OpbGFo(29U6rOK6a3v&a7 z_DM+WM6pqhRKi!#4G@N6DKtGpus^URVFFJ&)8BN@dnqD#NM-jmudlA&{11>?2dmYJ zq9_;)28>1{cDr5ttSY|V-7%R=l6xQ-X2x_n?EuB!wC#2qd7hIOIeC_oWf>_YHk(bz zMaX$Q9;cHIE-o(@kBWl9lL2S1&UiW;@}sKQ@Am+B1TJ9`@6XQ{M-IY$At_veyCZkh z2#A0HNw}-$pgZDtT-F2Ob2F>OW^-Ac+hlWdQI_N05jzL&!X;$ZZFh;o!GLIH95bB; zNW$DPvl`UcHyv6%9(DgT!0PRm7pMi8VTV70h}zld2%+{!9YE@DjHv&@KO#8t7UG=) zNe~cC4#|6f?iJh}mm_H@6X8y{FD13$rOa5b*F8Xr2vSNfffuvc>}^?=9}+-HBod@% zcfjrE+jln~Z$1J0i1=~@0GiDNLcJQPqF|2002ov JPDHLkV1nZ!(%Jw3 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/emptyH.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/emptyH.png new file mode 100644 index 0000000000000000000000000000000000000000..838ca723119499465f29e881a745f4d8a051e22c GIT binary patch literal 657 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2v2cMyUXw5Z8P6?!9~W&Mteod+EB17cYi1ZuhR-c=YJe)QJao zoqKZj)+^_N)hDk%kM7vxU%SOIZ)HU5u5H`4rB6P*;n@A6IVa_d+Vkc6Z`Cb3f9%S$swHPL zrX0?laV)ZJmtD^C)Jcaf-hX@G%JYPteGa)RpT7ON{^-5+yDx<|?_9t8V%D^yUKQ)t z9lf{e;O)TrtuBRYf*Q8PcI>guUcUO!os-vJoWJvW)22-q?!7sF_4&EmuM_+BN4D;= z&slDtz2el37q(f;)*ZQN z=N^Z=m4&lU_*8HD|Np=0=2?Njpo}XC@(TuXX$KfKp3qYR+O*iy#WAGfR#Jy6Gf%)R z4qpdHXJJo=hVYQC!~KV2MYI-VrJh`QUQ;LM&1;6x#M9b~#Ma7WK4-jqNPV%W#5&yr zqHMw)6OH>XB&SZ@(#H8io2zq2%cn~1gDgj6o15p{xKW{#z;wrkO(^fonRSm08Z|^C z74@VuOY>$h1UKwir)j@Gk;A27;=wb==bbzq+_Gcd9- Y9E)+P-Fqc+HPE>Xp00i_>zopr0P;w4-2eap literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/eraser.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/eraser.png new file mode 100644 index 0000000000000000000000000000000000000000..63e87cecb90ed3ac0e4acbc257c6dddae5311e09 GIT binary patch literal 43271 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 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/redoH.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/redoH.png new file mode 100644 index 0000000000000000000000000000000000000000..d9f33d38a3d11ce10447830ce409a0890ecad264 GIT binary patch literal 536 zcmV+z0_XjSP)LlRro!K@`S+vst67f)FhPH9;i)IZy=QifsP%Q^7=yx~FIm{DVqJh#8yN2on55 zK6niC-hAJD?=d5!lvD$)D)w6iOxq2aw)?eGO}w=Q({?4W2uyj7_3$nS0b08|CV^$s zcEc4Nn6?`Q=790%;vf4s`J3kd?(rXB%yX=pvVdv3pMkYfEM|mb9T>VsU5&ud zHR{zG?2nRrWd3EgfMHFMKLD%wc#k35+Fxy@XQ-Rrp?E*AqO06&F51~7BhBb9F%{CA zdmJPWQouxT{!<~+LW6%qD0@z^RN@x6tuTZA%{2bb;RZ0`Io4$$5UD%$(J!*|z&Fpa za?fuyZTGrH*P6~!{%Io9+`*3VLY0+{d|s}SVM0@>uRpF)fd0F8hF zgjKx=6b8R6tZy&P{3zz{+r)RSrIc5o-hmLJL6K@zgnPx#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUzF-b&0R5(wyQ*Ba%Fc9qxdXyf4gZLw&GE-Zj!G1tU_|R6xf-Mzw ztkqtHqs45L76*QWA2RbM@MiON_wCZ@{O7ZK+oR9deF10dJg3G9@~FqDz{krMf6sUA zM9%t%Ge#w-z&79UR#oU%de6AjwTpqy2_YI|tk+7Q3^s=6YMHYnLz^_O1&3i+?2mwN&7$-;U#S!Q9m{<3SMoh?w@E00BVyxZ+RCwFLF4JWG!G zOmY$;RtOYQz#3aQ*W5#AiVywHJM`%L@4v^Nzsx*vCin1#lEeQmy!?Oq z<)3F?{!hO2^5n}ed515YeEH$t2cY2pvoHVmpTDyB(*MfC{~Hedzw_aD z|6#-Q0^JY(AHHp1XAM(|igs|-_4sV4KK0;p@m*h1S8U_x=m<-jvZ+JR;{IBr4+&>f zSEaF?oUyAYF85cQWPSYh#i0ycQ4jWf_nW(8?Ylo51`N|SiTvgEn+*yn22WQ%mvv4F FO#t{IsF?r& literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/size.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/size.png new file mode 100644 index 0000000000000000000000000000000000000000..8366845059c94089aef92aa3aeeee79e242732eb GIT binary patch literal 775 zcmeAS@N?(olHy`uVBq!ia0vp^Iv_R&Gmw0`s%8O@k}PqJC<)F_D=AMbN@Z|N$xljE z@XSq2PYp^@^W{ zcO82EKXB&y{MKgq%sz{fI)==3d^r;&6MFPw(_IV71M|xGvv%v3_j2X!dGPP#L^Pja~hhtj9%m4qMKL2y%^Z&`q z=WTfUnlHCkByWLuLg&Z-{~5B^aHX`VrcW0wpCeN?gQ0YF|Ek^0Wm|o-iywUa@%aCL z)%2NBbM`Q#t<@@?!;!p&H+$mBlaI^_YB&B#>#{8s<9mu2JY zGd5l4N$XHbnR5BlcfNx4cmMupDBR$-Y>#a9e1@#m@BaT>^X!XNW-&wBx||KyZ~Xty zRkTzmtwcMm#U?#ZF@LgB=2WKq4bg@9JjHY3ON;;i|F13o-WwPzN)S72Y1Qc%6 zcJYYNXcAOgEAc9NiWcu<*Ig$*&7M7NgR1o_Dx<9^s3W?&d{SwZWC%AQ=Vq^CQZBv#02ZVBfRNMNWq`8qHxO6)(-0}P(7 KelF{r5}E+VpO-NJ literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/undo.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/images/undo.png new file mode 100644 index 0000000000000000000000000000000000000000..084c7cc73f4058c8084e5ea3ab4e51fd105b7991 GIT binary patch literal 444 zcmV;t0YmPx#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUzI!Q!9R5(v#U>KAjGc&U&EiH|oEXQSKWlhM*$@yPcSjb6|0imIx zY(ULRYin!&1L^-HX$ETG0XlnEb#?Xs>C>nGudAyA8-k93YSsZ=r-))WP>}=>pQ);< z`afyXB(MQ<=FIuOaN)xL%ayrnkSp|9?S2!GDaj0*gvQ(FlretOfvW z6$E0%n3$MFK-vn3oq^aBh<%|nh;Lrlg%pxVI0RlGdnYDm%@o%7K^0FfxN6OiJOCi zi#RxuqoSN#Tot)WQew-+VO#$I2f6IQORU!0vXfFu4udr_4m%hxc|CaQ+tc&%`}Y0* zp6?@=rpaH1_@`<>2#kh5+8+kyfa~8Vm_`&Qf&1?$uoEc2lIZmeVHg0~PYAMri0Se6 zisfa<1zrI21FQgkJAn`w4d(-ql&7Fh^q1h21YD9xhMb<=^2_=%c1k>YpaK0r=t;rC zt=CtVDk}a`Zc&w=rjAAzFb_055%guKXWR05;yaef&C8{>rA7h90VLo8XqA)a5z{mR zl$UZFi*u7y-#5(Rpt#aUb$tcVwXHUL6R&`FK~-0c!y{7ZV&N?eU3VYvo=oj*?jtLb z0%Y5tQ3JY+q#F9ffd-5m?iOx)5tafl#kIoD<11{3}kbno$;nIA;p5?+| zPj_N{G3Qm3Edm$dw4eYE%Yq5$7Rj9jP5AfU_y|@8ao4ld0UH1S002ovPDHLkV1l6! B+-3j( literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/scrawl.css b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/scrawl.css new file mode 100644 index 0000000..b18430d --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/scrawl.css @@ -0,0 +1,72 @@ +/*common +*/ +body{margin: 0;} +table{width:100%;} +table td{padding:2px 4px;vertical-align: middle;} +a{text-decoration: none;} +em{font-style: normal;} +.border_style1{border: 1px solid #ccc;border-radius: 5px;box-shadow:2px 2px 5px #d3d6da;} +/*module +*/ +.main{margin: 8px;overflow: hidden;} + +.hot{float:left;height:335px;} +.drawBoard{position: relative; cursor: crosshair;} +.brushBorad{position: absolute;left:0;top:0;z-index: 998;} +.picBoard{border: none;text-align: center;line-height: 300px;cursor: default;} +.operateBar{margin-top:10px;font-size:12px;text-align: center;} +.operateBar span{margin-left: 10px;} + +.drawToolbar{float:right;width:110px;height:300px;overflow: hidden;} +.colorBar{margin-top:10px;font-size: 12px;text-align: center;} +.colorBar a{display:block;width: 10px;height: 10px;border:1px solid #1006F1;border-radius: 3px; box-shadow:2px 2px 5px #d3d6da;opacity: 0.3} +.sectionBar{margin-top:15px;font-size: 12px;text-align: center;} +.sectionBar a{display:inline-block;width:10px;height:12px;color: #888;text-indent: -999px;opacity: 0.3} +.size1{background: url('images/size.png') 1px center no-repeat ;} +.size2{background: url('images/size.png') -10px center no-repeat;} +.size3{background: url('images/size.png') -22px center no-repeat;} +.size4{background: url('images/size.png') -35px center no-repeat;} + +.addImgH{position: relative;} +.addImgH_form{position: absolute;left: 18px;top: -1px;width: 75px;height: 21px;opacity: 0;cursor: pointer;} +.addImgH_form input{width: 100%;} +/*scrawl遮罩层 +*/ +.maskLayerNull{display: none;} +.maskLayer{position: absolute;top:0;left:0;width: 100%; height: 100%;opacity: 0.7; + background-color: #fff;text-align:center;font-weight:bold;line-height:300px;z-index: 1000;} +/*btn state +*/ +.previousStepH .icon{display: inline-block;width:16px;height:16px;background-image: url('images/undoH.png');cursor: pointer;} +.previousStepH .text{color:#888;cursor:pointer;} +.previousStep .icon{display: inline-block;width:16px;height:16px;background-image: url('images/undo.png');cursor:default;} +.previousStep .text{color:#ccc;cursor:default;} + +.nextStepH .icon{display: inline-block;width:16px;height:16px;background-image: url('images/redoH.png');cursor: pointer;} +.nextStepH .text{color:#888;cursor:pointer;} +.nextStep .icon{display: inline-block;width:16px;height:16px;background-image: url('images/redo.png');cursor:default;} +.nextStep .text{color:#ccc;cursor:default;} + +.clearBoardH .icon{display: inline-block;width:16px;height:16px;background-image: url('images/emptyH.png');cursor: pointer;} +.clearBoardH .text{color:#888;cursor:pointer;} +.clearBoard .icon{display: inline-block;width:16px;height:16px;background-image: url('images/empty.png');cursor:default;} +.clearBoard .text{color:#ccc;cursor:default;} + +.scaleBoardH .icon{display: inline-block;width:16px;height:16px;background-image: url('images/scaleH.png');cursor: pointer;} +.scaleBoardH .text{color:#888;cursor:pointer;} +.scaleBoard .icon{display: inline-block;width:16px;height:16px;background-image: url('images/scale.png');cursor:default;} +.scaleBoard .text{color:#ccc;cursor:default;} + +.removeImgH .icon{display: inline-block;width:16px;height:16px;background-image: url('images/delimgH.png');cursor: pointer;} +.removeImgH .text{color:#888;cursor:pointer;} +.removeImg .icon{display: inline-block;width:16px;height:16px;background-image: url('images/delimg.png');cursor:default;} +.removeImg .text{color:#ccc;cursor:default;} + +.addImgH .icon{vertical-align:top;display: inline-block;width:16px;height:16px;background-image: url('images/addimg.png')} +.addImgH .text{color:#888;cursor:pointer;} +/*icon +*/ +.brushIcon{display: inline-block;width:16px;height:16px;background-image: url('images/brush.png')} +.eraserIcon{display: inline-block;width:16px;height:16px;background-image: url('images/eraser.png')} + + diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/scrawl.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/scrawl.html new file mode 100644 index 0000000..9371abd --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/scrawl.html @@ -0,0 +1,95 @@ + + + + + + + + + + +
      +
      +
      + +
      +
      +
      + + + + + + + + + + + + + + + + +
      +
      +
      +
      +
      + + 1 + 3 + 5 + 7 +
      +
      + + 1 + 3 + 5 + 7 +
      +
      +
      + + +
      + + + +
      +
      +
      + + + + +
      +
      +
      +
      + + + + + \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/scrawl.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/scrawl.js new file mode 100644 index 0000000..e0c005e --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/scrawl/scrawl.js @@ -0,0 +1,671 @@ +/** + * Created with JetBrains PhpStorm. + * User: xuheng + * Date: 12-5-22 + * Time: 上午11:38 + * To change this template use File | Settings | File Templates. + */ +var scrawl = function (options) { + options && this.initOptions(options); +}; +(function () { + var canvas = $G("J_brushBoard"), + context = canvas.getContext('2d'), + drawStep = [], //undo redo存储 + drawStepIndex = 0; //undo redo指针 + + scrawl.prototype = { + isScrawl:false, //是否涂鸦 + brushWidth:-1, //画笔粗细 + brushColor:"", //画笔颜色 + + initOptions:function (options) { + var me = this; + me.originalState(options);//初始页面状态 + me._buildToolbarColor(options.colorList);//动态生成颜色选择集合 + + me._addBoardListener(options.saveNum);//添加画板处理 + me._addOPerateListener(options.saveNum);//添加undo redo clearBoard处理 + me._addColorBarListener();//添加颜色选择处理 + me._addBrushBarListener();//添加画笔大小处理 + me._addEraserBarListener();//添加橡皮大小处理 + me._addAddImgListener();//添加增添背景图片处理 + me._addRemoveImgListenter();//删除背景图片处理 + me._addScalePicListenter();//添加缩放处理 + me._addClearSelectionListenter();//添加清楚选中状态处理 + + me._originalColorSelect(options.drawBrushColor);//初始化颜色选中 + me._originalBrushSelect(options.drawBrushSize);//初始化画笔选中 + me._clearSelection();//清楚选中状态 + }, + + originalState:function (options) { + var me = this; + + me.brushWidth = options.drawBrushSize;//同步画笔粗细 + me.brushColor = options.drawBrushColor;//同步画笔颜色 + + context.lineWidth = me.brushWidth;//初始画笔大小 + context.strokeStyle = me.brushColor;//初始画笔颜色 + context.fillStyle = "transparent";//初始画布背景颜色 + context.lineCap = "round";//去除锯齿 + context.fill(); + }, + _buildToolbarColor:function (colorList) { + var tmp = null, arr = []; + arr.push("
      "); + for (var i = 0, color; color = colorList[i++];) { + if ((i - 1) % 5 == 0) { + if (i != 1) { + arr.push(""); + } + arr.push(""); + } + tmp = '#' + color; + arr.push(""); + } + arr.push("
      "); + $G("J_colorBar").innerHTML = arr.join(""); + }, + + _addBoardListener:function (saveNum) { + var me = this, + margin = 0, + startX = -1, + startY = -1, + isMouseDown = false, + isMouseMove = false, + isMouseUp = false, + buttonPress = 0, button, flag = ''; + + margin = parseInt(domUtils.getComputedStyle($G("J_wrap"), "margin-left")); + drawStep.push(context.getImageData(0, 0, context.canvas.width, context.canvas.height)); + drawStepIndex += 1; + + domUtils.on(canvas, ["mousedown", "mousemove", "mouseup", "mouseout"], function (e) { + button = browser.webkit ? e.which : buttonPress; + switch (e.type) { + case 'mousedown': + buttonPress = 1; + flag = 1; + isMouseDown = true; + isMouseUp = false; + isMouseMove = false; + me.isScrawl = true; + startX = e.clientX - margin;//10为外边距总和 + startY = e.clientY - margin; + context.beginPath(); + break; + case 'mousemove' : + if (!flag && button == 0) { + return; + } + if (!flag && button) { + startX = e.clientX - margin;//10为外边距总和 + startY = e.clientY - margin; + context.beginPath(); + flag = 1; + } + if (isMouseUp || !isMouseDown) { + return; + } + var endX = e.clientX - margin, + endY = e.clientY - margin; + + context.moveTo(startX, startY); + context.lineTo(endX, endY); + context.stroke(); + startX = endX; + startY = endY; + isMouseMove = true; + break; + case 'mouseup': + buttonPress = 0; + if (!isMouseDown)return; + if (!isMouseMove) { + context.arc(startX, startY, context.lineWidth, 0, Math.PI * 2, false); + context.fillStyle = context.strokeStyle; + context.fill(); + } + context.closePath(); + me._saveOPerate(saveNum); + isMouseDown = false; + isMouseMove = false; + isMouseUp = true; + startX = -1; + startY = -1; + break; + case 'mouseout': + flag = ''; + buttonPress = 0; + if (button == 1) return; + context.closePath(); + break; + } + }); + }, + _addOPerateListener:function (saveNum) { + var me = this; + domUtils.on($G("J_previousStep"), "click", function () { + if (drawStepIndex > 1) { + drawStepIndex -= 1; + context.clearRect(0, 0, context.canvas.width, context.canvas.height); + context.putImageData(drawStep[drawStepIndex - 1], 0, 0); + me.btn2Highlight("J_nextStep"); + drawStepIndex == 1 && me.btn2disable("J_previousStep"); + } + }); + domUtils.on($G("J_nextStep"), "click", function () { + if (drawStepIndex > 0 && drawStepIndex < drawStep.length) { + context.clearRect(0, 0, context.canvas.width, context.canvas.height); + context.putImageData(drawStep[drawStepIndex], 0, 0); + drawStepIndex += 1; + me.btn2Highlight("J_previousStep"); + drawStepIndex == drawStep.length && me.btn2disable("J_nextStep"); + } + }); + domUtils.on($G("J_clearBoard"), "click", function () { + context.clearRect(0, 0, context.canvas.width, context.canvas.height); + drawStep = []; + me._saveOPerate(saveNum); + drawStepIndex = 1; + me.isScrawl = false; + me.btn2disable("J_previousStep"); + me.btn2disable("J_nextStep"); + me.btn2disable("J_clearBoard"); + }); + }, + _addColorBarListener:function () { + var me = this; + domUtils.on($G("J_colorBar"), "click", function (e) { + var target = me.getTarget(e), + color = target.title; + if (!!color) { + me._addColorSelect(target); + + me.brushColor = color; + context.globalCompositeOperation = "source-over"; + context.lineWidth = me.brushWidth; + context.strokeStyle = color; + } + }); + }, + _addBrushBarListener:function () { + var me = this; + domUtils.on($G("J_brushBar"), "click", function (e) { + var target = me.getTarget(e), + size = browser.ie ? target.innerText : target.text; + if (!!size) { + me._addBESelect(target); + + context.globalCompositeOperation = "source-over"; + context.lineWidth = parseInt(size); + context.strokeStyle = me.brushColor; + me.brushWidth = context.lineWidth; + } + }); + }, + _addEraserBarListener:function () { + var me = this; + domUtils.on($G("J_eraserBar"), "click", function (e) { + var target = me.getTarget(e), + size = browser.ie ? target.innerText : target.text; + if (!!size) { + me._addBESelect(target); + + context.lineWidth = parseInt(size); + context.globalCompositeOperation = "destination-out"; + context.strokeStyle = "#FFF"; + } + }); + }, + _addAddImgListener:function () { + var file = $G("J_imgTxt"); + if (!window.FileReader) { + $G("J_addImg").style.display = 'none'; + $G("J_removeImg").style.display = 'none'; + $G("J_sacleBoard").style.display = 'none'; + } + domUtils.on(file, "change", function (e) { + var frm = file.parentNode; + addMaskLayer(lang.backgroundUploading); + + var target = e.target || e.srcElement, + reader = new FileReader(); + reader.onload = function(evt){ + var target = evt.target || evt.srcElement; + ue_callback(target.result, 'SUCCESS'); + }; + reader.readAsDataURL(target.files[0]); + frm.reset(); + }); + }, + _addRemoveImgListenter:function () { + var me = this; + domUtils.on($G("J_removeImg"), "click", function () { + $G("J_picBoard").innerHTML = ""; + me.btn2disable("J_removeImg"); + me.btn2disable("J_sacleBoard"); + }); + }, + _addScalePicListenter:function () { + domUtils.on($G("J_sacleBoard"), "click", function () { + var picBoard = $G("J_picBoard"), + scaleCon = $G("J_scaleCon"), + img = picBoard.children[0]; + + if (img) { + if (!scaleCon) { + picBoard.style.cssText = "position:relative;z-index:999;"+picBoard.style.cssText; + img.style.cssText = "position: absolute;top:" + (canvas.height - img.height) / 2 + "px;left:" + (canvas.width - img.width) / 2 + "px;"; + var scale = new ScaleBoy(); + picBoard.appendChild(scale.init()); + scale.startScale(img); + } else { + if (scaleCon.style.visibility == "visible") { + scaleCon.style.visibility = "hidden"; + picBoard.style.position = ""; + picBoard.style.zIndex = ""; + } else { + scaleCon.style.visibility = "visible"; + picBoard.style.cssText += "position:relative;z-index:999"; + } + } + } + }); + }, + _addClearSelectionListenter:function () { + var doc = document; + domUtils.on(doc, 'mousemove', function (e) { + if (browser.ie && browser.version < 11) + doc.selection.clear(); + else + window.getSelection().removeAllRanges(); + }); + }, + _clearSelection:function () { + var list = ["J_operateBar", "J_colorBar", "J_brushBar", "J_eraserBar", "J_picBoard"]; + for (var i = 0, group; group = list[i++];) { + domUtils.unSelectable($G(group)); + } + }, + + _saveOPerate:function (saveNum) { + var me = this; + if (drawStep.length <= saveNum) { + if(drawStepIndex"); + } + scale.innerHTML = arr.join(""); + return scale; + } + + var rect = [ + //[left, top, width, height] + [1, 1, -1, -1], + [0, 1, 0, -1], + [0, 1, 1, -1], + [1, 0, -1, 0], + [0, 0, 1, 0], + [1, 0, -1, 1], + [0, 0, 0, 1], + [0, 0, 1, 1] + ]; + ScaleBoy.prototype = { + init:function () { + _appendStyle(); + var me = this, + scale = me.dom = _getDom(); + + me.scaleMousemove.fp = me; + domUtils.on(scale, 'mousedown', function (e) { + var target = e.target || e.srcElement; + me.start = {x:e.clientX, y:e.clientY}; + if (target.className.indexOf('hand') != -1) { + me.dir = target.className.replace('hand', ''); + } + domUtils.on(document.body, 'mousemove', me.scaleMousemove); + e.stopPropagation ? e.stopPropagation() : e.cancelBubble = true; + }); + domUtils.on(document.body, 'mouseup', function (e) { + if (me.start) { + domUtils.un(document.body, 'mousemove', me.scaleMousemove); + if (me.moved) { + me.updateScaledElement({position:{x:scale.style.left, y:scale.style.top}, size:{w:scale.style.width, h:scale.style.height}}); + } + delete me.start; + delete me.moved; + delete me.dir; + } + }); + return scale; + }, + startScale:function (objElement) { + var me = this, Idom = me.dom; + + Idom.style.cssText = 'visibility:visible;top:' + objElement.style.top + ';left:' + objElement.style.left + ';width:' + objElement.offsetWidth + 'px;height:' + objElement.offsetHeight + 'px;'; + me.scalingElement = objElement; + }, + updateScaledElement:function (objStyle) { + var cur = this.scalingElement, + pos = objStyle.position, + size = objStyle.size; + if (pos) { + typeof pos.x != 'undefined' && (cur.style.left = pos.x); + typeof pos.y != 'undefined' && (cur.style.top = pos.y); + } + if (size) { + size.w && (cur.style.width = size.w); + size.h && (cur.style.height = size.h); + } + }, + updateStyleByDir:function (dir, offset) { + var me = this, + dom = me.dom, tmp; + + rect['def'] = [1, 1, 0, 0]; + if (rect[dir][0] != 0) { + tmp = parseInt(dom.style.left) + offset.x; + dom.style.left = me._validScaledProp('left', tmp) + 'px'; + } + if (rect[dir][1] != 0) { + tmp = parseInt(dom.style.top) + offset.y; + dom.style.top = me._validScaledProp('top', tmp) + 'px'; + } + if (rect[dir][2] != 0) { + tmp = dom.clientWidth + rect[dir][2] * offset.x; + dom.style.width = me._validScaledProp('width', tmp) + 'px'; + } + if (rect[dir][3] != 0) { + tmp = dom.clientHeight + rect[dir][3] * offset.y; + dom.style.height = me._validScaledProp('height', tmp) + 'px'; + } + if (dir === 'def') { + me.updateScaledElement({position:{x:dom.style.left, y:dom.style.top}}); + } + }, + scaleMousemove:function (e) { + var me = arguments.callee.fp, + start = me.start, + dir = me.dir || 'def', + offset = {x:e.clientX - start.x, y:e.clientY - start.y}; + + me.updateStyleByDir(dir, offset); + arguments.callee.fp.start = {x:e.clientX, y:e.clientY}; + arguments.callee.fp.moved = 1; + }, + _validScaledProp:function (prop, value) { + var ele = this.dom, + wrap = $G("J_picBoard"); + + value = isNaN(value) ? 0 : value; + switch (prop) { + case 'left': + return value < 0 ? 0 : (value + ele.clientWidth) > wrap.clientWidth ? wrap.clientWidth - ele.clientWidth : value; + case 'top': + return value < 0 ? 0 : (value + ele.clientHeight) > wrap.clientHeight ? wrap.clientHeight - ele.clientHeight : value; + case 'width': + return value <= 0 ? 1 : (value + ele.offsetLeft) > wrap.clientWidth ? wrap.clientWidth - ele.offsetLeft : value; + case 'height': + return value <= 0 ? 1 : (value + ele.offsetTop) > wrap.clientHeight ? wrap.clientHeight - ele.offsetTop : value; + } + } + }; +})(); + +//后台回调 +function ue_callback(url, state) { + var doc = document, + picBorard = $G("J_picBoard"), + img = doc.createElement("img"); + + //图片缩放 + function scale(img, max, oWidth, oHeight) { + var width = 0, height = 0, percent, ow = img.width || oWidth, oh = img.height || oHeight; + if (ow > max || oh > max) { + if (ow >= oh) { + if (width = ow - max) { + percent = (width / ow).toFixed(2); + img.height = oh - oh * percent; + img.width = max; + } + } else { + if (height = oh - max) { + percent = (height / oh).toFixed(2); + img.width = ow - ow * percent; + img.height = max; + } + } + } + } + + //移除遮罩层 + removeMaskLayer(); + //状态响应 + if (state == "SUCCESS") { + picBorard.innerHTML = ""; + img.onload = function () { + scale(this, 300); + picBorard.appendChild(img); + + var obj = new scrawl(); + obj.btn2Highlight("J_removeImg"); + //trace 2457 + obj.btn2Highlight("J_sacleBoard"); + }; + img.src = url; + } else { + alert(state); + } +} +//去掉遮罩层 +function removeMaskLayer() { + var maskLayer = $G("J_maskLayer"); + maskLayer.className = "maskLayerNull"; + maskLayer.innerHTML = ""; + dialog.buttons[0].setDisabled(false); +} +//添加遮罩层 +function addMaskLayer(html) { + var maskLayer = $G("J_maskLayer"); + dialog.buttons[0].setDisabled(true); + maskLayer.className = "maskLayer"; + maskLayer.innerHTML = html; +} +//执行确认按钮方法 +function exec(scrawlObj) { + if (scrawlObj.isScrawl) { + addMaskLayer(lang.scrawlUpLoading); + var base64 = scrawlObj.getCanvasData(); + if (!!base64) { + var options = { + timeout:100000, + onsuccess:function (xhr) { + if (!scrawlObj.isCancelScrawl) { + var responseObj; + responseObj = eval("(" + xhr.responseText + ")"); + if (responseObj.state == "SUCCESS") { + var imgObj = {}, + url = editor.options.scrawlUrlPrefix + responseObj.url; + imgObj.src = url; + imgObj._src = url; + imgObj.alt = responseObj.original || ''; + imgObj.title = responseObj.title || ''; + editor.execCommand("insertImage", imgObj); + dialog.close(); + } else { + alert(responseObj.state); + } + + } + }, + onerror:function () { + alert(lang.imageError); + dialog.close(); + } + }; + options[editor.getOpt('scrawlFieldName')] = base64; + + var actionUrl = editor.getActionUrl(editor.getOpt('scrawlActionName')), + params = utils.serializeParam(editor.queryCommandValue('serverparam')) || '', + url = utils.formatUrl(actionUrl + (actionUrl.indexOf('?') == -1 ? '?':'&') + params); + ajax.request(url, options); + } + } else { + addMaskLayer(lang.noScarwl + "   "); + } +} + diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/searchreplace/searchreplace.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/searchreplace/searchreplace.html new file mode 100644 index 0000000..b91f190 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/searchreplace/searchreplace.html @@ -0,0 +1,102 @@ + + + + + + + + + +
      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + +
      :
      + +
      + + +
      +   +
      + +
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      :
      :
      + +
      + + + + +
      +   +
      + +
      +
      +
      +
      + + + \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/searchreplace/searchreplace.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/searchreplace/searchreplace.js new file mode 100644 index 0000000..1b52857 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/searchreplace/searchreplace.js @@ -0,0 +1,164 @@ +/** + * Created with JetBrains PhpStorm. + * User: xuheng + * Date: 12-9-26 + * Time: 下午12:29 + * To change this template use File | Settings | File Templates. + */ + +//清空上次查选的痕迹 +editor.firstForSR = 0; +editor.currentRangeForSR = null; +//给tab注册切换事件 +/** + * tab点击处理事件 + * @param tabHeads + * @param tabBodys + * @param obj + */ +function clickHandler( tabHeads,tabBodys,obj ) { + //head样式更改 + for ( var k = 0, len = tabHeads.length; k < len; k++ ) { + tabHeads[k].className = ""; + } + obj.className = "focus"; + //body显隐 + var tabSrc = obj.getAttribute( "tabSrc" ); + for ( var j = 0, length = tabBodys.length; j < length; j++ ) { + var body = tabBodys[j], + id = body.getAttribute( "id" ); + if ( id != tabSrc ) { + body.style.zIndex = 1; + } else { + body.style.zIndex = 200; + } + } + +} + +/** + * TAB切换 + * @param tabParentId tab的父节点ID或者对象本身 + */ +function switchTab( tabParentId ) { + var tabElements = $G( tabParentId ).children, + tabHeads = tabElements[0].children, + tabBodys = tabElements[1].children; + + for ( var i = 0, length = tabHeads.length; i < length; i++ ) { + var head = tabHeads[i]; + if ( head.className === "focus" )clickHandler(tabHeads,tabBodys, head ); + head.onclick = function () { + clickHandler(tabHeads,tabBodys,this); + } + } +} +$G('searchtab').onmousedown = function(){ + $G('search-msg').innerHTML = ''; + $G('replace-msg').innerHTML = '' +} +//是否区分大小写 +function getMatchCase(id) { + return $G(id).checked ? true : false; +} +//查找 +$G("nextFindBtn").onclick = function (txt, dir, mcase) { + var findtxt = $G("findtxt").value, obj; + if (!findtxt) { + return false; + } + obj = { + searchStr:findtxt, + dir:1, + casesensitive:getMatchCase("matchCase") + }; + if (!frCommond(obj)) { + var bk = editor.selection.getRange().createBookmark(); + $G('search-msg').innerHTML = lang.getEnd; + editor.selection.getRange().moveToBookmark(bk).select(); + + + } +}; +$G("nextReplaceBtn").onclick = function (txt, dir, mcase) { + var findtxt = $G("findtxt1").value, obj; + if (!findtxt) { + return false; + } + obj = { + searchStr:findtxt, + dir:1, + casesensitive:getMatchCase("matchCase1") + }; + frCommond(obj); +}; +$G("preFindBtn").onclick = function (txt, dir, mcase) { + var findtxt = $G("findtxt").value, obj; + if (!findtxt) { + return false; + } + obj = { + searchStr:findtxt, + dir:-1, + casesensitive:getMatchCase("matchCase") + }; + if (!frCommond(obj)) { + $G('search-msg').innerHTML = lang.getStart; + } +}; +$G("preReplaceBtn").onclick = function (txt, dir, mcase) { + var findtxt = $G("findtxt1").value, obj; + if (!findtxt) { + return false; + } + obj = { + searchStr:findtxt, + dir:-1, + casesensitive:getMatchCase("matchCase1") + }; + frCommond(obj); +}; +//替换 +$G("repalceBtn").onclick = function () { + var findtxt = $G("findtxt1").value.replace(/^\s|\s$/g, ""), obj, + replacetxt = $G("replacetxt").value.replace(/^\s|\s$/g, ""); + if (!findtxt) { + return false; + } + if (findtxt == replacetxt || (!getMatchCase("matchCase1") && findtxt.toLowerCase() == replacetxt.toLowerCase())) { + return false; + } + obj = { + searchStr:findtxt, + dir:1, + casesensitive:getMatchCase("matchCase1"), + replaceStr:replacetxt + }; + frCommond(obj); +}; +//全部替换 +$G("repalceAllBtn").onclick = function () { + var findtxt = $G("findtxt1").value.replace(/^\s|\s$/g, ""), obj, + replacetxt = $G("replacetxt").value.replace(/^\s|\s$/g, ""); + if (!findtxt) { + return false; + } + if (findtxt == replacetxt || (!getMatchCase("matchCase1") && findtxt.toLowerCase() == replacetxt.toLowerCase())) { + return false; + } + obj = { + searchStr:findtxt, + casesensitive:getMatchCase("matchCase1"), + replaceStr:replacetxt, + all:true + }; + var num = frCommond(obj); + if (num) { + $G('replace-msg').innerHTML = lang.countMsg.replace("{#count}", num); + } +}; +//执行 +var frCommond = function (obj) { + return editor.execCommand("searchreplace", obj); +}; +switchTab("searchtab"); \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/snapscreen/snapscreen.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/snapscreen/snapscreen.html new file mode 100644 index 0000000..cf8209e --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/snapscreen/snapscreen.html @@ -0,0 +1,58 @@ + + + + + + + + + +
      +

      +
      +
      +
      +
      +
      +
      + + \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/spechars/spechars.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/spechars/spechars.html new file mode 100644 index 0000000..0b5c416 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/spechars/spechars.html @@ -0,0 +1,21 @@ + + + + + + + + + +
      +
      +
      + + + \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/spechars/spechars.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/spechars/spechars.js new file mode 100644 index 0000000..f4c155e --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/spechars/spechars.js @@ -0,0 +1,57 @@ +/** + * Created with JetBrains PhpStorm. + * User: xuheng + * Date: 12-9-26 + * Time: 下午1:09 + * To change this template use File | Settings | File Templates. + */ +var charsContent = [ + { name:"tsfh", title:lang.tsfh, content:toArray("、,。,·,ˉ,ˇ,¨,〃,々,—,~,‖,…,‘,’,“,”,〔,〕,〈,〉,《,》,「,」,『,』,〖,〗,【,】,±,×,÷,∶,∧,∨,∑,∏,∪,∩,∈,∷,√,⊥,∥,∠,⌒,⊙,∫,∮,≡,≌,≈,∽,∝,≠,≮,≯,≤,≥,∞,∵,∴,♂,♀,°,′,″,℃,$,¤,¢,£,‰,§,№,☆,★,○,●,◎,◇,◆,□,■,△,▲,※,→,←,↑,↓,〓,〡,〢,〣,〤,〥,〦,〧,〨,〩,㊣,㎎,㎏,㎜,㎝,㎞,㎡,㏄,㏎,㏑,㏒,㏕,︰,¬,¦,℡,ˊ,ˋ,˙,–,―,‥,‵,℅,℉,↖,↗,↘,↙,∕,∟,∣,≒,≦,≧,⊿,═,║,╒,╓,╔,╕,╖,╗,╘,╙,╚,╛,╜,╝,╞,╟,╠,╡,╢,╣,╤,╥,╦,╧,╨,╩,╪,╫,╬,╭,╮,╯,╰,╱,╲,╳,▁,▂,▃,▄,▅,▆,▇,�,█,▉,▊,▋,▌,▍,▎,▏,▓,▔,▕,▼,▽,◢,◣,◤,◥,☉,⊕,〒,〝,〞")}, + { name:"lmsz", title:lang.lmsz, content:toArray("ⅰ,ⅱ,ⅲ,ⅳ,ⅴ,ⅵ,ⅶ,ⅷ,ⅸ,ⅹ,Ⅰ,Ⅱ,Ⅲ,Ⅳ,Ⅴ,Ⅵ,Ⅶ,Ⅷ,Ⅸ,Ⅹ,Ⅺ,Ⅻ")}, + { name:"szfh", title:lang.szfh, content:toArray("⒈,⒉,⒊,⒋,⒌,⒍,⒎,⒏,⒐,⒑,⒒,⒓,⒔,⒕,⒖,⒗,⒘,⒙,⒚,⒛,⑴,⑵,⑶,⑷,⑸,⑹,⑺,⑻,⑼,⑽,⑾,⑿,⒀,⒁,⒂,⒃,⒄,⒅,⒆,⒇,①,②,③,④,⑤,⑥,⑦,⑧,⑨,⑩,㈠,㈡,㈢,㈣,㈤,㈥,㈦,㈧,㈨,㈩")}, + { name:"rwfh", title:lang.rwfh, content:toArray("ぁ,あ,ぃ,い,ぅ,う,ぇ,え,ぉ,お,か,が,き,ぎ,く,ぐ,け,げ,こ,ご,さ,ざ,し,じ,す,ず,せ,ぜ,そ,ぞ,た,だ,ち,ぢ,っ,つ,づ,て,で,と,ど,な,に,ぬ,ね,の,は,ば,ぱ,ひ,び,ぴ,ふ,ぶ,ぷ,へ,べ,ぺ,ほ,ぼ,ぽ,ま,み,む,め,も,ゃ,や,ゅ,ゆ,ょ,よ,ら,り,る,れ,ろ,ゎ,わ,ゐ,ゑ,を,ん,ァ,ア,ィ,イ,ゥ,ウ,ェ,エ,ォ,オ,カ,ガ,キ,ギ,ク,グ,ケ,ゲ,コ,ゴ,サ,ザ,シ,ジ,ス,ズ,セ,ゼ,ソ,ゾ,タ,ダ,チ,ヂ,ッ,ツ,ヅ,テ,デ,ト,ド,ナ,ニ,ヌ,ネ,ノ,ハ,バ,パ,ヒ,ビ,ピ,フ,ブ,プ,ヘ,ベ,ペ,ホ,ボ,ポ,マ,ミ,ム,メ,モ,ャ,ヤ,ュ,ユ,ョ,ヨ,ラ,リ,ル,レ,ロ,ヮ,ワ,ヰ,ヱ,ヲ,ン,ヴ,ヵ,ヶ")}, + { name:"xlzm", title:lang.xlzm, content:toArray("Α,Β,Γ,Δ,Ε,Ζ,Η,Θ,Ι,Κ,Λ,Μ,Ν,Ξ,Ο,Π,Ρ,Σ,Τ,Υ,Φ,Χ,Ψ,Ω,α,β,γ,δ,ε,ζ,η,θ,ι,κ,λ,μ,ν,ξ,ο,π,ρ,σ,τ,υ,φ,χ,ψ,ω")}, + { name:"ewzm", title:lang.ewzm, content:toArray("А,Б,В,Г,Д,Е,Ё,Ж,З,И,Й,К,Л,М,Н,О,П,Р,С,Т,У,Ф,Х,Ц,Ч,Ш,Щ,Ъ,Ы,Ь,Э,Ю,Я,а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я")}, + { name:"pyzm", title:lang.pyzm, content:toArray("ā,á,ǎ,à,ē,é,ě,è,ī,í,ǐ,ì,ō,ó,ǒ,ò,ū,ú,ǔ,ù,ǖ,ǘ,ǚ,ǜ,ü")}, + { name:"yyyb", title:lang.yyyb, content:toArray("i:,i,e,æ,ʌ,ə:,ə,u:,u,ɔ:,ɔ,a:,ei,ai,ɔi,əu,au,iə,εə,uə,p,t,k,b,d,g,f,s,ʃ,θ,h,v,z,ʒ,ð,tʃ,tr,ts,dʒ,dr,dz,m,n,ŋ,l,r,w,j,")}, + { name:"zyzf", title:lang.zyzf, content:toArray("ㄅ,ㄆ,ㄇ,ㄈ,ㄉ,ㄊ,ㄋ,ㄌ,ㄍ,ㄎ,ㄏ,ㄐ,ㄑ,ㄒ,ㄓ,ㄔ,ㄕ,ㄖ,ㄗ,ㄘ,ㄙ,ㄚ,ㄛ,ㄜ,ㄝ,ㄞ,ㄟ,ㄠ,ㄡ,ㄢ,ㄣ,ㄤ,ㄥ,ㄦ,ㄧ,ㄨ")} +]; +(function createTab(content) { + for (var i = 0, ci; ci = content[i++];) { + var span = document.createElement("span"); + span.setAttribute("tabSrc", ci.name); + span.innerHTML = ci.title; + if (i == 1)span.className = "focus"; + domUtils.on(span, "click", function () { + var tmps = $G("tabHeads").children; + for (var k = 0, sk; sk = tmps[k++];) { + sk.className = ""; + } + tmps = $G("tabBodys").children; + for (var k = 0, sk; sk = tmps[k++];) { + sk.style.display = "none"; + } + this.className = "focus"; + $G(this.getAttribute("tabSrc")).style.display = ""; + }); + $G("tabHeads").appendChild(span); + domUtils.insertAfter(span, document.createTextNode("\n")); + var div = document.createElement("div"); + div.id = ci.name; + div.style.display = (i == 1) ? "" : "none"; + var cons = ci.content; + for (var j = 0, con; con = cons[j++];) { + var charSpan = document.createElement("span"); + charSpan.innerHTML = con; + domUtils.on(charSpan, "click", function () { + editor.execCommand("insertHTML", this.innerHTML); + dialog.close(); + }); + div.appendChild(charSpan); + } + $G("tabBodys").appendChild(div); + } +})(charsContent); +function toArray(str) { + return str.split(","); +} diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/dragicon.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/dragicon.png new file mode 100644 index 0000000000000000000000000000000000000000..f26203bf3f0026891fc8374f109724a69eb38b22 GIT binary patch literal 304 zcmV-00nh%4P)p00001b5ch_0Itp) z=>Px#=t)FDR47x8lCciKP#A@KY2U+Oz-BN?3|$yZoaJ-YrY6>w+wB>;0|AN6r2r z_B6y2bQp%1X$_7DP`QFiq0z;_c3wk<3Lh&$^V;p?#e$PywxH71VT^XlHZ=jml#@|NVkRMLVaC0F_%) zcB=vWe$h}nSjAV$|0D + + + + + + + +
      +
      +
      +

      +
        +
      • + +
      • +
      • + +
      • +
      +
        +
      • + +
      • +
      • + +
      • +
      +
      +
      +
      +

      +
        +
      • + +
      • +
      • + +
      • +
      +
      +
      +
      +

      +
        +
      • + + +
      • +
      +
      +
      +
      +
      +
      +

      +
      +
      +
      +
      +
      + + + \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittable.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittable.js new file mode 100644 index 0000000..11dbee7 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittable.js @@ -0,0 +1,237 @@ +/** + * Created with JetBrains PhpStorm. + * User: xuheng + * Date: 12-12-19 + * Time: 下午4:55 + * To change this template use File | Settings | File Templates. + */ +(function () { + var title = $G("J_title"), + titleCol = $G("J_titleCol"), + caption = $G("J_caption"), + sorttable = $G("J_sorttable"), + autoSizeContent = $G("J_autoSizeContent"), + autoSizePage = $G("J_autoSizePage"), + tone = $G("J_tone"), + me, + preview = $G("J_preview"); + + var editTable = function () { + me = this; + me.init(); + }; + editTable.prototype = { + init:function () { + var colorPiker = new UE.ui.ColorPicker({ + editor:editor + }), + colorPop = new UE.ui.Popup({ + editor:editor, + content:colorPiker + }); + + title.checked = editor.queryCommandState("inserttitle") == -1; + titleCol.checked = editor.queryCommandState("inserttitlecol") == -1; + caption.checked = editor.queryCommandState("insertcaption") == -1; + sorttable.checked = editor.queryCommandState("enablesort") == 1; + + var enablesortState = editor.queryCommandState("enablesort"), + disablesortState = editor.queryCommandState("disablesort"); + + sorttable.checked = !!(enablesortState < 0 && disablesortState >=0); + sorttable.disabled = !!(enablesortState < 0 && disablesortState < 0); + sorttable.title = enablesortState < 0 && disablesortState < 0 ? lang.errorMsg:''; + + me.createTable(title.checked, titleCol.checked, caption.checked); + me.setAutoSize(); + me.setColor(me.getColor()); + + domUtils.on(title, "click", me.titleHanler); + domUtils.on(titleCol, "click", me.titleColHanler); + domUtils.on(caption, "click", me.captionHanler); + domUtils.on(sorttable, "click", me.sorttableHanler); + domUtils.on(autoSizeContent, "click", me.autoSizeContentHanler); + domUtils.on(autoSizePage, "click", me.autoSizePageHanler); + + domUtils.on(tone, "click", function () { + colorPop.showAnchor(tone); + }); + domUtils.on(document, 'mousedown', function () { + colorPop.hide(); + }); + colorPiker.addListener("pickcolor", function () { + me.setColor(arguments[1]); + colorPop.hide(); + }); + colorPiker.addListener("picknocolor", function () { + me.setColor(""); + colorPop.hide(); + }); + }, + + createTable:function (hasTitle, hasTitleCol, hasCaption) { + var arr = [], + sortSpan = '^'; + arr.push(""); + if (hasCaption) { + arr.push("") + } + if (hasTitle) { + arr.push(""); + if(hasTitleCol) { arr.push(""); } + for (var j = 0; j < 5; j++) { + arr.push(""); + } + arr.push(""); + } + for (var i = 0; i < 6; i++) { + arr.push(""); + if(hasTitleCol) { arr.push("") } + for (var k = 0; k < 5; k++) { + arr.push("") + } + arr.push(""); + } + arr.push("
      " + lang.captionName + "
      " + lang.titleName + "" + lang.titleName + "
      " + lang.titleName + "" + lang.cellsName + "
      "); + preview.innerHTML = arr.join(""); + this.updateSortSpan(); + }, + titleHanler:function () { + var example = $G("J_example"), + frg=document.createDocumentFragment(), + color = domUtils.getComputedStyle(domUtils.getElementsByTagName(example, "td")[0], "border-color"), + colCount = example.rows[0].children.length; + + if (title.checked) { + example.insertRow(0); + for (var i = 0, node; i < colCount; i++) { + node = document.createElement("th"); + node.innerHTML = lang.titleName; + frg.appendChild(node); + } + example.rows[0].appendChild(frg); + + } else { + domUtils.remove(example.rows[0]); + } + me.setColor(color); + me.updateSortSpan(); + }, + titleColHanler:function () { + var example = $G("J_example"), + color = domUtils.getComputedStyle(domUtils.getElementsByTagName(example, "td")[0], "border-color"), + colArr = example.rows, + colCount = colArr.length; + + if (titleCol.checked) { + for (var i = 0, node; i < colCount; i++) { + node = document.createElement("th"); + node.innerHTML = lang.titleName; + colArr[i].insertBefore(node, colArr[i].children[0]); + } + } else { + for (var i = 0; i < colCount; i++) { + domUtils.remove(colArr[i].children[0]); + } + } + me.setColor(color); + me.updateSortSpan(); + }, + captionHanler:function () { + var example = $G("J_example"); + if (caption.checked) { + var row = document.createElement('caption'); + row.innerHTML = lang.captionName; + example.insertBefore(row, example.firstChild); + } else { + domUtils.remove(domUtils.getElementsByTagName(example, 'caption')[0]); + } + }, + sorttableHanler:function(){ + me.updateSortSpan(); + }, + autoSizeContentHanler:function () { + var example = $G("J_example"); + example.removeAttribute("width"); + }, + autoSizePageHanler:function () { + var example = $G("J_example"); + var tds = example.getElementsByTagName(example, "td"); + utils.each(tds, function (td) { + td.removeAttribute("width"); + }); + example.setAttribute('width', '100%'); + }, + updateSortSpan: function(){ + var example = $G("J_example"), + row = example.rows[0]; + + var spans = domUtils.getElementsByTagName(example,"span"); + utils.each(spans,function(span){ + span.parentNode.removeChild(span); + }); + if (sorttable.checked) { + utils.each(row.cells, function(cell, i){ + var span = document.createElement("span"); + span.innerHTML = "^"; + cell.appendChild(span); + }); + } + }, + getColor:function () { + var start = editor.selection.getStart(), color, + cell = domUtils.findParentByTagName(start, ["td", "th", "caption"], true); + color = cell && domUtils.getComputedStyle(cell, "border-color"); + if (!color) color = "#DDDDDD"; + return color; + }, + setColor:function (color) { + var example = $G("J_example"), + arr = domUtils.getElementsByTagName(example, "td").concat( + domUtils.getElementsByTagName(example, "th"), + domUtils.getElementsByTagName(example, "caption") + ); + + tone.value = color; + utils.each(arr, function (node) { + node.style.borderColor = color; + }); + + }, + setAutoSize:function () { + var me = this; + autoSizePage.checked = true; + me.autoSizePageHanler(); + } + }; + + new editTable; + + dialog.onok = function () { + editor.__hasEnterExecCommand = true; + + var checks = { + title:"inserttitle deletetitle", + titleCol:"inserttitlecol deletetitlecol", + caption:"insertcaption deletecaption", + sorttable:"enablesort disablesort" + }; + editor.fireEvent('saveScene'); + for(var i in checks){ + var cmds = checks[i].split(" "), + input = $G("J_" + i); + if(input["checked"]){ + editor.queryCommandState(cmds[0])!=-1 &&editor.execCommand(cmds[0]); + }else{ + editor.queryCommandState(cmds[1])!=-1 &&editor.execCommand(cmds[1]); + } + } + + editor.execCommand("edittable", tone.value); + autoSizeContent.checked ?editor.execCommand('adaptbytext') : ""; + autoSizePage.checked ? editor.execCommand("adaptbywindow") : ""; + editor.fireEvent('saveScene'); + + editor.__hasEnterExecCommand = false; + }; +})(); \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittd.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittd.html new file mode 100644 index 0000000..49a52f7 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittd.html @@ -0,0 +1,61 @@ + + + + + + + + +
      + + +
      + + + \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittip.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittip.html new file mode 100644 index 0000000..954f7bb --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/table/edittip.html @@ -0,0 +1,33 @@ + + + + 表格删除提示 + + + + +
      +
      + +
      +
      + +
      +
      + + + \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/config.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/config.js new file mode 100644 index 0000000..417b8f7 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/config.js @@ -0,0 +1,42 @@ +/** + * Created with JetBrains PhpStorm. + * User: xuheng + * Date: 12-8-8 + * Time: 下午2:00 + * To change this template use File | Settings | File Templates. + */ +var templates = [ + { + "pre":"pre0.png", + 'title':lang.blank, + 'preHtml':'

       欢迎使用UEditor!

      ', + "html":'

      欢迎使用UEditor!

      ' + + }, + { + "pre":"pre1.png", + 'title':lang.blog, + 'preHtml':'

      深入理解Range

      UEditor二次开发

      什么是Range

      对于“插入”选项卡上的库,在设计时都充分考虑了其中的项与文档整体外观的协调性。


      Range能干什么

      在“开始”选项卡上,通过从快速样式库中为所选文本选择一种外观,您可以方便地更改文档中所选文本的格式。

      ', + "html":'

      [键入文档标题]

      [键入文档副标题]

      [标题 1]

      对于“插入”选项卡上的库,在设计时都充分考虑了其中的项与文档整体外观的协调性。 您可以使用这些库来插入表格、页眉、页脚、列表、封面以及其他文档构建基块。 您创建的图片、图表或关系图也将与当前的文档外观协调一致。

      [标题 2]

      在“开始”选项卡上,通过从快速样式库中为所选文本选择一种外观,您可以方便地更改文档中所选文本的格式。 您还可以使用“开始”选项卡上的其他控件来直接设置文本格式。大多数控件都允许您选择是使用当前主题外观,还是使用某种直接指定的格式。

      [标题 3]

      对于“插入”选项卡上的库,在设计时都充分考虑了其中的项与文档整体外观的协调性。 您可以使用这些库来插入表格、页眉、页脚、列表、封面以及其他文档构建基块。 您创建的图片、图表或关系图也将与当前的文档外观协调一致。


      ' + + }, + { + "pre":"pre2.png", + 'title':lang.resume, + 'preHtml':'

      WEB前端开发简历


      联系电话:[键入您的电话]

      电子邮件:[键入您的电子邮件地址]

      家庭住址:[键入您的地址]

      目标职位

      WEB前端研发工程师

      学历

      1. [起止时间] [学校名称] [所学专业] [所获学位]

      工作经验


      ', + "html":'

      [此处键入简历标题]


      【此处插入照片】


      联系电话:[键入您的电话]


      电子邮件:[键入您的电子邮件地址]


      家庭住址:[键入您的地址]


      目标职位

      [此处键入您的期望职位]

      学历

      1. [键入起止时间] [键入学校名称] [键入所学专业] [键入所获学位]

      2. [键入起止时间] [键入学校名称] [键入所学专业] [键入所获学位]

      工作经验

      1. [键入起止时间] [键入公司名称] [键入职位名称]

        1. [键入负责项目] [键入项目简介]

        2. [键入负责项目] [键入项目简介]

      2. [键入起止时间] [键入公司名称] [键入职位名称]

        1. [键入负责项目] [键入项目简介]

      掌握技能

       [这里可以键入您所掌握的技能]

      ' + + }, + { + "pre":"pre3.png", + 'title':lang.richText, + 'preHtml':'

      [此处键入文章标题]

      图文混排方法

      图片居左,文字围绕图片排版

      方法:在文字前面插入图片,设置居左对齐,然后即可在右边输入多行文


      还有没有什么其他的环绕方式呢?这里是居右环绕


      欢迎大家多多尝试,为UEditor提供更多高质量模板!

      ', + "html":'


      [此处键入文章标题]

      图文混排方法

      1. 图片居左,文字围绕图片排版

      方法:在文字前面插入图片,设置居左对齐,然后即可在右边输入多行文本


      2. 图片居右,文字围绕图片排版

      方法:在文字前面插入图片,设置居右对齐,然后即可在左边输入多行文本


      3. 图片居中环绕排版

      方法:亲,这个真心没有办法。。。



      还有没有什么其他的环绕方式呢?这里是居右环绕


      欢迎大家多多尝试,为UEditor提供更多高质量模板!


      占位


      占位


      占位


      占位


      占位



      ' + }, + { + "pre":"pre4.png", + 'title':lang.sciPapers, + 'preHtml':'

      [键入文章标题]

      摘要:这里可以输入很长很长很长很长很长很长很长很长很差的摘要

      标题 1

      这里可以输入很多内容,可以图文混排,可以有列表等。

      标题 2

      1. 列表 1

      2. 列表 2

        1. 多级列表 1

        2. 多级列表 2

      3. 列表 3

      标题 3

      来个文字图文混排的


      ', + 'html':'

      [键入文章标题]

      摘要:这里可以输入很长很长很长很长很长很长很长很长很差的摘要

      标题 1

      这里可以输入很多内容,可以图文混排,可以有列表等。

      标题 2

      来个列表瞅瞅:

      1. 列表 1

      2. 列表 2

        1. 多级列表 1

        2. 多级列表 2

      3. 列表 3

      标题 3

      来个文字图文混排的

      这里可以多行

      右边是图片

      绝对没有问题的,不信你也可以试试看


      ' + } +]; \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/bg.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..8c1d10ad1933e02086e8a1b3c807c7d1e57d51db GIT binary patch literal 84 zcmZ?wbhEHb6kw2GXkcLY|NsA)GiMZkvM_*v4u}BBFfeKN|6H_V+Po~-c70vN1t=1+A%PQ29uxwx4>qZSNmg$Vo0WSSm;`Hl{Ww|6H_V+Po~-c6&>|-aSW-r_2!NtU#o%$i-Y0&su(f8j@G?~f`NtGer^@M zrYdIdrP)2_bk~ELr2i)^H(PkDy?QdpIbuVC@BX&$s!L5iRYqm|O_N&n@I;(N<+i7f+;9Z? Phk?P<)z4*}Q$iB}^elK+ literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/pre2.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/pre2.png new file mode 100644 index 0000000000000000000000000000000000000000..5a55672c1f9c4d41d5b5cf52d76bb2b7e7c6b186 GIT binary patch literal 394 zcmeAS@N?(olHy`uVBq!ia0vp^DM0MT!2~3?K3Qf5q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~;1Ffi(Px;TbZ+h>KHoj_IVWAxIr&Fiabo)3x94Up%M35SEe^0#X9dS;F-9{&3Ljos=IM}2LB&w>e?K^KZ|9tHA z)W~h}eTfo>R&7s^?LYqdE7+t-Dv4L4H{``lKYf(JYIB0^>jrz9Khf>{)o!mlw-~mt za!)h6<9vO9zW09 gTfg@IqFVdQ&MBb@0QJAA?EnA( literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/pre3.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/pre3.png new file mode 100644 index 0000000000000000000000000000000000000000..d852d29f13bcf743e15df824901ab568123a5aae GIT binary patch literal 485 zcmVTEH>0M4JV5-1QxJ>b$K`ZPMW6ena#ScoGi+aGE}QBI9b2~7O)VofCVgI z0Sj2@r|V8tRYg%8l35(bVHm0eOOPtd@{r7;D7wSi^O|UT7k&b(?|avE4}m2@pKY0^ zX8{XXz`D@ra0V&khG!6NNY4Tm0v50s9T*)L9q3sISir&!aYH5D@CmFqjy=yiBr_3O zu`P1E)qr;HnlAuCCeD2n8T2!dey#!;npC;SpUiv|xYU?E`rwKTr@$H|hS bPXPu1`Qm#ITgjGb00000NkvXXu0mjf8+_C8 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/pre4.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/images/pre4.png new file mode 100644 index 0000000000000000000000000000000000000000..0d7bc72ab99fe2c0ed9de1d89fd1c3e82ac3fd43 GIT binary patch literal 393 zcmeAS@N?(olHy`uVBq!ia0vp^DM0MT!2~3?K3Qf5q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~;1FfeL+x;TbZ+5xOQzYV@t-I~V=Oc$U@%9?>h?uf)>*!tD zz9*sh?!vZ&M%HQV5wX`#zTA@g`shVPPoZs!AO#y_jv5_v2~@eKa{lwdV71lh?Z-1u+JRxq;OXk;vd$@?2>^GKp!om* literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/template.css b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/template.css new file mode 100644 index 0000000..6c1608d --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/template.css @@ -0,0 +1,18 @@ +.wrap{ padding: 5px;font-size: 14px;} +.left{width:425px;float: left;} +.right{width:160px;border: 1px solid #ccc;float: right;padding: 5px;margin-right: 5px;} +.right .pre{height: 332px;overflow-y: auto;} +.right .preitem{border: white 1px solid;margin: 5px 0;padding: 2px 0;} +.right .preitem:hover{background-color: lemonChiffon;cursor: pointer;border: #ccc 1px solid;} +.right .preitem img{display: block;margin: 0 auto;width:100px;} +.clear{clear: both;} +.top{height:26px;line-height: 26px;padding: 5px;} +.bottom{height:320px;width:100%;margin: 0 auto;} +.transparent{ background: url("images/bg.gif") repeat;} +.bottom table tr td{border:1px dashed #ccc;} +#colorPicker{width: 17px;height: 17px;border: 1px solid #CCC;display: inline-block;border-radius: 3px;box-shadow: 2px 2px 5px #D3D6DA;} +.border_style1{padding:2px;border: 1px solid #ccc;border-radius: 5px;box-shadow:2px 2px 5px #d3d6da;} +p{margin: 5px 0} +table{clear:both;margin-bottom:10px;border-collapse:collapse;word-break:break-all;} +li{clear:both} +ol{padding-left:40px; } \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/template.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/template.html new file mode 100644 index 0000000..d9903a4 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/template.html @@ -0,0 +1,26 @@ + + + + + + + + + +
      +
      +
      + +
      +
      +
      +
      + +
      +
      +
      +
      + + + + diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/template.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/template.js new file mode 100644 index 0000000..80a334b --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/template/template.js @@ -0,0 +1,53 @@ +/** + * Created with JetBrains PhpStorm. + * User: xuheng + * Date: 12-8-8 + * Time: 下午2:09 + * To change this template use File | Settings | File Templates. + */ +(function () { + var me = editor, + preview = $G( "preview" ), + preitem = $G( "preitem" ), + tmps = templates, + currentTmp; + var initPre = function () { + var str = ""; + for ( var i = 0, tmp; tmp = tmps[i++]; ) { + str += '
      '; + } + preitem.innerHTML = str; + }; + var pre = function ( n ) { + var tmp = tmps[n - 1]; + currentTmp = tmp; + clearItem(); + domUtils.setStyles( preitem.childNodes[n - 1], { + "background-color":"lemonChiffon", + "border":"#ccc 1px solid" + } ); + preview.innerHTML = tmp.preHtml ? tmp.preHtml : ""; + }; + var clearItem = function () { + var items = preitem.children; + for ( var i = 0, item; item = items[i++]; ) { + domUtils.setStyles( item, { + "background-color":"", + "border":"white 1px solid" + } ); + } + }; + dialog.onok = function () { + if ( !$G( "issave" ).checked ){ + me.execCommand( "cleardoc" ); + } + var obj = { + html:currentTmp && currentTmp.html + }; + me.execCommand( "template", obj ); + }; + initPre(); + window.pre = pre; + pre(2) + +})(); \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/bg.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/bg.png new file mode 100644 index 0000000000000000000000000000000000000000..580be0a01dff4c70c72f78a3f40186660ee8eee0 GIT binary patch literal 2810 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 Bm*4;Z literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/file-icons.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/file-icons.gif new file mode 100644 index 0000000000000000000000000000000000000000..d8c02c27e242f0584fc6b214f35b4f6d8caec332 GIT binary patch literal 20097 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 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/file-icons.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/file-icons.png new file mode 100644 index 0000000000000000000000000000000000000000..3ff82c8c488f53a7aff67fbe39742e3321183eca GIT binary patch literal 44070 zcmZ^KWl-E~*!AM>P>MrwcXtZK-6>A7;_lYs?(XjHUK|#8celk|zJ1<*pUvFaWG0i$ zZgMU==WLjgf+PweJ|X}BK#`UbR{;Q^4Z+7h;9z&iwcDQzbJ014~A4FZs! z`4s>_l(+o;T}jEp&e_h%!p@#l`ulfMdq+DnOKVdAzmRmnE#@0+#a$%isY~5P&oqNeW1j4uGM0 zfC>X-ZyzAHQsf&GbZ<3;zjia5B&2^A48S#7D;7<}5a6FC#xM>b<$(lzC&rq9B9(*6 zWtr{SE;FzXYL$Wj^a7J6QegB4jBshu%@Fp#Wu|11V@VxB z$xR{y0Qk={|2}wxV~-B^cMi>ttU-5!`5#tScHe}^uD3oqBO##y=n7MyRfB_rMJW4W zh+3B(tFoVfRSkf}*0Ub_8bYoP;;ga^-?2yu3v(ue>NAtDme1*LIb7t3CR&?ozj z-FAfU1NiL6n&%b3AzdV`s<+_pyMvLfYqd)B5fEC8)%Nj-{9`!C?>(A!W|yN*mjNgI zS}Uwo>6`qpN1IBVIN4~@F6N0J+cin@J3@jR3ZODru~(rPt_f(}>w5_S8G))b>k1I@ zy=9EVM~VZWn{%*vJOTg-JnfAf6jQS1SsK{13ab z7d7)AQD-kMq!FyR2r@;l0J<3LzCR&i-q&PNJhfiFW$30_DEwTE^d0oZf2=$xN86aX z0cZBOu!di=`@VJtBS4Fez+)Ma@r7a-M=yVygvU*bhW=(G#S!mcNO}^At^93p#IX>v zOzd}@o)q~Fqa!wNl&;82?Aiz^TliaerzC4)K)o{5Jfw?ATPX>C_)xCXj57zCo_}(_ z)eL?kv7mo*e#wmNv5PanCp_B3e})y+EONz2H!?)RFiZ=dYWR!EfflDm45tZ^7Pl)7 zL2tGZ2%Z8m!XN7#UOy1M&-zbntfZEl*7s7%bMi*ac6d#Mzk#fM)ZY?H6&oo%F`ozA zjrr>o26eeQIaGDAqKo{k(iKXS1D^HYV z&%>98^5y7A+vK_`F{_4@VR5*mQ%+=j`3@{(ELfOMw=}nWv|v7QZb#VoODvHxoib~6 z40m#L^7qaS86_Cy@353H4W1RA7hcKN7Ch!Oxnh{Pl(Z2wmL)cVH1kxnR6BJox(7OM zoVYQ}B)%k#B;TZ?ay4})b>Rh%awN41b+ih74WHs4>J3VJWeD?MDi+F!)H}+!swY+4 zRAQ8-lnn~H4c`B}n4r`L2mQzmmMTy)X&J(cBKtDLW_qn9w&=E?rxXKd(H=KoQ7|K2K;24p z8DhT2>5eO8R%u6QT*!mwVsTse9k z&AX6km2K3$(z*5)6;vdVIVcms6)~K=n(PgPNtRE3tW4Dq((ur@*I25QUerBfII~&Q zv{oX}%s|fI%K$c)R%KKTxMtXFVeewc(9Y7{tJ_4J866qxRVz008{>k5J{7O>Oc?~Ddi{bR(YvchtzC!ly{wXqlD^y6 zBW8V9eQo{ME@H)oOsecf7Mqc^fuGx5Krcf+AwkoZ$rC7{AtA^d&zz9%;_h!-g5Bi4 zi@s^TaBtbK{4c=wn5Ui{kDD*o3NVHc{~!(^x&rV68lbG8NTAc8i{Ln6qF_2;nURHX z#E=nCv`HKj?0Ru;2%b&Y*UcHyXK=>gvv70>URcJdrIGZ& zv%&B4{ly|!@rTP0JA$GLy+<5gd>i?#yoUJVX64k1!wMsBVrF7yfeMOcawGi`OAAel zq8UAX0?NL}q0JaULde+TKKZlL?HZ1Cklai`qe`_B>K8fYQhN8FUw^u{N_9!;%(HKq zeVjg%BmMc}-4$D_)LPrH-0H4sBgetBZ6RVy|`!9FPt63kQ1+YH(U1?WK zMg8Wt$NEjQ%HP?dqVM#7G&z#W5=Viy)pt5=COAe(ztlm$Qx<+|_|f4e8C2R=mR3L2 z{%Aei)l@K8@V@u3SzXy)y$&5}pXk9q>aAjLuRW#XyvhFc{)w$Lzm|LWGbs=HS-u{Z zO2z`4T*169&~aoz7Lh)YWOvJ_FNk%|#ATQ>Ml(A%i$?JJdH+wsUdgYL>?{Rg!TGdx zk4L$;G%G!2y)N_bQ`y3}&X;m629Kk+n@2HvSDp5E-yV(EC|hK!1gixleeK_Oq-uWJ zotZuYFEjw2Cs?lo`StM8|9FKDNJjURQUy*ArVhP{SU{n}_CRD_W1kHpWpkeyk{amfYpALLOn zStKL`DEM7Bza|rQO6p6nrpA0VK0VHyDvq|^cVA_vwBDAlke(x^da6CjZXH1tWi@=m zQ2W+!7fBk;o5+XK?aYhGaLKgdqtKD}#~brw;O#5rYz{lP z+axuSQjrG$JShPH|Gxmh^Cx(J0sy$M005_k003Vq0Dx;3Z!q`+0LW9778g}>Up>!q z%OqA`818X9JXv!~I4^#bp$o+HlteG2h5Qo^BVl{OZ~WH1JfHK(hG9m1m#ofNC7fMOo#WHM)(*226BPQ zaDC!@gNgYF}!A`uuC>TWxPZHV#!u5FBMP#9J^f4_MCmzH-Q z+(+T2mSZHryXo&f?X0YcLvv`#GDg~8iY-+%G=?lovbeVSUdt2Q!hOxM-=EjBCi`yd zAKpDD-2hMf&CL7j#4_4fZwIL}eHR-CjOKIY!e7*Lo)?9epSK@x&kpDZdv0?`?zc;u z@k+W9lan1^PD&mtvWv{Ut4bZW+8#pP0)+tSOv25_^~?ruK~O)Kp)NEhJwX!^DereU zz%5o!Z9Q%6H5?*?W2#Nq>_~}ofFqa978DqUr|$6 zXZ3kO9vd5b>L>BdxfMhpQK)&| zGB3FJ=Lj%!Eq;U-lQ4YK``O zObWhQH(xCOqa7xhN>CJ@NGr)6>sJ(*@$&23xy|)LPY-76&&95{Ld*K}NxtDtdWSL` z`X#DX6$(Mo(WLK!zg)&F=YE;IzF5eQclNa5irB zxviEL`_%#Kee`H*N<&iie(Q}v$sLab$-0-%8$mHWjZx)#dAma{9A{%XyWwTeh5_8) zI4!aPV#lrCNu;|qO71E>Nk*TPzOo4-6AWD3m0bu=5YxPJQyeYHV&M=OB`I%d=ua|1&%51A@JT(ZSPI z+QZz|tWe-B5}V@~0|FC>MG)!|#UL;xv~-S%aea5-uyMo`liB4HE-!8USiTCp45%uu zb$gtBnd2Bg@@KCLC?JC~83LsKO8^1pYL!J`#$o9?anxJ87Fs)n1Sk{G(+OJq2$}3q z0GGWyftR9ldKT3xaG{t`rbB*fq%w=X1u(xLEm&1^Wvi3-Gs0TD>xnN``Ky}fJG*<( zRwTLm5)^n3=9TZ`6IH$ji<+CmMMXtr50m)4O;}a89frzha9xNq0-I*J{PNMrF8U^kN+K9C7Pp5zDV+I~Esd3d>XnZ&^q6&+BU%;`H1 zxn!trdi&_HK9)dGL-{3%si~=}De3D+5ATIRF`>s}A_b`-B4|k!s*HY8V#>z7Rr#|` z$lIvnsH>}MB}>p?JG!{KW?xN{qrv_Cw{2k8difGFaA7o}A`t_@;xRx%Lrr*8M5`ji zecQ_1VN-(*eskoB2xIkIIpIToP_qctfugQ!vY*G<^B@00hyfCkig!^@(Wu+Zy_&VW z#^E}KIWCLZmHJ)n%%Lc+8LK~V04Ca0$ruoM4)e;A^4<4~KMk}S%qB*;H=O4VKRBA* zdR{kt=A>m5_`pvaQORW)u#liA)OG?i__(<_%JJ*=q2bSG9c9$)vFGa1x>stSi2SC+ zZp3V3W5dC5o^i8m5>wT6Jwy*fOVIpRDHI6SwFkoHQf1Voh}OJxy{YVbk3=)x5u8(_w3s# z;ZK!ZE1K7o86nhz`m|wUFYEWFC4H}brIqmjV|u&`i+;`}U8g54etcgqJfk$6&kQ(1 z0=S=M04$-~v?*|*a9h8ID}WQnWu0F{9`3UrW zd=)m@8n$lG%9-|15GY{y_d&{0 z1jlR17#XhS$`VFG1c>Azh?YdoU^I{ydiM?9)w6-q@A3IL_Qk~o=ymX-#bA12;rVaP z#$AvdL|)#p!7w0I3}yaYm0*57pMY^O4N?yiBwKcOfssfVfxC0<$tqvrxb-olsQbdy zaQ;#9picnzD|i5C#NlAK5~%jaex4LF%uxGF2#N2Lc+1*5=oQrSS%9nWzSIBip{$T! zzFD19XRZdNCQ0ZpFi-Nf4QJQ+e3(J)dy|l}E(F_$+~fW7>{g=aD~VB>R*PF0M48n5 zd!d}SW!({2VYO5(c;9|jy~c)}{3WI!FqzRa33q za9H>OxivU81=30ZpE?;#mSvWQGa9;s?8W_DOzn0j3?hm9T|Sn|XVY$*HiV}ra6J&Q z^}6{O?frH=9D*H)H?bExXI6+ON~hKIdm#~A5bqCg4ZN@S32a-9fJ(=QBDFX`HdYgi zz~cWwF#a*z@LzfEeoN->410UMV~B=Kt|QaPhR>ZIw{4d%QxpM-x@<11$i7$oKSRaO z2e=V~n3aZjLA)Ub?>Cy69*f$%Q@8G2-q%Pud)zIX|K_GDA$mz@vhvS7%S^Q|y_e1g zUnSsd>1mmJ@(UXi%gf6Phh-0CR#go1&p(sGKQ+F}80WJj4X9y84198t79a)uw0H_s zfKHgGa|L`+Q&Uz}7WMM#sAf1T&iS}W(PRdP9HsD6&*vKZvemvZL~0&~IIB(-FFFl5 z_Bq1`ZzW5sE&>Zv5ntYHi)7j!Xf;m%T?FcW6}stu z?5Z*7b@LNVW$oIB1*0I|>zZd3lZ>;aSyffFzuU*_o;*gt@k6ucWnqcA^QuqP%F3#R z@(Z2F>Q}}h3d}I%(ips|{{SI|@mGr>xi(FjIOb^Uam(*>*js4pbO5ea%&EgpaMovf zSw@UHE>)B#^W)!j_v_{BF@GBoN^%!+L!$AVZYJTUpD5w4vgd0>TZe`D`74m$XNd5Y z3tD<@mlnsy#9>v(^SHTCKT*#+qx!-EFTH-F1;p0VD(=&yo1eI3NY~}P$9tu~o4e5a zNyYP96u13BQqD+M@hnI6%l>d_dF6i2r%n{`z(o;UhGMh$-E65%By`7TUzg_;v7`L;)DQY!U5SSk4cFcSAt#4uFjQ|sZ4x4+;+?DSQfScf<5;qb9nSd$i) zm6hF@kbFKp^lMZLfOaF8eFH_2mFZ#ql>@@dpy`SW+B(aqC+_!0eGt`xWiUwt(WS`4 zjU+H;2SS}op&%k@zZBKaSyT{e0pb6$I9OdoKilsWjbn+yql>u*$mH&1LDnJ2=XN-I z`;t`I*vv01=AZH19!=FeyuNR(w!6^xUi7;P!vRE^tXJx#g>pbsUXPdW0#|FSQonwQ zrq29gNAN;;5RZST_kO+!^X>Um>~I5pyeTzNQp2+s$E<@9F)s^yrAGh{{qa`g_kMQU zUcHqJD9()d(Zc^uzDo3HP0RxC#Bv%G<73@RI{vRTrJJeLiIG?`0ZbT5aft1FO)oY{ zr=r)a&b)N(_*|QwzGB_paogodoHE<>0g;@Yo!JqVce^#N$^^Ko9X-B&-t|JEdFz9r zAMlHRj2iAIKfbgVt=U(&=zpktX;2JM#YkjBdQY1XPxcV#_v^QlMP}>Jwmt8U4%1TL zAeEMt#WK%wp>q2?&@WcVO21tnRi(PUuki~Y`M5GaUop9DKW-lyBac3y7H$jL=y1D@ z`g}LrwCVxnBbAm{?}FQd{PJ?o=gBO7l9)Z@!9QOPz~$n1m#~r!S6Mk?&sL1QL(&M1 z&04IK7;7%s?sR1RQlrB;87@a0GwPsHyaLX5%|C1tu(jNSt7-X~Dw>)h#g?n}2f)w! zJHOA@tUX1Z9fD;ebtwH2+yjWcn$$njoQWK>xC`az%}Kr@2mzrXmhkfZRdDDu>zizl zNvbE7D>9`OqEXEUp1Fm8>|3>%zV5hN?_7C@fe4iqzrK3ba1#B|XA832)J#*Ur*@dm zYP=-t)gPdF^)9r;Z?E3FeX+2#{mw5gOPs-Fqf@nZ@$mxA#yBt^Ja^l`K z!QlU1{b={;j_wclaSw3Y@A zyS$!Pru>o~SE;j{zp1M)c)y<+=m%xpb0hhWV);5RvzBDts7PC;aT)bNJL?%aJ+%{B zY2oI^lghmT4(uXAFefxFFyRYh`* z*2g6e8%J)CcMTviyg+)EjWAR;PokT~e%?bjkI)oKogD!0dP(9!8d;3X8MR>j*$xd~ zz$TI!*i`yd7Y8spZyi>z(5O4ydQCm|^U|v3T?N3_D(kfj%dc%lQyj;}wzs#B7F+t- z^arD0KHZY)b5UcxS*XSoBRK2zAKlNcuBXE)$!GC3Egm@fnA{#t4A}$J;0n&)ij5C7 zJ$+6zi9F{qaN4V5mVG|<+P0i@SKy}gs`X#7`&o`H?D{op>h@zLMos35)t%=ULz$S$vc zx-K`$lIpELY7IQjvpY)PcT+;-nGJk3wOI{7HR&x+rHD4r_w_GDN3Az{NS+I_V%$tA zNG-$Py`qCmSR+oMED75$k24|`Wl#5Xtg2(Iw%pIET8x7ZnIx8h5a#sKS&fA)1p{!y zQ3TvW{`^~E7Z$k>Dus;zuK+4TI+mWIqNK@cCZ_JY`bIZM!$HBgNxs*ONCM%2HQSE< z2Q%gH6{jz?b|BkHVG!ZR)o@2?dHI;fKabnPn?dHykr=-_)z!5N7X=S(7$n^4?Y`To zJb>T*%k3gu1BJ^Remjhx&FA}Xx05@UJ?oOv(w3_parUY5 z8Qe3=%Tjt5`_F};?)_cI=Gm9m-MY%kl)tU4l%1h4ta||LsOqiKPhIfPV*bS{rQZ=l zM}JUeey##ReO93B^5D>-s}soYq9L^4%K2~ay0)bIW1z`uNyzy)FC@Dk&_IE606|{0 zT+2ad@JtbSm|xP>&77zAok>3?qEs3BQGw~RSX@eF@neVTps5BYOnkY=Pgv$pVt=f* zR-^)0Ge&7y`wJ*cv`7ywwjA}!Vly4H?q{jqYIP{kkURRh&t7aQ=y?-HjjHDVJ3R5G z;%upg#M=M2T;|_eO36+nT@E`gQ&Urqn4X)L3^`$ItYV{?&DH+Ptg7BuM~HL-pS>t< zhTN^3e~Ixcc~$)kK&rIFq-QTULpcenikK{Z0>`Et(HY4b&!G`&>re^uE=ZO#gqn;l zueA_e=Hx_p-ueg3uphL*+oD>u_lw-q!9>RaqYL^;floyG?{A<8-$LsPyF zvVBGb!>K$T_*IPZnO+ZRZzq>MET%HqvH7D3ttUu1N69~ZMSb4&0RloK^cuwd>N&0P z%)Tc;UB?r+n+MjMrvY$pRlXZ1Ni2Jr!)8PE-)&rmED7D-5IDHF>TT9ETrZau6cy2Y z{Sb&_LL9KD_9?0+cHUL0JJt!tfb@IYvRH-#?^=DRsePzC-_j;V@WOwYb30y=|3#tr zhgYy$O&YZ1bnOuZofp8AJEx+Sn8fNbh7E4DopxoJyPVH3Bnht_U}MS3+yFlU8uKkN zB-^eE#2EO~hHq?;dM|2n#|#26E(b!PL$LC`Ucr+G)@~)ow^IpXA&;vwrOX*8k|B>VZ z77C>k4hM|u&Ne;I7+Jq2Y`LXl-`>x#RW|+#^%GvA;uQMKk=)-%sfbj?9Cnhfc47cB zj0pvyx32RUk`@xn9`gDd&r`kb3AJu;48T29x;K7#EG`*tkam8;KX zyG}y`@W$PPF-c{c06q*=Tri++y*{6IzGAMm6}GTVdWMYYd(O$S>azr!7ESQUkoa)e ztz@%L(r8gRbS`_w+pIK(@BW<*43>2(K!=)@1!uV;(<1rd%hz=>4`4SagkW}zqS@(! zzBoIO!*wV$eDf&K_2-}J)X7U9o6J;_%=n<8qkzcoK|`_KiL@Nq_f14NE6JYkt&165 zk+47UY_pIXiS7^ZUh_lNb9b)JiYprI`;vWLAIQX^K)kQWs0JQ1pHD~M$1{0Tf`dJo z1U?1VpO1R>AI;K)QwZ$d2wT=~kXCgr?!U`VxC;=Yfv;ik^*hSZ>ilIn=~Q7=4juq< z_Hcz?aWc5qdShglc&!guy+6ISO6nYhm-IhZemyTHe>pun^RU{3O;5*XMGo6KDyXW0 z>1Sb)|7*b!Xe9IT(9)Bq9ymv^&0ZTJ_);tmgzsSqKYFKaS10hEewDS zfs2$8`A#dQN1#iZg+>J-Y)T9qAkMs!4c2##A=$thLEFGaRCC-kXQCmk+xJ5N!DhsOXjB}Oyj=>pm)cn;|YeK#}3x#?o1b_keH^Yxs{ z7JLmDenBOs4;)z>o*{XWy?IO*?#wawd+cuXX&a*eWOXOgYLE;9I-wRMRhW&ijDCfX z27Ne7-?(kpcU;tyH5{{rnS{Nk9fYVb>*?uff;PK497sJ`+5LmDSxoNRK|h5(a+hAR zOuN0`dDq?VwY86;esq0JmSD;$;|g&zb6MwSPrl~lZ;(4Fh$+4RGN@W0GkjTIa3M-5 zMr+eAH1bcL9S_>_LGgdJ)5&gPK5FxLxG&1SF2Ywg?FzwK1w=+`dY;&hAt_8S!DgO< zc=idu6T5@jGxro&O)=NP_S%MuyCc7YO)OPkf1X@)eX*kVDKigszB&0gE#%(7_8byl zJ623HnwJ;#YTN%yvVX}BVgMj&J3BkqTFz0?(b2W;e#gDNsj$0RPsg>iu{=CyS3H_> z+Zt{>nRCh(w!Hae`}B77v@+#8y4lJtYYDFJU#hofBbW~*g`a7ubK*Nd_s?&-k7-uV z@1V>5L0p?yRSSF|nqWM*B&7JgUHEe7nfGU$&2SLKEJbV`!O3sWxa%?!7R9{8tX7$Bc*(LyD!9lL}%-nBMhsMWqV*3IA<2e|9dg|v@;ft(4T6{l2DGh*X=fSx)d{|SAV_t}d{tTKXDFC-< zY#&|{Kbf;k26bIUCQ+@_=*k~2ilRXp9ahxC!(;KC5|AE9=rXT7EO0-s+LBi6f%-SL zd`3zFj(ta)-LHmA+Zi-k0H|xRZRVyLR$*a_KkZcZ#*r2CM z@W|&V{^E8Lwp$o$nHL=}#3q-RbV@MUX@!7h&@RNQ>~cAk&M}NwA~#-1ZXlRulNT#U zJ%*Tf(3Aq6SV(5TVWjHhbjxHYYo-^}X;^4V=IBi{d2o~2R#Rgd-F{yE$Ht@R~q?;S?ZD)h$Ej{(~s+<{<+?yfsgL_Ib1JkxDrG^3R*C(Cy=O| z2lzn|V> zD;U)GOvuhA_Vo00-wmVIsxyY+cRk+@C6C@tSM-VW6S{&Y;Bxoaf;qZ5Tk{2me@6pq zOUlcm(ABx768U?t0eS+@25 zFj?h5DmoN^a{|!u)EoKuNa=C5)&COqm0B)?3qf8rwH$>KJ3gAHa@P?VHyz4d`kfby z>!)Gs0I3eF1Mu*~Qux+VMk$ILz|?EwvWsNfi&G`Zy^3Csv_mK1Nq3zR{kPmQ_ZKfs zC}+O$#E7Aw)^#a`C8;x+V*s-R1WOp_%f5-9yV4(Kubg+?Ri{HZOi#OUZB#}CyRS)c z$)3=ihVfd4kp7|vZ{@6NNG~(+y;8I%m#2r5!W$A4n4+|U>nl!xR8|vw9GnAaNQh4T z8oQI(qK2iapO1ob9K!D(k3GV6T@{)&Ops}~aDl#o=!q#fFiJ$P^Qwv)zta!B*dXXk zP0^A;d>;CX-Pi0^d&4r0wrB_xWfZe)&!7VPhcciigyBcO<*;Ji%CW=_bE0sM8`AP+ z$URh>Fu7SiFBO}jw>uV~ysj*$|NL^pg%KhJppSo!xK^oxn&b^yBe0>JZhI0Hvmz;s^eL{V}p- z^?Fhx6z_S$s^s~=fBLfH(UtvEE{%ie{;S9Ea6WaX4|F#pkgr3y*Nwp}|4e7{eenFO zN{;nD@<*4rJQgDypy75|A0a1fA7IG#h@(0+e{HI!p7f|Q$${MN)yq7L(x%VQFCL~3 zNR1S_39utZ>E$)hPG|;^81M?%7}(w40rkV*r0T)c8aW?7zn!(6-4v3-y(!@sXYxM5 zcgHC1=hIQ{L=^=hgF?+0!pz z&N;SnUe}LWcY+C6k$04L(mb^t~=zI;uK!8TjvLx<9)>P8*y#eS6nnR^s{<3Lb)KBk0nx&d-mWxCWQ( zSTsyfrmPD7)JN!(c#cCKbaLYBwY4dTvj6Z4Z`zm>%6kT7uHEGA2_Z2l$w(_h6sm|% zxi1omA=(2Daw5*1F9kO;A&`3xif-^d{`28Ta`jqrahEH7#*{x@30{%6PY^=JoXnY@ zK_Lx1qp;I;5-rqGnRM0EFMbUwq(MvFq~nd1pyhQJ2_%&)w>;PmkPfsh<57%s{3U_^ z8=Z=uP_}F*40h%RUT zow0tW$72?}c{HK!YZ8aPj8G`L=@g6N8> zeL-GZ8I|UTB_xyOUj5PMjhBK8F~c!g$xdEU=e-=Y`43$joGZlkDl)#0k4;~L2Zy&h zFgM~P4klXCXSygu^+$db@$wWN{1_iG9-e|r{B_B0{G+Ej#V+4qegGKX=)!rEAnX&a zMG>r0Yw@5AV94~vTu@gBN20e-j`?UjCDLNG-Ye93Vv;41vJmrEAlt>%PTRv{y>PyurV0F{Hi#$Spk2 zYbL#R=gHM3s~(c5AHpsxrYWWiZi`-aOjoE33?Xpi<~_b>!Y?m_-jA{;nZh~mFM_;& z)ccYKJ*Z>>}(4+({V2$x1vh_l#YYazOH`C#od=09l>k@v@-%Isxfp-)-V^ z?@#+cK3c9`5$$tYR$?0={_SWV(gVrkAM!nq+BmPzf-H$}^~C6-17l9tegjTJ=n>

      *vGSxI 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 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/icons.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/icons.gif new file mode 100644 index 0000000000000000000000000000000000000000..78459dea7b12ccbeec81d19ecdab22b1658e93b4 GIT binary patch literal 453 zcmZ?wbhEHbbY#$A*vtR||Ns9FJNP^N(4UCIf1{56|NHmvpFe+o|NadW2g{=nia%Kx z85lSjbU>mYGZarn*x(aH@fLZq!wgUiaA+%BrQuMGlI(3v}$4ket=c%G-JG_a6@d zUMtW1Dv_dMk(#;&JDULU);6IIt*+RD80Beh(v#{r8-@JE7rOMyrKZ@`PM+5- zK4PEn@UifH&1a7opNKNDvAy~H((Lt@PiCLrh`sqL^yyzFM}*_N9gV+*y1bvCcd{tw zP+atQ`ojjtR_?nOH&4iCw(0v^v}@~SfpwBi-JHA%0-p_?kEd#ga=ENn_|&M5?L?$c z!i1+jT>6R+ul!uQ+^$n$Hm~o7%Nb0wJ#GK7NE~>4aE?#6+>{R=oUZeJnouMg`B^J) rUi3;Xl^IQMkE|4#X6EZ{`gBG$ultcLuMHMNRKNMR>qv$%6N5DXx{1lO literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/icons.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/icons.png new file mode 100644 index 0000000000000000000000000000000000000000..12e4700163ac87fa38ae3d92a2c39d0fb4690fed GIT binary patch literal 2678 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 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/left_focus.jpg b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/left_focus.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7886d276dda2e0aecdae22393eac534ed507babf GIT binary patch literal 11423 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 T+mF>-Zi@@LHB9%bmHhD^k7NPf literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/none_focus.jpg b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/none_focus.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7c768dcb47aaa289135afd2bd0e8eb0b6ecb7536 GIT binary patch literal 11546 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 C61Fb@ literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/right_focus.jpg b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/right_focus.jpg new file mode 100644 index 0000000000000000000000000000000000000000..173e10d2d91026c7283566993afb2f3a0267ea40 GIT binary patch literal 11334 zcmeG?3pkWpyWbf1Btl6P<1WnoTJD!zBB9!)(iopH8Z*O;Yl(LE+NG$7bQjf@9b!w; zMO3;XT_~H{rG$iTV$S-$LD~O4|NozJp7T8Cc}}a=`>plf*89HS`>nNREz(EQKOhY+ zcTaZ+BZq-Jz&}XZrtr`$o)-o|K0c5Y1VPG>5@s@l1uYEt2VwLe1+)!8A(-i7?Ffv; z2#*}#AwmE``k+Q*NN8Idw0CaiLGmNA$HDU+r1~`lg3L8WpH88|5ZKT!TqqHW!-XP4 zmjH_4VxAyW7$=5E1R{||B(MlfL(m|QSR^`70bvhgWaCPu5Oi2>OuyM->{#0bVFX1H zgB`I^@q0foGrswOG5g*R5R(ymF}8AJy5*0^)FIJAA|iWAzmFw?Lt@zlsi8gvyZAtI z(r!o{?Lna_h@`X`+5o93D=VugtEs4{X--g`ps6!SO>L5nu9lXLmX@xj8d^pkvd&*2 zX5xei6V)ebsH{yz*>3KCM87$Dr$leak4zHAPT3YKw7t38?oTB|NVDllaRLPpVM3dbU0#4 zuc;zpfRY*YN**wj$Bg)|A=K4!vyZh`qX6QoZdH7q)&CgcEh_P#s2yder7OSUb2 znX&XEvB%_Yz5V|AALa-LH!dD3jvMyW(!kz7zoxM+*}W%sNfC9}d;dAjUruvczAin^ zpE#tIW!e)N(7n1WvbA65xp8z;FlCbzY7#%+IfvL^`(kTj@`Az-)|?t0?l7Xv;Ze90 z`kg9;n(4`j_IBqQhX(W_*0^q4Svy=kD>>q3y^zD*n!h#m%NO>|M6ChR3c~Z*H4Yw^ z>uz4IDSYded3#l1%#PCE>WnTIh_eg=zf@&cnsR5`_LN9!2a|$JmiuUDyJ^3Yx ztF0dw#Rc>y;rky*p~D}|UhmA8*yg-RJm18r7YUQ^w7fL_k~yewRCg|GBTSzsZ|%FVpT`(iHoGeNA2Gv|evExU{}+ z(b?YK*DFtKvMWe)ahYY3wx-8cyt~Hkgi>zYP|4jPt7CGG6O6m82=Y&78WFBxs_0HiRmfXax9mekSzl0RPIhu9&(gt#Q#Pemn4oW8 zS@U)Fz=vSz{b$uu=zs(J*xOckP;F*WQeH!AQS$8MSHr`N^9N0((CxTk`3pv-`Ed@n zy5m}t>xYZ8XfyBd9d-?$?opFMIn$e858rJy7PNYCOCK$gLT^6~cS@oA!S*Km9fs&q zNM#L63ONi<=+;dR8`|AyXIE8f7cmrhU#s(Baf1|EH(;OTeYM_y_)zexkPakLhQAH5zLYOSz{OyieC!gC=V6I*nGpFUVQ?62oizm`ELuh10nw{N%}vbp|Ma#bVG=* zVBwH+l+}^A%>Y;kU2tS^)I+*hCjeyrAYBN|)DVQkUNN9A=<^{z$R;?z-v{)Oh3K#4 zdmJJ&x)6@>ea|q895D{*3S#(t@Icmb#SmePAXGd*B!UBaBXa&62@&*=R}BS%^_njf zaFI4r=D}f-@B7XYVdO|3HN&49K1xU35%YN*SiFcoPYi@HH3{+ zC2q7ZMl=qkD2(QDc>-7v6A5J0+yW5o^HCh=Ph`hPgmYm59L<)%p#T8|CWzn>W>pz8 zf3YoK4LCB4x`BCO9I*4aX57j4CLT=iKo~j z&}UwVP{>CVDvzSaF{^|NqZ6I@Jnm?uCdr)l7)1j~rBFDG9mAJ^rb;XvE%_VvMWg8P z>=Qz`E<(OA`n%w2%Je(W9U}k{$X6&pVyz+(isr{i#PDchAT(7zNTh$js)Yz8Aff&N zKLNbr@V~O7U!Db`3{nGC&fy)}mVITKXd5G&h2)WKsw|-~s1(8v$yWk^1ab5m0mX<#C{v*IH~k+6hq7$3{OWWyoQ$c9w1EtyK9kto)NBm#kfC(!X^f(?2+c>hVFq(@eGMP*~frKZKYygLiI6)v`$J+?R#-kcsVKFC~Cz9}l z0z*V28|+6^$OG zjERg>Jw`@f$EXkpu8+^(3yi+G$jGrF#1gky;Ko0D&thcx$NR%#VN5g!c8djO8jlVp z;e~w*=Q!gK$~e1Va3=Nl10j?#RuRi38fHttrUPtzMib!M&z|p2ln@(6xM5eY546J} zM@%*ZrVWV}NTjhyR2G#wi@;zJ2r^b5VJI&w;X76$0dNP7o<@yh1$h|CmazXNb0~)u zCX9|`gBbE6*<2VOA%eL$!?9PxLib5vWMCc{HN(e;1u}qKG^bjp)3ZI z>cn&=GD&22k{j^D*_}pkCX$&<0)@_CGMz_dU4@(&BvVFZL;nl1vi&og|KHPryipcV z0S0FypMf2Yh%-cyKOxD%kC7qi;BzDp@I(ZT(3kuR`Zw}I0S`oyG$Q8<#)*Ypd0beG zV5u}~5|s`r15~Cp`1q|!bPA{d$DmkK$plb|pbhX0vNefGvnCUW)?^|BRHikR1S**X za6k{804m_6BYi5MgG#25NwXQw6p|BzK_t?d6gMK3?(FWyaB^mnC^V|8JK33mGepvr z<;RPM`9Hbxz^f3Wu^^A5Ecu>78<9a%AplI7AQxy!CIgXWG7ugn1K|O=k3u2}5p7IV8KjV?ZtWXo2Ma3F99zrnM_1e*&mR%^5rH2O_z{605%>{-|3?w{b{YT+z!5+k z_^l5v%#B7a%pJkW0=T``z{+7|#|+3(11RVny6lGf--2@A3U;h~CyCq`%Z(BK-G=na z*d02!be7$rS3@_zQL`Ml0RC1KmE@HnIR#a4UJ5AR@Q{L{yb?fQlt-@3701LB!F9V5 zpiG^jtf{SIZZU1LmaZi@vsM5X+u&+@23+4GXXX9ew?fSAjuS($@x%kSuI6k`u$ggrTl!nQ^xMfros_z)@{aWF zH*5XxeMz@`)cclZCJOPqug{N;UUy^d=4E^LhuRG>>VrE{_iSoDoeWefW8}c!5kQ$% zMpqIVixU^jxk-Cd?xQ}{_xhQHRo5aeCRy&d^-J+l#jW91l~-$Vu|My5{5~>mre7a8^v&GP%a6BcZkreBNMIf)t&6>2h9Gk|T`t^cMcw7+lN*TSm>+5<{v zvH?Lj6`+X)PA?+5N!a>T(88W;>_q&p&h0Zcu5|A&RwOQ&PKr?@^t!rkxfJhWRg_O5 zxY^rXi0d%glxkX6qPpBIE9C1zMS^Ntt`geYOjs0O&WXh#*>9i)_{jGGlu)IsY)FG z;McFJeSz?kv`^mF#kw_Ywbil9JNH=P+G?Teq%YfSx>l6$HmZnyoiV{b&@aj&i}FCl z^X&B{FAMoU|GZ5n-K$>P*wW#1_9e5KD~_)^*V9yWgejkyB&x}Dsa;XH)^hs)pRI2;5wnRnPXOKWn0_=yN(h&0^s+ zi@CW^yI%#Kcs{5vYQ1U@Y^>0-GvBnnx#Yk+xn}G-zh9>8FYQk8dpCP(%&Kh1it}Ep zrZ~B(t~B)Y$lQI-Yo6J%`zDTu7Pn-+ecKY1`b)y1_={CD3&Sb{bcZvFK9`r*7_4p~ z8Jn-rjQ7B-6yrD-gnp^p;-xpuI~a<$9~@CBaPbbl-Nfl}*%lr*Wy$eVsw6=M7Y-pZA+oFj6&fe9I266P|pHp9L+Yw`%ap!%@HR3eO z$lRB?4%)`gX;pWt%HO=oUo+6~`c$s(F<*~qdD)vhIh1B2-M0@1TA#0KuuUxdvikVb z_l>W9$-%uTNS+b)3-6QXpY10L(Tu_(8P)%)yvSfZC#_pQ=h&I2Ee?^ZV>{0@K6$>q zOcZq{Brp%RD0at@rC)Qaho|iuT<$bucl*{4A@5%dr*v1DM;+Sm(!OEEZpq#Gzdnka z6}Kzm{o^TRH{9yxJ-N{55!;kUDWP@xEHfph#FW^*@OXG!Wrb?fhajcoq_D1*LmCOZ zIgRP@HN0Gn4JVl9!r8`Cv=1(yn4X%jVPng3awKbehPo1#{rI&>>0;}18fup-I)iSR z*$?n6yuQRxPnv1T*IG^skzYd>)So%nJ!?vrD`W3UM{>eS-+5U2rl%M6`te5ZSVgnf zTf%d;^yV9Sh!Jl5dm($%4B21`anx(&BgR4+i(E7V}8Bb%y`J#9u{)Np?mikrP@KmR5 zUDs!3X@WH{Zx3dQiXkoT_WiCoDe}Qv_jqo)MM?| zw7RnNV@z=d?eXf5&k|h*}UvDmPGy<>G}87sK1)jU9)H(>8u zsk-_0V%WoTk?*u4ZMIdHq)_Rbhk0Lj-);0^CD|YEo$QI%?sHxeTcgoj*im)mVg8!E z4j*a*&%HEH(~1d73|zxZ{O#nVeA;uKE-XI*)|@p2)M6F*j5O?+2(VM=k=s5fMOYXFl%XP zhV}D!$tlfPV#ofpoo@OEZW^+g-gJ)wu0`U8AZF#t{}C({j{#*@du(M%^Gk(Ud=Uw8})cm={>K-n27zQ znc8ZHp``2E`K{31&6-*PrO%$(zEqj3a#*5!AzM7%zEFHU^~K3)(x%!<;=T7H)Tbt*!j@a^RF5ceZG#hP=RY zY$#W)DqjVk_%bbZkK?%={>#-`w-}|sw>R8AeV_#T&i;eu#Usik$jwmWQ`8@ArMs05AYd!b8eB7Z%je=H-nki=PT@GCR^;4C6 zboPj{CtFzQ%SY044>na+M5Yh74qZ+3emJC1#rm`C&f&qeNAKNhDaRiUgZ!JnVcWgRClBMV5d!$k0kir+5-b?54NS>y|b2{zW2HG@qYmKL(QcC literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/success.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/success.gif new file mode 100644 index 0000000000000000000000000000000000000000..8d4f3112b9d1df2147ed3b67d9736163dedd11e1 GIT binary patch literal 445 zcmZ?wbhEHb)L_tHxXJ(m|NsC0{`>#WKmY&!`~ULm|4%>v3rzVXIOUh{)L$ageu+>2 zB{Acd%*pZwE#>TlQSztb-KopJH+%!_|l-~7Ag*59?a z{_c7B@6_{ur(gU#_wwKE_y6vG`1j=VzZYNsfBgCX$DjXizW@L859r4KV8@~pia%Kx z85k@WbU+dyKQXY~a+p)#p(E9QVoA}-BeJtDJbfs+R&065YSGzOop#2q7tzUUTK@E- z1Qpqe*fm*b*T-Fam_8!ZPiJg?eRTb9ku+5;xVnw>Wr$>Ce}(b zvq{bgY~#~oR8Cparp&0%zbdUw!o*Z6ds70hP&$teqekA&7*16-748@%Mnl0vSqU6+ zOpICr!NSHY@7SLk+rBLP3&#jWP!Xxbb jiN%_{Rv%uKKTTNF#>acL^G5)OtDBg<-IWs>91PX~W`xy? literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/success.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/images/success.png new file mode 100644 index 0000000000000000000000000000000000000000..94f968dc8fd3c7ca8f6cb599d006ef3f23b62c7d GIT binary patch literal 1621 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m{l@EB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvO-#?>2=9ZF3nBND}m`vLFhHXsTY(OatnYqyQCInmZhe+73JqDfIV%MiQ6rPIL(9V zO~LIJBb<8mfsWA!MJ-ZP!-Rn82gHOYTp$OY^i%VI>AeV;u(vXbonl~MI_~M>7*cWT z%njcRVMh`65C6~Q2yI{K`NBQQh9heAinXE1(JfB=Ul%M;Ke#x6g%L8^f5l4Te zj&BcK1znDIyZS2~eC7F3K+}tVTa$=u*HTU0W4>0#`+Qf%|GkyBERBs#$Y}P@k7@U2 zd#*XsYr~WGeCA1uSK>2HTD)g9mP}Xrpg$+`K&8dx2JS~bjCx(hj5}1;-8qn2_>|?> zp{d+2q{I0hbQS!U-jOut`kSEi+IhQJGmBl4O%se*W?OGKZ0Mp?XmGnRgezL^8vCJ4 z#-ek9(R&%4!h+;oXA~Mtbyie=u#0PDiI#!iX`%2?^@kRL8ma*r6?+*}W4e|_8~J&& z+-+*Ub3{dDcAIF|!MTDz0#78qKYeaeVU$wDOOs3cR=e5FZ*O2e-6xc{Uu=$;!s>*M z>nZ|V>zUp8-oE6^wXjV+_UOvuE&SORr`;3hnBKu~e3rzlY@NRjD|5Ui2t>^@Ve7jy z)2vT>u1vesjJgG`f;l_n`FmbR~b^~{VzXB}7CdU_pt>lO9l=E;X#4<2bZu32r~J^e^%TSISQ_Qm$= z7d{rOo2%^RUGseJkpn9(MWszUQdl(i&RN5PBgZ0d#S7ZipShU3W`>Nsy6C#pCD*KW zyxHW%b?m|pr;dF;L$saa#oaeO`u=>jkXTjl9*cLEvOD!Jdr4ooKJW9gY7?D{e?uM^ z`_}E4`0yR0boA=9>3>WXzUH{&pDfpZ;_2xb=j*pKsk#WyD%J#5t{1#azeB z4SJq8H2*dJVX$xugZHVh{7U`u4@oM|quz5j-hRJi{qwh1k5uNqu`W>3HJG&Y^R}6R z$Gq-HPue$sd${oT*XKO8zN>Oe_%K^bZNm3^-vf7@5X# + + + + + + + + +

      + + + + + + + + + + + + \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/video.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/video.js new file mode 100644 index 0000000..a8c34d9 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/video/video.js @@ -0,0 +1,791 @@ +/** + * Created by JetBrains PhpStorm. + * User: taoqili + * Date: 12-2-20 + * Time: 上午11:19 + * To change this template use File | Settings | File Templates. + */ + +(function(){ + + var video = {}, + uploadVideoList = [], + isModifyUploadVideo = false, + uploadFile; + + window.onload = function(){ + $focus($G("videoUrl")); + initTabs(); + initVideo(); + initUpload(); + }; + + /* 初始化tab标签 */ + function initTabs(){ + var tabs = $G('tabHeads').children; + for (var i = 0; i < tabs.length; i++) { + domUtils.on(tabs[i], "click", function (e) { + var j, bodyId, target = e.target || e.srcElement; + for (j = 0; j < tabs.length; j++) { + bodyId = tabs[j].getAttribute('data-content-id'); + if(tabs[j] == target){ + domUtils.addClass(tabs[j], 'focus'); + domUtils.addClass($G(bodyId), 'focus'); + }else { + domUtils.removeClasses(tabs[j], 'focus'); + domUtils.removeClasses($G(bodyId), 'focus'); + } + } + }); + } + } + + function initVideo(){ + createAlignButton( ["videoFloat", "upload_alignment"] ); + addUrlChangeListener($G("videoUrl")); + addOkListener(); + + //编辑视频时初始化相关信息 + (function(){ + var img = editor.selection.getRange().getClosedNode(),url; + if(img && img.className){ + var hasFakedClass = (img.className == "edui-faked-video"), + hasUploadClass = img.className.indexOf("edui-upload-video")!=-1; + if(hasFakedClass || hasUploadClass) { + $G("videoUrl").value = url = img.getAttribute("_url"); + $G("videoWidth").value = img.width; + $G("videoHeight").value = img.height; + var align = domUtils.getComputedStyle(img,"float"), + parentAlign = domUtils.getComputedStyle(img.parentNode,"text-align"); + updateAlignButton(parentAlign==="center"?"center":align); + } + if(hasUploadClass) { + isModifyUploadVideo = true; + } + } + createPreviewVideo(url); + })(); + } + + /** + * 监听确认和取消两个按钮事件,用户执行插入或者清空正在播放的视频实例操作 + */ + function addOkListener(){ + dialog.onok = function(){ + $G("preview").innerHTML = ""; + var currentTab = findFocus("tabHeads","tabSrc"); + switch(currentTab){ + case "video": + return insertSingle(); + break; + case "videoSearch": + return insertSearch("searchList"); + break; + case "upload": + return insertUpload(); + break; + } + }; + dialog.oncancel = function(){ + $G("preview").innerHTML = ""; + }; + } + + /** + * 依据传入的align值更新按钮信息 + * @param align + */ + function updateAlignButton( align ) { + var aligns = $G( "videoFloat" ).children; + for ( var i = 0, ci; ci = aligns[i++]; ) { + if ( ci.getAttribute( "name" ) == align ) { + if ( ci.className !="focus" ) { + ci.className = "focus"; + } + } else { + if ( ci.className =="focus" ) { + ci.className = ""; + } + } + } + } + + /** + * 将单个视频信息插入编辑器中 + */ + function insertSingle(){ + var width = $G("videoWidth"), + height = $G("videoHeight"), + url=$G('videoUrl').value, + align = findFocus("videoFloat","name"); + if(!url) return false; + if ( !checkNum( [width, height] ) ) return false; + editor.execCommand('insertvideo', { + url: convert_url(url), + width: width.value, + height: height.value, + align: align + }, isModifyUploadVideo ? 'upload':null); + } + + /** + * 将元素id下的所有代表视频的图片插入编辑器中 + * @param id + */ + function insertSearch(id){ + var imgs = domUtils.getElementsByTagName($G(id),"img"), + videoObjs=[]; + for(var i=0,img; img=imgs[i++];){ + if(img.getAttribute("selected")){ + videoObjs.push({ + url:img.getAttribute("ue_video_url"), + width:420, + height:280, + align:"none" + }); + } + } + editor.execCommand('insertvideo',videoObjs); + } + + /** + * 找到id下具有focus类的节点并返回该节点下的某个属性 + * @param id + * @param returnProperty + */ + function findFocus( id, returnProperty ) { + var tabs = $G( id ).children, + property; + for ( var i = 0, ci; ci = tabs[i++]; ) { + if ( ci.className=="focus" ) { + property = ci.getAttribute( returnProperty ); + break; + } + } + return property; + } + function convert_url(url){ + if ( !url ) return ''; + url = utils.trim(url) + .replace(/v\.youku\.com\/v_show\/id_([\w\-=]+)\.html/i, 'player.youku.com/player.php/sid/$1/v.swf') + .replace(/(www\.)?youtube\.com\/watch\?v=([\w\-]+)/i, "www.youtube.com/v/$2") + .replace(/youtu.be\/(\w+)$/i, "www.youtube.com/v/$1") + .replace(/v\.ku6\.com\/.+\/([\w\.]+)\.html.*$/i, "player.ku6.com/refer/$1/v.swf") + .replace(/www\.56\.com\/u\d+\/v_([\w\-]+)\.html/i, "player.56.com/v_$1.swf") + .replace(/www.56.com\/w\d+\/play_album\-aid\-\d+_vid\-([^.]+)\.html/i, "player.56.com/v_$1.swf") + .replace(/v\.pps\.tv\/play_([\w]+)\.html.*$/i, "player.pps.tv/player/sid/$1/v.swf") + .replace(/www\.letv\.com\/ptv\/vplay\/([\d]+)\.html.*$/i, "i7.imgs.letv.com/player/swfPlayer.swf?id=$1&autoplay=0") + .replace(/www\.tudou\.com\/programs\/view\/([\w\-]+)\/?/i, "www.tudou.com/v/$1") + .replace(/v\.qq\.com\/cover\/[\w]+\/[\w]+\/([\w]+)\.html/i, "static.video.qq.com/TPout.swf?vid=$1") + .replace(/v\.qq\.com\/.+[\?\&]vid=([^&]+).*$/i, "static.video.qq.com/TPout.swf?vid=$1") + .replace(/my\.tv\.sohu\.com\/[\w]+\/[\d]+\/([\d]+)\.shtml.*$/i, "share.vrs.sohu.com/my/v.swf&id=$1"); + + return url; + } + + /** + * 检测传入的所有input框中输入的长宽是否是正数 + * @param nodes input框集合, + */ + function checkNum( nodes ) { + for ( var i = 0, ci; ci = nodes[i++]; ) { + var value = ci.value; + if ( !isNumber( value ) && value) { + alert( lang.numError ); + ci.value = ""; + ci.focus(); + return false; + } + } + return true; + } + + /** + * 数字判断 + * @param value + */ + function isNumber( value ) { + return /(0|^[1-9]\d*$)/.test( value ); + } + + /** + * 创建图片浮动选择按钮 + * @param ids + */ + function createAlignButton( ids ) { + for ( var i = 0, ci; ci = ids[i++]; ) { + var floatContainer = $G( ci ), + nameMaps = {"none":lang['default'], "left":lang.floatLeft, "right":lang.floatRight, "center":lang.block}; + for ( var j in nameMaps ) { + var div = document.createElement( "div" ); + div.setAttribute( "name", j ); + if ( j == "none" ) div.className="focus"; + div.style.cssText = "background:url(images/" + j + "_focus.jpg);"; + div.setAttribute( "title", nameMaps[j] ); + floatContainer.appendChild( div ); + } + switchSelect( ci ); + } + } + + /** + * 选择切换 + * @param selectParentId + */ + function switchSelect( selectParentId ) { + var selects = $G( selectParentId ).children; + for ( var i = 0, ci; ci = selects[i++]; ) { + domUtils.on( ci, "click", function () { + for ( var j = 0, cj; cj = selects[j++]; ) { + cj.className = ""; + cj.removeAttribute && cj.removeAttribute( "class" ); + } + this.className = "focus"; + } ) + } + } + + /** + * 监听url改变事件 + * @param url + */ + function addUrlChangeListener(url){ + if (browser.ie) { + url.onpropertychange = function () { + createPreviewVideo( this.value ); + } + } else { + url.addEventListener( "input", function () { + createPreviewVideo( this.value ); + }, false ); + } + } + + /** + * 根据url生成视频预览 + * @param url + */ + function createPreviewVideo(url){ + if ( !url )return; + + var conUrl = convert_url(url); + + conUrl = utils.unhtmlForUrl(conUrl); + + $G("preview").innerHTML = '
      '+lang.urlError+'
      '+ + '' + + ''; + } + + + /* 插入上传视频 */ + function insertUpload(){ + var videoObjs=[], + uploadDir = editor.getOpt('videoUrlPrefix'), + width = parseInt($G('upload_width').value, 10) || 420, + height = parseInt($G('upload_height').value, 10) || 280, + align = findFocus("upload_alignment","name") || 'none'; + for(var key in uploadVideoList) { + var file = uploadVideoList[key]; + videoObjs.push({ + url: uploadDir + file.url, + width:width, + height:height, + align:align + }); + } + + var count = uploadFile.getQueueCount(); + if (count) { + $('.info', '#queueList').html('' + '还有2个未上传文件'.replace(/[\d]/, count) + ''); + return false; + } else { + editor.execCommand('insertvideo', videoObjs, 'upload'); + } + } + + /*初始化上传标签*/ + function initUpload(){ + uploadFile = new UploadFile('queueList'); + } + + + /* 上传附件 */ + function UploadFile(target) { + this.$wrap = target.constructor == String ? $('#' + target) : $(target); + this.init(); + } + UploadFile.prototype = { + init: function () { + this.fileList = []; + this.initContainer(); + this.initUploader(); + }, + initContainer: function () { + this.$queue = this.$wrap.find('.filelist'); + }, + /* 初始化容器 */ + initUploader: function () { + var _this = this, + $ = jQuery, // just in case. Make sure it's not an other libaray. + $wrap = _this.$wrap, + // 图片容器 + $queue = $wrap.find('.filelist'), + // 状态栏,包括进度和控制按钮 + $statusBar = $wrap.find('.statusBar'), + // 文件总体选择信息。 + $info = $statusBar.find('.info'), + // 上传按钮 + $upload = $wrap.find('.uploadBtn'), + // 上传按钮 + $filePickerBtn = $wrap.find('.filePickerBtn'), + // 上传按钮 + $filePickerBlock = $wrap.find('.filePickerBlock'), + // 没选择文件之前的内容。 + $placeHolder = $wrap.find('.placeholder'), + // 总体进度条 + $progress = $statusBar.find('.progress').hide(), + // 添加的文件数量 + fileCount = 0, + // 添加的文件总大小 + fileSize = 0, + // 优化retina, 在retina下这个值是2 + ratio = window.devicePixelRatio || 1, + // 缩略图大小 + thumbnailWidth = 113 * ratio, + thumbnailHeight = 113 * ratio, + // 可能有pedding, ready, uploading, confirm, done. + state = '', + // 所有文件的进度信息,key为file id + percentages = {}, + supportTransition = (function () { + var s = document.createElement('p').style, + r = 'transition' in s || + 'WebkitTransition' in s || + 'MozTransition' in s || + 'msTransition' in s || + 'OTransition' in s; + s = null; + return r; + })(), + // WebUploader实例 + uploader, + actionUrl = editor.getActionUrl(editor.getOpt('videoActionName')), + fileMaxSize = editor.getOpt('videoMaxSize'), + acceptExtensions = (editor.getOpt('videoAllowFiles') || []).join('').replace(/\./g, ',').replace(/^[,]/, '');; + + if (!WebUploader.Uploader.support()) { + $('#filePickerReady').after($('
      ').html(lang.errorNotSupport)).hide(); + return; + } else if (!editor.getOpt('videoActionName')) { + $('#filePickerReady').after($('
      ').html(lang.errorLoadConfig)).hide(); + return; + } + + uploader = _this.uploader = WebUploader.create({ + pick: { + id: '#filePickerReady', + label: lang.uploadSelectFile + }, + swf: '../../third-party/webuploader/Uploader.swf', + server: actionUrl, + fileVal: editor.getOpt('videoFieldName'), + duplicate: true, + fileSingleSizeLimit: fileMaxSize, + compress: false + }); + uploader.addButton({ + id: '#filePickerBlock' + }); + uploader.addButton({ + id: '#filePickerBtn', + label: lang.uploadAddFile + }); + + setState('pedding'); + + // 当有文件添加进来时执行,负责view的创建 + function addFile(file) { + var $li = $('
    • ' + + '

      ' + file.name + '

      ' + + '

      ' + + '

      ' + + '
    • '), + + $btns = $('
      ' + + '' + lang.uploadDelete + '' + + '' + lang.uploadTurnRight + '' + + '' + lang.uploadTurnLeft + '
      ').appendTo($li), + $prgress = $li.find('p.progress span'), + $wrap = $li.find('p.imgWrap'), + $info = $('

      ').hide().appendTo($li), + + showError = function (code) { + switch (code) { + case 'exceed_size': + text = lang.errorExceedSize; + break; + case 'interrupt': + text = lang.errorInterrupt; + break; + case 'http': + text = lang.errorHttp; + break; + case 'not_allow_type': + text = lang.errorFileType; + break; + default: + text = lang.errorUploadRetry; + break; + } + $info.text(text).show(); + }; + + if (file.getStatus() === 'invalid') { + showError(file.statusText); + } else { + $wrap.text(lang.uploadPreview); + if ('|png|jpg|jpeg|bmp|gif|'.indexOf('|'+file.ext.toLowerCase()+'|') == -1) { + $wrap.empty().addClass('notimage').append('' + + '' + file.name + ''); + } else { + if (browser.ie && browser.version <= 7) { + $wrap.text(lang.uploadNoPreview); + } else { + uploader.makeThumb(file, function (error, src) { + if (error || !src || (/^data:/.test(src) && browser.ie && browser.version <= 7)) { + $wrap.text(lang.uploadNoPreview); + } else { + var $img = $(''); + $wrap.empty().append($img); + $img.on('error', function () { + $wrap.text(lang.uploadNoPreview); + }); + } + }, thumbnailWidth, thumbnailHeight); + } + } + percentages[ file.id ] = [ file.size, 0 ]; + file.rotation = 0; + + /* 检查文件格式 */ + if (!file.ext || acceptExtensions.indexOf(file.ext.toLowerCase()) == -1) { + showError('not_allow_type'); + uploader.removeFile(file); + } + } + + file.on('statuschange', function (cur, prev) { + if (prev === 'progress') { + $prgress.hide().width(0); + } else if (prev === 'queued') { + $li.off('mouseenter mouseleave'); + $btns.remove(); + } + // 成功 + if (cur === 'error' || cur === 'invalid') { + showError(file.statusText); + percentages[ file.id ][ 1 ] = 1; + } else if (cur === 'interrupt') { + showError('interrupt'); + } else if (cur === 'queued') { + percentages[ file.id ][ 1 ] = 0; + } else if (cur === 'progress') { + $info.hide(); + $prgress.css('display', 'block'); + } else if (cur === 'complete') { + } + + $li.removeClass('state-' + prev).addClass('state-' + cur); + }); + + $li.on('mouseenter', function () { + $btns.stop().animate({height: 30}); + }); + $li.on('mouseleave', function () { + $btns.stop().animate({height: 0}); + }); + + $btns.on('click', 'span', function () { + var index = $(this).index(), + deg; + + switch (index) { + case 0: + uploader.removeFile(file); + return; + case 1: + file.rotation += 90; + break; + case 2: + file.rotation -= 90; + break; + } + + if (supportTransition) { + deg = 'rotate(' + file.rotation + 'deg)'; + $wrap.css({ + '-webkit-transform': deg, + '-mos-transform': deg, + '-o-transform': deg, + 'transform': deg + }); + } else { + $wrap.css('filter', 'progid:DXImageTransform.Microsoft.BasicImage(rotation=' + (~~((file.rotation / 90) % 4 + 4) % 4) + ')'); + } + + }); + + $li.insertBefore($filePickerBlock); + } + + // 负责view的销毁 + function removeFile(file) { + var $li = $('#' + file.id); + delete percentages[ file.id ]; + updateTotalProgress(); + $li.off().find('.file-panel').off().end().remove(); + } + + function updateTotalProgress() { + var loaded = 0, + total = 0, + spans = $progress.children(), + percent; + + $.each(percentages, function (k, v) { + total += v[ 0 ]; + loaded += v[ 0 ] * v[ 1 ]; + }); + + percent = total ? loaded / total : 0; + + spans.eq(0).text(Math.round(percent * 100) + '%'); + spans.eq(1).css('width', Math.round(percent * 100) + '%'); + updateStatus(); + } + + function setState(val, files) { + + if (val != state) { + + var stats = uploader.getStats(); + + $upload.removeClass('state-' + state); + $upload.addClass('state-' + val); + + switch (val) { + + /* 未选择文件 */ + case 'pedding': + $queue.addClass('element-invisible'); + $statusBar.addClass('element-invisible'); + $placeHolder.removeClass('element-invisible'); + $progress.hide(); $info.hide(); + uploader.refresh(); + break; + + /* 可以开始上传 */ + case 'ready': + $placeHolder.addClass('element-invisible'); + $queue.removeClass('element-invisible'); + $statusBar.removeClass('element-invisible'); + $progress.hide(); $info.show(); + $upload.text(lang.uploadStart); + uploader.refresh(); + break; + + /* 上传中 */ + case 'uploading': + $progress.show(); $info.hide(); + $upload.text(lang.uploadPause); + break; + + /* 暂停上传 */ + case 'paused': + $progress.show(); $info.hide(); + $upload.text(lang.uploadContinue); + break; + + case 'confirm': + $progress.show(); $info.hide(); + $upload.text(lang.uploadStart); + + stats = uploader.getStats(); + if (stats.successNum && !stats.uploadFailNum) { + setState('finish'); + return; + } + break; + + case 'finish': + $progress.hide(); $info.show(); + if (stats.uploadFailNum) { + $upload.text(lang.uploadRetry); + } else { + $upload.text(lang.uploadStart); + } + break; + } + + state = val; + updateStatus(); + + } + + if (!_this.getQueueCount()) { + $upload.addClass('disabled') + } else { + $upload.removeClass('disabled') + } + + } + + function updateStatus() { + var text = '', stats; + + if (state === 'ready') { + text = lang.updateStatusReady.replace('_', fileCount).replace('_KB', WebUploader.formatSize(fileSize)); + } else if (state === 'confirm') { + stats = uploader.getStats(); + if (stats.uploadFailNum) { + text = lang.updateStatusConfirm.replace('_', stats.successNum).replace('_', stats.successNum); + } + } else { + stats = uploader.getStats(); + text = lang.updateStatusFinish.replace('_', fileCount). + replace('_KB', WebUploader.formatSize(fileSize)). + replace('_', stats.successNum); + + if (stats.uploadFailNum) { + text += lang.updateStatusError.replace('_', stats.uploadFailNum); + } + } + + $info.html(text); + } + + uploader.on('fileQueued', function (file) { + fileCount++; + fileSize += file.size; + + if (fileCount === 1) { + $placeHolder.addClass('element-invisible'); + $statusBar.show(); + } + + addFile(file); + }); + + uploader.on('fileDequeued', function (file) { + fileCount--; + fileSize -= file.size; + + removeFile(file); + updateTotalProgress(); + }); + + uploader.on('filesQueued', function (file) { + if (!uploader.isInProgress() && (state == 'pedding' || state == 'finish' || state == 'confirm' || state == 'ready')) { + setState('ready'); + } + updateTotalProgress(); + }); + + uploader.on('all', function (type, files) { + switch (type) { + case 'uploadFinished': + setState('confirm', files); + break; + case 'startUpload': + /* 添加额外的GET参数 */ + var params = utils.serializeParam(editor.queryCommandValue('serverparam')) || '', + url = utils.formatUrl(actionUrl + (actionUrl.indexOf('?') == -1 ? '?':'&') + 'encode=utf-8&' + params); + uploader.option('server', url); + setState('uploading', files); + break; + case 'stopUpload': + setState('paused', files); + break; + } + }); + + uploader.on('uploadBeforeSend', function (file, data, header) { + //这里可以通过data对象添加POST参数 + header['X_Requested_With'] = 'XMLHttpRequest'; + }); + + uploader.on('uploadProgress', function (file, percentage) { + var $li = $('#' + file.id), + $percent = $li.find('.progress span'); + + $percent.css('width', percentage * 100 + '%'); + percentages[ file.id ][ 1 ] = percentage; + updateTotalProgress(); + }); + + uploader.on('uploadSuccess', function (file, ret) { + var $file = $('#' + file.id); + try { + var responseText = (ret._raw || ret), + json = utils.str2json(responseText); + if (json.state == 'SUCCESS') { + uploadVideoList.push({ + 'url': json.url, + 'type': json.type, + 'original':json.original + }); + $file.append(''); + } else { + $file.find('.error').text(json.state).show(); + } + } catch (e) { + $file.find('.error').text(lang.errorServerUpload).show(); + } + }); + + uploader.on('uploadError', function (file, code) { + }); + uploader.on('error', function (code, file) { + if (code == 'Q_TYPE_DENIED' || code == 'F_EXCEED_SIZE') { + addFile(file); + } + }); + uploader.on('uploadComplete', function (file, ret) { + }); + + $upload.on('click', function () { + if ($(this).hasClass('disabled')) { + return false; + } + + if (state === 'ready') { + uploader.upload(); + } else if (state === 'paused') { + uploader.upload(); + } else if (state === 'uploading') { + uploader.stop(); + } + }); + + $upload.addClass('state-' + state); + updateTotalProgress(); + }, + getQueueCount: function () { + var file, i, status, readyFile = 0, files = this.uploader.getFiles(); + for (i = 0; file = files[i++]; ) { + status = file.getStatus(); + if (status == 'queued' || status == 'uploading' || status == 'progress') readyFile++; + } + return readyFile; + }, + refresh: function(){ + this.uploader.refresh(); + } + }; + +})(); diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/webapp/webapp.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/webapp/webapp.html new file mode 100644 index 0000000..1614377 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/webapp/webapp.html @@ -0,0 +1,53 @@ + + + + + + + + + +
      +
      +
      + + + \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/fClipboard_ueditor.swf b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/fClipboard_ueditor.swf new file mode 100644 index 0000000000000000000000000000000000000000..ac5d27f81d2111c8581a042564c5275edd751e1c GIT binary patch literal 1908 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
      ukC`1!p{x~JlsV7pDC73)_A$z0@ zf^VaotsN!9;`kLMvs4Vn;#33;L+{;zJb>YMTdz$s7T-T|zB}YO>oX`}$_XWnbT{0afRR z%S4AgM29@-EegyIYLzu{$yI#u3vIyrsyii5+ZVF;w1bDsXf^=VS$z262*2BhA1-^^ z!H`tI@A2Uq5q__PY9$qSfew0? z7hjV+jYVD{D$h{W@mVCNpD-={h9rxJ3xElT20Q52x7l_tnFl8=t$D7|0LAK}$kGxM-nJ;e;gCxrQpTr&QNZwGV3a#Cih+0=wj z4d=3%(Q>5~>JM_bnxlwvJhvF7L)AjKmh|8B^Z`*vMbdO}DF7|Dl?mlFge-R#JgRK6WapvV$YicR9kD(c=KR+C%KGxswWBvHq+s6`m8l$9(!ebhtVUI|z z8qRd{bZR)~3t{R~)b)`{p(Fea%xkN)_*}(e@kwDziqBUpIX*dTDe;HHmKvWDwzT-v zu%*YRg)QSI!(Of7JourMbd>n?aO|iYpAojMzDb6u4V8u@4Wzt!V$6wydVl+%o|s`) z+B3|=8+xVvhMt9@>~V6UQ6~OeX+MO2#^axfz^lunJi28BsrUzBquM< zG(*R333iqDY4;W8>*S?bK=ld@+2jW#XcC7RhaBcZ+T9w6{_!%Yj5_uN`G*ch zyZmOHT=#)g#Bq*Ns!K^M8817P@A16))dIt7)F{d5yC-6xceOH30HflrAPz$5DJkvVhY z>8tONC3=mecB&i_x$fcYML_OB7*<9qvQvQcKjKX1GYQpAh>4GtlMON*cY|xV%$58; zmry(FRVDydOQRZAOKsV@m0H~x8Tv-`7@1YC)ELItV`Wmj8!L0gJG{lrbxa%#M9*ne z%wfWX(s9Z~nK%LS7^KJ?WH6&))Nns)IFCBSaGuK?m$+{0{W8CJJvj`l9My918t_we z)t%v0cQmosoFg~h&vh%4T&?9YEoSX1k_Jvvm;Ooccx<}Y5qVgvd1~0qF2ar$rA74; zYRX@u8Zodr%%~iX#bFRaH_O(}kVAA~oJW3WET}4t(DIl3Ghw|((38Rh-3-v@d(cM> z>asZ8L?kLw$Y|#6Tf8fAorpSvi4T07hHB!qXg{=S4TT*mH5Qy)Oh zF)`mp88?WldA_urK?Nd2<`L6k<-LPN%?K3LWf3D}*B;W`)3CBj;r}fcxNF1zLd5~u zw`|iS%W|Y7pg(n|EVD?-&(BH2DLGrhXUCG_=r+kuZj<8RHo466;+~!G;z2tVG5R#8 zK`?nGW=p;nLNNC+#o3K1E=+hm^#ioQBTj#y{puc*@cbunpX8nZ)vb_%XFzu$DN$0c zn`fSO>wL0=zgsT!EWWfNTe(+OyEC>I#%(%+%aIbkGU1YaX1>`_kyh#|YAQkv6;)|9 zJ~v#uz+@@aseROBc}t#kds?#w-=1HW($=rOJ*`8~%%PSv8()v^?jKTw*4>^qQff+t z%u_}VnL*01{$}P-5xdTYaE!!q7n&t#okHbqn+L9iczeESU4MJpqyleGhoi%Bsx=?H zy((>f!-~%KoW|^Vu6te;)T``~Z=@nt$s^YFb9rRM(zqu|9(45qSNPj0m=iJU${aV- zie;_0*gET*vxef16G&xNI2En}LcyXdoGQ64Wv29Azb_P0+RzK3n@R8k(ej(2P&5UV z5LgUFEF{80o@*(y35$W3V2OBFK7e=;-eF3i1o7@M7pO~k54@BRR*4$+YL&?Qm|4BZ zWDRnD*{o{=mz=VTBh!NBJMrE=31eiy+F#&K(0Ug#Ecohmubl z>xX(wsC!DelDYj9W*<4#-3lSw>y8Gu$|AJo`rKB z$R*yX)%`LaQ*k+aHby=m7ae0gNb%>3_-tmjOj2j<0y!k^SB{nOcnDVlgJk;=IXg(P z=VC_VWLW5FcPY5_x5R9twQgkxo^vSu8fGYIHCsDhMipzB3le*S+UXHm{X-NgWh`(N z;KBc%M0VdF3k1C{g389TP~8%?zB4C5WO2rgq{3Q-C+UA_!7dxm)Tx60N3}&}#aQvYSG@Du<_*njP-OB94P9FnrwgatvK>9uH}0341jxV3|D!I>sD#0lQe{2a|J1y5=v>JW7K3 zL$V%Gwb=?v&`^N~B+3pjj2zg|l1qL}2<34~m zg3lp>4Ru4I@Q;PU9fiU@csn(p$7wF5 z)jnscb$P}5aZO%f4SDE4Myx@q|5QmCqNgw9J;g}&%N$2jr{t~c50!_S_aE4&roYnA zALKmI)+xo+b;a|z+LNS!JYH60RU05QcAn-MJMFnavZwvq%5~M;Q`QNx8CJCq=qUtb zGL?AD8cFjjm>yowo7@nkhZzNYrZiNv``iP!vkbvKOzc7+XQzz5kZm5uD~5yQ#~Fxe zl^pHxYhcH$4pVz9>_kOh;BkCg@Mi9cXM z2A`@oDVzc+ok)t0koYjfdqrd08?mYuG|b$X|(S- zA>oY-Oj|r6CjYNc<(aQUm4^xECKqRV>L};Wr-Y+7od)oKq6mNP`+|++bb-zkJg7x3 z-iO8AfY)8T*a!_Urv^mlKQW(7?TtRV|YXf zMUdebx(v%rNeqRS-oa)iJ6LNnXh9|^%ta)(LBtm^ACuU{V7~F}$JBk!&PlH&|3)E#eTtTw?tu6DJ_vbE2U+_gYP73mGKZ+oL(!)TV)6FV46Mmt&3 zx4@CuPGP$cRo4Os!Uarlpb9j%z=6QqizB!Nj^qI{8UvpsncqN1vGI+hXM1BPDqWK4 zjWs5j-bm6U)QODT?nYO1Jd@Flq-S#@f}(V1lN(Ki0;k)50o@)llK$gcqkup#3zyyc z1#wB~xs>i>lhV;X?b-2xHYU3tI@$e5qS+5%wbb}swfdv7t1A4$Y4$s>f&aH$;trpu za9k{;g&ptukAYj$z45q6*20>e_m*l6W$oP1sw+hGO>4Af)9dETxN1vwxoD$1#QvJC zoACNeHaEmuv2_%!*dPjD49L7J0|KP5hQe2wCwz4{`CLA;)~sJkQrAH)b)8mHb9_n7 zOCuyTzSK){L2a$+B)^dvr6q~Af;T9)K~EJczn%j5P76PLamriwX~gG~OI(o#`FwI| zP~J&C5fpbkUrO~BeJiQUxw0aOV;r;Osf)g^Dw1)9-K3DnxQ1@>ao0x}x;`$CC18pV zNMuPN10=aTmK19~=*D%A%3{^GST;*EeW^lHIcWf4r_xa}H$BNb34-~$BEkH55ztvM z4|Wn_CE=9Pn2zujek2u!mRIv=$`+`=n>`Yy6@J9PJ>RhCDiPjQcmge-;#&nN%}=wB zr^y$0mHg?u3X=2mBL4R}i})r?=Sg=qPr8$NvTOO?^yK@bE8Z84Hr&R97VDy`c(VQZ zMG&1td%eqkq@Qa)GK%_ zS+*B6G?|cGtHsxZo%rW0cN5i>Uh#cNb8@vWX?PCyq>N_y`$3-TG^c)@mRPUl>eqW& z)@{;iH))9fQ!?8B9)SmD8?@wlv=&Y8?yV#3f{hwIys}OM7rq_=e-AO#A%dW~QhMK| zrj+Ybb@lRDarvJpl)3U6~%A&v{UgA-)TrfuzLW4Qt zjopoy9dG*}*IHfXET8qUi=K~xg)srU@6lVs&bUl?!9xP$V=Wjki87_y)3vvQFc_2*>Q zuwF5%V@^PYem%(?w1`aMGp;LSRZ+Abp*CYj(W}s?(ugPj zY=~*p&i-GN;#i#Ou7mx+zl#C9B9X)LB&+4p>2XZYlTpn1?jBxUFa;!^^`&8&$AsoVMFYA@xKakXJEpj5wT|ScE1{+H<{1|tF;{{bfyvef zPTx0lK7HRP>uRI~uSzF{-2kz5-=0J9;-p%;)kLL?`qg-+d8(FXdOFjdB_(D^0pl`BZd)eNECsB~B)M^! zM2i$KFO%ffW$NZh+`i0uIaIe$5*B7Q$r=#uC_XIou;dz2Nw!K!Zbk(@$uk&HNfy~q zNqQz!5>q7ChzjP#O{l;pc?JV2$s+qHNzZ&rVyfgCP{F*o`4sph&tN!-%Bm;(2k^ws^Ns98Us3ct@DoHY>k@PKTB!vZ) zBsZXv6!ue+p81r`vaUo*KJD82$TeMBAMu`4y~}-4HOHS+buE$%I>jQ%>65rtO1@O5 z|5KSWd6|gtF1Oc^6y_Sj{8emW9II=MpKNBM98~#n{hp-;UhBK5)?cBXU(L3|DH=eY zeTP>(4WRb3Y5?{3G=SFNWVIzQn`PxrHmMvLU-P^!(P1XHnf34&{x?YQ*MEZ)gN9R( z_XsI+iVkKED<O;j6|#r?SIFe;Ae3Ag z>Hwic4Q&IV1k&eaH2i}5c}MiRD80y96Ll{cZ1r|Rc9>_lG+pVo_-MMB;B6#s(c*_? zdkd}s+E3X??2u2rEjE;jG@}xaUe1La_mb^5xT=UhI_Z9C0@0W{}iVw)HK62)` zYnd~%MRw|s;|)>%MRjAm(m+X3?yUV3wFtJO((r4Y0(W5G>s}$5ZRmeP_KcWplYP_e zvZp&NG?EYc>2_keL$YgO#Ibjt0{x~By$hk=3PA5V1^R7*4%4MyIkQBC1n*FS2oG}V zm!RhCVIORZ06XG?ZE?ZgEy`^ng1tvzeW49bNc`z!%ygle6(F_8NbUFiq5>%82dAXm z;-(~!+K(vZhooeCkp~9zqy?}YGB!m^^==c}^Jv#V+hlAS7w8zRAihr*kuWhWo^T=H zmXFGrVmmPaGJ$J9ZA!MeU=aP6UeD zcS=zo`~4wH`s}`c3;I8mQQ>+D+T8omD3BsQlB`>+aOt0|YX>B%te;iY086sl`x+lA@-=Bf{V*rIkH=Mf$+^{+T{9urdJz>12`NY zxkk-2>M*Wc*DhoLtu39#2+md(61Sjn zn78B_OBT~sfhu+(7PwW;>@yqMWmsL2O}(vh4#`Ip~$AU1!73|QpflCqoRfiMM zt9a=CKq%?a+z`MXULKB-c5_VxM{();NTaL$OkvfP!zfFifaZN5O8WzWRrp+yZJE>B^VMETXvQyO#2;sZV zN0G=Qsr^y+4zi`r3wYt(07cfqkrTKM=uBR!*RXa#$FZc=mSG)e{9DFRH(Xy(RoaIe z@|XEA3=FyaB6~O1gPI55erv>ACswGjh3A9zk~-v+0xlc}JN+!rqa1enS>m0=6k24k z_sG-=D%zbwRKRlwkH=yr@QePZL5J*)^#`Opees5Yf zU2N(Otg!FG@+T;GE|3N(*3qnj?P!UdW`*pWmdI-sv-4VFt7b{|RxQz{S+d=xCE7Jh zvD>vohh}MZhnCo;S-QPVOKjIH!``kXc4(Gq@6ZxEH7jiI)DpWiD`M|Lk$7S;QjF!0KDT-%Z;2zu{o~roP1@1wBX+FTc2rxYW zKsn4%Tsr^<1pN?UW?}PS8=|wqA+22ct12*o2 zbNmUr=b)bPTo<{BygKsnrKXqHcFL==IIny-&-40M%xh~`7~wsXC4M$LD4Tv>Hppn= zZQ+!7R<9E6##fJ1ur;C=peLJoP^o@c!F&E(zIjlIx0nlvjaEOz0V|LZK{(?U3bOQA z--AkXygkgb&2oUW3XPdkh4$&VPzV}Ocv*BLcsICSDLM?i8(ptV@0}htgqI$+ga#2_ zmEJqehJ{z7_fB)JSEu(*x4K?~-a8%ZrZqi1)-dU@h7I+?l0qRo;`74v&kN6dUfBA1 z;oZ**;gf~f$-+OMEIf6xP&iot2z&y2CJatREs*9YnHq9Cvcq2-1X9OYJ16uEBqkDR zwOM{AKFETB&(UkKWAU}vf1&4OJHp^hlXEqO-a^hb==@u9zJSgf$hj7s*N}4^I^*PA zkIqZ5J1{~i+8-~zQ)j3K4p52$ZG2mp+6UVvPp+m8G+tvVy>f*@E-BYNrRS|^^;5c3 zeaOV?pV2KLjuSy+zzVNP$NEi*ZP*d^nsgX{q}FXxY{Q9ulm0Z=N(!~1*Gek2;SRq^ ztAZ`8QycE|o78PXliJXPHvES|!JL1xu(ANaqffC(`k$Pv%igB@-B7!ZaQW_#7|j#$Z3u?L%_GIy zQ@hh%ASHp%b|IsKLxMLP(#tDEZf@?Tn>)6(8jKYE@pVqT=b=ac1oQEj?;C>oeut0L zHptC=B=rIqK8JMog;aO+NHltY8W%oSC`i{83jb6nJV%dE%vEsf^MdSE2xkV`1_Y1N z!vr#qrv1xd=^TF^I|)kT4savSxz=~CGZz4n=TnNFm|{MQni3QE3ZX5KdI-!aL<)uW$L zxQ_XB_rA_kegHo+dD;tbgo?%E3R>04c!f19rTC77*b29sDahRj&t{$#8SpS(%5yx- zv1clIe%I=G=rm+V9+S_6U#n8POd-R2R9CY1*Q{{u>}I9*N$THA6|~gyZ)DFjP^DF! ztF)?fmE3?YmLy$zl^jvT(gCEsSYi4xn>Jdqpn}WYeu>oxVpoy z2mGS&D}`Sf{Cc8+n{sgUf?sd=od>@@@H-!V7r^gA_+13Q3IyznON?1cwtBe|8rsG` z?T&Q=@Lu9LIqPp1Oeli|VYbqqt#nO$v<5pHTCI8m47fQU9j`{7kAHa3BW~PWbgT!* zJl8QF9RO)Ba2=1jzzbc+W3FS7>sahM9(Nr}pua2xdi6XDrg#TEo0$)gi_#_h?Zf#> z^}8lROfruuR-f`C$UXXJGk_z+)%2I_X=s>QseKQxV9Zy>p_bLXbWTrNPbn=!sof&bjQF?_EDKfuS<{C2>f)y$vO2L$ocnQikz(~ zCuhI%6X(*6#-9^OYR=S!__xfhdzsZ|HW6T6X9_4m3M@Pa3Z%aj1)3F30k(i!P9={L z^cV}ueuY557BaJx7E75qG~E+5*_J9;+iOt;t*oXjgx0M3QvK>bG*iNL)N>sJVQK~D zvs6j-B^#o0KGn0=YQXw*bazKT(SD|UF0{WzMxAAgA@Ml&y>Nd=qC~Od!b0Yb6iC3P8{@=B9h4$fe8$Y{?}7!raB?ru%>k#wfs@&s_j_0e1o1h1>;j z7kxz{{_j$VlK1&)$CX&wf`Fb=WMMNDxf#qeC{4NX_R4^J74V@| zz(8haGb@#Oko0*<`g1p_Qk-;6!2LqNy*A)p2U)HIp#`#Bt02?QW?sM&;Jb#3Sbo|f zjt7c39w_2?port=Qp5^H*v#ZR?JIG~Xy6_4k56ka@N42!Vh*mTRs~j)tBdnmqX^rB zr#t4j@|LSbRvU4X{e{4Z$=c!*lXd5KV)AwO#N>?wfSlH&$weIsXYq4MB61ETOxzVxLFS1u9c5Cq}d$*R@ zqs15L_8u*tJ|+@i8r+P^Sb>89(Q#VA9ro@_H9mzeVc15>{qZ2x6^jiU_j=e7XOib zP)i)r;(ucw(h_fK@m0G0rj~e1i?7k`x3t9DT70c;zpW+S(cUOh(-^Sc=>D|b51FiC zj@6G|K{$dogkM#Z9GiQ{C|XT-^s+O0E7tV~|j-`w%@Ja!-7CB&9Xu$w->y>8Lo&%~vlsSna4V z$;miWdc6SyFqksnf%0?sAOKlmD+0Q@d$-cx7Yasq12-Ua{sMv#y^mf%&>;m117>_R zCT_x|Tf8xXp-?|?kBCrk$(hkFX^xMKoD2F8!7)6FIUMaOyQaujBLfH|Ad~-ZY4qn9|~!N-Akp>A*Wpso&^rLc}Q!iIT9Jo3E9 zof8@<-EsSzF8W-j{GiW$)e7aTP%hBvx`G1F>8o_-S407_81<#HC_?ENdPIlA7ja%! zWcYV&_9}6;6`4mnKsg+!&F$t6@Xla2&-HqX9~-}+NWh*!E^%V_Tu^&Ym}ZTG6d1vG zb}q#P7frlT~d^ znCz}w%u+4Q>TdP0F0?MPBulY$tD6SJAO z4Y1|ML(>l-UXH{AQt-rAT(ki!lTbEe|3OLSDAiDod&2S^gJf&;cMkc?hCQA&WA=@N3rhAgi9%-&ysL;icBU0p?f7 zhO^j%EY`xHgv+cOVvn=fY6eyK`sHG8U96E20==Q;eSk6-Kn?o?1qJ|x zs(=dL06JU)^~E~=mGyn=2UfN9Lu-h2qg7-5#QF#8ChKPFr`9dj&#a$YY3o+&S60UQ zwPjoXWc|h(YTa%Pv+l5dZ~ejgck4f5BUo%Ci#4&>oh&wr#qMIUyIJfW78}cA<5=t= z78}oE6Ig5_i%nv&$t?CTi?y=YOctBPVzXIn4vRg)Vslw+9*fOqu_Y|Fl*OK4v1Kgw zB#S-8Vo$T!Gc5Kji>+a?7g%g9i>+g^^(?l5#Wu3oi!AmMi{)4>&th9ytc}ImS*(M_ zwz1fD7TdvM`&sM&i@nNXud&$cEcOPA9b~aXEcPagy~Sehv)BhL_92TMWwB!{_7RI6 zXR#A3_A!fn!ftM5_BP&pve)u{>qE;JNNm{*L~+3zVo2(JcQ1HmFRra zcfO_IgE>~Hn}P@4!`d9{*6!%Mbr@dvbF8aNaIMrWc2}h{6Qtmw^rSTSH!{*vrJ!tW zlN!p_-l^iVvm;boN*z{&(aYpVC?y{uFC8Ht!{x%eif<(I7;@zIe1NwR;C)(t2vb7U z1qC(yKcF>6DTcXfq9W!)m~~XG7E^z$;PVxgL$dwtj}^%MLsas6A9Yzj09U@%K8l+k zM-}VVnf6EM{7A8nlOo;;rS86PHq)S5;oAGcQh&T|q3DcT&dQS1WWP<2@4#PJCMns0 z18VP9S+@3Gto~>fPyV5(%m+&CeX5kL9fQI5!yiaRip5j47J`UR`;pSKBN?U}H2xYtY`|F{M{u5I$Tg zI5|Otk6;C-YQIIxI#q4i%wdq7dklc$t7@u35aLh}tklM#H38w7J+A&CHS5%lg2ozn zIki~;k)uV3)b+zISksR-8MBqpi}0R{GT2nLXF-x4(7{h?+d&kFK;uM#%?$u%_#LaH z3Z#Xe!11nw`TZJjcN3A{1WtD?_)CF9RsiTvtslc2Uk1Jygn!?<4Y=Ij0_0_oYA~>0 z8<_7u0y`dT{Rm)x4gBs8zzc^!*e`+E{vY6szqZmh4{p$L-OwJbMvD;mN^UMQI_$Js zS2si7#@n^SI`S4PF=$+OMDZ!&Sb=p{Lm~K}YB+G0%vMU3uOA&=Bjv2Yy_OaVfG0{a zgRC@6IB9VAf;!zGe0{)uEq7M|hzR~dKf+uMVy=Es%=erIb2dmDqz^LSYYqwzirj2K zNgB2ltYo9VmcC68GZ@%|zTucK;`&dyJy#tGb9c0K% zyHY(;mF)dA`a!bD?BD?hC;)`S%r+kIDg}VxklDopUc-U$i6X12)DIB;U{W}OnDeh7Bq3>tx%u;A@n|@iL`{zn+~py@UE7E50m0!Wx%!PK%R3c z1IKmY1uaGEqiXYY{(k0wv^pTI4M^()(#C+aIUpS#kd6#UmkdaE8<6fkAl+j?IyxX- zIv`y(Al-97x_m&o*MM~I0jPSyHEBoV_7Gr2&6T%w{5B6utDVDIhNU%dGZCf*HpJukLG%j z5Irq8^rETm&4Wr>howsifmHWYsQ}W*LqH{|Fl8T38I-M&(%>6~OrkA=xIjU_8g?AqTE@Y>Oooe0zT3U{JrrD_?$;|Or4kNDT|UjKZu;I_}*#qD!#7wvOxpnVJxc2%H#io!(uL`B$uK>HMhiT3Fu!ukc;rzq^p zv`@d&v`;kHK3Dx&+h;(qefk93#|XC1wO;!GkLGRjuh=%wFcti%Mtlm8*g0qFt@som zf+O(YUOV~bNI^ln@V|m#J+O*o7%R#@HJm?G^UsY%z7YSgqK_ANci7!ik z-K{u4DGbCN`N6&3EEGge0iZpn0^wy$6&DhVBvH^nUQnytsi2-bk2a8fi8;C1L~%nl zP)K`GA(7sMNwiZg9cRmBTQC<`YWF@=R3VYg_OoTPqbp=eJLR(TY`N^}0vWu5s$viP zDfWpgIk8H*>HuA~yxdjixW2g0ja2m>s`eCr)!A?#lR-sDyxj;GHB_NNv)Fr#yLDI{ zR^OvaAVG1_?gA1F4w0BfQW=`Agb$7-l*$I9bugbQ7?mT(0M9*RNM_2~#{f~O*@(-AyeSj2C?V=<`+Kv|&$sOXMSq`{uj zFkOBKh)qVcm0oBanl8a(O>>PwsSKVEi1w&LNjcq}jytm{ z9Wz|h9gmW%=*-@4!z!v9ID5>+#d^A178ooVYbRLQSgHP1UwBw*hYt2otWRYjlw-h)+dyogDDvd0(#>`!)$;X4X#@N2nz^#fsP zh?A^XiZ7tUcNFcA=Tl0nrL^YY*Id6^P3hGShC@T@#)jjgBQ;~g4B8y%=v^0tF%jI( zzFWn^Q!9H_-MDbT-1N6AD(t*c_mJ4){!WEm1;8*U#18jyEuPoy||`3roD>d0t^j_@C29WuDd>@_L&y@FH$!$3e3^n_2Q@hPHJaVO0l!$&}WX z;xrX!OtZyJV}`VabCBM9JfpPPJG#Y^gc$8*EG<)@fluqUZh67XkwY;uy?#bc9`)CCiQ zuS?=}VXqx0hR<++{Ch6hb2wC{s;H`UiD%=dQMrlX!`>$}D^h<#OMHxXoIl24I<2@- zrqig4VLfK4+_(t6(U^1cKl(`G&x*o$L^obUCK_H`1dY>-a)@zbE6PEJ+A__jgFEQL z9U{0ERg=S!zZTDuW;1hvWDDRo4}OoR$>Wl^Y?jTmLP(3csH(mGINDR_{6(_>wa=+^ z(OEsMJ)@Z_>L7g^i>qI(W^;Cnn$6p-D$d9~G@6R-8E6hclx82t%Ox|_%GzgDFaKG7 zH=c>zc(#hR2Iz_9{s@OQ?R}6I1bKuyODQSRO~-put!nL~DiU*JLZNKFynKS%%m_kQ!|f;%qt2R6UoIN@k8cvnE8IlBRpho5Qduv zc|?2{i0?f5*4->VL0C^I=spF?b>%T-!h@o)1msPg090A1`3(8twbxCcE`&6S)7eteArefeg5 z9*c6uOG+5uy=O3z)p@r zn@|q}#M5fvC35jt@H1-QVc;i;StqhrQIk{8Sil>79(9bQs4J9{&CFI?5M#s&YMSc= z+L;)LxKleNOg6ZQpI!slR|58cW`95v6IKG&L3GIgW&l<3=bO|hKs2NrajRU}1zg|TLY9RI^DX#Sn1FIw|1(6`6^yfM!XJ5SGmaLjU-Dz^ zG1meW2LLa=LFeESt5n>ZcJSUbJyJ=-^kc1_QwFURMH3=4Z$JdBqiM#NDe`Yc%muWd zbtlU5UPy=u3}?b};24b^m`}OAp=VY1E#s+Y5;1OYMU2bP+_sAPjyHgW@rf26A=#g3 ziBGloNXhS@-=*6pwM0RSXH~nPB^vbjUfpic(LQ(a z(qp;mYSK&-%Z$IOu%E{sw}RFgsADPgSW!h>#j{(~t0(Jcm6bQjFxM={*?a}g<|{Gb zD%CsiU5*pfYTv&C{cC*xO7y>=8jLHL7R>lxxZ0=jv61*8HU6erT`*ArX|1XV9aRhS z#k?>*bP|YM=dE+5`|F(V1Mw_W1t;S5g^CQ<wr{Yr?;fv6EF0f{m3kc zZjk+F65v$*nS^!&wgS(Hl)&1v?h_1kgi*6LDv>Ij!wR=kAte9VIcU3A)XYW|<9gEF ztyjp6i@2bSAv}9s3_AQww_v8*C{wcJqESZ4ZGV1_`i)^ z&1(}u6rb#7lFcU4nuvI*_K;dAJ*ZG9ieK@I7B!_s@S=7%ZkysJDRBc{gjNVWwH^dP z+rzf?q@V{6J&AhlA-XA2^-yhXC4WFcP!G;~GrQfiDF`|2%zN`@elxR~_hx5*y95d= zJ_t)YAbev!X*6~aebPzkF>9s!y3DM4xL0yNkp3M<=BVd~A(eCmdl|T-SAk0!67AYX z7#*Do6_M*IPMI7uXKO?hTvDqvyGR>FfQMK&%*g2(psHJjlMtW(BO3fleXIQ%4a(8j z%K#^W9di6p9Gh6eGZ~~4S%-qSHIWgKoI{fVh~(gkMZmA)y=*T3l5k2tl*_QY*7-yQ zqmxn`7*iI2fIS(wxWJYkTOoE8uYuo1n3x!RAF2+`sp)repe{aicE*Q4aIj9YxjrRB zt;}8SoK&&WDddeCY?~Ns`{cAH_VP*Xz|I0*XzSsR=`XmHt)rC|w8HLYDE9!$D58uu zuQII-8r~C)&9j-pH`;d4)A5W)Q8xntwF2P^`2BxEW$x8{pyl#1zrolDuZ5FA8&@%w zScL@A(YX>}q(duVeEEWN_&E@tmrC%SZUa#bMBzG->XoY6OsF&z*0?ajo3=>t#QrNJ z3w%oB_jq3jVtWAeJ0uuZmN>i@@eUTDjLCRHLJz^}3;~bZoK4AzugM&xK^mHc4T7k zjjWgw6BX%E%%YgZhn)k_gLN1x9)=2H&?6ugt%IS{BQA@f?SX^dIqvn2tK7t~GXDr3 z@4-i@L{iwc*|-Z6&2P5h)Ro!oPNNhL{ekSVqogi`Lod9~sVaW5 + * 参数的意思:beforeBegin<span>afterBegin this is span! beforeEnd</span> afterEnd
      + * 此外,如果使用本函数插入带有script标签的HTML字符串,script标签对应的脚本将不会被执行。 + * + * @shortcut insertHTML + * @meta standard + * + * @returns {HTMLElement} 目标元素 + */ +baidu.dom.insertHTML = function (element, position, html) { + element = baidu.dom.g(element); + var range,begin; + if (element.insertAdjacentHTML && !baidu.browser.opera) { + element.insertAdjacentHTML(position, html); + } else { + range = element.ownerDocument.createRange(); + position = position.toUpperCase(); + if (position == 'AFTERBEGIN' || position == 'BEFOREEND') { + range.selectNodeContents(element); + range.collapse(position == 'AFTERBEGIN'); + } else { + begin = position == 'BEFOREBEGIN'; + range[begin ? 'setStartBefore' : 'setEndAfter'](element); + range.collapse(begin); + } + range.insertNode(range.createContextualFragment(html)); + } + return element; +}; + +baidu.insertHTML = baidu.dom.insertHTML; + +/** + * 操作flash对象的方法,包括创建flash对象、获取flash对象以及判断flash插件的版本号 + * @namespace baidu.swf + */ +baidu.swf = baidu.swf || {}; + + +/** + * 浏览器支持的flash插件版本 + * @property version 浏览器支持的flash插件版本 + * @grammar baidu.swf.version + * @return {String} 版本号 + * @meta standard + */ +baidu.swf.version = (function () { + var n = navigator; + if (n.plugins && n.mimeTypes.length) { + var plugin = n.plugins["Shockwave Flash"]; + if (plugin && plugin.description) { + return plugin.description + .replace(/([a-zA-Z]|\s)+/, "") + .replace(/(\s)+r/, ".") + ".0"; + } + } else if (window.ActiveXObject && !window.opera) { + for (var i = 12; i >= 2; i--) { + try { + var c = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.' + i); + if (c) { + var version = c.GetVariable("$version"); + return version.replace(/WIN/g,'').replace(/,/g,'.'); + } + } catch(e) {} + } + } +})(); + +/** + * 操作字符串的方法 + * @namespace baidu.string + */ +baidu.string = baidu.string || {}; + + +/** + * 对目标字符串进行html编码 + * @name baidu.string.encodeHTML + * @function + * @grammar baidu.string.encodeHTML(source) + * @param {string} source 目标字符串 + * @remark + * 编码字符有5个:&<>"' + * @shortcut encodeHTML + * @meta standard + * @see baidu.string.decodeHTML + * + * @returns {string} html编码后的字符串 + */ +baidu.string.encodeHTML = function (source) { + return String(source) + .replace(/&/g,'&') + .replace(//g,'>') + .replace(/"/g, """) + .replace(/'/g, "'"); +}; + +baidu.encodeHTML = baidu.string.encodeHTML; + +/** + * 创建flash对象的html字符串 + * @name baidu.swf.createHTML + * @function + * @grammar baidu.swf.createHTML(options) + * + * @param {Object} options 创建flash的选项参数 + * @param {string} options.id 要创建的flash的标识 + * @param {string} options.url flash文件的url + * @param {String} options.errorMessage 未安装flash player或flash player版本号过低时的提示 + * @param {string} options.ver 最低需要的flash player版本号 + * @param {string} options.width flash的宽度 + * @param {string} options.height flash的高度 + * @param {string} options.align flash的对齐方式,允许值:middle/left/right/top/bottom + * @param {string} options.base 设置用于解析swf文件中的所有相对路径语句的基本目录或URL + * @param {string} options.bgcolor swf文件的背景色 + * @param {string} options.salign 设置缩放的swf文件在由width和height设置定义的区域内的位置。允许值:l/r/t/b/tl/tr/bl/br + * @param {boolean} options.menu 是否显示右键菜单,允许值:true/false + * @param {boolean} options.loop 播放到最后一帧时是否重新播放,允许值: true/false + * @param {boolean} options.play flash是否在浏览器加载时就开始播放。允许值:true/false + * @param {string} options.quality 设置flash播放的画质,允许值:low/medium/high/autolow/autohigh/best + * @param {string} options.scale 设置flash内容如何缩放来适应设置的宽高。允许值:showall/noborder/exactfit + * @param {string} options.wmode 设置flash的显示模式。允许值:window/opaque/transparent + * @param {string} options.allowscriptaccess 设置flash与页面的通信权限。允许值:always/never/sameDomain + * @param {string} options.allownetworking 设置swf文件中允许使用的网络API。允许值:all/internal/none + * @param {boolean} options.allowfullscreen 是否允许flash全屏。允许值:true/false + * @param {boolean} options.seamlesstabbing 允许设置执行无缝跳格,从而使用户能跳出flash应用程序。该参数只能在安装Flash7及更高版本的Windows中使用。允许值:true/false + * @param {boolean} options.devicefont 设置静态文本对象是否以设备字体呈现。允许值:true/false + * @param {boolean} options.swliveconnect 第一次加载flash时浏览器是否应启动Java。允许值:true/false + * @param {Object} options.vars 要传递给flash的参数,支持JSON或string类型。 + * + * @see baidu.swf.create + * @meta standard + * @returns {string} flash对象的html字符串 + */ +baidu.swf.createHTML = function (options) { + options = options || {}; + var version = baidu.swf.version, + needVersion = options['ver'] || '6.0.0', + vUnit1, vUnit2, i, k, len, item, tmpOpt = {}, + encodeHTML = baidu.string.encodeHTML; + for (k in options) { + tmpOpt[k] = options[k]; + } + options = tmpOpt; + if (version) { + version = version.split('.'); + needVersion = needVersion.split('.'); + for (i = 0; i < 3; i++) { + vUnit1 = parseInt(version[i], 10); + vUnit2 = parseInt(needVersion[i], 10); + if (vUnit2 < vUnit1) { + break; + } else if (vUnit2 > vUnit1) { + return ''; + } + } + } else { + return ''; + } + + var vars = options['vars'], + objProperties = ['classid', 'codebase', 'id', 'width', 'height', 'align']; + options['align'] = options['align'] || 'middle'; + options['classid'] = 'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'; + options['codebase'] = 'http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0'; + options['movie'] = options['url'] || ''; + delete options['vars']; + delete options['url']; + if ('string' == typeof vars) { + options['flashvars'] = vars; + } else { + var fvars = []; + for (k in vars) { + item = vars[k]; + fvars.push(k + "=" + encodeURIComponent(item)); + } + options['flashvars'] = fvars.join('&'); + } + var str = [''); + var params = { + 'wmode' : 1, + 'scale' : 1, + 'quality' : 1, + 'play' : 1, + 'loop' : 1, + 'menu' : 1, + 'salign' : 1, + 'bgcolor' : 1, + 'base' : 1, + 'allowscriptaccess' : 1, + 'allownetworking' : 1, + 'allowfullscreen' : 1, + 'seamlesstabbing' : 1, + 'devicefont' : 1, + 'swliveconnect' : 1, + 'flashvars' : 1, + 'movie' : 1 + }; + + for (k in options) { + item = options[k]; + k = k.toLowerCase(); + if (params[k] && (item || item === false || item === 0)) { + str.push(''); + } + } + options['src'] = options['movie']; + options['name'] = options['id']; + delete options['id']; + delete options['movie']; + delete options['classid']; + delete options['codebase']; + options['type'] = 'application/x-shockwave-flash'; + options['pluginspage'] = 'http://www.macromedia.com/go/getflashplayer'; + str.push(''); + + return str.join(''); +}; + + +/** + * 在页面中创建一个flash对象 + * @name baidu.swf.create + * @function + * @grammar baidu.swf.create(options[, container]) + * + * @param {Object} options 创建flash的选项参数 + * @param {string} options.id 要创建的flash的标识 + * @param {string} options.url flash文件的url + * @param {String} options.errorMessage 未安装flash player或flash player版本号过低时的提示 + * @param {string} options.ver 最低需要的flash player版本号 + * @param {string} options.width flash的宽度 + * @param {string} options.height flash的高度 + * @param {string} options.align flash的对齐方式,允许值:middle/left/right/top/bottom + * @param {string} options.base 设置用于解析swf文件中的所有相对路径语句的基本目录或URL + * @param {string} options.bgcolor swf文件的背景色 + * @param {string} options.salign 设置缩放的swf文件在由width和height设置定义的区域内的位置。允许值:l/r/t/b/tl/tr/bl/br + * @param {boolean} options.menu 是否显示右键菜单,允许值:true/false + * @param {boolean} options.loop 播放到最后一帧时是否重新播放,允许值: true/false + * @param {boolean} options.play flash是否在浏览器加载时就开始播放。允许值:true/false + * @param {string} options.quality 设置flash播放的画质,允许值:low/medium/high/autolow/autohigh/best + * @param {string} options.scale 设置flash内容如何缩放来适应设置的宽高。允许值:showall/noborder/exactfit + * @param {string} options.wmode 设置flash的显示模式。允许值:window/opaque/transparent + * @param {string} options.allowscriptaccess 设置flash与页面的通信权限。允许值:always/never/sameDomain + * @param {string} options.allownetworking 设置swf文件中允许使用的网络API。允许值:all/internal/none + * @param {boolean} options.allowfullscreen 是否允许flash全屏。允许值:true/false + * @param {boolean} options.seamlesstabbing 允许设置执行无缝跳格,从而使用户能跳出flash应用程序。该参数只能在安装Flash7及更高版本的Windows中使用。允许值:true/false + * @param {boolean} options.devicefont 设置静态文本对象是否以设备字体呈现。允许值:true/false + * @param {boolean} options.swliveconnect 第一次加载flash时浏览器是否应启动Java。允许值:true/false + * @param {Object} options.vars 要传递给flash的参数,支持JSON或string类型。 + * + * @param {HTMLElement|string} [container] flash对象的父容器元素,不传递该参数时在当前代码位置创建flash对象。 + * @meta standard + * @see baidu.swf.createHTML,baidu.swf.getMovie + */ +baidu.swf.create = function (options, target) { + options = options || {}; + var html = baidu.swf.createHTML(options) + || options['errorMessage'] + || ''; + + if (target && 'string' == typeof target) { + target = document.getElementById(target); + } + baidu.dom.insertHTML( target || document.body ,'beforeEnd',html ); +}; +/** + * 判断是否为ie浏览器 + * @name baidu.browser.ie + * @field + * @grammar baidu.browser.ie + * @returns {Number} IE版本号 + */ +baidu.browser.ie = baidu.ie = /msie (\d+\.\d+)/i.test(navigator.userAgent) ? (document.documentMode || + RegExp['\x241']) : undefined; + +/** + * 移除数组中的项 + * @name baidu.array.remove + * @function + * @grammar baidu.array.remove(source, match) + * @param {Array} source 需要移除项的数组 + * @param {Any} match 要移除的项 + * @meta standard + * @see baidu.array.removeAt + * + * @returns {Array} 移除后的数组 + */ +baidu.array.remove = function (source, match) { + var len = source.length; + + while (len--) { + if (len in source && source[len] === match) { + source.splice(len, 1); + } + } + return source; +}; + +/** + * 判断目标参数是否Array对象 + * @name baidu.lang.isArray + * @function + * @grammar baidu.lang.isArray(source) + * @param {Any} source 目标参数 + * @meta standard + * @see baidu.lang.isString,baidu.lang.isObject,baidu.lang.isNumber,baidu.lang.isElement,baidu.lang.isBoolean,baidu.lang.isDate + * + * @returns {boolean} 类型判断结果 + */ +baidu.lang.isArray = function (source) { + return '[object Array]' == Object.prototype.toString.call(source); +}; + + + +/** + * 将一个变量转换成array + * @name baidu.lang.toArray + * @function + * @grammar baidu.lang.toArray(source) + * @param {mix} source 需要转换成array的变量 + * @version 1.3 + * @meta standard + * @returns {array} 转换后的array + */ +baidu.lang.toArray = function (source) { + if (source === null || source === undefined) + return []; + if (baidu.lang.isArray(source)) + return source; + if (typeof source.length !== 'number' || typeof source === 'string' || baidu.lang.isFunction(source)) { + return [source]; + } + if (source.item) { + var l = source.length, array = new Array(l); + while (l--) + array[l] = source[l]; + return array; + } + + return [].slice.call(source); +}; + +/** + * 获得flash对象的实例 + * @name baidu.swf.getMovie + * @function + * @grammar baidu.swf.getMovie(name) + * @param {string} name flash对象的名称 + * @see baidu.swf.create + * @meta standard + * @returns {HTMLElement} flash对象的实例 + */ +baidu.swf.getMovie = function (name) { + var movie = document[name], ret; + return baidu.browser.ie == 9 ? + movie && movie.length ? + (ret = baidu.array.remove(baidu.lang.toArray(movie),function(item){ + return item.tagName.toLowerCase() != "embed"; + })).length == 1 ? ret[0] : ret + : movie + : movie || window[name]; +}; + + +baidu.flash._Base = (function(){ + + var prefix = 'bd__flash__'; + + /** + * 创建一个随机的字符串 + * @private + * @return {String} + */ + function _createString(){ + return prefix + Math.floor(Math.random() * 2147483648).toString(36); + }; + + /** + * 检查flash状态 + * @private + * @param {Object} target flash对象 + * @return {Boolean} + */ + function _checkReady(target){ + if(typeof target !== 'undefined' && typeof target.flashInit !== 'undefined' && target.flashInit()){ + return true; + }else{ + return false; + } + }; + + /** + * 调用之前进行压栈的函数 + * @private + * @param {Array} callQueue 调用队列 + * @param {Object} target flash对象 + * @return {Null} + */ + function _callFn(callQueue, target){ + var result = null; + + callQueue = callQueue.reverse(); + baidu.each(callQueue, function(item){ + result = target.call(item.fnName, item.params); + item.callBack(result); + }); + }; + + /** + * 为传入的匿名函数创建函数名 + * @private + * @param {String|Function} fun 传入的匿名函数或者函数名 + * @return {String} + */ + function _createFunName(fun){ + var name = ''; + + if(baidu.lang.isFunction(fun)){ + name = _createString(); + window[name] = function(){ + fun.apply(window, arguments); + }; + + return name; + }else if(baidu.lang.isString){ + return fun; + } + }; + + /** + * 绘制flash + * @private + * @param {Object} options 创建参数 + * @return {Object} + */ + function _render(options){ + if(!options.id){ + options.id = _createString(); + } + + var container = options.container || ''; + delete(options.container); + + baidu.swf.create(options, container); + + return baidu.swf.getMovie(options.id); + }; + + return function(options, callBack){ + var me = this, + autoRender = (typeof options.autoRender !== 'undefined' ? options.autoRender : true), + createOptions = options.createOptions || {}, + target = null, + isReady = false, + callQueue = [], + timeHandle = null, + callBack = callBack || []; + + /** + * 将flash文件绘制到页面上 + * @public + * @return {Null} + */ + me.render = function(){ + target = _render(createOptions); + + if(callBack.length > 0){ + baidu.each(callBack, function(funName, index){ + callBack[index] = _createFunName(options[funName] || new Function()); + }); + } + me.call('setJSFuncName', [callBack]); + }; + + /** + * 返回flash状态 + * @return {Boolean} + */ + me.isReady = function(){ + return isReady; + }; + + /** + * 调用flash接口的统一入口 + * @param {String} fnName 调用的函数名 + * @param {Array} params 传入的参数组成的数组,若不许要参数,需传入空数组 + * @param {Function} [callBack] 异步调用后将返回值作为参数的调用回调函数,如无返回值,可以不传入此参数 + * @return {Null} + */ + me.call = function(fnName, params, callBack){ + if(!fnName) return null; + callBack = callBack || new Function(); + + var result = null; + + if(isReady){ + result = target.call(fnName, params); + callBack(result); + }else{ + callQueue.push({ + fnName: fnName, + params: params, + callBack: callBack + }); + + (!timeHandle) && (timeHandle = setInterval(_check, 200)); + } + }; + + /** + * 为传入的匿名函数创建函数名 + * @public + * @param {String|Function} fun 传入的匿名函数或者函数名 + * @return {String} + */ + me.createFunName = function(fun){ + return _createFunName(fun); + }; + + /** + * 检查flash是否ready, 并进行调用 + * @private + * @return {Null} + */ + function _check(){ + if(_checkReady(target)){ + clearInterval(timeHandle); + timeHandle = null; + _call(); + + isReady = true; + } + }; + + /** + * 调用之前进行压栈的函数 + * @private + * @return {Null} + */ + function _call(){ + _callFn(callQueue, target); + callQueue = []; + } + + autoRender && me.render(); + }; +})(); + + + +/** + * 创建flash based imageUploader + * @class + * @grammar baidu.flash.imageUploader(options) + * @param {Object} createOptions 创建flash时需要的参数,请参照baidu.swf.create文档 + * @config {Object} vars 创建imageUploader时所需要的参数 + * @config {Number} vars.gridWidth 每一个预览图片所占的宽度,应该为flash寛的整除 + * @config {Number} vars.gridHeight 每一个预览图片所占的高度,应该为flash高的整除 + * @config {Number} vars.picWidth 单张预览图片的宽度 + * @config {Number} vars.picHeight 单张预览图片的高度 + * @config {String} vars.uploadDataFieldName POST请求中图片数据的key,默认值'picdata' + * @config {String} vars.picDescFieldName POST请求中图片描述的key,默认值'picDesc' + * @config {Number} vars.maxSize 文件的最大体积,单位'MB' + * @config {Number} vars.compressSize 上传前如果图片体积超过该值,会先压缩 + * @config {Number} vars.maxNum:32 最大上传多少个文件 + * @config {Number} vars.compressLength 能接受的最大边长,超过该值会等比压缩 + * @config {String} vars.url 上传的url地址 + * @config {Number} vars.mode mode == 0时,是使用滚动条,mode == 1时,拉伸flash, 默认值为0 + * @see baidu.swf.createHTML + * @param {String} backgroundUrl 背景图片路径 + * @param {String} listBacgroundkUrl 布局控件背景 + * @param {String} buttonUrl 按钮图片不背景 + * @param {String|Function} selectFileCallback 选择文件的回调 + * @param {String|Function} exceedFileCallback文件超出限制的最大体积时的回调 + * @param {String|Function} deleteFileCallback 删除文件的回调 + * @param {String|Function} startUploadCallback 开始上传某个文件时的回调 + * @param {String|Function} uploadCompleteCallback 某个文件上传完成的回调 + * @param {String|Function} uploadErrorCallback 某个文件上传失败的回调 + * @param {String|Function} allCompleteCallback 全部上传完成时的回调 + * @param {String|Function} changeFlashHeight 改变Flash的高度,mode==1的时候才有用 + */ +baidu.flash.imageUploader = baidu.flash.imageUploader || function(options){ + + var me = this, + options = options || {}, + _flash = new baidu.flash._Base(options, [ + 'selectFileCallback', + 'exceedFileCallback', + 'deleteFileCallback', + 'startUploadCallback', + 'uploadCompleteCallback', + 'uploadErrorCallback', + 'allCompleteCallback', + 'changeFlashHeight' + ]); + /** + * 开始或回复上传图片 + * @public + * @return {Null} + */ + me.upload = function(){ + _flash.call('upload'); + }; + + /** + * 暂停上传图片 + * @public + * @return {Null} + */ + me.pause = function(){ + _flash.call('pause'); + }; + me.addCustomizedParams = function(index,obj){ + _flash.call('addCustomizedParams',[index,obj]); + } +}; + +/** + * 操作原生对象的方法 + * @namespace baidu.object + */ +baidu.object = baidu.object || {}; + + +/** + * 将源对象的所有属性拷贝到目标对象中 + * @author erik + * @name baidu.object.extend + * @function + * @grammar baidu.object.extend(target, source) + * @param {Object} target 目标对象 + * @param {Object} source 源对象 + * @see baidu.array.merge + * @remark + * +1.目标对象中,与源对象key相同的成员将会被覆盖。
      +2.源对象的prototype成员不会拷贝。 + + * @shortcut extend + * @meta standard + * + * @returns {Object} 目标对象 + */ +baidu.extend = +baidu.object.extend = function (target, source) { + for (var p in source) { + if (source.hasOwnProperty(p)) { + target[p] = source[p]; + } + } + + return target; +}; + + + + + +/** + * 创建flash based fileUploader + * @class + * @grammar baidu.flash.fileUploader(options) + * @param {Object} options + * @config {Object} createOptions 创建flash时需要的参数,请参照baidu.swf.create文档 + * @config {String} createOptions.width + * @config {String} createOptions.height + * @config {Number} maxNum 最大可选文件数 + * @config {Function|String} selectFile + * @config {Function|String} exceedMaxSize + * @config {Function|String} deleteFile + * @config {Function|String} uploadStart + * @config {Function|String} uploadComplete + * @config {Function|String} uploadError + * @config {Function|String} uploadProgress + */ +baidu.flash.fileUploader = baidu.flash.fileUploader || function(options){ + var me = this, + options = options || {}; + + options.createOptions = baidu.extend({ + wmod: 'transparent' + },options.createOptions || {}); + + var _flash = new baidu.flash._Base(options, [ + 'selectFile', + 'exceedMaxSize', + 'deleteFile', + 'uploadStart', + 'uploadComplete', + 'uploadError', + 'uploadProgress' + ]); + + _flash.call('setMaxNum', options.maxNum ? [options.maxNum] : [1]); + + /** + * 设置当鼠标移动到flash上时,是否变成手型 + * @public + * @param {Boolean} isCursor + * @return {Null} + */ + me.setHandCursor = function(isCursor){ + _flash.call('setHandCursor', [isCursor || false]); + }; + + /** + * 设置鼠标相应函数名 + * @param {String|Function} fun + */ + me.setMSFunName = function(fun){ + _flash.call('setMSFunName',[_flash.createFunName(fun)]); + }; + + /** + * 执行上传操作 + * @param {String} url 上传的url + * @param {String} fieldName 上传的表单字段名 + * @param {Object} postData 键值对,上传的POST数据 + * @param {Number|Array|null|-1} [index]上传的文件序列 + * Int值上传该文件 + * Array一次串行上传该序列文件 + * -1/null上传所有文件 + * @return {Null} + */ + me.upload = function(url, fieldName, postData, index){ + + if(typeof url !== 'string' || typeof fieldName !== 'string') return null; + if(typeof index === 'undefined') index = -1; + + _flash.call('upload', [url, fieldName, postData, index]); + }; + + /** + * 取消上传操作 + * @public + * @param {Number|-1} index + */ + me.cancel = function(index){ + if(typeof index === 'undefined') index = -1; + _flash.call('cancel', [index]); + }; + + /** + * 删除文件 + * @public + * @param {Number|Array} [index] 要删除的index,不传则全部删除 + * @param {Function} callBack + * */ + me.deleteFile = function(index, callBack){ + + var callBackAll = function(list){ + callBack && callBack(list); + }; + + if(typeof index === 'undefined'){ + _flash.call('deleteFilesAll', [], callBackAll); + return; + }; + + if(typeof index === 'Number') index = [index]; + index.sort(function(a,b){ + return b-a; + }); + baidu.each(index, function(item){ + _flash.call('deleteFileBy', item, callBackAll); + }); + }; + + /** + * 添加文件类型,支持macType + * @public + * @param {Object|Array[Object]} type {description:String, extention:String} + * @return {Null}; + */ + me.addFileType = function(type){ + var type = type || [[]]; + + if(type instanceof Array) type = [type]; + else type = [[type]]; + _flash.call('addFileTypes', type); + }; + + /** + * 设置文件类型,支持macType + * @public + * @param {Object|Array[Object]} type {description:String, extention:String} + * @return {Null}; + */ + me.setFileType = function(type){ + var type = type || [[]]; + + if(type instanceof Array) type = [type]; + else type = [[type]]; + _flash.call('setFileTypes', type); + }; + + /** + * 设置可选文件的数量限制 + * @public + * @param {Number} num + * @return {Null} + */ + me.setMaxNum = function(num){ + _flash.call('setMaxNum', [num]); + }; + + /** + * 设置可选文件大小限制,以兆M为单位 + * @public + * @param {Number} num,0为无限制 + * @return {Null} + */ + me.setMaxSize = function(num){ + _flash.call('setMaxSize', [num]); + }; + + /** + * @public + */ + me.getFileAll = function(callBack){ + _flash.call('getFileAll', [], callBack); + }; + + /** + * @public + * @param {Number} index + * @param {Function} [callBack] + */ + me.getFileByIndex = function(index, callBack){ + _flash.call('getFileByIndex', [], callBack); + }; + + /** + * @public + * @param {Number} index + * @param {function} [callBack] + */ + me.getStatusByIndex = function(index, callBack){ + _flash.call('getStatusByIndex', [], callBack); + }; +}; + +/** + * 使用动态script标签请求服务器资源,包括由服务器端的回调和浏览器端的回调 + * @namespace baidu.sio + */ +baidu.sio = baidu.sio || {}; + +/** + * + * @param {HTMLElement} src script节点 + * @param {String} url script节点的地址 + * @param {String} [charset] 编码 + */ +baidu.sio._createScriptTag = function(scr, url, charset){ + scr.setAttribute('type', 'text/javascript'); + charset && scr.setAttribute('charset', charset); + scr.setAttribute('src', url); + document.getElementsByTagName('head')[0].appendChild(scr); +}; + +/** + * 删除script的属性,再删除script标签,以解决修复内存泄漏的问题 + * + * @param {HTMLElement} src script节点 + */ +baidu.sio._removeScriptTag = function(scr){ + if (scr.clearAttributes) { + scr.clearAttributes(); + } else { + for (var attr in scr) { + if (scr.hasOwnProperty(attr)) { + delete scr[attr]; + } + } + } + if(scr && scr.parentNode){ + scr.parentNode.removeChild(scr); + } + scr = null; +}; + + +/** + * 通过script标签加载数据,加载完成由浏览器端触发回调 + * @name baidu.sio.callByBrowser + * @function + * @grammar baidu.sio.callByBrowser(url, opt_callback, opt_options) + * @param {string} url 加载数据的url + * @param {Function|string} opt_callback 数据加载结束时调用的函数或函数名 + * @param {Object} opt_options 其他可选项 + * @config {String} [charset] script的字符集 + * @config {Integer} [timeOut] 超时时间,超过这个时间将不再响应本请求,并触发onfailure函数 + * @config {Function} [onfailure] timeOut设定后才生效,到达超时时间时触发本函数 + * @remark + * 1、与callByServer不同,callback参数只支持Function类型,不支持string。 + * 2、如果请求了一个不存在的页面,callback函数在IE/opera下也会被调用,因此使用者需要在onsuccess函数中判断数据是否正确加载。 + * @meta standard + * @see baidu.sio.callByServer + */ +baidu.sio.callByBrowser = function (url, opt_callback, opt_options) { + var scr = document.createElement("SCRIPT"), + scriptLoaded = 0, + options = opt_options || {}, + charset = options['charset'], + callback = opt_callback || function(){}, + timeOut = options['timeOut'] || 0, + timer; + scr.onload = scr.onreadystatechange = function () { + if (scriptLoaded) { + return; + } + + var readyState = scr.readyState; + if ('undefined' == typeof readyState + || readyState == "loaded" + || readyState == "complete") { + scriptLoaded = 1; + try { + callback(); + clearTimeout(timer); + } finally { + scr.onload = scr.onreadystatechange = null; + baidu.sio._removeScriptTag(scr); + } + } + }; + + if( timeOut ){ + timer = setTimeout(function(){ + scr.onload = scr.onreadystatechange = null; + baidu.sio._removeScriptTag(scr); + options.onfailure && options.onfailure(); + }, timeOut); + } + + baidu.sio._createScriptTag(scr, url, charset); +}; + +/** + * 通过script标签加载数据,加载完成由服务器端触发回调 + * @name baidu.sio.callByServer + * @function + * @grammar baidu.sio.callByServer(url, callback[, opt_options]) + * @param {string} url 加载数据的url. + * @param {Function|string} callback 服务器端调用的函数或函数名。如果没有指定本参数,将在URL中寻找options['queryField']做为callback的方法名. + * @param {Object} opt_options 加载数据时的选项. + * @config {string} [charset] script的字符集 + * @config {string} [queryField] 服务器端callback请求字段名,默认为callback + * @config {Integer} [timeOut] 超时时间(单位:ms),超过这个时间将不再响应本请求,并触发onfailure函数 + * @config {Function} [onfailure] timeOut设定后才生效,到达超时时间时触发本函数 + * @remark + * 如果url中已经包含key为“options['queryField']”的query项,将会被替换成callback中参数传递或自动生成的函数名。 + * @meta standard + * @see baidu.sio.callByBrowser + */ +baidu.sio.callByServer = /**@function*/function(url, callback, opt_options) { + var scr = document.createElement('SCRIPT'), + prefix = 'bd__cbs__', + callbackName, + callbackImpl, + options = opt_options || {}, + charset = options['charset'], + queryField = options['queryField'] || 'callback', + timeOut = options['timeOut'] || 0, + timer, + reg = new RegExp('(\\?|&)' + queryField + '=([^&]*)'), + matches; + + if (baidu.lang.isFunction(callback)) { + callbackName = prefix + Math.floor(Math.random() * 2147483648).toString(36); + window[callbackName] = getCallBack(0); + } else if(baidu.lang.isString(callback)){ + callbackName = callback; + } else { + if (matches = reg.exec(url)) { + callbackName = matches[2]; + } + } + + if( timeOut ){ + timer = setTimeout(getCallBack(1), timeOut); + } + url = url.replace(reg, '\x241' + queryField + '=' + callbackName); + + if (url.search(reg) < 0) { + url += (url.indexOf('?') < 0 ? '?' : '&') + queryField + '=' + callbackName; + } + baidu.sio._createScriptTag(scr, url, charset); + + /* + * 返回一个函数,用于立即(挂在window上)或者超时(挂在setTimeout中)时执行 + */ + function getCallBack(onTimeOut){ + /*global callbackName, callback, scr, options;*/ + return function(){ + try { + if( onTimeOut ){ + options.onfailure && options.onfailure(); + }else{ + callback.apply(window, arguments); + clearTimeout(timer); + } + window[callbackName] = null; + delete window[callbackName]; + } catch (exception) { + } finally { + baidu.sio._removeScriptTag(scr); + } + } + } +}; + +/** + * 通过请求一个图片的方式令服务器存储一条日志 + * @function + * @grammar baidu.sio.log(url) + * @param {string} url 要发送的地址. + * @author: int08h,leeight + */ +baidu.sio.log = function(url) { + var img = new Image(), + key = 'tangram_sio_log_' + Math.floor(Math.random() * + 2147483648).toString(36); + window[key] = img; + + img.onload = img.onerror = img.onabort = function() { + img.onload = img.onerror = img.onabort = null; + + window[key] = null; + img = null; + }; + img.src = url; +}; + + + +/* + * Tangram + * Copyright 2009 Baidu Inc. All rights reserved. + * + * path: baidu/json.js + * author: erik + * version: 1.1.0 + * date: 2009/12/02 + */ + + +/** + * 操作json对象的方法 + * @namespace baidu.json + */ +baidu.json = baidu.json || {}; +/* + * Tangram + * Copyright 2009 Baidu Inc. All rights reserved. + * + * path: baidu/json/parse.js + * author: erik, berg + * version: 1.2 + * date: 2009/11/23 + */ + + + +/** + * 将字符串解析成json对象。注:不会自动祛除空格 + * @name baidu.json.parse + * @function + * @grammar baidu.json.parse(data) + * @param {string} source 需要解析的字符串 + * @remark + * 该方法的实现与ecma-262第五版中规定的JSON.parse不同,暂时只支持传入一个参数。后续会进行功能丰富。 + * @meta standard + * @see baidu.json.stringify,baidu.json.decode + * + * @returns {JSON} 解析结果json对象 + */ +baidu.json.parse = function (data) { + //2010/12/09:更新至不使用原生parse,不检测用户输入是否正确 + return (new Function("return (" + data + ")"))(); +}; +/* + * Tangram + * Copyright 2009 Baidu Inc. All rights reserved. + * + * path: baidu/json/decode.js + * author: erik, cat + * version: 1.3.4 + * date: 2010/12/23 + */ + + + +/** + * 将字符串解析成json对象,为过时接口,今后会被baidu.json.parse代替 + * @name baidu.json.decode + * @function + * @grammar baidu.json.decode(source) + * @param {string} source 需要解析的字符串 + * @meta out + * @see baidu.json.encode,baidu.json.parse + * + * @returns {JSON} 解析结果json对象 + */ +baidu.json.decode = baidu.json.parse; +/* + * Tangram + * Copyright 2009 Baidu Inc. All rights reserved. + * + * path: baidu/json/stringify.js + * author: erik + * version: 1.1.0 + * date: 2010/01/11 + */ + + + +/** + * 将json对象序列化 + * @name baidu.json.stringify + * @function + * @grammar baidu.json.stringify(value) + * @param {JSON} value 需要序列化的json对象 + * @remark + * 该方法的实现与ecma-262第五版中规定的JSON.stringify不同,暂时只支持传入一个参数。后续会进行功能丰富。 + * @meta standard + * @see baidu.json.parse,baidu.json.encode + * + * @returns {string} 序列化后的字符串 + */ +baidu.json.stringify = (function () { + /** + * 字符串处理时需要转义的字符表 + * @private + */ + var escapeMap = { + "\b": '\\b', + "\t": '\\t', + "\n": '\\n', + "\f": '\\f', + "\r": '\\r', + '"' : '\\"', + "\\": '\\\\' + }; + + /** + * 字符串序列化 + * @private + */ + function encodeString(source) { + if (/["\\\x00-\x1f]/.test(source)) { + source = source.replace( + /["\\\x00-\x1f]/g, + function (match) { + var c = escapeMap[match]; + if (c) { + return c; + } + c = match.charCodeAt(); + return "\\u00" + + Math.floor(c / 16).toString(16) + + (c % 16).toString(16); + }); + } + return '"' + source + '"'; + } + + /** + * 数组序列化 + * @private + */ + function encodeArray(source) { + var result = ["["], + l = source.length, + preComma, i, item; + + for (i = 0; i < l; i++) { + item = source[i]; + + switch (typeof item) { + case "undefined": + case "function": + case "unknown": + break; + default: + if(preComma) { + result.push(','); + } + result.push(baidu.json.stringify(item)); + preComma = 1; + } + } + result.push("]"); + return result.join(""); + } + + /** + * 处理日期序列化时的补零 + * @private + */ + function pad(source) { + return source < 10 ? '0' + source : source; + } + + /** + * 日期序列化 + * @private + */ + function encodeDate(source){ + return '"' + source.getFullYear() + "-" + + pad(source.getMonth() + 1) + "-" + + pad(source.getDate()) + "T" + + pad(source.getHours()) + ":" + + pad(source.getMinutes()) + ":" + + pad(source.getSeconds()) + '"'; + } + + return function (value) { + switch (typeof value) { + case 'undefined': + return 'undefined'; + + case 'number': + return isFinite(value) ? String(value) : "null"; + + case 'string': + return encodeString(value); + + case 'boolean': + return String(value); + + default: + if (value === null) { + return 'null'; + } else if (value instanceof Array) { + return encodeArray(value); + } else if (value instanceof Date) { + return encodeDate(value); + } else { + var result = ['{'], + encode = baidu.json.stringify, + preComma, + item; + + for (var key in value) { + if (Object.prototype.hasOwnProperty.call(value, key)) { + item = value[key]; + switch (typeof item) { + case 'undefined': + case 'unknown': + case 'function': + break; + default: + if (preComma) { + result.push(','); + } + preComma = 1; + result.push(encode(key) + ':' + encode(item)); + } + } + } + result.push('}'); + return result.join(''); + } + } + }; +})(); +/* + * Tangram + * Copyright 2009 Baidu Inc. All rights reserved. + * + * path: baidu/json/encode.js + * author: erik, cat + * version: 1.3.4 + * date: 2010/12/23 + */ + + + +/** + * 将json对象序列化,为过时接口,今后会被baidu.json.stringify代替 + * @name baidu.json.encode + * @function + * @grammar baidu.json.encode(value) + * @param {JSON} value 需要序列化的json对象 + * @meta out + * @see baidu.json.decode,baidu.json.stringify + * + * @returns {string} 序列化后的字符串 + */ +baidu.json.encode = baidu.json.stringify; diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/wordimage.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/wordimage.html new file mode 100644 index 0000000..6cf6067 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/wordimage.html @@ -0,0 +1,111 @@ + + + + + + + + + +
      +
      + +
      +
      +
      +
      +
      + +
      + : +
      +
      +
      + + + + + + \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/wordimage.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/wordimage.js new file mode 100644 index 0000000..98f3a22 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/dialogs/wordimage/wordimage.js @@ -0,0 +1,157 @@ +/** + * Created by JetBrains PhpStorm. + * User: taoqili + * Date: 12-1-30 + * Time: 下午12:50 + * To change this template use File | Settings | File Templates. + */ + + + +var wordImage = {}; +//(function(){ +var g = baidu.g, + flashObj,flashContainer; + +wordImage.init = function(opt, callbacks) { + showLocalPath("localPath"); + //createCopyButton("clipboard","localPath"); + createFlashUploader(opt, callbacks); + addUploadListener(); + addOkListener(); +}; + +function hideFlash(){ + flashObj = null; + flashContainer.innerHTML = ""; +} +function addOkListener() { + dialog.onok = function() { + if (!imageUrls.length) return; + var urlPrefix = editor.getOpt('imageUrlPrefix'), + images = domUtils.getElementsByTagName(editor.document,"img"); + editor.fireEvent('saveScene'); + for (var i = 0,img; img = images[i++];) { + var src = img.getAttribute("word_img"); + if (!src) continue; + for (var j = 0,url; url = imageUrls[j++];) { + if (src.indexOf(url.original.replace(" ","")) != -1) { + img.src = urlPrefix + url.url; + img.setAttribute("_src", urlPrefix + url.url); //同时修改"_src"属性 + img.setAttribute("title",url.title); + domUtils.removeAttributes(img, ["word_img","style","width","height"]); + editor.fireEvent("selectionchange"); + break; + } + } + } + editor.fireEvent('saveScene'); + hideFlash(); + }; + dialog.oncancel = function(){ + hideFlash(); + } +} + +/** + * 绑定开始上传事件 + */ +function addUploadListener() { + g("upload").onclick = function () { + flashObj.upload(); + this.style.display = "none"; + }; +} + +function showLocalPath(id) { + //单张编辑 + var img = editor.selection.getRange().getClosedNode(); + var images = editor.execCommand('wordimage'); + if(images.length==1 || img && img.tagName == 'IMG'){ + g(id).value = images[0]; + return; + } + var path = images[0]; + var leftSlashIndex = path.lastIndexOf("/")||0, //不同版本的doc和浏览器都可能影响到这个符号,故直接判断两种 + rightSlashIndex = path.lastIndexOf("\\")||0, + separater = leftSlashIndex > rightSlashIndex ? "/":"\\" ; + + path = path.substring(0, path.lastIndexOf(separater)+1); + g(id).value = path; +} + +function createFlashUploader(opt, callbacks) { + //由于lang.flashI18n是静态属性,不可以直接进行修改,否则会影响到后续内容 + var i18n = utils.extend({},lang.flashI18n); + //处理图片资源地址的编码,补全等问题 + for(var i in i18n){ + if(!(i in {"lang":1,"uploadingTF":1,"imageTF":1,"textEncoding":1}) && i18n[i]){ + i18n[i] = encodeURIComponent(editor.options.langPath + editor.options.lang + "/images/" + i18n[i]); + } + } + opt = utils.extend(opt,i18n,false); + var option = { + createOptions:{ + id:'flash', + url:opt.flashUrl, + width:opt.width, + height:opt.height, + errorMessage:lang.flashError, + wmode:browser.safari ? 'transparent' : 'window', + ver:'10.0.0', + vars:opt, + container:opt.container + } + }; + + option = extendProperty(callbacks, option); + flashObj = new baidu.flash.imageUploader(option); + flashContainer = $G(opt.container); +} + +function extendProperty(fromObj, toObj) { + for (var i in fromObj) { + if (!toObj[i]) { + toObj[i] = fromObj[i]; + } + } + return toObj; +} + +//})(); + +function getPasteData(id) { + baidu.g("msg").innerHTML = lang.copySuccess + "
      "; + setTimeout(function() { + baidu.g("msg").innerHTML = ""; + }, 5000); + return baidu.g(id).value; +} + +function createCopyButton(id, dataFrom) { + baidu.swf.create({ + id:"copyFlash", + url:"fClipboard_ueditor.swf", + width:"58", + height:"25", + errorMessage:"", + bgColor:"#CBCBCB", + wmode:"transparent", + ver:"10.0.0", + vars:{ + tid:dataFrom + } + }, id + ); + + var clipboard = baidu.swf.getMovie("copyFlash"); + var clipinterval = setInterval(function() { + if (clipboard && clipboard.flashInit) { + clearInterval(clipinterval); + clipboard.setHandCursor(true); + clipboard.setContentFuncName("getPasteData"); + //clipboard.setMEFuncName("mouseEventHandler"); + } + }, 500); +} +createCopyButton("clipboard", "localPath"); \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/index.html b/manong_manager/manong_manager_web/src/main/webapp/ueditor/index.html new file mode 100644 index 0000000..a416418 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/index.html @@ -0,0 +1,175 @@ + + + + 完整demo + + + + + + + + + + +
      +

      完整demo

      + +
      +
      +
      + + + + + + + + + + + +
      +
      + + + + + + + +
      + +
      + + +
      + +
      +
      + + +
      + + + + \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/config.json b/manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/config.json new file mode 100644 index 0000000..53b6c97 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/config.json @@ -0,0 +1,94 @@ +/* 前后端通信相关的配置,注释只允许使用多行方式 */ +{ + /* 上传图片配置项 */ + "imageActionName": "uploadimage", /* 执行上传图片的action名称 */ + "imageFieldName": "upfile", /* 提交的图片表单名称 */ + "imageMaxSize": 2048000, /* 上传大小限制,单位B */ + "imageAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 上传图片格式显示 */ + "imageCompressEnable": true, /* 是否压缩图片,默认是true */ + "imageCompressBorder": 1600, /* 图片压缩最长边限制 */ + "imageInsertAlign": "none", /* 插入的图片浮动方式 */ + "imageUrlPrefix": "", /* 图片访问路径前缀 */ + "imagePathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ + /* {filename} 会替换成原文件名,配置这项需要注意中文乱码问题 */ + /* {rand:6} 会替换成随机数,后面的数字是随机数的位数 */ + /* {time} 会替换成时间戳 */ + /* {yyyy} 会替换成四位年份 */ + /* {yy} 会替换成两位年份 */ + /* {mm} 会替换成两位月份 */ + /* {dd} 会替换成两位日期 */ + /* {hh} 会替换成两位小时 */ + /* {ii} 会替换成两位分钟 */ + /* {ss} 会替换成两位秒 */ + /* 非法字符 \ : * ? " < > | */ + /* 具请体看线上文档: fex.baidu.com/ueditor/#use-format_upload_filename */ + + /* 涂鸦图片上传配置项 */ + "scrawlActionName": "uploadscrawl", /* 执行上传涂鸦的action名称 */ + "scrawlFieldName": "upfile", /* 提交的图片表单名称 */ + "scrawlPathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ + "scrawlMaxSize": 2048000, /* 上传大小限制,单位B */ + "scrawlUrlPrefix": "", /* 图片访问路径前缀 */ + "scrawlInsertAlign": "none", + + /* 截图工具上传 */ + "snapscreenActionName": "uploadimage", /* 执行上传截图的action名称 */ + "snapscreenPathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ + "snapscreenUrlPrefix": "", /* 图片访问路径前缀 */ + "snapscreenInsertAlign": "none", /* 插入的图片浮动方式 */ + + /* 抓取远程图片配置 */ + "catcherLocalDomain": ["127.0.0.1", "localhost", "img.baidu.com"], + "catcherActionName": "catchimage", /* 执行抓取远程图片的action名称 */ + "catcherFieldName": "source", /* 提交的图片列表表单名称 */ + "catcherPathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ + "catcherUrlPrefix": "", /* 图片访问路径前缀 */ + "catcherMaxSize": 2048000, /* 上传大小限制,单位B */ + "catcherAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 抓取图片格式显示 */ + + /* 上传视频配置 */ + "videoActionName": "uploadvideo", /* 执行上传视频的action名称 */ + "videoFieldName": "upfile", /* 提交的视频表单名称 */ + "videoPathFormat": "/ueditor/jsp/upload/video/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ + "videoUrlPrefix": "", /* 视频访问路径前缀 */ + "videoMaxSize": 102400000, /* 上传大小限制,单位B,默认100MB */ + "videoAllowFiles": [ + ".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg", + ".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid"], /* 上传视频格式显示 */ + + /* 上传文件配置 */ + "fileActionName": "uploadfile", /* controller里,执行上传视频的action名称 */ + "fileFieldName": "upfile", /* 提交的文件表单名称 */ + "filePathFormat": "/ueditor/jsp/upload/file/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ + "fileUrlPrefix": "", /* 文件访问路径前缀 */ + "fileMaxSize": 51200000, /* 上传大小限制,单位B,默认50MB */ + "fileAllowFiles": [ + ".png", ".jpg", ".jpeg", ".gif", ".bmp", + ".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg", + ".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid", + ".rar", ".zip", ".tar", ".gz", ".7z", ".bz2", ".cab", ".iso", + ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".pdf", ".txt", ".md", ".xml" + ], /* 上传文件格式显示 */ + + /* 列出指定目录下的图片 */ + "imageManagerActionName": "listimage", /* 执行图片管理的action名称 */ + "imageManagerListPath": "/ueditor/jsp/upload/image/", /* 指定要列出图片的目录 */ + "imageManagerListSize": 20, /* 每次列出文件数量 */ + "imageManagerUrlPrefix": "", /* 图片访问路径前缀 */ + "imageManagerInsertAlign": "none", /* 插入的图片浮动方式 */ + "imageManagerAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 列出的文件类型 */ + + /* 列出指定目录下的文件 */ + "fileManagerActionName": "listfile", /* 执行文件管理的action名称 */ + "fileManagerListPath": "/ueditor/jsp/upload/file/", /* 指定要列出文件的目录 */ + "fileManagerUrlPrefix": "", /* 文件访问路径前缀 */ + "fileManagerListSize": 20, /* 每次列出文件数量 */ + "fileManagerAllowFiles": [ + ".png", ".jpg", ".jpeg", ".gif", ".bmp", + ".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg", + ".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid", + ".rar", ".zip", ".tar", ".gz", ".7z", ".bz2", ".cab", ".iso", + ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".pdf", ".txt", ".md", ".xml" + ] /* 列出的文件类型 */ + +} \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/controller.jsp b/manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/controller.jsp new file mode 100644 index 0000000..6a3ef2f --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/controller.jsp @@ -0,0 +1,14 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + import="com.baidu.ueditor.ActionEnter" + pageEncoding="UTF-8"%> +<%@ page trimDirectiveWhitespaces="true" %> +<% + + request.setCharacterEncoding( "utf-8" ); + response.setHeader("Content-Type" , "text/html"); + + String rootPath = application.getRealPath( "/" ); + + out.write( new ActionEnter( request, rootPath ).exec() ); + +%> \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/upload/image/20181204/1543858596077013255.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/upload/image/20181204/1543858596077013255.png new file mode 100644 index 0000000000000000000000000000000000000000..c6c373ee4b400c0b46047c453898739951740236 GIT binary patch literal 24674 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 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/upload/image/20181204/1543858816403038748.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/upload/image/20181204/1543858816403038748.png new file mode 100644 index 0000000000000000000000000000000000000000..c6c373ee4b400c0b46047c453898739951740236 GIT binary patch literal 24674 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 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/upload/image/20181218/1545124074789022151.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/jsp/upload/image/20181218/1545124074789022151.png new file mode 100644 index 0000000000000000000000000000000000000000..f1c60e86e7d630717d162f08050ffe4cee7c7341 GIT binary patch literal 29162 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 LNkvXXu0mjf3l)h% literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/rotateleftdisable.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/rotateleftdisable.png new file mode 100644 index 0000000000000000000000000000000000000000..741526e0d5e6eb5c30eb0a62c9b1d6d558ed9cdf GIT binary patch literal 719 zcmV;=0xVLm}k=YQ<2%m+GNILKMZ4Wj)Eo{6dA(i=1OgO`#k70DYI-BmRjYes)SkU2cI0GZBR;y4N3I~Hh!d`9*7LUg-fQ!ZA17DgvC%W<{o)0F! zU*`EmuKGZYN~Kcs0v3uoolcs~W&&`zTnccgjDVT|^mshtI#kAIIINifC7$1T{?yd~ z`f398$nzJ^&xXUj%I~;@1tb~>YHqh%0jWR{cz-&b2!6()Y&M(t%#{JqZzlB@o&~uo zRdFYN7<*g3d>y0SFTSsu}||KmrzxrzXV}0f4+Nl`U`wo^<=3%s|h|0ur}Z0m~6a z)9IA5+3a~Uyo=N{O{`Z26ni!(U6x=a31615Uq6I}2cZ-|0a2}1X+EF7+lbqaCbL*9 zVjpaCBO8zeF31Bljb43c1B|5gdMy+K1i&JZ2&owiAH&aRFjxU~zu$k$sq`Wh)qB?* z7JdW}ya?6MP#9CN2390Mab0C5lljw}edEbwzR6l%S5ujn*P2rK!bg5RKf!pHvr45x zq@5Lg56Rlp|dF?<); zZnrB`Ycv`HPI*-K+S{`L4RzyPXZYcl&002ovPDHLkV1lL= BGwT2V literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/rotateleftenable.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/rotateleftenable.png new file mode 100644 index 0000000000000000000000000000000000000000..e164ddbd62a232f3a89826158c9795f6c082cc89 GIT binary patch literal 952 zcmV;p14sOcP)B{+A~4pJXZ}t_3ogEQ=EtDt@NW=ovC^1YY3D0f#y*iY)MG5<8F z!|f{@kKz7^5#8k3NZf?c9K_t5iFB?APcn|7{XXn#Ybhtak0o(qW)4fuAr!0vET4{< zSc+h47GQ*Qo%FCG#zDtxKn;d}ii3LDciA+S|Xdhl! zB4Tth6pKaVi#F1YAvCEHTFJM^bUHnP0sSYFPoVrcDQm)w^;g8!)bGBFx|JW?%CGA- z&{PEjJ5@v`9|31h11Z`(8l4W74acX!rYt{M#7D#XGmFrJ8p1{(Q)@sv8@F2OUzvR1 zx9$d0kvWXM{tBEwN0$R4YNDW*#-^%Df&-Q6zoW#Uu@ZDmhS%$@-$mxZRD^B@1aSM_ zhL@++3|_o?ixNDPXhWAA>})fj>w5hzGPAR@B4aE>&p+Mbf*>$imMuk5EW2c0000?hzPCHlRk++nh`E3!rKF3htnTQ@ z$gI|MU8lEVHuFTg-PR|Q2`!gP+H5wYX&N~k4)SU74-bY78_Ii7=yw!+~9z)9EC?-%tI1pNtpOgTWwx zYc~hmYPIxUug9z{77N<%_sk-|f_a_y+;xqv4+oe^KHq!n0!Sli2@LjQ?eJI-PQw!5kz2kP;{i1#vW)J3m7@ilvOQx*+0gD21yWM29TG_#>*)V5x3eEte0rs!7XTfq- zNpDVBe^HqJA^?xgte(JHEEaB201ADoR;^a);o$)-i`fNGNCD$l*jUkV&ZOJ#g6-=H z48;P#aDbi7X5{nvH~?d$9K9Fo01LT5x392A!Cv-)3}9cydREAx^dDF>`_*d2002m8 z7y1N?u~>`?4DAa45ev4jw7ek*Sw2XA4L&zdS z9A4&}t`&psbm3W({))<)8k1Mzq-LMgHh4P0I-QOV5C8-H!ohO6T&8$D&Va$Z(UY0s zOeS;lL%|{kl3A%;S#MlC&Amg&cpiN1r-rvC| zuQ1Fer=aUPn>g6re+%A~4HxgfoyFs_jfT}hvT2|~buTAFG7cgsM5)fELnz*RfYsA+ z%+JjZfW5eCXjGl)8+s)4P|lCQu*F>n-SXLP{rpv`@{BNE{IcsI8B@_npSvh)X*hNpW_TLgr2`Ju@0bJqvCruO={o6E(Z3`5{jw@Hv`M-m z=H><1m4WE;;`c%mkz)x|ObZEnAD_J*B%s8ej2PcmwhgRZado>%)jtid7zm=SE zQ*F%`{_{RP6wdfheSj59}E|h^E{{P*E_)R6H^3NW^13gC8C>dV0CgKv@POF4dxfvY6kSFwxaNHki&!>3-Y^~4kn%F>oC=IgN4BfYTUZZWo z4NgH0Fff*Y6!1`OQEtkV%qBhmGZEnCEqwT{hG--_gp%$=?(C?C;zb^jm66PHQ4|^R zkb*cmi1NcmKm&YfVi#crNDyF;_V&?5G literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/upload.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/upload.png new file mode 100644 index 0000000000000000000000000000000000000000..7bb15b3d6d6799504cf7093a1600bd7ece0d9ef5 GIT binary patch literal 3941 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 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/zh-cn/images/copy.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/zh-cn/images/copy.png new file mode 100644 index 0000000000000000000000000000000000000000..b2536aac72e763b9a872b507462458ecb96990f0 GIT binary patch literal 4319 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 N002ovPDHLkV1nv#UQ7T0 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/zh-cn/images/localimage.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/zh-cn/images/localimage.png new file mode 100644 index 0000000000000000000000000000000000000000..7303c364318b6ac27dc4a8ae6717124d8dafaff9 GIT binary patch literal 6979 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 O0000字数超出最大允许值,服务器可能拒绝保存!', + 'ok':"确认", + 'cancel':"取消", + 'closeDialog':"关闭对话框", + 'tableDrag':"表格拖动必须引入uiUtils.js文件!", + 'autofloatMsg':"工具栏浮动依赖编辑器UI,您首先需要引入UI文件!", + 'loadconfigError': '获取后台配置项请求出错,上传功能将不能正常使用!', + 'loadconfigFormatError': '后台配置项返回格式出错,上传功能将不能正常使用!', + 'loadconfigHttpError': '请求后台配置项http错误,上传功能将不能正常使用!', + 'snapScreen_plugin':{ + 'browserMsg':"仅支持IE浏览器!", + 'callBackErrorMsg':"服务器返回数据有误,请检查配置项之后重试。", + 'uploadErrorMsg':"截图上传失败,请检查服务器端环境! " + }, + 'insertcode':{ + 'as3':'ActionScript 3', + 'bash':'Bash/Shell', + 'cpp':'C/C++', + 'css':'CSS', + 'cf':'ColdFusion', + 'c#':'C#', + 'delphi':'Delphi', + 'diff':'Diff', + 'erlang':'Erlang', + 'groovy':'Groovy', + 'html':'HTML', + 'java':'Java', + 'jfx':'JavaFX', + 'js':'JavaScript', + 'pl':'Perl', + 'php':'PHP', + 'plain':'Plain Text', + 'ps':'PowerShell', + 'python':'Python', + 'ruby':'Ruby', + 'scala':'Scala', + 'sql':'SQL', + 'vb':'Visual Basic', + 'xml':'XML' + }, + 'confirmClear':"确定清空当前文档么?", + 'contextMenu':{ + 'delete':"删除", + 'selectall':"全选", + 'deletecode':"删除代码", + 'cleardoc':"清空文档", + 'confirmclear':"确定清空当前文档么?", + 'unlink':"删除超链接", + 'paragraph':"段落格式", + 'edittable':"表格属性", + 'aligntd':"单元格对齐方式", + 'aligntable':'表格对齐方式', + 'tableleft':'左浮动', + 'tablecenter':'居中显示', + 'tableright':'右浮动', + 'edittd':"单元格属性", + 'setbordervisible':'设置表格边线可见', + 'justifyleft':'左对齐', + 'justifyright':'右对齐', + 'justifycenter':'居中对齐', + 'justifyjustify':'两端对齐', + 'table':"表格", + 'inserttable':'插入表格', + 'deletetable':"删除表格", + 'insertparagraphbefore':"前插入段落", + 'insertparagraphafter':'后插入段落', + 'deleterow':"删除当前行", + 'deletecol':"删除当前列", + 'insertrow':"前插入行", + 'insertcol':"左插入列", + 'insertrownext':'后插入行', + 'insertcolnext':'右插入列', + 'insertcaption':'插入表格名称', + 'deletecaption':'删除表格名称', + 'inserttitle':'插入表格标题行', + 'deletetitle':'删除表格标题行', + 'inserttitlecol':'插入表格标题列', + 'deletetitlecol':'删除表格标题列', + 'averageDiseRow':'平均分布各行', + 'averageDisCol':'平均分布各列', + 'mergeright':"向右合并", + 'mergeleft':"向左合并", + 'mergedown':"向下合并", + 'mergecells':"合并单元格", + 'splittocells':"完全拆分单元格", + 'splittocols':"拆分成列", + 'splittorows':"拆分成行", + 'tablesort':'表格排序', + 'enablesort':'设置表格可排序', + 'disablesort':'取消表格可排序', + 'reversecurrent':'逆序当前', + 'orderbyasc':'按ASCII字符升序', + 'reversebyasc':'按ASCII字符降序', + 'orderbynum':'按数值大小升序', + 'reversebynum':'按数值大小降序', + 'borderbk':'边框底纹', + 'setcolor':'表格隔行变色', + 'unsetcolor':'取消表格隔行变色', + 'setbackground':'选区背景隔行', + 'unsetbackground':'取消选区背景', + 'redandblue':'红蓝相间', + 'threecolorgradient':'三色渐变', + 'copy':"复制(Ctrl + c)", + 'copymsg': "浏览器不支持,请使用 'Ctrl + c'", + 'paste':"粘贴(Ctrl + v)", + 'pastemsg': "浏览器不支持,请使用 'Ctrl + v'" + }, + 'copymsg': "浏览器不支持,请使用 'Ctrl + c'", + 'pastemsg': "浏览器不支持,请使用 'Ctrl + v'", + 'anthorMsg':"链接", + 'clearColor':'清空颜色', + 'standardColor':'标准颜色', + 'themeColor':'主题颜色', + 'property':'属性', + 'default':'默认', + 'modify':'修改', + 'justifyleft':'左对齐', + 'justifyright':'右对齐', + 'justifycenter':'居中', + 'justify':'默认', + 'clear':'清除', + 'anchorMsg':'锚点', + 'delete':'删除', + 'clickToUpload':"点击上传", + 'unset':'尚未设置语言文件', + 't_row':'行', + 't_col':'列', + 'more':'更多', + 'pasteOpt':'粘贴选项', + 'pasteSourceFormat':"保留源格式", + 'tagFormat':'只保留标签', + 'pasteTextFormat':'只保留文本', + 'autoTypeSet':{ + 'mergeLine':"合并空行", + 'delLine':"清除空行", + 'removeFormat':"清除格式", + 'indent':"首行缩进", + 'alignment':"对齐方式", + 'imageFloat':"图片浮动", + 'removeFontsize':"清除字号", + 'removeFontFamily':"清除字体", + 'removeHtml':"清除冗余HTML代码", + 'pasteFilter':"粘贴过滤", + 'run':"执行", + 'symbol':'符号转换', + 'bdc2sb':'全角转半角', + 'tobdc':'半角转全角' + }, + + 'background':{ + 'static':{ + 'lang_background_normal':'背景设置', + 'lang_background_local':'在线图片', + 'lang_background_set':'选项', + 'lang_background_none':'无背景色', + 'lang_background_colored':'有背景色', + 'lang_background_color':'颜色设置', + 'lang_background_netimg':'网络图片', + 'lang_background_align':'对齐方式', + 'lang_background_position':'精确定位', + 'repeatType':{'options':["居中", "横向重复", "纵向重复", "平铺","自定义"]} + + }, + 'noUploadImage':"当前未上传过任何图片!", + 'toggleSelect':"单击可切换选中状态\n原图尺寸: " + }, + //===============dialog i18N======================= + 'insertimage':{ + 'static':{ + 'lang_tab_remote':"插入图片", //节点 + 'lang_tab_upload':"本地上传", + 'lang_tab_online':"在线管理", + 'lang_tab_search':"图片搜索", + 'lang_input_url':"地 址:", + 'lang_input_size':"大 小:", + 'lang_input_width':"宽度", + 'lang_input_height':"高度", + 'lang_input_border':"边 框:", + 'lang_input_vhspace':"边 距:", + 'lang_input_title':"描 述:", + 'lang_input_align':'图片浮动方式:', + 'lang_imgLoading':" 图片加载中……", + 'lang_start_upload':"开始上传", + 'lock':{'title':"锁定宽高比例"}, //属性 + 'searchType':{'title':"图片类型", 'options':["新闻", "壁纸", "表情", "头像"]}, //select的option + 'searchTxt':{'value':"请输入搜索关键词"}, + 'searchBtn':{'value':"百度一下"}, + 'searchReset':{'value':"清空搜索"}, + 'noneAlign':{'title':'无浮动'}, + 'leftAlign':{'title':'左浮动'}, + 'rightAlign':{'title':'右浮动'}, + 'centerAlign':{'title':'居中独占一行'} + }, + 'uploadSelectFile':'点击选择图片', + 'uploadAddFile':'继续添加', + 'uploadStart':'开始上传', + 'uploadPause':'暂停上传', + 'uploadContinue':'继续上传', + 'uploadRetry':'重试上传', + 'uploadDelete':'删除', + 'uploadTurnLeft':'向左旋转', + 'uploadTurnRight':'向右旋转', + 'uploadPreview':'预览中', + 'uploadNoPreview':'不能预览', + 'updateStatusReady': '选中_张图片,共_KB。', + 'updateStatusConfirm': '已成功上传_张照片,_张照片上传失败', + 'updateStatusFinish': '共_张(_KB),_张上传成功', + 'updateStatusError': ',_张上传失败。', + 'errorNotSupport': 'WebUploader 不支持您的浏览器!如果你使用的是IE浏览器,请尝试升级 flash 播放器。', + 'errorLoadConfig': '后端配置项没有正常加载,上传插件不能正常使用!', + 'errorExceedSize':'文件大小超出', + 'errorFileType':'文件格式不允许', + 'errorInterrupt':'文件传输中断', + 'errorUploadRetry':'上传失败,请重试', + 'errorHttp':'http请求错误', + 'errorServerUpload':'服务器返回出错', + 'remoteLockError':"宽高不正确,不能所定比例", + 'numError':"请输入正确的长度或者宽度值!例如:123,400", + 'imageUrlError':"不允许的图片格式或者图片域!", + 'imageLoadError':"图片加载失败!请检查链接地址或网络状态!", + 'searchRemind':"请输入搜索关键词", + 'searchLoading':"图片加载中,请稍后……", + 'searchRetry':" :( ,抱歉,没有找到图片!请重试一次!" + }, + 'attachment':{ + 'static':{ + 'lang_tab_upload': '上传附件', + 'lang_tab_online': '在线附件', + 'lang_start_upload':"开始上传", + 'lang_drop_remind':"可以将文件拖到这里,单次最多可选100个文件" + }, + 'uploadSelectFile':'点击选择文件', + 'uploadAddFile':'继续添加', + 'uploadStart':'开始上传', + 'uploadPause':'暂停上传', + 'uploadContinue':'继续上传', + 'uploadRetry':'重试上传', + 'uploadDelete':'删除', + 'uploadTurnLeft':'向左旋转', + 'uploadTurnRight':'向右旋转', + 'uploadPreview':'预览中', + 'updateStatusReady': '选中_个文件,共_KB。', + 'updateStatusConfirm': '已成功上传_个文件,_个文件上传失败', + 'updateStatusFinish': '共_个(_KB),_个上传成功', + 'updateStatusError': ',_张上传失败。', + 'errorNotSupport': 'WebUploader 不支持您的浏览器!如果你使用的是IE浏览器,请尝试升级 flash 播放器。', + 'errorLoadConfig': '后端配置项没有正常加载,上传插件不能正常使用!', + 'errorExceedSize':'文件大小超出', + 'errorFileType':'文件格式不允许', + 'errorInterrupt':'文件传输中断', + 'errorUploadRetry':'上传失败,请重试', + 'errorHttp':'http请求错误', + 'errorServerUpload':'服务器返回出错' + }, + 'insertvideo':{ + 'static':{ + 'lang_tab_insertV':"插入视频", + 'lang_tab_searchV':"搜索视频", + 'lang_tab_uploadV':"上传视频", + 'lang_video_url':"视频网址", + 'lang_video_size':"视频尺寸", + 'lang_videoW':"宽度", + 'lang_videoH':"高度", + 'lang_alignment':"对齐方式", + 'videoSearchTxt':{'value':"请输入搜索关键字!"}, + 'videoType':{'options':["全部", "热门", "娱乐", "搞笑", "体育", "科技", "综艺"]}, + 'videoSearchBtn':{'value':"百度一下"}, + 'videoSearchReset':{'value':"清空结果"}, + + 'lang_input_fileStatus':' 当前未上传文件', + 'startUpload':{'style':"background:url(upload.png) no-repeat;"}, + + 'lang_upload_size':"视频尺寸", + 'lang_upload_width':"宽度", + 'lang_upload_height':"高度", + 'lang_upload_alignment':"对齐方式", + 'lang_format_advice':"建议使用mp4格式." + + }, + 'numError':"请输入正确的数值,如123,400", + 'floatLeft':"左浮动", + 'floatRight':"右浮动", + '"default"':"默认", + 'block':"独占一行", + 'urlError':"输入的视频地址有误,请检查后再试!", + 'loading':"  视频加载中,请等待……", + 'clickToSelect':"点击选中", + 'goToSource':'访问源视频', + 'noVideo':"    抱歉,找不到对应的视频,请重试!", + + 'browseFiles':'浏览文件', + 'uploadSuccess':'上传成功!', + 'delSuccessFile':'从成功队列中移除', + 'delFailSaveFile':'移除保存失败文件', + 'statusPrompt':' 个文件已上传! ', + 'flashVersionError':'当前Flash版本过低,请更新FlashPlayer后重试!', + 'flashLoadingError':'Flash加载失败!请检查路径或网络状态', + 'fileUploadReady':'等待上传……', + 'delUploadQueue':'从上传队列中移除', + 'limitPrompt1':'单次不能选择超过', + 'limitPrompt2':'个文件!请重新选择!', + 'delFailFile':'移除失败文件', + 'fileSizeLimit':'文件大小超出限制!', + 'emptyFile':'空文件无法上传!', + 'fileTypeError':'文件类型不允许!', + 'unknownError':'未知错误!', + 'fileUploading':'上传中,请等待……', + 'cancelUpload':'取消上传', + 'netError':'网络错误', + 'failUpload':'上传失败!', + 'serverIOError':'服务器IO错误!', + 'noAuthority':'无权限!', + 'fileNumLimit':'上传个数限制', + 'failCheck':'验证失败,本次上传被跳过!', + 'fileCanceling':'取消中,请等待……', + 'stopUploading':'上传已停止……', + + 'uploadSelectFile':'点击选择文件', + 'uploadAddFile':'继续添加', + 'uploadStart':'开始上传', + 'uploadPause':'暂停上传', + 'uploadContinue':'继续上传', + 'uploadRetry':'重试上传', + 'uploadDelete':'删除', + 'uploadTurnLeft':'向左旋转', + 'uploadTurnRight':'向右旋转', + 'uploadPreview':'预览中', + 'updateStatusReady': '选中_个文件,共_KB。', + 'updateStatusConfirm': '成功上传_个,_个失败', + 'updateStatusFinish': '共_个(_KB),_个成功上传', + 'updateStatusError': ',_张上传失败。', + 'errorNotSupport': 'WebUploader 不支持您的浏览器!如果你使用的是IE浏览器,请尝试升级 flash 播放器。', + 'errorLoadConfig': '后端配置项没有正常加载,上传插件不能正常使用!', + 'errorExceedSize':'文件大小超出', + 'errorFileType':'文件格式不允许', + 'errorInterrupt':'文件传输中断', + 'errorUploadRetry':'上传失败,请重试', + 'errorHttp':'http请求错误', + 'errorServerUpload':'服务器返回出错' + }, + 'webapp':{ + 'tip1':"本功能由百度APP提供,如看到此页面,请各位站长首先申请百度APPKey!", + 'tip2':"申请完成之后请至ueditor.config.js中配置获得的appkey! ", + 'applyFor':"点此申请", + 'anthorApi':"百度API" + }, + 'template':{ + 'static':{ + 'lang_template_bkcolor':'背景颜色', + 'lang_template_clear' : '保留原有内容', + 'lang_template_select' : '选择模板' + }, + 'blank':"空白文档", + 'blog':"博客文章", + 'resume':"个人简历", + 'richText':"图文混排", + 'sciPapers':"科技论文" + + + }, + 'scrawl':{ + 'static':{ + 'lang_input_previousStep':"上一步", + 'lang_input_nextsStep':"下一步", + 'lang_input_clear':'清空', + 'lang_input_addPic':'添加背景', + 'lang_input_ScalePic':'缩放背景', + 'lang_input_removePic':'删除背景', + 'J_imgTxt':{title:'添加背景图片'} + }, + 'noScarwl':"尚未作画,白纸一张~", + 'scrawlUpLoading':"涂鸦上传中,别急哦~", + 'continueBtn':"继续", + 'imageError':"糟糕,图片读取失败了!", + 'backgroundUploading':'背景图片上传中,别急哦~' + }, + 'music':{ + 'static':{ + 'lang_input_tips':"输入歌手/歌曲/专辑,搜索您感兴趣的音乐!", + 'J_searchBtn':{value:'搜索歌曲'} + }, + 'emptyTxt':'未搜索到相关音乐结果,请换一个关键词试试。', + 'chapter':'歌曲', + 'singer':'歌手', + 'special':'专辑', + 'listenTest':'试听' + }, + 'anchor':{ + 'static':{ + 'lang_input_anchorName':'锚点名字:' + } + }, + 'charts':{ + 'static':{ + 'lang_data_source':'数据源:', + 'lang_chart_format': '图表格式:', + 'lang_data_align': '数据对齐方式', + 'lang_chart_align_same': '数据源与图表X轴Y轴一致', + 'lang_chart_align_reverse': '数据源与图表X轴Y轴相反', + 'lang_chart_title': '图表标题', + 'lang_chart_main_title': '主标题:', + 'lang_chart_sub_title': '子标题:', + 'lang_chart_x_title': 'X轴标题:', + 'lang_chart_y_title': 'Y轴标题:', + 'lang_chart_tip': '提示文字', + 'lang_cahrt_tip_prefix': '提示文字前缀:', + 'lang_cahrt_tip_description': '仅饼图有效, 当鼠标移动到饼图中相应的块上时,提示框内的文字的前缀', + 'lang_chart_data_unit': '数据单位', + 'lang_chart_data_unit_title': '单位:', + 'lang_chart_data_unit_description': '显示在每个数据点上的数据的单位, 比如: 温度的单位 ℃', + 'lang_chart_type': '图表类型:', + 'lang_prev_btn': '上一个', + 'lang_next_btn': '下一个' + } + }, + 'emotion':{ + 'static':{ + 'lang_input_choice':'精选', + 'lang_input_Tuzki':'兔斯基', + 'lang_input_BOBO':'BOBO', + 'lang_input_lvdouwa':'绿豆蛙', + 'lang_input_babyCat':'baby猫', + 'lang_input_bubble':'泡泡', + 'lang_input_youa':'有啊' + } + }, + 'gmap':{ + 'static':{ + 'lang_input_address':'地址', + 'lang_input_search':'搜索', + 'address':{value:"北京"} + }, + searchError:'无法定位到该地址!' + }, + 'help':{ + 'static':{ + 'lang_input_about':'关于UEditor', + 'lang_input_shortcuts':'快捷键', + 'lang_input_introduction':'UEditor是由百度web前端研发部开发的所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点。开源基于BSD协议,允许自由使用和修改代码。', + 'lang_Txt_shortcuts':'快捷键', + 'lang_Txt_func':'功能', + 'lang_Txt_bold':'给选中字设置为加粗', + 'lang_Txt_copy':'复制选中内容', + 'lang_Txt_cut':'剪切选中内容', + 'lang_Txt_Paste':'粘贴', + 'lang_Txt_undo':'重新执行上次操作', + 'lang_Txt_redo':'撤销上一次操作', + 'lang_Txt_italic':'给选中字设置为斜体', + 'lang_Txt_underline':'给选中字加下划线', + 'lang_Txt_selectAll':'全部选中', + 'lang_Txt_visualEnter':'软回车', + 'lang_Txt_fullscreen':'全屏' + } + }, + 'insertframe':{ + 'static':{ + 'lang_input_address':'地址:', + 'lang_input_width':'宽度:', + 'lang_input_height':'高度:', + 'lang_input_isScroll':'允许滚动条:', + 'lang_input_frameborder':'显示框架边框:', + 'lang_input_alignMode':'对齐方式:', + 'align':{title:"对齐方式", options:["默认", "左对齐", "右对齐", "居中"]} + }, + 'enterAddress':'请输入地址!' + }, + 'link':{ + 'static':{ + 'lang_input_text':'文本内容:', + 'lang_input_url':'链接地址:', + 'lang_input_title':'标题:', + 'lang_input_target':'是否在新窗口打开:' + }, + 'validLink':'只支持选中一个链接时生效', + 'httpPrompt':'您输入的超链接中不包含http等协议名称,默认将为您添加http://前缀' + }, + 'map':{ + 'static':{ + lang_city:"城市", + lang_address:"地址", + city:{value:"北京"}, + lang_search:"搜索", + lang_dynamicmap:"插入动态地图" + }, + cityMsg:"请选择城市", + errorMsg:"抱歉,找不到该位置!" + }, + 'searchreplace':{ + 'static':{ + lang_tab_search:"查找", + lang_tab_replace:"替换", + lang_search1:"查找", + lang_search2:"查找", + lang_replace:"替换", + lang_searchReg:'支持正则表达式,添加前后斜杠标示为正则表达式,例如“/表达式/”', + lang_searchReg1:'支持正则表达式,添加前后斜杠标示为正则表达式,例如“/表达式/”', + lang_case_sensitive1:"区分大小写", + lang_case_sensitive2:"区分大小写", + nextFindBtn:{value:"下一个"}, + preFindBtn:{value:"上一个"}, + nextReplaceBtn:{value:"下一个"}, + preReplaceBtn:{value:"上一个"}, + repalceBtn:{value:"替换"}, + repalceAllBtn:{value:"全部替换"} + }, + getEnd:"已经搜索到文章末尾!", + getStart:"已经搜索到文章头部", + countMsg:"总共替换了{#count}处!" + }, + 'snapscreen':{ + 'static':{ + lang_showMsg:"截图功能需要首先安装UEditor截图插件! ", + lang_download:"点此下载", + lang_step1:"第一步,下载UEditor截图插件并运行安装。", + lang_step2:"第二步,插件安装完成后即可使用,如不生效,请重启浏览器后再试!" + } + }, + 'spechars':{ + 'static':{}, + tsfh:"特殊字符", + lmsz:"罗马字符", + szfh:"数学字符", + rwfh:"日文字符", + xlzm:"希腊字母", + ewzm:"俄文字符", + pyzm:"拼音字母", + yyyb:"英语音标", + zyzf:"其他" + }, + 'edittable':{ + 'static':{ + 'lang_tableStyle':'表格样式', + 'lang_insertCaption':'添加表格名称行', + 'lang_insertTitle':'添加表格标题行', + 'lang_insertTitleCol':'添加表格标题列', + 'lang_orderbycontent':"使表格内容可排序", + 'lang_tableSize':'自动调整表格尺寸', + 'lang_autoSizeContent':'按表格文字自适应', + 'lang_autoSizePage':'按页面宽度自适应', + 'lang_example':'示例', + 'lang_borderStyle':'表格边框', + 'lang_color':'颜色:' + }, + captionName:'表格名称', + titleName:'标题', + cellsName:'内容', + errorMsg:'有合并单元格,不可排序' + }, + 'edittip':{ + 'static':{ + lang_delRow:'删除整行', + lang_delCol:'删除整列' + } + }, + 'edittd':{ + 'static':{ + lang_tdBkColor:'背景颜色:' + } + }, + 'formula':{ + 'static':{ + } + }, + 'wordimage':{ + 'static':{ + lang_resave:"转存步骤", + uploadBtn:{src:"upload.png",alt:"上传"}, + clipboard:{style:"background: url(copy.png) -153px -1px no-repeat;"}, + lang_step:"1、点击顶部复制按钮,将地址复制到剪贴板;2、点击添加照片按钮,在弹出的对话框中使用Ctrl+V粘贴地址;3、点击打开后选择图片上传流程。" + }, + 'fileType':"图片", + 'flashError':"FLASH初始化失败,请检查FLASH插件是否正确安装!", + 'netError':"网络连接错误,请重试!", + 'copySuccess':"图片地址已经复制!", + 'flashI18n':{} //留空默认中文 + }, + 'autosave': { + 'saving':'保存中...', + 'success':'本地保存成功' + } +}; diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/css/ueditor.css b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/css/ueditor.css new file mode 100644 index 0000000..44ae805 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/css/ueditor.css @@ -0,0 +1,1903 @@ +/*基础UI构建 +*/ +/* common layer */ +.edui-default .edui-box { + border: none; + padding: 0; + margin: 0; + overflow: hidden; +} + +.edui-default a.edui-box { + display: block; + text-decoration: none; + color: black; +} + +.edui-default a.edui-box:hover { + text-decoration: none; +} + +.edui-default a.edui-box:active { + text-decoration: none; +} + +.edui-default table.edui-box { + border-collapse: collapse; +} + +.edui-default ul.edui-box { + list-style-type: none; +} + +div.edui-box { + position: relative; + display: -moz-inline-box !important; + display: inline-block !important; + vertical-align: top; +} + +.edui-default .edui-clearfix { + zoom: 1 +} + +.edui-default .edui-clearfix:after { + content: '\20'; + display: block; + clear: both; +} + + * html div.edui-box { + display: inline !important; +} + +*:first-child+html div.edui-box { + display: inline !important; +} + +/* control layout */ +.edui-default .edui-button-body, .edui-splitbutton-body, .edui-menubutton-body, .edui-combox-body { + position: relative; +} + +.edui-default .edui-popup { + position: absolute; + -webkit-user-select: none; + -moz-user-select: none; +} + +.edui-default .edui-popup .edui-shadow { + position: absolute; + z-index: -1; +} + +.edui-default .edui-popup .edui-bordereraser { + position: absolute; + overflow: hidden; +} + +.edui-default .edui-tablepicker .edui-canvas { + position: relative; +} + +.edui-default .edui-tablepicker .edui-canvas .edui-overlay { + position: absolute; +} + +.edui-default .edui-dialog-modalmask, .edui-dialog-dragmask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; +} + +.edui-default .edui-toolbar { + position: relative; +} + +/* + * default theme + */ +.edui-default .edui-label { + cursor: default; +} + +.edui-default span.edui-clickable { + color: blue; + cursor: pointer; + text-decoration: underline; +} + +.edui-default span.edui-unclickable { + color: gray; + cursor: default; +} +/* 工具栏 */ +.edui-default .edui-toolbar { + cursor: default; + -webkit-user-select: none; + -moz-user-select: none; + padding: 1px; + overflow: hidden; /*全屏下单独一行不占位*/ + zoom: 1; + width:auto; + height:auto; +} + +.edui-default .edui-toolbar .edui-button, +.edui-default .edui-toolbar .edui-splitbutton, +.edui-default .edui-toolbar .edui-menubutton, +.edui-default .edui-toolbar .edui-combox { + margin: 1px; +} +/*UI工具栏、编辑区域、底部*/ +.edui-default .edui-editor { + border: 1px solid #d4d4d4; + background-color: white; + position: relative; + overflow: visible; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.edui-editor div{ + width:auto; + height:auto; +} +.edui-default .edui-editor-toolbarbox { + position: relative; + zoom: 1; + -webkit-box-shadow:0 1px 4px rgba(204, 204, 204, 0.6); + -moz-box-shadow:0 1px 4px rgba(204, 204, 204, 0.6); + box-shadow:0 1px 4px rgba(204, 204, 204, 0.6); + border-top-left-radius:2px; + border-top-right-radius:2px; +} + +.edui-default .edui-editor-toolbarboxouter { + border-bottom: 1px solid #d4d4d4; + background-color: #fafafa; + background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2)); + background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2); + background-image: -o-linear-gradient(top, #ffffff, #f2f2f2); + background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); + background-repeat: repeat-x; + /*border: 1px solid #d4d4d4;*/ + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0); + *zoom: 1; + -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); + -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); +} + +.edui-default .edui-editor-toolbarboxinner { + padding: 2px; +} + +.edui-default .edui-editor-iframeholder { + position: relative; + /*for fix ie6 toolbarmsg under iframe bug. relative -> static */ + /*_position: static !important;* +} + +.edui-default .edui-editor-iframeholder textarea { + font-family: consolas, "Courier New", "lucida console", monospace; + font-size: 12px; + line-height: 18px; +} + +.edui-default .edui-editor-bottombar { + /*border-top: 1px solid #ccc;*/ + /*height: 20px;*/ + /*width: 40%;*/ + /*float: left;*/ + /*overflow: hidden;*/ +} + +.edui-default .edui-editor-bottomContainer { + overflow: hidden; +} + +.edui-default .edui-editor-bottomContainer table { + width: 100%; + height: 0; + overflow: hidden; + border-spacing: 0; +} + +.edui-default .edui-editor-bottomContainer td { + white-space: nowrap; + border-top: 1px solid #ccc; + line-height: 20px; + font-size: 12px; + font-family: Arial, Helvetica, Tahoma, Verdana, Sans-Serif; +} + +.edui-default .edui-editor-wordcount { + text-align: right; + margin-right: 5px; + color: #aaa; +} +.edui-default .edui-editor-scale { + width: 12px; +} +.edui-default .edui-editor-scale .edui-editor-icon { + float: right; + width: 100%; + height: 12px; + margin-top: 10px; + background: url(../images/scale.png) no-repeat; + cursor: se-resize; +} +.edui-default .edui-editor-breadcrumb { + margin: 2px 0 0 3px; +} + +.edui-default .edui-editor-breadcrumb span { + cursor: pointer; + text-decoration: underline; + color: blue; +} + +.edui-default .edui-toolbar .edui-for-fullscreen { + float: right; +} + +.edui-default .edui-bubble .edui-popup-content { + border: 1px solid #DCAC6C; + background-color: #fff6d9; + padding: 5px; + font-size: 10pt; + font-family: "宋体"; +} + +.edui-default .edui-bubble .edui-shadow { + /*box-shadow: 1px 1px 3px #818181;*/ + /*-webkit-box-shadow: 2px 2px 3px #818181;*/ + /*-moz-box-shadow: 2px 2px 3px #818181;*/ + /*filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius = '2', MakeShadow = 'true', ShadowOpacity = '0.5');*/ +} + +.edui-default .edui-editor-toolbarmsg { + background-color: #FFF6D9; + border-bottom: 1px solid #ccc; + position: absolute; + bottom: -25px; + left: 0; + z-index: 1009; + width: 99.9%; +} + +.edui-default .edui-editor-toolbarmsg-upload { + font-size: 14px; + color: blue; + width: 100px; + height: 16px; + line-height: 16px; + cursor: pointer; + position: absolute; + top: 5px; + left: 350px; +} + +.edui-default .edui-editor-toolbarmsg-label { + font-size: 12px; + line-height: 16px; + padding: 4px; +} + +.edui-default .edui-editor-toolbarmsg-close { + float: right; + width: 20px; + height: 16px; + line-height: 16px; + cursor: pointer; + color: red; +} +/*可选中菜单按钮*/ +.edui-default .edui-list .edui-bordereraser { + display: none; +} + +.edui-default .edui-listitem { + padding: 1px; + white-space: nowrap; +} + +.edui-default .edui-list .edui-state-hover { + position: relative; + background-color: #fff5d4; + border: 1px solid #dcac6c; + padding: 0; +} + +.edui-default .edui-for-fontfamily .edui-listitem-label { + min-width: 130px; + _width: 120px; + font-size: 12px; + height: 22px; + line-height: 22px; + padding-left: 5px; +} +.edui-default .edui-for-insertcode .edui-listitem-label { + min-width: 120px; + _width: 120px; + font-size: 12px; + height: 22px; + line-height: 22px; + padding-left: 5px; +} +.edui-default .edui-for-underline .edui-listitem-label { + min-width: 120px; + _width: 120px; + padding: 3px 5px; + font-size: 12px; +} + +.edui-default .edui-for-fontsize .edui-listitem-label { + min-width: 120px; + _width: 120px; + padding: 3px 5px; + +} + +.edui-default .edui-for-paragraph .edui-listitem-label { + min-width: 200px; + _width: 200px; + padding: 2px 5px; +} + +.edui-default .edui-for-rowspacingtop .edui-listitem-label, +.edui-default .edui-for-rowspacingbottom .edui-listitem-label { + min-width: 53px; + _width: 53px; + padding: 2px 5px; +} + +.edui-default .edui-for-lineheight .edui-listitem-label { + min-width: 53px; + _width: 53px; + padding: 2px 5px; +} + +.edui-default .edui-for-customstyle .edui-listitem-label { + min-width: 200px; + _width: 200px; + width: 200px !important; + padding: 2px 5px; +} +/* 可选中按钮弹出菜单*/ +.edui-default .edui-menu { + z-index: 3000; +} + +.edui-default .edui-menu .edui-popup-content { + padding: 3px; +} + +.edui-default .edui-menu-body { + _width: 150px; + min-width: 170px; + background: url("../images/sparator_v.png") repeat-y 25px; +} + +.edui-default .edui-menuitem-body { +} + +.edui-default .edui-menuitem { + height: 20px; + cursor: default; + vertical-align: top; +} + +.edui-default .edui-menuitem .edui-icon { + width: 20px !important; + height: 20px !important; + background: url(../images/icons.png) 0 -4000px; + background: url(../images/icons.gif) 0 -4000px\9; +} + +.edui-default .edui-menuitem .edui-label { + font-size: 12px; + line-height: 20px; + height: 20px; + padding-left: 10px; +} + +.edui-default .edui-state-checked .edui-menuitem-body { + background: url("../images/icons-all.gif") no-repeat 6px -205px; +} + +.edui-default .edui-state-disabled .edui-menuitem-label { + color: gray; +} + + +/*不可选中菜单按钮 */ +.edui-default .edui-toolbar .edui-combox-body .edui-button-body { + width: 60px; + font-size: 12px; + height: 20px; + line-height: 20px; + padding-left: 5px; + white-space: nowrap; + margin: 0 3px 0 0; +} + +.edui-default .edui-toolbar .edui-combox-body .edui-arrow { + background: url(../images/icons.png) -741px 0; + _background: url(../images/icons.gif) -741px 0; + height: 20px; + width: 9px; +} + +.edui-default .edui-toolbar .edui-combox .edui-combox-body { + border: 1px solid #CCC; + background-color: white; + border-radius: 2px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; +} + +.edui-default .edui-toolbar .edui-combox-body .edui-splitborder { + display: none; +} + +.edui-default .edui-toolbar .edui-combox-body .edui-arrow { + border-left: 1px solid #CCC; +} + +.edui-default .edui-toolbar .edui-state-hover .edui-combox-body { + background-color: #fff5d4; + border: 1px solid #dcac6c; +} + +.edui-default .edui-toolbar .edui-state-hover .edui-combox-body .edui-arrow { + border-left: 1px solid #dcac6c; +} + +.edui-default .edui-toolbar .edui-state-checked .edui-combox-body { + background-color: #FFE69F; + border: 1px solid #DCAC6C; +} + +.edui-toolbar .edui-state-checked .edui-combox-body .edui-arrow { + border-left: 1px solid #DCAC6C; +} + +.edui-toolbar .edui-state-disabled .edui-combox-body { + background-color: #F0F0EE; + opacity: 0.3; + filter: alpha(opacity = 30); +} + +.edui-toolbar .edui-state-opened .edui-combox-body { + background-color: white; + border: 1px solid gray; +} +/*普通按钮样式及状态*/ +.edui-default .edui-toolbar .edui-button .edui-icon, +.edui-default .edui-toolbar .edui-menubutton .edui-icon, +.edui-default .edui-toolbar .edui-splitbutton .edui-icon { + height: 20px !important; + width: 20px !important; + background-image: url(../images/icons.png); + background-image: url(../images/icons.gif) \9; +} + +.edui-default .edui-toolbar .edui-button .edui-button-wrap { + padding: 1px; + position: relative; +} + +.edui-default .edui-toolbar .edui-button .edui-state-hover .edui-button-wrap { + background-color: #fff5d4; + padding: 0; + border: 1px solid #dcac6c; +} + +.edui-default .edui-toolbar .edui-button .edui-state-checked .edui-button-wrap { + background-color: #ffe69f; + padding: 0; + border: 1px solid #dcac6c; + border-radius: 2px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; +} + +.edui-default .edui-toolbar .edui-button .edui-state-active .edui-button-wrap { + background-color: #ffffff; + padding: 0; + border: 1px solid gray; +} +.edui-default .edui-toolbar .edui-state-disabled .edui-label { + color: #ccc; +} +.edui-default .edui-toolbar .edui-state-disabled .edui-icon { + opacity: 0.3; + filter: alpha(opacity = 30); +} + +/* toolbar icons */ +.edui-default .edui-for-undo .edui-icon { + background-position: -160px 0; +} + +.edui-default .edui-for-redo .edui-icon { + background-position: -100px 0; +} + +.edui-default .edui-for-bold .edui-icon { + background-position: 0 0; +} + +.edui-default .edui-for-italic .edui-icon { + background-position: -60px 0; +} + +.edui-default .edui-for-fontborder .edui-icon { + background-position:-160px -40px; +} +.edui-default .edui-for-underline .edui-icon { + background-position: -140px 0; +} + +.edui-default .edui-for-strikethrough .edui-icon { + background-position: -120px 0; +} + +.edui-default .edui-for-subscript .edui-icon { + background-position: -600px 0; +} + +.edui-default .edui-for-superscript .edui-icon { + background-position: -620px 0; +} + +.edui-default .edui-for-blockquote .edui-icon { + background-position: -220px 0; +} + +.edui-default .edui-for-forecolor .edui-icon { + background-position: -720px 0; +} + +.edui-default .edui-for-backcolor .edui-icon { + background-position: -760px 0; +} + +.edui-default .edui-for-inserttable .edui-icon { + background-position: -580px -20px; +} + +.edui-default .edui-for-autotypeset .edui-icon { + background-position: -640px -40px; +} + +.edui-default .edui-for-justifyleft .edui-icon { + background-position: -460px 0; +} + +.edui-default .edui-for-justifycenter .edui-icon { + background-position: -420px 0; +} + +.edui-default .edui-for-justifyright .edui-icon { + background-position: -480px 0; +} + +.edui-default .edui-for-justifyjustify .edui-icon { + background-position: -440px 0; +} + +.edui-default .edui-for-insertorderedlist .edui-icon { + background-position: -80px 0; +} + +.edui-default .edui-for-insertunorderedlist .edui-icon { + background-position: -20px 0; +} + +.edui-default .edui-for-lineheight .edui-icon { + background-position: -725px -40px; +} + +.edui-default .edui-for-rowspacingbottom .edui-icon { + background-position: -745px -40px; +} + +.edui-default .edui-for-rowspacingtop .edui-icon { + background-position: -765px -40px; +} + +.edui-default .edui-for-horizontal .edui-icon { + background-position: -360px 0; +} + +.edui-default .edui-for-link .edui-icon { + background-position: -500px 0; +} + +.edui-default .edui-for-code .edui-icon { + background-position: -440px -40px; +} + +.edui-default .edui-for-insertimage .edui-icon { + background-position: -726px -77px; +} + +.edui-default .edui-for-insertframe .edui-icon { + background-position: -240px -40px; +} + +.edui-default .edui-for-emoticon .edui-icon { + background-position: -60px -20px; +} + +.edui-default .edui-for-spechars .edui-icon { + background-position: -240px 0; +} + +.edui-default .edui-for-help .edui-icon { + background-position: -340px 0; +} + +.edui-default .edui-for-print .edui-icon { + background-position: -440px -20px; +} + +.edui-default .edui-for-preview .edui-icon { + background-position: -420px -20px; +} + +.edui-default .edui-for-selectall .edui-icon { + background-position: -400px -20px; +} + +.edui-default .edui-for-searchreplace .edui-icon { + background-position: -520px -20px; +} + +.edui-default .edui-for-map .edui-icon { + background-position: -40px -40px; +} + +.edui-default .edui-for-gmap .edui-icon { + background-position: -260px -40px; +} + +.edui-default .edui-for-insertvideo .edui-icon { + background-position: -320px -20px; +} + +.edui-default .edui-for-time .edui-icon { + background-position: -160px -20px; +} + +.edui-default .edui-for-date .edui-icon { + background-position: -140px -20px; +} + +.edui-default .edui-for-cut .edui-icon { + background-position: -680px 0; +} + +.edui-default .edui-for-copy .edui-icon { + background-position: -700px 0; +} + +.edui-default .edui-for-paste .edui-icon { + background-position: -560px 0; +} + +.edui-default .edui-for-formatmatch .edui-icon { + background-position: -40px 0; +} + +.edui-default .edui-for-pasteplain .edui-icon { + background-position: -360px -20px; +} + +.edui-default .edui-for-directionalityltr .edui-icon { + background-position: -20px -20px; +} + +.edui-default .edui-for-directionalityrtl .edui-icon { + background-position: -40px -20px; +} + +.edui-default .edui-for-source .edui-icon { + background-position: -261px -0px; +} + +.edui-default .edui-for-removeformat .edui-icon { + background-position: -580px 0; +} + +.edui-default .edui-for-unlink .edui-icon { + background-position: -640px 0; +} + +.edui-default .edui-for-touppercase .edui-icon { + background-position: -786px 0; +} + +.edui-default .edui-for-tolowercase .edui-icon { + background-position: -806px 0; +} + +.edui-default .edui-for-insertrow .edui-icon { + background-position: -478px -76px; +} + +.edui-default .edui-for-insertrownext .edui-icon { + background-position: -498px -76px; +} + +.edui-default .edui-for-insertcol .edui-icon { + background-position: -455px -76px; +} + +.edui-default .edui-for-insertcolnext .edui-icon { + background-position: -429px -76px; +} + +.edui-default .edui-for-mergeright .edui-icon { + background-position: -60px -40px; +} + +.edui-default .edui-for-mergedown .edui-icon { + background-position: -80px -40px; +} + +.edui-default .edui-for-splittorows .edui-icon { + background-position: -100px -40px; +} + +.edui-default .edui-for-splittocols .edui-icon { + background-position: -120px -40px; +} + +.edui-default .edui-for-insertparagraphbeforetable .edui-icon { + background-position: -140px -40px; +} + +.edui-default .edui-for-deleterow .edui-icon { + background-position: -660px -20px; +} + +.edui-default .edui-for-deletecol .edui-icon { + background-position: -640px -20px; +} + +.edui-default .edui-for-splittocells .edui-icon { + background-position: -800px -20px; +} + +.edui-default .edui-for-mergecells .edui-icon { + background-position: -760px -20px; +} + +.edui-default .edui-for-deletetable .edui-icon { + background-position: -620px -20px; +} + +.edui-default .edui-for-cleardoc .edui-icon { + background-position: -520px 0; +} + +.edui-default .edui-for-fullscreen .edui-icon { + background-position: -100px -20px; +} + +.edui-default .edui-for-anchor .edui-icon { + background-position: -200px 0; +} + +.edui-default .edui-for-pagebreak .edui-icon { + background-position: -460px -40px; +} + +.edui-default .edui-for-imagenone .edui-icon { + background-position: -480px -40px; +} + +.edui-default .edui-for-imageleft .edui-icon { + background-position: -500px -40px; +} + +.edui-default .edui-for-wordimage .edui-icon { + background-position: -660px -40px; +} + +.edui-default .edui-for-imageright .edui-icon { + background-position: -520px -40px; +} + +.edui-default .edui-for-imagecenter .edui-icon { + background-position: -540px -40px; +} + +.edui-default .edui-for-indent .edui-icon { + background-position: -400px 0; +} + +.edui-default .edui-for-outdent .edui-icon { + background-position: -540px 0; +} + +.edui-default .edui-for-webapp .edui-icon { + background-position: -601px -40px +} + +.edui-default .edui-for-table .edui-icon { + background-position: -580px -20px; +} + +.edui-default .edui-for-edittable .edui-icon { + background-position: -420px -40px; +} + +.edui-default .edui-for-template .edui-icon { + background-position: -339px -40px; +} + +.edui-default .edui-for-delete .edui-icon { + background-position: -360px -40px; +} + +.edui-default .edui-for-attachment .edui-icon { + background-position: -620px -40px; +} + +.edui-default .edui-for-edittd .edui-icon { + background-position: -700px -40px; +} + +.edui-default .edui-for-snapscreen .edui-icon { + background-position: -581px -40px +} + +.edui-default .edui-for-scrawl .edui-icon { + background-position: -801px -41px +} + +.edui-default .edui-for-background .edui-icon { + background-position: -680px -40px; +} + +.edui-default .edui-for-music .edui-icon { + background-position: -18px -40px +} + +.edui-default .edui-for-formula .edui-icon { + background-position: -200px -40px +} + +.edui-default .edui-for-aligntd .edui-icon { + background-position: -236px -76px; +} + +.edui-default .edui-for-insertparagraphtrue .edui-icon { + background-position: -625px -76px; +} + +.edui-default .edui-for-insertparagraph .edui-icon { + background-position: -602px -76px; +} + +.edui-default .edui-for-insertcaption .edui-icon { + background-position: -336px -76px; +} + +.edui-default .edui-for-deletecaption .edui-icon { + background-position: -362px -76px; +} + +.edui-default .edui-for-inserttitle .edui-icon { + background-position: -286px -76px; +} + +.edui-default .edui-for-deletetitle .edui-icon { + background-position: -311px -76px; +} + +.edui-default .edui-for-aligntable .edui-icon { + background-position: -440px 0; +} + +.edui-default .edui-for-tablealignment-left .edui-icon { + background-position: -460px 0; +} + +.edui-default .edui-for-tablealignment-center .edui-icon { + background-position: -420px 0; +} + +.edui-default .edui-for-tablealignment-right .edui-icon { + background-position: -480px 0; +} + +.edui-default .edui-for-drafts .edui-icon { + background-position: -560px 0; +} + +.edui-default .edui-for-charts .edui-icon { + background: url( ../images/charts.png ) no-repeat 2px 3px!important; +} + +.edui-default .edui-for-inserttitlecol .edui-icon { + background-position: -673px -76px; +} + +.edui-default .edui-for-deletetitlecol .edui-icon { + background-position: -698px -76px; +} + +.edui-default .edui-for-simpleupload .edui-icon { + background-position: -380px 0px; +} +/*splitbutton*/ +.edui-default .edui-toolbar .edui-splitbutton-body .edui-arrow, +.edui-default .edui-toolbar .edui-menubutton-body .edui-arrow { + background: url(../images/icons.png) -741px 0; + _background: url(../images/icons.gif) -741px 0; + height: 20px; + width: 9px; +} + +.edui-default .edui-toolbar .edui-splitbutton .edui-splitbutton-body, +.edui-default .edui-toolbar .edui-menubutton .edui-menubutton-body { + padding: 1px; +} + +.edui-default .edui-toolbar .edui-splitborder { + width: 1px; + height: 20px; +} + +.edui-default .edui-toolbar .edui-state-hover .edui-splitborder { + width: 1px; + border-left: 0px solid #dcac6c; +} + +.edui-default .edui-toolbar .edui-state-active .edui-splitborder { + width: 0; + border-left: 1px solid gray; +} + +.edui-default .edui-toolbar .edui-state-opened .edui-splitborder { + width: 1px; + border: 0; +} + +.edui-default .edui-toolbar .edui-splitbutton .edui-state-hover .edui-splitbutton-body, +.edui-default .edui-toolbar .edui-menubutton .edui-state-hover .edui-menubutton-body { + background-color: #fff5d4; + border: 1px solid #dcac6c; + padding: 0; +} + +.edui-default .edui-toolbar .edui-splitbutton .edui-state-checked .edui-splitbutton-body, +.edui-default .edui-toolbar .edui-menubutton .edui-state-checked .edui-menubutton-body { + background-color: #FFE69F; + border: 1px solid #DCAC6C; + padding: 0; +} + +.edui-default .edui-toolbar .edui-splitbutton .edui-state-active .edui-splitbutton-body, +.edui-default .edui-toolbar .edui-menubutton .edui-state-active .edui-menubutton-body { + background-color: #ffffff; + border: 1px solid gray; + padding: 0; +} + +.edui-default .edui-state-disabled .edui-arrow { + opacity: 0.3; + _filter: alpha(opacity = 30); +} + +.edui-default .edui-toolbar .edui-splitbutton .edui-state-opened .edui-splitbutton-body, +.edui-default .edui-toolbar .edui-menubutton .edui-state-opened .edui-menubutton-body { + background-color: white; + border: 1px solid gray; + padding: 0; +} + +.edui-default .edui-for-insertorderedlist .edui-bordereraser, +.edui-default .edui-for-lineheight .edui-bordereraser, +.edui-default .edui-for-rowspacingtop .edui-bordereraser, +.edui-default .edui-for-rowspacingbottom .edui-bordereraser, +.edui-default .edui-for-insertunorderedlist .edui-bordereraser { + background-color: white; +} + +/* 解决嵌套导致的图标问题 */ +.edui-default .edui-for-insertorderedlist .edui-popup-body .edui-icon, +.edui-default .edui-for-lineheight .edui-popup-body .edui-icon, +.edui-default .edui-for-rowspacingtop .edui-popup-body .edui-icon, +.edui-default .edui-for-rowspacingbottom .edui-popup-body .edui-icon, +.edui-default .edui-for-insertunorderedlist .edui-popup-body .edui-icon { + /*background-position: 0 -40px;*/ + background-image: none ; +} + +/* 弹出菜单 */ +.edui-default .edui-popup { + z-index: 3000; + background-color: #ffffff; + width:auto; + height:auto; + +} + +.edui-default .edui-popup .edui-shadow { + left: 0; + top: 0; + width: 100%; + height: 100%; +} + +.edui-default .edui-popup-content { + border:1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + *border-right-width: 2px; + *border-bottom-width: 2px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 3px 4px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 3px 4px rgba(0, 0, 0, 0.2); + box-shadow: 0 3px 4px rgba(0, 0, 0, 0.2); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; + padding: 5px; + background:#ffffff; +} + +.edui-default .edui-popup .edui-bordereraser { + background-color: white; + height: 3px; +} + +.edui-default .edui-menu .edui-bordereraser { + height: 3px; +} + +.edui-default .edui-anchor-topleft .edui-bordereraser { + left: 1px; + top: -2px; +} + +.edui-default .edui-anchor-topright .edui-bordereraser { + right: 1px; + top: -2px; +} + +.edui-default .edui-anchor-bottomleft .edui-bordereraser { + left: 0; + bottom: -6px; + height: 7px; + border-left: 1px solid gray; + border-right: 1px solid gray; +} + +.edui-default .edui-anchor-bottomright .edui-bordereraser { + right: 0; + bottom: -6px; + height: 7px; + border-left: 1px solid gray; + border-right: 1px solid gray; +} + +.edui-popup div{ + width:auto; + height:auto; +} +.edui-default .edui-editor-messageholder { + display: block; + width: 150px; + height: auto; + border: 0; + margin: 0; + padding: 0; + position: absolute; + top: 28px; + right: 3px; +} + +.edui-default .edui-message{ + min-height: 10px; + text-shadow: 0 1px 0 rgba(255,255,255,0.5); + padding: 0; + margin-bottom: 3px; + position: relative; +} +.edui-default .edui-message-body{ + border-radius: 3px; + padding: 8px 15px 8px 8px; + color: #c09853; + background-color: #fcf8e3; + border: 1px solid #fbeed5; +} +.edui-default .edui-message-type-info{ + color: #3a87ad; + background-color: #d9edf7; + border-color: #bce8f1 +} +.edui-default .edui-message-type-success{ + color: #468847; + background-color: #dff0d8; + border-color: #d6e9c6 +} +.edui-default .edui-message-type-danger, +.edui-default .edui-message-type-error{ + color: #b94a48; + background-color: #f2dede; + border-color: #eed3d7 +} +.edui-default .edui-message .edui-message-closer { + display: block; + width: 16px; + height: 16px; + line-height: 16px; + position: absolute; + top: 0; + right: 0; + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + float: right; + font-size: 20px; + font-weight: bold; + color: #999; + text-shadow: 0 1px 0 #fff; + font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; +} +.edui-default .edui-message .edui-message-content { + font-size: 10pt; + word-wrap: break-word; + word-break: normal; +} +/* 弹出对话框按钮和对话框大小 */ +.edui-default .edui-dialog { + z-index: 2000; + position: absolute; + +} + +.edui-dialog div{ + width:auto; +} + +.edui-default .edui-dialog-wrap { + margin-right: 6px; + margin-bottom: 6px; +} + +.edui-default .edui-dialog-fullscreen-flag { + margin-right: 0; + margin-bottom: 0; +} + +.edui-default .edui-dialog-body { + position: relative; + padding:2px 0 0 2px; + _zoom: 1; +} + +.edui-default .edui-dialog-fullscreen-flag .edui-dialog-body { + padding: 0; +} + +.edui-default .edui-dialog-shadow { + position: absolute; + z-index: -1; + left: 0; + top: 0; + width: 100%; + height: 100%; + background-color: #ffffff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + *border-right-width: 2px; + *border-bottom-width: 2px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; +} + +.edui-default .edui-dialog-foot { + background-color: white; +} + +.edui-default .edui-dialog-titlebar { + height: 26px; + border-bottom: 1px solid #c6c6c6; + background: url(../images/dialog-title-bg.png) repeat-x bottom; + position: relative; + cursor: move; +} +.edui-default .edui-dialog-caption { + font-weight: bold; + font-size: 12px; + line-height: 26px; + padding-left: 5px; +} + +.edui-default .edui-dialog-draghandle { + height: 26px; +} + +.edui-default .edui-dialog-closebutton { + position: absolute !important; + right: 5px; + top: 3px; +} + +.edui-default .edui-dialog-closebutton .edui-button-body { + height: 20px; + width: 20px; + cursor: pointer; + background: url("../images/icons-all.gif") no-repeat 0 -59px; +} + +.edui-default .edui-dialog-closebutton .edui-state-hover .edui-button-body { + background: url("../images/icons-all.gif") no-repeat 0 -89px; +} + +.edui-default .edui-dialog-foot { + height: 40px; +} + +.edui-default .edui-dialog-buttons { + position: absolute; + right: 0; +} + +.edui-default .edui-dialog-buttons .edui-button { + margin-right: 10px; +} + +.edui-default .edui-dialog-buttons .edui-button .edui-button-body { + background: url("../images/icons-all.gif") no-repeat; + height: 24px; + width: 96px; + font-size: 12px; + line-height: 24px; + text-align: center; + cursor: default; +} + +.edui-default .edui-dialog-buttons .edui-button .edui-state-hover .edui-button-body { + background: url("../images/icons-all.gif") no-repeat 0 -30px; +} + +.edui-default .edui-dialog iframe { + border: 0; + padding: 0; + margin: 0; + vertical-align: top; +} + +.edui-default .edui-dialog-modalmask { + opacity: 0.3; + filter: alpha(opacity = 30); + background-color: #ccc; + position: absolute; + /*z-index: 1999;*/ +} + +.edui-default .edui-dialog-dragmask { + position: absolute; + /*z-index: 2001;*/ + background-color: transparent; + cursor: move; +} + +.edui-default .edui-dialog-content { + position: relative; +} + +.edui-default .dialogcontmask { + cursor: move; + visibility: hidden; + display: block; + position: absolute; + width: 100%; + height: 100%; + opacity: 0; + filter: alpha(opacity = 0); +} + +/*link-dialog*/ +.edui-default .edui-for-link .edui-dialog-content { + width: 420px; + height: 200px; + overflow: hidden; +} +/*background-dialog*/ +.edui-default .edui-for-background .edui-dialog-content { + width: 440px; + height: 280px; + overflow: hidden; +} + +/*template-dialog*/ +.edui-default .edui-for-template .edui-dialog-content { + width: 630px; + height: 390px; + overflow: hidden; +} + +/*scrawl-dialog*/ +.edui-default .edui-for-scrawl .edui-dialog-content { + width: 515px; + *width: 506px; + height: 360px; +} + +/*spechars-dialog*/ +.edui-default .edui-for-spechars .edui-dialog-content { + width: 620px; + height: 500px; + *width: 630px; + *height: 570px; +} + +/*image-dialog*/ +.edui-default .edui-for-insertimage .edui-dialog-content { + width: 650px; + height: 400px; + overflow: hidden; +} +/*webapp-dialog*/ +.edui-default .edui-for-webapp .edui-dialog-content { + width: 560px; + _width: 565px; + height: 450px; + overflow: hidden; +} + +/*image-insertframe*/ +.edui-default .edui-for-insertframe .edui-dialog-content { + width: 350px; + height: 200px; + overflow: hidden; +} + +/*wordImage-dialog*/ +.edui-default .edui-for-wordimage .edui-dialog-content { + width: 620px; + height: 380px; + overflow: hidden; +} + +/*attachment-dialog*/ +.edui-default .edui-for-attachment .edui-dialog-content { + width: 650px; + height: 400px; + overflow: hidden; +} + + +/*map-dialog*/ +.edui-default .edui-for-map .edui-dialog-content { + width: 550px; + height: 400px; +} + +/*gmap-dialog*/ +.edui-default .edui-for-gmap .edui-dialog-content { + width: 550px; + height: 400px; +} + +/*video-dialog*/ +.edui-default .edui-for-insertvideo .edui-dialog-content { + width: 590px; + height: 390px; +} + +/*anchor-dialog*/ +.edui-default .edui-for-anchor .edui-dialog-content { + width: 320px; + height: 60px; + overflow: hidden; +} + +/*searchreplace-dialog*/ +.edui-default .edui-for-searchreplace .edui-dialog-content { + width: 400px; + height: 220px; +} + +/*help-dialog*/ +.edui-default .edui-for-help .edui-dialog-content { + width: 400px; + height: 420px; +} + +/*edittable-dialog*/ +.edui-default .edui-for-edittable .edui-dialog-content { + width: 540px; + _width:590px; + height: 335px; +} + +/*edittip-dialog*/ +.edui-default .edui-for-edittip .edui-dialog-content { + width: 225px; + height: 60px; +} + +/*edittd-dialog*/ +.edui-default .edui-for-edittd .edui-dialog-content { + width: 240px; + height: 50px; +} +/*snapscreen-dialog*/ +.edui-default .edui-for-snapscreen .edui-dialog-content { + width: 400px; + height: 220px; +} + +/*music-dialog*/ +.edui-default .edui-for-music .edui-dialog-content { + width: 515px; + height: 360px; +} + +/*段落弹出菜单*/ +.edui-default .edui-for-paragraph .edui-listitem-label { + font-family: Tahoma, Verdana, Arial, Helvetica; +} + +.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-p { + font-size: 22px; + line-height: 27px; +} + +.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h1 { + font-weight: bolder; + font-size: 32px; + line-height: 36px; +} + +.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h2 { + font-weight: bolder; + font-size: 27px; + line-height: 29px; +} + +.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h3 { + font-weight: bolder; + font-size: 19px; + line-height: 23px; +} + +.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h4 { + font-weight: bolder; + font-size: 16px; + line-height: 19px +} + +.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h5 { + font-weight: bolder; + font-size: 13px; + line-height: 16px; +} + +.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h6 { + font-weight: bolder; + font-size: 12px; + line-height: 14px; +} +/* 表格弹出菜单 */ +.edui-default .edui-for-inserttable .edui-splitborder { + display: none +} +.edui-default .edui-for-inserttable .edui-splitbutton-body .edui-arrow { + width: 0 +} +.edui-default .edui-toolbar .edui-for-inserttable .edui-state-active .edui-splitborder{ + border-left: 1px solid transparent; +} +.edui-default .edui-tablepicker .edui-infoarea { + height: 14px; + line-height: 14px; + font-size: 12px; + width: 220px; + margin-bottom: 3px; + clear: both; +} + +.edui-default .edui-tablepicker .edui-infoarea .edui-label { + float: left; +} + +.edui-default .edui-dialog-buttons .edui-label { + line-height: 24px; +} + +.edui-default .edui-tablepicker .edui-infoarea .edui-clickable { + float: right; +} + +.edui-default .edui-tablepicker .edui-pickarea { + background: url("../images/unhighlighted.gif") repeat; + height: 220px; + width: 220px; +} + +.edui-default .edui-tablepicker .edui-pickarea .edui-overlay { + background: url("../images/highlighted.gif") repeat; +} + +/* 颜色弹出菜单 */ +.edui-default .edui-colorpicker-topbar { + height: 27px; + width: 200px; + /*border-bottom: 1px gray dashed;*/ +} + +.edui-default .edui-colorpicker-preview { + height: 20px; + border: 1px inset black; + margin-left: 1px; + width: 128px; + float: left; +} + +.edui-default .edui-colorpicker-nocolor { + float: right; + margin-right: 1px; + font-size: 12px; + line-height: 14px; + height: 14px; + border: 1px solid #333; + padding: 3px 5px; + cursor: pointer; +} + +.edui-default .edui-colorpicker-tablefirstrow { + height: 30px; +} + +.edui-default .edui-colorpicker-colorcell { + width: 14px; + height: 14px; + display: block; + margin: 0; + cursor: pointer; +} + +.edui-default .edui-colorpicker-colorcell:hover { + width: 14px; + height: 14px; + margin: 0; +} +.edui-default .edui-colorpicker-advbtn{ + display: block; + text-align: center; + cursor: pointer; + height:20px; +} +.arrow_down{ + background: white url('../images/arrow_down.png') no-repeat center; +} +.arrow_up{ + background: white url('../images/arrow_up.png') no-repeat center; +} +/*高级的样式*/ +.edui-colorpicker-adv{ + position: relative; + overflow: hidden; + height: 180px; + display: none; +} +.edui-colorpicker-plant, .edui-colorpicker-hue { + border: solid 1px #666; +} +.edui-colorpicker-pad { + width: 150px; + height: 150px; + left: 14px; + top: 13px; + position: absolute; + background: red; + overflow: hidden; + cursor: crosshair; +} +.edui-colorpicker-cover{ + position: absolute; + top: 0; + left: 0; + width: 150px; + height: 150px; + background: url("../images/tangram-colorpicker.png") -160px -200px; +} +.edui-colorpicker-padDot{ + position: absolute; + top: 0; + left: 0; + width: 11px; + height: 11px; + overflow: hidden; + background: url(../images/tangram-colorpicker.png) 0px -200px repeat-x; + z-index: 1000; + +} +.edui-colorpicker-sliderMain { + position: absolute; + left: 171px; + top: 13px; + width: 19px; + height: 152px; + background: url(../images/tangram-colorpicker.png) -179px -12px no-repeat; + +} +.edui-colorpicker-slider { + width: 100%; + height: 100%; + cursor: pointer; +} +.edui-colorpicker-thumb{ + position: absolute; + top: 0; + cursor: pointer; + height: 3px; + left: -1px; + right: -1px; + border: 1px solid black; + background: white; + opacity: .8; +} +/*自动排版弹出菜单*/ +.edui-default .edui-autotypesetpicker .edui-autotypesetpicker-body { + font-size: 12px; + margin-bottom: 3px; + clear: both; +} + +.edui-default .edui-autotypesetpicker-body table { + border-collapse: separate; + border-spacing: 2px; +} + +.edui-default .edui-autotypesetpicker-body td { + font-size: 12px; + word-wrap:break-word; +} + +.edui-default .edui-autotypesetpicker-body td input { + margin: 3px 3px 3px 4px; + *margin: 1px 0 0 0; +} +/*自动排版弹出菜单*/ +.edui-default .edui-cellalignpicker .edui-cellalignpicker-body { + width: 70px; + font-size: 12px; + cursor: default; +} + +.edui-default .edui-cellalignpicker-body table { + border-collapse: separate; + border-spacing: 0; +} +.edui-default .edui-cellalignpicker-body td{ + padding: 1px; +} +.edui-default .edui-cellalignpicker-body .edui-icon{ + height: 20px; + width: 20px; + padding: 1px; + background-image: url(../images/table-cell-align.png); +} + +.edui-default .edui-cellalignpicker-body .edui-left{ + background-position: 0 0; +} + +.edui-default .edui-cellalignpicker-body .edui-center{ + background-position: -25px 0; +} +.edui-default .edui-cellalignpicker-body .edui-right{ + background-position: -51px 0; +} + +.edui-default .edui-cellalignpicker-body td.edui-state-hover .edui-left{ + background-position: -73px 0; +} + +.edui-default .edui-cellalignpicker-body td.edui-state-hover .edui-center{ + background-position: -98px 0; +} + +.edui-default .edui-cellalignpicker-body td.edui-state-hover .edui-right{ + background-position: -124px 0; +} + +.edui-default .edui-cellalignpicker-body td.edui-cellalign-selected .edui-left { + background-position: -146px 0; + background-color: #f1f4f5; +} + +.edui-default .edui-cellalignpicker-body td.edui-cellalign-selected .edui-center { + background-position: -245px 0; +} + +.edui-default .edui-cellalignpicker-body td.edui-cellalign-selected .edui-right { + background-position: -271px 0; +} +/*分隔线*/ +.edui-default .edui-toolbar .edui-separator { + width: 2px; + height: 20px; + margin: 2px 4px 2px 3px; + background: url(../images/icons.png) -181px 0; + background: url(../images/icons.gif) -181px 0 \9; +} + +/*颜色按钮 */ +.edui-default .edui-toolbar .edui-colorbutton .edui-colorlump { + position: absolute; + overflow: hidden; + bottom: 1px; + left: 1px; + width: 18px; + height: 4px; +} +/*表情按钮及弹出菜单*/ +/*去除了表情的下拉箭头*/ +.edui-default .edui-for-emotion .edui-icon { + background-position: -60px -20px; +} +.edui-default .edui-for-emotion .edui-popup-content iframe +{ + width: 514px; + height: 380px; + overflow: hidden; +} +.edui-default .edui-for-emotion .edui-popup-content +{ + position: relative; + z-index: 555 +} + +.edui-default .edui-for-emotion .edui-splitborder { + display: none +} + +.edui-default .edui-for-emotion .edui-splitbutton-body .edui-arrow +{ + width: 0 +} +.edui-default .edui-toolbar .edui-for-emotion .edui-state-active .edui-splitborder +{ + border-left: 1px solid transparent; +} +/*contextmenu*/ +.edui-default .edui-hassubmenu .edui-arrow { + height: 20px; + width: 20px; + float: right; + background: url("../images/icons-all.gif") no-repeat 10px -233px; +} + +.edui-default .edui-menu-body .edui-menuitem { + padding: 1px; +} + +.edui-default .edui-menuseparator { + margin: 2px 0; + height: 1px; + overflow: hidden; +} + +.edui-default .edui-menuseparator-inner { + border-bottom: 1px solid #e2e3e3; + margin-left: 29px; + margin-right: 1px; +} + +.edui-default .edui-menu-body .edui-state-hover { + padding: 0 !important; + background-color: #fff5d4; + border: 1px solid #dcac6c; +} +/*弹出菜单*/ +.edui-default .edui-shortcutmenu { + padding: 2px; + width: 190px; + height: 50px; + background-color: #fff; + border: 1px solid #ccc; + border-radius: 5px; +} + +/*粘贴弹出菜单*/ +.edui-default .edui-wordpastepop .edui-popup-content{ + border: none; + padding: 0; + width: 54px; + height: 21px; +} +.edui-default .edui-pasteicon { + width: 100%; + height: 100%; + background-image: url('../images/wordpaste.png'); + background-position: 0 0; +} + +.edui-default .edui-pasteicon.edui-state-opened { + background-position: 0 -34px; +} + +.edui-default .edui-pastecontainer { + position: relative; + visibility: hidden; + width: 97px; + background: #fff; + border: 1px solid #ccc; +} + +.edui-default .edui-pastecontainer .edui-title { + font-weight: bold; + background: #F8F8FF; + height: 25px; + line-height: 25px; + font-size: 12px; + padding-left: 5px; +} + +.edui-default .edui-pastecontainer .edui-button { + overflow: hidden; + margin: 3px 0; +} + +.edui-default .edui-pastecontainer .edui-button .edui-richtxticon, +.edui-default .edui-pastecontainer .edui-button .edui-tagicon, +.edui-default .edui-pastecontainer .edui-button .edui-plaintxticon{ + float: left; + cursor: pointer; + width: 29px; + height: 29px; + margin-left: 5px; + background-image: url('../images/wordpaste.png'); + background-repeat: no-repeat; +} +.edui-default .edui-pastecontainer .edui-button .edui-richtxticon { + margin-left: 0; + background-position: -109px 0; +} +.edui-default .edui-pastecontainer .edui-button .edui-tagicon { + background-position: -148px 1px; +} + +.edui-default .edui-pastecontainer .edui-button .edui-plaintxticon { + background-position: -72px 0; +} + +.edui-default .edui-pastecontainer .edui-button .edui-state-hover .edui-richtxticon { + background-position: -109px -34px; +} +.edui-default .edui-pastecontainer .edui-button .edui-state-hover .edui-tagicon{ + background-position: -148px -34px; +} +.edui-default .edui-pastecontainer .edui-button .edui-state-hover .edui-plaintxticon{ + background-position: -72px -34px; +} \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/css/ueditor.min.css b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/css/ueditor.min.css new file mode 100644 index 0000000..eb2e7af --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/css/ueditor.min.css @@ -0,0 +1,8 @@ +/*! + * UEditor + * version: ueditor + * build: Wed Aug 10 2016 11:06:16 GMT+0800 (CST) + */ + + +.edui-default .edui-box{border:0;padding:0;margin:0;overflow:hidden}.edui-default a.edui-box{display:block;text-decoration:none;color:#000}.edui-default a.edui-box:hover{text-decoration:none}.edui-default a.edui-box:active{text-decoration:none}.edui-default table.edui-box{border-collapse:collapse}.edui-default ul.edui-box{list-style-type:none}div.edui-box{position:relative;display:-moz-inline-box!important;display:inline-block!important;vertical-align:top}.edui-default .edui-clearfix{zoom:1}.edui-default .edui-clearfix:after{content:'\20';display:block;clear:both}* html div.edui-box{display:inline!important}:first-child+html div.edui-box{display:inline!important}.edui-default .edui-button-body,.edui-splitbutton-body,.edui-menubutton-body,.edui-combox-body{position:relative}.edui-default .edui-popup{position:absolute;-webkit-user-select:none;-moz-user-select:none}.edui-default .edui-popup .edui-shadow{position:absolute;z-index:-1}.edui-default .edui-popup .edui-bordereraser{position:absolute;overflow:hidden}.edui-default .edui-tablepicker .edui-canvas{position:relative}.edui-default .edui-tablepicker .edui-canvas .edui-overlay{position:absolute}.edui-default .edui-dialog-modalmask,.edui-dialog-dragmask{position:absolute;left:0;top:0;width:100%;height:100%}.edui-default .edui-toolbar{position:relative}.edui-default .edui-label{cursor:default}.edui-default span.edui-clickable{color:#00f;cursor:pointer;text-decoration:underline}.edui-default span.edui-unclickable{color:gray;cursor:default}.edui-default .edui-toolbar{cursor:default;-webkit-user-select:none;-moz-user-select:none;padding:1px;overflow:hidden;zoom:1;width:auto;height:auto}.edui-default .edui-toolbar .edui-button,.edui-default .edui-toolbar .edui-splitbutton,.edui-default .edui-toolbar .edui-menubutton,.edui-default .edui-toolbar .edui-combox{margin:1px}.edui-default .edui-editor{border:1px solid #d4d4d4;background-color:#fff;position:relative;overflow:visible;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.edui-editor div{width:auto;height:auto}.edui-default .edui-editor-toolbarbox{position:relative;zoom:1;-webkit-box-shadow:0 1px 4px rgba(204,204,204,.6);-moz-box-shadow:0 1px 4px rgba(204,204,204,.6);box-shadow:0 1px 4px rgba(204,204,204,.6);border-top-left-radius:2px;border-top-right-radius:2px}.edui-default .edui-editor-toolbarboxouter{border-bottom:1px solid #d4d4d4;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,.065);box-shadow:0 1px 4px rgba(0,0,0,.065)}.edui-default .edui-editor-toolbarboxinner{padding:2px}.edui-default .edui-editor-iframeholder{position:relative}.edui-default .edui-editor-bottomContainer{overflow:hidden}.edui-default .edui-editor-bottomContainer table{width:100%;height:0;overflow:hidden;border-spacing:0}.edui-default .edui-editor-bottomContainer td{white-space:nowrap;border-top:1px solid #ccc;line-height:20px;font-size:12px;font-family:Arial,Helvetica,Tahoma,Verdana,Sans-Serif}.edui-default .edui-editor-wordcount{text-align:right;margin-right:5px;color:#aaa}.edui-default .edui-editor-scale{width:12px}.edui-default .edui-editor-scale .edui-editor-icon{float:right;width:100%;height:12px;margin-top:10px;background:url(../images/scale.png) no-repeat;cursor:se-resize}.edui-default .edui-editor-breadcrumb{margin:2px 0 0 3px}.edui-default .edui-editor-breadcrumb span{cursor:pointer;text-decoration:underline;color:#00f}.edui-default .edui-toolbar .edui-for-fullscreen{float:right}.edui-default .edui-bubble .edui-popup-content{border:1px solid #DCAC6C;background-color:#fff6d9;padding:5px;font-size:10pt;font-family:"宋体"}.edui-default .edui-bubble .edui-shadow{}.edui-default .edui-editor-toolbarmsg{background-color:#FFF6D9;border-bottom:1px solid #ccc;position:absolute;bottom:-25px;left:0;z-index:1009;width:99.9%}.edui-default .edui-editor-toolbarmsg-upload{font-size:14px;color:#00f;width:100px;height:16px;line-height:16px;cursor:pointer;position:absolute;top:5px;left:350px}.edui-default .edui-editor-toolbarmsg-label{font-size:12px;line-height:16px;padding:4px}.edui-default .edui-editor-toolbarmsg-close{float:right;width:20px;height:16px;line-height:16px;cursor:pointer;color:red}.edui-default .edui-list .edui-bordereraser{display:none}.edui-default .edui-listitem{padding:1px;white-space:nowrap}.edui-default .edui-list .edui-state-hover{position:relative;background-color:#fff5d4;border:1px solid #dcac6c;padding:0}.edui-default .edui-for-fontfamily .edui-listitem-label{min-width:130px;_width:120px;font-size:12px;height:22px;line-height:22px;padding-left:5px}.edui-default .edui-for-insertcode .edui-listitem-label{min-width:120px;_width:120px;font-size:12px;height:22px;line-height:22px;padding-left:5px}.edui-default .edui-for-underline .edui-listitem-label{min-width:120px;_width:120px;padding:3px 5px;font-size:12px}.edui-default .edui-for-fontsize .edui-listitem-label{min-width:120px;_width:120px;padding:3px 5px}.edui-default .edui-for-paragraph .edui-listitem-label{min-width:200px;_width:200px;padding:2px 5px}.edui-default .edui-for-rowspacingtop .edui-listitem-label,.edui-default .edui-for-rowspacingbottom .edui-listitem-label{min-width:53px;_width:53px;padding:2px 5px}.edui-default .edui-for-lineheight .edui-listitem-label{min-width:53px;_width:53px;padding:2px 5px}.edui-default .edui-for-customstyle .edui-listitem-label{min-width:200px;_width:200px;width:200px!important;padding:2px 5px}.edui-default .edui-menu{z-index:3000}.edui-default .edui-menu .edui-popup-content{padding:3px}.edui-default .edui-menu-body{_width:150px;min-width:170px;background:url(../images/sparator_v.png) repeat-y 25px}.edui-default .edui-menuitem-body{}.edui-default .edui-menuitem{height:20px;cursor:default;vertical-align:top}.edui-default .edui-menuitem .edui-icon{width:20px!important;height:20px!important;background:url(../images/icons.png) 0 -4000px;background:url(../images/icons.gif) 0 -4000px\9}.edui-default .edui-menuitem .edui-label{font-size:12px;line-height:20px;height:20px;padding-left:10px}.edui-default .edui-state-checked .edui-menuitem-body{background:url(../images/icons-all.gif) no-repeat 6px -205px}.edui-default .edui-state-disabled .edui-menuitem-label{color:gray}.edui-default .edui-toolbar .edui-combox-body .edui-button-body{width:60px;font-size:12px;height:20px;line-height:20px;padding-left:5px;white-space:nowrap;margin:0 3px 0 0}.edui-default .edui-toolbar .edui-combox-body .edui-arrow{background:url(../images/icons.png) -741px 0;_background:url(../images/icons.gif) -741px 0;height:20px;width:9px}.edui-default .edui-toolbar .edui-combox .edui-combox-body{border:1px solid #CCC;background-color:#fff;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px}.edui-default .edui-toolbar .edui-combox-body .edui-splitborder{display:none}.edui-default .edui-toolbar .edui-combox-body .edui-arrow{border-left:1px solid #CCC}.edui-default .edui-toolbar .edui-state-hover .edui-combox-body{background-color:#fff5d4;border:1px solid #dcac6c}.edui-default .edui-toolbar .edui-state-hover .edui-combox-body .edui-arrow{border-left:1px solid #dcac6c}.edui-default .edui-toolbar .edui-state-checked .edui-combox-body{background-color:#FFE69F;border:1px solid #DCAC6C}.edui-toolbar .edui-state-checked .edui-combox-body .edui-arrow{border-left:1px solid #DCAC6C}.edui-toolbar .edui-state-disabled .edui-combox-body{background-color:#F0F0EE;opacity:.3;filter:alpha(opacity=30)}.edui-toolbar .edui-state-opened .edui-combox-body{background-color:#fff;border:1px solid gray}.edui-default .edui-toolbar .edui-button .edui-icon,.edui-default .edui-toolbar .edui-menubutton .edui-icon,.edui-default .edui-toolbar .edui-splitbutton .edui-icon{height:20px!important;width:20px!important;background-image:url(../images/icons.png);background-image:url(../images/icons.gif) \9}.edui-default .edui-toolbar .edui-button .edui-button-wrap{padding:1px;position:relative}.edui-default .edui-toolbar .edui-button .edui-state-hover .edui-button-wrap{background-color:#fff5d4;padding:0;border:1px solid #dcac6c}.edui-default .edui-toolbar .edui-button .edui-state-checked .edui-button-wrap{background-color:#ffe69f;padding:0;border:1px solid #dcac6c;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px}.edui-default .edui-toolbar .edui-button .edui-state-active .edui-button-wrap{background-color:#fff;padding:0;border:1px solid gray}.edui-default .edui-toolbar .edui-state-disabled .edui-label{color:#ccc}.edui-default .edui-toolbar .edui-state-disabled .edui-icon{opacity:.3;filter:alpha(opacity=30)}.edui-default .edui-for-undo .edui-icon{background-position:-160px 0}.edui-default .edui-for-redo .edui-icon{background-position:-100px 0}.edui-default .edui-for-bold .edui-icon{background-position:0 0}.edui-default .edui-for-italic .edui-icon{background-position:-60px 0}.edui-default .edui-for-fontborder .edui-icon{background-position:-160px -40px}.edui-default .edui-for-underline .edui-icon{background-position:-140px 0}.edui-default .edui-for-strikethrough .edui-icon{background-position:-120px 0}.edui-default .edui-for-subscript .edui-icon{background-position:-600px 0}.edui-default .edui-for-superscript .edui-icon{background-position:-620px 0}.edui-default .edui-for-blockquote .edui-icon{background-position:-220px 0}.edui-default .edui-for-forecolor .edui-icon{background-position:-720px 0}.edui-default .edui-for-backcolor .edui-icon{background-position:-760px 0}.edui-default .edui-for-inserttable .edui-icon{background-position:-580px -20px}.edui-default .edui-for-autotypeset .edui-icon{background-position:-640px -40px}.edui-default .edui-for-justifyleft .edui-icon{background-position:-460px 0}.edui-default .edui-for-justifycenter .edui-icon{background-position:-420px 0}.edui-default .edui-for-justifyright .edui-icon{background-position:-480px 0}.edui-default .edui-for-justifyjustify .edui-icon{background-position:-440px 0}.edui-default .edui-for-insertorderedlist .edui-icon{background-position:-80px 0}.edui-default .edui-for-insertunorderedlist .edui-icon{background-position:-20px 0}.edui-default .edui-for-lineheight .edui-icon{background-position:-725px -40px}.edui-default .edui-for-rowspacingbottom .edui-icon{background-position:-745px -40px}.edui-default .edui-for-rowspacingtop .edui-icon{background-position:-765px -40px}.edui-default .edui-for-horizontal .edui-icon{background-position:-360px 0}.edui-default .edui-for-link .edui-icon{background-position:-500px 0}.edui-default .edui-for-code .edui-icon{background-position:-440px -40px}.edui-default .edui-for-insertimage .edui-icon{background-position:-726px -77px}.edui-default .edui-for-insertframe .edui-icon{background-position:-240px -40px}.edui-default .edui-for-emoticon .edui-icon{background-position:-60px -20px}.edui-default .edui-for-spechars .edui-icon{background-position:-240px 0}.edui-default .edui-for-help .edui-icon{background-position:-340px 0}.edui-default .edui-for-print .edui-icon{background-position:-440px -20px}.edui-default .edui-for-preview .edui-icon{background-position:-420px -20px}.edui-default .edui-for-selectall .edui-icon{background-position:-400px -20px}.edui-default .edui-for-searchreplace .edui-icon{background-position:-520px -20px}.edui-default .edui-for-map .edui-icon{background-position:-40px -40px}.edui-default .edui-for-gmap .edui-icon{background-position:-260px -40px}.edui-default .edui-for-insertvideo .edui-icon{background-position:-320px -20px}.edui-default .edui-for-time .edui-icon{background-position:-160px -20px}.edui-default .edui-for-date .edui-icon{background-position:-140px -20px}.edui-default .edui-for-cut .edui-icon{background-position:-680px 0}.edui-default .edui-for-copy .edui-icon{background-position:-700px 0}.edui-default .edui-for-paste .edui-icon{background-position:-560px 0}.edui-default .edui-for-formatmatch .edui-icon{background-position:-40px 0}.edui-default .edui-for-pasteplain .edui-icon{background-position:-360px -20px}.edui-default .edui-for-directionalityltr .edui-icon{background-position:-20px -20px}.edui-default .edui-for-directionalityrtl .edui-icon{background-position:-40px -20px}.edui-default .edui-for-source .edui-icon{background-position:-261px -0px}.edui-default .edui-for-removeformat .edui-icon{background-position:-580px 0}.edui-default .edui-for-unlink .edui-icon{background-position:-640px 0}.edui-default .edui-for-touppercase .edui-icon{background-position:-786px 0}.edui-default .edui-for-tolowercase .edui-icon{background-position:-806px 0}.edui-default .edui-for-insertrow .edui-icon{background-position:-478px -76px}.edui-default .edui-for-insertrownext .edui-icon{background-position:-498px -76px}.edui-default .edui-for-insertcol .edui-icon{background-position:-455px -76px}.edui-default .edui-for-insertcolnext .edui-icon{background-position:-429px -76px}.edui-default .edui-for-mergeright .edui-icon{background-position:-60px -40px}.edui-default .edui-for-mergedown .edui-icon{background-position:-80px -40px}.edui-default .edui-for-splittorows .edui-icon{background-position:-100px -40px}.edui-default .edui-for-splittocols .edui-icon{background-position:-120px -40px}.edui-default .edui-for-insertparagraphbeforetable .edui-icon{background-position:-140px -40px}.edui-default .edui-for-deleterow .edui-icon{background-position:-660px -20px}.edui-default .edui-for-deletecol .edui-icon{background-position:-640px -20px}.edui-default .edui-for-splittocells .edui-icon{background-position:-800px -20px}.edui-default .edui-for-mergecells .edui-icon{background-position:-760px -20px}.edui-default .edui-for-deletetable .edui-icon{background-position:-620px -20px}.edui-default .edui-for-cleardoc .edui-icon{background-position:-520px 0}.edui-default .edui-for-fullscreen .edui-icon{background-position:-100px -20px}.edui-default .edui-for-anchor .edui-icon{background-position:-200px 0}.edui-default .edui-for-pagebreak .edui-icon{background-position:-460px -40px}.edui-default .edui-for-imagenone .edui-icon{background-position:-480px -40px}.edui-default .edui-for-imageleft .edui-icon{background-position:-500px -40px}.edui-default .edui-for-wordimage .edui-icon{background-position:-660px -40px}.edui-default .edui-for-imageright .edui-icon{background-position:-520px -40px}.edui-default .edui-for-imagecenter .edui-icon{background-position:-540px -40px}.edui-default .edui-for-indent .edui-icon{background-position:-400px 0}.edui-default .edui-for-outdent .edui-icon{background-position:-540px 0}.edui-default .edui-for-webapp .edui-icon{background-position:-601px -40px}.edui-default .edui-for-table .edui-icon{background-position:-580px -20px}.edui-default .edui-for-edittable .edui-icon{background-position:-420px -40px}.edui-default .edui-for-template .edui-icon{background-position:-339px -40px}.edui-default .edui-for-delete .edui-icon{background-position:-360px -40px}.edui-default .edui-for-attachment .edui-icon{background-position:-620px -40px}.edui-default .edui-for-edittd .edui-icon{background-position:-700px -40px}.edui-default .edui-for-snapscreen .edui-icon{background-position:-581px -40px}.edui-default .edui-for-scrawl .edui-icon{background-position:-801px -41px}.edui-default .edui-for-background .edui-icon{background-position:-680px -40px}.edui-default .edui-for-music .edui-icon{background-position:-18px -40px}.edui-default .edui-for-formula .edui-icon{background-position:-200px -40px}.edui-default .edui-for-aligntd .edui-icon{background-position:-236px -76px}.edui-default .edui-for-insertparagraphtrue .edui-icon{background-position:-625px -76px}.edui-default .edui-for-insertparagraph .edui-icon{background-position:-602px -76px}.edui-default .edui-for-insertcaption .edui-icon{background-position:-336px -76px}.edui-default .edui-for-deletecaption .edui-icon{background-position:-362px -76px}.edui-default .edui-for-inserttitle .edui-icon{background-position:-286px -76px}.edui-default .edui-for-deletetitle .edui-icon{background-position:-311px -76px}.edui-default .edui-for-aligntable .edui-icon{background-position:-440px 0}.edui-default .edui-for-tablealignment-left .edui-icon{background-position:-460px 0}.edui-default .edui-for-tablealignment-center .edui-icon{background-position:-420px 0}.edui-default .edui-for-tablealignment-right .edui-icon{background-position:-480px 0}.edui-default .edui-for-drafts .edui-icon{background-position:-560px 0}.edui-default .edui-for-charts .edui-icon{background:url( ../images/charts.png ) no-repeat 2px 3px!important}.edui-default .edui-for-inserttitlecol .edui-icon{background-position:-673px -76px}.edui-default .edui-for-deletetitlecol .edui-icon{background-position:-698px -76px}.edui-default .edui-for-simpleupload .edui-icon{background-position:-380px 0}.edui-default .edui-toolbar .edui-splitbutton-body .edui-arrow,.edui-default .edui-toolbar .edui-menubutton-body .edui-arrow{background:url(../images/icons.png) -741px 0;_background:url(../images/icons.gif) -741px 0;height:20px;width:9px}.edui-default .edui-toolbar .edui-splitbutton .edui-splitbutton-body,.edui-default .edui-toolbar .edui-menubutton .edui-menubutton-body{padding:1px}.edui-default .edui-toolbar .edui-splitborder{width:1px;height:20px}.edui-default .edui-toolbar .edui-state-hover .edui-splitborder{width:1px;border-left:0 solid #dcac6c}.edui-default .edui-toolbar .edui-state-active .edui-splitborder{width:0;border-left:1px solid gray}.edui-default .edui-toolbar .edui-state-opened .edui-splitborder{width:1px;border:0}.edui-default .edui-toolbar .edui-splitbutton .edui-state-hover .edui-splitbutton-body,.edui-default .edui-toolbar .edui-menubutton .edui-state-hover .edui-menubutton-body{background-color:#fff5d4;border:1px solid #dcac6c;padding:0}.edui-default .edui-toolbar .edui-splitbutton .edui-state-checked .edui-splitbutton-body,.edui-default .edui-toolbar .edui-menubutton .edui-state-checked .edui-menubutton-body{background-color:#FFE69F;border:1px solid #DCAC6C;padding:0}.edui-default .edui-toolbar .edui-splitbutton .edui-state-active .edui-splitbutton-body,.edui-default .edui-toolbar .edui-menubutton .edui-state-active .edui-menubutton-body{background-color:#fff;border:1px solid gray;padding:0}.edui-default .edui-state-disabled .edui-arrow{opacity:.3;_filter:alpha(opacity=30)}.edui-default .edui-toolbar .edui-splitbutton .edui-state-opened .edui-splitbutton-body,.edui-default .edui-toolbar .edui-menubutton .edui-state-opened .edui-menubutton-body{background-color:#fff;border:1px solid gray;padding:0}.edui-default .edui-for-insertorderedlist .edui-bordereraser,.edui-default .edui-for-lineheight .edui-bordereraser,.edui-default .edui-for-rowspacingtop .edui-bordereraser,.edui-default .edui-for-rowspacingbottom .edui-bordereraser,.edui-default .edui-for-insertunorderedlist .edui-bordereraser{background-color:#fff}.edui-default .edui-for-insertorderedlist .edui-popup-body .edui-icon,.edui-default .edui-for-lineheight .edui-popup-body .edui-icon,.edui-default .edui-for-rowspacingtop .edui-popup-body .edui-icon,.edui-default .edui-for-rowspacingbottom .edui-popup-body .edui-icon,.edui-default .edui-for-insertunorderedlist .edui-popup-body .edui-icon{background-image:none}.edui-default .edui-popup{z-index:3000;background-color:#fff;width:auto;height:auto}.edui-default .edui-popup .edui-shadow{left:0;top:0;width:100%;height:100%}.edui-default .edui-popup-content{border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 4px rgba(0,0,0,.2);-moz-box-shadow:0 3px 4px rgba(0,0,0,.2);box-shadow:0 3px 4px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;padding:5px;background:#fff}.edui-default .edui-popup .edui-bordereraser{background-color:#fff;height:3px}.edui-default .edui-menu .edui-bordereraser{height:3px}.edui-default .edui-anchor-topleft .edui-bordereraser{left:1px;top:-2px}.edui-default .edui-anchor-topright .edui-bordereraser{right:1px;top:-2px}.edui-default .edui-anchor-bottomleft .edui-bordereraser{left:0;bottom:-6px;height:7px;border-left:1px solid gray;border-right:1px solid gray}.edui-default .edui-anchor-bottomright .edui-bordereraser{right:0;bottom:-6px;height:7px;border-left:1px solid gray;border-right:1px solid gray}.edui-popup div{width:auto;height:auto}.edui-default .edui-editor-messageholder{display:block;width:150px;height:auto;border:0;margin:0;padding:0;position:absolute;top:28px;right:3px}.edui-default .edui-message{min-height:10px;text-shadow:0 1px 0 rgba(255,255,255,.5);padding:0;margin-bottom:3px;position:relative}.edui-default .edui-message-body{border-radius:3px;padding:8px 15px 8px 8px;color:#c09853;background-color:#fcf8e3;border:1px solid #fbeed5}.edui-default .edui-message-type-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.edui-default .edui-message-type-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.edui-default .edui-message-type-danger,.edui-default .edui-message-type-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.edui-default .edui-message .edui-message-closer{display:block;width:16px;height:16px;line-height:16px;position:absolute;top:0;right:0;padding:0;cursor:pointer;background:transparent;border:0;float:right;font-size:20px;font-weight:700;color:#999;text-shadow:0 1px 0 #fff;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.edui-default .edui-message .edui-message-content{font-size:10pt;word-wrap:break-word;word-break:normal}.edui-default .edui-dialog{z-index:2000;position:absolute}.edui-dialog div{width:auto}.edui-default .edui-dialog-wrap{margin-right:6px;margin-bottom:6px}.edui-default .edui-dialog-fullscreen-flag{margin-right:0;margin-bottom:0}.edui-default .edui-dialog-body{position:relative;padding:2px 0 0 2px;_zoom:1}.edui-default .edui-dialog-fullscreen-flag .edui-dialog-body{padding:0}.edui-default .edui-dialog-shadow{position:absolute;z-index:-1;left:0;top:0;width:100%;height:100%;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.edui-default .edui-dialog-foot{background-color:#fff}.edui-default .edui-dialog-titlebar{height:26px;border-bottom:1px solid #c6c6c6;background:url(../images/dialog-title-bg.png) repeat-x bottom;position:relative;cursor:move}.edui-default .edui-dialog-caption{font-weight:700;font-size:12px;line-height:26px;padding-left:5px}.edui-default .edui-dialog-draghandle{height:26px}.edui-default .edui-dialog-closebutton{position:absolute!important;right:5px;top:3px}.edui-default .edui-dialog-closebutton .edui-button-body{height:20px;width:20px;cursor:pointer;background:url(../images/icons-all.gif) no-repeat 0 -59px}.edui-default .edui-dialog-closebutton .edui-state-hover .edui-button-body{background:url(../images/icons-all.gif) no-repeat 0 -89px}.edui-default .edui-dialog-foot{height:40px}.edui-default .edui-dialog-buttons{position:absolute;right:0}.edui-default .edui-dialog-buttons .edui-button{margin-right:10px}.edui-default .edui-dialog-buttons .edui-button .edui-button-body{background:url(../images/icons-all.gif) no-repeat;height:24px;width:96px;font-size:12px;line-height:24px;text-align:center;cursor:default}.edui-default .edui-dialog-buttons .edui-button .edui-state-hover .edui-button-body{background:url(../images/icons-all.gif) no-repeat 0 -30px}.edui-default .edui-dialog iframe{border:0;padding:0;margin:0;vertical-align:top}.edui-default .edui-dialog-modalmask{opacity:.3;filter:alpha(opacity=30);background-color:#ccc;position:absolute}.edui-default .edui-dialog-dragmask{position:absolute;background-color:transparent;cursor:move}.edui-default .edui-dialog-content{position:relative}.edui-default .dialogcontmask{cursor:move;visibility:hidden;display:block;position:absolute;width:100%;height:100%;opacity:0;filter:alpha(opacity=0)}.edui-default .edui-for-link .edui-dialog-content{width:420px;height:200px;overflow:hidden}.edui-default .edui-for-background .edui-dialog-content{width:440px;height:280px;overflow:hidden}.edui-default .edui-for-template .edui-dialog-content{width:630px;height:390px;overflow:hidden}.edui-default .edui-for-scrawl .edui-dialog-content{width:515px;*width:506px;height:360px}.edui-default .edui-for-spechars .edui-dialog-content{width:620px;height:500px;*width:630px;*height:570px}.edui-default .edui-for-insertimage .edui-dialog-content{width:650px;height:400px;overflow:hidden}.edui-default .edui-for-webapp .edui-dialog-content{width:560px;_width:565px;height:450px;overflow:hidden}.edui-default .edui-for-insertframe .edui-dialog-content{width:350px;height:200px;overflow:hidden}.edui-default .edui-for-wordimage .edui-dialog-content{width:620px;height:380px;overflow:hidden}.edui-default .edui-for-attachment .edui-dialog-content{width:650px;height:400px;overflow:hidden}.edui-default .edui-for-map .edui-dialog-content{width:550px;height:400px}.edui-default .edui-for-gmap .edui-dialog-content{width:550px;height:400px}.edui-default .edui-for-insertvideo .edui-dialog-content{width:590px;height:390px}.edui-default .edui-for-anchor .edui-dialog-content{width:320px;height:60px;overflow:hidden}.edui-default .edui-for-searchreplace .edui-dialog-content{width:400px;height:220px}.edui-default .edui-for-help .edui-dialog-content{width:400px;height:420px}.edui-default .edui-for-edittable .edui-dialog-content{width:540px;_width:590px;height:335px}.edui-default .edui-for-edittip .edui-dialog-content{width:225px;height:60px}.edui-default .edui-for-edittd .edui-dialog-content{width:240px;height:50px}.edui-default .edui-for-snapscreen .edui-dialog-content{width:400px;height:220px}.edui-default .edui-for-music .edui-dialog-content{width:515px;height:360px}.edui-default .edui-for-paragraph .edui-listitem-label{font-family:Tahoma,Verdana,Arial,Helvetica}.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-p{font-size:22px;line-height:27px}.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h1{font-weight:bolder;font-size:32px;line-height:36px}.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h2{font-weight:bolder;font-size:27px;line-height:29px}.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h3{font-weight:bolder;font-size:19px;line-height:23px}.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h4{font-weight:bolder;font-size:16px;line-height:19px}.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h5{font-weight:bolder;font-size:13px;line-height:16px}.edui-default .edui-for-paragraph .edui-listitem-label .edui-for-h6{font-weight:bolder;font-size:12px;line-height:14px}.edui-default .edui-for-inserttable .edui-splitborder{display:none}.edui-default .edui-for-inserttable .edui-splitbutton-body .edui-arrow{width:0}.edui-default .edui-toolbar .edui-for-inserttable .edui-state-active .edui-splitborder{border-left:1px solid transparent}.edui-default .edui-tablepicker .edui-infoarea{height:14px;line-height:14px;font-size:12px;width:220px;margin-bottom:3px;clear:both}.edui-default .edui-tablepicker .edui-infoarea .edui-label{float:left}.edui-default .edui-dialog-buttons .edui-label{line-height:24px}.edui-default .edui-tablepicker .edui-infoarea .edui-clickable{float:right}.edui-default .edui-tablepicker .edui-pickarea{background:url(../images/unhighlighted.gif) repeat;height:220px;width:220px}.edui-default .edui-tablepicker .edui-pickarea .edui-overlay{background:url(../images/highlighted.gif) repeat}.edui-default .edui-colorpicker-topbar{height:27px;width:200px}.edui-default .edui-colorpicker-preview{height:20px;border:1px inset #000;margin-left:1px;width:128px;float:left}.edui-default .edui-colorpicker-nocolor{float:right;margin-right:1px;font-size:12px;line-height:14px;height:14px;border:1px solid #333;padding:3px 5px;cursor:pointer}.edui-default .edui-colorpicker-tablefirstrow{height:30px}.edui-default .edui-colorpicker-colorcell{width:14px;height:14px;display:block;margin:0;cursor:pointer}.edui-default .edui-colorpicker-colorcell:hover{width:14px;height:14px;margin:0}.edui-default .edui-colorpicker-advbtn{display:block;text-align:center;cursor:pointer;height:20px}.arrow_down{background:#fff url(../images/arrow_down.png) no-repeat center}.arrow_up{background:#fff url(../images/arrow_up.png) no-repeat center}.edui-colorpicker-adv{position:relative;overflow:hidden;height:180px;display:none}.edui-colorpicker-plant,.edui-colorpicker-hue{border:solid 1px #666}.edui-colorpicker-pad{width:150px;height:150px;left:14px;top:13px;position:absolute;background:red;overflow:hidden;cursor:crosshair}.edui-colorpicker-cover{position:absolute;top:0;left:0;width:150px;height:150px;background:url(../images/tangram-colorpicker.png) -160px -200px}.edui-colorpicker-padDot{position:absolute;top:0;left:0;width:11px;height:11px;overflow:hidden;background:url(../images/tangram-colorpicker.png) 0 -200px repeat-x;z-index:1000}.edui-colorpicker-sliderMain{position:absolute;left:171px;top:13px;width:19px;height:152px;background:url(../images/tangram-colorpicker.png) -179px -12px no-repeat}.edui-colorpicker-slider{width:100%;height:100%;cursor:pointer}.edui-colorpicker-thumb{position:absolute;top:0;cursor:pointer;height:3px;left:-1px;right:-1px;border:1px solid #000;background:#fff;opacity:.8}.edui-default .edui-autotypesetpicker .edui-autotypesetpicker-body{font-size:12px;margin-bottom:3px;clear:both}.edui-default .edui-autotypesetpicker-body table{border-collapse:separate;border-spacing:2px}.edui-default .edui-autotypesetpicker-body td{font-size:12px;word-wrap:break-word}.edui-default .edui-autotypesetpicker-body td input{margin:3px 3px 3px 4px;*margin:1px 0 0}.edui-default .edui-cellalignpicker .edui-cellalignpicker-body{width:70px;font-size:12px;cursor:default}.edui-default .edui-cellalignpicker-body table{border-collapse:separate;border-spacing:0}.edui-default .edui-cellalignpicker-body td{padding:1px}.edui-default .edui-cellalignpicker-body .edui-icon{height:20px;width:20px;padding:1px;background-image:url(../images/table-cell-align.png)}.edui-default .edui-cellalignpicker-body .edui-left{background-position:0 0}.edui-default .edui-cellalignpicker-body .edui-center{background-position:-25px 0}.edui-default .edui-cellalignpicker-body .edui-right{background-position:-51px 0}.edui-default .edui-cellalignpicker-body td.edui-state-hover .edui-left{background-position:-73px 0}.edui-default .edui-cellalignpicker-body td.edui-state-hover .edui-center{background-position:-98px 0}.edui-default .edui-cellalignpicker-body td.edui-state-hover .edui-right{background-position:-124px 0}.edui-default .edui-cellalignpicker-body td.edui-cellalign-selected .edui-left{background-position:-146px 0;background-color:#f1f4f5}.edui-default .edui-cellalignpicker-body td.edui-cellalign-selected .edui-center{background-position:-245px 0}.edui-default .edui-cellalignpicker-body td.edui-cellalign-selected .edui-right{background-position:-271px 0}.edui-default .edui-toolbar .edui-separator{width:2px;height:20px;margin:2px 4px 2px 3px;background:url(../images/icons.png) -181px 0;background:url(../images/icons.gif) -181px 0 \9}.edui-default .edui-toolbar .edui-colorbutton .edui-colorlump{position:absolute;overflow:hidden;bottom:1px;left:1px;width:18px;height:4px}.edui-default .edui-for-emotion .edui-icon{background-position:-60px -20px}.edui-default .edui-for-emotion .edui-popup-content iframe{width:514px;height:380px;overflow:hidden}.edui-default .edui-for-emotion .edui-popup-content{position:relative;z-index:555}.edui-default .edui-for-emotion .edui-splitborder{display:none}.edui-default .edui-for-emotion .edui-splitbutton-body .edui-arrow{width:0}.edui-default .edui-toolbar .edui-for-emotion .edui-state-active .edui-splitborder{border-left:1px solid transparent}.edui-default .edui-hassubmenu .edui-arrow{height:20px;width:20px;float:right;background:url(../images/icons-all.gif) no-repeat 10px -233px}.edui-default .edui-menu-body .edui-menuitem{padding:1px}.edui-default .edui-menuseparator{margin:2px 0;height:1px;overflow:hidden}.edui-default .edui-menuseparator-inner{border-bottom:1px solid #e2e3e3;margin-left:29px;margin-right:1px}.edui-default .edui-menu-body .edui-state-hover{padding:0!important;background-color:#fff5d4;border:1px solid #dcac6c}.edui-default .edui-shortcutmenu{padding:2px;width:190px;height:50px;background-color:#fff;border:1px solid #ccc;border-radius:5px}.edui-default .edui-wordpastepop .edui-popup-content{border:0;padding:0;width:54px;height:21px}.edui-default .edui-pasteicon{width:100%;height:100%;background-image:url(../images/wordpaste.png);background-position:0 0}.edui-default .edui-pasteicon.edui-state-opened{background-position:0 -34px}.edui-default .edui-pastecontainer{position:relative;visibility:hidden;width:97px;background:#fff;border:1px solid #ccc}.edui-default .edui-pastecontainer .edui-title{font-weight:700;background:#F8F8FF;height:25px;line-height:25px;font-size:12px;padding-left:5px}.edui-default .edui-pastecontainer .edui-button{overflow:hidden;margin:3px 0}.edui-default .edui-pastecontainer .edui-button .edui-richtxticon,.edui-default .edui-pastecontainer .edui-button .edui-tagicon,.edui-default .edui-pastecontainer .edui-button .edui-plaintxticon{float:left;cursor:pointer;width:29px;height:29px;margin-left:5px;background-image:url(../images/wordpaste.png);background-repeat:no-repeat}.edui-default .edui-pastecontainer .edui-button .edui-richtxticon{margin-left:0;background-position:-109px 0}.edui-default .edui-pastecontainer .edui-button .edui-tagicon{background-position:-148px 1px}.edui-default .edui-pastecontainer .edui-button .edui-plaintxticon{background-position:-72px 0}.edui-default .edui-pastecontainer .edui-button .edui-state-hover .edui-richtxticon{background-position:-109px -34px}.edui-default .edui-pastecontainer .edui-button .edui-state-hover .edui-tagicon{background-position:-148px -34px}.edui-default .edui-pastecontainer .edui-button .edui-state-hover .edui-plaintxticon{background-position:-72px -34px} \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/dialogbase.css b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/dialogbase.css new file mode 100644 index 0000000..cd663d5 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/dialogbase.css @@ -0,0 +1,100 @@ +/*弹出对话框页面样式组件 +*/ + +/*reset +*/ +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, font, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td { + margin: 0; + padding: 0; + outline: 0; + font-size: 100%; +} + +body { + line-height: 1; +} + +ol, ul { + list-style: none; +} + +blockquote, q { + quotes: none; +} + +ins { + text-decoration: none; +} + +del { + text-decoration: line-through; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +/*module +*/ +body { + background-color: #fff; + font: 12px/1.5 sans-serif, "宋体", "Arial Narrow", HELVETICA; + color: #646464; +} + +/*tab*/ +.tabhead { + position: relative; + z-index: 10; +} + +.tabhead span { + display: inline-block; + padding: 0 5px; + height: 30px; + border: 1px solid #ccc; + background: url("images/dialog-title-bg.png") repeat-x; + text-align: center; + line-height: 30px; + cursor: pointer; + *margin-right: 5px; +} + +.tabhead span.focus { + height: 31px; + border-bottom: none; + background: #fff; +} + +.tabbody { + position: relative; + top: -1px; + margin: 0 auto; + border: 1px solid #ccc; +} + +/*button*/ +a.button { + display: block; + text-align: center; + line-height: 24px; + text-decoration: none; + height: 24px; + width: 95px; + border: 0; + color: #838383; + background: url(../../themes/default/images/icons-all.gif) no-repeat; +} + +a.button:hover { + background-position: 0 -30px; +} \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/anchor.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/anchor.gif new file mode 100644 index 0000000000000000000000000000000000000000..5aa797b2240a432d9f3f1d166ed5542eaf684937 GIT binary patch literal 184 zcmZ?wbhEHb6kygJ|Uu&?oD;%Ae!z@09(NL_hv#6Slx0y!YR{?r|LJZgAju=f-$sQVWNL{+Tsz18#+~Ke%+zTWns()WcPwy8dQcr!JH# U&i)o#ra{o6vp4_np&fqGg-1;GP^BJO_p_?A6nLIYwB=H*Qp>A8nZf?fNnCY(uvZL zYMq5r=M|ASom0_?Sn7~VE3B<^mcq1BrHIr9EGW>Ifm~m?y<>mJPIAsKPjWszPx7z| z^K(;^4e+i)B*?S*guTS?B+Vho2 z`WG1Kuclp>qR!nSa-c>gf6E3&1HPK$>6qGXeOCp%qBL8aEd$S;?m%#@0uH|roliGe zy#i~1E?Ad#U1t}6uwt+qqgIm=xY8r0F*7 zl{ZWo1&^Wcj_roRaNKw0cq|%;M#7eRWh<*7;!rva!w3Wdg+kTSXqlOr3+!(Y+UH1c!M>bUYK1<=lG*1pq%m&P~1QC>Rx($IJPWjnN zpR&G{Rq^JvgludxnIl{D8LgfGe-+MHCcM_UcHp8Td8VLE6B~29!k7r659<2nKp^Fl zj!GszzF7d5gy6DP@ZR1H93XOu{-OI@l6&5C>BJ*|uw%klayELyqgg z(1r2VJa0I-7Tj#n#oR8}RJ&g+`2!5Q8%of3mwZ1ylT{6m^cuZ3bEx<+w~3H6c=s2I zHqmMPM&{IH<=Icl=QPsL@wWkIaQ9;d5!{KiwDTAp6ANhcA|rcd_*y;vPo-D@#WUD8 zxj?H-u8_-Qb;^#oX{dywAOO4sP%-&Maru89peVTaNW45UP{=b_+ByMxH6aCa_?|l> lFG7akQpaiL%L!NFwXt25X8cm0x*UH6P&xU?o7rDC{|kH`9-#mL literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/arrow_down.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/arrow_down.png new file mode 100644 index 0000000000000000000000000000000000000000..e9257e83b00375259f2f724c7cbac03d0df5ceb2 GIT binary patch literal 1610 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE;=WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2v2cW`)d{3jAFJg2T)jk)8oi3#0-$aN1{?c|g2d$P)DnfH z)bz|eTc!8A_bVx6rr0WloBA5~7C5J7WO`H;r3P2|g(O#HCtIc{+1n}DR9FEG$W1Lt zRH(?!$t$+1uvG$^YXxM3g!Ppaz)DK8ZIvL7itr6kaLzAERWQ{v&`mZlGf*%y)H5_T zF*i5YQ7|$vG|)FN(l<2HH8i&}HnK7>P=Ep@plwAdX;wilZcw{`JX@uVl9B=|ef{$C za=mh6z5JqdeM3u2OOP2xM!G;1y2X`wC5aWfdBw^w6I@b@lZ!G7N;32F6hI~>Cgqow z*eU^C3h_d20o>TUVrVb{15Cdnu|VHY&j92lm_lD){7Q3k;i`*Ef>IIg#cFVINM%8) zeo$(0erZuMFyhjbK~@!5ITxiSmgEG&eP`1g19yq1OegIswNQ-xSi<4Z1u2!m4XhFqBbF8wG<_`!+|HhuxMFc&SLMF{7Z@fVvH$#8 ze|mSH#FSX^%>h00S4ci?>YufC3b$>be$N&e)g9;i=5%xkTh1s~5&sk~hpZURp;Qa?iE^5gq z0+?2AoO*aq`+eIDGp&3MoLz0RPBnf@mZEj!Y0cZVUxN2^iyZs(a?eI%oljxTtdUFo z4zJtT6vh6mc<(8@dEybWbJNr%Pc%*VvF}gIi|llP_mw#+z3j zapfmJXkU5iJgMMaq6;%eEr0F`fv2A$yk@Z1O`YMLW4b!$#En-43)(gNwO&tIE1$YR z{=f_5V<-h{r;w^f@VvOcJ`XH-Laf=HZ$7pE8y$b zea|FcbA8_y&V4&;c0EYAF6z7Uq;gWX%!S@_GP~BiYk9@S9hp{rSmuZc`!rX#z78?b z>^=VrHI}o6**U$5wKDVU&pfZEJI56Y zoT$4mvucV;+x1h4)@uJZd{#I=XN5ldnP;uVH#)aA-sLj_f6xsvx)X=xc_v2 z@-mt-`NgS3hTn0)cfZMswpSgNlI1YlD$F(+3=d#Wzp$P!&XKAJY literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/arrow_up.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/arrow_up.png new file mode 100644 index 0000000000000000000000000000000000000000..74277af1e6a8ef91f8fe664efde11377a5292dbc GIT binary patch literal 1649 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE;=WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2v2c=9J8kh>{3jAFJg2T)jk)8oi3#0-$aN1{?c|g2d$P)DnfH z)bz|eTc!8A_bVx6rr0WloBA5~7C5J7WO`H;r3P2|g(O#HCtIc{+1n}DR9FEG$W1Lt zRH(?!$t$+1uvG$^YXxM3g!Ppaz)DK8ZIvL7itr6kaLzAERWQ{v&`mZlGf*%y)H5_T zF*i5YQ7|$vG|)FN(l<2HH8i&}HnK7>P=Ep@plwAdX;wilZcw{`JX@uVl9B=|ef{$C za=mh6z5JqdeM3u2OOP2xM!G;1y2X`wC5aWfdBw^w6I@b@lZ!G7N;32F6hI~>Cgqow z*eU^C3h_d2fv+#z;JjjJKmmhHzap_f-%!s$KQ|ZTFR<$3lAu(CGq9>I4yi0i)elN7 z&Mz%W2F6F4GE6ft?C@IzQV4X7m48ttFj5k8T=J7kb5rw5JY8&+fHHb1nJHGr&Zcf= zZpLmdj^@s;MuvtK&X$(07A9_{2F`9K1|}9TGqCA(Gj?@#HgIt=cQbG_G;}qxFf=l- zbaON}GPN)@wKR5t>GjMjE=kNwPKDW<3A7ig*AcH?E9aur#FG4?ko^1{SPBTp$S=t+ z&d4uNa1J(A2+zz*$uBPkMGnNTE~!PCWvMA{Mftf3;Lx?o#9}*PUqke!kP~A1K*#8V zk_J*zfe8WAABYK0_&^Rk>!juZ^GgvhW0Y{Wv@$R-E%tPA45_#^WvZ{gh@(K;>Z+== zX-At4KPH3-+4r@v2}X8*AN$Mh@OiHNYs3&%QbHW!0`#zh1`9tBzYV@8G#Wg&l2-#)h$FUdfE_lvm%b2=kt^Ebzn( zr(4oF%+7xg2Te=y(fqh}+AK?Nt8-e6Vo~YWrY1FhH}uX($oOv&HCTs__< zzEdCca~LbgR5%PtJYh=3FjGRGp=cUaJC^c^yU)Zr^k2P zlm5xRG;W0~lefT@)ERLuic?K4bNlUNS|KodrrwHIUNWEc`M1i>U^rI0VS1uR{)PLi zihmWG2&`Lpzrjh}nD@mILlb2Uhtt|CHp`N!r`KF5c$VaRcJZF}LJe(& zwV}p~KZGbP@?1Z4Mc+d4`MOQrYgSe4X#ZDh+%|1dL)h$@nv3?ZH`~Z?rV3X7(F@K> zb+Z2u>#VllaHj5&E!~}`b21Ja)w^fT&+2mzy!OR_pE1^}_1<=w+EA5Nm$Hp%M~^AK zU)Z92;jd=Sl<1n3x7z+*ci#Wo(IT=)J{K*+Q?C!N1MD&Sbd le02W-shBsPKJ+s%GgK)^wA}p_d>&K@c)I$ztaD0e0svXmV!r?Y literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/button-bg.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/button-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..ec7fa2eabf0705226fe0c488d65198508bf547e9 GIT binary patch literal 1114 zcmV-g1f}~&Nk%w1VKM+R0OkMy00030|Nr{?`~Uyg|Nq+c_4NPz*Z=(3`t{5D_RRV9 z%lr1t{P@xN^27S{$occg`t-~D_Rjb6(E0Jf`t!&5^V9k7zxnUL`S8H{@x=P_$@uNP z`0c*=@5lM`q&aU|6w)f(-(ZHJcKyq);w!1v|A_vOL(=ELpXz3||{+03)&lq#;^N`q z;o#ul-{0Tf-rm~U+Sk|D(9qET|Nj6000000000000000000000A^8LW004OaEC2ui z05SkF000O7fO%_oc!h?Ch>41ei+5{zWp`--l$Dm3n3+> zsF_HyqQ#3CGiszrN8-khAVaF@xTd7ZlPFWFT*=ZTojPn{%A85Frp=o;W!90Hv!~CW zBj>nb)267=qezn~UCPvr&^vA(N|o9Msu?(T?r7c0wX4^!V8PmfVC>oFmqw6)fdnp04j^zqp|u`Sa-0r=OsK#f}aaILMz*zrOwZ z`0-!pup>tY5FP|5;D7`cXyAbdg3v(@I*72r2M|Um;e-@cXrYB0h@gWGA&@Y_haiS1 z;)o=cSRx4_Z1{o+CA8?`i!jD0v_{FvJiptdPRD zl1w(~KIEzAo_zM{=bwE7aRU-l5Rn8GGXU|#qKr1`=%bKE+9(h+P>}@@TWDd06i{^P z>8GHED(a}AN@0Z-TXdns6;*su#jCK!D(kGY)*7p;S18d%0YNN*1r}fgE9|hu7HjOW g!~VKN5CsU(L=jFzEA6z@R%`9G*G3VB0D%AiJBq`ncK`qY literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/cancelbutton.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/cancelbutton.gif new file mode 100644 index 0000000000000000000000000000000000000000..df4bc2c06d485df4403d689c98ee745a4cde8e97 GIT binary patch literal 1227 zcmV;+1T_0cNk%w1VH^Ms0QUd@000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~EC2ui02}}g000R80N?d8lSPY`ECmaSA@vT~rz=b%E}1xSN+M*v*63=s zj2W|z%bEpKgUQntPOMg`Ql)Ygt58`0p~(cQlP6A|I&tD;)03AgfeIBOG>DKjY^XJ4==@p5kGnYDTB5w7&K^jxZs(hL{cL~lH}dPcdt$q zD_5TQ&|`gZmzMqH0#&%8nU(?9AzvZOs&E($thW17wAnF=2dS zixx%10*e+@Tw%iubG*?-5ob)X#T8L>VFrIHgwcf)I#^*u6G{}}gcVlU-~$+ANa4h3 zU5Eh&8T;8#LljaNAp~tsNC8C^Rb1i1Av~P%1{`$QfyY)`G0{dGGhE??7h#NH1{!Ik pfd&v=WTQt8w{C>_-)j6kG zmZ@`2opZWct<*WE%jHsMvsp;f^!~Ol**?^DO`hifs44&=f~umb34Y07v! zehXl>0V0C67HciWn4KjeEEWr@sxtk4|8?WtNwEFcm{Yc@Vy$H`7@(^3dc70h4xmY} zPa;B+{C!@Q<^CQRW6lMfrwb>zFkriOfWsf}arIZ0*)jKSzW9HD4>|2i1+FOg^6oL0 zuMGL+PHkt#*vvh~NQ@CxMMM#xZ40h-e^cjfe*)md?7iRY1HqRBjSwR0J%@RRXP>@> zkKcbjGFwIi5M!jSYpSZEsw%t>6uuy+C;C8K=M*aB-KzlIq|@mbYi)bIUbpA-`I#n_ zWy#v)_!v+R^=b{kGLNXLO{}#BFq6sTxvIY0l+`3NPhQ=Ac;nXf2W4IstBgcUD^b-d zJ3eY@@JRF1!NCEoR?7f{5J-}wDJcQkB4Re+sH#y!e2lU916r{A&pdHrm;e9(07*qo IM6N<$g2apNRsaA1 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/cursor_h.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/cursor_h.gif new file mode 100644 index 0000000000000000000000000000000000000000..d7c3e7e9eb5755d57ec03c34097c258244abe61a GIT binary patch literal 253 zcmVG|6H_V+Po~-c6$N^_IEGZ*Iy1qOk3oThS@Yxn_+t|0*P6|%n+#L~Iyf|E zrg84hNMwpx9_!-6|BEHhl_}FHLcZHi@xo+A>tN1bvzr~8Z#Ex)a8Qdkef% WRW|>PuXh3sXYh3Ob6Mw<&;$VH);Gui literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/cursor_v.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/cursor_v.gif new file mode 100644 index 0000000000000000000000000000000000000000..bb508db552b6ac3f670f9ce1fcb1e55669db0dd6 GIT binary patch literal 370 zcmZ?wbhEHbQBhG}zIty_2L(xqFsZe72A-PqWelao_UPVUE#AKKd5`}glJC@2UB2rw`(IB?*A zqN1XRh{(>JJ55YXczAeJRaJNI-YqUJE-x?t@#Dumd-if8Ejy6@I4`1w~F!Qzky-V-VnInOpfk+|GDYn9AS7wc)Z8bf!!3 zZ2HZ7qm!>fg-@N3u_S6BtfcFRaLzUWGF!q z%AzEfB~`D;I)q^T@hn>GjrE?{UdLiPgP&3w>7tmXsgPC#5>G@))3jVemdgxLP8K0W zSvgGh3k4G=ZtO?YCn3lc(TL2c!850)DFo3*HcZxKVg(a36p4}m^OOpp{&p|bt$J&&x7~}fl`AqcVt%cEU2}27dM96QnwD)g zZI46N>oIHU?{_Z!WDf$^W^<7J82vsuXemZ#a;t%OX9%BFi literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/filescan.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/filescan.png new file mode 100644 index 0000000000000000000000000000000000000000..1d271588692c1726e3521032f71d8354b66fab0e GIT binary patch literal 4282 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 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/highlighted.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/highlighted.gif new file mode 100644 index 0000000000000000000000000000000000000000..9272b4915ad2b8d4052a19b4c80a41b7c71cf1f1 GIT binary patch literal 111 zcmZ?wbhEHb6k`x$Sjfb1_to#iH~&L`;!hSvE(RtB9R?r($ulrHOzB@K_Ll!X=Ym_^ zj literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/icons-all.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/icons-all.gif new file mode 100644 index 0000000000000000000000000000000000000000..21915e59dede0aa22cda8c7097a14f0f1f68906c GIT binary patch literal 3750 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 b4O*493C(v}$CrKE*L~j?e&ctU0s;U#>#h02 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/icons.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/icons.png new file mode 100644 index 0000000000000000000000000000000000000000..c015e3aac9a84ebad11b932e84722124772d9641 GIT binary patch literal 19694 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ÏmvOE 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 b`u_(2Nr-(&rSM literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/loaderror.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/loaderror.png new file mode 100644 index 0000000000000000000000000000000000000000..35ff3336457d48dbecbc11698ef8245441a94f82 GIT binary patch literal 3209 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 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/loading.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..b713e27dfba708a01c380e7c731a13b52a34edfc GIT binary patch literal 734 zcmZ?wbhEHb6krfw*v!jdZ*RYU|9&kkt+4ULFya6I z{|pQa5E95x{Lk&@8WQa67~pE8XTZz|68g!)$-uzNpaWzB4HaNuV6okB(sT7*i`QqX zc^L!>4t!=<(wVp51?zD`Kkg=-D~S>;skcR%7#$omMC>21xN*pcHs0c0tRNsF(;}SM ziPc1Fu!&|20tT$-nJa`fCQUjv@kC+C3!quI1U@ISvoqf2Xk|(i=IUl?N@{e_G3Yq3 z;U-H^uFrB+CTuRW+i+5nfx|fagWLs?!jQY{X6=arU0riqs^&x$2`7X};t z37RYmQ;O#*G6uOVn*=nAm7~Q)&(!ybaj}oz`WtJ?PQSHN#^y?3ICf5PGS1Ha8pE+k zgJmJh5y6y1=@^y-ft=a0ZG|ZdPArq?H(+2`(;|7`F{6Xpbl>GI8B?M_My|#ljzAN4 z3Pb@-+?qdUsm6)xA>j@^Y0K7lSt}-Mopvo#qQ-sCkLXFkyF zSLvgkf4d8-w;?feL$4)lp3HYoMI*E5@=0AueT*09aVgICcu;r3k!5-F!GZ%U3=K0F z9S$(a^)KPCsC4r`z65*B*uc`x?)kvPGDl;Yns{Fj0|R3#FisfHGY4!D^0$zE1ljvXNk%w1VH^N10QUd@000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~EC2ui02}}=000R80RIUbNU)&6g9sBUT*$DY!-o(fN}Na$VuFhf5;SOl zQR2k}8962Z;Gkkb01ZqM%&2mp#+Cvv!u%%_X3ds21*#in3e-1?2?(ltc28ctYrP)k z{Pb@UlQicB-E)}JlDi_MMmXbuk803?iR{rRp~2S#dR_^-LU%))h*>DmHq0rnjf;8~ zsJM}rcHp`#D%4?EVW;cduL6J7ThT2kQ{cJka07oF;i3Wu4ZceYpGm&F`Sa-04-5zZJCANLt@XPdKI8X22WQ%mvv4FO#q2N BK}7%n literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/pagebreak.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/pagebreak.gif new file mode 100644 index 0000000000000000000000000000000000000000..8d1cffd64af72709b1180b3b0a51bbfe30bcb8c6 GIT binary patch literal 54 zcmZ?wbhEHb{( zJaZG%Q-e|yQz{EjrrH1%u?6^qxTdA0{r~^J*gJ9sP=u)@$S?Rm!_(~sUO=9vr;B4q z#jTK2Cpj4yIG7J^{J*Sr7aP;;!*evU*UP7-zWuuR&zi{Xq6rL2tqds~bx9pSO$?r{ KelF{r5}E*+%QgN0 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/sortable.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/sortable.png new file mode 100644 index 0000000000000000000000000000000000000000..1bca649698e187a80e1b1951fde99ddea3d7b038 GIT binary patch literal 2851 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 BXOsW{ literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/spacer.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/spacer.gif new file mode 100644 index 0000000000000000000000000000000000000000..5bfd67a2d6f72ac3a55cbfcea5866e841d22f5d9 GIT binary patch literal 43 mcmZ?wbhEHbWMp7uXkdT>#h)yUAf^t80Ld^gF}W}@SOWlZ0R#L1 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/sparator_v.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/sparator_v.png new file mode 100644 index 0000000000000000000000000000000000000000..8cf5662da8c36a446e1e08eb71b992c730ab8d15 GIT binary patch literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^OhC-Y0V1m%Ufcz7ii6yp7}lMWc?smOq&xaLGB9lH z=l+w(3gmMZctjR6Fz_7)VaDV6D^h@h{GKk3Arj%q6<>aQ{Qv(yqp%0-vU7cb$AD4{ Mp00i_>zopr0ET%XRR910 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/table-cell-align.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/table-cell-align.png new file mode 100644 index 0000000000000000000000000000000000000000..ddf42853ea5c00663e74d9195d1f1264ab684252 GIT binary patch literal 1847 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 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/toolbar_bg.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/toolbar_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..7ab685f4236ad543601b0d7dc43e429e041bee98 GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI{!2~3a95{LaNJ*BsMwA5Sra_n`~3ut zhqFCqhNk>9eAm}?**d-K>ErgL-9FQkEgB1_|9|!V%ggstduo?ezj^hOMS@|yt(J@G Th3lO_a~V8c{an^LB{Ts5X5&F_ literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/unhighlighted.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/unhighlighted.gif new file mode 100644 index 0000000000000000000000000000000000000000..7ad0b67ae634d41e76848ec0b6696e8ac7e06983 GIT binary patch literal 111 zcmZ?wbhEHb6k`x$Sjfci#j9d&%3_1)z0Fq~5a+uP;QtU1Nea;29 zx*cclynVJpP9xwz=Q6F#ReGoPZ4xWkEPX#)_EqLPYsO~h_`vc#s_EX6+DxrJi$d-_ L>N=ao&0q}x{nsuG literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/upload.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/upload.png new file mode 100644 index 0000000000000000000000000000000000000000..08d4d9268204a20ca343bf75784302cc706d2417 GIT binary patch literal 6608 zcmV;>887CEP)KLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(`>RI+y?e7jKeZ#YO-C z4*f|)K~#9!teSgpT-ABNf8ROx-j!A>$q&Gm@PiO+2q+ZrWGHVa(@6|T{%eS7I@1RU zblOf!(zG+A5GGA&($EfcLWVd^{^;akXWC4YV%(0#BXRRkwbz7wrovzD%sq0`np;D87%?pDZ(g$6LHfS`aA z2*}zP+Rhk1i#-mZRA5=&$TCM5ShS#$W{x1RONMX4G;u7QZiWfK5S$i6n)Hn^Sd-t~ z^mKz0Cyo;&Swa{H>Os}b0?Rk6O$-|6a}9~DMHIT72b~15coUIGfW;wRav(Lp%td+e zs5sPk5CK)hr_0w6D>#?7&Am%c3&&E1wMs&r&{aAJ-13Gsf-xTFa;s79E^*wa1e&FU zR)~|7z#333B-qd5Xl@#sa;^oZJRYkq*AVrnfJ4Z2O^Uw-oPsuG+8I=o)(^`Z&gr7_ zQ^Bz`Qv*n;*s`9s*-{mpbBGAm3UM40c;{#t9j`NVjGHk$3aCTH;1E1u6(9rB9L@xV zc?()7L@2bSiNnsQFy1T1$b$1z!Lc+Z3TQb$^Jz0AXNoa`_lj4C7$FeJ&6P0* z@3NLEs*@Hsq>yee9>t*;eDhG5BB3EmJra5{1$7>4030GSM2$+$6g4P<;+uS5o(&d* zpC#dQ=cj^Wsb(fi6fb(Z77LNWf{3(~LDUfBs^f9aVPr-XMP)|PXG?=H3)qfQ6*_4lq+4- zrYGp?E|d8bR0^%}7zM@Rc@GXZXH;u3{k}fn*9flv0<=xPN)t~JwM8ZfnJ6-ubTJU!q!7MI#y-#<*P^Y!Pp!Tjv`(Rt67=HvxcN075!TcOzeWKKczAXrdLk>E8NQ_$VbRO-+q(1kvOV`lf2TF-+Z{5MRk6ys7AG;uD z##oJOZ{5jv@4tx+gS~BG;_Pu?`W3vF+kEm})KNsx5=9XG`5fb02{#G7hg=IJsv2VNh~46*XiM zVDN-~8si)El=_%d`1$^$$kZg$XLYl-E2eMdGra!zKe6`mZM=QrEhehnbeAu{+A>Zo zp!8KDj82ge7Mkc=5~a+1&y}*H<29b%J4UsZP_4xrICzYsV^xMnPVhIMy^m+R+5Rk7Zy99UN6+sV<;+~9FXV1Ub2zJz zBC|4I>F_Kc8wUD#nsKVNgrUu6(BE6)=va*d2TyQxyw0x2kMPhJZ)m~Y_t~rX`0YPw zN%FiTuOrQw@qKRq;s`^VS98a$A*;OZ;b@yZx? zX@hci7sSKpc!~9EeuFoU9N~-$w~%;`nhZ>e*D@mUoGfuZL!RC{2GEkQZ6CdWuWo;i ztGArp`hRHi8T|3Rj{$JkKkQ+2tVUmNRKT6hSGPaUP1m2xhJl4mN41`C*Wd4H^J7hI zY%)_7@F@>}{{a1!hz$dMfE3^GXzd6?o6l&?n_6A1r}X!BbxaPM#ZB+?+$hK+s2MLm zKLb^|z2aSlmE4HgFyfW}8D{+lE@t$EXS|-UY0U>nU;G*ASv^D+=&5k>#272j4XGWU zM17U9*Q@M&WF(iEqGGDR{)5LkIq_n;5e#j?Y1>o!V+`#(cLU%p>Dqp|n2E6wi zICz|!t~-aJO{=KZ6Rx^!ko5z-MbH4%T0&nXWZjw`y!V}Lx6jS!?VlW)_gi13Gy|u~ z{*kw+)*4*7We`RAqkI3GYAtD9et&Por#`oP7Nhf^<)6Ry;f_9|$q*6A^R{M`G2d}& zp(RS>Jh%)*Q6r?8uyJsJAH6Vwx$u0vRv3HfBo|u2boC%i=H{q7S!v$K z#zD^?e&YSCu9U%7Fj>G4cD=&ww+yu|dvv_U-+k+OwqCoD^#i?p=9Zzh1B{N>0Jvz= zDo#$s3?Dkqm+!oSzDkKb`^M<2gj8z{sa3f;tXo@I)aj#+?>#cY z=WpA>H+LKW;2-b4zP0X#-}zU*{AX7(w0ZTyI2L#|E9`BLgXc0tF{Ii>NfR=g=Am&? z=R+G-u=jtD^7`8uCdnwj{VJD7hp}Nd>bejNCy!hD&%Bg!?-r7H4dNXuyF6sM^E~`! zozd}H8|~TOoeuHn6Gyn|x^qxfhDVOmS1GZ6pqHa#6a2|vKh7s_-rTl+$F31nb>8#Y zPE{9-GTX=Qr$+g`-@b%(XI181>Yjb$Ow{5cgr3OPKlvI%n^tq>WdjQa6?2_?u+YJ0 z+xFa>qy>W%@fm0K2b?#shF_kj6Zn)q5>}f@#74Lz!It|ehaoFBUxxFmNnC_gkEm-E z=k^~u&d{dSE$vv!=&M8wkDOrp&S6H!YizxCW83~eGe_HY>>A;!4i}=QP-Xt`HRq68 z0oU2|U3u9c!y_jEn5ZXg-*JGg*PX-qfy%ry&ZXa+2eYNIlZF6f0TSICUi^Uj2 zuhbbVmx+Q1^Tre=@Q95Fxy&<(09|2TW;FK z*6Yq;$0G;Xv1^2_*KVX*PddUahO1pNm!=^`9Nm5jr#-DGsR?t%rE9t3(zUI%cR%n9 zpT1?NWpWpyKlkirsgmN0III~hPEOP)2k_?MmpOiPgp!-4zqbb!MWX;Q7O^23mZ(im z6?K~?4$px@#~42J4!7LAY1xw6*Ap^2UT+=tcmLw2r__%)wO(K64(IMCUt{~uVfO4B zXZMq@v3{V^=KmI=Kd*GssZ*l*(pX0tSeTd$kXpWS$_X|3W?K_95 z)?>c(rhdVVJL7%{C#4D!r=?zsOu`v7?G3)hl)Aq!Rz zX*^G>K61?lM#t;i^WZZKA3DLG|G{O8GCi+^2YFlAn3l!_kcV6IyI@6>rJjHcM}+fW z)Zo<6D5QOADq(8ML1`uSjEnKIq3E6TQ(4soriTD<+CbFv%aJ$Px%(CFz4H>*oK;2> zT~u=Bj&J?&B}9Y=?z#q5rMD;K!N0n$b(x>ox{1C@)Ux9{A3fBDYv-dQtY2GcwUC<{ z_vzodh&}tp=KF<9*3Ohb&hE#jX>J8NXxh59J$&bHZ{&xM9^(FQ?_HJ#0$ zF)d~^86+ae3opK;8#k`QWf>x~os|I$fzK$rX<}9~9eTV7PRn@{$_io{WLXJY7M!1E zMZFg*5JoVS)rccUBb~-Xmafe4(j%!E9 z>-=!{AwKu}mv+QwttCxU!Z5@+M;L}2IdTMf?)ew>f(yEX!I9DV0hbJa~|x+4;-U_zpxQe|bk0j8{Y)s3XLY zWfKI}VNE~Yd5l=z32KC52-JcEIPdXli3qS+fNIb>OlnfXCFTH&7v}Vo7_wX#1vDyy z)=~7d8Dfl?r=>xuR3eV!1$$trKqC-JNmBHZJ&MPg6o)Wv0Mmt}4Z2APeTm42;5|kZ zXFMVasxg@fP!YU9Bg|h33VhJ&EiWfRn!Ubx5zED~To~^i=tO79J;gJqD%M)!IHs$s zt6)eYrn@U@Ihffd3uDQm0OJiJ#cMojK|E0y5*x*sZmi_>TW3l{8sL+RFcdI~SV2^Y zT!7Et0wN6+^&!?v?#wzIW+59tPo0Z-`~F!pI6xICqMN1CRrLe`IByno)JvtWMU@>9 zj0lsB23@5Ra_r<({Kgw^@XkALcSM-ivwT|>xOj7}_^Ti`KVZ>8kvZKsiZ?7~SKD=N zA!(5s)BM+Q9M;;ld0_3baV!_c7ck4sV03}7*BB|Z1p52?S+{N-|33iQeTU$!k*lr% O00001IobTth)ve1{+;xF-z$zX1$@cbk;N#jz zM8mU4YCupmEU?Nii0lQg^bRCan?Ab3%VAH658-8xBFJMB`IuzR@?X?_cxg~njWe8Z z7he1{t~NY@;sD2oqwB>InLWHP3|(&rFL;_%YXisG!f|)t`LI~xqj*wKLbXWp)f$eo z4#asOE4^bXVR1zDClZ^-`L@9YE{GEUM6w@>B$|*3C13A^6xxLq**_!Pdr{&MM+{D{ z56z@TzG*@hw6S^P4v136mt~*C)1y;z@#LIHDjO7zE0$NBVk(?tEAPD`x}r!4rSvo+ zGrN|Z-`M*gk?fXS+qo0;d0 zh<&hBzt>Fxc`eUN=*S8tip(N)4%c-Hsa$abS1kGZZD3dwRL~Y&OiQls$!Zy(aK#~| zjPP=1B(V$A*qhVABln1FxZ*mlSSnXYWQzzgJF1owUC)i7_7-#saE!r1=5SG$fWQ*I z?G_O^BB^|7ZhisN&MW7LKFbwbTU$SV{P_O;`{w56#>U3_`uf`1+Un}+%F2pDp;%g4 zT3lS5pP!e@<#Tg$GMVhlmoKxkvokX@)6>(Flao@ZbYfycB9V-bkB^RyibNuzP$&=x zMn*=4hK2?Q2l;$HkH;Gr80hQk>+S93a=9E1r@OnG&1QFYb~2ev27}Sj(b3-C-qzOE z+}zyQ*hr;PDHIBkNX*O2%g)YDPEJltOhlnjzdrQ8MQa@l0suN-^vmE^6Tt3mAau_$ zXbql@q{N)M&$25b1FG78WjFA2Q`{wpcH+plH-T+lc4H{-V^L{To}?sY^7t- zRp-#0EC|Fh>5nV9*osg354U2y3FFpwXQ!`Na;JKQ;uHrYmb=qU|MBr zTOt(Y=@VUlJq+6mQt^WJ9lIJTz?$6jvB@_0Ijg#xyHYhx6QE$9@Q;P`SNru{MQcx_ z>I9eqMm;}}tfJ*J&?Udq;ijL1AIs^TNj%ED8++(4bqQ3YK5><%~obS)3oEv z2`L9EwBilZbt=4c48b+h%ydj29TQf1;FclAt3p@D@Iv$C>k|Ryx={((b>+iEv*M}T zw2%>2(|!*aqioP7@6#WGj~%z23qkbWx? zq>K{ydFDHsgH&Ab#e8p|DBB+i&e7YjgH&Dp_Cc?zbGzF=vu-e#1^&&3UitP6Qvg=W z;+>M!e1J%3O7HX-hEcUA+~cC@8WAyj^bml>?&AT`HEEBQ}9Z=3X$i*Zty)I zU*Zj5^tvjIuB=l9Z9~T)&b;Eg=FK&TO>3g*yVOqt8d@&{JXvVbxz7~cYII$TQHvSS zgJ#LpO3a#6>HScB5@i5vKw}cnyiI*AUkCSPz7s6};*mIoCN(8C-gssBWz<}Twr?3} zMG(-KVyeCT&UjVicgg-NE@GN=DKAW@1zjD3zqggT>WPOqXK6a*HA(U%`Q-^?%QNdz M>|NJq=D?r-0Tclc1poj5 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/word.gif b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/default/images/word.gif new file mode 100644 index 0000000000000000000000000000000000000000..9ef5d09b7b30c4f3225f77788462e429cc494b9b GIT binary patch literal 1019 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 bp?H9uNI6(~=EJQ&zcn<}bW|&qZNmQtXU+rA literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/iframe.css b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/iframe.css new file mode 100644 index 0000000..774013a --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/themes/iframe.css @@ -0,0 +1 @@ +/*可以在这里添加你自己的css*/ diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/SyntaxHighlighter/shCore.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/SyntaxHighlighter/shCore.js new file mode 100644 index 0000000..3249184 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/third-party/SyntaxHighlighter/shCore.js @@ -0,0 +1,3655 @@ +// XRegExp 1.5.1 +// (c) 2007-2012 Steven Levithan +// MIT License +// +// Provides an augmented, extensible, cross-browser implementation of regular expressions, +// including support for additional syntax, flags, and methods + +var XRegExp; + +if (XRegExp) { + // Avoid running twice, since that would break references to native globals + throw Error("can't load XRegExp twice in the same frame"); +} + +// Run within an anonymous function to protect variables and avoid new globals +(function (undefined) { + + //--------------------------------- + // Constructor + //--------------------------------- + + // Accepts a pattern and flags; returns a new, extended `RegExp` object. Differs from a native + // regular expression in that additional syntax and flags are supported and cross-browser + // syntax inconsistencies are ameliorated. `XRegExp(/regex/)` clones an existing regex and + // converts to type XRegExp + XRegExp = function (pattern, flags) { + var output = [], + currScope = XRegExp.OUTSIDE_CLASS, + pos = 0, + context, tokenResult, match, chr, regex; + + if (XRegExp.isRegExp(pattern)) { + if (flags !== undefined) + throw TypeError("can't supply flags when constructing one RegExp from another"); + return clone(pattern); + } + // Tokens become part of the regex construction process, so protect against infinite + // recursion when an XRegExp is constructed within a token handler or trigger + if (isInsideConstructor) + throw Error("can't call the XRegExp constructor within token definition functions"); + + flags = flags || ""; + context = { // `this` object for custom tokens + hasNamedCapture: false, + captureNames: [], + hasFlag: function (flag) {return flags.indexOf(flag) > -1;}, + setFlag: function (flag) {flags += flag;} + }; + + while (pos < pattern.length) { + // Check for custom tokens at the current position + tokenResult = runTokens(pattern, pos, currScope, context); + + if (tokenResult) { + output.push(tokenResult.output); + pos += (tokenResult.match[0].length || 1); + } else { + // Check for native multicharacter metasequences (excluding character classes) at + // the current position + if (match = nativ.exec.call(nativeTokens[currScope], pattern.slice(pos))) { + output.push(match[0]); + pos += match[0].length; + } else { + chr = pattern.charAt(pos); + if (chr === "[") + currScope = XRegExp.INSIDE_CLASS; + else if (chr === "]") + currScope = XRegExp.OUTSIDE_CLASS; + // Advance position one character + output.push(chr); + pos++; + } + } + } + + regex = RegExp(output.join(""), nativ.replace.call(flags, flagClip, "")); + regex._xregexp = { + source: pattern, + captureNames: context.hasNamedCapture ? context.captureNames : null + }; + return regex; + }; + + + //--------------------------------- + // Public properties + //--------------------------------- + + XRegExp.version = "1.5.1"; + + // Token scope bitflags + XRegExp.INSIDE_CLASS = 1; + XRegExp.OUTSIDE_CLASS = 2; + + + //--------------------------------- + // Private variables + //--------------------------------- + + var replacementToken = /\$(?:(\d\d?|[$&`'])|{([$\w]+)})/g, + flagClip = /[^gimy]+|([\s\S])(?=[\s\S]*\1)/g, // Nonnative and duplicate flags + quantifier = /^(?:[?*+]|{\d+(?:,\d*)?})\??/, + isInsideConstructor = false, + tokens = [], + // Copy native globals for reference ("native" is an ES3 reserved keyword) + nativ = { + exec: RegExp.prototype.exec, + test: RegExp.prototype.test, + match: String.prototype.match, + replace: String.prototype.replace, + split: String.prototype.split + }, + compliantExecNpcg = nativ.exec.call(/()??/, "")[1] === undefined, // check `exec` handling of nonparticipating capturing groups + compliantLastIndexIncrement = function () { + var x = /^/g; + nativ.test.call(x, ""); + return !x.lastIndex; + }(), + hasNativeY = RegExp.prototype.sticky !== undefined, + nativeTokens = {}; + + // `nativeTokens` match native multicharacter metasequences only (including deprecated octals, + // excluding character classes) + nativeTokens[XRegExp.INSIDE_CLASS] = /^(?:\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S]))/; + nativeTokens[XRegExp.OUTSIDE_CLASS] = /^(?:\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S])|\(\?[:=!]|[?*+]\?|{\d+(?:,\d*)?}\??)/; + + + //--------------------------------- + // Public methods + //--------------------------------- + + // Lets you extend or change XRegExp syntax and create custom flags. This is used internally by + // the XRegExp library and can be used to create XRegExp plugins. This function is intended for + // users with advanced knowledge of JavaScript's regular expression syntax and behavior. It can + // be disabled by `XRegExp.freezeTokens` + XRegExp.addToken = function (regex, handler, scope, trigger) { + tokens.push({ + pattern: clone(regex, "g" + (hasNativeY ? "y" : "")), + handler: handler, + scope: scope || XRegExp.OUTSIDE_CLASS, + trigger: trigger || null + }); + }; + + // Accepts a pattern and flags; returns an extended `RegExp` object. If the pattern and flag + // combination has previously been cached, the cached copy is returned; otherwise the newly + // created regex is cached + XRegExp.cache = function (pattern, flags) { + var key = pattern + "/" + (flags || ""); + return XRegExp.cache[key] || (XRegExp.cache[key] = XRegExp(pattern, flags)); + }; + + // Accepts a `RegExp` instance; returns a copy with the `/g` flag set. The copy has a fresh + // `lastIndex` (set to zero). If you want to copy a regex without forcing the `global` + // property, use `XRegExp(regex)`. Do not use `RegExp(regex)` because it will not preserve + // special properties required for named capture + XRegExp.copyAsGlobal = function (regex) { + return clone(regex, "g"); + }; + + // Accepts a string; returns the string with regex metacharacters escaped. The returned string + // can safely be used at any point within a regex to match the provided literal string. Escaped + // characters are [ ] { } ( ) * + ? - . , \ ^ $ | # and whitespace + XRegExp.escape = function (str) { + return str.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); + }; + + // Accepts a string to search, regex to search with, position to start the search within the + // string (default: 0), and an optional Boolean indicating whether matches must start at-or- + // after the position or at the specified position only. This function ignores the `lastIndex` + // of the provided regex in its own handling, but updates the property for compatibility + XRegExp.execAt = function (str, regex, pos, anchored) { + var r2 = clone(regex, "g" + ((anchored && hasNativeY) ? "y" : "")), + match; + r2.lastIndex = pos = pos || 0; + match = r2.exec(str); // Run the altered `exec` (required for `lastIndex` fix, etc.) + if (anchored && match && match.index !== pos) + match = null; + if (regex.global) + regex.lastIndex = match ? r2.lastIndex : 0; + return match; + }; + + // Breaks the unrestorable link to XRegExp's private list of tokens, thereby preventing + // syntax and flag changes. Should be run after XRegExp and any plugins are loaded + XRegExp.freezeTokens = function () { + XRegExp.addToken = function () { + throw Error("can't run addToken after freezeTokens"); + }; + }; + + // Accepts any value; returns a Boolean indicating whether the argument is a `RegExp` object. + // Note that this is also `true` for regex literals and regexes created by the `XRegExp` + // constructor. This works correctly for variables created in another frame, when `instanceof` + // and `constructor` checks would fail to work as intended + XRegExp.isRegExp = function (o) { + return Object.prototype.toString.call(o) === "[object RegExp]"; + }; + + // Executes `callback` once per match within `str`. Provides a simpler and cleaner way to + // iterate over regex matches compared to the traditional approaches of subverting + // `String.prototype.replace` or repeatedly calling `exec` within a `while` loop + XRegExp.iterate = function (str, regex, callback, context) { + var r2 = clone(regex, "g"), + i = -1, match; + while (match = r2.exec(str)) { // Run the altered `exec` (required for `lastIndex` fix, etc.) + if (regex.global) + regex.lastIndex = r2.lastIndex; // Doing this to follow expectations if `lastIndex` is checked within `callback` + callback.call(context, match, ++i, str, regex); + if (r2.lastIndex === match.index) + r2.lastIndex++; + } + if (regex.global) + regex.lastIndex = 0; + }; + + // Accepts a string and an array of regexes; returns the result of using each successive regex + // to search within the matches of the previous regex. The array of regexes can also contain + // objects with `regex` and `backref` properties, in which case the named or numbered back- + // references specified are passed forward to the next regex or returned. E.g.: + // var xregexpImgFileNames = XRegExp.matchChain(html, [ + // {regex: /]+)>/i, backref: 1}, // tag attributes + // {regex: XRegExp('(?ix) \\s src=" (? [^"]+ )'), backref: "src"}, // src attribute values + // {regex: XRegExp("^http://xregexp\\.com(/[^#?]+)", "i"), backref: 1}, // xregexp.com paths + // /[^\/]+$/ // filenames (strip directory paths) + // ]); + XRegExp.matchChain = function (str, chain) { + return function recurseChain (values, level) { + var item = chain[level].regex ? chain[level] : {regex: chain[level]}, + regex = clone(item.regex, "g"), + matches = [], i; + for (i = 0; i < values.length; i++) { + XRegExp.iterate(values[i], regex, function (match) { + matches.push(item.backref ? (match[item.backref] || "") : match[0]); + }); + } + return ((level === chain.length - 1) || !matches.length) ? + matches : recurseChain(matches, level + 1); + }([str], 0); + }; + + + //--------------------------------- + // New RegExp prototype methods + //--------------------------------- + + // Accepts a context object and arguments array; returns the result of calling `exec` with the + // first value in the arguments array. the context is ignored but is accepted for congruity + // with `Function.prototype.apply` + RegExp.prototype.apply = function (context, args) { + return this.exec(args[0]); + }; + + // Accepts a context object and string; returns the result of calling `exec` with the provided + // string. the context is ignored but is accepted for congruity with `Function.prototype.call` + RegExp.prototype.call = function (context, str) { + return this.exec(str); + }; + + + //--------------------------------- + // Overriden native methods + //--------------------------------- + + // Adds named capture support (with backreferences returned as `result.name`), and fixes two + // cross-browser issues per ES3: + // - Captured values for nonparticipating capturing groups should be returned as `undefined`, + // rather than the empty string. + // - `lastIndex` should not be incremented after zero-length matches. + RegExp.prototype.exec = function (str) { + var match, name, r2, origLastIndex; + if (!this.global) + origLastIndex = this.lastIndex; + match = nativ.exec.apply(this, arguments); + if (match) { + // Fix browsers whose `exec` methods don't consistently return `undefined` for + // nonparticipating capturing groups + if (!compliantExecNpcg && match.length > 1 && indexOf(match, "") > -1) { + r2 = RegExp(this.source, nativ.replace.call(getNativeFlags(this), "g", "")); + // Using `str.slice(match.index)` rather than `match[0]` in case lookahead allowed + // matching due to characters outside the match + nativ.replace.call((str + "").slice(match.index), r2, function () { + for (var i = 1; i < arguments.length - 2; i++) { + if (arguments[i] === undefined) + match[i] = undefined; + } + }); + } + // Attach named capture properties + if (this._xregexp && this._xregexp.captureNames) { + for (var i = 1; i < match.length; i++) { + name = this._xregexp.captureNames[i - 1]; + if (name) + match[name] = match[i]; + } + } + // Fix browsers that increment `lastIndex` after zero-length matches + if (!compliantLastIndexIncrement && this.global && !match[0].length && (this.lastIndex > match.index)) + this.lastIndex--; + } + if (!this.global) + this.lastIndex = origLastIndex; // Fix IE, Opera bug (last tested IE 9.0.5, Opera 11.61 on Windows) + return match; + }; + + // Fix browser bugs in native method + RegExp.prototype.test = function (str) { + // Use the native `exec` to skip some processing overhead, even though the altered + // `exec` would take care of the `lastIndex` fixes + var match, origLastIndex; + if (!this.global) + origLastIndex = this.lastIndex; + match = nativ.exec.call(this, str); + // Fix browsers that increment `lastIndex` after zero-length matches + if (match && !compliantLastIndexIncrement && this.global && !match[0].length && (this.lastIndex > match.index)) + this.lastIndex--; + if (!this.global) + this.lastIndex = origLastIndex; // Fix IE, Opera bug (last tested IE 9.0.5, Opera 11.61 on Windows) + return !!match; + }; + + // Adds named capture support and fixes browser bugs in native method + String.prototype.match = function (regex) { + if (!XRegExp.isRegExp(regex)) + regex = RegExp(regex); // Native `RegExp` + if (regex.global) { + var result = nativ.match.apply(this, arguments); + regex.lastIndex = 0; // Fix IE bug + return result; + } + return regex.exec(this); // Run the altered `exec` + }; + + // Adds support for `${n}` tokens for named and numbered backreferences in replacement text, + // and provides named backreferences to replacement functions as `arguments[0].name`. Also + // fixes cross-browser differences in replacement text syntax when performing a replacement + // using a nonregex search value, and the value of replacement regexes' `lastIndex` property + // during replacement iterations. Note that this doesn't support SpiderMonkey's proprietary + // third (`flags`) parameter + String.prototype.replace = function (search, replacement) { + var isRegex = XRegExp.isRegExp(search), + captureNames, result, str, origLastIndex; + + // There are too many combinations of search/replacement types/values and browser bugs that + // preclude passing to native `replace`, so don't try + //if (...) + // return nativ.replace.apply(this, arguments); + + if (isRegex) { + if (search._xregexp) + captureNames = search._xregexp.captureNames; // Array or `null` + if (!search.global) + origLastIndex = search.lastIndex; + } else { + search = search + ""; // Type conversion + } + + if (Object.prototype.toString.call(replacement) === "[object Function]") { + result = nativ.replace.call(this + "", search, function () { + if (captureNames) { + // Change the `arguments[0]` string primitive to a String object which can store properties + arguments[0] = new String(arguments[0]); + // Store named backreferences on `arguments[0]` + for (var i = 0; i < captureNames.length; i++) { + if (captureNames[i]) + arguments[0][captureNames[i]] = arguments[i + 1]; + } + } + // Update `lastIndex` before calling `replacement` (fix browsers) + if (isRegex && search.global) + search.lastIndex = arguments[arguments.length - 2] + arguments[0].length; + return replacement.apply(null, arguments); + }); + } else { + str = this + ""; // Type conversion, so `args[args.length - 1]` will be a string (given nonstring `this`) + result = nativ.replace.call(str, search, function () { + var args = arguments; // Keep this function's `arguments` available through closure + return nativ.replace.call(replacement + "", replacementToken, function ($0, $1, $2) { + // Numbered backreference (without delimiters) or special variable + if ($1) { + switch ($1) { + case "$": return "$"; + case "&": return args[0]; + case "`": return args[args.length - 1].slice(0, args[args.length - 2]); + case "'": return args[args.length - 1].slice(args[args.length - 2] + args[0].length); + // Numbered backreference + default: + // What does "$10" mean? + // - Backreference 10, if 10 or more capturing groups exist + // - Backreference 1 followed by "0", if 1-9 capturing groups exist + // - Otherwise, it's the string "$10" + // Also note: + // - Backreferences cannot be more than two digits (enforced by `replacementToken`) + // - "$01" is equivalent to "$1" if a capturing group exists, otherwise it's the string "$01" + // - There is no "$0" token ("$&" is the entire match) + var literalNumbers = ""; + $1 = +$1; // Type conversion; drop leading zero + if (!$1) // `$1` was "0" or "00" + return $0; + while ($1 > args.length - 3) { + literalNumbers = String.prototype.slice.call($1, -1) + literalNumbers; + $1 = Math.floor($1 / 10); // Drop the last digit + } + return ($1 ? args[$1] || "" : "$") + literalNumbers; + } + // Named backreference or delimited numbered backreference + } else { + // What does "${n}" mean? + // - Backreference to numbered capture n. Two differences from "$n": + // - n can be more than two digits + // - Backreference 0 is allowed, and is the entire match + // - Backreference to named capture n, if it exists and is not a number overridden by numbered capture + // - Otherwise, it's the string "${n}" + var n = +$2; // Type conversion; drop leading zeros + if (n <= args.length - 3) + return args[n]; + n = captureNames ? indexOf(captureNames, $2) : -1; + return n > -1 ? args[n + 1] : $0; + } + }); + }); + } + + if (isRegex) { + if (search.global) + search.lastIndex = 0; // Fix IE, Safari bug (last tested IE 9.0.5, Safari 5.1.2 on Windows) + else + search.lastIndex = origLastIndex; // Fix IE, Opera bug (last tested IE 9.0.5, Opera 11.61 on Windows) + } + + return result; + }; + + // A consistent cross-browser, ES3 compliant `split` + String.prototype.split = function (s /* separator */, limit) { + // If separator `s` is not a regex, use the native `split` + if (!XRegExp.isRegExp(s)) + return nativ.split.apply(this, arguments); + + var str = this + "", // Type conversion + output = [], + lastLastIndex = 0, + match, lastLength; + + // Behavior for `limit`: if it's... + // - `undefined`: No limit + // - `NaN` or zero: Return an empty array + // - A positive number: Use `Math.floor(limit)` + // - A negative number: No limit + // - Other: Type-convert, then use the above rules + if (limit === undefined || +limit < 0) { + limit = Infinity; + } else { + limit = Math.floor(+limit); + if (!limit) + return []; + } + + // This is required if not `s.global`, and it avoids needing to set `s.lastIndex` to zero + // and restore it to its original value when we're done using the regex + s = XRegExp.copyAsGlobal(s); + + while (match = s.exec(str)) { // Run the altered `exec` (required for `lastIndex` fix, etc.) + if (s.lastIndex > lastLastIndex) { + output.push(str.slice(lastLastIndex, match.index)); + + if (match.length > 1 && match.index < str.length) + Array.prototype.push.apply(output, match.slice(1)); + + lastLength = match[0].length; + lastLastIndex = s.lastIndex; + + if (output.length >= limit) + break; + } + + if (s.lastIndex === match.index) + s.lastIndex++; + } + + if (lastLastIndex === str.length) { + if (!nativ.test.call(s, "") || lastLength) + output.push(""); + } else { + output.push(str.slice(lastLastIndex)); + } + + return output.length > limit ? output.slice(0, limit) : output; + }; + + + //--------------------------------- + // Private helper functions + //--------------------------------- + + // Supporting function for `XRegExp`, `XRegExp.copyAsGlobal`, etc. Returns a copy of a `RegExp` + // instance with a fresh `lastIndex` (set to zero), preserving properties required for named + // capture. Also allows adding new flags in the process of copying the regex + function clone (regex, additionalFlags) { + if (!XRegExp.isRegExp(regex)) + throw TypeError("type RegExp expected"); + var x = regex._xregexp; + regex = XRegExp(regex.source, getNativeFlags(regex) + (additionalFlags || "")); + if (x) { + regex._xregexp = { + source: x.source, + captureNames: x.captureNames ? x.captureNames.slice(0) : null + }; + } + return regex; + } + + function getNativeFlags (regex) { + return (regex.global ? "g" : "") + + (regex.ignoreCase ? "i" : "") + + (regex.multiline ? "m" : "") + + (regex.extended ? "x" : "") + // Proposed for ES4; included in AS3 + (regex.sticky ? "y" : ""); + } + + function runTokens (pattern, index, scope, context) { + var i = tokens.length, + result, match, t; + // Protect against constructing XRegExps within token handler and trigger functions + isInsideConstructor = true; + // Must reset `isInsideConstructor`, even if a `trigger` or `handler` throws + try { + while (i--) { // Run in reverse order + t = tokens[i]; + if ((scope & t.scope) && (!t.trigger || t.trigger.call(context))) { + t.pattern.lastIndex = index; + match = t.pattern.exec(pattern); // Running the altered `exec` here allows use of named backreferences, etc. + if (match && match.index === index) { + result = { + output: t.handler.call(context, match, scope), + match: match + }; + break; + } + } + } + } catch (err) { + throw err; + } finally { + isInsideConstructor = false; + } + return result; + } + + function indexOf (array, item, from) { + if (Array.prototype.indexOf) // Use the native array method if available + return array.indexOf(item, from); + for (var i = from || 0; i < array.length; i++) { + if (array[i] === item) + return i; + } + return -1; + } + + + //--------------------------------- + // Built-in tokens + //--------------------------------- + + // Augment XRegExp's regular expression syntax and flags. Note that when adding tokens, the + // third (`scope`) argument defaults to `XRegExp.OUTSIDE_CLASS` + + // Comment pattern: (?# ) + XRegExp.addToken( + /\(\?#[^)]*\)/, + function (match) { + // Keep tokens separated unless the following token is a quantifier + return nativ.test.call(quantifier, match.input.slice(match.index + match[0].length)) ? "" : "(?:)"; + } + ); + + // Capturing group (match the opening parenthesis only). + // Required for support of named capturing groups + XRegExp.addToken( + /\((?!\?)/, + function () { + this.captureNames.push(null); + return "("; + } + ); + + // Named capturing group (match the opening delimiter only): (? + XRegExp.addToken( + /\(\?<([$\w]+)>/, + function (match) { + this.captureNames.push(match[1]); + this.hasNamedCapture = true; + return "("; + } + ); + + // Named backreference: \k + XRegExp.addToken( + /\\k<([\w$]+)>/, + function (match) { + var index = indexOf(this.captureNames, match[1]); + // Keep backreferences separate from subsequent literal numbers. Preserve back- + // references to named groups that are undefined at this point as literal strings + return index > -1 ? + "\\" + (index + 1) + (isNaN(match.input.charAt(match.index + match[0].length)) ? "" : "(?:)") : + match[0]; + } + ); + + // Empty character class: [] or [^] + XRegExp.addToken( + /\[\^?]/, + function (match) { + // For cross-browser compatibility with ES3, convert [] to \b\B and [^] to [\s\S]. + // (?!) should work like \b\B, but is unreliable in Firefox + return match[0] === "[]" ? "\\b\\B" : "[\\s\\S]"; + } + ); + + // Mode modifier at the start of the pattern only, with any combination of flags imsx: (?imsx) + // Does not support x(?i), (?-i), (?i-m), (?i: ), (?i)(?m), etc. + XRegExp.addToken( + /^\(\?([imsx]+)\)/, + function (match) { + this.setFlag(match[1]); + return ""; + } + ); + + // Whitespace and comments, in free-spacing (aka extended) mode only + XRegExp.addToken( + /(?:\s+|#.*)+/, + function (match) { + // Keep tokens separated unless the following token is a quantifier + return nativ.test.call(quantifier, match.input.slice(match.index + match[0].length)) ? "" : "(?:)"; + }, + XRegExp.OUTSIDE_CLASS, + function () {return this.hasFlag("x");} + ); + + // Dot, in dotall (aka singleline) mode only + XRegExp.addToken( + /\./, + function () {return "[\\s\\S]";}, + XRegExp.OUTSIDE_CLASS, + function () {return this.hasFlag("s");} + ); + + + //--------------------------------- + // Backward compatibility + //--------------------------------- + + // Uncomment the following block for compatibility with XRegExp 1.0-1.2: + /* + XRegExp.matchWithinChain = XRegExp.matchChain; + RegExp.prototype.addFlags = function (s) {return clone(this, s);}; + RegExp.prototype.execAll = function (s) {var r = []; XRegExp.iterate(s, this, function (m) {r.push(m);}); return r;}; + RegExp.prototype.forEachExec = function (s, f, c) {return XRegExp.iterate(s, this, f, c);}; + RegExp.prototype.validate = function (s) {var r = RegExp("^(?:" + this.source + ")$(?!\\s)", getNativeFlags(this)); if (this.global) this.lastIndex = 0; return s.search(r) === 0;}; + */ + +})(); + +// +// Begin anonymous function. This is used to contain local scope variables without polutting global scope. +// +if (typeof(SyntaxHighlighter) == 'undefined') var SyntaxHighlighter = function() { + +// CommonJS + if (typeof(require) != 'undefined' && typeof(XRegExp) == 'undefined') + { + XRegExp = require('XRegExp').XRegExp; + } + +// Shortcut object which will be assigned to the SyntaxHighlighter variable. +// This is a shorthand for local reference in order to avoid long namespace +// references to SyntaxHighlighter.whatever... + var sh = { + defaults : { + /** Additional CSS class names to be added to highlighter elements. */ + 'class-name' : '', + + /** First line number. */ + 'first-line' : 1, + + /** + * Pads line numbers. Possible values are: + * + * false - don't pad line numbers. + * true - automaticaly pad numbers with minimum required number of leading zeroes. + * [int] - length up to which pad line numbers. + */ + 'pad-line-numbers' : false, + + /** Lines to highlight. */ + 'highlight' : false, + + /** Title to be displayed above the code block. */ + 'title' : null, + + /** Enables or disables smart tabs. */ + 'smart-tabs' : true, + + /** Gets or sets tab size. */ + 'tab-size' : 4, + + /** Enables or disables gutter. */ + 'gutter' : true, + + /** Enables or disables toolbar. */ + 'toolbar' : true, + + /** Enables quick code copy and paste from double click. */ + 'quick-code' : true, + + /** Forces code view to be collapsed. */ + 'collapse' : false, + + /** Enables or disables automatic links. */ + 'auto-links' : false, + + /** Gets or sets light mode. Equavalent to turning off gutter and toolbar. */ + 'light' : false, + + 'unindent' : true, + + 'html-script' : false + }, + + config : { + space : ' ', + + /** Enables use of + * + * ``` + */ + findParent:function (node, filterFn, includeSelf) { + if (node && !domUtils.isBody(node)) { + node = includeSelf ? node : node.parentNode; + while (node) { + if (!filterFn || filterFn(node) || domUtils.isBody(node)) { + return filterFn && !filterFn(node) && domUtils.isBody(node) ? null : node; + } + node = node.parentNode; + } + } + return null; + }, + /** + * 查找node的节点名为tagName的第一个祖先节点, 查找的起点是node节点的父节点。 + * @method findParentByTagName + * @param { Node } node 需要查找的节点对象 + * @param { Array } tagNames 需要查找的父节点的名称数组 + * @warning 查找的终点是到body节点为止 + * @return { Node | NULL } 如果找到符合条件的节点, 则返回该节点, 否则返回NULL + * @example + * ```javascript + * var node = UE.dom.domUtils.findParentByTagName( document.getElementsByTagName("div")[0], [ "BODY" ] ); + * //output: BODY + * console.log( node.tagName ); + * ``` + */ + + /** + * 查找node的节点名为tagName的祖先节点, 如果includeSelf的值为true,则查找的起点是给定的节点node, + * 否则, 起点是node的父节点。 + * @method findParentByTagName + * @param { Node } node 需要查找的节点对象 + * @param { Array } tagNames 需要查找的父节点的名称数组 + * @param { Boolean } includeSelf 查找过程是否包含node节点自身 + * @warning 查找的终点是到body节点为止 + * @return { Node | NULL } 如果找到符合条件的节点, 则返回该节点, 否则返回NULL + * @example + * ```javascript + * var queryTarget = document.getElementsByTagName("div")[0]; + * var node = UE.dom.domUtils.findParentByTagName( queryTarget, [ "DIV" ], true ); + * //output: true + * console.log( queryTarget === node ); + * ``` + */ + findParentByTagName:function (node, tagNames, includeSelf, excludeFn) { + tagNames = utils.listToMap(utils.isArray(tagNames) ? tagNames : [tagNames]); + return domUtils.findParent(node, function (node) { + return tagNames[node.tagName] && !(excludeFn && excludeFn(node)); + }, includeSelf); + }, + /** + * 查找节点node的祖先节点集合, 查找的起点是给定节点的父节点,结果集中不包含给定的节点。 + * @method findParents + * @param { Node } node 需要查找的节点对象 + * @return { Array } 给定节点的祖先节点数组 + * @grammar UE.dom.domUtils.findParents(node) => Array //返回一个祖先节点数组集合,不包含自身 + * @grammar UE.dom.domUtils.findParents(node,includeSelf) => Array //返回一个祖先节点数组集合,includeSelf指定是否包含自身 + * @grammar UE.dom.domUtils.findParents(node,includeSelf,filterFn) => Array //返回一个祖先节点数组集合,filterFn指定过滤条件,返回true的node将被选取 + * @grammar UE.dom.domUtils.findParents(node,includeSelf,filterFn,closerFirst) => Array //返回一个祖先节点数组集合,closerFirst为true的话,node的直接父亲节点是数组的第0个 + */ + + /** + * 查找节点node的祖先节点集合, 如果includeSelf的值为true, + * 则返回的结果集中允许出现当前给定的节点, 否则, 该节点不会出现在其结果集中。 + * @method findParents + * @param { Node } node 需要查找的节点对象 + * @param { Boolean } includeSelf 查找的结果中是否允许包含当前查找的节点对象 + * @return { Array } 给定节点的祖先节点数组 + */ + findParents:function (node, includeSelf, filterFn, closerFirst) { + var parents = includeSelf && ( filterFn && filterFn(node) || !filterFn ) ? [node] : []; + while (node = domUtils.findParent(node, filterFn)) { + parents.push(node); + } + return closerFirst ? parents : parents.reverse(); + }, + + /** + * 在节点node后面插入新节点newNode + * @method insertAfter + * @param { Node } node 目标节点 + * @param { Node } newNode 新插入的节点, 该节点将置于目标节点之后 + * @return { Node } 新插入的节点 + */ + insertAfter:function (node, newNode) { + return node.nextSibling ? node.parentNode.insertBefore(newNode, node.nextSibling): + node.parentNode.appendChild(newNode); + }, + + /** + * 删除节点node及其下属的所有节点 + * @method remove + * @param { Node } node 需要删除的节点对象 + * @return { Node } 返回刚删除的节点对象 + * @example + * ```html + *

      + * + * ``` + */ + + /** + * 删除节点node,并根据keepChildren的值决定是否保留子节点 + * @method remove + * @param { Node } node 需要删除的节点对象 + * @param { Boolean } keepChildren 是否需要保留子节点 + * @return { Node } 返回刚删除的节点对象 + * @example + * ```html + *
      + *
      你好
      + *
      + * + * ``` + */ + remove:function (node, keepChildren) { + var parent = node.parentNode, + child; + if (parent) { + if (keepChildren && node.hasChildNodes()) { + while (child = node.firstChild) { + parent.insertBefore(child, node); + } + } + parent.removeChild(node); + } + return node; + }, + + /** + * 取得node节点的下一个兄弟节点, 如果该节点其后没有兄弟节点, 则递归查找其父节点之后的第一个兄弟节点, + * 直到找到满足条件的节点或者递归到BODY节点之后才会结束。 + * @method getNextDomNode + * @param { Node } node 需要获取其后的兄弟节点的节点对象 + * @return { Node | NULL } 如果找满足条件的节点, 则返回该节点, 否则返回NULL + * @example + * ```html + * + *
      + * + *
      + * xxx + * + * + * ``` + * @example + * ```html + * + *
      + * + * xxx + *
      + * xxx + * + * + * ``` + */ + + /** + * 取得node节点的下一个兄弟节点, 如果startFromChild的值为ture,则先获取其子节点, + * 如果有子节点则直接返回第一个子节点;如果没有子节点或者startFromChild的值为false, + * 则执行
      getNextDomNode(Node node)的查找过程。 + * @method getNextDomNode + * @param { Node } node 需要获取其后的兄弟节点的节点对象 + * @param { Boolean } startFromChild 查找过程是否从其子节点开始 + * @return { Node | NULL } 如果找满足条件的节点, 则返回该节点, 否则返回NULL + * @see UE.dom.domUtils.getNextDomNode(Node) + */ + getNextDomNode:function (node, startFromChild, filterFn, guard) { + return getDomNode(node, 'firstChild', 'nextSibling', startFromChild, filterFn, guard); + }, + getPreDomNode:function (node, startFromChild, filterFn, guard) { + return getDomNode(node, 'lastChild', 'previousSibling', startFromChild, filterFn, guard); + }, + /** + * 检测节点node是否属是UEditor定义的bookmark节点 + * @method isBookmarkNode + * @private + * @param { Node } node 需要检测的节点对象 + * @return { Boolean } 是否是bookmark节点 + * @example + * ```html + * + * + * ``` + */ + isBookmarkNode:function (node) { + return node.nodeType == 1 && node.id && /^_baidu_bookmark_/i.test(node.id); + }, + /** + * 获取节点node所属的window对象 + * @method getWindow + * @param { Node } node 节点对象 + * @return { Window } 当前节点所属的window对象 + * @example + * ```javascript + * //output: true + * console.log( UE.dom.domUtils.getWindow( document.body ) === window ); + * ``` + */ + getWindow:function (node) { + var doc = node.ownerDocument || node; + return doc.defaultView || doc.parentWindow; + }, + /** + * 获取离nodeA与nodeB最近的公共的祖先节点 + * @method getCommonAncestor + * @param { Node } nodeA 第一个节点 + * @param { Node } nodeB 第二个节点 + * @remind 如果给定的两个节点是同一个节点, 将直接返回该节点。 + * @return { Node | NULL } 如果未找到公共节点, 返回NULL, 否则返回最近的公共祖先节点。 + * @example + * ```javascript + * var commonAncestor = UE.dom.domUtils.getCommonAncestor( document.body, document.body.firstChild ); + * //output: true + * console.log( commonAncestor.tagName.toLowerCase() === 'body' ); + * ``` + */ + getCommonAncestor:function (nodeA, nodeB) { + if (nodeA === nodeB) + return nodeA; + var parentsA = [nodeA] , parentsB = [nodeB], parent = nodeA, i = -1; + while (parent = parent.parentNode) { + if (parent === nodeB) { + return parent; + } + parentsA.push(parent); + } + parent = nodeB; + while (parent = parent.parentNode) { + if (parent === nodeA) + return parent; + parentsB.push(parent); + } + parentsA.reverse(); + parentsB.reverse(); + while (i++, parentsA[i] === parentsB[i]) { + } + return i == 0 ? null : parentsA[i - 1]; + + }, + /** + * 清除node节点左右连续为空的兄弟inline节点 + * @method clearEmptySibling + * @param { Node } node 执行的节点对象, 如果该节点的左右连续的兄弟节点是空的inline节点, + * 则这些兄弟节点将被删除 + * @grammar UE.dom.domUtils.clearEmptySibling(node,ignoreNext) //ignoreNext指定是否忽略右边空节点 + * @grammar UE.dom.domUtils.clearEmptySibling(node,ignoreNext,ignorePre) //ignorePre指定是否忽略左边空节点 + * @example + * ```html + * + *
      + * + * + * + * xxx + * + * + * + * ``` + */ + + /** + * 清除node节点左右连续为空的兄弟inline节点, 如果ignoreNext的值为true, + * 则忽略对右边兄弟节点的操作。 + * @method clearEmptySibling + * @param { Node } node 执行的节点对象, 如果该节点的左右连续的兄弟节点是空的inline节点, + * @param { Boolean } ignoreNext 是否忽略忽略对右边的兄弟节点的操作 + * 则这些兄弟节点将被删除 + * @see UE.dom.domUtils.clearEmptySibling(Node) + */ + + /** + * 清除node节点左右连续为空的兄弟inline节点, 如果ignoreNext的值为true, + * 则忽略对右边兄弟节点的操作, 如果ignorePre的值为true,则忽略对左边兄弟节点的操作。 + * @method clearEmptySibling + * @param { Node } node 执行的节点对象, 如果该节点的左右连续的兄弟节点是空的inline节点, + * @param { Boolean } ignoreNext 是否忽略忽略对右边的兄弟节点的操作 + * @param { Boolean } ignorePre 是否忽略忽略对左边的兄弟节点的操作 + * 则这些兄弟节点将被删除 + * @see UE.dom.domUtils.clearEmptySibling(Node) + */ + clearEmptySibling:function (node, ignoreNext, ignorePre) { + function clear(next, dir) { + var tmpNode; + while (next && !domUtils.isBookmarkNode(next) && (domUtils.isEmptyInlineElement(next) + //这里不能把空格算进来会吧空格干掉,出现文字间的空格丢掉了 + || !new RegExp('[^\t\n\r' + domUtils.fillChar + ']').test(next.nodeValue) )) { + tmpNode = next[dir]; + domUtils.remove(next); + next = tmpNode; + } + } + !ignoreNext && clear(node.nextSibling, 'nextSibling'); + !ignorePre && clear(node.previousSibling, 'previousSibling'); + }, + /** + * 将一个文本节点textNode拆分成两个文本节点,offset指定拆分位置 + * @method split + * @param { Node } textNode 需要拆分的文本节点对象 + * @param { int } offset 需要拆分的位置, 位置计算从0开始 + * @return { Node } 拆分后形成的新节点 + * @example + * ```html + *
      abcdef
      + * + * ``` + */ + split:function (node, offset) { + var doc = node.ownerDocument; + if (browser.ie && offset == node.nodeValue.length) { + var next = doc.createTextNode(''); + return domUtils.insertAfter(node, next); + } + var retval = node.splitText(offset); + //ie8下splitText不会跟新childNodes,我们手动触发他的更新 + if (browser.ie8) { + var tmpNode = doc.createTextNode(''); + domUtils.insertAfter(retval, tmpNode); + domUtils.remove(tmpNode); + } + return retval; + }, + + /** + * 检测文本节点textNode是否为空节点(包括空格、换行、占位符等字符) + * @method isWhitespace + * @param { Node } node 需要检测的节点对象 + * @return { Boolean } 检测的节点是否为空 + * @example + * ```html + *
      + * + *
      + * + * ``` + */ + isWhitespace:function (node) { + return !new RegExp('[^ \t\n\r' + domUtils.fillChar + ']').test(node.nodeValue); + }, + /** + * 获取元素element相对于viewport的位置坐标 + * @method getXY + * @param { Node } element 需要计算位置的节点对象 + * @return { Object } 返回形如{x:left,y:top}的一个key-value映射对象, 其中键x代表水平偏移距离, + * y代表垂直偏移距离。 + * + * @example + * ```javascript + * var location = UE.dom.domUtils.getXY( document.getElementById("test") ); + * //output: test的坐标为: 12, 24 + * console.log( 'test的坐标为: ', location.x, ',', location.y ); + * ``` + */ + getXY:function (element) { + var x = 0, y = 0; + while (element.offsetParent) { + y += element.offsetTop; + x += element.offsetLeft; + element = element.offsetParent; + } + return { 'x':x, 'y':y}; + }, + /** + * 为元素element绑定原生DOM事件,type为事件类型,handler为处理函数 + * @method on + * @param { Node } element 需要绑定事件的节点对象 + * @param { String } type 绑定的事件类型 + * @param { Function } handler 事件处理器 + * @example + * ```javascript + * UE.dom.domUtils.on(document.body,"click",function(e){ + * //e为事件对象,this为被点击元素对戏那个 + * }); + * ``` + */ + + /** + * 为元素element绑定原生DOM事件,type为事件类型,handler为处理函数 + * @method on + * @param { Node } element 需要绑定事件的节点对象 + * @param { Array } type 绑定的事件类型数组 + * @param { Function } handler 事件处理器 + * @example + * ```javascript + * UE.dom.domUtils.on(document.body,["click","mousedown"],function(evt){ + * //evt为事件对象,this为被点击元素对象 + * }); + * ``` + */ + on:function (element, type, handler) { + + var types = utils.isArray(type) ? type : utils.trim(type).split(/\s+/), + k = types.length; + if (k) while (k--) { + type = types[k]; + if (element.addEventListener) { + element.addEventListener(type, handler, false); + } else { + if (!handler._d) { + handler._d = { + els : [] + }; + } + var key = type + handler.toString(),index = utils.indexOf(handler._d.els,element); + if (!handler._d[key] || index == -1) { + if(index == -1){ + handler._d.els.push(element); + } + if(!handler._d[key]){ + handler._d[key] = function (evt) { + return handler.call(evt.srcElement, evt || window.event); + }; + } + + + element.attachEvent('on' + type, handler._d[key]); + } + } + } + element = null; + }, + /** + * 解除DOM事件绑定 + * @method un + * @param { Node } element 需要解除事件绑定的节点对象 + * @param { String } type 需要接触绑定的事件类型 + * @param { Function } handler 对应的事件处理器 + * @example + * ```javascript + * UE.dom.domUtils.un(document.body,"click",function(evt){ + * //evt为事件对象,this为被点击元素对象 + * }); + * ``` + */ + + /** + * 解除DOM事件绑定 + * @method un + * @param { Node } element 需要解除事件绑定的节点对象 + * @param { Array } type 需要接触绑定的事件类型数组 + * @param { Function } handler 对应的事件处理器 + * @example + * ```javascript + * UE.dom.domUtils.un(document.body, ["click","mousedown"],function(evt){ + * //evt为事件对象,this为被点击元素对象 + * }); + * ``` + */ + un:function (element, type, handler) { + var types = utils.isArray(type) ? type : utils.trim(type).split(/\s+/), + k = types.length; + if (k) while (k--) { + type = types[k]; + if (element.removeEventListener) { + element.removeEventListener(type, handler, false); + } else { + var key = type + handler.toString(); + try{ + element.detachEvent('on' + type, handler._d ? handler._d[key] : handler); + }catch(e){} + if (handler._d && handler._d[key]) { + var index = utils.indexOf(handler._d.els,element); + if(index!=-1){ + handler._d.els.splice(index,1); + } + handler._d.els.length == 0 && delete handler._d[key]; + } + } + } + }, + + /** + * 比较节点nodeA与节点nodeB是否具有相同的标签名、属性名以及属性值 + * @method isSameElement + * @param { Node } nodeA 需要比较的节点 + * @param { Node } nodeB 需要比较的节点 + * @return { Boolean } 两个节点是否具有相同的标签名、属性名以及属性值 + * @example + * ```html + * ssss + * bbbbb + * ssss + * bbbbb + * + * + * ``` + */ + isSameElement:function (nodeA, nodeB) { + if (nodeA.tagName != nodeB.tagName) { + return false; + } + var thisAttrs = nodeA.attributes, + otherAttrs = nodeB.attributes; + if (!ie && thisAttrs.length != otherAttrs.length) { + return false; + } + var attrA, attrB, al = 0, bl = 0; + for (var i = 0; attrA = thisAttrs[i++];) { + if (attrA.nodeName == 'style') { + if (attrA.specified) { + al++; + } + if (domUtils.isSameStyle(nodeA, nodeB)) { + continue; + } else { + return false; + } + } + if (ie) { + if (attrA.specified) { + al++; + attrB = otherAttrs.getNamedItem(attrA.nodeName); + } else { + continue; + } + } else { + attrB = nodeB.attributes[attrA.nodeName]; + } + if (!attrB.specified || attrA.nodeValue != attrB.nodeValue) { + return false; + } + } + // 有可能attrB的属性包含了attrA的属性之外还有自己的属性 + if (ie) { + for (i = 0; attrB = otherAttrs[i++];) { + if (attrB.specified) { + bl++; + } + } + if (al != bl) { + return false; + } + } + return true; + }, + + /** + * 判断节点nodeA与节点nodeB的元素的style属性是否一致 + * @method isSameStyle + * @param { Node } nodeA 需要比较的节点 + * @param { Node } nodeB 需要比较的节点 + * @return { Boolean } 两个节点是否具有相同的style属性值 + * @example + * ```html + * ssss + * bbbbb + * ssss + * bbbbb + * + * + * ``` + */ + isSameStyle:function (nodeA, nodeB) { + var styleA = nodeA.style.cssText.replace(/( ?; ?)/g, ';').replace(/( ?: ?)/g, ':'), + styleB = nodeB.style.cssText.replace(/( ?; ?)/g, ';').replace(/( ?: ?)/g, ':'); + if (browser.opera) { + styleA = nodeA.style; + styleB = nodeB.style; + if (styleA.length != styleB.length) + return false; + for (var p in styleA) { + if (/^(\d+|csstext)$/i.test(p)) { + continue; + } + if (styleA[p] != styleB[p]) { + return false; + } + } + return true; + } + if (!styleA || !styleB) { + return styleA == styleB; + } + styleA = styleA.split(';'); + styleB = styleB.split(';'); + if (styleA.length != styleB.length) { + return false; + } + for (var i = 0, ci; ci = styleA[i++];) { + if (utils.indexOf(styleB, ci) == -1) { + return false; + } + } + return true; + }, + /** + * 检查节点node是否为block元素 + * @method isBlockElm + * @param { Node } node 需要检测的节点对象 + * @return { Boolean } 是否是block元素节点 + * @warning 该方法的判断规则如下: 如果该元素原本是block元素, 则不论该元素当前的css样式是什么都会返回true; + * 否则,检测该元素的css样式, 如果该元素当前是block元素, 则返回true。 其余情况下都返回false。 + * @example + * ```html + * + * + *
      + * + * + * ``` + */ + isBlockElm:function (node) { + return node.nodeType == 1 && (dtd.$block[node.tagName] || styleBlock[domUtils.getComputedStyle(node, 'display')]) && !dtd.$nonChild[node.tagName]; + }, + /** + * 检测node节点是否为body节点 + * @method isBody + * @param { Element } node 需要检测的dom元素 + * @return { Boolean } 给定的元素是否是body元素 + * @example + * ```javascript + * //output: true + * console.log( UE.dom.domUtils.isBody( document.body ) ); + * ``` + */ + isBody:function (node) { + return node && node.nodeType == 1 && node.tagName.toLowerCase() == 'body'; + }, + /** + * 以node节点为分界,将该节点的指定祖先节点parent拆分成两个独立的节点, + * 拆分形成的两个节点之间是node节点 + * @method breakParent + * @param { Node } node 作为分界的节点对象 + * @param { Node } parent 该节点必须是node节点的祖先节点, 且是block节点。 + * @return { Node } 给定的node分界节点 + * @example + * ```javascript + * + * var node = document.createElement("span"), + * wrapNode = document.createElement( "div" ), + * parent = document.createElement("p"); + * + * parent.appendChild( node ); + * wrapNode.appendChild( parent ); + * + * //拆分前 + * //output:

      + * console.log( wrapNode.innerHTML ); + * + * + * UE.dom.domUtils.breakParent( node, parent ); + * //拆分后 + * //output:

      + * console.log( wrapNode.innerHTML ); + * + * ``` + */ + breakParent:function (node, parent) { + var tmpNode, + parentClone = node, + clone = node, + leftNodes, + rightNodes; + do { + parentClone = parentClone.parentNode; + if (leftNodes) { + tmpNode = parentClone.cloneNode(false); + tmpNode.appendChild(leftNodes); + leftNodes = tmpNode; + tmpNode = parentClone.cloneNode(false); + tmpNode.appendChild(rightNodes); + rightNodes = tmpNode; + } else { + leftNodes = parentClone.cloneNode(false); + rightNodes = leftNodes.cloneNode(false); + } + while (tmpNode = clone.previousSibling) { + leftNodes.insertBefore(tmpNode, leftNodes.firstChild); + } + while (tmpNode = clone.nextSibling) { + rightNodes.appendChild(tmpNode); + } + clone = parentClone; + } while (parent !== parentClone); + tmpNode = parent.parentNode; + tmpNode.insertBefore(leftNodes, parent); + tmpNode.insertBefore(rightNodes, parent); + tmpNode.insertBefore(node, rightNodes); + domUtils.remove(parent); + return node; + }, + /** + * 检查节点node是否是空inline节点 + * @method isEmptyInlineElement + * @param { Node } node 需要检测的节点对象 + * @return { Number } 如果给定的节点是空的inline节点, 则返回1, 否则返回0。 + * @example + * ```html + * => 1 + * => 1 + * => 1 + * xx => 0 + * ``` + */ + isEmptyInlineElement:function (node) { + if (node.nodeType != 1 || !dtd.$removeEmpty[ node.tagName ]) { + return 0; + } + node = node.firstChild; + while (node) { + //如果是创建的bookmark就跳过 + if (domUtils.isBookmarkNode(node)) { + return 0; + } + if (node.nodeType == 1 && !domUtils.isEmptyInlineElement(node) || + node.nodeType == 3 && !domUtils.isWhitespace(node) + ) { + return 0; + } + node = node.nextSibling; + } + return 1; + + }, + + /** + * 删除node节点下首尾两端的空白文本子节点 + * @method trimWhiteTextNode + * @param { Element } node 需要执行删除操作的元素对象 + * @example + * ```javascript + * var node = document.createElement("div"); + * + * node.appendChild( document.createTextNode( "" ) ); + * + * node.appendChild( document.createElement("div") ); + * + * node.appendChild( document.createTextNode( "" ) ); + * + * //3 + * console.log( node.childNodes.length ); + * + * UE.dom.domUtils.trimWhiteTextNode( node ); + * + * //1 + * console.log( node.childNodes.length ); + * ``` + */ + trimWhiteTextNode:function (node) { + function remove(dir) { + var child; + while ((child = node[dir]) && child.nodeType == 3 && domUtils.isWhitespace(child)) { + node.removeChild(child); + } + } + remove('firstChild'); + remove('lastChild'); + }, + + /** + * 合并node节点下相同的子节点 + * @name mergeChild + * @desc + * UE.dom.domUtils.mergeChild(node,tagName) //tagName要合并的子节点的标签 + * @example + *

      xxaaxx

      + * ==> UE.dom.domUtils.mergeChild(node,'span') + *

      xxaaxx

      + */ + mergeChild:function (node, tagName, attrs) { + var list = domUtils.getElementsByTagName(node, node.tagName.toLowerCase()); + for (var i = 0, ci; ci = list[i++];) { + if (!ci.parentNode || domUtils.isBookmarkNode(ci)) { + continue; + } + //span单独处理 + if (ci.tagName.toLowerCase() == 'span') { + if (node === ci.parentNode) { + domUtils.trimWhiteTextNode(node); + if (node.childNodes.length == 1) { + node.style.cssText = ci.style.cssText + ";" + node.style.cssText; + domUtils.remove(ci, true); + continue; + } + } + ci.style.cssText = node.style.cssText + ';' + ci.style.cssText; + if (attrs) { + var style = attrs.style; + if (style) { + style = style.split(';'); + for (var j = 0, s; s = style[j++];) { + ci.style[utils.cssStyleToDomStyle(s.split(':')[0])] = s.split(':')[1]; + } + } + } + if (domUtils.isSameStyle(ci, node)) { + domUtils.remove(ci, true); + } + continue; + } + if (domUtils.isSameElement(node, ci)) { + domUtils.remove(ci, true); + } + } + }, + + /** + * 原生方法getElementsByTagName的封装 + * @method getElementsByTagName + * @param { Node } node 目标节点对象 + * @param { String } tagName 需要查找的节点的tagName, 多个tagName以空格分割 + * @return { Array } 符合条件的节点集合 + */ + getElementsByTagName:function (node, name,filter) { + if(filter && utils.isString(filter)){ + var className = filter; + filter = function(node){return domUtils.hasClass(node,className)} + } + name = utils.trim(name).replace(/[ ]{2,}/g,' ').split(' '); + var arr = []; + for(var n = 0,ni;ni=name[n++];){ + var list = node.getElementsByTagName(ni); + for (var i = 0, ci; ci = list[i++];) { + if(!filter || filter(ci)) + arr.push(ci); + } + } + + return arr; + }, + /** + * 将节点node提取到父节点上 + * @method mergeToParent + * @param { Element } node 需要提取的元素对象 + * @example + * ```html + *
      + *
      + * + *
      + *
      + * + * + * ``` + */ + mergeToParent:function (node) { + var parent = node.parentNode; + while (parent && dtd.$removeEmpty[parent.tagName]) { + if (parent.tagName == node.tagName || parent.tagName == 'A') {//针对a标签单独处理 + domUtils.trimWhiteTextNode(parent); + //span需要特殊处理 不处理这样的情况 xxxxxxxxx + if (parent.tagName == 'SPAN' && !domUtils.isSameStyle(parent, node) + || (parent.tagName == 'A' && node.tagName == 'SPAN')) { + if (parent.childNodes.length > 1 || parent !== node.parentNode) { + node.style.cssText = parent.style.cssText + ";" + node.style.cssText; + parent = parent.parentNode; + continue; + } else { + parent.style.cssText += ";" + node.style.cssText; + //trace:952 a标签要保持下划线 + if (parent.tagName == 'A') { + parent.style.textDecoration = 'underline'; + } + } + } + if (parent.tagName != 'A') { + parent === node.parentNode && domUtils.remove(node, true); + break; + } + } + parent = parent.parentNode; + } + }, + /** + * 合并节点node的左右兄弟节点 + * @method mergeSibling + * @param { Element } node 需要合并的目标节点 + * @example + * ```html + * xxxxoooxxxx + * + * + * ``` + */ + + /** + * 合并节点node的左右兄弟节点, 可以根据给定的条件选择是否忽略合并左节点。 + * @method mergeSibling + * @param { Element } node 需要合并的目标节点 + * @param { Boolean } ignorePre 是否忽略合并左节点 + * @example + * ```html + * xxxxoooxxxx + * + * + * ``` + */ + + /** + * 合并节点node的左右兄弟节点,可以根据给定的条件选择是否忽略合并左右节点。 + * @method mergeSibling + * @param { Element } node 需要合并的目标节点 + * @param { Boolean } ignorePre 是否忽略合并左节点 + * @param { Boolean } ignoreNext 是否忽略合并右节点 + * @remind 如果同时忽略左右节点, 则该操作什么也不会做 + * @example + * ```html + * xxxxoooxxxx + * + * + * ``` + */ + mergeSibling:function (node, ignorePre, ignoreNext) { + function merge(rtl, start, node) { + var next; + if ((next = node[rtl]) && !domUtils.isBookmarkNode(next) && next.nodeType == 1 && domUtils.isSameElement(node, next)) { + while (next.firstChild) { + if (start == 'firstChild') { + node.insertBefore(next.lastChild, node.firstChild); + } else { + node.appendChild(next.firstChild); + } + } + domUtils.remove(next); + } + } + !ignorePre && merge('previousSibling', 'firstChild', node); + !ignoreNext && merge('nextSibling', 'lastChild', node); + }, + + /** + * 设置节点node及其子节点不会被选中 + * @method unSelectable + * @param { Element } node 需要执行操作的dom元素 + * @remind 执行该操作后的节点, 将不能被鼠标选中 + * @example + * ```javascript + * UE.dom.domUtils.unSelectable( document.body ); + * ``` + */ + unSelectable:ie && browser.ie9below || browser.opera ? function (node) { + //for ie9 + node.onselectstart = function () { + return false; + }; + node.onclick = node.onkeyup = node.onkeydown = function () { + return false; + }; + node.unselectable = 'on'; + node.setAttribute("unselectable", "on"); + for (var i = 0, ci; ci = node.all[i++];) { + switch (ci.tagName.toLowerCase()) { + case 'iframe' : + case 'textarea' : + case 'input' : + case 'select' : + break; + default : + ci.unselectable = 'on'; + node.setAttribute("unselectable", "on"); + } + } + } : function (node) { + node.style.MozUserSelect = + node.style.webkitUserSelect = + node.style.msUserSelect = + node.style.KhtmlUserSelect = 'none'; + }, + /** + * 删除节点node上的指定属性名称的属性 + * @method removeAttributes + * @param { Node } node 需要删除属性的节点对象 + * @param { String } attrNames 可以是空格隔开的多个属性名称,该操作将会依次删除相应的属性 + * @example + * ```html + *
      + * xxxxx + *
      + * + * + * ``` + */ + + /** + * 删除节点node上的指定属性名称的属性 + * @method removeAttributes + * @param { Node } node 需要删除属性的节点对象 + * @param { Array } attrNames 需要删除的属性名数组 + * @example + * ```html + *
      + * xxxxx + *
      + * + * + * ``` + */ + removeAttributes:function (node, attrNames) { + attrNames = utils.isArray(attrNames) ? attrNames : utils.trim(attrNames).replace(/[ ]{2,}/g,' ').split(' '); + for (var i = 0, ci; ci = attrNames[i++];) { + ci = attrFix[ci] || ci; + switch (ci) { + case 'className': + node[ci] = ''; + break; + case 'style': + node.style.cssText = ''; + var val = node.getAttributeNode('style'); + !browser.ie && val && node.removeAttributeNode(val); + } + node.removeAttribute(ci); + } + }, + /** + * 在doc下创建一个标签名为tag,属性为attrs的元素 + * @method createElement + * @param { DomDocument } doc 新创建的元素属于该document节点创建 + * @param { String } tagName 需要创建的元素的标签名 + * @param { Object } attrs 新创建的元素的属性key-value集合 + * @return { Element } 新创建的元素对象 + * @example + * ```javascript + * var ele = UE.dom.domUtils.createElement( document, 'div', { + * id: 'test' + * } ); + * + * //output: DIV + * console.log( ele.tagName ); + * + * //output: test + * console.log( ele.id ); + * + * ``` + */ + createElement:function (doc, tag, attrs) { + return domUtils.setAttributes(doc.createElement(tag), attrs) + }, + /** + * 为节点node添加属性attrs,attrs为属性键值对 + * @method setAttributes + * @param { Element } node 需要设置属性的元素对象 + * @param { Object } attrs 需要设置的属性名-值对 + * @return { Element } 设置属性的元素对象 + * @example + * ```html + * + * + * + * + */ + setAttributes:function (node, attrs) { + for (var attr in attrs) { + if(attrs.hasOwnProperty(attr)){ + var value = attrs[attr]; + switch (attr) { + case 'class': + //ie下要这样赋值,setAttribute不起作用 + node.className = value; + break; + case 'style' : + node.style.cssText = node.style.cssText + ";" + value; + break; + case 'innerHTML': + node[attr] = value; + break; + case 'value': + node.value = value; + break; + default: + node.setAttribute(attrFix[attr] || attr, value); + } + } + } + return node; + }, + + /** + * 获取元素element经过计算后的样式值 + * @method getComputedStyle + * @param { Element } element 需要获取样式的元素对象 + * @param { String } styleName 需要获取的样式名 + * @return { String } 获取到的样式值 + * @example + * ```html + * + * + * + * + * + * ``` + */ + getComputedStyle:function (element, styleName) { + //一下的属性单独处理 + var pros = 'width height top left'; + + if(pros.indexOf(styleName) > -1){ + return element['offset' + styleName.replace(/^\w/,function(s){return s.toUpperCase()})] + 'px'; + } + //忽略文本节点 + if (element.nodeType == 3) { + element = element.parentNode; + } + //ie下font-size若body下定义了font-size,则从currentStyle里会取到这个font-size. 取不到实际值,故此修改. + if (browser.ie && browser.version < 9 && styleName == 'font-size' && !element.style.fontSize && + !dtd.$empty[element.tagName] && !dtd.$nonChild[element.tagName]) { + var span = element.ownerDocument.createElement('span'); + span.style.cssText = 'padding:0;border:0;font-family:simsun;'; + span.innerHTML = '.'; + element.appendChild(span); + var result = span.offsetHeight; + element.removeChild(span); + span = null; + return result + 'px'; + } + try { + var value = domUtils.getStyle(element, styleName) || + (window.getComputedStyle ? domUtils.getWindow(element).getComputedStyle(element, '').getPropertyValue(styleName) : + ( element.currentStyle || element.style )[utils.cssStyleToDomStyle(styleName)]); + + } catch (e) { + return ""; + } + return utils.transUnitToPx(utils.fixColor(styleName, value)); + }, + /** + * 删除元素element指定的className + * @method removeClasses + * @param { Element } ele 需要删除class的元素节点 + * @param { String } classNames 需要删除的className, 多个className之间以空格分开 + * @example + * ```html + * xxx + * + * + * ``` + */ + + /** + * 删除元素element指定的className + * @method removeClasses + * @param { Element } ele 需要删除class的元素节点 + * @param { Array } classNames 需要删除的className数组 + * @example + * ```html + * xxx + * + * + * ``` + */ + removeClasses:function (elm, classNames) { + classNames = utils.isArray(classNames) ? classNames : + utils.trim(classNames).replace(/[ ]{2,}/g,' ').split(' '); + for(var i = 0,ci,cls = elm.className;ci=classNames[i++];){ + cls = cls.replace(new RegExp('\\b' + ci + '\\b'),'') + } + cls = utils.trim(cls).replace(/[ ]{2,}/g,' '); + if(cls){ + elm.className = cls; + }else{ + domUtils.removeAttributes(elm,['class']); + } + }, + /** + * 给元素element添加className + * @method addClass + * @param { Node } ele 需要增加className的元素 + * @param { String } classNames 需要添加的className, 多个className之间以空格分割 + * @remind 相同的类名不会被重复添加 + * @example + * ```html + * + * + * + * ``` + */ + + /** + * 判断元素element是否包含给定的样式类名className + * @method hasClass + * @param { Node } ele 需要检测的元素 + * @param { Array } classNames 需要检测的className数组 + * @return { Boolean } 元素是否包含所有给定的className + * @example + * ```html + * + * + * + * ``` + */ + hasClass:function (element, className) { + if(utils.isRegExp(className)){ + return className.test(element.className) + } + className = utils.trim(className).replace(/[ ]{2,}/g,' ').split(' '); + for(var i = 0,ci,cls = element.className;ci=className[i++];){ + if(!new RegExp('\\b' + ci + '\\b','i').test(cls)){ + return false; + } + } + return i - 1 == className.length; + }, + + /** + * 阻止事件默认行为 + * @method preventDefault + * @param { Event } evt 需要阻止默认行为的事件对象 + * @example + * ```javascript + * UE.dom.domUtils.preventDefault( evt ); + * ``` + */ + preventDefault:function (evt) { + evt.preventDefault ? evt.preventDefault() : (evt.returnValue = false); + }, + /** + * 删除元素element指定的样式 + * @method removeStyle + * @param { Element } element 需要删除样式的元素 + * @param { String } styleName 需要删除的样式名 + * @example + * ```html + * + * + * + * ``` + */ + removeStyle:function (element, name) { + if(browser.ie ){ + //针对color先单独处理一下 + if(name == 'color'){ + name = '(^|;)' + name; + } + element.style.cssText = element.style.cssText.replace(new RegExp(name + '[^:]*:[^;]+;?','ig'),'') + }else{ + if (element.style.removeProperty) { + element.style.removeProperty (name); + }else { + element.style.removeAttribute (utils.cssStyleToDomStyle(name)); + } + } + + + if (!element.style.cssText) { + domUtils.removeAttributes(element, ['style']); + } + }, + /** + * 获取元素element的style属性的指定值 + * @method getStyle + * @param { Element } element 需要获取属性值的元素 + * @param { String } styleName 需要获取的style的名称 + * @warning 该方法仅获取元素style属性中所标明的值 + * @return { String } 该元素包含指定的style属性值 + * @example + * ```html + *
      + * + * + * ``` + */ + getStyle:function (element, name) { + var value = element.style[ utils.cssStyleToDomStyle(name) ]; + return utils.fixColor(name, value); + }, + /** + * 为元素element设置样式属性值 + * @method setStyle + * @param { Element } element 需要设置样式的元素 + * @param { String } styleName 样式名 + * @param { String } styleValue 样式值 + * @example + * ```html + *
      + * + * + * ``` + */ + setStyle:function (element, name, value) { + element.style[utils.cssStyleToDomStyle(name)] = value; + if(!utils.trim(element.style.cssText)){ + this.removeAttributes(element,'style') + } + }, + /** + * 为元素element设置多个样式属性值 + * @method setStyles + * @param { Element } element 需要设置样式的元素 + * @param { Object } styles 样式名值对 + * @example + * ```html + *
      + * + * + * ``` + */ + setStyles:function (element, styles) { + for (var name in styles) { + if (styles.hasOwnProperty(name)) { + domUtils.setStyle(element, name, styles[name]); + } + } + }, + /** + * 删除_moz_dirty属性 + * @private + * @method removeDirtyAttr + */ + removeDirtyAttr:function (node) { + for (var i = 0, ci, nodes = node.getElementsByTagName('*'); ci = nodes[i++];) { + ci.removeAttribute('_moz_dirty'); + } + node.removeAttribute('_moz_dirty'); + }, + /** + * 获取子节点的数量 + * @method getChildCount + * @param { Element } node 需要检测的元素 + * @return { Number } 给定的node元素的子节点数量 + * @example + * ```html + *
      + * + *
      + * + * + * ``` + */ + + /** + * 根据给定的过滤规则, 获取符合条件的子节点的数量 + * @method getChildCount + * @param { Element } node 需要检测的元素 + * @param { Function } fn 过滤器, 要求对符合条件的子节点返回true, 反之则要求返回false + * @return { Number } 符合过滤条件的node元素的子节点数量 + * @example + * ```html + *
      + * + *
      + * + * + * ``` + */ + getChildCount:function (node, fn) { + var count = 0, first = node.firstChild; + fn = fn || function () { + return 1; + }; + while (first) { + if (fn(first)) { + count++; + } + first = first.nextSibling; + } + return count; + }, + + /** + * 判断给定节点是否为空节点 + * @method isEmptyNode + * @param { Node } node 需要检测的节点对象 + * @return { Boolean } 节点是否为空 + * @example + * ```javascript + * UE.dom.domUtils.isEmptyNode( document.body ); + * ``` + */ + isEmptyNode:function (node) { + return !node.firstChild || domUtils.getChildCount(node, function (node) { + return !domUtils.isBr(node) && !domUtils.isBookmarkNode(node) && !domUtils.isWhitespace(node) + }) == 0 + }, + clearSelectedArr:function (nodes) { + var node; + while (node = nodes.pop()) { + domUtils.removeAttributes(node, ['class']); + } + }, + /** + * 将显示区域滚动到指定节点的位置 + * @method scrollToView + * @param {Node} node 节点 + * @param {window} win window对象 + * @param {Number} offsetTop 距离上方的偏移量 + */ + scrollToView:function (node, win, offsetTop) { + var getViewPaneSize = function () { + var doc = win.document, + mode = doc.compatMode == 'CSS1Compat'; + return { + width:( mode ? doc.documentElement.clientWidth : doc.body.clientWidth ) || 0, + height:( mode ? doc.documentElement.clientHeight : doc.body.clientHeight ) || 0 + }; + }, + getScrollPosition = function (win) { + if ('pageXOffset' in win) { + return { + x:win.pageXOffset || 0, + y:win.pageYOffset || 0 + }; + } + else { + var doc = win.document; + return { + x:doc.documentElement.scrollLeft || doc.body.scrollLeft || 0, + y:doc.documentElement.scrollTop || doc.body.scrollTop || 0 + }; + } + }; + var winHeight = getViewPaneSize().height, offset = winHeight * -1 + offsetTop; + offset += (node.offsetHeight || 0); + var elementPosition = domUtils.getXY(node); + offset += elementPosition.y; + var currentScroll = getScrollPosition(win).y; + // offset += 50; + if (offset > currentScroll || offset < currentScroll - winHeight) { + win.scrollTo(0, offset + (offset < 0 ? -20 : 20)); + } + }, + /** + * 判断给定节点是否为br + * @method isBr + * @param { Node } node 需要判断的节点对象 + * @return { Boolean } 给定的节点是否是br节点 + */ + isBr:function (node) { + return node.nodeType == 1 && node.tagName == 'BR'; + }, + /** + * 判断给定的节点是否是一个“填充”节点 + * @private + * @method isFillChar + * @param { Node } node 需要判断的节点 + * @param { Boolean } isInStart 是否从节点内容的开始位置匹配 + * @returns { Boolean } 节点是否是填充节点 + */ + isFillChar:function (node,isInStart) { + if(node.nodeType != 3) + return false; + var text = node.nodeValue; + if(isInStart){ + return new RegExp('^' + domUtils.fillChar).test(text) + } + return !text.replace(new RegExp(domUtils.fillChar,'g'), '').length + }, + isStartInblock:function (range) { + var tmpRange = range.cloneRange(), + flag = 0, + start = tmpRange.startContainer, + tmp; + if(start.nodeType == 1 && start.childNodes[tmpRange.startOffset]){ + start = start.childNodes[tmpRange.startOffset]; + var pre = start.previousSibling; + while(pre && domUtils.isFillChar(pre)){ + start = pre; + pre = pre.previousSibling; + } + } + if(this.isFillChar(start,true) && tmpRange.startOffset == 1){ + tmpRange.setStartBefore(start); + start = tmpRange.startContainer; + } + + while (start && domUtils.isFillChar(start)) { + tmp = start; + start = start.previousSibling + } + if (tmp) { + tmpRange.setStartBefore(tmp); + start = tmpRange.startContainer; + } + if (start.nodeType == 1 && domUtils.isEmptyNode(start) && tmpRange.startOffset == 1) { + tmpRange.setStart(start, 0).collapse(true); + } + while (!tmpRange.startOffset) { + start = tmpRange.startContainer; + if (domUtils.isBlockElm(start) || domUtils.isBody(start)) { + flag = 1; + break; + } + var pre = tmpRange.startContainer.previousSibling, + tmpNode; + if (!pre) { + tmpRange.setStartBefore(tmpRange.startContainer); + } else { + while (pre && domUtils.isFillChar(pre)) { + tmpNode = pre; + pre = pre.previousSibling; + } + if (tmpNode) { + tmpRange.setStartBefore(tmpNode); + } else { + tmpRange.setStartBefore(tmpRange.startContainer); + } + } + } + return flag && !domUtils.isBody(tmpRange.startContainer) ? 1 : 0; + }, + + /** + * 判断给定的元素是否是一个空元素 + * @method isEmptyBlock + * @param { Element } node 需要判断的元素 + * @return { Boolean } 是否是空元素 + * @example + * ```html + *
      + * + * + * ``` + */ + + /** + * 根据指定的判断规则判断给定的元素是否是一个空元素 + * @method isEmptyBlock + * @param { Element } node 需要判断的元素 + * @param { RegExp } reg 对内容执行判断的正则表达式对象 + * @return { Boolean } 是否是空元素 + */ + isEmptyBlock:function (node,reg) { + if(node.nodeType != 1) + return 0; + reg = reg || new RegExp('[ \xa0\t\r\n' + domUtils.fillChar + ']', 'g'); + + if (node[browser.ie ? 'innerText' : 'textContent'].replace(reg, '').length > 0) { + return 0; + } + for (var n in dtd.$isNotEmpty) { + if (node.getElementsByTagName(n).length) { + return 0; + } + } + return 1; + }, + + /** + * 移动元素使得该元素的位置移动指定的偏移量的距离 + * @method setViewportOffset + * @param { Element } element 需要设置偏移量的元素 + * @param { Object } offset 偏移量, 形如{ left: 100, top: 50 }的一个键值对, 表示该元素将在 + * 现有的位置上向水平方向偏移offset.left的距离, 在竖直方向上偏移 + * offset.top的距离 + * @example + * ```html + *
      + * + * + * ``` + */ + setViewportOffset:function (element, offset) { + var left = parseInt(element.style.left) | 0; + var top = parseInt(element.style.top) | 0; + var rect = element.getBoundingClientRect(); + var offsetLeft = offset.left - rect.left; + var offsetTop = offset.top - rect.top; + if (offsetLeft) { + element.style.left = left + offsetLeft + 'px'; + } + if (offsetTop) { + element.style.top = top + offsetTop + 'px'; + } + }, + + /** + * 用“填充字符”填充节点 + * @method fillNode + * @private + * @param { DomDocument } doc 填充的节点所在的docment对象 + * @param { Node } node 需要填充的节点对象 + * @example + * ```html + *
      + * + * + * ``` + */ + fillNode:function (doc, node) { + var tmpNode = browser.ie ? doc.createTextNode(domUtils.fillChar) : doc.createElement('br'); + node.innerHTML = ''; + node.appendChild(tmpNode); + }, + + /** + * 把节点src的所有子节点追加到另一个节点tag上去 + * @method moveChild + * @param { Node } src 源节点, 该节点下的所有子节点将被移除 + * @param { Node } tag 目标节点, 从源节点移除的子节点将被追加到该节点下 + * @example + * ```html + *
      + * + *
      + *
      + *
      + *
      + * + * + * ``` + */ + + /** + * 把节点src的所有子节点移动到另一个节点tag上去, 可以通过dir参数控制附加的行为是“追加”还是“插入顶部” + * @method moveChild + * @param { Node } src 源节点, 该节点下的所有子节点将被移除 + * @param { Node } tag 目标节点, 从源节点移除的子节点将被附加到该节点下 + * @param { Boolean } dir 附加方式, 如果为true, 则附加进去的节点将被放到目标节点的顶部, 反之,则放到末尾 + * @example + * ```html + *
      + * + *
      + *
      + *
      + *
      + * + * + * ``` + */ + moveChild:function (src, tag, dir) { + while (src.firstChild) { + if (dir && tag.firstChild) { + tag.insertBefore(src.lastChild, tag.firstChild); + } else { + tag.appendChild(src.firstChild); + } + } + }, + + /** + * 判断节点的标签上是否不存在任何属性 + * @method hasNoAttributes + * @private + * @param { Node } node 需要检测的节点对象 + * @return { Boolean } 节点是否不包含任何属性 + * @example + * ```html + *
      xxxx
      + * + * + * ``` + */ + hasNoAttributes:function (node) { + return browser.ie ? /^<\w+\s*?>/.test(node.outerHTML) : node.attributes.length == 0; + }, + + /** + * 检测节点是否是UEditor所使用的辅助节点 + * @method isCustomeNode + * @private + * @param { Node } node 需要检测的节点 + * @remind 辅助节点是指编辑器要完成工作临时添加的节点, 在输出的时候将会从编辑器内移除, 不会影响最终的结果。 + * @return { Boolean } 给定的节点是否是一个辅助节点 + */ + isCustomeNode:function (node) { + return node.nodeType == 1 && node.getAttribute('_ue_custom_node_'); + }, + + /** + * 检测节点的标签是否是给定的标签 + * @method isTagNode + * @param { Node } node 需要检测的节点对象 + * @param { String } tagName 标签 + * @return { Boolean } 节点的标签是否是给定的标签 + * @example + * ```html + *
      + * + * + * ``` + */ + isTagNode:function (node, tagNames) { + return node.nodeType == 1 && new RegExp('\\b' + node.tagName + '\\b','i').test(tagNames) + }, + + /** + * 给定一个节点数组,在通过指定的过滤器过滤后, 获取其中满足过滤条件的第一个节点 + * @method filterNodeList + * @param { Array } nodeList 需要过滤的节点数组 + * @param { Function } fn 过滤器, 对符合条件的节点, 执行结果返回true, 反之则返回false + * @return { Node | NULL } 如果找到符合过滤条件的节点, 则返回该节点, 否则返回NULL + * @example + * ```javascript + * var divNodes = document.getElementsByTagName("div"); + * divNodes = [].slice.call( divNodes, 0 ); + * + * //output: null + * console.log( UE.dom.domUtils.filterNodeList( divNodes, function ( node ) { + * return node.tagName.toLowerCase() !== 'div'; + * } ) ); + * ``` + */ + + /** + * 给定一个节点数组nodeList和一组标签名tagNames, 获取其中能够匹配标签名的节点集合中的第一个节点 + * @method filterNodeList + * @param { Array } nodeList 需要过滤的节点数组 + * @param { String } tagNames 需要匹配的标签名, 多个标签名之间用空格分割 + * @return { Node | NULL } 如果找到标签名匹配的节点, 则返回该节点, 否则返回NULL + * @example + * ```javascript + * var divNodes = document.getElementsByTagName("div"); + * divNodes = [].slice.call( divNodes, 0 ); + * + * //output: null + * console.log( UE.dom.domUtils.filterNodeList( divNodes, 'a span' ) ); + * ``` + */ + + /** + * 给定一个节点数组,在通过指定的过滤器过滤后, 如果参数forAll为true, 则会返回所有满足过滤 + * 条件的节点集合, 否则, 返回满足条件的节点集合中的第一个节点 + * @method filterNodeList + * @param { Array } nodeList 需要过滤的节点数组 + * @param { Function } fn 过滤器, 对符合条件的节点, 执行结果返回true, 反之则返回false + * @param { Boolean } forAll 是否返回整个节点数组, 如果该参数为false, 则返回节点集合中的第一个节点 + * @return { Array | Node | NULL } 如果找到符合过滤条件的节点, 则根据参数forAll的值决定返回满足 + * 过滤条件的节点数组或第一个节点, 否则返回NULL + * @example + * ```javascript + * var divNodes = document.getElementsByTagName("div"); + * divNodes = [].slice.call( divNodes, 0 ); + * + * //output: 3(假定有3个div) + * console.log( divNodes.length ); + * + * var nodes = UE.dom.domUtils.filterNodeList( divNodes, function ( node ) { + * return node.tagName.toLowerCase() === 'div'; + * }, true ); + * + * //output: 3 + * console.log( nodes.length ); + * + * var node = UE.dom.domUtils.filterNodeList( divNodes, function ( node ) { + * return node.tagName.toLowerCase() === 'div'; + * }, false ); + * + * //output: div + * console.log( node.nodeName ); + * ``` + */ + filterNodeList : function(nodelist,filter,forAll){ + var results = []; + if(!utils .isFunction(filter)){ + var str = filter; + filter = function(n){ + return utils.indexOf(utils.isArray(str) ? str:str.split(' '), n.tagName.toLowerCase()) != -1 + }; + } + utils.each(nodelist,function(n){ + filter(n) && results.push(n) + }); + return results.length == 0 ? null : results.length == 1 || !forAll ? results[0] : results + }, + + /** + * 查询给定的range选区是否在给定的node节点内,且在该节点的最末尾 + * @method isInNodeEndBoundary + * @param { UE.dom.Range } rng 需要判断的range对象, 该对象的startContainer不能为NULL + * @param node 需要检测的节点对象 + * @return { Number } 如果给定的选取range对象是在node内部的最末端, 则返回1, 否则返回0 + */ + isInNodeEndBoundary : function (rng,node){ + var start = rng.startContainer; + if(start.nodeType == 3 && rng.startOffset != start.nodeValue.length){ + return 0; + } + if(start.nodeType == 1 && rng.startOffset != start.childNodes.length){ + return 0; + } + while(start !== node){ + if(start.nextSibling){ + return 0 + }; + start = start.parentNode; + } + return 1; + }, + isBoundaryNode : function (node,dir){ + var tmp; + while(!domUtils.isBody(node)){ + tmp = node; + node = node.parentNode; + if(tmp !== node[dir]){ + return false; + } + } + return true; + }, + fillHtml : browser.ie11below ? ' ' : '
      ' +}; +var fillCharReg = new RegExp(domUtils.fillChar, 'g'); + +// core/Range.js +/** + * Range封装 + * @file + * @module UE.dom + * @class Range + * @since 1.2.6.1 + */ + +/** + * dom操作封装 + * @unfile + * @module UE.dom + */ + +/** + * Range实现类,本类是UEditor底层核心类,封装不同浏览器之间的Range操作。 + * @unfile + * @module UE.dom + * @class Range + */ + + +(function () { + var guid = 0, + fillChar = domUtils.fillChar, + fillData; + + /** + * 更新range的collapse状态 + * @param {Range} range range对象 + */ + function updateCollapse(range) { + range.collapsed = + range.startContainer && range.endContainer && + range.startContainer === range.endContainer && + range.startOffset == range.endOffset; + } + + function selectOneNode(rng){ + return !rng.collapsed && rng.startContainer.nodeType == 1 && rng.startContainer === rng.endContainer && rng.endOffset - rng.startOffset == 1 + } + function setEndPoint(toStart, node, offset, range) { + //如果node是自闭合标签要处理 + if (node.nodeType == 1 && (dtd.$empty[node.tagName] || dtd.$nonChild[node.tagName])) { + offset = domUtils.getNodeIndex(node) + (toStart ? 0 : 1); + node = node.parentNode; + } + if (toStart) { + range.startContainer = node; + range.startOffset = offset; + if (!range.endContainer) { + range.collapse(true); + } + } else { + range.endContainer = node; + range.endOffset = offset; + if (!range.startContainer) { + range.collapse(false); + } + } + updateCollapse(range); + return range; + } + + function execContentsAction(range, action) { + //调整边界 + //range.includeBookmark(); + var start = range.startContainer, + end = range.endContainer, + startOffset = range.startOffset, + endOffset = range.endOffset, + doc = range.document, + frag = doc.createDocumentFragment(), + tmpStart, tmpEnd; + if (start.nodeType == 1) { + start = start.childNodes[startOffset] || (tmpStart = start.appendChild(doc.createTextNode(''))); + } + if (end.nodeType == 1) { + end = end.childNodes[endOffset] || (tmpEnd = end.appendChild(doc.createTextNode(''))); + } + if (start === end && start.nodeType == 3) { + frag.appendChild(doc.createTextNode(start.substringData(startOffset, endOffset - startOffset))); + //is not clone + if (action) { + start.deleteData(startOffset, endOffset - startOffset); + range.collapse(true); + } + return frag; + } + var current, currentLevel, clone = frag, + startParents = domUtils.findParents(start, true), endParents = domUtils.findParents(end, true); + for (var i = 0; startParents[i] == endParents[i];) { + i++; + } + for (var j = i, si; si = startParents[j]; j++) { + current = si.nextSibling; + if (si == start) { + if (!tmpStart) { + if (range.startContainer.nodeType == 3) { + clone.appendChild(doc.createTextNode(start.nodeValue.slice(startOffset))); + //is not clone + if (action) { + start.deleteData(startOffset, start.nodeValue.length - startOffset); + } + } else { + clone.appendChild(!action ? start.cloneNode(true) : start); + } + } + } else { + currentLevel = si.cloneNode(false); + clone.appendChild(currentLevel); + } + while (current) { + if (current === end || current === endParents[j]) { + break; + } + si = current.nextSibling; + clone.appendChild(!action ? current.cloneNode(true) : current); + current = si; + } + clone = currentLevel; + } + clone = frag; + if (!startParents[i]) { + clone.appendChild(startParents[i - 1].cloneNode(false)); + clone = clone.firstChild; + } + for (var j = i, ei; ei = endParents[j]; j++) { + current = ei.previousSibling; + if (ei == end) { + if (!tmpEnd && range.endContainer.nodeType == 3) { + clone.appendChild(doc.createTextNode(end.substringData(0, endOffset))); + //is not clone + if (action) { + end.deleteData(0, endOffset); + } + } + } else { + currentLevel = ei.cloneNode(false); + clone.appendChild(currentLevel); + } + //如果两端同级,右边第一次已经被开始做了 + if (j != i || !startParents[i]) { + while (current) { + if (current === start) { + break; + } + ei = current.previousSibling; + clone.insertBefore(!action ? current.cloneNode(true) : current, clone.firstChild); + current = ei; + } + } + clone = currentLevel; + } + if (action) { + range.setStartBefore(!endParents[i] ? endParents[i - 1] : !startParents[i] ? startParents[i - 1] : endParents[i]).collapse(true); + } + tmpStart && domUtils.remove(tmpStart); + tmpEnd && domUtils.remove(tmpEnd); + return frag; + } + + /** + * 创建一个跟document绑定的空的Range实例 + * @constructor + * @param { Document } document 新建的选区所属的文档对象 + */ + + /** + * @property { Node } startContainer 当前Range的开始边界的容器节点, 可以是一个元素节点或者是文本节点 + */ + + /** + * @property { Node } startOffset 当前Range的开始边界容器节点的偏移量, 如果是元素节点, + * 该值就是childNodes中的第几个节点, 如果是文本节点就是文本内容的第几个字符 + */ + + /** + * @property { Node } endContainer 当前Range的结束边界的容器节点, 可以是一个元素节点或者是文本节点 + */ + + /** + * @property { Node } endOffset 当前Range的结束边界容器节点的偏移量, 如果是元素节点, + * 该值就是childNodes中的第几个节点, 如果是文本节点就是文本内容的第几个字符 + */ + + /** + * @property { Boolean } collapsed 当前Range是否闭合 + * @default true + * @remind Range是闭合的时候, startContainer === endContainer && startOffset === endOffset + */ + + /** + * @property { Document } document 当前Range所属的Document对象 + * @remind 不同range的的document属性可以是不同的 + */ + var Range = dom.Range = function (document) { + var me = this; + me.startContainer = + me.startOffset = + me.endContainer = + me.endOffset = null; + me.document = document; + me.collapsed = true; + }; + + /** + * 删除fillData + * @param doc + * @param excludeNode + */ + function removeFillData(doc, excludeNode) { + try { + if (fillData && domUtils.inDoc(fillData, doc)) { + if (!fillData.nodeValue.replace(fillCharReg, '').length) { + var tmpNode = fillData.parentNode; + domUtils.remove(fillData); + while (tmpNode && domUtils.isEmptyInlineElement(tmpNode) && + //safari的contains有bug + (browser.safari ? !(domUtils.getPosition(tmpNode,excludeNode) & domUtils.POSITION_CONTAINS) : !tmpNode.contains(excludeNode)) + ) { + fillData = tmpNode.parentNode; + domUtils.remove(tmpNode); + tmpNode = fillData; + } + } else { + fillData.nodeValue = fillData.nodeValue.replace(fillCharReg, ''); + } + } + } catch (e) { + } + } + + /** + * @param node + * @param dir + */ + function mergeSibling(node, dir) { + var tmpNode; + node = node[dir]; + while (node && domUtils.isFillChar(node)) { + tmpNode = node[dir]; + domUtils.remove(node); + node = tmpNode; + } + } + + Range.prototype = { + + /** + * 克隆选区的内容到一个DocumentFragment里 + * @method cloneContents + * @return { DocumentFragment | NULL } 如果选区是闭合的将返回null, 否则, 返回包含所clone内容的DocumentFragment元素 + * @example + * ```html + * + * + * xx[xxx]x + * + * + * + * ``` + */ + cloneContents:function () { + return this.collapsed ? null : execContentsAction(this, 0); + }, + + /** + * 删除当前选区范围中的所有内容 + * @method deleteContents + * @remind 执行完该操作后, 当前Range对象变成了闭合状态 + * @return { UE.dom.Range } 当前操作的Range对象 + * @example + * ```html + * + * + * xx[xxx]x + * + * + * + * ``` + */ + deleteContents:function () { + var txt; + if (!this.collapsed) { + execContentsAction(this, 1); + } + if (browser.webkit) { + txt = this.startContainer; + if (txt.nodeType == 3 && !txt.nodeValue.length) { + this.setStartBefore(txt).collapse(true); + domUtils.remove(txt); + } + } + return this; + }, + + /** + * 将当前选区的内容提取到一个DocumentFragment里 + * @method extractContents + * @remind 执行该操作后, 选区将变成闭合状态 + * @warning 执行该操作后, 原来选区所选中的内容将从dom树上剥离出来 + * @return { DocumentFragment } 返回包含所提取内容的DocumentFragment对象 + * @example + * ```html + * + * + * xx[xxx]x + * + * + * + */ + extractContents:function () { + return this.collapsed ? null : execContentsAction(this, 2); + }, + + /** + * 设置Range的开始容器节点和偏移量 + * @method setStart + * @remind 如果给定的节点是元素节点,那么offset指的是其子元素中索引为offset的元素, + * 如果是文本节点,那么offset指的是其文本内容的第offset个字符 + * @remind 如果提供的容器节点是一个不能包含子元素的节点, 则该选区的开始容器将被设置 + * 为该节点的父节点, 此时, 其距离开始容器的偏移量也变成了该节点在其父节点 + * 中的索引 + * @param { Node } node 将被设为当前选区开始边界容器的节点对象 + * @param { int } offset 选区的开始位置偏移量 + * @return { UE.dom.Range } 当前range对象 + * @example + * ```html + * + * xxxxxxxxxxxxx[xxx] + * + * + * ``` + * @example + * ```html + * + * xxx[xx]x + * + * + * ``` + */ + setStart:function (node, offset) { + return setEndPoint(true, node, offset, this); + }, + + /** + * 设置Range的结束容器和偏移量 + * @method setEnd + * @param { Node } node 作为当前选区结束边界容器的节点对象 + * @param { int } offset 结束边界的偏移量 + * @see UE.dom.Range:setStart(Node,int) + * @return { UE.dom.Range } 当前range对象 + */ + setEnd:function (node, offset) { + return setEndPoint(false, node, offset, this); + }, + + /** + * 将Range开始位置设置到node节点之后 + * @method setStartAfter + * @remind 该操作将会把给定节点的父节点作为range的开始容器, 且偏移量是该节点在其父节点中的位置索引+1 + * @param { Node } node 选区的开始边界将紧接着该节点之后 + * @return { UE.dom.Range } 当前range对象 + * @example + * ```html + * + * xxxxxxx[xxxx] + * + * + * ``` + */ + setStartAfter:function (node) { + return this.setStart(node.parentNode, domUtils.getNodeIndex(node) + 1); + }, + + /** + * 将Range开始位置设置到node节点之前 + * @method setStartBefore + * @remind 该操作将会把给定节点的父节点作为range的开始容器, 且偏移量是该节点在其父节点中的位置索引 + * @param { Node } node 新的选区开始位置在该节点之前 + * @see UE.dom.Range:setStartAfter(Node) + * @return { UE.dom.Range } 当前range对象 + */ + setStartBefore:function (node) { + return this.setStart(node.parentNode, domUtils.getNodeIndex(node)); + }, + + /** + * 将Range结束位置设置到node节点之后 + * @method setEndAfter + * @remind 该操作将会把给定节点的父节点作为range的结束容器, 且偏移量是该节点在其父节点中的位置索引+1 + * @param { Node } node 目标节点 + * @see UE.dom.Range:setStartAfter(Node) + * @return { UE.dom.Range } 当前range对象 + * @example + * ```html + * + * [xxxxxxx]xxxx + * + * + * ``` + */ + setEndAfter:function (node) { + return this.setEnd(node.parentNode, domUtils.getNodeIndex(node) + 1); + }, + + /** + * 将Range结束位置设置到node节点之前 + * @method setEndBefore + * @remind 该操作将会把给定节点的父节点作为range的结束容器, 且偏移量是该节点在其父节点中的位置索引 + * @param { Node } node 目标节点 + * @see UE.dom.Range:setEndAfter(Node) + * @return { UE.dom.Range } 当前range对象 + */ + setEndBefore:function (node) { + return this.setEnd(node.parentNode, domUtils.getNodeIndex(node)); + }, + + /** + * 设置Range的开始位置到node节点内的第一个子节点之前 + * @method setStartAtFirst + * @remind 选区的开始容器将变成给定的节点, 且偏移量为0 + * @remind 如果给定的节点是元素节点, 则该节点必须是允许包含子节点的元素。 + * @param { Node } node 目标节点 + * @see UE.dom.Range:setStartBefore(Node) + * @return { UE.dom.Range } 当前range对象 + * @example + * ```html + * + * xxxxx[xx]xxxx + * + * + * ``` + */ + setStartAtFirst:function (node) { + return this.setStart(node, 0); + }, + + /** + * 设置Range的开始位置到node节点内的最后一个节点之后 + * @method setStartAtLast + * @remind 选区的开始容器将变成给定的节点, 且偏移量为该节点的子节点数 + * @remind 如果给定的节点是元素节点, 则该节点必须是允许包含子节点的元素。 + * @param { Node } node 目标节点 + * @see UE.dom.Range:setStartAtFirst(Node) + * @return { UE.dom.Range } 当前range对象 + */ + setStartAtLast:function (node) { + return this.setStart(node, node.nodeType == 3 ? node.nodeValue.length : node.childNodes.length); + }, + + /** + * 设置Range的结束位置到node节点内的第一个节点之前 + * @method setEndAtFirst + * @param { Node } node 目标节点 + * @remind 选区的结束容器将变成给定的节点, 且偏移量为0 + * @remind node必须是一个元素节点, 且必须是允许包含子节点的元素。 + * @see UE.dom.Range:setStartAtFirst(Node) + * @return { UE.dom.Range } 当前range对象 + */ + setEndAtFirst:function (node) { + return this.setEnd(node, 0); + }, + + /** + * 设置Range的结束位置到node节点内的最后一个节点之后 + * @method setEndAtLast + * @param { Node } node 目标节点 + * @remind 选区的结束容器将变成给定的节点, 且偏移量为该节点的子节点数量 + * @remind node必须是一个元素节点, 且必须是允许包含子节点的元素。 + * @see UE.dom.Range:setStartAtFirst(Node) + * @return { UE.dom.Range } 当前range对象 + */ + setEndAtLast:function (node) { + return this.setEnd(node, node.nodeType == 3 ? node.nodeValue.length : node.childNodes.length); + }, + + /** + * 选中给定节点 + * @method selectNode + * @remind 此时, 选区的开始容器和结束容器都是该节点的父节点, 其startOffset是该节点在父节点中的位置索引, + * 而endOffset为startOffset+1 + * @param { Node } node 需要选中的节点 + * @return { UE.dom.Range } 当前range对象,此时的range仅包含当前给定的节点对象 + * @example + * ```html + * + * xxxxx[xx]xxxx + * + * + * ``` + */ + selectNode:function (node) { + return this.setStartBefore(node).setEndAfter(node); + }, + + /** + * 选中给定节点内部的所有节点 + * @method selectNodeContents + * @remind 此时, 选区的开始容器和结束容器都是该节点, 其startOffset为0, + * 而endOffset是该节点的子节点数。 + * @param { Node } node 目标节点, 当前range将包含该节点内的所有节点 + * @return { UE.dom.Range } 当前range对象, 此时range仅包含给定节点的所有子节点 + * @example + * ```html + * + * xxxxx[xx]xxxx + * + * + * ``` + */ + selectNodeContents:function (node) { + return this.setStart(node, 0).setEndAtLast(node); + }, + + /** + * clone当前Range对象 + * @method cloneRange + * @remind 返回的range是一个全新的range对象, 其内部所有属性与当前被clone的range相同。 + * @return { UE.dom.Range } 当前range对象的一个副本 + */ + cloneRange:function () { + var me = this; + return new Range(me.document).setStart(me.startContainer, me.startOffset).setEnd(me.endContainer, me.endOffset); + + }, + + /** + * 向当前选区的结束处闭合选区 + * @method collapse + * @return { UE.dom.Range } 当前range对象 + * @example + * ```html + * + * xxxxx[xx]xxxx + * + * + * ``` + */ + + /** + * 闭合当前选区,根据给定的toStart参数项决定是向当前选区开始处闭合还是向结束处闭合, + * 如果toStart的值为true,则向开始位置闭合, 反之,向结束位置闭合。 + * @method collapse + * @param { Boolean } toStart 是否向选区开始处闭合 + * @return { UE.dom.Range } 当前range对象,此时range对象处于闭合状态 + * @see UE.dom.Range:collapse() + * @example + * ```html + * + * xxxxx[xx]xxxx + * + * + * ``` + */ + collapse:function (toStart) { + var me = this; + if (toStart) { + me.endContainer = me.startContainer; + me.endOffset = me.startOffset; + } else { + me.startContainer = me.endContainer; + me.startOffset = me.endOffset; + } + me.collapsed = true; + return me; + }, + + /** + * 调整range的开始位置和结束位置,使其"收缩"到最小的位置 + * @method shrinkBoundary + * @return { UE.dom.Range } 当前range对象 + * @example + * ```html + * xxxx[xxxxx] => xxxx[xxxxx] + * ``` + * + * @example + * ```html + * + * x[xx]xxx + * + * + * ``` + * + * @example + * ```html + * [xxxxxxxxxxx] => [xxxxxxxxxxx] + * ``` + */ + + /** + * 调整range的开始位置和结束位置,使其"收缩"到最小的位置, + * 如果ignoreEnd的值为true,则忽略对结束位置的调整 + * @method shrinkBoundary + * @param { Boolean } ignoreEnd 是否忽略对结束位置的调整 + * @return { UE.dom.Range } 当前range对象 + * @see UE.dom.domUtils.Range:shrinkBoundary() + */ + shrinkBoundary:function (ignoreEnd) { + var me = this, child, + collapsed = me.collapsed; + function check(node){ + return node.nodeType == 1 && !domUtils.isBookmarkNode(node) && !dtd.$empty[node.tagName] && !dtd.$nonChild[node.tagName] + } + while (me.startContainer.nodeType == 1 //是element + && (child = me.startContainer.childNodes[me.startOffset]) //子节点也是element + && check(child)) { + me.setStart(child, 0); + } + if (collapsed) { + return me.collapse(true); + } + if (!ignoreEnd) { + while (me.endContainer.nodeType == 1//是element + && me.endOffset > 0 //如果是空元素就退出 endOffset=0那么endOffst-1为负值,childNodes[endOffset]报错 + && (child = me.endContainer.childNodes[me.endOffset - 1]) //子节点也是element + && check(child)) { + me.setEnd(child, child.childNodes.length); + } + } + return me; + }, + + /** + * 获取离当前选区内包含的所有节点最近的公共祖先节点, + * @method getCommonAncestor + * @remind 返回的公共祖先节点一定不是range自身的容器节点, 但有可能是一个文本节点 + * @return { Node } 当前range对象内所有节点的公共祖先节点 + * @example + * ```html + * //选区示例 + * xxxx[xxx]xxxxxx + * + * ``` + */ + + /** + * 获取当前选区所包含的所有节点的公共祖先节点, 可以根据给定的参数 includeSelf 决定获取到 + * 的公共祖先节点是否可以是当前选区的startContainer或endContainer节点, 如果 includeSelf + * 的取值为true, 则返回的节点可以是自身的容器节点, 否则, 则不能是容器节点 + * @method getCommonAncestor + * @param { Boolean } includeSelf 是否允许获取到的公共祖先节点是当前range对象的容器节点 + * @return { Node } 当前range对象内所有节点的公共祖先节点 + * @see UE.dom.Range:getCommonAncestor() + * @example + * ```html + * + * + * + * xxxxxxxxx[xxx]xxxxxxxx + * + * + * + * + * ``` + */ + + /** + * 获取当前选区所包含的所有节点的公共祖先节点, 可以根据给定的参数 includeSelf 决定获取到 + * 的公共祖先节点是否可以是当前选区的startContainer或endContainer节点, 如果 includeSelf + * 的取值为true, 则返回的节点可以是自身的容器节点, 否则, 则不能是容器节点; 同时可以根据 + * ignoreTextNode 参数的取值决定是否忽略类型为文本节点的祖先节点。 + * @method getCommonAncestor + * @param { Boolean } includeSelf 是否允许获取到的公共祖先节点是当前range对象的容器节点 + * @param { Boolean } ignoreTextNode 获取祖先节点的过程中是否忽略类型为文本节点的祖先节点 + * @return { Node } 当前range对象内所有节点的公共祖先节点 + * @see UE.dom.Range:getCommonAncestor() + * @see UE.dom.Range:getCommonAncestor(Boolean) + * @example + * ```html + * + * + * + * xxxxxxxx[x]xxxxxxxxxxx + * + * + * + * + * ``` + */ + getCommonAncestor:function (includeSelf, ignoreTextNode) { + var me = this, + start = me.startContainer, + end = me.endContainer; + if (start === end) { + if (includeSelf && selectOneNode(this)) { + start = start.childNodes[me.startOffset]; + if(start.nodeType == 1) + return start; + } + //只有在上来就相等的情况下才会出现是文本的情况 + return ignoreTextNode && start.nodeType == 3 ? start.parentNode : start; + } + return domUtils.getCommonAncestor(start, end); + }, + + /** + * 调整当前Range的开始和结束边界容器,如果是容器节点是文本节点,就调整到包含该文本节点的父节点上 + * @method trimBoundary + * @remind 该操作有可能会引起文本节点被切开 + * @return { UE.dom.Range } 当前range对象 + * @example + * ```html + * + * //选区示例 + * xxx[xxxxx]xxx + * + * + * ``` + */ + + /** + * 调整当前Range的开始和结束边界容器,如果是容器节点是文本节点,就调整到包含该文本节点的父节点上, + * 可以根据 ignoreEnd 参数的值决定是否调整对结束边界的调整 + * @method trimBoundary + * @param { Boolean } ignoreEnd 是否忽略对结束边界的调整 + * @return { UE.dom.Range } 当前range对象 + * @example + * ```html + * + * //选区示例 + * xxx[xxxxx]xxx + * + * + * ``` + */ + trimBoundary:function (ignoreEnd) { + this.txtToElmBoundary(); + var start = this.startContainer, + offset = this.startOffset, + collapsed = this.collapsed, + end = this.endContainer; + if (start.nodeType == 3) { + if (offset == 0) { + this.setStartBefore(start); + } else { + if (offset >= start.nodeValue.length) { + this.setStartAfter(start); + } else { + var textNode = domUtils.split(start, offset); + //跟新结束边界 + if (start === end) { + this.setEnd(textNode, this.endOffset - offset); + } else if (start.parentNode === end) { + this.endOffset += 1; + } + this.setStartBefore(textNode); + } + } + if (collapsed) { + return this.collapse(true); + } + } + if (!ignoreEnd) { + offset = this.endOffset; + end = this.endContainer; + if (end.nodeType == 3) { + if (offset == 0) { + this.setEndBefore(end); + } else { + offset < end.nodeValue.length && domUtils.split(end, offset); + this.setEndAfter(end); + } + } + } + return this; + }, + + /** + * 如果选区在文本的边界上,就扩展选区到文本的父节点上, 如果当前选区是闭合的, 则什么也不做 + * @method txtToElmBoundary + * @remind 该操作不会修改dom节点 + * @return { UE.dom.Range } 当前range对象 + */ + + /** + * 如果选区在文本的边界上,就扩展选区到文本的父节点上, 如果当前选区是闭合的, 则根据参数项 + * ignoreCollapsed 的值决定是否执行该调整 + * @method txtToElmBoundary + * @param { Boolean } ignoreCollapsed 是否忽略选区的闭合状态, 如果该参数取值为true, 则 + * 不论选区是否闭合, 都会执行该操作, 反之, 则不会对闭合的选区执行该操作 + * @return { UE.dom.Range } 当前range对象 + */ + txtToElmBoundary:function (ignoreCollapsed) { + function adjust(r, c) { + var container = r[c + 'Container'], + offset = r[c + 'Offset']; + if (container.nodeType == 3) { + if (!offset) { + r['set' + c.replace(/(\w)/, function (a) { + return a.toUpperCase(); + }) + 'Before'](container); + } else if (offset >= container.nodeValue.length) { + r['set' + c.replace(/(\w)/, function (a) { + return a.toUpperCase(); + }) + 'After' ](container); + } + } + } + + if (ignoreCollapsed || !this.collapsed) { + adjust(this, 'start'); + adjust(this, 'end'); + } + return this; + }, + + /** + * 在当前选区的开始位置前插入节点,新插入的节点会被该range包含 + * @method insertNode + * @param { Node } node 需要插入的节点 + * @remind 插入的节点可以是一个DocumentFragment依次插入多个节点 + * @return { UE.dom.Range } 当前range对象 + */ + insertNode:function (node) { + var first = node, length = 1; + if (node.nodeType == 11) { + first = node.firstChild; + length = node.childNodes.length; + } + this.trimBoundary(true); + var start = this.startContainer, + offset = this.startOffset; + var nextNode = start.childNodes[ offset ]; + if (nextNode) { + start.insertBefore(node, nextNode); + } else { + start.appendChild(node); + } + if (first.parentNode === this.endContainer) { + this.endOffset = this.endOffset + length; + } + return this.setStartBefore(first); + }, + + /** + * 闭合选区到当前选区的开始位置, 并且定位光标到闭合后的位置 + * @method setCursor + * @return { UE.dom.Range } 当前range对象 + * @see UE.dom.Range:collapse() + */ + + /** + * 闭合选区,可以根据参数toEnd的值控制选区是向前闭合还是向后闭合, 并且定位光标到闭合后的位置。 + * @method setCursor + * @param { Boolean } toEnd 是否向后闭合, 如果为true, 则闭合选区时, 将向结束容器方向闭合, + * 反之,则向开始容器方向闭合 + * @return { UE.dom.Range } 当前range对象 + * @see UE.dom.Range:collapse(Boolean) + */ + setCursor:function (toEnd, noFillData) { + return this.collapse(!toEnd).select(noFillData); + }, + + /** + * 创建当前range的一个书签,记录下当前range的位置,方便当dom树改变时,还能找回原来的选区位置 + * @method createBookmark + * @param { Boolean } serialize 控制返回的标记位置是对当前位置的引用还是ID,如果该值为true,则 + * 返回标记位置的ID, 反之则返回标记位置节点的引用 + * @return { Object } 返回一个书签记录键值对, 其包含的key有: start => 开始标记的ID或者引用, + * end => 结束标记的ID或引用, id => 当前标记的类型, 如果为true,则表示 + * 返回的记录的类型为ID, 反之则为引用 + */ + createBookmark:function (serialize, same) { + var endNode, + startNode = this.document.createElement('span'); + startNode.style.cssText = 'display:none;line-height:0px;'; + startNode.appendChild(this.document.createTextNode('\u200D')); + startNode.id = '_baidu_bookmark_start_' + (same ? '' : guid++); + + if (!this.collapsed) { + endNode = startNode.cloneNode(true); + endNode.id = '_baidu_bookmark_end_' + (same ? '' : guid++); + } + this.insertNode(startNode); + if (endNode) { + this.collapse().insertNode(endNode).setEndBefore(endNode); + } + this.setStartAfter(startNode); + return { + start:serialize ? startNode.id : startNode, + end:endNode ? serialize ? endNode.id : endNode : null, + id:serialize + } + }, + + /** + * 调整当前range的边界到书签位置,并删除该书签对象所标记的位置内的节点 + * @method moveToBookmark + * @param { BookMark } bookmark createBookmark所创建的标签对象 + * @return { UE.dom.Range } 当前range对象 + * @see UE.dom.Range:createBookmark(Boolean) + */ + moveToBookmark:function (bookmark) { + var start = bookmark.id ? this.document.getElementById(bookmark.start) : bookmark.start, + end = bookmark.end && bookmark.id ? this.document.getElementById(bookmark.end) : bookmark.end; + this.setStartBefore(start); + domUtils.remove(start); + if (end) { + this.setEndBefore(end); + domUtils.remove(end); + } else { + this.collapse(true); + } + return this; + }, + + /** + * 调整range的边界,使其"放大"到最近的父节点 + * @method enlarge + * @remind 会引起选区的变化 + * @return { UE.dom.Range } 当前range对象 + */ + + /** + * 调整range的边界,使其"放大"到最近的父节点,根据参数 toBlock 的取值, 可以 + * 要求扩大之后的父节点是block节点 + * @method enlarge + * @param { Boolean } toBlock 是否要求扩大之后的父节点必须是block节点 + * @return { UE.dom.Range } 当前range对象 + */ + enlarge:function (toBlock, stopFn) { + var isBody = domUtils.isBody, + pre, node, tmp = this.document.createTextNode(''); + if (toBlock) { + node = this.startContainer; + if (node.nodeType == 1) { + if (node.childNodes[this.startOffset]) { + pre = node = node.childNodes[this.startOffset] + } else { + node.appendChild(tmp); + pre = node = tmp; + } + } else { + pre = node; + } + while (1) { + if (domUtils.isBlockElm(node)) { + node = pre; + while ((pre = node.previousSibling) && !domUtils.isBlockElm(pre)) { + node = pre; + } + this.setStartBefore(node); + break; + } + pre = node; + node = node.parentNode; + } + node = this.endContainer; + if (node.nodeType == 1) { + if (pre = node.childNodes[this.endOffset]) { + node.insertBefore(tmp, pre); + } else { + node.appendChild(tmp); + } + pre = node = tmp; + } else { + pre = node; + } + while (1) { + if (domUtils.isBlockElm(node)) { + node = pre; + while ((pre = node.nextSibling) && !domUtils.isBlockElm(pre)) { + node = pre; + } + this.setEndAfter(node); + break; + } + pre = node; + node = node.parentNode; + } + if (tmp.parentNode === this.endContainer) { + this.endOffset--; + } + domUtils.remove(tmp); + } + + // 扩展边界到最大 + if (!this.collapsed) { + while (this.startOffset == 0) { + if (stopFn && stopFn(this.startContainer)) { + break; + } + if (isBody(this.startContainer)) { + break; + } + this.setStartBefore(this.startContainer); + } + while (this.endOffset == (this.endContainer.nodeType == 1 ? this.endContainer.childNodes.length : this.endContainer.nodeValue.length)) { + if (stopFn && stopFn(this.endContainer)) { + break; + } + if (isBody(this.endContainer)) { + break; + } + this.setEndAfter(this.endContainer); + } + } + return this; + }, + enlargeToBlockElm:function(ignoreEnd){ + while(!domUtils.isBlockElm(this.startContainer)){ + this.setStartBefore(this.startContainer); + } + if(!ignoreEnd){ + while(!domUtils.isBlockElm(this.endContainer)){ + this.setEndAfter(this.endContainer); + } + } + return this; + }, + /** + * 调整Range的边界,使其"缩小"到最合适的位置 + * @method adjustmentBoundary + * @return { UE.dom.Range } 当前range对象 + * @see UE.dom.Range:shrinkBoundary() + */ + adjustmentBoundary:function () { + if (!this.collapsed) { + while (!domUtils.isBody(this.startContainer) && + this.startOffset == this.startContainer[this.startContainer.nodeType == 3 ? 'nodeValue' : 'childNodes'].length && + this.startContainer[this.startContainer.nodeType == 3 ? 'nodeValue' : 'childNodes'].length + ) { + + this.setStartAfter(this.startContainer); + } + while (!domUtils.isBody(this.endContainer) && !this.endOffset && + this.endContainer[this.endContainer.nodeType == 3 ? 'nodeValue' : 'childNodes'].length + ) { + this.setEndBefore(this.endContainer); + } + } + return this; + }, + + /** + * 给range选区中的内容添加给定的inline标签 + * @method applyInlineStyle + * @param { String } tagName 需要添加的标签名 + * @example + * ```html + *

      xxxx[xxxx]x

      ==> range.applyInlineStyle("strong") ==>

      xxxx[xxxx]x

      + * ``` + */ + + /** + * 给range选区中的内容添加给定的inline标签, 并且为标签附加上一些初始化属性。 + * @method applyInlineStyle + * @param { String } tagName 需要添加的标签名 + * @param { Object } attrs 跟随新添加的标签的属性 + * @return { UE.dom.Range } 当前选区 + * @example + * ```html + *

      xxxx[xxxx]x

      + * + * ==> + * + * + * range.applyInlineStyle("strong",{"style":"font-size:12px"}) + * + * ==> + * + *

      xxxx[xxxx]x

      + * ``` + */ + applyInlineStyle:function (tagName, attrs, list) { + if (this.collapsed)return this; + this.trimBoundary().enlarge(false, + function (node) { + return node.nodeType == 1 && domUtils.isBlockElm(node) + }).adjustmentBoundary(); + var bookmark = this.createBookmark(), + end = bookmark.end, + filterFn = function (node) { + return node.nodeType == 1 ? node.tagName.toLowerCase() != 'br' : !domUtils.isWhitespace(node); + }, + current = domUtils.getNextDomNode(bookmark.start, false, filterFn), + node, + pre, + range = this.cloneRange(); + while (current && (domUtils.getPosition(current, end) & domUtils.POSITION_PRECEDING)) { + if (current.nodeType == 3 || dtd[tagName][current.tagName]) { + range.setStartBefore(current); + node = current; + while (node && (node.nodeType == 3 || dtd[tagName][node.tagName]) && node !== end) { + pre = node; + node = domUtils.getNextDomNode(node, node.nodeType == 1, null, function (parent) { + return dtd[tagName][parent.tagName]; + }); + } + var frag = range.setEndAfter(pre).extractContents(), elm; + if (list && list.length > 0) { + var level, top; + top = level = list[0].cloneNode(false); + for (var i = 1, ci; ci = list[i++];) { + level.appendChild(ci.cloneNode(false)); + level = level.firstChild; + } + elm = level; + } else { + elm = range.document.createElement(tagName); + } + if (attrs) { + domUtils.setAttributes(elm, attrs); + } + elm.appendChild(frag); + range.insertNode(list ? top : elm); + //处理下滑线在a上的情况 + var aNode; + if (tagName == 'span' && attrs.style && /text\-decoration/.test(attrs.style) && (aNode = domUtils.findParentByTagName(elm, 'a', true))) { + domUtils.setAttributes(aNode, attrs); + domUtils.remove(elm, true); + elm = aNode; + } else { + domUtils.mergeSibling(elm); + domUtils.clearEmptySibling(elm); + } + //去除子节点相同的 + domUtils.mergeChild(elm, attrs); + current = domUtils.getNextDomNode(elm, false, filterFn); + domUtils.mergeToParent(elm); + if (node === end) { + break; + } + } else { + current = domUtils.getNextDomNode(current, true, filterFn); + } + } + return this.moveToBookmark(bookmark); + }, + + /** + * 移除当前选区内指定的inline标签,但保留其中的内容 + * @method removeInlineStyle + * @param { String } tagName 需要移除的标签名 + * @return { UE.dom.Range } 当前的range对象 + * @example + * ```html + * xx[xxxxyyyzz]z => range.removeInlineStyle(["em"]) => xx[xxxxyyyzz]z + * ``` + */ + + /** + * 移除当前选区内指定的一组inline标签,但保留其中的内容 + * @method removeInlineStyle + * @param { Array } tagNameArr 需要移除的标签名的数组 + * @return { UE.dom.Range } 当前的range对象 + * @see UE.dom.Range:removeInlineStyle(String) + */ + removeInlineStyle:function (tagNames) { + if (this.collapsed)return this; + tagNames = utils.isArray(tagNames) ? tagNames : [tagNames]; + this.shrinkBoundary().adjustmentBoundary(); + var start = this.startContainer, end = this.endContainer; + while (1) { + if (start.nodeType == 1) { + if (utils.indexOf(tagNames, start.tagName.toLowerCase()) > -1) { + break; + } + if (start.tagName.toLowerCase() == 'body') { + start = null; + break; + } + } + start = start.parentNode; + } + while (1) { + if (end.nodeType == 1) { + if (utils.indexOf(tagNames, end.tagName.toLowerCase()) > -1) { + break; + } + if (end.tagName.toLowerCase() == 'body') { + end = null; + break; + } + } + end = end.parentNode; + } + var bookmark = this.createBookmark(), + frag, + tmpRange; + if (start) { + tmpRange = this.cloneRange().setEndBefore(bookmark.start).setStartBefore(start); + frag = tmpRange.extractContents(); + tmpRange.insertNode(frag); + domUtils.clearEmptySibling(start, true); + start.parentNode.insertBefore(bookmark.start, start); + } + if (end) { + tmpRange = this.cloneRange().setStartAfter(bookmark.end).setEndAfter(end); + frag = tmpRange.extractContents(); + tmpRange.insertNode(frag); + domUtils.clearEmptySibling(end, false, true); + end.parentNode.insertBefore(bookmark.end, end.nextSibling); + } + var current = domUtils.getNextDomNode(bookmark.start, false, function (node) { + return node.nodeType == 1; + }), next; + while (current && current !== bookmark.end) { + next = domUtils.getNextDomNode(current, true, function (node) { + return node.nodeType == 1; + }); + if (utils.indexOf(tagNames, current.tagName.toLowerCase()) > -1) { + domUtils.remove(current, true); + } + current = next; + } + return this.moveToBookmark(bookmark); + }, + + /** + * 获取当前选中的自闭合的节点 + * @method getClosedNode + * @return { Node | NULL } 如果当前选中的是自闭合节点, 则返回该节点, 否则返回NULL + */ + getClosedNode:function () { + var node; + if (!this.collapsed) { + var range = this.cloneRange().adjustmentBoundary().shrinkBoundary(); + if (selectOneNode(range)) { + var child = range.startContainer.childNodes[range.startOffset]; + if (child && child.nodeType == 1 && (dtd.$empty[child.tagName] || dtd.$nonChild[child.tagName])) { + node = child; + } + } + } + return node; + }, + + /** + * 在页面上高亮range所表示的选区 + * @method select + * @return { UE.dom.Range } 返回当前Range对象 + */ + //这里不区分ie9以上,trace:3824 + select:browser.ie ? function (noFillData, textRange) { + var nativeRange; + if (!this.collapsed) + this.shrinkBoundary(); + var node = this.getClosedNode(); + if (node && !textRange) { + try { + nativeRange = this.document.body.createControlRange(); + nativeRange.addElement(node); + nativeRange.select(); + } catch (e) {} + return this; + } + var bookmark = this.createBookmark(), + start = bookmark.start, + end; + nativeRange = this.document.body.createTextRange(); + nativeRange.moveToElementText(start); + nativeRange.moveStart('character', 1); + if (!this.collapsed) { + var nativeRangeEnd = this.document.body.createTextRange(); + end = bookmark.end; + nativeRangeEnd.moveToElementText(end); + nativeRange.setEndPoint('EndToEnd', nativeRangeEnd); + } else { + if (!noFillData && this.startContainer.nodeType != 3) { + //使用|x固定住光标 + var tmpText = this.document.createTextNode(fillChar), + tmp = this.document.createElement('span'); + tmp.appendChild(this.document.createTextNode(fillChar)); + start.parentNode.insertBefore(tmp, start); + start.parentNode.insertBefore(tmpText, start); + //当点b,i,u时,不能清除i上边的b + removeFillData(this.document, tmpText); + fillData = tmpText; + mergeSibling(tmp, 'previousSibling'); + mergeSibling(start, 'nextSibling'); + nativeRange.moveStart('character', -1); + nativeRange.collapse(true); + } + } + this.moveToBookmark(bookmark); + tmp && domUtils.remove(tmp); + //IE在隐藏状态下不支持range操作,catch一下 + try { + nativeRange.select(); + } catch (e) { + } + return this; + } : function (notInsertFillData) { + function checkOffset(rng){ + + function check(node,offset,dir){ + if(node.nodeType == 3 && node.nodeValue.length < offset){ + rng[dir + 'Offset'] = node.nodeValue.length + } + } + check(rng.startContainer,rng.startOffset,'start'); + check(rng.endContainer,rng.endOffset,'end'); + } + var win = domUtils.getWindow(this.document), + sel = win.getSelection(), + txtNode; + //FF下关闭自动长高时滚动条在关闭dialog时会跳 + //ff下如果不body.focus将不能定位闭合光标到编辑器内 + browser.gecko ? this.document.body.focus() : win.focus(); + if (sel) { + sel.removeAllRanges(); + // trace:870 chrome/safari后边是br对于闭合得range不能定位 所以去掉了判断 + // this.startContainer.nodeType != 3 &&! ((child = this.startContainer.childNodes[this.startOffset]) && child.nodeType == 1 && child.tagName == 'BR' + if (this.collapsed && !notInsertFillData) { +// //opear如果没有节点接着,原生的不能够定位,不能在body的第一级插入空白节点 +// if (notInsertFillData && browser.opera && !domUtils.isBody(this.startContainer) && this.startContainer.nodeType == 1) { +// var tmp = this.document.createTextNode(''); +// this.insertNode(tmp).setStart(tmp, 0).collapse(true); +// } +// + //处理光标落在文本节点的情况 + //处理以下的情况 + //|xxxx + //xxxx|xxxx + //xxxx| + var start = this.startContainer,child = start; + if(start.nodeType == 1){ + child = start.childNodes[this.startOffset]; + + } + if( !(start.nodeType == 3 && this.startOffset) && + (child ? + (!child.previousSibling || child.previousSibling.nodeType != 3) + : + (!start.lastChild || start.lastChild.nodeType != 3) + ) + ){ + txtNode = this.document.createTextNode(fillChar); + //跟着前边走 + this.insertNode(txtNode); + removeFillData(this.document, txtNode); + mergeSibling(txtNode, 'previousSibling'); + mergeSibling(txtNode, 'nextSibling'); + fillData = txtNode; + this.setStart(txtNode, browser.webkit ? 1 : 0).collapse(true); + } + } + var nativeRange = this.document.createRange(); + if(this.collapsed && browser.opera && this.startContainer.nodeType == 1){ + var child = this.startContainer.childNodes[this.startOffset]; + if(!child){ + //往前靠拢 + child = this.startContainer.lastChild; + if( child && domUtils.isBr(child)){ + this.setStartBefore(child).collapse(true); + } + }else{ + //向后靠拢 + while(child && domUtils.isBlockElm(child)){ + if(child.nodeType == 1 && child.childNodes[0]){ + child = child.childNodes[0] + }else{ + break; + } + } + child && this.setStartBefore(child).collapse(true) + } + + } + //是createAddress最后一位算的不准,现在这里进行微调 + checkOffset(this); + nativeRange.setStart(this.startContainer, this.startOffset); + nativeRange.setEnd(this.endContainer, this.endOffset); + sel.addRange(nativeRange); + } + return this; + }, + + /** + * 滚动到当前range开始的位置 + * @method scrollToView + * @param { Window } win 当前range对象所属的window对象 + * @return { UE.dom.Range } 当前Range对象 + */ + + /** + * 滚动到距离当前range开始位置 offset 的位置处 + * @method scrollToView + * @param { Window } win 当前range对象所属的window对象 + * @param { Number } offset 距离range开始位置处的偏移量, 如果为正数, 则向下偏移, 反之, 则向上偏移 + * @return { UE.dom.Range } 当前Range对象 + */ + scrollToView:function (win, offset) { + win = win ? window : domUtils.getWindow(this.document); + var me = this, + span = me.document.createElement('span'); + //trace:717 + span.innerHTML = ' '; + me.cloneRange().insertNode(span); + domUtils.scrollToView(span, win, offset); + domUtils.remove(span); + return me; + }, + + /** + * 判断当前选区内容是否占位符 + * @private + * @method inFillChar + * @return { Boolean } 如果是占位符返回true,否则返回false + */ + inFillChar : function(){ + var start = this.startContainer; + if(this.collapsed && start.nodeType == 3 + && start.nodeValue.replace(new RegExp('^' + domUtils.fillChar),'').length + 1 == start.nodeValue.length + ){ + return true; + } + return false; + }, + + /** + * 保存 + * @method createAddress + * @private + * @return { Boolean } 返回开始和结束的位置 + * @example + * ```html + * + *

      + * aaaa + * + * + * bbbb + * + * + *

      + * + * + * + * ``` + */ + createAddress : function(ignoreEnd,ignoreTxt){ + var addr = {},me = this; + + function getAddress(isStart){ + var node = isStart ? me.startContainer : me.endContainer; + var parents = domUtils.findParents(node,true,function(node){return !domUtils.isBody(node)}), + addrs = []; + for(var i = 0,ci;ci = parents[i++];){ + addrs.push(domUtils.getNodeIndex(ci,ignoreTxt)); + } + var firstIndex = 0; + + if(ignoreTxt){ + if(node.nodeType == 3){ + var tmpNode = node.previousSibling; + while(tmpNode && tmpNode.nodeType == 3){ + firstIndex += tmpNode.nodeValue.replace(fillCharReg,'').length; + tmpNode = tmpNode.previousSibling; + } + firstIndex += (isStart ? me.startOffset : me.endOffset)// - (fillCharReg.test(node.nodeValue) ? 1 : 0 ) + }else{ + node = node.childNodes[ isStart ? me.startOffset : me.endOffset]; + if(node){ + firstIndex = domUtils.getNodeIndex(node,ignoreTxt); + }else{ + node = isStart ? me.startContainer : me.endContainer; + var first = node.firstChild; + while(first){ + if(domUtils.isFillChar(first)){ + first = first.nextSibling; + continue; + } + firstIndex++; + if(first.nodeType == 3){ + while( first && first.nodeType == 3){ + first = first.nextSibling; + } + }else{ + first = first.nextSibling; + } + } + } + } + + }else{ + firstIndex = isStart ? domUtils.isFillChar(node) ? 0 : me.startOffset : me.endOffset + } + if(firstIndex < 0){ + firstIndex = 0; + } + addrs.push(firstIndex); + return addrs; + } + addr.startAddress = getAddress(true); + if(!ignoreEnd){ + addr.endAddress = me.collapsed ? [].concat(addr.startAddress) : getAddress(); + } + return addr; + }, + + /** + * 保存 + * @method createAddress + * @private + * @return { Boolean } 返回开始和结束的位置 + * @example + * ```html + * + *

      + * aaaa + * + * + * bbbb + * + * + *

      + * + * + * + * ``` + */ + moveToAddress : function(addr,ignoreEnd){ + var me = this; + function getNode(address,isStart){ + var tmpNode = me.document.body, + parentNode,offset; + for(var i= 0,ci,l=address.length;i + * + * + * + * + * + * + * + * + * ``` + */ + + /** + * 遍历range内的节点。 + * 每当遍历一个节点时, 都会执行参数项 doFn 指定的函数, 该函数的接受当前遍历的节点 + * 作为其参数。 + * 可以通过参数项 filterFn 来指定一个过滤器, 只有符合该过滤器过滤规则的节点才会触 + * 发doFn函数的执行 + * @method traversal + * @param { Function } doFn 对每个遍历的节点要执行的方法, 该方法接受当前遍历的节点作为其参数 + * @param { Function } filterFn 过滤器, 该函数接受当前遍历的节点作为参数, 如果该节点满足过滤 + * 规则, 请返回true, 该节点会触发doFn, 否则, 请返回false, 则该节点不 + * 会触发doFn。 + * @return { UE.dom.Range } 当前range对象 + * @see UE.dom.Range:traversal(Function) + * @example + * ```html + * + * + * + * + * + * + * + * + * + * + * ``` + */ + traversal:function(doFn,filterFn){ + if (this.collapsed) + return this; + var bookmark = this.createBookmark(), + end = bookmark.end, + current = domUtils.getNextDomNode(bookmark.start, false, filterFn); + while (current && current !== end && (domUtils.getPosition(current, end) & domUtils.POSITION_PRECEDING)) { + var tmpNode = domUtils.getNextDomNode(current,false,filterFn); + doFn(current); + current = tmpNode; + } + return this.moveToBookmark(bookmark); + } + }; +})(); + +// core/Selection.js +/** + * 选集 + * @file + * @module UE.dom + * @class Selection + * @since 1.2.6.1 + */ + +/** + * 选区集合 + * @unfile + * @module UE.dom + * @class Selection + */ +(function () { + + function getBoundaryInformation( range, start ) { + var getIndex = domUtils.getNodeIndex; + range = range.duplicate(); + range.collapse( start ); + var parent = range.parentElement(); + //如果节点里没有子节点,直接退出 + if ( !parent.hasChildNodes() ) { + return {container:parent, offset:0}; + } + var siblings = parent.children, + child, + testRange = range.duplicate(), + startIndex = 0, endIndex = siblings.length - 1, index = -1, + distance; + while ( startIndex <= endIndex ) { + index = Math.floor( (startIndex + endIndex) / 2 ); + child = siblings[index]; + testRange.moveToElementText( child ); + var position = testRange.compareEndPoints( 'StartToStart', range ); + if ( position > 0 ) { + endIndex = index - 1; + } else if ( position < 0 ) { + startIndex = index + 1; + } else { + //trace:1043 + return {container:parent, offset:getIndex( child )}; + } + } + if ( index == -1 ) { + testRange.moveToElementText( parent ); + testRange.setEndPoint( 'StartToStart', range ); + distance = testRange.text.replace( /(\r\n|\r)/g, '\n' ).length; + siblings = parent.childNodes; + if ( !distance ) { + child = siblings[siblings.length - 1]; + return {container:child, offset:child.nodeValue.length}; + } + + var i = siblings.length; + while ( distance > 0 ){ + distance -= siblings[ --i ].nodeValue.length; + } + return {container:siblings[i], offset:-distance}; + } + testRange.collapse( position > 0 ); + testRange.setEndPoint( position > 0 ? 'StartToStart' : 'EndToStart', range ); + distance = testRange.text.replace( /(\r\n|\r)/g, '\n' ).length; + if ( !distance ) { + return dtd.$empty[child.tagName] || dtd.$nonChild[child.tagName] ? + {container:parent, offset:getIndex( child ) + (position > 0 ? 0 : 1)} : + {container:child, offset:position > 0 ? 0 : child.childNodes.length} + } + while ( distance > 0 ) { + try { + var pre = child; + child = child[position > 0 ? 'previousSibling' : 'nextSibling']; + distance -= child.nodeValue.length; + } catch ( e ) { + return {container:parent, offset:getIndex( pre )}; + } + } + return {container:child, offset:position > 0 ? -distance : child.nodeValue.length + distance} + } + + /** + * 将ieRange转换为Range对象 + * @param {Range} ieRange ieRange对象 + * @param {Range} range Range对象 + * @return {Range} range 返回转换后的Range对象 + */ + function transformIERangeToRange( ieRange, range ) { + if ( ieRange.item ) { + range.selectNode( ieRange.item( 0 ) ); + } else { + var bi = getBoundaryInformation( ieRange, true ); + range.setStart( bi.container, bi.offset ); + if ( ieRange.compareEndPoints( 'StartToEnd', ieRange ) != 0 ) { + bi = getBoundaryInformation( ieRange, false ); + range.setEnd( bi.container, bi.offset ); + } + } + return range; + } + + /** + * 获得ieRange + * @param {Selection} sel Selection对象 + * @return {ieRange} 得到ieRange + */ + function _getIERange( sel ) { + var ieRange; + //ie下有可能报错 + try { + ieRange = sel.getNative().createRange(); + } catch ( e ) { + return null; + } + var el = ieRange.item ? ieRange.item( 0 ) : ieRange.parentElement(); + if ( ( el.ownerDocument || el ) === sel.document ) { + return ieRange; + } + return null; + } + + var Selection = dom.Selection = function ( doc ) { + var me = this, iframe; + me.document = doc; + if ( browser.ie9below ) { + iframe = domUtils.getWindow( doc ).frameElement; + domUtils.on( iframe, 'beforedeactivate', function () { + me._bakIERange = me.getIERange(); + } ); + domUtils.on( iframe, 'activate', function () { + try { + if ( !_getIERange( me ) && me._bakIERange ) { + me._bakIERange.select(); + } + } catch ( ex ) { + } + me._bakIERange = null; + } ); + } + iframe = doc = null; + }; + + Selection.prototype = { + + rangeInBody : function(rng,txtRange){ + var node = browser.ie9below || txtRange ? rng.item ? rng.item() : rng.parentElement() : rng.startContainer; + + return node === this.document.body || domUtils.inDoc(node,this.document); + }, + + /** + * 获取原生seleciton对象 + * @method getNative + * @return { Object } 获得selection对象 + * @example + * ```javascript + * editor.selection.getNative(); + * ``` + */ + getNative:function () { + var doc = this.document; + try { + return !doc ? null : browser.ie9below ? doc.selection : domUtils.getWindow( doc ).getSelection(); + } catch ( e ) { + return null; + } + }, + + /** + * 获得ieRange + * @method getIERange + * @return { Object } 返回ie原生的Range + * @example + * ```javascript + * editor.selection.getIERange(); + * ``` + */ + getIERange:function () { + var ieRange = _getIERange( this ); + if ( !ieRange ) { + if ( this._bakIERange ) { + return this._bakIERange; + } + } + return ieRange; + }, + + /** + * 缓存当前选区的range和选区的开始节点 + * @method cache + */ + cache:function () { + this.clear(); + this._cachedRange = this.getRange(); + this._cachedStartElement = this.getStart(); + this._cachedStartElementPath = this.getStartElementPath(); + }, + + /** + * 获取选区开始位置的父节点到body + * @method getStartElementPath + * @return { Array } 返回父节点集合 + * @example + * ```javascript + * editor.selection.getStartElementPath(); + * ``` + */ + getStartElementPath:function () { + if ( this._cachedStartElementPath ) { + return this._cachedStartElementPath; + } + var start = this.getStart(); + if ( start ) { + return domUtils.findParents( start, true, null, true ) + } + return []; + }, + + /** + * 清空缓存 + * @method clear + */ + clear:function () { + this._cachedStartElementPath = this._cachedRange = this._cachedStartElement = null; + }, + + /** + * 编辑器是否得到了选区 + * @method isFocus + */ + isFocus:function () { + try { + if(browser.ie9below){ + + var nativeRange = _getIERange(this); + return !!(nativeRange && this.rangeInBody(nativeRange)); + }else{ + return !!this.getNative().rangeCount; + } + } catch ( e ) { + return false; + } + + }, + + /** + * 获取选区对应的Range + * @method getRange + * @return { Object } 得到Range对象 + * @example + * ```javascript + * editor.selection.getRange(); + * ``` + */ + getRange:function () { + var me = this; + function optimze( range ) { + var child = me.document.body.firstChild, + collapsed = range.collapsed; + while ( child && child.firstChild ) { + range.setStart( child, 0 ); + child = child.firstChild; + } + if ( !range.startContainer ) { + range.setStart( me.document.body, 0 ) + } + if ( collapsed ) { + range.collapse( true ); + } + } + + if ( me._cachedRange != null ) { + return this._cachedRange; + } + var range = new baidu.editor.dom.Range( me.document ); + + if ( browser.ie9below ) { + var nativeRange = me.getIERange(); + if ( nativeRange ) { + //备份的_bakIERange可能已经实效了,dom树发生了变化比如从源码模式切回来,所以try一下,实效就放到body开始位置 + try{ + transformIERangeToRange( nativeRange, range ); + }catch(e){ + optimze( range ); + } + + } else { + optimze( range ); + } + } else { + var sel = me.getNative(); + if ( sel && sel.rangeCount ) { + var firstRange = sel.getRangeAt( 0 ); + var lastRange = sel.getRangeAt( sel.rangeCount - 1 ); + range.setStart( firstRange.startContainer, firstRange.startOffset ).setEnd( lastRange.endContainer, lastRange.endOffset ); + if ( range.collapsed && domUtils.isBody( range.startContainer ) && !range.startOffset ) { + optimze( range ); + } + } else { + //trace:1734 有可能已经不在dom树上了,标识的节点 + if ( this._bakRange && domUtils.inDoc( this._bakRange.startContainer, this.document ) ){ + return this._bakRange; + } + optimze( range ); + } + } + return this._bakRange = range; + }, + + /** + * 获取开始元素,用于状态反射 + * @method getStart + * @return { Element } 获得开始元素 + * @example + * ```javascript + * editor.selection.getStart(); + * ``` + */ + getStart:function () { + if ( this._cachedStartElement ) { + return this._cachedStartElement; + } + var range = browser.ie9below ? this.getIERange() : this.getRange(), + tmpRange, + start, tmp, parent; + if ( browser.ie9below ) { + if ( !range ) { + //todo 给第一个值可能会有问题 + return this.document.body.firstChild; + } + //control元素 + if ( range.item ){ + return range.item( 0 ); + } + tmpRange = range.duplicate(); + //修正ie下x[xx] 闭合后 x|xx + tmpRange.text.length > 0 && tmpRange.moveStart( 'character', 1 ); + tmpRange.collapse( 1 ); + start = tmpRange.parentElement(); + parent = tmp = range.parentElement(); + while ( tmp = tmp.parentNode ) { + if ( tmp == start ) { + start = parent; + break; + } + } + } else { + range.shrinkBoundary(); + start = range.startContainer; + if ( start.nodeType == 1 && start.hasChildNodes() ){ + start = start.childNodes[Math.min( start.childNodes.length - 1, range.startOffset )]; + } + if ( start.nodeType == 3 ){ + return start.parentNode; + } + } + return start; + }, + + /** + * 得到选区中的文本 + * @method getText + * @return { String } 选区中包含的文本 + * @example + * ```javascript + * editor.selection.getText(); + * ``` + */ + getText:function () { + var nativeSel, nativeRange; + if ( this.isFocus() && (nativeSel = this.getNative()) ) { + nativeRange = browser.ie9below ? nativeSel.createRange() : nativeSel.getRangeAt( 0 ); + return browser.ie9below ? nativeRange.text : nativeRange.toString(); + } + return ''; + }, + + /** + * 清除选区 + * @method clearRange + * @example + * ```javascript + * editor.selection.clearRange(); + * ``` + */ + clearRange : function(){ + this.getNative()[browser.ie9below ? 'empty' : 'removeAllRanges'](); + } + }; +})(); + +// core/Editor.js +/** + * 编辑器主类,包含编辑器提供的大部分公用接口 + * @file + * @module UE + * @class Editor + * @since 1.2.6.1 + */ + +/** + * UEditor公用空间,UEditor所有的功能都挂载在该空间下 + * @unfile + * @module UE + */ + +/** + * UEditor的核心类,为用户提供与编辑器交互的接口。 + * @unfile + * @module UE + * @class Editor + */ + +(function () { + var uid = 0, _selectionChangeTimer; + + /** + * 获取编辑器的html内容,赋值到编辑器所在表单的textarea文本域里面 + * @private + * @method setValue + * @param { UE.Editor } editor 编辑器事例 + */ + function setValue(form, editor) { + var textarea; + if (editor.textarea) { + if (utils.isString(editor.textarea)) { + for (var i = 0, ti, tis = domUtils.getElementsByTagName(form, 'textarea'); ti = tis[i++];) { + if (ti.id == 'ueditor_textarea_' + editor.options.textarea) { + textarea = ti; + break; + } + } + } else { + textarea = editor.textarea; + } + } + if (!textarea) { + form.appendChild(textarea = domUtils.createElement(document, 'textarea', { + 'name': editor.options.textarea, + 'id': 'ueditor_textarea_' + editor.options.textarea, + 'style': "display:none" + })); + //不要产生多个textarea + editor.textarea = textarea; + } + !textarea.getAttribute('name') && textarea.setAttribute('name', editor.options.textarea ); + textarea.value = editor.hasContents() ? + (editor.options.allHtmlEnabled ? editor.getAllHtml() : editor.getContent(null, null, true)) : + '' + } + function loadPlugins(me){ + //初始化插件 + for (var pi in UE.plugins) { + UE.plugins[pi].call(me); + } + + } + function checkCurLang(I18N){ + for(var lang in I18N){ + return lang + } + } + + function langReadied(me){ + me.langIsReady = true; + + me.fireEvent("langReady"); + } + + /** + * 编辑器准备就绪后会触发该事件 + * @module UE + * @class Editor + * @event ready + * @remind render方法执行完成之后,会触发该事件 + * @remind + * @example + * ```javascript + * editor.addListener( 'ready', function( editor ) { + * editor.execCommand( 'focus' ); //编辑器家在完成后,让编辑器拿到焦点 + * } ); + * ``` + */ + /** + * 执行destroy方法,会触发该事件 + * @module UE + * @class Editor + * @event destroy + * @see UE.Editor:destroy() + */ + /** + * 执行reset方法,会触发该事件 + * @module UE + * @class Editor + * @event reset + * @see UE.Editor:reset() + */ + /** + * 执行focus方法,会触发该事件 + * @module UE + * @class Editor + * @event focus + * @see UE.Editor:focus(Boolean) + */ + /** + * 语言加载完成会触发该事件 + * @module UE + * @class Editor + * @event langReady + */ + /** + * 运行命令之后会触发该命令 + * @module UE + * @class Editor + * @event beforeExecCommand + */ + /** + * 运行命令之后会触发该命令 + * @module UE + * @class Editor + * @event afterExecCommand + */ + /** + * 运行命令之前会触发该命令 + * @module UE + * @class Editor + * @event firstBeforeExecCommand + */ + /** + * 在getContent方法执行之前会触发该事件 + * @module UE + * @class Editor + * @event beforeGetContent + * @see UE.Editor:getContent() + */ + /** + * 在getContent方法执行之后会触发该事件 + * @module UE + * @class Editor + * @event afterGetContent + * @see UE.Editor:getContent() + */ + /** + * 在getAllHtml方法执行时会触发该事件 + * @module UE + * @class Editor + * @event getAllHtml + * @see UE.Editor:getAllHtml() + */ + /** + * 在setContent方法执行之前会触发该事件 + * @module UE + * @class Editor + * @event beforeSetContent + * @see UE.Editor:setContent(String) + */ + /** + * 在setContent方法执行之后会触发该事件 + * @module UE + * @class Editor + * @event afterSetContent + * @see UE.Editor:setContent(String) + */ + /** + * 每当编辑器内部选区发生改变时,将触发该事件 + * @event selectionchange + * @warning 该事件的触发非常频繁,不建议在该事件的处理过程中做重量级的处理 + * @example + * ```javascript + * editor.addListener( 'selectionchange', function( editor ) { + * console.log('选区发生改变'); + * } + */ + /** + * 在所有selectionchange的监听函数执行之前,会触发该事件 + * @module UE + * @class Editor + * @event beforeSelectionChange + * @see UE.Editor:selectionchange + */ + /** + * 在所有selectionchange的监听函数执行完之后,会触发该事件 + * @module UE + * @class Editor + * @event afterSelectionChange + * @see UE.Editor:selectionchange + */ + /** + * 编辑器内容发生改变时会触发该事件 + * @module UE + * @class Editor + * @event contentChange + */ + + + /** + * 以默认参数构建一个编辑器实例 + * @constructor + * @remind 通过 改构造方法实例化的编辑器,不带ui层.需要render到一个容器,编辑器实例才能正常渲染到页面 + * @example + * ```javascript + * var editor = new UE.Editor(); + * editor.execCommand('blod'); + * ``` + * @see UE.Config + */ + + /** + * 以给定的参数集合创建一个编辑器实例,对于未指定的参数,将应用默认参数。 + * @constructor + * @remind 通过 改构造方法实例化的编辑器,不带ui层.需要render到一个容器,编辑器实例才能正常渲染到页面 + * @param { Object } setting 创建编辑器的参数 + * @example + * ```javascript + * var editor = new UE.Editor(); + * editor.execCommand('blod'); + * ``` + * @see UE.Config + */ + var Editor = UE.Editor = function (options) { + var me = this; + me.uid = uid++; + EventBase.call(me); + me.commands = {}; + me.options = utils.extend(utils.clone(options || {}), UEDITOR_CONFIG, true); + me.shortcutkeys = {}; + me.inputRules = []; + me.outputRules = []; + //设置默认的常用属性 + me.setOpt(Editor.defaultOptions(me)); + + /* 尝试异步加载后台配置 */ + me.loadServerConfig(); + + if(!utils.isEmptyObject(UE.I18N)){ + //修改默认的语言类型 + me.options.lang = checkCurLang(UE.I18N); + UE.plugin.load(me); + langReadied(me); + + }else{ + utils.loadFile(document, { + src: me.options.langPath + me.options.lang + "/" + me.options.lang + ".js", + tag: "script", + type: "text/javascript", + defer: "defer" + }, function () { + UE.plugin.load(me); + langReadied(me); + }); + } + + UE.instants['ueditorInstant' + me.uid] = me; + }; + Editor.prototype = { + registerCommand : function(name,obj){ + this.commands[name] = obj; + }, + /** + * 编辑器对外提供的监听ready事件的接口, 通过调用该方法,达到的效果与监听ready事件是一致的 + * @method ready + * @param { Function } fn 编辑器ready之后所执行的回调, 如果在注册事件之前编辑器已经ready,将会 + * 立即触发该回调。 + * @remind 需要等待编辑器加载完成后才能执行的代码,可以使用该方法传入 + * @example + * ```javascript + * editor.ready( function( editor ) { + * editor.setContent('初始化完毕'); + * } ); + * ``` + * @see UE.Editor.event:ready + */ + ready: function (fn) { + var me = this; + if (fn) { + me.isReady ? fn.apply(me) : me.addListener('ready', fn); + } + }, + + /** + * 该方法是提供给插件里面使用,设置配置项默认值 + * @method setOpt + * @warning 三处设置配置项的优先级: 实例化时传入参数 > setOpt()设置 > config文件里设置 + * @warning 该方法仅供编辑器插件内部和编辑器初始化时调用,其他地方不能调用。 + * @param { String } key 编辑器的可接受的选项名称 + * @param { * } val 该选项可接受的值 + * @example + * ```javascript + * editor.setOpt( 'initContent', '欢迎使用编辑器' ); + * ``` + */ + + /** + * 该方法是提供给插件里面使用,以{key:value}集合的方式设置插件内用到的配置项默认值 + * @method setOpt + * @warning 三处设置配置项的优先级: 实例化时传入参数 > setOpt()设置 > config文件里设置 + * @warning 该方法仅供编辑器插件内部和编辑器初始化时调用,其他地方不能调用。 + * @param { Object } options 将要设置的选项的键值对对象 + * @example + * ```javascript + * editor.setOpt( { + * 'initContent': '欢迎使用编辑器' + * } ); + * ``` + */ + setOpt: function (key, val) { + var obj = {}; + if (utils.isString(key)) { + obj[key] = val + } else { + obj = key; + } + utils.extend(this.options, obj, true); + }, + getOpt:function(key){ + return this.options[key] + }, + /** + * 销毁编辑器实例,使用textarea代替 + * @method destroy + * @example + * ```javascript + * editor.destroy(); + * ``` + */ + destroy: function () { + + var me = this; + me.fireEvent('destroy'); + var container = me.container.parentNode; + var textarea = me.textarea; + if (!textarea) { + textarea = document.createElement('textarea'); + container.parentNode.insertBefore(textarea, container); + } else { + textarea.style.display = '' + } + + textarea.style.width = me.iframe.offsetWidth + 'px'; + textarea.style.height = me.iframe.offsetHeight + 'px'; + textarea.value = me.getContent(); + textarea.id = me.key; + container.innerHTML = ''; + domUtils.remove(container); + var key = me.key; + //trace:2004 + for (var p in me) { + if (me.hasOwnProperty(p)) { + delete this[p]; + } + } + UE.delEditor(key); + }, + + /** + * 渲染编辑器的DOM到指定容器 + * @method render + * @param { String } containerId 指定一个容器ID + * @remind 执行该方法,会触发ready事件 + * @warning 必须且只能调用一次 + */ + + /** + * 渲染编辑器的DOM到指定容器 + * @method render + * @param { Element } containerDom 直接指定容器对象 + * @remind 执行该方法,会触发ready事件 + * @warning 必须且只能调用一次 + */ + render: function (container) { + var me = this, + options = me.options, + getStyleValue=function(attr){ + return parseInt(domUtils.getComputedStyle(container,attr)); + }; + if (utils.isString(container)) { + container = document.getElementById(container); + } + if (container) { + if(options.initialFrameWidth){ + options.minFrameWidth = options.initialFrameWidth + }else{ + options.minFrameWidth = options.initialFrameWidth = container.offsetWidth; + } + if(options.initialFrameHeight){ + options.minFrameHeight = options.initialFrameHeight + }else{ + options.initialFrameHeight = options.minFrameHeight = container.offsetHeight; + } + + container.style.width = /%$/.test(options.initialFrameWidth) ? '100%' : options.initialFrameWidth- + getStyleValue("padding-left")- getStyleValue("padding-right") +'px'; + container.style.height = /%$/.test(options.initialFrameHeight) ? '100%' : options.initialFrameHeight - + getStyleValue("padding-top")- getStyleValue("padding-bottom") +'px'; + + container.style.zIndex = options.zIndex; + + var html = ( ie && browser.version < 9 ? '' : '') + + '' + + '' + + ( options.iframeCssUrl ? '' : '' ) + + (options.initialStyle ? '' : '') + + '' + + ''; + container.appendChild(domUtils.createElement(document, 'iframe', { + id: 'ueditor_' + me.uid, + width: "100%", + height: "100%", + frameborder: "0", + //先注释掉了,加的原因忘记了,但开启会直接导致全屏模式下内容多时不会出现滚动条 +// scrolling :'no', + src: 'javascript:void(function(){document.open();' + (options.customDomain && document.domain != location.hostname ? 'document.domain="' + document.domain + '";' : '') + + 'document.write("' + html + '");document.close();}())' + })); + container.style.overflow = 'hidden'; + //解决如果是给定的百分比,会导致高度算不对的问题 + setTimeout(function(){ + if( /%$/.test(options.initialFrameWidth)){ + options.minFrameWidth = options.initialFrameWidth = container.offsetWidth; + //如果这里给定宽度,会导致ie在拖动窗口大小时,编辑区域不随着变化 +// container.style.width = options.initialFrameWidth + 'px'; + } + if(/%$/.test(options.initialFrameHeight)){ + options.minFrameHeight = options.initialFrameHeight = container.offsetHeight; + container.style.height = options.initialFrameHeight + 'px'; + } + }) + } + }, + + /** + * 编辑器初始化 + * @method _setup + * @private + * @param { Element } doc 编辑器Iframe中的文档对象 + */ + _setup: function (doc) { + + var me = this, + options = me.options; + if (ie) { + doc.body.disabled = true; + doc.body.contentEditable = true; + doc.body.disabled = false; + } else { + doc.body.contentEditable = true; + } + doc.body.spellcheck = false; + me.document = doc; + me.window = doc.defaultView || doc.parentWindow; + me.iframe = me.window.frameElement; + me.body = doc.body; + me.selection = new dom.Selection(doc); + //gecko初始化就能得到range,无法判断isFocus了 + var geckoSel; + if (browser.gecko && (geckoSel = this.selection.getNative())) { + geckoSel.removeAllRanges(); + } + this._initEvents(); + //为form提交提供一个隐藏的textarea + for (var form = this.iframe.parentNode; !domUtils.isBody(form); form = form.parentNode) { + if (form.tagName == 'FORM') { + me.form = form; + if(me.options.autoSyncData){ + domUtils.on(me.window,'blur',function(){ + setValue(form,me); + }); + }else{ + domUtils.on(form, 'submit', function () { + setValue(this, me); + }); + } + break; + } + } + if (options.initialContent) { + if (options.autoClearinitialContent) { + var oldExecCommand = me.execCommand; + me.execCommand = function () { + me.fireEvent('firstBeforeExecCommand'); + return oldExecCommand.apply(me, arguments); + }; + this._setDefaultContent(options.initialContent); + } else + this.setContent(options.initialContent, false, true); + } + + //编辑器不能为空内容 + + if (domUtils.isEmptyNode(me.body)) { + me.body.innerHTML = '

      ' + (browser.ie ? '' : '
      ') + '

      '; + } + //如果要求focus, 就把光标定位到内容开始 + if (options.focus) { + setTimeout(function () { + me.focus(me.options.focusInEnd); + //如果自动清除开着,就不需要做selectionchange; + !me.options.autoClearinitialContent && me._selectionChange(); + }, 0); + } + if (!me.container) { + me.container = this.iframe.parentNode; + } + if (options.fullscreen && me.ui) { + me.ui.setFullScreen(true); + } + + try { + me.document.execCommand('2D-position', false, false); + } catch (e) { + } + try { + me.document.execCommand('enableInlineTableEditing', false, false); + } catch (e) { + } + try { + me.document.execCommand('enableObjectResizing', false, false); + } catch (e) { + } + + //挂接快捷键 + me._bindshortcutKeys(); + me.isReady = 1; + me.fireEvent('ready'); + options.onready && options.onready.call(me); + if (!browser.ie9below) { + domUtils.on(me.window, ['blur', 'focus'], function (e) { + //chrome下会出现alt+tab切换时,导致选区位置不对 + if (e.type == 'blur') { + me._bakRange = me.selection.getRange(); + try { + me._bakNativeRange = me.selection.getNative().getRangeAt(0); + me.selection.getNative().removeAllRanges(); + } catch (e) { + me._bakNativeRange = null; + } + + } else { + try { + me._bakRange && me._bakRange.select(); + } catch (e) { + } + } + }); + } + //trace:1518 ff3.6body不够寛,会导致点击空白处无法获得焦点 + if (browser.gecko && browser.version <= 10902) { + //修复ff3.6初始化进来,不能点击获得焦点 + me.body.contentEditable = false; + setTimeout(function () { + me.body.contentEditable = true; + }, 100); + setInterval(function () { + me.body.style.height = me.iframe.offsetHeight - 20 + 'px' + }, 100) + } + + !options.isShow && me.setHide(); + options.readonly && me.setDisabled(); + }, + + /** + * 同步数据到编辑器所在的form + * 从编辑器的容器节点向上查找form元素,若找到,就同步编辑内容到找到的form里,为提交数据做准备,主要用于是手动提交的情况 + * 后台取得数据的键值,使用你容器上的name属性,如果没有就使用参数里的textarea项 + * @method sync + * @example + * ```javascript + * editor.sync(); + * form.sumbit(); //form变量已经指向了form元素 + * ``` + */ + + /** + * 根据传入的formId,在页面上查找要同步数据的表单,若找到,就同步编辑内容到找到的form里,为提交数据做准备 + * 后台取得数据的键值,该键值默认使用给定的编辑器容器的name属性,如果没有name属性则使用参数项里给定的“textarea”项 + * @method sync + * @param { String } formID 指定一个要同步数据的form的id,编辑器的数据会同步到你指定form下 + */ + sync: function (formId) { + var me = this, + form = formId ? document.getElementById(formId) : + domUtils.findParent(me.iframe.parentNode, function (node) { + return node.tagName == 'FORM' + }, true); + form && setValue(form, me); + }, + + /** + * 设置编辑器高度 + * @method setHeight + * @remind 当配置项autoHeightEnabled为真时,该方法无效 + * @param { Number } number 设置的高度值,纯数值,不带单位 + * @example + * ```javascript + * editor.setHeight(number); + * ``` + */ + setHeight: function (height,notSetHeight) { + if (height !== parseInt(this.iframe.parentNode.style.height)) { + this.iframe.parentNode.style.height = height + 'px'; + } + !notSetHeight && (this.options.minFrameHeight = this.options.initialFrameHeight = height); + this.body.style.height = height + 'px'; + !notSetHeight && this.trigger('setHeight') + }, + + /** + * 为编辑器的编辑命令提供快捷键 + * 这个接口是为插件扩展提供的接口,主要是为新添加的插件,如果需要添加快捷键,所提供的接口 + * @method addshortcutkey + * @param { Object } keyset 命令名和快捷键键值对对象,多个按钮的快捷键用“+”分隔 + * @example + * ```javascript + * editor.addshortcutkey({ + * "Bold" : "ctrl+66",//^B + * "Italic" : "ctrl+73", //^I + * }); + * ``` + */ + /** + * 这个接口是为插件扩展提供的接口,主要是为新添加的插件,如果需要添加快捷键,所提供的接口 + * @method addshortcutkey + * @param { String } cmd 触发快捷键时,响应的命令 + * @param { String } keys 快捷键的字符串,多个按钮用“+”分隔 + * @example + * ```javascript + * editor.addshortcutkey("Underline", "ctrl+85"); //^U + * ``` + */ + addshortcutkey: function (cmd, keys) { + var obj = {}; + if (keys) { + obj[cmd] = keys + } else { + obj = cmd; + } + utils.extend(this.shortcutkeys, obj) + }, + + /** + * 对编辑器设置keydown事件监听,绑定快捷键和命令,当快捷键组合触发成功,会响应对应的命令 + * @method _bindshortcutKeys + * @private + */ + _bindshortcutKeys: function () { + var me = this, shortcutkeys = this.shortcutkeys; + me.addListener('keydown', function (type, e) { + var keyCode = e.keyCode || e.which; + for (var i in shortcutkeys) { + var tmp = shortcutkeys[i].split(','); + for (var t = 0, ti; ti = tmp[t++];) { + ti = ti.split(':'); + var key = ti[0], param = ti[1]; + if (/^(ctrl)(\+shift)?\+(\d+)$/.test(key.toLowerCase()) || /^(\d+)$/.test(key)) { + if (( (RegExp.$1 == 'ctrl' ? (e.ctrlKey || e.metaKey) : 0) + && (RegExp.$2 != "" ? e[RegExp.$2.slice(1) + "Key"] : 1) + && keyCode == RegExp.$3 + ) || + keyCode == RegExp.$1 + ) { + if (me.queryCommandState(i,param) != -1) + me.execCommand(i, param); + domUtils.preventDefault(e); + } + } + } + + } + }); + }, + + /** + * 获取编辑器的内容 + * @method getContent + * @warning 该方法获取到的是经过编辑器内置的过滤规则进行过滤后得到的内容 + * @return { String } 编辑器的内容字符串, 如果编辑器的内容为空,或者是空的标签内容(如:”<p><br/></p>“), 则返回空字符串 + * @example + * ```javascript + * //编辑器html内容:

      123456

      + * var content = editor.getContent(); //返回值:

      123456

      + * ``` + */ + + /** + * 获取编辑器的内容。 可以通过参数定义编辑器内置的判空规则 + * @method getContent + * @param { Function } fn 自定的判空规则, 要求该方法返回一个boolean类型的值, + * 代表当前编辑器的内容是否空, + * 如果返回true, 则该方法将直接返回空字符串;如果返回false,则编辑器将返回 + * 经过内置过滤规则处理后的内容。 + * @remind 该方法在处理包含有初始化内容的时候能起到很好的作用。 + * @warning 该方法获取到的是经过编辑器内置的过滤规则进行过滤后得到的内容 + * @return { String } 编辑器的内容字符串 + * @example + * ```javascript + * // editor 是一个编辑器的实例 + * var content = editor.getContent( function ( editor ) { + * return editor.body.innerHTML === '欢迎使用UEditor'; //返回空字符串 + * } ); + * ``` + */ + getContent: function (cmd, fn,notSetCursor,ignoreBlank,formatter) { + var me = this; + if (cmd && utils.isFunction(cmd)) { + fn = cmd; + cmd = ''; + } + if (fn ? !fn() : !this.hasContents()) { + return ''; + } + me.fireEvent('beforegetcontent'); + var root = UE.htmlparser(me.body.innerHTML,ignoreBlank); + me.filterOutputRule(root); + me.fireEvent('aftergetcontent', cmd,root); + return root.toHtml(formatter); + }, + + /** + * 取得完整的html代码,可以直接显示成完整的html文档 + * @method getAllHtml + * @return { String } 编辑器的内容html文档字符串 + * @eaxmple + * ```javascript + * editor.getAllHtml(); //返回格式大致是: ...... + * ``` + */ + getAllHtml: function () { + var me = this, + headHtml = [], + html = ''; + me.fireEvent('getAllHtml', headHtml); + if (browser.ie && browser.version > 8) { + var headHtmlForIE9 = ''; + utils.each(me.document.styleSheets, function (si) { + headHtmlForIE9 += ( si.href ? '' : ''); + }); + utils.each(me.document.getElementsByTagName('script'), function (si) { + headHtmlForIE9 += si.outerHTML; + }); + + } + return '' + (me.options.charset ? '' : '') + + (headHtmlForIE9 || me.document.getElementsByTagName('head')[0].innerHTML) + headHtml.join('\n') + '' + + '' + me.getContent(null, null, true) + ''; + }, + + /** + * 得到编辑器的纯文本内容,但会保留段落格式 + * @method getPlainTxt + * @return { String } 编辑器带段落格式的纯文本内容字符串 + * @example + * ```javascript + * //编辑器html内容:

      1

      2

      + * console.log(editor.getPlainTxt()); //输出:"1\n2\n + * ``` + */ + getPlainTxt: function () { + var reg = new RegExp(domUtils.fillChar, 'g'), + html = this.body.innerHTML.replace(/[\n\r]/g, '');//ie要先去了\n在处理 + html = html.replace(/<(p|div)[^>]*>(| )<\/\1>/gi, '\n') + .replace(//gi, '\n') + .replace(/<[^>/]+>/g, '') + .replace(/(\n)?<\/([^>]+)>/g, function (a, b, c) { + return dtd.$block[c] ? '\n' : b ? b : ''; + }); + //取出来的空格会有c2a0会变成乱码,处理这种情况\u00a0 + return html.replace(reg, '').replace(/\u00a0/g, ' ').replace(/ /g, ' '); + }, + + /** + * 获取编辑器中的纯文本内容,没有段落格式 + * @method getContentTxt + * @return { String } 编辑器不带段落格式的纯文本内容字符串 + * @example + * ```javascript + * //编辑器html内容:

      1

      2

      + * console.log(editor.getPlainTxt()); //输出:"12 + * ``` + */ + getContentTxt: function () { + var reg = new RegExp(domUtils.fillChar, 'g'); + //取出来的空格会有c2a0会变成乱码,处理这种情况\u00a0 + return this.body[browser.ie ? 'innerText' : 'textContent'].replace(reg, '').replace(/\u00a0/g, ' '); + }, + + /** + * 设置编辑器的内容,可修改编辑器当前的html内容 + * @method setContent + * @warning 通过该方法插入的内容,是经过编辑器内置的过滤规则进行过滤后得到的内容 + * @warning 该方法会触发selectionchange事件 + * @param { String } html 要插入的html内容 + * @example + * ```javascript + * editor.getContent('

      test

      '); + * ``` + */ + + /** + * 设置编辑器的内容,可修改编辑器当前的html内容 + * @method setContent + * @warning 通过该方法插入的内容,是经过编辑器内置的过滤规则进行过滤后得到的内容 + * @warning 该方法会触发selectionchange事件 + * @param { String } html 要插入的html内容 + * @param { Boolean } isAppendTo 若传入true,不清空原来的内容,在最后插入内容,否则,清空内容再插入 + * @example + * ```javascript + * //假设设置前的编辑器内容是

      old text

      + * editor.setContent('

      new text

      ', true); //插入的结果是

      old text

      new text

      + * ``` + */ + setContent: function (html, isAppendTo, notFireSelectionchange) { + var me = this; + + me.fireEvent('beforesetcontent', html); + var root = UE.htmlparser(html); + me.filterInputRule(root); + html = root.toHtml(); + + me.body.innerHTML = (isAppendTo ? me.body.innerHTML : '') + html; + + + function isCdataDiv(node){ + return node.tagName == 'DIV' && node.getAttribute('cdata_tag'); + } + //给文本或者inline节点套p标签 + if (me.options.enterTag == 'p') { + + var child = this.body.firstChild, tmpNode; + if (!child || child.nodeType == 1 && + (dtd.$cdata[child.tagName] || isCdataDiv(child) || + domUtils.isCustomeNode(child) + ) + && child === this.body.lastChild) { + this.body.innerHTML = '

      ' + (browser.ie ? ' ' : '
      ') + '

      ' + this.body.innerHTML; + + } else { + var p = me.document.createElement('p'); + while (child) { + while (child && (child.nodeType == 3 || child.nodeType == 1 && dtd.p[child.tagName] && !dtd.$cdata[child.tagName])) { + tmpNode = child.nextSibling; + p.appendChild(child); + child = tmpNode; + } + if (p.firstChild) { + if (!child) { + me.body.appendChild(p); + break; + } else { + child.parentNode.insertBefore(p, child); + p = me.document.createElement('p'); + } + } + child = child.nextSibling; + } + } + } + me.fireEvent('aftersetcontent'); + me.fireEvent('contentchange'); + + !notFireSelectionchange && me._selectionChange(); + //清除保存的选区 + me._bakRange = me._bakIERange = me._bakNativeRange = null; + //trace:1742 setContent后gecko能得到焦点问题 + var geckoSel; + if (browser.gecko && (geckoSel = this.selection.getNative())) { + geckoSel.removeAllRanges(); + } + if(me.options.autoSyncData){ + me.form && setValue(me.form,me); + } + }, + + /** + * 让编辑器获得焦点,默认focus到编辑器头部 + * @method focus + * @example + * ```javascript + * editor.focus() + * ``` + */ + + /** + * 让编辑器获得焦点,toEnd确定focus位置 + * @method focus + * @param { Boolean } toEnd 默认focus到编辑器头部,toEnd为true时focus到内容尾部 + * @example + * ```javascript + * editor.focus(true) + * ``` + */ + focus: function (toEnd) { + try { + var me = this, + rng = me.selection.getRange(); + if (toEnd) { + var node = me.body.lastChild; + if(node && node.nodeType == 1 && !dtd.$empty[node.tagName]){ + if(domUtils.isEmptyBlock(node)){ + rng.setStartAtFirst(node) + }else{ + rng.setStartAtLast(node) + } + rng.collapse(true); + } + rng.setCursor(true); + } else { + if(!rng.collapsed && domUtils.isBody(rng.startContainer) && rng.startOffset == 0){ + + var node = me.body.firstChild; + if(node && node.nodeType == 1 && !dtd.$empty[node.tagName]){ + rng.setStartAtFirst(node).collapse(true); + } + } + + rng.select(true); + + } + this.fireEvent('focus selectionchange'); + } catch (e) { + } + + }, + isFocus:function(){ + return this.selection.isFocus(); + }, + blur:function(){ + var sel = this.selection.getNative(); + if(sel.empty && browser.ie){ + var nativeRng = document.body.createTextRange(); + nativeRng.moveToElementText(document.body); + nativeRng.collapse(true); + nativeRng.select(); + sel.empty() + }else{ + sel.removeAllRanges() + } + + //this.fireEvent('blur selectionchange'); + }, + /** + * 初始化UE事件及部分事件代理 + * @method _initEvents + * @private + */ + _initEvents: function () { + var me = this, + doc = me.document, + win = me.window; + me._proxyDomEvent = utils.bind(me._proxyDomEvent, me); + domUtils.on(doc, ['click', 'contextmenu', 'mousedown', 'keydown', 'keyup', 'keypress', 'mouseup', 'mouseover', 'mouseout', 'selectstart'], me._proxyDomEvent); + domUtils.on(win, ['focus', 'blur'], me._proxyDomEvent); + domUtils.on(me.body,'drop',function(e){ + //阻止ff下默认的弹出新页面打开图片 + if(browser.gecko && e.stopPropagation) { e.stopPropagation(); } + me.fireEvent('contentchange') + }); + domUtils.on(doc, ['mouseup', 'keydown'], function (evt) { + //特殊键不触发selectionchange + if (evt.type == 'keydown' && (evt.ctrlKey || evt.metaKey || evt.shiftKey || evt.altKey)) { + return; + } + if (evt.button == 2)return; + me._selectionChange(250, evt); + }); + }, + /** + * 触发事件代理 + * @method _proxyDomEvent + * @private + * @return { * } fireEvent的返回值 + * @see UE.EventBase:fireEvent(String) + */ + _proxyDomEvent: function (evt) { + if(this.fireEvent('before' + evt.type.replace(/^on/, '').toLowerCase()) === false){ + return false; + } + if(this.fireEvent(evt.type.replace(/^on/, ''), evt) === false){ + return false; + } + return this.fireEvent('after' + evt.type.replace(/^on/, '').toLowerCase()) + }, + /** + * 变化选区 + * @method _selectionChange + * @private + */ + _selectionChange: function (delay, evt) { + var me = this; + //有光标才做selectionchange 为了解决未focus时点击source不能触发更改工具栏状态的问题(source命令notNeedUndo=1) +// if ( !me.selection.isFocus() ){ +// return; +// } + + + var hackForMouseUp = false; + var mouseX, mouseY; + if (browser.ie && browser.version < 9 && evt && evt.type == 'mouseup') { + var range = this.selection.getRange(); + if (!range.collapsed) { + hackForMouseUp = true; + mouseX = evt.clientX; + mouseY = evt.clientY; + } + } + clearTimeout(_selectionChangeTimer); + _selectionChangeTimer = setTimeout(function () { + if (!me.selection || !me.selection.getNative()) { + return; + } + //修复一个IE下的bug: 鼠标点击一段已选择的文本中间时,可能在mouseup后的一段时间内取到的range是在selection的type为None下的错误值. + //IE下如果用户是拖拽一段已选择文本,则不会触发mouseup事件,所以这里的特殊处理不会对其有影响 + var ieRange; + if (hackForMouseUp && me.selection.getNative().type == 'None') { + ieRange = me.document.body.createTextRange(); + try { + ieRange.moveToPoint(mouseX, mouseY); + } catch (ex) { + ieRange = null; + } + } + var bakGetIERange; + if (ieRange) { + bakGetIERange = me.selection.getIERange; + me.selection.getIERange = function () { + return ieRange; + }; + } + me.selection.cache(); + if (bakGetIERange) { + me.selection.getIERange = bakGetIERange; + } + if (me.selection._cachedRange && me.selection._cachedStartElement) { + me.fireEvent('beforeselectionchange'); + // 第二个参数causeByUi为true代表由用户交互造成的selectionchange. + me.fireEvent('selectionchange', !!evt); + me.fireEvent('afterselectionchange'); + me.selection.clear(); + } + }, delay || 50); + }, + + /** + * 执行编辑命令 + * @method _callCmdFn + * @private + * @param { String } fnName 函数名称 + * @param { * } args 传给命令函数的参数 + * @return { * } 返回命令函数运行的返回值 + */ + _callCmdFn: function (fnName, args) { + var cmdName = args[0].toLowerCase(), + cmd, cmdFn; + cmd = this.commands[cmdName] || UE.commands[cmdName]; + cmdFn = cmd && cmd[fnName]; + //没有querycommandstate或者没有command的都默认返回0 + if ((!cmd || !cmdFn) && fnName == 'queryCommandState') { + return 0; + } else if (cmdFn) { + return cmdFn.apply(this, args); + } + }, + + /** + * 执行编辑命令cmdName,完成富文本编辑效果 + * @method execCommand + * @param { String } cmdName 需要执行的命令 + * @remind 具体命令的使用请参考命令列表 + * @return { * } 返回命令函数运行的返回值 + * @example + * ```javascript + * editor.execCommand(cmdName); + * ``` + */ + execCommand: function (cmdName) { + cmdName = cmdName.toLowerCase(); + var me = this, + result, + cmd = me.commands[cmdName] || UE.commands[cmdName]; + if (!cmd || !cmd.execCommand) { + return null; + } + if (!cmd.notNeedUndo && !me.__hasEnterExecCommand) { + me.__hasEnterExecCommand = true; + if (me.queryCommandState.apply(me,arguments) != -1) { + me.fireEvent('saveScene'); + me.fireEvent.apply(me, ['beforeexeccommand', cmdName].concat(arguments)); + result = this._callCmdFn('execCommand', arguments); + //保存场景时,做了内容对比,再看是否进行contentchange触发,这里多触发了一次,去掉 +// (!cmd.ignoreContentChange && !me._ignoreContentChange) && me.fireEvent('contentchange'); + me.fireEvent.apply(me, ['afterexeccommand', cmdName].concat(arguments)); + me.fireEvent('saveScene'); + } + me.__hasEnterExecCommand = false; + } else { + result = this._callCmdFn('execCommand', arguments); + (!me.__hasEnterExecCommand && !cmd.ignoreContentChange && !me._ignoreContentChange) && me.fireEvent('contentchange') + } + (!me.__hasEnterExecCommand && !cmd.ignoreContentChange && !me._ignoreContentChange) && me._selectionChange(); + return result; + }, + + /** + * 根据传入的command命令,查选编辑器当前的选区,返回命令的状态 + * @method queryCommandState + * @param { String } cmdName 需要查询的命令名称 + * @remind 具体命令的使用请参考命令列表 + * @return { Number } number 返回放前命令的状态,返回值三种情况:(-1|0|1) + * @example + * ```javascript + * editor.queryCommandState(cmdName) => (-1|0|1) + * ``` + * @see COMMAND.LIST + */ + queryCommandState: function (cmdName) { + return this._callCmdFn('queryCommandState', arguments); + }, + + /** + * 根据传入的command命令,查选编辑器当前的选区,根据命令返回相关的值 + * @method queryCommandValue + * @param { String } cmdName 需要查询的命令名称 + * @remind 具体命令的使用请参考命令列表 + * @remind 只有部分插件有此方法 + * @return { * } 返回每个命令特定的当前状态值 + * @grammar editor.queryCommandValue(cmdName) => {*} + * @see COMMAND.LIST + */ + queryCommandValue: function (cmdName) { + return this._callCmdFn('queryCommandValue', arguments); + }, + + /** + * 检查编辑区域中是否有内容 + * @method hasContents + * @remind 默认有文本内容,或者有以下节点都不认为是空 + * table,ul,ol,dl,iframe,area,base,col,hr,img,embed,input,link,meta,param + * @return { Boolean } 检查有内容返回true,否则返回false + * @example + * ```javascript + * editor.hasContents() + * ``` + */ + + /** + * 检查编辑区域中是否有内容,若包含参数tags中的节点类型,直接返回true + * @method hasContents + * @param { Array } tags 传入数组判断时用到的节点类型 + * @return { Boolean } 若文档中包含tags数组里对应的tag,返回true,否则返回false + * @example + * ```javascript + * editor.hasContents(['span']); + * ``` + */ + hasContents: function (tags) { + if (tags) { + for (var i = 0, ci; ci = tags[i++];) { + if (this.document.getElementsByTagName(ci).length > 0) { + return true; + } + } + } + if (!domUtils.isEmptyBlock(this.body)) { + return true + } + //随时添加,定义的特殊标签如果存在,不能认为是空 + tags = ['div']; + for (i = 0; ci = tags[i++];) { + var nodes = domUtils.getElementsByTagName(this.document, ci); + for (var n = 0, cn; cn = nodes[n++];) { + if (domUtils.isCustomeNode(cn)) { + return true; + } + } + } + return false; + }, + + /** + * 重置编辑器,可用来做多个tab使用同一个编辑器实例 + * @method reset + * @remind 此方法会清空编辑器内容,清空回退列表,会触发reset事件 + * @example + * ```javascript + * editor.reset() + * ``` + */ + reset: function () { + this.fireEvent('reset'); + }, + + /** + * 设置当前编辑区域可以编辑 + * @method setEnabled + * @example + * ```javascript + * editor.setEnabled() + * ``` + */ + setEnabled: function () { + var me = this, range; + if (me.body.contentEditable == 'false') { + me.body.contentEditable = true; + range = me.selection.getRange(); + //有可能内容丢失了 + try { + range.moveToBookmark(me.lastBk); + delete me.lastBk + } catch (e) { + range.setStartAtFirst(me.body).collapse(true) + } + range.select(true); + if (me.bkqueryCommandState) { + me.queryCommandState = me.bkqueryCommandState; + delete me.bkqueryCommandState; + } + if (me.bkqueryCommandValue) { + me.queryCommandValue = me.bkqueryCommandValue; + delete me.bkqueryCommandValue; + } + me.fireEvent('selectionchange'); + } + }, + enable: function () { + return this.setEnabled(); + }, + + /** 设置当前编辑区域不可编辑 + * @method setDisabled + */ + + /** 设置当前编辑区域不可编辑,except中的命令除外 + * @method setDisabled + * @param { String } except 例外命令的字符串 + * @remind 即使设置了disable,此处配置的例外命令仍然可以执行 + * @example + * ```javascript + * editor.setDisabled('bold'); //禁用工具栏中除加粗之外的所有功能 + * ``` + */ + + /** 设置当前编辑区域不可编辑,except中的命令除外 + * @method setDisabled + * @param { Array } except 例外命令的字符串数组,数组中的命令仍然可以执行 + * @remind 即使设置了disable,此处配置的例外命令仍然可以执行 + * @example + * ```javascript + * editor.setDisabled(['bold','insertimage']); //禁用工具栏中除加粗和插入图片之外的所有功能 + * ``` + */ + setDisabled: function (except) { + var me = this; + except = except ? utils.isArray(except) ? except : [except] : []; + if (me.body.contentEditable == 'true') { + if (!me.lastBk) { + me.lastBk = me.selection.getRange().createBookmark(true); + } + me.body.contentEditable = false; + me.bkqueryCommandState = me.queryCommandState; + me.bkqueryCommandValue = me.queryCommandValue; + me.queryCommandState = function (type) { + if (utils.indexOf(except, type) != -1) { + return me.bkqueryCommandState.apply(me, arguments); + } + return -1; + }; + me.queryCommandValue = function (type) { + if (utils.indexOf(except, type) != -1) { + return me.bkqueryCommandValue.apply(me, arguments); + } + return null; + }; + me.fireEvent('selectionchange'); + } + }, + disable: function (except) { + return this.setDisabled(except); + }, + + /** + * 设置默认内容 + * @method _setDefaultContent + * @private + * @param { String } cont 要存入的内容 + */ + _setDefaultContent: function () { + function clear() { + var me = this; + if (me.document.getElementById('initContent')) { + me.body.innerHTML = '

      ' + (ie ? '' : '
      ') + '

      '; + me.removeListener('firstBeforeExecCommand focus', clear); + setTimeout(function () { + me.focus(); + me._selectionChange(); + }, 0) + } + } + + return function (cont) { + var me = this; + me.body.innerHTML = '

      ' + cont + '

      '; + + me.addListener('firstBeforeExecCommand focus', clear); + } + }(), + + /** + * 显示编辑器 + * @method setShow + * @example + * ```javascript + * editor.setShow() + * ``` + */ + setShow: function () { + var me = this, range = me.selection.getRange(); + if (me.container.style.display == 'none') { + //有可能内容丢失了 + try { + range.moveToBookmark(me.lastBk); + delete me.lastBk + } catch (e) { + range.setStartAtFirst(me.body).collapse(true) + } + //ie下focus实效,所以做了个延迟 + setTimeout(function () { + range.select(true); + }, 100); + me.container.style.display = ''; + } + + }, + show: function () { + return this.setShow(); + }, + /** + * 隐藏编辑器 + * @method setHide + * @example + * ```javascript + * editor.setHide() + * ``` + */ + setHide: function () { + var me = this; + if (!me.lastBk) { + me.lastBk = me.selection.getRange().createBookmark(true); + } + me.container.style.display = 'none' + }, + hide: function () { + return this.setHide(); + }, + + /** + * 根据指定的路径,获取对应的语言资源 + * @method getLang + * @param { String } path 路径根据的是lang目录下的语言文件的路径结构 + * @return { Object | String } 根据路径返回语言资源的Json格式对象或者语言字符串 + * @example + * ```javascript + * editor.getLang('contextMenu.delete'); //如果当前是中文,那返回是的是'删除' + * ``` + */ + getLang: function (path) { + var lang = UE.I18N[this.options.lang]; + if (!lang) { + throw Error("not import language file"); + } + path = (path || "").split("."); + for (var i = 0, ci; ci = path[i++];) { + lang = lang[ci]; + if (!lang)break; + } + return lang; + }, + + /** + * 计算编辑器html内容字符串的长度 + * @method getContentLength + * @return { Number } 返回计算的长度 + * @example + * ```javascript + * //编辑器html内容

      132

      + * editor.getContentLength() //返回27 + * ``` + */ + /** + * 计算编辑器当前纯文本内容的长度 + * @method getContentLength + * @param { Boolean } ingoneHtml 传入true时,只按照纯文本来计算 + * @return { Number } 返回计算的长度,内容中有hr/img/iframe标签,长度加1 + * @example + * ```javascript + * //编辑器html内容

      132

      + * editor.getContentLength() //返回3 + * ``` + */ + getContentLength: function (ingoneHtml, tagNames) { + var count = this.getContent(false,false,true).length; + if (ingoneHtml) { + tagNames = (tagNames || []).concat([ 'hr', 'img', 'iframe']); + count = this.getContentTxt().replace(/[\t\r\n]+/g, '').length; + for (var i = 0, ci; ci = tagNames[i++];) { + count += this.document.getElementsByTagName(ci).length; + } + } + return count; + }, + + /** + * 注册输入过滤规则 + * @method addInputRule + * @param { Function } rule 要添加的过滤规则 + * @example + * ```javascript + * editor.addInputRule(function(root){ + * $.each(root.getNodesByTagName('div'),function(i,node){ + * node.tagName="p"; + * }); + * }); + * ``` + */ + addInputRule: function (rule) { + this.inputRules.push(rule); + }, + + /** + * 执行注册的过滤规则 + * @method filterInputRule + * @param { UE.uNode } root 要过滤的uNode节点 + * @remind 执行editor.setContent方法和执行'inserthtml'命令后,会运行该过滤函数 + * @example + * ```javascript + * editor.filterInputRule(editor.body); + * ``` + * @see UE.Editor:addInputRule + */ + filterInputRule: function (root) { + for (var i = 0, ci; ci = this.inputRules[i++];) { + ci.call(this, root) + } + }, + + /** + * 注册输出过滤规则 + * @method addOutputRule + * @param { Function } rule 要添加的过滤规则 + * @example + * ```javascript + * editor.addOutputRule(function(root){ + * $.each(root.getNodesByTagName('p'),function(i,node){ + * node.tagName="div"; + * }); + * }); + * ``` + */ + addOutputRule: function (rule) { + this.outputRules.push(rule) + }, + + /** + * 根据输出过滤规则,过滤编辑器内容 + * @method filterOutputRule + * @remind 执行editor.getContent方法的时候,会先运行该过滤函数 + * @param { UE.uNode } root 要过滤的uNode节点 + * @example + * ```javascript + * editor.filterOutputRule(editor.body); + * ``` + * @see UE.Editor:addOutputRule + */ + filterOutputRule: function (root) { + for (var i = 0, ci; ci = this.outputRules[i++];) { + ci.call(this, root) + } + }, + + /** + * 根据action名称获取请求的路径 + * @method getActionUrl + * @remind 假如没有设置serverUrl,会根据imageUrl设置默认的controller路径 + * @param { String } action action名称 + * @example + * ```javascript + * editor.getActionUrl('config'); //返回 "/ueditor/php/controller.php?action=config" + * editor.getActionUrl('image'); //返回 "/ueditor/php/controller.php?action=uplaodimage" + * editor.getActionUrl('scrawl'); //返回 "/ueditor/php/controller.php?action=uplaodscrawl" + * editor.getActionUrl('imageManager'); //返回 "/ueditor/php/controller.php?action=listimage" + * ``` + */ + getActionUrl: function(action){ + var actionName = this.getOpt(action) || action, + imageUrl = this.getOpt('imageUrl'), + serverUrl = this.getOpt('serverUrl'); + + if(!serverUrl && imageUrl) { + serverUrl = imageUrl.replace(/^(.*[\/]).+([\.].+)$/, '$1controller$2'); + } + + if(serverUrl) { + serverUrl = serverUrl + (serverUrl.indexOf('?') == -1 ? '?':'&') + 'action=' + (actionName || ''); + return utils.formatUrl(serverUrl); + } else { + return ''; + } + } + }; + utils.inherits(Editor, EventBase); +})(); + + +// core/Editor.defaultoptions.js +//维护编辑器一下默认的不在插件中的配置项 +UE.Editor.defaultOptions = function(editor){ + + var _url = editor.options.UEDITOR_HOME_URL; + return { + isShow: true, + initialContent: '', + initialStyle:'', + autoClearinitialContent: false, + iframeCssUrl: _url + 'themes/iframe.css', + textarea: 'editorValue', + focus: false, + focusInEnd: true, + autoClearEmptyNode: true, + fullscreen: false, + readonly: false, + zIndex: 999, + imagePopup: true, + enterTag: 'p', + customDomain: false, + lang: 'zh-cn', + langPath: _url + 'lang/', + theme: 'default', + themePath: _url + 'themes/', + allHtmlEnabled: false, + scaleEnabled: false, + tableNativeEditInFF: false, + autoSyncData : true, + fileNameFormat: '{time}{rand:6}' + } +}; + +// core/loadconfig.js +(function(){ + + UE.Editor.prototype.loadServerConfig = function(){ + var me = this; + setTimeout(function(){ + try{ + me.options.imageUrl && me.setOpt('serverUrl', me.options.imageUrl.replace(/^(.*[\/]).+([\.].+)$/, '$1controller$2')); + + var configUrl = me.getActionUrl('config'), + isJsonp = utils.isCrossDomainUrl(configUrl); + + /* 发出ajax请求 */ + me._serverConfigLoaded = false; + + configUrl && UE.ajax.request(configUrl,{ + 'method': 'GET', + 'dataType': isJsonp ? 'jsonp':'', + 'onsuccess':function(r){ + try { + var config = isJsonp ? r:eval("("+r.responseText+")"); + utils.extend(me.options, config); + me.fireEvent('serverConfigLoaded'); + me._serverConfigLoaded = true; + } catch (e) { + showErrorMsg(me.getLang('loadconfigFormatError')); + } + }, + 'onerror':function(){ + showErrorMsg(me.getLang('loadconfigHttpError')); + } + }); + } catch(e){ + showErrorMsg(me.getLang('loadconfigError')); + } + }); + + function showErrorMsg(msg) { + console && console.error(msg); + //me.fireEvent('showMessage', { + // 'title': msg, + // 'type': 'error' + //}); + } + }; + + UE.Editor.prototype.isServerConfigLoaded = function(){ + var me = this; + return me._serverConfigLoaded || false; + }; + + UE.Editor.prototype.afterConfigReady = function(handler){ + if (!handler || !utils.isFunction(handler)) return; + var me = this; + var readyHandler = function(){ + handler.apply(me, arguments); + me.removeListener('serverConfigLoaded', readyHandler); + }; + + if (me.isServerConfigLoaded()) { + handler.call(me, 'serverConfigLoaded'); + } else { + me.addListener('serverConfigLoaded', readyHandler); + } + }; + +})(); + + +// core/ajax.js +/** + * @file + * @module UE.ajax + * @since 1.2.6.1 + */ + +/** + * 提供对ajax请求的支持 + * @module UE.ajax + */ +UE.ajax = function() { + + //创建一个ajaxRequest对象 + var fnStr = 'XMLHttpRequest()'; + try { + new ActiveXObject("Msxml2.XMLHTTP"); + fnStr = 'ActiveXObject(\'Msxml2.XMLHTTP\')'; + } catch (e) { + try { + new ActiveXObject("Microsoft.XMLHTTP"); + fnStr = 'ActiveXObject(\'Microsoft.XMLHTTP\')' + } catch (e) { + } + } + var creatAjaxRequest = new Function('return new ' + fnStr); + + + /** + * 将json参数转化成适合ajax提交的参数列表 + * @param json + */ + function json2str(json) { + var strArr = []; + for (var i in json) { + //忽略默认的几个参数 + if(i=="method" || i=="timeout" || i=="async" || i=="dataType" || i=="callback") continue; + //忽略控制 + if(json[i] == undefined || json[i] == null) continue; + //传递过来的对象和函数不在提交之列 + if (!((typeof json[i]).toLowerCase() == "function" || (typeof json[i]).toLowerCase() == "object")) { + strArr.push( encodeURIComponent(i) + "="+encodeURIComponent(json[i]) ); + } else if (utils.isArray(json[i])) { + //支持传数组内容 + for(var j = 0; j < json[i].length; j++) { + strArr.push( encodeURIComponent(i) + "[]="+encodeURIComponent(json[i][j]) ); + } + } + } + return strArr.join("&"); + } + + function doAjax(url, ajaxOptions) { + var xhr = creatAjaxRequest(), + //是否超时 + timeIsOut = false, + //默认参数 + defaultAjaxOptions = { + method:"POST", + timeout:5000, + async:true, + data:{},//需要传递对象的话只能覆盖 + onsuccess:function() { + }, + onerror:function() { + } + }; + + if (typeof url === "object") { + ajaxOptions = url; + url = ajaxOptions.url; + } + if (!xhr || !url) return; + var ajaxOpts = ajaxOptions ? utils.extend(defaultAjaxOptions,ajaxOptions) : defaultAjaxOptions; + + var submitStr = json2str(ajaxOpts); // { name:"Jim",city:"Beijing" } --> "name=Jim&city=Beijing" + //如果用户直接通过data参数传递json对象过来,则也要将此json对象转化为字符串 + if (!utils.isEmptyObject(ajaxOpts.data)){ + submitStr += (submitStr? "&":"") + json2str(ajaxOpts.data); + } + //超时检测 + var timerID = setTimeout(function() { + if (xhr.readyState != 4) { + timeIsOut = true; + xhr.abort(); + clearTimeout(timerID); + } + }, ajaxOpts.timeout); + + var method = ajaxOpts.method.toUpperCase(); + var str = url + (url.indexOf("?")==-1?"?":"&") + (method=="POST"?"":submitStr+ "&noCache=" + +new Date); + xhr.open(method, str, ajaxOpts.async); + xhr.onreadystatechange = function() { + if (xhr.readyState == 4) { + if (!timeIsOut && xhr.status == 200) { + ajaxOpts.onsuccess(xhr); + } else { + ajaxOpts.onerror(xhr); + } + } + }; + if (method == "POST") { + xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); + xhr.send(submitStr); + } else { + xhr.send(null); + } + } + + function doJsonp(url, opts) { + + var successhandler = opts.onsuccess || function(){}, + scr = document.createElement('SCRIPT'), + options = opts || {}, + charset = options['charset'], + callbackField = options['jsonp'] || 'callback', + callbackFnName, + timeOut = options['timeOut'] || 0, + timer, + reg = new RegExp('(\\?|&)' + callbackField + '=([^&]*)'), + matches; + + if (utils.isFunction(successhandler)) { + callbackFnName = 'bd__editor__' + Math.floor(Math.random() * 2147483648).toString(36); + window[callbackFnName] = getCallBack(0); + } else if(utils.isString(successhandler)){ + callbackFnName = successhandler; + } else { + if (matches = reg.exec(url)) { + callbackFnName = matches[2]; + } + } + + url = url.replace(reg, '\x241' + callbackField + '=' + callbackFnName); + + if (url.search(reg) < 0) { + url += (url.indexOf('?') < 0 ? '?' : '&') + callbackField + '=' + callbackFnName; + } + + var queryStr = json2str(opts); // { name:"Jim",city:"Beijing" } --> "name=Jim&city=Beijing" + //如果用户直接通过data参数传递json对象过来,则也要将此json对象转化为字符串 + if (!utils.isEmptyObject(opts.data)){ + queryStr += (queryStr? "&":"") + json2str(opts.data); + } + if (queryStr) { + url = url.replace(/\?/, '?' + queryStr + '&'); + } + + scr.onerror = getCallBack(1); + if( timeOut ){ + timer = setTimeout(getCallBack(1), timeOut); + } + createScriptTag(scr, url, charset); + + function createScriptTag(scr, url, charset) { + scr.setAttribute('type', 'text/javascript'); + scr.setAttribute('defer', 'defer'); + charset && scr.setAttribute('charset', charset); + scr.setAttribute('src', url); + document.getElementsByTagName('head')[0].appendChild(scr); + } + + function getCallBack(onTimeOut){ + return function(){ + try { + if(onTimeOut){ + options.onerror && options.onerror(); + }else{ + try{ + clearTimeout(timer); + successhandler.apply(window, arguments); + } catch (e){} + } + } catch (exception) { + options.onerror && options.onerror.call(window, exception); + } finally { + options.oncomplete && options.oncomplete.apply(window, arguments); + scr.parentNode && scr.parentNode.removeChild(scr); + window[callbackFnName] = null; + try { + delete window[callbackFnName]; + }catch(e){} + } + } + } + } + + return { + /** + * 根据给定的参数项,向指定的url发起一个ajax请求。 ajax请求完成后,会根据请求结果调用相应回调: 如果请求 + * 成功, 则调用onsuccess回调, 失败则调用 onerror 回调 + * @method request + * @param { URLString } url ajax请求的url地址 + * @param { Object } ajaxOptions ajax请求选项的键值对,支持的选项如下: + * @example + * ```javascript + * //向sayhello.php发起一个异步的Ajax GET请求, 请求超时时间为10s, 请求完成后执行相应的回调。 + * UE.ajax.requeset( 'sayhello.php', { + * + * //请求方法。可选值: 'GET', 'POST',默认值是'POST' + * method: 'GET', + * + * //超时时间。 默认为5000, 单位是ms + * timeout: 10000, + * + * //是否是异步请求。 true为异步请求, false为同步请求 + * async: true, + * + * //请求携带的数据。如果请求为GET请求, data会经过stringify后附加到请求url之后。 + * data: { + * name: 'ueditor' + * }, + * + * //请求成功后的回调, 该回调接受当前的XMLHttpRequest对象作为参数。 + * onsuccess: function ( xhr ) { + * console.log( xhr.responseText ); + * }, + * + * //请求失败或者超时后的回调。 + * onerror: function ( xhr ) { + * alert( 'Ajax请求失败' ); + * } + * + * } ); + * ``` + */ + + /** + * 根据给定的参数项发起一个ajax请求, 参数项里必须包含一个url地址。 ajax请求完成后,会根据请求结果调用相应回调: 如果请求 + * 成功, 则调用onsuccess回调, 失败则调用 onerror 回调。 + * @method request + * @warning 如果在参数项里未提供一个key为“url”的地址值,则该请求将直接退出。 + * @param { Object } ajaxOptions ajax请求选项的键值对,支持的选项如下: + * @example + * ```javascript + * + * //向sayhello.php发起一个异步的Ajax POST请求, 请求超时时间为5s, 请求完成后不执行任何回调。 + * UE.ajax.requeset( 'sayhello.php', { + * + * //请求的地址, 该项是必须的。 + * url: 'sayhello.php' + * + * } ); + * ``` + */ + request:function(url, opts) { + if (opts && opts.dataType == 'jsonp') { + doJsonp(url, opts); + } else { + doAjax(url, opts); + } + }, + getJSONP:function(url, data, fn) { + var opts = { + 'data': data, + 'oncomplete': fn + }; + doJsonp(url, opts); + } + }; + + +}(); + + +// core/filterword.js +/** + * UE过滤word的静态方法 + * @file + */ + +/** + * UEditor公用空间,UEditor所有的功能都挂载在该空间下 + * @module UE + */ + + +/** + * 根据传入html字符串过滤word + * @module UE + * @since 1.2.6.1 + * @method filterWord + * @param { String } html html字符串 + * @return { String } 已过滤后的结果字符串 + * @example + * ```javascript + * UE.filterWord(html); + * ``` + */ +var filterWord = UE.filterWord = function () { + + //是否是word过来的内容 + function isWordDocument( str ) { + return /(class="?Mso|style="[^"]*\bmso\-|w:WordDocument|<(v|o):|lang=)/ig.test( str ); + } + //去掉小数 + function transUnit( v ) { + v = v.replace( /[\d.]+\w+/g, function ( m ) { + return utils.transUnitToPx(m); + } ); + return v; + } + + function filterPasteWord( str ) { + return str.replace(/[\t\r\n]+/g,' ') + .replace( //ig, "" ) + //转换图片 + .replace(/]*>[\s\S]*?.<\/v:shape>/gi,function(str){ + //opera能自己解析出image所这里直接返回空 + if(browser.opera){ + return ''; + } + try{ + //有可能是bitmap占为图,无用,直接过滤掉,主要体现在粘贴excel表格中 + if(/Bitmap/i.test(str)){ + return ''; + } + var width = str.match(/width:([ \d.]*p[tx])/i)[1], + height = str.match(/height:([ \d.]*p[tx])/i)[1], + src = str.match(/src=\s*"([^"]*)"/i)[1]; + return ''; + } catch(e){ + return ''; + } + }) + //针对wps添加的多余标签处理 + .replace(/<\/?div[^>]*>/g,'') + //去掉多余的属性 + .replace( /v:\w+=(["']?)[^'"]+\1/g, '' ) + .replace( /<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|xml|meta|link|style|\w+:\w+)(?=[\s\/>]))[^>]*>/gi, "" ) + .replace( /

      ]*class="?MsoHeading"?[^>]*>(.*?)<\/p>/gi, "

      $1

      " ) + //去掉多余的属性 + .replace( /\s+(class|lang|align)\s*=\s*(['"]?)([\w-]+)\2/ig, function(str,name,marks,val){ + //保留list的标示 + return name == 'class' && val == 'MsoListParagraph' ? str : '' + }) + //清除多余的font/span不能匹配 有可能是空格 + .replace( /<(font|span)[^>]*>(\s*)<\/\1>/gi, function(a,b,c){ + return c.replace(/[\t\r\n ]+/g,' ') + }) + //处理style的问题 + .replace( /(<[a-z][^>]*)\sstyle=(["'])([^\2]*?)\2/gi, function( str, tag, tmp, style ) { + var n = [], + s = style.replace( /^\s+|\s+$/, '' ) + .replace(/'/g,'\'') + .replace( /"/gi, "'" ) + .replace(/[\d.]+(cm|pt)/g,function(str){ + return utils.transUnitToPx(str) + }) + .split( /;\s*/g ); + + for ( var i = 0,v; v = s[i];i++ ) { + + var name, value, + parts = v.split( ":" ); + + if ( parts.length == 2 ) { + name = parts[0].toLowerCase(); + value = parts[1].toLowerCase(); + if(/^(background)\w*/.test(name) && value.replace(/(initial|\s)/g,'').length == 0 + || + /^(margin)\w*/.test(name) && /^0\w+$/.test(value) + ){ + continue; + } + + switch ( name ) { + case "mso-padding-alt": + case "mso-padding-top-alt": + case "mso-padding-right-alt": + case "mso-padding-bottom-alt": + case "mso-padding-left-alt": + case "mso-margin-alt": + case "mso-margin-top-alt": + case "mso-margin-right-alt": + case "mso-margin-bottom-alt": + case "mso-margin-left-alt": + //ie下会出现挤到一起的情况 + //case "mso-table-layout-alt": + case "mso-height": + case "mso-width": + case "mso-vertical-align-alt": + //trace:1819 ff下会解析出padding在table上 + if(!/]/.test(html)) { + return UE.htmlparser(html).children[0] + } else { + return new uNode({ + type:'element', + children:[], + tagName:html + }) + } + }; + uNode.createText = function (data,noTrans) { + return new UE.uNode({ + type:'text', + 'data':noTrans ? data : utils.unhtml(data || '') + }) + }; + function nodeToHtml(node, arr, formatter, current) { + switch (node.type) { + case 'root': + for (var i = 0, ci; ci = node.children[i++];) { + //插入新行 + if (formatter && ci.type == 'element' && !dtd.$inlineWithA[ci.tagName] && i > 1) { + insertLine(arr, current, true); + insertIndent(arr, current) + } + nodeToHtml(ci, arr, formatter, current) + } + break; + case 'text': + isText(node, arr); + break; + case 'element': + isElement(node, arr, formatter, current); + break; + case 'comment': + isComment(node, arr, formatter); + } + return arr; + } + + function isText(node, arr) { + if(node.parentNode.tagName == 'pre'){ + //源码模式下输入html标签,不能做转换处理,直接输出 + arr.push(node.data) + }else{ + arr.push(notTransTagName[node.parentNode.tagName] ? utils.html(node.data) : node.data.replace(/[ ]{2}/g,'  ')) + } + + } + + function isElement(node, arr, formatter, current) { + var attrhtml = ''; + if (node.attrs) { + attrhtml = []; + var attrs = node.attrs; + for (var a in attrs) { + //这里就针对 + //

      '

      + //这里边的\"做转换,要不用innerHTML直接被截断了,属性src + //有可能做的不够 + attrhtml.push(a + (attrs[a] !== undefined ? '="' + (notTransAttrs[a] ? utils.html(attrs[a]).replace(/["]/g, function (a) { + return '"' + }) : utils.unhtml(attrs[a])) + '"' : '')) + } + attrhtml = attrhtml.join(' '); + } + arr.push('<' + node.tagName + + (attrhtml ? ' ' + attrhtml : '') + + (dtd.$empty[node.tagName] ? '\/' : '' ) + '>' + ); + //插入新行 + if (formatter && !dtd.$inlineWithA[node.tagName] && node.tagName != 'pre') { + if(node.children && node.children.length){ + current = insertLine(arr, current, true); + insertIndent(arr, current) + } + + } + if (node.children && node.children.length) { + for (var i = 0, ci; ci = node.children[i++];) { + if (formatter && ci.type == 'element' && !dtd.$inlineWithA[ci.tagName] && i > 1) { + insertLine(arr, current); + insertIndent(arr, current) + } + nodeToHtml(ci, arr, formatter, current) + } + } + if (!dtd.$empty[node.tagName]) { + if (formatter && !dtd.$inlineWithA[node.tagName] && node.tagName != 'pre') { + + if(node.children && node.children.length){ + current = insertLine(arr, current); + insertIndent(arr, current) + } + } + arr.push('<\/' + node.tagName + '>'); + } + + } + + function isComment(node, arr) { + arr.push(''); + } + + function getNodeById(root, id) { + var node; + if (root.type == 'element' && root.getAttr('id') == id) { + return root; + } + if (root.children && root.children.length) { + for (var i = 0, ci; ci = root.children[i++];) { + if (node = getNodeById(ci, id)) { + return node; + } + } + } + } + + function getNodesByTagName(node, tagName, arr) { + if (node.type == 'element' && node.tagName == tagName) { + arr.push(node); + } + if (node.children && node.children.length) { + for (var i = 0, ci; ci = node.children[i++];) { + getNodesByTagName(ci, tagName, arr) + } + } + } + function nodeTraversal(root,fn){ + if(root.children && root.children.length){ + for(var i= 0,ci;ci=root.children[i];){ + nodeTraversal(ci,fn); + //ci被替换的情况,这里就不再走 fn了 + if(ci.parentNode ){ + if(ci.children && ci.children.length){ + fn(ci) + } + if(ci.parentNode) i++ + } + } + }else{ + fn(root) + } + + } + uNode.prototype = { + + /** + * 当前节点对象,转换成html文本 + * @method toHtml + * @return { String } 返回转换后的html字符串 + * @example + * ```javascript + * node.toHtml(); + * ``` + */ + + /** + * 当前节点对象,转换成html文本 + * @method toHtml + * @param { Boolean } formatter 是否格式化返回值 + * @return { String } 返回转换后的html字符串 + * @example + * ```javascript + * node.toHtml( true ); + * ``` + */ + toHtml:function (formatter) { + var arr = []; + nodeToHtml(this, arr, formatter, 0); + return arr.join('') + }, + + /** + * 获取节点的html内容 + * @method innerHTML + * @warning 假如节点的type不是'element',或节点的标签名称不在dtd列表里,直接返回当前节点 + * @return { String } 返回节点的html内容 + * @example + * ```javascript + * var htmlstr = node.innerHTML(); + * ``` + */ + + /** + * 设置节点的html内容 + * @method innerHTML + * @warning 假如节点的type不是'element',或节点的标签名称不在dtd列表里,直接返回当前节点 + * @param { String } htmlstr 传入要设置的html内容 + * @return { UE.uNode } 返回节点本身 + * @example + * ```javascript + * node.innerHTML('text'); + * ``` + */ + innerHTML:function (htmlstr) { + if (this.type != 'element' || dtd.$empty[this.tagName]) { + return this; + } + if (utils.isString(htmlstr)) { + if(this.children){ + for (var i = 0, ci; ci = this.children[i++];) { + ci.parentNode = null; + } + } + this.children = []; + var tmpRoot = UE.htmlparser(htmlstr); + for (var i = 0, ci; ci = tmpRoot.children[i++];) { + this.children.push(ci); + ci.parentNode = this; + } + return this; + } else { + var tmpRoot = new UE.uNode({ + type:'root', + children:this.children + }); + return tmpRoot.toHtml(); + } + }, + + /** + * 获取节点的纯文本内容 + * @method innerText + * @warning 假如节点的type不是'element',或节点的标签名称不在dtd列表里,直接返回当前节点 + * @return { String } 返回节点的存文本内容 + * @example + * ```javascript + * var textStr = node.innerText(); + * ``` + */ + + /** + * 设置节点的纯文本内容 + * @method innerText + * @warning 假如节点的type不是'element',或节点的标签名称不在dtd列表里,直接返回当前节点 + * @param { String } textStr 传入要设置的文本内容 + * @return { UE.uNode } 返回节点本身 + * @example + * ```javascript + * node.innerText('text'); + * ``` + */ + innerText:function (textStr,noTrans) { + if (this.type != 'element' || dtd.$empty[this.tagName]) { + return this; + } + if (textStr) { + if(this.children){ + for (var i = 0, ci; ci = this.children[i++];) { + ci.parentNode = null; + } + } + this.children = []; + this.appendChild(uNode.createText(textStr,noTrans)); + return this; + } else { + return this.toHtml().replace(/<[^>]+>/g, ''); + } + }, + + /** + * 获取当前对象的data属性 + * @method getData + * @return { Object } 若节点的type值是elemenet,返回空字符串,否则返回节点的data属性 + * @example + * ```javascript + * node.getData(); + * ``` + */ + getData:function () { + if (this.type == 'element') + return ''; + return this.data + }, + + /** + * 获取当前节点下的第一个子节点 + * @method firstChild + * @return { UE.uNode } 返回第一个子节点 + * @example + * ```javascript + * node.firstChild(); //返回第一个子节点 + * ``` + */ + firstChild:function () { +// if (this.type != 'element' || dtd.$empty[this.tagName]) { +// return this; +// } + return this.children ? this.children[0] : null; + }, + + /** + * 获取当前节点下的最后一个子节点 + * @method lastChild + * @return { UE.uNode } 返回最后一个子节点 + * @example + * ```javascript + * node.lastChild(); //返回最后一个子节点 + * ``` + */ + lastChild:function () { +// if (this.type != 'element' || dtd.$empty[this.tagName] ) { +// return this; +// } + return this.children ? this.children[this.children.length - 1] : null; + }, + + /** + * 获取和当前节点有相同父亲节点的前一个节点 + * @method previousSibling + * @return { UE.uNode } 返回前一个节点 + * @example + * ```javascript + * node.children[2].previousSibling(); //返回子节点node.children[1] + * ``` + */ + previousSibling : function(){ + var parent = this.parentNode; + for (var i = 0, ci; ci = parent.children[i]; i++) { + if (ci === this) { + return i == 0 ? null : parent.children[i-1]; + } + } + + }, + + /** + * 获取和当前节点有相同父亲节点的后一个节点 + * @method nextSibling + * @return { UE.uNode } 返回后一个节点,找不到返回null + * @example + * ```javascript + * node.children[2].nextSibling(); //如果有,返回子节点node.children[3] + * ``` + */ + nextSibling : function(){ + var parent = this.parentNode; + for (var i = 0, ci; ci = parent.children[i++];) { + if (ci === this) { + return parent.children[i]; + } + } + }, + + /** + * 用新的节点替换当前节点 + * @method replaceChild + * @param { UE.uNode } target 要替换成该节点参数 + * @param { UE.uNode } source 要被替换掉的节点 + * @return { UE.uNode } 返回替换之后的节点对象 + * @example + * ```javascript + * node.replaceChild(newNode, childNode); //用newNode替换childNode,childNode是node的子节点 + * ``` + */ + replaceChild:function (target, source) { + if (this.children) { + if(target.parentNode){ + target.parentNode.removeChild(target); + } + for (var i = 0, ci; ci = this.children[i]; i++) { + if (ci === source) { + this.children.splice(i, 1, target); + source.parentNode = null; + target.parentNode = this; + return target; + } + } + } + }, + + /** + * 在节点的子节点列表最后位置插入一个节点 + * @method appendChild + * @param { UE.uNode } node 要插入的节点 + * @return { UE.uNode } 返回刚插入的子节点 + * @example + * ```javascript + * node.appendChild( newNode ); //在node内插入子节点newNode + * ``` + */ + appendChild:function (node) { + if (this.type == 'root' || (this.type == 'element' && !dtd.$empty[this.tagName])) { + if (!this.children) { + this.children = [] + } + if(node.parentNode){ + node.parentNode.removeChild(node); + } + for (var i = 0, ci; ci = this.children[i]; i++) { + if (ci === node) { + this.children.splice(i, 1); + break; + } + } + this.children.push(node); + node.parentNode = this; + return node; + } + + + }, + + /** + * 在传入节点的前面插入一个节点 + * @method insertBefore + * @param { UE.uNode } target 要插入的节点 + * @param { UE.uNode } source 在该参数节点前面插入 + * @return { UE.uNode } 返回刚插入的子节点 + * @example + * ```javascript + * node.parentNode.insertBefore(newNode, node); //在node节点后面插入newNode + * ``` + */ + insertBefore:function (target, source) { + if (this.children) { + if(target.parentNode){ + target.parentNode.removeChild(target); + } + for (var i = 0, ci; ci = this.children[i]; i++) { + if (ci === source) { + this.children.splice(i, 0, target); + target.parentNode = this; + return target; + } + } + + } + }, + + /** + * 在传入节点的后面插入一个节点 + * @method insertAfter + * @param { UE.uNode } target 要插入的节点 + * @param { UE.uNode } source 在该参数节点后面插入 + * @return { UE.uNode } 返回刚插入的子节点 + * @example + * ```javascript + * node.parentNode.insertAfter(newNode, node); //在node节点后面插入newNode + * ``` + */ + insertAfter:function (target, source) { + if (this.children) { + if(target.parentNode){ + target.parentNode.removeChild(target); + } + for (var i = 0, ci; ci = this.children[i]; i++) { + if (ci === source) { + this.children.splice(i + 1, 0, target); + target.parentNode = this; + return target; + } + + } + } + }, + + /** + * 从当前节点的子节点列表中,移除节点 + * @method removeChild + * @param { UE.uNode } node 要移除的节点引用 + * @param { Boolean } keepChildren 是否保留移除节点的子节点,若传入true,自动把移除节点的子节点插入到移除的位置 + * @return { * } 返回刚移除的子节点 + * @example + * ```javascript + * node.removeChild(childNode,true); //在node的子节点列表中移除child节点,并且吧child的子节点插入到移除的位置 + * ``` + */ + removeChild:function (node,keepChildren) { + if (this.children) { + for (var i = 0, ci; ci = this.children[i]; i++) { + if (ci === node) { + this.children.splice(i, 1); + ci.parentNode = null; + if(keepChildren && ci.children && ci.children.length){ + for(var j= 0,cj;cj=ci.children[j];j++){ + this.children.splice(i+j,0,cj); + cj.parentNode = this; + + } + } + return ci; + } + } + } + }, + + /** + * 获取当前节点所代表的元素属性,即获取attrs对象下的属性值 + * @method getAttr + * @param { String } attrName 要获取的属性名称 + * @return { * } 返回attrs对象下的属性值 + * @example + * ```javascript + * node.getAttr('title'); + * ``` + */ + getAttr:function (attrName) { + return this.attrs && this.attrs[attrName.toLowerCase()] + }, + + /** + * 设置当前节点所代表的元素属性,即设置attrs对象下的属性值 + * @method setAttr + * @param { String } attrName 要设置的属性名称 + * @param { * } attrVal 要设置的属性值,类型视设置的属性而定 + * @return { * } 返回attrs对象下的属性值 + * @example + * ```javascript + * node.setAttr('title','标题'); + * ``` + */ + setAttr:function (attrName, attrVal) { + if (!attrName) { + delete this.attrs; + return; + } + if(!this.attrs){ + this.attrs = {}; + } + if (utils.isObject(attrName)) { + for (var a in attrName) { + if (!attrName[a]) { + delete this.attrs[a] + } else { + this.attrs[a.toLowerCase()] = attrName[a]; + } + } + } else { + if (!attrVal) { + delete this.attrs[attrName] + } else { + this.attrs[attrName.toLowerCase()] = attrVal; + } + + } + }, + + /** + * 获取当前节点在父节点下的位置索引 + * @method getIndex + * @return { Number } 返回索引数值,如果没有父节点,返回-1 + * @example + * ```javascript + * node.getIndex(); + * ``` + */ + getIndex:function(){ + var parent = this.parentNode; + for(var i= 0,ci;ci=parent.children[i];i++){ + if(ci === this){ + return i; + } + } + return -1; + }, + + /** + * 在当前节点下,根据id查找节点 + * @method getNodeById + * @param { String } id 要查找的id + * @return { UE.uNode } 返回找到的节点 + * @example + * ```javascript + * node.getNodeById('textId'); + * ``` + */ + getNodeById:function (id) { + var node; + if (this.children && this.children.length) { + for (var i = 0, ci; ci = this.children[i++];) { + if (node = getNodeById(ci, id)) { + return node; + } + } + } + }, + + /** + * 在当前节点下,根据元素名称查找节点列表 + * @method getNodesByTagName + * @param { String } tagNames 要查找的元素名称 + * @return { Array } 返回找到的节点列表 + * @example + * ```javascript + * node.getNodesByTagName('span'); + * ``` + */ + getNodesByTagName:function (tagNames) { + tagNames = utils.trim(tagNames).replace(/[ ]{2,}/g, ' ').split(' '); + var arr = [], me = this; + utils.each(tagNames, function (tagName) { + if (me.children && me.children.length) { + for (var i = 0, ci; ci = me.children[i++];) { + getNodesByTagName(ci, tagName, arr) + } + } + }); + return arr; + }, + + /** + * 根据样式名称,获取节点的样式值 + * @method getStyle + * @param { String } name 要获取的样式名称 + * @return { String } 返回样式值 + * @example + * ```javascript + * node.getStyle('font-size'); + * ``` + */ + getStyle:function (name) { + var cssStyle = this.getAttr('style'); + if (!cssStyle) { + return '' + } + var reg = new RegExp('(^|;)\\s*' + name + ':([^;]+)','i'); + var match = cssStyle.match(reg); + if (match && match[0]) { + return match[2] + } + return ''; + }, + + /** + * 给节点设置样式 + * @method setStyle + * @param { String } name 要设置的的样式名称 + * @param { String } val 要设置的的样值 + * @example + * ```javascript + * node.setStyle('font-size', '12px'); + * ``` + */ + setStyle:function (name, val) { + function exec(name, val) { + var reg = new RegExp('(^|;)\\s*' + name + ':([^;]+;?)', 'gi'); + cssStyle = cssStyle.replace(reg, '$1'); + if (val) { + cssStyle = name + ':' + utils.unhtml(val) + ';' + cssStyle + } + + } + + var cssStyle = this.getAttr('style'); + if (!cssStyle) { + cssStyle = ''; + } + if (utils.isObject(name)) { + for (var a in name) { + exec(a, name[a]) + } + } else { + exec(name, val) + } + this.setAttr('style', utils.trim(cssStyle)) + }, + + /** + * 传入一个函数,递归遍历当前节点下的所有节点 + * @method traversal + * @param { Function } fn 遍历到节点的时,传入节点作为参数,运行此函数 + * @example + * ```javascript + * traversal(node, function(){ + * console.log(node.type); + * }); + * ``` + */ + traversal:function(fn){ + if(this.children && this.children.length){ + nodeTraversal(this,fn); + } + return this; + } + } +})(); + + +// core/htmlparser.js +/** + * html字符串转换成uNode节点 + * @file + * @module UE + * @since 1.2.6.1 + */ + +/** + * UEditor公用空间,UEditor所有的功能都挂载在该空间下 + * @unfile + * @module UE + */ + +/** + * html字符串转换成uNode节点的静态方法 + * @method htmlparser + * @param { String } htmlstr 要转换的html代码 + * @param { Boolean } ignoreBlank 若设置为true,转换的时候忽略\n\r\t等空白字符 + * @return { uNode } 给定的html片段转换形成的uNode对象 + * @example + * ```javascript + * var root = UE.htmlparser('

      htmlparser

      ', true); + * ``` + */ + +var htmlparser = UE.htmlparser = function (htmlstr,ignoreBlank) { + //todo 原来的方式 [^"'<>\/] 有\/就不能配对上 ') + } + html.push('') + } + //禁止指定table-width + return '
      这样的标签了 + //先去掉了,加上的原因忘了,这里先记录 + var re_tag = /<(?:(?:\/([^>]+)>)|(?:!--([\S|\s]*?)-->)|(?:([^\s\/<>]+)\s*((?:(?:"[^"]*")|(?:'[^']*')|[^"'<>])*)\/?>))/g, + re_attr = /([\w\-:.]+)(?:(?:\s*=\s*(?:(?:"([^"]*)")|(?:'([^']*)')|([^\s>]+)))|(?=\s|$))/g; + + //ie下取得的html可能会有\n存在,要去掉,在处理replace(/[\t\r\n]*/g,'');代码高量的\n不能去除 + var allowEmptyTags = { + b:1,code:1,i:1,u:1,strike:1,s:1,tt:1,strong:1,q:1,samp:1,em:1,span:1, + sub:1,img:1,sup:1,font:1,big:1,small:1,iframe:1,a:1,br:1,pre:1 + }; + htmlstr = htmlstr.replace(new RegExp(domUtils.fillChar, 'g'), ''); + if(!ignoreBlank){ + htmlstr = htmlstr.replace(new RegExp('[\\r\\t\\n'+(ignoreBlank?'':' ')+']*<\/?(\\w+)\\s*(?:[^>]*)>[\\r\\t\\n'+(ignoreBlank?'':' ')+']*','g'), function(a,b){ + //br暂时单独处理 + if(b && allowEmptyTags[b.toLowerCase()]){ + return a.replace(/(^[\n\r]+)|([\n\r]+$)/g,''); + } + return a.replace(new RegExp('^[\\r\\n'+(ignoreBlank?'':' ')+']+'),'').replace(new RegExp('[\\r\\n'+(ignoreBlank?'':' ')+']+$'),''); + }); + } + + var notTransAttrs = { + 'href':1, + 'src':1 + }; + + var uNode = UE.uNode, + needParentNode = { + 'td':'tr', + 'tr':['tbody','thead','tfoot'], + 'tbody':'table', + 'th':'tr', + 'thead':'table', + 'tfoot':'table', + 'caption':'table', + 'li':['ul', 'ol'], + 'dt':'dl', + 'dd':'dl', + 'option':'select' + }, + needChild = { + 'ol':'li', + 'ul':'li' + }; + + function text(parent, data) { + + if(needChild[parent.tagName]){ + var tmpNode = uNode.createElement(needChild[parent.tagName]); + parent.appendChild(tmpNode); + tmpNode.appendChild(uNode.createText(data)); + parent = tmpNode; + }else{ + + parent.appendChild(uNode.createText(data)); + } + } + + function element(parent, tagName, htmlattr) { + var needParentTag; + if (needParentTag = needParentNode[tagName]) { + var tmpParent = parent,hasParent; + while(tmpParent.type != 'root'){ + if(utils.isArray(needParentTag) ? utils.indexOf(needParentTag, tmpParent.tagName) != -1 : needParentTag == tmpParent.tagName){ + parent = tmpParent; + hasParent = true; + break; + } + tmpParent = tmpParent.parentNode; + } + if(!hasParent){ + parent = element(parent, utils.isArray(needParentTag) ? needParentTag[0] : needParentTag) + } + } + //按dtd处理嵌套 +// if(parent.type != 'root' && !dtd[parent.tagName][tagName]) +// parent = parent.parentNode; + var elm = new uNode({ + parentNode:parent, + type:'element', + tagName:tagName.toLowerCase(), + //是自闭合的处理一下 + children:dtd.$empty[tagName] ? null : [] + }); + //如果属性存在,处理属性 + if (htmlattr) { + var attrs = {}, match; + while (match = re_attr.exec(htmlattr)) { + attrs[match[1].toLowerCase()] = notTransAttrs[match[1].toLowerCase()] ? (match[2] || match[3] || match[4]) : utils.unhtml(match[2] || match[3] || match[4]) + } + elm.attrs = attrs; + } + //trace:3970 +// //如果parent下不能放elm +// if(dtd.$inline[parent.tagName] && dtd.$block[elm.tagName] && !dtd[parent.tagName][elm.tagName]){ +// parent = parent.parentNode; +// elm.parentNode = parent; +// } + parent.children.push(elm); + //如果是自闭合节点返回父亲节点 + return dtd.$empty[tagName] ? parent : elm + } + + function comment(parent, data) { + parent.children.push(new uNode({ + type:'comment', + data:data, + parentNode:parent + })); + } + + var match, currentIndex = 0, nextIndex = 0; + //设置根节点 + var root = new uNode({ + type:'root', + children:[] + }); + var currentParent = root; + + while (match = re_tag.exec(htmlstr)) { + currentIndex = match.index; + try{ + if (currentIndex > nextIndex) { + //text node + text(currentParent, htmlstr.slice(nextIndex, currentIndex)); + } + if (match[3]) { + + if(dtd.$cdata[currentParent.tagName]){ + text(currentParent, match[0]); + }else{ + //start tag + currentParent = element(currentParent, match[3].toLowerCase(), match[4]); + } + + + } else if (match[1]) { + if(currentParent.type != 'root'){ + if(dtd.$cdata[currentParent.tagName] && !dtd.$cdata[match[1]]){ + text(currentParent, match[0]); + }else{ + var tmpParent = currentParent; + while(currentParent.type == 'element' && currentParent.tagName != match[1].toLowerCase()){ + currentParent = currentParent.parentNode; + if(currentParent.type == 'root'){ + currentParent = tmpParent; + throw 'break' + } + } + //end tag + currentParent = currentParent.parentNode; + } + + } + + } else if (match[2]) { + //comment + comment(currentParent, match[2]) + } + }catch(e){} + + nextIndex = re_tag.lastIndex; + + } + //如果结束是文本,就有可能丢掉,所以这里手动判断一下 + //例如
    • sdfsdfsdf
    • sdfsdfsdfsdf + if (nextIndex < htmlstr.length) { + text(currentParent, htmlstr.slice(nextIndex)); + } + return root; +}; + + +// core/filternode.js +/** + * UE过滤节点的静态方法 + * @file + */ + +/** + * UEditor公用空间,UEditor所有的功能都挂载在该空间下 + * @module UE + */ + + +/** + * 根据传入节点和过滤规则过滤相应节点 + * @module UE + * @since 1.2.6.1 + * @method filterNode + * @param { Object } root 指定root节点 + * @param { Object } rules 过滤规则json对象 + * @example + * ```javascript + * UE.filterNode(root,editor.options.filterRules); + * ``` + */ +var filterNode = UE.filterNode = function () { + function filterNode(node,rules){ + switch (node.type) { + case 'text': + break; + case 'element': + var val; + if(val = rules[node.tagName]){ + if(val === '-'){ + node.parentNode.removeChild(node) + }else if(utils.isFunction(val)){ + var parentNode = node.parentNode, + index = node.getIndex(); + val(node); + if(node.parentNode){ + if(node.children){ + for(var i = 0,ci;ci=node.children[i];){ + filterNode(ci,rules); + if(ci.parentNode){ + i++; + } + } + } + }else{ + for(var i = index,ci;ci=parentNode.children[i];){ + filterNode(ci,rules); + if(ci.parentNode){ + i++; + } + } + } + + + }else{ + var attrs = val['$']; + if(attrs && node.attrs){ + var tmpAttrs = {},tmpVal; + for(var a in attrs){ + tmpVal = node.getAttr(a); + //todo 只先对style单独处理 + if(a == 'style' && utils.isArray(attrs[a])){ + var tmpCssStyle = []; + utils.each(attrs[a],function(v){ + var tmp; + if(tmp = node.getStyle(v)){ + tmpCssStyle.push(v + ':' + tmp); + } + }); + tmpVal = tmpCssStyle.join(';') + } + if(tmpVal){ + tmpAttrs[a] = tmpVal; + } + + } + node.attrs = tmpAttrs; + } + if(node.children){ + for(var i = 0,ci;ci=node.children[i];){ + filterNode(ci,rules); + if(ci.parentNode){ + i++; + } + } + } + } + }else{ + //如果不在名单里扣出子节点并删除该节点,cdata除外 + if(dtd.$cdata[node.tagName]){ + node.parentNode.removeChild(node) + }else{ + var parentNode = node.parentNode, + index = node.getIndex(); + node.parentNode.removeChild(node,true); + for(var i = index,ci;ci=parentNode.children[i];){ + filterNode(ci,rules); + if(ci.parentNode){ + i++; + } + } + } + } + break; + case 'comment': + node.parentNode.removeChild(node) + } + + } + return function(root,rules){ + if(utils.isEmptyObject(rules)){ + return root; + } + var val; + if(val = rules['-']){ + utils.each(val.split(' '),function(k){ + rules[k] = '-' + }) + } + for(var i= 0,ci;ci=root.children[i];){ + filterNode(ci,rules); + if(ci.parentNode){ + i++; + } + } + return root; + } +}(); + +// core/plugin.js +/** + * Created with JetBrains PhpStorm. + * User: campaign + * Date: 10/8/13 + * Time: 6:15 PM + * To change this template use File | Settings | File Templates. + */ +UE.plugin = function(){ + var _plugins = {}; + return { + register : function(pluginName,fn,oldOptionName,afterDisabled){ + if(oldOptionName && utils.isFunction(oldOptionName)){ + afterDisabled = oldOptionName; + oldOptionName = null + } + _plugins[pluginName] = { + optionName : oldOptionName || pluginName, + execFn : fn, + //当插件被禁用时执行 + afterDisabled : afterDisabled + } + }, + load : function(editor){ + utils.each(_plugins,function(plugin){ + var _export = plugin.execFn.call(editor); + if(editor.options[plugin.optionName] !== false){ + if(_export){ + //后边需要再做扩展 + utils.each(_export,function(v,k){ + switch(k.toLowerCase()){ + case 'shortcutkey': + editor.addshortcutkey(v); + break; + case 'bindevents': + utils.each(v,function(fn,eventName){ + editor.addListener(eventName,fn); + }); + break; + case 'bindmultievents': + utils.each(utils.isArray(v) ? v:[v],function(event){ + var types = utils.trim(event.type).split(/\s+/); + utils.each(types,function(eventName){ + editor.addListener(eventName, event.handler); + }); + }); + break; + case 'commands': + utils.each(v,function(execFn,execName){ + editor.commands[execName] = execFn + }); + break; + case 'outputrule': + editor.addOutputRule(v); + break; + case 'inputrule': + editor.addInputRule(v); + break; + case 'defaultoptions': + editor.setOpt(v) + } + }) + } + + }else if(plugin.afterDisabled){ + plugin.afterDisabled.call(editor) + } + + }); + //向下兼容 + utils.each(UE.plugins,function(plugin){ + plugin.call(editor); + }); + }, + run : function(pluginName,editor){ + var plugin = _plugins[pluginName]; + if(plugin){ + plugin.exeFn.call(editor) + } + } + } +}(); + +// core/keymap.js +var keymap = UE.keymap = { + 'Backspace' : 8, + 'Tab' : 9, + 'Enter' : 13, + + 'Shift':16, + 'Control':17, + 'Alt':18, + 'CapsLock':20, + + 'Esc':27, + + 'Spacebar':32, + + 'PageUp':33, + 'PageDown':34, + 'End':35, + 'Home':36, + + 'Left':37, + 'Up':38, + 'Right':39, + 'Down':40, + + 'Insert':45, + + 'Del':46, + + 'NumLock':144, + + 'Cmd':91, + + '=':187, + '-':189, + + "b":66, + 'i':73, + //回退 + 'z':90, + 'y':89, + //粘贴 + 'v' : 86, + 'x' : 88, + + 's' : 83, + + 'n' : 78 +}; + +// core/localstorage.js +//存储媒介封装 +var LocalStorage = UE.LocalStorage = (function () { + + var storage = window.localStorage || getUserData() || null, + LOCAL_FILE = 'localStorage'; + + return { + + saveLocalData: function (key, data) { + + if (storage && data) { + storage.setItem(key, data); + return true; + } + + return false; + + }, + + getLocalData: function (key) { + + if (storage) { + return storage.getItem(key); + } + + return null; + + }, + + removeItem: function (key) { + + storage && storage.removeItem(key); + + } + + }; + + function getUserData() { + + var container = document.createElement("div"); + container.style.display = "none"; + + if (!container.addBehavior) { + return null; + } + + container.addBehavior("#default#userdata"); + + return { + + getItem: function (key) { + + var result = null; + + try { + document.body.appendChild(container); + container.load(LOCAL_FILE); + result = container.getAttribute(key); + document.body.removeChild(container); + } catch (e) { + } + + return result; + + }, + + setItem: function (key, value) { + + document.body.appendChild(container); + container.setAttribute(key, value); + container.save(LOCAL_FILE); + document.body.removeChild(container); + + }, + + //// 暂时没有用到 + //clear: function () { + // + // var expiresTime = new Date(); + // expiresTime.setFullYear(expiresTime.getFullYear() - 1); + // document.body.appendChild(container); + // container.expires = expiresTime.toUTCString(); + // container.save(LOCAL_FILE); + // document.body.removeChild(container); + // + //}, + + removeItem: function (key) { + + document.body.appendChild(container); + container.removeAttribute(key); + container.save(LOCAL_FILE); + document.body.removeChild(container); + + } + + }; + + } + +})(); + +(function () { + + var ROOTKEY = 'ueditor_preference'; + + UE.Editor.prototype.setPreferences = function(key,value){ + var obj = {}; + if (utils.isString(key)) { + obj[ key ] = value; + } else { + obj = key; + } + var data = LocalStorage.getLocalData(ROOTKEY); + if (data && (data = utils.str2json(data))) { + utils.extend(data, obj); + } else { + data = obj; + } + data && LocalStorage.saveLocalData(ROOTKEY, utils.json2str(data)); + }; + + UE.Editor.prototype.getPreferences = function(key){ + var data = LocalStorage.getLocalData(ROOTKEY); + if (data && (data = utils.str2json(data))) { + return key ? data[key] : data + } + return null; + }; + + UE.Editor.prototype.removePreferences = function (key) { + var data = LocalStorage.getLocalData(ROOTKEY); + if (data && (data = utils.str2json(data))) { + data[key] = undefined; + delete data[key] + } + data && LocalStorage.saveLocalData(ROOTKEY, utils.json2str(data)); + }; + +})(); + + +// plugins/defaultfilter.js +///import core +///plugin 编辑器默认的过滤转换机制 + +UE.plugins['defaultfilter'] = function () { + var me = this; + me.setOpt({ + 'allowDivTransToP':true, + 'disabledTableInTable':true + }); + //默认的过滤处理 + //进入编辑器的内容处理 + me.addInputRule(function (root) { + var allowDivTransToP = this.options.allowDivTransToP; + var val; + function tdParent(node){ + while(node && node.type == 'element'){ + if(node.tagName == 'td'){ + return true; + } + node = node.parentNode; + } + return false; + } + //进行默认的处理 + root.traversal(function (node) { + if (node.type == 'element') { + if (!dtd.$cdata[node.tagName] && me.options.autoClearEmptyNode && dtd.$inline[node.tagName] && !dtd.$empty[node.tagName] && (!node.attrs || utils.isEmptyObject(node.attrs))) { + if (!node.firstChild()) node.parentNode.removeChild(node); + else if (node.tagName == 'span' && (!node.attrs || utils.isEmptyObject(node.attrs))) { + node.parentNode.removeChild(node, true) + } + return; + } + switch (node.tagName) { + case 'style': + case 'script': + node.setAttr({ + cdata_tag: node.tagName, + cdata_data: (node.innerHTML() || ''), + '_ue_custom_node_':'true' + }); + node.tagName = 'div'; + node.innerHTML(''); + break; + case 'a': + if (val = node.getAttr('href')) { + node.setAttr('_href', val) + } + break; + case 'img': + //todo base64暂时去掉,后边做远程图片上传后,干掉这个 + if (val = node.getAttr('src')) { + if (/^data:/.test(val)) { + node.parentNode.removeChild(node); + break; + } + } + node.setAttr('_src', node.getAttr('src')); + break; + case 'span': + if (browser.webkit && (val = node.getStyle('white-space'))) { + if (/nowrap|normal/.test(val)) { + node.setStyle('white-space', ''); + if (me.options.autoClearEmptyNode && utils.isEmptyObject(node.attrs)) { + node.parentNode.removeChild(node, true) + } + } + } + val = node.getAttr('id'); + if(val && /^_baidu_bookmark_/i.test(val)){ + node.parentNode.removeChild(node) + } + break; + case 'p': + if (val = node.getAttr('align')) { + node.setAttr('align'); + node.setStyle('text-align', val) + } + //trace:3431 +// var cssStyle = node.getAttr('style'); +// if (cssStyle) { +// cssStyle = cssStyle.replace(/(margin|padding)[^;]+/g, ''); +// node.setAttr('style', cssStyle) +// +// } + //p标签不允许嵌套 + utils.each(node.children,function(n){ + if(n.type == 'element' && n.tagName == 'p'){ + var next = n.nextSibling(); + node.parentNode.insertAfter(n,node); + var last = n; + while(next){ + var tmp = next.nextSibling(); + node.parentNode.insertAfter(next,last); + last = next; + next = tmp; + } + return false; + } + }); + if (!node.firstChild()) { + node.innerHTML(browser.ie ? ' ' : '
      ') + } + break; + case 'div': + if(node.getAttr('cdata_tag')){ + break; + } + //针对代码这里不处理插入代码的div + val = node.getAttr('class'); + if(val && /^line number\d+/.test(val)){ + break; + } + if(!allowDivTransToP){ + break; + } + var tmpNode, p = UE.uNode.createElement('p'); + while (tmpNode = node.firstChild()) { + if (tmpNode.type == 'text' || !UE.dom.dtd.$block[tmpNode.tagName]) { + p.appendChild(tmpNode); + } else { + if (p.firstChild()) { + node.parentNode.insertBefore(p, node); + p = UE.uNode.createElement('p'); + } else { + node.parentNode.insertBefore(tmpNode, node); + } + } + } + if (p.firstChild()) { + node.parentNode.insertBefore(p, node); + } + node.parentNode.removeChild(node); + break; + case 'dl': + node.tagName = 'ul'; + break; + case 'dt': + case 'dd': + node.tagName = 'li'; + break; + case 'li': + var className = node.getAttr('class'); + if (!className || !/list\-/.test(className)) { + node.setAttr() + } + var tmpNodes = node.getNodesByTagName('ol ul'); + UE.utils.each(tmpNodes, function (n) { + node.parentNode.insertAfter(n, node); + }); + break; + case 'td': + case 'th': + case 'caption': + if(!node.children || !node.children.length){ + node.appendChild(browser.ie11below ? UE.uNode.createText(' ') : UE.uNode.createElement('br')) + } + break; + case 'table': + if(me.options.disabledTableInTable && tdParent(node)){ + node.parentNode.insertBefore(UE.uNode.createText(node.innerText()),node); + node.parentNode.removeChild(node) + } + } + + } +// if(node.type == 'comment'){ +// node.parentNode.removeChild(node); +// } + }) + + }); + + //从编辑器出去的内容处理 + me.addOutputRule(function (root) { + + var val; + root.traversal(function (node) { + if (node.type == 'element') { + + if (me.options.autoClearEmptyNode && dtd.$inline[node.tagName] && !dtd.$empty[node.tagName] && (!node.attrs || utils.isEmptyObject(node.attrs))) { + + if (!node.firstChild()) node.parentNode.removeChild(node); + else if (node.tagName == 'span' && (!node.attrs || utils.isEmptyObject(node.attrs))) { + node.parentNode.removeChild(node, true) + } + return; + } + switch (node.tagName) { + case 'div': + if (val = node.getAttr('cdata_tag')) { + node.tagName = val; + node.appendChild(UE.uNode.createText(node.getAttr('cdata_data'))); + node.setAttr({cdata_tag: '', cdata_data: '','_ue_custom_node_':''}); + } + break; + case 'a': + if (val = node.getAttr('_href')) { + node.setAttr({ + 'href': utils.html(val), + '_href': '' + }) + } + break; + break; + case 'span': + val = node.getAttr('id'); + if(val && /^_baidu_bookmark_/i.test(val)){ + node.parentNode.removeChild(node) + } + break; + case 'img': + if (val = node.getAttr('_src')) { + node.setAttr({ + 'src': node.getAttr('_src'), + '_src': '' + }) + } + + + } + } + + }) + + + }); +}; + + +// plugins/inserthtml.js +/** + * 插入html字符串插件 + * @file + * @since 1.2.6.1 + */ + +/** + * 插入html代码 + * @command inserthtml + * @method execCommand + * @param { String } cmd 命令字符串 + * @param { String } html 插入的html字符串 + * @remaind 插入的标签内容是在当前的选区位置上插入,如果当前是闭合状态,那直接插入内容, 如果当前是选中状态,将先清除当前选中内容后,再做插入 + * @warning 注意:该命令会对当前选区的位置,对插入的内容进行过滤转换处理。 过滤的规则遵循html语意化的原则。 + * @example + * ```javascript + * //xxx[BB]xxx 当前选区为非闭合选区,选中BB这两个文本 + * //执行命令,插入CC + * //插入后的效果 xxxCCxxx + * //

      xx|xxx

      当前选区为闭合状态 + * //插入

      CC

      + * //结果

      xx

      CC

      xxx

      + * //

      xxxx

      |

      xxx

      当前选区在两个p标签之间 + * //插入 xxxx + * //结果

      xxxx

      xxxx

      xxx

      + * ``` + */ + +UE.commands['inserthtml'] = { + execCommand: function (command,html,notNeedFilter){ + var me = this, + range, + div; + if(!html){ + return; + } + if(me.fireEvent('beforeinserthtml',html) === true){ + return; + } + range = me.selection.getRange(); + div = range.document.createElement( 'div' ); + div.style.display = 'inline'; + + if (!notNeedFilter) { + var root = UE.htmlparser(html); + //如果给了过滤规则就先进行过滤 + if(me.options.filterRules){ + UE.filterNode(root,me.options.filterRules); + } + //执行默认的处理 + me.filterInputRule(root); + html = root.toHtml() + } + div.innerHTML = utils.trim( html ); + + if ( !range.collapsed ) { + var tmpNode = range.startContainer; + if(domUtils.isFillChar(tmpNode)){ + range.setStartBefore(tmpNode) + } + tmpNode = range.endContainer; + if(domUtils.isFillChar(tmpNode)){ + range.setEndAfter(tmpNode) + } + range.txtToElmBoundary(); + //结束边界可能放到了br的前边,要把br包含进来 + // x[xxx]
      + if(range.endContainer && range.endContainer.nodeType == 1){ + tmpNode = range.endContainer.childNodes[range.endOffset]; + if(tmpNode && domUtils.isBr(tmpNode)){ + range.setEndAfter(tmpNode); + } + } + if(range.startOffset == 0){ + tmpNode = range.startContainer; + if(domUtils.isBoundaryNode(tmpNode,'firstChild') ){ + tmpNode = range.endContainer; + if(range.endOffset == (tmpNode.nodeType == 3 ? tmpNode.nodeValue.length : tmpNode.childNodes.length) && domUtils.isBoundaryNode(tmpNode,'lastChild')){ + me.body.innerHTML = '

      '+(browser.ie ? '' : '
      ')+'

      '; + range.setStart(me.body.firstChild,0).collapse(true) + + } + } + } + !range.collapsed && range.deleteContents(); + if(range.startContainer.nodeType == 1){ + var child = range.startContainer.childNodes[range.startOffset],pre; + if(child && domUtils.isBlockElm(child) && (pre = child.previousSibling) && domUtils.isBlockElm(pre)){ + range.setEnd(pre,pre.childNodes.length).collapse(); + while(child.firstChild){ + pre.appendChild(child.firstChild); + } + domUtils.remove(child); + } + } + + } + + + var child,parent,pre,tmp,hadBreak = 0, nextNode; + //如果当前位置选中了fillchar要干掉,要不会产生空行 + if(range.inFillChar()){ + child = range.startContainer; + if(domUtils.isFillChar(child)){ + range.setStartBefore(child).collapse(true); + domUtils.remove(child); + }else if(domUtils.isFillChar(child,true)){ + child.nodeValue = child.nodeValue.replace(fillCharReg,''); + range.startOffset--; + range.collapsed && range.collapse(true) + } + } + //列表单独处理 + var li = domUtils.findParentByTagName(range.startContainer,'li',true); + if(li){ + var next,last; + while(child = div.firstChild){ + //针对hr单独处理一下先 + while(child && (child.nodeType == 3 || !domUtils.isBlockElm(child) || child.tagName=='HR' )){ + next = child.nextSibling; + range.insertNode( child).collapse(); + last = child; + child = next; + + } + if(child){ + if(/^(ol|ul)$/i.test(child.tagName)){ + while(child.firstChild){ + last = child.firstChild; + domUtils.insertAfter(li,child.firstChild); + li = li.nextSibling; + } + domUtils.remove(child) + }else{ + var tmpLi; + next = child.nextSibling; + tmpLi = me.document.createElement('li'); + domUtils.insertAfter(li,tmpLi); + tmpLi.appendChild(child); + last = child; + child = next; + li = tmpLi; + } + } + } + li = domUtils.findParentByTagName(range.startContainer,'li',true); + if(domUtils.isEmptyBlock(li)){ + domUtils.remove(li) + } + if(last){ + + range.setStartAfter(last).collapse(true).select(true) + } + }else{ + while ( child = div.firstChild ) { + if(hadBreak){ + var p = me.document.createElement('p'); + while(child && (child.nodeType == 3 || !dtd.$block[child.tagName])){ + nextNode = child.nextSibling; + p.appendChild(child); + child = nextNode; + } + if(p.firstChild){ + + child = p + } + } + range.insertNode( child ); + nextNode = child.nextSibling; + if ( !hadBreak && child.nodeType == domUtils.NODE_ELEMENT && domUtils.isBlockElm( child ) ){ + + parent = domUtils.findParent( child,function ( node ){ return domUtils.isBlockElm( node ); } ); + if ( parent && parent.tagName.toLowerCase() != 'body' && !(dtd[parent.tagName][child.nodeName] && child.parentNode === parent)){ + if(!dtd[parent.tagName][child.nodeName]){ + pre = parent; + }else{ + tmp = child.parentNode; + while (tmp !== parent){ + pre = tmp; + tmp = tmp.parentNode; + + } + } + + + domUtils.breakParent( child, pre || tmp ); + //去掉break后前一个多余的节点

      |<[p> ==>

      |

      + var pre = child.previousSibling; + domUtils.trimWhiteTextNode(pre); + if(!pre.childNodes.length){ + domUtils.remove(pre); + } + //trace:2012,在非ie的情况,切开后剩下的节点有可能不能点入光标添加br占位 + + if(!browser.ie && + (next = child.nextSibling) && + domUtils.isBlockElm(next) && + next.lastChild && + !domUtils.isBr(next.lastChild)){ + next.appendChild(me.document.createElement('br')); + } + hadBreak = 1; + } + } + var next = child.nextSibling; + if(!div.firstChild && next && domUtils.isBlockElm(next)){ + + range.setStart(next,0).collapse(true); + break; + } + range.setEndAfter( child ).collapse(); + + } + + child = range.startContainer; + + if(nextNode && domUtils.isBr(nextNode)){ + domUtils.remove(nextNode) + } + //用chrome可能有空白展位符 + if(domUtils.isBlockElm(child) && domUtils.isEmptyNode(child)){ + if(nextNode = child.nextSibling){ + domUtils.remove(child); + if(nextNode.nodeType == 1 && dtd.$block[nextNode.tagName]){ + + range.setStart(nextNode,0).collapse(true).shrinkBoundary() + } + }else{ + + try{ + child.innerHTML = browser.ie ? domUtils.fillChar : '
      '; + }catch(e){ + range.setStartBefore(child); + domUtils.remove(child) + } + + } + + } + //加上true因为在删除表情等时会删两次,第一次是删的fillData + try{ + range.select(true); + }catch(e){} + + } + + + + setTimeout(function(){ + range = me.selection.getRange(); + range.scrollToView(me.autoHeightEnabled,me.autoHeightEnabled ? domUtils.getXY(me.iframe).y:0); + me.fireEvent('afterinserthtml', html); + },200); + } +}; + + +// plugins/autotypeset.js +/** + * 自动排版 + * @file + * @since 1.2.6.1 + */ + +/** + * 对当前编辑器的内容执行自动排版, 排版的行为根据config配置文件里的“autotypeset”选项进行控制。 + * @command autotypeset + * @method execCommand + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * editor.execCommand( 'autotypeset' ); + * ``` + */ + +UE.plugins['autotypeset'] = function(){ + + this.setOpt({'autotypeset': { + mergeEmptyline: true, //合并空行 + removeClass: true, //去掉冗余的class + removeEmptyline: false, //去掉空行 + textAlign:"left", //段落的排版方式,可以是 left,right,center,justify 去掉这个属性表示不执行排版 + imageBlockLine: 'center', //图片的浮动方式,独占一行剧中,左右浮动,默认: center,left,right,none 去掉这个属性表示不执行排版 + pasteFilter: false, //根据规则过滤没事粘贴进来的内容 + clearFontSize: false, //去掉所有的内嵌字号,使用编辑器默认的字号 + clearFontFamily: false, //去掉所有的内嵌字体,使用编辑器默认的字体 + removeEmptyNode: false, // 去掉空节点 + //可以去掉的标签 + removeTagNames: utils.extend({div:1},dtd.$removeEmpty), + indent: false, // 行首缩进 + indentValue : '2em', //行首缩进的大小 + bdc2sb: false, + tobdc: false + }}); + + var me = this, + opt = me.options.autotypeset, + remainClass = { + 'selectTdClass':1, + 'pagebreak':1, + 'anchorclass':1 + }, + remainTag = { + 'li':1 + }, + tags = { + div:1, + p:1, + //trace:2183 这些也认为是行 + blockquote:1,center:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1, + span:1 + }, + highlightCont; + //升级了版本,但配置项目里没有autotypeset + if(!opt){ + return; + } + + readLocalOpts(); + + function isLine(node,notEmpty){ + if(!node || node.nodeType == 3) + return 0; + if(domUtils.isBr(node)) + return 1; + if(node && node.parentNode && tags[node.tagName.toLowerCase()]){ + if(highlightCont && highlightCont.contains(node) + || + node.getAttribute('pagebreak') + ){ + return 0; + } + + return notEmpty ? !domUtils.isEmptyBlock(node) : domUtils.isEmptyBlock(node,new RegExp('[\\s'+domUtils.fillChar + +']','g')); + } + } + + function removeNotAttributeSpan(node){ + if(!node.style.cssText){ + domUtils.removeAttributes(node,['style']); + if(node.tagName.toLowerCase() == 'span' && domUtils.hasNoAttributes(node)){ + domUtils.remove(node,true); + } + } + } + function autotype(type,html){ + + var me = this,cont; + if(html){ + if(!opt.pasteFilter){ + return; + } + cont = me.document.createElement('div'); + cont.innerHTML = html.html; + }else{ + cont = me.document.body; + } + var nodes = domUtils.getElementsByTagName(cont,'*'); + + // 行首缩进,段落方向,段间距,段内间距 + for(var i=0,ci;ci=nodes[i++];){ + + if(me.fireEvent('excludeNodeinautotype',ci) === true){ + continue; + } + //font-size + if(opt.clearFontSize && ci.style.fontSize){ + domUtils.removeStyle(ci,'font-size'); + + removeNotAttributeSpan(ci); + + } + //font-family + if(opt.clearFontFamily && ci.style.fontFamily){ + domUtils.removeStyle(ci,'font-family'); + removeNotAttributeSpan(ci); + } + + if(isLine(ci)){ + //合并空行 + if(opt.mergeEmptyline ){ + var next = ci.nextSibling,tmpNode,isBr = domUtils.isBr(ci); + while(isLine(next)){ + tmpNode = next; + next = tmpNode.nextSibling; + if(isBr && (!next || next && !domUtils.isBr(next))){ + break; + } + domUtils.remove(tmpNode); + } + + } + //去掉空行,保留占位的空行 + if(opt.removeEmptyline && domUtils.inDoc(ci,cont) && !remainTag[ci.parentNode.tagName.toLowerCase()] ){ + if(domUtils.isBr(ci)){ + next = ci.nextSibling; + if(next && !domUtils.isBr(next)){ + continue; + } + } + domUtils.remove(ci); + continue; + + } + + } + if(isLine(ci,true) && ci.tagName != 'SPAN'){ + if(opt.indent){ + ci.style.textIndent = opt.indentValue; + } + if(opt.textAlign){ + ci.style.textAlign = opt.textAlign; + } + // if(opt.lineHeight) + // ci.style.lineHeight = opt.lineHeight + 'cm'; + + } + + //去掉class,保留的class不去掉 + if(opt.removeClass && ci.className && !remainClass[ci.className.toLowerCase()]){ + + if(highlightCont && highlightCont.contains(ci)){ + continue; + } + domUtils.removeAttributes(ci,['class']); + } + + //表情不处理 + if(opt.imageBlockLine && ci.tagName.toLowerCase() == 'img' && !ci.getAttribute('emotion')){ + if(html){ + var img = ci; + switch (opt.imageBlockLine){ + case 'left': + case 'right': + case 'none': + var pN = img.parentNode,tmpNode,pre,next; + while(dtd.$inline[pN.tagName] || pN.tagName == 'A'){ + pN = pN.parentNode; + } + tmpNode = pN; + if(tmpNode.tagName == 'P' && domUtils.getStyle(tmpNode,'text-align') == 'center'){ + if(!domUtils.isBody(tmpNode) && domUtils.getChildCount(tmpNode,function(node){return !domUtils.isBr(node) && !domUtils.isWhitespace(node)}) == 1){ + pre = tmpNode.previousSibling; + next = tmpNode.nextSibling; + if(pre && next && pre.nodeType == 1 && next.nodeType == 1 && pre.tagName == next.tagName && domUtils.isBlockElm(pre)){ + pre.appendChild(tmpNode.firstChild); + while(next.firstChild){ + pre.appendChild(next.firstChild); + } + domUtils.remove(tmpNode); + domUtils.remove(next); + }else{ + domUtils.setStyle(tmpNode,'text-align',''); + } + + + } + + + } + domUtils.setStyle(img,'float', opt.imageBlockLine); + break; + case 'center': + if(me.queryCommandValue('imagefloat') != 'center'){ + pN = img.parentNode; + domUtils.setStyle(img,'float','none'); + tmpNode = img; + while(pN && domUtils.getChildCount(pN,function(node){return !domUtils.isBr(node) && !domUtils.isWhitespace(node)}) == 1 + && (dtd.$inline[pN.tagName] || pN.tagName == 'A')){ + tmpNode = pN; + pN = pN.parentNode; + } + var pNode = me.document.createElement('p'); + domUtils.setAttributes(pNode,{ + + style:'text-align:center' + }); + tmpNode.parentNode.insertBefore(pNode,tmpNode); + pNode.appendChild(tmpNode); + domUtils.setStyle(tmpNode,'float',''); + + } + + + } + } else { + var range = me.selection.getRange(); + range.selectNode(ci).select(); + me.execCommand('imagefloat', opt.imageBlockLine); + } + + } + + //去掉冗余的标签 + if(opt.removeEmptyNode){ + if(opt.removeTagNames[ci.tagName.toLowerCase()] && domUtils.hasNoAttributes(ci) && domUtils.isEmptyBlock(ci)){ + domUtils.remove(ci); + } + } + } + if(opt.tobdc){ + var root = UE.htmlparser(cont.innerHTML); + root.traversal(function(node){ + if(node.type == 'text'){ + node.data = ToDBC(node.data) + } + }); + cont.innerHTML = root.toHtml() + } + if(opt.bdc2sb){ + var root = UE.htmlparser(cont.innerHTML); + root.traversal(function(node){ + if(node.type == 'text'){ + node.data = DBC2SB(node.data) + } + }); + cont.innerHTML = root.toHtml() + } + if(html){ + html.html = cont.innerHTML; + } + } + if(opt.pasteFilter){ + me.addListener('beforepaste',autotype); + } + + function DBC2SB(str) { + var result = ''; + for (var i = 0; i < str.length; i++) { + var code = str.charCodeAt(i); //获取当前字符的unicode编码 + if (code >= 65281 && code <= 65373)//在这个unicode编码范围中的是所有的英文字母已经各种字符 + { + result += String.fromCharCode(str.charCodeAt(i) - 65248); //把全角字符的unicode编码转换为对应半角字符的unicode码 + } else if (code == 12288)//空格 + { + result += String.fromCharCode(str.charCodeAt(i) - 12288 + 32); + } else { + result += str.charAt(i); + } + } + return result; + } + function ToDBC(txtstring) { + txtstring = utils.html(txtstring); + var tmp = ""; + var mark = "";/*用于判断,如果是html尖括里的标记,则不进行全角的转换*/ + for (var i = 0; i < txtstring.length; i++) { + if (txtstring.charCodeAt(i) == 32) { + tmp = tmp + String.fromCharCode(12288); + } + else if (txtstring.charCodeAt(i) < 127) { + tmp = tmp + String.fromCharCode(txtstring.charCodeAt(i) + 65248); + } + else { + tmp += txtstring.charAt(i); + } + } + return tmp; + } + + function readLocalOpts() { + var cookieOpt = me.getPreferences('autotypeset'); + utils.extend(me.options.autotypeset, cookieOpt); + } + + me.commands['autotypeset'] = { + execCommand:function () { + me.removeListener('beforepaste',autotype); + if(opt.pasteFilter){ + me.addListener('beforepaste',autotype); + } + autotype.call(me) + } + + }; + +}; + + + +// plugins/autosubmit.js +/** + * 快捷键提交 + * @file + * @since 1.2.6.1 + */ + +/** + * 提交表单 + * @command autosubmit + * @method execCommand + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * editor.execCommand( 'autosubmit' ); + * ``` + */ + +UE.plugin.register('autosubmit',function(){ + return { + shortcutkey:{ + "autosubmit":"ctrl+13" //手动提交 + }, + commands:{ + 'autosubmit':{ + execCommand:function () { + var me=this, + form = domUtils.findParentByTagName(me.iframe,"form", false); + if (form){ + if(me.fireEvent("beforesubmit")===false){ + return; + } + me.sync(); + form.submit(); + } + } + } + } + } +}); + +// plugins/background.js +/** + * 背景插件,为UEditor提供设置背景功能 + * @file + * @since 1.2.6.1 + */ +UE.plugin.register('background', function () { + var me = this, + cssRuleId = 'editor_background', + isSetColored, + reg = new RegExp('body[\\s]*\\{(.+)\\}', 'i'); + + function stringToObj(str) { + var obj = {}, styles = str.split(';'); + utils.each(styles, function (v) { + var index = v.indexOf(':'), + key = utils.trim(v.substr(0, index)).toLowerCase(); + key && (obj[key] = utils.trim(v.substr(index + 1) || '')); + }); + return obj; + } + + function setBackground(obj) { + if (obj) { + var styles = []; + for (var name in obj) { + if (obj.hasOwnProperty(name)) { + styles.push(name + ":" + obj[name] + '; '); + } + } + utils.cssRule(cssRuleId, styles.length ? ('body{' + styles.join("") + '}') : '', me.document); + } else { + utils.cssRule(cssRuleId, '', me.document) + } + } + //重写editor.hasContent方法 + + var orgFn = me.hasContents; + me.hasContents = function(){ + if(me.queryCommandValue('background')){ + return true + } + return orgFn.apply(me,arguments); + }; + return { + bindEvents: { + 'getAllHtml': function (type, headHtml) { + var body = this.body, + su = domUtils.getComputedStyle(body, "background-image"), + url = ""; + if (su.indexOf(me.options.imagePath) > 0) { + url = su.substring(su.indexOf(me.options.imagePath), su.length - 1).replace(/"|\(|\)/ig, ""); + } else { + url = su != "none" ? su.replace(/url\("?|"?\)/ig, "") : ""; + } + var html = ' '; + headHtml.push(html); + }, + 'aftersetcontent': function () { + if(isSetColored == false) setBackground(); + } + }, + inputRule: function (root) { + isSetColored = false; + utils.each(root.getNodesByTagName('p'), function (p) { + var styles = p.getAttr('data-background'); + if (styles) { + isSetColored = true; + setBackground(stringToObj(styles)); + p.parentNode.removeChild(p); + } + }) + }, + outputRule: function (root) { + var me = this, + styles = (utils.cssRule(cssRuleId, me.document) || '').replace(/[\n\r]+/g, '').match(reg); + if (styles) { + root.appendChild(UE.uNode.createElement('


      ')); + } + }, + commands: { + 'background': { + execCommand: function (cmd, obj) { + setBackground(obj); + }, + queryCommandValue: function () { + var me = this, + styles = (utils.cssRule(cssRuleId, me.document) || '').replace(/[\n\r]+/g, '').match(reg); + return styles ? stringToObj(styles[1]) : null; + }, + notNeedUndo: true + } + } + } +}); + +// plugins/image.js +/** + * 图片插入、排版插件 + * @file + * @since 1.2.6.1 + */ + +/** + * 图片对齐方式 + * @command imagefloat + * @method execCommand + * @remind 值center为独占一行居中 + * @param { String } cmd 命令字符串 + * @param { String } align 对齐方式,可传left、right、none、center + * @remaind center表示图片独占一行 + * @example + * ```javascript + * editor.execCommand( 'imagefloat', 'center' ); + * ``` + */ + +/** + * 如果选区所在位置是图片区域 + * @command imagefloat + * @method queryCommandValue + * @param { String } cmd 命令字符串 + * @return { String } 返回图片对齐方式 + * @example + * ```javascript + * editor.queryCommandValue( 'imagefloat' ); + * ``` + */ + +UE.commands['imagefloat'] = { + execCommand:function (cmd, align) { + var me = this, + range = me.selection.getRange(); + if (!range.collapsed) { + var img = range.getClosedNode(); + if (img && img.tagName == 'IMG') { + switch (align) { + case 'left': + case 'right': + case 'none': + var pN = img.parentNode, tmpNode, pre, next; + while (dtd.$inline[pN.tagName] || pN.tagName == 'A') { + pN = pN.parentNode; + } + tmpNode = pN; + if (tmpNode.tagName == 'P' && domUtils.getStyle(tmpNode, 'text-align') == 'center') { + if (!domUtils.isBody(tmpNode) && domUtils.getChildCount(tmpNode, function (node) { + return !domUtils.isBr(node) && !domUtils.isWhitespace(node); + }) == 1) { + pre = tmpNode.previousSibling; + next = tmpNode.nextSibling; + if (pre && next && pre.nodeType == 1 && next.nodeType == 1 && pre.tagName == next.tagName && domUtils.isBlockElm(pre)) { + pre.appendChild(tmpNode.firstChild); + while (next.firstChild) { + pre.appendChild(next.firstChild); + } + domUtils.remove(tmpNode); + domUtils.remove(next); + } else { + domUtils.setStyle(tmpNode, 'text-align', ''); + } + + + } + + range.selectNode(img).select(); + } + domUtils.setStyle(img, 'float', align == 'none' ? '' : align); + if(align == 'none'){ + domUtils.removeAttributes(img,'align'); + } + + break; + case 'center': + if (me.queryCommandValue('imagefloat') != 'center') { + pN = img.parentNode; + domUtils.setStyle(img, 'float', ''); + domUtils.removeAttributes(img,'align'); + tmpNode = img; + while (pN && domUtils.getChildCount(pN, function (node) { + return !domUtils.isBr(node) && !domUtils.isWhitespace(node); + }) == 1 + && (dtd.$inline[pN.tagName] || pN.tagName == 'A')) { + tmpNode = pN; + pN = pN.parentNode; + } + range.setStartBefore(tmpNode).setCursor(false); + pN = me.document.createElement('div'); + pN.appendChild(tmpNode); + domUtils.setStyle(tmpNode, 'float', ''); + + me.execCommand('insertHtml', '

      ' + pN.innerHTML + '

      '); + + tmpNode = me.document.getElementById('_img_parent_tmp'); + tmpNode.removeAttribute('id'); + tmpNode = tmpNode.firstChild; + range.selectNode(tmpNode).select(); + //去掉后边多余的元素 + next = tmpNode.parentNode.nextSibling; + if (next && domUtils.isEmptyNode(next)) { + domUtils.remove(next); + } + + } + + break; + } + + } + } + }, + queryCommandValue:function () { + var range = this.selection.getRange(), + startNode, floatStyle; + if (range.collapsed) { + return 'none'; + } + startNode = range.getClosedNode(); + if (startNode && startNode.nodeType == 1 && startNode.tagName == 'IMG') { + floatStyle = domUtils.getComputedStyle(startNode, 'float') || startNode.getAttribute('align'); + + if (floatStyle == 'none') { + floatStyle = domUtils.getComputedStyle(startNode.parentNode, 'text-align') == 'center' ? 'center' : floatStyle; + } + return { + left:1, + right:1, + center:1 + }[floatStyle] ? floatStyle : 'none'; + } + return 'none'; + + + }, + queryCommandState:function () { + var range = this.selection.getRange(), + startNode; + + if (range.collapsed) return -1; + + startNode = range.getClosedNode(); + if (startNode && startNode.nodeType == 1 && startNode.tagName == 'IMG') { + return 0; + } + return -1; + } +}; + + +/** + * 插入图片 + * @command insertimage + * @method execCommand + * @param { String } cmd 命令字符串 + * @param { Object } opt 属性键值对,这些属性都将被复制到当前插入图片 + * @remind 该命令第二个参数可接受一个图片配置项对象的数组,可以插入多张图片, + * 此时数组的每一个元素都是一个Object类型的图片属性集合。 + * @example + * ```javascript + * editor.execCommand( 'insertimage', { + * src:'a/b/c.jpg', + * width:'100', + * height:'100' + * } ); + * ``` + * @example + * ```javascript + * editor.execCommand( 'insertimage', [{ + * src:'a/b/c.jpg', + * width:'100', + * height:'100' + * },{ + * src:'a/b/d.jpg', + * width:'100', + * height:'100' + * }] ); + * ``` + */ + +UE.commands['insertimage'] = { + execCommand:function (cmd, opt) { + + opt = utils.isArray(opt) ? opt : [opt]; + if (!opt.length) { + return; + } + var me = this, + range = me.selection.getRange(), + img = range.getClosedNode(); + + if(me.fireEvent('beforeinsertimage', opt) === true){ + return; + } + + function unhtmlData(imgCi) { + + utils.each('width,height,border,hspace,vspace'.split(','), function (item) { + + if (imgCi[item]) { + imgCi[item] = parseInt(imgCi[item], 10) || 0; + } + }); + + utils.each('src,_src'.split(','), function (item) { + + if (imgCi[item]) { + imgCi[item] = utils.unhtmlForUrl(imgCi[item]); + } + }); + utils.each('title,alt'.split(','), function (item) { + + if (imgCi[item]) { + imgCi[item] = utils.unhtml(imgCi[item]); + } + }); + } + + if (img && /img/i.test(img.tagName) && (img.className != "edui-faked-video" || img.className.indexOf("edui-upload-video")!=-1) && !img.getAttribute("word_img")) { + var first = opt.shift(); + var floatStyle = first['floatStyle']; + delete first['floatStyle']; +//// img.style.border = (first.border||0) +"px solid #000"; +//// img.style.margin = (first.margin||0) +"px"; +// img.style.cssText += ';margin:' + (first.margin||0) +"px;" + 'border:' + (first.border||0) +"px solid #000"; + domUtils.setAttributes(img, first); + me.execCommand('imagefloat', floatStyle); + if (opt.length > 0) { + range.setStartAfter(img).setCursor(false, true); + me.execCommand('insertimage', opt); + } + + } else { + var html = [], str = '', ci; + ci = opt[0]; + if (opt.length == 1) { + unhtmlData(ci); + + str = '' + ci.alt + ''; + if (ci['floatStyle'] == 'center') { + str = '

      ' + str + '

      '; + } + html.push(str); + + } else { + for (var i = 0; ci = opt[i++];) { + unhtmlData(ci); + str = '

      '; + html.push(str); + } + } + + me.execCommand('insertHtml', html.join('')); + } + + me.fireEvent('afterinsertimage', opt) + } +}; + + +// plugins/justify.js +/** + * 段落格式 + * @file + * @since 1.2.6.1 + */ + +/** + * 段落对齐方式 + * @command justify + * @method execCommand + * @param { String } cmd 命令字符串 + * @param { String } align 对齐方式:left => 居左,right => 居右,center => 居中,justify => 两端对齐 + * @example + * ```javascript + * editor.execCommand( 'justify', 'center' ); + * ``` + */ +/** + * 如果选区所在位置是段落区域,返回当前段落对齐方式 + * @command justify + * @method queryCommandValue + * @param { String } cmd 命令字符串 + * @return { String } 返回段落对齐方式 + * @example + * ```javascript + * editor.queryCommandValue( 'justify' ); + * ``` + */ + +UE.plugins['justify']=function(){ + var me=this, + block = domUtils.isBlockElm, + defaultValue = { + left:1, + right:1, + center:1, + justify:1 + }, + doJustify = function (range, style) { + var bookmark = range.createBookmark(), + filterFn = function (node) { + return node.nodeType == 1 ? node.tagName.toLowerCase() != 'br' && !domUtils.isBookmarkNode(node) : !domUtils.isWhitespace(node); + }; + + range.enlarge(true); + var bookmark2 = range.createBookmark(), + current = domUtils.getNextDomNode(bookmark2.start, false, filterFn), + tmpRange = range.cloneRange(), + tmpNode; + while (current && !(domUtils.getPosition(current, bookmark2.end) & domUtils.POSITION_FOLLOWING)) { + if (current.nodeType == 3 || !block(current)) { + tmpRange.setStartBefore(current); + while (current && current !== bookmark2.end && !block(current)) { + tmpNode = current; + current = domUtils.getNextDomNode(current, false, null, function (node) { + return !block(node); + }); + } + tmpRange.setEndAfter(tmpNode); + var common = tmpRange.getCommonAncestor(); + if (!domUtils.isBody(common) && block(common)) { + domUtils.setStyles(common, utils.isString(style) ? {'text-align':style} : style); + current = common; + } else { + var p = range.document.createElement('p'); + domUtils.setStyles(p, utils.isString(style) ? {'text-align':style} : style); + var frag = tmpRange.extractContents(); + p.appendChild(frag); + tmpRange.insertNode(p); + current = p; + } + current = domUtils.getNextDomNode(current, false, filterFn); + } else { + current = domUtils.getNextDomNode(current, true, filterFn); + } + } + return range.moveToBookmark(bookmark2).moveToBookmark(bookmark); + }; + + UE.commands['justify'] = { + execCommand:function (cmdName, align) { + var range = this.selection.getRange(), + txt; + + //闭合时单独处理 + if (range.collapsed) { + txt = this.document.createTextNode('p'); + range.insertNode(txt); + } + doJustify(range, align); + if (txt) { + range.setStartBefore(txt).collapse(true); + domUtils.remove(txt); + } + + range.select(); + + + return true; + }, + queryCommandValue:function () { + var startNode = this.selection.getStart(), + value = domUtils.getComputedStyle(startNode, 'text-align'); + return defaultValue[value] ? value : 'left'; + }, + queryCommandState:function () { + var start = this.selection.getStart(), + cell = start && domUtils.findParentByTagName(start, ["td", "th","caption"], true); + + return cell? -1:0; + } + + }; +}; + + +// plugins/font.js +/** + * 字体颜色,背景色,字号,字体,下划线,删除线 + * @file + * @since 1.2.6.1 + */ + +/** + * 字体颜色 + * @command forecolor + * @method execCommand + * @param { String } cmd 命令字符串 + * @param { String } value 色值(必须十六进制) + * @example + * ```javascript + * editor.execCommand( 'forecolor', '#000' ); + * ``` + */ +/** + * 返回选区字体颜色 + * @command forecolor + * @method queryCommandValue + * @param { String } cmd 命令字符串 + * @return { String } 返回字体颜色 + * @example + * ```javascript + * editor.queryCommandValue( 'forecolor' ); + * ``` + */ + +/** + * 字体背景颜色 + * @command backcolor + * @method execCommand + * @param { String } cmd 命令字符串 + * @param { String } value 色值(必须十六进制) + * @example + * ```javascript + * editor.execCommand( 'backcolor', '#000' ); + * ``` + */ +/** + * 返回选区字体颜色 + * @command backcolor + * @method queryCommandValue + * @param { String } cmd 命令字符串 + * @return { String } 返回字体背景颜色 + * @example + * ```javascript + * editor.queryCommandValue( 'backcolor' ); + * ``` + */ + +/** + * 字体大小 + * @command fontsize + * @method execCommand + * @param { String } cmd 命令字符串 + * @param { String } value 字体大小 + * @example + * ```javascript + * editor.execCommand( 'fontsize', '14px' ); + * ``` + */ +/** + * 返回选区字体大小 + * @command fontsize + * @method queryCommandValue + * @param { String } cmd 命令字符串 + * @return { String } 返回字体大小 + * @example + * ```javascript + * editor.queryCommandValue( 'fontsize' ); + * ``` + */ + +/** + * 字体样式 + * @command fontfamily + * @method execCommand + * @param { String } cmd 命令字符串 + * @param { String } value 字体样式 + * @example + * ```javascript + * editor.execCommand( 'fontfamily', '微软雅黑' ); + * ``` + */ +/** + * 返回选区字体样式 + * @command fontfamily + * @method queryCommandValue + * @param { String } cmd 命令字符串 + * @return { String } 返回字体样式 + * @example + * ```javascript + * editor.queryCommandValue( 'fontfamily' ); + * ``` + */ + +/** + * 字体下划线,与删除线互斥 + * @command underline + * @method execCommand + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * editor.execCommand( 'underline' ); + * ``` + */ + +/** + * 字体删除线,与下划线互斥 + * @command strikethrough + * @method execCommand + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * editor.execCommand( 'strikethrough' ); + * ``` + */ + +/** + * 字体边框 + * @command fontborder + * @method execCommand + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * editor.execCommand( 'fontborder' ); + * ``` + */ + +UE.plugins['font'] = function () { + var me = this, + fonts = { + 'forecolor': 'color', + 'backcolor': 'background-color', + 'fontsize': 'font-size', + 'fontfamily': 'font-family', + 'underline': 'text-decoration', + 'strikethrough': 'text-decoration', + 'fontborder': 'border' + }, + needCmd = {'underline': 1, 'strikethrough': 1, 'fontborder': 1}, + needSetChild = { + 'forecolor': 'color', + 'backcolor': 'background-color', + 'fontsize': 'font-size', + 'fontfamily': 'font-family' + + }; + me.setOpt({ + 'fontfamily': [ + { name: 'songti', val: '宋体,SimSun'}, + { name: 'yahei', val: '微软雅黑,Microsoft YaHei'}, + { name: 'kaiti', val: '楷体,楷体_GB2312, SimKai'}, + { name: 'heiti', val: '黑体, SimHei'}, + { name: 'lishu', val: '隶书, SimLi'}, + { name: 'andaleMono', val: 'andale mono'}, + { name: 'arial', val: 'arial, helvetica,sans-serif'}, + { name: 'arialBlack', val: 'arial black,avant garde'}, + { name: 'comicSansMs', val: 'comic sans ms'}, + { name: 'impact', val: 'impact,chicago'}, + { name: 'timesNewRoman', val: 'times new roman'} + ], + 'fontsize': [10, 11, 12, 14, 16, 18, 20, 24, 36] + }); + + function mergeWithParent(node){ + var parent; + while(parent = node.parentNode){ + if(parent.tagName == 'SPAN' && domUtils.getChildCount(parent,function(child){ + return !domUtils.isBookmarkNode(child) && !domUtils.isBr(child) + }) == 1) { + parent.style.cssText += node.style.cssText; + domUtils.remove(node,true); + node = parent; + + }else{ + break; + } + } + + } + function mergeChild(rng,cmdName,value){ + if(needSetChild[cmdName]){ + rng.adjustmentBoundary(); + if(!rng.collapsed && rng.startContainer.nodeType == 1){ + var start = rng.startContainer.childNodes[rng.startOffset]; + if(start && domUtils.isTagNode(start,'span')){ + var bk = rng.createBookmark(); + utils.each(domUtils.getElementsByTagName(start, 'span'), function (span) { + if (!span.parentNode || domUtils.isBookmarkNode(span))return; + if(cmdName == 'backcolor' && domUtils.getComputedStyle(span,'background-color').toLowerCase() === value){ + return; + } + domUtils.removeStyle(span,needSetChild[cmdName]); + if(span.style.cssText.replace(/^\s+$/,'').length == 0){ + domUtils.remove(span,true) + } + }); + rng.moveToBookmark(bk) + } + } + } + + } + function mergesibling(rng,cmdName,value) { + var collapsed = rng.collapsed, + bk = rng.createBookmark(), common; + if (collapsed) { + common = bk.start.parentNode; + while (dtd.$inline[common.tagName]) { + common = common.parentNode; + } + } else { + common = domUtils.getCommonAncestor(bk.start, bk.end); + } + utils.each(domUtils.getElementsByTagName(common, 'span'), function (span) { + if (!span.parentNode || domUtils.isBookmarkNode(span))return; + if (/\s*border\s*:\s*none;?\s*/i.test(span.style.cssText)) { + if(/^\s*border\s*:\s*none;?\s*$/.test(span.style.cssText)){ + domUtils.remove(span, true); + }else{ + domUtils.removeStyle(span,'border'); + } + return + } + if (/border/i.test(span.style.cssText) && span.parentNode.tagName == 'SPAN' && /border/i.test(span.parentNode.style.cssText)) { + span.style.cssText = span.style.cssText.replace(/border[^:]*:[^;]+;?/gi, ''); + } + if(!(cmdName=='fontborder' && value=='none')){ + var next = span.nextSibling; + while (next && next.nodeType == 1 && next.tagName == 'SPAN' ) { + if(domUtils.isBookmarkNode(next) && cmdName == 'fontborder') { + span.appendChild(next); + next = span.nextSibling; + continue; + } + if (next.style.cssText == span.style.cssText) { + domUtils.moveChild(next, span); + domUtils.remove(next); + } + if (span.nextSibling === next) + break; + next = span.nextSibling; + } + } + + + mergeWithParent(span); + if(browser.ie && browser.version > 8 ){ + //拷贝父亲们的特别的属性,这里只做背景颜色的处理 + var parent = domUtils.findParent(span,function(n){return n.tagName == 'SPAN' && /background-color/.test(n.style.cssText)}); + if(parent && !/background-color/.test(span.style.cssText)){ + span.style.backgroundColor = parent.style.backgroundColor; + } + } + + }); + rng.moveToBookmark(bk); + mergeChild(rng,cmdName,value) + } + + me.addInputRule(function (root) { + utils.each(root.getNodesByTagName('u s del font strike'), function (node) { + if (node.tagName == 'font') { + var cssStyle = []; + for (var p in node.attrs) { + switch (p) { + case 'size': + cssStyle.push('font-size:' + + ({ + '1':'10', + '2':'12', + '3':'16', + '4':'18', + '5':'24', + '6':'32', + '7':'48' + }[node.attrs[p]] || node.attrs[p]) + 'px'); + break; + case 'color': + cssStyle.push('color:' + node.attrs[p]); + break; + case 'face': + cssStyle.push('font-family:' + node.attrs[p]); + break; + case 'style': + cssStyle.push(node.attrs[p]); + } + } + node.attrs = { + 'style': cssStyle.join(';') + }; + } else { + var val = node.tagName == 'u' ? 'underline' : 'line-through'; + node.attrs = { + 'style': (node.getAttr('style') || '') + 'text-decoration:' + val + ';' + } + } + node.tagName = 'span'; + }); +// utils.each(root.getNodesByTagName('span'), function (node) { +// var val; +// if(val = node.getAttr('class')){ +// if(/fontstrikethrough/.test(val)){ +// node.setStyle('text-decoration','line-through'); +// if(node.attrs['class']){ +// node.attrs['class'] = node.attrs['class'].replace(/fontstrikethrough/,''); +// }else{ +// node.setAttr('class') +// } +// } +// if(/fontborder/.test(val)){ +// node.setStyle('border','1px solid #000'); +// if(node.attrs['class']){ +// node.attrs['class'] = node.attrs['class'].replace(/fontborder/,''); +// }else{ +// node.setAttr('class') +// } +// } +// } +// }); + }); +// me.addOutputRule(function(root){ +// utils.each(root.getNodesByTagName('span'), function (node) { +// var val; +// if(val = node.getStyle('text-decoration')){ +// if(/line-through/.test(val)){ +// if(node.attrs['class']){ +// node.attrs['class'] += ' fontstrikethrough'; +// }else{ +// node.setAttr('class','fontstrikethrough') +// } +// } +// +// node.setStyle('text-decoration') +// } +// if(val = node.getStyle('border')){ +// if(/1px/.test(val) && /solid/.test(val)){ +// if(node.attrs['class']){ +// node.attrs['class'] += ' fontborder'; +// +// }else{ +// node.setAttr('class','fontborder') +// } +// } +// node.setStyle('border') +// +// } +// }); +// }); + for (var p in fonts) { + (function (cmd, style) { + UE.commands[cmd] = { + execCommand: function (cmdName, value) { + value = value || (this.queryCommandState(cmdName) ? 'none' : cmdName == 'underline' ? 'underline' : + cmdName == 'fontborder' ? '1px solid #000' : + 'line-through'); + var me = this, + range = this.selection.getRange(), + text; + + if (value == 'default') { + + if (range.collapsed) { + text = me.document.createTextNode('font'); + range.insertNode(text).select(); + + } + me.execCommand('removeFormat', 'span,a', style); + if (text) { + range.setStartBefore(text).collapse(true); + domUtils.remove(text); + } + mergesibling(range,cmdName,value); + range.select() + } else { + if (!range.collapsed) { + if (needCmd[cmd] && me.queryCommandValue(cmd)) { + me.execCommand('removeFormat', 'span,a', style); + } + range = me.selection.getRange(); + + range.applyInlineStyle('span', {'style': style + ':' + value}); + mergesibling(range, cmdName,value); + range.select(); + } else { + + var span = domUtils.findParentByTagName(range.startContainer, 'span', true); + text = me.document.createTextNode('font'); + if (span && !span.children.length && !span[browser.ie ? 'innerText' : 'textContent'].replace(fillCharReg, '').length) { + //for ie hack when enter + range.insertNode(text); + if (needCmd[cmd]) { + range.selectNode(text).select(); + me.execCommand('removeFormat', 'span,a', style, null); + + span = domUtils.findParentByTagName(text, 'span', true); + range.setStartBefore(text); + + } + span && (span.style.cssText += ';' + style + ':' + value); + range.collapse(true).select(); + + + } else { + range.insertNode(text); + range.selectNode(text).select(); + span = range.document.createElement('span'); + + if (needCmd[cmd]) { + //a标签内的不处理跳过 + if (domUtils.findParentByTagName(text, 'a', true)) { + range.setStartBefore(text).setCursor(); + domUtils.remove(text); + return; + } + me.execCommand('removeFormat', 'span,a', style); + } + + span.style.cssText = style + ':' + value; + + + text.parentNode.insertBefore(span, text); + //修复,span套span 但样式不继承的问题 + if (!browser.ie || browser.ie && browser.version == 9) { + var spanParent = span.parentNode; + while (!domUtils.isBlockElm(spanParent)) { + if (spanParent.tagName == 'SPAN') { + //opera合并style不会加入";" + span.style.cssText = spanParent.style.cssText + ";" + span.style.cssText; + } + spanParent = spanParent.parentNode; + } + } + + + if (opera) { + setTimeout(function () { + range.setStart(span, 0).collapse(true); + mergesibling(range, cmdName,value); + range.select(); + }); + } else { + range.setStart(span, 0).collapse(true); + mergesibling(range,cmdName,value); + range.select(); + } + + //trace:981 + //domUtils.mergeToParent(span) + } + domUtils.remove(text); + } + + + } + return true; + }, + queryCommandValue: function (cmdName) { + var startNode = this.selection.getStart(); + + //trace:946 + if (cmdName == 'underline' || cmdName == 'strikethrough') { + var tmpNode = startNode, value; + while (tmpNode && !domUtils.isBlockElm(tmpNode) && !domUtils.isBody(tmpNode)) { + if (tmpNode.nodeType == 1) { + value = domUtils.getComputedStyle(tmpNode, style); + if (value != 'none') { + return value; + } + } + + tmpNode = tmpNode.parentNode; + } + return 'none'; + } + if (cmdName == 'fontborder') { + var tmp = startNode, val; + while (tmp && dtd.$inline[tmp.tagName]) { + if (val = domUtils.getComputedStyle(tmp, 'border')) { + + if (/1px/.test(val) && /solid/.test(val)) { + return val; + } + } + tmp = tmp.parentNode; + } + return '' + } + + if( cmdName == 'FontSize' ) { + var styleVal = domUtils.getComputedStyle(startNode, style), + tmp = /^([\d\.]+)(\w+)$/.exec( styleVal ); + + if( tmp ) { + + return Math.floor( tmp[1] ) + tmp[2]; + + } + + return styleVal; + + } + + return domUtils.getComputedStyle(startNode, style); + }, + queryCommandState: function (cmdName) { + if (!needCmd[cmdName]) + return 0; + var val = this.queryCommandValue(cmdName); + if (cmdName == 'fontborder') { + return /1px/.test(val) && /solid/.test(val) + } else { + return cmdName == 'underline' ? /underline/.test(val) : /line\-through/.test(val); + + } + + } + }; + })(p, fonts[p]); + } +}; + +// plugins/link.js +/** + * 超链接 + * @file + * @since 1.2.6.1 + */ + +/** + * 插入超链接 + * @command link + * @method execCommand + * @param { String } cmd 命令字符串 + * @param { Object } options 设置自定义属性,例如:url、title、target + * @example + * ```javascript + * editor.execCommand( 'link', '{ + * url:'ueditor.baidu.com', + * title:'ueditor', + * target:'_blank' + * }' ); + * ``` + */ +/** + * 返回当前选中的第一个超链接节点 + * @command link + * @method queryCommandValue + * @param { String } cmd 命令字符串 + * @return { Element } 超链接节点 + * @example + * ```javascript + * editor.queryCommandValue( 'link' ); + * ``` + */ + +/** + * 取消超链接 + * @command unlink + * @method execCommand + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * editor.execCommand( 'unlink'); + * ``` + */ + +UE.plugins['link'] = function(){ + function optimize( range ) { + var start = range.startContainer,end = range.endContainer; + + if ( start = domUtils.findParentByTagName( start, 'a', true ) ) { + range.setStartBefore( start ); + } + if ( end = domUtils.findParentByTagName( end, 'a', true ) ) { + range.setEndAfter( end ); + } + } + + + UE.commands['unlink'] = { + execCommand : function() { + var range = this.selection.getRange(), + bookmark; + if(range.collapsed && !domUtils.findParentByTagName( range.startContainer, 'a', true )){ + return; + } + bookmark = range.createBookmark(); + optimize( range ); + range.removeInlineStyle( 'a' ).moveToBookmark( bookmark ).select(); + }, + queryCommandState : function(){ + return !this.highlight && this.queryCommandValue('link') ? 0 : -1; + } + + }; + function doLink(range,opt,me){ + var rngClone = range.cloneRange(), + link = me.queryCommandValue('link'); + optimize( range = range.adjustmentBoundary() ); + var start = range.startContainer; + if(start.nodeType == 1 && link){ + start = start.childNodes[range.startOffset]; + if(start && start.nodeType == 1 && start.tagName == 'A' && /^(?:https?|ftp|file)\s*:\s*\/\//.test(start[browser.ie?'innerText':'textContent'])){ + start[browser.ie ? 'innerText' : 'textContent'] = utils.html(opt.textValue||opt.href); + + } + } + if( !rngClone.collapsed || link){ + range.removeInlineStyle( 'a' ); + rngClone = range.cloneRange(); + } + + if ( rngClone.collapsed ) { + var a = range.document.createElement( 'a'), + text = ''; + if(opt.textValue){ + + text = utils.html(opt.textValue); + delete opt.textValue; + }else{ + text = utils.html(opt.href); + + } + domUtils.setAttributes( a, opt ); + start = domUtils.findParentByTagName( rngClone.startContainer, 'a', true ); + if(start && domUtils.isInNodeEndBoundary(rngClone,start)){ + range.setStartAfter(start).collapse(true); + + } + a[browser.ie ? 'innerText' : 'textContent'] = text; + range.insertNode(a).selectNode( a ); + } else { + range.applyInlineStyle( 'a', opt ); + + } + } + UE.commands['link'] = { + execCommand : function( cmdName, opt ) { + var range; + opt._href && (opt._href = utils.unhtml(opt._href,/[<">]/g)); + opt.href && (opt.href = utils.unhtml(opt.href,/[<">]/g)); + opt.textValue && (opt.textValue = utils.unhtml(opt.textValue,/[<">]/g)); + doLink(range=this.selection.getRange(),opt,this); + //闭合都不加占位符,如果加了会在a后边多个占位符节点,导致a是图片背景组成的列表,出现空白问题 + range.collapse().select(true); + + }, + queryCommandValue : function() { + var range = this.selection.getRange(), + node; + if ( range.collapsed ) { +// node = this.selection.getStart(); + //在ie下getstart()取值偏上了 + node = range.startContainer; + node = node.nodeType == 1 ? node : node.parentNode; + + if ( node && (node = domUtils.findParentByTagName( node, 'a', true )) && ! domUtils.isInNodeEndBoundary(range,node)) { + + return node; + } + } else { + //trace:1111 如果是

      xx

      startContainer是p就会找不到a + range.shrinkBoundary(); + var start = range.startContainer.nodeType == 3 || !range.startContainer.childNodes[range.startOffset] ? range.startContainer : range.startContainer.childNodes[range.startOffset], + end = range.endContainer.nodeType == 3 || range.endOffset == 0 ? range.endContainer : range.endContainer.childNodes[range.endOffset-1], + common = range.getCommonAncestor(); + node = domUtils.findParentByTagName( common, 'a', true ); + if ( !node && common.nodeType == 1){ + + var as = common.getElementsByTagName( 'a' ), + ps,pe; + + for ( var i = 0,ci; ci = as[i++]; ) { + ps = domUtils.getPosition( ci, start ),pe = domUtils.getPosition( ci,end); + if ( (ps & domUtils.POSITION_FOLLOWING || ps & domUtils.POSITION_CONTAINS) + && + (pe & domUtils.POSITION_PRECEDING || pe & domUtils.POSITION_CONTAINS) + ) { + node = ci; + break; + } + } + } + return node; + } + + }, + queryCommandState : function() { + //判断如果是视频的话连接不可用 + //fix 853 + var img = this.selection.getRange().getClosedNode(), + flag = img && (img.className == "edui-faked-video" || img.className.indexOf("edui-upload-video")!=-1); + return flag ? -1 : 0; + } + }; +}; + +// plugins/iframe.js +///import core +///import plugins\inserthtml.js +///commands 插入框架 +///commandsName InsertFrame +///commandsTitle 插入Iframe +///commandsDialog dialogs\insertframe + +UE.plugins['insertframe'] = function() { + var me =this; + function deleteIframe(){ + me._iframe && delete me._iframe; + } + + me.addListener("selectionchange",function(){ + deleteIframe(); + }); + +}; + + + +// plugins/scrawl.js +///import core +///commands 涂鸦 +///commandsName Scrawl +///commandsTitle 涂鸦 +///commandsDialog dialogs\scrawl +UE.commands['scrawl'] = { + queryCommandState : function(){ + return ( browser.ie && browser.version <= 8 ) ? -1 :0; + } +}; + + +// plugins/removeformat.js +/** + * 清除格式 + * @file + * @since 1.2.6.1 + */ + +/** + * 清除文字样式 + * @command removeformat + * @method execCommand + * @param { String } cmd 命令字符串 + * @param {String} tags 以逗号隔开的标签。如:strong + * @param {String} style 样式如:color + * @param {String} attrs 属性如:width + * @example + * ```javascript + * editor.execCommand( 'removeformat', 'strong','color','width' ); + * ``` + */ + +UE.plugins['removeformat'] = function(){ + var me = this; + me.setOpt({ + 'removeFormatTags': 'b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var', + 'removeFormatAttributes':'class,style,lang,width,height,align,hspace,valign' + }); + me.commands['removeformat'] = { + execCommand : function( cmdName, tags, style, attrs,notIncludeA ) { + + var tagReg = new RegExp( '^(?:' + (tags || this.options.removeFormatTags).replace( /,/g, '|' ) + ')$', 'i' ) , + removeFormatAttributes = style ? [] : (attrs || this.options.removeFormatAttributes).split( ',' ), + range = new dom.Range( this.document ), + bookmark,node,parent, + filter = function( node ) { + return node.nodeType == 1; + }; + + function isRedundantSpan (node) { + if (node.nodeType == 3 || node.tagName.toLowerCase() != 'span'){ + return 0; + } + if (browser.ie) { + //ie 下判断实效,所以只能简单用style来判断 + //return node.style.cssText == '' ? 1 : 0; + var attrs = node.attributes; + if ( attrs.length ) { + for ( var i = 0,l = attrs.length; i + var node = range.startContainer, + tmp, + collapsed = range.collapsed; + while(node.nodeType == 1 && domUtils.isEmptyNode(node) && dtd.$removeEmpty[node.tagName]){ + tmp = node.parentNode; + range.setStartBefore(node); + //trace:937 + //更新结束边界 + if(range.startContainer === range.endContainer){ + range.endOffset--; + } + domUtils.remove(node); + node = tmp; + } + + if(!collapsed){ + node = range.endContainer; + while(node.nodeType == 1 && domUtils.isEmptyNode(node) && dtd.$removeEmpty[node.tagName]){ + tmp = node.parentNode; + range.setEndBefore(node); + domUtils.remove(node); + + node = tmp; + } + + + } + } + + + + range = this.selection.getRange(); + doRemove( range ); + range.select(); + + } + + }; + +}; + + +// plugins/blockquote.js +/** + * 添加引用 + * @file + * @since 1.2.6.1 + */ + +/** + * 添加引用 + * @command blockquote + * @method execCommand + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * editor.execCommand( 'blockquote' ); + * ``` + */ + +/** + * 添加引用 + * @command blockquote + * @method execCommand + * @param { String } cmd 命令字符串 + * @param { Object } attrs 节点属性 + * @example + * ```javascript + * editor.execCommand( 'blockquote',{ + * style: "color: red;" + * } ); + * ``` + */ + + +UE.plugins['blockquote'] = function(){ + var me = this; + function getObj(editor){ + return domUtils.filterNodeList(editor.selection.getStartElementPath(),'blockquote'); + } + me.commands['blockquote'] = { + execCommand : function( cmdName, attrs ) { + var range = this.selection.getRange(), + obj = getObj(this), + blockquote = dtd.blockquote, + bookmark = range.createBookmark(); + + if ( obj ) { + + var start = range.startContainer, + startBlock = domUtils.isBlockElm(start) ? start : domUtils.findParent(start,function(node){return domUtils.isBlockElm(node)}), + + end = range.endContainer, + endBlock = domUtils.isBlockElm(end) ? end : domUtils.findParent(end,function(node){return domUtils.isBlockElm(node)}); + + //处理一下li + startBlock = domUtils.findParentByTagName(startBlock,'li',true) || startBlock; + endBlock = domUtils.findParentByTagName(endBlock,'li',true) || endBlock; + + + if(startBlock.tagName == 'LI' || startBlock.tagName == 'TD' || startBlock === obj || domUtils.isBody(startBlock)){ + domUtils.remove(obj,true); + }else{ + domUtils.breakParent(startBlock,obj); + } + + if(startBlock !== endBlock){ + obj = domUtils.findParentByTagName(endBlock,'blockquote'); + if(obj){ + if(endBlock.tagName == 'LI' || endBlock.tagName == 'TD'|| domUtils.isBody(endBlock)){ + obj.parentNode && domUtils.remove(obj,true); + }else{ + domUtils.breakParent(endBlock,obj); + } + + } + } + + var blockquotes = domUtils.getElementsByTagName(this.document,'blockquote'); + for(var i=0,bi;bi=blockquotes[i++];){ + if(!bi.childNodes.length){ + domUtils.remove(bi); + }else if(domUtils.getPosition(bi,startBlock)&domUtils.POSITION_FOLLOWING && domUtils.getPosition(bi,endBlock)&domUtils.POSITION_PRECEDING){ + domUtils.remove(bi,true); + } + } + + + + + } else { + + var tmpRange = range.cloneRange(), + node = tmpRange.startContainer.nodeType == 1 ? tmpRange.startContainer : tmpRange.startContainer.parentNode, + preNode = node, + doEnd = 1; + + //调整开始 + while ( 1 ) { + if ( domUtils.isBody(node) ) { + if ( preNode !== node ) { + if ( range.collapsed ) { + tmpRange.selectNode( preNode ); + doEnd = 0; + } else { + tmpRange.setStartBefore( preNode ); + } + }else{ + tmpRange.setStart(node,0); + } + + break; + } + if ( !blockquote[node.tagName] ) { + if ( range.collapsed ) { + tmpRange.selectNode( preNode ); + } else{ + tmpRange.setStartBefore( preNode); + } + break; + } + + preNode = node; + node = node.parentNode; + } + + //调整结束 + if ( doEnd ) { + preNode = node = node = tmpRange.endContainer.nodeType == 1 ? tmpRange.endContainer : tmpRange.endContainer.parentNode; + while ( 1 ) { + + if ( domUtils.isBody( node ) ) { + if ( preNode !== node ) { + + tmpRange.setEndAfter( preNode ); + + } else { + tmpRange.setEnd( node, node.childNodes.length ); + } + + break; + } + if ( !blockquote[node.tagName] ) { + tmpRange.setEndAfter( preNode ); + break; + } + + preNode = node; + node = node.parentNode; + } + + } + + + node = range.document.createElement( 'blockquote' ); + domUtils.setAttributes( node, attrs ); + node.appendChild( tmpRange.extractContents() ); + tmpRange.insertNode( node ); + //去除重复的 + var childs = domUtils.getElementsByTagName(node,'blockquote'); + for(var i=0,ci;ci=childs[i++];){ + if(ci.parentNode){ + domUtils.remove(ci,true); + } + } + + } + range.moveToBookmark( bookmark ).select(); + }, + queryCommandState : function() { + return getObj(this) ? 1 : 0; + } + }; +}; + + + +// plugins/convertcase.js +/** + * 大小写转换 + * @file + * @since 1.2.6.1 + */ + +/** + * 把选区内文本变大写,与“tolowercase”命令互斥 + * @command touppercase + * @method execCommand + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * editor.execCommand( 'touppercase' ); + * ``` + */ + +/** + * 把选区内文本变小写,与“touppercase”命令互斥 + * @command tolowercase + * @method execCommand + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * editor.execCommand( 'tolowercase' ); + * ``` + */ +UE.commands['touppercase'] = +UE.commands['tolowercase'] = { + execCommand:function (cmd) { + var me = this; + var rng = me.selection.getRange(); + if(rng.collapsed){ + return rng; + } + var bk = rng.createBookmark(), + bkEnd = bk.end, + filterFn = function( node ) { + return !domUtils.isBr(node) && !domUtils.isWhitespace( node ); + }, + curNode = domUtils.getNextDomNode( bk.start, false, filterFn ); + while ( curNode && (domUtils.getPosition( curNode, bkEnd ) & domUtils.POSITION_PRECEDING) ) { + + if ( curNode.nodeType == 3 ) { + curNode.nodeValue = curNode.nodeValue[cmd == 'touppercase' ? 'toUpperCase' : 'toLowerCase'](); + } + curNode = domUtils.getNextDomNode( curNode, true, filterFn ); + if(curNode === bkEnd){ + break; + } + + } + rng.moveToBookmark(bk).select(); + } +}; + + + +// plugins/indent.js +/** + * 首行缩进 + * @file + * @since 1.2.6.1 + */ + +/** + * 缩进 + * @command indent + * @method execCommand + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * editor.execCommand( 'indent' ); + * ``` + */ +UE.commands['indent'] = { + execCommand : function() { + var me = this,value = me.queryCommandState("indent") ? "0em" : (me.options.indentValue || '2em'); + me.execCommand('Paragraph','p',{style:'text-indent:'+ value}); + }, + queryCommandState : function() { + var pN = domUtils.filterNodeList(this.selection.getStartElementPath(),'p h1 h2 h3 h4 h5 h6'); + return pN && pN.style.textIndent && parseInt(pN.style.textIndent) ? 1 : 0; + } + +}; + + +// plugins/print.js +/** + * 打印 + * @file + * @since 1.2.6.1 + */ + +/** + * 打印 + * @command print + * @method execCommand + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * editor.execCommand( 'print' ); + * ``` + */ +UE.commands['print'] = { + execCommand : function(){ + this.window.print(); + }, + notNeedUndo : 1 +}; + + + +// plugins/preview.js +/** + * 预览 + * @file + * @since 1.2.6.1 + */ + +/** + * 预览 + * @command preview + * @method execCommand + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * editor.execCommand( 'preview' ); + * ``` + */ +UE.commands['preview'] = { + execCommand : function(){ + var w = window.open('', '_blank', ''), + d = w.document; + d.open(); + d.write('
      '+this.getContent(null,null,true)+'
      '); + d.close(); + }, + notNeedUndo : 1 +}; + + +// plugins/selectall.js +/** + * 全选 + * @file + * @since 1.2.6.1 + */ + +/** + * 选中所有内容 + * @command selectall + * @method execCommand + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * editor.execCommand( 'selectall' ); + * ``` + */ +UE.plugins['selectall'] = function(){ + var me = this; + me.commands['selectall'] = { + execCommand : function(){ + //去掉了原生的selectAll,因为会出现报错和当内容为空时,不能出现闭合状态的光标 + var me = this,body = me.body, + range = me.selection.getRange(); + range.selectNodeContents(body); + if(domUtils.isEmptyBlock(body)){ + //opera不能自动合并到元素的里边,要手动处理一下 + if(browser.opera && body.firstChild && body.firstChild.nodeType == 1){ + range.setStartAtFirst(body.firstChild); + } + range.collapse(true); + } + range.select(true); + }, + notNeedUndo : 1 + }; + + + //快捷键 + me.addshortcutkey({ + "selectAll" : "ctrl+65" + }); +}; + + +// plugins/paragraph.js +/** + * 段落样式 + * @file + * @since 1.2.6.1 + */ + +/** + * 段落格式 + * @command paragraph + * @method execCommand + * @param { String } cmd 命令字符串 + * @param {String} style 标签值为:'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6' + * @param {Object} attrs 标签的属性 + * @example + * ```javascript + * editor.execCommand( 'Paragraph','h1','{ + * class:'test' + * }' ); + * ``` + */ + +/** + * 返回选区内节点标签名 + * @command paragraph + * @method queryCommandValue + * @param { String } cmd 命令字符串 + * @return { String } 节点标签名 + * @example + * ```javascript + * editor.queryCommandValue( 'Paragraph' ); + * ``` + */ + +UE.plugins['paragraph'] = function() { + var me = this, + block = domUtils.isBlockElm, + notExchange = ['TD','LI','PRE'], + + doParagraph = function(range,style,attrs,sourceCmdName){ + var bookmark = range.createBookmark(), + filterFn = function( node ) { + return node.nodeType == 1 ? node.tagName.toLowerCase() != 'br' && !domUtils.isBookmarkNode(node) : !domUtils.isWhitespace( node ); + }, + para; + + range.enlarge( true ); + var bookmark2 = range.createBookmark(), + current = domUtils.getNextDomNode( bookmark2.start, false, filterFn ), + tmpRange = range.cloneRange(), + tmpNode; + while ( current && !(domUtils.getPosition( current, bookmark2.end ) & domUtils.POSITION_FOLLOWING) ) { + if ( current.nodeType == 3 || !block( current ) ) { + tmpRange.setStartBefore( current ); + while ( current && current !== bookmark2.end && !block( current ) ) { + tmpNode = current; + current = domUtils.getNextDomNode( current, false, null, function( node ) { + return !block( node ); + } ); + } + tmpRange.setEndAfter( tmpNode ); + + para = range.document.createElement( style ); + if(attrs){ + domUtils.setAttributes(para,attrs); + if(sourceCmdName && sourceCmdName == 'customstyle' && attrs.style){ + para.style.cssText = attrs.style; + } + } + para.appendChild( tmpRange.extractContents() ); + //需要内容占位 + if(domUtils.isEmptyNode(para)){ + domUtils.fillChar(range.document,para); + + } + + tmpRange.insertNode( para ); + + var parent = para.parentNode; + //如果para上一级是一个block元素且不是body,td就删除它 + if ( block( parent ) && !domUtils.isBody( para.parentNode ) && utils.indexOf(notExchange,parent.tagName)==-1) { + //存储dir,style + if(!(sourceCmdName && sourceCmdName == 'customstyle')){ + parent.getAttribute('dir') && para.setAttribute('dir',parent.getAttribute('dir')); + //trace:1070 + parent.style.cssText && (para.style.cssText = parent.style.cssText + ';' + para.style.cssText); + //trace:1030 + parent.style.textAlign && !para.style.textAlign && (para.style.textAlign = parent.style.textAlign); + parent.style.textIndent && !para.style.textIndent && (para.style.textIndent = parent.style.textIndent); + parent.style.padding && !para.style.padding && (para.style.padding = parent.style.padding); + } + + //trace:1706 选择的就是h1-6要删除 + if(attrs && /h\d/i.test(parent.tagName) && !/h\d/i.test(para.tagName) ){ + domUtils.setAttributes(parent,attrs); + if(sourceCmdName && sourceCmdName == 'customstyle' && attrs.style){ + parent.style.cssText = attrs.style; + } + domUtils.remove(para,true); + para = parent; + }else{ + domUtils.remove( para.parentNode, true ); + } + + } + if( utils.indexOf(notExchange,parent.tagName)!=-1){ + current = parent; + }else{ + current = para; + } + + + current = domUtils.getNextDomNode( current, false, filterFn ); + } else { + current = domUtils.getNextDomNode( current, true, filterFn ); + } + } + return range.moveToBookmark( bookmark2 ).moveToBookmark( bookmark ); + }; + me.setOpt('paragraph',{'p':'', 'h1':'', 'h2':'', 'h3':'', 'h4':'', 'h5':'', 'h6':''}); + me.commands['paragraph'] = { + execCommand : function( cmdName, style,attrs,sourceCmdName ) { + var range = this.selection.getRange(); + //闭合时单独处理 + if(range.collapsed){ + var txt = this.document.createTextNode('p'); + range.insertNode(txt); + //去掉冗余的fillchar + if(browser.ie){ + var node = txt.previousSibling; + if(node && domUtils.isWhitespace(node)){ + domUtils.remove(node); + } + node = txt.nextSibling; + if(node && domUtils.isWhitespace(node)){ + domUtils.remove(node); + } + } + + } + range = doParagraph(range,style,attrs,sourceCmdName); + if(txt){ + range.setStartBefore(txt).collapse(true); + pN = txt.parentNode; + + domUtils.remove(txt); + + if(domUtils.isBlockElm(pN)&&domUtils.isEmptyNode(pN)){ + domUtils.fillNode(this.document,pN); + } + + } + + if(browser.gecko && range.collapsed && range.startContainer.nodeType == 1){ + var child = range.startContainer.childNodes[range.startOffset]; + if(child && child.nodeType == 1 && child.tagName.toLowerCase() == style){ + range.setStart(child,0).collapse(true); + } + } + //trace:1097 原来有true,原因忘了,但去了就不能清除多余的占位符了 + range.select(); + + + return true; + }, + queryCommandValue : function() { + var node = domUtils.filterNodeList(this.selection.getStartElementPath(),'p h1 h2 h3 h4 h5 h6'); + return node ? node.tagName.toLowerCase() : ''; + } + }; +}; + + +// plugins/directionality.js +/** + * 设置文字输入的方向的插件 + * @file + * @since 1.2.6.1 + */ +(function() { + var block = domUtils.isBlockElm , + getObj = function(editor){ +// var startNode = editor.selection.getStart(), +// parents; +// if ( startNode ) { +// //查找所有的是block的父亲节点 +// parents = domUtils.findParents( startNode, true, block, true ); +// for ( var i = 0,ci; ci = parents[i++]; ) { +// if ( ci.getAttribute( 'dir' ) ) { +// return ci; +// } +// } +// } + return domUtils.filterNodeList(editor.selection.getStartElementPath(),function(n){return n && n.nodeType == 1 && n.getAttribute('dir')}); + + }, + doDirectionality = function(range,editor,forward){ + + var bookmark, + filterFn = function( node ) { + return node.nodeType == 1 ? !domUtils.isBookmarkNode(node) : !domUtils.isWhitespace(node); + }, + + obj = getObj( editor ); + + if ( obj && range.collapsed ) { + obj.setAttribute( 'dir', forward ); + return range; + } + bookmark = range.createBookmark(); + range.enlarge( true ); + var bookmark2 = range.createBookmark(), + current = domUtils.getNextDomNode( bookmark2.start, false, filterFn ), + tmpRange = range.cloneRange(), + tmpNode; + while ( current && !(domUtils.getPosition( current, bookmark2.end ) & domUtils.POSITION_FOLLOWING) ) { + if ( current.nodeType == 3 || !block( current ) ) { + tmpRange.setStartBefore( current ); + while ( current && current !== bookmark2.end && !block( current ) ) { + tmpNode = current; + current = domUtils.getNextDomNode( current, false, null, function( node ) { + return !block( node ); + } ); + } + tmpRange.setEndAfter( tmpNode ); + var common = tmpRange.getCommonAncestor(); + if ( !domUtils.isBody( common ) && block( common ) ) { + //遍历到了block节点 + common.setAttribute( 'dir', forward ); + current = common; + } else { + //没有遍历到,添加一个block节点 + var p = range.document.createElement( 'p' ); + p.setAttribute( 'dir', forward ); + var frag = tmpRange.extractContents(); + p.appendChild( frag ); + tmpRange.insertNode( p ); + current = p; + } + + current = domUtils.getNextDomNode( current, false, filterFn ); + } else { + current = domUtils.getNextDomNode( current, true, filterFn ); + } + } + return range.moveToBookmark( bookmark2 ).moveToBookmark( bookmark ); + }; + + /** + * 文字输入方向 + * @command directionality + * @method execCommand + * @param { String } cmdName 命令字符串 + * @param { String } forward 传入'ltr'表示从左向右输入,传入'rtl'表示从右向左输入 + * @example + * ```javascript + * editor.execCommand( 'directionality', 'ltr'); + * ``` + */ + + /** + * 查询当前选区的文字输入方向 + * @command directionality + * @method queryCommandValue + * @param { String } cmdName 命令字符串 + * @return { String } 返回'ltr'表示从左向右输入,返回'rtl'表示从右向左输入 + * @example + * ```javascript + * editor.queryCommandValue( 'directionality'); + * ``` + */ + UE.commands['directionality'] = { + execCommand : function( cmdName,forward ) { + var range = this.selection.getRange(); + //闭合时单独处理 + if(range.collapsed){ + var txt = this.document.createTextNode('d'); + range.insertNode(txt); + } + doDirectionality(range,this,forward); + if(txt){ + range.setStartBefore(txt).collapse(true); + domUtils.remove(txt); + } + + range.select(); + return true; + }, + queryCommandValue : function() { + var node = getObj(this); + return node ? node.getAttribute('dir') : 'ltr'; + } + }; +})(); + + + +// plugins/horizontal.js +/** + * 插入分割线插件 + * @file + * @since 1.2.6.1 + */ + +/** + * 插入分割线 + * @command horizontal + * @method execCommand + * @param { String } cmdName 命令字符串 + * @example + * ```javascript + * editor.execCommand( 'horizontal' ); + * ``` + */ +UE.plugins['horizontal'] = function(){ + var me = this; + me.commands['horizontal'] = { + execCommand : function( cmdName ) { + var me = this; + if(me.queryCommandState(cmdName)!==-1){ + me.execCommand('insertHtml','
      '); + var range = me.selection.getRange(), + start = range.startContainer; + if(start.nodeType == 1 && !start.childNodes[range.startOffset] ){ + + var tmp; + if(tmp = start.childNodes[range.startOffset - 1]){ + if(tmp.nodeType == 1 && tmp.tagName == 'HR'){ + if(me.options.enterTag == 'p'){ + tmp = me.document.createElement('p'); + range.insertNode(tmp); + range.setStart(tmp,0).setCursor(); + + }else{ + tmp = me.document.createElement('br'); + range.insertNode(tmp); + range.setStartBefore(tmp).setCursor(); + } + } + } + + } + return true; + } + + }, + //边界在table里不能加分隔线 + queryCommandState : function() { + return domUtils.filterNodeList(this.selection.getStartElementPath(),'table') ? -1 : 0; + } + }; +// me.addListener('delkeyup',function(){ +// var rng = this.selection.getRange(); +// if(browser.ie && browser.version > 8){ +// rng.txtToElmBoundary(true); +// if(domUtils.isStartInblock(rng)){ +// var tmpNode = rng.startContainer; +// var pre = tmpNode.previousSibling; +// if(pre && domUtils.isTagNode(pre,'hr')){ +// domUtils.remove(pre); +// rng.select(); +// return; +// } +// } +// } +// if(domUtils.isBody(rng.startContainer)){ +// var hr = rng.startContainer.childNodes[rng.startOffset -1]; +// if(hr && hr.nodeName == 'HR'){ +// var next = hr.nextSibling; +// if(next){ +// rng.setStart(next,0) +// }else if(hr.previousSibling){ +// rng.setStartAtLast(hr.previousSibling) +// }else{ +// var p = this.document.createElement('p'); +// hr.parentNode.insertBefore(p,hr); +// domUtils.fillNode(this.document,p); +// rng.setStart(p,0); +// } +// domUtils.remove(hr); +// rng.setCursor(false,true); +// } +// } +// }) + me.addListener('delkeydown',function(name,evt){ + var rng = this.selection.getRange(); + rng.txtToElmBoundary(true); + if(domUtils.isStartInblock(rng)){ + var tmpNode = rng.startContainer; + var pre = tmpNode.previousSibling; + if(pre && domUtils.isTagNode(pre,'hr')){ + domUtils.remove(pre); + rng.select(); + domUtils.preventDefault(evt); + return true; + + } + } + + }) +}; + + + +// plugins/time.js +/** + * 插入时间和日期 + * @file + * @since 1.2.6.1 + */ + +/** + * 插入时间,默认格式:12:59:59 + * @command time + * @method execCommand + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * editor.execCommand( 'time'); + * ``` + */ + +/** + * 插入日期,默认格式:2013-08-30 + * @command date + * @method execCommand + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * editor.execCommand( 'date'); + * ``` + */ +UE.commands['time'] = UE.commands["date"] = { + execCommand : function(cmd, format){ + var date = new Date; + + function formatTime(date, format) { + var hh = ('0' + date.getHours()).slice(-2), + ii = ('0' + date.getMinutes()).slice(-2), + ss = ('0' + date.getSeconds()).slice(-2); + format = format || 'hh:ii:ss'; + return format.replace(/hh/ig, hh).replace(/ii/ig, ii).replace(/ss/ig, ss); + } + function formatDate(date, format) { + var yyyy = ('000' + date.getFullYear()).slice(-4), + yy = yyyy.slice(-2), + mm = ('0' + (date.getMonth()+1)).slice(-2), + dd = ('0' + date.getDate()).slice(-2); + format = format || 'yyyy-mm-dd'; + return format.replace(/yyyy/ig, yyyy).replace(/yy/ig, yy).replace(/mm/ig, mm).replace(/dd/ig, dd); + } + + this.execCommand('insertHtml',cmd == "time" ? formatTime(date, format):formatDate(date, format) ); + } +}; + + +// plugins/rowspacing.js +/** + * 段前段后间距插件 + * @file + * @since 1.2.6.1 + */ + +/** + * 设置段间距 + * @command rowspacing + * @method execCommand + * @param { String } cmd 命令字符串 + * @param { String } value 段间距的值,以px为单位 + * @param { String } dir 间距位置,top或bottom,分别表示段前和段后 + * @example + * ```javascript + * editor.execCommand( 'rowspacing', '10', 'top' ); + * ``` + */ + +UE.plugins['rowspacing'] = function(){ + var me = this; + me.setOpt({ + 'rowspacingtop':['5', '10', '15', '20', '25'], + 'rowspacingbottom':['5', '10', '15', '20', '25'] + + }); + me.commands['rowspacing'] = { + execCommand : function( cmdName,value,dir ) { + this.execCommand('paragraph','p',{style:'margin-'+dir+':'+value + 'px'}); + return true; + }, + queryCommandValue : function(cmdName,dir) { + var pN = domUtils.filterNodeList(this.selection.getStartElementPath(),function(node){return domUtils.isBlockElm(node) }), + value; + //trace:1026 + if(pN){ + value = domUtils.getComputedStyle(pN,'margin-'+dir).replace(/[^\d]/g,''); + return !value ? 0 : value; + } + return 0; + + } + }; +}; + + + + +// plugins/lineheight.js +/** + * 设置行内间距 + * @file + * @since 1.2.6.1 + */ +UE.plugins['lineheight'] = function(){ + var me = this; + me.setOpt({'lineheight':['1', '1.5','1.75','2', '3', '4', '5']}); + + /** + * 行距 + * @command lineheight + * @method execCommand + * @param { String } cmdName 命令字符串 + * @param { String } value 传入的行高值, 该值是当前字体的倍数, 例如: 1.5, 1.75 + * @example + * ```javascript + * editor.execCommand( 'lineheight', 1.5); + * ``` + */ + /** + * 查询当前选区内容的行高大小 + * @command lineheight + * @method queryCommandValue + * @param { String } cmd 命令字符串 + * @return { String } 返回当前行高大小 + * @example + * ```javascript + * editor.queryCommandValue( 'lineheight' ); + * ``` + */ + + me.commands['lineheight'] = { + execCommand : function( cmdName,value ) { + this.execCommand('paragraph','p',{style:'line-height:'+ (value == "1" ? "normal" : value + 'em') }); + return true; + }, + queryCommandValue : function() { + var pN = domUtils.filterNodeList(this.selection.getStartElementPath(),function(node){return domUtils.isBlockElm(node)}); + if(pN){ + var value = domUtils.getComputedStyle(pN,'line-height'); + return value == 'normal' ? 1 : value.replace(/[^\d.]*/ig,""); + } + } + }; +}; + + + + +// plugins/insertcode.js +/** + * 插入代码插件 + * @file + * @since 1.2.6.1 + */ + +UE.plugins['insertcode'] = function() { + var me = this; + me.ready(function(){ + utils.cssRule('pre','pre{margin:.5em 0;padding:.4em .6em;border-radius:8px;background:#f8f8f8;}', + me.document) + }); + me.setOpt('insertcode',{ + 'as3':'ActionScript3', + 'bash':'Bash/Shell', + 'cpp':'C/C++', + 'css':'Css', + 'cf':'CodeFunction', + 'c#':'C#', + 'delphi':'Delphi', + 'diff':'Diff', + 'erlang':'Erlang', + 'groovy':'Groovy', + 'html':'Html', + 'java':'Java', + 'jfx':'JavaFx', + 'js':'Javascript', + 'pl':'Perl', + 'php':'Php', + 'plain':'Plain Text', + 'ps':'PowerShell', + 'python':'Python', + 'ruby':'Ruby', + 'scala':'Scala', + 'sql':'Sql', + 'vb':'Vb', + 'xml':'Xml' + }); + + /** + * 插入代码 + * @command insertcode + * @method execCommand + * @param { String } cmd 命令字符串 + * @param { String } lang 插入代码的语言 + * @example + * ```javascript + * editor.execCommand( 'insertcode', 'javascript' ); + * ``` + */ + + /** + * 如果选区所在位置是插入插入代码区域,返回代码的语言 + * @command insertcode + * @method queryCommandValue + * @param { String } cmd 命令字符串 + * @return { String } 返回代码的语言 + * @example + * ```javascript + * editor.queryCommandValue( 'insertcode' ); + * ``` + */ + + me.commands['insertcode'] = { + execCommand : function(cmd,lang){ + var me = this, + rng = me.selection.getRange(), + pre = domUtils.findParentByTagName(rng.startContainer,'pre',true); + if(pre){ + pre.className = 'brush:'+lang+';toolbar:false;'; + }else{ + var code = ''; + if(rng.collapsed){ + code = browser.ie && browser.ie11below ? (browser.version <= 8 ? ' ':''):'
      '; + }else{ + var frag = rng.extractContents(); + var div = me.document.createElement('div'); + div.appendChild(frag); + + utils.each(UE.filterNode(UE.htmlparser(div.innerHTML.replace(/[\r\t]/g,'')),me.options.filterTxtRules).children,function(node){ + if(browser.ie && browser.ie11below && browser.version > 8){ + + if(node.type =='element'){ + if(node.tagName == 'br'){ + code += '\n' + }else if(!dtd.$empty[node.tagName]){ + utils.each(node.children,function(cn){ + if(cn.type =='element'){ + if(cn.tagName == 'br'){ + code += '\n' + }else if(!dtd.$empty[node.tagName]){ + code += cn.innerText(); + } + }else{ + code += cn.data + } + }) + if(!/\n$/.test(code)){ + code += '\n'; + } + } + }else{ + code += node.data + '\n' + } + if(!node.nextSibling() && /\n$/.test(code)){ + code = code.replace(/\n$/,''); + } + }else{ + if(browser.ie && browser.ie11below){ + + if(node.type =='element'){ + if(node.tagName == 'br'){ + code += '
      ' + }else if(!dtd.$empty[node.tagName]){ + utils.each(node.children,function(cn){ + if(cn.type =='element'){ + if(cn.tagName == 'br'){ + code += '
      ' + }else if(!dtd.$empty[node.tagName]){ + code += cn.innerText(); + } + }else{ + code += cn.data + } + }); + if(!/br>$/.test(code)){ + code += '
      '; + } + } + }else{ + code += node.data + '
      ' + } + if(!node.nextSibling() && /
      $/.test(code)){ + code = code.replace(/
      $/,''); + } + + }else{ + code += (node.type == 'element' ? (dtd.$empty[node.tagName] ? '' : node.innerText()) : node.data); + if(!/br\/?\s*>$/.test(code)){ + if(!node.nextSibling()) + return; + code += '
      ' + } + } + + } + + }); + } + me.execCommand('inserthtml','
      '+code+'
      ',true); + + pre = me.document.getElementById('coder'); + domUtils.removeAttributes(pre,'id'); + var tmpNode = pre.previousSibling; + + if(tmpNode && (tmpNode.nodeType == 3 && tmpNode.nodeValue.length == 1 && browser.ie && browser.version == 6 || domUtils.isEmptyBlock(tmpNode))){ + + domUtils.remove(tmpNode) + } + var rng = me.selection.getRange(); + if(domUtils.isEmptyBlock(pre)){ + rng.setStart(pre,0).setCursor(false,true) + }else{ + rng.selectNodeContents(pre).select() + } + } + + + + }, + queryCommandValue : function(){ + var path = this.selection.getStartElementPath(); + var lang = ''; + utils.each(path,function(node){ + if(node.nodeName =='PRE'){ + var match = node.className.match(/brush:([^;]+)/); + lang = match && match[1] ? match[1] : ''; + return false; + } + }); + return lang; + } + }; + + me.addInputRule(function(root){ + utils.each(root.getNodesByTagName('pre'),function(pre){ + var brs = pre.getNodesByTagName('br'); + if(brs.length){ + browser.ie && browser.ie11below && browser.version > 8 && utils.each(brs,function(br){ + var txt = UE.uNode.createText('\n'); + br.parentNode.insertBefore(txt,br); + br.parentNode.removeChild(br); + }); + return; + } + if(browser.ie && browser.ie11below && browser.version > 8) + return; + var code = pre.innerText().split(/\n/); + pre.innerHTML(''); + utils.each(code,function(c){ + if(c.length){ + pre.appendChild(UE.uNode.createText(c)); + } + pre.appendChild(UE.uNode.createElement('br')) + }) + }) + }); + me.addOutputRule(function(root){ + utils.each(root.getNodesByTagName('pre'),function(pre){ + var code = ''; + utils.each(pre.children,function(n){ + if(n.type == 'text'){ + //在ie下文本内容有可能末尾带有\n要去掉 + //trace:3396 + code += n.data.replace(/[ ]/g,' ').replace(/\n$/,''); + }else{ + if(n.tagName == 'br'){ + code += '\n' + }else{ + code += (!dtd.$empty[n.tagName] ? '' : n.innerText()); + } + + } + + }); + + pre.innerText(code.replace(/( |\n)+$/,'')) + }) + }); + //不需要判断highlight的command列表 + me.notNeedCodeQuery ={ + help:1, + undo:1, + redo:1, + source:1, + print:1, + searchreplace:1, + fullscreen:1, + preview:1, + insertparagraph:1, + elementpath:1, + insertcode:1, + inserthtml:1, + selectall:1 + }; + //将queyCommamndState重置 + var orgQuery = me.queryCommandState; + me.queryCommandState = function(cmd){ + var me = this; + + if(!me.notNeedCodeQuery[cmd.toLowerCase()] && me.selection && me.queryCommandValue('insertcode')){ + return -1; + } + return UE.Editor.prototype.queryCommandState.apply(this,arguments) + }; + me.addListener('beforeenterkeydown',function(){ + var rng = me.selection.getRange(); + var pre = domUtils.findParentByTagName(rng.startContainer,'pre',true); + if(pre){ + me.fireEvent('saveScene'); + if(!rng.collapsed){ + rng.deleteContents(); + } + if(!browser.ie || browser.ie9above){ + var tmpNode = me.document.createElement('br'),pre; + rng.insertNode(tmpNode).setStartAfter(tmpNode).collapse(true); + var next = tmpNode.nextSibling; + if(!next && (!browser.ie || browser.version > 10)){ + rng.insertNode(tmpNode.cloneNode(false)); + }else{ + rng.setStartAfter(tmpNode); + } + pre = tmpNode.previousSibling; + var tmp; + while(pre ){ + tmp = pre; + pre = pre.previousSibling; + if(!pre || pre.nodeName == 'BR'){ + pre = tmp; + break; + } + } + if(pre){ + var str = ''; + while(pre && pre.nodeName != 'BR' && new RegExp('^[\\s'+domUtils.fillChar+']*$').test(pre.nodeValue)){ + str += pre.nodeValue; + pre = pre.nextSibling; + } + if(pre.nodeName != 'BR'){ + var match = pre.nodeValue.match(new RegExp('^([\\s'+domUtils.fillChar+']+)')); + if(match && match[1]){ + str += match[1] + } + + } + if(str){ + str = me.document.createTextNode(str); + rng.insertNode(str).setStartAfter(str); + } + } + rng.collapse(true).select(true); + }else{ + if(browser.version > 8){ + + var txt = me.document.createTextNode('\n'); + var start = rng.startContainer; + if(rng.startOffset == 0){ + var preNode = start.previousSibling; + if(preNode){ + rng.insertNode(txt); + var fillchar = me.document.createTextNode(' '); + rng.setStartAfter(txt).insertNode(fillchar).setStart(fillchar,0).collapse(true).select(true) + } + }else{ + rng.insertNode(txt).setStartAfter(txt); + var fillchar = me.document.createTextNode(' '); + start = rng.startContainer.childNodes[rng.startOffset]; + if(start && !/^\n/.test(start.nodeValue)){ + rng.setStartBefore(txt) + } + rng.insertNode(fillchar).setStart(fillchar,0).collapse(true).select(true) + } + + }else{ + var tmpNode = me.document.createElement('br'); + rng.insertNode(tmpNode); + rng.insertNode(me.document.createTextNode(domUtils.fillChar)); + rng.setStartAfter(tmpNode); + pre = tmpNode.previousSibling; + var tmp; + while(pre ){ + tmp = pre; + pre = pre.previousSibling; + if(!pre || pre.nodeName == 'BR'){ + pre = tmp; + break; + } + } + if(pre){ + var str = ''; + while(pre && pre.nodeName != 'BR' && new RegExp('^[ '+domUtils.fillChar+']*$').test(pre.nodeValue)){ + str += pre.nodeValue; + pre = pre.nextSibling; + } + if(pre.nodeName != 'BR'){ + var match = pre.nodeValue.match(new RegExp('^([ '+domUtils.fillChar+']+)')); + if(match && match[1]){ + str += match[1] + } + + } + + str = me.document.createTextNode(str); + rng.insertNode(str).setStartAfter(str); + } + rng.collapse(true).select(); + } + + + } + me.fireEvent('saveScene'); + return true; + } + + + }); + + me.addListener('tabkeydown',function(cmd,evt){ + var rng = me.selection.getRange(); + var pre = domUtils.findParentByTagName(rng.startContainer,'pre',true); + if(pre){ + me.fireEvent('saveScene'); + if(evt.shiftKey){ + + }else{ + if(!rng.collapsed){ + var bk = rng.createBookmark(); + var start = bk.start.previousSibling; + + while(start){ + if(pre.firstChild === start && !domUtils.isBr(start)){ + pre.insertBefore(me.document.createTextNode(' '),start); + + break; + } + if(domUtils.isBr(start)){ + pre.insertBefore(me.document.createTextNode(' '),start.nextSibling); + + break; + } + start = start.previousSibling; + } + var end = bk.end; + start = bk.start.nextSibling; + if(pre.firstChild === bk.start){ + pre.insertBefore(me.document.createTextNode(' '),start.nextSibling) + + } + while(start && start !== end){ + if(domUtils.isBr(start) && start.nextSibling){ + if(start.nextSibling === end){ + break; + } + pre.insertBefore(me.document.createTextNode(' '),start.nextSibling) + } + + start = start.nextSibling; + } + rng.moveToBookmark(bk).select(); + }else{ + var tmpNode = me.document.createTextNode(' '); + rng.insertNode(tmpNode).setStartAfter(tmpNode).collapse(true).select(true); + } + } + + + me.fireEvent('saveScene'); + return true; + } + + + }); + + + me.addListener('beforeinserthtml',function(evtName,html){ + var me = this, + rng = me.selection.getRange(), + pre = domUtils.findParentByTagName(rng.startContainer,'pre',true); + if(pre){ + if(!rng.collapsed){ + rng.deleteContents() + } + var htmlstr = ''; + if(browser.ie && browser.version > 8){ + + utils.each(UE.filterNode(UE.htmlparser(html),me.options.filterTxtRules).children,function(node){ + if(node.type =='element'){ + if(node.tagName == 'br'){ + htmlstr += '\n' + }else if(!dtd.$empty[node.tagName]){ + utils.each(node.children,function(cn){ + if(cn.type =='element'){ + if(cn.tagName == 'br'){ + htmlstr += '\n' + }else if(!dtd.$empty[node.tagName]){ + htmlstr += cn.innerText(); + } + }else{ + htmlstr += cn.data + } + }) + if(!/\n$/.test(htmlstr)){ + htmlstr += '\n'; + } + } + }else{ + htmlstr += node.data + '\n' + } + if(!node.nextSibling() && /\n$/.test(htmlstr)){ + htmlstr = htmlstr.replace(/\n$/,''); + } + }); + var tmpNode = me.document.createTextNode(utils.html(htmlstr.replace(/ /g,' '))); + rng.insertNode(tmpNode).selectNode(tmpNode).select(); + }else{ + var frag = me.document.createDocumentFragment(); + + utils.each(UE.filterNode(UE.htmlparser(html),me.options.filterTxtRules).children,function(node){ + if(node.type =='element'){ + if(node.tagName == 'br'){ + frag.appendChild(me.document.createElement('br')) + }else if(!dtd.$empty[node.tagName]){ + utils.each(node.children,function(cn){ + if(cn.type =='element'){ + if(cn.tagName == 'br'){ + + frag.appendChild(me.document.createElement('br')) + }else if(!dtd.$empty[node.tagName]){ + frag.appendChild(me.document.createTextNode(utils.html(cn.innerText().replace(/ /g,' ')))); + + } + }else{ + frag.appendChild(me.document.createTextNode(utils.html( cn.data.replace(/ /g,' ')))); + + } + }) + if(frag.lastChild.nodeName != 'BR'){ + frag.appendChild(me.document.createElement('br')) + } + } + }else{ + frag.appendChild(me.document.createTextNode(utils.html( node.data.replace(/ /g,' ')))); + } + if(!node.nextSibling() && frag.lastChild.nodeName == 'BR'){ + frag.removeChild(frag.lastChild) + } + + + }); + rng.insertNode(frag).select(); + + } + + return true; + } + }); + //方向键的处理 + me.addListener('keydown',function(cmd,evt){ + var me = this,keyCode = evt.keyCode || evt.which; + if(keyCode == 40){ + var rng = me.selection.getRange(),pre,start = rng.startContainer; + if(rng.collapsed && (pre = domUtils.findParentByTagName(rng.startContainer,'pre',true)) && !pre.nextSibling){ + var last = pre.lastChild + while(last && last.nodeName == 'BR'){ + last = last.previousSibling; + } + if(last === start || rng.startContainer === pre && rng.startOffset == pre.childNodes.length){ + me.execCommand('insertparagraph'); + domUtils.preventDefault(evt) + } + + } + } + }); + //trace:3395 + me.addListener('delkeydown',function(type,evt){ + var rng = this.selection.getRange(); + rng.txtToElmBoundary(true); + var start = rng.startContainer; + if(domUtils.isTagNode(start,'pre') && rng.collapsed && domUtils.isStartInblock(rng)){ + var p = me.document.createElement('p'); + domUtils.fillNode(me.document,p); + start.parentNode.insertBefore(p,start); + domUtils.remove(start); + rng.setStart(p,0).setCursor(false,true); + domUtils.preventDefault(evt); + return true; + } + }) +}; + + +// plugins/cleardoc.js +/** + * 清空文档插件 + * @file + * @since 1.2.6.1 + */ + +/** + * 清空文档 + * @command cleardoc + * @method execCommand + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * //editor 是编辑器实例 + * editor.execCommand('cleardoc'); + * ``` + */ + +UE.commands['cleardoc'] = { + execCommand : function( cmdName) { + var me = this, + enterTag = me.options.enterTag, + range = me.selection.getRange(); + if(enterTag == "br"){ + me.body.innerHTML = "
      "; + range.setStart(me.body,0).setCursor(); + }else{ + me.body.innerHTML = "

      "+(ie ? "" : "
      ")+"

      "; + range.setStart(me.body.firstChild,0).setCursor(false,true); + } + setTimeout(function(){ + me.fireEvent("clearDoc"); + },0); + + } +}; + + + +// plugins/anchor.js +/** + * 锚点插件,为UEditor提供插入锚点支持 + * @file + * @since 1.2.6.1 + */ +UE.plugin.register('anchor', function (){ + + return { + bindEvents:{ + 'ready':function(){ + utils.cssRule('anchor', + '.anchorclass{background: url(\'' + + this.options.themePath + + this.options.theme +'/images/anchor.gif\') no-repeat scroll left center transparent;cursor: auto;display: inline-block;height: 16px;width: 15px;}', + this.document); + } + }, + outputRule: function(root){ + utils.each(root.getNodesByTagName('img'),function(a){ + var val; + if(val = a.getAttr('anchorname')){ + a.tagName = 'a'; + a.setAttr({ + anchorname : '', + name : val, + 'class' : '' + }) + } + }) + }, + inputRule:function(root){ + utils.each(root.getNodesByTagName('a'),function(a){ + var val; + if((val = a.getAttr('name')) && !a.getAttr('href')){ + a.tagName = 'img'; + a.setAttr({ + anchorname :a.getAttr('name'), + 'class' : 'anchorclass' + }); + a.setAttr('name') + + } + }) + + }, + commands:{ + /** + * 插入锚点 + * @command anchor + * @method execCommand + * @param { String } cmd 命令字符串 + * @param { String } name 锚点名称字符串 + * @example + * ```javascript + * //editor 是编辑器实例 + * editor.execCommand('anchor', 'anchor1'); + * ``` + */ + 'anchor':{ + execCommand:function (cmd, name) { + var range = this.selection.getRange(),img = range.getClosedNode(); + if (img && img.getAttribute('anchorname')) { + if (name) { + img.setAttribute('anchorname', name); + } else { + range.setStartBefore(img).setCursor(); + domUtils.remove(img); + } + } else { + if (name) { + //只在选区的开始插入 + var anchor = this.document.createElement('img'); + range.collapse(true); + domUtils.setAttributes(anchor,{ + 'anchorname':name, + 'class':'anchorclass' + }); + range.insertNode(anchor).setStartAfter(anchor).setCursor(false,true); + } + } + } + } + } + } +}); + + +// plugins/wordcount.js +///import core +///commands 字数统计 +///commandsName WordCount,wordCount +///commandsTitle 字数统计 +/* + * Created by JetBrains WebStorm. + * User: taoqili + * Date: 11-9-7 + * Time: 下午8:18 + * To change this template use File | Settings | File Templates. + */ + +UE.plugins['wordcount'] = function(){ + var me = this; + me.setOpt('wordCount',true); + me.addListener('contentchange',function(){ + me.fireEvent('wordcount'); + }); + var timer; + me.addListener('ready',function(){ + var me = this; + domUtils.on(me.body,"keyup",function(evt){ + var code = evt.keyCode||evt.which, + //忽略的按键,ctr,alt,shift,方向键 + ignores = {"16":1,"18":1,"20":1,"37":1,"38":1,"39":1,"40":1}; + if(code in ignores) return; + clearTimeout(timer); + timer = setTimeout(function(){ + me.fireEvent('wordcount'); + },200) + }) + }); +}; + + +// plugins/pagebreak.js +/** + * 分页功能插件 + * @file + * @since 1.2.6.1 + */ +UE.plugins['pagebreak'] = function () { + var me = this, + notBreakTags = ['td']; + me.setOpt('pageBreakTag','_ueditor_page_break_tag_'); + + function fillNode(node){ + if(domUtils.isEmptyBlock(node)){ + var firstChild = node.firstChild,tmpNode; + + while(firstChild && firstChild.nodeType == 1 && domUtils.isEmptyBlock(firstChild)){ + tmpNode = firstChild; + firstChild = firstChild.firstChild; + } + !tmpNode && (tmpNode = node); + domUtils.fillNode(me.document,tmpNode); + } + } + //分页符样式添加 + + me.ready(function(){ + utils.cssRule('pagebreak','.pagebreak{display:block;clear:both !important;cursor:default !important;width: 100% !important;margin:0;}',me.document); + }); + function isHr(node){ + return node && node.nodeType == 1 && node.tagName == 'HR' && node.className == 'pagebreak'; + } + me.addInputRule(function(root){ + root.traversal(function(node){ + if(node.type == 'text' && node.data == me.options.pageBreakTag){ + var hr = UE.uNode.createElement('
      '); + node.parentNode.insertBefore(hr,node); + node.parentNode.removeChild(node) + } + }) + }); + me.addOutputRule(function(node){ + utils.each(node.getNodesByTagName('hr'),function(n){ + if(n.getAttr('class') == 'pagebreak'){ + var txt = UE.uNode.createText(me.options.pageBreakTag); + n.parentNode.insertBefore(txt,n); + n.parentNode.removeChild(n); + } + }) + + }); + + /** + * 插入分页符 + * @command pagebreak + * @method execCommand + * @param { String } cmd 命令字符串 + * @remind 在表格中插入分页符会把表格切分成两部分 + * @remind 获取编辑器内的数据时, 编辑器会把分页符转换成“_ueditor_page_break_tag_”字符串, + * 以便于提交数据到服务器端后处理分页。 + * @example + * ```javascript + * editor.execCommand( 'pagebreak'); //插入一个hr标签,带有样式类名pagebreak + * ``` + */ + + me.commands['pagebreak'] = { + execCommand:function () { + var range = me.selection.getRange(),hr = me.document.createElement('hr'); + domUtils.setAttributes(hr,{ + 'class' : 'pagebreak', + noshade:"noshade", + size:"5" + }); + domUtils.unSelectable(hr); + //table单独处理 + var node = domUtils.findParentByTagName(range.startContainer, notBreakTags, true), + + parents = [], pN; + if (node) { + switch (node.tagName) { + case 'TD': + pN = node.parentNode; + if (!pN.previousSibling) { + var table = domUtils.findParentByTagName(pN, 'table'); +// var tableWrapDiv = table.parentNode; +// if(tableWrapDiv && tableWrapDiv.nodeType == 1 +// && tableWrapDiv.tagName == 'DIV' +// && tableWrapDiv.getAttribute('dropdrag') +// ){ +// domUtils.remove(tableWrapDiv,true); +// } + table.parentNode.insertBefore(hr, table); + parents = domUtils.findParents(hr, true); + + } else { + pN.parentNode.insertBefore(hr, pN); + parents = domUtils.findParents(hr); + + } + pN = parents[1]; + if (hr !== pN) { + domUtils.breakParent(hr, pN); + + } + //table要重写绑定一下拖拽 + me.fireEvent('afteradjusttable',me.document); + } + + } else { + + if (!range.collapsed) { + range.deleteContents(); + var start = range.startContainer; + while ( !domUtils.isBody(start) && domUtils.isBlockElm(start) && domUtils.isEmptyNode(start)) { + range.setStartBefore(start).collapse(true); + domUtils.remove(start); + start = range.startContainer; + } + + } + range.insertNode(hr); + + var pN = hr.parentNode, nextNode; + while (!domUtils.isBody(pN)) { + domUtils.breakParent(hr, pN); + nextNode = hr.nextSibling; + if (nextNode && domUtils.isEmptyBlock(nextNode)) { + domUtils.remove(nextNode); + } + pN = hr.parentNode; + } + nextNode = hr.nextSibling; + var pre = hr.previousSibling; + if(isHr(pre)){ + domUtils.remove(pre); + }else{ + pre && fillNode(pre); + } + + if(!nextNode){ + var p = me.document.createElement('p'); + + hr.parentNode.appendChild(p); + domUtils.fillNode(me.document,p); + range.setStart(p,0).collapse(true); + }else{ + if(isHr(nextNode)){ + domUtils.remove(nextNode); + }else{ + fillNode(nextNode); + } + range.setEndAfter(hr).collapse(false); + } + + range.select(true); + + } + + } + }; +}; + +// plugins/wordimage.js +///import core +///commands 本地图片引导上传 +///commandsName WordImage +///commandsTitle 本地图片引导上传 +///commandsDialog dialogs\wordimage + +UE.plugin.register('wordimage',function(){ + var me = this, + images = []; + return { + commands : { + 'wordimage':{ + execCommand:function () { + var images = domUtils.getElementsByTagName(me.body, "img"); + var urlList = []; + for (var i = 0, ci; ci = images[i++];) { + var url = ci.getAttribute("word_img"); + url && urlList.push(url); + } + return urlList; + }, + queryCommandState:function () { + images = domUtils.getElementsByTagName(me.body, "img"); + for (var i = 0, ci; ci = images[i++];) { + if (ci.getAttribute("word_img")) { + return 1; + } + } + return -1; + }, + notNeedUndo:true + } + }, + inputRule : function (root) { + utils.each(root.getNodesByTagName('img'), function (img) { + var attrs = img.attrs, + flag = parseInt(attrs.width) < 128 || parseInt(attrs.height) < 43, + opt = me.options, + src = opt.UEDITOR_HOME_URL + 'themes/default/images/spacer.gif'; + if (attrs['src'] && /^(?:(file:\/+))/.test(attrs['src'])) { + img.setAttr({ + width:attrs.width, + height:attrs.height, + alt:attrs.alt, + word_img: attrs.src, + src:src, + 'style':'background:url(' + ( flag ? opt.themePath + opt.theme + '/images/word.gif' : opt.langPath + opt.lang + '/images/localimage.png') + ') no-repeat center center;border:1px solid #ddd' + }) + } + }) + } + } +}); + +// plugins/dragdrop.js +UE.plugins['dragdrop'] = function (){ + + var me = this; + me.ready(function(){ + domUtils.on(this.body,'dragend',function(){ + var rng = me.selection.getRange(); + var node = rng.getClosedNode()||me.selection.getStart(); + + if(node && node.tagName == 'IMG'){ + + var pre = node.previousSibling,next; + while(next = node.nextSibling){ + if(next.nodeType == 1 && next.tagName == 'SPAN' && !next.firstChild){ + domUtils.remove(next) + }else{ + break; + } + } + + + if((pre && pre.nodeType == 1 && !domUtils.isEmptyBlock(pre) || !pre) && (!next || next && !domUtils.isEmptyBlock(next))){ + if(pre && pre.tagName == 'P' && !domUtils.isEmptyBlock(pre)){ + pre.appendChild(node); + domUtils.moveChild(next,pre); + domUtils.remove(next); + }else if(next && next.tagName == 'P' && !domUtils.isEmptyBlock(next)){ + next.insertBefore(node,next.firstChild); + } + + if(pre && pre.tagName == 'P' && domUtils.isEmptyBlock(pre)){ + domUtils.remove(pre) + } + if(next && next.tagName == 'P' && domUtils.isEmptyBlock(next)){ + domUtils.remove(next) + } + rng.selectNode(node).select(); + me.fireEvent('saveScene'); + + } + + } + + }) + }); + me.addListener('keyup', function(type, evt) { + var keyCode = evt.keyCode || evt.which; + if (keyCode == 13) { + var rng = me.selection.getRange(),node; + if(node = domUtils.findParentByTagName(rng.startContainer,'p',true)){ + if(domUtils.getComputedStyle(node,'text-align') == 'center'){ + domUtils.removeStyle(node,'text-align') + } + } + } + }) +}; + + +// plugins/undo.js +/** + * undo redo + * @file + * @since 1.2.6.1 + */ + +/** + * 撤销上一次执行的命令 + * @command undo + * @method execCommand + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * editor.execCommand( 'undo' ); + * ``` + */ + +/** + * 重做上一次执行的命令 + * @command redo + * @method execCommand + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * editor.execCommand( 'redo' ); + * ``` + */ + +UE.plugins['undo'] = function () { + var saveSceneTimer; + var me = this, + maxUndoCount = me.options.maxUndoCount || 20, + maxInputCount = me.options.maxInputCount || 20, + fillchar = new RegExp(domUtils.fillChar + '|<\/hr>', 'gi');// ie会产生多余的 + var noNeedFillCharTags = { + ol:1,ul:1,table:1,tbody:1,tr:1,body:1 + }; + var orgState = me.options.autoClearEmptyNode; + function compareAddr(indexA, indexB) { + if (indexA.length != indexB.length) + return 0; + for (var i = 0, l = indexA.length; i < l; i++) { + if (indexA[i] != indexB[i]) + return 0 + } + return 1; + } + + function compareRangeAddress(rngAddrA, rngAddrB) { + if (rngAddrA.collapsed != rngAddrB.collapsed) { + return 0; + } + if (!compareAddr(rngAddrA.startAddress, rngAddrB.startAddress) || !compareAddr(rngAddrA.endAddress, rngAddrB.endAddress)) { + return 0; + } + return 1; + } + + function UndoManager() { + this.list = []; + this.index = 0; + this.hasUndo = false; + this.hasRedo = false; + this.undo = function () { + if (this.hasUndo) { + if (!this.list[this.index - 1] && this.list.length == 1) { + this.reset(); + return; + } + while (this.list[this.index].content == this.list[this.index - 1].content) { + this.index--; + if (this.index == 0) { + return this.restore(0); + } + } + this.restore(--this.index); + } + }; + this.redo = function () { + if (this.hasRedo) { + while (this.list[this.index].content == this.list[this.index + 1].content) { + this.index++; + if (this.index == this.list.length - 1) { + return this.restore(this.index); + } + } + this.restore(++this.index); + } + }; + + this.restore = function () { + var me = this.editor; + var scene = this.list[this.index]; + var root = UE.htmlparser(scene.content.replace(fillchar, '')); + me.options.autoClearEmptyNode = false; + me.filterInputRule(root); + me.options.autoClearEmptyNode = orgState; + //trace:873 + //去掉展位符 + me.document.body.innerHTML = root.toHtml(); + me.fireEvent('afterscencerestore'); + //处理undo后空格不展位的问题 + if (browser.ie) { + utils.each(domUtils.getElementsByTagName(me.document,'td th caption p'),function(node){ + if(domUtils.isEmptyNode(node)){ + domUtils.fillNode(me.document, node); + } + }) + } + + try{ + var rng = new dom.Range(me.document).moveToAddress(scene.address); + rng.select(noNeedFillCharTags[rng.startContainer.nodeName.toLowerCase()]); + }catch(e){} + + this.update(); + this.clearKey(); + //不能把自己reset了 + me.fireEvent('reset', true); + }; + + this.getScene = function () { + var me = this.editor; + var rng = me.selection.getRange(), + rngAddress = rng.createAddress(false,true); + me.fireEvent('beforegetscene'); + var root = UE.htmlparser(me.body.innerHTML); + me.options.autoClearEmptyNode = false; + me.filterOutputRule(root); + me.options.autoClearEmptyNode = orgState; + var cont = root.toHtml(); + //trace:3461 + //这个会引起回退时导致空格丢失的情况 +// browser.ie && (cont = cont.replace(/> <').replace(/\s*\s*/g, '>')); + me.fireEvent('aftergetscene'); + + return { + address:rngAddress, + content:cont + } + }; + this.save = function (notCompareRange,notSetCursor) { + clearTimeout(saveSceneTimer); + var currentScene = this.getScene(notSetCursor), + lastScene = this.list[this.index]; + + if(lastScene && lastScene.content != currentScene.content){ + me.trigger('contentchange') + } + //内容相同位置相同不存 + if (lastScene && lastScene.content == currentScene.content && + ( notCompareRange ? 1 : compareRangeAddress(lastScene.address, currentScene.address) ) + ) { + return; + } + this.list = this.list.slice(0, this.index + 1); + this.list.push(currentScene); + //如果大于最大数量了,就把最前的剔除 + if (this.list.length > maxUndoCount) { + this.list.shift(); + } + this.index = this.list.length - 1; + this.clearKey(); + //跟新undo/redo状态 + this.update(); + + }; + this.update = function () { + this.hasRedo = !!this.list[this.index + 1]; + this.hasUndo = !!this.list[this.index - 1]; + }; + this.reset = function () { + this.list = []; + this.index = 0; + this.hasUndo = false; + this.hasRedo = false; + this.clearKey(); + }; + this.clearKey = function () { + keycont = 0; + lastKeyCode = null; + }; + } + + me.undoManger = new UndoManager(); + me.undoManger.editor = me; + function saveScene() { + this.undoManger.save(); + } + + me.addListener('saveScene', function () { + var args = Array.prototype.splice.call(arguments,1); + this.undoManger.save.apply(this.undoManger,args); + }); + +// me.addListener('beforeexeccommand', saveScene); +// me.addListener('afterexeccommand', saveScene); + + me.addListener('reset', function (type, exclude) { + if (!exclude) { + this.undoManger.reset(); + } + }); + me.commands['redo'] = me.commands['undo'] = { + execCommand:function (cmdName) { + this.undoManger[cmdName](); + }, + queryCommandState:function (cmdName) { + return this.undoManger['has' + (cmdName.toLowerCase() == 'undo' ? 'Undo' : 'Redo')] ? 0 : -1; + }, + notNeedUndo:1 + }; + + var keys = { + // /*Backspace*/ 8:1, /*Delete*/ 46:1, + /*Shift*/ 16:1, /*Ctrl*/ 17:1, /*Alt*/ 18:1, + 37:1, 38:1, 39:1, 40:1 + + }, + keycont = 0, + lastKeyCode; + //输入法状态下不计算字符数 + var inputType = false; + me.addListener('ready', function () { + domUtils.on(this.body, 'compositionstart', function () { + inputType = true; + }); + domUtils.on(this.body, 'compositionend', function () { + inputType = false; + }) + }); + //快捷键 + me.addshortcutkey({ + "Undo":"ctrl+90", //undo + "Redo":"ctrl+89" //redo + + }); + var isCollapsed = true; + me.addListener('keydown', function (type, evt) { + + var me = this; + var keyCode = evt.keyCode || evt.which; + if (!keys[keyCode] && !evt.ctrlKey && !evt.metaKey && !evt.shiftKey && !evt.altKey) { + if (inputType) + return; + + if(!me.selection.getRange().collapsed){ + me.undoManger.save(false,true); + isCollapsed = false; + return; + } + if (me.undoManger.list.length == 0) { + me.undoManger.save(true); + } + clearTimeout(saveSceneTimer); + function save(cont){ + cont.undoManger.save(false,true); + cont.fireEvent('selectionchange'); + } + saveSceneTimer = setTimeout(function(){ + if(inputType){ + var interalTimer = setInterval(function(){ + if(!inputType){ + save(me); + clearInterval(interalTimer) + } + },300) + return; + } + save(me); + },200); + + lastKeyCode = keyCode; + keycont++; + if (keycont >= maxInputCount ) { + save(me) + } + } + }); + me.addListener('keyup', function (type, evt) { + var keyCode = evt.keyCode || evt.which; + if (!keys[keyCode] && !evt.ctrlKey && !evt.metaKey && !evt.shiftKey && !evt.altKey) { + if (inputType) + return; + if(!isCollapsed){ + this.undoManger.save(false,true); + isCollapsed = true; + } + } + }); + //扩展实例,添加关闭和开启命令undo + me.stopCmdUndo = function(){ + me.__hasEnterExecCommand = true; + }; + me.startCmdUndo = function(){ + me.__hasEnterExecCommand = false; + } +}; + + +// plugins/copy.js +UE.plugin.register('copy', function () { + + var me = this; + + function initZeroClipboard() { + + ZeroClipboard.config({ + debug: false, + swfPath: me.options.UEDITOR_HOME_URL + 'third-party/zeroclipboard/ZeroClipboard.swf' + }); + + var client = me.zeroclipboard = new ZeroClipboard(); + + // 复制内容 + client.on('copy', function (e) { + var client = e.client, + rng = me.selection.getRange(), + div = document.createElement('div'); + + div.appendChild(rng.cloneContents()); + client.setText(div.innerText || div.textContent); + client.setHtml(div.innerHTML); + rng.select(); + }); + // hover事件传递到target + client.on('mouseover mouseout', function (e) { + var target = e.target; + if (e.type == 'mouseover') { + domUtils.addClass(target, 'edui-state-hover'); + } else if (e.type == 'mouseout') { + domUtils.removeClasses(target, 'edui-state-hover'); + } + }); + // flash加载不成功 + client.on('wrongflash noflash', function () { + ZeroClipboard.destroy(); + }); + } + + return { + bindEvents: { + 'ready': function () { + if (!browser.ie) { + if (window.ZeroClipboard) { + initZeroClipboard(); + } else { + utils.loadFile(document, { + src: me.options.UEDITOR_HOME_URL + "third-party/zeroclipboard/ZeroClipboard.js", + tag: "script", + type: "text/javascript", + defer: "defer" + }, function () { + initZeroClipboard(); + }); + } + } + } + }, + commands: { + 'copy': { + execCommand: function (cmd) { + if (!me.document.execCommand('copy')) { + alert(me.getLang('copymsg')); + } + } + } + } + } +}); + + +// plugins/paste.js +///import core +///import plugins/inserthtml.js +///import plugins/undo.js +///import plugins/serialize.js +///commands 粘贴 +///commandsName PastePlain +///commandsTitle 纯文本粘贴模式 +/** + * @description 粘贴 + * @author zhanyi + */ +UE.plugins['paste'] = function () { + function getClipboardData(callback) { + var doc = this.document; + if (doc.getElementById('baidu_pastebin')) { + return; + } + var range = this.selection.getRange(), + bk = range.createBookmark(), + //创建剪贴的容器div + pastebin = doc.createElement('div'); + pastebin.id = 'baidu_pastebin'; + // Safari 要求div必须有内容,才能粘贴内容进来 + browser.webkit && pastebin.appendChild(doc.createTextNode(domUtils.fillChar + domUtils.fillChar)); + doc.body.appendChild(pastebin); + //trace:717 隐藏的span不能得到top + //bk.start.innerHTML = ' '; + bk.start.style.display = ''; + pastebin.style.cssText = "position:absolute;width:1px;height:1px;overflow:hidden;left:-1000px;white-space:nowrap;top:" + + //要在现在光标平行的位置加入,否则会出现跳动的问题 + domUtils.getXY(bk.start).y + 'px'; + + range.selectNodeContents(pastebin).select(true); + + setTimeout(function () { + if (browser.webkit) { + for (var i = 0, pastebins = doc.querySelectorAll('#baidu_pastebin'), pi; pi = pastebins[i++];) { + if (domUtils.isEmptyNode(pi)) { + domUtils.remove(pi); + } else { + pastebin = pi; + break; + } + } + } + try { + pastebin.parentNode.removeChild(pastebin); + } catch (e) { + } + range.moveToBookmark(bk).select(true); + callback(pastebin); + }, 0); + } + + var me = this; + + me.setOpt({ + retainOnlyLabelPasted : false + }); + + var txtContent, htmlContent, address; + + function getPureHtml(html){ + return html.replace(/<(\/?)([\w\-]+)([^>]*)>/gi, function (a, b, tagName, attrs) { + tagName = tagName.toLowerCase(); + if ({img: 1}[tagName]) { + return a; + } + attrs = attrs.replace(/([\w\-]*?)\s*=\s*(("([^"]*)")|('([^']*)')|([^\s>]+))/gi, function (str, atr, val) { + if ({ + 'src': 1, + 'href': 1, + 'name': 1 + }[atr.toLowerCase()]) { + return atr + '=' + val + ' ' + } + return '' + }); + if ({ + 'span': 1, + 'div': 1 + }[tagName]) { + return '' + } else { + + return '<' + b + tagName + ' ' + utils.trim(attrs) + '>' + } + + }); + } + function filter(div) { + var html; + if (div.firstChild) { + //去掉cut中添加的边界值 + var nodes = domUtils.getElementsByTagName(div, 'span'); + for (var i = 0, ni; ni = nodes[i++];) { + if (ni.id == '_baidu_cut_start' || ni.id == '_baidu_cut_end') { + domUtils.remove(ni); + } + } + + if (browser.webkit) { + + var brs = div.querySelectorAll('div br'); + for (var i = 0, bi; bi = brs[i++];) { + var pN = bi.parentNode; + if (pN.tagName == 'DIV' && pN.childNodes.length == 1) { + pN.innerHTML = '


      '; + domUtils.remove(pN); + } + } + var divs = div.querySelectorAll('#baidu_pastebin'); + for (var i = 0, di; di = divs[i++];) { + var tmpP = me.document.createElement('p'); + di.parentNode.insertBefore(tmpP, di); + while (di.firstChild) { + tmpP.appendChild(di.firstChild); + } + domUtils.remove(di); + } + + var metas = div.querySelectorAll('meta'); + for (var i = 0, ci; ci = metas[i++];) { + domUtils.remove(ci); + } + + var brs = div.querySelectorAll('br'); + for (i = 0; ci = brs[i++];) { + if (/^apple-/i.test(ci.className)) { + domUtils.remove(ci); + } + } + } + if (browser.gecko) { + var dirtyNodes = div.querySelectorAll('[_moz_dirty]'); + for (i = 0; ci = dirtyNodes[i++];) { + ci.removeAttribute('_moz_dirty'); + } + } + if (!browser.ie) { + var spans = div.querySelectorAll('span.Apple-style-span'); + for (var i = 0, ci; ci = spans[i++];) { + domUtils.remove(ci, true); + } + } + + //ie下使用innerHTML会产生多余的\r\n字符,也会产生 这里过滤掉 + html = div.innerHTML;//.replace(/>(?:(\s| )*?)<'); + + //过滤word粘贴过来的冗余属性 + html = UE.filterWord(html); + //取消了忽略空白的第二个参数,粘贴过来的有些是有空白的,会被套上相关的标签 + var root = UE.htmlparser(html); + //如果给了过滤规则就先进行过滤 + if (me.options.filterRules) { + UE.filterNode(root, me.options.filterRules); + } + //执行默认的处理 + me.filterInputRule(root); + //针对chrome的处理 + if (browser.webkit) { + var br = root.lastChild(); + if (br && br.type == 'element' && br.tagName == 'br') { + root.removeChild(br) + } + utils.each(me.body.querySelectorAll('div'), function (node) { + if (domUtils.isEmptyBlock(node)) { + domUtils.remove(node,true) + } + }) + } + html = {'html': root.toHtml()}; + me.fireEvent('beforepaste', html, root); + //抢了默认的粘贴,那后边的内容就不执行了,比如表格粘贴 + if(!html.html){ + return; + } + root = UE.htmlparser(html.html,true); + //如果开启了纯文本模式 + if (me.queryCommandState('pasteplain') === 1) { + me.execCommand('insertHtml', UE.filterNode(root, me.options.filterTxtRules).toHtml(), true); + } else { + //文本模式 + UE.filterNode(root, me.options.filterTxtRules); + txtContent = root.toHtml(); + //完全模式 + htmlContent = html.html; + + address = me.selection.getRange().createAddress(true); + me.execCommand('insertHtml', me.getOpt('retainOnlyLabelPasted') === true ? getPureHtml(htmlContent) : htmlContent, true); + } + me.fireEvent("afterpaste", html); + } + } + + me.addListener('pasteTransfer', function (cmd, plainType) { + + if (address && txtContent && htmlContent && txtContent != htmlContent) { + var range = me.selection.getRange(); + range.moveToAddress(address, true); + + if (!range.collapsed) { + + while (!domUtils.isBody(range.startContainer) + ) { + var start = range.startContainer; + if(start.nodeType == 1){ + start = start.childNodes[range.startOffset]; + if(!start){ + range.setStartBefore(range.startContainer); + continue; + } + var pre = start.previousSibling; + + if(pre && pre.nodeType == 3 && new RegExp('^[\n\r\t '+domUtils.fillChar+']*$').test(pre.nodeValue)){ + range.setStartBefore(pre) + } + } + if(range.startOffset == 0){ + range.setStartBefore(range.startContainer); + }else{ + break; + } + + } + while (!domUtils.isBody(range.endContainer) + ) { + var end = range.endContainer; + if(end.nodeType == 1){ + end = end.childNodes[range.endOffset]; + if(!end){ + range.setEndAfter(range.endContainer); + continue; + } + var next = end.nextSibling; + if(next && next.nodeType == 3 && new RegExp('^[\n\r\t'+domUtils.fillChar+']*$').test(next.nodeValue)){ + range.setEndAfter(next) + } + } + if(range.endOffset == range.endContainer[range.endContainer.nodeType == 3 ? 'nodeValue' : 'childNodes'].length){ + range.setEndAfter(range.endContainer); + }else{ + break; + } + + } + + } + + range.deleteContents(); + range.select(true); + me.__hasEnterExecCommand = true; + var html = htmlContent; + if (plainType === 2 ) { + html = getPureHtml(html); + } else if (plainType) { + html = txtContent; + } + me.execCommand('inserthtml', html, true); + me.__hasEnterExecCommand = false; + var rng = me.selection.getRange(); + while (!domUtils.isBody(rng.startContainer) && !rng.startOffset && + rng.startContainer[rng.startContainer.nodeType == 3 ? 'nodeValue' : 'childNodes'].length + ) { + rng.setStartBefore(rng.startContainer); + } + var tmpAddress = rng.createAddress(true); + address.endAddress = tmpAddress.startAddress; + } + }); + + me.addListener('ready', function () { + domUtils.on(me.body, 'cut', function () { + var range = me.selection.getRange(); + if (!range.collapsed && me.undoManger) { + me.undoManger.save(); + } + }); + + //ie下beforepaste在点击右键时也会触发,所以用监控键盘才处理 + domUtils.on(me.body, browser.ie || browser.opera ? 'keydown' : 'paste', function (e) { + if ((browser.ie || browser.opera) && ((!e.ctrlKey && !e.metaKey) || e.keyCode != '86')) { + return; + } + getClipboardData.call(me, function (div) { + filter(div); + }); + }); + + }); + + me.commands['paste'] = { + execCommand: function (cmd) { + if (browser.ie) { + getClipboardData.call(me, function (div) { + filter(div); + }); + me.document.execCommand('paste'); + } else { + alert(me.getLang('pastemsg')); + } + } + } +}; + + + +// plugins/puretxtpaste.js +/** + * 纯文本粘贴插件 + * @file + * @since 1.2.6.1 + */ + +UE.plugins['pasteplain'] = function(){ + var me = this; + me.setOpt({ + 'pasteplain':false, + 'filterTxtRules' : function(){ + function transP(node){ + node.tagName = 'p'; + node.setStyle(); + } + function removeNode(node){ + node.parentNode.removeChild(node,true) + } + return { + //直接删除及其字节点内容 + '-' : 'script style object iframe embed input select', + 'p': {$:{}}, + 'br':{$:{}}, + div: function (node) { + var tmpNode, p = UE.uNode.createElement('p'); + while (tmpNode = node.firstChild()) { + if (tmpNode.type == 'text' || !UE.dom.dtd.$block[tmpNode.tagName]) { + p.appendChild(tmpNode); + } else { + if (p.firstChild()) { + node.parentNode.insertBefore(p, node); + p = UE.uNode.createElement('p'); + } else { + node.parentNode.insertBefore(tmpNode, node); + } + } + } + if (p.firstChild()) { + node.parentNode.insertBefore(p, node); + } + node.parentNode.removeChild(node); + }, + ol: removeNode, + ul: removeNode, + dl:removeNode, + dt:removeNode, + dd:removeNode, + 'li':removeNode, + 'caption':transP, + 'th':transP, + 'tr':transP, + 'h1':transP,'h2':transP,'h3':transP,'h4':transP,'h5':transP,'h6':transP, + 'td':function(node){ + //没有内容的td直接删掉 + var txt = !!node.innerText(); + if(txt){ + node.parentNode.insertAfter(UE.uNode.createText('    '),node); + } + node.parentNode.removeChild(node,node.innerText()) + } + } + }() + }); + //暂时这里支持一下老版本的属性 + var pasteplain = me.options.pasteplain; + + /** + * 启用或取消纯文本粘贴模式 + * @command pasteplain + * @method execCommand + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * editor.queryCommandState( 'pasteplain' ); + * ``` + */ + + /** + * 查询当前是否处于纯文本粘贴模式 + * @command pasteplain + * @method queryCommandState + * @param { String } cmd 命令字符串 + * @return { int } 如果处于纯文本模式,返回1,否则,返回0 + * @example + * ```javascript + * editor.queryCommandState( 'pasteplain' ); + * ``` + */ + me.commands['pasteplain'] = { + queryCommandState: function (){ + return pasteplain ? 1 : 0; + }, + execCommand: function (){ + pasteplain = !pasteplain|0; + }, + notNeedUndo : 1 + }; +}; + +// plugins/list.js +/** + * 有序列表,无序列表插件 + * @file + * @since 1.2.6.1 + */ + +UE.plugins['list'] = function () { + var me = this, + notExchange = { + 'TD':1, + 'PRE':1, + 'BLOCKQUOTE':1 + }; + var customStyle = { + 'cn' : 'cn-1-', + 'cn1' : 'cn-2-', + 'cn2' : 'cn-3-', + 'num': 'num-1-', + 'num1' : 'num-2-', + 'num2' : 'num-3-', + 'dash' : 'dash', + 'dot':'dot' + }; + + me.setOpt( { + 'autoTransWordToList':false, + 'insertorderedlist':{ + 'num':'', + 'num1':'', + 'num2':'', + 'cn':'', + 'cn1':'', + 'cn2':'', + 'decimal':'', + 'lower-alpha':'', + 'lower-roman':'', + 'upper-alpha':'', + 'upper-roman':'' + }, + 'insertunorderedlist':{ + 'circle':'', + 'disc':'', + 'square':'', + 'dash' : '', + 'dot':'' + }, + listDefaultPaddingLeft : '30', + listiconpath : 'http://bs.baidu.com/listicon/', + maxListLevel : -1,//-1不限制 + disablePInList:false + } ); + function listToArray(list){ + var arr = []; + for(var p in list){ + arr.push(p) + } + return arr; + } + var listStyle = { + 'OL':listToArray(me.options.insertorderedlist), + 'UL':listToArray(me.options.insertunorderedlist) + }; + var liiconpath = me.options.listiconpath; + + //根据用户配置,调整customStyle + for(var s in customStyle){ + if(!me.options.insertorderedlist.hasOwnProperty(s) && !me.options.insertunorderedlist.hasOwnProperty(s)){ + delete customStyle[s]; + } + } + + me.ready(function () { + var customCss = []; + for(var p in customStyle){ + if(p == 'dash' || p == 'dot'){ + customCss.push('li.list-' + customStyle[p] + '{background-image:url(' + liiconpath +customStyle[p]+'.gif)}'); + customCss.push('ul.custom_'+p+'{list-style:none;}ul.custom_'+p+' li{background-position:0 3px;background-repeat:no-repeat}'); + }else{ + for(var i= 0;i<99;i++){ + customCss.push('li.list-' + customStyle[p] + i + '{background-image:url(' + liiconpath + 'list-'+customStyle[p] + i + '.gif)}') + } + customCss.push('ol.custom_'+p+'{list-style:none;}ol.custom_'+p+' li{background-position:0 3px;background-repeat:no-repeat}'); + } + switch(p){ + case 'cn': + customCss.push('li.list-'+p+'-paddingleft-1{padding-left:25px}'); + customCss.push('li.list-'+p+'-paddingleft-2{padding-left:40px}'); + customCss.push('li.list-'+p+'-paddingleft-3{padding-left:55px}'); + break; + case 'cn1': + customCss.push('li.list-'+p+'-paddingleft-1{padding-left:30px}'); + customCss.push('li.list-'+p+'-paddingleft-2{padding-left:40px}'); + customCss.push('li.list-'+p+'-paddingleft-3{padding-left:55px}'); + break; + case 'cn2': + customCss.push('li.list-'+p+'-paddingleft-1{padding-left:40px}'); + customCss.push('li.list-'+p+'-paddingleft-2{padding-left:55px}'); + customCss.push('li.list-'+p+'-paddingleft-3{padding-left:68px}'); + break; + case 'num': + case 'num1': + customCss.push('li.list-'+p+'-paddingleft-1{padding-left:25px}'); + break; + case 'num2': + customCss.push('li.list-'+p+'-paddingleft-1{padding-left:35px}'); + customCss.push('li.list-'+p+'-paddingleft-2{padding-left:40px}'); + break; + case 'dash': + customCss.push('li.list-'+p+'-paddingleft{padding-left:35px}'); + break; + case 'dot': + customCss.push('li.list-'+p+'-paddingleft{padding-left:20px}'); + } + } + customCss.push('.list-paddingleft-1{padding-left:0}'); + customCss.push('.list-paddingleft-2{padding-left:'+me.options.listDefaultPaddingLeft+'px}'); + customCss.push('.list-paddingleft-3{padding-left:'+me.options.listDefaultPaddingLeft*2+'px}'); + //如果不给宽度会在自定应样式里出现滚动条 + utils.cssRule('list', 'ol,ul{margin:0;pading:0;'+(browser.ie ? '' : 'width:95%')+'}li{clear:both;}'+customCss.join('\n'), me.document); + }); + //单独处理剪切的问题 + me.ready(function(){ + domUtils.on(me.body,'cut',function(){ + setTimeout(function(){ + var rng = me.selection.getRange(),li; + //trace:3416 + if(!rng.collapsed){ + if(li = domUtils.findParentByTagName(rng.startContainer,'li',true)){ + if(!li.nextSibling && domUtils.isEmptyBlock(li)){ + var pn = li.parentNode,node; + if(node = pn.previousSibling){ + domUtils.remove(pn); + rng.setStartAtLast(node).collapse(true); + rng.select(true); + }else if(node = pn.nextSibling){ + domUtils.remove(pn); + rng.setStartAtFirst(node).collapse(true); + rng.select(true); + }else{ + var tmpNode = me.document.createElement('p'); + domUtils.fillNode(me.document,tmpNode); + pn.parentNode.insertBefore(tmpNode,pn); + domUtils.remove(pn); + rng.setStart(tmpNode,0).collapse(true); + rng.select(true); + } + } + } + } + + }) + }) + }); + + function getStyle(node){ + var cls = node.className; + if(domUtils.hasClass(node,/custom_/)){ + return cls.match(/custom_(\w+)/)[1] + } + return domUtils.getStyle(node, 'list-style-type') + + } + + me.addListener('beforepaste',function(type,html){ + var me = this, + rng = me.selection.getRange(),li; + var root = UE.htmlparser(html.html,true); + if(li = domUtils.findParentByTagName(rng.startContainer,'li',true)){ + var list = li.parentNode,tagName = list.tagName == 'OL' ? 'ul':'ol'; + utils.each(root.getNodesByTagName(tagName),function(n){ + n.tagName = list.tagName; + n.setAttr(); + if(n.parentNode === root){ + type = getStyle(list) || (list.tagName == 'OL' ? 'decimal' : 'disc') + }else{ + var className = n.parentNode.getAttr('class'); + if(className && /custom_/.test(className)){ + type = className.match(/custom_(\w+)/)[1] + }else{ + type = n.parentNode.getStyle('list-style-type'); + } + if(!type){ + type = list.tagName == 'OL' ? 'decimal' : 'disc'; + } + } + var index = utils.indexOf(listStyle[list.tagName], type); + if(n.parentNode !== root) + index = index + 1 == listStyle[list.tagName].length ? 0 : index + 1; + var currentStyle = listStyle[list.tagName][index]; + if(customStyle[currentStyle]){ + n.setAttr('class', 'custom_' + currentStyle) + + }else{ + n.setStyle('list-style-type',currentStyle) + } + }) + + } + + html.html = root.toHtml(); + }); + //导出时,去掉p标签 + me.getOpt('disablePInList') === true && me.addOutputRule(function(root){ + utils.each(root.getNodesByTagName('li'),function(li){ + var newChildrens = [],index=0; + utils.each(li.children,function(n){ + if(n.tagName == 'p'){ + var tmpNode; + while(tmpNode = n.children.pop()) { + newChildrens.splice(index,0,tmpNode); + tmpNode.parentNode = li; + lastNode = tmpNode; + } + tmpNode = newChildrens[newChildrens.length-1]; + if(!tmpNode || tmpNode.type != 'element' || tmpNode.tagName != 'br'){ + var br = UE.uNode.createElement('br'); + br.parentNode = li; + newChildrens.push(br); + } + + index = newChildrens.length; + } + }); + if(newChildrens.length){ + li.children = newChildrens; + } + }); + }); + //进入编辑器的li要套p标签 + me.addInputRule(function(root){ + utils.each(root.getNodesByTagName('li'),function(li){ + var tmpP = UE.uNode.createElement('p'); + for(var i= 0,ci;ci=li.children[i];){ + if(ci.type == 'text' || dtd.p[ci.tagName]){ + tmpP.appendChild(ci); + }else{ + if(tmpP.firstChild()){ + li.insertBefore(tmpP,ci); + tmpP = UE.uNode.createElement('p'); + i = i + 2; + }else{ + i++; + } + + } + } + if(tmpP.firstChild() && !tmpP.parentNode || !li.firstChild()){ + li.appendChild(tmpP); + } + //trace:3357 + //p不能为空 + if (!tmpP.firstChild()) { + tmpP.innerHTML(browser.ie ? ' ' : '
      ') + } + //去掉末尾的空白 + var p = li.firstChild(); + var lastChild = p.lastChild(); + if(lastChild && lastChild.type == 'text' && /^\s*$/.test(lastChild.data)){ + p.removeChild(lastChild) + } + }); + if(me.options.autoTransWordToList){ + var orderlisttype = { + 'num1':/^\d+\)/, + 'decimal':/^\d+\./, + 'lower-alpha':/^[a-z]+\)/, + 'upper-alpha':/^[A-Z]+\./, + 'cn':/^[\u4E00\u4E8C\u4E09\u56DB\u516d\u4e94\u4e03\u516b\u4e5d]+[\u3001]/, + 'cn2':/^\([\u4E00\u4E8C\u4E09\u56DB\u516d\u4e94\u4e03\u516b\u4e5d]+\)/ + }, + unorderlisttype = { + 'square':'n' + }; + function checkListType(content,container){ + var span = container.firstChild(); + if(span && span.type == 'element' && span.tagName == 'span' && /Wingdings|Symbol/.test(span.getStyle('font-family'))){ + for(var p in unorderlisttype){ + if(unorderlisttype[p] == span.data){ + return p + } + } + return 'disc' + } + for(var p in orderlisttype){ + if(orderlisttype[p].test(content)){ + return p; + } + } + + } + utils.each(root.getNodesByTagName('p'),function(node){ + if(node.getAttr('class') != 'MsoListParagraph'){ + return + } + + //word粘贴过来的会带有margin要去掉,但这样也可能会误命中一些央视 + node.setStyle('margin',''); + node.setStyle('margin-left',''); + node.setAttr('class',''); + + function appendLi(list,p,type){ + if(list.tagName == 'ol'){ + if(browser.ie){ + var first = p.firstChild(); + if(first.type =='element' && first.tagName == 'span' && orderlisttype[type].test(first.innerText())){ + p.removeChild(first); + } + }else{ + p.innerHTML(p.innerHTML().replace(orderlisttype[type],'')); + } + }else{ + p.removeChild(p.firstChild()) + } + + var li = UE.uNode.createElement('li'); + li.appendChild(p); + list.appendChild(li); + } + var tmp = node,type,cacheNode = node; + + if(node.parentNode.tagName != 'li' && (type = checkListType(node.innerText(),node))){ + + var list = UE.uNode.createElement(me.options.insertorderedlist.hasOwnProperty(type) ? 'ol' : 'ul'); + if(customStyle[type]){ + list.setAttr('class','custom_'+type) + }else{ + list.setStyle('list-style-type',type) + } + while(node && node.parentNode.tagName != 'li' && checkListType(node.innerText(),node)){ + tmp = node.nextSibling(); + if(!tmp){ + node.parentNode.insertBefore(list,node) + } + appendLi(list,node,type); + node = tmp; + } + if(!list.parentNode && node && node.parentNode){ + node.parentNode.insertBefore(list,node) + } + } + var span = cacheNode.firstChild(); + if(span && span.type == 'element' && span.tagName == 'span' && /^\s*( )+\s*$/.test(span.innerText())){ + span.parentNode.removeChild(span) + } + }) + } + + }); + + //调整索引标签 + me.addListener('contentchange',function(){ + adjustListStyle(me.document) + }); + + function adjustListStyle(doc,ignore){ + utils.each(domUtils.getElementsByTagName(doc,'ol ul'),function(node){ + + if(!domUtils.inDoc(node,doc)) + return; + + var parent = node.parentNode; + if(parent.tagName == node.tagName){ + var nodeStyleType = getStyle(node) || (node.tagName == 'OL' ? 'decimal' : 'disc'), + parentStyleType = getStyle(parent) || (parent.tagName == 'OL' ? 'decimal' : 'disc'); + if(nodeStyleType == parentStyleType){ + var styleIndex = utils.indexOf(listStyle[node.tagName], nodeStyleType); + styleIndex = styleIndex + 1 == listStyle[node.tagName].length ? 0 : styleIndex + 1; + setListStyle(node,listStyle[node.tagName][styleIndex]) + } + + } + var index = 0,type = 2; + if( domUtils.hasClass(node,/custom_/)){ + if(!(/[ou]l/i.test(parent.tagName) && domUtils.hasClass(parent,/custom_/))){ + type = 1; + } + }else{ + if(/[ou]l/i.test(parent.tagName) && domUtils.hasClass(parent,/custom_/)){ + type = 3; + } + } + + var style = domUtils.getStyle(node, 'list-style-type'); + style && (node.style.cssText = 'list-style-type:' + style); + node.className = utils.trim(node.className.replace(/list-paddingleft-\w+/,'')) + ' list-paddingleft-' + type; + utils.each(domUtils.getElementsByTagName(node,'li'),function(li){ + li.style.cssText && (li.style.cssText = ''); + if(!li.firstChild){ + domUtils.remove(li); + return; + } + if(li.parentNode !== node){ + return; + } + index++; + if(domUtils.hasClass(node,/custom_/) ){ + var paddingLeft = 1,currentStyle = getStyle(node); + if(node.tagName == 'OL'){ + if(currentStyle){ + switch(currentStyle){ + case 'cn' : + case 'cn1': + case 'cn2': + if(index > 10 && (index % 10 == 0 || index > 10 && index < 20)){ + paddingLeft = 2 + }else if(index > 20){ + paddingLeft = 3 + } + break; + case 'num2' : + if(index > 9){ + paddingLeft = 2 + } + } + } + li.className = 'list-'+customStyle[currentStyle]+ index + ' ' + 'list-'+currentStyle+'-paddingleft-' + paddingLeft; + }else{ + li.className = 'list-'+customStyle[currentStyle] + ' ' + 'list-'+currentStyle+'-paddingleft'; + } + }else{ + li.className = li.className.replace(/list-[\w\-]+/gi,''); + } + var className = li.getAttribute('class'); + if(className !== null && !className.replace(/\s/g,'')){ + domUtils.removeAttributes(li,'class') + } + }); + !ignore && adjustList(node,node.tagName.toLowerCase(),getStyle(node)||domUtils.getStyle(node, 'list-style-type'),true); + }) + } + function adjustList(list, tag, style,ignoreEmpty) { + var nextList = list.nextSibling; + if (nextList && nextList.nodeType == 1 && nextList.tagName.toLowerCase() == tag && (getStyle(nextList) || domUtils.getStyle(nextList, 'list-style-type') || (tag == 'ol' ? 'decimal' : 'disc')) == style) { + domUtils.moveChild(nextList, list); + if (nextList.childNodes.length == 0) { + domUtils.remove(nextList); + } + } + if(nextList && domUtils.isFillChar(nextList)){ + domUtils.remove(nextList); + } + var preList = list.previousSibling; + if (preList && preList.nodeType == 1 && preList.tagName.toLowerCase() == tag && (getStyle(preList) || domUtils.getStyle(preList, 'list-style-type') || (tag == 'ol' ? 'decimal' : 'disc')) == style) { + domUtils.moveChild(list, preList); + } + if(preList && domUtils.isFillChar(preList)){ + domUtils.remove(preList); + } + !ignoreEmpty && domUtils.isEmptyBlock(list) && domUtils.remove(list); + if(getStyle(list)){ + adjustListStyle(list.ownerDocument,true) + } + } + + function setListStyle(list,style){ + if(customStyle[style]){ + list.className = 'custom_' + style; + } + try{ + domUtils.setStyle(list, 'list-style-type', style); + }catch(e){} + } + function clearEmptySibling(node) { + var tmpNode = node.previousSibling; + if (tmpNode && domUtils.isEmptyBlock(tmpNode)) { + domUtils.remove(tmpNode); + } + tmpNode = node.nextSibling; + if (tmpNode && domUtils.isEmptyBlock(tmpNode)) { + domUtils.remove(tmpNode); + } + } + + me.addListener('keydown', function (type, evt) { + function preventAndSave() { + evt.preventDefault ? evt.preventDefault() : (evt.returnValue = false); + me.fireEvent('contentchange'); + me.undoManger && me.undoManger.save(); + } + function findList(node,filterFn){ + while(node && !domUtils.isBody(node)){ + if(filterFn(node)){ + return null + } + if(node.nodeType == 1 && /[ou]l/i.test(node.tagName)){ + return node; + } + node = node.parentNode; + } + return null; + } + var keyCode = evt.keyCode || evt.which; + if (keyCode == 13 && !evt.shiftKey) {//回车 + var rng = me.selection.getRange(), + parent = domUtils.findParent(rng.startContainer,function(node){return domUtils.isBlockElm(node)},true), + li = domUtils.findParentByTagName(rng.startContainer,'li',true); + if(parent && parent.tagName != 'PRE' && !li){ + var html = parent.innerHTML.replace(new RegExp(domUtils.fillChar, 'g'),''); + if(/^\s*1\s*\.[^\d]/.test(html)){ + parent.innerHTML = html.replace(/^\s*1\s*\./,''); + rng.setStartAtLast(parent).collapse(true).select(); + me.__hasEnterExecCommand = true; + me.execCommand('insertorderedlist'); + me.__hasEnterExecCommand = false; + } + } + var range = me.selection.getRange(), + start = findList(range.startContainer,function (node) { + return node.tagName == 'TABLE'; + }), + end = range.collapsed ? start : findList(range.endContainer,function (node) { + return node.tagName == 'TABLE'; + }); + + if (start && end && start === end) { + + if (!range.collapsed) { + start = domUtils.findParentByTagName(range.startContainer, 'li', true); + end = domUtils.findParentByTagName(range.endContainer, 'li', true); + if (start && end && start === end) { + range.deleteContents(); + li = domUtils.findParentByTagName(range.startContainer, 'li', true); + if (li && domUtils.isEmptyBlock(li)) { + + pre = li.previousSibling; + next = li.nextSibling; + p = me.document.createElement('p'); + + domUtils.fillNode(me.document, p); + parentList = li.parentNode; + if (pre && next) { + range.setStart(next, 0).collapse(true).select(true); + domUtils.remove(li); + + } else { + if (!pre && !next || !pre) { + + parentList.parentNode.insertBefore(p, parentList); + + + } else { + li.parentNode.parentNode.insertBefore(p, parentList.nextSibling); + } + domUtils.remove(li); + if (!parentList.firstChild) { + domUtils.remove(parentList); + } + range.setStart(p, 0).setCursor(); + + + } + preventAndSave(); + return; + + } + } else { + var tmpRange = range.cloneRange(), + bk = tmpRange.collapse(false).createBookmark(); + + range.deleteContents(); + tmpRange.moveToBookmark(bk); + var li = domUtils.findParentByTagName(tmpRange.startContainer, 'li', true); + + clearEmptySibling(li); + tmpRange.select(); + preventAndSave(); + return; + } + } + + + li = domUtils.findParentByTagName(range.startContainer, 'li', true); + + if (li) { + if (domUtils.isEmptyBlock(li)) { + bk = range.createBookmark(); + var parentList = li.parentNode; + if (li !== parentList.lastChild) { + domUtils.breakParent(li, parentList); + clearEmptySibling(li); + } else { + + parentList.parentNode.insertBefore(li, parentList.nextSibling); + if (domUtils.isEmptyNode(parentList)) { + domUtils.remove(parentList); + } + } + //嵌套不处理 + if (!dtd.$list[li.parentNode.tagName]) { + + if (!domUtils.isBlockElm(li.firstChild)) { + p = me.document.createElement('p'); + li.parentNode.insertBefore(p, li); + while (li.firstChild) { + p.appendChild(li.firstChild); + } + domUtils.remove(li); + } else { + domUtils.remove(li, true); + } + } + range.moveToBookmark(bk).select(); + + + } else { + var first = li.firstChild; + if (!first || !domUtils.isBlockElm(first)) { + var p = me.document.createElement('p'); + + !li.firstChild && domUtils.fillNode(me.document, p); + while (li.firstChild) { + + p.appendChild(li.firstChild); + } + li.appendChild(p); + first = p; + } + + var span = me.document.createElement('span'); + + range.insertNode(span); + domUtils.breakParent(span, li); + + var nextLi = span.nextSibling; + first = nextLi.firstChild; + + if (!first) { + p = me.document.createElement('p'); + + domUtils.fillNode(me.document, p); + nextLi.appendChild(p); + first = p; + } + if (domUtils.isEmptyNode(first)) { + first.innerHTML = ''; + domUtils.fillNode(me.document, first); + } + + range.setStart(first, 0).collapse(true).shrinkBoundary().select(); + domUtils.remove(span); + var pre = nextLi.previousSibling; + if (pre && domUtils.isEmptyBlock(pre)) { + pre.innerHTML = '

      '; + domUtils.fillNode(me.document, pre.firstChild); + } + + } +// } + preventAndSave(); + } + + + } + + + } + if (keyCode == 8) { + //修中ie中li下的问题 + range = me.selection.getRange(); + if (range.collapsed && domUtils.isStartInblock(range)) { + tmpRange = range.cloneRange().trimBoundary(); + li = domUtils.findParentByTagName(range.startContainer, 'li', true); + //要在li的最左边,才能处理 + if (li && domUtils.isStartInblock(tmpRange)) { + start = domUtils.findParentByTagName(range.startContainer, 'p', true); + if (start && start !== li.firstChild) { + var parentList = domUtils.findParentByTagName(start,['ol','ul']); + domUtils.breakParent(start,parentList); + clearEmptySibling(start); + me.fireEvent('contentchange'); + range.setStart(start,0).setCursor(false,true); + me.fireEvent('saveScene'); + domUtils.preventDefault(evt); + return; + } + + if (li && (pre = li.previousSibling)) { + if (keyCode == 46 && li.childNodes.length) { + return; + } + //有可能上边的兄弟节点是个2级菜单,要追加到2级菜单的最后的li + if (dtd.$list[pre.tagName]) { + pre = pre.lastChild; + } + me.undoManger && me.undoManger.save(); + first = li.firstChild; + if (domUtils.isBlockElm(first)) { + if (domUtils.isEmptyNode(first)) { +// range.setEnd(pre, pre.childNodes.length).shrinkBoundary().collapse().select(true); + pre.appendChild(first); + range.setStart(first, 0).setCursor(false, true); + //first不是唯一的节点 + while (li.firstChild) { + pre.appendChild(li.firstChild); + } + } else { + + span = me.document.createElement('span'); + range.insertNode(span); + //判断pre是否是空的节点,如果是


      类型的空节点,干掉p标签防止它占位 + if (domUtils.isEmptyBlock(pre)) { + pre.innerHTML = ''; + } + domUtils.moveChild(li, pre); + range.setStartBefore(span).collapse(true).select(true); + + domUtils.remove(span); + + } + } else { + if (domUtils.isEmptyNode(li)) { + var p = me.document.createElement('p'); + pre.appendChild(p); + range.setStart(p, 0).setCursor(); +// range.setEnd(pre, pre.childNodes.length).shrinkBoundary().collapse().select(true); + } else { + range.setEnd(pre, pre.childNodes.length).collapse().select(true); + while (li.firstChild) { + pre.appendChild(li.firstChild); + } + } + } + domUtils.remove(li); + me.fireEvent('contentchange'); + me.fireEvent('saveScene'); + domUtils.preventDefault(evt); + return; + + } + //trace:980 + + if (li && !li.previousSibling) { + var parentList = li.parentNode; + var bk = range.createBookmark(); + if(domUtils.isTagNode(parentList.parentNode,'ol ul')){ + parentList.parentNode.insertBefore(li,parentList); + if(domUtils.isEmptyNode(parentList)){ + domUtils.remove(parentList) + } + }else{ + + while(li.firstChild){ + parentList.parentNode.insertBefore(li.firstChild,parentList); + } + + domUtils.remove(li); + if(domUtils.isEmptyNode(parentList)){ + domUtils.remove(parentList) + } + + } + range.moveToBookmark(bk).setCursor(false,true); + me.fireEvent('contentchange'); + me.fireEvent('saveScene'); + domUtils.preventDefault(evt); + return; + + } + + + } + + + } + + } + }); + + me.addListener('keyup',function(type, evt){ + var keyCode = evt.keyCode || evt.which; + if (keyCode == 8) { + var rng = me.selection.getRange(),list; + if(list = domUtils.findParentByTagName(rng.startContainer,['ol', 'ul'],true)){ + adjustList(list,list.tagName.toLowerCase(),getStyle(list)||domUtils.getComputedStyle(list,'list-style-type'),true) + } + } + }); + //处理tab键 + me.addListener('tabkeydown',function(){ + + var range = me.selection.getRange(); + + //控制级数 + function checkLevel(li){ + if(me.options.maxListLevel != -1){ + var level = li.parentNode,levelNum = 0; + while(/[ou]l/i.test(level.tagName)){ + levelNum++; + level = level.parentNode; + } + if(levelNum >= me.options.maxListLevel){ + return true; + } + } + } + //只以开始为准 + //todo 后续改进 + var li = domUtils.findParentByTagName(range.startContainer, 'li', true); + if(li){ + + var bk; + if(range.collapsed){ + if(checkLevel(li)) + return true; + var parentLi = li.parentNode, + list = me.document.createElement(parentLi.tagName), + index = utils.indexOf(listStyle[list.tagName], getStyle(parentLi)||domUtils.getComputedStyle(parentLi, 'list-style-type')); + index = index + 1 == listStyle[list.tagName].length ? 0 : index + 1; + var currentStyle = listStyle[list.tagName][index]; + setListStyle(list,currentStyle); + if(domUtils.isStartInblock(range)){ + me.fireEvent('saveScene'); + bk = range.createBookmark(); + parentLi.insertBefore(list, li); + list.appendChild(li); + adjustList(list,list.tagName.toLowerCase(),currentStyle); + me.fireEvent('contentchange'); + range.moveToBookmark(bk).select(true); + return true; + } + }else{ + me.fireEvent('saveScene'); + bk = range.createBookmark(); + for(var i= 0,closeList,parents = domUtils.findParents(li),ci;ci=parents[i++];){ + if(domUtils.isTagNode(ci,'ol ul')){ + closeList = ci; + break; + } + } + var current = li; + if(bk.end){ + while(current && !(domUtils.getPosition(current, bk.end) & domUtils.POSITION_FOLLOWING)){ + if(checkLevel(current)){ + current = domUtils.getNextDomNode(current,false,null,function(node){return node !== closeList}); + continue; + } + var parentLi = current.parentNode, + list = me.document.createElement(parentLi.tagName), + index = utils.indexOf(listStyle[list.tagName], getStyle(parentLi)||domUtils.getComputedStyle(parentLi, 'list-style-type')); + var currentIndex = index + 1 == listStyle[list.tagName].length ? 0 : index + 1; + var currentStyle = listStyle[list.tagName][currentIndex]; + setListStyle(list,currentStyle); + parentLi.insertBefore(list, current); + while(current && !(domUtils.getPosition(current, bk.end) & domUtils.POSITION_FOLLOWING)){ + li = current.nextSibling; + list.appendChild(current); + if(!li || domUtils.isTagNode(li,'ol ul')){ + if(li){ + while(li = li.firstChild){ + if(li.tagName == 'LI'){ + break; + } + } + }else{ + li = domUtils.getNextDomNode(current,false,null,function(node){return node !== closeList}); + } + break; + } + current = li; + } + adjustList(list,list.tagName.toLowerCase(),currentStyle); + current = li; + } + } + me.fireEvent('contentchange'); + range.moveToBookmark(bk).select(); + return true; + } + } + + }); + function getLi(start){ + while(start && !domUtils.isBody(start)){ + if(start.nodeName == 'TABLE'){ + return null; + } + if(start.nodeName == 'LI'){ + return start + } + start = start.parentNode; + } + } + + /** + * 有序列表,与“insertunorderedlist”命令互斥 + * @command insertorderedlist + * @method execCommand + * @param { String } command 命令字符串 + * @param { String } style 插入的有序列表类型,值为:decimal,lower-alpha,lower-roman,upper-alpha,upper-roman,cn,cn1,cn2,num,num1,num2 + * @example + * ```javascript + * editor.execCommand( 'insertorderedlist','decimal'); + * ``` + */ + /** + * 查询当前选区内容是否有序列表 + * @command insertorderedlist + * @method queryCommandState + * @param { String } cmd 命令字符串 + * @return { int } 如果当前选区是有序列表返回1,否则返回0 + * @example + * ```javascript + * editor.queryCommandState( 'insertorderedlist' ); + * ``` + */ + /** + * 查询当前选区内容是否有序列表 + * @command insertorderedlist + * @method queryCommandValue + * @param { String } cmd 命令字符串 + * @return { String } 返回当前有序列表的类型,值为null或decimal,lower-alpha,lower-roman,upper-alpha,upper-roman,cn,cn1,cn2,num,num1,num2 + * @example + * ```javascript + * editor.queryCommandValue( 'insertorderedlist' ); + * ``` + */ + + /** + * 无序列表,与“insertorderedlist”命令互斥 + * @command insertunorderedlist + * @method execCommand + * @param { String } command 命令字符串 + * @param { String } style 插入的无序列表类型,值为:circle,disc,square,dash,dot + * @example + * ```javascript + * editor.execCommand( 'insertunorderedlist','circle'); + * ``` + */ + /** + * 查询当前是否有word文档粘贴进来的图片 + * @command insertunorderedlist + * @method insertunorderedlist + * @param { String } command 命令字符串 + * @return { int } 如果当前选区是无序列表返回1,否则返回0 + * @example + * ```javascript + * editor.queryCommandState( 'insertunorderedlist' ); + * ``` + */ + /** + * 查询当前选区内容是否有序列表 + * @command insertunorderedlist + * @method queryCommandValue + * @param { String } command 命令字符串 + * @return { String } 返回当前无序列表的类型,值为null或circle,disc,square,dash,dot + * @example + * ```javascript + * editor.queryCommandValue( 'insertunorderedlist' ); + * ``` + */ + + me.commands['insertorderedlist'] = + me.commands['insertunorderedlist'] = { + execCommand:function (command, style) { + + if (!style) { + style = command.toLowerCase() == 'insertorderedlist' ? 'decimal' : 'disc'; + } + var me = this, + range = this.selection.getRange(), + filterFn = function (node) { + return node.nodeType == 1 ? node.tagName.toLowerCase() != 'br' : !domUtils.isWhitespace(node); + }, + tag = command.toLowerCase() == 'insertorderedlist' ? 'ol' : 'ul', + frag = me.document.createDocumentFragment(); + //去掉是因为会出现选到末尾,导致adjustmentBoundary缩到ol/ul的位置 + //range.shrinkBoundary();//.adjustmentBoundary(); + range.adjustmentBoundary().shrinkBoundary(); + var bko = range.createBookmark(true), + start = getLi(me.document.getElementById(bko.start)), + modifyStart = 0, + end = getLi(me.document.getElementById(bko.end)), + modifyEnd = 0, + startParent, endParent, + list, tmp; + + if (start || end) { + start && (startParent = start.parentNode); + if (!bko.end) { + end = start; + } + end && (endParent = end.parentNode); + + if (startParent === endParent) { + while (start !== end) { + tmp = start; + start = start.nextSibling; + if (!domUtils.isBlockElm(tmp.firstChild)) { + var p = me.document.createElement('p'); + while (tmp.firstChild) { + p.appendChild(tmp.firstChild); + } + tmp.appendChild(p); + } + frag.appendChild(tmp); + } + tmp = me.document.createElement('span'); + startParent.insertBefore(tmp, end); + if (!domUtils.isBlockElm(end.firstChild)) { + p = me.document.createElement('p'); + while (end.firstChild) { + p.appendChild(end.firstChild); + } + end.appendChild(p); + } + frag.appendChild(end); + domUtils.breakParent(tmp, startParent); + if (domUtils.isEmptyNode(tmp.previousSibling)) { + domUtils.remove(tmp.previousSibling); + } + if (domUtils.isEmptyNode(tmp.nextSibling)) { + domUtils.remove(tmp.nextSibling) + } + var nodeStyle = getStyle(startParent) || domUtils.getComputedStyle(startParent, 'list-style-type') || (command.toLowerCase() == 'insertorderedlist' ? 'decimal' : 'disc'); + if (startParent.tagName.toLowerCase() == tag && nodeStyle == style) { + for (var i = 0, ci, tmpFrag = me.document.createDocumentFragment(); ci = frag.firstChild;) { + if(domUtils.isTagNode(ci,'ol ul')){ +// 删除时,子列表不处理 +// utils.each(domUtils.getElementsByTagName(ci,'li'),function(li){ +// while(li.firstChild){ +// tmpFrag.appendChild(li.firstChild); +// } +// +// }); + tmpFrag.appendChild(ci); + }else{ + while (ci.firstChild) { + + tmpFrag.appendChild(ci.firstChild); + domUtils.remove(ci); + } + } + + } + tmp.parentNode.insertBefore(tmpFrag, tmp); + } else { + list = me.document.createElement(tag); + setListStyle(list,style); + list.appendChild(frag); + tmp.parentNode.insertBefore(list, tmp); + } + + domUtils.remove(tmp); + list && adjustList(list, tag, style); + range.moveToBookmark(bko).select(); + return; + } + //开始 + if (start) { + while (start) { + tmp = start.nextSibling; + if (domUtils.isTagNode(start, 'ol ul')) { + frag.appendChild(start); + } else { + var tmpfrag = me.document.createDocumentFragment(), + hasBlock = 0; + while (start.firstChild) { + if (domUtils.isBlockElm(start.firstChild)) { + hasBlock = 1; + } + tmpfrag.appendChild(start.firstChild); + } + if (!hasBlock) { + var tmpP = me.document.createElement('p'); + tmpP.appendChild(tmpfrag); + frag.appendChild(tmpP); + } else { + frag.appendChild(tmpfrag); + } + domUtils.remove(start); + } + + start = tmp; + } + startParent.parentNode.insertBefore(frag, startParent.nextSibling); + if (domUtils.isEmptyNode(startParent)) { + range.setStartBefore(startParent); + domUtils.remove(startParent); + } else { + range.setStartAfter(startParent); + } + modifyStart = 1; + } + + if (end && domUtils.inDoc(endParent, me.document)) { + //结束 + start = endParent.firstChild; + while (start && start !== end) { + tmp = start.nextSibling; + if (domUtils.isTagNode(start, 'ol ul')) { + frag.appendChild(start); + } else { + tmpfrag = me.document.createDocumentFragment(); + hasBlock = 0; + while (start.firstChild) { + if (domUtils.isBlockElm(start.firstChild)) { + hasBlock = 1; + } + tmpfrag.appendChild(start.firstChild); + } + if (!hasBlock) { + tmpP = me.document.createElement('p'); + tmpP.appendChild(tmpfrag); + frag.appendChild(tmpP); + } else { + frag.appendChild(tmpfrag); + } + domUtils.remove(start); + } + start = tmp; + } + var tmpDiv = domUtils.createElement(me.document, 'div', { + 'tmpDiv':1 + }); + domUtils.moveChild(end, tmpDiv); + + frag.appendChild(tmpDiv); + domUtils.remove(end); + endParent.parentNode.insertBefore(frag, endParent); + range.setEndBefore(endParent); + if (domUtils.isEmptyNode(endParent)) { + domUtils.remove(endParent); + } + + modifyEnd = 1; + } + + + } + + if (!modifyStart) { + range.setStartBefore(me.document.getElementById(bko.start)); + } + if (bko.end && !modifyEnd) { + range.setEndAfter(me.document.getElementById(bko.end)); + } + range.enlarge(true, function (node) { + return notExchange[node.tagName]; + }); + + frag = me.document.createDocumentFragment(); + + var bk = range.createBookmark(), + current = domUtils.getNextDomNode(bk.start, false, filterFn), + tmpRange = range.cloneRange(), + tmpNode, + block = domUtils.isBlockElm; + + while (current && current !== bk.end && (domUtils.getPosition(current, bk.end) & domUtils.POSITION_PRECEDING)) { + + if (current.nodeType == 3 || dtd.li[current.tagName]) { + if (current.nodeType == 1 && dtd.$list[current.tagName]) { + while (current.firstChild) { + frag.appendChild(current.firstChild); + } + tmpNode = domUtils.getNextDomNode(current, false, filterFn); + domUtils.remove(current); + current = tmpNode; + continue; + + } + tmpNode = current; + tmpRange.setStartBefore(current); + + while (current && current !== bk.end && (!block(current) || domUtils.isBookmarkNode(current) )) { + tmpNode = current; + current = domUtils.getNextDomNode(current, false, null, function (node) { + return !notExchange[node.tagName]; + }); + } + + if (current && block(current)) { + tmp = domUtils.getNextDomNode(tmpNode, false, filterFn); + if (tmp && domUtils.isBookmarkNode(tmp)) { + current = domUtils.getNextDomNode(tmp, false, filterFn); + tmpNode = tmp; + } + } + tmpRange.setEndAfter(tmpNode); + + current = domUtils.getNextDomNode(tmpNode, false, filterFn); + + var li = range.document.createElement('li'); + + li.appendChild(tmpRange.extractContents()); + if(domUtils.isEmptyNode(li)){ + var tmpNode = range.document.createElement('p'); + while(li.firstChild){ + tmpNode.appendChild(li.firstChild) + } + li.appendChild(tmpNode); + } + frag.appendChild(li); + } else { + current = domUtils.getNextDomNode(current, true, filterFn); + } + } + range.moveToBookmark(bk).collapse(true); + list = me.document.createElement(tag); + setListStyle(list,style); + list.appendChild(frag); + range.insertNode(list); + //当前list上下看能否合并 + adjustList(list, tag, style); + //去掉冗余的tmpDiv + for (var i = 0, ci, tmpDivs = domUtils.getElementsByTagName(list, 'div'); ci = tmpDivs[i++];) { + if (ci.getAttribute('tmpDiv')) { + domUtils.remove(ci, true) + } + } + range.moveToBookmark(bko).select(); + + }, + queryCommandState:function (command) { + var tag = command.toLowerCase() == 'insertorderedlist' ? 'ol' : 'ul'; + var path = this.selection.getStartElementPath(); + for(var i= 0,ci;ci = path[i++];){ + if(ci.nodeName == 'TABLE'){ + return 0 + } + if(tag == ci.nodeName.toLowerCase()){ + return 1 + }; + } + return 0; + + }, + queryCommandValue:function (command) { + var tag = command.toLowerCase() == 'insertorderedlist' ? 'ol' : 'ul'; + var path = this.selection.getStartElementPath(), + node; + for(var i= 0,ci;ci = path[i++];){ + if(ci.nodeName == 'TABLE'){ + node = null; + break; + } + if(tag == ci.nodeName.toLowerCase()){ + node = ci; + break; + }; + } + return node ? getStyle(node) || domUtils.getComputedStyle(node, 'list-style-type') : null; + } + }; +}; + + + +// plugins/source.js +/** + * 源码编辑插件 + * @file + * @since 1.2.6.1 + */ + +(function (){ + var sourceEditors = { + textarea: function (editor, holder){ + var textarea = holder.ownerDocument.createElement('textarea'); + textarea.style.cssText = 'position:absolute;resize:none;width:100%;height:100%;border:0;padding:0;margin:0;overflow-y:auto;'; + // todo: IE下只有onresize属性可用... 很纠结 + if (browser.ie && browser.version < 8) { + textarea.style.width = holder.offsetWidth + 'px'; + textarea.style.height = holder.offsetHeight + 'px'; + holder.onresize = function (){ + textarea.style.width = holder.offsetWidth + 'px'; + textarea.style.height = holder.offsetHeight + 'px'; + }; + } + holder.appendChild(textarea); + return { + setContent: function (content){ + textarea.value = content; + }, + getContent: function (){ + return textarea.value; + }, + select: function (){ + var range; + if (browser.ie) { + range = textarea.createTextRange(); + range.collapse(true); + range.select(); + } else { + //todo: chrome下无法设置焦点 + textarea.setSelectionRange(0, 0); + textarea.focus(); + } + }, + dispose: function (){ + holder.removeChild(textarea); + // todo + holder.onresize = null; + textarea = null; + holder = null; + } + }; + }, + codemirror: function (editor, holder){ + + var codeEditor = window.CodeMirror(holder, { + mode: "text/html", + tabMode: "indent", + lineNumbers: true, + lineWrapping:true + }); + var dom = codeEditor.getWrapperElement(); + dom.style.cssText = 'position:absolute;left:0;top:0;width:100%;height:100%;font-family:consolas,"Courier new",monospace;font-size:13px;'; + codeEditor.getScrollerElement().style.cssText = 'position:absolute;left:0;top:0;width:100%;height:100%;'; + codeEditor.refresh(); + return { + getCodeMirror:function(){ + return codeEditor; + }, + setContent: function (content){ + codeEditor.setValue(content); + }, + getContent: function (){ + return codeEditor.getValue(); + }, + select: function (){ + codeEditor.focus(); + }, + dispose: function (){ + holder.removeChild(dom); + dom = null; + codeEditor = null; + } + }; + } + }; + + UE.plugins['source'] = function (){ + var me = this; + var opt = this.options; + var sourceMode = false; + var sourceEditor; + var orgSetContent; + opt.sourceEditor = browser.ie ? 'textarea' : (opt.sourceEditor || 'codemirror'); + + me.setOpt({ + sourceEditorFirst:false + }); + function createSourceEditor(holder){ + return sourceEditors[opt.sourceEditor == 'codemirror' && window.CodeMirror ? 'codemirror' : 'textarea'](me, holder); + } + + var bakCssText; + //解决在源码模式下getContent不能得到最新的内容问题 + var oldGetContent, + bakAddress; + + /** + * 切换源码模式和编辑模式 + * @command source + * @method execCommand + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * editor.execCommand( 'source'); + * ``` + */ + + /** + * 查询当前编辑区域的状态是源码模式还是可视化模式 + * @command source + * @method queryCommandState + * @param { String } cmd 命令字符串 + * @return { int } 如果当前是源码编辑模式,返回1,否则返回0 + * @example + * ```javascript + * editor.queryCommandState( 'source' ); + * ``` + */ + + me.commands['source'] = { + execCommand: function (){ + + sourceMode = !sourceMode; + if (sourceMode) { + bakAddress = me.selection.getRange().createAddress(false,true); + me.undoManger && me.undoManger.save(true); + if(browser.gecko){ + me.body.contentEditable = false; + } + + bakCssText = me.iframe.style.cssText; + me.iframe.style.cssText += 'position:absolute;left:-32768px;top:-32768px;'; + + + me.fireEvent('beforegetcontent'); + var root = UE.htmlparser(me.body.innerHTML); + me.filterOutputRule(root); + root.traversal(function (node) { + if (node.type == 'element') { + switch (node.tagName) { + case 'td': + case 'th': + case 'caption': + if(node.children && node.children.length == 1){ + if(node.firstChild().tagName == 'br' ){ + node.removeChild(node.firstChild()) + } + }; + break; + case 'pre': + node.innerText(node.innerText().replace(/ /g,' ')) + + } + } + }); + + me.fireEvent('aftergetcontent'); + + var content = root.toHtml(true); + + sourceEditor = createSourceEditor(me.iframe.parentNode); + + sourceEditor.setContent(content); + + orgSetContent = me.setContent; + + me.setContent = function(html){ + //这里暂时不触发事件,防止报错 + var root = UE.htmlparser(html); + me.filterInputRule(root); + html = root.toHtml(); + sourceEditor.setContent(html); + }; + + setTimeout(function (){ + sourceEditor.select(); + me.addListener('fullscreenchanged', function(){ + try{ + sourceEditor.getCodeMirror().refresh() + }catch(e){} + }); + }); + + //重置getContent,源码模式下取值也能是最新的数据 + oldGetContent = me.getContent; + me.getContent = function (){ + return sourceEditor.getContent() || '

      ' + (browser.ie ? '' : '
      ')+'

      '; + }; + } else { + me.iframe.style.cssText = bakCssText; + var cont = sourceEditor.getContent() || '

      ' + (browser.ie ? '' : '
      ')+'

      '; + //处理掉block节点前后的空格,有可能会误命中,暂时不考虑 + cont = cont.replace(new RegExp('[\\r\\t\\n ]*<\/?(\\w+)\\s*(?:[^>]*)>','g'), function(a,b){ + if(b && !dtd.$inlineWithA[b.toLowerCase()]){ + return a.replace(/(^[\n\r\t ]*)|([\n\r\t ]*$)/g,''); + } + return a.replace(/(^[\n\r\t]*)|([\n\r\t]*$)/g,'') + }); + + me.setContent = orgSetContent; + + me.setContent(cont); + sourceEditor.dispose(); + sourceEditor = null; + //还原getContent方法 + me.getContent = oldGetContent; + var first = me.body.firstChild; + //trace:1106 都删除空了,下边会报错,所以补充一个p占位 + if(!first){ + me.body.innerHTML = '

      '+(browser.ie?'':'
      ')+'

      '; + first = me.body.firstChild; + } + + + //要在ifm为显示时ff才能取到selection,否则报错 + //这里不能比较位置了 + me.undoManger && me.undoManger.save(true); + + if(browser.gecko){ + + var input = document.createElement('input'); + input.style.cssText = 'position:absolute;left:0;top:-32768px'; + + document.body.appendChild(input); + + me.body.contentEditable = false; + setTimeout(function(){ + domUtils.setViewportOffset(input, { left: -32768, top: 0 }); + input.focus(); + setTimeout(function(){ + me.body.contentEditable = true; + me.selection.getRange().moveToAddress(bakAddress).select(true); + domUtils.remove(input); + }); + + }); + }else{ + //ie下有可能报错,比如在代码顶头的情况 + try{ + me.selection.getRange().moveToAddress(bakAddress).select(true); + }catch(e){} + + } + } + this.fireEvent('sourcemodechanged', sourceMode); + }, + queryCommandState: function (){ + return sourceMode|0; + }, + notNeedUndo : 1 + }; + var oldQueryCommandState = me.queryCommandState; + + me.queryCommandState = function (cmdName){ + cmdName = cmdName.toLowerCase(); + if (sourceMode) { + //源码模式下可以开启的命令 + return cmdName in { + 'source' : 1, + 'fullscreen' : 1 + } ? 1 : -1 + } + return oldQueryCommandState.apply(this, arguments); + }; + + if(opt.sourceEditor == "codemirror"){ + + me.addListener("ready",function(){ + utils.loadFile(document,{ + src : opt.codeMirrorJsUrl || opt.UEDITOR_HOME_URL + "third-party/codemirror/codemirror.js", + tag : "script", + type : "text/javascript", + defer : "defer" + },function(){ + if(opt.sourceEditorFirst){ + setTimeout(function(){ + me.execCommand("source"); + },0); + } + }); + utils.loadFile(document,{ + tag : "link", + rel : "stylesheet", + type : "text/css", + href : opt.codeMirrorCssUrl || opt.UEDITOR_HOME_URL + "third-party/codemirror/codemirror.css" + }); + + }); + } + + }; + +})(); + +// plugins/enterkey.js +///import core +///import plugins/undo.js +///commands 设置回车标签p或br +///commandsName EnterKey +///commandsTitle 设置回车标签p或br +/** + * @description 处理回车 + * @author zhanyi + */ +UE.plugins['enterkey'] = function() { + var hTag, + me = this, + tag = me.options.enterTag; + me.addListener('keyup', function(type, evt) { + + var keyCode = evt.keyCode || evt.which; + if (keyCode == 13) { + var range = me.selection.getRange(), + start = range.startContainer, + doSave; + + //修正在h1-h6里边回车后不能嵌套p的问题 + if (!browser.ie) { + + if (/h\d/i.test(hTag)) { + if (browser.gecko) { + var h = domUtils.findParentByTagName(start, [ 'h1', 'h2', 'h3', 'h4', 'h5', 'h6','blockquote','caption','table'], true); + if (!h) { + me.document.execCommand('formatBlock', false, '

      '); + doSave = 1; + } + } else { + //chrome remove div + if (start.nodeType == 1) { + var tmp = me.document.createTextNode(''),div; + range.insertNode(tmp); + div = domUtils.findParentByTagName(tmp, 'div', true); + if (div) { + var p = me.document.createElement('p'); + while (div.firstChild) { + p.appendChild(div.firstChild); + } + div.parentNode.insertBefore(p, div); + domUtils.remove(div); + range.setStartBefore(tmp).setCursor(); + doSave = 1; + } + domUtils.remove(tmp); + + } + } + + if (me.undoManger && doSave) { + me.undoManger.save(); + } + } + //没有站位符,会出现多行的问题 + browser.opera && range.select(); + }else{ + me.fireEvent('saveScene',true,true) + } + } + }); + + me.addListener('keydown', function(type, evt) { + var keyCode = evt.keyCode || evt.which; + if (keyCode == 13) {//回车 + if(me.fireEvent('beforeenterkeydown')){ + domUtils.preventDefault(evt); + return; + } + me.fireEvent('saveScene',true,true); + hTag = ''; + + + var range = me.selection.getRange(); + + if (!range.collapsed) { + //跨td不能删 + var start = range.startContainer, + end = range.endContainer, + startTd = domUtils.findParentByTagName(start, 'td', true), + endTd = domUtils.findParentByTagName(end, 'td', true); + if (startTd && endTd && startTd !== endTd || !startTd && endTd || startTd && !endTd) { + evt.preventDefault ? evt.preventDefault() : ( evt.returnValue = false); + return; + } + } + if (tag == 'p') { + + + if (!browser.ie) { + + start = domUtils.findParentByTagName(range.startContainer, ['ol','ul','p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6','blockquote','caption'], true); + + //opera下执行formatblock会在table的场景下有问题,回车在opera原生支持很好,所以暂时在opera去掉调用这个原生的command + //trace:2431 + if (!start && !browser.opera) { + + me.document.execCommand('formatBlock', false, '

      '); + + if (browser.gecko) { + range = me.selection.getRange(); + start = domUtils.findParentByTagName(range.startContainer, 'p', true); + start && domUtils.removeDirtyAttr(start); + } + + + } else { + hTag = start.tagName; + start.tagName.toLowerCase() == 'p' && browser.gecko && domUtils.removeDirtyAttr(start); + } + + } + + } else { + evt.preventDefault ? evt.preventDefault() : ( evt.returnValue = false); + + if (!range.collapsed) { + range.deleteContents(); + start = range.startContainer; + if (start.nodeType == 1 && (start = start.childNodes[range.startOffset])) { + while (start.nodeType == 1) { + if (dtd.$empty[start.tagName]) { + range.setStartBefore(start).setCursor(); + if (me.undoManger) { + me.undoManger.save(); + } + return false; + } + if (!start.firstChild) { + var br = range.document.createElement('br'); + start.appendChild(br); + range.setStart(start, 0).setCursor(); + if (me.undoManger) { + me.undoManger.save(); + } + return false; + } + start = start.firstChild; + } + if (start === range.startContainer.childNodes[range.startOffset]) { + br = range.document.createElement('br'); + range.insertNode(br).setCursor(); + + } else { + range.setStart(start, 0).setCursor(); + } + + + } else { + br = range.document.createElement('br'); + range.insertNode(br).setStartAfter(br).setCursor(); + } + + + } else { + br = range.document.createElement('br'); + range.insertNode(br); + var parent = br.parentNode; + if (parent.lastChild === br) { + br.parentNode.insertBefore(br.cloneNode(true), br); + range.setStartBefore(br); + } else { + range.setStartAfter(br); + } + range.setCursor(); + + } + + } + + } + }); +}; + + +// plugins/keystrokes.js +/* 处理特殊键的兼容性问题 */ +UE.plugins['keystrokes'] = function() { + var me = this; + var collapsed = true; + me.addListener('keydown', function(type, evt) { + var keyCode = evt.keyCode || evt.which, + rng = me.selection.getRange(); + + //处理全选的情况 + if(!rng.collapsed && !(evt.ctrlKey || evt.shiftKey || evt.altKey || evt.metaKey) && (keyCode >= 65 && keyCode <=90 + || keyCode >= 48 && keyCode <= 57 || + keyCode >= 96 && keyCode <= 111 || { + 13:1, + 8:1, + 46:1 + }[keyCode]) + ){ + + var tmpNode = rng.startContainer; + if(domUtils.isFillChar(tmpNode)){ + rng.setStartBefore(tmpNode) + } + tmpNode = rng.endContainer; + if(domUtils.isFillChar(tmpNode)){ + rng.setEndAfter(tmpNode) + } + rng.txtToElmBoundary(); + //结束边界可能放到了br的前边,要把br包含进来 + // x[xxx]
      + if(rng.endContainer && rng.endContainer.nodeType == 1){ + tmpNode = rng.endContainer.childNodes[rng.endOffset]; + if(tmpNode && domUtils.isBr(tmpNode)){ + rng.setEndAfter(tmpNode); + } + } + if(rng.startOffset == 0){ + tmpNode = rng.startContainer; + if(domUtils.isBoundaryNode(tmpNode,'firstChild') ){ + tmpNode = rng.endContainer; + if(rng.endOffset == (tmpNode.nodeType == 3 ? tmpNode.nodeValue.length : tmpNode.childNodes.length) && domUtils.isBoundaryNode(tmpNode,'lastChild')){ + me.fireEvent('saveScene'); + me.body.innerHTML = '

      '+(browser.ie ? '' : '
      ')+'

      '; + rng.setStart(me.body.firstChild,0).setCursor(false,true); + me._selectionChange(); + return; + } + } + } + } + + //处理backspace + if (keyCode == keymap.Backspace) { + rng = me.selection.getRange(); + collapsed = rng.collapsed; + if(me.fireEvent('delkeydown',evt)){ + return; + } + var start,end; + //避免按两次删除才能生效的问题 + if(rng.collapsed && rng.inFillChar()){ + start = rng.startContainer; + + if(domUtils.isFillChar(start)){ + rng.setStartBefore(start).shrinkBoundary(true).collapse(true); + domUtils.remove(start) + }else{ + start.nodeValue = start.nodeValue.replace(new RegExp('^' + domUtils.fillChar ),''); + rng.startOffset--; + rng.collapse(true).select(true) + } + } + + //解决选中control元素不能删除的问题 + if (start = rng.getClosedNode()) { + me.fireEvent('saveScene'); + rng.setStartBefore(start); + domUtils.remove(start); + rng.setCursor(); + me.fireEvent('saveScene'); + domUtils.preventDefault(evt); + return; + } + //阻止在table上的删除 + if (!browser.ie) { + start = domUtils.findParentByTagName(rng.startContainer, 'table', true); + end = domUtils.findParentByTagName(rng.endContainer, 'table', true); + if (start && !end || !start && end || start !== end) { + evt.preventDefault(); + return; + } + } + + } + //处理tab键的逻辑 + if (keyCode == keymap.Tab) { + //不处理以下标签 + var excludeTagNameForTabKey = { + 'ol' : 1, + 'ul' : 1, + 'table':1 + }; + //处理组件里的tab按下事件 + if(me.fireEvent('tabkeydown',evt)){ + domUtils.preventDefault(evt); + return; + } + var range = me.selection.getRange(); + me.fireEvent('saveScene'); + for (var i = 0,txt = '',tabSize = me.options.tabSize|| 4,tabNode = me.options.tabNode || ' '; i < tabSize; i++) { + txt += tabNode; + } + var span = me.document.createElement('span'); + span.innerHTML = txt + domUtils.fillChar; + if (range.collapsed) { + range.insertNode(span.cloneNode(true).firstChild).setCursor(true); + } else { + var filterFn = function(node) { + return domUtils.isBlockElm(node) && !excludeTagNameForTabKey[node.tagName.toLowerCase()] + + }; + //普通的情况 + start = domUtils.findParent(range.startContainer, filterFn,true); + end = domUtils.findParent(range.endContainer, filterFn,true); + if (start && end && start === end) { + range.deleteContents(); + range.insertNode(span.cloneNode(true).firstChild).setCursor(true); + } else { + var bookmark = range.createBookmark(); + range.enlarge(true); + var bookmark2 = range.createBookmark(), + current = domUtils.getNextDomNode(bookmark2.start, false, filterFn); + while (current && !(domUtils.getPosition(current, bookmark2.end) & domUtils.POSITION_FOLLOWING)) { + current.insertBefore(span.cloneNode(true).firstChild, current.firstChild); + current = domUtils.getNextDomNode(current, false, filterFn); + } + range.moveToBookmark(bookmark2).moveToBookmark(bookmark).select(); + } + } + domUtils.preventDefault(evt) + } + //trace:1634 + //ff的del键在容器空的时候,也会删除 + if(browser.gecko && keyCode == 46){ + range = me.selection.getRange(); + if(range.collapsed){ + start = range.startContainer; + if(domUtils.isEmptyBlock(start)){ + var parent = start.parentNode; + while(domUtils.getChildCount(parent) == 1 && !domUtils.isBody(parent)){ + start = parent; + parent = parent.parentNode; + } + if(start === parent.lastChild) + evt.preventDefault(); + return; + } + } + } + }); + me.addListener('keyup', function(type, evt) { + var keyCode = evt.keyCode || evt.which, + rng,me = this; + if(keyCode == keymap.Backspace){ + if(me.fireEvent('delkeyup')){ + return; + } + rng = me.selection.getRange(); + if(rng.collapsed){ + var tmpNode, + autoClearTagName = ['h1','h2','h3','h4','h5','h6']; + if(tmpNode = domUtils.findParentByTagName(rng.startContainer,autoClearTagName,true)){ + if(domUtils.isEmptyBlock(tmpNode)){ + var pre = tmpNode.previousSibling; + if(pre && pre.nodeName != 'TABLE'){ + domUtils.remove(tmpNode); + rng.setStartAtLast(pre).setCursor(false,true); + return; + }else{ + var next = tmpNode.nextSibling; + if(next && next.nodeName != 'TABLE'){ + domUtils.remove(tmpNode); + rng.setStartAtFirst(next).setCursor(false,true); + return; + } + } + } + } + //处理当删除到body时,要重新给p标签展位 + if(domUtils.isBody(rng.startContainer)){ + var tmpNode = domUtils.createElement(me.document,'p',{ + 'innerHTML' : browser.ie ? domUtils.fillChar : '
      ' + }); + rng.insertNode(tmpNode).setStart(tmpNode,0).setCursor(false,true); + } + } + + + //chrome下如果删除了inline标签,浏览器会有记忆,在输入文字还是会套上刚才删除的标签,所以这里再选一次就不会了 + if( !collapsed && (rng.startContainer.nodeType == 3 || rng.startContainer.nodeType == 1 && domUtils.isEmptyBlock(rng.startContainer))){ + if(browser.ie){ + var span = rng.document.createElement('span'); + rng.insertNode(span).setStartBefore(span).collapse(true); + rng.select(); + domUtils.remove(span) + }else{ + rng.select() + } + + } + } + + + }) +}; + +// plugins/fiximgclick.js +///import core +///commands 修复chrome下图片不能点击的问题,出现八个角可改变大小 +///commandsName FixImgClick +///commandsTitle 修复chrome下图片不能点击的问题,出现八个角可改变大小 +//修复chrome下图片不能点击的问题,出现八个角可改变大小 + +UE.plugins['fiximgclick'] = (function () { + + var elementUpdated = false; + function Scale() { + this.editor = null; + this.resizer = null; + this.cover = null; + this.doc = document; + this.prePos = {x: 0, y: 0}; + this.startPos = {x: 0, y: 0}; + } + + (function () { + var rect = [ + //[left, top, width, height] + [0, 0, -1, -1], + [0, 0, 0, -1], + [0, 0, 1, -1], + [0, 0, -1, 0], + [0, 0, 1, 0], + [0, 0, -1, 1], + [0, 0, 0, 1], + [0, 0, 1, 1] + ]; + + Scale.prototype = { + init: function (editor) { + var me = this; + me.editor = editor; + me.startPos = this.prePos = {x: 0, y: 0}; + me.dragId = -1; + + var hands = [], + cover = me.cover = document.createElement('div'), + resizer = me.resizer = document.createElement('div'); + + cover.id = me.editor.ui.id + '_imagescale_cover'; + cover.style.cssText = 'position:absolute;display:none;z-index:' + (me.editor.options.zIndex) + ';filter:alpha(opacity=0); opacity:0;background:#CCC;'; + domUtils.on(cover, 'mousedown click', function () { + me.hide(); + }); + + for (i = 0; i < 8; i++) { + hands.push(''); + } + resizer.id = me.editor.ui.id + '_imagescale'; + resizer.className = 'edui-editor-imagescale'; + resizer.innerHTML = hands.join(''); + resizer.style.cssText += ';display:none;border:1px solid #3b77ff;z-index:' + (me.editor.options.zIndex) + ';'; + + me.editor.ui.getDom().appendChild(cover); + me.editor.ui.getDom().appendChild(resizer); + + me.initStyle(); + me.initEvents(); + }, + initStyle: function () { + utils.cssRule('imagescale', '.edui-editor-imagescale{display:none;position:absolute;border:1px solid #38B2CE;cursor:hand;-webkit-box-sizing: content-box;-moz-box-sizing: content-box;box-sizing: content-box;}' + + '.edui-editor-imagescale span{position:absolute;width:6px;height:6px;overflow:hidden;font-size:0px;display:block;background-color:#3C9DD0;}' + + '.edui-editor-imagescale .edui-editor-imagescale-hand0{cursor:nw-resize;top:0;margin-top:-4px;left:0;margin-left:-4px;}' + + '.edui-editor-imagescale .edui-editor-imagescale-hand1{cursor:n-resize;top:0;margin-top:-4px;left:50%;margin-left:-4px;}' + + '.edui-editor-imagescale .edui-editor-imagescale-hand2{cursor:ne-resize;top:0;margin-top:-4px;left:100%;margin-left:-3px;}' + + '.edui-editor-imagescale .edui-editor-imagescale-hand3{cursor:w-resize;top:50%;margin-top:-4px;left:0;margin-left:-4px;}' + + '.edui-editor-imagescale .edui-editor-imagescale-hand4{cursor:e-resize;top:50%;margin-top:-4px;left:100%;margin-left:-3px;}' + + '.edui-editor-imagescale .edui-editor-imagescale-hand5{cursor:sw-resize;top:100%;margin-top:-3px;left:0;margin-left:-4px;}' + + '.edui-editor-imagescale .edui-editor-imagescale-hand6{cursor:s-resize;top:100%;margin-top:-3px;left:50%;margin-left:-4px;}' + + '.edui-editor-imagescale .edui-editor-imagescale-hand7{cursor:se-resize;top:100%;margin-top:-3px;left:100%;margin-left:-3px;}'); + }, + initEvents: function () { + var me = this; + + me.startPos.x = me.startPos.y = 0; + me.isDraging = false; + }, + _eventHandler: function (e) { + var me = this; + switch (e.type) { + case 'mousedown': + var hand = e.target || e.srcElement, hand; + if (hand.className.indexOf('edui-editor-imagescale-hand') != -1 && me.dragId == -1) { + me.dragId = hand.className.slice(-1); + me.startPos.x = me.prePos.x = e.clientX; + me.startPos.y = me.prePos.y = e.clientY; + domUtils.on(me.doc,'mousemove', me.proxy(me._eventHandler, me)); + } + break; + case 'mousemove': + if (me.dragId != -1) { + me.updateContainerStyle(me.dragId, {x: e.clientX - me.prePos.x, y: e.clientY - me.prePos.y}); + me.prePos.x = e.clientX; + me.prePos.y = e.clientY; + elementUpdated = true; + me.updateTargetElement(); + + } + break; + case 'mouseup': + if (me.dragId != -1) { + me.updateContainerStyle(me.dragId, {x: e.clientX - me.prePos.x, y: e.clientY - me.prePos.y}); + me.updateTargetElement(); + if (me.target.parentNode) me.attachTo(me.target); + me.dragId = -1; + } + domUtils.un(me.doc,'mousemove', me.proxy(me._eventHandler, me)); + //修复只是点击挪动点,但没有改变大小,不应该触发contentchange + if(elementUpdated){ + elementUpdated = false; + me.editor.fireEvent('contentchange'); + } + + break; + default: + break; + } + }, + updateTargetElement: function () { + var me = this; + domUtils.setStyles(me.target, { + 'width': me.resizer.style.width, + 'height': me.resizer.style.height + }); + me.target.width = parseInt(me.resizer.style.width); + me.target.height = parseInt(me.resizer.style.height); + me.attachTo(me.target); + }, + updateContainerStyle: function (dir, offset) { + var me = this, + dom = me.resizer, tmp; + + if (rect[dir][0] != 0) { + tmp = parseInt(dom.style.left) + offset.x; + dom.style.left = me._validScaledProp('left', tmp) + 'px'; + } + if (rect[dir][1] != 0) { + tmp = parseInt(dom.style.top) + offset.y; + dom.style.top = me._validScaledProp('top', tmp) + 'px'; + } + if (rect[dir][2] != 0) { + tmp = dom.clientWidth + rect[dir][2] * offset.x; + dom.style.width = me._validScaledProp('width', tmp) + 'px'; + } + if (rect[dir][3] != 0) { + tmp = dom.clientHeight + rect[dir][3] * offset.y; + dom.style.height = me._validScaledProp('height', tmp) + 'px'; + } + }, + _validScaledProp: function (prop, value) { + var ele = this.resizer, + wrap = document; + + value = isNaN(value) ? 0 : value; + switch (prop) { + case 'left': + return value < 0 ? 0 : (value + ele.clientWidth) > wrap.clientWidth ? wrap.clientWidth - ele.clientWidth : value; + case 'top': + return value < 0 ? 0 : (value + ele.clientHeight) > wrap.clientHeight ? wrap.clientHeight - ele.clientHeight : value; + case 'width': + return value <= 0 ? 1 : (value + ele.offsetLeft) > wrap.clientWidth ? wrap.clientWidth - ele.offsetLeft : value; + case 'height': + return value <= 0 ? 1 : (value + ele.offsetTop) > wrap.clientHeight ? wrap.clientHeight - ele.offsetTop : value; + } + }, + hideCover: function () { + this.cover.style.display = 'none'; + }, + showCover: function () { + var me = this, + editorPos = domUtils.getXY(me.editor.ui.getDom()), + iframePos = domUtils.getXY(me.editor.iframe); + + domUtils.setStyles(me.cover, { + 'width': me.editor.iframe.offsetWidth + 'px', + 'height': me.editor.iframe.offsetHeight + 'px', + 'top': iframePos.y - editorPos.y + 'px', + 'left': iframePos.x - editorPos.x + 'px', + 'position': 'absolute', + 'display': '' + }) + }, + show: function (targetObj) { + var me = this; + me.resizer.style.display = 'block'; + if(targetObj) me.attachTo(targetObj); + + domUtils.on(this.resizer, 'mousedown', me.proxy(me._eventHandler, me)); + domUtils.on(me.doc, 'mouseup', me.proxy(me._eventHandler, me)); + + me.showCover(); + me.editor.fireEvent('afterscaleshow', me); + me.editor.fireEvent('saveScene'); + }, + hide: function () { + var me = this; + me.hideCover(); + me.resizer.style.display = 'none'; + + domUtils.un(me.resizer, 'mousedown', me.proxy(me._eventHandler, me)); + domUtils.un(me.doc, 'mouseup', me.proxy(me._eventHandler, me)); + me.editor.fireEvent('afterscalehide', me); + }, + proxy: function( fn, context ) { + return function(e) { + return fn.apply( context || this, arguments); + }; + }, + attachTo: function (targetObj) { + var me = this, + target = me.target = targetObj, + resizer = this.resizer, + imgPos = domUtils.getXY(target), + iframePos = domUtils.getXY(me.editor.iframe), + editorPos = domUtils.getXY(resizer.parentNode); + + domUtils.setStyles(resizer, { + 'width': target.width + 'px', + 'height': target.height + 'px', + 'left': iframePos.x + imgPos.x - me.editor.document.body.scrollLeft - editorPos.x - parseInt(resizer.style.borderLeftWidth) + 'px', + 'top': iframePos.y + imgPos.y - me.editor.document.body.scrollTop - editorPos.y - parseInt(resizer.style.borderTopWidth) + 'px' + }); + } + } + })(); + + return function () { + var me = this, + imageScale; + + me.setOpt('imageScaleEnabled', true); + + if ( !browser.ie && me.options.imageScaleEnabled) { + me.addListener('click', function (type, e) { + + var range = me.selection.getRange(), + img = range.getClosedNode(); + + if (img && img.tagName == 'IMG' && me.body.contentEditable!="false") { + + if (img.className.indexOf("edui-faked-music") != -1 || + img.getAttribute("anchorname") || + domUtils.hasClass(img, 'loadingclass') || + domUtils.hasClass(img, 'loaderrorclass')) { return } + + if (!imageScale) { + imageScale = new Scale(); + imageScale.init(me); + me.ui.getDom().appendChild(imageScale.resizer); + + var _keyDownHandler = function (e) { + imageScale.hide(); + if(imageScale.target) me.selection.getRange().selectNode(imageScale.target).select(); + }, _mouseDownHandler = function (e) { + var ele = e.target || e.srcElement; + if (ele && (ele.className===undefined || ele.className.indexOf('edui-editor-imagescale') == -1)) { + _keyDownHandler(e); + } + }, timer; + + me.addListener('afterscaleshow', function (e) { + me.addListener('beforekeydown', _keyDownHandler); + me.addListener('beforemousedown', _mouseDownHandler); + domUtils.on(document, 'keydown', _keyDownHandler); + domUtils.on(document,'mousedown', _mouseDownHandler); + me.selection.getNative().removeAllRanges(); + }); + me.addListener('afterscalehide', function (e) { + me.removeListener('beforekeydown', _keyDownHandler); + me.removeListener('beforemousedown', _mouseDownHandler); + domUtils.un(document, 'keydown', _keyDownHandler); + domUtils.un(document,'mousedown', _mouseDownHandler); + var target = imageScale.target; + if (target.parentNode) { + me.selection.getRange().selectNode(target).select(); + } + }); + //TODO 有iframe的情况,mousedown不能往下传。。 + domUtils.on(imageScale.resizer, 'mousedown', function (e) { + me.selection.getNative().removeAllRanges(); + var ele = e.target || e.srcElement; + if (ele && ele.className.indexOf('edui-editor-imagescale-hand') == -1) { + timer = setTimeout(function () { + imageScale.hide(); + if(imageScale.target) me.selection.getRange().selectNode(ele).select(); + }, 200); + } + }); + domUtils.on(imageScale.resizer, 'mouseup', function (e) { + var ele = e.target || e.srcElement; + if (ele && ele.className.indexOf('edui-editor-imagescale-hand') == -1) { + clearTimeout(timer); + } + }); + } + imageScale.show(img); + } else { + if (imageScale && imageScale.resizer.style.display != 'none') imageScale.hide(); + } + }); + } + + if (browser.webkit) { + me.addListener('click', function (type, e) { + if (e.target.tagName == 'IMG' && me.body.contentEditable!="false") { + var range = new dom.Range(me.document); + range.selectNode(e.target).select(); + } + }); + } + } +})(); + +// plugins/autolink.js +///import core +///commands 为非ie浏览器自动添加a标签 +///commandsName AutoLink +///commandsTitle 自动增加链接 +/** + * @description 为非ie浏览器自动添加a标签 + * @author zhanyi + */ + +UE.plugin.register('autolink',function(){ + var cont = 0; + + return !browser.ie ? { + + bindEvents:{ + 'reset' : function(){ + cont = 0; + }, + 'keydown':function(type, evt) { + var me = this; + var keyCode = evt.keyCode || evt.which; + + if (keyCode == 32 || keyCode == 13) { + + var sel = me.selection.getNative(), + range = sel.getRangeAt(0).cloneRange(), + offset, + charCode; + + var start = range.startContainer; + while (start.nodeType == 1 && range.startOffset > 0) { + start = range.startContainer.childNodes[range.startOffset - 1]; + if (!start){ + break; + } + range.setStart(start, start.nodeType == 1 ? start.childNodes.length : start.nodeValue.length); + range.collapse(true); + start = range.startContainer; + } + + do{ + if (range.startOffset == 0) { + start = range.startContainer.previousSibling; + + while (start && start.nodeType == 1) { + start = start.lastChild; + } + if (!start || domUtils.isFillChar(start)){ + break; + } + offset = start.nodeValue.length; + } else { + start = range.startContainer; + offset = range.startOffset; + } + range.setStart(start, offset - 1); + charCode = range.toString().charCodeAt(0); + } while (charCode != 160 && charCode != 32); + + if (range.toString().replace(new RegExp(domUtils.fillChar, 'g'), '').match(/(?:https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.)/i)) { + while(range.toString().length){ + if(/^(?:https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.)/i.test(range.toString())){ + break; + } + try{ + range.setStart(range.startContainer,range.startOffset+1); + }catch(e){ + //trace:2121 + var start = range.startContainer; + while(!(next = start.nextSibling)){ + if(domUtils.isBody(start)){ + return; + } + start = start.parentNode; + + } + range.setStart(next,0); + + } + + } + //range的开始边界已经在a标签里的不再处理 + if(domUtils.findParentByTagName(range.startContainer,'a',true)){ + return; + } + var a = me.document.createElement('a'),text = me.document.createTextNode(' '),href; + + me.undoManger && me.undoManger.save(); + a.appendChild(range.extractContents()); + a.href = a.innerHTML = a.innerHTML.replace(/<[^>]+>/g,''); + href = a.getAttribute("href").replace(new RegExp(domUtils.fillChar,'g'),''); + href = /^(?:https?:\/\/)/ig.test(href) ? href : "http://"+ href; + a.setAttribute('_src',utils.html(href)); + a.href = utils.html(href); + + range.insertNode(a); + a.parentNode.insertBefore(text, a.nextSibling); + range.setStart(text, 0); + range.collapse(true); + sel.removeAllRanges(); + sel.addRange(range); + me.undoManger && me.undoManger.save(); + } + } + } + } + }:{} + },function(){ + var keyCodes = { + 37:1, 38:1, 39:1, 40:1, + 13:1,32:1 + }; + function checkIsCludeLink(node){ + if(node.nodeType == 3){ + return null + } + if(node.nodeName == 'A'){ + return node; + } + var lastChild = node.lastChild; + + while(lastChild){ + if(lastChild.nodeName == 'A'){ + return lastChild; + } + if(lastChild.nodeType == 3){ + if(domUtils.isWhitespace(lastChild)){ + lastChild = lastChild.previousSibling; + continue; + } + return null + } + lastChild = lastChild.lastChild; + } + } + browser.ie && this.addListener('keyup',function(cmd,evt){ + var me = this,keyCode = evt.keyCode; + if(keyCodes[keyCode]){ + var rng = me.selection.getRange(); + var start = rng.startContainer; + + if(keyCode == 13){ + while(start && !domUtils.isBody(start) && !domUtils.isBlockElm(start)){ + start = start.parentNode; + } + if(start && !domUtils.isBody(start) && start.nodeName == 'P'){ + var pre = start.previousSibling; + if(pre && pre.nodeType == 1){ + var pre = checkIsCludeLink(pre); + if(pre && !pre.getAttribute('_href')){ + domUtils.remove(pre,true); + } + } + } + }else if(keyCode == 32 ){ + if(start.nodeType == 3 && /^\s$/.test(start.nodeValue)){ + start = start.previousSibling; + if(start && start.nodeName == 'A' && !start.getAttribute('_href')){ + domUtils.remove(start,true); + } + } + }else { + start = domUtils.findParentByTagName(start,'a',true); + if(start && !start.getAttribute('_href')){ + var bk = rng.createBookmark(); + + domUtils.remove(start,true); + rng.moveToBookmark(bk).select(true) + } + } + + } + + + }); + } +); + +// plugins/autoheight.js +///import core +///commands 当输入内容超过编辑器高度时,编辑器自动增高 +///commandsName AutoHeight,autoHeightEnabled +///commandsTitle 自动增高 +/** + * @description 自动伸展 + * @author zhanyi + */ +UE.plugins['autoheight'] = function () { + var me = this; + //提供开关,就算加载也可以关闭 + me.autoHeightEnabled = me.options.autoHeightEnabled !== false; + if (!me.autoHeightEnabled) { + return; + } + + var bakOverflow, + lastHeight = 0, + options = me.options, + currentHeight, + timer; + + function adjustHeight() { + var me = this; + clearTimeout(timer); + if(isFullscreen)return; + if (!me.queryCommandState || me.queryCommandState && me.queryCommandState('source') != 1) { + timer = setTimeout(function(){ + + var node = me.body.lastChild; + while(node && node.nodeType != 1){ + node = node.previousSibling; + } + if(node && node.nodeType == 1){ + node.style.clear = 'both'; + currentHeight = Math.max(domUtils.getXY(node).y + node.offsetHeight + 25 ,Math.max(options.minFrameHeight, options.initialFrameHeight)) ; + if (currentHeight != lastHeight) { + if (currentHeight !== parseInt(me.iframe.parentNode.style.height)) { + me.iframe.parentNode.style.height = currentHeight + 'px'; + } + me.body.style.height = currentHeight + 'px'; + lastHeight = currentHeight; + } + domUtils.removeStyle(node,'clear'); + } + + + },50) + } + } + var isFullscreen; + me.addListener('fullscreenchanged',function(cmd,f){ + isFullscreen = f + }); + me.addListener('destroy', function () { + me.removeListener('contentchange afterinserthtml keyup mouseup',adjustHeight) + }); + me.enableAutoHeight = function () { + var me = this; + if (!me.autoHeightEnabled) { + return; + } + var doc = me.document; + me.autoHeightEnabled = true; + bakOverflow = doc.body.style.overflowY; + doc.body.style.overflowY = 'hidden'; + me.addListener('contentchange afterinserthtml keyup mouseup',adjustHeight); + //ff不给事件算得不对 + + setTimeout(function () { + adjustHeight.call(me); + }, browser.gecko ? 100 : 0); + me.fireEvent('autoheightchanged', me.autoHeightEnabled); + }; + me.disableAutoHeight = function () { + + me.body.style.overflowY = bakOverflow || ''; + + me.removeListener('contentchange', adjustHeight); + me.removeListener('keyup', adjustHeight); + me.removeListener('mouseup', adjustHeight); + me.autoHeightEnabled = false; + me.fireEvent('autoheightchanged', me.autoHeightEnabled); + }; + + me.on('setHeight',function(){ + me.disableAutoHeight() + }); + me.addListener('ready', function () { + me.enableAutoHeight(); + //trace:1764 + var timer; + domUtils.on(browser.ie ? me.body : me.document, browser.webkit ? 'dragover' : 'drop', function () { + clearTimeout(timer); + timer = setTimeout(function () { + //trace:3681 + adjustHeight.call(me); + }, 100); + + }); + //修复内容过多时,回到顶部,顶部内容被工具栏遮挡问题 + var lastScrollY; + window.onscroll = function(){ + if(lastScrollY === null){ + lastScrollY = this.scrollY + }else if(this.scrollY == 0 && lastScrollY != 0){ + me.window.scrollTo(0,0); + lastScrollY = null; + } + } + }); + + +}; + + + +// plugins/autofloat.js +///import core +///commands 悬浮工具栏 +///commandsName AutoFloat,autoFloatEnabled +///commandsTitle 悬浮工具栏 +/** + * modified by chengchao01 + * 注意: 引入此功能后,在IE6下会将body的背景图片覆盖掉! + */ +UE.plugins['autofloat'] = function() { + var me = this, + lang = me.getLang(); + me.setOpt({ + topOffset:0 + }); + var optsAutoFloatEnabled = me.options.autoFloatEnabled !== false, + topOffset = me.options.topOffset; + + + //如果不固定toolbar的位置,则直接退出 + if(!optsAutoFloatEnabled){ + return; + } + var uiUtils = UE.ui.uiUtils, + LteIE6 = browser.ie && browser.version <= 6, + quirks = browser.quirks; + + function checkHasUI(){ + if(!UE.ui){ + alert(lang.autofloatMsg); + return 0; + } + return 1; + } + function fixIE6FixedPos(){ + var docStyle = document.body.style; + docStyle.backgroundImage = 'url("about:blank")'; + docStyle.backgroundAttachment = 'fixed'; + } + var bakCssText, + placeHolder = document.createElement('div'), + toolbarBox,orgTop, + getPosition, + flag =true; //ie7模式下需要偏移 + function setFloating(){ + var toobarBoxPos = domUtils.getXY(toolbarBox), + origalFloat = domUtils.getComputedStyle(toolbarBox,'position'), + origalLeft = domUtils.getComputedStyle(toolbarBox,'left'); + toolbarBox.style.width = toolbarBox.offsetWidth + 'px'; + toolbarBox.style.zIndex = me.options.zIndex * 1 + 1; + toolbarBox.parentNode.insertBefore(placeHolder, toolbarBox); + if (LteIE6 || (quirks && browser.ie)) { + if(toolbarBox.style.position != 'absolute'){ + toolbarBox.style.position = 'absolute'; + } + toolbarBox.style.top = (document.body.scrollTop||document.documentElement.scrollTop) - orgTop + topOffset + 'px'; + } else { + if (browser.ie7Compat && flag) { + flag = false; + toolbarBox.style.left = domUtils.getXY(toolbarBox).x - document.documentElement.getBoundingClientRect().left+2 + 'px'; + } + if(toolbarBox.style.position != 'fixed'){ + toolbarBox.style.position = 'fixed'; + toolbarBox.style.top = topOffset +"px"; + ((origalFloat == 'absolute' || origalFloat == 'relative') && parseFloat(origalLeft)) && (toolbarBox.style.left = toobarBoxPos.x + 'px'); + } + } + } + function unsetFloating(){ + flag = true; + if(placeHolder.parentNode){ + placeHolder.parentNode.removeChild(placeHolder); + } + + toolbarBox.style.cssText = bakCssText; + } + + function updateFloating(){ + var rect3 = getPosition(me.container); + var offset=me.options.toolbarTopOffset||0; + if (rect3.top < 0 && rect3.bottom - toolbarBox.offsetHeight > offset) { + setFloating(); + }else{ + unsetFloating(); + } + } + var defer_updateFloating = utils.defer(function(){ + updateFloating(); + },browser.ie ? 200 : 100,true); + + me.addListener('destroy',function(){ + domUtils.un(window, ['scroll','resize'], updateFloating); + me.removeListener('keydown', defer_updateFloating); + }); + + me.addListener('ready', function(){ + if(checkHasUI(me)){ + //加载了ui组件,但在new时,没有加载ui,导致编辑器实例上没有ui类,所以这里做判断 + if(!me.ui){ + return; + } + getPosition = uiUtils.getClientRect; + toolbarBox = me.ui.getDom('toolbarbox'); + orgTop = getPosition(toolbarBox).top; + bakCssText = toolbarBox.style.cssText; + placeHolder.style.height = toolbarBox.offsetHeight + 'px'; + if(LteIE6){ + fixIE6FixedPos(); + } + domUtils.on(window, ['scroll','resize'], updateFloating); + me.addListener('keydown', defer_updateFloating); + + me.addListener('beforefullscreenchange', function (t, enabled){ + if (enabled) { + unsetFloating(); + } + }); + me.addListener('fullscreenchanged', function (t, enabled){ + if (!enabled) { + updateFloating(); + } + }); + me.addListener('sourcemodechanged', function (t, enabled){ + setTimeout(function (){ + updateFloating(); + },0); + }); + me.addListener("clearDoc",function(){ + setTimeout(function(){ + updateFloating(); + },0); + + }) + } + }); +}; + + +// plugins/video.js +/** + * video插件, 为UEditor提供视频插入支持 + * @file + * @since 1.2.6.1 + */ + +UE.plugins['video'] = function (){ + var me =this; + + /** + * 创建插入视频字符窜 + * @param url 视频地址 + * @param width 视频宽度 + * @param height 视频高度 + * @param align 视频对齐 + * @param toEmbed 是否以flash代替显示 + * @param addParagraph 是否需要添加P 标签 + */ + function creatInsertStr(url,width,height,id,align,classname,type){ + + url = utils.unhtmlForUrl(url); + align = utils.unhtml(align); + classname = utils.unhtml(classname); + + width = parseInt(width, 10) || 0; + height = parseInt(height, 10) || 0; + + var str; + switch (type){ + case 'image': + str = '' + break; + case 'embed': + str = ''; + break; + case 'video': + var ext = url.substr(url.lastIndexOf('.') + 1); + if(ext == 'ogv') ext = 'ogg'; + str = '' + + ''; + break; + } + return str; + } + + function switchImgAndVideo(root,img2video){ + utils.each(root.getNodesByTagName(img2video ? 'img' : 'embed video'),function(node){ + var className = node.getAttr('class'); + if(className && className.indexOf('edui-faked-video') != -1){ + var html = creatInsertStr( img2video ? node.getAttr('_url') : node.getAttr('src'),node.getAttr('width'),node.getAttr('height'),null,node.getStyle('float') || '',className,img2video ? 'embed':'image'); + node.parentNode.replaceChild(UE.uNode.createElement(html),node); + } + if(className && className.indexOf('edui-upload-video') != -1){ + var html = creatInsertStr( img2video ? node.getAttr('_url') : node.getAttr('src'),node.getAttr('width'),node.getAttr('height'),null,node.getStyle('float') || '',className,img2video ? 'video':'image'); + node.parentNode.replaceChild(UE.uNode.createElement(html),node); + } + }) + } + + me.addOutputRule(function(root){ + switchImgAndVideo(root,true) + }); + me.addInputRule(function(root){ + switchImgAndVideo(root) + }); + + /** + * 插入视频 + * @command insertvideo + * @method execCommand + * @param { String } cmd 命令字符串 + * @param { Object } videoAttr 键值对对象, 描述一个视频的所有属性 + * @example + * ```javascript + * + * var videoAttr = { + * //视频地址 + * url: 'http://www.youku.com/xxx', + * //视频宽高值, 单位px + * width: 200, + * height: 100 + * }; + * + * //editor 是编辑器实例 + * //向编辑器插入单个视频 + * editor.execCommand( 'insertvideo', videoAttr ); + * ``` + */ + + /** + * 插入视频 + * @command insertvideo + * @method execCommand + * @param { String } cmd 命令字符串 + * @param { Array } videoArr 需要插入的视频的数组, 其中的每一个元素都是一个键值对对象, 描述了一个视频的所有属性 + * @example + * ```javascript + * + * var videoAttr1 = { + * //视频地址 + * url: 'http://www.youku.com/xxx', + * //视频宽高值, 单位px + * width: 200, + * height: 100 + * }, + * videoAttr2 = { + * //视频地址 + * url: 'http://www.youku.com/xxx', + * //视频宽高值, 单位px + * width: 200, + * height: 100 + * } + * + * //editor 是编辑器实例 + * //该方法将会向编辑器内插入两个视频 + * editor.execCommand( 'insertvideo', [ videoAttr1, videoAttr2 ] ); + * ``` + */ + + /** + * 查询当前光标所在处是否是一个视频 + * @command insertvideo + * @method queryCommandState + * @param { String } cmd 需要查询的命令字符串 + * @return { int } 如果当前光标所在处的元素是一个视频对象, 则返回1,否则返回0 + * @example + * ```javascript + * + * //editor 是编辑器实例 + * editor.queryCommandState( 'insertvideo' ); + * ``` + */ + me.commands["insertvideo"] = { + execCommand: function (cmd, videoObjs, type){ + videoObjs = utils.isArray(videoObjs)?videoObjs:[videoObjs]; + var html = [],id = 'tmpVedio', cl; + for(var i=0,vi,len = videoObjs.length;i 0) { + return 0; + } + for (var i in dtd.$isNotEmpty) if (dtd.$isNotEmpty.hasOwnProperty(i)) { + if (node.getElementsByTagName(i).length) { + return 0; + } + } + return 1; + }; + UETable.getWidth = function (cell) { + if (!cell)return 0; + return parseInt(domUtils.getComputedStyle(cell, "width"), 10); + }; + + /** + * 获取单元格或者单元格组的“对齐”状态。 如果当前的检测对象是一个单元格组, 只有在满足所有单元格的 水平和竖直 对齐属性都相同的 + * 条件时才会返回其状态值,否则将返回null; 如果当前只检测了一个单元格, 则直接返回当前单元格的对齐状态; + * @param table cell or table cells , 支持单个单元格dom对象 或者 单元格dom对象数组 + * @return { align: 'left' || 'right' || 'center', valign: 'top' || 'middle' || 'bottom' } 或者 null + */ + UETable.getTableCellAlignState = function ( cells ) { + + !utils.isArray( cells ) && ( cells = [cells] ); + + var result = {}, + status = ['align', 'valign'], + tempStatus = null, + isSame = true;//状态是否相同 + + utils.each( cells, function( cellNode ){ + + utils.each( status, function( currentState ){ + + tempStatus = cellNode.getAttribute( currentState ); + + if( !result[ currentState ] && tempStatus ) { + result[ currentState ] = tempStatus; + } else if( !result[ currentState ] || ( tempStatus !== result[ currentState ] ) ) { + isSame = false; + return false; + } + + } ); + + return isSame; + + }); + + return isSame ? result : null; + + }; + + /** + * 根据当前选区获取相关的table信息 + * @return {Object} + */ + UETable.getTableItemsByRange = function (editor) { + var start = editor.selection.getStart(); + + //ff下会选中bookmark + if( start && start.id && start.id.indexOf('_baidu_bookmark_start_') === 0 && start.nextSibling) { + start = start.nextSibling; + } + + //在table或者td边缘有可能存在选中tr的情况 + var cell = start && domUtils.findParentByTagName(start, ["td", "th"], true), + tr = cell && cell.parentNode, + caption = start && domUtils.findParentByTagName(start, 'caption', true), + table = caption ? caption.parentNode : tr && tr.parentNode.parentNode; + + return { + cell:cell, + tr:tr, + table:table, + caption:caption + } + }; + UETable.getUETableBySelected = function (editor) { + var table = UETable.getTableItemsByRange(editor).table; + if (table && table.ueTable && table.ueTable.selectedTds.length) { + return table.ueTable; + } + return null; + }; + + UETable.getDefaultValue = function (editor, table) { + var borderMap = { + thin:'0px', + medium:'1px', + thick:'2px' + }, + tableBorder, tdPadding, tdBorder, tmpValue; + if (!table) { + table = editor.document.createElement('table'); + table.insertRow(0).insertCell(0).innerHTML = 'xxx'; + editor.body.appendChild(table); + var td = table.getElementsByTagName('td')[0]; + tmpValue = domUtils.getComputedStyle(table, 'border-left-width'); + tableBorder = parseInt(borderMap[tmpValue] || tmpValue, 10); + tmpValue = domUtils.getComputedStyle(td, 'padding-left'); + tdPadding = parseInt(borderMap[tmpValue] || tmpValue, 10); + tmpValue = domUtils.getComputedStyle(td, 'border-left-width'); + tdBorder = parseInt(borderMap[tmpValue] || tmpValue, 10); + domUtils.remove(table); + return { + tableBorder:tableBorder, + tdPadding:tdPadding, + tdBorder:tdBorder + }; + } else { + td = table.getElementsByTagName('td')[0]; + tmpValue = domUtils.getComputedStyle(table, 'border-left-width'); + tableBorder = parseInt(borderMap[tmpValue] || tmpValue, 10); + tmpValue = domUtils.getComputedStyle(td, 'padding-left'); + tdPadding = parseInt(borderMap[tmpValue] || tmpValue, 10); + tmpValue = domUtils.getComputedStyle(td, 'border-left-width'); + tdBorder = parseInt(borderMap[tmpValue] || tmpValue, 10); + return { + tableBorder:tableBorder, + tdPadding:tdPadding, + tdBorder:tdBorder + }; + } + }; + /** + * 根据当前点击的td或者table获取索引对象 + * @param tdOrTable + */ + UETable.getUETable = function (tdOrTable) { + var tag = tdOrTable.tagName.toLowerCase(); + tdOrTable = (tag == "td" || tag == "th" || tag == 'caption') ? domUtils.findParentByTagName(tdOrTable, "table", true) : tdOrTable; + if (!tdOrTable.ueTable) { + tdOrTable.ueTable = new UETable(tdOrTable); + } + return tdOrTable.ueTable; + }; + + UETable.cloneCell = function(cell,ignoreMerge,keepPro){ + if (!cell || utils.isString(cell)) { + return this.table.ownerDocument.createElement(cell || 'td'); + } + var flag = domUtils.hasClass(cell, "selectTdClass"); + flag && domUtils.removeClasses(cell, "selectTdClass"); + var tmpCell = cell.cloneNode(true); + if (ignoreMerge) { + tmpCell.rowSpan = tmpCell.colSpan = 1; + } + //去掉宽高 + !keepPro && domUtils.removeAttributes(tmpCell,'width height'); + !keepPro && domUtils.removeAttributes(tmpCell,'style'); + + tmpCell.style.borderLeftStyle = ""; + tmpCell.style.borderTopStyle = ""; + tmpCell.style.borderLeftColor = cell.style.borderRightColor; + tmpCell.style.borderLeftWidth = cell.style.borderRightWidth; + tmpCell.style.borderTopColor = cell.style.borderBottomColor; + tmpCell.style.borderTopWidth = cell.style.borderBottomWidth; + flag && domUtils.addClass(cell, "selectTdClass"); + return tmpCell; + } + + UETable.prototype = { + getMaxRows:function () { + var rows = this.table.rows, maxLen = 1; + for (var i = 0, row; row = rows[i]; i++) { + var currentMax = 1; + for (var j = 0, cj; cj = row.cells[j++];) { + currentMax = Math.max(cj.rowSpan || 1, currentMax); + } + maxLen = Math.max(currentMax + i, maxLen); + } + return maxLen; + }, + /** + * 获取当前表格的最大列数 + */ + getMaxCols:function () { + var rows = this.table.rows, maxLen = 0, cellRows = {}; + for (var i = 0, row; row = rows[i]; i++) { + var cellsNum = 0; + for (var j = 0, cj; cj = row.cells[j++];) { + cellsNum += (cj.colSpan || 1); + if (cj.rowSpan && cj.rowSpan > 1) { + for (var k = 1; k < cj.rowSpan; k++) { + if (!cellRows['row_' + (i + k)]) { + cellRows['row_' + (i + k)] = (cj.colSpan || 1); + } else { + cellRows['row_' + (i + k)]++ + } + } + + } + } + cellsNum += cellRows['row_' + i] || 0; + maxLen = Math.max(cellsNum, maxLen); + } + return maxLen; + }, + getCellColIndex:function (cell) { + + }, + /** + * 获取当前cell旁边的单元格, + * @param cell + * @param right + */ + getHSideCell:function (cell, right) { + try { + var cellInfo = this.getCellInfo(cell), + previewRowIndex, previewColIndex; + var len = this.selectedTds.length, + range = this.cellsRange; + //首行或者首列没有前置单元格 + if ((!right && (!len ? !cellInfo.colIndex : !range.beginColIndex)) || (right && (!len ? (cellInfo.colIndex == (this.colsNum - 1)) : (range.endColIndex == this.colsNum - 1)))) return null; + + previewRowIndex = !len ? cellInfo.rowIndex : range.beginRowIndex; + previewColIndex = !right ? ( !len ? (cellInfo.colIndex < 1 ? 0 : (cellInfo.colIndex - 1)) : range.beginColIndex - 1) + : ( !len ? cellInfo.colIndex + 1 : range.endColIndex + 1); + return this.getCell(this.indexTable[previewRowIndex][previewColIndex].rowIndex, this.indexTable[previewRowIndex][previewColIndex].cellIndex); + } catch (e) { + showError(e); + } + }, + getTabNextCell:function (cell, preRowIndex) { + var cellInfo = this.getCellInfo(cell), + rowIndex = preRowIndex || cellInfo.rowIndex, + colIndex = cellInfo.colIndex + 1 + (cellInfo.colSpan - 1), + nextCell; + try { + nextCell = this.getCell(this.indexTable[rowIndex][colIndex].rowIndex, this.indexTable[rowIndex][colIndex].cellIndex); + } catch (e) { + try { + rowIndex = rowIndex * 1 + 1; + colIndex = 0; + nextCell = this.getCell(this.indexTable[rowIndex][colIndex].rowIndex, this.indexTable[rowIndex][colIndex].cellIndex); + } catch (e) { + } + } + return nextCell; + + }, + /** + * 获取视觉上的后置单元格 + * @param cell + * @param bottom + */ + getVSideCell:function (cell, bottom, ignoreRange) { + try { + var cellInfo = this.getCellInfo(cell), + nextRowIndex, nextColIndex; + var len = this.selectedTds.length && !ignoreRange, + range = this.cellsRange; + //末行或者末列没有后置单元格 + if ((!bottom && (cellInfo.rowIndex == 0)) || (bottom && (!len ? (cellInfo.rowIndex + cellInfo.rowSpan > this.rowsNum - 1) : (range.endRowIndex == this.rowsNum - 1)))) return null; + + nextRowIndex = !bottom ? ( !len ? cellInfo.rowIndex - 1 : range.beginRowIndex - 1) + : ( !len ? (cellInfo.rowIndex + cellInfo.rowSpan) : range.endRowIndex + 1); + nextColIndex = !len ? cellInfo.colIndex : range.beginColIndex; + return this.getCell(this.indexTable[nextRowIndex][nextColIndex].rowIndex, this.indexTable[nextRowIndex][nextColIndex].cellIndex); + } catch (e) { + showError(e); + } + }, + /** + * 获取相同结束位置的单元格,xOrY指代了是获取x轴相同还是y轴相同 + */ + getSameEndPosCells:function (cell, xOrY) { + try { + var flag = (xOrY.toLowerCase() === "x"), + end = domUtils.getXY(cell)[flag ? 'x' : 'y'] + cell["offset" + (flag ? 'Width' : 'Height')], + rows = this.table.rows, + cells = null, returns = []; + for (var i = 0; i < this.rowsNum; i++) { + cells = rows[i].cells; + for (var j = 0, tmpCell; tmpCell = cells[j++];) { + var tmpEnd = domUtils.getXY(tmpCell)[flag ? 'x' : 'y'] + tmpCell["offset" + (flag ? 'Width' : 'Height')]; + //对应行的td已经被上面行rowSpan了 + if (tmpEnd > end && flag) break; + if (cell == tmpCell || end == tmpEnd) { + //只获取单一的单元格 + //todo 仅获取单一单元格在特定情况下会造成returns为空,从而影响后续的拖拽实现,修正这个。需考虑性能 + if (tmpCell[flag ? "colSpan" : "rowSpan"] == 1) { + returns.push(tmpCell); + } + if (flag) break; + } + } + } + return returns; + } catch (e) { + showError(e); + } + }, + setCellContent:function (cell, content) { + cell.innerHTML = content || (browser.ie ? domUtils.fillChar : "
      "); + }, + cloneCell:UETable.cloneCell, + /** + * 获取跟当前单元格的右边竖线为左边的所有未合并单元格 + */ + getSameStartPosXCells:function (cell) { + try { + var start = domUtils.getXY(cell).x + cell.offsetWidth, + rows = this.table.rows, cells , returns = []; + for (var i = 0; i < this.rowsNum; i++) { + cells = rows[i].cells; + for (var j = 0, tmpCell; tmpCell = cells[j++];) { + var tmpStart = domUtils.getXY(tmpCell).x; + if (tmpStart > start) break; + if (tmpStart == start && tmpCell.colSpan == 1) { + returns.push(tmpCell); + break; + } + } + } + return returns; + } catch (e) { + showError(e); + } + }, + /** + * 更新table对应的索引表 + */ + update:function (table) { + this.table = table || this.table; + this.selectedTds = []; + this.cellsRange = {}; + this.indexTable = []; + var rows = this.table.rows, + rowsNum = this.getMaxRows(), + dNum = rowsNum - rows.length, + colsNum = this.getMaxCols(); + while (dNum--) { + this.table.insertRow(rows.length); + } + this.rowsNum = rowsNum; + this.colsNum = colsNum; + for (var i = 0, len = rows.length; i < len; i++) { + this.indexTable[i] = new Array(colsNum); + } + //填充索引表 + for (var rowIndex = 0, row; row = rows[rowIndex]; rowIndex++) { + for (var cellIndex = 0, cell, cells = row.cells; cell = cells[cellIndex]; cellIndex++) { + //修正整行被rowSpan时导致的行数计算错误 + if (cell.rowSpan > rowsNum) { + cell.rowSpan = rowsNum; + } + var colIndex = cellIndex, + rowSpan = cell.rowSpan || 1, + colSpan = cell.colSpan || 1; + //当已经被上一行rowSpan或者被前一列colSpan了,则跳到下一个单元格进行 + while (this.indexTable[rowIndex][colIndex]) colIndex++; + for (var j = 0; j < rowSpan; j++) { + for (var k = 0; k < colSpan; k++) { + this.indexTable[rowIndex + j][colIndex + k] = { + rowIndex:rowIndex, + cellIndex:cellIndex, + colIndex:colIndex, + rowSpan:rowSpan, + colSpan:colSpan + } + } + } + } + } + //修复残缺td + for (j = 0; j < rowsNum; j++) { + for (k = 0; k < colsNum; k++) { + if (this.indexTable[j][k] === undefined) { + row = rows[j]; + cell = row.cells[row.cells.length - 1]; + cell = cell ? cell.cloneNode(true) : this.table.ownerDocument.createElement("td"); + this.setCellContent(cell); + if (cell.colSpan !== 1)cell.colSpan = 1; + if (cell.rowSpan !== 1)cell.rowSpan = 1; + row.appendChild(cell); + this.indexTable[j][k] = { + rowIndex:j, + cellIndex:cell.cellIndex, + colIndex:k, + rowSpan:1, + colSpan:1 + } + } + } + } + //当框选后删除行或者列后撤销,需要重建选区。 + var tds = domUtils.getElementsByTagName(this.table, "td"), + selectTds = []; + utils.each(tds, function (td) { + if (domUtils.hasClass(td, "selectTdClass")) { + selectTds.push(td); + } + }); + if (selectTds.length) { + var start = selectTds[0], + end = selectTds[selectTds.length - 1], + startInfo = this.getCellInfo(start), + endInfo = this.getCellInfo(end); + this.selectedTds = selectTds; + this.cellsRange = { + beginRowIndex:startInfo.rowIndex, + beginColIndex:startInfo.colIndex, + endRowIndex:endInfo.rowIndex + endInfo.rowSpan - 1, + endColIndex:endInfo.colIndex + endInfo.colSpan - 1 + }; + } + //给第一行设置firstRow的样式名称,在排序图标的样式上使用到 + if(!domUtils.hasClass(this.table.rows[0], "firstRow")) { + domUtils.addClass(this.table.rows[0], "firstRow"); + for(var i = 1; i< this.table.rows.length; i++) { + domUtils.removeClasses(this.table.rows[i], "firstRow"); + } + } + }, + /** + * 获取单元格的索引信息 + */ + getCellInfo:function (cell) { + if (!cell) return; + var cellIndex = cell.cellIndex, + rowIndex = cell.parentNode.rowIndex, + rowInfo = this.indexTable[rowIndex], + numCols = this.colsNum; + for (var colIndex = cellIndex; colIndex < numCols; colIndex++) { + var cellInfo = rowInfo[colIndex]; + if (cellInfo.rowIndex === rowIndex && cellInfo.cellIndex === cellIndex) { + return cellInfo; + } + } + }, + /** + * 根据行列号获取单元格 + */ + getCell:function (rowIndex, cellIndex) { + return rowIndex < this.rowsNum && this.table.rows[rowIndex].cells[cellIndex] || null; + }, + /** + * 删除单元格 + */ + deleteCell:function (cell, rowIndex) { + rowIndex = typeof rowIndex == 'number' ? rowIndex : cell.parentNode.rowIndex; + var row = this.table.rows[rowIndex]; + row.deleteCell(cell.cellIndex); + }, + /** + * 根据始末两个单元格获取被框选的所有单元格范围 + */ + getCellsRange:function (cellA, cellB) { + function checkRange(beginRowIndex, beginColIndex, endRowIndex, endColIndex) { + var tmpBeginRowIndex = beginRowIndex, + tmpBeginColIndex = beginColIndex, + tmpEndRowIndex = endRowIndex, + tmpEndColIndex = endColIndex, + cellInfo, colIndex, rowIndex; + // 通过indexTable检查是否存在超出TableRange上边界的情况 + if (beginRowIndex > 0) { + for (colIndex = beginColIndex; colIndex < endColIndex; colIndex++) { + cellInfo = me.indexTable[beginRowIndex][colIndex]; + rowIndex = cellInfo.rowIndex; + if (rowIndex < beginRowIndex) { + tmpBeginRowIndex = Math.min(rowIndex, tmpBeginRowIndex); + } + } + } + // 通过indexTable检查是否存在超出TableRange右边界的情况 + if (endColIndex < me.colsNum) { + for (rowIndex = beginRowIndex; rowIndex < endRowIndex; rowIndex++) { + cellInfo = me.indexTable[rowIndex][endColIndex]; + colIndex = cellInfo.colIndex + cellInfo.colSpan - 1; + if (colIndex > endColIndex) { + tmpEndColIndex = Math.max(colIndex, tmpEndColIndex); + } + } + } + // 检查是否有超出TableRange下边界的情况 + if (endRowIndex < me.rowsNum) { + for (colIndex = beginColIndex; colIndex < endColIndex; colIndex++) { + cellInfo = me.indexTable[endRowIndex][colIndex]; + rowIndex = cellInfo.rowIndex + cellInfo.rowSpan - 1; + if (rowIndex > endRowIndex) { + tmpEndRowIndex = Math.max(rowIndex, tmpEndRowIndex); + } + } + } + // 检查是否有超出TableRange左边界的情况 + if (beginColIndex > 0) { + for (rowIndex = beginRowIndex; rowIndex < endRowIndex; rowIndex++) { + cellInfo = me.indexTable[rowIndex][beginColIndex]; + colIndex = cellInfo.colIndex; + if (colIndex < beginColIndex) { + tmpBeginColIndex = Math.min(cellInfo.colIndex, tmpBeginColIndex); + } + } + } + //递归调用直至所有完成所有框选单元格的扩展 + if (tmpBeginRowIndex != beginRowIndex || tmpBeginColIndex != beginColIndex || tmpEndRowIndex != endRowIndex || tmpEndColIndex != endColIndex) { + return checkRange(tmpBeginRowIndex, tmpBeginColIndex, tmpEndRowIndex, tmpEndColIndex); + } else { + // 不需要扩展TableRange的情况 + return { + beginRowIndex:beginRowIndex, + beginColIndex:beginColIndex, + endRowIndex:endRowIndex, + endColIndex:endColIndex + }; + } + } + + try { + var me = this, + cellAInfo = me.getCellInfo(cellA); + if (cellA === cellB) { + return { + beginRowIndex:cellAInfo.rowIndex, + beginColIndex:cellAInfo.colIndex, + endRowIndex:cellAInfo.rowIndex + cellAInfo.rowSpan - 1, + endColIndex:cellAInfo.colIndex + cellAInfo.colSpan - 1 + }; + } + var cellBInfo = me.getCellInfo(cellB); + // 计算TableRange的四个边 + var beginRowIndex = Math.min(cellAInfo.rowIndex, cellBInfo.rowIndex), + beginColIndex = Math.min(cellAInfo.colIndex, cellBInfo.colIndex), + endRowIndex = Math.max(cellAInfo.rowIndex + cellAInfo.rowSpan - 1, cellBInfo.rowIndex + cellBInfo.rowSpan - 1), + endColIndex = Math.max(cellAInfo.colIndex + cellAInfo.colSpan - 1, cellBInfo.colIndex + cellBInfo.colSpan - 1); + + return checkRange(beginRowIndex, beginColIndex, endRowIndex, endColIndex); + } catch (e) { + //throw e; + } + }, + /** + * 依据cellsRange获取对应的单元格集合 + */ + getCells:function (range) { + //每次获取cells之前必须先清除上次的选择,否则会对后续获取操作造成影响 + this.clearSelected(); + var beginRowIndex = range.beginRowIndex, + beginColIndex = range.beginColIndex, + endRowIndex = range.endRowIndex, + endColIndex = range.endColIndex, + cellInfo, rowIndex, colIndex, tdHash = {}, returnTds = []; + for (var i = beginRowIndex; i <= endRowIndex; i++) { + for (var j = beginColIndex; j <= endColIndex; j++) { + cellInfo = this.indexTable[i][j]; + rowIndex = cellInfo.rowIndex; + colIndex = cellInfo.colIndex; + // 如果Cells里已经包含了此Cell则跳过 + var key = rowIndex + '|' + colIndex; + if (tdHash[key]) continue; + tdHash[key] = 1; + if (rowIndex < i || colIndex < j || rowIndex + cellInfo.rowSpan - 1 > endRowIndex || colIndex + cellInfo.colSpan - 1 > endColIndex) { + return null; + } + returnTds.push(this.getCell(rowIndex, cellInfo.cellIndex)); + } + } + return returnTds; + }, + /** + * 清理已经选中的单元格 + */ + clearSelected:function () { + UETable.removeSelectedClass(this.selectedTds); + this.selectedTds = []; + this.cellsRange = {}; + }, + /** + * 根据range设置已经选中的单元格 + */ + setSelected:function (range) { + var cells = this.getCells(range); + UETable.addSelectedClass(cells); + this.selectedTds = cells; + this.cellsRange = range; + }, + isFullRow:function () { + var range = this.cellsRange; + return (range.endColIndex - range.beginColIndex + 1) == this.colsNum; + }, + isFullCol:function () { + var range = this.cellsRange, + table = this.table, + ths = table.getElementsByTagName("th"), + rows = range.endRowIndex - range.beginRowIndex + 1; + return !ths.length ? rows == this.rowsNum : rows == this.rowsNum || (rows == this.rowsNum - 1); + + }, + /** + * 获取视觉上的前置单元格,默认是左边,top传入时 + * @param cell + * @param top + */ + getNextCell:function (cell, bottom, ignoreRange) { + try { + var cellInfo = this.getCellInfo(cell), + nextRowIndex, nextColIndex; + var len = this.selectedTds.length && !ignoreRange, + range = this.cellsRange; + //末行或者末列没有后置单元格 + if ((!bottom && (cellInfo.rowIndex == 0)) || (bottom && (!len ? (cellInfo.rowIndex + cellInfo.rowSpan > this.rowsNum - 1) : (range.endRowIndex == this.rowsNum - 1)))) return null; + + nextRowIndex = !bottom ? ( !len ? cellInfo.rowIndex - 1 : range.beginRowIndex - 1) + : ( !len ? (cellInfo.rowIndex + cellInfo.rowSpan) : range.endRowIndex + 1); + nextColIndex = !len ? cellInfo.colIndex : range.beginColIndex; + return this.getCell(this.indexTable[nextRowIndex][nextColIndex].rowIndex, this.indexTable[nextRowIndex][nextColIndex].cellIndex); + } catch (e) { + showError(e); + } + }, + getPreviewCell:function (cell, top) { + try { + var cellInfo = this.getCellInfo(cell), + previewRowIndex, previewColIndex; + var len = this.selectedTds.length, + range = this.cellsRange; + //首行或者首列没有前置单元格 + if ((!top && (!len ? !cellInfo.colIndex : !range.beginColIndex)) || (top && (!len ? (cellInfo.rowIndex > (this.colsNum - 1)) : (range.endColIndex == this.colsNum - 1)))) return null; + + previewRowIndex = !top ? ( !len ? cellInfo.rowIndex : range.beginRowIndex ) + : ( !len ? (cellInfo.rowIndex < 1 ? 0 : (cellInfo.rowIndex - 1)) : range.beginRowIndex); + previewColIndex = !top ? ( !len ? (cellInfo.colIndex < 1 ? 0 : (cellInfo.colIndex - 1)) : range.beginColIndex - 1) + : ( !len ? cellInfo.colIndex : range.endColIndex + 1); + return this.getCell(this.indexTable[previewRowIndex][previewColIndex].rowIndex, this.indexTable[previewRowIndex][previewColIndex].cellIndex); + } catch (e) { + showError(e); + } + }, + /** + * 移动单元格中的内容 + */ + moveContent:function (cellTo, cellFrom) { + if (UETable.isEmptyBlock(cellFrom)) return; + if (UETable.isEmptyBlock(cellTo)) { + cellTo.innerHTML = cellFrom.innerHTML; + return; + } + var child = cellTo.lastChild; + if (child.nodeType == 3 || !dtd.$block[child.tagName]) { + cellTo.appendChild(cellTo.ownerDocument.createElement('br')) + } + while (child = cellFrom.firstChild) { + cellTo.appendChild(child); + } + }, + /** + * 向右合并单元格 + */ + mergeRight:function (cell) { + var cellInfo = this.getCellInfo(cell), + rightColIndex = cellInfo.colIndex + cellInfo.colSpan, + rightCellInfo = this.indexTable[cellInfo.rowIndex][rightColIndex], + rightCell = this.getCell(rightCellInfo.rowIndex, rightCellInfo.cellIndex); + //合并 + cell.colSpan = cellInfo.colSpan + rightCellInfo.colSpan; + //被合并的单元格不应存在宽度属性 + cell.removeAttribute("width"); + //移动内容 + this.moveContent(cell, rightCell); + //删掉被合并的Cell + this.deleteCell(rightCell, rightCellInfo.rowIndex); + this.update(); + }, + /** + * 向下合并单元格 + */ + mergeDown:function (cell) { + var cellInfo = this.getCellInfo(cell), + downRowIndex = cellInfo.rowIndex + cellInfo.rowSpan, + downCellInfo = this.indexTable[downRowIndex][cellInfo.colIndex], + downCell = this.getCell(downCellInfo.rowIndex, downCellInfo.cellIndex); + cell.rowSpan = cellInfo.rowSpan + downCellInfo.rowSpan; + cell.removeAttribute("height"); + this.moveContent(cell, downCell); + this.deleteCell(downCell, downCellInfo.rowIndex); + this.update(); + }, + /** + * 合并整个range中的内容 + */ + mergeRange:function () { + //由于合并操作可以在任意时刻进行,所以无法通过鼠标位置等信息实时生成range,只能通过缓存实例中的cellsRange对象来访问 + var range = this.cellsRange, + leftTopCell = this.getCell(range.beginRowIndex, this.indexTable[range.beginRowIndex][range.beginColIndex].cellIndex); + + if (leftTopCell.tagName == "TH" && range.endRowIndex !== range.beginRowIndex) { + var index = this.indexTable, + info = this.getCellInfo(leftTopCell); + leftTopCell = this.getCell(1, index[1][info.colIndex].cellIndex); + range = this.getCellsRange(leftTopCell, this.getCell(index[this.rowsNum - 1][info.colIndex].rowIndex, index[this.rowsNum - 1][info.colIndex].cellIndex)); + } + + // 删除剩余的Cells + var cells = this.getCells(range); + for(var i= 0,ci;ci=cells[i++];){ + if (ci !== leftTopCell) { + this.moveContent(leftTopCell, ci); + this.deleteCell(ci); + } + } + // 修改左上角Cell的rowSpan和colSpan,并调整宽度属性设置 + leftTopCell.rowSpan = range.endRowIndex - range.beginRowIndex + 1; + leftTopCell.rowSpan > 1 && leftTopCell.removeAttribute("height"); + leftTopCell.colSpan = range.endColIndex - range.beginColIndex + 1; + leftTopCell.colSpan > 1 && leftTopCell.removeAttribute("width"); + if (leftTopCell.rowSpan == this.rowsNum && leftTopCell.colSpan != 1) { + leftTopCell.colSpan = 1; + } + + if (leftTopCell.colSpan == this.colsNum && leftTopCell.rowSpan != 1) { + var rowIndex = leftTopCell.parentNode.rowIndex; + //解决IE下的表格操作问题 + if( this.table.deleteRow ) { + for (var i = rowIndex+ 1, curIndex=rowIndex+ 1, len=leftTopCell.rowSpan; i < len; i++) { + this.table.deleteRow(curIndex); + } + } else { + for (var i = 0, len=leftTopCell.rowSpan - 1; i < len; i++) { + var row = this.table.rows[rowIndex + 1]; + row.parentNode.removeChild(row); + } + } + leftTopCell.rowSpan = 1; + } + this.update(); + }, + /** + * 插入一行单元格 + */ + insertRow:function (rowIndex, sourceCell) { + var numCols = this.colsNum, + table = this.table, + row = table.insertRow(rowIndex), cell, + isInsertTitle = typeof sourceCell == 'string' && sourceCell.toUpperCase() == 'TH'; + + function replaceTdToTh(colIndex, cell, tableRow) { + if (colIndex == 0) { + var tr = tableRow.nextSibling || tableRow.previousSibling, + th = tr.cells[colIndex]; + if (th.tagName == 'TH') { + th = cell.ownerDocument.createElement("th"); + th.appendChild(cell.firstChild); + tableRow.insertBefore(th, cell); + domUtils.remove(cell) + } + }else{ + if (cell.tagName == 'TH') { + var td = cell.ownerDocument.createElement("td"); + td.appendChild(cell.firstChild); + tableRow.insertBefore(td, cell); + domUtils.remove(cell) + } + } + } + + //首行直接插入,无需考虑部分单元格被rowspan的情况 + if (rowIndex == 0 || rowIndex == this.rowsNum) { + for (var colIndex = 0; colIndex < numCols; colIndex++) { + cell = this.cloneCell(sourceCell, true); + this.setCellContent(cell); + cell.getAttribute('vAlign') && cell.setAttribute('vAlign', cell.getAttribute('vAlign')); + row.appendChild(cell); + if(!isInsertTitle) replaceTdToTh(colIndex, cell, row); + } + } else { + var infoRow = this.indexTable[rowIndex], + cellIndex = 0; + for (colIndex = 0; colIndex < numCols; colIndex++) { + var cellInfo = infoRow[colIndex]; + //如果存在某个单元格的rowspan穿过待插入行的位置,则修改该单元格的rowspan即可,无需插入单元格 + if (cellInfo.rowIndex < rowIndex) { + cell = this.getCell(cellInfo.rowIndex, cellInfo.cellIndex); + cell.rowSpan = cellInfo.rowSpan + 1; + } else { + cell = this.cloneCell(sourceCell, true); + this.setCellContent(cell); + row.appendChild(cell); + } + if(!isInsertTitle) replaceTdToTh(colIndex, cell, row); + } + } + //框选时插入不触发contentchange,需要手动更新索引。 + this.update(); + return row; + }, + /** + * 删除一行单元格 + * @param rowIndex + */ + deleteRow:function (rowIndex) { + var row = this.table.rows[rowIndex], + infoRow = this.indexTable[rowIndex], + colsNum = this.colsNum, + count = 0; //处理计数 + for (var colIndex = 0; colIndex < colsNum;) { + var cellInfo = infoRow[colIndex], + cell = this.getCell(cellInfo.rowIndex, cellInfo.cellIndex); + if (cell.rowSpan > 1) { + if (cellInfo.rowIndex == rowIndex) { + var clone = cell.cloneNode(true); + clone.rowSpan = cell.rowSpan - 1; + clone.innerHTML = ""; + cell.rowSpan = 1; + var nextRowIndex = rowIndex + 1, + nextRow = this.table.rows[nextRowIndex], + insertCellIndex, + preMerged = this.getPreviewMergedCellsNum(nextRowIndex, colIndex) - count; + if (preMerged < colIndex) { + insertCellIndex = colIndex - preMerged - 1; + //nextRow.insertCell(insertCellIndex); + domUtils.insertAfter(nextRow.cells[insertCellIndex], clone); + } else { + if (nextRow.cells.length) nextRow.insertBefore(clone, nextRow.cells[0]) + } + count += 1; + //cell.parentNode.removeChild(cell); + } + } + colIndex += cell.colSpan || 1; + } + var deleteTds = [], cacheMap = {}; + for (colIndex = 0; colIndex < colsNum; colIndex++) { + var tmpRowIndex = infoRow[colIndex].rowIndex, + tmpCellIndex = infoRow[colIndex].cellIndex, + key = tmpRowIndex + "_" + tmpCellIndex; + if (cacheMap[key])continue; + cacheMap[key] = 1; + cell = this.getCell(tmpRowIndex, tmpCellIndex); + deleteTds.push(cell); + } + var mergeTds = []; + utils.each(deleteTds, function (td) { + if (td.rowSpan == 1) { + td.parentNode.removeChild(td); + } else { + mergeTds.push(td); + } + }); + utils.each(mergeTds, function (td) { + td.rowSpan--; + }); + row.parentNode.removeChild(row); + //浏览器方法本身存在bug,采用自定义方法删除 + //this.table.deleteRow(rowIndex); + this.update(); + }, + insertCol:function (colIndex, sourceCell, defaultValue) { + var rowsNum = this.rowsNum, + rowIndex = 0, + tableRow, cell, + backWidth = parseInt((this.table.offsetWidth - (this.colsNum + 1) * 20 - (this.colsNum + 1)) / (this.colsNum + 1), 10), + isInsertTitleCol = typeof sourceCell == 'string' && sourceCell.toUpperCase() == 'TH'; + + function replaceTdToTh(rowIndex, cell, tableRow) { + if (rowIndex == 0) { + var th = cell.nextSibling || cell.previousSibling; + if (th.tagName == 'TH') { + th = cell.ownerDocument.createElement("th"); + th.appendChild(cell.firstChild); + tableRow.insertBefore(th, cell); + domUtils.remove(cell) + } + }else{ + if (cell.tagName == 'TH') { + var td = cell.ownerDocument.createElement("td"); + td.appendChild(cell.firstChild); + tableRow.insertBefore(td, cell); + domUtils.remove(cell) + } + } + } + + var preCell; + if (colIndex == 0 || colIndex == this.colsNum) { + for (; rowIndex < rowsNum; rowIndex++) { + tableRow = this.table.rows[rowIndex]; + preCell = tableRow.cells[colIndex == 0 ? colIndex : tableRow.cells.length]; + cell = this.cloneCell(sourceCell, true); //tableRow.insertCell(colIndex == 0 ? colIndex : tableRow.cells.length); + this.setCellContent(cell); + cell.setAttribute('vAlign', cell.getAttribute('vAlign')); + preCell && cell.setAttribute('width', preCell.getAttribute('width')); + if (!colIndex) { + tableRow.insertBefore(cell, tableRow.cells[0]); + } else { + domUtils.insertAfter(tableRow.cells[tableRow.cells.length - 1], cell); + } + if(!isInsertTitleCol) replaceTdToTh(rowIndex, cell, tableRow) + } + } else { + for (; rowIndex < rowsNum; rowIndex++) { + var cellInfo = this.indexTable[rowIndex][colIndex]; + if (cellInfo.colIndex < colIndex) { + cell = this.getCell(cellInfo.rowIndex, cellInfo.cellIndex); + cell.colSpan = cellInfo.colSpan + 1; + } else { + tableRow = this.table.rows[rowIndex]; + preCell = tableRow.cells[cellInfo.cellIndex]; + + cell = this.cloneCell(sourceCell, true);//tableRow.insertCell(cellInfo.cellIndex); + this.setCellContent(cell); + cell.setAttribute('vAlign', cell.getAttribute('vAlign')); + preCell && cell.setAttribute('width', preCell.getAttribute('width')); + //防止IE下报错 + preCell ? tableRow.insertBefore(cell, preCell) : tableRow.appendChild(cell); + } + if(!isInsertTitleCol) replaceTdToTh(rowIndex, cell, tableRow); + } + } + //框选时插入不触发contentchange,需要手动更新索引 + this.update(); + this.updateWidth(backWidth, defaultValue || {tdPadding:10, tdBorder:1}); + }, + updateWidth:function (width, defaultValue) { + var table = this.table, + tmpWidth = UETable.getWidth(table) - defaultValue.tdPadding * 2 - defaultValue.tdBorder + width; + if (tmpWidth < table.ownerDocument.body.offsetWidth) { + table.setAttribute("width", tmpWidth); + return; + } + var tds = domUtils.getElementsByTagName(this.table, "td th"); + utils.each(tds, function (td) { + td.setAttribute("width", width); + }) + }, + deleteCol:function (colIndex) { + var indexTable = this.indexTable, + tableRows = this.table.rows, + backTableWidth = this.table.getAttribute("width"), + backTdWidth = 0, + rowsNum = this.rowsNum, + cacheMap = {}; + for (var rowIndex = 0; rowIndex < rowsNum;) { + var infoRow = indexTable[rowIndex], + cellInfo = infoRow[colIndex], + key = cellInfo.rowIndex + '_' + cellInfo.colIndex; + // 跳过已经处理过的Cell + if (cacheMap[key])continue; + cacheMap[key] = 1; + var cell = this.getCell(cellInfo.rowIndex, cellInfo.cellIndex); + if (!backTdWidth) backTdWidth = cell && parseInt(cell.offsetWidth / cell.colSpan, 10).toFixed(0); + // 如果Cell的colSpan大于1, 就修改colSpan, 否则就删掉这个Cell + if (cell.colSpan > 1) { + cell.colSpan--; + } else { + tableRows[rowIndex].deleteCell(cellInfo.cellIndex); + } + rowIndex += cellInfo.rowSpan || 1; + } + this.table.setAttribute("width", backTableWidth - backTdWidth); + this.update(); + }, + splitToCells:function (cell) { + var me = this, + cells = this.splitToRows(cell); + utils.each(cells, function (cell) { + me.splitToCols(cell); + }) + }, + splitToRows:function (cell) { + var cellInfo = this.getCellInfo(cell), + rowIndex = cellInfo.rowIndex, + colIndex = cellInfo.colIndex, + results = []; + // 修改Cell的rowSpan + cell.rowSpan = 1; + results.push(cell); + // 补齐单元格 + for (var i = rowIndex, endRow = rowIndex + cellInfo.rowSpan; i < endRow; i++) { + if (i == rowIndex)continue; + var tableRow = this.table.rows[i], + tmpCell = tableRow.insertCell(colIndex - this.getPreviewMergedCellsNum(i, colIndex)); + tmpCell.colSpan = cellInfo.colSpan; + this.setCellContent(tmpCell); + tmpCell.setAttribute('vAlign', cell.getAttribute('vAlign')); + tmpCell.setAttribute('align', cell.getAttribute('align')); + if (cell.style.cssText) { + tmpCell.style.cssText = cell.style.cssText; + } + results.push(tmpCell); + } + this.update(); + return results; + }, + getPreviewMergedCellsNum:function (rowIndex, colIndex) { + var indexRow = this.indexTable[rowIndex], + num = 0; + for (var i = 0; i < colIndex;) { + var colSpan = indexRow[i].colSpan, + tmpRowIndex = indexRow[i].rowIndex; + num += (colSpan - (tmpRowIndex == rowIndex ? 1 : 0)); + i += colSpan; + } + return num; + }, + splitToCols:function (cell) { + var backWidth = (cell.offsetWidth / cell.colSpan - 22).toFixed(0), + + cellInfo = this.getCellInfo(cell), + rowIndex = cellInfo.rowIndex, + colIndex = cellInfo.colIndex, + results = []; + // 修改Cell的rowSpan + cell.colSpan = 1; + cell.setAttribute("width", backWidth); + results.push(cell); + // 补齐单元格 + for (var j = colIndex, endCol = colIndex + cellInfo.colSpan; j < endCol; j++) { + if (j == colIndex)continue; + var tableRow = this.table.rows[rowIndex], + tmpCell = tableRow.insertCell(this.indexTable[rowIndex][j].cellIndex + 1); + tmpCell.rowSpan = cellInfo.rowSpan; + this.setCellContent(tmpCell); + tmpCell.setAttribute('vAlign', cell.getAttribute('vAlign')); + tmpCell.setAttribute('align', cell.getAttribute('align')); + tmpCell.setAttribute('width', backWidth); + if (cell.style.cssText) { + tmpCell.style.cssText = cell.style.cssText; + } + //处理th的情况 + if (cell.tagName == 'TH') { + var th = cell.ownerDocument.createElement('th'); + th.appendChild(tmpCell.firstChild); + th.setAttribute('vAlign', cell.getAttribute('vAlign')); + th.rowSpan = tmpCell.rowSpan; + tableRow.insertBefore(th, tmpCell); + domUtils.remove(tmpCell); + } + results.push(tmpCell); + } + this.update(); + return results; + }, + isLastCell:function (cell, rowsNum, colsNum) { + rowsNum = rowsNum || this.rowsNum; + colsNum = colsNum || this.colsNum; + var cellInfo = this.getCellInfo(cell); + return ((cellInfo.rowIndex + cellInfo.rowSpan) == rowsNum) && + ((cellInfo.colIndex + cellInfo.colSpan) == colsNum); + }, + getLastCell:function (cells) { + cells = cells || this.table.getElementsByTagName("td"); + var firstInfo = this.getCellInfo(cells[0]); + var me = this, last = cells[0], + tr = last.parentNode, + cellsNum = 0, cols = 0, rows; + utils.each(cells, function (cell) { + if (cell.parentNode == tr)cols += cell.colSpan || 1; + cellsNum += cell.rowSpan * cell.colSpan || 1; + }); + rows = cellsNum / cols; + utils.each(cells, function (cell) { + if (me.isLastCell(cell, rows, cols)) { + last = cell; + return false; + } + }); + return last; + + }, + selectRow:function (rowIndex) { + var indexRow = this.indexTable[rowIndex], + start = this.getCell(indexRow[0].rowIndex, indexRow[0].cellIndex), + end = this.getCell(indexRow[this.colsNum - 1].rowIndex, indexRow[this.colsNum - 1].cellIndex), + range = this.getCellsRange(start, end); + this.setSelected(range); + }, + selectTable:function () { + var tds = this.table.getElementsByTagName("td"), + range = this.getCellsRange(tds[0], tds[tds.length - 1]); + this.setSelected(range); + }, + setBackground:function (cells, value) { + if (typeof value === "string") { + utils.each(cells, function (cell) { + cell.style.backgroundColor = value; + }) + } else if (typeof value === "object") { + value = utils.extend({ + repeat:true, + colorList:["#ddd", "#fff"] + }, value); + var rowIndex = this.getCellInfo(cells[0]).rowIndex, + count = 0, + colors = value.colorList, + getColor = function (list, index, repeat) { + return list[index] ? list[index] : repeat ? list[index % list.length] : ""; + }; + for (var i = 0, cell; cell = cells[i++];) { + var cellInfo = this.getCellInfo(cell); + cell.style.backgroundColor = getColor(colors, ((rowIndex + count) == cellInfo.rowIndex) ? count : ++count, value.repeat); + } + } + }, + removeBackground:function (cells) { + utils.each(cells, function (cell) { + cell.style.backgroundColor = ""; + }) + } + + + }; + function showError(e) { + } +})(); + +// plugins/table.cmds.js +/** + * Created with JetBrains PhpStorm. + * User: taoqili + * Date: 13-2-20 + * Time: 下午6:25 + * To change this template use File | Settings | File Templates. + */ +; +(function () { + var UT = UE.UETable, + getTableItemsByRange = function (editor) { + return UT.getTableItemsByRange(editor); + }, + getUETableBySelected = function (editor) { + return UT.getUETableBySelected(editor) + }, + getDefaultValue = function (editor, table) { + return UT.getDefaultValue(editor, table); + }, + getUETable = function (tdOrTable) { + return UT.getUETable(tdOrTable); + }; + + + UE.commands['inserttable'] = { + queryCommandState: function () { + return getTableItemsByRange(this).table ? -1 : 0; + }, + execCommand: function (cmd, opt) { + function createTable(opt, tdWidth) { + var html = [], + rowsNum = opt.numRows, + colsNum = opt.numCols; + for (var r = 0; r < rowsNum; r++) { + html.push(''); + for (var c = 0; c < colsNum; c++) { + html.push('
    • ' + (browser.ie && browser.version < 11 ? domUtils.fillChar : '
      ') + '
      ' + html.join('') + '
      ' + } + + if (!opt) { + opt = utils.extend({}, { + numCols: this.options.defaultCols, + numRows: this.options.defaultRows, + tdvalign: this.options.tdvalign + }) + } + var me = this; + var range = this.selection.getRange(), + start = range.startContainer, + firstParentBlock = domUtils.findParent(start, function (node) { + return domUtils.isBlockElm(node); + }, true) || me.body; + + var defaultValue = getDefaultValue(me), + tableWidth = firstParentBlock.offsetWidth, + tdWidth = Math.floor(tableWidth / opt.numCols - defaultValue.tdPadding * 2 - defaultValue.tdBorder); + + //todo其他属性 + !opt.tdvalign && (opt.tdvalign = me.options.tdvalign); + me.execCommand("inserthtml", createTable(opt, tdWidth)); + } + }; + + UE.commands['insertparagraphbeforetable'] = { + queryCommandState: function () { + return getTableItemsByRange(this).cell ? 0 : -1; + }, + execCommand: function () { + var table = getTableItemsByRange(this).table; + if (table) { + var p = this.document.createElement("p"); + p.innerHTML = browser.ie ? ' ' : '
      '; + table.parentNode.insertBefore(p, table); + this.selection.getRange().setStart(p, 0).setCursor(); + } + } + }; + + UE.commands['deletetable'] = { + queryCommandState: function () { + var rng = this.selection.getRange(); + return domUtils.findParentByTagName(rng.startContainer, 'table', true) ? 0 : -1; + }, + execCommand: function (cmd, table) { + var rng = this.selection.getRange(); + table = table || domUtils.findParentByTagName(rng.startContainer, 'table', true); + if (table) { + var next = table.nextSibling; + if (!next) { + next = domUtils.createElement(this.document, 'p', { + 'innerHTML': browser.ie ? domUtils.fillChar : '
      ' + }); + table.parentNode.insertBefore(next, table); + } + domUtils.remove(table); + rng = this.selection.getRange(); + if (next.nodeType == 3) { + rng.setStartBefore(next) + } else { + rng.setStart(next, 0) + } + rng.setCursor(false, true) + this.fireEvent("tablehasdeleted") + + } + + } + }; + UE.commands['cellalign'] = { + queryCommandState: function () { + return getSelectedArr(this).length ? 0 : -1 + }, + execCommand: function (cmd, align) { + var selectedTds = getSelectedArr(this); + if (selectedTds.length) { + for (var i = 0, ci; ci = selectedTds[i++];) { + ci.setAttribute('align', align); + } + } + } + }; + UE.commands['cellvalign'] = { + queryCommandState: function () { + return getSelectedArr(this).length ? 0 : -1; + }, + execCommand: function (cmd, valign) { + var selectedTds = getSelectedArr(this); + if (selectedTds.length) { + for (var i = 0, ci; ci = selectedTds[i++];) { + ci.setAttribute('vAlign', valign); + } + } + } + }; + UE.commands['insertcaption'] = { + queryCommandState: function () { + var table = getTableItemsByRange(this).table; + if (table) { + return table.getElementsByTagName('caption').length == 0 ? 1 : -1; + } + return -1; + }, + execCommand: function () { + var table = getTableItemsByRange(this).table; + if (table) { + var caption = this.document.createElement('caption'); + caption.innerHTML = browser.ie ? domUtils.fillChar : '
      '; + table.insertBefore(caption, table.firstChild); + var range = this.selection.getRange(); + range.setStart(caption, 0).setCursor(); + } + + } + }; + UE.commands['deletecaption'] = { + queryCommandState: function () { + var rng = this.selection.getRange(), + table = domUtils.findParentByTagName(rng.startContainer, 'table'); + if (table) { + return table.getElementsByTagName('caption').length == 0 ? -1 : 1; + } + return -1; + }, + execCommand: function () { + var rng = this.selection.getRange(), + table = domUtils.findParentByTagName(rng.startContainer, 'table'); + if (table) { + domUtils.remove(table.getElementsByTagName('caption')[0]); + var range = this.selection.getRange(); + range.setStart(table.rows[0].cells[0], 0).setCursor(); + } + + } + }; + UE.commands['inserttitle'] = { + queryCommandState: function () { + var table = getTableItemsByRange(this).table; + if (table) { + var firstRow = table.rows[0]; + return firstRow.cells[firstRow.cells.length-1].tagName.toLowerCase() != 'th' ? 0 : -1 + } + return -1; + }, + execCommand: function () { + var table = getTableItemsByRange(this).table; + if (table) { + getUETable(table).insertRow(0, 'th'); + } + var th = table.getElementsByTagName('th')[0]; + this.selection.getRange().setStart(th, 0).setCursor(false, true); + } + }; + UE.commands['deletetitle'] = { + queryCommandState: function () { + var table = getTableItemsByRange(this).table; + if (table) { + var firstRow = table.rows[0]; + return firstRow.cells[firstRow.cells.length-1].tagName.toLowerCase() == 'th' ? 0 : -1 + } + return -1; + }, + execCommand: function () { + var table = getTableItemsByRange(this).table; + if (table) { + domUtils.remove(table.rows[0]) + } + var td = table.getElementsByTagName('td')[0]; + this.selection.getRange().setStart(td, 0).setCursor(false, true); + } + }; + UE.commands['inserttitlecol'] = { + queryCommandState: function () { + var table = getTableItemsByRange(this).table; + if (table) { + var lastRow = table.rows[table.rows.length-1]; + return lastRow.getElementsByTagName('th').length ? -1 : 0; + } + return -1; + }, + execCommand: function (cmd) { + var table = getTableItemsByRange(this).table; + if (table) { + getUETable(table).insertCol(0, 'th'); + } + resetTdWidth(table, this); + var th = table.getElementsByTagName('th')[0]; + this.selection.getRange().setStart(th, 0).setCursor(false, true); + } + }; + UE.commands['deletetitlecol'] = { + queryCommandState: function () { + var table = getTableItemsByRange(this).table; + if (table) { + var lastRow = table.rows[table.rows.length-1]; + return lastRow.getElementsByTagName('th').length ? 0 : -1; + } + return -1; + }, + execCommand: function () { + var table = getTableItemsByRange(this).table; + if (table) { + for(var i = 0; i< table.rows.length; i++ ){ + domUtils.remove(table.rows[i].children[0]) + } + } + resetTdWidth(table, this); + var td = table.getElementsByTagName('td')[0]; + this.selection.getRange().setStart(td, 0).setCursor(false, true); + } + }; + + UE.commands["mergeright"] = { + queryCommandState: function (cmd) { + var tableItems = getTableItemsByRange(this), + table = tableItems.table, + cell = tableItems.cell; + + if (!table || !cell) return -1; + var ut = getUETable(table); + if (ut.selectedTds.length) return -1; + + var cellInfo = ut.getCellInfo(cell), + rightColIndex = cellInfo.colIndex + cellInfo.colSpan; + if (rightColIndex >= ut.colsNum) return -1; // 如果处于最右边则不能向右合并 + + var rightCellInfo = ut.indexTable[cellInfo.rowIndex][rightColIndex], + rightCell = table.rows[rightCellInfo.rowIndex].cells[rightCellInfo.cellIndex]; + if (!rightCell || cell.tagName != rightCell.tagName) return -1; // TH和TD不能相互合并 + + // 当且仅当两个Cell的开始列号和结束列号一致时能进行合并 + return (rightCellInfo.rowIndex == cellInfo.rowIndex && rightCellInfo.rowSpan == cellInfo.rowSpan) ? 0 : -1; + }, + execCommand: function (cmd) { + var rng = this.selection.getRange(), + bk = rng.createBookmark(true); + var cell = getTableItemsByRange(this).cell, + ut = getUETable(cell); + ut.mergeRight(cell); + rng.moveToBookmark(bk).select(); + } + }; + UE.commands["mergedown"] = { + queryCommandState: function (cmd) { + var tableItems = getTableItemsByRange(this), + table = tableItems.table, + cell = tableItems.cell; + + if (!table || !cell) return -1; + var ut = getUETable(table); + if (ut.selectedTds.length)return -1; + + var cellInfo = ut.getCellInfo(cell), + downRowIndex = cellInfo.rowIndex + cellInfo.rowSpan; + if (downRowIndex >= ut.rowsNum) return -1; // 如果处于最下边则不能向下合并 + + var downCellInfo = ut.indexTable[downRowIndex][cellInfo.colIndex], + downCell = table.rows[downCellInfo.rowIndex].cells[downCellInfo.cellIndex]; + if (!downCell || cell.tagName != downCell.tagName) return -1; // TH和TD不能相互合并 + + // 当且仅当两个Cell的开始列号和结束列号一致时能进行合并 + return (downCellInfo.colIndex == cellInfo.colIndex && downCellInfo.colSpan == cellInfo.colSpan) ? 0 : -1; + }, + execCommand: function () { + var rng = this.selection.getRange(), + bk = rng.createBookmark(true); + var cell = getTableItemsByRange(this).cell, + ut = getUETable(cell); + ut.mergeDown(cell); + rng.moveToBookmark(bk).select(); + } + }; + UE.commands["mergecells"] = { + queryCommandState: function () { + return getUETableBySelected(this) ? 0 : -1; + }, + execCommand: function () { + var ut = getUETableBySelected(this); + if (ut && ut.selectedTds.length) { + var cell = ut.selectedTds[0]; + ut.mergeRange(); + var rng = this.selection.getRange(); + if (domUtils.isEmptyBlock(cell)) { + rng.setStart(cell, 0).collapse(true) + } else { + rng.selectNodeContents(cell) + } + rng.select(); + } + + + } + }; + UE.commands["insertrow"] = { + queryCommandState: function () { + var tableItems = getTableItemsByRange(this), + cell = tableItems.cell; + return cell && (cell.tagName == "TD" || (cell.tagName == 'TH' && tableItems.tr !== tableItems.table.rows[0])) && + getUETable(tableItems.table).rowsNum < this.options.maxRowNum ? 0 : -1; + }, + execCommand: function () { + var rng = this.selection.getRange(), + bk = rng.createBookmark(true); + var tableItems = getTableItemsByRange(this), + cell = tableItems.cell, + table = tableItems.table, + ut = getUETable(table), + cellInfo = ut.getCellInfo(cell); + //ut.insertRow(!ut.selectedTds.length ? cellInfo.rowIndex:ut.cellsRange.beginRowIndex,''); + if (!ut.selectedTds.length) { + ut.insertRow(cellInfo.rowIndex, cell); + } else { + var range = ut.cellsRange; + for (var i = 0, len = range.endRowIndex - range.beginRowIndex + 1; i < len; i++) { + ut.insertRow(range.beginRowIndex, cell); + } + } + rng.moveToBookmark(bk).select(); + if (table.getAttribute("interlaced") === "enabled")this.fireEvent("interlacetable", table); + } + }; + //后插入行 + UE.commands["insertrownext"] = { + queryCommandState: function () { + var tableItems = getTableItemsByRange(this), + cell = tableItems.cell; + return cell && (cell.tagName == "TD") && getUETable(tableItems.table).rowsNum < this.options.maxRowNum ? 0 : -1; + }, + execCommand: function () { + var rng = this.selection.getRange(), + bk = rng.createBookmark(true); + var tableItems = getTableItemsByRange(this), + cell = tableItems.cell, + table = tableItems.table, + ut = getUETable(table), + cellInfo = ut.getCellInfo(cell); + //ut.insertRow(!ut.selectedTds.length? cellInfo.rowIndex + cellInfo.rowSpan : ut.cellsRange.endRowIndex + 1,''); + if (!ut.selectedTds.length) { + ut.insertRow(cellInfo.rowIndex + cellInfo.rowSpan, cell); + } else { + var range = ut.cellsRange; + for (var i = 0, len = range.endRowIndex - range.beginRowIndex + 1; i < len; i++) { + ut.insertRow(range.endRowIndex + 1, cell); + } + } + rng.moveToBookmark(bk).select(); + if (table.getAttribute("interlaced") === "enabled")this.fireEvent("interlacetable", table); + } + }; + UE.commands["deleterow"] = { + queryCommandState: function () { + var tableItems = getTableItemsByRange(this); + return tableItems.cell ? 0 : -1; + }, + execCommand: function () { + var cell = getTableItemsByRange(this).cell, + ut = getUETable(cell), + cellsRange = ut.cellsRange, + cellInfo = ut.getCellInfo(cell), + preCell = ut.getVSideCell(cell), + nextCell = ut.getVSideCell(cell, true), + rng = this.selection.getRange(); + if (utils.isEmptyObject(cellsRange)) { + ut.deleteRow(cellInfo.rowIndex); + } else { + for (var i = cellsRange.beginRowIndex; i < cellsRange.endRowIndex + 1; i++) { + ut.deleteRow(cellsRange.beginRowIndex); + } + } + var table = ut.table; + if (!table.getElementsByTagName('td').length) { + var nextSibling = table.nextSibling; + domUtils.remove(table); + if (nextSibling) { + rng.setStart(nextSibling, 0).setCursor(false, true); + } + } else { + if (cellInfo.rowSpan == 1 || cellInfo.rowSpan == cellsRange.endRowIndex - cellsRange.beginRowIndex + 1) { + if (nextCell || preCell) rng.selectNodeContents(nextCell || preCell).setCursor(false, true); + } else { + var newCell = ut.getCell(cellInfo.rowIndex, ut.indexTable[cellInfo.rowIndex][cellInfo.colIndex].cellIndex); + if (newCell) rng.selectNodeContents(newCell).setCursor(false, true); + } + } + if (table.getAttribute("interlaced") === "enabled")this.fireEvent("interlacetable", table); + } + }; + UE.commands["insertcol"] = { + queryCommandState: function (cmd) { + var tableItems = getTableItemsByRange(this), + cell = tableItems.cell; + return cell && (cell.tagName == "TD" || (cell.tagName == 'TH' && cell !== tableItems.tr.cells[0])) && + getUETable(tableItems.table).colsNum < this.options.maxColNum ? 0 : -1; + }, + execCommand: function (cmd) { + var rng = this.selection.getRange(), + bk = rng.createBookmark(true); + if (this.queryCommandState(cmd) == -1)return; + var cell = getTableItemsByRange(this).cell, + ut = getUETable(cell), + cellInfo = ut.getCellInfo(cell); + + //ut.insertCol(!ut.selectedTds.length ? cellInfo.colIndex:ut.cellsRange.beginColIndex); + if (!ut.selectedTds.length) { + ut.insertCol(cellInfo.colIndex, cell); + } else { + var range = ut.cellsRange; + for (var i = 0, len = range.endColIndex - range.beginColIndex + 1; i < len; i++) { + ut.insertCol(range.beginColIndex, cell); + } + } + rng.moveToBookmark(bk).select(true); + } + }; + UE.commands["insertcolnext"] = { + queryCommandState: function () { + var tableItems = getTableItemsByRange(this), + cell = tableItems.cell; + return cell && getUETable(tableItems.table).colsNum < this.options.maxColNum ? 0 : -1; + }, + execCommand: function () { + var rng = this.selection.getRange(), + bk = rng.createBookmark(true); + var cell = getTableItemsByRange(this).cell, + ut = getUETable(cell), + cellInfo = ut.getCellInfo(cell); + //ut.insertCol(!ut.selectedTds.length ? cellInfo.colIndex + cellInfo.colSpan:ut.cellsRange.endColIndex +1); + if (!ut.selectedTds.length) { + ut.insertCol(cellInfo.colIndex + cellInfo.colSpan, cell); + } else { + var range = ut.cellsRange; + for (var i = 0, len = range.endColIndex - range.beginColIndex + 1; i < len; i++) { + ut.insertCol(range.endColIndex + 1, cell); + } + } + rng.moveToBookmark(bk).select(); + } + }; + + UE.commands["deletecol"] = { + queryCommandState: function () { + var tableItems = getTableItemsByRange(this); + return tableItems.cell ? 0 : -1; + }, + execCommand: function () { + var cell = getTableItemsByRange(this).cell, + ut = getUETable(cell), + range = ut.cellsRange, + cellInfo = ut.getCellInfo(cell), + preCell = ut.getHSideCell(cell), + nextCell = ut.getHSideCell(cell, true); + if (utils.isEmptyObject(range)) { + ut.deleteCol(cellInfo.colIndex); + } else { + for (var i = range.beginColIndex; i < range.endColIndex + 1; i++) { + ut.deleteCol(range.beginColIndex); + } + } + var table = ut.table, + rng = this.selection.getRange(); + + if (!table.getElementsByTagName('td').length) { + var nextSibling = table.nextSibling; + domUtils.remove(table); + if (nextSibling) { + rng.setStart(nextSibling, 0).setCursor(false, true); + } + } else { + if (domUtils.inDoc(cell, this.document)) { + rng.setStart(cell, 0).setCursor(false, true); + } else { + if (nextCell && domUtils.inDoc(nextCell, this.document)) { + rng.selectNodeContents(nextCell).setCursor(false, true); + } else { + if (preCell && domUtils.inDoc(preCell, this.document)) { + rng.selectNodeContents(preCell).setCursor(true, true); + } + } + } + } + } + }; + UE.commands["splittocells"] = { + queryCommandState: function () { + var tableItems = getTableItemsByRange(this), + cell = tableItems.cell; + if (!cell) return -1; + var ut = getUETable(tableItems.table); + if (ut.selectedTds.length > 0) return -1; + return cell && (cell.colSpan > 1 || cell.rowSpan > 1) ? 0 : -1; + }, + execCommand: function () { + var rng = this.selection.getRange(), + bk = rng.createBookmark(true); + var cell = getTableItemsByRange(this).cell, + ut = getUETable(cell); + ut.splitToCells(cell); + rng.moveToBookmark(bk).select(); + } + }; + UE.commands["splittorows"] = { + queryCommandState: function () { + var tableItems = getTableItemsByRange(this), + cell = tableItems.cell; + if (!cell) return -1; + var ut = getUETable(tableItems.table); + if (ut.selectedTds.length > 0) return -1; + return cell && cell.rowSpan > 1 ? 0 : -1; + }, + execCommand: function () { + var rng = this.selection.getRange(), + bk = rng.createBookmark(true); + var cell = getTableItemsByRange(this).cell, + ut = getUETable(cell); + ut.splitToRows(cell); + rng.moveToBookmark(bk).select(); + } + }; + UE.commands["splittocols"] = { + queryCommandState: function () { + var tableItems = getTableItemsByRange(this), + cell = tableItems.cell; + if (!cell) return -1; + var ut = getUETable(tableItems.table); + if (ut.selectedTds.length > 0) return -1; + return cell && cell.colSpan > 1 ? 0 : -1; + }, + execCommand: function () { + var rng = this.selection.getRange(), + bk = rng.createBookmark(true); + var cell = getTableItemsByRange(this).cell, + ut = getUETable(cell); + ut.splitToCols(cell); + rng.moveToBookmark(bk).select(); + + } + }; + + UE.commands["adaptbytext"] = + UE.commands["adaptbywindow"] = { + queryCommandState: function () { + return getTableItemsByRange(this).table ? 0 : -1 + }, + execCommand: function (cmd) { + var tableItems = getTableItemsByRange(this), + table = tableItems.table; + if (table) { + if (cmd == 'adaptbywindow') { + resetTdWidth(table, this); + } else { + var cells = domUtils.getElementsByTagName(table, "td th"); + utils.each(cells, function (cell) { + cell.removeAttribute("width"); + }); + table.removeAttribute("width"); + } + } + } + }; + + //平均分配各列 + UE.commands['averagedistributecol'] = { + queryCommandState: function () { + var ut = getUETableBySelected(this); + if (!ut) return -1; + return ut.isFullRow() || ut.isFullCol() ? 0 : -1; + }, + execCommand: function (cmd) { + var me = this, + ut = getUETableBySelected(me); + + function getAverageWidth() { + var tb = ut.table, + averageWidth, sumWidth = 0, colsNum = 0, + tbAttr = getDefaultValue(me, tb); + + if (ut.isFullRow()) { + sumWidth = tb.offsetWidth; + colsNum = ut.colsNum; + } else { + var begin = ut.cellsRange.beginColIndex, + end = ut.cellsRange.endColIndex, + node; + for (var i = begin; i <= end;) { + node = ut.selectedTds[i]; + sumWidth += node.offsetWidth; + i += node.colSpan; + colsNum += 1; + } + } + averageWidth = Math.ceil(sumWidth / colsNum) - tbAttr.tdBorder * 2 - tbAttr.tdPadding * 2; + return averageWidth; + } + + function setAverageWidth(averageWidth) { + utils.each(domUtils.getElementsByTagName(ut.table, "th"), function (node) { + node.setAttribute("width", ""); + }); + var cells = ut.isFullRow() ? domUtils.getElementsByTagName(ut.table, "td") : ut.selectedTds; + + utils.each(cells, function (node) { + if (node.colSpan == 1) { + node.setAttribute("width", averageWidth); + } + }); + } + + if (ut && ut.selectedTds.length) { + setAverageWidth(getAverageWidth()); + } + } + }; + //平均分配各行 + UE.commands['averagedistributerow'] = { + queryCommandState: function () { + var ut = getUETableBySelected(this); + if (!ut) return -1; + if (ut.selectedTds && /th/ig.test(ut.selectedTds[0].tagName)) return -1; + return ut.isFullRow() || ut.isFullCol() ? 0 : -1; + }, + execCommand: function (cmd) { + var me = this, + ut = getUETableBySelected(me); + + function getAverageHeight() { + var averageHeight, rowNum, sumHeight = 0, + tb = ut.table, + tbAttr = getDefaultValue(me, tb), + tdpadding = parseInt(domUtils.getComputedStyle(tb.getElementsByTagName('td')[0], "padding-top")); + + if (ut.isFullCol()) { + var captionArr = domUtils.getElementsByTagName(tb, "caption"), + thArr = domUtils.getElementsByTagName(tb, "th"), + captionHeight, thHeight; + + if (captionArr.length > 0) { + captionHeight = captionArr[0].offsetHeight; + } + if (thArr.length > 0) { + thHeight = thArr[0].offsetHeight; + } + + sumHeight = tb.offsetHeight - (captionHeight || 0) - (thHeight || 0); + rowNum = thArr.length == 0 ? ut.rowsNum : (ut.rowsNum - 1); + } else { + var begin = ut.cellsRange.beginRowIndex, + end = ut.cellsRange.endRowIndex, + count = 0, + trs = domUtils.getElementsByTagName(tb, "tr"); + for (var i = begin; i <= end; i++) { + sumHeight += trs[i].offsetHeight; + count += 1; + } + rowNum = count; + } + //ie8下是混杂模式 + if (browser.ie && browser.version < 9) { + averageHeight = Math.ceil(sumHeight / rowNum); + } else { + averageHeight = Math.ceil(sumHeight / rowNum) - tbAttr.tdBorder * 2 - tdpadding * 2; + } + return averageHeight; + } + + function setAverageHeight(averageHeight) { + var cells = ut.isFullCol() ? domUtils.getElementsByTagName(ut.table, "td") : ut.selectedTds; + utils.each(cells, function (node) { + if (node.rowSpan == 1) { + node.setAttribute("height", averageHeight); + } + }); + } + + if (ut && ut.selectedTds.length) { + setAverageHeight(getAverageHeight()); + } + } + }; + + //单元格对齐方式 + UE.commands['cellalignment'] = { + queryCommandState: function () { + return getTableItemsByRange(this).table ? 0 : -1 + }, + execCommand: function (cmd, data) { + var me = this, + ut = getUETableBySelected(me); + + if (!ut) { + var start = me.selection.getStart(), + cell = start && domUtils.findParentByTagName(start, ["td", "th", "caption"], true); + if (!/caption/ig.test(cell.tagName)) { + domUtils.setAttributes(cell, data); + } else { + cell.style.textAlign = data.align; + cell.style.verticalAlign = data.vAlign; + } + me.selection.getRange().setCursor(true); + } else { + utils.each(ut.selectedTds, function (cell) { + domUtils.setAttributes(cell, data); + }); + } + }, + /** + * 查询当前点击的单元格的对齐状态, 如果当前已经选择了多个单元格, 则会返回所有单元格经过统一协调过后的状态 + * @see UE.UETable.getTableCellAlignState + */ + queryCommandValue: function (cmd) { + + var activeMenuCell = getTableItemsByRange( this).cell; + + if( !activeMenuCell ) { + activeMenuCell = getSelectedArr(this)[0]; + } + + if (!activeMenuCell) { + + return null; + + } else { + + //获取同时选中的其他单元格 + var cells = UE.UETable.getUETable(activeMenuCell).selectedTds; + + !cells.length && ( cells = activeMenuCell ); + + return UE.UETable.getTableCellAlignState(cells); + + } + + } + }; + //表格对齐方式 + UE.commands['tablealignment'] = { + queryCommandState: function () { + if (browser.ie && browser.version < 8) { + return -1; + } + return getTableItemsByRange(this).table ? 0 : -1 + }, + execCommand: function (cmd, value) { + var me = this, + start = me.selection.getStart(), + table = start && domUtils.findParentByTagName(start, ["table"], true); + + if (table) { + table.setAttribute("align",value); + } + } + }; + + //表格属性 + UE.commands['edittable'] = { + queryCommandState: function () { + return getTableItemsByRange(this).table ? 0 : -1 + }, + execCommand: function (cmd, color) { + var rng = this.selection.getRange(), + table = domUtils.findParentByTagName(rng.startContainer, 'table'); + if (table) { + var arr = domUtils.getElementsByTagName(table, "td").concat( + domUtils.getElementsByTagName(table, "th"), + domUtils.getElementsByTagName(table, "caption") + ); + utils.each(arr, function (node) { + node.style.borderColor = color; + }); + } + } + }; + //单元格属性 + UE.commands['edittd'] = { + queryCommandState: function () { + return getTableItemsByRange(this).table ? 0 : -1 + }, + execCommand: function (cmd, bkColor) { + var me = this, + ut = getUETableBySelected(me); + + if (!ut) { + var start = me.selection.getStart(), + cell = start && domUtils.findParentByTagName(start, ["td", "th", "caption"], true); + if (cell) { + cell.style.backgroundColor = bkColor; + } + } else { + utils.each(ut.selectedTds, function (cell) { + cell.style.backgroundColor = bkColor; + }); + } + } + }; + + UE.commands["settablebackground"] = { + queryCommandState: function () { + return getSelectedArr(this).length > 1 ? 0 : -1; + }, + execCommand: function (cmd, value) { + var cells, ut; + cells = getSelectedArr(this); + ut = getUETable(cells[0]); + ut.setBackground(cells, value); + } + }; + + UE.commands["cleartablebackground"] = { + queryCommandState: function () { + var cells = getSelectedArr(this); + if (!cells.length)return -1; + for (var i = 0, cell; cell = cells[i++];) { + if (cell.style.backgroundColor !== "") return 0; + } + return -1; + }, + execCommand: function () { + var cells = getSelectedArr(this), + ut = getUETable(cells[0]); + ut.removeBackground(cells); + } + }; + + UE.commands["interlacetable"] = UE.commands["uninterlacetable"] = { + queryCommandState: function (cmd) { + var table = getTableItemsByRange(this).table; + if (!table) return -1; + var interlaced = table.getAttribute("interlaced"); + if (cmd == "interlacetable") { + //TODO 待定 + //是否需要待定,如果设置,则命令只能单次执行成功,但反射具备toggle效果;否则可以覆盖前次命令,但反射将不存在toggle效果 + return (interlaced === "enabled") ? -1 : 0; + } else { + return (!interlaced || interlaced === "disabled") ? -1 : 0; + } + }, + execCommand: function (cmd, classList) { + var table = getTableItemsByRange(this).table; + if (cmd == "interlacetable") { + table.setAttribute("interlaced", "enabled"); + this.fireEvent("interlacetable", table, classList); + } else { + table.setAttribute("interlaced", "disabled"); + this.fireEvent("uninterlacetable", table); + } + } + }; + UE.commands["setbordervisible"] = { + queryCommandState: function (cmd) { + var table = getTableItemsByRange(this).table; + if (!table) return -1; + return 0; + }, + execCommand: function () { + var table = getTableItemsByRange(this).table; + utils.each(domUtils.getElementsByTagName(table,'td'),function(td){ + td.style.borderWidth = '1px'; + td.style.borderStyle = 'solid'; + }) + } + }; + function resetTdWidth(table, editor) { + var tds = domUtils.getElementsByTagName(table,'td th'); + utils.each(tds, function (td) { + td.removeAttribute("width"); + }); + table.setAttribute('width', getTableWidth(editor, true, getDefaultValue(editor, table))); + var tdsWidths = []; + setTimeout(function () { + utils.each(tds, function (td) { + (td.colSpan == 1) && tdsWidths.push(td.offsetWidth) + }) + utils.each(tds, function (td,i) { + (td.colSpan == 1) && td.setAttribute("width", tdsWidths[i] + ""); + }) + }, 0); + } + + function getTableWidth(editor, needIEHack, defaultValue) { + var body = editor.body; + return body.offsetWidth - (needIEHack ? parseInt(domUtils.getComputedStyle(body, 'margin-left'), 10) * 2 : 0) - defaultValue.tableBorder * 2 - (editor.options.offsetWidth || 0); + } + + function getSelectedArr(editor) { + var cell = getTableItemsByRange(editor).cell; + if (cell) { + var ut = getUETable(cell); + return ut.selectedTds.length ? ut.selectedTds : [cell]; + } else { + return []; + } + } +})(); + + +// plugins/table.action.js +/** + * Created with JetBrains PhpStorm. + * User: taoqili + * Date: 12-10-12 + * Time: 上午10:05 + * To change this template use File | Settings | File Templates. + */ +UE.plugins['table'] = function () { + var me = this, + tabTimer = null, + //拖动计时器 + tableDragTimer = null, + //双击计时器 + tableResizeTimer = null, + //单元格最小宽度 + cellMinWidth = 5, + isInResizeBuffer = false, + //单元格边框大小 + cellBorderWidth = 5, + //鼠标偏移距离 + offsetOfTableCell = 10, + //记录在有限时间内的点击状态, 共有3个取值, 0, 1, 2。 0代表未初始化, 1代表单击了1次,2代表2次 + singleClickState = 0, + userActionStatus = null, + //双击允许的时间范围 + dblclickTime = 360, + UT = UE.UETable, + getUETable = function (tdOrTable) { + return UT.getUETable(tdOrTable); + }, + getUETableBySelected = function (editor) { + return UT.getUETableBySelected(editor); + }, + getDefaultValue = function (editor, table) { + return UT.getDefaultValue(editor, table); + }, + removeSelectedClass = function (cells) { + return UT.removeSelectedClass(cells); + }; + + function showError(e) { +// throw e; + } + me.ready(function(){ + var me = this; + var orgGetText = me.selection.getText; + me.selection.getText = function(){ + var table = getUETableBySelected(me); + if(table){ + var str = ''; + utils.each(table.selectedTds,function(td){ + str += td[browser.ie?'innerText':'textContent']; + }) + return str; + }else{ + return orgGetText.call(me.selection) + } + + } + }) + + //处理拖动及框选相关方法 + var startTd = null, //鼠标按下时的锚点td + currentTd = null, //当前鼠标经过时的td + onDrag = "", //指示当前拖动状态,其值可为"","h","v" ,分别表示未拖动状态,横向拖动状态,纵向拖动状态,用于鼠标移动过程中的判断 + onBorder = false, //检测鼠标按下时是否处在单元格边缘位置 + dragButton = null, + dragOver = false, + dragLine = null, //模拟的拖动线 + dragTd = null; //发生拖动的目标td + + var mousedown = false, + //todo 判断混乱模式 + needIEHack = true; + + me.setOpt({ + 'maxColNum':20, + 'maxRowNum':100, + 'defaultCols':5, + 'defaultRows':5, + 'tdvalign':'top', + 'cursorpath':me.options.UEDITOR_HOME_URL + "themes/default/images/cursor_", + 'tableDragable':false, + 'classList':["ue-table-interlace-color-single","ue-table-interlace-color-double"] + }); + me.getUETable = getUETable; + var commands = { + 'deletetable':1, + 'inserttable':1, + 'cellvalign':1, + 'insertcaption':1, + 'deletecaption':1, + 'inserttitle':1, + 'deletetitle':1, + "mergeright":1, + "mergedown":1, + "mergecells":1, + "insertrow":1, + "insertrownext":1, + "deleterow":1, + "insertcol":1, + "insertcolnext":1, + "deletecol":1, + "splittocells":1, + "splittorows":1, + "splittocols":1, + "adaptbytext":1, + "adaptbywindow":1, + "adaptbycustomer":1, + "insertparagraph":1, + "insertparagraphbeforetable":1, + "averagedistributecol":1, + "averagedistributerow":1 + }; + me.ready(function () { + utils.cssRule('table', + //选中的td上的样式 + '.selectTdClass{background-color:#edf5fa !important}' + + 'table.noBorderTable td,table.noBorderTable th,table.noBorderTable caption{border:1px dashed #ddd !important}' + + //插入的表格的默认样式 + 'table{margin-bottom:10px;border-collapse:collapse;display:table;}' + + 'td,th{padding: 5px 10px;border: 1px solid #DDD;}' + + 'caption{border:1px dashed #DDD;border-bottom:0;padding:3px;text-align:center;}' + + 'th{border-top:1px solid #BBB;background-color:#F7F7F7;}' + + 'table tr.firstRow th{border-top-width:2px;}' + + '.ue-table-interlace-color-single{ background-color: #fcfcfc; } .ue-table-interlace-color-double{ background-color: #f7faff; }' + + 'td p{margin:0;padding:0;}', me.document); + + var tableCopyList, isFullCol, isFullRow; + //注册del/backspace事件 + me.addListener('keydown', function (cmd, evt) { + var me = this; + var keyCode = evt.keyCode || evt.which; + + if (keyCode == 8) { + + var ut = getUETableBySelected(me); + if (ut && ut.selectedTds.length) { + + if (ut.isFullCol()) { + me.execCommand('deletecol') + } else if (ut.isFullRow()) { + me.execCommand('deleterow') + } else { + me.fireEvent('delcells'); + } + domUtils.preventDefault(evt); + } + + var caption = domUtils.findParentByTagName(me.selection.getStart(), 'caption', true), + range = me.selection.getRange(); + if (range.collapsed && caption && isEmptyBlock(caption)) { + me.fireEvent('saveScene'); + var table = caption.parentNode; + domUtils.remove(caption); + if (table) { + range.setStart(table.rows[0].cells[0], 0).setCursor(false, true); + } + me.fireEvent('saveScene'); + } + + } + + if (keyCode == 46) { + + ut = getUETableBySelected(me); + if (ut) { + me.fireEvent('saveScene'); + for (var i = 0, ci; ci = ut.selectedTds[i++];) { + domUtils.fillNode(me.document, ci) + } + me.fireEvent('saveScene'); + domUtils.preventDefault(evt); + + } + + } + if (keyCode == 13) { + + var rng = me.selection.getRange(), + caption = domUtils.findParentByTagName(rng.startContainer, 'caption', true); + if (caption) { + var table = domUtils.findParentByTagName(caption, 'table'); + if (!rng.collapsed) { + + rng.deleteContents(); + me.fireEvent('saveScene'); + } else { + if (caption) { + rng.setStart(table.rows[0].cells[0], 0).setCursor(false, true); + } + } + domUtils.preventDefault(evt); + return; + } + if (rng.collapsed) { + var table = domUtils.findParentByTagName(rng.startContainer, 'table'); + if (table) { + var cell = table.rows[0].cells[0], + start = domUtils.findParentByTagName(me.selection.getStart(), ['td', 'th'], true), + preNode = table.previousSibling; + if (cell === start && (!preNode || preNode.nodeType == 1 && preNode.tagName == 'TABLE' ) && domUtils.isStartInblock(rng)) { + var first = domUtils.findParent(me.selection.getStart(), function(n){return domUtils.isBlockElm(n)}, true); + if(first && ( /t(h|d)/i.test(first.tagName) || first === start.firstChild )){ + me.execCommand('insertparagraphbeforetable'); + domUtils.preventDefault(evt); + } + + } + } + } + } + + if ((evt.ctrlKey || evt.metaKey) && evt.keyCode == '67') { + tableCopyList = null; + var ut = getUETableBySelected(me); + if (ut) { + var tds = ut.selectedTds; + isFullCol = ut.isFullCol(); + isFullRow = ut.isFullRow(); + tableCopyList = [ + [ut.cloneCell(tds[0],null,true)] + ]; + for (var i = 1, ci; ci = tds[i]; i++) { + if (ci.parentNode !== tds[i - 1].parentNode) { + tableCopyList.push([ut.cloneCell(ci,null,true)]); + } else { + tableCopyList[tableCopyList.length - 1].push(ut.cloneCell(ci,null,true)); + } + + } + } + } + }); + me.addListener("tablehasdeleted",function(){ + toggleDraggableState(this, false, "", null); + if (dragButton)domUtils.remove(dragButton); + }); + + me.addListener('beforepaste', function (cmd, html) { + var me = this; + var rng = me.selection.getRange(); + if (domUtils.findParentByTagName(rng.startContainer, 'caption', true)) { + var div = me.document.createElement("div"); + div.innerHTML = html.html; + //trace:3729 + html.html = div[browser.ie9below ? 'innerText' : 'textContent']; + return; + } + var table = getUETableBySelected(me); + if (tableCopyList) { + me.fireEvent('saveScene'); + var rng = me.selection.getRange(); + var td = domUtils.findParentByTagName(rng.startContainer, ['td', 'th'], true), tmpNode, preNode; + if (td) { + var ut = getUETable(td); + if (isFullRow) { + var rowIndex = ut.getCellInfo(td).rowIndex; + if (td.tagName == 'TH') { + rowIndex++; + } + for (var i = 0, ci; ci = tableCopyList[i++];) { + var tr = ut.insertRow(rowIndex++, "td"); + for (var j = 0, cj; cj = ci[j]; j++) { + var cell = tr.cells[j]; + if (!cell) { + cell = tr.insertCell(j) + } + cell.innerHTML = cj.innerHTML; + cj.getAttribute('width') && cell.setAttribute('width', cj.getAttribute('width')); + cj.getAttribute('vAlign') && cell.setAttribute('vAlign', cj.getAttribute('vAlign')); + cj.getAttribute('align') && cell.setAttribute('align', cj.getAttribute('align')); + cj.style.cssText && (cell.style.cssText = cj.style.cssText) + } + for (var j = 0, cj; cj = tr.cells[j]; j++) { + if (!ci[j]) + break; + cj.innerHTML = ci[j].innerHTML; + ci[j].getAttribute('width') && cj.setAttribute('width', ci[j].getAttribute('width')); + ci[j].getAttribute('vAlign') && cj.setAttribute('vAlign', ci[j].getAttribute('vAlign')); + ci[j].getAttribute('align') && cj.setAttribute('align', ci[j].getAttribute('align')); + ci[j].style.cssText && (cj.style.cssText = ci[j].style.cssText) + } + } + } else { + if (isFullCol) { + cellInfo = ut.getCellInfo(td); + var maxColNum = 0; + for (var j = 0, ci = tableCopyList[0], cj; cj = ci[j++];) { + maxColNum += cj.colSpan || 1; + } + me.__hasEnterExecCommand = true; + for (i = 0; i < maxColNum; i++) { + me.execCommand('insertcol'); + } + me.__hasEnterExecCommand = false; + td = ut.table.rows[0].cells[cellInfo.cellIndex]; + if (td.tagName == 'TH') { + td = ut.table.rows[1].cells[cellInfo.cellIndex]; + } + } + for (var i = 0, ci; ci = tableCopyList[i++];) { + tmpNode = td; + for (var j = 0, cj; cj = ci[j++];) { + if (td) { + td.innerHTML = cj.innerHTML; + //todo 定制处理 + cj.getAttribute('width') && td.setAttribute('width', cj.getAttribute('width')); + cj.getAttribute('vAlign') && td.setAttribute('vAlign', cj.getAttribute('vAlign')); + cj.getAttribute('align') && td.setAttribute('align', cj.getAttribute('align')); + cj.style.cssText && (td.style.cssText = cj.style.cssText); + preNode = td; + td = td.nextSibling; + } else { + var cloneTd = cj.cloneNode(true); + domUtils.removeAttributes(cloneTd, ['class', 'rowSpan', 'colSpan']); + + preNode.parentNode.appendChild(cloneTd) + } + } + td = ut.getNextCell(tmpNode, true, true); + if (!tableCopyList[i]) + break; + if (!td) { + var cellInfo = ut.getCellInfo(tmpNode); + ut.table.insertRow(ut.table.rows.length); + ut.update(); + td = ut.getVSideCell(tmpNode, true); + } + } + } + ut.update(); + } else { + table = me.document.createElement('table'); + for (var i = 0, ci; ci = tableCopyList[i++];) { + var tr = table.insertRow(table.rows.length); + for (var j = 0, cj; cj = ci[j++];) { + cloneTd = UT.cloneCell(cj,null,true); + domUtils.removeAttributes(cloneTd, ['class']); + tr.appendChild(cloneTd) + } + if (j == 2 && cloneTd.rowSpan > 1) { + cloneTd.rowSpan = 1; + } + } + + var defaultValue = getDefaultValue(me), + width = me.body.offsetWidth - + (needIEHack ? parseInt(domUtils.getComputedStyle(me.body, 'margin-left'), 10) * 2 : 0) - defaultValue.tableBorder * 2 - (me.options.offsetWidth || 0); + me.execCommand('insertHTML', '' + table.innerHTML.replace(/>\s*<').replace(/\bth\b/gi, "td") + '
      ') + } + me.fireEvent('contentchange'); + me.fireEvent('saveScene'); + html.html = ''; + return true; + } else { + var div = me.document.createElement("div"), tables; + div.innerHTML = html.html; + tables = div.getElementsByTagName("table"); + if (domUtils.findParentByTagName(me.selection.getStart(), 'table')) { + utils.each(tables, function (t) { + domUtils.remove(t) + }); + if (domUtils.findParentByTagName(me.selection.getStart(), 'caption', true)) { + div.innerHTML = div[browser.ie ? 'innerText' : 'textContent']; + } + } else { + utils.each(tables, function (table) { + removeStyleSize(table, true); + domUtils.removeAttributes(table, ['style', 'border']); + utils.each(domUtils.getElementsByTagName(table, "td"), function (td) { + if (isEmptyBlock(td)) { + domUtils.fillNode(me.document, td); + } + removeStyleSize(td, true); +// domUtils.removeAttributes(td, ['style']) + }); + }); + } + html.html = div.innerHTML; + } + }); + + me.addListener('afterpaste', function () { + utils.each(domUtils.getElementsByTagName(me.body, "table"), function (table) { + if (table.offsetWidth > me.body.offsetWidth) { + var defaultValue = getDefaultValue(me, table); + table.style.width = me.body.offsetWidth - (needIEHack ? parseInt(domUtils.getComputedStyle(me.body, 'margin-left'), 10) * 2 : 0) - defaultValue.tableBorder * 2 - (me.options.offsetWidth || 0) + 'px' + } + }) + }); + me.addListener('blur', function () { + tableCopyList = null; + }); + var timer; + me.addListener('keydown', function () { + clearTimeout(timer); + timer = setTimeout(function () { + var rng = me.selection.getRange(), + cell = domUtils.findParentByTagName(rng.startContainer, ['th', 'td'], true); + if (cell) { + var table = cell.parentNode.parentNode.parentNode; + if (table.offsetWidth > table.getAttribute("width")) { + cell.style.wordBreak = "break-all"; + } + } + + }, 100); + }); + me.addListener("selectionchange", function () { + toggleDraggableState(me, false, "", null); + }); + + + //内容变化时触发索引更新 + //todo 可否考虑标记检测,如果不涉及表格的变化就不进行索引重建和更新 + me.addListener("contentchange", function () { + var me = this; + //尽可能排除一些不需要更新的状况 + hideDragLine(me); + if (getUETableBySelected(me))return; + var rng = me.selection.getRange(); + var start = rng.startContainer; + start = domUtils.findParentByTagName(start, ['td', 'th'], true); + utils.each(domUtils.getElementsByTagName(me.document, 'table'), function (table) { + if (me.fireEvent("excludetable", table) === true) return; + table.ueTable = new UT(table); + //trace:3742 +// utils.each(domUtils.getElementsByTagName(me.document, 'td'), function (td) { +// +// if (domUtils.isEmptyBlock(td) && td !== start) { +// domUtils.fillNode(me.document, td); +// if (browser.ie && browser.version == 6) { +// td.innerHTML = ' ' +// } +// } +// }); +// utils.each(domUtils.getElementsByTagName(me.document, 'th'), function (th) { +// if (domUtils.isEmptyBlock(th) && th !== start) { +// domUtils.fillNode(me.document, th); +// if (browser.ie && browser.version == 6) { +// th.innerHTML = ' ' +// } +// } +// }); + table.onmouseover = function () { + me.fireEvent('tablemouseover', table); + }; + table.onmousemove = function () { + me.fireEvent('tablemousemove', table); + me.options.tableDragable && toggleDragButton(true, this, me); + utils.defer(function(){ + me.fireEvent('contentchange',50) + },true) + }; + table.onmouseout = function () { + me.fireEvent('tablemouseout', table); + toggleDraggableState(me, false, "", null); + hideDragLine(me); + }; + table.onclick = function (evt) { + evt = me.window.event || evt; + var target = getParentTdOrTh(evt.target || evt.srcElement); + if (!target)return; + var ut = getUETable(target), + table = ut.table, + cellInfo = ut.getCellInfo(target), + cellsRange, + rng = me.selection.getRange(); +// if ("topLeft" == inPosition(table, mouseCoords(evt))) { +// cellsRange = ut.getCellsRange(ut.table.rows[0].cells[0], ut.getLastCell()); +// ut.setSelected(cellsRange); +// return; +// } +// if ("bottomRight" == inPosition(table, mouseCoords(evt))) { +// +// return; +// } + if (inTableSide(table, target, evt, true)) { + var endTdCol = ut.getCell(ut.indexTable[ut.rowsNum - 1][cellInfo.colIndex].rowIndex, ut.indexTable[ut.rowsNum - 1][cellInfo.colIndex].cellIndex); + if (evt.shiftKey && ut.selectedTds.length) { + if (ut.selectedTds[0] !== endTdCol) { + cellsRange = ut.getCellsRange(ut.selectedTds[0], endTdCol); + ut.setSelected(cellsRange); + } else { + rng && rng.selectNodeContents(endTdCol).select(); + } + } else { + if (target !== endTdCol) { + cellsRange = ut.getCellsRange(target, endTdCol); + ut.setSelected(cellsRange); + } else { + rng && rng.selectNodeContents(endTdCol).select(); + } + } + return; + } + if (inTableSide(table, target, evt)) { + var endTdRow = ut.getCell(ut.indexTable[cellInfo.rowIndex][ut.colsNum - 1].rowIndex, ut.indexTable[cellInfo.rowIndex][ut.colsNum - 1].cellIndex); + if (evt.shiftKey && ut.selectedTds.length) { + if (ut.selectedTds[0] !== endTdRow) { + cellsRange = ut.getCellsRange(ut.selectedTds[0], endTdRow); + ut.setSelected(cellsRange); + } else { + rng && rng.selectNodeContents(endTdRow).select(); + } + } else { + if (target !== endTdRow) { + cellsRange = ut.getCellsRange(target, endTdRow); + ut.setSelected(cellsRange); + } else { + rng && rng.selectNodeContents(endTdRow).select(); + } + } + } + }; + }); + + switchBorderColor(me, true); + }); + + domUtils.on(me.document, "mousemove", mouseMoveEvent); + + domUtils.on(me.document, "mouseout", function (evt) { + var target = evt.target || evt.srcElement; + if (target.tagName == "TABLE") { + toggleDraggableState(me, false, "", null); + } + }); + /** + * 表格隔行变色 + */ + me.addListener("interlacetable",function(type,table,classList){ + if(!table) return; + var me = this, + rows = table.rows, + len = rows.length, + getClass = function(list,index,repeat){ + return list[index] ? list[index] : repeat ? list[index % list.length]: ""; + }; + for(var i = 0;i 1 ? currentRowIndex : ua.getCellInfo(cell).rowIndex; + var nextCell = ua.getTabNextCell(cell, currentRowIndex); + if (nextCell) { + if (isEmptyBlock(nextCell)) { + range.setStart(nextCell, 0).setCursor(false, true) + } else { + range.selectNodeContents(nextCell).select() + } + } else { + me.fireEvent('saveScene'); + me.__hasEnterExecCommand = true; + this.execCommand('insertrownext'); + me.__hasEnterExecCommand = false; + range = this.selection.getRange(); + range.setStart(table.rows[table.rows.length - 1].cells[0], 0).setCursor(); + me.fireEvent('saveScene'); + } + } + return true; + } + + }); + browser.ie && me.addListener('selectionchange', function () { + toggleDraggableState(this, false, "", null); + }); + me.addListener("keydown", function (type, evt) { + var me = this; + //处理在表格的最后一个输入tab产生新的表格 + var keyCode = evt.keyCode || evt.which; + if (keyCode == 8 || keyCode == 46) { + return; + } + var notCtrlKey = !evt.ctrlKey && !evt.metaKey && !evt.shiftKey && !evt.altKey; + notCtrlKey && removeSelectedClass(domUtils.getElementsByTagName(me.body, "td")); + var ut = getUETableBySelected(me); + if (!ut) return; + notCtrlKey && ut.clearSelected(); + }); + + me.addListener("beforegetcontent", function () { + switchBorderColor(this, false); + browser.ie && utils.each(this.document.getElementsByTagName('caption'), function (ci) { + if (domUtils.isEmptyNode(ci)) { + ci.innerHTML = ' ' + } + }); + }); + me.addListener("aftergetcontent", function () { + switchBorderColor(this, true); + }); + me.addListener("getAllHtml", function () { + removeSelectedClass(me.document.getElementsByTagName("td")); + }); + //修正全屏状态下插入的表格宽度在非全屏状态下撑开编辑器的情况 + me.addListener("fullscreenchanged", function (type, fullscreen) { + if (!fullscreen) { + var ratio = this.body.offsetWidth / document.body.offsetWidth, + tables = domUtils.getElementsByTagName(this.body, "table"); + utils.each(tables, function (table) { + if (table.offsetWidth < me.body.offsetWidth) return false; + var tds = domUtils.getElementsByTagName(table, "td"), + backWidths = []; + utils.each(tds, function (td) { + backWidths.push(td.offsetWidth); + }); + for (var i = 0, td; td = tds[i]; i++) { + td.setAttribute("width", Math.floor(backWidths[i] * ratio)); + } + table.setAttribute("width", Math.floor(getTableWidth(me, needIEHack, getDefaultValue(me)))) + }); + } + }); + + //重写execCommand命令,用于处理框选时的处理 + var oldExecCommand = me.execCommand; + me.execCommand = function (cmd, datatat) { + + var me = this, + args = arguments; + + cmd = cmd.toLowerCase(); + var ut = getUETableBySelected(me), tds, + range = new dom.Range(me.document), + cmdFun = me.commands[cmd] || UE.commands[cmd], + result; + if (!cmdFun) return; + if (ut && !commands[cmd] && !cmdFun.notNeedUndo && !me.__hasEnterExecCommand) { + me.__hasEnterExecCommand = true; + me.fireEvent("beforeexeccommand", cmd); + tds = ut.selectedTds; + var lastState = -2, lastValue = -2, value, state; + for (var i = 0, td; td = tds[i]; i++) { + if (isEmptyBlock(td)) { + range.setStart(td, 0).setCursor(false, true) + } else { + range.selectNode(td).select(true); + } + state = me.queryCommandState(cmd); + value = me.queryCommandValue(cmd); + if (state != -1) { + if (lastState !== state || lastValue !== value) { + me._ignoreContentChange = true; + result = oldExecCommand.apply(me, arguments); + me._ignoreContentChange = false; + + } + lastState = me.queryCommandState(cmd); + lastValue = me.queryCommandValue(cmd); + if (domUtils.isEmptyBlock(td)) { + domUtils.fillNode(me.document, td) + } + } + } + range.setStart(tds[0], 0).shrinkBoundary(true).setCursor(false, true); + me.fireEvent('contentchange'); + me.fireEvent("afterexeccommand", cmd); + me.__hasEnterExecCommand = false; + me._selectionChange(); + } else { + result = oldExecCommand.apply(me, arguments); + } + return result; + }; + + + }); + /** + * 删除obj的宽高style,改成属性宽高 + * @param obj + * @param replaceToProperty + */ + function removeStyleSize(obj, replaceToProperty) { + removeStyle(obj, "width", true); + removeStyle(obj, "height", true); + } + + function removeStyle(obj, styleName, replaceToProperty) { + if (obj.style[styleName]) { + replaceToProperty && obj.setAttribute(styleName, parseInt(obj.style[styleName], 10)); + obj.style[styleName] = ""; + } + } + + function getParentTdOrTh(ele) { + if (ele.tagName == "TD" || ele.tagName == "TH") return ele; + var td; + if (td = domUtils.findParentByTagName(ele, "td", true) || domUtils.findParentByTagName(ele, "th", true)) return td; + return null; + } + + function isEmptyBlock(node) { + var reg = new RegExp(domUtils.fillChar, 'g'); + if (node[browser.ie ? 'innerText' : 'textContent'].replace(/^\s*$/, '').replace(reg, '').length > 0) { + return 0; + } + for (var n in dtd.$isNotEmpty) { + if (node.getElementsByTagName(n).length) { + return 0; + } + } + return 1; + } + + + function mouseCoords(evt) { + if (evt.pageX || evt.pageY) { + return { x:evt.pageX, y:evt.pageY }; + } + return { + x:evt.clientX + me.document.body.scrollLeft - me.document.body.clientLeft, + y:evt.clientY + me.document.body.scrollTop - me.document.body.clientTop + }; + } + + function mouseMoveEvent(evt) { + + if( isEditorDisabled() ) { + return; + } + + try { + + //普通状态下鼠标移动 + var target = getParentTdOrTh(evt.target || evt.srcElement), + pos; + + //区分用户的行为是拖动还是双击 + if( isInResizeBuffer ) { + + me.body.style.webkitUserSelect = 'none'; + + if( Math.abs( userActionStatus.x - evt.clientX ) > offsetOfTableCell || Math.abs( userActionStatus.y - evt.clientY ) > offsetOfTableCell ) { + clearTableDragTimer(); + isInResizeBuffer = false; + singleClickState = 0; + //drag action + tableBorderDrag(evt); + } + } + + //修改单元格大小时的鼠标移动 + if (onDrag && dragTd) { + singleClickState = 0; + me.body.style.webkitUserSelect = 'none'; + me.selection.getNative()[browser.ie9below ? 'empty' : 'removeAllRanges'](); + pos = mouseCoords(evt); + toggleDraggableState(me, true, onDrag, pos, target); + if (onDrag == "h") { + dragLine.style.left = getPermissionX(dragTd, evt) + "px"; + } else if (onDrag == "v") { + dragLine.style.top = getPermissionY(dragTd, evt) + "px"; + } + return; + } + //当鼠标处于table上时,修改移动过程中的光标状态 + if (target) { + //针对使用table作为容器的组件不触发拖拽效果 + if (me.fireEvent('excludetable', target) === true) + return; + pos = mouseCoords(evt); + var state = getRelation(target, pos), + table = domUtils.findParentByTagName(target, "table", true); + + if (inTableSide(table, target, evt, true)) { + if (me.fireEvent("excludetable", table) === true) return; + me.body.style.cursor = "url(" + me.options.cursorpath + "h.png),pointer"; + } else if (inTableSide(table, target, evt)) { + if (me.fireEvent("excludetable", table) === true) return; + me.body.style.cursor = "url(" + me.options.cursorpath + "v.png),pointer"; + } else { + me.body.style.cursor = "text"; + var curCell = target; + if (/\d/.test(state)) { + state = state.replace(/\d/, ''); + target = getUETable(target).getPreviewCell(target, state == "v"); + } + //位于第一行的顶部或者第一列的左边时不可拖动 + toggleDraggableState(me, target ? !!state : false, target ? state : '', pos, target); + + } + } else { + toggleDragButton(false, table, me); + } + + } catch (e) { + showError(e); + } + } + + var dragButtonTimer; + + function toggleDragButton(show, table, editor) { + if (!show) { + if (dragOver)return; + dragButtonTimer = setTimeout(function () { + !dragOver && dragButton && dragButton.parentNode && dragButton.parentNode.removeChild(dragButton); + }, 2000); + } else { + createDragButton(table, editor); + } + } + + function createDragButton(table, editor) { + var pos = domUtils.getXY(table), + doc = table.ownerDocument; + if (dragButton && dragButton.parentNode)return dragButton; + dragButton = doc.createElement("div"); + dragButton.contentEditable = false; + dragButton.innerHTML = ""; + dragButton.style.cssText = "width:15px;height:15px;background-image:url(" + editor.options.UEDITOR_HOME_URL + "dialogs/table/dragicon.png);position: absolute;cursor:move;top:" + (pos.y - 15) + "px;left:" + (pos.x) + "px;"; + domUtils.unSelectable(dragButton); + dragButton.onmouseover = function (evt) { + dragOver = true; + }; + dragButton.onmouseout = function (evt) { + dragOver = false; + }; + domUtils.on(dragButton, 'click', function (type, evt) { + doClick(evt, this); + }); + domUtils.on(dragButton, 'dblclick', function (type, evt) { + doDblClick(evt); + }); + domUtils.on(dragButton, 'dragstart', function (type, evt) { + domUtils.preventDefault(evt); + }); + var timer; + + function doClick(evt, button) { + // 部分浏览器下需要清理 + clearTimeout(timer); + timer = setTimeout(function () { + editor.fireEvent("tableClicked", table, button); + }, 300); + } + + function doDblClick(evt) { + clearTimeout(timer); + var ut = getUETable(table), + start = table.rows[0].cells[0], + end = ut.getLastCell(), + range = ut.getCellsRange(start, end); + editor.selection.getRange().setStart(start, 0).setCursor(false, true); + ut.setSelected(range); + } + + doc.body.appendChild(dragButton); + } + + +// function inPosition(table, pos) { +// var tablePos = domUtils.getXY(table), +// width = table.offsetWidth, +// height = table.offsetHeight; +// if (pos.x - tablePos.x < 5 && pos.y - tablePos.y < 5) { +// return "topLeft"; +// } else if (tablePos.x + width - pos.x < 5 && tablePos.y + height - pos.y < 5) { +// return "bottomRight"; +// } +// } + + function inTableSide(table, cell, evt, top) { + var pos = mouseCoords(evt), + state = getRelation(cell, pos); + + if (top) { + var caption = table.getElementsByTagName("caption")[0], + capHeight = caption ? caption.offsetHeight : 0; + return (state == "v1") && ((pos.y - domUtils.getXY(table).y - capHeight) < 8); + } else { + return (state == "h1") && ((pos.x - domUtils.getXY(table).x) < 8); + } + } + + /** + * 获取拖动时允许的X轴坐标 + * @param dragTd + * @param evt + */ + function getPermissionX(dragTd, evt) { + var ut = getUETable(dragTd); + if (ut) { + var preTd = ut.getSameEndPosCells(dragTd, "x")[0], + nextTd = ut.getSameStartPosXCells(dragTd)[0], + mouseX = mouseCoords(evt).x, + left = (preTd ? domUtils.getXY(preTd).x : domUtils.getXY(ut.table).x) + 20 , + right = nextTd ? domUtils.getXY(nextTd).x + nextTd.offsetWidth - 20 : (me.body.offsetWidth + 5 || parseInt(domUtils.getComputedStyle(me.body, "width"), 10)); + + left += cellMinWidth; + right -= cellMinWidth; + + return mouseX < left ? left : mouseX > right ? right : mouseX; + } + } + + /** + * 获取拖动时允许的Y轴坐标 + */ + function getPermissionY(dragTd, evt) { + try { + var top = domUtils.getXY(dragTd).y, + mousePosY = mouseCoords(evt).y; + return mousePosY < top ? top : mousePosY; + } catch (e) { + showError(e); + } + } + + /** + * 移动状态切换 + */ + function toggleDraggableState(editor, draggable, dir, mousePos, cell) { + try { + editor.body.style.cursor = dir == "h" ? "col-resize" : dir == "v" ? "row-resize" : "text"; + if (browser.ie) { + if (dir && !mousedown && !getUETableBySelected(editor)) { + getDragLine(editor, editor.document); + showDragLineAt(dir, cell); + } else { + hideDragLine(editor) + } + } + onBorder = draggable; + } catch (e) { + showError(e); + } + } + + /** + * 获取与UETable相关的resize line + * @param uetable UETable对象 + */ + function getResizeLineByUETable() { + + var lineId = '_UETableResizeLine', + line = this.document.getElementById( lineId ); + + if( !line ) { + line = this.document.createElement("div"); + line.id = lineId; + line.contnetEditable = false; + line.setAttribute("unselectable", "on"); + + var styles = { + width: 2*cellBorderWidth + 1 + 'px', + position: 'absolute', + 'z-index': 100000, + cursor: 'col-resize', + background: 'red', + display: 'none' + }; + + //切换状态 + line.onmouseout = function(){ + this.style.display = 'none'; + }; + + utils.extend( line.style, styles ); + + this.document.body.appendChild( line ); + + } + + return line; + + } + + /** + * 更新resize-line + */ + function updateResizeLine( cell, uetable ) { + + var line = getResizeLineByUETable.call( this ), + table = uetable.table, + styles = { + top: domUtils.getXY( table ).y + 'px', + left: domUtils.getXY( cell).x + cell.offsetWidth - cellBorderWidth + 'px', + display: 'block', + height: table.offsetHeight + 'px' + }; + + utils.extend( line.style, styles ); + + } + + /** + * 显示resize-line + */ + function showResizeLine( cell ) { + + var uetable = getUETable( cell ); + + updateResizeLine.call( this, cell, uetable ); + + } + + /** + * 获取鼠标与当前单元格的相对位置 + * @param ele + * @param mousePos + */ + function getRelation(ele, mousePos) { + var elePos = domUtils.getXY(ele); + + if( !elePos ) { + return ''; + } + + if (elePos.x + ele.offsetWidth - mousePos.x < cellBorderWidth) { + return "h"; + } + if (mousePos.x - elePos.x < cellBorderWidth) { + return 'h1' + } + if (elePos.y + ele.offsetHeight - mousePos.y < cellBorderWidth) { + return "v"; + } + if (mousePos.y - elePos.y < cellBorderWidth) { + return 'v1' + } + return ''; + } + + function mouseDownEvent(type, evt) { + + if( isEditorDisabled() ) { + return ; + } + + userActionStatus = { + x: evt.clientX, + y: evt.clientY + }; + + //右键菜单单独处理 + if (evt.button == 2) { + var ut = getUETableBySelected(me), + flag = false; + + if (ut) { + var td = getTargetTd(me, evt); + utils.each(ut.selectedTds, function (ti) { + if (ti === td) { + flag = true; + } + }); + if (!flag) { + removeSelectedClass(domUtils.getElementsByTagName(me.body, "th td")); + ut.clearSelected() + } else { + td = ut.selectedTds[0]; + setTimeout(function () { + me.selection.getRange().setStart(td, 0).setCursor(false, true); + }, 0); + + } + } + } else { + tableClickHander( evt ); + } + + } + + //清除表格的计时器 + function clearTableTimer() { + tabTimer && clearTimeout( tabTimer ); + tabTimer = null; + } + + //双击收缩 + function tableDbclickHandler(evt) { + singleClickState = 0; + evt = evt || me.window.event; + var target = getParentTdOrTh(evt.target || evt.srcElement); + if (target) { + var h; + if (h = getRelation(target, mouseCoords(evt))) { + + hideDragLine( me ); + + if (h == 'h1') { + h = 'h'; + if (inTableSide(domUtils.findParentByTagName(target, "table"), target, evt)) { + me.execCommand('adaptbywindow'); + } else { + target = getUETable(target).getPreviewCell(target); + if (target) { + var rng = me.selection.getRange(); + rng.selectNodeContents(target).setCursor(true, true) + } + } + } + if (h == 'h') { + var ut = getUETable(target), + table = ut.table, + cells = getCellsByMoveBorder( target, table, true ); + + cells = extractArray( cells, 'left' ); + + ut.width = ut.offsetWidth; + + var oldWidth = [], + newWidth = []; + + utils.each( cells, function( cell ){ + + oldWidth.push( cell.offsetWidth ); + + } ); + + utils.each( cells, function( cell ){ + + cell.removeAttribute("width"); + + } ); + + window.setTimeout( function(){ + + //是否允许改变 + var changeable = true; + + utils.each( cells, function( cell, index ){ + + var width = cell.offsetWidth; + + if( width > oldWidth[index] ) { + changeable = false; + return false; + } + + newWidth.push( width ); + + } ); + + var change = changeable ? newWidth : oldWidth; + + utils.each( cells, function( cell, index ){ + + cell.width = change[index] - getTabcellSpace(); + + } ); + + + }, 0 ); + +// minWidth -= cellMinWidth; +// +// table.removeAttribute("width"); +// utils.each(cells, function (cell) { +// cell.style.width = ""; +// cell.width -= minWidth; +// }); + + } + } + } + } + + function tableClickHander( evt ) { + + removeSelectedClass(domUtils.getElementsByTagName(me.body, "td th")); + //trace:3113 + //选中单元格,点击table外部,不会清掉table上挂的ueTable,会引起getUETableBySelected方法返回值 + utils.each(me.document.getElementsByTagName('table'), function (t) { + t.ueTable = null; + }); + startTd = getTargetTd(me, evt); + if( !startTd ) return; + var table = domUtils.findParentByTagName(startTd, "table", true); + ut = getUETable(table); + ut && ut.clearSelected(); + + //判断当前鼠标状态 + if (!onBorder) { + me.document.body.style.webkitUserSelect = ''; + mousedown = true; + me.addListener('mouseover', mouseOverEvent); + } else { + //边框上的动作处理 + borderActionHandler( evt ); + } + + + } + + //处理表格边框上的动作, 这里做延时处理,避免两种动作互相影响 + function borderActionHandler( evt ) { + + if ( browser.ie ) { + evt = reconstruct(evt ); + } + + clearTableDragTimer(); + + //是否正在等待resize的缓冲中 + isInResizeBuffer = true; + + tableDragTimer = setTimeout(function(){ + tableBorderDrag( evt ); + }, dblclickTime); + + } + + function extractArray( originArr, key ) { + + var result = [], + tmp = null; + + for( var i = 0, len = originArr.length; i 0 && singleClickState--; + }, dblclickTime ); + + if( singleClickState === 2 ) { + + singleClickState = 0; + tableDbclickHandler(evt); + return; + + } + + } + + if (evt.button == 2)return; + var me = this; + //清除表格上原生跨选问题 + var range = me.selection.getRange(), + start = domUtils.findParentByTagName(range.startContainer, 'table', true), + end = domUtils.findParentByTagName(range.endContainer, 'table', true); + + if (start || end) { + if (start === end) { + start = domUtils.findParentByTagName(range.startContainer, ['td', 'th', 'caption'], true); + end = domUtils.findParentByTagName(range.endContainer, ['td', 'th', 'caption'], true); + if (start !== end) { + me.selection.clearRange() + } + } else { + me.selection.clearRange() + } + } + mousedown = false; + me.document.body.style.webkitUserSelect = ''; + //拖拽状态下的mouseUP + if ( onDrag && dragTd ) { + + me.selection.getNative()[browser.ie9below ? 'empty' : 'removeAllRanges'](); + + singleClickState = 0; + dragLine = me.document.getElementById('ue_tableDragLine'); + + // trace 3973 + if (dragLine) { + var dragTdPos = domUtils.getXY(dragTd), + dragLinePos = domUtils.getXY(dragLine); + + switch (onDrag) { + case "h": + changeColWidth(dragTd, dragLinePos.x - dragTdPos.x); + break; + case "v": + changeRowHeight(dragTd, dragLinePos.y - dragTdPos.y - dragTd.offsetHeight); + break; + default: + } + onDrag = ""; + dragTd = null; + + hideDragLine(me); + me.fireEvent('saveScene'); + return; + } + } + //正常状态下的mouseup + if (!startTd) { + var target = domUtils.findParentByTagName(evt.target || evt.srcElement, "td", true); + if (!target) target = domUtils.findParentByTagName(evt.target || evt.srcElement, "th", true); + if (target && (target.tagName == "TD" || target.tagName == "TH")) { + if (me.fireEvent("excludetable", target) === true) return; + range = new dom.Range(me.document); + range.setStart(target, 0).setCursor(false, true); + } + } else { + var ut = getUETable(startTd), + cell = ut ? ut.selectedTds[0] : null; + if (cell) { + range = new dom.Range(me.document); + if (domUtils.isEmptyBlock(cell)) { + range.setStart(cell, 0).setCursor(false, true); + } else { + range.selectNodeContents(cell).shrinkBoundary().setCursor(false, true); + } + } else { + range = me.selection.getRange().shrinkBoundary(); + if (!range.collapsed) { + var start = domUtils.findParentByTagName(range.startContainer, ['td', 'th'], true), + end = domUtils.findParentByTagName(range.endContainer, ['td', 'th'], true); + //在table里边的不能清除 + if (start && !end || !start && end || start && end && start !== end) { + range.setCursor(false, true); + } + } + } + startTd = null; + me.removeListener('mouseover', mouseOverEvent); + } + me._selectionChange(250, evt); + } + + function mouseOverEvent(type, evt) { + + if( isEditorDisabled() ) { + return; + } + + var me = this, + tar = evt.target || evt.srcElement; + currentTd = domUtils.findParentByTagName(tar, "td", true) || domUtils.findParentByTagName(tar, "th", true); + //需要判断两个TD是否位于同一个表格内 + if (startTd && currentTd && + ((startTd.tagName == "TD" && currentTd.tagName == "TD") || (startTd.tagName == "TH" && currentTd.tagName == "TH")) && + domUtils.findParentByTagName(startTd, 'table') == domUtils.findParentByTagName(currentTd, 'table')) { + var ut = getUETable(currentTd); + if (startTd != currentTd) { + me.document.body.style.webkitUserSelect = 'none'; + me.selection.getNative()[browser.ie9below ? 'empty' : 'removeAllRanges'](); + var range = ut.getCellsRange(startTd, currentTd); + ut.setSelected(range); + } else { + me.document.body.style.webkitUserSelect = ''; + ut.clearSelected(); + } + + } + evt.preventDefault ? evt.preventDefault() : (evt.returnValue = false); + } + + function setCellHeight(cell, height, backHeight) { + var lineHight = parseInt(domUtils.getComputedStyle(cell, "line-height"), 10), + tmpHeight = backHeight + height; + height = tmpHeight < lineHight ? lineHight : tmpHeight; + if (cell.style.height) cell.style.height = ""; + cell.rowSpan == 1 ? cell.setAttribute("height", height) : (cell.removeAttribute && cell.removeAttribute("height")); + } + + function getWidth(cell) { + if (!cell)return 0; + return parseInt(domUtils.getComputedStyle(cell, "width"), 10); + } + + function changeColWidth(cell, changeValue) { + + var ut = getUETable(cell); + if (ut) { + + //根据当前移动的边框获取相关的单元格 + var table = ut.table, + cells = getCellsByMoveBorder( cell, table ); + + table.style.width = ""; + table.removeAttribute("width"); + + //修正改变量 + changeValue = correctChangeValue( changeValue, cell, cells ); + + if (cell.nextSibling) { + + var i=0; + + utils.each( cells, function( cellGroup ){ + + cellGroup.left.width = (+cellGroup.left.width)+changeValue; + cellGroup.right && ( cellGroup.right.width = (+cellGroup.right.width)-changeValue ); + + } ); + + } else { + + utils.each( cells, function( cellGroup ){ + cellGroup.left.width -= -changeValue; + } ); + + } + } + + } + + function isEditorDisabled() { + return me.body.contentEditable === "false"; + } + + function changeRowHeight(td, changeValue) { + if (Math.abs(changeValue) < 10) return; + var ut = getUETable(td); + if (ut) { + var cells = ut.getSameEndPosCells(td, "y"), + //备份需要连带变化的td的原始高度,否则后期无法获取正确的值 + backHeight = cells[0] ? cells[0].offsetHeight : 0; + for (var i = 0, cell; cell = cells[i++];) { + setCellHeight(cell, changeValue, backHeight); + } + } + + } + + /** + * 获取调整单元格大小的相关单元格 + * @isContainMergeCell 返回的结果中是否包含发生合并后的单元格 + */ + function getCellsByMoveBorder( cell, table, isContainMergeCell ) { + + if( !table ) { + table = domUtils.findParentByTagName( cell, 'table' ); + } + + if( !table ) { + return null; + } + + //获取到该单元格所在行的序列号 + var index = domUtils.getNodeIndex( cell ), + temp = cell, + rows = table.rows, + colIndex = 0; + + while( temp ) { + //获取到当前单元格在未发生单元格合并时的序列 + if( temp.nodeType === 1 ) { + colIndex += (temp.colSpan || 1); + } + temp = temp.previousSibling; + } + + temp = null; + + //记录想关的单元格 + var borderCells = []; + + utils.each(rows, function( tabRow ){ + + var cells = tabRow.cells, + currIndex = 0; + + utils.each( cells, function( tabCell ){ + + currIndex += (tabCell.colSpan || 1); + + if( currIndex === colIndex ) { + + borderCells.push({ + left: tabCell, + right: tabCell.nextSibling || null + }); + + return false; + + } else if( currIndex > colIndex ) { + + if( isContainMergeCell ) { + borderCells.push({ + left: tabCell + }); + } + + return false; + } + + + } ); + + }); + + return borderCells; + + } + + + /** + * 通过给定的单元格集合获取最小的单元格width + */ + function getMinWidthByTableCells( cells ) { + + var minWidth = Number.MAX_VALUE; + + for( var i = 0, curCell; curCell = cells[ i ] ; i++ ) { + + minWidth = Math.min( minWidth, curCell.width || getTableCellWidth( curCell ) ); + + } + + return minWidth; + + } + + function correctChangeValue( changeValue, relatedCell, cells ) { + + //为单元格的paading预留空间 + changeValue -= getTabcellSpace(); + + if( changeValue < 0 ) { + return 0; + } + + changeValue -= getTableCellWidth( relatedCell ); + + //确定方向 + var direction = changeValue < 0 ? 'left':'right'; + + changeValue = Math.abs(changeValue); + + //只关心非最后一个单元格就可以 + utils.each( cells, function( cellGroup ){ + + var curCell = cellGroup[direction]; + + //为单元格保留最小空间 + if( curCell ) { + changeValue = Math.min( changeValue, getTableCellWidth( curCell )-cellMinWidth ); + } + + + } ); + + + //修正越界 + changeValue = changeValue < 0 ? 0 : changeValue; + + return direction === 'left' ? -changeValue : changeValue; + + } + + function getTableCellWidth( cell ) { + + var width = 0, + //偏移纠正量 + offset = 0, + width = cell.offsetWidth - getTabcellSpace(); + + //最后一个节点纠正一下 + if( !cell.nextSibling ) { + + width -= getTableCellOffset( cell ); + + } + + width = width < 0 ? 0 : width; + + try { + cell.width = width; + } catch(e) { + } + + return width; + + } + + /** + * 获取单元格所在表格的最末单元格的偏移量 + */ + function getTableCellOffset( cell ) { + + tab = domUtils.findParentByTagName( cell, "table", false); + + if( tab.offsetVal === undefined ) { + + var prev = cell.previousSibling; + + if( prev ) { + + //最后一个单元格和前一个单元格的width diff结果 如果恰好为一个border width, 则条件成立 + tab.offsetVal = cell.offsetWidth - prev.offsetWidth === UT.borderWidth ? UT.borderWidth : 0; + + } else { + tab.offsetVal = 0; + } + + } + + return tab.offsetVal; + + } + + function getTabcellSpace() { + + if( UT.tabcellSpace === undefined ) { + + var cell = null, + tab = me.document.createElement("table"), + tbody = me.document.createElement("tbody"), + trow = me.document.createElement("tr"), + tabcell = me.document.createElement("td"), + mirror = null; + + tabcell.style.cssText = 'border: 0;'; + tabcell.width = 1; + + trow.appendChild( tabcell ); + trow.appendChild( mirror = tabcell.cloneNode( false ) ); + + tbody.appendChild( trow ); + + tab.appendChild( tbody ); + + tab.style.cssText = "visibility: hidden;"; + + me.body.appendChild( tab ); + + UT.paddingSpace = tabcell.offsetWidth - 1; + + var tmpTabWidth = tab.offsetWidth; + + tabcell.style.cssText = ''; + mirror.style.cssText = ''; + + UT.borderWidth = ( tab.offsetWidth - tmpTabWidth ) / 3; + + UT.tabcellSpace = UT.paddingSpace + UT.borderWidth; + + me.body.removeChild( tab ); + + } + + getTabcellSpace = function(){ return UT.tabcellSpace; }; + + return UT.tabcellSpace; + + } + + function getDragLine(editor, doc) { + if (mousedown)return; + dragLine = editor.document.createElement("div"); + domUtils.setAttributes(dragLine, { + id:"ue_tableDragLine", + unselectable:'on', + contenteditable:false, + 'onresizestart':'return false', + 'ondragstart':'return false', + 'onselectstart':'return false', + style:"background-color:blue;position:absolute;padding:0;margin:0;background-image:none;border:0px none;opacity:0;filter:alpha(opacity=0)" + }); + editor.body.appendChild(dragLine); + } + + function hideDragLine(editor) { + if (mousedown)return; + var line; + while (line = editor.document.getElementById('ue_tableDragLine')) { + domUtils.remove(line) + } + } + + /** + * 依据state(v|h)在cell位置显示横线 + * @param state + * @param cell + */ + function showDragLineAt(state, cell) { + if (!cell) return; + var table = domUtils.findParentByTagName(cell, "table"), + caption = table.getElementsByTagName('caption'), + width = table.offsetWidth, + height = table.offsetHeight - (caption.length > 0 ? caption[0].offsetHeight : 0), + tablePos = domUtils.getXY(table), + cellPos = domUtils.getXY(cell), css; + switch (state) { + case "h": + css = 'height:' + height + 'px;top:' + (tablePos.y + (caption.length > 0 ? caption[0].offsetHeight : 0)) + 'px;left:' + (cellPos.x + cell.offsetWidth); + dragLine.style.cssText = css + 'px;position: absolute;display:block;background-color:blue;width:1px;border:0; color:blue;opacity:.3;filter:alpha(opacity=30)'; + break; + case "v": + css = 'width:' + width + 'px;left:' + tablePos.x + 'px;top:' + (cellPos.y + cell.offsetHeight ); + //必须加上border:0和color:blue,否则低版ie不支持背景色显示 + dragLine.style.cssText = css + 'px;overflow:hidden;position: absolute;display:block;background-color:blue;height:1px;border:0;color:blue;opacity:.2;filter:alpha(opacity=20)'; + break; + default: + } + } + + /** + * 当表格边框颜色为白色时设置为虚线,true为添加虚线 + * @param editor + * @param flag + */ + function switchBorderColor(editor, flag) { + var tableArr = domUtils.getElementsByTagName(editor.body, "table"), color; + for (var i = 0, node; node = tableArr[i++];) { + var td = domUtils.getElementsByTagName(node, "td"); + if (td[0]) { + if (flag) { + color = (td[0].style.borderColor).replace(/\s/g, ""); + if (/(#ffffff)|(rgb\(255,255,255\))/ig.test(color)) + domUtils.addClass(node, "noBorderTable") + } else { + domUtils.removeClasses(node, "noBorderTable") + } + } + + } + } + + function getTableWidth(editor, needIEHack, defaultValue) { + var body = editor.body; + return body.offsetWidth - (needIEHack ? parseInt(domUtils.getComputedStyle(body, 'margin-left'), 10) * 2 : 0) - defaultValue.tableBorder * 2 - (editor.options.offsetWidth || 0); + } + + /** + * 获取当前拖动的单元格 + */ + function getTargetTd(editor, evt) { + + var target = domUtils.findParentByTagName(evt.target || evt.srcElement, ["td", "th"], true), + dir = null; + + if( !target ) { + return null; + } + + dir = getRelation( target, mouseCoords( evt ) ); + + //如果有前一个节点, 需要做一个修正, 否则可能会得到一个错误的td + + if( !target ) { + return null; + } + + if( dir === 'h1' && target.previousSibling ) { + + var position = domUtils.getXY( target), + cellWidth = target.offsetWidth; + + if( Math.abs( position.x + cellWidth - evt.clientX ) > cellWidth / 3 ) { + target = target.previousSibling; + } + + } else if( dir === 'v1' && target.parentNode.previousSibling ) { + + var position = domUtils.getXY( target), + cellHeight = target.offsetHeight; + + if( Math.abs( position.y + cellHeight - evt.clientY ) > cellHeight / 3 ) { + target = target.parentNode.previousSibling.firstChild; + } + + } + + + //排除了非td内部以及用于代码高亮部分的td + return target && !(editor.fireEvent("excludetable", target) === true) ? target : null; + } + +}; + + +// plugins/table.sort.js +/** + * Created with JetBrains PhpStorm. + * User: Jinqn + * Date: 13-10-12 + * Time: 上午10:20 + * To change this template use File | Settings | File Templates. + */ + +UE.UETable.prototype.sortTable = function (sortByCellIndex, compareFn) { + var table = this.table, + rows = table.rows, + trArray = [], + flag = rows[0].cells[0].tagName === "TH", + lastRowIndex = 0; + if(this.selectedTds.length){ + var range = this.cellsRange, + len = range.endRowIndex + 1; + for (var i = range.beginRowIndex; i < len; i++) { + trArray[i] = rows[i]; + } + trArray.splice(0,range.beginRowIndex); + lastRowIndex = (range.endRowIndex +1) === this.rowsNum ? 0 : range.endRowIndex +1; + }else{ + for (var i = 0,len = rows.length; i < len; i++) { + trArray[i] = rows[i]; + } + } + + var Fn = { + 'reversecurrent': function(td1,td2){ + return 1; + }, + 'orderbyasc': function(td1,td2){ + var value1 = td1.innerText||td1.textContent, + value2 = td2.innerText||td2.textContent; + return value1.localeCompare(value2); + }, + 'reversebyasc': function(td1,td2){ + var value1 = td1.innerHTML, + value2 = td2.innerHTML; + return value2.localeCompare(value1); + }, + 'orderbynum': function(td1,td2){ + var value1 = td1[browser.ie ? 'innerText':'textContent'].match(/\d+/), + value2 = td2[browser.ie ? 'innerText':'textContent'].match(/\d+/); + if(value1) value1 = +value1[0]; + if(value2) value2 = +value2[0]; + return (value1||0) - (value2||0); + }, + 'reversebynum': function(td1,td2){ + var value1 = td1[browser.ie ? 'innerText':'textContent'].match(/\d+/), + value2 = td2[browser.ie ? 'innerText':'textContent'].match(/\d+/); + if(value1) value1 = +value1[0]; + if(value2) value2 = +value2[0]; + return (value2||0) - (value1||0); + } + }; + + //对表格设置排序的标记data-sort-type + table.setAttribute('data-sort-type', compareFn && typeof compareFn === "string" && Fn[compareFn] ? compareFn:''); + + //th不参与排序 + flag && trArray.splice(0, 1); + trArray = utils.sort(trArray,function (tr1, tr2) { + var result; + if (compareFn && typeof compareFn === "function") { + result = compareFn.call(this, tr1.cells[sortByCellIndex], tr2.cells[sortByCellIndex]); + } else if (compareFn && typeof compareFn === "number") { + result = 1; + } else if (compareFn && typeof compareFn === "string" && Fn[compareFn]) { + result = Fn[compareFn].call(this, tr1.cells[sortByCellIndex], tr2.cells[sortByCellIndex]); + } else { + result = Fn['orderbyasc'].call(this, tr1.cells[sortByCellIndex], tr2.cells[sortByCellIndex]); + } + return result; + }); + var fragment = table.ownerDocument.createDocumentFragment(); + for (var j = 0, len = trArray.length; j < len; j++) { + fragment.appendChild(trArray[j]); + } + var tbody = table.getElementsByTagName("tbody")[0]; + if(!lastRowIndex){ + tbody.appendChild(fragment); + }else{ + tbody.insertBefore(fragment,rows[lastRowIndex- range.endRowIndex + range.beginRowIndex - 1]) + } +}; + +UE.plugins['tablesort'] = function () { + var me = this, + UT = UE.UETable, + getUETable = function (tdOrTable) { + return UT.getUETable(tdOrTable); + }, + getTableItemsByRange = function (editor) { + return UT.getTableItemsByRange(editor); + }; + + + me.ready(function () { + //添加表格可排序的样式 + utils.cssRule('tablesort', + 'table.sortEnabled tr.firstRow th,table.sortEnabled tr.firstRow td{padding-right:20px;background-repeat: no-repeat;background-position: center right;' + + ' background-image:url(' + me.options.themePath + me.options.theme + '/images/sortable.png);}', + me.document); + + //做单元格合并操作时,清除可排序标识 + me.addListener("afterexeccommand", function (type, cmd) { + if( cmd == 'mergeright' || cmd == 'mergedown' || cmd == 'mergecells') { + this.execCommand('disablesort'); + } + }); + }); + + + + //表格排序 + UE.commands['sorttable'] = { + queryCommandState: function () { + var me = this, + tableItems = getTableItemsByRange(me); + if (!tableItems.cell) return -1; + var table = tableItems.table, + cells = table.getElementsByTagName("td"); + for (var i = 0, cell; cell = cells[i++];) { + if (cell.rowSpan != 1 || cell.colSpan != 1) return -1; + } + return 0; + }, + execCommand: function (cmd, fn) { + var me = this, + range = me.selection.getRange(), + bk = range.createBookmark(true), + tableItems = getTableItemsByRange(me), + cell = tableItems.cell, + ut = getUETable(tableItems.table), + cellInfo = ut.getCellInfo(cell); + ut.sortTable(cellInfo.cellIndex, fn); + range.moveToBookmark(bk); + try{ + range.select(); + }catch(e){} + } + }; + + //设置表格可排序,清除表格可排序 + UE.commands["enablesort"] = UE.commands["disablesort"] = { + queryCommandState: function (cmd) { + var table = getTableItemsByRange(this).table; + if(table && cmd=='enablesort') { + var cells = domUtils.getElementsByTagName(table, 'th td'); + for(var i = 0; i1 || cells[i].getAttribute('rowspan')>1) return -1; + } + } + + return !table ? -1: cmd=='enablesort' ^ table.getAttribute('data-sort')!='sortEnabled' ? -1:0; + }, + execCommand: function (cmd) { + var table = getTableItemsByRange(this).table; + table.setAttribute("data-sort", cmd == "enablesort" ? "sortEnabled" : "sortDisabled"); + cmd == "enablesort" ? domUtils.addClass(table,"sortEnabled"):domUtils.removeClasses(table,"sortEnabled"); + } + }; +}; + + +// plugins/contextmenu.js +///import core +///commands 右键菜单 +///commandsName ContextMenu +///commandsTitle 右键菜单 +/** + * 右键菜单 + * @function + * @name baidu.editor.plugins.contextmenu + * @author zhanyi + */ + +UE.plugins['contextmenu'] = function () { + var me = this; + me.setOpt('enableContextMenu',true); + if(me.getOpt('enableContextMenu') === false){ + return; + } + var lang = me.getLang( "contextMenu" ), + menu, + items = me.options.contextMenu || [ + {label:lang['selectall'], cmdName:'selectall'}, + { + label:lang.cleardoc, + cmdName:'cleardoc', + exec:function () { + if ( confirm( lang.confirmclear ) ) { + this.execCommand( 'cleardoc' ); + } + } + }, + '-', + { + label:lang.unlink, + cmdName:'unlink' + }, + '-', + { + group:lang.paragraph, + icon:'justifyjustify', + subMenu:[ + { + label:lang.justifyleft, + cmdName:'justify', + value:'left' + }, + { + label:lang.justifyright, + cmdName:'justify', + value:'right' + }, + { + label:lang.justifycenter, + cmdName:'justify', + value:'center' + }, + { + label:lang.justifyjustify, + cmdName:'justify', + value:'justify' + } + ] + }, + '-', + { + group:lang.table, + icon:'table', + subMenu:[ + { + label:lang.inserttable, + cmdName:'inserttable' + }, + { + label:lang.deletetable, + cmdName:'deletetable' + }, + '-', + { + label:lang.deleterow, + cmdName:'deleterow' + }, + { + label:lang.deletecol, + cmdName:'deletecol' + }, + { + label:lang.insertcol, + cmdName:'insertcol' + }, + { + label:lang.insertcolnext, + cmdName:'insertcolnext' + }, + { + label:lang.insertrow, + cmdName:'insertrow' + }, + { + label:lang.insertrownext, + cmdName:'insertrownext' + }, + '-', + { + label:lang.insertcaption, + cmdName:'insertcaption' + }, + { + label:lang.deletecaption, + cmdName:'deletecaption' + }, + { + label:lang.inserttitle, + cmdName:'inserttitle' + }, + { + label:lang.deletetitle, + cmdName:'deletetitle' + }, + { + label:lang.inserttitlecol, + cmdName:'inserttitlecol' + }, + { + label:lang.deletetitlecol, + cmdName:'deletetitlecol' + }, + '-', + { + label:lang.mergecells, + cmdName:'mergecells' + }, + { + label:lang.mergeright, + cmdName:'mergeright' + }, + { + label:lang.mergedown, + cmdName:'mergedown' + }, + '-', + { + label:lang.splittorows, + cmdName:'splittorows' + }, + { + label:lang.splittocols, + cmdName:'splittocols' + }, + { + label:lang.splittocells, + cmdName:'splittocells' + }, + '-', + { + label:lang.averageDiseRow, + cmdName:'averagedistributerow' + }, + { + label:lang.averageDisCol, + cmdName:'averagedistributecol' + }, + '-', + { + label:lang.edittd, + cmdName:'edittd', + exec:function () { + if ( UE.ui['edittd'] ) { + new UE.ui['edittd']( this ); + } + this.getDialog('edittd').open(); + } + }, + { + label:lang.edittable, + cmdName:'edittable', + exec:function () { + if ( UE.ui['edittable'] ) { + new UE.ui['edittable']( this ); + } + this.getDialog('edittable').open(); + } + }, + { + label:lang.setbordervisible, + cmdName:'setbordervisible' + } + ] + }, + { + group:lang.tablesort, + icon:'tablesort', + subMenu:[ + { + label:lang.enablesort, + cmdName:'enablesort' + }, + { + label:lang.disablesort, + cmdName:'disablesort' + }, + '-', + { + label:lang.reversecurrent, + cmdName:'sorttable', + value:'reversecurrent' + }, + { + label:lang.orderbyasc, + cmdName:'sorttable', + value:'orderbyasc' + }, + { + label:lang.reversebyasc, + cmdName:'sorttable', + value:'reversebyasc' + }, + { + label:lang.orderbynum, + cmdName:'sorttable', + value:'orderbynum' + }, + { + label:lang.reversebynum, + cmdName:'sorttable', + value:'reversebynum' + } + ] + }, + { + group:lang.borderbk, + icon:'borderBack', + subMenu:[ + { + label:lang.setcolor, + cmdName:"interlacetable", + exec:function(){ + this.execCommand("interlacetable"); + } + }, + { + label:lang.unsetcolor, + cmdName:"uninterlacetable", + exec:function(){ + this.execCommand("uninterlacetable"); + } + }, + { + label:lang.setbackground, + cmdName:"settablebackground", + exec:function(){ + this.execCommand("settablebackground",{repeat:true,colorList:["#bbb","#ccc"]}); + } + }, + { + label:lang.unsetbackground, + cmdName:"cleartablebackground", + exec:function(){ + this.execCommand("cleartablebackground"); + } + }, + { + label:lang.redandblue, + cmdName:"settablebackground", + exec:function(){ + this.execCommand("settablebackground",{repeat:true,colorList:["red","blue"]}); + } + }, + { + label:lang.threecolorgradient, + cmdName:"settablebackground", + exec:function(){ + this.execCommand("settablebackground",{repeat:true,colorList:["#aaa","#bbb","#ccc"]}); + } + } + ] + }, + { + group:lang.aligntd, + icon:'aligntd', + subMenu:[ + { + cmdName:'cellalignment', + value:{align:'left',vAlign:'top'} + }, + { + cmdName:'cellalignment', + value:{align:'center',vAlign:'top'} + }, + { + cmdName:'cellalignment', + value:{align:'right',vAlign:'top'} + }, + { + cmdName:'cellalignment', + value:{align:'left',vAlign:'middle'} + }, + { + cmdName:'cellalignment', + value:{align:'center',vAlign:'middle'} + }, + { + cmdName:'cellalignment', + value:{align:'right',vAlign:'middle'} + }, + { + cmdName:'cellalignment', + value:{align:'left',vAlign:'bottom'} + }, + { + cmdName:'cellalignment', + value:{align:'center',vAlign:'bottom'} + }, + { + cmdName:'cellalignment', + value:{align:'right',vAlign:'bottom'} + } + ] + }, + { + group:lang.aligntable, + icon:'aligntable', + subMenu:[ + { + cmdName:'tablealignment', + className: 'left', + label:lang.tableleft, + value:"left" + }, + { + cmdName:'tablealignment', + className: 'center', + label:lang.tablecenter, + value:"center" + }, + { + cmdName:'tablealignment', + className: 'right', + label:lang.tableright, + value:"right" + } + ] + }, + '-', + { + label:lang.insertparagraphbefore, + cmdName:'insertparagraph', + value:true + }, + { + label:lang.insertparagraphafter, + cmdName:'insertparagraph' + }, + { + label:lang['copy'], + cmdName:'copy' + }, + { + label:lang['paste'], + cmdName:'paste' + } + ]; + if ( !items.length ) { + return; + } + var uiUtils = UE.ui.uiUtils; + + me.addListener( 'contextmenu', function ( type, evt ) { + + var offset = uiUtils.getViewportOffsetByEvent( evt ); + me.fireEvent( 'beforeselectionchange' ); + if ( menu ) { + menu.destroy(); + } + for ( var i = 0, ti, contextItems = []; ti = items[i]; i++ ) { + var last; + (function ( item ) { + if ( item == '-' ) { + if ( (last = contextItems[contextItems.length - 1 ] ) && last !== '-' ) { + contextItems.push( '-' ); + } + } else if ( item.hasOwnProperty( "group" ) ) { + for ( var j = 0, cj, subMenu = []; cj = item.subMenu[j]; j++ ) { + (function ( subItem ) { + if ( subItem == '-' ) { + if ( (last = subMenu[subMenu.length - 1 ] ) && last !== '-' ) { + subMenu.push( '-' ); + }else{ + subMenu.splice(subMenu.length-1); + } + } else { + if ( (me.commands[subItem.cmdName] || UE.commands[subItem.cmdName] || subItem.query) && + (subItem.query ? subItem.query() : me.queryCommandState( subItem.cmdName )) > -1 ) { + subMenu.push( { + 'label':subItem.label || me.getLang( "contextMenu." + subItem.cmdName + (subItem.value || '') )||"", + 'className':'edui-for-' +subItem.cmdName + ( subItem.className ? ( ' edui-for-' + subItem.cmdName + '-' + subItem.className ) : '' ), + onclick:subItem.exec ? function () { + subItem.exec.call( me ); + } : function () { + me.execCommand( subItem.cmdName, subItem.value ); + } + } ); + } + } + })( cj ); + } + if ( subMenu.length ) { + function getLabel(){ + switch (item.icon){ + case "table": + return me.getLang( "contextMenu.table" ); + case "justifyjustify": + return me.getLang( "contextMenu.paragraph" ); + case "aligntd": + return me.getLang("contextMenu.aligntd"); + case "aligntable": + return me.getLang("contextMenu.aligntable"); + case "tablesort": + return lang.tablesort; + case "borderBack": + return lang.borderbk; + default : + return ''; + } + } + contextItems.push( { + //todo 修正成自动获取方式 + 'label':getLabel(), + className:'edui-for-' + item.icon, + 'subMenu':{ + items:subMenu, + editor:me + } + } ); + } + + } else { + //有可能commmand没有加载右键不能出来,或者没有command也想能展示出来添加query方法 + if ( (me.commands[item.cmdName] || UE.commands[item.cmdName] || item.query) && + (item.query ? item.query.call(me) : me.queryCommandState( item.cmdName )) > -1 ) { + + contextItems.push( { + 'label':item.label || me.getLang( "contextMenu." + item.cmdName ), + className:'edui-for-' + (item.icon ? item.icon : item.cmdName + (item.value || '')), + onclick:item.exec ? function () { + item.exec.call( me ); + } : function () { + me.execCommand( item.cmdName, item.value ); + } + } ); + } + + } + + })( ti ); + } + if ( contextItems[contextItems.length - 1] == '-' ) { + contextItems.pop(); + } + + menu = new UE.ui.Menu( { + items:contextItems, + className:"edui-contextmenu", + editor:me + } ); + menu.render(); + menu.showAt( offset ); + + me.fireEvent("aftershowcontextmenu",menu); + + domUtils.preventDefault( evt ); + if ( browser.ie ) { + var ieRange; + try { + ieRange = me.selection.getNative().createRange(); + } catch ( e ) { + return; + } + if ( ieRange.item ) { + var range = new dom.Range( me.document ); + range.selectNode( ieRange.item( 0 ) ).select( true, true ); + } + } + }); + + // 添加复制的flash按钮 + me.addListener('aftershowcontextmenu', function(type, menu) { + if (me.zeroclipboard) { + var items = menu.items; + for (var key in items) { + if (items[key].className == 'edui-for-copy') { + me.zeroclipboard.clip(items[key].getDom()); + } + } + } + }); + +}; + + +// plugins/shortcutmenu.js +///import core +///commands 弹出菜单 +// commandsName popupmenu +///commandsTitle 弹出菜单 +/** + * 弹出菜单 + * @function + * @name baidu.editor.plugins.popupmenu + * @author xuheng + */ + +UE.plugins['shortcutmenu'] = function () { + var me = this, + menu, + items = me.options.shortcutMenu || []; + + if (!items.length) { + return; + } + + me.addListener ('contextmenu mouseup' , function (type , e) { + var me = this, + customEvt = { + type : type , + target : e.target || e.srcElement , + screenX : e.screenX , + screenY : e.screenY , + clientX : e.clientX , + clientY : e.clientY + }; + + setTimeout (function () { + var rng = me.selection.getRange (); + if (rng.collapsed === false || type == "contextmenu") { + + if (!menu) { + menu = new baidu.editor.ui.ShortCutMenu ({ + editor : me , + items : items , + theme : me.options.theme , + className : 'edui-shortcutmenu' + }); + + menu.render (); + me.fireEvent ("afterrendershortcutmenu" , menu); + } + + menu.show (customEvt , !!UE.plugins['contextmenu']); + } + }); + + if (type == 'contextmenu') { + domUtils.preventDefault (e); + if (browser.ie9below) { + var ieRange; + try { + ieRange = me.selection.getNative().createRange(); + } catch (e) { + return; + } + if (ieRange.item) { + var range = new dom.Range (me.document); + range.selectNode (ieRange.item (0)).select (true , true); + + } + } + } + }); + + me.addListener ('keydown' , function (type) { + if (type == "keydown") { + menu && !menu.isHidden && menu.hide (); + } + + }); + +}; + + + + +// plugins/basestyle.js +/** + * B、I、sub、super命令支持 + * @file + * @since 1.2.6.1 + */ + +UE.plugins['basestyle'] = function(){ + + /** + * 字体加粗 + * @command bold + * @param { String } cmd 命令字符串 + * @remind 对已加粗的文本内容执行该命令, 将取消加粗 + * @method execCommand + * @example + * ```javascript + * //editor是编辑器实例 + * //对当前选中的文本内容执行加粗操作 + * //第一次执行, 文本内容加粗 + * editor.execCommand( 'bold' ); + * + * //第二次执行, 文本内容取消加粗 + * editor.execCommand( 'bold' ); + * ``` + */ + + + /** + * 字体倾斜 + * @command italic + * @method execCommand + * @param { String } cmd 命令字符串 + * @remind 对已倾斜的文本内容执行该命令, 将取消倾斜 + * @example + * ```javascript + * //editor是编辑器实例 + * //对当前选中的文本内容执行斜体操作 + * //第一次操作, 文本内容将变成斜体 + * editor.execCommand( 'italic' ); + * + * //再次对同一文本内容执行, 则文本内容将恢复正常 + * editor.execCommand( 'italic' ); + * ``` + */ + + /** + * 下标文本,与“superscript”命令互斥 + * @command subscript + * @method execCommand + * @remind 把选中的文本内容切换成下标文本, 如果当前选中的文本已经是下标, 则该操作会把文本内容还原成正常文本 + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * //editor是编辑器实例 + * //对当前选中的文本内容执行下标操作 + * //第一次操作, 文本内容将变成下标文本 + * editor.execCommand( 'subscript' ); + * + * //再次对同一文本内容执行, 则文本内容将恢复正常 + * editor.execCommand( 'subscript' ); + * ``` + */ + + /** + * 上标文本,与“subscript”命令互斥 + * @command superscript + * @method execCommand + * @remind 把选中的文本内容切换成上标文本, 如果当前选中的文本已经是上标, 则该操作会把文本内容还原成正常文本 + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * //editor是编辑器实例 + * //对当前选中的文本内容执行上标操作 + * //第一次操作, 文本内容将变成上标文本 + * editor.execCommand( 'superscript' ); + * + * //再次对同一文本内容执行, 则文本内容将恢复正常 + * editor.execCommand( 'superscript' ); + * ``` + */ + var basestyles = { + 'bold':['strong','b'], + 'italic':['em','i'], + 'subscript':['sub'], + 'superscript':['sup'] + }, + getObj = function(editor,tagNames){ + return domUtils.filterNodeList(editor.selection.getStartElementPath(),tagNames); + }, + me = this; + //添加快捷键 + me.addshortcutkey({ + "Bold" : "ctrl+66",//^B + "Italic" : "ctrl+73", //^I + "Underline" : "ctrl+85"//^U + }); + me.addInputRule(function(root){ + utils.each(root.getNodesByTagName('b i'),function(node){ + switch (node.tagName){ + case 'b': + node.tagName = 'strong'; + break; + case 'i': + node.tagName = 'em'; + } + }); + }); + for ( var style in basestyles ) { + (function( cmd, tagNames ) { + me.commands[cmd] = { + execCommand : function( cmdName ) { + var range = me.selection.getRange(),obj = getObj(this,tagNames); + if ( range.collapsed ) { + if ( obj ) { + var tmpText = me.document.createTextNode(''); + range.insertNode( tmpText ).removeInlineStyle( tagNames ); + range.setStartBefore(tmpText); + domUtils.remove(tmpText); + } else { + var tmpNode = range.document.createElement( tagNames[0] ); + if(cmdName == 'superscript' || cmdName == 'subscript'){ + tmpText = me.document.createTextNode(''); + range.insertNode(tmpText) + .removeInlineStyle(['sub','sup']) + .setStartBefore(tmpText) + .collapse(true); + } + range.insertNode( tmpNode ).setStart( tmpNode, 0 ); + } + range.collapse( true ); + } else { + if(cmdName == 'superscript' || cmdName == 'subscript'){ + if(!obj || obj.tagName.toLowerCase() != cmdName){ + range.removeInlineStyle(['sub','sup']); + } + } + obj ? range.removeInlineStyle( tagNames ) : range.applyInlineStyle( tagNames[0] ); + } + range.select(); + }, + queryCommandState : function() { + return getObj(this,tagNames) ? 1 : 0; + } + }; + })( style, basestyles[style] ); + } +}; + + + +// plugins/elementpath.js +/** + * 选取路径命令 + * @file + */ +UE.plugins['elementpath'] = function(){ + var currentLevel, + tagNames, + me = this; + me.setOpt('elementPathEnabled',true); + if(!me.options.elementPathEnabled){ + return; + } + me.commands['elementpath'] = { + execCommand : function( cmdName, level ) { + var start = tagNames[level], + range = me.selection.getRange(); + currentLevel = level*1; + range.selectNode(start).select(); + }, + queryCommandValue : function() { + //产生一个副本,不能修改原来的startElementPath; + var parents = [].concat(this.selection.getStartElementPath()).reverse(), + names = []; + tagNames = parents; + for(var i=0,ci;ci=parents[i];i++){ + if(ci.nodeType == 3) { + continue; + } + var name = ci.tagName.toLowerCase(); + if(name == 'img' && ci.getAttribute('anchorname')){ + name = 'anchor'; + } + names[i] = name; + if(currentLevel == i){ + currentLevel = -1; + break; + } + } + return names; + } + }; +}; + + + +// plugins/formatmatch.js +/** + * 格式刷,只格式inline的 + * @file + * @since 1.2.6.1 + */ + +/** + * 格式刷 + * @command formatmatch + * @method execCommand + * @remind 该操作不能复制段落格式 + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * //editor是编辑器实例 + * //获取格式刷 + * editor.execCommand( 'formatmatch' ); + * ``` + */ +UE.plugins['formatmatch'] = function(){ + + var me = this, + list = [],img, + flag = 0; + + me.addListener('reset',function(){ + list = []; + flag = 0; + }); + + function addList(type,evt){ + + if(browser.webkit){ + var target = evt.target.tagName == 'IMG' ? evt.target : null; + } + + function addFormat(range){ + + if(text){ + range.selectNode(text); + } + return range.applyInlineStyle(list[list.length-1].tagName,null,list); + + } + + me.undoManger && me.undoManger.save(); + + var range = me.selection.getRange(), + imgT = target || range.getClosedNode(); + if(img && imgT && imgT.tagName == 'IMG'){ + //trace:964 + + imgT.style.cssText += ';float:' + (img.style.cssFloat || img.style.styleFloat ||'none') + ';display:' + (img.style.display||'inline'); + + img = null; + }else{ + if(!img){ + var collapsed = range.collapsed; + if(collapsed){ + var text = me.document.createTextNode('match'); + range.insertNode(text).select(); + + + } + me.__hasEnterExecCommand = true; + //不能把block上的属性干掉 + //trace:1553 + var removeFormatAttributes = me.options.removeFormatAttributes; + me.options.removeFormatAttributes = ''; + me.execCommand('removeformat'); + me.options.removeFormatAttributes = removeFormatAttributes; + me.__hasEnterExecCommand = false; + //trace:969 + range = me.selection.getRange(); + if(list.length){ + addFormat(range); + } + if(text){ + range.setStartBefore(text).collapse(true); + + } + range.select(); + text && domUtils.remove(text); + } + + } + + + + + me.undoManger && me.undoManger.save(); + me.removeListener('mouseup',addList); + flag = 0; + } + + me.commands['formatmatch'] = { + execCommand : function( cmdName ) { + + if(flag){ + flag = 0; + list = []; + me.removeListener('mouseup',addList); + return; + } + + + + var range = me.selection.getRange(); + img = range.getClosedNode(); + if(!img || img.tagName != 'IMG'){ + range.collapse(true).shrinkBoundary(); + var start = range.startContainer; + list = domUtils.findParents(start,true,function(node){ + return !domUtils.isBlockElm(node) && node.nodeType == 1; + }); + //a不能加入格式刷, 并且克隆节点 + for(var i=0,ci;ci=list[i];i++){ + if(ci.tagName == 'A'){ + list.splice(i,1); + break; + } + } + + } + + me.addListener('mouseup',addList); + flag = 1; + + + }, + queryCommandState : function() { + return flag; + }, + notNeedUndo : 1 + }; +}; + + + +// plugins/searchreplace.js +///import core +///commands 查找替换 +///commandsName SearchReplace +///commandsTitle 查询替换 +///commandsDialog dialogs\searchreplace +/** + * @description 查找替换 + * @author zhanyi + */ + +UE.plugin.register('searchreplace',function(){ + var me = this; + + var _blockElm = {'table':1,'tbody':1,'tr':1,'ol':1,'ul':1}; + + function findTextInString(textContent,opt,currentIndex){ + var str = opt.searchStr; + if(opt.dir == -1){ + textContent = textContent.split('').reverse().join(''); + str = str.split('').reverse().join(''); + currentIndex = textContent.length - currentIndex; + + } + var reg = new RegExp(str,'g' + (opt.casesensitive ? '' : 'i')),match; + + while(match = reg.exec(textContent)){ + if(match.index >= currentIndex){ + return opt.dir == -1 ? textContent.length - match.index - opt.searchStr.length : match.index; + } + } + return -1 + } + function findTextBlockElm(node,currentIndex,opt){ + var textContent,index,methodName = opt.all || opt.dir == 1 ? 'getNextDomNode' : 'getPreDomNode'; + if(domUtils.isBody(node)){ + node = node.firstChild; + } + var first = 1; + while(node){ + textContent = node.nodeType == 3 ? node.nodeValue : node[browser.ie ? 'innerText' : 'textContent']; + index = findTextInString(textContent,opt,currentIndex ); + first = 0; + if(index!=-1){ + return { + 'node':node, + 'index':index + } + } + node = domUtils[methodName](node); + while(node && _blockElm[node.nodeName.toLowerCase()]){ + node = domUtils[methodName](node,true); + } + if(node){ + currentIndex = opt.dir == -1 ? (node.nodeType == 3 ? node.nodeValue : node[browser.ie ? 'innerText' : 'textContent']).length : 0; + } + + } + } + function findNTextInBlockElm(node,index,str){ + var currentIndex = 0, + currentNode = node.firstChild, + currentNodeLength = 0, + result; + while(currentNode){ + if(currentNode.nodeType == 3){ + currentNodeLength = currentNode.nodeValue.replace(/(^[\t\r\n]+)|([\t\r\n]+$)/,'').length; + currentIndex += currentNodeLength; + if(currentIndex >= index){ + return { + 'node':currentNode, + 'index': currentNodeLength - (currentIndex - index) + } + } + }else if(!dtd.$empty[currentNode.tagName]){ + currentNodeLength = currentNode[browser.ie ? 'innerText' : 'textContent'].replace(/(^[\t\r\n]+)|([\t\r\n]+$)/,'').length + currentIndex += currentNodeLength; + if(currentIndex >= index){ + result = findNTextInBlockElm(currentNode,currentNodeLength - (currentIndex - index),str); + if(result){ + return result; + } + } + } + currentNode = domUtils.getNextDomNode(currentNode); + + } + } + + function searchReplace(me,opt){ + + var rng = me.selection.getRange(), + startBlockNode, + searchStr = opt.searchStr, + span = me.document.createElement('span'); + span.innerHTML = '$$ueditor_searchreplace_key$$'; + + rng.shrinkBoundary(true); + + //判断是不是第一次选中 + if(!rng.collapsed){ + rng.select(); + var rngText = me.selection.getText(); + if(new RegExp('^' + opt.searchStr + '$',(opt.casesensitive ? '' : 'i')).test(rngText)){ + if(opt.replaceStr != undefined){ + replaceText(rng,opt.replaceStr); + rng.select(); + return true; + }else{ + rng.collapse(opt.dir == -1) + } + + } + } + + + rng.insertNode(span); + rng.enlargeToBlockElm(true); + startBlockNode = rng.startContainer; + var currentIndex = startBlockNode[browser.ie ? 'innerText' : 'textContent'].indexOf('$$ueditor_searchreplace_key$$'); + rng.setStartBefore(span); + domUtils.remove(span); + var result = findTextBlockElm(startBlockNode,currentIndex,opt); + if(result){ + var rngStart = findNTextInBlockElm(result.node,result.index,searchStr); + var rngEnd = findNTextInBlockElm(result.node,result.index + searchStr.length,searchStr); + rng.setStart(rngStart.node,rngStart.index).setEnd(rngEnd.node,rngEnd.index); + + if(opt.replaceStr !== undefined){ + replaceText(rng,opt.replaceStr) + } + rng.select(); + return true; + }else{ + rng.setCursor() + } + + } + function replaceText(rng,str){ + + str = me.document.createTextNode(str); + rng.deleteContents().insertNode(str); + + } + return { + commands:{ + 'searchreplace':{ + execCommand:function(cmdName,opt){ + utils.extend(opt,{ + all : false, + casesensitive : false, + dir : 1 + },true); + var num = 0; + if(opt.all){ + + var rng = me.selection.getRange(), + first = me.body.firstChild; + if(first && first.nodeType == 1){ + rng.setStart(first,0); + rng.shrinkBoundary(true); + }else if(first.nodeType == 3){ + rng.setStartBefore(first) + } + rng.collapse(true).select(true); + if(opt.replaceStr !== undefined){ + me.fireEvent('saveScene'); + } + while(searchReplace(this,opt)){ + num++; + } + if(num){ + me.fireEvent('saveScene'); + } + }else{ + if(opt.replaceStr !== undefined){ + me.fireEvent('saveScene'); + } + if(searchReplace(this,opt)){ + num++ + } + if(num){ + me.fireEvent('saveScene'); + } + + } + + return num; + }, + notNeedUndo:1 + } + } + } +}); + +// plugins/customstyle.js +/** + * 自定义样式 + * @file + * @since 1.2.6.1 + */ + +/** + * 根据config配置文件里“customstyle”选项的值对匹配的标签执行样式替换。 + * @command customstyle + * @method execCommand + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * editor.execCommand( 'customstyle' ); + * ``` + */ +UE.plugins['customstyle'] = function() { + var me = this; + me.setOpt({ 'customstyle':[ + {tag:'h1',name:'tc', style:'font-size:32px;font-weight:bold;border-bottom:#ccc 2px solid;padding:0 4px 0 0;text-align:center;margin:0 0 20px 0;'}, + {tag:'h1',name:'tl', style:'font-size:32px;font-weight:bold;border-bottom:#ccc 2px solid;padding:0 4px 0 0;text-align:left;margin:0 0 10px 0;'}, + {tag:'span',name:'im', style:'font-size:16px;font-style:italic;font-weight:bold;line-height:18px;'}, + {tag:'span',name:'hi', style:'font-size:16px;font-style:italic;font-weight:bold;color:rgb(51, 153, 204);line-height:18px;'} + ]}); + me.commands['customstyle'] = { + execCommand : function(cmdName, obj) { + var me = this, + tagName = obj.tag, + node = domUtils.findParent(me.selection.getStart(), function(node) { + return node.getAttribute('label'); + }, true), + range,bk,tmpObj = {}; + for (var p in obj) { + if(obj[p]!==undefined) + tmpObj[p] = obj[p]; + } + delete tmpObj.tag; + if (node && node.getAttribute('label') == obj.label) { + range = this.selection.getRange(); + bk = range.createBookmark(); + if (range.collapsed) { + //trace:1732 删掉自定义标签,要有p来回填站位 + if(dtd.$block[node.tagName]){ + var fillNode = me.document.createElement('p'); + domUtils.moveChild(node, fillNode); + node.parentNode.insertBefore(fillNode, node); + domUtils.remove(node); + }else{ + domUtils.remove(node,true); + } + + } else { + + var common = domUtils.getCommonAncestor(bk.start, bk.end), + nodes = domUtils.getElementsByTagName(common, tagName); + if(new RegExp(tagName,'i').test(common.tagName)){ + nodes.push(common); + } + for (var i = 0,ni; ni = nodes[i++];) { + if (ni.getAttribute('label') == obj.label) { + var ps = domUtils.getPosition(ni, bk.start),pe = domUtils.getPosition(ni, bk.end); + if ((ps & domUtils.POSITION_FOLLOWING || ps & domUtils.POSITION_CONTAINS) + && + (pe & domUtils.POSITION_PRECEDING || pe & domUtils.POSITION_CONTAINS) + ) + if (dtd.$block[tagName]) { + var fillNode = me.document.createElement('p'); + domUtils.moveChild(ni, fillNode); + ni.parentNode.insertBefore(fillNode, ni); + } + domUtils.remove(ni, true); + } + } + node = domUtils.findParent(common, function(node) { + return node.getAttribute('label') == obj.label; + }, true); + if (node) { + + domUtils.remove(node, true); + + } + + } + range.moveToBookmark(bk).select(); + } else { + if (dtd.$block[tagName]) { + this.execCommand('paragraph', tagName, tmpObj,'customstyle'); + range = me.selection.getRange(); + if (!range.collapsed) { + range.collapse(); + node = domUtils.findParent(me.selection.getStart(), function(node) { + return node.getAttribute('label') == obj.label; + }, true); + var pNode = me.document.createElement('p'); + domUtils.insertAfter(node, pNode); + domUtils.fillNode(me.document, pNode); + range.setStart(pNode, 0).setCursor(); + } + } else { + + range = me.selection.getRange(); + if (range.collapsed) { + node = me.document.createElement(tagName); + domUtils.setAttributes(node, tmpObj); + range.insertNode(node).setStart(node, 0).setCursor(); + + return; + } + + bk = range.createBookmark(); + range.applyInlineStyle(tagName, tmpObj).moveToBookmark(bk).select(); + } + } + + }, + queryCommandValue : function() { + var parent = domUtils.filterNodeList( + this.selection.getStartElementPath(), + function(node){return node.getAttribute('label')} + ); + return parent ? parent.getAttribute('label') : ''; + } + }; + //当去掉customstyle是,如果是块元素,用p代替 + me.addListener('keyup', function(type, evt) { + var keyCode = evt.keyCode || evt.which; + + if (keyCode == 32 || keyCode == 13) { + var range = me.selection.getRange(); + if (range.collapsed) { + var node = domUtils.findParent(me.selection.getStart(), function(node) { + return node.getAttribute('label'); + }, true); + if (node && dtd.$block[node.tagName] && domUtils.isEmptyNode(node)) { + var p = me.document.createElement('p'); + domUtils.insertAfter(node, p); + domUtils.fillNode(me.document, p); + domUtils.remove(node); + range.setStart(p, 0).setCursor(); + + + } + } + } + }); +}; + +// plugins/catchremoteimage.js +///import core +///commands 远程图片抓取 +///commandsName catchRemoteImage,catchremoteimageenable +///commandsTitle 远程图片抓取 +/** + * 远程图片抓取,当开启本插件时所有不符合本地域名的图片都将被抓取成为本地服务器上的图片 + */ +UE.plugins['catchremoteimage'] = function () { + var me = this, + ajax = UE.ajax; + + /* 设置默认值 */ + if (me.options.catchRemoteImageEnable === false) return; + me.setOpt({ + catchRemoteImageEnable: false + }); + + me.addListener("afterpaste", function () { + me.fireEvent("catchRemoteImage"); + }); + + me.addListener("catchRemoteImage", function () { + + var catcherLocalDomain = me.getOpt('catcherLocalDomain'), + catcherActionUrl = me.getActionUrl(me.getOpt('catcherActionName')), + catcherUrlPrefix = me.getOpt('catcherUrlPrefix'), + catcherFieldName = me.getOpt('catcherFieldName'); + + var remoteImages = [], + imgs = domUtils.getElementsByTagName(me.document, "img"), + test = function (src, urls) { + if (src.indexOf(location.host) != -1 || /(^\.)|(^\/)/.test(src)) { + return true; + } + if (urls) { + for (var j = 0, url; url = urls[j++];) { + if (src.indexOf(url) !== -1) { + return true; + } + } + } + return false; + }; + + for (var i = 0, ci; ci = imgs[i++];) { + if (ci.getAttribute("word_img")) { + continue; + } + var src = ci.getAttribute("_src") || ci.src || ""; + if (/^(https?|ftp):/i.test(src) && !test(src, catcherLocalDomain)) { + remoteImages.push(src); + } + } + + if (remoteImages.length) { + catchremoteimage(remoteImages, { + //成功抓取 + success: function (r) { + try { + var info = r.state !== undefined ? r:eval("(" + r.responseText + ")"); + } catch (e) { + return; + } + + /* 获取源路径和新路径 */ + var i, j, ci, cj, oldSrc, newSrc, list = info.list; + + for (i = 0; ci = imgs[i++];) { + oldSrc = ci.getAttribute("_src") || ci.src || ""; + for (j = 0; cj = list[j++];) { + if (oldSrc == cj.source && cj.state == "SUCCESS") { //抓取失败时不做替换处理 + newSrc = catcherUrlPrefix + cj.url; + domUtils.setAttributes(ci, { + "src": newSrc, + "_src": newSrc + }); + break; + } + } + } + me.fireEvent('catchremotesuccess') + }, + //回调失败,本次请求超时 + error: function () { + me.fireEvent("catchremoteerror"); + } + }); + } + + function catchremoteimage(imgs, callbacks) { + var params = utils.serializeParam(me.queryCommandValue('serverparam')) || '', + url = utils.formatUrl(catcherActionUrl + (catcherActionUrl.indexOf('?') == -1 ? '?':'&') + params), + isJsonp = utils.isCrossDomainUrl(url), + opt = { + 'method': 'POST', + 'dataType': isJsonp ? 'jsonp':'', + 'timeout': 60000, //单位:毫秒,回调请求超时设置。目标用户如果网速不是很快的话此处建议设置一个较大的数值 + 'onsuccess': callbacks["success"], + 'onerror': callbacks["error"] + }; + opt[catcherFieldName] = imgs; + ajax.request(url, opt); + } + + }); +}; + +// plugins/snapscreen.js +/** + * 截屏插件,为UEditor提供插入支持 + * @file + * @since 1.4.2 + */ +UE.plugin.register('snapscreen', function (){ + + var me = this; + var snapplugin; + + function getLocation(url){ + var search, + a = document.createElement('a'), + params = utils.serializeParam(me.queryCommandValue('serverparam')) || ''; + + a.href = url; + if (browser.ie) { + a.href = a.href; + } + + + search = a.search; + if (params) { + search = search + (search.indexOf('?') == -1 ? '?':'&')+ params; + search = search.replace(/[&]+/ig, '&'); + } + return { + 'port': a.port, + 'hostname': a.hostname, + 'path': a.pathname + search || + a.hash + } + } + + return { + commands:{ + /** + * 字体背景颜色 + * @command snapscreen + * @method execCommand + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * editor.execCommand('snapscreen'); + * ``` + */ + 'snapscreen':{ + execCommand:function (cmd) { + var url, local, res; + var lang = me.getLang("snapScreen_plugin"); + + if(!snapplugin){ + var container = me.container; + var doc = me.container.ownerDocument || me.container.document; + snapplugin = doc.createElement("object"); + try{snapplugin.type = "application/x-pluginbaidusnap";}catch(e){ + return; + } + snapplugin.style.cssText = "position:absolute;left:-9999px;width:0;height:0;"; + snapplugin.setAttribute("width","0"); + snapplugin.setAttribute("height","0"); + container.appendChild(snapplugin); + } + + function onSuccess(rs){ + try{ + rs = eval("("+ rs +")"); + if(rs.state == 'SUCCESS'){ + var opt = me.options; + me.execCommand('insertimage', { + src: opt.snapscreenUrlPrefix + rs.url, + _src: opt.snapscreenUrlPrefix + rs.url, + alt: rs.title || '', + floatStyle: opt.snapscreenImgAlign + }); + } else { + alert(rs.state); + } + }catch(e){ + alert(lang.callBackErrorMsg); + } + } + url = me.getActionUrl(me.getOpt('snapscreenActionName')); + local = getLocation(url); + setTimeout(function () { + try{ + res =snapplugin.saveSnapshot(local.hostname, local.path, local.port); + }catch(e){ + me.ui._dialogs['snapscreenDialog'].open(); + return; + } + + onSuccess(res); + }, 50); + }, + queryCommandState: function(){ + return (navigator.userAgent.indexOf("Windows",0) != -1) ? 0:-1; + } + } + } + } +}); + + +// plugins/insertparagraph.js +/** + * 插入段落 + * @file + * @since 1.2.6.1 + */ + + +/** + * 插入段落 + * @command insertparagraph + * @method execCommand + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * //editor是编辑器实例 + * editor.execCommand( 'insertparagraph' ); + * ``` + */ + +UE.commands['insertparagraph'] = { + execCommand : function( cmdName,front) { + var me = this, + range = me.selection.getRange(), + start = range.startContainer,tmpNode; + while(start ){ + if(domUtils.isBody(start)){ + break; + } + tmpNode = start; + start = start.parentNode; + } + if(tmpNode){ + var p = me.document.createElement('p'); + if(front){ + tmpNode.parentNode.insertBefore(p,tmpNode) + }else{ + tmpNode.parentNode.insertBefore(p,tmpNode.nextSibling) + } + domUtils.fillNode(me.document,p); + range.setStart(p,0).setCursor(false,true); + } + } +}; + + + +// plugins/webapp.js +/** + * 百度应用 + * @file + * @since 1.2.6.1 + */ + + +/** + * 插入百度应用 + * @command webapp + * @method execCommand + * @remind 需要百度APPKey + * @remind 百度应用主页: http://app.baidu.com/ + * @param { Object } appOptions 应用所需的参数项, 支持的key有: title=>应用标题, width=>应用容器宽度, + * height=>应用容器高度,logo=>应用logo,url=>应用地址 + * @example + * ```javascript + * //editor是编辑器实例 + * //在编辑器里插入一个“植物大战僵尸”的APP + * editor.execCommand( 'webapp' , { + * title: '植物大战僵尸', + * width: 560, + * height: 465, + * logo: '应用展示的图片', + * url: '百度应用的地址' + * } ); + * ``` + */ + +//UE.plugins['webapp'] = function () { +// var me = this; +// function createInsertStr( obj, toIframe, addParagraph ) { +// return !toIframe ? +// (addParagraph ? '

      ' : '') + '' + +// (addParagraph ? '

      ' : '') +// : +// ''; +// } +// +// function switchImgAndIframe( img2frame ) { +// var tmpdiv, +// nodes = domUtils.getElementsByTagName( me.document, !img2frame ? "iframe" : "img" ); +// for ( var i = 0, node; node = nodes[i++]; ) { +// if ( node.className != "edui-faked-webapp" ){ +// continue; +// } +// tmpdiv = me.document.createElement( "div" ); +// tmpdiv.innerHTML = createInsertStr( img2frame ? {url:node.getAttribute( "_url" ), width:node.width, height:node.height,title:node.title,logo:node.style.backgroundImage.replace("url(","").replace(")","")} : {url:node.getAttribute( "src", 2 ),title:node.title, width:node.width, height:node.height,logo:node.getAttribute("logo_url")}, img2frame ? true : false,false ); +// node.parentNode.replaceChild( tmpdiv.firstChild, node ); +// } +// } +// +// me.addListener( "beforegetcontent", function () { +// switchImgAndIframe( true ); +// } ); +// me.addListener( 'aftersetcontent', function () { +// switchImgAndIframe( false ); +// } ); +// me.addListener( 'aftergetcontent', function ( cmdName ) { +// if ( cmdName == 'aftergetcontent' && me.queryCommandState( 'source' ) ){ +// return; +// } +// switchImgAndIframe( false ); +// } ); +// +// me.commands['webapp'] = { +// execCommand:function ( cmd, obj ) { +// me.execCommand( "inserthtml", createInsertStr( obj, false,true ) ); +// } +// }; +//}; + +UE.plugin.register('webapp', function (){ + var me = this; + function createInsertStr(obj,toEmbed){ + return !toEmbed ? + '' + : + '' + + } + return { + outputRule: function(root){ + utils.each(root.getNodesByTagName('img'),function(node){ + var html; + if(node.getAttr('class') == 'edui-faked-webapp'){ + html = createInsertStr({ + title:node.getAttr('title'), + 'width':node.getAttr('width'), + 'height':node.getAttr('height'), + 'align':node.getAttr('align'), + 'cssfloat':node.getStyle('float'), + 'url':node.getAttr("_url"), + 'logo':node.getAttr('_logo_url') + },true); + var embed = UE.uNode.createElement(html); + node.parentNode.replaceChild(embed,node); + } + }) + }, + inputRule:function(root){ + utils.each(root.getNodesByTagName('iframe'),function(node){ + if(node.getAttr('class') == 'edui-faked-webapp'){ + var img = UE.uNode.createElement(createInsertStr({ + title:node.getAttr('title'), + 'width':node.getAttr('width'), + 'height':node.getAttr('height'), + 'align':node.getAttr('align'), + 'cssfloat':node.getStyle('float'), + 'url':node.getAttr("src"), + 'logo':node.getAttr('logo_url') + })); + node.parentNode.replaceChild(img,node); + } + }) + + }, + commands:{ + /** + * 插入百度应用 + * @command webapp + * @method execCommand + * @remind 需要百度APPKey + * @remind 百度应用主页: http://app.baidu.com/ + * @param { Object } appOptions 应用所需的参数项, 支持的key有: title=>应用标题, width=>应用容器宽度, + * height=>应用容器高度,logo=>应用logo,url=>应用地址 + * @example + * ```javascript + * //editor是编辑器实例 + * //在编辑器里插入一个“植物大战僵尸”的APP + * editor.execCommand( 'webapp' , { + * title: '植物大战僵尸', + * width: 560, + * height: 465, + * logo: '应用展示的图片', + * url: '百度应用的地址' + * } ); + * ``` + */ + 'webapp':{ + execCommand:function (cmd, obj) { + + var me = this, + str = createInsertStr(utils.extend(obj,{ + align:'none' + }), false); + me.execCommand("inserthtml",str); + }, + queryCommandState:function () { + var me = this, + img = me.selection.getRange().getClosedNode(), + flag = img && (img.className == "edui-faked-webapp"); + return flag ? 1 : 0; + } + } + } + } +}); + +// plugins/template.js +///import core +///import plugins\inserthtml.js +///import plugins\cleardoc.js +///commands 模板 +///commandsName template +///commandsTitle 模板 +///commandsDialog dialogs\template +UE.plugins['template'] = function () { + UE.commands['template'] = { + execCommand:function (cmd, obj) { + obj.html && this.execCommand("inserthtml", obj.html); + } + }; + this.addListener("click", function (type, evt) { + var el = evt.target || evt.srcElement, + range = this.selection.getRange(); + var tnode = domUtils.findParent(el, function (node) { + if (node.className && domUtils.hasClass(node, "ue_t")) { + return node; + } + }, true); + tnode && range.selectNode(tnode).shrinkBoundary().select(); + }); + this.addListener("keydown", function (type, evt) { + var range = this.selection.getRange(); + if (!range.collapsed) { + if (!evt.ctrlKey && !evt.metaKey && !evt.shiftKey && !evt.altKey) { + var tnode = domUtils.findParent(range.startContainer, function (node) { + if (node.className && domUtils.hasClass(node, "ue_t")) { + return node; + } + }, true); + if (tnode) { + domUtils.removeClasses(tnode, ["ue_t"]); + } + } + } + }); +}; + + +// plugins/music.js +/** + * 插入音乐命令 + * @file + */ +UE.plugin.register('music', function (){ + var me = this; + function creatInsertStr(url,width,height,align,cssfloat,toEmbed){ + return !toEmbed ? + '' + : + ''; + } + return { + outputRule: function(root){ + utils.each(root.getNodesByTagName('img'),function(node){ + var html; + if(node.getAttr('class') == 'edui-faked-music'){ + var cssfloat = node.getStyle('float'); + var align = node.getAttr('align'); + html = creatInsertStr(node.getAttr("_url"), node.getAttr('width'), node.getAttr('height'), align, cssfloat, true); + var embed = UE.uNode.createElement(html); + node.parentNode.replaceChild(embed,node); + } + }) + }, + inputRule:function(root){ + utils.each(root.getNodesByTagName('embed'),function(node){ + if(node.getAttr('class') == 'edui-faked-music'){ + var cssfloat = node.getStyle('float'); + var align = node.getAttr('align'); + html = creatInsertStr(node.getAttr("src"), node.getAttr('width'), node.getAttr('height'), align, cssfloat,false); + var img = UE.uNode.createElement(html); + node.parentNode.replaceChild(img,node); + } + }) + + }, + commands:{ + /** + * 插入音乐 + * @command music + * @method execCommand + * @param { Object } musicOptions 插入音乐的参数项, 支持的key有: url=>音乐地址; + * width=>音乐容器宽度;height=>音乐容器高度;align=>音乐文件的对齐方式, 可选值有: left, center, right, none + * @example + * ```javascript + * //editor是编辑器实例 + * //在编辑器里插入一个“植物大战僵尸”的APP + * editor.execCommand( 'music' , { + * width: 400, + * height: 95, + * align: "center", + * url: "音乐地址" + * } ); + * ``` + */ + 'music':{ + execCommand:function (cmd, musicObj) { + var me = this, + str = creatInsertStr(musicObj.url, musicObj.width || 400, musicObj.height || 95, "none", false); + me.execCommand("inserthtml",str); + }, + queryCommandState:function () { + var me = this, + img = me.selection.getRange().getClosedNode(), + flag = img && (img.className == "edui-faked-music"); + return flag ? 1 : 0; + } + } + } + } +}); + +// plugins/autoupload.js +/** + * @description + * 1.拖放文件到编辑区域,自动上传并插入到选区 + * 2.插入粘贴板的图片,自动上传并插入到选区 + * @author Jinqn + * @date 2013-10-14 + */ +UE.plugin.register('autoupload', function (){ + + function sendAndInsertFile(file, editor) { + var me = editor; + //模拟数据 + var fieldName, urlPrefix, maxSize, allowFiles, actionUrl, + loadingHtml, errorHandler, successHandler, + filetype = /image\/\w+/i.test(file.type) ? 'image':'file', + loadingId = 'loading_' + (+new Date()).toString(36); + + fieldName = me.getOpt(filetype + 'FieldName'); + urlPrefix = me.getOpt(filetype + 'UrlPrefix'); + maxSize = me.getOpt(filetype + 'MaxSize'); + allowFiles = me.getOpt(filetype + 'AllowFiles'); + actionUrl = me.getActionUrl(me.getOpt(filetype + 'ActionName')); + errorHandler = function(title) { + var loader = me.document.getElementById(loadingId); + loader && domUtils.remove(loader); + me.fireEvent('showmessage', { + 'id': loadingId, + 'content': title, + 'type': 'error', + 'timeout': 4000 + }); + }; + + if (filetype == 'image') { + loadingHtml = ''; + successHandler = function(data) { + var link = urlPrefix + data.url, + loader = me.document.getElementById(loadingId); + if (loader) { + loader.setAttribute('src', link); + loader.setAttribute('_src', link); + loader.setAttribute('title', data.title || ''); + loader.setAttribute('alt', data.original || ''); + loader.removeAttribute('id'); + domUtils.removeClasses(loader, 'loadingclass'); + } + }; + } else { + loadingHtml = '

      ' + + '' + + '

      '; + successHandler = function(data) { + var link = urlPrefix + data.url, + loader = me.document.getElementById(loadingId); + + var rng = me.selection.getRange(), + bk = rng.createBookmark(); + rng.selectNode(loader).select(); + me.execCommand('insertfile', {'url': link}); + rng.moveToBookmark(bk).select(); + }; + } + + /* 插入loading的占位符 */ + me.execCommand('inserthtml', loadingHtml); + + /* 判断后端配置是否没有加载成功 */ + if (!me.getOpt(filetype + 'ActionName')) { + errorHandler(me.getLang('autoupload.errorLoadConfig')); + return; + } + /* 判断文件大小是否超出限制 */ + if(file.size > maxSize) { + errorHandler(me.getLang('autoupload.exceedSizeError')); + return; + } + /* 判断文件格式是否超出允许 */ + var fileext = file.name ? file.name.substr(file.name.lastIndexOf('.')):''; + if ((fileext && filetype != 'image') || (allowFiles && (allowFiles.join('') + '.').indexOf(fileext.toLowerCase() + '.') == -1)) { + errorHandler(me.getLang('autoupload.exceedTypeError')); + return; + } + + /* 创建Ajax并提交 */ + var xhr = new XMLHttpRequest(), + fd = new FormData(), + params = utils.serializeParam(me.queryCommandValue('serverparam')) || '', + url = utils.formatUrl(actionUrl + (actionUrl.indexOf('?') == -1 ? '?':'&') + params); + + fd.append(fieldName, file, file.name || ('blob.' + file.type.substr('image/'.length))); + fd.append('type', 'ajax'); + xhr.open("post", url, true); + xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); + xhr.addEventListener('load', function (e) { + try{ + var json = (new Function("return " + utils.trim(e.target.response)))(); + if (json.state == 'SUCCESS' && json.url) { + successHandler(json); + } else { + errorHandler(json.state); + } + }catch(er){ + errorHandler(me.getLang('autoupload.loadError')); + } + }); + xhr.send(fd); + } + + function getPasteImage(e){ + return e.clipboardData && e.clipboardData.items && e.clipboardData.items.length == 1 && /^image\//.test(e.clipboardData.items[0].type) ? e.clipboardData.items:null; + } + function getDropImage(e){ + return e.dataTransfer && e.dataTransfer.files ? e.dataTransfer.files:null; + } + + return { + outputRule: function(root){ + utils.each(root.getNodesByTagName('img'),function(n){ + if (/\b(loaderrorclass)|(bloaderrorclass)\b/.test(n.getAttr('class'))) { + n.parentNode.removeChild(n); + } + }); + utils.each(root.getNodesByTagName('p'),function(n){ + if (/\bloadpara\b/.test(n.getAttr('class'))) { + n.parentNode.removeChild(n); + } + }); + }, + bindEvents:{ + //插入粘贴板的图片,拖放插入图片 + 'ready':function(e){ + var me = this; + if(window.FormData && window.FileReader) { + domUtils.on(me.body, 'paste drop', function(e){ + var hasImg = false, + items; + //获取粘贴板文件列表或者拖放文件列表 + items = e.type == 'paste' ? getPasteImage(e):getDropImage(e); + if(items){ + var len = items.length, + file; + while (len--){ + file = items[len]; + if(file.getAsFile) file = file.getAsFile(); + if(file && file.size > 0) { + sendAndInsertFile(file, me); + hasImg = true; + } + } + hasImg && e.preventDefault(); + } + + }); + //取消拖放图片时出现的文字光标位置提示 + domUtils.on(me.body, 'dragover', function (e) { + if(e.dataTransfer.types[0] == 'Files') { + e.preventDefault(); + } + }); + + //设置loading的样式 + utils.cssRule('loading', + '.loadingclass{display:inline-block;cursor:default;background: url(\'' + + this.options.themePath + + this.options.theme +'/images/loading.gif\') no-repeat center center transparent;border:1px solid #cccccc;margin-left:1px;height: 22px;width: 22px;}\n' + + '.loaderrorclass{display:inline-block;cursor:default;background: url(\'' + + this.options.themePath + + this.options.theme +'/images/loaderror.png\') no-repeat center center transparent;border:1px solid #cccccc;margin-right:1px;height: 22px;width: 22px;' + + '}', + this.document); + } + } + } + } +}); + +// plugins/autosave.js +UE.plugin.register('autosave', function (){ + + var me = this, + //无限循环保护 + lastSaveTime = new Date(), + //最小保存间隔时间 + MIN_TIME = 20, + //auto save key + saveKey = null; + + function save ( editor ) { + + var saveData; + + if ( new Date() - lastSaveTime < MIN_TIME ) { + return; + } + + if ( !editor.hasContents() ) { + //这里不能调用命令来删除, 会造成事件死循环 + saveKey && me.removePreferences( saveKey ); + return; + } + + lastSaveTime = new Date(); + + editor._saveFlag = null; + + saveData = me.body.innerHTML; + + if ( editor.fireEvent( "beforeautosave", { + content: saveData + } ) === false ) { + return; + } + + me.setPreferences( saveKey, saveData ); + + editor.fireEvent( "afterautosave", { + content: saveData + } ); + + } + + return { + defaultOptions: { + //默认间隔时间 + saveInterval: 500 + }, + bindEvents:{ + 'ready':function(){ + + var _suffix = "-drafts-data", + key = null; + + if ( me.key ) { + key = me.key + _suffix; + } else { + key = ( me.container.parentNode.id || 'ue-common' ) + _suffix; + } + + //页面地址+编辑器ID 保持唯一 + saveKey = ( location.protocol + location.host + location.pathname ).replace( /[.:\/]/g, '_' ) + key; + + }, + + 'contentchange': function () { + + if ( !saveKey ) { + return; + } + + if ( me._saveFlag ) { + window.clearTimeout( me._saveFlag ); + } + + if ( me.options.saveInterval > 0 ) { + + me._saveFlag = window.setTimeout( function () { + + save( me ); + + }, me.options.saveInterval ); + + } else { + + save(me); + + } + + + } + }, + commands:{ + 'clearlocaldata':{ + execCommand:function (cmd, name) { + if ( saveKey && me.getPreferences( saveKey ) ) { + me.removePreferences( saveKey ) + } + }, + notNeedUndo: true, + ignoreContentChange:true + }, + + 'getlocaldata':{ + execCommand:function (cmd, name) { + return saveKey ? me.getPreferences( saveKey ) || '' : ''; + }, + notNeedUndo: true, + ignoreContentChange:true + }, + + 'drafts':{ + execCommand:function (cmd, name) { + if ( saveKey ) { + me.body.innerHTML = me.getPreferences( saveKey ) || '

      '+domUtils.fillHtml+'

      '; + me.focus(true); + } + }, + queryCommandState: function () { + return saveKey ? ( me.getPreferences( saveKey ) === null ? -1 : 0 ) : -1; + }, + notNeedUndo: true, + ignoreContentChange:true + } + } + } + +}); + +// plugins/charts.js +UE.plugin.register('charts', function (){ + + var me = this; + + return { + bindEvents: { + 'chartserror': function () { + } + }, + commands:{ + 'charts': { + execCommand: function ( cmd, data ) { + + var tableNode = domUtils.findParentByTagName(this.selection.getRange().startContainer, 'table', true), + flagText = [], + config = {}; + + if ( !tableNode ) { + return false; + } + + if ( !validData( tableNode ) ) { + me.fireEvent( "chartserror" ); + return false; + } + + config.title = data.title || ''; + config.subTitle = data.subTitle || ''; + config.xTitle = data.xTitle || ''; + config.yTitle = data.yTitle || ''; + config.suffix = data.suffix || ''; + config.tip = data.tip || ''; + //数据对齐方式 + config.dataFormat = data.tableDataFormat || ''; + //图表类型 + config.chartType = data.chartType || 0; + + for ( var key in config ) { + + if ( !config.hasOwnProperty( key ) ) { + continue; + } + + flagText.push( key+":"+config[ key ] ); + + } + + tableNode.setAttribute( "data-chart", flagText.join( ";" ) ); + domUtils.addClass( tableNode, "edui-charts-table" ); + + + + }, + queryCommandState: function ( cmd, name ) { + + var tableNode = domUtils.findParentByTagName(this.selection.getRange().startContainer, 'table', true); + return tableNode && validData( tableNode ) ? 0 : -1; + + } + } + }, + inputRule:function(root){ + utils.each(root.getNodesByTagName('table'),function( tableNode ){ + + if ( tableNode.getAttr("data-chart") !== undefined ) { + tableNode.setAttr("style"); + } + + }) + + }, + outputRule:function(root){ + utils.each(root.getNodesByTagName('table'),function( tableNode ){ + + if ( tableNode.getAttr("data-chart") !== undefined ) { + tableNode.setAttr("style", "display: none;"); + } + + }) + + } + } + + function validData ( table ) { + + var firstRows = null, + cellCount = 0; + + //行数不够 + if ( table.rows.length < 2 ) { + return false; + } + + //列数不够 + if ( table.rows[0].cells.length < 2 ) { + return false; + } + + //第一行所有cell必须是th + firstRows = table.rows[ 0 ].cells; + cellCount = firstRows.length; + + for ( var i = 0, cell; cell = firstRows[ i ]; i++ ) { + + if ( cell.tagName.toLowerCase() !== 'th' ) { + return false; + } + + } + + for ( var i = 1, row; row = table.rows[ i ]; i++ ) { + + //每行单元格数不匹配, 返回false + if ( row.cells.length != cellCount ) { + return false; + } + + //第一列不是th也返回false + if ( row.cells[0].tagName.toLowerCase() !== 'th' ) { + return false; + } + + for ( var j = 1, cell; cell = row.cells[ j ]; j++ ) { + + var value = utils.trim( ( cell.innerText || cell.textContent || '' ) ); + + value = value.replace( new RegExp( UE.dom.domUtils.fillChar, 'g' ), '' ).replace( /^\s+|\s+$/g, '' ); + + //必须是数字 + if ( !/^\d*\.?\d+$/.test( value ) ) { + return false; + } + + } + + } + + return true; + + } + +}); + +// plugins/section.js +/** + * 目录大纲支持插件 + * @file + * @since 1.3.0 + */ +UE.plugin.register('section', function (){ + /* 目录节点对象 */ + function Section(option){ + this.tag = ''; + this.level = -1, + this.dom = null; + this.nextSection = null; + this.previousSection = null; + this.parentSection = null; + this.startAddress = []; + this.endAddress = []; + this.children = []; + } + function getSection(option) { + var section = new Section(); + return utils.extend(section, option); + } + function getNodeFromAddress(startAddress, root) { + var current = root; + for(var i = 0;i < startAddress.length; i++) { + if(!current.childNodes) return null; + current = current.childNodes[startAddress[i]]; + } + return current; + } + + var me = this; + + return { + bindMultiEvents:{ + type: 'aftersetcontent afterscencerestore', + handler: function(){ + me.fireEvent('updateSections'); + } + }, + bindEvents:{ + /* 初始化、拖拽、粘贴、执行setcontent之后 */ + 'ready': function (){ + me.fireEvent('updateSections'); + domUtils.on(me.body, 'drop paste', function(){ + me.fireEvent('updateSections'); + }); + }, + /* 执行paragraph命令之后 */ + 'afterexeccommand': function (type, cmd) { + if(cmd == 'paragraph') { + me.fireEvent('updateSections'); + } + }, + /* 部分键盘操作,触发updateSections事件 */ + 'keyup': function (type, e) { + var me = this, + range = me.selection.getRange(); + if(range.collapsed != true) { + me.fireEvent('updateSections'); + } else { + var keyCode = e.keyCode || e.which; + if(keyCode == 13 || keyCode == 8 || keyCode == 46) { + me.fireEvent('updateSections'); + } + } + } + }, + commands:{ + 'getsections': { + execCommand: function (cmd, levels) { + var levelFn = levels || ['h1', 'h2', 'h3', 'h4', 'h5', 'h6']; + + for (var i = 0; i < levelFn.length; i++) { + if (typeof levelFn[i] == 'string') { + levelFn[i] = function(fn){ + return function(node){ + return node.tagName == fn.toUpperCase() + }; + }(levelFn[i]); + } else if (typeof levelFn[i] != 'function') { + levelFn[i] = function (node) { + return null; + } + } + } + function getSectionLevel(node) { + for (var i = 0; i < levelFn.length; i++) { + if (levelFn[i](node)) return i; + } + return -1; + } + + var me = this, + Directory = getSection({'level':-1, 'title':'root'}), + previous = Directory; + + function traversal(node, Directory) { + var level, + tmpSection = null, + parent, + child, + children = node.childNodes; + for (var i = 0, len = children.length; i < len; i++) { + child = children[i]; + level = getSectionLevel(child); + if (level >= 0) { + var address = me.selection.getRange().selectNode(child).createAddress(true).startAddress, + current = getSection({ + 'tag': child.tagName, + 'title': child.innerText || child.textContent || '', + 'level': level, + 'dom': child, + 'startAddress': utils.clone(address, []), + 'endAddress': utils.clone(address, []), + 'children': [] + }); + previous.nextSection = current; + current.previousSection = previous; + parent = previous; + while(level <= parent.level){ + parent = parent.parentSection; + } + current.parentSection = parent; + parent.children.push(current); + tmpSection = previous = current; + } else { + child.nodeType === 1 && traversal(child, Directory); + tmpSection && tmpSection.endAddress[tmpSection.endAddress.length - 1] ++; + } + } + } + traversal(me.body, Directory); + return Directory; + }, + notNeedUndo: true + }, + 'movesection': { + execCommand: function (cmd, sourceSection, targetSection, isAfter) { + + var me = this, + targetAddress, + target; + + if(!sourceSection || !targetSection || targetSection.level == -1) return; + + targetAddress = isAfter ? targetSection.endAddress:targetSection.startAddress; + target = getNodeFromAddress(targetAddress, me.body); + + /* 判断目标地址是否被源章节包含 */ + if(!targetAddress || !target || isContainsAddress(sourceSection.startAddress, sourceSection.endAddress, targetAddress)) return; + + var startNode = getNodeFromAddress(sourceSection.startAddress, me.body), + endNode = getNodeFromAddress(sourceSection.endAddress, me.body), + current, + nextNode; + + if(isAfter) { + current = endNode; + while ( current && !(domUtils.getPosition( startNode, current ) & domUtils.POSITION_FOLLOWING) ) { + nextNode = current.previousSibling; + domUtils.insertAfter(target, current); + if(current == startNode) break; + current = nextNode; + } + } else { + current = startNode; + while ( current && !(domUtils.getPosition( current, endNode ) & domUtils.POSITION_FOLLOWING) ) { + nextNode = current.nextSibling; + target.parentNode.insertBefore(current, target); + if(current == endNode) break; + current = nextNode; + } + } + + me.fireEvent('updateSections'); + + /* 获取地址的包含关系 */ + function isContainsAddress(startAddress, endAddress, addressTarget){ + var isAfterStartAddress = false, + isBeforeEndAddress = false; + for(var i = 0; i< startAddress.length; i++){ + if(i >= addressTarget.length) break; + if(addressTarget[i] > startAddress[i]) { + isAfterStartAddress = true; + break; + } else if(addressTarget[i] < startAddress[i]) { + break; + } + } + for(var i = 0; i< endAddress.length; i++){ + if(i >= addressTarget.length) break; + if(addressTarget[i] < startAddress[i]) { + isBeforeEndAddress = true; + break; + } else if(addressTarget[i] > startAddress[i]) { + break; + } + } + return isAfterStartAddress && isBeforeEndAddress; + } + } + }, + 'deletesection': { + execCommand: function (cmd, section, keepChildren) { + var me = this; + + if(!section) return; + + function getNodeFromAddress(startAddress) { + var current = me.body; + for(var i = 0;i < startAddress.length; i++) { + if(!current.childNodes) return null; + current = current.childNodes[startAddress[i]]; + } + return current; + } + + var startNode = getNodeFromAddress(section.startAddress), + endNode = getNodeFromAddress(section.endAddress), + current = startNode, + nextNode; + + if(!keepChildren) { + while ( current && domUtils.inDoc(endNode, me.document) && !(domUtils.getPosition( current, endNode ) & domUtils.POSITION_FOLLOWING) ) { + nextNode = current.nextSibling; + domUtils.remove(current); + current = nextNode; + } + } else { + domUtils.remove(current); + } + + me.fireEvent('updateSections'); + } + }, + 'selectsection': { + execCommand: function (cmd, section) { + if(!section && !section.dom) return false; + var me = this, + range = me.selection.getRange(), + address = { + 'startAddress':utils.clone(section.startAddress, []), + 'endAddress':utils.clone(section.endAddress, []) + }; + address.endAddress[address.endAddress.length - 1]++; + range.moveToAddress(address).select().scrollToView(); + return true; + }, + notNeedUndo: true + }, + 'scrolltosection': { + execCommand: function (cmd, section) { + if(!section && !section.dom) return false; + var me = this, + range = me.selection.getRange(), + address = { + 'startAddress':section.startAddress, + 'endAddress':section.endAddress + }; + address.endAddress[address.endAddress.length - 1]++; + range.moveToAddress(address).scrollToView(); + return true; + }, + notNeedUndo: true + } + } + } +}); + +// plugins/simpleupload.js +/** + * @description + * 简单上传:点击按钮,直接选择文件上传 + * @author Jinqn + * @date 2014-03-31 + */ +UE.plugin.register('simpleupload', function (){ + var me = this, + isLoaded = false, + containerBtn; + + function initUploadBtn(){ + var w = containerBtn.offsetWidth || 20, + h = containerBtn.offsetHeight || 20, + btnIframe = document.createElement('iframe'), + btnStyle = 'display:block;width:' + w + 'px;height:' + h + 'px;overflow:hidden;border:0;margin:0;padding:0;position:absolute;top:0;left:0;filter:alpha(opacity=0);-moz-opacity:0;-khtml-opacity: 0;opacity: 0;cursor:pointer;'; + + domUtils.on(btnIframe, 'load', function(){ + + var timestrap = (+new Date()).toString(36), + wrapper, + btnIframeDoc, + btnIframeBody; + + btnIframeDoc = (btnIframe.contentDocument || btnIframe.contentWindow.document); + btnIframeBody = btnIframeDoc.body; + wrapper = btnIframeDoc.createElement('div'); + + wrapper.innerHTML = '
      ' + + '' + + '
      ' + + ''; + + wrapper.className = 'edui-' + me.options.theme; + wrapper.id = me.ui.id + '_iframeupload'; + btnIframeBody.style.cssText = btnStyle; + btnIframeBody.style.width = w + 'px'; + btnIframeBody.style.height = h + 'px'; + btnIframeBody.appendChild(wrapper); + + if (btnIframeBody.parentNode) { + btnIframeBody.parentNode.style.width = w + 'px'; + btnIframeBody.parentNode.style.height = w + 'px'; + } + + var form = btnIframeDoc.getElementById('edui_form_' + timestrap); + var input = btnIframeDoc.getElementById('edui_input_' + timestrap); + var iframe = btnIframeDoc.getElementById('edui_iframe_' + timestrap); + + domUtils.on(input, 'change', function(){ + if(!input.value) return; + var loadingId = 'loading_' + (+new Date()).toString(36); + var params = utils.serializeParam(me.queryCommandValue('serverparam')) || ''; + + var imageActionUrl = me.getActionUrl(me.getOpt('imageActionName')); + var allowFiles = me.getOpt('imageAllowFiles'); + + me.focus(); + me.execCommand('inserthtml', ''); + + function callback(){ + try{ + var link, json, loader, + body = (iframe.contentDocument || iframe.contentWindow.document).body, + result = body.innerText || body.textContent || ''; + json = (new Function("return " + result))(); + link = me.options.imageUrlPrefix + json.url; + if(json.state == 'SUCCESS' && json.url) { + loader = me.document.getElementById(loadingId); + loader.setAttribute('src', link); + loader.setAttribute('_src', link); + loader.setAttribute('title', json.title || ''); + loader.setAttribute('alt', json.original || ''); + loader.removeAttribute('id'); + domUtils.removeClasses(loader, 'loadingclass'); + } else { + showErrorLoader && showErrorLoader(json.state); + } + }catch(er){ + showErrorLoader && showErrorLoader(me.getLang('simpleupload.loadError')); + } + form.reset(); + domUtils.un(iframe, 'load', callback); + } + function showErrorLoader(title){ + if(loadingId) { + var loader = me.document.getElementById(loadingId); + loader && domUtils.remove(loader); + me.fireEvent('showmessage', { + 'id': loadingId, + 'content': title, + 'type': 'error', + 'timeout': 4000 + }); + } + } + + /* 判断后端配置是否没有加载成功 */ + if (!me.getOpt('imageActionName')) { + errorHandler(me.getLang('autoupload.errorLoadConfig')); + return; + } + // 判断文件格式是否错误 + var filename = input.value, + fileext = filename ? filename.substr(filename.lastIndexOf('.')):''; + if (!fileext || (allowFiles && (allowFiles.join('') + '.').indexOf(fileext.toLowerCase() + '.') == -1)) { + showErrorLoader(me.getLang('simpleupload.exceedTypeError')); + return; + } + + domUtils.on(iframe, 'load', callback); + form.action = utils.formatUrl(imageActionUrl + (imageActionUrl.indexOf('?') == -1 ? '?':'&') + params); + form.submit(); + }); + + var stateTimer; + me.addListener('selectionchange', function () { + clearTimeout(stateTimer); + stateTimer = setTimeout(function() { + var state = me.queryCommandState('simpleupload'); + if (state == -1) { + input.disabled = 'disabled'; + } else { + input.disabled = false; + } + }, 400); + }); + isLoaded = true; + }); + + btnIframe.style.cssText = btnStyle; + containerBtn.appendChild(btnIframe); + } + + return { + bindEvents:{ + 'ready': function() { + //设置loading的样式 + utils.cssRule('loading', + '.loadingclass{display:inline-block;cursor:default;background: url(\'' + + this.options.themePath + + this.options.theme +'/images/loading.gif\') no-repeat center center transparent;border:1px solid #cccccc;margin-right:1px;height: 22px;width: 22px;}\n' + + '.loaderrorclass{display:inline-block;cursor:default;background: url(\'' + + this.options.themePath + + this.options.theme +'/images/loaderror.png\') no-repeat center center transparent;border:1px solid #cccccc;margin-right:1px;height: 22px;width: 22px;' + + '}', + this.document); + }, + /* 初始化简单上传按钮 */ + 'simpleuploadbtnready': function(type, container) { + containerBtn = container; + me.afterConfigReady(initUploadBtn); + } + }, + outputRule: function(root){ + utils.each(root.getNodesByTagName('img'),function(n){ + if (/\b(loaderrorclass)|(bloaderrorclass)\b/.test(n.getAttr('class'))) { + n.parentNode.removeChild(n); + } + }); + }, + commands: { + 'simpleupload': { + queryCommandState: function () { + return isLoaded ? 0:-1; + } + } + } + } +}); + +// plugins/serverparam.js +/** + * 服务器提交的额外参数列表设置插件 + * @file + * @since 1.2.6.1 + */ +UE.plugin.register('serverparam', function (){ + + var me = this, + serverParam = {}; + + return { + commands:{ + /** + * 修改服务器提交的额外参数列表,清除所有项 + * @command serverparam + * @method execCommand + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * editor.execCommand('serverparam'); + * editor.queryCommandValue('serverparam'); //返回空 + * ``` + */ + /** + * 修改服务器提交的额外参数列表,删除指定项 + * @command serverparam + * @method execCommand + * @param { String } cmd 命令字符串 + * @param { String } key 要清除的属性 + * @example + * ```javascript + * editor.execCommand('serverparam', 'name'); //删除属性name + * ``` + */ + /** + * 修改服务器提交的额外参数列表,使用键值添加项 + * @command serverparam + * @method execCommand + * @param { String } cmd 命令字符串 + * @param { String } key 要添加的属性 + * @param { String } value 要添加属性的值 + * @example + * ```javascript + * editor.execCommand('serverparam', 'name', 'hello'); + * editor.queryCommandValue('serverparam'); //返回对象 {'name': 'hello'} + * ``` + */ + /** + * 修改服务器提交的额外参数列表,传入键值对对象添加多项 + * @command serverparam + * @method execCommand + * @param { String } cmd 命令字符串 + * @param { Object } key 传入的键值对对象 + * @example + * ```javascript + * editor.execCommand('serverparam', {'name': 'hello'}); + * editor.queryCommandValue('serverparam'); //返回对象 {'name': 'hello'} + * ``` + */ + /** + * 修改服务器提交的额外参数列表,使用自定义函数添加多项 + * @command serverparam + * @method execCommand + * @param { String } cmd 命令字符串 + * @param { Function } key 自定义获取参数的函数 + * @example + * ```javascript + * editor.execCommand('serverparam', function(editor){ + * return {'key': 'value'}; + * }); + * editor.queryCommandValue('serverparam'); //返回对象 {'key': 'value'} + * ``` + */ + + /** + * 获取服务器提交的额外参数列表 + * @command serverparam + * @method queryCommandValue + * @param { String } cmd 命令字符串 + * @example + * ```javascript + * editor.queryCommandValue( 'serverparam' ); //返回对象 {'key': 'value'} + * ``` + */ + 'serverparam':{ + execCommand:function (cmd, key, value) { + if (key === undefined || key === null) { //不传参数,清空列表 + serverParam = {}; + } else if (utils.isString(key)) { //传入键值 + if(value === undefined || value === null) { + delete serverParam[key]; + } else { + serverParam[key] = value; + } + } else if (utils.isObject(key)) { //传入对象,覆盖列表项 + utils.extend(serverParam, key, true); + } else if (utils.isFunction(key)){ //传入函数,添加列表项 + utils.extend(serverParam, key(), true); + } + }, + queryCommandValue: function(){ + return serverParam || {}; + } + } + } + } +}); + + +// plugins/insertfile.js +/** + * 插入附件 + */ +UE.plugin.register('insertfile', function (){ + + var me = this; + + function getFileIcon(url){ + var ext = url.substr(url.lastIndexOf('.') + 1).toLowerCase(), + maps = { + "rar":"icon_rar.gif", + "zip":"icon_rar.gif", + "tar":"icon_rar.gif", + "gz":"icon_rar.gif", + "bz2":"icon_rar.gif", + "doc":"icon_doc.gif", + "docx":"icon_doc.gif", + "pdf":"icon_pdf.gif", + "mp3":"icon_mp3.gif", + "xls":"icon_xls.gif", + "chm":"icon_chm.gif", + "ppt":"icon_ppt.gif", + "pptx":"icon_ppt.gif", + "avi":"icon_mv.gif", + "rmvb":"icon_mv.gif", + "wmv":"icon_mv.gif", + "flv":"icon_mv.gif", + "swf":"icon_mv.gif", + "rm":"icon_mv.gif", + "exe":"icon_exe.gif", + "psd":"icon_psd.gif", + "txt":"icon_txt.gif", + "jpg":"icon_jpg.gif", + "png":"icon_jpg.gif", + "jpeg":"icon_jpg.gif", + "gif":"icon_jpg.gif", + "ico":"icon_jpg.gif", + "bmp":"icon_jpg.gif" + }; + return maps[ext] ? maps[ext]:maps['txt']; + } + + return { + commands:{ + 'insertfile': { + execCommand: function (command, filelist){ + filelist = utils.isArray(filelist) ? filelist : [filelist]; + + var i, item, icon, title, + html = '', + URL = me.getOpt('UEDITOR_HOME_URL'), + iconDir = URL + (URL.substr(URL.length - 1) == '/' ? '':'/') + 'dialogs/attachment/fileTypeImages/'; + for (i = 0; i < filelist.length; i++) { + item = filelist[i]; + icon = iconDir + getFileIcon(item.url); + title = item.title || item.url.substr(item.url.lastIndexOf('/') + 1); + html += '

      ' + + '' + + '' + title + '' + + '

      '; + } + me.execCommand('insertHtml', html); + } + } + } + } +}); + + + + +// plugins/xssFilter.js +/** + * @file xssFilter.js + * @desc xss过滤器 + * @author robbenmu + */ + +UE.plugins.xssFilter = function() { + + var config = UEDITOR_CONFIG; + var whitList = config.whitList; + + function filter(node) { + + var tagName = node.tagName; + var attrs = node.attrs; + + if (!whitList.hasOwnProperty(tagName)) { + node.parentNode.removeChild(node); + return false; + } + + UE.utils.each(attrs, function (val, key) { + + if (whitList[tagName].indexOf(key) === -1) { + node.setAttr(key); + } + }); + } + + // 添加inserthtml\paste等操作用的过滤规则 + if (whitList && config.xssFilterRules) { + this.options.filterRules = function () { + + var result = {}; + + UE.utils.each(whitList, function(val, key) { + result[key] = function (node) { + return filter(node); + }; + }); + + return result; + }(); + } + + var tagList = []; + + UE.utils.each(whitList, function (val, key) { + tagList.push(key); + }); + + // 添加input过滤规则 + // + if (whitList && config.inputXssFilter) { + this.addInputRule(function (root) { + + root.traversal(function(node) { + if (node.type !== 'element') { + return false; + } + filter(node); + }); + }); + } + // 添加output过滤规则 + // + if (whitList && config.outputXssFilter) { + this.addOutputRule(function (root) { + + root.traversal(function(node) { + if (node.type !== 'element') { + return false; + } + filter(node); + }); + }); + } + +}; + + +// ui/ui.js +var baidu = baidu || {}; +baidu.editor = baidu.editor || {}; +UE.ui = baidu.editor.ui = {}; + +// ui/uiutils.js +(function (){ + var browser = baidu.editor.browser, + domUtils = baidu.editor.dom.domUtils; + + var magic = '$EDITORUI'; + var root = window[magic] = {}; + var uidMagic = 'ID' + magic; + var uidCount = 0; + + var uiUtils = baidu.editor.ui.uiUtils = { + uid: function (obj){ + return (obj ? obj[uidMagic] || (obj[uidMagic] = ++ uidCount) : ++ uidCount); + }, + hook: function ( fn, callback ) { + var dg; + if (fn && fn._callbacks) { + dg = fn; + } else { + dg = function (){ + var q; + if (fn) { + q = fn.apply(this, arguments); + } + var callbacks = dg._callbacks; + var k = callbacks.length; + while (k --) { + var r = callbacks[k].apply(this, arguments); + if (q === undefined) { + q = r; + } + } + return q; + }; + dg._callbacks = []; + } + dg._callbacks.push(callback); + return dg; + }, + createElementByHtml: function (html){ + var el = document.createElement('div'); + el.innerHTML = html; + el = el.firstChild; + el.parentNode.removeChild(el); + return el; + }, + getViewportElement: function (){ + return (browser.ie && browser.quirks) ? + document.body : document.documentElement; + }, + getClientRect: function (element){ + var bcr; + //trace IE6下在控制编辑器显隐时可能会报错,catch一下 + try{ + bcr = element.getBoundingClientRect(); + }catch(e){ + bcr={left:0,top:0,height:0,width:0} + } + var rect = { + left: Math.round(bcr.left), + top: Math.round(bcr.top), + height: Math.round(bcr.bottom - bcr.top), + width: Math.round(bcr.right - bcr.left) + }; + var doc; + while ((doc = element.ownerDocument) !== document && + (element = domUtils.getWindow(doc).frameElement)) { + bcr = element.getBoundingClientRect(); + rect.left += bcr.left; + rect.top += bcr.top; + } + rect.bottom = rect.top + rect.height; + rect.right = rect.left + rect.width; + return rect; + }, + getViewportRect: function (){ + var viewportEl = uiUtils.getViewportElement(); + var width = (window.innerWidth || viewportEl.clientWidth) | 0; + var height = (window.innerHeight ||viewportEl.clientHeight) | 0; + return { + left: 0, + top: 0, + height: height, + width: width, + bottom: height, + right: width + }; + }, + setViewportOffset: function (element, offset){ + var rect; + var fixedLayer = uiUtils.getFixedLayer(); + if (element.parentNode === fixedLayer) { + element.style.left = offset.left + 'px'; + element.style.top = offset.top + 'px'; + } else { + domUtils.setViewportOffset(element, offset); + } + }, + getEventOffset: function (evt){ + var el = evt.target || evt.srcElement; + var rect = uiUtils.getClientRect(el); + var offset = uiUtils.getViewportOffsetByEvent(evt); + return { + left: offset.left - rect.left, + top: offset.top - rect.top + }; + }, + getViewportOffsetByEvent: function (evt){ + var el = evt.target || evt.srcElement; + var frameEl = domUtils.getWindow(el).frameElement; + var offset = { + left: evt.clientX, + top: evt.clientY + }; + if (frameEl && el.ownerDocument !== document) { + var rect = uiUtils.getClientRect(frameEl); + offset.left += rect.left; + offset.top += rect.top; + } + return offset; + }, + setGlobal: function (id, obj){ + root[id] = obj; + return magic + '["' + id + '"]'; + }, + unsetGlobal: function (id){ + delete root[id]; + }, + copyAttributes: function (tgt, src){ + var attributes = src.attributes; + var k = attributes.length; + while (k --) { + var attrNode = attributes[k]; + if ( attrNode.nodeName != 'style' && attrNode.nodeName != 'class' && (!browser.ie || attrNode.specified) ) { + tgt.setAttribute(attrNode.nodeName, attrNode.nodeValue); + } + } + if (src.className) { + domUtils.addClass(tgt,src.className); + } + if (src.style.cssText) { + tgt.style.cssText += ';' + src.style.cssText; + } + }, + removeStyle: function (el, styleName){ + if (el.style.removeProperty) { + el.style.removeProperty(styleName); + } else if (el.style.removeAttribute) { + el.style.removeAttribute(styleName); + } else throw ''; + }, + contains: function (elA, elB){ + return elA && elB && (elA === elB ? false : ( + elA.contains ? elA.contains(elB) : + elA.compareDocumentPosition(elB) & 16 + )); + }, + startDrag: function (evt, callbacks,doc){ + var doc = doc || document; + var startX = evt.clientX; + var startY = evt.clientY; + function handleMouseMove(evt){ + var x = evt.clientX - startX; + var y = evt.clientY - startY; + callbacks.ondragmove(x, y,evt); + if (evt.stopPropagation) { + evt.stopPropagation(); + } else { + evt.cancelBubble = true; + } + } + if (doc.addEventListener) { + function handleMouseUp(evt){ + doc.removeEventListener('mousemove', handleMouseMove, true); + doc.removeEventListener('mouseup', handleMouseUp, true); + window.removeEventListener('mouseup', handleMouseUp, true); + callbacks.ondragstop(); + } + doc.addEventListener('mousemove', handleMouseMove, true); + doc.addEventListener('mouseup', handleMouseUp, true); + window.addEventListener('mouseup', handleMouseUp, true); + + evt.preventDefault(); + } else { + var elm = evt.srcElement; + elm.setCapture(); + function releaseCaptrue(){ + elm.releaseCapture(); + elm.detachEvent('onmousemove', handleMouseMove); + elm.detachEvent('onmouseup', releaseCaptrue); + elm.detachEvent('onlosecaptrue', releaseCaptrue); + callbacks.ondragstop(); + } + elm.attachEvent('onmousemove', handleMouseMove); + elm.attachEvent('onmouseup', releaseCaptrue); + elm.attachEvent('onlosecaptrue', releaseCaptrue); + evt.returnValue = false; + } + callbacks.ondragstart(); + }, + getFixedLayer: function (){ + var layer = document.getElementById('edui_fixedlayer'); + if (layer == null) { + layer = document.createElement('div'); + layer.id = 'edui_fixedlayer'; + document.body.appendChild(layer); + if (browser.ie && browser.version <= 8) { + layer.style.position = 'absolute'; + bindFixedLayer(); + setTimeout(updateFixedOffset); + } else { + layer.style.position = 'fixed'; + } + layer.style.left = '0'; + layer.style.top = '0'; + layer.style.width = '0'; + layer.style.height = '0'; + } + return layer; + }, + makeUnselectable: function (element){ + if (browser.opera || (browser.ie && browser.version < 9)) { + element.unselectable = 'on'; + if (element.hasChildNodes()) { + for (var i=0; i

      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 nOEJdxuO0jSfB%Jg{^!0*Qo_2r@Sm{The number of characters has exceeded allowable maximum values, the server may refuse to save!', + 'ok':"OK", + 'cancel':"Cancel", + 'closeDialog':"closeDialog", + 'tableDrag':"You must import the file uiUtils.js before drag! ", + 'autofloatMsg':"The plugin AutoFloat depends on EditorUI!", + 'loadconfigError': 'Get server config error.', + 'loadconfigFormatError': 'Server config format error.', + 'loadconfigHttpError': 'Get server config http error.', + 'snapScreen_plugin':{ + 'browserMsg':"Only IE supported!", + 'callBackErrorMsg':"The callback data is wrong,please check the config!", + 'uploadErrorMsg':"Upload error,please check your server environment! " + }, + 'insertcode':{ + 'as3':'ActionScript 3', + 'bash':'Bash/Shell', + 'cpp':'C/C++', + 'css':'CSS', + 'cf':'ColdFusion', + 'c#':'C#', + 'delphi':'Delphi', + 'diff':'Diff', + 'erlang':'Erlang', + 'groovy':'Groovy', + 'html':'HTML', + 'java':'Java', + 'jfx':'JavaFX', + 'js':'JavaScript', + 'pl':'Perl', + 'php':'PHP', + 'plain':'Plain Text', + 'ps':'PowerShell', + 'python':'Python', + 'ruby':'Ruby', + 'scala':'Scala', + 'sql':'SQL', + 'vb':'Visual Basic', + 'xml':'XML' + }, + 'confirmClear':"Do you confirm to clear the Document?", + 'contextMenu':{ + 'delete':"Delete", + 'selectall':"Select all", + 'deletecode':"Delete Code", + 'cleardoc':"Clear Document", + 'confirmclear':"Do you confirm to clear the Document?", + 'unlink':"Unlink", + 'paragraph':"Paragraph", + 'edittable':"Table property", + 'aligncell':'Align cell', + 'aligntable':'Table alignment', + 'tableleft':'Left float', + 'tablecenter':'Center', + 'tableright':'Right float', + 'aligntd':'Cell alignment', + 'edittd':"Cell property", + 'setbordervisible':'set table edge visible', + 'table':"Table", + 'justifyleft':'Justify Left', + 'justifyright':'Justify Right', + 'justifycenter':'Justify Center', + 'justifyjustify':'Default', + 'deletetable':"Delete table", + 'insertparagraphbefore':"InsertedBeforeLine", + 'insertparagraphafter':'InsertedAfterLine', + 'inserttable':'Insert table', + 'insertcaption':'Insert caption', + 'deletecaption':'Delete Caption', + 'inserttitle':'Insert Title', + 'deletetitle':'Delete Title', + 'inserttitlecol':'Insert Title Col', + 'deletetitlecol':'Delete Title Col', + 'averageDiseRow':'AverageDise Row', + 'averageDisCol':'AverageDis Col', + 'deleterow':"Delete row", + 'deletecol':"Delete col", + 'insertrow':"Insert row", + 'insertcol':"Insert col", + 'insertrownext':'Insert Row Next', + 'insertcolnext':'Insert Col Next', + 'mergeright':"Merge right", + 'mergeleft':"Merge left", + 'mergedown':"Merge down", + 'mergecells':"Merge cells", + 'splittocells':"Split to cells", + 'splittocols':"Split to Cols", + 'splittorows':"Split to Rows", + 'tablesort':'Table sorting', + 'enablesort':'Sorting Enable', + 'disablesort':'Sorting Disable', + 'reversecurrent':'Reverse current', + 'orderbyasc':'Order By ASCII', + 'reversebyasc':'Reverse By ASCII', + 'orderbynum':'Order By Num', + 'reversebynum':'Reverse By Num', + 'borderbk':'Border shading', + 'setcolor':'interlaced color', + 'unsetcolor':'Cancel interlacedcolor', + 'setbackground':'Background interlaced', + 'unsetbackground':'Cancel Bk interlaced', + 'redandblue':'Blue and red', + 'threecolorgradient':'Three-color gradient', + 'copy':"Copy(Ctrl + c)", + 'copymsg':"Browser does not support. Please use 'Ctrl + c' instead!", + 'paste':"Paste(Ctrl + v)", + 'pastemsg':"Browser does not support. Please use 'Ctrl + v' instead!" + }, + 'copymsg': "Browser does not support. Please use 'Ctrl + c' instead!", + 'pastemsg': "Browser does not support. Please use 'Ctrl + v' instead!", + 'anthorMsg':"Link", + 'clearColor':'Clear', + 'standardColor':'Standard color', + 'themeColor':'Theme color', + 'property':'Property', + 'default':'Default', + 'modify':'Modify', + 'justifyleft':'Justify Left', + 'justifyright':'Justify Right', + 'justifycenter':'Justify Center', + 'justify':'Default', + 'clear':'Clear', + 'anchorMsg':'Anchor', + 'delete':'Delete', + 'clickToUpload':"Click to upload", + 'unset':'Language hasn\'t been set!', + 't_row':'row', + 't_col':'col', + 'pasteOpt':'Paste Option', + 'pasteSourceFormat':"Keep Source Formatting", + 'tagFormat':'Keep tag', + 'pasteTextFormat':'Keep Text only', + 'more':'More', + 'autoTypeSet':{ + 'mergeLine':"Merge empty line", + 'delLine':"Del empty line", + 'removeFormat':"Remove format", + 'indent':"Indent", + 'alignment':"Alignment", + 'imageFloat':"Image float", + 'removeFontsize':"Remove font size", + 'removeFontFamily':"Remove fontFamily", + 'removeHtml':"Remove redundant HTML code", + 'pasteFilter':"Paste filter", + 'run':"Done", + 'symbol':'Symbol Conversion', + 'bdc2sb':'Full-width to Half-width', + 'tobdc':'Half-width to Full-width' + }, + + 'background':{ + 'static':{ + 'lang_background_normal':'Normal', + 'lang_background_local':'Online', + 'lang_background_set':'Background Set', + 'lang_background_none':'No Background', + 'lang_background_colored':'Colored Background', + 'lang_background_color':'Color Set', + 'lang_background_netimg':'Net-Image', + 'lang_background_align':'Align Type', + 'lang_background_position':'Position', + 'repeatType':{'options':["Center", "Repeat-x", "Repeat-y", "Tile","Custom"]} + }, + 'noUploadImage':"No pictures has been uploaded!", + 'toggleSelect':'Change the active state by click!\n Image Size: ' + }, + //===============dialog i18N======================= + 'insertimage':{ + 'static':{ + 'lang_tab_remote':"Insert", + 'lang_tab_upload':"Local", + 'lang_tab_online':"Manager", + 'lang_tab_search':"Search", + 'lang_input_url':"Address:", + 'lang_input_size':"Size:", + 'lang_input_width':"Width", + 'lang_input_height':"Height", + 'lang_input_border':"Border:", + 'lang_input_vhspace':"Margins:", + 'lang_input_title':"Title:", + 'lang_input_align':'Image Float Style:', + 'lang_imgLoading':"Loading...", + 'lang_start_upload':"Start Upload", + 'lock':{'title':"Lock rate"}, + 'searchType':{'title':"ImageType", 'options':["News", "Wallpaper", "emotions", "photo"]}, + 'searchTxt':{'value':"Enter the search keyword!"}, + 'searchBtn':{'value':"Search"}, + 'searchReset':{'value':"Clear"}, + 'noneAlign':{'title':'None Float'}, + 'leftAlign':{'title':'Left Float'}, + 'rightAlign':{'title':'Right Float'}, + 'centerAlign':{'title':'Center In A Line'} + }, + 'uploadSelectFile':'Select File', + 'uploadAddFile':'Add File', + 'uploadStart':'Start Upload', + 'uploadPause':'Pause Upload', + 'uploadContinue':'Continue Upload', + 'uploadRetry':'Retry Upload', + 'uploadDelete':'Delete', + 'uploadTurnLeft':'Turn Left', + 'uploadTurnRight':'Turn Right', + 'uploadPreview':'Doing Preview', + 'uploadNoPreview':'Can Not Preview', + 'updateStatusReady': 'Selected _ pictures, total _KB.', + 'updateStatusConfirm': '_ uploaded successfully and _ upload failed', + 'updateStatusFinish': 'Total _ pictures (_KB), _ uploaded successfully', + 'updateStatusError': ' and _ upload failed', + 'errorNotSupport': 'WebUploader does not support the browser you are using. Please upgrade your browser or flash player', + 'errorLoadConfig': 'Server config not loaded, upload can not work.', + 'errorExceedSize':'File Size Exceed', + 'errorFileType':'File Type Not Allow', + 'errorInterrupt':'File Upload Interrupted', + 'errorUploadRetry':'Upload Error, Please Retry.', + 'errorHttp':'Http Error', + 'errorServerUpload':'Server Result Error.', + 'remoteLockError':"Cannot Lock the Proportion between width and height", + 'numError':"Please enter the correct Num. e.g 123,400", + 'imageUrlError':"The image format may be wrong!", + 'imageLoadError':"Error,please check the network or URL!", + 'searchRemind':"Enter the search keyword!", + 'searchLoading':"Image is loading,please wait...", + 'searchRetry':" Sorry,can't find the image,please try again!" + }, + 'attachment':{ + 'static':{ + 'lang_tab_upload': 'Upload', + 'lang_tab_online': 'Online', + 'lang_start_upload':"Start upload", + 'lang_drop_remind':"You can drop files here, a single maximum of 300 files" + }, + 'uploadSelectFile':'Select File', + 'uploadAddFile':'Add File', + 'uploadStart':'Start Upload', + 'uploadPause':'Pause Upload', + 'uploadContinue':'Continue Upload', + 'uploadRetry':'Retry Upload', + 'uploadDelete':'Delete', + 'uploadTurnLeft':'Turn Left', + 'uploadTurnRight':'Turn Right', + 'uploadPreview':'Doing Preview', + 'updateStatusReady': 'Selected _ files, total _KB.', + 'updateStatusConfirm': '_ uploaded successfully and _ upload failed', + 'updateStatusFinish': 'Total _ files (_KB), _ uploaded successfully', + 'updateStatusError': ' and _ upload failed', + 'errorNotSupport': 'WebUploader does not support the browser you are using. Please upgrade your browser or flash player', + 'errorLoadConfig': 'Server config not loaded, upload can not work.', + 'errorExceedSize':'File Size Exceed', + 'errorFileType':'File Type Not Allow', + 'errorInterrupt':'File Upload Interrupted', + 'errorUploadRetry':'Upload Error, Please Retry.', + 'errorHttp':'Http Error', + 'errorServerUpload':'Server Result Error.' + }, + + 'insertvideo':{ + 'static':{ + 'lang_tab_insertV':"Video", + 'lang_tab_searchV':"Search", + 'lang_tab_uploadV':"Upload", + 'lang_video_url':" URL ", + 'lang_video_size':"Video Size", + 'lang_videoW':"Width", + 'lang_videoH':"Height", + 'lang_alignment':"Alignment", + 'videoSearchTxt':{'value':"Enter the search keyword!"}, + 'videoType':{'options':["All", "Hot", "Entertainment", "Funny", "Sports", "Science", "variety"]}, + 'videoSearchBtn':{'value':"Search in Baidu"}, + 'videoSearchReset':{'value':"Clear result"}, + + 'lang_input_fileStatus':' No file uploaded!', + 'startUpload':{'style':"background:url(upload.png) no-repeat;"}, + + 'lang_upload_size':"Video Size", + 'lang_upload_width':"Width", + 'lang_upload_height':"Height", + 'lang_upload_alignment':"Alignment", + 'lang_format_advice':"Recommends mp4 format." + }, + 'numError':"Please enter the correct Num. e.g 123,400", + 'floatLeft':"Float left", + 'floatRight':"Float right", + 'default':"Default", + 'block':"Display in block", + 'urlError':"The video url format may be wrong!", + 'loading':"  The video is loading, please wait…", + 'clickToSelect':"Click to select", + 'goToSource':'Visit source video ', + 'noVideo':"    Sorry,can't find the video,please try again!", + + 'browseFiles':'Open files', + 'uploadSuccess':'Upload Successful!', + 'delSuccessFile':'Remove from the success of the queue', + 'delFailSaveFile':'Remove the save failed file', + 'statusPrompt':' file(s) uploaded! ', + 'flashVersionError':'The current Flash version is too low, please update FlashPlayer,then try again!', + 'flashLoadingError':'The Flash failed loading! Please check the path or network state', + 'fileUploadReady':'Wait for uploading...', + 'delUploadQueue':'Remove from the uploading queue ', + 'limitPrompt1':'Can not choose more than single', + 'limitPrompt2':'file(s)!Please choose again!', + 'delFailFile':'Remove failure file', + 'fileSizeLimit':'File size exceeds the limit!', + 'emptyFile':'Can not upload an empty file!', + 'fileTypeError':'File type error!', + 'unknownError':'Unknown error!', + 'fileUploading':'Uploading,please wait...', + 'cancelUpload':'Cancel upload', + 'netError':'Network error', + 'failUpload':'Upload failed', + 'serverIOError':'Server IO error!', + 'noAuthority':'No Permission!', + 'fileNumLimit':'Upload limit to the number', + 'failCheck':'Authentication fails, the upload is skipped!', + 'fileCanceling':'Cancel, please wait...', + 'stopUploading':'Upload has stopped...', + + 'uploadSelectFile':'Select File', + 'uploadAddFile':'Add File', + 'uploadStart':'Start Upload', + 'uploadPause':'Pause Upload', + 'uploadContinue':'Continue Upload', + 'uploadRetry':'Retry Upload', + 'uploadDelete':'Delete', + 'uploadTurnLeft':'Turn Left', + 'uploadTurnRight':'Turn Right', + 'uploadPreview':'Doing Preview', + 'updateStatusReady': 'Selected _ files, total _KB.', + 'updateStatusConfirm': '_ uploaded successfully and _ upload failed', + 'updateStatusFinish': 'Total _ files (_KB), _ uploaded successfully', + 'updateStatusError': ' and _ upload failed', + 'errorNotSupport': 'WebUploader does not support the browser you are using. Please upgrade your browser or flash player', + 'errorLoadConfig': 'Server config not loaded, upload can not work.', + 'errorExceedSize':'File Size Exceed', + 'errorFileType':'File Type Not Allow', + 'errorInterrupt':'File Upload Interrupted', + 'errorUploadRetry':'Upload Error, Please Retry.', + 'errorHttp':'Http Error', + 'errorServerUpload':'Server Result Error.' + }, + 'webapp':{ + 'tip1':"This function provided by Baidu APP,please apply for baidu APPKey webmaster first!", + 'tip2':"And then open the file ueditor.config.js to set it! ", + 'applyFor':"APPLY FOR", + 'anthorApi':"Baidu API" + }, + 'template':{ + 'static':{ + 'lang_template_bkcolor':'Background Color', + 'lang_template_clear' : 'Keep Content', + 'lang_template_select':'Select Template' + }, + 'blank':"Blank", + 'blog':"Blog", + 'resume':"Resume", + 'richText':"Rich Text", + 'scrPapers':"Scientific Papers" + }, + scrawl:{ + 'static':{ + 'lang_input_previousStep':"Previous", + 'lang_input_nextsStep':"Next", + 'lang_input_clear':'Clear', + 'lang_input_addPic':'AddImage', + 'lang_input_ScalePic':'ScaleImage', + 'lang_input_removePic':'RemoveImage', + 'J_imgTxt':{title:'Add background image'} + }, + 'noScarwl':"No paint, a white paper...", + 'scrawlUpLoading':"Image is uploading, please wait...", + 'continueBtn':"Try again", + 'imageError':"Image failed to load!", + 'backgroundUploading':'Image is uploading,please wait...' + }, + 'music':{ + 'static':{ + 'lang_input_tips':"Input singer/song/album, search you interested in music!", + 'J_searchBtn':{value:'Search songs'} + }, + 'emptyTxt':'Not search to the relevant music results, please change a keyword try.', + 'chapter':'Songs', + 'singer':'Singer', + 'special':'Album', + 'listenTest':'Audition' + }, + anchor:{ + 'static':{ + 'lang_input_anchorName':'Anchor Name:' + } + }, + 'charts':{ + 'static':{ + 'lang_data_source':'Data source:', + 'lang_chart_format': 'Chart format:', + 'lang_data_align': 'Align', + 'lang_chart_align_same': 'Consistent with the X-axis Y-axis', + 'lang_chart_align_reverse': 'X-axis Y-axis opposite', + 'lang_chart_title': 'Title', + 'lang_chart_main_title': 'main title:', + 'lang_chart_sub_title': 'sub title:', + 'lang_chart_x_title': 'X-axis title:', + 'lang_chart_y_title': 'Y-axis title:', + 'lang_chart_tip': 'Prompt', + 'lang_cahrt_tip_prefix': 'prefix:', + 'lang_cahrt_tip_description': '仅饼图有效, 当鼠标移动到饼图中相应的块上时,提示框内的文字的前缀', + 'lang_chart_data_unit': 'Unit', + 'lang_chart_data_unit_title': 'unit:', + 'lang_chart_data_unit_description': '显示在每个数据点上的数据的单位, 比如: 温度的单位 ℃', + 'lang_chart_type': 'Chart type:', + 'lang_prev_btn': 'Previous', + 'lang_next_btn': 'Next' + } + }, + emotion:{ + 'static':{ + 'lang_input_choice':'Choice', + 'lang_input_Tuzki':'Tuzki', + 'lang_input_lvdouwa':'LvDouWa', + 'lang_input_BOBO':'BOBO', + 'lang_input_babyCat':'BabyCat', + 'lang_input_bubble':'Bubble', + 'lang_input_youa':'YouA' + } + }, + gmap:{ + 'static':{ + 'lang_input_address':'Address:', + 'lang_input_search':'Search', + 'address':{value:"Beijing"} + }, + searchError:'Unable to locate the address!' + }, + help:{ + 'static':{ + 'lang_input_about':'About', + 'lang_input_shortcuts':'Shortcuts', + 'lang_input_introduction':"UEditor is developed by Baidu Co.ltd. It is lightweight, customizable , focusing on user experience and etc. , UEditor is based on open source BSD license , allowing free use and redistribution.", + 'lang_Txt_shortcuts':'Shortcuts', + 'lang_Txt_func':'Function', + 'lang_Txt_bold':'Bold', + 'lang_Txt_copy':'Copy', + 'lang_Txt_cut':'Cut', + 'lang_Txt_Paste':'Paste', + 'lang_Txt_undo':'Undo', + 'lang_Txt_redo':'Redo', + 'lang_Txt_italic':'Italic', + 'lang_Txt_underline':'Underline', + 'lang_Txt_selectAll':'Select All', + 'lang_Txt_visualEnter':'Submit', + 'lang_Txt_fullscreen':'Fullscreen' + } + }, + insertframe:{ + 'static':{ + 'lang_input_address':'Address:', + 'lang_input_width':'Width:', + 'lang_input_height':'height:', + 'lang_input_isScroll':'Enable scrollbars:', + 'lang_input_frameborder':'Show frame border:', + 'lang_input_alignMode':'Alignment:', + 'align':{title:"Alignment", options:["Default", "Left", "Right", "Center"]} + }, + 'enterAddress':'Please enter an address!' + }, + link:{ + 'static':{ + 'lang_input_text':'Text:', + 'lang_input_url':'URL:', + 'lang_input_title':'Title:', + 'lang_input_target':'open in new window:' + }, + 'validLink':'Supports only effective when a link is selected', + 'httpPrompt':'The hyperlink you enter should start with "http|https|ftp://"!' + }, + map:{ + 'static':{ + lang_city:"City", + lang_address:"Address", + city:{value:"Beijing"}, + lang_search:"Search", + lang_dynamicmap:"Dynamic map" + }, + cityMsg:"Please enter the city name!", + errorMsg:"Can't find the place!" + }, + searchreplace:{ + 'static':{ + lang_tab_search:"Search", + lang_tab_replace:"Replace", + lang_search1:"Search", + lang_search2:"Search", + lang_replace:"Replace", + lang_searchReg:'Support regular expression ,which starts and ends with a slash ,for example "/expression/"', + lang_searchReg1:'Support regular expression ,which starts and ends with a slash ,for example "/expression/"', + lang_case_sensitive1:"Case sense", + lang_case_sensitive2:"Case sense", + nextFindBtn:{value:"Next"}, + preFindBtn:{value:"Preview"}, + nextReplaceBtn:{value:"Next"}, + preReplaceBtn:{value:"Preview"}, + repalceBtn:{value:"Replace"}, + repalceAllBtn:{value:"Replace all"} + }, + getEnd:"Has the search to the bottom!", + getStart:"Has the search to the top!", + countMsg:"Altogether replaced {#count} character(s)!" + }, + snapscreen:{ + 'static':{ + lang_showMsg:"You should install the UEditor screenshots program first!", + lang_download:"Download!", + lang_step1:"Step1:Download the program and then run it", + lang_step2:"Step2:After complete install,try to click the button again" + } + }, + spechars:{ + 'static':{}, + tsfh:"Special", + lmsz:"Roman", + szfh:"Numeral", + rwfh:"Japanese", + xlzm:"The Greek", + ewzm:"Russian", + pyzm:"Phonetic", + yyyb:"English", + zyzf:"Others" + }, + 'edittable':{ + 'static':{ + 'lang_tableStyle':'Table style', + 'lang_insertCaption':'Add table header row', + 'lang_insertTitle':'Add table title row', + 'lang_insertTitleCol':'Add table title col', + 'lang_tableSize':'Automatically adjust table size', + 'lang_autoSizeContent':'Adaptive by form text', + 'lang_orderbycontent':"Table of contents sortable", + 'lang_autoSizePage':'Page width adaptive', + 'lang_example':'Example', + 'lang_borderStyle':'Table Border', + 'lang_color':'Color:' + }, + captionName:'Caption', + titleName:'Title', + cellsName:'text', + errorMsg:'There are merged cells, can not sort.' + }, + 'edittip':{ + 'static':{ + lang_delRow:'Delete entire row', + lang_delCol:'Delete entire col' + } + }, + 'edittd':{ + 'static':{ + lang_tdBkColor:'Background Color:' + } + }, + 'formula':{ + 'static':{ + } + }, + wordimage:{ + 'static':{ + lang_resave:"The re-save step", + uploadBtn:{src:"upload.png", alt:"Upload"}, + clipboard:{style:"background: url(copy.png) -153px -1px no-repeat;"}, + lang_step:" 1. Click top button to copy the url and then open the dialog to paste it. 2. Open after choose photos uploaded process." + }, + fileType:"Image", + flashError:"Flash initialization failed!", + netError:"Network error! Please try again!", + copySuccess:"URL has been copied!", + + 'flashI18n':{ + lang:encodeURI( '{"UploadingState":"totalNum: ${a},uploadComplete: ${b}", "BeforeUpload":"waitingNum: ${a}", "ExceedSize":"Size exceed${a}", "ErrorInPreview":"Preview failed", "DefaultDescription":"Description", "LoadingImage":"Loading..."}' ), + uploadingTF:encodeURI( '{"font":"Arial", "size":12, "color":"0x000", "bold":"true", "italic":"false", "underline":"false"}' ), + imageTF:encodeURI( '{"font":"Arial", "size":11, "color":"red", "bold":"false", "italic":"false", "underline":"false"}' ), + textEncoding:"utf-8", + addImageSkinURL:"addImage.png", + allDeleteBtnUpSkinURL:"allDeleteBtnUpSkin.png", + allDeleteBtnHoverSkinURL:"allDeleteBtnHoverSkin.png", + rotateLeftBtnEnableSkinURL:"rotateLeftEnable.png", + rotateLeftBtnDisableSkinURL:"rotateLeftDisable.png", + rotateRightBtnEnableSkinURL:"rotateRightEnable.png", + rotateRightBtnDisableSkinURL:"rotateRightDisable.png", + deleteBtnEnableSkinURL:"deleteEnable.png", + deleteBtnDisableSkinURL:"deleteDisable.png", + backgroundURL:'', + listBackgroundURL:'', + buttonURL:'button.png' + } + }, + 'autosave': { + 'success':'Local conservation success' + } +}; diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/addimage.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/addimage.png new file mode 100644 index 0000000000000000000000000000000000000000..3a2fd17121b9e0d435b2ca082d696c33b9f27b79 GIT binary patch literal 3373 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 ZzyK$sgmq7P@T33$002ovPDHLkV1jUEUt0hG literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/alldeletebtnupskin.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/alldeletebtnupskin.png new file mode 100644 index 0000000000000000000000000000000000000000..61658ce6f10164478ce293c05f1f0485a8fa1fc4 GIT binary patch literal 743 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 P9go0R-$Jhf?tK5Bgo^WU literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/button.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/button.png new file mode 100644 index 0000000000000000000000000000000000000000..098874cb1fa85852d77ba9acbb5850c91c341fb7 GIT binary patch literal 4929 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 literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/deletedisable.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/deletedisable.png new file mode 100644 index 0000000000000000000000000000000000000000..c8ee75094f59f0c1262806fd294d361f30f64f58 GIT binary patch literal 649 zcmV;40(Sk0P)!u-Pc3GOd!YPO+bG=gGoA_gW7h+<&i6W@>CzIUsorkT}tXKy|I-GoR_nf%RY$+yzqrWn_y0c| zycG_I116IRG@DK0sZ-E55u|Ou1fok>7zp9LsHJgReXhe;7C4$VS;)mE^wOWxM5!>w+j7B4b z!(p<+cswRyO2rY#*XuP527_xko|w>=_a0qmu_(~#bP__L5ZG)saJ${)TYOfjR7kAi zYvg9L`EQ38LQ-=rdwc{0EpJ`Z=~U9|_2kw4eh&tN0eJ55 jcWg?)n1^9d$t00000NkvXXu0mjfULPWN literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/deleteenable.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/deleteenable.png new file mode 100644 index 0000000000000000000000000000000000000000..26acc883567c5d7fde8de3ba052d7754a5b1c539 GIT binary patch literal 664 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 F`FAsl-Jbve literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/localimage.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/localimage.png new file mode 100644 index 0000000000000000000000000000000000000000..12c8e6aefa8fd16287ac77bbecd7d5b58c3fc837 GIT binary patch literal 3083 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 Z1^`gxH94g;riuUn002ovPDHLkV1oEm+S&jB literal 0 HcmV?d00001 diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/music.png b/manong_manager/manong_manager_web/src/main/webapp/ueditor/lang/en/images/music.png new file mode 100644 index 0000000000000000000000000000000000000000..2f495fe92ffecdce42b74fd57dca2687414711fb GIT binary patch literal 91561 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

      '; + } + }; + utils.inherits(Separator, UIBase); + +})(); + + +// ui/mask.js +///import core +///import uicore +(function (){ + var utils = baidu.editor.utils, + domUtils = baidu.editor.dom.domUtils, + UIBase = baidu.editor.ui.UIBase, + uiUtils = baidu.editor.ui.uiUtils; + + var Mask = baidu.editor.ui.Mask = function (options){ + this.initOptions(options); + this.initUIBase(); + }; + Mask.prototype = { + getHtmlTpl: function (){ + return '
      '; + }, + postRender: function (){ + var me = this; + domUtils.on(window, 'resize', function (){ + setTimeout(function (){ + if (!me.isHidden()) { + me._fill(); + } + }); + }); + }, + show: function (zIndex){ + this._fill(); + this.getDom().style.display = ''; + this.getDom().style.zIndex = zIndex; + }, + hide: function (){ + this.getDom().style.display = 'none'; + this.getDom().style.zIndex = ''; + }, + isHidden: function (){ + return this.getDom().style.display == 'none'; + }, + _onMouseDown: function (){ + return false; + }, + _onClick: function (e, target){ + this.fireEvent('click', e, target); + }, + _fill: function (){ + var el = this.getDom(); + var vpRect = uiUtils.getViewportRect(); + el.style.width = vpRect.width + 'px'; + el.style.height = vpRect.height + 'px'; + } + }; + utils.inherits(Mask, UIBase); +})(); + + +// ui/popup.js +///import core +///import uicore +(function () { + var utils = baidu.editor.utils, + uiUtils = baidu.editor.ui.uiUtils, + domUtils = baidu.editor.dom.domUtils, + UIBase = baidu.editor.ui.UIBase, + Popup = baidu.editor.ui.Popup = function (options){ + this.initOptions(options); + this.initPopup(); + }; + + var allPopups = []; + function closeAllPopup( evt,el ){ + for ( var i = 0; i < allPopups.length; i++ ) { + var pop = allPopups[i]; + if (!pop.isHidden()) { + if (pop.queryAutoHide(el) !== false) { + if(evt&&/scroll/ig.test(evt.type)&&pop.className=="edui-wordpastepop") return; + pop.hide(); + } + } + } + + if(allPopups.length) + pop.editor.fireEvent("afterhidepop"); + } + + Popup.postHide = closeAllPopup; + + var ANCHOR_CLASSES = ['edui-anchor-topleft','edui-anchor-topright', + 'edui-anchor-bottomleft','edui-anchor-bottomright']; + Popup.prototype = { + SHADOW_RADIUS: 5, + content: null, + _hidden: false, + autoRender: true, + canSideLeft: true, + canSideUp: true, + initPopup: function (){ + this.initUIBase(); + allPopups.push( this ); + }, + getHtmlTpl: function (){ + return '
      ' + + '
      ' + + ' ' + + '
      ' + + '
      ' + + this.getContentHtmlTpl() + + '
      ' + + '
      ' + + '
      '; + }, + getContentHtmlTpl: function (){ + if(this.content){ + if (typeof this.content == 'string') { + return this.content; + } + return this.content.renderHtml(); + }else{ + return '' + } + + }, + _UIBase_postRender: UIBase.prototype.postRender, + postRender: function (){ + + + if (this.content instanceof UIBase) { + this.content.postRender(); + } + + //捕获鼠标滚轮 + if( this.captureWheel && !this.captured ) { + + this.captured = true; + + var winHeight = ( document.documentElement.clientHeight || document.body.clientHeight ) - 80, + _height = this.getDom().offsetHeight, + _top = uiUtils.getClientRect( this.combox.getDom() ).top, + content = this.getDom('content'), + ifr = this.getDom('body').getElementsByTagName('iframe'), + me = this; + + ifr.length && ( ifr = ifr[0] ); + + while( _top + _height > winHeight ) { + _height -= 30; + } + content.style.height = _height + 'px'; + //同步更改iframe高度 + ifr && ( ifr.style.height = _height + 'px' ); + + //阻止在combox上的鼠标滚轮事件, 防止用户的正常操作被误解 + if( window.XMLHttpRequest ) { + + domUtils.on( content, ( 'onmousewheel' in document.body ) ? 'mousewheel' :'DOMMouseScroll' , function(e){ + + if(e.preventDefault) { + e.preventDefault(); + } else { + e.returnValue = false; + } + + if( e.wheelDelta ) { + + content.scrollTop -= ( e.wheelDelta / 120 )*60; + + } else { + + content.scrollTop -= ( e.detail / -3 )*60; + + } + + }); + + } else { + + //ie6 + domUtils.on( this.getDom(), 'mousewheel' , function(e){ + + e.returnValue = false; + + me.getDom('content').scrollTop -= ( e.wheelDelta / 120 )*60; + + }); + + } + + } + this.fireEvent('postRenderAfter'); + this.hide(true); + this._UIBase_postRender(); + }, + _doAutoRender: function (){ + if (!this.getDom() && this.autoRender) { + this.render(); + } + }, + mesureSize: function (){ + var box = this.getDom('content'); + return uiUtils.getClientRect(box); + }, + fitSize: function (){ + if( this.captureWheel && this.sized ) { + return this.__size; + } + this.sized = true; + var popBodyEl = this.getDom('body'); + popBodyEl.style.width = ''; + popBodyEl.style.height = ''; + var size = this.mesureSize(); + if( this.captureWheel ) { + popBodyEl.style.width = -(-20 -size.width) + 'px'; + var height = parseInt( this.getDom('content').style.height, 10 ); + !window.isNaN( height ) && ( size.height = height ); + } else { + popBodyEl.style.width = size.width + 'px'; + } + popBodyEl.style.height = size.height + 'px'; + this.__size = size; + this.captureWheel && (this.getDom('content').style.overflow = 'auto'); + return size; + }, + showAnchor: function ( element, hoz ){ + this.showAnchorRect( uiUtils.getClientRect( element ), hoz ); + }, + showAnchorRect: function ( rect, hoz, adj ){ + this._doAutoRender(); + var vpRect = uiUtils.getViewportRect(); + this.getDom().style.visibility = 'hidden'; + this._show(); + var popSize = this.fitSize(); + + var sideLeft, sideUp, left, top; + if (hoz) { + sideLeft = this.canSideLeft && (rect.right + popSize.width > vpRect.right && rect.left > popSize.width); + sideUp = this.canSideUp && (rect.top + popSize.height > vpRect.bottom && rect.bottom > popSize.height); + left = (sideLeft ? rect.left - popSize.width : rect.right); + top = (sideUp ? rect.bottom - popSize.height : rect.top); + } else { + sideLeft = this.canSideLeft && (rect.right + popSize.width > vpRect.right && rect.left > popSize.width); + sideUp = this.canSideUp && (rect.top + popSize.height > vpRect.bottom && rect.bottom > popSize.height); + left = (sideLeft ? rect.right - popSize.width : rect.left); + top = (sideUp ? rect.top - popSize.height : rect.bottom); + } + + var popEl = this.getDom(); + uiUtils.setViewportOffset(popEl, { + left: left, + top: top + }); + domUtils.removeClasses(popEl, ANCHOR_CLASSES); + popEl.className += ' ' + ANCHOR_CLASSES[(sideUp ? 1 : 0) * 2 + (sideLeft ? 1 : 0)]; + if(this.editor){ + popEl.style.zIndex = this.editor.container.style.zIndex * 1 + 10; + baidu.editor.ui.uiUtils.getFixedLayer().style.zIndex = popEl.style.zIndex - 1; + } + this.getDom().style.visibility = 'visible'; + + }, + showAt: function (offset) { + var left = offset.left; + var top = offset.top; + var rect = { + left: left, + top: top, + right: left, + bottom: top, + height: 0, + width: 0 + }; + this.showAnchorRect(rect, false, true); + }, + _show: function (){ + if (this._hidden) { + var box = this.getDom(); + box.style.display = ''; + this._hidden = false; +// if (box.setActive) { +// box.setActive(); +// } + this.fireEvent('show'); + } + }, + isHidden: function (){ + return this._hidden; + }, + show: function (){ + this._doAutoRender(); + this._show(); + }, + hide: function (notNofity){ + if (!this._hidden && this.getDom()) { + this.getDom().style.display = 'none'; + this._hidden = true; + if (!notNofity) { + this.fireEvent('hide'); + } + } + }, + queryAutoHide: function (el){ + return !el || !uiUtils.contains(this.getDom(), el); + } + }; + utils.inherits(Popup, UIBase); + + domUtils.on( document, 'mousedown', function ( evt ) { + var el = evt.target || evt.srcElement; + closeAllPopup( evt,el ); + } ); + domUtils.on( window, 'scroll', function (evt,el) { + closeAllPopup( evt,el ); + } ); + +})(); + + +// ui/colorpicker.js +///import core +///import uicore +(function (){ + var utils = baidu.editor.utils, + UIBase = baidu.editor.ui.UIBase, + ColorPicker = baidu.editor.ui.ColorPicker = function (options){ + this.initOptions(options); + this.noColorText = this.noColorText || this.editor.getLang("clearColor"); + this.initUIBase(); + }; + + ColorPicker.prototype = { + getHtmlTpl: function (){ + return genColorPicker(this.noColorText,this.editor); + }, + _onTableClick: function (evt){ + var tgt = evt.target || evt.srcElement; + var color = tgt.getAttribute('data-color'); + if (color) { + this.fireEvent('pickcolor', color); + } + }, + _onTableOver: function (evt){ + var tgt = evt.target || evt.srcElement; + var color = tgt.getAttribute('data-color'); + if (color) { + this.getDom('preview').style.backgroundColor = color; + } + }, + _onTableOut: function (){ + this.getDom('preview').style.backgroundColor = ''; + }, + _onPickNoColor: function (){ + this.fireEvent('picknocolor'); + } + }; + utils.inherits(ColorPicker, UIBase); + + var COLORS = ( + 'ffffff,000000,eeece1,1f497d,4f81bd,c0504d,9bbb59,8064a2,4bacc6,f79646,' + + 'f2f2f2,7f7f7f,ddd9c3,c6d9f0,dbe5f1,f2dcdb,ebf1dd,e5e0ec,dbeef3,fdeada,' + + 'd8d8d8,595959,c4bd97,8db3e2,b8cce4,e5b9b7,d7e3bc,ccc1d9,b7dde8,fbd5b5,' + + 'bfbfbf,3f3f3f,938953,548dd4,95b3d7,d99694,c3d69b,b2a2c7,92cddc,fac08f,' + + 'a5a5a5,262626,494429,17365d,366092,953734,76923c,5f497a,31859b,e36c09,' + + '7f7f7f,0c0c0c,1d1b10,0f243e,244061,632423,4f6128,3f3151,205867,974806,' + + 'c00000,ff0000,ffc000,ffff00,92d050,00b050,00b0f0,0070c0,002060,7030a0,').split(','); + + function genColorPicker(noColorText,editor){ + var html = '
      ' + + '
      ' + + '
      ' + + '
      '+ noColorText +'
      ' + + '
      ' + + '' + + ''+ + ''; + for (var i=0; i':'')+''; + } + html += i<70 ? '':''; + } + html += '
      '+editor.getLang("themeColor")+'
      '+editor.getLang("standardColor")+'
      '; + return html; + } +})(); + + +// ui/tablepicker.js +///import core +///import uicore +(function (){ + var utils = baidu.editor.utils, + uiUtils = baidu.editor.ui.uiUtils, + UIBase = baidu.editor.ui.UIBase; + + var TablePicker = baidu.editor.ui.TablePicker = function (options){ + this.initOptions(options); + this.initTablePicker(); + }; + TablePicker.prototype = { + defaultNumRows: 10, + defaultNumCols: 10, + maxNumRows: 20, + maxNumCols: 20, + numRows: 10, + numCols: 10, + lengthOfCellSide: 22, + initTablePicker: function (){ + this.initUIBase(); + }, + getHtmlTpl: function (){ + var me = this; + return '
      ' + + '
      ' + + '
      ' + + '' + + '
      ' + + '
      ' + + '
      ' + + '
      ' + + '
      ' + + '
      '; + }, + _UIBase_render: UIBase.prototype.render, + render: function (holder){ + this._UIBase_render(holder); + this.getDom('label').innerHTML = '0'+this.editor.getLang("t_row")+' x 0'+this.editor.getLang("t_col"); + }, + _track: function (numCols, numRows){ + var style = this.getDom('overlay').style; + var sideLen = this.lengthOfCellSide; + style.width = numCols * sideLen + 'px'; + style.height = numRows * sideLen + 'px'; + var label = this.getDom('label'); + label.innerHTML = numCols +this.editor.getLang("t_col")+' x ' + numRows + this.editor.getLang("t_row"); + this.numCols = numCols; + this.numRows = numRows; + }, + _onMouseOver: function (evt, el){ + var rel = evt.relatedTarget || evt.fromElement; + if (!uiUtils.contains(el, rel) && el !== rel) { + this.getDom('label').innerHTML = '0'+this.editor.getLang("t_col")+' x 0'+this.editor.getLang("t_row"); + this.getDom('overlay').style.visibility = ''; + } + }, + _onMouseOut: function (evt, el){ + var rel = evt.relatedTarget || evt.toElement; + if (!uiUtils.contains(el, rel) && el !== rel) { + this.getDom('label').innerHTML = '0'+this.editor.getLang("t_col")+' x 0'+this.editor.getLang("t_row"); + this.getDom('overlay').style.visibility = 'hidden'; + } + }, + _onMouseMove: function (evt, el){ + var style = this.getDom('overlay').style; + var offset = uiUtils.getEventOffset(evt); + var sideLen = this.lengthOfCellSide; + var numCols = Math.ceil(offset.left / sideLen); + var numRows = Math.ceil(offset.top / sideLen); + this._track(numCols, numRows); + }, + _onClick: function (){ + this.fireEvent('picktable', this.numCols, this.numRows); + } + }; + utils.inherits(TablePicker, UIBase); +})(); + + +// ui/stateful.js +(function (){ + var browser = baidu.editor.browser, + domUtils = baidu.editor.dom.domUtils, + uiUtils = baidu.editor.ui.uiUtils; + + var TPL_STATEFUL = 'onmousedown="$$.Stateful_onMouseDown(event, this);"' + + ' onmouseup="$$.Stateful_onMouseUp(event, this);"' + + ( browser.ie ? ( + ' onmouseenter="$$.Stateful_onMouseEnter(event, this);"' + + ' onmouseleave="$$.Stateful_onMouseLeave(event, this);"' ) + : ( + ' onmouseover="$$.Stateful_onMouseOver(event, this);"' + + ' onmouseout="$$.Stateful_onMouseOut(event, this);"' )); + + baidu.editor.ui.Stateful = { + alwalysHoverable: false, + target:null,//目标元素和this指向dom不一样 + Stateful_init: function (){ + this._Stateful_dGetHtmlTpl = this.getHtmlTpl; + this.getHtmlTpl = this.Stateful_getHtmlTpl; + }, + Stateful_getHtmlTpl: function (){ + var tpl = this._Stateful_dGetHtmlTpl(); + // 使用function避免$转义 + return tpl.replace(/stateful/g, function (){ return TPL_STATEFUL; }); + }, + Stateful_onMouseEnter: function (evt, el){ + this.target=el; + if (!this.isDisabled() || this.alwalysHoverable) { + this.addState('hover'); + this.fireEvent('over'); + } + }, + Stateful_onMouseLeave: function (evt, el){ + if (!this.isDisabled() || this.alwalysHoverable) { + this.removeState('hover'); + this.removeState('active'); + this.fireEvent('out'); + } + }, + Stateful_onMouseOver: function (evt, el){ + var rel = evt.relatedTarget; + if (!uiUtils.contains(el, rel) && el !== rel) { + this.Stateful_onMouseEnter(evt, el); + } + }, + Stateful_onMouseOut: function (evt, el){ + var rel = evt.relatedTarget; + if (!uiUtils.contains(el, rel) && el !== rel) { + this.Stateful_onMouseLeave(evt, el); + } + }, + Stateful_onMouseDown: function (evt, el){ + if (!this.isDisabled()) { + this.addState('active'); + } + }, + Stateful_onMouseUp: function (evt, el){ + if (!this.isDisabled()) { + this.removeState('active'); + } + }, + Stateful_postRender: function (){ + if (this.disabled && !this.hasState('disabled')) { + this.addState('disabled'); + } + }, + hasState: function (state){ + return domUtils.hasClass(this.getStateDom(), 'edui-state-' + state); + }, + addState: function (state){ + if (!this.hasState(state)) { + this.getStateDom().className += ' edui-state-' + state; + } + }, + removeState: function (state){ + if (this.hasState(state)) { + domUtils.removeClasses(this.getStateDom(), ['edui-state-' + state]); + } + }, + getStateDom: function (){ + return this.getDom('state'); + }, + isChecked: function (){ + return this.hasState('checked'); + }, + setChecked: function (checked){ + if (!this.isDisabled() && checked) { + this.addState('checked'); + } else { + this.removeState('checked'); + } + }, + isDisabled: function (){ + return this.hasState('disabled'); + }, + setDisabled: function (disabled){ + if (disabled) { + this.removeState('hover'); + this.removeState('checked'); + this.removeState('active'); + this.addState('disabled'); + } else { + this.removeState('disabled'); + } + } + }; +})(); + + +// ui/button.js +///import core +///import uicore +///import ui/stateful.js +(function (){ + var utils = baidu.editor.utils, + UIBase = baidu.editor.ui.UIBase, + Stateful = baidu.editor.ui.Stateful, + Button = baidu.editor.ui.Button = function (options){ + if(options.name){ + var btnName = options.name; + var cssRules = options.cssRules; + if(!options.className){ + options.className = 'edui-for-' + btnName; + } + options.cssRules = '.edui-default .edui-for-'+ btnName +' .edui-icon {'+ cssRules +'}' + } + this.initOptions(options); + this.initButton(); + }; + Button.prototype = { + uiName: 'button', + label: '', + title: '', + showIcon: true, + showText: true, + cssRules:'', + initButton: function (){ + this.initUIBase(); + this.Stateful_init(); + if(this.cssRules){ + utils.cssRule('edui-customize-'+this.name+'-style',this.cssRules); + } + }, + getHtmlTpl: function (){ + return '
      ' + + '
      ' + + '
      ' + + (this.showIcon ? '
      ' : '') + + (this.showText ? '
      ' + this.label + '
      ' : '') + + '
      ' + + '
      ' + + '
      '; + }, + postRender: function (){ + this.Stateful_postRender(); + this.setDisabled(this.disabled) + }, + _onMouseDown: function (e){ + var target = e.target || e.srcElement, + tagName = target && target.tagName && target.tagName.toLowerCase(); + if (tagName == 'input' || tagName == 'object' || tagName == 'object') { + return false; + } + }, + _onClick: function (){ + if (!this.isDisabled()) { + this.fireEvent('click'); + } + }, + setTitle: function(text){ + var label = this.getDom('label'); + label.innerHTML = text; + } + }; + utils.inherits(Button, UIBase); + utils.extend(Button.prototype, Stateful); + +})(); + + +// ui/splitbutton.js +///import core +///import uicore +///import ui/stateful.js +(function (){ + var utils = baidu.editor.utils, + uiUtils = baidu.editor.ui.uiUtils, + domUtils = baidu.editor.dom.domUtils, + UIBase = baidu.editor.ui.UIBase, + Stateful = baidu.editor.ui.Stateful, + SplitButton = baidu.editor.ui.SplitButton = function (options){ + this.initOptions(options); + this.initSplitButton(); + }; + SplitButton.prototype = { + popup: null, + uiName: 'splitbutton', + title: '', + initSplitButton: function (){ + this.initUIBase(); + this.Stateful_init(); + var me = this; + if (this.popup != null) { + var popup = this.popup; + this.popup = null; + this.setPopup(popup); + } + }, + _UIBase_postRender: UIBase.prototype.postRender, + postRender: function (){ + this.Stateful_postRender(); + this._UIBase_postRender(); + }, + setPopup: function (popup){ + if (this.popup === popup) return; + if (this.popup != null) { + this.popup.dispose(); + } + popup.addListener('show', utils.bind(this._onPopupShow, this)); + popup.addListener('hide', utils.bind(this._onPopupHide, this)); + popup.addListener('postrender', utils.bind(function (){ + popup.getDom('body').appendChild( + uiUtils.createElementByHtml('
      ') + ); + popup.getDom().className += ' ' + this.className; + }, this)); + this.popup = popup; + }, + _onPopupShow: function (){ + this.addState('opened'); + }, + _onPopupHide: function (){ + this.removeState('opened'); + }, + getHtmlTpl: function (){ + return '
      ' + + '
      ' + + '
      ' + + '
      ' + + '
      ' + + '
      ' + + '
      ' + + '
      '; + }, + showPopup: function (){ + // 当popup往上弹出的时候,做特殊处理 + var rect = uiUtils.getClientRect(this.getDom()); + rect.top -= this.popup.SHADOW_RADIUS; + rect.height += this.popup.SHADOW_RADIUS; + this.popup.showAnchorRect(rect); + }, + _onArrowClick: function (event, el){ + if (!this.isDisabled()) { + this.showPopup(); + } + }, + _onButtonClick: function (){ + if (!this.isDisabled()) { + this.fireEvent('buttonclick'); + } + } + }; + utils.inherits(SplitButton, UIBase); + utils.extend(SplitButton.prototype, Stateful, true); + +})(); + + +// ui/colorbutton.js +///import core +///import uicore +///import ui/colorpicker.js +///import ui/popup.js +///import ui/splitbutton.js +(function (){ + var utils = baidu.editor.utils, + uiUtils = baidu.editor.ui.uiUtils, + ColorPicker = baidu.editor.ui.ColorPicker, + Popup = baidu.editor.ui.Popup, + SplitButton = baidu.editor.ui.SplitButton, + ColorButton = baidu.editor.ui.ColorButton = function (options){ + this.initOptions(options); + this.initColorButton(); + }; + ColorButton.prototype = { + initColorButton: function (){ + var me = this; + this.popup = new Popup({ + content: new ColorPicker({ + noColorText: me.editor.getLang("clearColor"), + editor:me.editor, + onpickcolor: function (t, color){ + me._onPickColor(color); + }, + onpicknocolor: function (t, color){ + me._onPickNoColor(color); + } + }), + editor:me.editor + }); + this.initSplitButton(); + }, + _SplitButton_postRender: SplitButton.prototype.postRender, + postRender: function (){ + this._SplitButton_postRender(); + this.getDom('button_body').appendChild( + uiUtils.createElementByHtml('
      ') + ); + this.getDom().className += ' edui-colorbutton'; + }, + setColor: function (color){ + this.getDom('colorlump').style.backgroundColor = color; + this.color = color; + }, + _onPickColor: function (color){ + if (this.fireEvent('pickcolor', color) !== false) { + this.setColor(color); + this.popup.hide(); + } + }, + _onPickNoColor: function (color){ + if (this.fireEvent('picknocolor') !== false) { + this.popup.hide(); + } + } + }; + utils.inherits(ColorButton, SplitButton); + +})(); + + +// ui/tablebutton.js +///import core +///import uicore +///import ui/popup.js +///import ui/tablepicker.js +///import ui/splitbutton.js +(function (){ + var utils = baidu.editor.utils, + Popup = baidu.editor.ui.Popup, + TablePicker = baidu.editor.ui.TablePicker, + SplitButton = baidu.editor.ui.SplitButton, + TableButton = baidu.editor.ui.TableButton = function (options){ + this.initOptions(options); + this.initTableButton(); + }; + TableButton.prototype = { + initTableButton: function (){ + var me = this; + this.popup = new Popup({ + content: new TablePicker({ + editor:me.editor, + onpicktable: function (t, numCols, numRows){ + me._onPickTable(numCols, numRows); + } + }), + 'editor':me.editor + }); + this.initSplitButton(); + }, + _onPickTable: function (numCols, numRows){ + if (this.fireEvent('picktable', numCols, numRows) !== false) { + this.popup.hide(); + } + } + }; + utils.inherits(TableButton, SplitButton); + +})(); + + +// ui/autotypesetpicker.js +///import core +///import uicore +(function () { + var utils = baidu.editor.utils, + UIBase = baidu.editor.ui.UIBase; + + var AutoTypeSetPicker = baidu.editor.ui.AutoTypeSetPicker = function (options) { + this.initOptions(options); + this.initAutoTypeSetPicker(); + }; + AutoTypeSetPicker.prototype = { + initAutoTypeSetPicker:function () { + this.initUIBase(); + }, + getHtmlTpl:function () { + var me = this.editor, + opt = me.options.autotypeset, + lang = me.getLang("autoTypeSet"); + + var textAlignInputName = 'textAlignValue' + me.uid, + imageBlockInputName = 'imageBlockLineValue' + me.uid, + symbolConverInputName = 'symbolConverValue' + me.uid; + + return '
      ' + + '
      ' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '
      ' + lang.mergeLine + '' + lang.delLine + '
      ' + lang.removeFormat + '' + lang.indent + '
      ' + lang.alignment + '' + + '' + me.getLang("justifyleft") + + '' + me.getLang("justifycenter") + + '' + me.getLang("justifyright") + + '
      ' + lang.imageFloat + '' + + '' + me.getLang("default") + + '' + me.getLang("justifyleft") + + '' + me.getLang("justifycenter") + + '' + me.getLang("justifyright") + + '
      ' + lang.removeFontsize + '' + lang.removeFontFamily + '
      ' + lang.removeHtml + '
      ' + lang.pasteFilter + '
      ' + lang.symbol + '' + + '' + lang.bdc2sb + + '' + lang.tobdc + '' + + '
      ' + + '
      ' + + '
      '; + + + }, + _UIBase_render:UIBase.prototype.render + }; + utils.inherits(AutoTypeSetPicker, UIBase); +})(); + + +// ui/autotypesetbutton.js +///import core +///import uicore +///import ui/popup.js +///import ui/autotypesetpicker.js +///import ui/splitbutton.js +(function (){ + var utils = baidu.editor.utils, + Popup = baidu.editor.ui.Popup, + AutoTypeSetPicker = baidu.editor.ui.AutoTypeSetPicker, + SplitButton = baidu.editor.ui.SplitButton, + AutoTypeSetButton = baidu.editor.ui.AutoTypeSetButton = function (options){ + this.initOptions(options); + this.initAutoTypeSetButton(); + }; + function getPara(me){ + + var opt = {}, + cont = me.getDom(), + editorId = me.editor.uid, + inputType = null, + attrName = null, + ipts = domUtils.getElementsByTagName(cont,"input"); + for(var i=ipts.length-1,ipt;ipt=ipts[i--];){ + inputType = ipt.getAttribute("type"); + if(inputType=="checkbox"){ + attrName = ipt.getAttribute("name"); + opt[attrName] && delete opt[attrName]; + if(ipt.checked){ + var attrValue = document.getElementById( attrName + "Value" + editorId ); + if(attrValue){ + if(/input/ig.test(attrValue.tagName)){ + opt[attrName] = attrValue.value; + } else { + var iptChilds = attrValue.getElementsByTagName("input"); + for(var j=iptChilds.length-1,iptchild;iptchild=iptChilds[j--];){ + if(iptchild.checked){ + opt[attrName] = iptchild.value; + break; + } + } + } + } else { + opt[attrName] = true; + } + } else { + opt[attrName] = false; + } + } else { + opt[ipt.getAttribute("value")] = ipt.checked; + } + + } + + var selects = domUtils.getElementsByTagName(cont,"select"); + for(var i=0,si;si=selects[i++];){ + var attr = si.getAttribute('name'); + opt[attr] = opt[attr] ? si.value : ''; + } + + utils.extend(me.editor.options.autotypeset,opt); + + me.editor.setPreferences('autotypeset', opt); + } + + AutoTypeSetButton.prototype = { + initAutoTypeSetButton: function (){ + + var me = this; + this.popup = new Popup({ + //传入配置参数 + content: new AutoTypeSetPicker({editor:me.editor}), + 'editor':me.editor, + hide : function(){ + if (!this._hidden && this.getDom()) { + getPara(this); + this.getDom().style.display = 'none'; + this._hidden = true; + this.fireEvent('hide'); + } + } + }); + var flag = 0; + this.popup.addListener('postRenderAfter',function(){ + var popupUI = this; + if(flag)return; + var cont = this.getDom(), + btn = cont.getElementsByTagName('button')[0]; + + btn.onclick = function(){ + getPara(popupUI); + me.editor.execCommand('autotypeset'); + popupUI.hide() + }; + + domUtils.on(cont, 'click', function(e) { + var target = e.target || e.srcElement, + editorId = me.editor.uid; + if (target && target.tagName == 'INPUT') { + + // 点击图片浮动的checkbox,去除对应的radio + if (target.name == 'imageBlockLine' || target.name == 'textAlign' || target.name == 'symbolConver') { + var checked = target.checked, + radioTd = document.getElementById( target.name + 'Value' + editorId), + radios = radioTd.getElementsByTagName('input'), + defalutSelect = { + 'imageBlockLine': 'none', + 'textAlign': 'left', + 'symbolConver': 'tobdc' + }; + + for (var i = 0; i < radios.length; i++) { + if (checked) { + if (radios[i].value == defalutSelect[target.name]) { + radios[i].checked = 'checked'; + } + } else { + radios[i].checked = false; + } + } + } + // 点击radio,选中对应的checkbox + if (target.name == ('imageBlockLineValue' + editorId) || target.name == ('textAlignValue' + editorId) || target.name == 'bdc') { + var checkboxs = target.parentNode.previousSibling.getElementsByTagName('input'); + checkboxs && (checkboxs[0].checked = true); + } + + getPara(popupUI); + } + }); + + flag = 1; + }); + this.initSplitButton(); + } + }; + utils.inherits(AutoTypeSetButton, SplitButton); + +})(); + + +// ui/cellalignpicker.js +///import core +///import uicore +(function () { + var utils = baidu.editor.utils, + Popup = baidu.editor.ui.Popup, + Stateful = baidu.editor.ui.Stateful, + UIBase = baidu.editor.ui.UIBase; + + /** + * 该参数将新增一个参数: selected, 参数类型为一个Object, 形如{ 'align': 'center', 'valign': 'top' }, 表示单元格的初始 + * 对齐状态为: 竖直居上,水平居中; 其中 align的取值为:'center', 'left', 'right'; valign的取值为: 'top', 'middle', 'bottom' + * @update 2013/4/2 hancong03@baidu.com + */ + var CellAlignPicker = baidu.editor.ui.CellAlignPicker = function (options) { + this.initOptions(options); + this.initSelected(); + this.initCellAlignPicker(); + }; + CellAlignPicker.prototype = { + //初始化选中状态, 该方法将根据传递进来的参数获取到应该选中的对齐方式图标的索引 + initSelected: function(){ + + var status = { + + valign: { + top: 0, + middle: 1, + bottom: 2 + }, + align: { + left: 0, + center: 1, + right: 2 + }, + count: 3 + + }, + result = -1; + + if( this.selected ) { + this.selectedIndex = status.valign[ this.selected.valign ] * status.count + status.align[ this.selected.align ]; + } + + }, + initCellAlignPicker:function () { + this.initUIBase(); + this.Stateful_init(); + }, + getHtmlTpl:function () { + + var alignType = [ 'left', 'center', 'right' ], + COUNT = 9, + tempClassName = null, + tempIndex = -1, + tmpl = []; + + + for( var i= 0; i'); + + tmpl.push( '
      ' ); + + tempIndex === 2 && tmpl.push(''); + + } + + return '
      ' + + '
      ' + + '' + + tmpl.join('') + + '
      ' + + '
      ' + + '
      '; + }, + getStateDom: function (){ + return this.target; + }, + _onClick: function (evt){ + var target= evt.target || evt.srcElement; + if(/icon/.test(target.className)){ + this.items[target.parentNode.getAttribute("index")].onclick(); + Popup.postHide(evt); + } + }, + _UIBase_render:UIBase.prototype.render + }; + utils.inherits(CellAlignPicker, UIBase); + utils.extend(CellAlignPicker.prototype, Stateful,true); +})(); + + + + + +// ui/pastepicker.js +///import core +///import uicore +(function () { + var utils = baidu.editor.utils, + Stateful = baidu.editor.ui.Stateful, + uiUtils = baidu.editor.ui.uiUtils, + UIBase = baidu.editor.ui.UIBase; + + var PastePicker = baidu.editor.ui.PastePicker = function (options) { + this.initOptions(options); + this.initPastePicker(); + }; + PastePicker.prototype = { + initPastePicker:function () { + this.initUIBase(); + this.Stateful_init(); + }, + getHtmlTpl:function () { + return '
      ' + + '
      ' + + '
      ' + this.editor.getLang("pasteOpt") + '
      ' + + '
      ' + + '
      ' + + '
      ' + + '
      ' + + '
      ' + + '
      ' + + '
      ' + + '
      ' + + '
      ' + + '
      ' + }, + getStateDom:function () { + return this.target; + }, + format:function (param) { + this.editor.ui._isTransfer = true; + this.editor.fireEvent('pasteTransfer', param); + }, + _onClick:function (cur) { + var node = domUtils.getNextDomNode(cur), + screenHt = uiUtils.getViewportRect().height, + subPop = uiUtils.getClientRect(node); + + if ((subPop.top + subPop.height) > screenHt) + node.style.top = (-subPop.height - cur.offsetHeight) + "px"; + else + node.style.top = ""; + + if (/hidden/ig.test(domUtils.getComputedStyle(node, "visibility"))) { + node.style.visibility = "visible"; + domUtils.addClass(cur, "edui-state-opened"); + } else { + node.style.visibility = "hidden"; + domUtils.removeClasses(cur, "edui-state-opened") + } + }, + _UIBase_render:UIBase.prototype.render + }; + utils.inherits(PastePicker, UIBase); + utils.extend(PastePicker.prototype, Stateful, true); +})(); + + + + + + +// ui/toolbar.js +(function (){ + var utils = baidu.editor.utils, + uiUtils = baidu.editor.ui.uiUtils, + UIBase = baidu.editor.ui.UIBase, + Toolbar = baidu.editor.ui.Toolbar = function (options){ + this.initOptions(options); + this.initToolbar(); + }; + Toolbar.prototype = { + items: null, + initToolbar: function (){ + this.items = this.items || []; + this.initUIBase(); + }, + add: function (item,index){ + if(index === undefined){ + this.items.push(item); + }else{ + this.items.splice(index,0,item) + } + + }, + getHtmlTpl: function (){ + var buff = []; + for (var i=0; i' + + buff.join('') + + '' + }, + postRender: function (){ + var box = this.getDom(); + for (var i=0; i
      '; + }, + postRender:function () { + }, + queryAutoHide:function () { + return true; + } + }; + Menu.prototype = { + items:null, + uiName:'menu', + initMenu:function () { + this.items = this.items || []; + this.initPopup(); + this.initItems(); + }, + initItems:function () { + for (var i = 0; i < this.items.length; i++) { + var item = this.items[i]; + if (item == '-') { + this.items[i] = this.getSeparator(); + } else if (!(item instanceof MenuItem)) { + item.editor = this.editor; + item.theme = this.editor.options.theme; + this.items[i] = this.createItem(item); + } + } + }, + getSeparator:function () { + return menuSeparator; + }, + createItem:function (item) { + //新增一个参数menu, 该参数存储了menuItem所对应的menu引用 + item.menu = this; + return new MenuItem(item); + }, + _Popup_getContentHtmlTpl:Popup.prototype.getContentHtmlTpl, + getContentHtmlTpl:function () { + if (this.items.length == 0) { + return this._Popup_getContentHtmlTpl(); + } + var buff = []; + for (var i = 0; i < this.items.length; i++) { + var item = this.items[i]; + buff[i] = item.renderHtml(); + } + return ('
      ' + buff.join('') + '
      '); + }, + _Popup_postRender:Popup.prototype.postRender, + postRender:function () { + var me = this; + for (var i = 0; i < this.items.length; i++) { + var item = this.items[i]; + item.ownerMenu = this; + item.postRender(); + } + domUtils.on(this.getDom(), 'mouseover', function (evt) { + evt = evt || event; + var rel = evt.relatedTarget || evt.fromElement; + var el = me.getDom(); + if (!uiUtils.contains(el, rel) && el !== rel) { + me.fireEvent('over'); + } + }); + this._Popup_postRender(); + }, + queryAutoHide:function (el) { + if (el) { + if (uiUtils.contains(this.getDom(), el)) { + return false; + } + for (var i = 0; i < this.items.length; i++) { + var item = this.items[i]; + if (item.queryAutoHide(el) === false) { + return false; + } + } + } + }, + clearItems:function () { + for (var i = 0; i < this.items.length; i++) { + var item = this.items[i]; + clearTimeout(item._showingTimer); + clearTimeout(item._closingTimer); + if (item.subMenu) { + item.subMenu.destroy(); + } + } + this.items = []; + }, + destroy:function () { + if (this.getDom()) { + domUtils.remove(this.getDom()); + } + this.clearItems(); + }, + dispose:function () { + this.destroy(); + } + }; + utils.inherits(Menu, Popup); + + /** + * @update 2013/04/03 hancong03 新增一个参数menu, 该参数存储了menuItem所对应的menu引用 + * @type {Function} + */ + var MenuItem = baidu.editor.ui.MenuItem = function (options) { + this.initOptions(options); + this.initUIBase(); + this.Stateful_init(); + if (this.subMenu && !(this.subMenu instanceof Menu)) { + if (options.className && options.className.indexOf("aligntd") != -1) { + var me = this; + + //获取单元格对齐初始状态 + this.subMenu.selected = this.editor.queryCommandValue( 'cellalignment' ); + + this.subMenu = new Popup({ + content:new CellAlignPicker(this.subMenu), + parentMenu:me, + editor:me.editor, + destroy:function () { + if (this.getDom()) { + domUtils.remove(this.getDom()); + } + } + }); + this.subMenu.addListener("postRenderAfter", function () { + domUtils.on(this.getDom(), "mouseover", function () { + me.addState('opened'); + }); + }); + } else { + this.subMenu = new Menu(this.subMenu); + } + } + }; + MenuItem.prototype = { + label:'', + subMenu:null, + ownerMenu:null, + uiName:'menuitem', + alwalysHoverable:true, + getHtmlTpl:function () { + return '
      ' + + '
      ' + + this.renderLabelHtml() + + '
      ' + + '
      '; + }, + postRender:function () { + var me = this; + this.addListener('over', function () { + me.ownerMenu.fireEvent('submenuover', me); + if (me.subMenu) { + me.delayShowSubMenu(); + } + }); + if (this.subMenu) { + this.getDom().className += ' edui-hassubmenu'; + this.subMenu.render(); + this.addListener('out', function () { + me.delayHideSubMenu(); + }); + this.subMenu.addListener('over', function () { + clearTimeout(me._closingTimer); + me._closingTimer = null; + me.addState('opened'); + }); + this.ownerMenu.addListener('hide', function () { + me.hideSubMenu(); + }); + this.ownerMenu.addListener('submenuover', function (t, subMenu) { + if (subMenu !== me) { + me.delayHideSubMenu(); + } + }); + this.subMenu._bakQueryAutoHide = this.subMenu.queryAutoHide; + this.subMenu.queryAutoHide = function (el) { + if (el && uiUtils.contains(me.getDom(), el)) { + return false; + } + return this._bakQueryAutoHide(el); + }; + } + this.getDom().style.tabIndex = '-1'; + uiUtils.makeUnselectable(this.getDom()); + this.Stateful_postRender(); + }, + delayShowSubMenu:function () { + var me = this; + if (!me.isDisabled()) { + me.addState('opened'); + clearTimeout(me._showingTimer); + clearTimeout(me._closingTimer); + me._closingTimer = null; + me._showingTimer = setTimeout(function () { + me.showSubMenu(); + }, 250); + } + }, + delayHideSubMenu:function () { + var me = this; + if (!me.isDisabled()) { + me.removeState('opened'); + clearTimeout(me._showingTimer); + if (!me._closingTimer) { + me._closingTimer = setTimeout(function () { + if (!me.hasState('opened')) { + me.hideSubMenu(); + } + me._closingTimer = null; + }, 400); + } + } + }, + renderLabelHtml:function () { + return '
      ' + + '
      ' + + '
      ' + (this.label || '') + '
      '; + }, + getStateDom:function () { + return this.getDom(); + }, + queryAutoHide:function (el) { + if (this.subMenu && this.hasState('opened')) { + return this.subMenu.queryAutoHide(el); + } + }, + _onClick:function (event, this_) { + if (this.hasState('disabled')) return; + if (this.fireEvent('click', event, this_) !== false) { + if (this.subMenu) { + this.showSubMenu(); + } else { + Popup.postHide(event); + } + } + }, + showSubMenu:function () { + var rect = uiUtils.getClientRect(this.getDom()); + rect.right -= 5; + rect.left += 2; + rect.width -= 7; + rect.top -= 4; + rect.bottom += 4; + rect.height += 8; + this.subMenu.showAnchorRect(rect, true, true); + }, + hideSubMenu:function () { + this.subMenu.hide(); + } + }; + utils.inherits(MenuItem, UIBase); + utils.extend(MenuItem.prototype, Stateful, true); +})(); + + +// ui/combox.js +///import core +///import uicore +///import ui/menu.js +///import ui/splitbutton.js +(function (){ + // todo: menu和item提成通用list + var utils = baidu.editor.utils, + uiUtils = baidu.editor.ui.uiUtils, + Menu = baidu.editor.ui.Menu, + SplitButton = baidu.editor.ui.SplitButton, + Combox = baidu.editor.ui.Combox = function (options){ + this.initOptions(options); + this.initCombox(); + }; + Combox.prototype = { + uiName: 'combox', + onbuttonclick:function () { + this.showPopup(); + }, + initCombox: function (){ + var me = this; + this.items = this.items || []; + for (var i=0; i vpRect.right) { + left = vpRect.right - rect.width; + } + var top = offset.top; + if (top + rect.height > vpRect.bottom) { + top = vpRect.bottom - rect.height; + } + el.style.left = Math.max(left, 0) + 'px'; + el.style.top = Math.max(top, 0) + 'px'; + }, + showAtCenter: function (){ + + var vpRect = uiUtils.getViewportRect(); + + if ( !this.fullscreen ) { + this.getDom().style.display = ''; + var popSize = this.fitSize(); + var titleHeight = this.getDom('titlebar').offsetHeight | 0; + var left = vpRect.width / 2 - popSize.width / 2; + var top = vpRect.height / 2 - (popSize.height - titleHeight) / 2 - titleHeight; + var popEl = this.getDom(); + this.safeSetOffset({ + left: Math.max(left | 0, 0), + top: Math.max(top | 0, 0) + }); + if (!domUtils.hasClass(popEl, 'edui-state-centered')) { + popEl.className += ' edui-state-centered'; + } + } else { + var dialogWrapNode = this.getDom(), + contentNode = this.getDom('content'); + + dialogWrapNode.style.display = "block"; + + var wrapRect = UE.ui.uiUtils.getClientRect( dialogWrapNode ), + contentRect = UE.ui.uiUtils.getClientRect( contentNode ); + dialogWrapNode.style.left = "-100000px"; + + contentNode.style.width = ( vpRect.width - wrapRect.width + contentRect.width ) + "px"; + contentNode.style.height = ( vpRect.height - wrapRect.height + contentRect.height ) + "px"; + + dialogWrapNode.style.width = vpRect.width + "px"; + dialogWrapNode.style.height = vpRect.height + "px"; + dialogWrapNode.style.left = 0; + + //保存环境的overflow值 + this._originalContext = { + html: { + overflowX: document.documentElement.style.overflowX, + overflowY: document.documentElement.style.overflowY + }, + body: { + overflowX: document.body.style.overflowX, + overflowY: document.body.style.overflowY + } + }; + + document.documentElement.style.overflowX = 'hidden'; + document.documentElement.style.overflowY = 'hidden'; + document.body.style.overflowX = 'hidden'; + document.body.style.overflowY = 'hidden'; + + } + + this._show(); + }, + getContentHtml: function (){ + var contentHtml = ''; + if (typeof this.content == 'string') { + contentHtml = this.content; + } else if (this.iframeUrl) { + contentHtml = ''; + } + return contentHtml; + }, + getHtmlTpl: function (){ + var footHtml = ''; + + if (this.buttons) { + var buff = []; + for (var i=0; i' + buff.join('') + '' + + ''; + } + + return '
      ' + + '
      ' + + '
      ' + + '
      ' + + '' + (this.title || '') + '' + + '
      ' + + this.closeButton.renderHtml() + + '
      ' + + '
      '+ ( this.autoReset ? '' : this.getContentHtml()) +'
      ' + + footHtml + + '
      '; + }, + postRender: function (){ + // todo: 保持居中/记住上次关闭位置选项 + if (!this.modalMask.getDom()) { + this.modalMask.render(); + this.modalMask.hide(); + } + if (!this.dragMask.getDom()) { + this.dragMask.render(); + this.dragMask.hide(); + } + var me = this; + this.addListener('show', function (){ + me.modalMask.show(this.getDom().style.zIndex - 2); + }); + this.addListener('hide', function (){ + me.modalMask.hide(); + }); + if (this.buttons) { + for (var i=0; i'; + me.editor.container.style.zIndex && (this.getDom().style.zIndex = me.editor.container.style.zIndex * 1 + 1); + } + } + // canSideUp:false, + // canSideLeft:false + }); + this.onbuttonclick = function(){ + this.showPopup(); + }; + this.initSplitButton(); + } + + }; + + utils.inherits(MultiMenuPop, SplitButton); +})(); + + +// ui/shortcutmenu.js +(function () { + var UI = baidu.editor.ui, + UIBase = UI.UIBase, + uiUtils = UI.uiUtils, + utils = baidu.editor.utils, + domUtils = baidu.editor.dom.domUtils; + + var allMenus = [],//存储所有快捷菜单 + timeID, + isSubMenuShow = false;//是否有子pop显示 + + var ShortCutMenu = UI.ShortCutMenu = function (options) { + this.initOptions (options); + this.initShortCutMenu (); + }; + + ShortCutMenu.postHide = hideAllMenu; + + ShortCutMenu.prototype = { + isHidden : true , + SPACE : 5 , + initShortCutMenu : function () { + this.items = this.items || []; + this.initUIBase (); + this.initItems (); + this.initEvent (); + allMenus.push (this); + } , + initEvent : function () { + var me = this, + doc = me.editor.document; + + domUtils.on (doc , "mousemove" , function (e) { + if (me.isHidden === false) { + //有pop显示就不隐藏快捷菜单 + if (me.getSubMenuMark () || me.eventType == "contextmenu") return; + + + var flag = true, + el = me.getDom (), + wt = el.offsetWidth, + ht = el.offsetHeight, + distanceX = wt / 2 + me.SPACE,//距离中心X标准 + distanceY = ht / 2,//距离中心Y标准 + x = Math.abs (e.screenX - me.left),//离中心距离横坐标 + y = Math.abs (e.screenY - me.top);//离中心距离纵坐标 + + clearTimeout (timeID); + timeID = setTimeout (function () { + if (y > 0 && y < distanceY) { + me.setOpacity (el , "1"); + } else if (y > distanceY && y < distanceY + 70) { + me.setOpacity (el , "0.5"); + flag = false; + } else if (y > distanceY + 70 && y < distanceY + 140) { + me.hide (); + } + + if (flag && x > 0 && x < distanceX) { + me.setOpacity (el , "1") + } else if (x > distanceX && x < distanceX + 70) { + me.setOpacity (el , "0.5") + } else if (x > distanceX + 70 && x < distanceX + 140) { + me.hide (); + } + }); + } + }); + + //ie\ff下 mouseout不准 + if (browser.chrome) { + domUtils.on (doc , "mouseout" , function (e) { + var relatedTgt = e.relatedTarget || e.toElement; + + if (relatedTgt == null || relatedTgt.tagName == "HTML") { + me.hide (); + } + }); + } + + me.editor.addListener ("afterhidepop" , function () { + if (!me.isHidden) { + isSubMenuShow = true; + } + }); + + } , + initItems : function () { + if (utils.isArray (this.items)) { + for (var i = 0, len = this.items.length ; i < len ; i++) { + var item = this.items[i].toLowerCase (); + + if (UI[item]) { + this.items[i] = new UI[item] (this.editor); + this.items[i].className += " edui-shortcutsubmenu "; + } + } + } + } , + setOpacity : function (el , value) { + if (browser.ie && browser.version < 9) { + el.style.filter = "alpha(opacity = " + parseFloat (value) * 100 + ");" + } else { + el.style.opacity = value; + } + } , + getSubMenuMark : function () { + isSubMenuShow = false; + var layerEle = uiUtils.getFixedLayer (); + var list = domUtils.getElementsByTagName (layerEle , "div" , function (node) { + return domUtils.hasClass (node , "edui-shortcutsubmenu edui-popup") + }); + + for (var i = 0, node ; node = list[i++] ;) { + if (node.style.display != "none") { + isSubMenuShow = true; + } + } + return isSubMenuShow; + } , + show : function (e , hasContextmenu) { + var me = this, + offset = {}, + el = this.getDom (), + fixedlayer = uiUtils.getFixedLayer (); + + function setPos (offset) { + if (offset.left < 0) { + offset.left = 0; + } + if (offset.top < 0) { + offset.top = 0; + } + el.style.cssText = "position:absolute;left:" + offset.left + "px;top:" + offset.top + "px;"; + } + + function setPosByCxtMenu (menu) { + if (!menu.tagName) { + menu = menu.getDom (); + } + offset.left = parseInt (menu.style.left); + offset.top = parseInt (menu.style.top); + offset.top -= el.offsetHeight + 15; + setPos (offset); + } + + + me.eventType = e.type; + el.style.cssText = "display:block;left:-9999px"; + + if (e.type == "contextmenu" && hasContextmenu) { + var menu = domUtils.getElementsByTagName (fixedlayer , "div" , "edui-contextmenu")[0]; + if (menu) { + setPosByCxtMenu (menu) + } else { + me.editor.addListener ("aftershowcontextmenu" , function (type , menu) { + setPosByCxtMenu (menu); + }); + } + } else { + offset = uiUtils.getViewportOffsetByEvent (e); + offset.top -= el.offsetHeight + me.SPACE; + offset.left += me.SPACE + 20; + setPos (offset); + me.setOpacity (el , 0.2); + } + + + me.isHidden = false; + me.left = e.screenX + el.offsetWidth / 2 - me.SPACE; + me.top = e.screenY - (el.offsetHeight / 2) - me.SPACE; + + if (me.editor) { + el.style.zIndex = me.editor.container.style.zIndex * 1 + 10; + fixedlayer.style.zIndex = el.style.zIndex - 1; + } + } , + hide : function () { + if (this.getDom ()) { + this.getDom ().style.display = "none"; + } + this.isHidden = true; + } , + postRender : function () { + if (utils.isArray (this.items)) { + for (var i = 0, item ; item = this.items[i++] ;) { + item.postRender (); + } + } + } , + getHtmlTpl : function () { + var buff; + if (utils.isArray (this.items)) { + buff = []; + for (var i = 0 ; i < this.items.length ; i++) { + buff[i] = this.items[i].renderHtml (); + } + buff = buff.join (""); + } else { + buff = this.items; + } + + return '
      ' + + buff + + '
      '; + } + }; + + utils.inherits (ShortCutMenu , UIBase); + + function hideAllMenu (e) { + var tgt = e.target || e.srcElement, + cur = domUtils.findParent (tgt , function (node) { + return domUtils.hasClass (node , "edui-shortcutmenu") || domUtils.hasClass (node , "edui-popup"); + } , true); + + if (!cur) { + for (var i = 0, menu ; menu = allMenus[i++] ;) { + menu.hide () + } + } + } + + domUtils.on (document , 'mousedown' , function (e) { + hideAllMenu (e); + }); + + domUtils.on (window , 'scroll' , function (e) { + hideAllMenu (e); + }); + +}) (); + + +// ui/breakline.js +(function (){ + var utils = baidu.editor.utils, + UIBase = baidu.editor.ui.UIBase, + Breakline = baidu.editor.ui.Breakline = function (options){ + this.initOptions(options); + this.initSeparator(); + }; + Breakline.prototype = { + uiName: 'Breakline', + initSeparator: function (){ + this.initUIBase(); + }, + getHtmlTpl: function (){ + return '
      '; + } + }; + utils.inherits(Breakline, UIBase); + +})(); + + +// ui/message.js +///import core +///import uicore +(function () { + var utils = baidu.editor.utils, + domUtils = baidu.editor.dom.domUtils, + UIBase = baidu.editor.ui.UIBase, + Message = baidu.editor.ui.Message = function (options){ + this.initOptions(options); + this.initMessage(); + }; + + Message.prototype = { + initMessage: function (){ + this.initUIBase(); + }, + getHtmlTpl: function (){ + return '
      ' + + '
      ×
      ' + + '
      ' + + ' ' + + '
      ' + + '
      ' + + '
      ' + + '
      ' + + '
      '; + }, + reset: function(opt){ + var me = this; + if (!opt.keepshow) { + clearTimeout(this.timer); + me.timer = setTimeout(function(){ + me.hide(); + }, opt.timeout || 4000); + } + + opt.content !== undefined && me.setContent(opt.content); + opt.type !== undefined && me.setType(opt.type); + + me.show(); + }, + postRender: function(){ + var me = this, + closer = this.getDom('closer'); + closer && domUtils.on(closer, 'click', function(){ + me.hide(); + }); + }, + setContent: function(content){ + this.getDom('content').innerHTML = content; + }, + setType: function(type){ + type = type || 'info'; + var body = this.getDom('body'); + body.className = body.className.replace(/edui-message-type-[\w-]+/, 'edui-message-type-' + type); + }, + getContent: function(){ + return this.getDom('content').innerHTML; + }, + getType: function(){ + var arr = this.getDom('body').match(/edui-message-type-([\w-]+)/); + return arr ? arr[1]:''; + }, + show: function (){ + this.getDom().style.display = 'block'; + }, + hide: function (){ + var dom = this.getDom(); + if (dom) { + dom.style.display = 'none'; + dom.parentNode && dom.parentNode.removeChild(dom); + } + } + }; + + utils.inherits(Message, UIBase); + +})(); + + +// adapter/editorui.js +//ui跟编辑器的适配層 +//那个按钮弹出是dialog,是下拉筐等都是在这个js中配置 +//自己写的ui也要在这里配置,放到baidu.editor.ui下边,当编辑器实例化的时候会根据ueditor.config中的toolbars找到相应的进行实例化 +(function () { + var utils = baidu.editor.utils; + var editorui = baidu.editor.ui; + var _Dialog = editorui.Dialog; + editorui.buttons = {}; + + editorui.Dialog = function (options) { + var dialog = new _Dialog(options); + dialog.addListener('hide', function () { + + if (dialog.editor) { + var editor = dialog.editor; + try { + if (browser.gecko) { + var y = editor.window.scrollY, + x = editor.window.scrollX; + editor.body.focus(); + editor.window.scrollTo(x, y); + } else { + editor.focus(); + } + + + } catch (ex) { + } + } + }); + return dialog; + }; + + var iframeUrlMap = { + 'anchor':'~/dialogs/anchor/anchor.html', + 'insertimage':'~/dialogs/image/image.html', + 'link':'~/dialogs/link/link.html', + 'spechars':'~/dialogs/spechars/spechars.html', + 'searchreplace':'~/dialogs/searchreplace/searchreplace.html', + 'map':'~/dialogs/map/map.html', + 'gmap':'~/dialogs/gmap/gmap.html', + 'insertvideo':'~/dialogs/video/video.html', + 'help':'~/dialogs/help/help.html', + 'preview':'~/dialogs/preview/preview.html', + 'emotion':'~/dialogs/emotion/emotion.html', + 'wordimage':'~/dialogs/wordimage/wordimage.html', + 'attachment':'~/dialogs/attachment/attachment.html', + 'insertframe':'~/dialogs/insertframe/insertframe.html', + 'edittip':'~/dialogs/table/edittip.html', + 'edittable':'~/dialogs/table/edittable.html', + 'edittd':'~/dialogs/table/edittd.html', + 'webapp':'~/dialogs/webapp/webapp.html', + 'snapscreen':'~/dialogs/snapscreen/snapscreen.html', + 'scrawl':'~/dialogs/scrawl/scrawl.html', + 'music':'~/dialogs/music/music.html', + 'template':'~/dialogs/template/template.html', + 'background':'~/dialogs/background/background.html', + 'charts': '~/dialogs/charts/charts.html' + }; + //为工具栏添加按钮,以下都是统一的按钮触发命令,所以写在一起 + var btnCmds = ['undo', 'redo', 'formatmatch', + 'bold', 'italic', 'underline', 'fontborder', 'touppercase', 'tolowercase', + 'strikethrough', 'subscript', 'superscript', 'source', 'indent', 'outdent', + 'blockquote', 'pasteplain', 'pagebreak', + 'selectall', 'print','horizontal', 'removeformat', 'time', 'date', 'unlink', + 'insertparagraphbeforetable', 'insertrow', 'insertcol', 'mergeright', 'mergedown', 'deleterow', + 'deletecol', 'splittorows', 'splittocols', 'splittocells', 'mergecells', 'deletetable', 'drafts']; + + for (var i = 0, ci; ci = btnCmds[i++];) { + ci = ci.toLowerCase(); + editorui[ci] = function (cmd) { + return function (editor) { + var ui = new editorui.Button({ + className:'edui-for-' + cmd, + title:editor.options.labelMap[cmd] || editor.getLang("labelMap." + cmd) || '', + onclick:function () { + editor.execCommand(cmd); + }, + theme:editor.options.theme, + showText:false + }); + editorui.buttons[cmd] = ui; + editor.addListener('selectionchange', function (type, causeByUi, uiReady) { + var state = editor.queryCommandState(cmd); + if (state == -1) { + ui.setDisabled(true); + ui.setChecked(false); + } else { + if (!uiReady) { + ui.setDisabled(false); + ui.setChecked(state); + } + } + }); + return ui; + }; + }(ci); + } + + //清除文档 + editorui.cleardoc = function (editor) { + var ui = new editorui.Button({ + className:'edui-for-cleardoc', + title:editor.options.labelMap.cleardoc || editor.getLang("labelMap.cleardoc") || '', + theme:editor.options.theme, + onclick:function () { + if (confirm(editor.getLang("confirmClear"))) { + editor.execCommand('cleardoc'); + } + } + }); + editorui.buttons["cleardoc"] = ui; + editor.addListener('selectionchange', function () { + ui.setDisabled(editor.queryCommandState('cleardoc') == -1); + }); + return ui; + }; + + //排版,图片排版,文字方向 + var typeset = { + 'justify':['left', 'right', 'center', 'justify'], + 'imagefloat':['none', 'left', 'center', 'right'], + 'directionality':['ltr', 'rtl'] + }; + + for (var p in typeset) { + + (function (cmd, val) { + for (var i = 0, ci; ci = val[i++];) { + (function (cmd2) { + editorui[cmd.replace('float', '') + cmd2] = function (editor) { + var ui = new editorui.Button({ + className:'edui-for-' + cmd.replace('float', '') + cmd2, + title:editor.options.labelMap[cmd.replace('float', '') + cmd2] || editor.getLang("labelMap." + cmd.replace('float', '') + cmd2) || '', + theme:editor.options.theme, + onclick:function () { + editor.execCommand(cmd, cmd2); + } + }); + editorui.buttons[cmd] = ui; + editor.addListener('selectionchange', function (type, causeByUi, uiReady) { + ui.setDisabled(editor.queryCommandState(cmd) == -1); + ui.setChecked(editor.queryCommandValue(cmd) == cmd2 && !uiReady); + }); + return ui; + }; + })(ci) + } + })(p, typeset[p]) + } + + //字体颜色和背景颜色 + for (var i = 0, ci; ci = ['backcolor', 'forecolor'][i++];) { + editorui[ci] = function (cmd) { + return function (editor) { + var ui = new editorui.ColorButton({ + className:'edui-for-' + cmd, + color:'default', + title:editor.options.labelMap[cmd] || editor.getLang("labelMap." + cmd) || '', + editor:editor, + onpickcolor:function (t, color) { + editor.execCommand(cmd, color); + }, + onpicknocolor:function () { + editor.execCommand(cmd, 'default'); + this.setColor('transparent'); + this.color = 'default'; + }, + onbuttonclick:function () { + editor.execCommand(cmd, this.color); + } + }); + editorui.buttons[cmd] = ui; + editor.addListener('selectionchange', function () { + ui.setDisabled(editor.queryCommandState(cmd) == -1); + }); + return ui; + }; + }(ci); + } + + + var dialogBtns = { + noOk:['searchreplace', 'help', 'spechars', 'webapp','preview'], + ok:['attachment', 'anchor', 'link', 'insertimage', 'map', 'gmap', 'insertframe', 'wordimage', + 'insertvideo', 'insertframe', 'edittip', 'edittable', 'edittd', 'scrawl', 'template', 'music', 'background', 'charts'] + }; + + for (var p in dialogBtns) { + (function (type, vals) { + for (var i = 0, ci; ci = vals[i++];) { + //todo opera下存在问题 + if (browser.opera && ci === "searchreplace") { + continue; + } + (function (cmd) { + editorui[cmd] = function (editor, iframeUrl, title) { + iframeUrl = iframeUrl || (editor.options.iframeUrlMap || {})[cmd] || iframeUrlMap[cmd]; + title = editor.options.labelMap[cmd] || editor.getLang("labelMap." + cmd) || ''; + + var dialog; + //没有iframeUrl不创建dialog + if (iframeUrl) { + dialog = new editorui.Dialog(utils.extend({ + iframeUrl:editor.ui.mapUrl(iframeUrl), + editor:editor, + className:'edui-for-' + cmd, + title:title, + holdScroll: cmd === 'insertimage', + fullscreen: /charts|preview/.test(cmd), + closeDialog:editor.getLang("closeDialog") + }, type == 'ok' ? { + buttons:[ + { + className:'edui-okbutton', + label:editor.getLang("ok"), + editor:editor, + onclick:function () { + dialog.close(true); + } + }, + { + className:'edui-cancelbutton', + label:editor.getLang("cancel"), + editor:editor, + onclick:function () { + dialog.close(false); + } + } + ] + } : {})); + + editor.ui._dialogs[cmd + "Dialog"] = dialog; + } + + var ui = new editorui.Button({ + className:'edui-for-' + cmd, + title:title, + onclick:function () { + if (dialog) { + switch (cmd) { + case "wordimage": + var images = editor.execCommand("wordimage"); + if (images && images.length) { + dialog.render(); + dialog.open(); + } + break; + case "scrawl": + if (editor.queryCommandState("scrawl") != -1) { + dialog.render(); + dialog.open(); + } + + break; + default: + dialog.render(); + dialog.open(); + } + } + }, + theme:editor.options.theme, + disabled:(cmd == 'scrawl' && editor.queryCommandState("scrawl") == -1) || ( cmd == 'charts' ) + }); + editorui.buttons[cmd] = ui; + editor.addListener('selectionchange', function () { + //只存在于右键菜单而无工具栏按钮的ui不需要检测状态 + var unNeedCheckState = {'edittable':1}; + if (cmd in unNeedCheckState)return; + + var state = editor.queryCommandState(cmd); + if (ui.getDom()) { + ui.setDisabled(state == -1); + ui.setChecked(state); + } + + }); + + return ui; + }; + })(ci.toLowerCase()) + } + })(p, dialogBtns[p]); + } + + editorui.snapscreen = function (editor, iframeUrl, title) { + title = editor.options.labelMap['snapscreen'] || editor.getLang("labelMap.snapscreen") || ''; + var ui = new editorui.Button({ + className:'edui-for-snapscreen', + title:title, + onclick:function () { + editor.execCommand("snapscreen"); + }, + theme:editor.options.theme + + }); + editorui.buttons['snapscreen'] = ui; + iframeUrl = iframeUrl || (editor.options.iframeUrlMap || {})["snapscreen"] || iframeUrlMap["snapscreen"]; + if (iframeUrl) { + var dialog = new editorui.Dialog({ + iframeUrl:editor.ui.mapUrl(iframeUrl), + editor:editor, + className:'edui-for-snapscreen', + title:title, + buttons:[ + { + className:'edui-okbutton', + label:editor.getLang("ok"), + editor:editor, + onclick:function () { + dialog.close(true); + } + }, + { + className:'edui-cancelbutton', + label:editor.getLang("cancel"), + editor:editor, + onclick:function () { + dialog.close(false); + } + } + ] + + }); + dialog.render(); + editor.ui._dialogs["snapscreenDialog"] = dialog; + } + editor.addListener('selectionchange', function () { + ui.setDisabled(editor.queryCommandState('snapscreen') == -1); + }); + return ui; + }; + + editorui.insertcode = function (editor, list, title) { + list = editor.options['insertcode'] || []; + title = editor.options.labelMap['insertcode'] || editor.getLang("labelMap.insertcode") || ''; + // if (!list.length) return; + var items = []; + utils.each(list,function(key,val){ + items.push({ + label:key, + value:val, + theme:editor.options.theme, + renderLabelHtml:function () { + return '
      ' + (this.label || '') + '
      '; + } + }); + }); + + var ui = new editorui.Combox({ + editor:editor, + items:items, + onselect:function (t, index) { + editor.execCommand('insertcode', this.items[index].value); + }, + onbuttonclick:function () { + this.showPopup(); + }, + title:title, + initValue:title, + className:'edui-for-insertcode', + indexByValue:function (value) { + if (value) { + for (var i = 0, ci; ci = this.items[i]; i++) { + if (ci.value.indexOf(value) != -1) + return i; + } + } + + return -1; + } + }); + editorui.buttons['insertcode'] = ui; + editor.addListener('selectionchange', function (type, causeByUi, uiReady) { + if (!uiReady) { + var state = editor.queryCommandState('insertcode'); + if (state == -1) { + ui.setDisabled(true); + } else { + ui.setDisabled(false); + var value = editor.queryCommandValue('insertcode'); + if(!value){ + ui.setValue(title); + return; + } + //trace:1871 ie下从源码模式切换回来时,字体会带单引号,而且会有逗号 + value && (value = value.replace(/['"]/g, '').split(',')[0]); + ui.setValue(value); + + } + } + + }); + return ui; + }; + editorui.fontfamily = function (editor, list, title) { + + list = editor.options['fontfamily'] || []; + title = editor.options.labelMap['fontfamily'] || editor.getLang("labelMap.fontfamily") || ''; + if (!list.length) return; + for (var i = 0, ci, items = []; ci = list[i]; i++) { + var langLabel = editor.getLang('fontfamily')[ci.name] || ""; + (function (key, val) { + items.push({ + label:key, + value:val, + theme:editor.options.theme, + renderLabelHtml:function () { + return '
      ' + (this.label || '') + '
      '; + } + }); + })(ci.label || langLabel, ci.val) + } + var ui = new editorui.Combox({ + editor:editor, + items:items, + onselect:function (t, index) { + editor.execCommand('FontFamily', this.items[index].value); + }, + onbuttonclick:function () { + this.showPopup(); + }, + title:title, + initValue:title, + className:'edui-for-fontfamily', + indexByValue:function (value) { + if (value) { + for (var i = 0, ci; ci = this.items[i]; i++) { + if (ci.value.indexOf(value) != -1) + return i; + } + } + + return -1; + } + }); + editorui.buttons['fontfamily'] = ui; + editor.addListener('selectionchange', function (type, causeByUi, uiReady) { + if (!uiReady) { + var state = editor.queryCommandState('FontFamily'); + if (state == -1) { + ui.setDisabled(true); + } else { + ui.setDisabled(false); + var value = editor.queryCommandValue('FontFamily'); + //trace:1871 ie下从源码模式切换回来时,字体会带单引号,而且会有逗号 + value && (value = value.replace(/['"]/g, '').split(',')[0]); + ui.setValue(value); + + } + } + + }); + return ui; + }; + + editorui.fontsize = function (editor, list, title) { + title = editor.options.labelMap['fontsize'] || editor.getLang("labelMap.fontsize") || ''; + list = list || editor.options['fontsize'] || []; + if (!list.length) return; + var items = []; + for (var i = 0; i < list.length; i++) { + var size = list[i] + 'px'; + items.push({ + label:size, + value:size, + theme:editor.options.theme, + renderLabelHtml:function () { + return '
      ' + (this.label || '') + '
      '; + } + }); + } + var ui = new editorui.Combox({ + editor:editor, + items:items, + title:title, + initValue:title, + onselect:function (t, index) { + editor.execCommand('FontSize', this.items[index].value); + }, + onbuttonclick:function () { + this.showPopup(); + }, + className:'edui-for-fontsize' + }); + editorui.buttons['fontsize'] = ui; + editor.addListener('selectionchange', function (type, causeByUi, uiReady) { + if (!uiReady) { + var state = editor.queryCommandState('FontSize'); + if (state == -1) { + ui.setDisabled(true); + } else { + ui.setDisabled(false); + ui.setValue(editor.queryCommandValue('FontSize')); + } + } + + }); + return ui; + }; + + editorui.paragraph = function (editor, list, title) { + title = editor.options.labelMap['paragraph'] || editor.getLang("labelMap.paragraph") || ''; + list = editor.options['paragraph'] || []; + if (utils.isEmptyObject(list)) return; + var items = []; + for (var i in list) { + items.push({ + value:i, + label:list[i] || editor.getLang("paragraph")[i], + theme:editor.options.theme, + renderLabelHtml:function () { + return '
      ' + (this.label || '') + '
      '; + } + }) + } + var ui = new editorui.Combox({ + editor:editor, + items:items, + title:title, + initValue:title, + className:'edui-for-paragraph', + onselect:function (t, index) { + editor.execCommand('Paragraph', this.items[index].value); + }, + onbuttonclick:function () { + this.showPopup(); + } + }); + editorui.buttons['paragraph'] = ui; + editor.addListener('selectionchange', function (type, causeByUi, uiReady) { + if (!uiReady) { + var state = editor.queryCommandState('Paragraph'); + if (state == -1) { + ui.setDisabled(true); + } else { + ui.setDisabled(false); + var value = editor.queryCommandValue('Paragraph'); + var index = ui.indexByValue(value); + if (index != -1) { + ui.setValue(value); + } else { + ui.setValue(ui.initValue); + } + } + } + + }); + return ui; + }; + + + //自定义标题 + editorui.customstyle = function (editor) { + var list = editor.options['customstyle'] || [], + title = editor.options.labelMap['customstyle'] || editor.getLang("labelMap.customstyle") || ''; + if (!list.length)return; + var langCs = editor.getLang('customstyle'); + for (var i = 0, items = [], t; t = list[i++];) { + (function (t) { + var ck = {}; + ck.label = t.label ? t.label : langCs[t.name]; + ck.style = t.style; + ck.className = t.className; + ck.tag = t.tag; + items.push({ + label:ck.label, + value:ck, + theme:editor.options.theme, + renderLabelHtml:function () { + return '
      ' + '<' + ck.tag + ' ' + (ck.className ? ' class="' + ck.className + '"' : "") + + (ck.style ? ' style="' + ck.style + '"' : "") + '>' + ck.label + "<\/" + ck.tag + ">" + + '
      '; + } + }); + })(t); + } + + var ui = new editorui.Combox({ + editor:editor, + items:items, + title:title, + initValue:title, + className:'edui-for-customstyle', + onselect:function (t, index) { + editor.execCommand('customstyle', this.items[index].value); + }, + onbuttonclick:function () { + this.showPopup(); + }, + indexByValue:function (value) { + for (var i = 0, ti; ti = this.items[i++];) { + if (ti.label == value) { + return i - 1 + } + } + return -1; + } + }); + editorui.buttons['customstyle'] = ui; + editor.addListener('selectionchange', function (type, causeByUi, uiReady) { + if (!uiReady) { + var state = editor.queryCommandState('customstyle'); + if (state == -1) { + ui.setDisabled(true); + } else { + ui.setDisabled(false); + var value = editor.queryCommandValue('customstyle'); + var index = ui.indexByValue(value); + if (index != -1) { + ui.setValue(value); + } else { + ui.setValue(ui.initValue); + } + } + } + + }); + return ui; + }; + editorui.inserttable = function (editor, iframeUrl, title) { + title = editor.options.labelMap['inserttable'] || editor.getLang("labelMap.inserttable") || ''; + var ui = new editorui.TableButton({ + editor:editor, + title:title, + className:'edui-for-inserttable', + onpicktable:function (t, numCols, numRows) { + editor.execCommand('InsertTable', {numRows:numRows, numCols:numCols, border:1}); + }, + onbuttonclick:function () { + this.showPopup(); + } + }); + editorui.buttons['inserttable'] = ui; + editor.addListener('selectionchange', function () { + ui.setDisabled(editor.queryCommandState('inserttable') == -1); + }); + return ui; + }; + + editorui.lineheight = function (editor) { + var val = editor.options.lineheight || []; + if (!val.length)return; + for (var i = 0, ci, items = []; ci = val[i++];) { + items.push({ + //todo:写死了 + label:ci, + value:ci, + theme:editor.options.theme, + onclick:function () { + editor.execCommand("lineheight", this.value); + } + }) + } + var ui = new editorui.MenuButton({ + editor:editor, + className:'edui-for-lineheight', + title:editor.options.labelMap['lineheight'] || editor.getLang("labelMap.lineheight") || '', + items:items, + onbuttonclick:function () { + var value = editor.queryCommandValue('LineHeight') || this.value; + editor.execCommand("LineHeight", value); + } + }); + editorui.buttons['lineheight'] = ui; + editor.addListener('selectionchange', function () { + var state = editor.queryCommandState('LineHeight'); + if (state == -1) { + ui.setDisabled(true); + } else { + ui.setDisabled(false); + var value = editor.queryCommandValue('LineHeight'); + value && ui.setValue((value + '').replace(/cm/, '')); + ui.setChecked(state) + } + }); + return ui; + }; + + var rowspacings = ['top', 'bottom']; + for (var r = 0, ri; ri = rowspacings[r++];) { + (function (cmd) { + editorui['rowspacing' + cmd] = function (editor) { + var val = editor.options['rowspacing' + cmd] || []; + if (!val.length) return null; + for (var i = 0, ci, items = []; ci = val[i++];) { + items.push({ + label:ci, + value:ci, + theme:editor.options.theme, + onclick:function () { + editor.execCommand("rowspacing", this.value, cmd); + } + }) + } + var ui = new editorui.MenuButton({ + editor:editor, + className:'edui-for-rowspacing' + cmd, + title:editor.options.labelMap['rowspacing' + cmd] || editor.getLang("labelMap.rowspacing" + cmd) || '', + items:items, + onbuttonclick:function () { + var value = editor.queryCommandValue('rowspacing', cmd) || this.value; + editor.execCommand("rowspacing", value, cmd); + } + }); + editorui.buttons[cmd] = ui; + editor.addListener('selectionchange', function () { + var state = editor.queryCommandState('rowspacing', cmd); + if (state == -1) { + ui.setDisabled(true); + } else { + ui.setDisabled(false); + var value = editor.queryCommandValue('rowspacing', cmd); + value && ui.setValue((value + '').replace(/%/, '')); + ui.setChecked(state) + } + }); + return ui; + } + })(ri) + } + //有序,无序列表 + var lists = ['insertorderedlist', 'insertunorderedlist']; + for (var l = 0, cl; cl = lists[l++];) { + (function (cmd) { + editorui[cmd] = function (editor) { + var vals = editor.options[cmd], + _onMenuClick = function () { + editor.execCommand(cmd, this.value); + }, items = []; + for (var i in vals) { + items.push({ + label:vals[i] || editor.getLang()[cmd][i] || "", + value:i, + theme:editor.options.theme, + onclick:_onMenuClick + }) + } + var ui = new editorui.MenuButton({ + editor:editor, + className:'edui-for-' + cmd, + title:editor.getLang("labelMap." + cmd) || '', + 'items':items, + onbuttonclick:function () { + var value = editor.queryCommandValue(cmd) || this.value; + editor.execCommand(cmd, value); + } + }); + editorui.buttons[cmd] = ui; + editor.addListener('selectionchange', function () { + var state = editor.queryCommandState(cmd); + if (state == -1) { + ui.setDisabled(true); + } else { + ui.setDisabled(false); + var value = editor.queryCommandValue(cmd); + ui.setValue(value); + ui.setChecked(state) + } + }); + return ui; + }; + })(cl) + } + + editorui.fullscreen = function (editor, title) { + title = editor.options.labelMap['fullscreen'] || editor.getLang("labelMap.fullscreen") || ''; + var ui = new editorui.Button({ + className:'edui-for-fullscreen', + title:title, + theme:editor.options.theme, + onclick:function () { + if (editor.ui) { + editor.ui.setFullScreen(!editor.ui.isFullScreen()); + } + this.setChecked(editor.ui.isFullScreen()); + } + }); + editorui.buttons['fullscreen'] = ui; + editor.addListener('selectionchange', function () { + var state = editor.queryCommandState('fullscreen'); + ui.setDisabled(state == -1); + ui.setChecked(editor.ui.isFullScreen()); + }); + return ui; + }; + + // 表情 + editorui["emotion"] = function (editor, iframeUrl) { + var cmd = "emotion"; + var ui = new editorui.MultiMenuPop({ + title:editor.options.labelMap[cmd] || editor.getLang("labelMap." + cmd + "") || '', + editor:editor, + className:'edui-for-' + cmd, + iframeUrl:editor.ui.mapUrl(iframeUrl || (editor.options.iframeUrlMap || {})[cmd] || iframeUrlMap[cmd]) + }); + editorui.buttons[cmd] = ui; + + editor.addListener('selectionchange', function () { + ui.setDisabled(editor.queryCommandState(cmd) == -1) + }); + return ui; + }; + + editorui.autotypeset = function (editor) { + var ui = new editorui.AutoTypeSetButton({ + editor:editor, + title:editor.options.labelMap['autotypeset'] || editor.getLang("labelMap.autotypeset") || '', + className:'edui-for-autotypeset', + onbuttonclick:function () { + editor.execCommand('autotypeset') + } + }); + editorui.buttons['autotypeset'] = ui; + editor.addListener('selectionchange', function () { + ui.setDisabled(editor.queryCommandState('autotypeset') == -1); + }); + return ui; + }; + + /* 简单上传插件 */ + editorui["simpleupload"] = function (editor) { + var name = 'simpleupload', + ui = new editorui.Button({ + className:'edui-for-' + name, + title:editor.options.labelMap[name] || editor.getLang("labelMap." + name) || '', + onclick:function () {}, + theme:editor.options.theme, + showText:false + }); + editorui.buttons[name] = ui; + editor.addListener('ready', function() { + var b = ui.getDom('body'), + iconSpan = b.children[0]; + editor.fireEvent('simpleuploadbtnready', iconSpan); + }); + editor.addListener('selectionchange', function (type, causeByUi, uiReady) { + var state = editor.queryCommandState(name); + if (state == -1) { + ui.setDisabled(true); + ui.setChecked(false); + } else { + if (!uiReady) { + ui.setDisabled(false); + ui.setChecked(state); + } + } + }); + return ui; + }; + +})(); + + +// adapter/editor.js +///import core +///commands 全屏 +///commandsName FullScreen +///commandsTitle 全屏 +(function () { + var utils = baidu.editor.utils, + uiUtils = baidu.editor.ui.uiUtils, + UIBase = baidu.editor.ui.UIBase, + domUtils = baidu.editor.dom.domUtils; + var nodeStack = []; + + function EditorUI(options) { + this.initOptions(options); + this.initEditorUI(); + } + + EditorUI.prototype = { + uiName:'editor', + initEditorUI:function () { + this.editor.ui = this; + this._dialogs = {}; + this.initUIBase(); + this._initToolbars(); + var editor = this.editor, + me = this; + + editor.addListener('ready', function () { + //提供getDialog方法 + editor.getDialog = function (name) { + return editor.ui._dialogs[name + "Dialog"]; + }; + domUtils.on(editor.window, 'scroll', function (evt) { + baidu.editor.ui.Popup.postHide(evt); + }); + //提供编辑器实时宽高(全屏时宽高不变化) + editor.ui._actualFrameWidth = editor.options.initialFrameWidth; + + UE.browser.ie && UE.browser.version === 6 && editor.container.ownerDocument.execCommand("BackgroundImageCache", false, true); + + //display bottom-bar label based on config + if (editor.options.elementPathEnabled) { + editor.ui.getDom('elementpath').innerHTML = '
      ' + editor.getLang("elementPathTip") + ':
      '; + } + if (editor.options.wordCount) { + function countFn() { + setCount(editor,me); + domUtils.un(editor.document, "click", arguments.callee); + } + domUtils.on(editor.document, "click", countFn); + editor.ui.getDom('wordcount').innerHTML = editor.getLang("wordCountTip"); + } + editor.ui._scale(); + if (editor.options.scaleEnabled) { + if (editor.autoHeightEnabled) { + editor.disableAutoHeight(); + } + me.enableScale(); + } else { + me.disableScale(); + } + if (!editor.options.elementPathEnabled && !editor.options.wordCount && !editor.options.scaleEnabled) { + editor.ui.getDom('elementpath').style.display = "none"; + editor.ui.getDom('wordcount').style.display = "none"; + editor.ui.getDom('scale').style.display = "none"; + } + + if (!editor.selection.isFocus())return; + editor.fireEvent('selectionchange', false, true); + + + }); + + editor.addListener('mousedown', function (t, evt) { + var el = evt.target || evt.srcElement; + baidu.editor.ui.Popup.postHide(evt, el); + baidu.editor.ui.ShortCutMenu.postHide(evt); + + }); + editor.addListener("delcells", function () { + if (UE.ui['edittip']) { + new UE.ui['edittip'](editor); + } + editor.getDialog('edittip').open(); + }); + + var pastePop, isPaste = false, timer; + editor.addListener("afterpaste", function () { + if(editor.queryCommandState('pasteplain')) + return; + if(baidu.editor.ui.PastePicker){ + pastePop = new baidu.editor.ui.Popup({ + content:new baidu.editor.ui.PastePicker({editor:editor}), + editor:editor, + className:'edui-wordpastepop' + }); + pastePop.render(); + } + isPaste = true; + }); + + editor.addListener("afterinserthtml", function () { + clearTimeout(timer); + timer = setTimeout(function () { + if (pastePop && (isPaste || editor.ui._isTransfer)) { + if(pastePop.isHidden()){ + var span = domUtils.createElement(editor.document, 'span', { + 'style':"line-height:0px;", + 'innerHTML':'\ufeff' + }), + range = editor.selection.getRange(); + range.insertNode(span); + var tmp= getDomNode(span, 'firstChild', 'previousSibling'); + tmp && pastePop.showAnchor(tmp.nodeType == 3 ? tmp.parentNode : tmp); + domUtils.remove(span); + }else{ + pastePop.show(); + } + delete editor.ui._isTransfer; + isPaste = false; + } + }, 200) + }); + editor.addListener('contextmenu', function (t, evt) { + baidu.editor.ui.Popup.postHide(evt); + }); + editor.addListener('keydown', function (t, evt) { + if (pastePop) pastePop.dispose(evt); + var keyCode = evt.keyCode || evt.which; + if(evt.altKey&&keyCode==90){ + UE.ui.buttons['fullscreen'].onclick(); + } + }); + editor.addListener('wordcount', function (type) { + setCount(this,me); + }); + function setCount(editor,ui) { + editor.setOpt({ + wordCount:true, + maximumWords:10000, + wordCountMsg:editor.options.wordCountMsg || editor.getLang("wordCountMsg"), + wordOverFlowMsg:editor.options.wordOverFlowMsg || editor.getLang("wordOverFlowMsg") + }); + var opt = editor.options, + max = opt.maximumWords, + msg = opt.wordCountMsg , + errMsg = opt.wordOverFlowMsg, + countDom = ui.getDom('wordcount'); + if (!opt.wordCount) { + return; + } + var count = editor.getContentLength(true); + if (count > max) { + countDom.innerHTML = errMsg; + editor.fireEvent("wordcountoverflow"); + } else { + countDom.innerHTML = msg.replace("{#leave}", max - count).replace("{#count}", count); + } + } + + editor.addListener('selectionchange', function () { + if (editor.options.elementPathEnabled) { + me[(editor.queryCommandState('elementpath') == -1 ? 'dis' : 'en') + 'ableElementPath']() + } + if (editor.options.scaleEnabled) { + me[(editor.queryCommandState('scale') == -1 ? 'dis' : 'en') + 'ableScale'](); + + } + }); + var popup = new baidu.editor.ui.Popup({ + editor:editor, + content:'', + className:'edui-bubble', + _onEditButtonClick:function () { + this.hide(); + editor.ui._dialogs.linkDialog.open(); + }, + _onImgEditButtonClick:function (name) { + this.hide(); + editor.ui._dialogs[name] && editor.ui._dialogs[name].open(); + + }, + _onImgSetFloat:function (value) { + this.hide(); + editor.execCommand("imagefloat", value); + + }, + _setIframeAlign:function (value) { + var frame = popup.anchorEl; + var newFrame = frame.cloneNode(true); + switch (value) { + case -2: + newFrame.setAttribute("align", ""); + break; + case -1: + newFrame.setAttribute("align", "left"); + break; + case 1: + newFrame.setAttribute("align", "right"); + break; + } + frame.parentNode.insertBefore(newFrame, frame); + domUtils.remove(frame); + popup.anchorEl = newFrame; + popup.showAnchor(popup.anchorEl); + }, + _updateIframe:function () { + var frame = editor._iframe = popup.anchorEl; + if(domUtils.hasClass(frame, 'ueditor_baidumap')) { + editor.selection.getRange().selectNode(frame).select(); + editor.ui._dialogs.mapDialog.open(); + popup.hide(); + } else { + editor.ui._dialogs.insertframeDialog.open(); + popup.hide(); + } + }, + _onRemoveButtonClick:function (cmdName) { + editor.execCommand(cmdName); + this.hide(); + }, + queryAutoHide:function (el) { + if (el && el.ownerDocument == editor.document) { + if (el.tagName.toLowerCase() == 'img' || domUtils.findParentByTagName(el, 'a', true)) { + return el !== popup.anchorEl; + } + } + return baidu.editor.ui.Popup.prototype.queryAutoHide.call(this, el); + } + }); + popup.render(); + if (editor.options.imagePopup) { + editor.addListener('mouseover', function (t, evt) { + evt = evt || window.event; + var el = evt.target || evt.srcElement; + if (editor.ui._dialogs.insertframeDialog && /iframe/ig.test(el.tagName)) { + var html = popup.formatHtml( + '' + editor.getLang("property") + ': ' + editor.getLang("default") + '  ' + editor.getLang("justifyleft") + '  ' + editor.getLang("justifyright") + '  ' + + ' ' + editor.getLang("modify") + ''); + if (html) { + popup.getDom('content').innerHTML = html; + popup.anchorEl = el; + popup.showAnchor(popup.anchorEl); + } else { + popup.hide(); + } + } + }); + editor.addListener('selectionchange', function (t, causeByUi) { + if (!causeByUi) return; + var html = '', str = "", + img = editor.selection.getRange().getClosedNode(), + dialogs = editor.ui._dialogs; + if (img && img.tagName == 'IMG') { + var dialogName = 'insertimageDialog'; + if (img.className.indexOf("edui-faked-video") != -1 || img.className.indexOf("edui-upload-video") != -1) { + dialogName = "insertvideoDialog" + } + if (img.className.indexOf("edui-faked-webapp") != -1) { + dialogName = "webappDialog" + } + if (img.src.indexOf("http://api.map.baidu.com") != -1) { + dialogName = "mapDialog" + } + if (img.className.indexOf("edui-faked-music") != -1) { + dialogName = "musicDialog" + } + if (img.src.indexOf("http://maps.google.com/maps/api/staticmap") != -1) { + dialogName = "gmapDialog" + } + if (img.getAttribute("anchorname")) { + dialogName = "anchorDialog"; + html = popup.formatHtml( + '' + editor.getLang("property") + ': ' + editor.getLang("modify") + '  ' + + '' + editor.getLang("delete") + ''); + } + if (img.getAttribute("word_img")) { + //todo 放到dialog去做查询 + editor.word_img = [img.getAttribute("word_img")]; + dialogName = "wordimageDialog" + } + if(domUtils.hasClass(img, 'loadingclass') || domUtils.hasClass(img, 'loaderrorclass')) { + dialogName = ""; + } + if (!dialogs[dialogName]) { + return; + } + str = '' + editor.getLang("property") + ': '+ + '' + editor.getLang("default") + '  ' + + '' + editor.getLang("justifyleft") + '  ' + + '' + editor.getLang("justifyright") + '  ' + + '' + editor.getLang("justifycenter") + '  '+ + '' + editor.getLang("modify") + ''; + + !html && (html = popup.formatHtml(str)) + + } + if (editor.ui._dialogs.linkDialog) { + var link = editor.queryCommandValue('link'); + var url; + if (link && (url = (link.getAttribute('_href') || link.getAttribute('href', 2)))) { + var txt = url; + if (url.length > 30) { + txt = url.substring(0, 20) + "..."; + } + if (html) { + html += '
      ' + } + html += popup.formatHtml( + '' + editor.getLang("anthorMsg") + ': ' + txt + '' + + ' ' + editor.getLang("modify") + '' + + ' ' + editor.getLang("clear") + ''); + popup.showAnchor(link); + } + } + + if (html) { + popup.getDom('content').innerHTML = html; + popup.anchorEl = img || link; + popup.showAnchor(popup.anchorEl); + } else { + popup.hide(); + } + }); + } + + }, + _initToolbars:function () { + var editor = this.editor; + var toolbars = this.toolbars || []; + var toolbarUis = []; + for (var i = 0; i < toolbars.length; i++) { + var toolbar = toolbars[i]; + var toolbarUi = new baidu.editor.ui.Toolbar({theme:editor.options.theme}); + for (var j = 0; j < toolbar.length; j++) { + var toolbarItem = toolbar[j]; + var toolbarItemUi = null; + if (typeof toolbarItem == 'string') { + toolbarItem = toolbarItem.toLowerCase(); + if (toolbarItem == '|') { + toolbarItem = 'Separator'; + } + if(toolbarItem == '||'){ + toolbarItem = 'Breakline'; + } + if (baidu.editor.ui[toolbarItem]) { + toolbarItemUi = new baidu.editor.ui[toolbarItem](editor); + } + + //fullscreen这里单独处理一下,放到首行去 + if (toolbarItem == 'fullscreen') { + if (toolbarUis && toolbarUis[0]) { + toolbarUis[0].items.splice(0, 0, toolbarItemUi); + } else { + toolbarItemUi && toolbarUi.items.splice(0, 0, toolbarItemUi); + } + + continue; + + + } + } else { + toolbarItemUi = toolbarItem; + } + if (toolbarItemUi && toolbarItemUi.id) { + + toolbarUi.add(toolbarItemUi); + } + } + toolbarUis[i] = toolbarUi; + } + + //接受外部定制的UI + + utils.each(UE._customizeUI,function(obj,key){ + var itemUI,index; + if(obj.id && obj.id != editor.key){ + return false; + } + itemUI = obj.execFn.call(editor,editor,key); + if(itemUI){ + index = obj.index; + if(index === undefined){ + index = toolbarUi.items.length; + } + toolbarUi.add(itemUI,index) + } + }); + + this.toolbars = toolbarUis; + }, + getHtmlTpl:function () { + return '
      ' + + '
      ' + + (this.toolbars.length ? + '
      ' + + this.renderToolbarBoxHtml() + + '
      ' : '') + + '' + + '
      ' + + '
      ' + + '
      ' + + '
      ' + + //modify wdcount by matao + '
      ' + + '' + + '' + + '' + + '
      ' + + '
      ' + + '
      '; + }, + showWordImageDialog:function () { + this._dialogs['wordimageDialog'].open(); + }, + renderToolbarBoxHtml:function () { + var buff = []; + for (var i = 0; i < this.toolbars.length; i++) { + buff.push(this.toolbars[i].renderHtml()); + } + return buff.join(''); + }, + setFullScreen:function (fullscreen) { + + var editor = this.editor, + container = editor.container.parentNode.parentNode; + if (this._fullscreen != fullscreen) { + this._fullscreen = fullscreen; + this.editor.fireEvent('beforefullscreenchange', fullscreen); + if (baidu.editor.browser.gecko) { + var bk = editor.selection.getRange().createBookmark(); + } + if (fullscreen) { + while (container.tagName != "BODY") { + var position = baidu.editor.dom.domUtils.getComputedStyle(container, "position"); + nodeStack.push(position); + container.style.position = "static"; + container = container.parentNode; + } + this._bakHtmlOverflow = document.documentElement.style.overflow; + this._bakBodyOverflow = document.body.style.overflow; + this._bakAutoHeight = this.editor.autoHeightEnabled; + this._bakScrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop); + + this._bakEditorContaninerWidth = editor.iframe.parentNode.offsetWidth; + if (this._bakAutoHeight) { + //当全屏时不能执行自动长高 + editor.autoHeightEnabled = false; + this.editor.disableAutoHeight(); + } + + document.documentElement.style.overflow = 'hidden'; + //修复,滚动条不收起的问题 + + window.scrollTo(0,window.scrollY); + this._bakCssText = this.getDom().style.cssText; + this._bakCssText1 = this.getDom('iframeholder').style.cssText; + editor.iframe.parentNode.style.width = ''; + this._updateFullScreen(); + } else { + while (container.tagName != "BODY") { + container.style.position = nodeStack.shift(); + container = container.parentNode; + } + this.getDom().style.cssText = this._bakCssText; + this.getDom('iframeholder').style.cssText = this._bakCssText1; + if (this._bakAutoHeight) { + editor.autoHeightEnabled = true; + this.editor.enableAutoHeight(); + } + + document.documentElement.style.overflow = this._bakHtmlOverflow; + document.body.style.overflow = this._bakBodyOverflow; + editor.iframe.parentNode.style.width = this._bakEditorContaninerWidth + 'px'; + window.scrollTo(0, this._bakScrollTop); + } + if (browser.gecko && editor.body.contentEditable === 'true') { + var input = document.createElement('input'); + document.body.appendChild(input); + editor.body.contentEditable = false; + setTimeout(function () { + input.focus(); + setTimeout(function () { + editor.body.contentEditable = true; + editor.fireEvent('fullscreenchanged', fullscreen); + editor.selection.getRange().moveToBookmark(bk).select(true); + baidu.editor.dom.domUtils.remove(input); + fullscreen && window.scroll(0, 0); + }, 0) + }, 0) + } + + if(editor.body.contentEditable === 'true'){ + this.editor.fireEvent('fullscreenchanged', fullscreen); + this.triggerLayout(); + } + + } + }, + _updateFullScreen:function () { + if (this._fullscreen) { + var vpRect = uiUtils.getViewportRect(); + this.getDom().style.cssText = 'border:0;position:absolute;left:0;top:' + (this.editor.options.topOffset || 0) + 'px;width:' + vpRect.width + 'px;height:' + vpRect.height + 'px;z-index:' + (this.getDom().style.zIndex * 1 + 100); + uiUtils.setViewportOffset(this.getDom(), { left:0, top:this.editor.options.topOffset || 0 }); + this.editor.setHeight(vpRect.height - this.getDom('toolbarbox').offsetHeight - this.getDom('bottombar').offsetHeight - (this.editor.options.topOffset || 0),true); + //不手动调一下,会导致全屏失效 + if(browser.gecko){ + try{ + window.onresize(); + }catch(e){ + + } + + } + } + }, + _updateElementPath:function () { + var bottom = this.getDom('elementpath'), list; + if (this.elementPathEnabled && (list = this.editor.queryCommandValue('elementpath'))) { + + var buff = []; + for (var i = 0, ci; ci = list[i]; i++) { + buff[i] = this.formatHtml('' + ci + ''); + } + bottom.innerHTML = '
      ' + this.editor.getLang("elementPathTip") + ': ' + buff.join(' > ') + '
      '; + + } else { + bottom.style.display = 'none' + } + }, + disableElementPath:function () { + var bottom = this.getDom('elementpath'); + bottom.innerHTML = ''; + bottom.style.display = 'none'; + this.elementPathEnabled = false; + + }, + enableElementPath:function () { + var bottom = this.getDom('elementpath'); + bottom.style.display = ''; + this.elementPathEnabled = true; + this._updateElementPath(); + }, + _scale:function () { + var doc = document, + editor = this.editor, + editorHolder = editor.container, + editorDocument = editor.document, + toolbarBox = this.getDom("toolbarbox"), + bottombar = this.getDom("bottombar"), + scale = this.getDom("scale"), + scalelayer = this.getDom("scalelayer"); + + var isMouseMove = false, + position = null, + minEditorHeight = 0, + minEditorWidth = editor.options.minFrameWidth, + pageX = 0, + pageY = 0, + scaleWidth = 0, + scaleHeight = 0; + + function down() { + position = domUtils.getXY(editorHolder); + + if (!minEditorHeight) { + minEditorHeight = editor.options.minFrameHeight + toolbarBox.offsetHeight + bottombar.offsetHeight; + } + + scalelayer.style.cssText = "position:absolute;left:0;display:;top:0;background-color:#41ABFF;opacity:0.4;filter: Alpha(opacity=40);width:" + editorHolder.offsetWidth + "px;height:" + + editorHolder.offsetHeight + "px;z-index:" + (editor.options.zIndex + 1); + + domUtils.on(doc, "mousemove", move); + domUtils.on(editorDocument, "mouseup", up); + domUtils.on(doc, "mouseup", up); + } + + var me = this; + //by xuheng 全屏时关掉缩放 + this.editor.addListener('fullscreenchanged', function (e, fullScreen) { + if (fullScreen) { + me.disableScale(); + + } else { + if (me.editor.options.scaleEnabled) { + me.enableScale(); + var tmpNode = me.editor.document.createElement('span'); + me.editor.body.appendChild(tmpNode); + me.editor.body.style.height = Math.max(domUtils.getXY(tmpNode).y, me.editor.iframe.offsetHeight - 20) + 'px'; + domUtils.remove(tmpNode) + } + } + }); + function move(event) { + clearSelection(); + var e = event || window.event; + pageX = e.pageX || (doc.documentElement.scrollLeft + e.clientX); + pageY = e.pageY || (doc.documentElement.scrollTop + e.clientY); + scaleWidth = pageX - position.x; + scaleHeight = pageY - position.y; + + if (scaleWidth >= minEditorWidth) { + isMouseMove = true; + scalelayer.style.width = scaleWidth + 'px'; + } + if (scaleHeight >= minEditorHeight) { + isMouseMove = true; + scalelayer.style.height = scaleHeight + "px"; + } + } + + function up() { + if (isMouseMove) { + isMouseMove = false; + editor.ui._actualFrameWidth = scalelayer.offsetWidth - 2; + editorHolder.style.width = editor.ui._actualFrameWidth + 'px'; + + editor.setHeight(scalelayer.offsetHeight - bottombar.offsetHeight - toolbarBox.offsetHeight - 2,true); + } + if (scalelayer) { + scalelayer.style.display = "none"; + } + clearSelection(); + domUtils.un(doc, "mousemove", move); + domUtils.un(editorDocument, "mouseup", up); + domUtils.un(doc, "mouseup", up); + } + + function clearSelection() { + if (browser.ie) + doc.selection.clear(); + else + window.getSelection().removeAllRanges(); + } + + this.enableScale = function () { + //trace:2868 + if (editor.queryCommandState("source") == 1) return; + scale.style.display = ""; + this.scaleEnabled = true; + domUtils.on(scale, "mousedown", down); + }; + this.disableScale = function () { + scale.style.display = "none"; + this.scaleEnabled = false; + domUtils.un(scale, "mousedown", down); + }; + }, + isFullScreen:function () { + return this._fullscreen; + }, + postRender:function () { + UIBase.prototype.postRender.call(this); + for (var i = 0; i < this.toolbars.length; i++) { + this.toolbars[i].postRender(); + } + var me = this; + var timerId, + domUtils = baidu.editor.dom.domUtils, + updateFullScreenTime = function () { + clearTimeout(timerId); + timerId = setTimeout(function () { + me._updateFullScreen(); + }); + }; + domUtils.on(window, 'resize', updateFullScreenTime); + + me.addListener('destroy', function () { + domUtils.un(window, 'resize', updateFullScreenTime); + clearTimeout(timerId); + }) + }, + showToolbarMsg:function (msg, flag) { + this.getDom('toolbarmsg_label').innerHTML = msg; + this.getDom('toolbarmsg').style.display = ''; + // + if (!flag) { + var w = this.getDom('upload_dialog'); + w.style.display = 'none'; + } + }, + hideToolbarMsg:function () { + this.getDom('toolbarmsg').style.display = 'none'; + }, + mapUrl:function (url) { + return url ? url.replace('~/', this.editor.options.UEDITOR_HOME_URL || '') : '' + }, + triggerLayout:function () { + var dom = this.getDom(); + if (dom.style.zoom == '1') { + dom.style.zoom = '100%'; + } else { + dom.style.zoom = '1'; + } + } + }; + utils.inherits(EditorUI, baidu.editor.ui.UIBase); + + + var instances = {}; + + + UE.ui.Editor = function (options) { + var editor = new UE.Editor(options); + editor.options.editor = editor; + utils.loadFile(document, { + href:editor.options.themePath + editor.options.theme + "/css/ueditor.css", + tag:"link", + type:"text/css", + rel:"stylesheet" + }); + + var oldRender = editor.render; + editor.render = function (holder) { + if (holder.constructor === String) { + editor.key = holder; + instances[holder] = editor; + } + utils.domReady(function () { + editor.langIsReady ? renderUI() : editor.addListener("langReady", renderUI); + function renderUI() { + editor.setOpt({ + labelMap:editor.options.labelMap || editor.getLang('labelMap') + }); + new EditorUI(editor.options); + if (holder) { + if (holder.constructor === String) { + holder = document.getElementById(holder); + } + holder && holder.getAttribute('name') && ( editor.options.textarea = holder.getAttribute('name')); + if (holder && /script|textarea/ig.test(holder.tagName)) { + var newDiv = document.createElement('div'); + holder.parentNode.insertBefore(newDiv, holder); + var cont = holder.value || holder.innerHTML; + editor.options.initialContent = /^[\t\r\n ]*$/.test(cont) ? editor.options.initialContent : + cont.replace(/>[\n\r\t]+([ ]{4})+/g, '>') + .replace(/[\n\r\t]+([ ]{4})+[\n\r\t]+<'); + holder.className && (newDiv.className = holder.className); + holder.style.cssText && (newDiv.style.cssText = holder.style.cssText); + if (/textarea/i.test(holder.tagName)) { + editor.textarea = holder; + editor.textarea.style.display = 'none'; + + + } else { + holder.parentNode.removeChild(holder); + + + } + if(holder.id){ + newDiv.id = holder.id; + domUtils.removeAttributes(holder,'id'); + } + holder = newDiv; + holder.innerHTML = ''; + } + + } + domUtils.addClass(holder, "edui-" + editor.options.theme); + editor.ui.render(holder); + var opt = editor.options; + //给实例添加一个编辑器的容器引用 + editor.container = editor.ui.getDom(); + var parents = domUtils.findParents(holder,true); + var displays = []; + for(var i = 0 ,ci;ci=parents[i];i++){ + displays[i] = ci.style.display; + ci.style.display = 'block' + } + if (opt.initialFrameWidth) { + opt.minFrameWidth = opt.initialFrameWidth; + } else { + opt.minFrameWidth = opt.initialFrameWidth = holder.offsetWidth; + var styleWidth = holder.style.width; + if(/%$/.test(styleWidth)) { + opt.initialFrameWidth = styleWidth; + } + } + if (opt.initialFrameHeight) { + opt.minFrameHeight = opt.initialFrameHeight; + } else { + opt.initialFrameHeight = opt.minFrameHeight = holder.offsetHeight; + } + for(var i = 0 ,ci;ci=parents[i];i++){ + ci.style.display = displays[i] + } + //编辑器最外容器设置了高度,会导致,编辑器不占位 + //todo 先去掉,没有找到原因 + if(holder.style.height){ + holder.style.height = '' + } + editor.container.style.width = opt.initialFrameWidth + (/%$/.test(opt.initialFrameWidth) ? '' : 'px'); + editor.container.style.zIndex = opt.zIndex; + oldRender.call(editor, editor.ui.getDom('iframeholder')); + editor.fireEvent("afteruiready"); + } + }) + }; + return editor; + }; + + + /** + * @file + * @name UE + * @short UE + * @desc UEditor的顶部命名空间 + */ + /** + * @name getEditor + * @since 1.2.4+ + * @grammar UE.getEditor(id,[opt]) => Editor实例 + * @desc 提供一个全局的方法得到编辑器实例 + * + * * ''id'' 放置编辑器的容器id, 如果容器下的编辑器已经存在,就直接返回 + * * ''opt'' 编辑器的可选参数 + * @example + * UE.getEditor('containerId',{onready:function(){//创建一个编辑器实例 + * this.setContent('hello') + * }}); + * UE.getEditor('containerId'); //返回刚创建的实例 + * + */ + UE.getEditor = function (id, opt) { + var editor = instances[id]; + if (!editor) { + editor = instances[id] = new UE.ui.Editor(opt); + editor.render(id); + } + return editor; + }; + + + UE.delEditor = function (id) { + var editor; + if (editor = instances[id]) { + editor.key && editor.destroy(); + delete instances[id] + } + }; + + UE.registerUI = function(uiName,fn,index,editorId){ + utils.each(uiName.split(/\s+/), function (name) { + UE._customizeUI[name] = { + id : editorId, + execFn:fn, + index:index + }; + }) + + } + +})(); + +// adapter/message.js +UE.registerUI('message', function(editor) { + + var editorui = baidu.editor.ui; + var Message = editorui.Message; + var holder; + var _messageItems = []; + var me = editor; + + me.addListener('ready', function(){ + holder = document.getElementById(me.ui.id + '_message_holder'); + updateHolderPos(); + setTimeout(function(){ + updateHolderPos(); + }, 500); + }); + + me.addListener('showmessage', function(type, opt){ + opt = utils.isString(opt) ? { + 'content': opt + } : opt; + var message = new Message({ + 'timeout': opt.timeout, + 'type': opt.type, + 'content': opt.content, + 'keepshow': opt.keepshow, + 'editor': me + }), + mid = opt.id || ('msg_' + (+new Date()).toString(36)); + message.render(holder); + _messageItems[mid] = message; + message.reset(opt); + updateHolderPos(); + return mid; + }); + + me.addListener('updatemessage',function(type, id, opt){ + opt = utils.isString(opt) ? { + 'content': opt + } : opt; + var message = _messageItems[id]; + message.render(holder); + message && message.reset(opt); + }); + + me.addListener('hidemessage',function(type, id){ + var message = _messageItems[id]; + message && message.hide(); + }); + + function updateHolderPos(){ + var toolbarbox = me.ui.getDom('toolbarbox'); + if (toolbarbox) { + holder.style.top = toolbarbox.offsetHeight + 3 + 'px'; + } + holder.style.zIndex = Math.max(me.options.zIndex, me.iframe.style.zIndex) + 1; + } + +}); + + +// adapter/autosave.js +UE.registerUI('autosave', function(editor) { + var timer = null,uid = null; + editor.on('afterautosave',function(){ + clearTimeout(timer); + + timer = setTimeout(function(){ + if(uid){ + editor.trigger('hidemessage',uid); + } + uid = editor.trigger('showmessage',{ + content : editor.getLang('autosave.success'), + timeout : 2000 + }); + + },2000) + }) + +}); + + + +})(); diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.all.min.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.all.min.js new file mode 100644 index 0000000..b357d50 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.all.min.js @@ -0,0 +1,18 @@ +/*! + * UEditor + * version: ueditor + * build: Wed Aug 10 2016 11:06:16 GMT+0800 (CST) + */ + +!function(){function getListener(a,b,c){var d;return b=b.toLowerCase(),(d=a.__allListeners||c&&(a.__allListeners={}))&&(d[b]||c&&(d[b]=[]))}function getDomNode(a,b,c,d,e,f){var g,h=d&&a[b];for(!h&&(h=a[c]);!h&&(g=(g||a).parentNode);){if("BODY"==g.tagName||f&&!f(g))return null;h=g[c]}return h&&e&&!e(h)?getDomNode(h,b,c,!1,e):h}UEDITOR_CONFIG=window.UEDITOR_CONFIG||{};var baidu=window.baidu||{};window.baidu=baidu,window.UE=baidu.editor=window.UE||{},UE.plugins={},UE.commands={},UE.instants={},UE.I18N={},UE._customizeUI={},UE.version="1.4.3";var dom=UE.dom={},browser=UE.browser=function(){var a=navigator.userAgent.toLowerCase(),b=window.opera,c={ie:/(msie\s|trident.*rv:)([\w.]+)/.test(a),opera:!!b&&b.version,webkit:a.indexOf(" applewebkit/")>-1,mac:a.indexOf("macintosh")>-1,quirks:"BackCompat"==document.compatMode};c.gecko="Gecko"==navigator.product&&!c.webkit&&!c.opera&&!c.ie;var d=0;if(c.ie){var e=a.match(/(?:msie\s([\w.]+))/),f=a.match(/(?:trident.*rv:([\w.]+))/);d=e&&f&&e[1]&&f[1]?Math.max(1*e[1],1*f[1]):e&&e[1]?1*e[1]:f&&f[1]?1*f[1]:0,c.ie11Compat=11==document.documentMode,c.ie9Compat=9==document.documentMode,c.ie8=!!document.documentMode,c.ie8Compat=8==document.documentMode,c.ie7Compat=7==d&&!document.documentMode||7==document.documentMode,c.ie6Compat=d<7||c.quirks,c.ie9above=d>8,c.ie9below=d<9,c.ie11above=d>10,c.ie11below=d<11}if(c.gecko){var g=a.match(/rv:([\d\.]+)/);g&&(g=g[1].split("."),d=1e4*g[0]+100*(g[1]||0)+1*(g[2]||0))}return/chrome\/(\d+\.\d)/i.test(a)&&(c.chrome=+RegExp.$1),/(\d+\.\d)?(?:\.\d)?\s+safari\/?(\d+\.\d+)?/i.test(a)&&!/chrome/i.test(a)&&(c.safari=+(RegExp.$1||RegExp.$2)),c.opera&&(d=parseFloat(b.version())),c.webkit&&(d=parseFloat(a.match(/ applewebkit\/(\d+)/)[1])),c.version=d,c.isCompatible=!c.mobile&&(c.ie&&d>=6||c.gecko&&d>=10801||c.opera&&d>=9.5||c.air&&d>=1||c.webkit&&d>=522||!1),c}(),ie=browser.ie,webkit=browser.webkit,gecko=browser.gecko,opera=browser.opera,utils=UE.utils={each:function(a,b,c){if(null!=a)if(a.length===+a.length){for(var d=0,e=a.length;d=c&&a===b)return d=e,!1}),d},removeItem:function(a,b){for(var c=0,d=a.length;c'](?:(amp|lt|quot|gt|#39|nbsp|#\d+);)?/g,function(a,b){return b?a:{"<":"<","&":"&",'"':""",">":">","'":"'"}[a]}):""},unhtmlForUrl:function(a,b){return a?a.replace(b||/[<">']/g,function(a){return{"<":"<","&":"&",'"':""",">":">","'":"'"}[a]}):""},html:function(a){return a?a.replace(/&((g|l|quo)t|amp|#39|nbsp);/g,function(a){return{"<":"<","&":"&",""":'"',">":">","'":"'"," ":" "}[a]}):""},cssStyleToDomStyle:function(){var a=document.createElement("div").style,b={"float":void 0!=a.cssFloat?"cssFloat":void 0!=a.styleFloat?"styleFloat":"float"};return function(a){return b[a]||(b[a]=a.toLowerCase().replace(/-./g,function(a){return a.charAt(1).toUpperCase()}))}}(),loadFile:function(){function a(a,c){try{for(var d,e=0;d=b[e++];)if(d.doc===a&&d.url==(c.src||c.href))return d}catch(f){return null}}var b=[];return function(c,d,e){var f=a(c,d);if(f)return void(f.ready?e&&e():f.funs.push(e));if(b.push({doc:c,url:d.src||d.href,funs:[e]}),!c.body){var g=[];for(var h in d)"tag"!=h&&g.push(h+'="'+d[h]+'"');return void c.write("<"+d.tag+" "+g.join(" ")+" >")}if(!d.id||!c.getElementById(d.id)){var i=c.createElement(d.tag);delete d.tag;for(var h in d)i.setAttribute(h,d[h]);i.onload=i.onreadystatechange=function(){if(!this.readyState||/loaded|complete/.test(this.readyState)){if(f=a(c,d),f.funs.length>0){f.ready=1;for(var b;b=f.funs.pop();)b()}i.onload=i.onreadystatechange=null}},i.onerror=function(){throw Error("The load "+(d.href||d.src)+" fails,check the url settings of file ueditor.config.js ")},c.getElementsByTagName("head")[0].appendChild(i)}}}(),isEmptyObject:function(a){if(null==a)return!0;if(this.isArray(a)||this.isString(a))return 0===a.length;for(var b in a)if(a.hasOwnProperty(b))return!1;return!0},fixColor:function(a,b){if(/color/i.test(a)&&/rgba?/.test(b)){var c=b.split(",");if(c.length>3)return"";b="#";for(var d,e=0;d=c[e++];)d=parseInt(d.replace(/[^\d]/gi,""),10).toString(16),b+=1==d.length?"0"+d:d;b=b.toUpperCase()}return b},optCss:function(a){function b(a,b){if(!a)return"";var c=a.top,d=a.bottom,e=a.left,f=a.right,g="";if(c&&e&&d&&f)g+=";"+b+":"+(c==d&&d==e&&e==f?c:c==d&&e==f?c+" "+e:e==f?c+" "+e+" "+d:c+" "+f+" "+d+" "+e)+";";else for(var h in a)g+=";"+b+"-"+h+":"+a[h]+";";return g}var c,d;return a=a.replace(/(padding|margin|border)\-([^:]+):([^;]+);?/gi,function(a,b,e,f){if(1==f.split(" ").length)switch(b){case"padding":return!c&&(c={}),c[e]=f,"";case"margin":return!d&&(d={}),d[e]=f,"";case"border":return"initial"==f?"":a}return a}),a+=b(c,"padding")+b(d,"margin"),a.replace(/^[ \n\r\t;]*|[ \n\r\t]*$/,"").replace(/;([ \n\r\t]+)|\1;/g,";").replace(/(&((l|g)t|quot|#39))?;{2,}/g,function(a,b){return b?b+";;":";"})},clone:function(a,b){var c;b=b||{};for(var d in a)a.hasOwnProperty(d)&&(c=a[d],"object"==typeof c?(b[d]=utils.isArray(c)?[]:{},utils.clone(a[d],b[d])):b[d]=c);return b},transUnitToPx:function(a){if(!/(pt|cm)/.test(a))return a;var b;switch(a.replace(/([\d.]+)(\w+)/,function(c,d,e){a=d,b=e}),b){case"cm":a=25*parseFloat(a);break;case"pt":a=Math.round(96*parseFloat(a)/72)}return a+(a?"px":"")},domReady:function(){function a(a){a.isReady=!0;for(var c;c=b.pop();c());}var b=[];return function(c,d){d=d||window;var e=d.document;c&&b.push(c),"complete"===e.readyState?a(e):(e.isReady&&a(e),browser.ie&&11!=browser.version?(!function(){if(!e.isReady){try{e.documentElement.doScroll("left")}catch(b){return void setTimeout(arguments.callee,0)}a(e)}}(),d.attachEvent("onload",function(){a(e)})):(e.addEventListener("DOMContentLoaded",function(){e.removeEventListener("DOMContentLoaded",arguments.callee,!1),a(e)},!1),d.addEventListener("load",function(){a(e)},!1)))}}(),cssRule:browser.ie&&11!=browser.version?function(a,b,c){var d,e;if(void 0===b||b&&b.nodeType&&9==b.nodeType){if(c=b&&b.nodeType&&9==b.nodeType?b:c||document,d=c.indexList||(c.indexList={}),e=d[a],void 0!==e)return c.styleSheets[e].cssText}else{if(c=c||document,d=c.indexList||(c.indexList={}),e=d[a],""===b)return void 0!==e&&(c.styleSheets[e].cssText="",delete d[a],!0);void 0!==e?sheetStyle=c.styleSheets[e]:(sheetStyle=c.createStyleSheet("",e=c.styleSheets.length),d[a]=e),sheetStyle.cssText=b}}:function(a,b,c){var d;return void 0===b||b&&b.nodeType&&9==b.nodeType?(c=b&&b.nodeType&&9==b.nodeType?b:c||document,d=c.getElementById(a),d?d.innerHTML:void 0):(c=c||document,d=c.getElementById(a),""===b?!!d&&(d.parentNode.removeChild(d),!0):void(d?d.innerHTML=b:(d=c.createElement("style"),d.id=a,d.innerHTML=b,c.getElementsByTagName("head")[0].appendChild(d))))},sort:function(a,b){b=b||function(a,b){return a.localeCompare(b)};for(var c=0,d=a.length;c0){var g=a[c];a[c]=a[e],a[e]=g}return a},serializeParam:function(a){var b=[];for(var c in a)if("method"!=c&&"timeout"!=c&&"async"!=c)if("function"!=(typeof a[c]).toLowerCase()&&"object"!=(typeof a[c]).toLowerCase())b.push(encodeURIComponent(c)+"="+encodeURIComponent(a[c]));else if(utils.isArray(a[c]))for(var d=0;d1||b!==a.parentNode){a.style.cssText=b.style.cssText+";"+a.style.cssText,b=b.parentNode;continue}b.style.cssText+=";"+a.style.cssText,"A"==b.tagName&&(b.style.textDecoration="underline")}if("A"!=b.tagName){b===a.parentNode&&domUtils.remove(a,!0);break}}b=b.parentNode}},mergeSibling:function(a,b,c){function d(a,b,c){var d;if((d=c[a])&&!domUtils.isBookmarkNode(d)&&1==d.nodeType&&domUtils.isSameElement(c,d)){for(;d.firstChild;)"firstChild"==b?c.insertBefore(d.lastChild,c.firstChild):c.appendChild(d.firstChild);domUtils.remove(d)}}!b&&d("previousSibling","firstChild",a),!c&&d("nextSibling","lastChild",a)},unSelectable:ie&&browser.ie9below||browser.opera?function(a){a.onselectstart=function(){return!1},a.onclick=a.onkeyup=a.onkeydown=function(){return!1},a.unselectable="on",a.setAttribute("unselectable","on");for(var b,c=0;b=a.all[c++];)switch(b.tagName.toLowerCase()){case"iframe":case"textarea":case"input":case"select":break;default:b.unselectable="on",a.setAttribute("unselectable","on")}}:function(a){a.style.MozUserSelect=a.style.webkitUserSelect=a.style.msUserSelect=a.style.KhtmlUserSelect="none"},removeAttributes:function(a,b){b=utils.isArray(b)?b:utils.trim(b).replace(/[ ]{2,}/g," ").split(" ");for(var c,d=0;c=b[d++];){switch(c=attrFix[c]||c){case"className":a[c]="";break;case"style":a.style.cssText="";var e=a.getAttributeNode("style");!browser.ie&&e&&a.removeAttributeNode(e)}a.removeAttribute(c)}},createElement:function(a,b,c){return domUtils.setAttributes(a.createElement(b),c)},setAttributes:function(a,b){for(var c in b)if(b.hasOwnProperty(c)){var d=b[c];switch(c){case"class":a.className=d;break;case"style":a.style.cssText=a.style.cssText+";"+d;break;case"innerHTML":a[c]=d;break;case"value":a.value=d;break;default:a.setAttribute(attrFix[c]||c,d)}}return a},getComputedStyle:function(a,b){var c="width height top left";if(c.indexOf(b)>-1)return a["offset"+b.replace(/^\w/,function(a){return a.toUpperCase()})]+"px";if(3==a.nodeType&&(a=a.parentNode),browser.ie&&browser.version<9&&"font-size"==b&&!a.style.fontSize&&!dtd.$empty[a.tagName]&&!dtd.$nonChild[a.tagName]){var d=a.ownerDocument.createElement("span");d.style.cssText="padding:0;border:0;font-family:simsun;",d.innerHTML=".",a.appendChild(d);var e=d.offsetHeight;return a.removeChild(d),d=null,e+"px"}try{var f=domUtils.getStyle(a,b)||(window.getComputedStyle?domUtils.getWindow(a).getComputedStyle(a,"").getPropertyValue(b):(a.currentStyle||a.style)[utils.cssStyleToDomStyle(b)])}catch(g){return""}return utils.transUnitToPx(utils.fixColor(b,f))},removeClasses:function(a,b){b=utils.isArray(b)?b:utils.trim(b).replace(/[ ]{2,}/g," ").split(" ");for(var c,d=0,e=a.className;c=b[d++];)e=e.replace(new RegExp("\\b"+c+"\\b"),"");e=utils.trim(e).replace(/[ ]{2,}/g," "),e?a.className=e:domUtils.removeAttributes(a,["class"])},addClass:function(a,b){if(a){b=utils.trim(b).replace(/[ ]{2,}/g," ").split(" ");for(var c,d=0,e=a.className;c=b[d++];)new RegExp("\\b"+c+"\\b").test(e)||(e+=" "+c);a.className=utils.trim(e)}},hasClass:function(a,b){if(utils.isRegExp(b))return b.test(a.className);b=utils.trim(b).replace(/[ ]{2,}/g," ").split(" ");for(var c,d=0,e=a.className;c=b[d++];)if(!new RegExp("\\b"+c+"\\b","i").test(e))return!1;return d-1==b.length},preventDefault:function(a){a.preventDefault?a.preventDefault():a.returnValue=!1},removeStyle:function(a,b){browser.ie?("color"==b&&(b="(^|;)"+b),a.style.cssText=a.style.cssText.replace(new RegExp(b+"[^:]*:[^;]+;?","ig"),"")):a.style.removeProperty?a.style.removeProperty(b):a.style.removeAttribute(utils.cssStyleToDomStyle(b)),a.style.cssText||domUtils.removeAttributes(a,["style"])},getStyle:function(a,b){var c=a.style[utils.cssStyleToDomStyle(b)];return utils.fixColor(b,c)},setStyle:function(a,b,c){a.style[utils.cssStyleToDomStyle(b)]=c,utils.trim(a.style.cssText)||this.removeAttributes(a,"style")},setStyles:function(a,b){for(var c in b)b.hasOwnProperty(c)&&domUtils.setStyle(a,c,b[c])},removeDirtyAttr:function(a){for(var b,c=0,d=a.getElementsByTagName("*");b=d[c++];)b.removeAttribute("_moz_dirty");a.removeAttribute("_moz_dirty")},getChildCount:function(a,b){var c=0,d=a.firstChild;for(b=b||function(){return 1};d;)b(d)&&c++,d=d.nextSibling;return c},isEmptyNode:function(a){return!a.firstChild||0==domUtils.getChildCount(a,function(a){return!domUtils.isBr(a)&&!domUtils.isBookmarkNode(a)&&!domUtils.isWhitespace(a)})},clearSelectedArr:function(a){for(var b;b=a.pop();)domUtils.removeAttributes(b,["class"])},scrollToView:function(a,b,c){var d=function(){var a=b.document,c="CSS1Compat"==a.compatMode;return{width:(c?a.documentElement.clientWidth:a.body.clientWidth)||0,height:(c?a.documentElement.clientHeight:a.body.clientHeight)||0}},e=function(a){if("pageXOffset"in a)return{x:a.pageXOffset||0,y:a.pageYOffset||0};var b=a.document;return{x:b.documentElement.scrollLeft||b.body.scrollLeft||0,y:b.documentElement.scrollTop||b.body.scrollTop||0}},f=d().height,g=f*-1+c;g+=a.offsetHeight||0;var h=domUtils.getXY(a);g+=h.y;var i=e(b).y;(g>i||g0)return 0;for(var c in dtd.$isNotEmpty)if(a.getElementsByTagName(c).length)return 0;return 1},setViewportOffset:function(a,b){var c=0|parseInt(a.style.left),d=0|parseInt(a.style.top),e=a.getBoundingClientRect(),f=b.left-e.left,g=b.top-e.top;f&&(a.style.left=c+f+"px"),g&&(a.style.top=d+g+"px")},fillNode:function(a,b){var c=browser.ie?a.createTextNode(domUtils.fillChar):a.createElement("br");b.innerHTML="",b.appendChild(c)},moveChild:function(a,b,c){for(;a.firstChild;)c&&b.firstChild?b.insertBefore(a.lastChild,b.firstChild):b.appendChild(a.firstChild)},hasNoAttributes:function(a){return browser.ie?/^<\w+\s*?>/.test(a.outerHTML):0==a.attributes.length},isCustomeNode:function(a){return 1==a.nodeType&&a.getAttribute("_ue_custom_node_")},isTagNode:function(a,b){return 1==a.nodeType&&new RegExp("\\b"+a.tagName+"\\b","i").test(b)},filterNodeList:function(a,b,c){var d=[];if(!utils.isFunction(b)){var e=b;b=function(a){return utils.indexOf(utils.isArray(e)?e:e.split(" "),a.tagName.toLowerCase())!=-1}}return utils.each(a,function(a){b(a)&&d.push(a)}),0==d.length?null:1!=d.length&&c?d:d[0]},isInNodeEndBoundary:function(a,b){var c=a.startContainer;if(3==c.nodeType&&a.startOffset!=c.nodeValue.length)return 0;if(1==c.nodeType&&a.startOffset!=c.childNodes.length)return 0;for(;c!==b;){if(c.nextSibling)return 0;c=c.parentNode}return 1},isBoundaryNode:function(a,b){for(var c;!domUtils.isBody(a);)if(c=a,a=a.parentNode,c!==a[b])return!1;return!0},fillHtml:browser.ie11below?" ":"
      "},fillCharReg=new RegExp(domUtils.fillChar,"g");!function(){function a(a){a.collapsed=a.startContainer&&a.endContainer&&a.startContainer===a.endContainer&&a.startOffset==a.endOffset}function b(a){return!a.collapsed&&1==a.startContainer.nodeType&&a.startContainer===a.endContainer&&a.endOffset-a.startOffset==1}function c(b,c,d,e){return 1==c.nodeType&&(dtd.$empty[c.tagName]||dtd.$nonChild[c.tagName])&&(d=domUtils.getNodeIndex(c)+(b?0:1),c=c.parentNode),b?(e.startContainer=c,e.startOffset=d,e.endContainer||e.collapse(!0)):(e.endContainer=c,e.endOffset=d,e.startContainer||e.collapse(!1)),a(e),e}function d(a,b){var c,d,e=a.startContainer,f=a.endContainer,g=a.startOffset,h=a.endOffset,i=a.document,j=i.createDocumentFragment();if(1==e.nodeType&&(e=e.childNodes[g]||(c=e.appendChild(i.createTextNode("")))),1==f.nodeType&&(f=f.childNodes[h]||(d=f.appendChild(i.createTextNode("")))),e===f&&3==e.nodeType)return j.appendChild(i.createTextNode(e.substringData(g,h-g))),b&&(e.deleteData(g,h-g),a.collapse(!0)),j;for(var k,l,m=j,n=domUtils.findParents(e,!0),o=domUtils.findParents(f,!0),p=0;n[p]==o[p];)p++;for(var q,r=p;q=n[r];r++){for(k=q.nextSibling,q==e?c||(3==a.startContainer.nodeType?(m.appendChild(i.createTextNode(e.nodeValue.slice(g))),b&&e.deleteData(g,e.nodeValue.length-g)):m.appendChild(b?e:e.cloneNode(!0))):(l=q.cloneNode(!1),m.appendChild(l));k&&k!==f&&k!==o[r];)q=k.nextSibling,m.appendChild(b?k:k.cloneNode(!0)),k=q;m=l}m=j,n[p]||(m.appendChild(n[p-1].cloneNode(!1)),m=m.firstChild);for(var s,r=p;s=o[r];r++){if(k=s.previousSibling,s==f?d||3!=a.endContainer.nodeType||(m.appendChild(i.createTextNode(f.substringData(0,h))),b&&f.deleteData(0,h)):(l=s.cloneNode(!1),m.appendChild(l)),r!=p||!n[p])for(;k&&k!==e;)s=k.previousSibling,m.insertBefore(b?k:k.cloneNode(!0),m.firstChild),k=s;m=l}return b&&a.setStartBefore(o[p]?n[p]?o[p]:n[p-1]:o[p-1]).collapse(!0),c&&domUtils.remove(c),d&&domUtils.remove(d),j}function e(a,b){try{if(g&&domUtils.inDoc(g,a))if(g.nodeValue.replace(fillCharReg,"").length)g.nodeValue=g.nodeValue.replace(fillCharReg,"");else{var c=g.parentNode;for(domUtils.remove(g);c&&domUtils.isEmptyInlineElement(c)&&(browser.safari?!(domUtils.getPosition(c,b)&domUtils.POSITION_CONTAINS):!c.contains(b));)g=c.parentNode,domUtils.remove(c),c=g}}catch(d){} +}function f(a,b){var c;for(a=a[b];a&&domUtils.isFillChar(a);)c=a[b],domUtils.remove(a),a=c}var g,h=0,i=domUtils.fillChar,j=dom.Range=function(a){var b=this;b.startContainer=b.startOffset=b.endContainer=b.endOffset=null,b.document=a,b.collapsed=!0};j.prototype={cloneContents:function(){return this.collapsed?null:d(this,0)},deleteContents:function(){var a;return this.collapsed||d(this,1),browser.webkit&&(a=this.startContainer,3!=a.nodeType||a.nodeValue.length||(this.setStartBefore(a).collapse(!0),domUtils.remove(a))),this},extractContents:function(){return this.collapsed?null:d(this,2)},setStart:function(a,b){return c(!0,a,b,this)},setEnd:function(a,b){return c(!1,a,b,this)},setStartAfter:function(a){return this.setStart(a.parentNode,domUtils.getNodeIndex(a)+1)},setStartBefore:function(a){return this.setStart(a.parentNode,domUtils.getNodeIndex(a))},setEndAfter:function(a){return this.setEnd(a.parentNode,domUtils.getNodeIndex(a)+1)},setEndBefore:function(a){return this.setEnd(a.parentNode,domUtils.getNodeIndex(a))},setStartAtFirst:function(a){return this.setStart(a,0)},setStartAtLast:function(a){return this.setStart(a,3==a.nodeType?a.nodeValue.length:a.childNodes.length)},setEndAtFirst:function(a){return this.setEnd(a,0)},setEndAtLast:function(a){return this.setEnd(a,3==a.nodeType?a.nodeValue.length:a.childNodes.length)},selectNode:function(a){return this.setStartBefore(a).setEndAfter(a)},selectNodeContents:function(a){return this.setStart(a,0).setEndAtLast(a)},cloneRange:function(){var a=this;return new j(a.document).setStart(a.startContainer,a.startOffset).setEnd(a.endContainer,a.endOffset)},collapse:function(a){var b=this;return a?(b.endContainer=b.startContainer,b.endOffset=b.startOffset):(b.startContainer=b.endContainer,b.startOffset=b.endOffset),b.collapsed=!0,b},shrinkBoundary:function(a){function b(a){return 1==a.nodeType&&!domUtils.isBookmarkNode(a)&&!dtd.$empty[a.tagName]&&!dtd.$nonChild[a.tagName]}for(var c,d=this,e=d.collapsed;1==d.startContainer.nodeType&&(c=d.startContainer.childNodes[d.startOffset])&&b(c);)d.setStart(c,0);if(e)return d.collapse(!0);if(!a)for(;1==d.endContainer.nodeType&&d.endOffset>0&&(c=d.endContainer.childNodes[d.endOffset-1])&&b(c);)d.setEnd(c,c.childNodes.length);return d},getCommonAncestor:function(a,c){var d=this,e=d.startContainer,f=d.endContainer;return e===f?a&&b(this)&&(e=e.childNodes[d.startOffset],1==e.nodeType)?e:c&&3==e.nodeType?e.parentNode:e:domUtils.getCommonAncestor(e,f)},trimBoundary:function(a){this.txtToElmBoundary();var b=this.startContainer,c=this.startOffset,d=this.collapsed,e=this.endContainer;if(3==b.nodeType){if(0==c)this.setStartBefore(b);else if(c>=b.nodeValue.length)this.setStartAfter(b);else{var f=domUtils.split(b,c);b===e?this.setEnd(f,this.endOffset-c):b.parentNode===e&&(this.endOffset+=1),this.setStartBefore(f)}if(d)return this.collapse(!0)}return a||(c=this.endOffset,e=this.endContainer,3==e.nodeType&&(0==c?this.setEndBefore(e):(c=c.nodeValue.length&&a["set"+b.replace(/(\w)/,function(a){return a.toUpperCase()})+"After"](c):a["set"+b.replace(/(\w)/,function(a){return a.toUpperCase()})+"Before"](c))}return!a&&this.collapsed||(b(this,"start"),b(this,"end")),this},insertNode:function(a){var b=a,c=1;11==a.nodeType&&(b=a.firstChild,c=a.childNodes.length),this.trimBoundary(!0);var d=this.startContainer,e=this.startOffset,f=d.childNodes[e];return f?d.insertBefore(a,f):d.appendChild(a),b.parentNode===this.endContainer&&(this.endOffset=this.endOffset+c),this.setStartBefore(b)},setCursor:function(a,b){return this.collapse(!a).select(b)},createBookmark:function(a,b){var c,d=this.document.createElement("span");return d.style.cssText="display:none;line-height:0px;",d.appendChild(this.document.createTextNode("‍")),d.id="_baidu_bookmark_start_"+(b?"":h++),this.collapsed||(c=d.cloneNode(!0),c.id="_baidu_bookmark_end_"+(b?"":h++)),this.insertNode(d),c&&this.collapse().insertNode(c).setEndBefore(c),this.setStartAfter(d),{start:a?d.id:d,end:c?a?c.id:c:null,id:a}},moveToBookmark:function(a){var b=a.id?this.document.getElementById(a.start):a.start,c=a.end&&a.id?this.document.getElementById(a.end):a.end;return this.setStartBefore(b),domUtils.remove(b),c?(this.setEndBefore(c),domUtils.remove(c)):this.collapse(!0),this},enlarge:function(a,b){var c,d,e=domUtils.isBody,f=this.document.createTextNode("");if(a){for(d=this.startContainer,1==d.nodeType?d.childNodes[this.startOffset]?c=d=d.childNodes[this.startOffset]:(d.appendChild(f),c=d=f):c=d;;){if(domUtils.isBlockElm(d)){for(d=c;(c=d.previousSibling)&&!domUtils.isBlockElm(c);)d=c;this.setStartBefore(d);break}c=d,d=d.parentNode}for(d=this.endContainer,1==d.nodeType?((c=d.childNodes[this.endOffset])?d.insertBefore(f,c):d.appendChild(f),c=d=f):c=d;;){if(domUtils.isBlockElm(d)){for(d=c;(c=d.nextSibling)&&!domUtils.isBlockElm(c);)d=c;this.setEndAfter(d);break}c=d,d=d.parentNode}f.parentNode===this.endContainer&&this.endOffset--,domUtils.remove(f)}if(!this.collapsed){for(;!(0!=this.startOffset||b&&b(this.startContainer)||e(this.startContainer));)this.setStartBefore(this.startContainer);for(;!(this.endOffset!=(1==this.endContainer.nodeType?this.endContainer.childNodes.length:this.endContainer.nodeValue.length)||b&&b(this.endContainer)||e(this.endContainer));)this.setEndAfter(this.endContainer)}return this},enlargeToBlockElm:function(a){for(;!domUtils.isBlockElm(this.startContainer);)this.setStartBefore(this.startContainer);if(!a)for(;!domUtils.isBlockElm(this.endContainer);)this.setEndAfter(this.endContainer);return this},adjustmentBoundary:function(){if(!this.collapsed){for(;!domUtils.isBody(this.startContainer)&&this.startOffset==this.startContainer[3==this.startContainer.nodeType?"nodeValue":"childNodes"].length&&this.startContainer[3==this.startContainer.nodeType?"nodeValue":"childNodes"].length;)this.setStartAfter(this.startContainer);for(;!domUtils.isBody(this.endContainer)&&!this.endOffset&&this.endContainer[3==this.endContainer.nodeType?"nodeValue":"childNodes"].length;)this.setEndBefore(this.endContainer)}return this},applyInlineStyle:function(a,b,c){if(this.collapsed)return this;this.trimBoundary().enlarge(!1,function(a){return 1==a.nodeType&&domUtils.isBlockElm(a)}).adjustmentBoundary();for(var d,e,f=this.createBookmark(),g=f.end,h=function(a){return 1==a.nodeType?"br"!=a.tagName.toLowerCase():!domUtils.isWhitespace(a)},i=domUtils.getNextDomNode(f.start,!1,h),j=this.cloneRange();i&&domUtils.getPosition(i,g)&domUtils.POSITION_PRECEDING;)if(3==i.nodeType||dtd[a][i.tagName]){for(j.setStartBefore(i),d=i;d&&(3==d.nodeType||dtd[a][d.tagName])&&d!==g;)e=d,d=domUtils.getNextDomNode(d,1==d.nodeType,null,function(b){return dtd[a][b.tagName]});var k,l=j.setEndAfter(e).extractContents();if(c&&c.length>0){var m,n;n=m=c[0].cloneNode(!1);for(var o,p=1;o=c[p++];)m.appendChild(o.cloneNode(!1)),m=m.firstChild;k=m}else k=j.document.createElement(a);b&&domUtils.setAttributes(k,b),k.appendChild(l),j.insertNode(c?n:k);var q;if("span"==a&&b.style&&/text\-decoration/.test(b.style)&&(q=domUtils.findParentByTagName(k,"a",!0))?(domUtils.setAttributes(q,b),domUtils.remove(k,!0),k=q):(domUtils.mergeSibling(k),domUtils.clearEmptySibling(k)),domUtils.mergeChild(k,b),i=domUtils.getNextDomNode(k,!1,h),domUtils.mergeToParent(k),d===g)break}else i=domUtils.getNextDomNode(i,!0,h);return this.moveToBookmark(f)},removeInlineStyle:function(a){if(this.collapsed)return this;a=utils.isArray(a)?a:[a],this.shrinkBoundary().adjustmentBoundary();for(var b=this.startContainer,c=this.endContainer;;){if(1==b.nodeType){if(utils.indexOf(a,b.tagName.toLowerCase())>-1)break;if("body"==b.tagName.toLowerCase()){b=null;break}}b=b.parentNode}for(;;){if(1==c.nodeType){if(utils.indexOf(a,c.tagName.toLowerCase())>-1)break;if("body"==c.tagName.toLowerCase()){c=null;break}}c=c.parentNode}var d,e,f=this.createBookmark();b&&(e=this.cloneRange().setEndBefore(f.start).setStartBefore(b),d=e.extractContents(),e.insertNode(d),domUtils.clearEmptySibling(b,!0),b.parentNode.insertBefore(f.start,b)),c&&(e=this.cloneRange().setStartAfter(f.end).setEndAfter(c),d=e.extractContents(),e.insertNode(d),domUtils.clearEmptySibling(c,!1,!0),c.parentNode.insertBefore(f.end,c.nextSibling));for(var g,h=domUtils.getNextDomNode(f.start,!1,function(a){return 1==a.nodeType});h&&h!==f.end;)g=domUtils.getNextDomNode(h,!0,function(a){return 1==a.nodeType}),utils.indexOf(a,h.tagName.toLowerCase())>-1&&domUtils.remove(h,!0),h=g;return this.moveToBookmark(f)},getClosedNode:function(){var a;if(!this.collapsed){var c=this.cloneRange().adjustmentBoundary().shrinkBoundary();if(b(c)){var d=c.startContainer.childNodes[c.startOffset];d&&1==d.nodeType&&(dtd.$empty[d.tagName]||dtd.$nonChild[d.tagName])&&(a=d)}}return a},select:browser.ie?function(a,b){var c;this.collapsed||this.shrinkBoundary();var d=this.getClosedNode();if(d&&!b){try{c=this.document.body.createControlRange(),c.addElement(d),c.select()}catch(h){}return this}var j,k=this.createBookmark(),l=k.start;if(c=this.document.body.createTextRange(),c.moveToElementText(l),c.moveStart("character",1),this.collapsed){if(!a&&3!=this.startContainer.nodeType){var m=this.document.createTextNode(i),n=this.document.createElement("span");n.appendChild(this.document.createTextNode(i)),l.parentNode.insertBefore(n,l),l.parentNode.insertBefore(m,l),e(this.document,m),g=m,f(n,"previousSibling"),f(l,"nextSibling"),c.moveStart("character",-1),c.collapse(!0)}}else{var o=this.document.body.createTextRange();j=k.end,o.moveToElementText(j),c.setEndPoint("EndToEnd",o)}this.moveToBookmark(k),n&&domUtils.remove(n);try{c.select()}catch(h){}return this}:function(a){function b(a){function b(b,c,d){3==b.nodeType&&b.nodeValue.length0)j=k-1;else{if(!(l<0))return{container:d,offset:c(e)};i=k+1}}if(k==-1){if(h.moveToElementText(d),h.setEndPoint("StartToStart",a),f=h.text.replace(/(\r\n|\r)/g,"\n").length,g=d.childNodes,!f)return e=g[g.length-1],{container:e,offset:e.nodeValue.length};for(var m=g.length;f>0;)f-=g[--m].nodeValue.length;return{container:g[m],offset:-f}}if(h.collapse(l>0),h.setEndPoint(l>0?"StartToStart":"EndToStart",a),f=h.text.replace(/(\r\n|\r)/g,"\n").length,!f)return dtd.$empty[e.tagName]||dtd.$nonChild[e.tagName]?{container:d,offset:c(e)+(l>0?0:1)}:{container:e,offset:l>0?0:e.childNodes.length};for(;f>0;)try{var n=e;e=e[l>0?"previousSibling":"nextSibling"],f-=e.nodeValue.length}catch(o){return{container:d,offset:c(n)}}return{container:e,offset:l>0?-f:e.nodeValue.length+f}}function b(b,c){if(b.item)c.selectNode(b.item(0));else{var d=a(b,!0);c.setStart(d.container,d.offset),0!=b.compareEndPoints("StartToEnd",b)&&(d=a(b,!1),c.setEnd(d.container,d.offset))}return c}function c(a){var b;try{b=a.getNative().createRange()}catch(c){return null}var d=b.item?b.item(0):b.parentElement();return(d.ownerDocument||d)===a.document?b:null}var d=dom.Selection=function(a){var b,d=this;d.document=a,browser.ie9below&&(b=domUtils.getWindow(a).frameElement,domUtils.on(b,"beforedeactivate",function(){d._bakIERange=d.getIERange()}),domUtils.on(b,"activate",function(){try{!c(d)&&d._bakIERange&&d._bakIERange.select()}catch(a){}d._bakIERange=null})),b=a=null};d.prototype={rangeInBody:function(a,b){var c=browser.ie9below||b?a.item?a.item():a.parentElement():a.startContainer;return c===this.document.body||domUtils.inDoc(c,this.document)},getNative:function(){var a=this.document;try{return a?browser.ie9below?a.selection:domUtils.getWindow(a).getSelection():null}catch(b){return null}},getIERange:function(){var a=c(this);return!a&&this._bakIERange?this._bakIERange:a},cache:function(){this.clear(),this._cachedRange=this.getRange(),this._cachedStartElement=this.getStart(),this._cachedStartElementPath=this.getStartElementPath()},getStartElementPath:function(){if(this._cachedStartElementPath)return this._cachedStartElementPath;var a=this.getStart();return a?domUtils.findParents(a,!0,null,!0):[]},clear:function(){this._cachedStartElementPath=this._cachedRange=this._cachedStartElement=null},isFocus:function(){try{if(browser.ie9below){var a=c(this);return!(!a||!this.rangeInBody(a))}return!!this.getNative().rangeCount}catch(b){return!1}},getRange:function(){function a(a){for(var b=c.document.body.firstChild,d=a.collapsed;b&&b.firstChild;)a.setStart(b,0),b=b.firstChild;a.startContainer||a.setStart(c.document.body,0),d&&a.collapse(!0)}var c=this;if(null!=c._cachedRange)return this._cachedRange;var d=new baidu.editor.dom.Range(c.document);if(browser.ie9below){var e=c.getIERange();if(e)try{b(e,d)}catch(f){a(d)}else a(d)}else{var g=c.getNative();if(g&&g.rangeCount){var h=g.getRangeAt(0),i=g.getRangeAt(g.rangeCount-1);d.setStart(h.startContainer,h.startOffset).setEnd(i.endContainer,i.endOffset),d.collapsed&&domUtils.isBody(d.startContainer)&&!d.startOffset&&a(d)}else{if(this._bakRange&&domUtils.inDoc(this._bakRange.startContainer,this.document))return this._bakRange;a(d)}}return this._bakRange=d},getStart:function(){if(this._cachedStartElement)return this._cachedStartElement;var a,b,c,d,e=browser.ie9below?this.getIERange():this.getRange();if(browser.ie9below){if(!e)return this.document.body.firstChild;if(e.item)return e.item(0);for(a=e.duplicate(),a.text.length>0&&a.moveStart("character",1),a.collapse(1),b=a.parentElement(),d=c=e.parentElement();c=c.parentNode;)if(c==b){b=d;break}}else if(e.shrinkBoundary(),b=e.startContainer,1==b.nodeType&&b.hasChildNodes()&&(b=b.childNodes[Math.min(b.childNodes.length-1,e.startOffset)]),3==b.nodeType)return b.parentNode;return b},getText:function(){var a,b;return this.isFocus()&&(a=this.getNative())?(b=browser.ie9below?a.createRange():a.getRangeAt(0),browser.ie9below?b.text:b.toString()):""},clearRange:function(){this.getNative()[browser.ie9below?"empty":"removeAllRanges"]()}}}(),function(){function a(a,b){var c;if(b.textarea)if(utils.isString(b.textarea)){for(var d,e=0,f=domUtils.getElementsByTagName(a,"textarea");d=f[e++];)if(d.id=="ueditor_textarea_"+b.options.textarea){c=d;break}}else c=b.textarea;c||(a.appendChild(c=domUtils.createElement(document,"textarea",{name:b.options.textarea,id:"ueditor_textarea_"+b.options.textarea,style:"display:none"})),b.textarea=c),!c.getAttribute("name")&&c.setAttribute("name",b.options.textarea),c.value=b.hasContents()?b.options.allHtmlEnabled?b.getAllHtml():b.getContent(null,null,!0):""}function b(a){for(var b in a)return b}function c(a){a.langIsReady=!0,a.fireEvent("langReady")}var d,e=0,f=UE.Editor=function(a){var d=this;d.uid=e++,EventBase.call(d),d.commands={},d.options=utils.extend(utils.clone(a||{}),UEDITOR_CONFIG,!0),d.shortcutkeys={},d.inputRules=[],d.outputRules=[],d.setOpt(f.defaultOptions(d)),d.loadServerConfig(),utils.isEmptyObject(UE.I18N)?utils.loadFile(document,{src:d.options.langPath+d.options.lang+"/"+d.options.lang+".js",tag:"script",type:"text/javascript",defer:"defer"},function(){UE.plugin.load(d),c(d)}):(d.options.lang=b(UE.I18N),UE.plugin.load(d),c(d)),UE.instants["ueditorInstant"+d.uid]=d};f.prototype={registerCommand:function(a,b){this.commands[a]=b},ready:function(a){var b=this;a&&(b.isReady?a.apply(b):b.addListener("ready",a))},setOpt:function(a,b){var c={};utils.isString(a)?c[a]=b:c=a,utils.extend(this.options,c,!0)},getOpt:function(a){return this.options[a]},destroy:function(){var a=this;a.fireEvent("destroy");var b=a.container.parentNode,c=a.textarea;c?c.style.display="":(c=document.createElement("textarea"),b.parentNode.insertBefore(c,b)),c.style.width=a.iframe.offsetWidth+"px",c.style.height=a.iframe.offsetHeight+"px",c.value=a.getContent(),c.id=a.key,b.innerHTML="",domUtils.remove(b);var d=a.key;for(var e in a)a.hasOwnProperty(e)&&delete this[e];UE.delEditor(d)},render:function(a){var b=this,c=b.options,d=function(b){return parseInt(domUtils.getComputedStyle(a,b))};if(utils.isString(a)&&(a=document.getElementById(a)),a){c.initialFrameWidth?c.minFrameWidth=c.initialFrameWidth:c.minFrameWidth=c.initialFrameWidth=a.offsetWidth,c.initialFrameHeight?c.minFrameHeight=c.initialFrameHeight:c.initialFrameHeight=c.minFrameHeight=a.offsetHeight,a.style.width=/%$/.test(c.initialFrameWidth)?"100%":c.initialFrameWidth-d("padding-left")-d("padding-right")+"px",a.style.height=/%$/.test(c.initialFrameHeight)?"100%":c.initialFrameHeight-d("padding-top")-d("padding-bottom")+"px",a.style.zIndex=c.zIndex;var e=(ie&&browser.version<9?"":"")+""+(c.iframeCssUrl?"":"")+(c.initialStyle?"":"")+"";a.appendChild(domUtils.createElement(document,"iframe",{id:"ueditor_"+b.uid,width:"100%",height:"100%",frameborder:"0",src:"javascript:void(function(){document.open();"+(c.customDomain&&document.domain!=location.hostname?'document.domain="'+document.domain+'";':"")+'document.write("'+e+'");document.close();}())'})),a.style.overflow="hidden",setTimeout(function(){/%$/.test(c.initialFrameWidth)&&(c.minFrameWidth=c.initialFrameWidth=a.offsetWidth),/%$/.test(c.initialFrameHeight)&&(c.minFrameHeight=c.initialFrameHeight=a.offsetHeight,a.style.height=c.initialFrameHeight+"px")})}},_setup:function(b){var c=this,d=c.options;ie?(b.body.disabled=!0,b.body.contentEditable=!0,b.body.disabled=!1):b.body.contentEditable=!0,b.body.spellcheck=!1,c.document=b,c.window=b.defaultView||b.parentWindow,c.iframe=c.window.frameElement,c.body=b.body,c.selection=new dom.Selection(b);var e;browser.gecko&&(e=this.selection.getNative())&&e.removeAllRanges(),this._initEvents();for(var f=this.iframe.parentNode;!domUtils.isBody(f);f=f.parentNode)if("FORM"==f.tagName){c.form=f,c.options.autoSyncData?domUtils.on(c.window,"blur",function(){a(f,c)}):domUtils.on(f,"submit",function(){a(this,c)});break}if(d.initialContent)if(d.autoClearinitialContent){var g=c.execCommand;c.execCommand=function(){return c.fireEvent("firstBeforeExecCommand"),g.apply(c,arguments)},this._setDefaultContent(d.initialContent)}else this.setContent(d.initialContent,!1,!0);domUtils.isEmptyNode(c.body)&&(c.body.innerHTML="

      "+(browser.ie?"":"
      ")+"

      "),d.focus&&setTimeout(function(){c.focus(c.options.focusInEnd),!c.options.autoClearinitialContent&&c._selectionChange()},0),c.container||(c.container=this.iframe.parentNode),d.fullscreen&&c.ui&&c.ui.setFullScreen(!0);try{c.document.execCommand("2D-position",!1,!1)}catch(h){}try{c.document.execCommand("enableInlineTableEditing",!1,!1)}catch(h){}try{c.document.execCommand("enableObjectResizing",!1,!1)}catch(h){}c._bindshortcutKeys(),c.isReady=1,c.fireEvent("ready"),d.onready&&d.onready.call(c),browser.ie9below||domUtils.on(c.window,["blur","focus"],function(a){if("blur"==a.type){c._bakRange=c.selection.getRange();try{c._bakNativeRange=c.selection.getNative().getRangeAt(0),c.selection.getNative().removeAllRanges()}catch(a){c._bakNativeRange=null}}else try{c._bakRange&&c._bakRange.select()}catch(a){}}),browser.gecko&&browser.version<=10902&&(c.body.contentEditable=!1,setTimeout(function(){c.body.contentEditable=!0},100),setInterval(function(){c.body.style.height=c.iframe.offsetHeight-20+"px"},100)),!d.isShow&&c.setHide(),d.readonly&&c.setDisabled()},sync:function(b){var c=this,d=b?document.getElementById(b):domUtils.findParent(c.iframe.parentNode,function(a){return"FORM"==a.tagName},!0);d&&a(d,c)},setHeight:function(a,b){a!==parseInt(this.iframe.parentNode.style.height)&&(this.iframe.parentNode.style.height=a+"px"),!b&&(this.options.minFrameHeight=this.options.initialFrameHeight=a),this.body.style.height=a+"px",!b&&this.trigger("setHeight")},addshortcutkey:function(a,b){var c={};b?c[a]=b:c=a,utils.extend(this.shortcutkeys,c)},_bindshortcutKeys:function(){var a=this,b=this.shortcutkeys;a.addListener("keydown",function(c,d){var e=d.keyCode||d.which;for(var f in b)for(var g,h=b[f].split(","),i=0;g=h[i++];){g=g.split(":");var j=g[0],k=g[1];(/^(ctrl)(\+shift)?\+(\d+)$/.test(j.toLowerCase())||/^(\d+)$/.test(j))&&(("ctrl"==RegExp.$1?d.ctrlKey||d.metaKey:0)&&(""!=RegExp.$2?d[RegExp.$2.slice(1)+"Key"]:1)&&e==RegExp.$3||e==RegExp.$1)&&(a.queryCommandState(f,k)!=-1&&a.execCommand(f,k),domUtils.preventDefault(d))}})},getContent:function(a,b,c,d,e){var f=this;if(a&&utils.isFunction(a)&&(b=a,a=""),b?!b():!this.hasContents())return"";f.fireEvent("beforegetcontent");var g=UE.htmlparser(f.body.innerHTML,d);return f.filterOutputRule(g),f.fireEvent("aftergetcontent",a,g),g.toHtml(e)},getAllHtml:function(){var a=this,b=[];if(a.fireEvent("getAllHtml",b),browser.ie&&browser.version>8){var c="";utils.each(a.document.styleSheets,function(a){c+=a.href?'':""}),utils.each(a.document.getElementsByTagName("script"),function(a){c+=a.outerHTML})}return""+(a.options.charset?'':"")+(c||a.document.getElementsByTagName("head")[0].innerHTML)+b.join("\n")+""+a.getContent(null,null,!0)+""},getPlainTxt:function(){var a=new RegExp(domUtils.fillChar,"g"),b=this.body.innerHTML.replace(/[\n\r]/g,"");return b=b.replace(/<(p|div)[^>]*>(| )<\/\1>/gi,"\n").replace(//gi,"\n").replace(/<[^>\/]+>/g,"").replace(/(\n)?<\/([^>]+)>/g,function(a,b,c){return dtd.$block[c]?"\n":b?b:""}),b.replace(a,"").replace(/\u00a0/g," ").replace(/ /g," ")},getContentTxt:function(){var a=new RegExp(domUtils.fillChar,"g");return this.body[browser.ie?"innerText":"textContent"].replace(a,"").replace(/\u00a0/g," ")},setContent:function(b,c,d){function e(a){return"DIV"==a.tagName&&a.getAttribute("cdata_tag")}var f=this;f.fireEvent("beforesetcontent",b);var g=UE.htmlparser(b);if(f.filterInputRule(g),b=g.toHtml(),f.body.innerHTML=(c?f.body.innerHTML:"")+b,"p"==f.options.enterTag){var h,i=this.body.firstChild;if(!i||1==i.nodeType&&(dtd.$cdata[i.tagName]||e(i)||domUtils.isCustomeNode(i))&&i===this.body.lastChild)this.body.innerHTML="

      "+(browser.ie?" ":"
      ")+"

      "+this.body.innerHTML;else for(var j=f.document.createElement("p");i;){for(;i&&(3==i.nodeType||1==i.nodeType&&dtd.p[i.tagName]&&!dtd.$cdata[i.tagName]);)h=i.nextSibling,j.appendChild(i),i=h;if(j.firstChild){if(!i){f.body.appendChild(j);break}i.parentNode.insertBefore(j,i),j=f.document.createElement("p")}i=i.nextSibling}}f.fireEvent("aftersetcontent"),f.fireEvent("contentchange"),!d&&f._selectionChange(),f._bakRange=f._bakIERange=f._bakNativeRange=null;var k;browser.gecko&&(k=this.selection.getNative())&&k.removeAllRanges(),f.options.autoSyncData&&f.form&&a(f.form,f)},focus:function(a){try{var b=this,c=b.selection.getRange();if(a){var d=b.body.lastChild;d&&1==d.nodeType&&!dtd.$empty[d.tagName]&&(domUtils.isEmptyBlock(d)?c.setStartAtFirst(d):c.setStartAtLast(d),c.collapse(!0)),c.setCursor(!0)}else{if(!c.collapsed&&domUtils.isBody(c.startContainer)&&0==c.startOffset){var d=b.body.firstChild;d&&1==d.nodeType&&!dtd.$empty[d.tagName]&&c.setStartAtFirst(d).collapse(!0)}c.select(!0)}this.fireEvent("focus selectionchange")}catch(e){}},isFocus:function(){return this.selection.isFocus()},blur:function(){var a=this.selection.getNative();if(a.empty&&browser.ie){var b=document.body.createTextRange();b.moveToElementText(document.body),b.collapse(!0),b.select(),a.empty()}else a.removeAllRanges()},_initEvents:function(){var a=this,b=a.document,c=a.window;a._proxyDomEvent=utils.bind(a._proxyDomEvent,a),domUtils.on(b,["click","contextmenu","mousedown","keydown","keyup","keypress","mouseup","mouseover","mouseout","selectstart"],a._proxyDomEvent),domUtils.on(c,["focus","blur"],a._proxyDomEvent),domUtils.on(a.body,"drop",function(b){browser.gecko&&b.stopPropagation&&b.stopPropagation(),a.fireEvent("contentchange")}),domUtils.on(b,["mouseup","keydown"],function(b){"keydown"==b.type&&(b.ctrlKey||b.metaKey||b.shiftKey||b.altKey)||2!=b.button&&a._selectionChange(250,b)})},_proxyDomEvent:function(a){return this.fireEvent("before"+a.type.replace(/^on/,"").toLowerCase())!==!1&&(this.fireEvent(a.type.replace(/^on/,""),a)!==!1&&this.fireEvent("after"+a.type.replace(/^on/,"").toLowerCase()))},_selectionChange:function(a,b){var c,e,f=this,g=!1;if(browser.ie&&browser.version<9&&b&&"mouseup"==b.type){var h=this.selection.getRange();h.collapsed||(g=!0,c=b.clientX,e=b.clientY)}clearTimeout(d),d=setTimeout(function(){if(f.selection&&f.selection.getNative()){var a;if(g&&"None"==f.selection.getNative().type){a=f.document.body.createTextRange();try{a.moveToPoint(c,e)}catch(d){a=null}}var h;a&&(h=f.selection.getIERange,f.selection.getIERange=function(){return a}),f.selection.cache(),h&&(f.selection.getIERange=h),f.selection._cachedRange&&f.selection._cachedStartElement&&(f.fireEvent("beforeselectionchange"),f.fireEvent("selectionchange",!!b),f.fireEvent("afterselectionchange"),f.selection.clear())}},a||50)},_callCmdFn:function(a,b){var c,d,e=b[0].toLowerCase();return c=this.commands[e]||UE.commands[e],d=c&&c[a],c&&d||"queryCommandState"!=a?d?d.apply(this,b):void 0:0},execCommand:function(a){a=a.toLowerCase();var b,c=this,d=c.commands[a]||UE.commands[a];return d&&d.execCommand?(d.notNeedUndo||c.__hasEnterExecCommand?(b=this._callCmdFn("execCommand",arguments),!c.__hasEnterExecCommand&&!d.ignoreContentChange&&!c._ignoreContentChange&&c.fireEvent("contentchange")):(c.__hasEnterExecCommand=!0,c.queryCommandState.apply(c,arguments)!=-1&&(c.fireEvent("saveScene"),c.fireEvent.apply(c,["beforeexeccommand",a].concat(arguments)),b=this._callCmdFn("execCommand",arguments),c.fireEvent.apply(c,["afterexeccommand",a].concat(arguments)),c.fireEvent("saveScene")),c.__hasEnterExecCommand=!1),!c.__hasEnterExecCommand&&!d.ignoreContentChange&&!c._ignoreContentChange&&c._selectionChange(),b):null},queryCommandState:function(a){return this._callCmdFn("queryCommandState",arguments)},queryCommandValue:function(a){return this._callCmdFn("queryCommandValue",arguments)},hasContents:function(a){if(a)for(var b,c=0;b=a[c++];)if(this.document.getElementsByTagName(b).length>0)return!0;if(!domUtils.isEmptyBlock(this.body))return!0;for(a=["div"],c=0;b=a[c++];)for(var d,e=domUtils.getElementsByTagName(this.document,b),f=0;d=e[f++];)if(domUtils.isCustomeNode(d))return!0;return!1},reset:function(){this.fireEvent("reset")},setEnabled:function(){var a,b=this;if("false"==b.body.contentEditable){b.body.contentEditable=!0,a=b.selection.getRange();try{a.moveToBookmark(b.lastBk),delete b.lastBk}catch(c){a.setStartAtFirst(b.body).collapse(!0)}a.select(!0),b.bkqueryCommandState&&(b.queryCommandState=b.bkqueryCommandState,delete b.bkqueryCommandState),b.bkqueryCommandValue&&(b.queryCommandValue=b.bkqueryCommandValue,delete b.bkqueryCommandValue),b.fireEvent("selectionchange")}},enable:function(){return this.setEnabled()},setDisabled:function(a){var b=this;a=a?utils.isArray(a)?a:[a]:[],"true"==b.body.contentEditable&&(b.lastBk||(b.lastBk=b.selection.getRange().createBookmark(!0)),b.body.contentEditable=!1,b.bkqueryCommandState=b.queryCommandState,b.bkqueryCommandValue=b.queryCommandValue,b.queryCommandState=function(c){return utils.indexOf(a,c)!=-1?b.bkqueryCommandState.apply(b,arguments):-1},b.queryCommandValue=function(c){return utils.indexOf(a,c)!=-1?b.bkqueryCommandValue.apply(b,arguments):null},b.fireEvent("selectionchange"))},disable:function(a){return this.setDisabled(a)},_setDefaultContent:function(){function a(){var b=this;b.document.getElementById("initContent")&&(b.body.innerHTML="

      "+(ie?"":"
      ")+"

      ",b.removeListener("firstBeforeExecCommand focus",a),setTimeout(function(){b.focus(),b._selectionChange()},0))}return function(b){var c=this;c.body.innerHTML='

      '+b+"

      ",c.addListener("firstBeforeExecCommand focus",a)}}(),setShow:function(){var a=this,b=a.selection.getRange();if("none"==a.container.style.display){try{b.moveToBookmark(a.lastBk),delete a.lastBk}catch(c){b.setStartAtFirst(a.body).collapse(!0)}setTimeout(function(){b.select(!0)},100),a.container.style.display=""}},show:function(){return this.setShow()},setHide:function(){ +var a=this;a.lastBk||(a.lastBk=a.selection.getRange().createBookmark(!0)),a.container.style.display="none"},hide:function(){return this.setHide()},getLang:function(a){var b=UE.I18N[this.options.lang];if(!b)throw Error("not import language file");a=(a||"").split(".");for(var c,d=0;(c=a[d++])&&(b=b[c],b););return b},getContentLength:function(a,b){var c=this.getContent(!1,!1,!0).length;if(a){b=(b||[]).concat(["hr","img","iframe"]),c=this.getContentTxt().replace(/[\t\r\n]+/g,"").length;for(var d,e=0;d=b[e++];)c+=this.document.getElementsByTagName(d).length}return c},addInputRule:function(a){this.inputRules.push(a)},filterInputRule:function(a){for(var b,c=0;b=this.inputRules[c++];)b.call(this,a)},addOutputRule:function(a){this.outputRules.push(a)},filterOutputRule:function(a){for(var b,c=0;b=this.outputRules[c++];)b.call(this,a)},getActionUrl:function(a){var b=this.getOpt(a)||a,c=this.getOpt("imageUrl"),d=this.getOpt("serverUrl");return!d&&c&&(d=c.replace(/^(.*[\/]).+([\.].+)$/,"$1controller$2")),d?(d=d+(d.indexOf("?")==-1?"?":"&")+"action="+(b||""),utils.formatUrl(d)):""}},utils.inherits(f,EventBase)}(),UE.Editor.defaultOptions=function(a){var b=a.options.UEDITOR_HOME_URL;return{isShow:!0,initialContent:"",initialStyle:"",autoClearinitialContent:!1,iframeCssUrl:b+"themes/iframe.css",textarea:"editorValue",focus:!1,focusInEnd:!0,autoClearEmptyNode:!0,fullscreen:!1,readonly:!1,zIndex:999,imagePopup:!0,enterTag:"p",customDomain:!1,lang:"zh-cn",langPath:b+"lang/",theme:"default",themePath:b+"themes/",allHtmlEnabled:!1,scaleEnabled:!1,tableNativeEditInFF:!1,autoSyncData:!0,fileNameFormat:"{time}{rand:6}"}},function(){UE.Editor.prototype.loadServerConfig=function(){function showErrorMsg(a){console&&console.error(a)}var me=this;setTimeout(function(){try{me.options.imageUrl&&me.setOpt("serverUrl",me.options.imageUrl.replace(/^(.*[\/]).+([\.].+)$/,"$1controller$2"));var configUrl=me.getActionUrl("config"),isJsonp=utils.isCrossDomainUrl(configUrl);me._serverConfigLoaded=!1,configUrl&&UE.ajax.request(configUrl,{method:"GET",dataType:isJsonp?"jsonp":"",onsuccess:function(r){try{var config=isJsonp?r:eval("("+r.responseText+")");utils.extend(me.options,config),me.fireEvent("serverConfigLoaded"),me._serverConfigLoaded=!0}catch(e){showErrorMsg(me.getLang("loadconfigFormatError"))}},onerror:function(){showErrorMsg(me.getLang("loadconfigHttpError"))}})}catch(e){showErrorMsg(me.getLang("loadconfigError"))}})},UE.Editor.prototype.isServerConfigLoaded=function(){var a=this;return a._serverConfigLoaded||!1},UE.Editor.prototype.afterConfigReady=function(a){if(a&&utils.isFunction(a)){var b=this,c=function(){a.apply(b,arguments),b.removeListener("serverConfigLoaded",c)};b.isServerConfigLoaded()?a.call(b,"serverConfigLoaded"):b.addListener("serverConfigLoaded",c)}}}(),UE.ajax=function(){function a(a){var b=[];for(var c in a)if("method"!=c&&"timeout"!=c&&"async"!=c&&"dataType"!=c&&"callback"!=c&&void 0!=a[c]&&null!=a[c])if("function"!=(typeof a[c]).toLowerCase()&&"object"!=(typeof a[c]).toLowerCase())b.push(encodeURIComponent(c)+"="+encodeURIComponent(a[c]));else if(utils.isArray(a[c]))for(var d=0;d/gi,"").replace(/]*>[\s\S]*?.<\/v:shape>/gi,function(a){if(browser.opera)return"";try{if(/Bitmap/i.test(a))return"";var c=a.match(/width:([ \d.]*p[tx])/i)[1],d=a.match(/height:([ \d.]*p[tx])/i)[1],e=a.match(/src=\s*"([^"]*)"/i)[1];return''}catch(f){return""}}).replace(/<\/?div[^>]*>/g,"").replace(/v:\w+=(["']?)[^'"]+\1/g,"").replace(/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|xml|meta|link|style|\w+:\w+)(?=[\s\/>]))[^>]*>/gi,"").replace(/

      ]*class="?MsoHeading"?[^>]*>(.*?)<\/p>/gi,"

      $1

      ").replace(/\s+(class|lang|align)\s*=\s*(['"]?)([\w-]+)\2/gi,function(a,b,c,d){return"class"==b&&"MsoListParagraph"==d?a:""}).replace(/<(font|span)[^>]*>(\s*)<\/\1>/gi,function(a,b,c){return c.replace(/[\t\r\n ]+/g," ")}).replace(/(<[a-z][^>]*)\sstyle=(["'])([^\2]*?)\2/gi,function(a,c,d,e){for(var f,g=[],h=e.replace(/^\s+|\s+$/,"").replace(/'/g,"'").replace(/"/gi,"'").replace(/[\d.]+(cm|pt)/g,function(a){return utils.transUnitToPx(a)}).split(/;\s*/g),i=0;f=h[i];i++){var j,k,l=f.split(":");if(2==l.length){if(j=l[0].toLowerCase(),k=l[1].toLowerCase(),/^(background)\w*/.test(j)&&0==k.replace(/(initial|\s)/g,"").length||/^(margin)\w*/.test(j)&&/^0\w+$/.test(k))continue;switch(j){case"mso-padding-alt":case"mso-padding-top-alt":case"mso-padding-right-alt":case"mso-padding-bottom-alt":case"mso-padding-left-alt":case"mso-margin-alt":case"mso-margin-top-alt":case"mso-margin-right-alt":case"mso-margin-bottom-alt":case"mso-margin-left-alt":case"mso-height":case"mso-width":case"mso-vertical-align-alt":/1&&(a(h,j,!0),b(h,j)),c(k,h,i,j);break;case"text":d(g,h);break;case"element":e(g,h,i,j);break;case"comment":f(g,h,i)}return h}function d(a,b){"pre"==a.parentNode.tagName?b.push(a.data):b.push(l[a.parentNode.tagName]?utils.html(a.data):a.data.replace(/[ ]{2}/g,"  "))}function e(d,e,f,g){var h="";if(d.attrs){h=[];var i=d.attrs;for(var j in i)h.push(j+(void 0!==i[j]?'="'+(k[j]?utils.html(i[j]).replace(/["]/g,function(a){return"""}):utils.unhtml(i[j]))+'"':""));h=h.join(" ")}if(e.push("<"+d.tagName+(h?" "+h:"")+(dtd.$empty[d.tagName]?"/":"")+">"),f&&!dtd.$inlineWithA[d.tagName]&&"pre"!=d.tagName&&d.children&&d.children.length&&(g=a(e,g,!0),b(e,g)),d.children&&d.children.length)for(var l,m=0;l=d.children[m++];)f&&"element"==l.type&&!dtd.$inlineWithA[l.tagName]&&m>1&&(a(e,g),b(e,g)),c(l,e,f,g);dtd.$empty[d.tagName]||(f&&!dtd.$inlineWithA[d.tagName]&&"pre"!=d.tagName&&d.children&&d.children.length&&(g=a(e,g),b(e,g)),e.push(""))}function f(a,b){b.push("")}function g(a,b){var c;if("element"==a.type&&a.getAttr("id")==b)return a;if(a.children&&a.children.length)for(var d,e=0;d=a.children[e++];)if(c=g(d,b))return c}function h(a,b,c){if("element"==a.type&&a.tagName==b&&c.push(a),a.children&&a.children.length)for(var d,e=0;d=a.children[e++];)h(d,b,c)}function i(a,b){if(a.children&&a.children.length)for(var c,d=0;c=a.children[d];)i(c,b),c.parentNode&&(c.children&&c.children.length&&b(c),c.parentNode&&d++);else b(a)}var j=UE.uNode=function(a){this.type=a.type,this.data=a.data,this.tagName=a.tagName,this.parentNode=a.parentNode,this.attrs=a.attrs||{},this.children=a.children},k={href:1,src:1,_src:1,_href:1,cdata_data:1},l={style:1,script:1},m=" ",n="\n";j.createElement=function(a){return/[<>]/.test(a)?UE.htmlparser(a).children[0]:new j({type:"element",children:[],tagName:a})},j.createText=function(a,b){return new UE.uNode({type:"text",data:b?a:utils.unhtml(a||"")})},j.prototype={toHtml:function(a){var b=[];return c(this,b,a,0),b.join("")},innerHTML:function(a){if("element"!=this.type||dtd.$empty[this.tagName])return this;if(utils.isString(a)){if(this.children)for(var b,c=0;b=this.children[c++];)b.parentNode=null;this.children=[];for(var b,d=UE.htmlparser(a),c=0;b=d.children[c++];)this.children.push(b),b.parentNode=this;return this}var d=new UE.uNode({type:"root",children:this.children});return d.toHtml()},innerText:function(a,b){if("element"!=this.type||dtd.$empty[this.tagName])return this;if(a){if(this.children)for(var c,d=0;c=this.children[d++];)c.parentNode=null;return this.children=[],this.appendChild(j.createText(a,b)),this}return this.toHtml().replace(/<[^>]+>/g,"")},getData:function(){return"element"==this.type?"":this.data},firstChild:function(){return this.children?this.children[0]:null},lastChild:function(){return this.children?this.children[this.children.length-1]:null},previousSibling:function(){for(var a,b=this.parentNode,c=0;a=b.children[c];c++)if(a===this)return 0==c?null:b.children[c-1]},nextSibling:function(){for(var a,b=this.parentNode,c=0;a=b.children[c++];)if(a===this)return b.children[c]},replaceChild:function(a,b){if(this.children){a.parentNode&&a.parentNode.removeChild(a);for(var c,d=0;c=this.children[d];d++)if(c===b)return this.children.splice(d,1,a),b.parentNode=null,a.parentNode=this,a}},appendChild:function(a){if("root"==this.type||"element"==this.type&&!dtd.$empty[this.tagName]){this.children||(this.children=[]),a.parentNode&&a.parentNode.removeChild(a);for(var b,c=0;b=this.children[c];c++)if(b===a){this.children.splice(c,1);break}return this.children.push(a),a.parentNode=this,a}},insertBefore:function(a,b){if(this.children){a.parentNode&&a.parentNode.removeChild(a);for(var c,d=0;c=this.children[d];d++)if(c===b)return this.children.splice(d,0,a),a.parentNode=this,a}},insertAfter:function(a,b){if(this.children){a.parentNode&&a.parentNode.removeChild(a);for(var c,d=0;c=this.children[d];d++)if(c===b)return this.children.splice(d+1,0,a),a.parentNode=this,a}},removeChild:function(a,b){if(this.children)for(var c,d=0;c=this.children[d];d++)if(c===a){if(this.children.splice(d,1),c.parentNode=null,b&&c.children&&c.children.length)for(var e,f=0;e=c.children[f];f++)this.children.splice(d+f,0,e),e.parentNode=this;return c}},getAttr:function(a){return this.attrs&&this.attrs[a.toLowerCase()]},setAttr:function(a,b){if(!a)return void delete this.attrs;if(this.attrs||(this.attrs={}),utils.isObject(a))for(var c in a)a[c]?this.attrs[c.toLowerCase()]=a[c]:delete this.attrs[c];else b?this.attrs[a.toLowerCase()]=b:delete this.attrs[a]},getIndex:function(){for(var a,b=this.parentNode,c=0;a=b.children[c];c++)if(a===this)return c;return-1},getNodeById:function(a){var b;if(this.children&&this.children.length)for(var c,d=0;c=this.children[d++];)if(b=g(c,a))return b},getNodesByTagName:function(a){a=utils.trim(a).replace(/[ ]{2,}/g," ").split(" ");var b=[],c=this;return utils.each(a,function(a){if(c.children&&c.children.length)for(var d,e=0;d=c.children[e++];)h(d,a,b)}),b},getStyle:function(a){var b=this.getAttr("style");if(!b)return"";var c=new RegExp("(^|;)\\s*"+a+":([^;]+)","i"),d=b.match(c);return d&&d[0]?d[2]:""},setStyle:function(a,b){function c(a,b){var c=new RegExp("(^|;)\\s*"+a+":([^;]+;?)","gi");d=d.replace(c,"$1"),b&&(d=a+":"+utils.unhtml(b)+";"+d)}var d=this.getAttr("style");if(d||(d=""),utils.isObject(a))for(var e in a)c(e,a[e]);else c(a,b);this.setAttr("style",utils.trim(d))},traversal:function(a){return this.children&&this.children.length&&i(this,a),this}}}();var htmlparser=UE.htmlparser=function(a,b){function c(a,b){if(m[a.tagName]){var c=k.createElement(m[a.tagName]);a.appendChild(c),c.appendChild(k.createText(b)),a=c}else a.appendChild(k.createText(b))}function d(a,b,c){var e;if(e=l[b]){for(var f,h=a;"root"!=h.type;){if(utils.isArray(e)?utils.indexOf(e,h.tagName)!=-1:e==h.tagName){a=h,f=!0;break}h=h.parentNode}f||(a=d(a,utils.isArray(e)?e[0]:e))}var i=new k({parentNode:a,type:"element",tagName:b.toLowerCase(),children:dtd.$empty[b]?null:[]});if(c){for(var m,n={};m=g.exec(c);)n[m[1].toLowerCase()]=j[m[1].toLowerCase()]?m[2]||m[3]||m[4]:utils.unhtml(m[2]||m[3]||m[4]);i.attrs=n}return a.children.push(i),dtd.$empty[b]?a:i}function e(a,b){a.children.push(new k({type:"comment",data:b,parentNode:a}))}var f=/<(?:(?:\/([^>]+)>)|(?:!--([\S|\s]*?)-->)|(?:([^\s\/<>]+)\s*((?:(?:"[^"]*")|(?:'[^']*')|[^"'<>])*)\/?>))/g,g=/([\w\-:.]+)(?:(?:\s*=\s*(?:(?:"([^"]*)")|(?:'([^']*)')|([^\s>]+)))|(?=\s|$))/g,h={b:1,code:1,i:1,u:1,strike:1,s:1,tt:1,strong:1,q:1,samp:1,em:1,span:1,sub:1,img:1,sup:1,font:1,big:1,small:1,iframe:1,a:1,br:1,pre:1};a=a.replace(new RegExp(domUtils.fillChar,"g"),""),b||(a=a.replace(new RegExp("[\\r\\t\\n"+(b?"":" ")+"]*]*)>[\\r\\t\\n"+(b?"":" ")+"]*","g"),function(a,c){return c&&h[c.toLowerCase()]?a.replace(/(^[\n\r]+)|([\n\r]+$)/g,""):a.replace(new RegExp("^[\\r\\n"+(b?"":" ")+"]+"),"").replace(new RegExp("[\\r\\n"+(b?"":" ")+"]+$"),"")}));for(var i,j={href:1,src:1},k=UE.uNode,l={td:"tr",tr:["tbody","thead","tfoot"],tbody:"table",th:"tr",thead:"table",tfoot:"table",caption:"table",li:["ul","ol"],dt:"dl",dd:"dl",option:"select"},m={ol:"li",ul:"li"},n=0,o=0,p=new k({type:"root",children:[]}),q=p;i=f.exec(a);){n=i.index;try{if(n>o&&c(q,a.slice(o,n)),i[3])dtd.$cdata[q.tagName]?c(q,i[0]):q=d(q,i[3].toLowerCase(),i[4]);else if(i[1]){if("root"!=q.type)if(dtd.$cdata[q.tagName]&&!dtd.$cdata[i[1]])c(q,i[0]);else{for(var r=q;"element"==q.type&&q.tagName!=i[1].toLowerCase();)if(q=q.parentNode,"root"==q.type)throw q=r,"break";q=q.parentNode}}else i[2]&&e(q,i[2])}catch(s){}o=f.lastIndex}return o");break;case"div":if(b.getAttr("cdata_tag"))break;if(d=b.getAttr("class"),d&&/^line number\d+/.test(d))break;if(!e)break;for(var f,g=UE.uNode.createElement("p");f=b.firstChild();)"text"!=f.type&&UE.dom.dtd.$block[f.tagName]?g.firstChild()?(b.parentNode.insertBefore(g,b),g=UE.uNode.createElement("p")):b.parentNode.insertBefore(f,b):g.appendChild(f);g.firstChild()&&b.parentNode.insertBefore(g,b),b.parentNode.removeChild(b);break;case"dl":b.tagName="ul";break;case"dt":case"dd":b.tagName="li";break;case"li":var h=b.getAttr("class");h&&/list\-/.test(h)||b.setAttr();var i=b.getNodesByTagName("ol ul");UE.utils.each(i,function(a){b.parentNode.insertAfter(a,b)});break;case"td":case"th":case"caption":b.children&&b.children.length||b.appendChild(browser.ie11below?UE.uNode.createText(" "):UE.uNode.createElement("br"));break;case"table":a.options.disabledTableInTable&&c(b)&&(b.parentNode.insertBefore(UE.uNode.createText(b.innerText()),b),b.parentNode.removeChild(b))}}})}),a.addOutputRule(function(b){var c;b.traversal(function(b){if("element"==b.type){if(a.options.autoClearEmptyNode&&dtd.$inline[b.tagName]&&!dtd.$empty[b.tagName]&&(!b.attrs||utils.isEmptyObject(b.attrs)))return void(b.firstChild()?"span"!=b.tagName||b.attrs&&!utils.isEmptyObject(b.attrs)||b.parentNode.removeChild(b,!0):b.parentNode.removeChild(b));switch(b.tagName){case"div":(c=b.getAttr("cdata_tag"))&&(b.tagName=c,b.appendChild(UE.uNode.createText(b.getAttr("cdata_data"))),b.setAttr({cdata_tag:"",cdata_data:"",_ue_custom_node_:""}));break;case"a":(c=b.getAttr("_href"))&&b.setAttr({href:utils.html(c),_href:""});break;case"span":c=b.getAttr("id"),c&&/^_baidu_bookmark_/i.test(c)&&b.parentNode.removeChild(b);break;case"img":(c=b.getAttr("_src"))&&b.setAttr({src:b.getAttr("_src"),_src:""})}}})})},UE.commands.inserthtml={execCommand:function(a,b,c){var d,e,f=this;if(b&&f.fireEvent("beforeinserthtml",b)!==!0){if(d=f.selection.getRange(),e=d.document.createElement("div"),e.style.display="inline",!c){var g=UE.htmlparser(b);f.options.filterRules&&UE.filterNode(g,f.options.filterRules),f.filterInputRule(g),b=g.toHtml()}if(e.innerHTML=utils.trim(b),!d.collapsed){var h=d.startContainer;if(domUtils.isFillChar(h)&&d.setStartBefore(h),h=d.endContainer,domUtils.isFillChar(h)&&d.setEndAfter(h),d.txtToElmBoundary(),d.endContainer&&1==d.endContainer.nodeType&&(h=d.endContainer.childNodes[d.endOffset],h&&domUtils.isBr(h)&&d.setEndAfter(h)),0==d.startOffset&&(h=d.startContainer,domUtils.isBoundaryNode(h,"firstChild")&&(h=d.endContainer,d.endOffset==(3==h.nodeType?h.nodeValue.length:h.childNodes.length)&&domUtils.isBoundaryNode(h,"lastChild")&&(f.body.innerHTML="

      "+(browser.ie?"":"
      ")+"

      ",d.setStart(f.body.firstChild,0).collapse(!0)))),!d.collapsed&&d.deleteContents(),1==d.startContainer.nodeType){var i,j=d.startContainer.childNodes[d.startOffset];if(j&&domUtils.isBlockElm(j)&&(i=j.previousSibling)&&domUtils.isBlockElm(i)){for(d.setEnd(i,i.childNodes.length).collapse();j.firstChild;)i.appendChild(j.firstChild);domUtils.remove(j)}}}var j,k,i,l,m,n=0;d.inFillChar()&&(j=d.startContainer,domUtils.isFillChar(j)?(d.setStartBefore(j).collapse(!0),domUtils.remove(j)):domUtils.isFillChar(j,!0)&&(j.nodeValue=j.nodeValue.replace(fillCharReg,""),d.startOffset--,d.collapsed&&d.collapse(!0)));var o=domUtils.findParentByTagName(d.startContainer,"li",!0);if(o){for(var p,q;j=e.firstChild;){for(;j&&(3==j.nodeType||!domUtils.isBlockElm(j)||"HR"==j.tagName);)p=j.nextSibling,d.insertNode(j).collapse(),q=j,j=p;if(j)if(/^(ol|ul)$/i.test(j.tagName)){for(;j.firstChild;)q=j.firstChild,domUtils.insertAfter(o,j.firstChild),o=o.nextSibling;domUtils.remove(j)}else{var r;p=j.nextSibling,r=f.document.createElement("li"),domUtils.insertAfter(o,r),r.appendChild(j),q=j,j=p,o=r}}o=domUtils.findParentByTagName(d.startContainer,"li",!0),domUtils.isEmptyBlock(o)&&domUtils.remove(o),q&&d.setStartAfter(q).collapse(!0).select(!0)}else{for(;j=e.firstChild;){if(n){for(var s=f.document.createElement("p");j&&(3==j.nodeType||!dtd.$block[j.tagName]);)m=j.nextSibling,s.appendChild(j),j=m;s.firstChild&&(j=s)}if(d.insertNode(j),m=j.nextSibling,!n&&j.nodeType==domUtils.NODE_ELEMENT&&domUtils.isBlockElm(j)&&(k=domUtils.findParent(j,function(a){return domUtils.isBlockElm(a)}),k&&"body"!=k.tagName.toLowerCase()&&(!dtd[k.tagName][j.nodeName]||j.parentNode!==k))){if(dtd[k.tagName][j.nodeName])for(l=j.parentNode;l!==k;)i=l,l=l.parentNode;else i=k;domUtils.breakParent(j,i||l);var i=j.previousSibling;domUtils.trimWhiteTextNode(i),i.childNodes.length||domUtils.remove(i),!browser.ie&&(p=j.nextSibling)&&domUtils.isBlockElm(p)&&p.lastChild&&!domUtils.isBr(p.lastChild)&&p.appendChild(f.document.createElement("br")),n=1}var p=j.nextSibling;if(!e.firstChild&&p&&domUtils.isBlockElm(p)){d.setStart(p,0).collapse(!0);break}d.setEndAfter(j).collapse()}if(j=d.startContainer,m&&domUtils.isBr(m)&&domUtils.remove(m),domUtils.isBlockElm(j)&&domUtils.isEmptyNode(j))if(m=j.nextSibling)domUtils.remove(j),1==m.nodeType&&dtd.$block[m.tagName]&&d.setStart(m,0).collapse(!0).shrinkBoundary();else try{j.innerHTML=browser.ie?domUtils.fillChar:"
      "}catch(t){d.setStartBefore(j),domUtils.remove(j)}try{d.select(!0)}catch(t){}}setTimeout(function(){d=f.selection.getRange(),d.scrollToView(f.autoHeightEnabled,f.autoHeightEnabled?domUtils.getXY(f.iframe).y:0),f.fireEvent("afterinserthtml",b)},200)}}},UE.plugins.autotypeset=function(){function a(a,b){return a&&3!=a.nodeType?domUtils.isBr(a)?1:a&&a.parentNode&&l[a.tagName.toLowerCase()]?g&&g.contains(a)||a.getAttribute("pagebreak")?0:b?!domUtils.isEmptyBlock(a):domUtils.isEmptyBlock(a,new RegExp("[\\s"+domUtils.fillChar+"]","g")):void 0:0}function b(a){a.style.cssText||(domUtils.removeAttributes(a,["style"]),"span"==a.tagName.toLowerCase()&&domUtils.hasNoAttributes(a)&&domUtils.remove(a,!0))}function c(c,f){var h,l=this;if(f){if(!i.pasteFilter)return;h=l.document.createElement("div"),h.innerHTML=f.html}else h=l.document.body;for(var m,n=domUtils.getElementsByTagName(h,"*"),o=0;m=n[o++];)if(l.fireEvent("excludeNodeinautotype",m)!==!0){if(i.clearFontSize&&m.style.fontSize&&(domUtils.removeStyle(m,"font-size"),b(m)),i.clearFontFamily&&m.style.fontFamily&&(domUtils.removeStyle(m,"font-family"),b(m)),a(m)){if(i.mergeEmptyline)for(var p,q=m.nextSibling,r=domUtils.isBr(m);a(q)&&(p=q,q=p.nextSibling,!r||q&&(!q||domUtils.isBr(q)));)domUtils.remove(p);if(i.removeEmptyline&&domUtils.inDoc(m,h)&&!k[m.parentNode.tagName.toLowerCase()]){if(domUtils.isBr(m)&&(q=m.nextSibling,q&&!domUtils.isBr(q)))continue;domUtils.remove(m);continue}}if(a(m,!0)&&"SPAN"!=m.tagName&&(i.indent&&(m.style.textIndent=i.indentValue),i.textAlign&&(m.style.textAlign=i.textAlign)),i.removeClass&&m.className&&!j[m.className.toLowerCase()]){if(g&&g.contains(m))continue;domUtils.removeAttributes(m,["class"])}if(i.imageBlockLine&&"img"==m.tagName.toLowerCase()&&!m.getAttribute("emotion"))if(f){var s=m;switch(i.imageBlockLine){case"left":case"right":case"none":for(var p,t,q,u=s.parentNode;dtd.$inline[u.tagName]||"A"==u.tagName;)u=u.parentNode;if(p=u,"P"==p.tagName&&"center"==domUtils.getStyle(p,"text-align")&&!domUtils.isBody(p)&&1==domUtils.getChildCount(p,function(a){return!domUtils.isBr(a)&&!domUtils.isWhitespace(a)}))if(t=p.previousSibling,q=p.nextSibling,t&&q&&1==t.nodeType&&1==q.nodeType&&t.tagName==q.tagName&&domUtils.isBlockElm(t)){for(t.appendChild(p.firstChild);q.firstChild;)t.appendChild(q.firstChild);domUtils.remove(p),domUtils.remove(q)}else domUtils.setStyle(p,"text-align","");domUtils.setStyle(s,"float",i.imageBlockLine);break;case"center":if("center"!=l.queryCommandValue("imagefloat")){for(u=s.parentNode,domUtils.setStyle(s,"float","none"),p=s;u&&1==domUtils.getChildCount(u,function(a){return!domUtils.isBr(a)&&!domUtils.isWhitespace(a)})&&(dtd.$inline[u.tagName]||"A"==u.tagName);)p=u,u=u.parentNode;var v=l.document.createElement("p");domUtils.setAttributes(v,{style:"text-align:center"}),p.parentNode.insertBefore(v,p),v.appendChild(p),domUtils.setStyle(p,"float","")}}}else{var w=l.selection.getRange();w.selectNode(m).select(),l.execCommand("imagefloat",i.imageBlockLine)}i.removeEmptyNode&&i.removeTagNames[m.tagName.toLowerCase()]&&domUtils.hasNoAttributes(m)&&domUtils.isEmptyBlock(m)&&domUtils.remove(m)}if(i.tobdc){var x=UE.htmlparser(h.innerHTML);x.traversal(function(a){"text"==a.type&&(a.data=e(a.data))}),h.innerHTML=x.toHtml()}if(i.bdc2sb){var x=UE.htmlparser(h.innerHTML);x.traversal(function(a){"text"==a.type&&(a.data=d(a.data))}),h.innerHTML=x.toHtml()}f&&(f.html=h.innerHTML)}function d(a){for(var b="",c=0;c=65281&&d<=65373?String.fromCharCode(a.charCodeAt(c)-65248):12288==d?String.fromCharCode(a.charCodeAt(c)-12288+32):a.charAt(c)}return b}function e(a){a=utils.html(a);for(var b="",c=0;c0?e.substring(e.indexOf(d.options.imagePath),e.length-1).replace(/"|\(|\)/gi,""):"none"!=e?e.replace(/url\("?|"?\)/gi,""):"";var g=' ",b.push(g)},aftersetcontent:function(){0==c&&b()}},inputRule:function(d){c=!1,utils.each(d.getNodesByTagName("p"),function(d){var e=d.getAttr("data-background");e&&(c=!0,b(a(e)),d.parentNode.removeChild(d))})},outputRule:function(a){var b=this,c=(utils.cssRule(e,b.document)||"").replace(/[\n\r]+/g,"").match(f);c&&a.appendChild(UE.uNode.createElement('


      '))},commands:{background:{execCommand:function(a,c){b(c)},queryCommandValue:function(){var b=this,c=(utils.cssRule(e,b.document)||"").replace(/[\n\r]+/g,"").match(f);return c?a(c[1]):null},notNeedUndo:!0}}}}),UE.commands.imagefloat={execCommand:function(a,b){var c=this,d=c.selection.getRange();if(!d.collapsed){var e=d.getClosedNode();if(e&&"IMG"==e.tagName)switch(b){case"left":case"right":case"none":for(var f,g,h,i=e.parentNode;dtd.$inline[i.tagName]||"A"==i.tagName;)i=i.parentNode;if(f=i,"P"==f.tagName&&"center"==domUtils.getStyle(f,"text-align")){if(!domUtils.isBody(f)&&1==domUtils.getChildCount(f,function(a){return!domUtils.isBr(a)&&!domUtils.isWhitespace(a)}))if(g=f.previousSibling,h=f.nextSibling,g&&h&&1==g.nodeType&&1==h.nodeType&&g.tagName==h.tagName&&domUtils.isBlockElm(g)){for(g.appendChild(f.firstChild);h.firstChild;)g.appendChild(h.firstChild);domUtils.remove(f),domUtils.remove(h)}else domUtils.setStyle(f,"text-align","");d.selectNode(e).select()}domUtils.setStyle(e,"float","none"==b?"":b),"none"==b&&domUtils.removeAttributes(e,"align");break;case"center":if("center"!=c.queryCommandValue("imagefloat")){for(i=e.parentNode,domUtils.setStyle(e,"float",""),domUtils.removeAttributes(e,"align"),f=e;i&&1==domUtils.getChildCount(i,function(a){return!domUtils.isBr(a)&&!domUtils.isWhitespace(a)})&&(dtd.$inline[i.tagName]||"A"==i.tagName);)f=i,i=i.parentNode;d.setStartBefore(f).setCursor(!1),i=c.document.createElement("div"),i.appendChild(f),domUtils.setStyle(f,"float",""),c.execCommand("insertHtml",'

      '+i.innerHTML+"

      "),f=c.document.getElementById("_img_parent_tmp"),f.removeAttribute("id"),f=f.firstChild,d.selectNode(f).select(),h=f.parentNode.nextSibling,h&&domUtils.isEmptyNode(h)&&domUtils.remove(h)}}}},queryCommandValue:function(){var a,b,c=this.selection.getRange();return c.collapsed?"none":(a=c.getClosedNode(),a&&1==a.nodeType&&"IMG"==a.tagName?(b=domUtils.getComputedStyle(a,"float")||a.getAttribute("align"),"none"==b&&(b="center"==domUtils.getComputedStyle(a.parentNode,"text-align")?"center":b),{left:1,right:1,center:1}[b]?b:"none"):"none")},queryCommandState:function(){var a,b=this.selection.getRange();return b.collapsed?-1:(a=b.getClosedNode(),a&&1==a.nodeType&&"IMG"==a.tagName?0:-1)}},UE.commands.insertimage={execCommand:function(a,b){function c(a){utils.each("width,height,border,hspace,vspace".split(","),function(b){a[b]&&(a[b]=parseInt(a[b],10)||0)}),utils.each("src,_src".split(","),function(b){a[b]&&(a[b]=utils.unhtmlForUrl(a[b]))}),utils.each("title,alt".split(","),function(b){a[b]&&(a[b]=utils.unhtml(a[b]))})}if(b=utils.isArray(b)?b:[b],b.length){var d=this,e=d.selection.getRange(),f=e.getClosedNode();if(d.fireEvent("beforeinsertimage",b)!==!0){if(!f||!/img/i.test(f.tagName)||"edui-faked-video"==f.className&&f.className.indexOf("edui-upload-video")==-1||f.getAttribute("word_img")){var g,h=[],i="";if(g=b[0],1==b.length)c(g),i=''+g.alt+'","center"==g.floatStyle&&(i='

      '+i+"

      "),h.push(i);else for(var j=0;g=b[j++];)c(g),i="

      ",h.push(i);d.execCommand("insertHtml",h.join(""))}else{var k=b.shift(),l=k.floatStyle;delete k.floatStyle,domUtils.setAttributes(f,k),d.execCommand("imagefloat",l),b.length>0&&(e.setStartAfter(f).setCursor(!1,!0),d.execCommand("insertimage",b))}d.fireEvent("afterinsertimage",b)}}}},UE.plugins.justify=function(){var a=domUtils.isBlockElm,b={left:1,right:1,center:1,justify:1},c=function(b,c){var d=b.createBookmark(),e=function(a){return 1==a.nodeType?"br"!=a.tagName.toLowerCase()&&!domUtils.isBookmarkNode(a):!domUtils.isWhitespace(a)};b.enlarge(!0);for(var f,g=b.createBookmark(),h=domUtils.getNextDomNode(g.start,!1,e),i=b.cloneRange();h&&!(domUtils.getPosition(h,g.end)&domUtils.POSITION_FOLLOWING);)if(3!=h.nodeType&&a(h))h=domUtils.getNextDomNode(h,!0,e);else{for(i.setStartBefore(h);h&&h!==g.end&&!a(h);)f=h,h=domUtils.getNextDomNode(h,!1,null,function(b){return!a(b)});i.setEndAfter(f);var j=i.getCommonAncestor();if(!domUtils.isBody(j)&&a(j))domUtils.setStyles(j,utils.isString(c)?{"text-align":c}:c),h=j;else{var k=b.document.createElement("p");domUtils.setStyles(k,utils.isString(c)?{"text-align":c}:c);var l=i.extractContents();k.appendChild(l),i.insertNode(k),h=k}h=domUtils.getNextDomNode(h,!1,e)}return b.moveToBookmark(g).moveToBookmark(d)};UE.commands.justify={execCommand:function(a,b){var d,e=this.selection.getRange();return e.collapsed&&(d=this.document.createTextNode("p"),e.insertNode(d)),c(e,b),d&&(e.setStartBefore(d).collapse(!0),domUtils.remove(d)),e.select(),!0},queryCommandValue:function(){var a=this.selection.getStart(),c=domUtils.getComputedStyle(a,"text-align");return b[c]?c:"left"},queryCommandState:function(){var a=this.selection.getStart(),b=a&&domUtils.findParentByTagName(a,["td","th","caption"],!0);return b?-1:0}}},UE.plugins.font=function(){function a(a){for(var b;(b=a.parentNode)&&"SPAN"==b.tagName&&1==domUtils.getChildCount(b,function(a){return!domUtils.isBookmarkNode(a)&&!domUtils.isBr(a)});)b.style.cssText+=a.style.cssText,domUtils.remove(a,!0),a=b}function b(a,b,c){if(g[b]&&(a.adjustmentBoundary(),!a.collapsed&&1==a.startContainer.nodeType)){var d=a.startContainer.childNodes[a.startOffset];if(d&&domUtils.isTagNode(d,"span")){var e=a.createBookmark();utils.each(domUtils.getElementsByTagName(d,"span"),function(a){a.parentNode&&!domUtils.isBookmarkNode(a)&&("backcolor"==b&&domUtils.getComputedStyle(a,"background-color").toLowerCase()===c||(domUtils.removeStyle(a,g[b]),0==a.style.cssText.replace(/^\s+$/,"").length&&domUtils.remove(a,!0)))}),a.moveToBookmark(e)}}}function c(c,d,e){var f,g=c.collapsed,h=c.createBookmark();if(g)for(f=h.start.parentNode;dtd.$inline[f.tagName];)f=f.parentNode;else f=domUtils.getCommonAncestor(h.start,h.end);utils.each(domUtils.getElementsByTagName(f,"span"),function(b){if(b.parentNode&&!domUtils.isBookmarkNode(b)){if(/\s*border\s*:\s*none;?\s*/i.test(b.style.cssText))return void(/^\s*border\s*:\s*none;?\s*$/.test(b.style.cssText)?domUtils.remove(b,!0):domUtils.removeStyle(b,"border"));if(/border/i.test(b.style.cssText)&&"SPAN"==b.parentNode.tagName&&/border/i.test(b.parentNode.style.cssText)&&(b.style.cssText=b.style.cssText.replace(/border[^:]*:[^;]+;?/gi,"")),"fontborder"!=d||"none"!=e)for(var c=b.nextSibling;c&&1==c.nodeType&&"SPAN"==c.tagName;)if(domUtils.isBookmarkNode(c)&&"fontborder"==d)b.appendChild(c),c=b.nextSibling;else{if(c.style.cssText==b.style.cssText&&(domUtils.moveChild(c,b),domUtils.remove(c)),b.nextSibling===c)break;c=b.nextSibling}if(a(b),browser.ie&&browser.version>8){var f=domUtils.findParent(b,function(a){return"SPAN"==a.tagName&&/background-color/.test(a.style.cssText)});f&&!/background-color/.test(b.style.cssText)&&(b.style.backgroundColor=f.style.backgroundColor)}}}),c.moveToBookmark(h),b(c,d,e)}var d=this,e={forecolor:"color",backcolor:"background-color",fontsize:"font-size",fontfamily:"font-family",underline:"text-decoration",strikethrough:"text-decoration",fontborder:"border"},f={underline:1,strikethrough:1,fontborder:1},g={forecolor:"color",backcolor:"background-color",fontsize:"font-size",fontfamily:"font-family"};d.setOpt({fontfamily:[{name:"songti",val:"宋体,SimSun"},{name:"yahei",val:"微软雅黑,Microsoft YaHei"},{name:"kaiti",val:"楷体,楷体_GB2312, SimKai"},{name:"heiti",val:"黑体, SimHei"},{name:"lishu",val:"隶书, SimLi"},{name:"andaleMono",val:"andale mono"},{name:"arial",val:"arial, helvetica,sans-serif"},{name:"arialBlack",val:"arial black,avant garde"},{name:"comicSansMs",val:"comic sans ms"},{name:"impact",val:"impact,chicago"},{name:"timesNewRoman",val:"times new roman"}],fontsize:[10,11,12,14,16,18,20,24,36]}),d.addInputRule(function(a){utils.each(a.getNodesByTagName("u s del font strike"),function(a){if("font"==a.tagName){var b=[];for(var c in a.attrs)switch(c){case"size":b.push("font-size:"+({1:"10",2:"12",3:"16",4:"18",5:"24",6:"32",7:"48"}[a.attrs[c]]||a.attrs[c])+"px");break;case"color":b.push("color:"+a.attrs[c]);break;case"face":b.push("font-family:"+a.attrs[c]);break;case"style":b.push(a.attrs[c])}a.attrs={style:b.join(";")}}else{var d="u"==a.tagName?"underline":"line-through";a.attrs={style:(a.getAttr("style")||"")+"text-decoration:"+d+";"}}a.tagName="span"})});for(var h in e)!function(a,b){UE.commands[a]={execCommand:function(d,e){e=e||(this.queryCommandState(d)?"none":"underline"==d?"underline":"fontborder"==d?"1px solid #000":"line-through");var g,h=this,i=this.selection.getRange();if("default"==e)i.collapsed&&(g=h.document.createTextNode("font"),i.insertNode(g).select()),h.execCommand("removeFormat","span,a",b),g&&(i.setStartBefore(g).collapse(!0),domUtils.remove(g)),c(i,d,e),i.select();else if(i.collapsed){var j=domUtils.findParentByTagName(i.startContainer,"span",!0);if(g=h.document.createTextNode("font"),!j||j.children.length||j[browser.ie?"innerText":"textContent"].replace(fillCharReg,"").length){if(i.insertNode(g),i.selectNode(g).select(),j=i.document.createElement("span"),f[a]){if(domUtils.findParentByTagName(g,"a",!0))return i.setStartBefore(g).setCursor(),void domUtils.remove(g);h.execCommand("removeFormat","span,a",b)}if(j.style.cssText=b+":"+e,g.parentNode.insertBefore(j,g),!browser.ie||browser.ie&&9==browser.version)for(var k=j.parentNode;!domUtils.isBlockElm(k);)"SPAN"==k.tagName&&(j.style.cssText=k.style.cssText+";"+j.style.cssText),k=k.parentNode;opera?setTimeout(function(){i.setStart(j,0).collapse(!0),c(i,d,e),i.select()}):(i.setStart(j,0).collapse(!0),c(i,d,e),i.select())}else i.insertNode(g),f[a]&&(i.selectNode(g).select(),h.execCommand("removeFormat","span,a",b,null),j=domUtils.findParentByTagName(g,"span",!0),i.setStartBefore(g)),j&&(j.style.cssText+=";"+b+":"+e),i.collapse(!0).select();domUtils.remove(g)}else f[a]&&h.queryCommandValue(a)&&h.execCommand("removeFormat","span,a",b),i=h.selection.getRange(),i.applyInlineStyle("span",{style:b+":"+e}),c(i,d,e),i.select();return!0},queryCommandValue:function(a){var c=this.selection.getStart();if("underline"==a||"strikethrough"==a){for(var d,e=c;e&&!domUtils.isBlockElm(e)&&!domUtils.isBody(e);){if(1==e.nodeType&&(d=domUtils.getComputedStyle(e,b),"none"!=d))return d;e=e.parentNode}return"none"}if("fontborder"==a){for(var f,g=c;g&&dtd.$inline[g.tagName];){if((f=domUtils.getComputedStyle(g,"border"))&&/1px/.test(f)&&/solid/.test(f))return f;g=g.parentNode}return""}if("FontSize"==a){var h=domUtils.getComputedStyle(c,b),g=/^([\d\.]+)(\w+)$/.exec(h);return g?Math.floor(g[1])+g[2]:h}return domUtils.getComputedStyle(c,b)},queryCommandState:function(a){if(!f[a])return 0;var b=this.queryCommandValue(a);return"fontborder"==a?/1px/.test(b)&&/solid/.test(b):"underline"==a?/underline/.test(b):/line\-through/.test(b)}}}(h,e[h])},UE.plugins.link=function(){function a(a){var b=a.startContainer,c=a.endContainer;(b=domUtils.findParentByTagName(b,"a",!0))&&a.setStartBefore(b),(c=domUtils.findParentByTagName(c,"a",!0))&&a.setEndAfter(c)}function b(b,c,d){var e=b.cloneRange(),f=d.queryCommandValue("link");a(b=b.adjustmentBoundary());var g=b.startContainer;if(1==g.nodeType&&f&&(g=g.childNodes[b.startOffset],g&&1==g.nodeType&&"A"==g.tagName&&/^(?:https?|ftp|file)\s*:\s*\/\//.test(g[browser.ie?"innerText":"textContent"])&&(g[browser.ie?"innerText":"textContent"]=utils.html(c.textValue||c.href))),e.collapsed&&!f||(b.removeInlineStyle("a"),e=b.cloneRange()),e.collapsed){var h=b.document.createElement("a"),i="";c.textValue?(i=utils.html(c.textValue),delete c.textValue):i=utils.html(c.href),domUtils.setAttributes(h,c),g=domUtils.findParentByTagName(e.startContainer,"a",!0),g&&domUtils.isInNodeEndBoundary(e,g)&&b.setStartAfter(g).collapse(!0),h[browser.ie?"innerText":"textContent"]=i,b.insertNode(h).selectNode(h)}else b.applyInlineStyle("a",c)}UE.commands.unlink={execCommand:function(){var b,c=this.selection.getRange();c.collapsed&&!domUtils.findParentByTagName(c.startContainer,"a",!0)||(b=c.createBookmark(),a(c),c.removeInlineStyle("a").moveToBookmark(b).select())},queryCommandState:function(){return!this.highlight&&this.queryCommandValue("link")?0:-1}},UE.commands.link={execCommand:function(a,c){var d;c._href&&(c._href=utils.unhtml(c._href,/[<">]/g)),c.href&&(c.href=utils.unhtml(c.href,/[<">]/g)),c.textValue&&(c.textValue=utils.unhtml(c.textValue,/[<">]/g)),b(d=this.selection.getRange(),c,this),d.collapse().select(!0)},queryCommandValue:function(){var a,b=this.selection.getRange();if(!b.collapsed){b.shrinkBoundary();var c=3!=b.startContainer.nodeType&&b.startContainer.childNodes[b.startOffset]?b.startContainer.childNodes[b.startOffset]:b.startContainer,d=3==b.endContainer.nodeType||0==b.endOffset?b.endContainer:b.endContainer.childNodes[b.endOffset-1],e=b.getCommonAncestor();if(a=domUtils.findParentByTagName(e,"a",!0),!a&&1==e.nodeType)for(var f,g,h,i=e.getElementsByTagName("a"),j=0;h=i[j++];)if(f=domUtils.getPosition(h,c),g=domUtils.getPosition(h,d),(f&domUtils.POSITION_FOLLOWING||f&domUtils.POSITION_CONTAINS)&&(g&domUtils.POSITION_PRECEDING||g&domUtils.POSITION_CONTAINS)){a=h;break}return a}if(a=b.startContainer,a=1==a.nodeType?a:a.parentNode,a&&(a=domUtils.findParentByTagName(a,"a",!0))&&!domUtils.isInNodeEndBoundary(b,a))return a},queryCommandState:function(){var a=this.selection.getRange().getClosedNode(),b=a&&("edui-faked-video"==a.className||a.className.indexOf("edui-upload-video")!=-1);return b?-1:0}}},UE.plugins.insertframe=function(){function a(){b._iframe&&delete b._iframe}var b=this;b.addListener("selectionchange",function(){a()})},UE.commands.scrawl={queryCommandState:function(){return browser.ie&&browser.version<=8?-1:0}},UE.plugins.removeformat=function(){var a=this;a.setOpt({removeFormatTags:"b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var",removeFormatAttributes:"class,style,lang,width,height,align,hspace,valign"}),a.commands.removeformat={execCommand:function(a,b,c,d,e){function f(a){if(3==a.nodeType||"span"!=a.tagName.toLowerCase())return 0;if(browser.ie){var b=a.attributes;if(b.length){for(var c=0,d=b.length;c
      "+this.getContent(null,null,!0)+"
      "),b.close()},notNeedUndo:1},UE.plugins.selectall=function(){var a=this;a.commands.selectall={execCommand:function(){var a=this,b=a.body,c=a.selection.getRange();c.selectNodeContents(b),domUtils.isEmptyBlock(b)&&(browser.opera&&b.firstChild&&1==b.firstChild.nodeType&&c.setStartAtFirst(b.firstChild),c.collapse(!0)),c.select(!0)},notNeedUndo:1},a.addshortcutkey({selectAll:"ctrl+65"})},UE.plugins.paragraph=function(){var a=this,b=domUtils.isBlockElm,c=["TD","LI","PRE"],d=function(a,d,e,f){var g,h=a.createBookmark(),i=function(a){return 1==a.nodeType?"br"!=a.tagName.toLowerCase()&&!domUtils.isBookmarkNode(a):!domUtils.isWhitespace(a)};a.enlarge(!0);for(var j,k=a.createBookmark(),l=domUtils.getNextDomNode(k.start,!1,i),m=a.cloneRange();l&&!(domUtils.getPosition(l,k.end)&domUtils.POSITION_FOLLOWING);)if(3!=l.nodeType&&b(l))l=domUtils.getNextDomNode(l,!0,i);else{for(m.setStartBefore(l);l&&l!==k.end&&!b(l);)j=l,l=domUtils.getNextDomNode(l,!1,null,function(a){return!b(a)});m.setEndAfter(j),g=a.document.createElement(d),e&&(domUtils.setAttributes(g,e),f&&"customstyle"==f&&e.style&&(g.style.cssText=e.style)),g.appendChild(m.extractContents()),domUtils.isEmptyNode(g)&&domUtils.fillChar(a.document,g),m.insertNode(g);var n=g.parentNode;b(n)&&!domUtils.isBody(g.parentNode)&&utils.indexOf(c,n.tagName)==-1&&(f&&"customstyle"==f||(n.getAttribute("dir")&&g.setAttribute("dir",n.getAttribute("dir")),n.style.cssText&&(g.style.cssText=n.style.cssText+";"+g.style.cssText),n.style.textAlign&&!g.style.textAlign&&(g.style.textAlign=n.style.textAlign),n.style.textIndent&&!g.style.textIndent&&(g.style.textIndent=n.style.textIndent),n.style.padding&&!g.style.padding&&(g.style.padding=n.style.padding)),e&&/h\d/i.test(n.tagName)&&!/h\d/i.test(g.tagName)?(domUtils.setAttributes(n,e),f&&"customstyle"==f&&e.style&&(n.style.cssText=e.style),domUtils.remove(g,!0),g=n):domUtils.remove(g.parentNode,!0)),l=utils.indexOf(c,n.tagName)!=-1?n:g,l=domUtils.getNextDomNode(l,!1,i)}return a.moveToBookmark(k).moveToBookmark(h)};a.setOpt("paragraph",{p:"",h1:"",h2:"",h3:"",h4:"",h5:"",h6:""}),a.commands.paragraph={execCommand:function(a,b,c,e){var f=this.selection.getRange();if(f.collapsed){var g=this.document.createTextNode("p");if(f.insertNode(g),browser.ie){var h=g.previousSibling;h&&domUtils.isWhitespace(h)&&domUtils.remove(h),h=g.nextSibling,h&&domUtils.isWhitespace(h)&&domUtils.remove(h)}}if(f=d(f,b,c,e),g&&(f.setStartBefore(g).collapse(!0),pN=g.parentNode,domUtils.remove(g),domUtils.isBlockElm(pN)&&domUtils.isEmptyNode(pN)&&domUtils.fillNode(this.document,pN)),browser.gecko&&f.collapsed&&1==f.startContainer.nodeType){var i=f.startContainer.childNodes[f.startOffset];i&&1==i.nodeType&&i.tagName.toLowerCase()==b&&f.setStart(i,0).collapse(!0)}return f.select(),!0},queryCommandValue:function(){var a=domUtils.filterNodeList(this.selection.getStartElementPath(),"p h1 h2 h3 h4 h5 h6");return a?a.tagName.toLowerCase():""}}},function(){var a=domUtils.isBlockElm,b=function(a){return domUtils.filterNodeList(a.selection.getStartElementPath(),function(a){return a&&1==a.nodeType&&a.getAttribute("dir")})},c=function(c,d,e){var f,g=function(a){return 1==a.nodeType?!domUtils.isBookmarkNode(a):!domUtils.isWhitespace(a)},h=b(d);if(h&&c.collapsed)return h.setAttribute("dir",e),c;f=c.createBookmark(),c.enlarge(!0);for(var i,j=c.createBookmark(),k=domUtils.getNextDomNode(j.start,!1,g),l=c.cloneRange();k&&!(domUtils.getPosition(k,j.end)&domUtils.POSITION_FOLLOWING);)if(3!=k.nodeType&&a(k))k=domUtils.getNextDomNode(k,!0,g);else{for(l.setStartBefore(k);k&&k!==j.end&&!a(k);)i=k,k=domUtils.getNextDomNode(k,!1,null,function(b){return!a(b)});l.setEndAfter(i);var m=l.getCommonAncestor();if(!domUtils.isBody(m)&&a(m))m.setAttribute("dir",e),k=m;else{var n=c.document.createElement("p");n.setAttribute("dir",e);var o=l.extractContents();n.appendChild(o),l.insertNode(n),k=n}k=domUtils.getNextDomNode(k,!1,g)}return c.moveToBookmark(j).moveToBookmark(f)};UE.commands.directionality={execCommand:function(a,b){var d=this.selection.getRange();if(d.collapsed){var e=this.document.createTextNode("d");d.insertNode(e)}return c(d,this,b),e&&(d.setStartBefore(e).collapse(!0),domUtils.remove(e)),d.select(),!0},queryCommandValue:function(){var a=b(this);return a?a.getAttribute("dir"):"ltr"}}}(),UE.plugins.horizontal=function(){var a=this;a.commands.horizontal={execCommand:function(a){var b=this;if(b.queryCommandState(a)!==-1){b.execCommand("insertHtml","
      ");var c=b.selection.getRange(),d=c.startContainer;if(1==d.nodeType&&!d.childNodes[c.startOffset]){var e;(e=d.childNodes[c.startOffset-1])&&1==e.nodeType&&"HR"==e.tagName&&("p"==b.options.enterTag?(e=b.document.createElement("p"),c.insertNode(e),c.setStart(e,0).setCursor()):(e=b.document.createElement("br"),c.insertNode(e),c.setStartBefore(e).setCursor()))}return!0}},queryCommandState:function(){return domUtils.filterNodeList(this.selection.getStartElementPath(),"table")?-1:0}},a.addListener("delkeydown",function(a,b){var c=this.selection.getRange();if(c.txtToElmBoundary(!0),domUtils.isStartInblock(c)){var d=c.startContainer,e=d.previousSibling;if(e&&domUtils.isTagNode(e,"hr"))return domUtils.remove(e),c.select(),domUtils.preventDefault(b),!0}})},UE.commands.time=UE.commands.date={execCommand:function(a,b){function c(a,b){var c=("0"+a.getHours()).slice(-2),d=("0"+a.getMinutes()).slice(-2),e=("0"+a.getSeconds()).slice(-2);return b=b||"hh:ii:ss",b.replace(/hh/gi,c).replace(/ii/gi,d).replace(/ss/gi,e)}function d(a,b){var c=("000"+a.getFullYear()).slice(-4),d=c.slice(-2),e=("0"+(a.getMonth()+1)).slice(-2),f=("0"+a.getDate()).slice(-2);return b=b||"yyyy-mm-dd",b.replace(/yyyy/gi,c).replace(/yy/gi,d).replace(/mm/gi,e).replace(/dd/gi,f)}var e=new Date;this.execCommand("insertHtml","time"==a?c(e,b):d(e,b))}},UE.plugins.rowspacing=function(){var a=this;a.setOpt({rowspacingtop:["5","10","15","20","25"],rowspacingbottom:["5","10","15","20","25"]}),a.commands.rowspacing={execCommand:function(a,b,c){return this.execCommand("paragraph","p",{style:"margin-"+c+":"+b+"px"}),!0},queryCommandValue:function(a,b){var c,d=domUtils.filterNodeList(this.selection.getStartElementPath(),function(a){return domUtils.isBlockElm(a)});return d?(c=domUtils.getComputedStyle(d,"margin-"+b).replace(/[^\d]/g,""),c?c:0):0}}},UE.plugins.lineheight=function(){var a=this;a.setOpt({lineheight:["1","1.5","1.75","2","3","4","5"]}),a.commands.lineheight={execCommand:function(a,b){return this.execCommand("paragraph","p",{style:"line-height:"+("1"==b?"normal":b+"em")}),!0},queryCommandValue:function(){var a=domUtils.filterNodeList(this.selection.getStartElementPath(),function(a){return domUtils.isBlockElm(a)});if(a){var b=domUtils.getComputedStyle(a,"line-height");return"normal"==b?1:b.replace(/[^\d.]*/gi,"")}}}},UE.plugins.insertcode=function(){var a=this;a.ready(function(){utils.cssRule("pre","pre{margin:.5em 0;padding:.4em .6em;border-radius:8px;background:#f8f8f8;}",a.document)}),a.setOpt("insertcode",{as3:"ActionScript3",bash:"Bash/Shell",cpp:"C/C++",css:"Css",cf:"CodeFunction","c#":"C#",delphi:"Delphi",diff:"Diff",erlang:"Erlang",groovy:"Groovy",html:"Html",java:"Java",jfx:"JavaFx",js:"Javascript",pl:"Perl",php:"Php",plain:"Plain Text",ps:"PowerShell",python:"Python",ruby:"Ruby",scala:"Scala",sql:"Sql",vb:"Vb",xml:"Xml"}),a.commands.insertcode={execCommand:function(a,b){var c=this,d=c.selection.getRange(),e=domUtils.findParentByTagName(d.startContainer,"pre",!0);if(e)e.className="brush:"+b+";toolbar:false;";else{var f="";if(d.collapsed)f=browser.ie&&browser.ie11below?browser.version<=8?" ":"":"
      ";else{var g=d.extractContents(),h=c.document.createElement("div");h.appendChild(g),utils.each(UE.filterNode(UE.htmlparser(h.innerHTML.replace(/[\r\t]/g,"")),c.options.filterTxtRules).children,function(a){if(browser.ie&&browser.ie11below&&browser.version>8)"element"==a.type?"br"==a.tagName?f+="\n":dtd.$empty[a.tagName]||(utils.each(a.children,function(b){"element"==b.type?"br"==b.tagName?f+="\n":dtd.$empty[a.tagName]||(f+=b.innerText()):f+=b.data}),/\n$/.test(f)||(f+="\n")):f+=a.data+"\n",!a.nextSibling()&&/\n$/.test(f)&&(f=f.replace(/\n$/,""));else if(browser.ie&&browser.ie11below)"element"==a.type?"br"==a.tagName?f+="
      ":dtd.$empty[a.tagName]||(utils.each(a.children,function(b){"element"==b.type?"br"==b.tagName?f+="
      ":dtd.$empty[a.tagName]||(f+=b.innerText()):f+=b.data}),/br>$/.test(f)||(f+="
      ")):f+=a.data+"
      ",!a.nextSibling()&&/
      $/.test(f)&&(f=f.replace(/
      $/,""));else if(f+="element"==a.type?dtd.$empty[a.tagName]?"":a.innerText():a.data,!/br\/?\s*>$/.test(f)){if(!a.nextSibling())return;f+="
      "}})}c.execCommand("inserthtml",'
      '+f+"
      ",!0),e=c.document.getElementById("coder"),domUtils.removeAttributes(e,"id");var i=e.previousSibling;i&&(3==i.nodeType&&1==i.nodeValue.length&&browser.ie&&6==browser.version||domUtils.isEmptyBlock(i))&&domUtils.remove(i);var d=c.selection.getRange();domUtils.isEmptyBlock(e)?d.setStart(e,0).setCursor(!1,!0):d.selectNodeContents(e).select()}},queryCommandValue:function(){var a=this.selection.getStartElementPath(),b="";return utils.each(a,function(a){if("PRE"==a.nodeName){var c=a.className.match(/brush:([^;]+)/);return b=c&&c[1]?c[1]:"",!1}}),b}},a.addInputRule(function(a){utils.each(a.getNodesByTagName("pre"),function(a){var b=a.getNodesByTagName("br");if(b.length)return void(browser.ie&&browser.ie11below&&browser.version>8&&utils.each(b,function(a){var b=UE.uNode.createText("\n");a.parentNode.insertBefore(b,a),a.parentNode.removeChild(a)}));if(!(browser.ie&&browser.ie11below&&browser.version>8)){var c=a.innerText().split(/\n/);a.innerHTML(""),utils.each(c,function(b){b.length&&a.appendChild(UE.uNode.createText(b)),a.appendChild(UE.uNode.createElement("br"))})}})}),a.addOutputRule(function(a){utils.each(a.getNodesByTagName("pre"),function(a){var b="";utils.each(a.children,function(a){b+="text"==a.type?a.data.replace(/[ ]/g," ").replace(/\n$/,""):"br"==a.tagName?"\n":dtd.$empty[a.tagName]?a.innerText():""}),a.innerText(b.replace(/( |\n)+$/,""))})}),a.notNeedCodeQuery={help:1,undo:1,redo:1,source:1,print:1,searchreplace:1,fullscreen:1,preview:1,insertparagraph:1,elementpath:1,insertcode:1,inserthtml:1,selectall:1};a.queryCommandState;a.queryCommandState=function(a){var b=this;return!b.notNeedCodeQuery[a.toLowerCase()]&&b.selection&&b.queryCommandValue("insertcode")?-1:UE.Editor.prototype.queryCommandState.apply(this,arguments)},a.addListener("beforeenterkeydown",function(){var b=a.selection.getRange(),c=domUtils.findParentByTagName(b.startContainer,"pre",!0);if(c){if(a.fireEvent("saveScene"),b.collapsed||b.deleteContents(),!browser.ie||browser.ie9above){var c,d=a.document.createElement("br");b.insertNode(d).setStartAfter(d).collapse(!0);var e=d.nextSibling;e||browser.ie&&!(browser.version>10)?b.setStartAfter(d):b.insertNode(d.cloneNode(!1)), +c=d.previousSibling;for(var f;c;)if(f=c,c=c.previousSibling,!c||"BR"==c.nodeName){c=f;break}if(c){for(var g="";c&&"BR"!=c.nodeName&&new RegExp("^[\\s"+domUtils.fillChar+"]*$").test(c.nodeValue);)g+=c.nodeValue,c=c.nextSibling;if("BR"!=c.nodeName){var h=c.nodeValue.match(new RegExp("^([\\s"+domUtils.fillChar+"]+)"));h&&h[1]&&(g+=h[1])}g&&(g=a.document.createTextNode(g),b.insertNode(g).setStartAfter(g))}b.collapse(!0).select(!0)}else if(browser.version>8){var i=a.document.createTextNode("\n"),j=b.startContainer;if(0==b.startOffset){var k=j.previousSibling;if(k){b.insertNode(i);var l=a.document.createTextNode(" ");b.setStartAfter(i).insertNode(l).setStart(l,0).collapse(!0).select(!0)}}else{b.insertNode(i).setStartAfter(i);var l=a.document.createTextNode(" ");j=b.startContainer.childNodes[b.startOffset],j&&!/^\n/.test(j.nodeValue)&&b.setStartBefore(i),b.insertNode(l).setStart(l,0).collapse(!0).select(!0)}}else{var d=a.document.createElement("br");b.insertNode(d),b.insertNode(a.document.createTextNode(domUtils.fillChar)),b.setStartAfter(d),c=d.previousSibling;for(var f;c;)if(f=c,c=c.previousSibling,!c||"BR"==c.nodeName){c=f;break}if(c){for(var g="";c&&"BR"!=c.nodeName&&new RegExp("^[ "+domUtils.fillChar+"]*$").test(c.nodeValue);)g+=c.nodeValue,c=c.nextSibling;if("BR"!=c.nodeName){var h=c.nodeValue.match(new RegExp("^([ "+domUtils.fillChar+"]+)"));h&&h[1]&&(g+=h[1])}g=a.document.createTextNode(g),b.insertNode(g).setStartAfter(g)}b.collapse(!0).select()}return a.fireEvent("saveScene"),!0}}),a.addListener("tabkeydown",function(b,c){var d=a.selection.getRange(),e=domUtils.findParentByTagName(d.startContainer,"pre",!0);if(e){if(a.fireEvent("saveScene"),c.shiftKey);else if(d.collapsed){var f=a.document.createTextNode(" ");d.insertNode(f).setStartAfter(f).collapse(!0).select(!0)}else{for(var g=d.createBookmark(),h=g.start.previousSibling;h;){if(e.firstChild===h&&!domUtils.isBr(h)){e.insertBefore(a.document.createTextNode(" "),h);break}if(domUtils.isBr(h)){e.insertBefore(a.document.createTextNode(" "),h.nextSibling);break}h=h.previousSibling}var i=g.end;for(h=g.start.nextSibling,e.firstChild===g.start&&e.insertBefore(a.document.createTextNode(" "),h.nextSibling);h&&h!==i;){if(domUtils.isBr(h)&&h.nextSibling){if(h.nextSibling===i)break;e.insertBefore(a.document.createTextNode(" "),h.nextSibling)}h=h.nextSibling}d.moveToBookmark(g).select()}return a.fireEvent("saveScene"),!0}}),a.addListener("beforeinserthtml",function(a,b){var c=this,d=c.selection.getRange(),e=domUtils.findParentByTagName(d.startContainer,"pre",!0);if(e){d.collapsed||d.deleteContents();var f="";if(browser.ie&&browser.version>8){utils.each(UE.filterNode(UE.htmlparser(b),c.options.filterTxtRules).children,function(a){"element"==a.type?"br"==a.tagName?f+="\n":dtd.$empty[a.tagName]||(utils.each(a.children,function(b){"element"==b.type?"br"==b.tagName?f+="\n":dtd.$empty[a.tagName]||(f+=b.innerText()):f+=b.data}),/\n$/.test(f)||(f+="\n")):f+=a.data+"\n",!a.nextSibling()&&/\n$/.test(f)&&(f=f.replace(/\n$/,""))});var g=c.document.createTextNode(utils.html(f.replace(/ /g," ")));d.insertNode(g).selectNode(g).select()}else{var h=c.document.createDocumentFragment();utils.each(UE.filterNode(UE.htmlparser(b),c.options.filterTxtRules).children,function(a){"element"==a.type?"br"==a.tagName?h.appendChild(c.document.createElement("br")):dtd.$empty[a.tagName]||(utils.each(a.children,function(b){"element"==b.type?"br"==b.tagName?h.appendChild(c.document.createElement("br")):dtd.$empty[a.tagName]||h.appendChild(c.document.createTextNode(utils.html(b.innerText().replace(/ /g," ")))):h.appendChild(c.document.createTextNode(utils.html(b.data.replace(/ /g," "))))}),"BR"!=h.lastChild.nodeName&&h.appendChild(c.document.createElement("br"))):h.appendChild(c.document.createTextNode(utils.html(a.data.replace(/ /g," ")))),a.nextSibling()||"BR"!=h.lastChild.nodeName||h.removeChild(h.lastChild)}),d.insertNode(h).select()}return!0}}),a.addListener("keydown",function(a,b){var c=this,d=b.keyCode||b.which;if(40==d){var e,f=c.selection.getRange(),g=f.startContainer;if(f.collapsed&&(e=domUtils.findParentByTagName(f.startContainer,"pre",!0))&&!e.nextSibling){for(var h=e.lastChild;h&&"BR"==h.nodeName;)h=h.previousSibling;(h===g||f.startContainer===e&&f.startOffset==e.childNodes.length)&&(c.execCommand("insertparagraph"),domUtils.preventDefault(b))}}}),a.addListener("delkeydown",function(b,c){var d=this.selection.getRange();d.txtToElmBoundary(!0);var e=d.startContainer;if(domUtils.isTagNode(e,"pre")&&d.collapsed&&domUtils.isStartInblock(d)){var f=a.document.createElement("p");return domUtils.fillNode(a.document,f),e.parentNode.insertBefore(f,e),domUtils.remove(e),d.setStart(f,0).setCursor(!1,!0),domUtils.preventDefault(c),!0}})},UE.commands.cleardoc={execCommand:function(a){var b=this,c=b.options.enterTag,d=b.selection.getRange();"br"==c?(b.body.innerHTML="
      ",d.setStart(b.body,0).setCursor()):(b.body.innerHTML="

      "+(ie?"":"
      ")+"

      ",d.setStart(b.body.firstChild,0).setCursor(!1,!0)),setTimeout(function(){b.fireEvent("clearDoc")},0)}},UE.plugin.register("anchor",function(){return{bindEvents:{ready:function(){utils.cssRule("anchor",".anchorclass{background: url('"+this.options.themePath+this.options.theme+"/images/anchor.gif') no-repeat scroll left center transparent;cursor: auto;display: inline-block;height: 16px;width: 15px;}",this.document)}},outputRule:function(a){utils.each(a.getNodesByTagName("img"),function(a){var b;(b=a.getAttr("anchorname"))&&(a.tagName="a",a.setAttr({anchorname:"",name:b,"class":""}))})},inputRule:function(a){utils.each(a.getNodesByTagName("a"),function(a){var b;(b=a.getAttr("name"))&&!a.getAttr("href")&&(a.tagName="img",a.setAttr({anchorname:a.getAttr("name"),"class":"anchorclass"}),a.setAttr("name"))})},commands:{anchor:{execCommand:function(a,b){var c=this.selection.getRange(),d=c.getClosedNode();if(d&&d.getAttribute("anchorname"))b?d.setAttribute("anchorname",b):(c.setStartBefore(d).setCursor(),domUtils.remove(d));else if(b){var e=this.document.createElement("img");c.collapse(!0),domUtils.setAttributes(e,{anchorname:b,"class":"anchorclass"}),c.insertNode(e).setStartAfter(e).setCursor(!1,!0)}}}}}}),UE.plugins.wordcount=function(){var a=this;a.setOpt("wordCount",!0),a.addListener("contentchange",function(){a.fireEvent("wordcount")});var b;a.addListener("ready",function(){var a=this;domUtils.on(a.body,"keyup",function(c){var d=c.keyCode||c.which,e={16:1,18:1,20:1,37:1,38:1,39:1,40:1};d in e||(clearTimeout(b),b=setTimeout(function(){a.fireEvent("wordcount")},200))})})},UE.plugins.pagebreak=function(){function a(a){if(domUtils.isEmptyBlock(a)){for(var b,d=a.firstChild;d&&1==d.nodeType&&domUtils.isEmptyBlock(d);)b=d,d=d.firstChild;!b&&(b=a),domUtils.fillNode(c.document,b)}}function b(a){return a&&1==a.nodeType&&"HR"==a.tagName&&"pagebreak"==a.className}var c=this,d=["td"];c.setOpt("pageBreakTag","_ueditor_page_break_tag_"),c.ready(function(){utils.cssRule("pagebreak",".pagebreak{display:block;clear:both !important;cursor:default !important;width: 100% !important;margin:0;}",c.document)}),c.addInputRule(function(a){a.traversal(function(a){if("text"==a.type&&a.data==c.options.pageBreakTag){var b=UE.uNode.createElement('
      ');a.parentNode.insertBefore(b,a),a.parentNode.removeChild(a)}})}),c.addOutputRule(function(a){utils.each(a.getNodesByTagName("hr"),function(a){if("pagebreak"==a.getAttr("class")){var b=UE.uNode.createText(c.options.pageBreakTag);a.parentNode.insertBefore(b,a),a.parentNode.removeChild(a)}})}),c.commands.pagebreak={execCommand:function(){var e=c.selection.getRange(),f=c.document.createElement("hr");domUtils.setAttributes(f,{"class":"pagebreak",noshade:"noshade",size:"5"}),domUtils.unSelectable(f);var g,h=domUtils.findParentByTagName(e.startContainer,d,!0),i=[];if(h)switch(h.tagName){case"TD":if(g=h.parentNode,g.previousSibling)g.parentNode.insertBefore(f,g),i=domUtils.findParents(f);else{var j=domUtils.findParentByTagName(g,"table");j.parentNode.insertBefore(f,j),i=domUtils.findParents(f,!0)}g=i[1],f!==g&&domUtils.breakParent(f,g),c.fireEvent("afteradjusttable",c.document)}else{if(!e.collapsed){e.deleteContents();for(var k=e.startContainer;!domUtils.isBody(k)&&domUtils.isBlockElm(k)&&domUtils.isEmptyNode(k);)e.setStartBefore(k).collapse(!0),domUtils.remove(k),k=e.startContainer}e.insertNode(f);for(var l,g=f.parentNode;!domUtils.isBody(g);)domUtils.breakParent(f,g),l=f.nextSibling,l&&domUtils.isEmptyBlock(l)&&domUtils.remove(l),g=f.parentNode;l=f.nextSibling;var m=f.previousSibling;if(b(m)?domUtils.remove(m):m&&a(m),l)b(l)?domUtils.remove(l):a(l),e.setEndAfter(f).collapse(!1);else{var n=c.document.createElement("p");f.parentNode.appendChild(n),domUtils.fillNode(c.document,n),e.setStart(n,0).collapse(!0)}e.select(!0)}}}},UE.plugin.register("wordimage",function(){var a=this,b=[];return{commands:{wordimage:{execCommand:function(){for(var b,c=domUtils.getElementsByTagName(a.body,"img"),d=[],e=0;b=c[e++];){var f=b.getAttribute("word_img");f&&d.push(f)}return d},queryCommandState:function(){b=domUtils.getElementsByTagName(a.body,"img");for(var c,d=0;c=b[d++];)if(c.getAttribute("word_img"))return 1;return-1},notNeedUndo:!0}},inputRule:function(b){utils.each(b.getNodesByTagName("img"),function(b){var c=b.attrs,d=parseInt(c.width)<128||parseInt(c.height)<43,e=a.options,f=e.UEDITOR_HOME_URL+"themes/default/images/spacer.gif";c.src&&/^(?:(file:\/+))/.test(c.src)&&b.setAttr({width:c.width,height:c.height,alt:c.alt,word_img:c.src,src:f,style:"background:url("+(d?e.themePath+e.theme+"/images/word.gif":e.langPath+e.lang+"/images/localimage.png")+") no-repeat center center;border:1px solid #ddd"})})}}}),UE.plugins.dragdrop=function(){var a=this;a.ready(function(){domUtils.on(this.body,"dragend",function(){var b=a.selection.getRange(),c=b.getClosedNode()||a.selection.getStart();if(c&&"IMG"==c.tagName){for(var d,e=c.previousSibling;(d=c.nextSibling)&&1==d.nodeType&&"SPAN"==d.tagName&&!d.firstChild;)domUtils.remove(d);(!e||1!=e.nodeType||domUtils.isEmptyBlock(e))&&e||d&&(!d||domUtils.isEmptyBlock(d))||(e&&"P"==e.tagName&&!domUtils.isEmptyBlock(e)?(e.appendChild(c),domUtils.moveChild(d,e),domUtils.remove(d)):d&&"P"==d.tagName&&!domUtils.isEmptyBlock(d)&&d.insertBefore(c,d.firstChild),e&&"P"==e.tagName&&domUtils.isEmptyBlock(e)&&domUtils.remove(e),d&&"P"==d.tagName&&domUtils.isEmptyBlock(d)&&domUtils.remove(d),b.selectNode(c).select(),a.fireEvent("saveScene"))}})}),a.addListener("keyup",function(b,c){var d=c.keyCode||c.which;if(13==d){var e,f=a.selection.getRange();(e=domUtils.findParentByTagName(f.startContainer,"p",!0))&&"center"==domUtils.getComputedStyle(e,"text-align")&&domUtils.removeStyle(e,"text-align")}})},UE.plugins.undo=function(){function a(a,b){if(a.length!=b.length)return 0;for(var c=0,d=a.length;cf&&this.list.shift(),this.index=this.list.length-1,this.clearKey(),this.update())},this.update=function(){this.hasRedo=!!this.list[this.index+1],this.hasUndo=!!this.list[this.index-1]},this.reset=function(){this.list=[],this.index=0,this.hasUndo=!1,this.hasRedo=!1,this.clearKey()},this.clearKey=function(){m=0,k=null}}var d,e=this,f=e.options.maxUndoCount||20,g=e.options.maxInputCount||20,h=new RegExp(domUtils.fillChar+"|","gi"),i={ol:1,ul:1,table:1,tbody:1,tr:1,body:1},j=e.options.autoClearEmptyNode;e.undoManger=new c,e.undoManger.editor=e,e.addListener("saveScene",function(){var a=Array.prototype.splice.call(arguments,1);this.undoManger.save.apply(this.undoManger,a)}),e.addListener("reset",function(a,b){b||this.undoManger.reset()}),e.commands.redo=e.commands.undo={execCommand:function(a){this.undoManger[a]()},queryCommandState:function(a){return this.undoManger["has"+("undo"==a.toLowerCase()?"Undo":"Redo")]?0:-1},notNeedUndo:1};var k,l={16:1,17:1,18:1,37:1,38:1,39:1,40:1},m=0,n=!1;e.addListener("ready",function(){domUtils.on(this.body,"compositionstart",function(){n=!0}),domUtils.on(this.body,"compositionend",function(){n=!1})}),e.addshortcutkey({Undo:"ctrl+90",Redo:"ctrl+89"});var o=!0;e.addListener("keydown",function(a,b){function c(a){a.undoManger.save(!1,!0),a.fireEvent("selectionchange")}var e=this,f=b.keyCode||b.which;if(!(l[f]||b.ctrlKey||b.metaKey||b.shiftKey||b.altKey)){if(n)return;if(!e.selection.getRange().collapsed)return e.undoManger.save(!1,!0),void(o=!1);0==e.undoManger.list.length&&e.undoManger.save(!0),clearTimeout(d),d=setTimeout(function(){if(n)var a=setInterval(function(){n||(c(e),clearInterval(a))},300);else c(e)},200),k=f,m++,m>=g&&c(e)}}),e.addListener("keyup",function(a,b){var c=b.keyCode||b.which;if(!(l[c]||b.ctrlKey||b.metaKey||b.shiftKey||b.altKey)){if(n)return;o||(this.undoManger.save(!1,!0),o=!0)}}),e.stopCmdUndo=function(){e.__hasEnterExecCommand=!0},e.startCmdUndo=function(){e.__hasEnterExecCommand=!1}},UE.plugin.register("copy",function(){function a(){ZeroClipboard.config({debug:!1,swfPath:b.options.UEDITOR_HOME_URL+"third-party/zeroclipboard/ZeroClipboard.swf"});var a=b.zeroclipboard=new ZeroClipboard;a.on("copy",function(a){var c=a.client,d=b.selection.getRange(),e=document.createElement("div");e.appendChild(d.cloneContents()),c.setText(e.innerText||e.textContent),c.setHtml(e.innerHTML),d.select()}),a.on("mouseover mouseout",function(a){var b=a.target;"mouseover"==a.type?domUtils.addClass(b,"edui-state-hover"):"mouseout"==a.type&&domUtils.removeClasses(b,"edui-state-hover")}),a.on("wrongflash noflash",function(){ZeroClipboard.destroy()})}var b=this;return{bindEvents:{ready:function(){browser.ie||(window.ZeroClipboard?a():utils.loadFile(document,{src:b.options.UEDITOR_HOME_URL+"third-party/zeroclipboard/ZeroClipboard.js",tag:"script",type:"text/javascript",defer:"defer"},function(){a()}))}},commands:{copy:{execCommand:function(a){b.document.execCommand("copy")||alert(b.getLang("copymsg"))}}}}}),UE.plugins.paste=function(){function a(a){var b=this.document;if(!b.getElementById("baidu_pastebin")){var c=this.selection.getRange(),d=c.createBookmark(),e=b.createElement("div");e.id="baidu_pastebin",browser.webkit&&e.appendChild(b.createTextNode(domUtils.fillChar+domUtils.fillChar)),b.body.appendChild(e),d.start.style.display="",e.style.cssText="position:absolute;width:1px;height:1px;overflow:hidden;left:-1000px;white-space:nowrap;top:"+domUtils.getXY(d.start).y+"px",c.selectNodeContents(e).select(!0),setTimeout(function(){if(browser.webkit)for(var f,g=0,h=b.querySelectorAll("#baidu_pastebin");f=h[g++];){if(!domUtils.isEmptyNode(f)){e=f;break}domUtils.remove(f)}try{e.parentNode.removeChild(e)}catch(i){}c.moveToBookmark(d).select(!0),a(e)},0)}}function b(a){return a.replace(/<(\/?)([\w\-]+)([^>]*)>/gi,function(a,b,c,d){return c=c.toLowerCase(),{img:1}[c]?a:(d=d.replace(/([\w\-]*?)\s*=\s*(("([^"]*)")|('([^']*)')|([^\s>]+))/gi,function(a,b,c){return{src:1,href:1,name:1}[b.toLowerCase()]?b+"="+c+" ":""}),{span:1,div:1}[c]?"":"<"+b+c+" "+utils.trim(d)+">")})}function c(a){var c;if(a.firstChild){for(var h,i=domUtils.getElementsByTagName(a,"span"),j=0;h=i[j++];)"_baidu_cut_start"!=h.id&&"_baidu_cut_end"!=h.id||domUtils.remove(h);if(browser.webkit){for(var k,l=a.querySelectorAll("div br"),j=0;k=l[j++];){var m=k.parentNode;"DIV"==m.tagName&&1==m.childNodes.length&&(m.innerHTML="


      ",domUtils.remove(m))}for(var n,o=a.querySelectorAll("#baidu_pastebin"),j=0;n=o[j++];){var p=d.document.createElement("p");for(n.parentNode.insertBefore(p,n);n.firstChild;)p.appendChild(n.firstChild);domUtils.remove(n)}for(var q,r=a.querySelectorAll("meta"),j=0;q=r[j++];)domUtils.remove(q);var l=a.querySelectorAll("br");for(j=0;q=l[j++];)/^apple-/i.test(q.className)&&domUtils.remove(q)}if(browser.gecko){var s=a.querySelectorAll("[_moz_dirty]");for(j=0;q=s[j++];)q.removeAttribute("_moz_dirty")}if(!browser.ie)for(var q,t=a.querySelectorAll("span.Apple-style-span"),j=0;q=t[j++];)domUtils.remove(q,!0);c=a.innerHTML,c=UE.filterWord(c);var u=UE.htmlparser(c);if(d.options.filterRules&&UE.filterNode(u,d.options.filterRules),d.filterInputRule(u),browser.webkit){var v=u.lastChild();v&&"element"==v.type&&"br"==v.tagName&&u.removeChild(v),utils.each(d.body.querySelectorAll("div"),function(a){domUtils.isEmptyBlock(a)&&domUtils.remove(a,!0)})}if(c={html:u.toHtml()},d.fireEvent("beforepaste",c,u),!c.html)return;u=UE.htmlparser(c.html,!0),1===d.queryCommandState("pasteplain")?d.execCommand("insertHtml",UE.filterNode(u,d.options.filterTxtRules).toHtml(),!0):(UE.filterNode(u,d.options.filterTxtRules),e=u.toHtml(),f=c.html,g=d.selection.getRange().createAddress(!0),d.execCommand("insertHtml",d.getOpt("retainOnlyLabelPasted")===!0?b(f):f,!0)),d.fireEvent("afterpaste",c)}}var d=this;d.setOpt({retainOnlyLabelPasted:!1});var e,f,g;d.addListener("pasteTransfer",function(a,c){if(g&&e&&f&&e!=f){var h=d.selection.getRange();if(h.moveToAddress(g,!0),!h.collapsed){for(;!domUtils.isBody(h.startContainer);){var i=h.startContainer;if(1==i.nodeType){if(i=i.childNodes[h.startOffset],!i){h.setStartBefore(h.startContainer);continue}var j=i.previousSibling;j&&3==j.nodeType&&new RegExp("^[\n\r\t "+domUtils.fillChar+"]*$").test(j.nodeValue)&&h.setStartBefore(j)}if(0!=h.startOffset)break;h.setStartBefore(h.startContainer)}for(;!domUtils.isBody(h.endContainer);){var k=h.endContainer;if(1==k.nodeType){if(k=k.childNodes[h.endOffset],!k){h.setEndAfter(h.endContainer);continue}var l=k.nextSibling;l&&3==l.nodeType&&new RegExp("^[\n\r\t"+domUtils.fillChar+"]*$").test(l.nodeValue)&&h.setEndAfter(l)}if(h.endOffset!=h.endContainer[3==h.endContainer.nodeType?"nodeValue":"childNodes"].length)break;h.setEndAfter(h.endContainer)}}h.deleteContents(),h.select(!0),d.__hasEnterExecCommand=!0;var m=f;2===c?m=b(m):c&&(m=e),d.execCommand("inserthtml",m,!0),d.__hasEnterExecCommand=!1;for(var n=d.selection.getRange();!domUtils.isBody(n.startContainer)&&!n.startOffset&&n.startContainer[3==n.startContainer.nodeType?"nodeValue":"childNodes"].length;)n.setStartBefore(n.startContainer);var o=n.createAddress(!0);g.endAddress=o.startAddress}}),d.addListener("ready",function(){domUtils.on(d.body,"cut",function(){var a=d.selection.getRange();!a.collapsed&&d.undoManger&&d.undoManger.save()}),domUtils.on(d.body,browser.ie||browser.opera?"keydown":"paste",function(b){(!browser.ie&&!browser.opera||(b.ctrlKey||b.metaKey)&&"86"==b.keyCode)&&a.call(d,function(a){c(a)})})}),d.commands.paste={execCommand:function(b){browser.ie?(a.call(d,function(a){c(a)}),d.document.execCommand("paste")):alert(d.getLang("pastemsg"))}}},UE.plugins.pasteplain=function(){var a=this;a.setOpt({pasteplain:!1,filterTxtRules:function(){function a(a){a.tagName="p",a.setStyle()}function b(a){a.parentNode.removeChild(a,!0)}return{"-":"script style object iframe embed input select",p:{$:{}},br:{$:{}},div:function(a){for(var b,c=UE.uNode.createElement("p");b=a.firstChild();)"text"!=b.type&&UE.dom.dtd.$block[b.tagName]?c.firstChild()?(a.parentNode.insertBefore(c,a),c=UE.uNode.createElement("p")):a.parentNode.insertBefore(b,a):c.appendChild(b);c.firstChild()&&a.parentNode.insertBefore(c,a),a.parentNode.removeChild(a)},ol:b,ul:b,dl:b,dt:b,dd:b,li:b,caption:a,th:a,tr:a,h1:a,h2:a,h3:a,h4:a,h5:a,h6:a,td:function(a){var b=!!a.innerText();b&&a.parentNode.insertAfter(UE.uNode.createText("    "),a),a.parentNode.removeChild(a,a.innerText())}}}()});var b=a.options.pasteplain;a.commands.pasteplain={queryCommandState:function(){return b?1:0},execCommand:function(){b=0|!b},notNeedUndo:1}},UE.plugins.list=function(){function a(a){var b=[];for(var c in a)b.push(c);return b}function b(a){var b=a.className;return domUtils.hasClass(a,/custom_/)?b.match(/custom_(\w+)/)[1]:domUtils.getStyle(a,"list-style-type")}function c(a,c){utils.each(domUtils.getElementsByTagName(a,"ol ul"),function(f){if(domUtils.inDoc(f,a)){var g=f.parentNode;if(g.tagName==f.tagName){var h=b(f)||("OL"==f.tagName?"decimal":"disc"),i=b(g)||("OL"==g.tagName?"decimal":"disc");if(h==i){var l=utils.indexOf(k[f.tagName],h);l=l+1==k[f.tagName].length?0:l+1,e(f,k[f.tagName][l])}}var m=0,n=2;domUtils.hasClass(f,/custom_/)?/[ou]l/i.test(g.tagName)&&domUtils.hasClass(g,/custom_/)||(n=1):/[ou]l/i.test(g.tagName)&&domUtils.hasClass(g,/custom_/)&&(n=3);var o=domUtils.getStyle(f,"list-style-type");o&&(f.style.cssText="list-style-type:"+o),f.className=utils.trim(f.className.replace(/list-paddingleft-\w+/,""))+" list-paddingleft-"+n,utils.each(domUtils.getElementsByTagName(f,"li"),function(a){if(a.style.cssText&&(a.style.cssText=""),!a.firstChild)return void domUtils.remove(a);if(a.parentNode===f){if(m++,domUtils.hasClass(f,/custom_/)){var c=1,d=b(f);if("OL"==f.tagName){if(d)switch(d){case"cn":case"cn1":case"cn2":m>10&&(m%10==0||m>10&&m<20)?c=2:m>20&&(c=3);break;case"num2":m>9&&(c=2)}a.className="list-"+j[d]+m+" list-"+d+"-paddingleft-"+c}else a.className="list-"+j[d]+" list-"+d+"-paddingleft"}else a.className=a.className.replace(/list-[\w\-]+/gi,"");var e=a.getAttribute("class");null===e||e.replace(/\s/g,"")||domUtils.removeAttributes(a,"class")}}),!c&&d(f,f.tagName.toLowerCase(),b(f)||domUtils.getStyle(f,"list-style-type"),!0)}})}function d(a,d,e,f){var g=a.nextSibling;g&&1==g.nodeType&&g.tagName.toLowerCase()==d&&(b(g)||domUtils.getStyle(g,"list-style-type")||("ol"==d?"decimal":"disc"))==e&&(domUtils.moveChild(g,a),0==g.childNodes.length&&domUtils.remove(g)),g&&domUtils.isFillChar(g)&&domUtils.remove(g);var h=a.previousSibling;h&&1==h.nodeType&&h.tagName.toLowerCase()==d&&(b(h)||domUtils.getStyle(h,"list-style-type")||("ol"==d?"decimal":"disc"))==e&&domUtils.moveChild(a,h),h&&domUtils.isFillChar(h)&&domUtils.remove(h),!f&&domUtils.isEmptyBlock(a)&&domUtils.remove(a),b(a)&&c(a.ownerDocument,!0)}function e(a,b){j[b]&&(a.className="custom_"+b);try{domUtils.setStyle(a,"list-style-type",b)}catch(c){}}function f(a){var b=a.previousSibling;b&&domUtils.isEmptyBlock(b)&&domUtils.remove(b),b=a.nextSibling,b&&domUtils.isEmptyBlock(b)&&domUtils.remove(b)}function g(a){for(;a&&!domUtils.isBody(a);){if("TABLE"==a.nodeName)return null;if("LI"==a.nodeName)return a;a=a.parentNode}}var h=this,i={TD:1,PRE:1,BLOCKQUOTE:1},j={cn:"cn-1-",cn1:"cn-2-",cn2:"cn-3-",num:"num-1-",num1:"num-2-",num2:"num-3-",dash:"dash",dot:"dot"};h.setOpt({autoTransWordToList:!1,insertorderedlist:{num:"",num1:"",num2:"",cn:"",cn1:"",cn2:"",decimal:"","lower-alpha":"","lower-roman":"","upper-alpha":"","upper-roman":""},insertunorderedlist:{circle:"",disc:"",square:"",dash:"",dot:""},listDefaultPaddingLeft:"30",listiconpath:"http://bs.baidu.com/listicon/",maxListLevel:-1,disablePInList:!1});var k={OL:a(h.options.insertorderedlist),UL:a(h.options.insertunorderedlist)},l=h.options.listiconpath;for(var m in j)h.options.insertorderedlist.hasOwnProperty(m)||h.options.insertunorderedlist.hasOwnProperty(m)||delete j[m];h.ready(function(){var a=[];for(var b in j){if("dash"==b||"dot"==b)a.push("li.list-"+j[b]+"{background-image:url("+l+j[b]+".gif)}"),a.push("ul.custom_"+b+"{list-style:none;}ul.custom_"+b+" li{background-position:0 3px;background-repeat:no-repeat}");else{for(var c=0;c<99;c++)a.push("li.list-"+j[b]+c+"{background-image:url("+l+"list-"+j[b]+c+".gif)}");a.push("ol.custom_"+b+"{list-style:none;}ol.custom_"+b+" li{background-position:0 3px;background-repeat:no-repeat}")}switch(b){case"cn":a.push("li.list-"+b+"-paddingleft-1{padding-left:25px}"),a.push("li.list-"+b+"-paddingleft-2{padding-left:40px}"),a.push("li.list-"+b+"-paddingleft-3{padding-left:55px}");break;case"cn1":a.push("li.list-"+b+"-paddingleft-1{padding-left:30px}"),a.push("li.list-"+b+"-paddingleft-2{padding-left:40px}"),a.push("li.list-"+b+"-paddingleft-3{padding-left:55px}");break;case"cn2":a.push("li.list-"+b+"-paddingleft-1{padding-left:40px}"),a.push("li.list-"+b+"-paddingleft-2{padding-left:55px}"),a.push("li.list-"+b+"-paddingleft-3{padding-left:68px}");break;case"num":case"num1":a.push("li.list-"+b+"-paddingleft-1{padding-left:25px}");break;case"num2":a.push("li.list-"+b+"-paddingleft-1{padding-left:35px}"),a.push("li.list-"+b+"-paddingleft-2{padding-left:40px}");break;case"dash":a.push("li.list-"+b+"-paddingleft{padding-left:35px}");break;case"dot":a.push("li.list-"+b+"-paddingleft{padding-left:20px}")}}a.push(".list-paddingleft-1{padding-left:0}"),a.push(".list-paddingleft-2{padding-left:"+h.options.listDefaultPaddingLeft+"px}"),a.push(".list-paddingleft-3{padding-left:"+2*h.options.listDefaultPaddingLeft+"px}"),utils.cssRule("list","ol,ul{margin:0;pading:0;"+(browser.ie?"":"width:95%")+"}li{clear:both;}"+a.join("\n"),h.document)}),h.ready(function(){domUtils.on(h.body,"cut",function(){setTimeout(function(){var a,b=h.selection.getRange();if(!b.collapsed&&(a=domUtils.findParentByTagName(b.startContainer,"li",!0))&&!a.nextSibling&&domUtils.isEmptyBlock(a)){var c,d=a.parentNode;if(c=d.previousSibling)domUtils.remove(d),b.setStartAtLast(c).collapse(!0),b.select(!0);else if(c=d.nextSibling)domUtils.remove(d),b.setStartAtFirst(c).collapse(!0),b.select(!0);else{var e=h.document.createElement("p");domUtils.fillNode(h.document,e),d.parentNode.insertBefore(e,d),domUtils.remove(d),b.setStart(e,0).collapse(!0),b.select(!0)}}})})}),h.addListener("beforepaste",function(a,c){var d,e=this,f=e.selection.getRange(),g=UE.htmlparser(c.html,!0);if(d=domUtils.findParentByTagName(f.startContainer,"li",!0)){var h=d.parentNode,i="OL"==h.tagName?"ul":"ol";utils.each(g.getNodesByTagName(i),function(c){if(c.tagName=h.tagName,c.setAttr(),c.parentNode===g)a=b(h)||("OL"==h.tagName?"decimal":"disc");else{var d=c.parentNode.getAttr("class");a=d&&/custom_/.test(d)?d.match(/custom_(\w+)/)[1]:c.parentNode.getStyle("list-style-type"),a||(a="OL"==h.tagName?"decimal":"disc")}var e=utils.indexOf(k[h.tagName],a);c.parentNode!==g&&(e=e+1==k[h.tagName].length?0:e+1);var f=k[h.tagName][e];j[f]?c.setAttr("class","custom_"+f):c.setStyle("list-style-type",f)})}c.html=g.toHtml()}),h.getOpt("disablePInList")===!0&&h.addOutputRule(function(a){utils.each(a.getNodesByTagName("li"),function(a){var b=[],c=0;utils.each(a.children,function(d){if("p"==d.tagName){for(var e;e=d.children.pop();)b.splice(c,0,e),e.parentNode=a,lastNode=e;if(e=b[b.length-1],!e||"element"!=e.type||"br"!=e.tagName){var f=UE.uNode.createElement("br");f.parentNode=a,b.push(f)}c=b.length}}),b.length&&(a.children=b)})}),h.addInputRule(function(a){function b(a,b){var e=b.firstChild();if(e&&"element"==e.type&&"span"==e.tagName&&/Wingdings|Symbol/.test(e.getStyle("font-family"))){for(var f in d)if(d[f]==e.data)return f;return"disc"}for(var f in c)if(c[f].test(a))return f}if(utils.each(a.getNodesByTagName("li"),function(a){for(var b,c=UE.uNode.createElement("p"),d=0;b=a.children[d];)"text"==b.type||dtd.p[b.tagName]?c.appendChild(b):c.firstChild()?(a.insertBefore(c,b),c=UE.uNode.createElement("p"),d+=2):d++;(c.firstChild()&&!c.parentNode||!a.firstChild())&&a.appendChild(c),c.firstChild()||c.innerHTML(browser.ie?" ":"
      ");var e=a.firstChild(),f=e.lastChild();f&&"text"==f.type&&/^\s*$/.test(f.data)&&e.removeChild(f)}),h.options.autoTransWordToList){var c={num1:/^\d+\)/,decimal:/^\d+\./,"lower-alpha":/^[a-z]+\)/,"upper-alpha":/^[A-Z]+\./,cn:/^[\u4E00\u4E8C\u4E09\u56DB\u516d\u4e94\u4e03\u516b\u4e5d]+[\u3001]/,cn2:/^\([\u4E00\u4E8C\u4E09\u56DB\u516d\u4e94\u4e03\u516b\u4e5d]+\)/},d={square:"n"};utils.each(a.getNodesByTagName("p"),function(a){function d(a,b,d){if("ol"==a.tagName)if(browser.ie){var e=b.firstChild();"element"==e.type&&"span"==e.tagName&&c[d].test(e.innerText())&&b.removeChild(e)}else b.innerHTML(b.innerHTML().replace(c[d],""));else b.removeChild(b.firstChild());var f=UE.uNode.createElement("li");f.appendChild(b),a.appendChild(f)}if("MsoListParagraph"==a.getAttr("class")){a.setStyle("margin",""),a.setStyle("margin-left",""),a.setAttr("class","");var e,f=a,g=a;if("li"!=a.parentNode.tagName&&(e=b(a.innerText(),a))){var i=UE.uNode.createElement(h.options.insertorderedlist.hasOwnProperty(e)?"ol":"ul");for(j[e]?i.setAttr("class","custom_"+e):i.setStyle("list-style-type",e);a&&"li"!=a.parentNode.tagName&&b(a.innerText(),a);)f=a.nextSibling(),f||a.parentNode.insertBefore(i,a),d(i,a,e),a=f;!i.parentNode&&a&&a.parentNode&&a.parentNode.insertBefore(i,a)}var k=g.firstChild();k&&"element"==k.type&&"span"==k.tagName&&/^\s*( )+\s*$/.test(k.innerText())&&k.parentNode.removeChild(k)}})}}),h.addListener("contentchange",function(){c(h.document)}),h.addListener("keydown",function(a,b){function c(){b.preventDefault?b.preventDefault():b.returnValue=!1,h.fireEvent("contentchange"),h.undoManger&&h.undoManger.save()}function d(a,b){for(;a&&!domUtils.isBody(a);){if(b(a))return null;if(1==a.nodeType&&/[ou]l/i.test(a.tagName))return a;a=a.parentNode}return null}var e=b.keyCode||b.which;if(13==e&&!b.shiftKey){var g=h.selection.getRange(),i=domUtils.findParent(g.startContainer,function(a){return domUtils.isBlockElm(a)},!0),j=domUtils.findParentByTagName(g.startContainer,"li",!0);if(i&&"PRE"!=i.tagName&&!j){var k=i.innerHTML.replace(new RegExp(domUtils.fillChar,"g"),"");/^\s*1\s*\.[^\d]/.test(k)&&(i.innerHTML=k.replace(/^\s*1\s*\./,""),g.setStartAtLast(i).collapse(!0).select(),h.__hasEnterExecCommand=!0,h.execCommand("insertorderedlist"),h.__hasEnterExecCommand=!1)}var l=h.selection.getRange(),m=d(l.startContainer,function(a){return"TABLE"==a.tagName}),n=l.collapsed?m:d(l.endContainer,function(a){return"TABLE"==a.tagName});if(m&&n&&m===n){if(!l.collapsed){if(m=domUtils.findParentByTagName(l.startContainer,"li",!0),n=domUtils.findParentByTagName(l.endContainer,"li",!0),!m||!n||m!==n){var o=l.cloneRange(),p=o.collapse(!1).createBookmark();l.deleteContents(),o.moveToBookmark(p);var j=domUtils.findParentByTagName(o.startContainer,"li",!0);return f(j),o.select(),void c()}if(l.deleteContents(),j=domUtils.findParentByTagName(l.startContainer,"li",!0),j&&domUtils.isEmptyBlock(j))return v=j.previousSibling,next=j.nextSibling,s=h.document.createElement("p"),domUtils.fillNode(h.document,s),q=j.parentNode,v&&next?(l.setStart(next,0).collapse(!0).select(!0),domUtils.remove(j)):((v||next)&&v?j.parentNode.parentNode.insertBefore(s,q.nextSibling):q.parentNode.insertBefore(s,q),domUtils.remove(j),q.firstChild||domUtils.remove(q),l.setStart(s,0).setCursor()),void c()}if(j=domUtils.findParentByTagName(l.startContainer,"li",!0)){ +if(domUtils.isEmptyBlock(j)){p=l.createBookmark();var q=j.parentNode;if(j!==q.lastChild?(domUtils.breakParent(j,q),f(j)):(q.parentNode.insertBefore(j,q.nextSibling),domUtils.isEmptyNode(q)&&domUtils.remove(q)),!dtd.$list[j.parentNode.tagName])if(domUtils.isBlockElm(j.firstChild))domUtils.remove(j,!0);else{for(s=h.document.createElement("p"),j.parentNode.insertBefore(s,j);j.firstChild;)s.appendChild(j.firstChild);domUtils.remove(j)}l.moveToBookmark(p).select()}else{var r=j.firstChild;if(!r||!domUtils.isBlockElm(r)){var s=h.document.createElement("p");for(!j.firstChild&&domUtils.fillNode(h.document,s);j.firstChild;)s.appendChild(j.firstChild);j.appendChild(s),r=s}var t=h.document.createElement("span");l.insertNode(t),domUtils.breakParent(t,j);var u=t.nextSibling;r=u.firstChild,r||(s=h.document.createElement("p"),domUtils.fillNode(h.document,s),u.appendChild(s),r=s),domUtils.isEmptyNode(r)&&(r.innerHTML="",domUtils.fillNode(h.document,r)),l.setStart(r,0).collapse(!0).shrinkBoundary().select(),domUtils.remove(t);var v=u.previousSibling;v&&domUtils.isEmptyBlock(v)&&(v.innerHTML="

      ",domUtils.fillNode(h.document,v.firstChild))}c()}}}if(8==e&&(l=h.selection.getRange(),l.collapsed&&domUtils.isStartInblock(l)&&(o=l.cloneRange().trimBoundary(),j=domUtils.findParentByTagName(l.startContainer,"li",!0),j&&domUtils.isStartInblock(o)))){if(m=domUtils.findParentByTagName(l.startContainer,"p",!0),m&&m!==j.firstChild){var q=domUtils.findParentByTagName(m,["ol","ul"]);return domUtils.breakParent(m,q),f(m),h.fireEvent("contentchange"),l.setStart(m,0).setCursor(!1,!0),h.fireEvent("saveScene"),void domUtils.preventDefault(b)}if(j&&(v=j.previousSibling)){if(46==e&&j.childNodes.length)return;if(dtd.$list[v.tagName]&&(v=v.lastChild),h.undoManger&&h.undoManger.save(),r=j.firstChild,domUtils.isBlockElm(r))if(domUtils.isEmptyNode(r))for(v.appendChild(r),l.setStart(r,0).setCursor(!1,!0);j.firstChild;)v.appendChild(j.firstChild);else t=h.document.createElement("span"),l.insertNode(t),domUtils.isEmptyBlock(v)&&(v.innerHTML=""),domUtils.moveChild(j,v),l.setStartBefore(t).collapse(!0).select(!0),domUtils.remove(t);else if(domUtils.isEmptyNode(j)){var s=h.document.createElement("p");v.appendChild(s),l.setStart(s,0).setCursor()}else for(l.setEnd(v,v.childNodes.length).collapse().select(!0);j.firstChild;)v.appendChild(j.firstChild);return domUtils.remove(j),h.fireEvent("contentchange"),h.fireEvent("saveScene"),void domUtils.preventDefault(b)}if(j&&!j.previousSibling){var q=j.parentNode,p=l.createBookmark();if(domUtils.isTagNode(q.parentNode,"ol ul"))q.parentNode.insertBefore(j,q),domUtils.isEmptyNode(q)&&domUtils.remove(q);else{for(;j.firstChild;)q.parentNode.insertBefore(j.firstChild,q);domUtils.remove(j),domUtils.isEmptyNode(q)&&domUtils.remove(q)}return l.moveToBookmark(p).setCursor(!1,!0),h.fireEvent("contentchange"),h.fireEvent("saveScene"),void domUtils.preventDefault(b)}}}),h.addListener("keyup",function(a,c){var e=c.keyCode||c.which;if(8==e){var f,g=h.selection.getRange();(f=domUtils.findParentByTagName(g.startContainer,["ol","ul"],!0))&&d(f,f.tagName.toLowerCase(),b(f)||domUtils.getComputedStyle(f,"list-style-type"),!0)}}),h.addListener("tabkeydown",function(){function a(a){if(h.options.maxListLevel!=-1){for(var b=a.parentNode,c=0;/[ou]l/i.test(b.tagName);)c++,b=b.parentNode;if(c>=h.options.maxListLevel)return!0}}var c=h.selection.getRange(),f=domUtils.findParentByTagName(c.startContainer,"li",!0);if(f){var g;if(!c.collapsed){h.fireEvent("saveScene"),g=c.createBookmark();for(var i,j,l=0,m=domUtils.findParents(f);j=m[l++];)if(domUtils.isTagNode(j,"ol ul")){i=j;break}var n=f;if(g.end)for(;n&&!(domUtils.getPosition(n,g.end)&domUtils.POSITION_FOLLOWING);)if(a(n))n=domUtils.getNextDomNode(n,!1,null,function(a){return a!==i});else{var o=n.parentNode,p=h.document.createElement(o.tagName),q=utils.indexOf(k[p.tagName],b(o)||domUtils.getComputedStyle(o,"list-style-type")),r=q+1==k[p.tagName].length?0:q+1,s=k[p.tagName][r];for(e(p,s),o.insertBefore(p,n);n&&!(domUtils.getPosition(n,g.end)&domUtils.POSITION_FOLLOWING);){if(f=n.nextSibling,p.appendChild(n),!f||domUtils.isTagNode(f,"ol ul")){if(f)for(;(f=f.firstChild)&&"LI"!=f.tagName;);else f=domUtils.getNextDomNode(n,!1,null,function(a){return a!==i});break}n=f}d(p,p.tagName.toLowerCase(),s),n=f}return h.fireEvent("contentchange"),c.moveToBookmark(g).select(),!0}if(a(f))return!0;var o=f.parentNode,p=h.document.createElement(o.tagName),q=utils.indexOf(k[p.tagName],b(o)||domUtils.getComputedStyle(o,"list-style-type"));q=q+1==k[p.tagName].length?0:q+1;var s=k[p.tagName][q];if(e(p,s),domUtils.isStartInblock(c))return h.fireEvent("saveScene"),g=c.createBookmark(),o.insertBefore(p,f),p.appendChild(f),d(p,p.tagName.toLowerCase(),s),h.fireEvent("contentchange"),c.moveToBookmark(g).select(!0),!0}}),h.commands.insertorderedlist=h.commands.insertunorderedlist={execCommand:function(a,c){c||(c="insertorderedlist"==a.toLowerCase()?"decimal":"disc");var f=this,h=this.selection.getRange(),j=function(a){return 1==a.nodeType?"br"!=a.tagName.toLowerCase():!domUtils.isWhitespace(a)},k="insertorderedlist"==a.toLowerCase()?"ol":"ul",l=f.document.createDocumentFragment();h.adjustmentBoundary().shrinkBoundary();var m,n,o,p,q=h.createBookmark(!0),r=g(f.document.getElementById(q.start)),s=0,t=g(f.document.getElementById(q.end)),u=0;if(r||t){if(r&&(m=r.parentNode),q.end||(t=r),t&&(n=t.parentNode),m===n){for(;r!==t;){if(p=r,r=r.nextSibling,!domUtils.isBlockElm(p.firstChild)){for(var v=f.document.createElement("p");p.firstChild;)v.appendChild(p.firstChild);p.appendChild(v)}l.appendChild(p)}if(p=f.document.createElement("span"),m.insertBefore(p,t),!domUtils.isBlockElm(t.firstChild)){for(v=f.document.createElement("p");t.firstChild;)v.appendChild(t.firstChild);t.appendChild(v)}l.appendChild(t),domUtils.breakParent(p,m),domUtils.isEmptyNode(p.previousSibling)&&domUtils.remove(p.previousSibling),domUtils.isEmptyNode(p.nextSibling)&&domUtils.remove(p.nextSibling);var w=b(m)||domUtils.getComputedStyle(m,"list-style-type")||("insertorderedlist"==a.toLowerCase()?"decimal":"disc");if(m.tagName.toLowerCase()==k&&w==c){for(var x,y=0,z=f.document.createDocumentFragment();x=l.firstChild;)if(domUtils.isTagNode(x,"ol ul"))z.appendChild(x);else for(;x.firstChild;)z.appendChild(x.firstChild),domUtils.remove(x);p.parentNode.insertBefore(z,p)}else o=f.document.createElement(k),e(o,c),o.appendChild(l),p.parentNode.insertBefore(o,p);return domUtils.remove(p),o&&d(o,k,c),void h.moveToBookmark(q).select()}if(r){for(;r;){if(p=r.nextSibling,domUtils.isTagNode(r,"ol ul"))l.appendChild(r);else{for(var A=f.document.createDocumentFragment(),B=0;r.firstChild;)domUtils.isBlockElm(r.firstChild)&&(B=1),A.appendChild(r.firstChild);if(B)l.appendChild(A);else{var C=f.document.createElement("p");C.appendChild(A),l.appendChild(C)}domUtils.remove(r)}r=p}m.parentNode.insertBefore(l,m.nextSibling),domUtils.isEmptyNode(m)?(h.setStartBefore(m),domUtils.remove(m)):h.setStartAfter(m),s=1}if(t&&domUtils.inDoc(n,f.document)){for(r=n.firstChild;r&&r!==t;){if(p=r.nextSibling,domUtils.isTagNode(r,"ol ul"))l.appendChild(r);else{for(A=f.document.createDocumentFragment(),B=0;r.firstChild;)domUtils.isBlockElm(r.firstChild)&&(B=1),A.appendChild(r.firstChild);B?l.appendChild(A):(C=f.document.createElement("p"),C.appendChild(A),l.appendChild(C)),domUtils.remove(r)}r=p}var D=domUtils.createElement(f.document,"div",{tmpDiv:1});domUtils.moveChild(t,D),l.appendChild(D),domUtils.remove(t),n.parentNode.insertBefore(l,n),h.setEndBefore(n),domUtils.isEmptyNode(n)&&domUtils.remove(n),u=1}}s||h.setStartBefore(f.document.getElementById(q.start)),q.end&&!u&&h.setEndAfter(f.document.getElementById(q.end)),h.enlarge(!0,function(a){return i[a.tagName]}),l=f.document.createDocumentFragment();for(var E,F=h.createBookmark(),G=domUtils.getNextDomNode(F.start,!1,j),H=h.cloneRange(),I=domUtils.isBlockElm;G&&G!==F.end&&domUtils.getPosition(G,F.end)&domUtils.POSITION_PRECEDING;)if(3==G.nodeType||dtd.li[G.tagName]){if(1==G.nodeType&&dtd.$list[G.tagName]){for(;G.firstChild;)l.appendChild(G.firstChild);E=domUtils.getNextDomNode(G,!1,j),domUtils.remove(G),G=E;continue}for(E=G,H.setStartBefore(G);G&&G!==F.end&&(!I(G)||domUtils.isBookmarkNode(G));)E=G,G=domUtils.getNextDomNode(G,!1,null,function(a){return!i[a.tagName]});G&&I(G)&&(p=domUtils.getNextDomNode(E,!1,j),p&&domUtils.isBookmarkNode(p)&&(G=domUtils.getNextDomNode(p,!1,j),E=p)),H.setEndAfter(E),G=domUtils.getNextDomNode(E,!1,j);var J=h.document.createElement("li");if(J.appendChild(H.extractContents()),domUtils.isEmptyNode(J)){for(var E=h.document.createElement("p");J.firstChild;)E.appendChild(J.firstChild);J.appendChild(E)}l.appendChild(J)}else G=domUtils.getNextDomNode(G,!0,j);h.moveToBookmark(F).collapse(!0),o=f.document.createElement(k),e(o,c),o.appendChild(l),h.insertNode(o),d(o,k,c);for(var x,y=0,K=domUtils.getElementsByTagName(o,"div");x=K[y++];)x.getAttribute("tmpDiv")&&domUtils.remove(x,!0);h.moveToBookmark(q).select()},queryCommandState:function(a){for(var b,c="insertorderedlist"==a.toLowerCase()?"ol":"ul",d=this.selection.getStartElementPath(),e=0;b=d[e++];){if("TABLE"==b.nodeName)return 0;if(c==b.nodeName.toLowerCase())return 1}return 0},queryCommandValue:function(a){for(var c,d,e="insertorderedlist"==a.toLowerCase()?"ol":"ul",f=this.selection.getStartElementPath(),g=0;d=f[g++];){if("TABLE"==d.nodeName){c=null;break}if(e==d.nodeName.toLowerCase()){c=d;break}}return c?b(c)||domUtils.getComputedStyle(c,"list-style-type"):null}}},function(){var a={textarea:function(a,b){var c=b.ownerDocument.createElement("textarea");return c.style.cssText="position:absolute;resize:none;width:100%;height:100%;border:0;padding:0;margin:0;overflow-y:auto;",browser.ie&&browser.version<8&&(c.style.width=b.offsetWidth+"px",c.style.height=b.offsetHeight+"px",b.onresize=function(){c.style.width=b.offsetWidth+"px",c.style.height=b.offsetHeight+"px"}),b.appendChild(c),{setContent:function(a){c.value=a},getContent:function(){return c.value},select:function(){var a;browser.ie?(a=c.createTextRange(),a.collapse(!0),a.select()):(c.setSelectionRange(0,0),c.focus())},dispose:function(){b.removeChild(c),b.onresize=null,c=null,b=null}}},codemirror:function(a,b){var c=window.CodeMirror(b,{mode:"text/html",tabMode:"indent",lineNumbers:!0,lineWrapping:!0}),d=c.getWrapperElement();return d.style.cssText='position:absolute;left:0;top:0;width:100%;height:100%;font-family:consolas,"Courier new",monospace;font-size:13px;',c.getScrollerElement().style.cssText="position:absolute;left:0;top:0;width:100%;height:100%;",c.refresh(),{getCodeMirror:function(){return c},setContent:function(a){c.setValue(a)},getContent:function(){return c.getValue()},select:function(){c.focus()},dispose:function(){b.removeChild(d),d=null,c=null}}}};UE.plugins.source=function(){function b(b){return a["codemirror"==f.sourceEditor&&window.CodeMirror?"codemirror":"textarea"](e,b)}var c,d,e=this,f=this.options,g=!1;f.sourceEditor=browser.ie?"textarea":f.sourceEditor||"codemirror",e.setOpt({sourceEditorFirst:!1});var h,i,j;e.commands.source={execCommand:function(){if(g=!g){j=e.selection.getRange().createAddress(!1,!0),e.undoManger&&e.undoManger.save(!0),browser.gecko&&(e.body.contentEditable=!1),h=e.iframe.style.cssText,e.iframe.style.cssText+="position:absolute;left:-32768px;top:-32768px;",e.fireEvent("beforegetcontent");var a=UE.htmlparser(e.body.innerHTML);e.filterOutputRule(a),a.traversal(function(a){if("element"==a.type)switch(a.tagName){case"td":case"th":case"caption":a.children&&1==a.children.length&&"br"==a.firstChild().tagName&&a.removeChild(a.firstChild());break;case"pre":a.innerText(a.innerText().replace(/ /g," "))}}),e.fireEvent("aftergetcontent");var f=a.toHtml(!0);c=b(e.iframe.parentNode),c.setContent(f),d=e.setContent,e.setContent=function(a){var b=UE.htmlparser(a);e.filterInputRule(b),a=b.toHtml(),c.setContent(a)},setTimeout(function(){c.select(),e.addListener("fullscreenchanged",function(){try{c.getCodeMirror().refresh()}catch(a){}})}),i=e.getContent,e.getContent=function(){return c.getContent()||"

      "+(browser.ie?"":"
      ")+"

      "}}else{e.iframe.style.cssText=h;var k=c.getContent()||"

      "+(browser.ie?"":"
      ")+"

      ";k=k.replace(new RegExp("[\\r\\t\\n ]*]*)>","g"),function(a,b){return b&&!dtd.$inlineWithA[b.toLowerCase()]?a.replace(/(^[\n\r\t ]*)|([\n\r\t ]*$)/g,""):a.replace(/(^[\n\r\t]*)|([\n\r\t]*$)/g,"")}),e.setContent=d,e.setContent(k),c.dispose(),c=null,e.getContent=i;var l=e.body.firstChild;if(l||(e.body.innerHTML="

      "+(browser.ie?"":"
      ")+"

      ",l=e.body.firstChild),e.undoManger&&e.undoManger.save(!0),browser.gecko){var m=document.createElement("input");m.style.cssText="position:absolute;left:0;top:-32768px",document.body.appendChild(m),e.body.contentEditable=!1,setTimeout(function(){domUtils.setViewportOffset(m,{left:-32768,top:0}),m.focus(),setTimeout(function(){e.body.contentEditable=!0,e.selection.getRange().moveToAddress(j).select(!0),domUtils.remove(m)})})}else try{e.selection.getRange().moveToAddress(j).select(!0)}catch(n){}}this.fireEvent("sourcemodechanged",g)},queryCommandState:function(){return 0|g},notNeedUndo:1};var k=e.queryCommandState;e.queryCommandState=function(a){return a=a.toLowerCase(),g?a in{source:1,fullscreen:1}?1:-1:k.apply(this,arguments)},"codemirror"==f.sourceEditor&&e.addListener("ready",function(){utils.loadFile(document,{src:f.codeMirrorJsUrl||f.UEDITOR_HOME_URL+"third-party/codemirror/codemirror.js",tag:"script",type:"text/javascript",defer:"defer"},function(){f.sourceEditorFirst&&setTimeout(function(){e.execCommand("source")},0)}),utils.loadFile(document,{tag:"link",rel:"stylesheet",type:"text/css",href:f.codeMirrorCssUrl||f.UEDITOR_HOME_URL+"third-party/codemirror/codemirror.css"})})}}(),UE.plugins.enterkey=function(){var a,b=this,c=b.options.enterTag;b.addListener("keyup",function(c,d){var e=d.keyCode||d.which;if(13==e){var f,g=b.selection.getRange(),h=g.startContainer;if(browser.ie)b.fireEvent("saveScene",!0,!0);else{if(/h\d/i.test(a)){if(browser.gecko){var i=domUtils.findParentByTagName(h,["h1","h2","h3","h4","h5","h6","blockquote","caption","table"],!0);i||(b.document.execCommand("formatBlock",!1,"

      "),f=1)}else if(1==h.nodeType){var j,k=b.document.createTextNode("");if(g.insertNode(k),j=domUtils.findParentByTagName(k,"div",!0)){for(var l=b.document.createElement("p");j.firstChild;)l.appendChild(j.firstChild);j.parentNode.insertBefore(l,j),domUtils.remove(j),g.setStartBefore(k).setCursor(),f=1}domUtils.remove(k)}b.undoManger&&f&&b.undoManger.save()}browser.opera&&g.select()}}}),b.addListener("keydown",function(d,e){var f=e.keyCode||e.which;if(13==f){if(b.fireEvent("beforeenterkeydown"))return void domUtils.preventDefault(e);b.fireEvent("saveScene",!0,!0),a="";var g=b.selection.getRange();if(!g.collapsed){var h=g.startContainer,i=g.endContainer,j=domUtils.findParentByTagName(h,"td",!0),k=domUtils.findParentByTagName(i,"td",!0);if(j&&k&&j!==k||!j&&k||j&&!k)return void(e.preventDefault?e.preventDefault():e.returnValue=!1)}if("p"==c)browser.ie||(h=domUtils.findParentByTagName(g.startContainer,["ol","ul","p","h1","h2","h3","h4","h5","h6","blockquote","caption"],!0),h||browser.opera?(a=h.tagName,"p"==h.tagName.toLowerCase()&&browser.gecko&&domUtils.removeDirtyAttr(h)):(b.document.execCommand("formatBlock",!1,"

      "),browser.gecko&&(g=b.selection.getRange(),h=domUtils.findParentByTagName(g.startContainer,"p",!0),h&&domUtils.removeDirtyAttr(h))));else if(e.preventDefault?e.preventDefault():e.returnValue=!1,g.collapsed){m=g.document.createElement("br"),g.insertNode(m);var l=m.parentNode;l.lastChild===m?(m.parentNode.insertBefore(m.cloneNode(!0),m),g.setStartBefore(m)):g.setStartAfter(m),g.setCursor()}else if(g.deleteContents(),h=g.startContainer,1==h.nodeType&&(h=h.childNodes[g.startOffset])){for(;1==h.nodeType;){if(dtd.$empty[h.tagName])return g.setStartBefore(h).setCursor(),b.undoManger&&b.undoManger.save(),!1;if(!h.firstChild){var m=g.document.createElement("br");return h.appendChild(m),g.setStart(h,0).setCursor(),b.undoManger&&b.undoManger.save(),!1}h=h.firstChild}h===g.startContainer.childNodes[g.startOffset]?(m=g.document.createElement("br"),g.insertNode(m).setCursor()):g.setStart(h,0).setCursor()}else m=g.document.createElement("br"),g.insertNode(m).setStartAfter(m).setCursor()}})},UE.plugins.keystrokes=function(){var a=this,b=!0;a.addListener("keydown",function(c,d){var e=d.keyCode||d.which,f=a.selection.getRange();if(!f.collapsed&&!(d.ctrlKey||d.shiftKey||d.altKey||d.metaKey)&&(e>=65&&e<=90||e>=48&&e<=57||e>=96&&e<=111||{13:1,8:1,46:1}[e])){var g=f.startContainer;if(domUtils.isFillChar(g)&&f.setStartBefore(g),g=f.endContainer,domUtils.isFillChar(g)&&f.setEndAfter(g),f.txtToElmBoundary(),f.endContainer&&1==f.endContainer.nodeType&&(g=f.endContainer.childNodes[f.endOffset],g&&domUtils.isBr(g)&&f.setEndAfter(g)),0==f.startOffset&&(g=f.startContainer,domUtils.isBoundaryNode(g,"firstChild")&&(g=f.endContainer,f.endOffset==(3==g.nodeType?g.nodeValue.length:g.childNodes.length)&&domUtils.isBoundaryNode(g,"lastChild"))))return a.fireEvent("saveScene"),a.body.innerHTML="

      "+(browser.ie?"":"
      ")+"

      ",f.setStart(a.body.firstChild,0).setCursor(!1,!0),void a._selectionChange()}if(e==keymap.Backspace){if(f=a.selection.getRange(),b=f.collapsed,a.fireEvent("delkeydown",d))return;var h,i;if(f.collapsed&&f.inFillChar()&&(h=f.startContainer,domUtils.isFillChar(h)?(f.setStartBefore(h).shrinkBoundary(!0).collapse(!0),domUtils.remove(h)):(h.nodeValue=h.nodeValue.replace(new RegExp("^"+domUtils.fillChar),""),f.startOffset--,f.collapse(!0).select(!0))),h=f.getClosedNode())return a.fireEvent("saveScene"),f.setStartBefore(h),domUtils.remove(h),f.setCursor(),a.fireEvent("saveScene"),void domUtils.preventDefault(d);if(!browser.ie&&(h=domUtils.findParentByTagName(f.startContainer,"table",!0),i=domUtils.findParentByTagName(f.endContainer,"table",!0),h&&!i||!h&&i||h!==i))return void d.preventDefault()}if(e==keymap.Tab){var j={ol:1,ul:1,table:1};if(a.fireEvent("tabkeydown",d))return void domUtils.preventDefault(d);var k=a.selection.getRange();a.fireEvent("saveScene");for(var l=0,m="",n=a.options.tabSize||4,o=a.options.tabNode||" ";l"});d.insertNode(g).setStart(g,0).setCursor(!1,!0)}}if(!b&&(3==d.startContainer.nodeType||1==d.startContainer.nodeType&&domUtils.isEmptyBlock(d.startContainer)))if(browser.ie){var k=d.document.createElement("span");d.insertNode(k).setStartBefore(k).collapse(!0),d.select(),domUtils.remove(k)}else d.select()}})},UE.plugins.fiximgclick=function(){function a(){this.editor=null,this.resizer=null,this.cover=null,this.doc=document,this.prePos={x:0,y:0},this.startPos={x:0,y:0}}var b=!1;return function(){var c=[[0,0,-1,-1],[0,0,0,-1],[0,0,1,-1],[0,0,-1,0],[0,0,1,0],[0,0,-1,1],[0,0,0,1],[0,0,1,1]];a.prototype={init:function(a){var b=this;b.editor=a,b.startPos=this.prePos={x:0,y:0},b.dragId=-1;var c=[],d=b.cover=document.createElement("div"),e=b.resizer=document.createElement("div");for(d.id=b.editor.ui.id+"_imagescale_cover",d.style.cssText="position:absolute;display:none;z-index:"+b.editor.options.zIndex+";filter:alpha(opacity=0); opacity:0;background:#CCC;",domUtils.on(d,"mousedown click",function(){b.hide()}),i=0;i<8;i++)c.push('');e.id=b.editor.ui.id+"_imagescale",e.className="edui-editor-imagescale",e.innerHTML=c.join(""),e.style.cssText+=";display:none;border:1px solid #3b77ff;z-index:"+b.editor.options.zIndex+";",b.editor.ui.getDom().appendChild(d),b.editor.ui.getDom().appendChild(e),b.initStyle(),b.initEvents()},initStyle:function(){utils.cssRule("imagescale",".edui-editor-imagescale{display:none;position:absolute;border:1px solid #38B2CE;cursor:hand;-webkit-box-sizing: content-box;-moz-box-sizing: content-box;box-sizing: content-box;}.edui-editor-imagescale span{position:absolute;width:6px;height:6px;overflow:hidden;font-size:0px;display:block;background-color:#3C9DD0;}.edui-editor-imagescale .edui-editor-imagescale-hand0{cursor:nw-resize;top:0;margin-top:-4px;left:0;margin-left:-4px;}.edui-editor-imagescale .edui-editor-imagescale-hand1{cursor:n-resize;top:0;margin-top:-4px;left:50%;margin-left:-4px;}.edui-editor-imagescale .edui-editor-imagescale-hand2{cursor:ne-resize;top:0;margin-top:-4px;left:100%;margin-left:-3px;}.edui-editor-imagescale .edui-editor-imagescale-hand3{cursor:w-resize;top:50%;margin-top:-4px;left:0;margin-left:-4px;}.edui-editor-imagescale .edui-editor-imagescale-hand4{cursor:e-resize;top:50%;margin-top:-4px;left:100%;margin-left:-3px;}.edui-editor-imagescale .edui-editor-imagescale-hand5{cursor:sw-resize;top:100%;margin-top:-3px;left:0;margin-left:-4px;}.edui-editor-imagescale .edui-editor-imagescale-hand6{cursor:s-resize;top:100%;margin-top:-3px;left:50%;margin-left:-4px;}.edui-editor-imagescale .edui-editor-imagescale-hand7{cursor:se-resize;top:100%;margin-top:-3px;left:100%;margin-left:-3px;}")},initEvents:function(){var a=this;a.startPos.x=a.startPos.y=0,a.isDraging=!1},_eventHandler:function(a){var c=this;switch(a.type){case"mousedown":var d,d=a.target||a.srcElement;d.className.indexOf("edui-editor-imagescale-hand")!=-1&&c.dragId==-1&&(c.dragId=d.className.slice(-1),c.startPos.x=c.prePos.x=a.clientX,c.startPos.y=c.prePos.y=a.clientY,domUtils.on(c.doc,"mousemove",c.proxy(c._eventHandler,c)));break;case"mousemove":c.dragId!=-1&&(c.updateContainerStyle(c.dragId,{x:a.clientX-c.prePos.x,y:a.clientY-c.prePos.y}),c.prePos.x=a.clientX,c.prePos.y=a.clientY,b=!0,c.updateTargetElement());break;case"mouseup":c.dragId!=-1&&(c.updateContainerStyle(c.dragId,{x:a.clientX-c.prePos.x,y:a.clientY-c.prePos.y}),c.updateTargetElement(),c.target.parentNode&&c.attachTo(c.target),c.dragId=-1),domUtils.un(c.doc,"mousemove",c.proxy(c._eventHandler,c)),b&&(b=!1,c.editor.fireEvent("contentchange"))}},updateTargetElement:function(){var a=this;domUtils.setStyles(a.target,{width:a.resizer.style.width,height:a.resizer.style.height}),a.target.width=parseInt(a.resizer.style.width),a.target.height=parseInt(a.resizer.style.height),a.attachTo(a.target)},updateContainerStyle:function(a,b){var d,e=this,f=e.resizer;0!=c[a][0]&&(d=parseInt(f.style.left)+b.x,f.style.left=e._validScaledProp("left",d)+"px"),0!=c[a][1]&&(d=parseInt(f.style.top)+b.y,f.style.top=e._validScaledProp("top",d)+"px"),0!=c[a][2]&&(d=f.clientWidth+c[a][2]*b.x,f.style.width=e._validScaledProp("width",d)+"px"),0!=c[a][3]&&(d=f.clientHeight+c[a][3]*b.y,f.style.height=e._validScaledProp("height",d)+"px")},_validScaledProp:function(a,b){var c=this.resizer,d=document;switch(b=isNaN(b)?0:b,a){case"left":return b<0?0:b+c.clientWidth>d.clientWidth?d.clientWidth-c.clientWidth:b;case"top":return b<0?0:b+c.clientHeight>d.clientHeight?d.clientHeight-c.clientHeight:b;case"width":return b<=0?1:b+c.offsetLeft>d.clientWidth?d.clientWidth-c.offsetLeft:b;case"height":return b<=0?1:b+c.offsetTop>d.clientHeight?d.clientHeight-c.offsetTop:b}},hideCover:function(){this.cover.style.display="none"},showCover:function(){var a=this,b=domUtils.getXY(a.editor.ui.getDom()),c=domUtils.getXY(a.editor.iframe);domUtils.setStyles(a.cover,{width:a.editor.iframe.offsetWidth+"px",height:a.editor.iframe.offsetHeight+"px",top:c.y-b.y+"px",left:c.x-b.x+"px",position:"absolute",display:""})},show:function(a){var b=this;b.resizer.style.display="block",a&&b.attachTo(a),domUtils.on(this.resizer,"mousedown",b.proxy(b._eventHandler,b)),domUtils.on(b.doc,"mouseup",b.proxy(b._eventHandler,b)),b.showCover(),b.editor.fireEvent("afterscaleshow",b),b.editor.fireEvent("saveScene")},hide:function(){var a=this;a.hideCover(),a.resizer.style.display="none",domUtils.un(a.resizer,"mousedown",a.proxy(a._eventHandler,a)),domUtils.un(a.doc,"mouseup",a.proxy(a._eventHandler,a)),a.editor.fireEvent("afterscalehide",a)},proxy:function(a,b){return function(c){return a.apply(b||this,arguments)}},attachTo:function(a){var b=this,c=b.target=a,d=this.resizer,e=domUtils.getXY(c),f=domUtils.getXY(b.editor.iframe),g=domUtils.getXY(d.parentNode);domUtils.setStyles(d,{width:c.width+"px",height:c.height+"px",left:f.x+e.x-b.editor.document.body.scrollLeft-g.x-parseInt(d.style.borderLeftWidth)+"px",top:f.y+e.y-b.editor.document.body.scrollTop-g.y-parseInt(d.style.borderTopWidth)+"px"})}}}(),function(){var b,c=this;c.setOpt("imageScaleEnabled",!0),!browser.ie&&c.options.imageScaleEnabled&&c.addListener("click",function(d,e){var f=c.selection.getRange(),g=f.getClosedNode();if(g&&"IMG"==g.tagName&&"false"!=c.body.contentEditable){if(g.className.indexOf("edui-faked-music")!=-1||g.getAttribute("anchorname")||domUtils.hasClass(g,"loadingclass")||domUtils.hasClass(g,"loaderrorclass"))return;if(!b){b=new a,b.init(c),c.ui.getDom().appendChild(b.resizer);var h,i=function(a){b.hide(),b.target&&c.selection.getRange().selectNode(b.target).select()},j=function(a){var b=a.target||a.srcElement;!b||void 0!==b.className&&b.className.indexOf("edui-editor-imagescale")!=-1||i(a)};c.addListener("afterscaleshow",function(a){c.addListener("beforekeydown",i),c.addListener("beforemousedown",j),domUtils.on(document,"keydown",i),domUtils.on(document,"mousedown",j),c.selection.getNative().removeAllRanges()}),c.addListener("afterscalehide",function(a){c.removeListener("beforekeydown",i),c.removeListener("beforemousedown",j),domUtils.un(document,"keydown",i),domUtils.un(document,"mousedown",j);var d=b.target;d.parentNode&&c.selection.getRange().selectNode(d).select()}),domUtils.on(b.resizer,"mousedown",function(a){c.selection.getNative().removeAllRanges();var d=a.target||a.srcElement;d&&d.className.indexOf("edui-editor-imagescale-hand")==-1&&(h=setTimeout(function(){b.hide(),b.target&&c.selection.getRange().selectNode(d).select()},200))}),domUtils.on(b.resizer,"mouseup",function(a){var b=a.target||a.srcElement;b&&b.className.indexOf("edui-editor-imagescale-hand")==-1&&clearTimeout(h)})}b.show(g)}else b&&"none"!=b.resizer.style.display&&b.hide()}),browser.webkit&&c.addListener("click",function(a,b){if("IMG"==b.target.tagName&&"false"!=c.body.contentEditable){var d=new dom.Range(c.document);d.selectNode(b.target).select()}})}}(),UE.plugin.register("autolink",function(){var a=0;return browser.ie?{}:{bindEvents:{reset:function(){a=0},keydown:function(a,b){var c=this,d=b.keyCode||b.which;if(32==d||13==d){for(var e,f,g=c.selection.getNative(),h=g.getRangeAt(0).cloneRange(),i=h.startContainer;1==i.nodeType&&h.startOffset>0&&(i=h.startContainer.childNodes[h.startOffset-1]);)h.setStart(i,1==i.nodeType?i.childNodes.length:i.nodeValue.length),h.collapse(!0),i=h.startContainer;do{if(0==h.startOffset){for(i=h.startContainer.previousSibling;i&&1==i.nodeType;)i=i.lastChild;if(!i||domUtils.isFillChar(i))break;e=i.nodeValue.length}else i=h.startContainer,e=h.startOffset;h.setStart(i,e-1),f=h.toString().charCodeAt(0)}while(160!=f&&32!=f);if(h.toString().replace(new RegExp(domUtils.fillChar,"g"),"").match(/(?:https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.)/i)){for(;h.toString().length&&!/^(?:https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.)/i.test(h.toString());)try{h.setStart(h.startContainer,h.startOffset+1)}catch(j){for(var i=h.startContainer;!(next=i.nextSibling);){if(domUtils.isBody(i))return;i=i.parentNode}h.setStart(next,0)}if(domUtils.findParentByTagName(h.startContainer,"a",!0))return;var k,l=c.document.createElement("a"),m=c.document.createTextNode(" ");c.undoManger&&c.undoManger.save(),l.appendChild(h.extractContents()),l.href=l.innerHTML=l.innerHTML.replace(/<[^>]+>/g,""),k=l.getAttribute("href").replace(new RegExp(domUtils.fillChar,"g"),""),k=/^(?:https?:\/\/)/gi.test(k)?k:"http://"+k,l.setAttribute("_src",utils.html(k)),l.href=utils.html(k),h.insertNode(l),l.parentNode.insertBefore(m,l.nextSibling),h.setStart(m,0),h.collapse(!0),g.removeAllRanges(),g.addRange(h),c.undoManger&&c.undoManger.save()}}}}}},function(){function a(a){if(3==a.nodeType)return null;if("A"==a.nodeName)return a;for(var b=a.lastChild;b;){if("A"==b.nodeName)return b;if(3==b.nodeType){if(domUtils.isWhitespace(b)){b=b.previousSibling;continue}return null}b=b.lastChild}}var b={37:1,38:1,39:1,40:1,13:1,32:1};browser.ie&&this.addListener("keyup",function(c,d){var e=this,f=d.keyCode;if(b[f]){var g=e.selection.getRange(),h=g.startContainer;if(13==f){for(;h&&!domUtils.isBody(h)&&!domUtils.isBlockElm(h);)h=h.parentNode;if(h&&!domUtils.isBody(h)&&"P"==h.nodeName){var i=h.previousSibling;if(i&&1==i.nodeType){var i=a(i);i&&!i.getAttribute("_href")&&domUtils.remove(i,!0)}}}else if(32==f)3==h.nodeType&&/^\s$/.test(h.nodeValue)&&(h=h.previousSibling,h&&"A"==h.nodeName&&!h.getAttribute("_href")&&domUtils.remove(h,!0));else if(h=domUtils.findParentByTagName(h,"a",!0),h&&!h.getAttribute("_href")){var j=g.createBookmark();domUtils.remove(h,!0),g.moveToBookmark(j).select(!0)}}})}),UE.plugins.autoheight=function(){function a(){var a=this;clearTimeout(e),f||(!a.queryCommandState||a.queryCommandState&&1!=a.queryCommandState("source"))&&(e=setTimeout(function(){for(var b=a.body.lastChild;b&&1!=b.nodeType;)b=b.previousSibling;b&&1==b.nodeType&&(b.style.clear="both",d=Math.max(domUtils.getXY(b).y+b.offsetHeight+25,Math.max(h.minFrameHeight,h.initialFrameHeight)),d!=g&&(d!==parseInt(a.iframe.parentNode.style.height)&&(a.iframe.parentNode.style.height=d+"px"),a.body.style.height=d+"px",g=d),domUtils.removeStyle(b,"clear"))},50))}var b=this;if(b.autoHeightEnabled=b.options.autoHeightEnabled!==!1,b.autoHeightEnabled){var c,d,e,f,g=0,h=b.options;b.addListener("fullscreenchanged",function(a,b){f=b}),b.addListener("destroy",function(){b.removeListener("contentchange afterinserthtml keyup mouseup",a)}),b.enableAutoHeight=function(){var b=this;if(b.autoHeightEnabled){var d=b.document;b.autoHeightEnabled=!0,c=d.body.style.overflowY,d.body.style.overflowY="hidden",b.addListener("contentchange afterinserthtml keyup mouseup",a),setTimeout(function(){a.call(b)},browser.gecko?100:0),b.fireEvent("autoheightchanged",b.autoHeightEnabled)}},b.disableAutoHeight=function(){b.body.style.overflowY=c||"",b.removeListener("contentchange",a),b.removeListener("keyup",a),b.removeListener("mouseup",a),b.autoHeightEnabled=!1,b.fireEvent("autoheightchanged",b.autoHeightEnabled)},b.on("setHeight",function(){b.disableAutoHeight()}),b.addListener("ready",function(){b.enableAutoHeight();var c;domUtils.on(browser.ie?b.body:b.document,browser.webkit?"dragover":"drop",function(){clearTimeout(c),c=setTimeout(function(){a.call(b)},100)});var d;window.onscroll=function(){ +null===d?d=this.scrollY:0==this.scrollY&&0!=d&&(b.window.scrollTo(0,0),d=null)}})}},UE.plugins.autofloat=function(){function a(){return UE.ui?1:(alert(g.autofloatMsg),0)}function b(){var a=document.body.style;a.backgroundImage='url("about:blank")',a.backgroundAttachment="fixed"}function c(){var a=domUtils.getXY(k),b=domUtils.getComputedStyle(k,"position"),c=domUtils.getComputedStyle(k,"left");k.style.width=k.offsetWidth+"px",k.style.zIndex=1*f.options.zIndex+1,k.parentNode.insertBefore(q,k),o||p&&browser.ie?("absolute"!=k.style.position&&(k.style.position="absolute"),k.style.top=(document.body.scrollTop||document.documentElement.scrollTop)-l+i+"px"):(browser.ie7Compat&&r&&(r=!1,k.style.left=domUtils.getXY(k).x-document.documentElement.getBoundingClientRect().left+2+"px"),"fixed"!=k.style.position&&(k.style.position="fixed",k.style.top=i+"px",("absolute"==b||"relative"==b)&&parseFloat(c)&&(k.style.left=a.x+"px")))}function d(){r=!0,q.parentNode&&q.parentNode.removeChild(q),k.style.cssText=j}function e(){var a=m(f.container),b=f.options.toolbarTopOffset||0;a.top<0&&a.bottom-k.offsetHeight>b?c():d()}var f=this,g=f.getLang();f.setOpt({topOffset:0});var h=f.options.autoFloatEnabled!==!1,i=f.options.topOffset;if(h){var j,k,l,m,n=UE.ui.uiUtils,o=browser.ie&&browser.version<=6,p=browser.quirks,q=document.createElement("div"),r=!0,s=utils.defer(function(){e()},browser.ie?200:100,!0);f.addListener("destroy",function(){domUtils.un(window,["scroll","resize"],e),f.removeListener("keydown",s)}),f.addListener("ready",function(){if(a(f)){if(!f.ui)return;m=n.getClientRect,k=f.ui.getDom("toolbarbox"),l=m(k).top,j=k.style.cssText,q.style.height=k.offsetHeight+"px",o&&b(),domUtils.on(window,["scroll","resize"],e),f.addListener("keydown",s),f.addListener("beforefullscreenchange",function(a,b){b&&d()}),f.addListener("fullscreenchanged",function(a,b){b||e()}),f.addListener("sourcemodechanged",function(a,b){setTimeout(function(){e()},0)}),f.addListener("clearDoc",function(){setTimeout(function(){e()},0)})}})}},UE.plugins.video=function(){function a(a,b,d,e,f,g,h){a=utils.unhtmlForUrl(a),f=utils.unhtml(f),g=utils.unhtml(g),b=parseInt(b,10)||0,d=parseInt(d,10)||0;var i;switch(h){case"image":i="';break;case"embed":i='';break;case"video":var j=a.substr(a.lastIndexOf(".")+1);"ogv"==j&&(j="ogg"),i="'}return i}function b(b,c){utils.each(b.getNodesByTagName(c?"img":"embed video"),function(b){var d=b.getAttr("class");if(d&&d.indexOf("edui-faked-video")!=-1){var e=a(c?b.getAttr("_url"):b.getAttr("src"),b.getAttr("width"),b.getAttr("height"),null,b.getStyle("float")||"",d,c?"embed":"image");b.parentNode.replaceChild(UE.uNode.createElement(e),b)}if(d&&d.indexOf("edui-upload-video")!=-1){var e=a(c?b.getAttr("_url"):b.getAttr("src"),b.getAttr("width"),b.getAttr("height"),null,b.getStyle("float")||"",d,c?"video":"image");b.parentNode.replaceChild(UE.uNode.createElement(e),b)}})}var c=this;c.addOutputRule(function(a){b(a,!0)}),c.addInputRule(function(a){b(a)}),c.commands.insertvideo={execCommand:function(b,d,e){d=utils.isArray(d)?d:[d];for(var f,g,h=[],i="tmpVedio",j=0,k=d.length;j0)return 0;for(var c in dtd.$isNotEmpty)if(dtd.$isNotEmpty.hasOwnProperty(c)&&a.getElementsByTagName(c).length)return 0;return 1},b.getWidth=function(a){return a?parseInt(domUtils.getComputedStyle(a,"width"),10):0},b.getTableCellAlignState=function(a){!utils.isArray(a)&&(a=[a]);var b={},c=["align","valign"],d=null,e=!0;return utils.each(a,function(a){return utils.each(c,function(c){if(d=a.getAttribute(c),!b[c]&&d)b[c]=d;else if(!b[c]||d!==b[c])return e=!1,!1}),e}),e?b:null},b.getTableItemsByRange=function(a){var b=a.selection.getStart();b&&b.id&&0===b.id.indexOf("_baidu_bookmark_start_")&&b.nextSibling&&(b=b.nextSibling);var c=b&&domUtils.findParentByTagName(b,["td","th"],!0),d=c&&c.parentNode,e=b&&domUtils.findParentByTagName(b,"caption",!0),f=e?e.parentNode:d&&d.parentNode.parentNode;return{cell:c,tr:d,table:f,caption:e}},b.getUETableBySelected=function(a){var c=b.getTableItemsByRange(a).table;return c&&c.ueTable&&c.ueTable.selectedTds.length?c.ueTable:null},b.getDefaultValue=function(a,b){var c,d,e,f,g={thin:"0px",medium:"1px",thick:"2px"};if(b)return h=b.getElementsByTagName("td")[0],f=domUtils.getComputedStyle(b,"border-left-width"),c=parseInt(g[f]||f,10),f=domUtils.getComputedStyle(h,"padding-left"),d=parseInt(g[f]||f,10),f=domUtils.getComputedStyle(h,"border-left-width"),e=parseInt(g[f]||f,10),{tableBorder:c,tdPadding:d,tdBorder:e};b=a.document.createElement("table"),b.insertRow(0).insertCell(0).innerHTML="xxx",a.body.appendChild(b);var h=b.getElementsByTagName("td")[0];return f=domUtils.getComputedStyle(b,"border-left-width"),c=parseInt(g[f]||f,10),f=domUtils.getComputedStyle(h,"padding-left"),d=parseInt(g[f]||f,10),f=domUtils.getComputedStyle(h,"border-left-width"),e=parseInt(g[f]||f,10),domUtils.remove(b),{tableBorder:c,tdPadding:d,tdBorder:e}},b.getUETable=function(a){var c=a.tagName.toLowerCase();return a="td"==c||"th"==c||"caption"==c?domUtils.findParentByTagName(a,"table",!0):a,a.ueTable||(a.ueTable=new b(a)),a.ueTable},b.cloneCell=function(a,b,c){if(!a||utils.isString(a))return this.table.ownerDocument.createElement(a||"td");var d=domUtils.hasClass(a,"selectTdClass");d&&domUtils.removeClasses(a,"selectTdClass");var e=a.cloneNode(!0);return b&&(e.rowSpan=e.colSpan=1),!c&&domUtils.removeAttributes(e,"width height"),!c&&domUtils.removeAttributes(e,"style"),e.style.borderLeftStyle="",e.style.borderTopStyle="",e.style.borderLeftColor=a.style.borderRightColor,e.style.borderLeftWidth=a.style.borderRightWidth,e.style.borderTopColor=a.style.borderBottomColor,e.style.borderTopWidth=a.style.borderBottomWidth,d&&domUtils.addClass(a,"selectTdClass"),e},b.prototype={getMaxRows:function(){for(var a,b=this.table.rows,c=1,d=0;a=b[d];d++){for(var e,f=1,g=0;e=a.cells[g++];)f=Math.max(e.rowSpan||1,f);c=Math.max(f+d,c)}return c},getMaxCols:function(){for(var a,b=this.table.rows,c=0,d={},e=0;a=b[e];e++){for(var f,g=0,h=0;f=a.cells[h++];)if(g+=f.colSpan||1,f.rowSpan&&f.rowSpan>1)for(var i=1;ithis.rowsNum-1)?null:(e=c?h?i.endRowIndex+1:g.rowIndex+g.rowSpan:h?i.beginRowIndex-1:g.rowIndex-1,f=h?i.beginColIndex:g.colIndex,this.getCell(this.indexTable[e][f].rowIndex,this.indexTable[e][f].cellIndex))}catch(j){a(j)}},getSameEndPosCells:function(b,c){try{for(var d="x"===c.toLowerCase(),e=domUtils.getXY(b)[d?"x":"y"]+b["offset"+(d?"Width":"Height")],f=this.table.rows,g=null,h=[],i=0;ie&&d)break;if((b==j||e==l)&&(1==j[d?"colSpan":"rowSpan"]&&h.push(j),d))break}}return h}catch(m){a(m)}},setCellContent:function(a,b){a.innerHTML=b||(browser.ie?domUtils.fillChar:"
      ")},cloneCell:b.cloneCell,getSameStartPosXCells:function(b){try{for(var c,d=domUtils.getXY(b).x+b.offsetWidth,e=this.table.rows,f=[],g=0;gd)break;if(j==d&&1==h.colSpan){f.push(h);break}}}return f}catch(k){a(k)}},update:function(a){this.table=a||this.table,this.selectedTds=[],this.cellsRange={},this.indexTable=[];for(var b=this.table.rows,c=this.getMaxRows(),d=c-b.length,e=this.getMaxCols();d--;)this.table.insertRow(b.length);this.rowsNum=c,this.colsNum=e;for(var f=0,g=b.length;fc&&(j.rowSpan=c);for(var m=k,n=j.rowSpan||1,o=j.colSpan||1;this.indexTable[i][m];)m++;for(var p=0;p0)for(h=b;hf&&(m=Math.max(h,m));if(ee&&(l=Math.max(i,l));if(b>0)for(i=a;ig||d+b.colSpan-1>h)return null;j.push(this.getCell(c,b.cellIndex))}}return j},clearSelected:function(){b.removeSelectedClass(this.selectedTds),this.selectedTds=[],this.cellsRange={}},setSelected:function(a){var c=this.getCells(a);b.addSelectedClass(c),this.selectedTds=c,this.cellsRange=a},isFullRow:function(){var a=this.cellsRange;return a.endColIndex-a.beginColIndex+1==this.colsNum},isFullCol:function(){var a=this.cellsRange,b=this.table,c=b.getElementsByTagName("th"),d=a.endRowIndex-a.beginRowIndex+1;return c.length?d==this.rowsNum||d==this.rowsNum-1:d==this.rowsNum},getNextCell:function(b,c,d){try{var e,f,g=this.getCellInfo(b),h=this.selectedTds.length&&!d,i=this.cellsRange;return!c&&0==g.rowIndex||c&&(h?i.endRowIndex==this.rowsNum-1:g.rowIndex+g.rowSpan>this.rowsNum-1)?null:(e=c?h?i.endRowIndex+1:g.rowIndex+g.rowSpan:h?i.beginRowIndex-1:g.rowIndex-1,f=h?i.beginColIndex:g.colIndex,this.getCell(this.indexTable[e][f].rowIndex,this.indexTable[e][f].cellIndex))}catch(j){a(j)}},getPreviewCell:function(b,c){try{var d,e,f=this.getCellInfo(b),g=this.selectedTds.length,h=this.cellsRange;return!c&&(g?!h.beginColIndex:!f.colIndex)||c&&(g?h.endColIndex==this.colsNum-1:f.rowIndex>this.colsNum-1)?null:(d=c?g?h.beginRowIndex:f.rowIndex<1?0:f.rowIndex-1:g?h.beginRowIndex:f.rowIndex,e=c?g?h.endColIndex+1:f.colIndex:g?h.beginColIndex-1:f.colIndex<1?0:f.colIndex-1,this.getCell(this.indexTable[d][e].rowIndex,this.indexTable[d][e].cellIndex))}catch(i){a(i)}},moveContent:function(a,c){if(!b.isEmptyBlock(c)){if(b.isEmptyBlock(a))return void(a.innerHTML=c.innerHTML);var d=a.lastChild;for(3!=d.nodeType&&dtd.$block[d.tagName]||a.appendChild(a.ownerDocument.createElement("br"));d=c.firstChild;)a.appendChild(d)}},mergeRight:function(a){var b=this.getCellInfo(a),c=b.colIndex+b.colSpan,d=this.indexTable[b.rowIndex][c],e=this.getCell(d.rowIndex,d.cellIndex);a.colSpan=b.colSpan+d.colSpan,a.removeAttribute("width"),this.moveContent(a,e),this.deleteCell(e,d.rowIndex),this.update()},mergeDown:function(a){var b=this.getCellInfo(a),c=b.rowIndex+b.rowSpan,d=this.indexTable[c][b.colIndex],e=this.getCell(d.rowIndex,d.cellIndex);a.rowSpan=b.rowSpan+d.rowSpan,a.removeAttribute("height"),this.moveContent(a,e),this.deleteCell(e,d.rowIndex),this.update()},mergeRange:function(){var a=this.cellsRange,b=this.getCell(a.beginRowIndex,this.indexTable[a.beginRowIndex][a.beginColIndex].cellIndex);if("TH"==b.tagName&&a.endRowIndex!==a.beginRowIndex){var c=this.indexTable,d=this.getCellInfo(b);b=this.getCell(1,c[1][d.colIndex].cellIndex),a=this.getCellsRange(b,this.getCell(c[this.rowsNum-1][d.colIndex].rowIndex,c[this.rowsNum-1][d.colIndex].cellIndex))}for(var e,f=this.getCells(a),g=0;e=f[g++];)e!==b&&(this.moveContent(b,e),this.deleteCell(e));if(b.rowSpan=a.endRowIndex-a.beginRowIndex+1,b.rowSpan>1&&b.removeAttribute("height"),b.colSpan=a.endColIndex-a.beginColIndex+1,b.colSpan>1&&b.removeAttribute("width"),b.rowSpan==this.rowsNum&&1!=b.colSpan&&(b.colSpan=1),b.colSpan==this.colsNum&&1!=b.rowSpan){var h=b.parentNode.rowIndex;if(this.table.deleteRow)for(var g=h+1,i=h+1,j=b.rowSpan;g1&&g.rowIndex==a){var i=h.cloneNode(!0);i.rowSpan=h.rowSpan-1,i.innerHTML="",h.rowSpan=1;var j,k=a+1,l=this.table.rows[k],m=this.getPreviewMergedCellsNum(k,f)-e;m1?l.colSpan--:c[h].deleteCell(j.cellIndex),h+=j.rowSpan||1}}this.table.setAttribute("width",d-e),this.update()},splitToCells:function(a){var b=this,c=this.splitToRows(a);utils.each(c,function(a){b.splitToCols(a)})},splitToRows:function(a){var b=this.getCellInfo(a),c=b.rowIndex,d=b.colIndex,e=[];a.rowSpan=1,e.push(a);for(var f=c,g=c+b.rowSpan;f");for(var g=0;g'+(browser.ie&&browser.version<11?domUtils.fillChar:"
      ")+"");c.push("")}return"
      "+c.join("")+"
      "}b||(b=utils.extend({},{numCols:this.options.defaultCols,numRows:this.options.defaultRows,tdvalign:this.options.tdvalign}));var d=this,e=this.selection.getRange(),f=e.startContainer,h=domUtils.findParent(f,function(a){return domUtils.isBlockElm(a)},!0)||d.body,i=g(d),j=h.offsetWidth,k=Math.floor(j/b.numCols-2*i.tdPadding-i.tdBorder);!b.tdvalign&&(b.tdvalign=d.options.tdvalign),d.execCommand("inserthtml",c(b,k))}},UE.commands.insertparagraphbeforetable={queryCommandState:function(){return e(this).cell?0:-1},execCommand:function(){var a=e(this).table;if(a){var b=this.document.createElement("p");b.innerHTML=browser.ie?" ":"
      ",a.parentNode.insertBefore(b,a),this.selection.getRange().setStart(b,0).setCursor()}}},UE.commands.deletetable={queryCommandState:function(){var a=this.selection.getRange();return domUtils.findParentByTagName(a.startContainer,"table",!0)?0:-1},execCommand:function(a,b){var c=this.selection.getRange();if(b=b||domUtils.findParentByTagName(c.startContainer,"table",!0)){var d=b.nextSibling;d||(d=domUtils.createElement(this.document,"p",{innerHTML:browser.ie?domUtils.fillChar:"
      "}),b.parentNode.insertBefore(d,b)),domUtils.remove(b),c=this.selection.getRange(),3==d.nodeType?c.setStartBefore(d):c.setStart(d,0),c.setCursor(!1,!0),this.fireEvent("tablehasdeleted")}}},UE.commands.cellalign={queryCommandState:function(){return c(this).length?0:-1},execCommand:function(a,b){var d=c(this);if(d.length)for(var e,f=0;e=d[f++];)e.setAttribute("align",b)}},UE.commands.cellvalign={queryCommandState:function(){return c(this).length?0:-1},execCommand:function(a,b){var d=c(this);if(d.length)for(var e,f=0;e=d[f++];)e.setAttribute("vAlign",b)}},UE.commands.insertcaption={queryCommandState:function(){var a=e(this).table;return a&&0==a.getElementsByTagName("caption").length?1:-1},execCommand:function(){var a=e(this).table;if(a){var b=this.document.createElement("caption");b.innerHTML=browser.ie?domUtils.fillChar:"
      ",a.insertBefore(b,a.firstChild);var c=this.selection.getRange();c.setStart(b,0).setCursor()}}},UE.commands.deletecaption={queryCommandState:function(){var a=this.selection.getRange(),b=domUtils.findParentByTagName(a.startContainer,"table");return b?0==b.getElementsByTagName("caption").length?-1:1:-1},execCommand:function(){var a=this.selection.getRange(),b=domUtils.findParentByTagName(a.startContainer,"table");if(b){domUtils.remove(b.getElementsByTagName("caption")[0]);var c=this.selection.getRange();c.setStart(b.rows[0].cells[0],0).setCursor()}}},UE.commands.inserttitle={queryCommandState:function(){var a=e(this).table;if(a){var b=a.rows[0];return"th"!=b.cells[b.cells.length-1].tagName.toLowerCase()?0:-1}return-1},execCommand:function(){var a=e(this).table;a&&h(a).insertRow(0,"th");var b=a.getElementsByTagName("th")[0];this.selection.getRange().setStart(b,0).setCursor(!1,!0)}},UE.commands.deletetitle={queryCommandState:function(){var a=e(this).table;if(a){var b=a.rows[0];return"th"==b.cells[b.cells.length-1].tagName.toLowerCase()?0:-1}return-1},execCommand:function(){var a=e(this).table;a&&domUtils.remove(a.rows[0]);var b=a.getElementsByTagName("td")[0];this.selection.getRange().setStart(b,0).setCursor(!1,!0)}},UE.commands.inserttitlecol={queryCommandState:function(){var a=e(this).table;if(a){var b=a.rows[a.rows.length-1];return b.getElementsByTagName("th").length?-1:0}return-1},execCommand:function(b){var c=e(this).table;c&&h(c).insertCol(0,"th"),a(c,this);var d=c.getElementsByTagName("th")[0];this.selection.getRange().setStart(d,0).setCursor(!1,!0)}},UE.commands.deletetitlecol={queryCommandState:function(){var a=e(this).table;if(a){var b=a.rows[a.rows.length-1];return b.getElementsByTagName("th").length?0:-1}return-1},execCommand:function(){var b=e(this).table;if(b)for(var c=0;c=f.colsNum)return-1;var j=f.indexTable[g.rowIndex][i],k=c.rows[j.rowIndex].cells[j.cellIndex];return k&&d.tagName==k.tagName&&j.rowIndex==g.rowIndex&&j.rowSpan==g.rowSpan?0:-1},execCommand:function(a){var b=this.selection.getRange(),c=b.createBookmark(!0),d=e(this).cell,f=h(d);f.mergeRight(d),b.moveToBookmark(c).select()}},UE.commands.mergedown={queryCommandState:function(a){var b=e(this),c=b.table,d=b.cell;if(!c||!d)return-1;var f=h(c);if(f.selectedTds.length)return-1;var g=f.getCellInfo(d),i=g.rowIndex+g.rowSpan;if(i>=f.rowsNum)return-1;var j=f.indexTable[i][g.colIndex],k=c.rows[j.rowIndex].cells[j.cellIndex];return k&&d.tagName==k.tagName&&j.colIndex==g.colIndex&&j.colSpan==g.colSpan?0:-1},execCommand:function(){var a=this.selection.getRange(),b=a.createBookmark(!0),c=e(this).cell,d=h(c);d.mergeDown(c),a.moveToBookmark(b).select()}},UE.commands.mergecells={queryCommandState:function(){return f(this)?0:-1},execCommand:function(){var a=f(this);if(a&&a.selectedTds.length){var b=a.selectedTds[0];a.mergeRange();var c=this.selection.getRange();domUtils.isEmptyBlock(b)?c.setStart(b,0).collapse(!0):c.selectNodeContents(b),c.select()}}},UE.commands.insertrow={queryCommandState:function(){var a=e(this),b=a.cell;return b&&("TD"==b.tagName||"TH"==b.tagName&&a.tr!==a.table.rows[0])&&h(a.table).rowsNum0?-1:b&&(b.colSpan>1||b.rowSpan>1)?0:-1},execCommand:function(){var a=this.selection.getRange(),b=a.createBookmark(!0),c=e(this).cell,d=h(c);d.splitToCells(c),a.moveToBookmark(b).select()}},UE.commands.splittorows={queryCommandState:function(){var a=e(this),b=a.cell;if(!b)return-1;var c=h(a.table);return c.selectedTds.length>0?-1:b&&b.rowSpan>1?0:-1},execCommand:function(){var a=this.selection.getRange(),b=a.createBookmark(!0),c=e(this).cell,d=h(c);d.splitToRows(c),a.moveToBookmark(b).select()}},UE.commands.splittocols={queryCommandState:function(){var a=e(this),b=a.cell;if(!b)return-1;var c=h(a.table);return c.selectedTds.length>0?-1:b&&b.colSpan>1?0:-1},execCommand:function(){var a=this.selection.getRange(),b=a.createBookmark(!0),c=e(this).cell,d=h(c);d.splitToCols(c),a.moveToBookmark(b).select()}},UE.commands.adaptbytext=UE.commands.adaptbywindow={queryCommandState:function(){return e(this).table?0:-1},execCommand:function(b){var c=e(this),d=c.table;if(d)if("adaptbywindow"==b)a(d,this);else{var f=domUtils.getElementsByTagName(d,"td th");utils.each(f,function(a){a.removeAttribute("width")}),d.removeAttribute("width")}}},UE.commands.averagedistributecol={queryCommandState:function(){var a=f(this);return a&&(a.isFullRow()||a.isFullCol())?0:-1},execCommand:function(a){function b(){var a,b=e.table,c=0,f=0,h=g(d,b);if(e.isFullRow())c=b.offsetWidth,f=e.colsNum;else for(var i,j=e.cellsRange.beginColIndex,k=e.cellsRange.endColIndex,l=j;l<=k;)i=e.selectedTds[l],c+=i.offsetWidth,l+=i.colSpan,f+=1;return a=Math.ceil(c/f)-2*h.tdBorder-2*h.tdPadding}function c(a){utils.each(domUtils.getElementsByTagName(e.table,"th"),function(a){a.setAttribute("width","")});var b=e.isFullRow()?domUtils.getElementsByTagName(e.table,"td"):e.selectedTds;utils.each(b,function(b){1==b.colSpan&&b.setAttribute("width",a)})}var d=this,e=f(d);e&&e.selectedTds.length&&c(b())}},UE.commands.averagedistributerow={queryCommandState:function(){var a=f(this);return a?a.selectedTds&&/th/gi.test(a.selectedTds[0].tagName)?-1:a.isFullRow()||a.isFullCol()?0:-1:-1},execCommand:function(a){function b(){var a,b,c=0,f=e.table,h=g(d,f),i=parseInt(domUtils.getComputedStyle(f.getElementsByTagName("td")[0],"padding-top"));if(e.isFullCol()){var j,k,l=domUtils.getElementsByTagName(f,"caption"),m=domUtils.getElementsByTagName(f,"th");l.length>0&&(j=l[0].offsetHeight),m.length>0&&(k=m[0].offsetHeight),c=f.offsetHeight-(j||0)-(k||0),b=0==m.length?e.rowsNum:e.rowsNum-1}else{for(var n=e.cellsRange.beginRowIndex,o=e.cellsRange.endRowIndex,p=0,q=domUtils.getElementsByTagName(f,"tr"),r=n;r<=o;r++)c+=q[r].offsetHeight,p+=1;b=p}return a=browser.ie&&browser.version<9?Math.ceil(c/b):Math.ceil(c/b)-2*h.tdBorder-2*i}function c(a){var b=e.isFullCol()?domUtils.getElementsByTagName(e.table,"td"):e.selectedTds;utils.each(b,function(b){1==b.rowSpan&&b.setAttribute("height",a)})}var d=this,e=f(d);e&&e.selectedTds.length&&c(b())}},UE.commands.cellalignment={queryCommandState:function(){return e(this).table?0:-1},execCommand:function(a,b){var c=this,d=f(c);if(d)utils.each(d.selectedTds,function(a){domUtils.setAttributes(a,b)});else{var e=c.selection.getStart(),g=e&&domUtils.findParentByTagName(e,["td","th","caption"],!0);/caption/gi.test(g.tagName)?(g.style.textAlign=b.align,g.style.verticalAlign=b.vAlign):domUtils.setAttributes(g,b),c.selection.getRange().setCursor(!0)}},queryCommandValue:function(a){var b=e(this).cell;if(b||(b=c(this)[0]),b){var d=UE.UETable.getUETable(b).selectedTds;return!d.length&&(d=b),UE.UETable.getTableCellAlignState(d)}return null}},UE.commands.tablealignment={queryCommandState:function(){return browser.ie&&browser.version<8?-1:e(this).table?0:-1},execCommand:function(a,b){var c=this,d=c.selection.getStart(),e=d&&domUtils.findParentByTagName(d,["table"],!0);e&&e.setAttribute("align",b)}},UE.commands.edittable={queryCommandState:function(){return e(this).table?0:-1},execCommand:function(a,b){var c=this.selection.getRange(),d=domUtils.findParentByTagName(c.startContainer,"table");if(d){var e=domUtils.getElementsByTagName(d,"td").concat(domUtils.getElementsByTagName(d,"th"),domUtils.getElementsByTagName(d,"caption"));utils.each(e,function(a){a.style.borderColor=b})}}},UE.commands.edittd={queryCommandState:function(){return e(this).table?0:-1},execCommand:function(a,b){var c=this,d=f(c);if(d)utils.each(d.selectedTds,function(a){a.style.backgroundColor=b});else{var e=c.selection.getStart(),g=e&&domUtils.findParentByTagName(e,["td","th","caption"],!0);g&&(g.style.backgroundColor=b)}}},UE.commands.settablebackground={queryCommandState:function(){return c(this).length>1?0:-1},execCommand:function(a,b){var d,e;d=c(this),e=h(d[0]),e.setBackground(d,b)}},UE.commands.cleartablebackground={queryCommandState:function(){var a=c(this);if(!a.length)return-1;for(var b,d=0;b=a[d++];)if(""!==b.style.backgroundColor)return 0;return-1},execCommand:function(){var a=c(this),b=h(a[0]);b.removeBackground(a)}},UE.commands.interlacetable=UE.commands.uninterlacetable={queryCommandState:function(a){var b=e(this).table;if(!b)return-1;var c=b.getAttribute("interlaced");return"interlacetable"==a?"enabled"===c?-1:0:c&&"disabled"!==c?0:-1},execCommand:function(a,b){var c=e(this).table;"interlacetable"==a?(c.setAttribute("interlaced","enabled"),this.fireEvent("interlacetable",c,b)):(c.setAttribute("interlaced","disabled"),this.fireEvent("uninterlacetable",c))}},UE.commands.setbordervisible={queryCommandState:function(a){var b=e(this).table;return b?0:-1},execCommand:function(){var a=e(this).table;utils.each(domUtils.getElementsByTagName(a,"td"),function(a){a.style.borderWidth="1px",a.style.borderStyle="solid"})}}}(),UE.plugins.table=function(){function a(a){}function b(a,b){c(a,"width",!0),c(a,"height",!0)}function c(a,b,c){a.style[b]&&(c&&a.setAttribute(b,parseInt(a.style[b],10)),a.style[b]="")}function d(a){if("TD"==a.tagName||"TH"==a.tagName)return a;var b;return(b=domUtils.findParentByTagName(a,"td",!0)||domUtils.findParentByTagName(a,"th",!0))?b:null}function e(a){var b=new RegExp(domUtils.fillChar,"g");if(a[browser.ie?"innerText":"textContent"].replace(/^\s*$/,"").replace(b,"").length>0)return 0;for(var c in dtd.$isNotEmpty)if(a.getElementsByTagName(c).length)return 0;return 1}function f(a){return a.pageX||a.pageY?{x:a.pageX,y:a.pageY}:{x:a.clientX+N.document.body.scrollLeft-N.document.body.clientLeft,y:a.clientY+N.document.body.scrollTop-N.document.body.clientTop}}function g(b){if(!A())try{var c,e=d(b.target||b.srcElement);if(R&&(N.body.style.webkitUserSelect="none",(Math.abs(V.x-b.clientX)>T||Math.abs(V.y-b.clientY)>T)&&(t(),R=!1,U=0,v(b))),ca&&ha)return U=0,N.body.style.webkitUserSelect="none",N.selection.getNative()[browser.ie9below?"empty":"removeAllRanges"](),c=f(b),m(N,!0,ca,c,e),void("h"==ca?ga.style.left=k(ha,b)+"px":"v"==ca&&(ga.style.top=l(ha,b)+"px"));if(e){if(N.fireEvent("excludetable",e)===!0)return;c=f(b);var g=n(e,c),i=domUtils.findParentByTagName(e,"table",!0);if(j(i,e,b,!0)){if(N.fireEvent("excludetable",i)===!0)return;N.body.style.cursor="url("+N.options.cursorpath+"h.png),pointer"}else if(j(i,e,b)){if(N.fireEvent("excludetable",i)===!0)return;N.body.style.cursor="url("+N.options.cursorpath+"v.png),pointer"}else{N.body.style.cursor="text";/\d/.test(g)&&(g=g.replace(/\d/,""),e=Y(e).getPreviewCell(e,"v"==g)),m(N,!!e&&!!g,e?g:"",c,e)}}else h(!1,i,N)}catch(o){a(o)}}function h(a,b,c){if(a)i(b,c);else{if(fa)return;la=setTimeout(function(){!fa&&ea&&ea.parentNode&&ea.parentNode.removeChild(ea)},2e3)}}function i(a,b){function c(c,d){clearTimeout(g),g=setTimeout(function(){b.fireEvent("tableClicked",a,d)},300)}function d(c){clearTimeout(g);var d=Y(a),e=a.rows[0].cells[0],f=d.getLastCell(),h=d.getCellsRange(e,f);b.selection.getRange().setStart(e,0).setCursor(!1,!0),d.setSelected(h)}var e=domUtils.getXY(a),f=a.ownerDocument;if(ea&&ea.parentNode)return ea;ea=f.createElement("div"),ea.contentEditable=!1,ea.innerHTML="",ea.style.cssText="width:15px;height:15px;background-image:url("+b.options.UEDITOR_HOME_URL+"dialogs/table/dragicon.png);position: absolute;cursor:move;top:"+(e.y-15)+"px;left:"+e.x+"px;",domUtils.unSelectable(ea),ea.onmouseover=function(a){fa=!0},ea.onmouseout=function(a){fa=!1},domUtils.on(ea,"click",function(a,b){c(b,this)}),domUtils.on(ea,"dblclick",function(a,b){d(b)}),domUtils.on(ea,"dragstart",function(a,b){domUtils.preventDefault(b)});var g;f.body.appendChild(ea)}function j(a,b,c,d){var e=f(c),g=n(b,e);if(d){var h=a.getElementsByTagName("caption")[0],i=h?h.offsetHeight:0;return"v1"==g&&e.y-domUtils.getXY(a).y-i<8}return"h1"==g&&e.x-domUtils.getXY(a).x<8}function k(a,b){var c=Y(a);if(c){var d=c.getSameEndPosCells(a,"x")[0],e=c.getSameStartPosXCells(a)[0],g=f(b).x,h=(d?domUtils.getXY(d).x:domUtils.getXY(c.table).x)+20,i=e?domUtils.getXY(e).x+e.offsetWidth-20:N.body.offsetWidth+5||parseInt(domUtils.getComputedStyle(N.body,"width"),10);return h+=Q,i-=Q,gi?i:g}}function l(b,c){try{var d=domUtils.getXY(b).y,e=f(c).y;return ek[c]?(a=!1,!1):void l.push(d)});var b=a?l:k;utils.each(i,function(a,c){a.width=b[c]-G()})},0)}}}}function q(a){if(_(domUtils.getElementsByTagName(N.body,"td th")),utils.each(N.document.getElementsByTagName("table"),function(a){a.ueTable=null}),aa=M(N,a)){var b=domUtils.findParentByTagName(aa,"table",!0);ut=Y(b),ut&&ut.clearSelected(),da?r(a):(N.document.body.style.webkitUserSelect="",ia=!0,N.addListener("mouseover",x))}}function r(a){browser.ie&&(a=u(a)),t(),R=!0,O=setTimeout(function(){v(a)},W)}function s(a,b){for(var c=[],d=null,e=0,f=a.length;e0&&U--},W),2===U))return U=0,void p(b);if(2!=b.button){var c=this,d=c.selection.getRange(),e=domUtils.findParentByTagName(d.startContainer,"table",!0),f=domUtils.findParentByTagName(d.endContainer,"table",!0);if((e||f)&&(e===f?(e=domUtils.findParentByTagName(d.startContainer,["td","th","caption"],!0),f=domUtils.findParentByTagName(d.endContainer,["td","th","caption"],!0),e!==f&&c.selection.clearRange()):c.selection.clearRange()),ia=!1,c.document.body.style.webkitUserSelect="",ca&&ha&&(c.selection.getNative()[browser.ie9below?"empty":"removeAllRanges"](),U=0,ga=c.document.getElementById("ue_tableDragLine"))){var g=domUtils.getXY(ha),h=domUtils.getXY(ga);switch(ca){case"h":z(ha,h.x-g.x);break;case"v":B(ha,h.y-g.y-ha.offsetHeight)}return ca="",ha=null,I(c),void c.fireEvent("saveScene")}if(aa){var i=Y(aa),j=i?i.selectedTds[0]:null;if(j)d=new dom.Range(c.document),domUtils.isEmptyBlock(j)?d.setStart(j,0).setCursor(!1,!0):d.selectNodeContents(j).shrinkBoundary().setCursor(!1,!0);else if(d=c.selection.getRange().shrinkBoundary(),!d.collapsed){var e=domUtils.findParentByTagName(d.startContainer,["td","th"],!0),f=domUtils.findParentByTagName(d.endContainer,["td","th"],!0);(e&&!f||!e&&f||e&&f&&e!==f)&&d.setCursor(!1,!0)}aa=null,c.removeListener("mouseover",x)}else{var k=domUtils.findParentByTagName(b.target||b.srcElement,"td",!0);if(k||(k=domUtils.findParentByTagName(b.target||b.srcElement,"th",!0)),k&&("TD"==k.tagName||"TH"==k.tagName)){if(c.fireEvent("excludetable",k)===!0)return;d=new dom.Range(c.document),d.setStart(k,0).setCursor(!1,!0)}}c._selectionChange(250,b)}}}function x(a,b){if(!A()){var c=this,d=b.target||b.srcElement;if(ba=domUtils.findParentByTagName(d,"td",!0)||domUtils.findParentByTagName(d,"th",!0),aa&&ba&&("TD"==aa.tagName&&"TD"==ba.tagName||"TH"==aa.tagName&&"TH"==ba.tagName)&&domUtils.findParentByTagName(aa,"table")==domUtils.findParentByTagName(ba,"table")){var e=Y(ba);if(aa!=ba){c.document.body.style.webkitUserSelect="none",c.selection.getNative()[browser.ie9below?"empty":"removeAllRanges"]();var f=e.getCellsRange(aa,ba);e.setSelected(f)}else c.document.body.style.webkitUserSelect="",e.clearSelected()}b.preventDefault?b.preventDefault():b.returnValue=!1}}function y(a,b,c){var d=parseInt(domUtils.getComputedStyle(a,"line-height"),10),e=c+b;b=ef?(c&&g.push({left:a}),!1):void 0})}),g}function D(a,b,c){if(a-=G(),a<0)return 0;a-=E(b);var d=a<0?"left":"right";return a=Math.abs(a),utils.each(c,function(b){var c=b[d];c&&(a=Math.min(a,E(c)-Q))}),a=a<0?0:a,"left"===d?-a:a}function E(a){var b=0,b=a.offsetWidth-G();a.nextSibling||(b-=F(a)),b=b<0?0:b;try{a.width=b}catch(c){}return b}function F(a){if(tab=domUtils.findParentByTagName(a,"table",!1),void 0===tab.offsetVal){var b=a.previousSibling;b?tab.offsetVal=a.offsetWidth-b.offsetWidth===X.borderWidth?X.borderWidth:0:tab.offsetVal=0}return tab.offsetVal}function G(){if(void 0===X.tabcellSpace){var a=N.document.createElement("table"),b=N.document.createElement("tbody"),c=N.document.createElement("tr"),d=N.document.createElement("td"),e=null;d.style.cssText="border: 0;",d.width=1,c.appendChild(d),c.appendChild(e=d.cloneNode(!1)),b.appendChild(c),a.appendChild(b),a.style.cssText="visibility: hidden;",N.body.appendChild(a),X.paddingSpace=d.offsetWidth-1;var f=a.offsetWidth;d.style.cssText="",e.style.cssText="",X.borderWidth=(a.offsetWidth-f)/3,X.tabcellSpace=X.paddingSpace+X.borderWidth,N.body.removeChild(a)}return G=function(){return X.tabcellSpace},X.tabcellSpace}function H(a,b){ia||(ga=a.document.createElement("div"),domUtils.setAttributes(ga,{id:"ue_tableDragLine",unselectable:"on",contenteditable:!1,onresizestart:"return false",ondragstart:"return false",onselectstart:"return false",style:"background-color:blue;position:absolute;padding:0;margin:0;background-image:none;border:0px none;opacity:0;filter:alpha(opacity=0)"}),a.body.appendChild(ga))}function I(a){if(!ia)for(var b;b=a.document.getElementById("ue_tableDragLine");)domUtils.remove(b)}function J(a,b){if(b){var c,d=domUtils.findParentByTagName(b,"table"),e=d.getElementsByTagName("caption"),f=d.offsetWidth,g=d.offsetHeight-(e.length>0?e[0].offsetHeight:0),h=domUtils.getXY(d),i=domUtils.getXY(b);switch(a){case"h":c="height:"+g+"px;top:"+(h.y+(e.length>0?e[0].offsetHeight:0))+"px;left:"+(i.x+b.offsetWidth),ga.style.cssText=c+"px;position: absolute;display:block;background-color:blue;width:1px;border:0; color:blue;opacity:.3;filter:alpha(opacity=30)";break;case"v":c="width:"+f+"px;left:"+h.x+"px;top:"+(i.y+b.offsetHeight),ga.style.cssText=c+"px;overflow:hidden;position: absolute;display:block;background-color:blue;height:1px;border:0;color:blue;opacity:.2;filter:alpha(opacity=20)"}}}function K(a,b){for(var c,d,e=domUtils.getElementsByTagName(a.body,"table"),f=0;d=e[f++];){var g=domUtils.getElementsByTagName(d,"td");g[0]&&(b?(c=g[0].style.borderColor.replace(/\s/g,""),/(#ffffff)|(rgb\(255,255,255\))/gi.test(c)&&domUtils.addClass(d,"noBorderTable")):domUtils.removeClasses(d,"noBorderTable"))}}function L(a,b,c){var d=a.body;return d.offsetWidth-(b?2*parseInt(domUtils.getComputedStyle(d,"margin-left"),10):0)-2*c.tableBorder-(a.options.offsetWidth||0)}function M(a,b){var c=domUtils.findParentByTagName(b.target||b.srcElement,["td","th"],!0),d=null;if(!c)return null;if(d=n(c,f(b)),!c)return null;if("h1"===d&&c.previousSibling){var e=domUtils.getXY(c),g=c.offsetWidth;Math.abs(e.x+g-b.clientX)>g/3&&(c=c.previousSibling)}else if("v1"===d&&c.parentNode.previousSibling){var e=domUtils.getXY(c),h=c.offsetHeight;Math.abs(e.y+h-b.clientY)>h/3&&(c=c.parentNode.previousSibling.firstChild)}return c&&a.fireEvent("excludetable",c)!==!0?c:null}var N=this,O=null,P=null,Q=5,R=!1,S=5,T=10,U=0,V=null,W=360,X=UE.UETable,Y=function(a){return X.getUETable(a)},Z=function(a){return X.getUETableBySelected(a)},$=function(a,b){return X.getDefaultValue(a,b)},_=function(a){return X.removeSelectedClass(a)};N.ready(function(){var a=this,b=a.selection.getText;a.selection.getText=function(){var c=Z(a);if(c){var d="";return utils.each(c.selectedTds,function(a){d+=a[browser.ie?"innerText":"textContent"]}),d}return b.call(a.selection)}});var aa=null,ba=null,ca="",da=!1,ea=null,fa=!1,ga=null,ha=null,ia=!1,ja=!0;N.setOpt({maxColNum:20,maxRowNum:100,defaultCols:5,defaultRows:5,tdvalign:"top",cursorpath:N.options.UEDITOR_HOME_URL+"themes/default/images/cursor_",tableDragable:!1,classList:["ue-table-interlace-color-single","ue-table-interlace-color-double"]}),N.getUETable=Y;var ka={deletetable:1,inserttable:1,cellvalign:1,insertcaption:1,deletecaption:1,inserttitle:1,deletetitle:1,mergeright:1,mergedown:1,mergecells:1,insertrow:1,insertrownext:1,deleterow:1,insertcol:1,insertcolnext:1,deletecol:1,splittocells:1,splittorows:1,splittocols:1,adaptbytext:1,adaptbywindow:1,adaptbycustomer:1,insertparagraph:1,insertparagraphbeforetable:1,averagedistributecol:1,averagedistributerow:1};N.ready(function(){utils.cssRule("table",".selectTdClass{background-color:#edf5fa !important}table.noBorderTable td,table.noBorderTable th,table.noBorderTable caption{border:1px dashed #ddd !important}table{margin-bottom:10px;border-collapse:collapse;display:table;}td,th{padding: 5px 10px;border: 1px solid #DDD;}caption{border:1px dashed #DDD;border-bottom:0;padding:3px;text-align:center;}th{border-top:1px solid #BBB;background-color:#F7F7F7;}table tr.firstRow th{border-top-width:2px;}.ue-table-interlace-color-single{ background-color: #fcfcfc; } .ue-table-interlace-color-double{ background-color: #f7faff; }td p{margin:0;padding:0;}",N.document);var a,c,f;N.addListener("keydown",function(b,d){var g=this,h=d.keyCode||d.which;if(8==h){var i=Z(g);i&&i.selectedTds.length&&(i.isFullCol()?g.execCommand("deletecol"):i.isFullRow()?g.execCommand("deleterow"):g.fireEvent("delcells"),domUtils.preventDefault(d));var j=domUtils.findParentByTagName(g.selection.getStart(),"caption",!0),k=g.selection.getRange();if(k.collapsed&&j&&e(j)){g.fireEvent("saveScene");var l=j.parentNode;domUtils.remove(j),l&&k.setStart(l.rows[0].cells[0],0).setCursor(!1,!0),g.fireEvent("saveScene")}}if(46==h&&(i=Z(g))){g.fireEvent("saveScene");for(var m,n=0;m=i.selectedTds[n++];)domUtils.fillNode(g.document,m);g.fireEvent("saveScene"),domUtils.preventDefault(d)}if(13==h){var o=g.selection.getRange(),j=domUtils.findParentByTagName(o.startContainer,"caption",!0);if(j){var l=domUtils.findParentByTagName(j,"table");return o.collapsed?j&&o.setStart(l.rows[0].cells[0],0).setCursor(!1,!0):(o.deleteContents(),g.fireEvent("saveScene")),void domUtils.preventDefault(d)}if(o.collapsed){var l=domUtils.findParentByTagName(o.startContainer,"table");if(l){var p=l.rows[0].cells[0],q=domUtils.findParentByTagName(g.selection.getStart(),["td","th"],!0),r=l.previousSibling;if(p===q&&(!r||1==r.nodeType&&"TABLE"==r.tagName)&&domUtils.isStartInblock(o)){var s=domUtils.findParent(g.selection.getStart(),function(a){return domUtils.isBlockElm(a)},!0);s&&(/t(h|d)/i.test(s.tagName)||s===q.firstChild)&&(g.execCommand("insertparagraphbeforetable"),domUtils.preventDefault(d))}}}}if((d.ctrlKey||d.metaKey)&&"67"==d.keyCode){a=null;var i=Z(g);if(i){var t=i.selectedTds;c=i.isFullCol(),f=i.isFullRow(),a=[[i.cloneCell(t[0],null,!0)]];for(var m,n=1;m=t[n];n++)m.parentNode!==t[n-1].parentNode?a.push([i.cloneCell(m,null,!0)]):a[a.length-1].push(i.cloneCell(m,null,!0))}}}),N.addListener("tablehasdeleted",function(){m(this,!1,"",null),ea&&domUtils.remove(ea)}),N.addListener("beforepaste",function(d,g){var h=this,i=h.selection.getRange();if(domUtils.findParentByTagName(i.startContainer,"caption",!0)){var j=h.document.createElement("div");return j.innerHTML=g.html,void(g.html=j[browser.ie9below?"innerText":"textContent"])}var k=Z(h);if(a){h.fireEvent("saveScene");var l,m,i=h.selection.getRange(),n=domUtils.findParentByTagName(i.startContainer,["td","th"],!0);if(n){var o=Y(n);if(f){var p=o.getCellInfo(n).rowIndex;"TH"==n.tagName&&p++;for(var q,r=0;q=a[r++];){for(var s,t=o.insertRow(p++,"td"),u=0;s=q[u];u++){var v=t.cells[u];v||(v=t.insertCell(u)),v.innerHTML=s.innerHTML,s.getAttribute("width")&&v.setAttribute("width",s.getAttribute("width")),s.getAttribute("vAlign")&&v.setAttribute("vAlign",s.getAttribute("vAlign")),s.getAttribute("align")&&v.setAttribute("align",s.getAttribute("align")),s.style.cssText&&(v.style.cssText=s.style.cssText)}for(var s,u=0;(s=t.cells[u])&&q[u];u++)s.innerHTML=q[u].innerHTML,q[u].getAttribute("width")&&s.setAttribute("width",q[u].getAttribute("width")),q[u].getAttribute("vAlign")&&s.setAttribute("vAlign",q[u].getAttribute("vAlign")),q[u].getAttribute("align")&&s.setAttribute("align",q[u].getAttribute("align")),q[u].style.cssText&&(s.style.cssText=q[u].style.cssText)}}else{if(c){y=o.getCellInfo(n);for(var s,w=0,u=0,q=a[0];s=q[u++];)w+=s.colSpan||1;for(h.__hasEnterExecCommand=!0,r=0;r1&&(x.rowSpan=1)}var z=$(h),A=h.body.offsetWidth-(ja?2*parseInt(domUtils.getComputedStyle(h.body,"margin-left"),10):0)-2*z.tableBorder-(h.options.offsetWidth||0);h.execCommand("insertHTML",""+k.innerHTML.replace(/>\s*<").replace(/\bth\b/gi,"td")+"
      ")}return h.fireEvent("contentchange"),h.fireEvent("saveScene"),g.html="",!0}var B,j=h.document.createElement("div");j.innerHTML=g.html,B=j.getElementsByTagName("table"),domUtils.findParentByTagName(h.selection.getStart(),"table")?(utils.each(B,function(a){domUtils.remove(a)}),domUtils.findParentByTagName(h.selection.getStart(),"caption",!0)&&(j.innerHTML=j[browser.ie?"innerText":"textContent"])):utils.each(B,function(a){b(a,!0),domUtils.removeAttributes(a,["style","border"]),utils.each(domUtils.getElementsByTagName(a,"td"),function(a){e(a)&&domUtils.fillNode(h.document,a),b(a,!0)})}),g.html=j.innerHTML}),N.addListener("afterpaste",function(){utils.each(domUtils.getElementsByTagName(N.body,"table"),function(a){if(a.offsetWidth>N.body.offsetWidth){var b=$(N,a);a.style.width=N.body.offsetWidth-(ja?2*parseInt(domUtils.getComputedStyle(N.body,"margin-left"),10):0)-2*b.tableBorder-(N.options.offsetWidth||0)+"px"}})}),N.addListener("blur",function(){a=null});var i;N.addListener("keydown",function(){clearTimeout(i),i=setTimeout(function(){var a=N.selection.getRange(),b=domUtils.findParentByTagName(a.startContainer,["th","td"],!0);if(b){var c=b.parentNode.parentNode.parentNode;c.offsetWidth>c.getAttribute("width")&&(b.style.wordBreak="break-all")}},100)}),N.addListener("selectionchange",function(){m(N,!1,"",null)}),N.addListener("contentchange",function(){var a=this;if(I(a),!Z(a)){var b=a.selection.getRange(),c=b.startContainer;c=domUtils.findParentByTagName(c,["td","th"],!0),utils.each(domUtils.getElementsByTagName(a.document,"table"),function(b){a.fireEvent("excludetable",b)!==!0&&(b.ueTable=new X(b),b.onmouseover=function(){a.fireEvent("tablemouseover",b)},b.onmousemove=function(){a.fireEvent("tablemousemove",b),a.options.tableDragable&&h(!0,this,a),utils.defer(function(){a.fireEvent("contentchange",50)},!0)},b.onmouseout=function(){a.fireEvent("tablemouseout",b),m(a,!1,"",null),I(a)},b.onclick=function(b){b=a.window.event||b;var c=d(b.target||b.srcElement);if(c){var e,f=Y(c),g=f.table,h=f.getCellInfo(c),i=a.selection.getRange();if(j(g,c,b,!0)){var k=f.getCell(f.indexTable[f.rowsNum-1][h.colIndex].rowIndex,f.indexTable[f.rowsNum-1][h.colIndex].cellIndex);return void(b.shiftKey&&f.selectedTds.length?f.selectedTds[0]!==k?(e=f.getCellsRange(f.selectedTds[0],k),f.setSelected(e)):i&&i.selectNodeContents(k).select():c!==k?(e=f.getCellsRange(c,k),f.setSelected(e)):i&&i.selectNodeContents(k).select())}if(j(g,c,b)){var l=f.getCell(f.indexTable[h.rowIndex][f.colsNum-1].rowIndex,f.indexTable[h.rowIndex][f.colsNum-1].cellIndex);b.shiftKey&&f.selectedTds.length?f.selectedTds[0]!==l?(e=f.getCellsRange(f.selectedTds[0],l),f.setSelected(e)):i&&i.selectNodeContents(l).select():c!==l?(e=f.getCellsRange(c,l),f.setSelected(e)):i&&i.selectNodeContents(l).select()}}})}),K(a,!0)}}),domUtils.on(N.document,"mousemove",g),domUtils.on(N.document,"mouseout",function(a){var b=a.target||a.srcElement;"TABLE"==b.tagName&&m(N,!1,"",null)}),N.addListener("interlacetable",function(a,b,c){if(b)for(var d=this,e=b.rows,f=e.length,g=function(a,b,c){return a[b]?a[b]:c?a[b%a.length]:""},h=0;h1?k:f.getCellInfo(d).rowIndex;var g=f.getTabNextCell(d,k);g?e(g)?a.setStart(g,0).setCursor(!1,!0):a.selectNodeContents(g).select():(N.fireEvent("saveScene"),N.__hasEnterExecCommand=!0,this.execCommand("insertrownext"),N.__hasEnterExecCommand=!1,a=this.selection.getRange(),a.setStart(c.rows[c.rows.length-1].cells[0],0).setCursor(),N.fireEvent("saveScene"))}return!0}}),browser.ie&&N.addListener("selectionchange",function(){m(this,!1,"",null)}),N.addListener("keydown",function(a,b){var c=this,d=b.keyCode||b.which;if(8!=d&&46!=d){var e=!(b.ctrlKey||b.metaKey||b.shiftKey||b.altKey);e&&_(domUtils.getElementsByTagName(c.body,"td"));var f=Z(c);f&&e&&f.clearSelected()}}),N.addListener("beforegetcontent",function(){K(this,!1),browser.ie&&utils.each(this.document.getElementsByTagName("caption"),function(a){domUtils.isEmptyNode(a)&&(a.innerHTML=" ")})}),N.addListener("aftergetcontent",function(){K(this,!0)}),N.addListener("getAllHtml",function(){_(N.document.getElementsByTagName("td"))}),N.addListener("fullscreenchanged",function(a,b){if(!b){var c=this.body.offsetWidth/document.body.offsetWidth,d=domUtils.getElementsByTagName(this.body,"table");utils.each(d,function(a){if(a.offsetWidth1||c[e].getAttribute("rowspan")>1)return-1;return b?"enablesort"==a^"sortEnabled"!=b.getAttribute("data-sort")?-1:0:-1},execCommand:function(a){var b=d(this).table;b.setAttribute("data-sort","enablesort"==a?"sortEnabled":"sortDisabled"),"enablesort"==a?domUtils.addClass(b,"sortEnabled"):domUtils.removeClasses(b,"sortEnabled")}}},UE.plugins.contextmenu=function(){var a=this;if(a.setOpt("enableContextMenu",!0),a.getOpt("enableContextMenu")!==!1){var b,c=a.getLang("contextMenu"),d=a.options.contextMenu||[{label:c.selectall,cmdName:"selectall"},{label:c.cleardoc,cmdName:"cleardoc",exec:function(){confirm(c.confirmclear)&&this.execCommand("cleardoc")}},"-",{label:c.unlink,cmdName:"unlink"},"-",{group:c.paragraph,icon:"justifyjustify",subMenu:[{label:c.justifyleft,cmdName:"justify",value:"left"},{label:c.justifyright,cmdName:"justify",value:"right"},{label:c.justifycenter,cmdName:"justify",value:"center"},{label:c.justifyjustify,cmdName:"justify",value:"justify"}]},"-",{group:c.table,icon:"table",subMenu:[{label:c.inserttable,cmdName:"inserttable"},{label:c.deletetable,cmdName:"deletetable"},"-",{label:c.deleterow,cmdName:"deleterow"},{label:c.deletecol,cmdName:"deletecol"},{label:c.insertcol,cmdName:"insertcol"},{label:c.insertcolnext,cmdName:"insertcolnext"},{label:c.insertrow,cmdName:"insertrow"},{label:c.insertrownext,cmdName:"insertrownext"},"-",{label:c.insertcaption,cmdName:"insertcaption"},{label:c.deletecaption,cmdName:"deletecaption"},{label:c.inserttitle,cmdName:"inserttitle"},{label:c.deletetitle,cmdName:"deletetitle"},{label:c.inserttitlecol,cmdName:"inserttitlecol"},{label:c.deletetitlecol,cmdName:"deletetitlecol"},"-",{label:c.mergecells,cmdName:"mergecells"},{label:c.mergeright,cmdName:"mergeright"},{label:c.mergedown,cmdName:"mergedown"},"-",{label:c.splittorows,cmdName:"splittorows"},{label:c.splittocols,cmdName:"splittocols"},{label:c.splittocells,cmdName:"splittocells"},"-",{label:c.averageDiseRow,cmdName:"averagedistributerow"},{label:c.averageDisCol,cmdName:"averagedistributecol"},"-",{label:c.edittd,cmdName:"edittd",exec:function(){UE.ui.edittd&&new UE.ui.edittd(this),this.getDialog("edittd").open()}},{label:c.edittable,cmdName:"edittable",exec:function(){UE.ui.edittable&&new UE.ui.edittable(this),this.getDialog("edittable").open()}},{label:c.setbordervisible,cmdName:"setbordervisible"}]},{group:c.tablesort,icon:"tablesort",subMenu:[{label:c.enablesort,cmdName:"enablesort"},{label:c.disablesort,cmdName:"disablesort"},"-",{label:c.reversecurrent,cmdName:"sorttable",value:"reversecurrent"},{label:c.orderbyasc,cmdName:"sorttable",value:"orderbyasc"},{label:c.reversebyasc,cmdName:"sorttable",value:"reversebyasc"},{label:c.orderbynum,cmdName:"sorttable",value:"orderbynum"},{label:c.reversebynum,cmdName:"sorttable",value:"reversebynum"}]},{group:c.borderbk,icon:"borderBack",subMenu:[{label:c.setcolor,cmdName:"interlacetable",exec:function(){this.execCommand("interlacetable")}},{label:c.unsetcolor,cmdName:"uninterlacetable",exec:function(){this.execCommand("uninterlacetable")}},{label:c.setbackground,cmdName:"settablebackground",exec:function(){this.execCommand("settablebackground",{repeat:!0,colorList:["#bbb","#ccc"]})}},{label:c.unsetbackground,cmdName:"cleartablebackground",exec:function(){this.execCommand("cleartablebackground")}},{label:c.redandblue,cmdName:"settablebackground",exec:function(){this.execCommand("settablebackground",{repeat:!0,colorList:["red","blue"]})}},{label:c.threecolorgradient,cmdName:"settablebackground",exec:function(){this.execCommand("settablebackground",{repeat:!0,colorList:["#aaa","#bbb","#ccc"]})}}]},{group:c.aligntd,icon:"aligntd",subMenu:[{cmdName:"cellalignment",value:{align:"left",vAlign:"top"}},{cmdName:"cellalignment",value:{align:"center",vAlign:"top"}},{cmdName:"cellalignment",value:{align:"right",vAlign:"top"}},{cmdName:"cellalignment",value:{align:"left",vAlign:"middle"}},{cmdName:"cellalignment",value:{align:"center",vAlign:"middle"}},{cmdName:"cellalignment",value:{align:"right",vAlign:"middle"}},{cmdName:"cellalignment",value:{align:"left",vAlign:"bottom"}},{cmdName:"cellalignment",value:{align:"center",vAlign:"bottom"}},{cmdName:"cellalignment",value:{align:"right",vAlign:"bottom"}}]},{group:c.aligntable,icon:"aligntable",subMenu:[{cmdName:"tablealignment",className:"left",label:c.tableleft,value:"left"},{cmdName:"tablealignment",className:"center",label:c.tablecenter,value:"center"},{cmdName:"tablealignment",className:"right",label:c.tableright,value:"right"}]},"-",{label:c.insertparagraphbefore,cmdName:"insertparagraph",value:!0},{label:c.insertparagraphafter,cmdName:"insertparagraph"},{label:c.copy,cmdName:"copy"},{label:c.paste,cmdName:"paste"}];if(d.length){var e=UE.ui.uiUtils;a.addListener("contextmenu",function(f,g){var h=e.getViewportOffsetByEvent(g);a.fireEvent("beforeselectionchange"),b&&b.destroy();for(var i,j=0,k=[];i=d[j];j++){var l;!function(b){function d(){switch(b.icon){case"table":return a.getLang("contextMenu.table");case"justifyjustify":return a.getLang("contextMenu.paragraph");case"aligntd":return a.getLang("contextMenu.aligntd");case"aligntable":return a.getLang("contextMenu.aligntable");case"tablesort":return c.tablesort;case"borderBack":return c.borderbk;default:return""}}if("-"==b)(l=k[k.length-1])&&"-"!==l&&k.push("-");else if(b.hasOwnProperty("group")){for(var e,f=0,g=[];e=b.subMenu[f];f++)!function(b){"-"==b?(l=g[g.length-1])&&"-"!==l?g.push("-"):g.splice(g.length-1):(a.commands[b.cmdName]||UE.commands[b.cmdName]||b.query)&&(b.query?b.query():a.queryCommandState(b.cmdName))>-1&&g.push({label:b.label||a.getLang("contextMenu."+b.cmdName+(b.value||""))||"",className:"edui-for-"+b.cmdName+(b.className?" edui-for-"+b.cmdName+"-"+b.className:""),onclick:b.exec?function(){b.exec.call(a)}:function(){a.execCommand(b.cmdName,b.value)}})}(e);g.length&&k.push({label:d(),className:"edui-for-"+b.icon,subMenu:{items:g,editor:a}})}else(a.commands[b.cmdName]||UE.commands[b.cmdName]||b.query)&&(b.query?b.query.call(a):a.queryCommandState(b.cmdName))>-1&&k.push({label:b.label||a.getLang("contextMenu."+b.cmdName),className:"edui-for-"+(b.icon?b.icon:b.cmdName+(b.value||"")),onclick:b.exec?function(){b.exec.call(a)}:function(){a.execCommand(b.cmdName,b.value)}})}(i)}if("-"==k[k.length-1]&&k.pop(),b=new UE.ui.Menu({items:k,className:"edui-contextmenu",editor:a}),b.render(),b.showAt(h),a.fireEvent("aftershowcontextmenu",b),domUtils.preventDefault(g),browser.ie){var m;try{m=a.selection.getNative().createRange()}catch(n){return}if(m.item){var o=new dom.Range(a.document);o.selectNode(m.item(0)).select(!0,!0)}}}),a.addListener("aftershowcontextmenu",function(b,c){if(a.zeroclipboard){var d=c.items;for(var e in d)"edui-for-copy"==d[e].className&&a.zeroclipboard.clip(d[e].getDom())}})}}},UE.plugins.shortcutmenu=function(){var a,b=this,c=b.options.shortcutMenu||[];c.length&&(b.addListener("contextmenu mouseup",function(b,d){var e=this,f={type:b,target:d.target||d.srcElement,screenX:d.screenX,screenY:d.screenY,clientX:d.clientX,clientY:d.clientY};if(setTimeout(function(){var d=e.selection.getRange();d.collapsed!==!1&&"contextmenu"!=b||(a||(a=new baidu.editor.ui.ShortCutMenu({editor:e,items:c,theme:e.options.theme,className:"edui-shortcutmenu"}),a.render(),e.fireEvent("afterrendershortcutmenu",a)),a.show(f,!!UE.plugins.contextmenu))}),"contextmenu"==b&&(domUtils.preventDefault(d),browser.ie9below)){var g;try{g=e.selection.getNative().createRange()}catch(d){return}if(g.item){var h=new dom.Range(e.document);h.selectNode(g.item(0)).select(!0,!0)}}}),b.addListener("keydown",function(b){"keydown"==b&&a&&!a.isHidden&&a.hide()}))},UE.plugins.basestyle=function(){var a={bold:["strong","b"],italic:["em","i"],subscript:["sub"],superscript:["sup"]},b=function(a,b){return domUtils.filterNodeList(a.selection.getStartElementPath(),b)},c=this;c.addshortcutkey({Bold:"ctrl+66",Italic:"ctrl+73",Underline:"ctrl+85"}),c.addInputRule(function(a){utils.each(a.getNodesByTagName("b i"),function(a){switch(a.tagName){case"b":a.tagName="strong";break;case"i":a.tagName="em"}})});for(var d in a)!function(a,d){c.commands[a]={execCommand:function(a){var e=c.selection.getRange(),f=b(this,d);if(e.collapsed){if(f){var g=c.document.createTextNode("");e.insertNode(g).removeInlineStyle(d),e.setStartBefore(g),domUtils.remove(g)}else{var h=e.document.createElement(d[0]);"superscript"!=a&&"subscript"!=a||(g=c.document.createTextNode(""),e.insertNode(g).removeInlineStyle(["sub","sup"]).setStartBefore(g).collapse(!0)),e.insertNode(h).setStart(h,0)}e.collapse(!0)}else"superscript"!=a&&"subscript"!=a||f&&f.tagName.toLowerCase()==a||e.removeInlineStyle(["sub","sup"]),f?e.removeInlineStyle(d):e.applyInlineStyle(d[0]);e.select()},queryCommandState:function(){return b(this,d)?1:0}}}(d,a[d])},UE.plugins.elementpath=function(){var a,b,c=this;c.setOpt("elementPathEnabled",!0),c.options.elementPathEnabled&&(c.commands.elementpath={execCommand:function(d,e){var f=b[e],g=c.selection.getRange();a=1*e,g.selectNode(f).select()},queryCommandValue:function(){var c=[].concat(this.selection.getStartElementPath()).reverse(),d=[];b=c;for(var e,f=0;e=c[f];f++)if(3!=e.nodeType){var g=e.tagName.toLowerCase();if("img"==g&&e.getAttribute("anchorname")&&(g="anchor"),d[f]=g,a==f){a=-1;break}}return d}})},UE.plugins.formatmatch=function(){function a(f,g){function h(a){return m&&a.selectNode(m),a.applyInlineStyle(d[d.length-1].tagName,null,d)}if(browser.webkit)var i="IMG"==g.target.tagName?g.target:null;c.undoManger&&c.undoManger.save();var j=c.selection.getRange(),k=i||j.getClosedNode();if(b&&k&&"IMG"==k.tagName)k.style.cssText+=";float:"+(b.style.cssFloat||b.style.styleFloat||"none")+";display:"+(b.style.display||"inline"),b=null;else if(!b){var l=j.collapsed;if(l){var m=c.document.createTextNode("match");j.insertNode(m).select()}c.__hasEnterExecCommand=!0;var n=c.options.removeFormatAttributes;c.options.removeFormatAttributes="",c.execCommand("removeformat"),c.options.removeFormatAttributes=n,c.__hasEnterExecCommand=!1,j=c.selection.getRange(),d.length&&h(j),m&&j.setStartBefore(m).collapse(!0),j.select(),m&&domUtils.remove(m)}c.undoManger&&c.undoManger.save(),c.removeListener("mouseup",a),e=0}var b,c=this,d=[],e=0;c.addListener("reset",function(){d=[],e=0}),c.commands.formatmatch={execCommand:function(f){if(e)return e=0,d=[],void c.removeListener("mouseup",a);var g=c.selection.getRange();if(b=g.getClosedNode(),!b||"IMG"!=b.tagName){g.collapse(!0).shrinkBoundary();var h=g.startContainer;d=domUtils.findParents(h,!0,function(a){return!domUtils.isBlockElm(a)&&1==a.nodeType});for(var i,j=0;i=d[j];j++)if("A"==i.tagName){d.splice(j,1);break}}c.addListener("mouseup",a),e=1},queryCommandState:function(){return e},notNeedUndo:1}},UE.plugin.register("searchreplace",function(){function a(a,b,c){var d=b.searchStr;b.dir==-1&&(a=a.split("").reverse().join(""),d=d.split("").reverse().join(""),c=a.length-c);for(var e,f=new RegExp(d,"g"+(b.casesensitive?"":"i"));e=f.exec(a);)if(e.index>=c)return b.dir==-1?a.length-e.index-b.searchStr.length:e.index;return-1}function b(b,c,d){var e,f,h=d.all||1==d.dir?"getNextDomNode":"getPreDomNode";domUtils.isBody(b)&&(b=b.firstChild);for(var i=1;b;){if(e=3==b.nodeType?b.nodeValue:b[browser.ie?"innerText":"textContent"],f=a(e,d,c),i=0,f!=-1)return{node:b,index:f};for(b=domUtils[h](b);b&&g[b.nodeName.toLowerCase()];)b=domUtils[h](b,!0);b&&(c=d.dir==-1?(3==b.nodeType?b.nodeValue:b[browser.ie?"innerText":"textContent"]).length:0)}}function c(a,b,d){for(var e,f=0,g=a.firstChild,h=0;g;){if(3==g.nodeType){if(h=g.nodeValue.replace(/(^[\t\r\n]+)|([\t\r\n]+$)/,"").length,f+=h,f>=b)return{node:g,index:h-(f-b)}}else if(!dtd.$empty[g.tagName]&&(h=g[browser.ie?"innerText":"textContent"].replace(/(^[\t\r\n]+)|([\t\r\n]+$)/,"").length,f+=h,f>=b&&(e=c(g,h-(f-b),d))))return e;g=domUtils.getNextDomNode(g)}}function d(a,d){var f,g=a.selection.getRange(),h=d.searchStr,i=a.document.createElement("span");if(i.innerHTML="$$ueditor_searchreplace_key$$",g.shrinkBoundary(!0),!g.collapsed){g.select();var j=a.selection.getText();if(new RegExp("^"+d.searchStr+"$",d.casesensitive?"":"i").test(j)){if(void 0!=d.replaceStr)return e(g,d.replaceStr),g.select(),!0;g.collapse(d.dir==-1)}}g.insertNode(i),g.enlargeToBlockElm(!0),f=g.startContainer;var k=f[browser.ie?"innerText":"textContent"].indexOf("$$ueditor_searchreplace_key$$");g.setStartBefore(i),domUtils.remove(i);var l=b(f,k,d);if(l){var m=c(l.node,l.index,h),n=c(l.node,l.index+h.length,h);return g.setStart(m.node,m.index).setEnd(n.node,n.index),void 0!==d.replaceStr&&e(g,d.replaceStr),g.select(),!0}g.setCursor()}function e(a,b){b=f.document.createTextNode(b),a.deleteContents().insertNode(b)}var f=this,g={table:1,tbody:1,tr:1,ol:1,ul:1};return{commands:{searchreplace:{execCommand:function(a,b){utils.extend(b,{all:!1,casesensitive:!1,dir:1},!0);var c=0;if(b.all){var e=f.selection.getRange(),g=f.body.firstChild;for(g&&1==g.nodeType?(e.setStart(g,0),e.shrinkBoundary(!0)):3==g.nodeType&&e.setStartBefore(g),e.collapse(!0).select(!0),void 0!==b.replaceStr&&f.fireEvent("saveScene");d(this,b);)c++;c&&f.fireEvent("saveScene")}else void 0!==b.replaceStr&&f.fireEvent("saveScene"),d(this,b)&&c++,c&&f.fireEvent("saveScene");return c},notNeedUndo:1}}}}),UE.plugins.customstyle=function(){var a=this;a.setOpt({customstyle:[{tag:"h1",name:"tc",style:"font-size:32px;font-weight:bold;border-bottom:#ccc 2px solid;padding:0 4px 0 0;text-align:center;margin:0 0 20px 0;"},{tag:"h1",name:"tl",style:"font-size:32px;font-weight:bold;border-bottom:#ccc 2px solid;padding:0 4px 0 0;text-align:left;margin:0 0 10px 0;"},{tag:"span",name:"im",style:"font-size:16px;font-style:italic;font-weight:bold;line-height:18px;"},{tag:"span",name:"hi",style:"font-size:16px;font-style:italic;font-weight:bold;color:rgb(51, 153, 204);line-height:18px;"}]}),a.commands.customstyle={execCommand:function(a,b){var c,d,e=this,f=b.tag,g=domUtils.findParent(e.selection.getStart(),function(a){return a.getAttribute("label")},!0),h={};for(var i in b)void 0!==b[i]&&(h[i]=b[i]);if(delete h.tag,g&&g.getAttribute("label")==b.label){if(c=this.selection.getRange(),d=c.createBookmark(),c.collapsed)if(dtd.$block[g.tagName]){var j=e.document.createElement("p");domUtils.moveChild(g,j),g.parentNode.insertBefore(j,g),domUtils.remove(g)}else domUtils.remove(g,!0);else{var k=domUtils.getCommonAncestor(d.start,d.end),l=domUtils.getElementsByTagName(k,f);new RegExp(f,"i").test(k.tagName)&&l.push(k);for(var m,n=0;m=l[n++];)if(m.getAttribute("label")==b.label){var o=domUtils.getPosition(m,d.start),p=domUtils.getPosition(m,d.end);if((o&domUtils.POSITION_FOLLOWING||o&domUtils.POSITION_CONTAINS)&&(p&domUtils.POSITION_PRECEDING||p&domUtils.POSITION_CONTAINS)&&dtd.$block[f]){var j=e.document.createElement("p");domUtils.moveChild(m,j),m.parentNode.insertBefore(j,m)}domUtils.remove(m,!0)}g=domUtils.findParent(k,function(a){return a.getAttribute("label")==b.label},!0),g&&domUtils.remove(g,!0)}c.moveToBookmark(d).select()}else if(dtd.$block[f]){if(this.execCommand("paragraph",f,h,"customstyle"),c=e.selection.getRange(),!c.collapsed){c.collapse(),g=domUtils.findParent(e.selection.getStart(),function(a){return a.getAttribute("label")==b.label},!0);var q=e.document.createElement("p");domUtils.insertAfter(g,q),domUtils.fillNode(e.document,q),c.setStart(q,0).setCursor()}}else{if(c=e.selection.getRange(),c.collapsed)return g=e.document.createElement(f),domUtils.setAttributes(g,h),void c.insertNode(g).setStart(g,0).setCursor();d=c.createBookmark(),c.applyInlineStyle(f,h).moveToBookmark(d).select()}},queryCommandValue:function(){var a=domUtils.filterNodeList(this.selection.getStartElementPath(),function(a){return a.getAttribute("label")});return a?a.getAttribute("label"):""}},a.addListener("keyup",function(b,c){var d=c.keyCode||c.which;if(32==d||13==d){var e=a.selection.getRange();if(e.collapsed){var f=domUtils.findParent(a.selection.getStart(),function(a){return a.getAttribute("label")},!0);if(f&&dtd.$block[f.tagName]&&domUtils.isEmptyNode(f)){var g=a.document.createElement("p");domUtils.insertAfter(f,g),domUtils.fillNode(a.document,g),domUtils.remove(f),e.setStart(g,0).setCursor()}}}})},UE.plugins.catchremoteimage=function(){var me=this,ajax=UE.ajax;me.options.catchRemoteImageEnable!==!1&&(me.setOpt({catchRemoteImageEnable:!1}),me.addListener("afterpaste",function(){me.fireEvent("catchRemoteImage")}),me.addListener("catchRemoteImage",function(){function catchremoteimage(a,b){var c=utils.serializeParam(me.queryCommandValue("serverparam"))||"",d=utils.formatUrl(catcherActionUrl+(catcherActionUrl.indexOf("?")==-1?"?":"&")+c),e=utils.isCrossDomainUrl(d),f={method:"POST",dataType:e?"jsonp":"",timeout:6e4,onsuccess:b.success,onerror:b.error};f[catcherFieldName]=a,ajax.request(d,f)}for(var catcherLocalDomain=me.getOpt("catcherLocalDomain"),catcherActionUrl=me.getActionUrl(me.getOpt("catcherActionName")),catcherUrlPrefix=me.getOpt("catcherUrlPrefix"),catcherFieldName=me.getOpt("catcherFieldName"),remoteImages=[],imgs=domUtils.getElementsByTagName(me.document,"img"),test=function(a,b){if(a.indexOf(location.host)!=-1||/(^\.)|(^\/)/.test(a))return!0;if(b)for(var c,d=0;c=b[d++];)if(a.indexOf(c)!==-1)return!0;return!1},i=0,ci;ci=imgs[i++];)if(!ci.getAttribute("word_img")){var src=ci.getAttribute("_src")||ci.src||"";/^(https?|ftp):/i.test(src)&&!test(src,catcherLocalDomain)&&remoteImages.push(src)}remoteImages.length&&catchremoteimage(remoteImages,{success:function(r){try{var info=void 0!==r.state?r:eval("("+r.responseText+")")}catch(e){return}var i,j,ci,cj,oldSrc,newSrc,list=info.list;for(i=0;ci=imgs[i++];)for(oldSrc=ci.getAttribute("_src")||ci.src||"",j=0;cj=list[j++];)if(oldSrc==cj.source&&"SUCCESS"==cj.state){newSrc=catcherUrlPrefix+cj.url,domUtils.setAttributes(ci,{src:newSrc,_src:newSrc});break}me.fireEvent("catchremotesuccess")},error:function(){me.fireEvent("catchremoteerror")}})}))},UE.plugin.register("snapscreen",function(){function getLocation(a){var b,c=document.createElement("a"),d=utils.serializeParam(me.queryCommandValue("serverparam"))||"";return c.href=a,browser.ie&&(c.href=c.href),b=c.search,d&&(b=b+(b.indexOf("?")==-1?"?":"&")+d,b=b.replace(/[&]+/gi,"&")),{port:c.port,hostname:c.hostname,path:c.pathname+b||+c.hash}}var me=this,snapplugin;return{commands:{snapscreen:{execCommand:function(cmd){function onSuccess(rs){try{if(rs=eval("("+rs+")"),"SUCCESS"==rs.state){var opt=me.options;me.execCommand("insertimage",{src:opt.snapscreenUrlPrefix+rs.url,_src:opt.snapscreenUrlPrefix+rs.url,alt:rs.title||"",floatStyle:opt.snapscreenImgAlign})}else alert(rs.state)}catch(e){alert(lang.callBackErrorMsg)}}var url,local,res,lang=me.getLang("snapScreen_plugin");if(!snapplugin){var container=me.container,doc=me.container.ownerDocument||me.container.document;snapplugin=doc.createElement("object");try{snapplugin.type="application/x-pluginbaidusnap"}catch(e){return}snapplugin.style.cssText="position:absolute;left:-9999px;width:0;height:0;",snapplugin.setAttribute("width","0"),snapplugin.setAttribute("height","0"),container.appendChild(snapplugin)}url=me.getActionUrl(me.getOpt("snapscreenActionName")),local=getLocation(url),setTimeout(function(){try{res=snapplugin.saveSnapshot(local.hostname,local.path,local.port)}catch(a){return void me.ui._dialogs.snapscreenDialog.open()}onSuccess(res)},50)},queryCommandState:function(){return navigator.userAgent.indexOf("Windows",0)!=-1?0:-1}}}}}),UE.commands.insertparagraph={execCommand:function(a,b){for(var c,d=this,e=d.selection.getRange(),f=e.startContainer;f&&!domUtils.isBody(f);)c=f,f=f.parentNode;if(c){var g=d.document.createElement("p");b?c.parentNode.insertBefore(g,c):c.parentNode.insertBefore(g,c.nextSibling),domUtils.fillNode(d.document,g),e.setStart(g,0).setCursor(!1,!0)}}},UE.plugin.register("webapp",function(){function a(a,c){return c?'':'"}var b=this;return{outputRule:function(b){utils.each(b.getNodesByTagName("img"),function(b){var c;if("edui-faked-webapp"==b.getAttr("class")){c=a({title:b.getAttr("title"),width:b.getAttr("width"),height:b.getAttr("height"),align:b.getAttr("align"),cssfloat:b.getStyle("float"),url:b.getAttr("_url"),logo:b.getAttr("_logo_url")},!0);var d=UE.uNode.createElement(c);b.parentNode.replaceChild(d,b)}})},inputRule:function(b){utils.each(b.getNodesByTagName("iframe"),function(b){if("edui-faked-webapp"==b.getAttr("class")){var c=UE.uNode.createElement(a({title:b.getAttr("title"),width:b.getAttr("width"),height:b.getAttr("height"),align:b.getAttr("align"),cssfloat:b.getStyle("float"),url:b.getAttr("src"),logo:b.getAttr("logo_url")}));b.parentNode.replaceChild(c,b)}})},commands:{webapp:{execCommand:function(b,c){var d=this,e=a(utils.extend(c,{align:"none"}),!1);d.execCommand("inserthtml",e)},queryCommandState:function(){var a=this,b=a.selection.getRange().getClosedNode(),c=b&&"edui-faked-webapp"==b.className;return c?1:0}}}}}),UE.plugins.template=function(){UE.commands.template={execCommand:function(a,b){b.html&&this.execCommand("inserthtml",b.html)}},this.addListener("click",function(a,b){var c=b.target||b.srcElement,d=this.selection.getRange(),e=domUtils.findParent(c,function(a){if(a.className&&domUtils.hasClass(a,"ue_t"))return a},!0);e&&d.selectNode(e).shrinkBoundary().select()}),this.addListener("keydown",function(a,b){var c=this.selection.getRange();if(!c.collapsed&&!(b.ctrlKey||b.metaKey||b.shiftKey||b.altKey)){var d=domUtils.findParent(c.startContainer,function(a){if(a.className&&domUtils.hasClass(a,"ue_t"))return a},!0);d&&domUtils.removeClasses(d,["ue_t"])}})},UE.plugin.register("music",function(){function a(a,c,d,e,f,g){return g?'':"'}var b=this;return{outputRule:function(b){utils.each(b.getNodesByTagName("img"),function(b){var c;if("edui-faked-music"==b.getAttr("class")){var d=b.getStyle("float"),e=b.getAttr("align");c=a(b.getAttr("_url"),b.getAttr("width"),b.getAttr("height"),e,d,!0);var f=UE.uNode.createElement(c);b.parentNode.replaceChild(f,b)}})},inputRule:function(b){utils.each(b.getNodesByTagName("embed"),function(b){if("edui-faked-music"==b.getAttr("class")){var c=b.getStyle("float"),d=b.getAttr("align");html=a(b.getAttr("src"),b.getAttr("width"),b.getAttr("height"),d,c,!1);var e=UE.uNode.createElement(html);b.parentNode.replaceChild(e,b)}})},commands:{music:{execCommand:function(b,c){var d=this,e=a(c.url,c.width||400,c.height||95,"none",!1);d.execCommand("inserthtml",e)},queryCommandState:function(){var a=this,b=a.selection.getRange().getClosedNode(),c=b&&"edui-faked-music"==b.className;return c?1:0}}}}}),UE.plugin.register("autoupload",function(){function a(a,b){var c,d,e,f,g,h,i,j,k=b,l=/image\/\w+/i.test(a.type)?"image":"file",m="loading_"+(+new Date).toString(36);if(c=k.getOpt(l+"FieldName"),d=k.getOpt(l+"UrlPrefix"),e=k.getOpt(l+"MaxSize"),f=k.getOpt(l+"AllowFiles"),g=k.getActionUrl(k.getOpt(l+"ActionName")),i=function(a){var b=k.document.getElementById(m);b&&domUtils.remove(b),k.fireEvent("showmessage",{id:m,content:a,type:"error",timeout:4e3})},"image"==l?(h='',j=function(a){var b=d+a.url,c=k.document.getElementById(m);c&&(c.setAttribute("src",b),c.setAttribute("_src",b),c.setAttribute("title",a.title||""),c.setAttribute("alt",a.original||""),c.removeAttribute("id"),domUtils.removeClasses(c,"loadingclass"))}):(h='

      ',j=function(a){var b=d+a.url,c=k.document.getElementById(m),e=k.selection.getRange(),f=e.createBookmark();e.selectNode(c).select(),k.execCommand("insertfile",{url:b}),e.moveToBookmark(f).select()}),k.execCommand("inserthtml",h),!k.getOpt(l+"ActionName"))return void i(k.getLang("autoupload.errorLoadConfig"));if(a.size>e)return void i(k.getLang("autoupload.exceedSizeError"));var n=a.name?a.name.substr(a.name.lastIndexOf(".")):"";if(n&&"image"!=l||f&&(f.join("")+".").indexOf(n.toLowerCase()+".")==-1)return void i(k.getLang("autoupload.exceedTypeError"));var o=new XMLHttpRequest,p=new FormData,q=utils.serializeParam(k.queryCommandValue("serverparam"))||"",r=utils.formatUrl(g+(g.indexOf("?")==-1?"?":"&")+q);p.append(c,a,a.name||"blob."+a.type.substr("image/".length)),p.append("type","ajax"),o.open("post",r,!0),o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.addEventListener("load",function(a){try{var b=new Function("return "+utils.trim(a.target.response))();"SUCCESS"==b.state&&b.url?j(b):i(b.state)}catch(c){i(k.getLang("autoupload.loadError"))}}),o.send(p)}function b(a){return a.clipboardData&&a.clipboardData.items&&1==a.clipboardData.items.length&&/^image\//.test(a.clipboardData.items[0].type)?a.clipboardData.items:null}function c(a){return a.dataTransfer&&a.dataTransfer.files?a.dataTransfer.files:null}return{outputRule:function(a){utils.each(a.getNodesByTagName("img"),function(a){/\b(loaderrorclass)|(bloaderrorclass)\b/.test(a.getAttr("class"))&&a.parentNode.removeChild(a)}),utils.each(a.getNodesByTagName("p"),function(a){/\bloadpara\b/.test(a.getAttr("class"))&&a.parentNode.removeChild(a)})},bindEvents:{ready:function(d){var e=this;window.FormData&&window.FileReader&&(domUtils.on(e.body,"paste drop",function(d){var f,g=!1;if(f="paste"==d.type?b(d):c(d)){for(var h,i=f.length;i--;)h=f[i],h.getAsFile&&(h=h.getAsFile()),h&&h.size>0&&(a(h,e),g=!0);g&&d.preventDefault()}}),domUtils.on(e.body,"dragover",function(a){"Files"==a.dataTransfer.types[0]&&a.preventDefault()}),utils.cssRule("loading",".loadingclass{display:inline-block;cursor:default;background: url('"+this.options.themePath+this.options.theme+"/images/loading.gif') no-repeat center center transparent;border:1px solid #cccccc;margin-left:1px;height: 22px;width: 22px;}\n.loaderrorclass{display:inline-block;cursor:default;background: url('"+this.options.themePath+this.options.theme+"/images/loaderror.png') no-repeat center center transparent;border:1px solid #cccccc;margin-right:1px;height: 22px;width: 22px;}",this.document))}}}}),UE.plugin.register("autosave",function(){function a(a){var f;if(!(new Date-c0?b._saveFlag=window.setTimeout(function(){a(b)},b.options.saveInterval):a(b))}},commands:{clearlocaldata:{execCommand:function(a,c){e&&b.getPreferences(e)&&b.removePreferences(e)},notNeedUndo:!0,ignoreContentChange:!0},getlocaldata:{execCommand:function(a,c){return e?b.getPreferences(e)||"":""},notNeedUndo:!0,ignoreContentChange:!0},drafts:{execCommand:function(a,c){e&&(b.body.innerHTML=b.getPreferences(e)||"

      "+domUtils.fillHtml+"

      ",b.focus(!0))},queryCommandState:function(){return e?null===b.getPreferences(e)?-1:0:-1},notNeedUndo:!0,ignoreContentChange:!0}}}}),UE.plugin.register("charts",function(){function a(a){var b=null,c=0;if(a.rows.length<2)return!1;if(a.rows[0].cells.length<2)return!1;b=a.rows[0].cells,c=b.length;for(var d,e=0;d=b[e];e++)if("th"!==d.tagName.toLowerCase())return!1;for(var f,e=1;f=a.rows[e];e++){if(f.cells.length!=c)return!1;if("th"!==f.cells[0].tagName.toLowerCase())return!1;for(var d,g=1;d=f.cells[g];g++){var h=utils.trim(d.innerText||d.textContent||"");if(h=h.replace(new RegExp(UE.dom.domUtils.fillChar,"g"),"").replace(/^\s+|\s+$/g,""),!/^\d*\.?\d+$/.test(h))return!1}}return!0}var b=this;return{bindEvents:{chartserror:function(){}},commands:{charts:{execCommand:function(c,d){var e=domUtils.findParentByTagName(this.selection.getRange().startContainer,"table",!0),f=[],g={};if(!e)return!1;if(!a(e))return b.fireEvent("chartserror"),!1;g.title=d.title||"",g.subTitle=d.subTitle||"",g.xTitle=d.xTitle||"",g.yTitle=d.yTitle||"",g.suffix=d.suffix||"",g.tip=d.tip||"",g.dataFormat=d.tableDataFormat||"",g.chartType=d.chartType||0;for(var h in g)g.hasOwnProperty(h)&&f.push(h+":"+g[h]);e.setAttribute("data-chart",f.join(";")),domUtils.addClass(e,"edui-charts-table")},queryCommandState:function(b,c){ +var d=domUtils.findParentByTagName(this.selection.getRange().startContainer,"table",!0);return d&&a(d)?0:-1}}},inputRule:function(a){utils.each(a.getNodesByTagName("table"),function(a){void 0!==a.getAttr("data-chart")&&a.setAttr("style")})},outputRule:function(a){utils.each(a.getNodesByTagName("table"),function(a){void 0!==a.getAttr("data-chart")&&a.setAttr("style","display: none;")})}}}),UE.plugin.register("section",function(){function a(a){this.tag="",this.level=-1,this.dom=null,this.nextSection=null,this.previousSection=null,this.parentSection=null,this.startAddress=[],this.endAddress=[],this.children=[]}function b(b){var c=new a;return utils.extend(c,b)}function c(a,b){for(var c=b,d=0;d=0){var o=h.selection.getRange().selectNode(i).createAddress(!0).startAddress,p=b({tag:i.tagName,title:i.innerText||i.textContent||"",level:f,dom:i,startAddress:utils.clone(o,[]),endAddress:utils.clone(o,[]),children:[]});for(j.nextSection=p,p.previousSection=j,g=j;f<=g.level;)g=g.parentSection;p.parentSection=g,g.children.push(p),k=j=p}else 1===i.nodeType&&e(i,c),k&&k.endAddress[k.endAddress.length-1]++}for(var f=c||["h1","h2","h3","h4","h5","h6"],g=0;g=c.length);f++){if(c[f]>a[f]){d=!0;break}if(c[f]=c.length);f++){if(c[f]a[f])break}return d&&e}var g,h,i=this;if(b&&d&&d.level!=-1&&(g=e?d.endAddress:d.startAddress,h=c(g,i.body),g&&h&&!f(b.startAddress,b.endAddress,g))){var j,k,l=c(b.startAddress,i.body),m=c(b.endAddress,i.body);if(e)for(j=m;j&&!(domUtils.getPosition(l,j)&domUtils.POSITION_FOLLOWING)&&(k=j.previousSibling,domUtils.insertAfter(h,j),j!=l);)j=k;else for(j=l;j&&!(domUtils.getPosition(j,m)&domUtils.POSITION_FOLLOWING)&&(k=j.nextSibling,h.parentNode.insertBefore(j,h),j!=m);)j=k;i.fireEvent("updateSections")}}},deletesection:{execCommand:function(a,b,c){function d(a){for(var b=e.body,c=0;c',b.className="edui-"+c.options.theme,b.id=c.ui.id+"_iframeupload",i.style.cssText=g,i.style.width=a+"px",i.style.height=e+"px",i.appendChild(b),i.parentNode&&(i.parentNode.style.width=a+"px",i.parentNode.style.height=a+"px");var k=h.getElementById("edui_form_"+j),l=h.getElementById("edui_input_"+j),m=h.getElementById("edui_iframe_"+j);domUtils.on(l,"change",function(){function a(){try{var e,f,g,h=(m.contentDocument||m.contentWindow.document).body,i=h.innerText||h.textContent||"";f=new Function("return "+i)(),e=c.options.imageUrlPrefix+f.url,"SUCCESS"==f.state&&f.url?(g=c.document.getElementById(d),g.setAttribute("src",e),g.setAttribute("_src",e),g.setAttribute("title",f.title||""),g.setAttribute("alt",f.original||""),g.removeAttribute("id"),domUtils.removeClasses(g,"loadingclass")):b&&b(f.state)}catch(j){b&&b(c.getLang("simpleupload.loadError"))}k.reset(),domUtils.un(m,"load",a)}function b(a){if(d){var b=c.document.getElementById(d);b&&domUtils.remove(b),c.fireEvent("showmessage",{id:d,content:a,type:"error",timeout:4e3})}}if(l.value){var d="loading_"+(+new Date).toString(36),e=utils.serializeParam(c.queryCommandValue("serverparam"))||"",f=c.getActionUrl(c.getOpt("imageActionName")),g=c.getOpt("imageAllowFiles");if(c.focus(),c.execCommand("inserthtml",''),!c.getOpt("imageActionName"))return void errorHandler(c.getLang("autoupload.errorLoadConfig"));var h=l.value,i=h?h.substr(h.lastIndexOf(".")):"";if(!i||g&&(g.join("")+".").indexOf(i.toLowerCase()+".")==-1)return void b(c.getLang("simpleupload.exceedTypeError"));domUtils.on(m,"load",a),k.action=utils.formatUrl(f+(f.indexOf("?")==-1?"?":"&")+e),k.submit()}});var n;c.addListener("selectionchange",function(){clearTimeout(n),n=setTimeout(function(){var a=c.queryCommandState("simpleupload");a==-1?l.disabled="disabled":l.disabled=!1},400)}),d=!0}),f.style.cssText=g,b.appendChild(f)}var b,c=this,d=!1;return{bindEvents:{ready:function(){utils.cssRule("loading",".loadingclass{display:inline-block;cursor:default;background: url('"+this.options.themePath+this.options.theme+"/images/loading.gif') no-repeat center center transparent;border:1px solid #cccccc;margin-right:1px;height: 22px;width: 22px;}\n.loaderrorclass{display:inline-block;cursor:default;background: url('"+this.options.themePath+this.options.theme+"/images/loaderror.png') no-repeat center center transparent;border:1px solid #cccccc;margin-right:1px;height: 22px;width: 22px;}",this.document)},simpleuploadbtnready:function(d,e){b=e,c.afterConfigReady(a)}},outputRule:function(a){utils.each(a.getNodesByTagName("img"),function(a){/\b(loaderrorclass)|(bloaderrorclass)\b/.test(a.getAttr("class"))&&a.parentNode.removeChild(a)})},commands:{simpleupload:{queryCommandState:function(){return d?0:-1}}}}}),UE.plugin.register("serverparam",function(){var a={};return{commands:{serverparam:{execCommand:function(b,c,d){void 0===c||null===c?a={}:utils.isString(c)?void 0===d||null===d?delete a[c]:a[c]=d:utils.isObject(c)?utils.extend(a,c,!0):utils.isFunction(c)&&utils.extend(a,c(),!0)},queryCommandValue:function(){return a||{}}}}}}),UE.plugin.register("insertfile",function(){function a(a){var b=a.substr(a.lastIndexOf(".")+1).toLowerCase(),c={rar:"icon_rar.gif",zip:"icon_rar.gif",tar:"icon_rar.gif",gz:"icon_rar.gif",bz2:"icon_rar.gif",doc:"icon_doc.gif",docx:"icon_doc.gif",pdf:"icon_pdf.gif",mp3:"icon_mp3.gif",xls:"icon_xls.gif",chm:"icon_chm.gif",ppt:"icon_ppt.gif",pptx:"icon_ppt.gif",avi:"icon_mv.gif",rmvb:"icon_mv.gif",wmv:"icon_mv.gif",flv:"icon_mv.gif",swf:"icon_mv.gif",rm:"icon_mv.gif",exe:"icon_exe.gif",psd:"icon_psd.gif",txt:"icon_txt.gif",jpg:"icon_jpg.gif",png:"icon_jpg.gif",jpeg:"icon_jpg.gif",gif:"icon_jpg.gif",ico:"icon_jpg.gif",bmp:"icon_jpg.gif"};return c[b]?c[b]:c.txt}var b=this;return{commands:{insertfile:{execCommand:function(c,d){d=utils.isArray(d)?d:[d];var e,f,g,h,i="",j=b.getOpt("UEDITOR_HOME_URL"),k=j+("/"==j.substr(j.length-1)?"":"/")+"dialogs/attachment/fileTypeImages/";for(e=0;e'+h+"

      ";b.execCommand("insertHtml",i)}}}}}),UE.plugins.xssFilter=function(){function a(a){var b=a.tagName,d=a.attrs;return c.hasOwnProperty(b)?void UE.utils.each(d,function(d,e){c[b].indexOf(e)===-1&&a.setAttr(e)}):(a.parentNode.removeChild(a),!1)}var b=UEDITOR_CONFIG,c=b.whitList;c&&b.xssFilterRules&&(this.options.filterRules=function(){var b={};return UE.utils.each(c,function(c,d){b[d]=function(b){return a(b)}}),b}());var d=[];UE.utils.each(c,function(a,b){d.push(b)}),c&&b.inputXssFilter&&this.addInputRule(function(b){b.traversal(function(b){return"element"===b.type&&void a(b)})}),c&&b.outputXssFilter&&this.addOutputRule(function(b){b.traversal(function(b){return"element"===b.type&&void a(b)})})};var baidu=baidu||{};baidu.editor=baidu.editor||{},UE.ui=baidu.editor.ui={},function(){function a(){var a=document.getElementById("edui_fixedlayer");i.setViewportOffset(a,{left:0,top:0})}function b(b){d.on(window,"scroll",a),d.on(window,"resize",baidu.editor.utils.defer(a,0,!0))}var c=baidu.editor.browser,d=baidu.editor.dom.domUtils,e="$EDITORUI",f=window[e]={},g="ID"+e,h=0,i=baidu.editor.ui.uiUtils={uid:function(a){return a?a[g]||(a[g]=++h):++h},hook:function(a,b){var c;return a&&a._callbacks?c=a:(c=function(){var b;a&&(b=a.apply(this,arguments));for(var d=c._callbacks,e=d.length;e--;){var f=d[e].apply(this,arguments);void 0===b&&(b=f)}return b},c._callbacks=[]),c._callbacks.push(b),c},createElementByHtml:function(a){var b=document.createElement("div");return b.innerHTML=a,b=b.firstChild,b.parentNode.removeChild(b),b},getViewportElement:function(){return c.ie&&c.quirks?document.body:document.documentElement},getClientRect:function(a){var b;try{b=a.getBoundingClientRect()}catch(c){b={left:0,top:0,height:0,width:0}}for(var e,f={left:Math.round(b.left),top:Math.round(b.top),height:Math.round(b.bottom-b.top),width:Math.round(b.right-b.left)};(e=a.ownerDocument)!==document&&(a=d.getWindow(e).frameElement);)b=a.getBoundingClientRect(),f.left+=b.left,f.top+=b.top;return f.bottom=f.top+f.height,f.right=f.left+f.width,f},getViewportRect:function(){var a=i.getViewportElement(),b=0|(window.innerWidth||a.clientWidth),c=0|(window.innerHeight||a.clientHeight);return{left:0,top:0,height:c,width:b,bottom:c,right:b}},setViewportOffset:function(a,b){var c=i.getFixedLayer();a.parentNode===c?(a.style.left=b.left+"px",a.style.top=b.top+"px"):d.setViewportOffset(a,b)},getEventOffset:function(a){var b=a.target||a.srcElement,c=i.getClientRect(b),d=i.getViewportOffsetByEvent(a);return{left:d.left-c.left,top:d.top-c.top}},getViewportOffsetByEvent:function(a){var b=a.target||a.srcElement,c=d.getWindow(b).frameElement,e={left:a.clientX,top:a.clientY};if(c&&b.ownerDocument!==document){var f=i.getClientRect(c);e.left+=f.left,e.top+=f.top}return e},setGlobal:function(a,b){return f[a]=b,e+'["'+a+'"]'},unsetGlobal:function(a){delete f[a]},copyAttributes:function(a,b){for(var e=b.attributes,f=e.length;f--;){var g=e[f];"style"==g.nodeName||"class"==g.nodeName||c.ie&&!g.specified||a.setAttribute(g.nodeName,g.nodeValue)}b.className&&d.addClass(a,b.className),b.style.cssText&&(a.style.cssText+=";"+b.style.cssText)},removeStyle:function(a,b){if(a.style.removeProperty)a.style.removeProperty(b);else{if(!a.style.removeAttribute)throw"";a.style.removeAttribute(b)}},contains:function(a,b){return a&&b&&a!==b&&(a.contains?a.contains(b):16&a.compareDocumentPosition(b))},startDrag:function(a,b,c){function d(a){var c=a.clientX-g,d=a.clientY-h;b.ondragmove(c,d,a),a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}function e(a){c.removeEventListener("mousemove",d,!0),c.removeEventListener("mouseup",e,!0),window.removeEventListener("mouseup",e,!0),b.ondragstop()}function f(){i.releaseCapture(),i.detachEvent("onmousemove",d),i.detachEvent("onmouseup",f),i.detachEvent("onlosecaptrue",f),b.ondragstop()}var c=c||document,g=a.clientX,h=a.clientY;if(c.addEventListener)c.addEventListener("mousemove",d,!0),c.addEventListener("mouseup",e,!0),window.addEventListener("mouseup",e,!0),a.preventDefault();else{var i=a.srcElement;i.setCapture(),i.attachEvent("onmousemove",d),i.attachEvent("onmouseup",f),i.attachEvent("onlosecaptrue",f),a.returnValue=!1}b.ondragstart()},getFixedLayer:function(){var d=document.getElementById("edui_fixedlayer");return null==d&&(d=document.createElement("div"),d.id="edui_fixedlayer",document.body.appendChild(d),c.ie&&c.version<=8?(d.style.position="absolute",b(),setTimeout(a)):d.style.position="fixed",d.style.left="0",d.style.top="0",d.style.width="0",d.style.height="0"),d},makeUnselectable:function(a){if(c.opera||c.ie&&c.version<9){if(a.unselectable="on",a.hasChildNodes())for(var b=0;b'}},a.inherits(c,b)}(),function(){var a=baidu.editor.utils,b=baidu.editor.dom.domUtils,c=baidu.editor.ui.UIBase,d=baidu.editor.ui.uiUtils,e=baidu.editor.ui.Mask=function(a){this.initOptions(a),this.initUIBase()};e.prototype={getHtmlTpl:function(){return'
      '},postRender:function(){var a=this;b.on(window,"resize",function(){setTimeout(function(){a.isHidden()||a._fill()})})},show:function(a){this._fill(),this.getDom().style.display="",this.getDom().style.zIndex=a},hide:function(){this.getDom().style.display="none",this.getDom().style.zIndex=""},isHidden:function(){return"none"==this.getDom().style.display},_onMouseDown:function(){return!1},_onClick:function(a,b){this.fireEvent("click",a,b)},_fill:function(){var a=this.getDom(),b=d.getViewportRect();a.style.width=b.width+"px",a.style.height=b.height+"px"}},a.inherits(e,c)}(),function(){function a(a,b){for(var c=0;c
      '+this.getContentHtmlTpl()+"
      "},getContentHtmlTpl:function(){return this.content?"string"==typeof this.content?this.content:this.content.renderHtml():""},_UIBase_postRender:e.prototype.postRender,postRender:function(){if(this.content instanceof e&&this.content.postRender(),this.captureWheel&&!this.captured){this.captured=!0;var a=(document.documentElement.clientHeight||document.body.clientHeight)-80,b=this.getDom().offsetHeight,f=c.getClientRect(this.combox.getDom()).top,g=this.getDom("content"),h=this.getDom("body").getElementsByTagName("iframe"),i=this;for(h.length&&(h=h[0]);f+b>a;)b-=30;g.style.height=b+"px",h&&(h.style.height=b+"px"),window.XMLHttpRequest?d.on(g,"onmousewheel"in document.body?"mousewheel":"DOMMouseScroll",function(a){a.preventDefault?a.preventDefault():a.returnValue=!1,a.wheelDelta?g.scrollTop-=a.wheelDelta/120*60:g.scrollTop-=a.detail/-3*60}):d.on(this.getDom(),"mousewheel",function(a){a.returnValue=!1,i.getDom("content").scrollTop-=a.wheelDelta/120*60})}this.fireEvent("postRenderAfter"),this.hide(!0),this._UIBase_postRender()},_doAutoRender:function(){!this.getDom()&&this.autoRender&&this.render()},mesureSize:function(){var a=this.getDom("content");return c.getClientRect(a)},fitSize:function(){if(this.captureWheel&&this.sized)return this.__size;this.sized=!0;var a=this.getDom("body");a.style.width="",a.style.height="";var b=this.mesureSize();if(this.captureWheel){a.style.width=-(-20-b.width)+"px";var c=parseInt(this.getDom("content").style.height,10);!window.isNaN(c)&&(b.height=c)}else a.style.width=b.width+"px";return a.style.height=b.height+"px",this.__size=b,this.captureWheel&&(this.getDom("content").style.overflow="auto"),b},showAnchor:function(a,b){this.showAnchorRect(c.getClientRect(a),b)},showAnchorRect:function(a,b,e){this._doAutoRender();var f=c.getViewportRect();this.getDom().style.visibility="hidden",this._show();var g,i,j,k,l=this.fitSize();b?(g=this.canSideLeft&&a.right+l.width>f.right&&a.left>l.width,i=this.canSideUp&&a.top+l.height>f.bottom&&a.bottom>l.height,j=g?a.left-l.width:a.right,k=i?a.bottom-l.height:a.top):(g=this.canSideLeft&&a.right+l.width>f.right&&a.left>l.width,i=this.canSideUp&&a.top+l.height>f.bottom&&a.bottom>l.height,j=g?a.right-l.width:a.left,k=i?a.top-l.height:a.bottom);var m=this.getDom();c.setViewportOffset(m,{left:j,top:k}),d.removeClasses(m,h),m.className+=" "+h[2*(i?1:0)+(g?1:0)],this.editor&&(m.style.zIndex=1*this.editor.container.style.zIndex+10,baidu.editor.ui.uiUtils.getFixedLayer().style.zIndex=m.style.zIndex-1),this.getDom().style.visibility="visible"},showAt:function(a){var b=a.left,c=a.top,d={left:b,top:c,right:b,bottom:c,height:0,width:0};this.showAnchorRect(d,!1,!0)},_show:function(){if(this._hidden){var a=this.getDom();a.style.display="",this._hidden=!1,this.fireEvent("show")}},isHidden:function(){return this._hidden},show:function(){this._doAutoRender(),this._show()},hide:function(a){!this._hidden&&this.getDom()&&(this.getDom().style.display="none",this._hidden=!0,a||this.fireEvent("hide"))},queryAutoHide:function(a){return!a||!c.contains(this.getDom(),a)}},b.inherits(f,e),d.on(document,"mousedown",function(b){var c=b.target||b.srcElement;a(b,c)}),d.on(window,"scroll",function(b,c){a(b,c)})}(),function(){function a(a,b){for(var c='
      '+a+'
      ',d=0;d"+(60==d?'":"")+""),c+=d<70?'':"";return c+="
      '+b.getLang("themeColor")+'
      '+b.getLang("standardColor")+"
      =60?"border-width:1px;":d>=10&&d<20?"border-width:1px 1px 0 1px;":"border-width:0 1px 0 1px;")+'">
      "}var b=baidu.editor.utils,c=baidu.editor.ui.UIBase,d=baidu.editor.ui.ColorPicker=function(a){this.initOptions(a),this.noColorText=this.noColorText||this.editor.getLang("clearColor"),this.initUIBase()};d.prototype={getHtmlTpl:function(){return a(this.noColorText,this.editor)},_onTableClick:function(a){var b=a.target||a.srcElement,c=b.getAttribute("data-color");c&&this.fireEvent("pickcolor",c)},_onTableOver:function(a){var b=a.target||a.srcElement,c=b.getAttribute("data-color");c&&(this.getDom("preview").style.backgroundColor=c)},_onTableOut:function(){this.getDom("preview").style.backgroundColor=""},_onPickNoColor:function(){this.fireEvent("picknocolor")}},b.inherits(d,c);var e="ffffff,000000,eeece1,1f497d,4f81bd,c0504d,9bbb59,8064a2,4bacc6,f79646,f2f2f2,7f7f7f,ddd9c3,c6d9f0,dbe5f1,f2dcdb,ebf1dd,e5e0ec,dbeef3,fdeada,d8d8d8,595959,c4bd97,8db3e2,b8cce4,e5b9b7,d7e3bc,ccc1d9,b7dde8,fbd5b5,bfbfbf,3f3f3f,938953,548dd4,95b3d7,d99694,c3d69b,b2a2c7,92cddc,fac08f,a5a5a5,262626,494429,17365d,366092,953734,76923c,5f497a,31859b,e36c09,7f7f7f,0c0c0c,1d1b10,0f243e,244061,632423,4f6128,3f3151,205867,974806,c00000,ff0000,ffc000,ffff00,92d050,00b050,00b0f0,0070c0,002060,7030a0,".split(",")}(),function(){var a=baidu.editor.utils,b=baidu.editor.ui.uiUtils,c=baidu.editor.ui.UIBase,d=baidu.editor.ui.TablePicker=function(a){this.initOptions(a),this.initTablePicker()};d.prototype={defaultNumRows:10,defaultNumCols:10,maxNumRows:20,maxNumCols:20,numRows:10,numCols:10,lengthOfCellSide:22,initTablePicker:function(){this.initUIBase()},getHtmlTpl:function(){return'
      '},_UIBase_render:c.prototype.render,render:function(a){this._UIBase_render(a),this.getDom("label").innerHTML="0"+this.editor.getLang("t_row")+" x 0"+this.editor.getLang("t_col")},_track:function(a,b){var c=this.getDom("overlay").style,d=this.lengthOfCellSide;c.width=a*d+"px",c.height=b*d+"px";var e=this.getDom("label");e.innerHTML=a+this.editor.getLang("t_col")+" x "+b+this.editor.getLang("t_row"),this.numCols=a,this.numRows=b},_onMouseOver:function(a,c){var d=a.relatedTarget||a.fromElement;b.contains(c,d)||c===d||(this.getDom("label").innerHTML="0"+this.editor.getLang("t_col")+" x 0"+this.editor.getLang("t_row"),this.getDom("overlay").style.visibility="")},_onMouseOut:function(a,c){var d=a.relatedTarget||a.toElement;b.contains(c,d)||c===d||(this.getDom("label").innerHTML="0"+this.editor.getLang("t_col")+" x 0"+this.editor.getLang("t_row"),this.getDom("overlay").style.visibility="hidden")},_onMouseMove:function(a,c){var d=(this.getDom("overlay").style,b.getEventOffset(a)),e=this.lengthOfCellSide,f=Math.ceil(d.left/e),g=Math.ceil(d.top/e);this._track(f,g)},_onClick:function(){this.fireEvent("picktable",this.numCols,this.numRows)}},a.inherits(d,c)}(),function(){var a=baidu.editor.browser,b=baidu.editor.dom.domUtils,c=baidu.editor.ui.uiUtils,d='onmousedown="$$.Stateful_onMouseDown(event, this);" onmouseup="$$.Stateful_onMouseUp(event, this);"'+(a.ie?' onmouseenter="$$.Stateful_onMouseEnter(event, this);" onmouseleave="$$.Stateful_onMouseLeave(event, this);"':' onmouseover="$$.Stateful_onMouseOver(event, this);" onmouseout="$$.Stateful_onMouseOut(event, this);"');baidu.editor.ui.Stateful={alwalysHoverable:!1,target:null,Stateful_init:function(){this._Stateful_dGetHtmlTpl=this.getHtmlTpl,this.getHtmlTpl=this.Stateful_getHtmlTpl},Stateful_getHtmlTpl:function(){var a=this._Stateful_dGetHtmlTpl();return a.replace(/stateful/g,function(){return d})},Stateful_onMouseEnter:function(a,b){this.target=b,this.isDisabled()&&!this.alwalysHoverable||(this.addState("hover"),this.fireEvent("over"))},Stateful_onMouseLeave:function(a,b){this.isDisabled()&&!this.alwalysHoverable||(this.removeState("hover"),this.removeState("active"),this.fireEvent("out"))},Stateful_onMouseOver:function(a,b){var d=a.relatedTarget;c.contains(b,d)||b===d||this.Stateful_onMouseEnter(a,b)},Stateful_onMouseOut:function(a,b){var d=a.relatedTarget;c.contains(b,d)||b===d||this.Stateful_onMouseLeave(a,b)},Stateful_onMouseDown:function(a,b){this.isDisabled()||this.addState("active")},Stateful_onMouseUp:function(a,b){this.isDisabled()||this.removeState("active")},Stateful_postRender:function(){this.disabled&&!this.hasState("disabled")&&this.addState("disabled")},hasState:function(a){return b.hasClass(this.getStateDom(),"edui-state-"+a)},addState:function(a){this.hasState(a)||(this.getStateDom().className+=" edui-state-"+a)},removeState:function(a){this.hasState(a)&&b.removeClasses(this.getStateDom(),["edui-state-"+a])},getStateDom:function(){return this.getDom("state")},isChecked:function(){return this.hasState("checked")},setChecked:function(a){!this.isDisabled()&&a?this.addState("checked"):this.removeState("checked")},isDisabled:function(){return this.hasState("disabled")},setDisabled:function(a){a?(this.removeState("hover"),this.removeState("checked"),this.removeState("active"),this.addState("disabled")):this.removeState("disabled")}}}(),function(){var a=baidu.editor.utils,b=baidu.editor.ui.UIBase,c=baidu.editor.ui.Stateful,d=baidu.editor.ui.Button=function(a){if(a.name){var b=a.name,c=a.cssRules;a.className||(a.className="edui-for-"+b),a.cssRules=".edui-default .edui-for-"+b+" .edui-icon {"+c+"}"}this.initOptions(a),this.initButton()};d.prototype={uiName:"button",label:"",title:"",showIcon:!0,showText:!0,cssRules:"",initButton:function(){this.initUIBase(),this.Stateful_init(),this.cssRules&&a.cssRule("edui-customize-"+this.name+"-style",this.cssRules)},getHtmlTpl:function(){return'
      '+(this.showIcon?'
      ':"")+(this.showText?'
      '+this.label+"
      ":"")+"
      "},postRender:function(){this.Stateful_postRender(),this.setDisabled(this.disabled)},_onMouseDown:function(a){var b=a.target||a.srcElement,c=b&&b.tagName&&b.tagName.toLowerCase();if("input"==c||"object"==c||"object"==c)return!1},_onClick:function(){this.isDisabled()||this.fireEvent("click")},setTitle:function(a){var b=this.getDom("label");b.innerHTML=a}},a.inherits(d,b),a.extend(d.prototype,c)}(),function(){var a=baidu.editor.utils,b=baidu.editor.ui.uiUtils,c=(baidu.editor.dom.domUtils,baidu.editor.ui.UIBase),d=baidu.editor.ui.Stateful,e=baidu.editor.ui.SplitButton=function(a){this.initOptions(a),this.initSplitButton()};e.prototype={popup:null,uiName:"splitbutton",title:"",initSplitButton:function(){this.initUIBase(),this.Stateful_init();if(null!=this.popup){var a=this.popup;this.popup=null,this.setPopup(a)}},_UIBase_postRender:c.prototype.postRender,postRender:function(){this.Stateful_postRender(),this._UIBase_postRender()},setPopup:function(c){this.popup!==c&&(null!=this.popup&&this.popup.dispose(),c.addListener("show",a.bind(this._onPopupShow,this)),c.addListener("hide",a.bind(this._onPopupHide,this)),c.addListener("postrender",a.bind(function(){c.getDom("body").appendChild(b.createElementByHtml('
      ')),c.getDom().className+=" "+this.className},this)),this.popup=c)},_onPopupShow:function(){this.addState("opened")},_onPopupHide:function(){this.removeState("opened")},getHtmlTpl:function(){return'
      '},showPopup:function(){var a=b.getClientRect(this.getDom());a.top-=this.popup.SHADOW_RADIUS,a.height+=this.popup.SHADOW_RADIUS,this.popup.showAnchorRect(a)},_onArrowClick:function(a,b){this.isDisabled()||this.showPopup()},_onButtonClick:function(){this.isDisabled()||this.fireEvent("buttonclick")}},a.inherits(e,c),a.extend(e.prototype,d,!0)}(),function(){var a=baidu.editor.utils,b=baidu.editor.ui.uiUtils,c=baidu.editor.ui.ColorPicker,d=baidu.editor.ui.Popup,e=baidu.editor.ui.SplitButton,f=baidu.editor.ui.ColorButton=function(a){this.initOptions(a),this.initColorButton()};f.prototype={initColorButton:function(){var a=this;this.popup=new d({content:new c({noColorText:a.editor.getLang("clearColor"),editor:a.editor,onpickcolor:function(b,c){a._onPickColor(c)},onpicknocolor:function(b,c){a._onPickNoColor(c)}}),editor:a.editor}),this.initSplitButton()},_SplitButton_postRender:e.prototype.postRender,postRender:function(){this._SplitButton_postRender(),this.getDom("button_body").appendChild(b.createElementByHtml('
      ')),this.getDom().className+=" edui-colorbutton"; +},setColor:function(a){this.getDom("colorlump").style.backgroundColor=a,this.color=a},_onPickColor:function(a){this.fireEvent("pickcolor",a)!==!1&&(this.setColor(a),this.popup.hide())},_onPickNoColor:function(a){this.fireEvent("picknocolor")!==!1&&this.popup.hide()}},a.inherits(f,e)}(),function(){var a=baidu.editor.utils,b=baidu.editor.ui.Popup,c=baidu.editor.ui.TablePicker,d=baidu.editor.ui.SplitButton,e=baidu.editor.ui.TableButton=function(a){this.initOptions(a),this.initTableButton()};e.prototype={initTableButton:function(){var a=this;this.popup=new b({content:new c({editor:a.editor,onpicktable:function(b,c,d){a._onPickTable(c,d)}}),editor:a.editor}),this.initSplitButton()},_onPickTable:function(a,b){this.fireEvent("picktable",a,b)!==!1&&this.popup.hide()}},a.inherits(e,d)}(),function(){var a=baidu.editor.utils,b=baidu.editor.ui.UIBase,c=baidu.editor.ui.AutoTypeSetPicker=function(a){this.initOptions(a),this.initAutoTypeSetPicker()};c.prototype={initAutoTypeSetPicker:function(){this.initUIBase()},getHtmlTpl:function(){var a=this.editor,b=a.options.autotypeset,c=a.getLang("autoTypeSet"),d="textAlignValue"+a.uid,e="imageBlockLineValue"+a.uid,f="symbolConverValue"+a.uid;return'
      "+c.mergeLine+'"+c.delLine+'
      "+c.removeFormat+'"+c.indent+'
      "+c.alignment+'"+a.getLang("justifyleft")+'"+a.getLang("justifycenter")+'"+a.getLang("justifyright")+'
      "+c.imageFloat+'"+a.getLang("default")+'"+a.getLang("justifyleft")+'"+a.getLang("justifycenter")+'"+a.getLang("justifyright")+'
      "+c.removeFontsize+'"+c.removeFontFamily+'
      "+c.removeHtml+'
      "+c.pasteFilter+'
      "+c.symbol+'"+c.bdc2sb+'"+c.tobdc+'
      "},_UIBase_render:b.prototype.render},a.inherits(c,b)}(),function(){function a(a){for(var c,d={},e=a.getDom(),f=a.editor.uid,g=null,h=null,i=domUtils.getElementsByTagName(e,"input"),j=i.length-1;c=i[j--];)if(g=c.getAttribute("type"),"checkbox"==g)if(h=c.getAttribute("name"),d[h]&&delete d[h],c.checked){var k=document.getElementById(h+"Value"+f);if(k){if(/input/gi.test(k.tagName))d[h]=k.value;else for(var l,m=k.getElementsByTagName("input"),n=m.length-1;l=m[n--];)if(l.checked){d[h]=l.value;break}}else d[h]=!0}else d[h]=!1;else d[c.getAttribute("value")]=c.checked;for(var o,p=domUtils.getElementsByTagName(e,"select"),j=0;o=p[j++];){var q=o.getAttribute("name");d[q]=d[q]?o.value:""}b.extend(a.editor.options.autotypeset,d),a.editor.setPreferences("autotypeset",d)}var b=baidu.editor.utils,c=baidu.editor.ui.Popup,d=baidu.editor.ui.AutoTypeSetPicker,e=baidu.editor.ui.SplitButton,f=baidu.editor.ui.AutoTypeSetButton=function(a){this.initOptions(a),this.initAutoTypeSetButton()};f.prototype={initAutoTypeSetButton:function(){var b=this;this.popup=new c({content:new d({editor:b.editor}),editor:b.editor,hide:function(){!this._hidden&&this.getDom()&&(a(this),this.getDom().style.display="none",this._hidden=!0,this.fireEvent("hide"))}});var e=0;this.popup.addListener("postRenderAfter",function(){var c=this;if(!e){var d=this.getDom(),f=d.getElementsByTagName("button")[0];f.onclick=function(){a(c),b.editor.execCommand("autotypeset"),c.hide()},domUtils.on(d,"click",function(d){var e=d.target||d.srcElement,f=b.editor.uid;if(e&&"INPUT"==e.tagName){if("imageBlockLine"==e.name||"textAlign"==e.name||"symbolConver"==e.name)for(var g=e.checked,h=document.getElementById(e.name+"Value"+f),i=h.getElementsByTagName("input"),j={imageBlockLine:"none",textAlign:"left",symbolConver:"tobdc"},k=0;k"),e.push('
      '),2===d&&e.push("");return'
      '+e.join("")+"
      "},getStateDom:function(){return this.target},_onClick:function(a){var c=a.target||a.srcElement;/icon/.test(c.className)&&(this.items[c.parentNode.getAttribute("index")].onclick(),b.postHide(a))},_UIBase_render:d.prototype.render},a.inherits(e,d),a.extend(e.prototype,c,!0)}(),function(){var a=baidu.editor.utils,b=baidu.editor.ui.Stateful,c=baidu.editor.ui.uiUtils,d=baidu.editor.ui.UIBase,e=baidu.editor.ui.PastePicker=function(a){this.initOptions(a),this.initPastePicker()};e.prototype={initPastePicker:function(){this.initUIBase(),this.Stateful_init()},getHtmlTpl:function(){return'
      '+this.editor.getLang("pasteOpt")+'
      '},getStateDom:function(){return this.target},format:function(a){this.editor.ui._isTransfer=!0,this.editor.fireEvent("pasteTransfer",a)},_onClick:function(a){var b=domUtils.getNextDomNode(a),d=c.getViewportRect().height,e=c.getClientRect(b);e.top+e.height>d?b.style.top=-e.height-a.offsetHeight+"px":b.style.top="",/hidden/gi.test(domUtils.getComputedStyle(b,"visibility"))?(b.style.visibility="visible",domUtils.addClass(a,"edui-state-opened")):(b.style.visibility="hidden",domUtils.removeClasses(a,"edui-state-opened"))},_UIBase_render:d.prototype.render},a.inherits(e,d),a.extend(e.prototype,b,!0)}(),function(){var a=baidu.editor.utils,b=baidu.editor.ui.uiUtils,c=baidu.editor.ui.UIBase,d=baidu.editor.ui.Toolbar=function(a){this.initOptions(a),this.initToolbar()};d.prototype={items:null,initToolbar:function(){this.items=this.items||[],this.initUIBase()},add:function(a,b){void 0===b?this.items.push(a):this.items.splice(b,0,a)},getHtmlTpl:function(){for(var a=[],b=0;b'+a.join("")+""},postRender:function(){for(var a=this.getDom(),c=0;c
      '},postRender:function(){},queryAutoHide:function(){return!0}};h.prototype={items:null,uiName:"menu",initMenu:function(){this.items=this.items||[],this.initPopup(),this.initItems()},initItems:function(){for(var a=0;a'+a.join("")+""},_Popup_postRender:e.prototype.postRender,postRender:function(){for(var a=this,d=0;d
      '+this.renderLabelHtml()+"
      "},postRender:function(){var a=this;this.addListener("over",function(){a.ownerMenu.fireEvent("submenuover",a),a.subMenu&&a.delayShowSubMenu()}),this.subMenu&&(this.getDom().className+=" edui-hassubmenu",this.subMenu.render(),this.addListener("out",function(){a.delayHideSubMenu()}),this.subMenu.addListener("over",function(){clearTimeout(a._closingTimer),a._closingTimer=null,a.addState("opened")}),this.ownerMenu.addListener("hide",function(){a.hideSubMenu()}),this.ownerMenu.addListener("submenuover",function(b,c){c!==a&&a.delayHideSubMenu()}),this.subMenu._bakQueryAutoHide=this.subMenu.queryAutoHide,this.subMenu.queryAutoHide=function(b){return(!b||!c.contains(a.getDom(),b))&&this._bakQueryAutoHide(b)}),this.getDom().style.tabIndex="-1",c.makeUnselectable(this.getDom()),this.Stateful_postRender()},delayShowSubMenu:function(){var a=this;a.isDisabled()||(a.addState("opened"),clearTimeout(a._showingTimer),clearTimeout(a._closingTimer),a._closingTimer=null,a._showingTimer=setTimeout(function(){a.showSubMenu()},250))},delayHideSubMenu:function(){var a=this;a.isDisabled()||(a.removeState("opened"),clearTimeout(a._showingTimer),a._closingTimer||(a._closingTimer=setTimeout(function(){a.hasState("opened")||a.hideSubMenu(),a._closingTimer=null},400)))},renderLabelHtml:function(){return'
      '+(this.label||"")+"
      "},getStateDom:function(){return this.getDom()},queryAutoHide:function(a){if(this.subMenu&&this.hasState("opened"))return this.subMenu.queryAutoHide(a)},_onClick:function(a,b){this.hasState("disabled")||this.fireEvent("click",a,b)!==!1&&(this.subMenu?this.showSubMenu():e.postHide(a))},showSubMenu:function(){var a=c.getClientRect(this.getDom());a.right-=5,a.left+=2,a.width-=7,a.top-=4,a.bottom+=4,a.height+=8,this.subMenu.showAnchorRect(a,!0,!0)},hideSubMenu:function(){this.subMenu.hide()}},a.inherits(j,d),a.extend(j.prototype,f,!0)}(),function(){var a=baidu.editor.utils,b=baidu.editor.ui.uiUtils,c=baidu.editor.ui.Menu,d=baidu.editor.ui.SplitButton,e=baidu.editor.ui.Combox=function(a){this.initOptions(a),this.initCombox()};e.prototype={uiName:"combox",onbuttonclick:function(){this.showPopup()},initCombox:function(){var a=this;this.items=this.items||[];for(var b=0;bd.right&&(g=d.right-e.width);var h=a.top;h+e.height>d.bottom&&(h=d.bottom-e.height),c.style.left=Math.max(g,0)+"px",c.style.top=Math.max(h,0)+"px"},showAtCenter:function(){var a=f.getViewportRect();if(this.fullscreen){var b=this.getDom(),c=this.getDom("content");b.style.display="block";var d=UE.ui.uiUtils.getClientRect(b),g=UE.ui.uiUtils.getClientRect(c);b.style.left="-100000px",c.style.width=a.width-d.width+g.width+"px",c.style.height=a.height-d.height+g.height+"px",b.style.width=a.width+"px",b.style.height=a.height+"px",b.style.left=0,this._originalContext={html:{overflowX:document.documentElement.style.overflowX,overflowY:document.documentElement.style.overflowY},body:{overflowX:document.body.style.overflowX,overflowY:document.body.style.overflowY}},document.documentElement.style.overflowX="hidden",document.documentElement.style.overflowY="hidden",document.body.style.overflowX="hidden",document.body.style.overflowY="hidden"}else{this.getDom().style.display="";var h=this.fitSize(),i=0|this.getDom("titlebar").offsetHeight,j=a.width/2-h.width/2,k=a.height/2-(h.height-i)/2-i,l=this.getDom();this.safeSetOffset({left:Math.max(0|j,0),top:Math.max(0|k,0)}),e.hasClass(l,"edui-state-centered")||(l.className+=" edui-state-centered")}this._show()},getContentHtml:function(){var a="";return"string"==typeof this.content?a=this.content:this.iframeUrl&&(a=''),a},getHtmlTpl:function(){var a="";if(this.buttons){for(var b=[],c=0;c
      '+b.join("")+"
      "}return'
      '+(this.title||"")+"
      "+this.closeButton.renderHtml()+'
      '+(this.autoReset?"":this.getContentHtml())+"
      "+a+"
      "},postRender:function(){this.modalMask.getDom()||(this.modalMask.render(),this.modalMask.hide()),this.dragMask.getDom()||(this.dragMask.render(),this.dragMask.hide());var a=this;if(this.addListener("show",function(){a.modalMask.show(this.getDom().style.zIndex-2)}),this.addListener("hide",function(){a.modalMask.hide()}),this.buttons)for(var b=0;b',a.editor.container.style.zIndex&&(this.getDom().style.zIndex=1*a.editor.container.style.zIndex+1))}}),this.onbuttonclick=function(){this.showPopup()},this.initSplitButton()}},a.inherits(d,c)}(),function(){function a(a){var b=a.target||a.srcElement,c=g.findParent(b,function(a){return g.hasClass(a,"edui-shortcutmenu")||g.hasClass(a,"edui-popup")},!0);if(!c)for(var d,e=0;d=h[e++];)d.hide()}var b,c=baidu.editor.ui,d=c.UIBase,e=c.uiUtils,f=baidu.editor.utils,g=baidu.editor.dom.domUtils,h=[],i=!1,j=c.ShortCutMenu=function(a){this.initOptions(a),this.initShortCutMenu()};j.postHide=a,j.prototype={isHidden:!0,SPACE:5,initShortCutMenu:function(){this.items=this.items||[],this.initUIBase(),this.initItems(),this.initEvent(),h.push(this)},initEvent:function(){var a=this,c=a.editor.document;g.on(c,"mousemove",function(c){if(a.isHidden===!1){if(a.getSubMenuMark()||"contextmenu"==a.eventType)return;var d=!0,e=a.getDom(),f=e.offsetWidth,g=e.offsetHeight,h=f/2+a.SPACE,i=g/2,j=Math.abs(c.screenX-a.left),k=Math.abs(c.screenY-a.top);clearTimeout(b),b=setTimeout(function(){k>0&&ki&&ki+70&&k0&&jh&&jh+70&&j'+a+""}},f.inherits(j,d),g.on(document,"mousedown",function(b){a(b)}),g.on(window,"scroll",function(b){a(b)})}(),function(){var a=baidu.editor.utils,b=baidu.editor.ui.UIBase,c=baidu.editor.ui.Breakline=function(a){this.initOptions(a),this.initSeparator()};c.prototype={uiName:"Breakline",initSeparator:function(){this.initUIBase()},getHtmlTpl:function(){return"
      "}},a.inherits(c,b)}(),function(){var a=baidu.editor.utils,b=baidu.editor.dom.domUtils,c=baidu.editor.ui.UIBase,d=baidu.editor.ui.Message=function(a){this.initOptions(a),this.initMessage()};d.prototype={initMessage:function(){this.initUIBase()},getHtmlTpl:function(){return'
      ×
      '},reset:function(a){var b=this;a.keepshow||(clearTimeout(this.timer),b.timer=setTimeout(function(){b.hide()},a.timeout||4e3)),void 0!==a.content&&b.setContent(a.content),void 0!==a.type&&b.setType(a.type),b.show()},postRender:function(){var a=this,c=this.getDom("closer");c&&b.on(c,"click",function(){a.hide()})},setContent:function(a){this.getDom("content").innerHTML=a},setType:function(a){a=a||"info";var b=this.getDom("body");b.className=b.className.replace(/edui-message-type-[\w-]+/,"edui-message-type-"+a)},getContent:function(){return this.getDom("content").innerHTML},getType:function(){var a=this.getDom("body").match(/edui-message-type-([\w-]+)/);return a?a[1]:""},show:function(){this.getDom().style.display="block"},hide:function(){var a=this.getDom();a&&(a.style.display="none",a.parentNode&&a.parentNode.removeChild(a))}},a.inherits(d,c)}(),function(){var a=baidu.editor.utils,b=baidu.editor.ui,c=b.Dialog;b.buttons={},b.Dialog=function(a){var b=new c(a);return b.addListener("hide",function(){if(b.editor){var a=b.editor;try{if(browser.gecko){var c=a.window.scrollY,d=a.window.scrollX;a.body.focus(),a.window.scrollTo(d,c)}else a.focus()}catch(e){}}}),b};for(var d,e={anchor:"~/dialogs/anchor/anchor.html",insertimage:"~/dialogs/image/image.html",link:"~/dialogs/link/link.html",spechars:"~/dialogs/spechars/spechars.html",searchreplace:"~/dialogs/searchreplace/searchreplace.html",map:"~/dialogs/map/map.html",gmap:"~/dialogs/gmap/gmap.html",insertvideo:"~/dialogs/video/video.html",help:"~/dialogs/help/help.html",preview:"~/dialogs/preview/preview.html",emotion:"~/dialogs/emotion/emotion.html",wordimage:"~/dialogs/wordimage/wordimage.html",attachment:"~/dialogs/attachment/attachment.html",insertframe:"~/dialogs/insertframe/insertframe.html",edittip:"~/dialogs/table/edittip.html",edittable:"~/dialogs/table/edittable.html",edittd:"~/dialogs/table/edittd.html",webapp:"~/dialogs/webapp/webapp.html",snapscreen:"~/dialogs/snapscreen/snapscreen.html",scrawl:"~/dialogs/scrawl/scrawl.html",music:"~/dialogs/music/music.html",template:"~/dialogs/template/template.html",background:"~/dialogs/background/background.html",charts:"~/dialogs/charts/charts.html"},f=["undo","redo","formatmatch","bold","italic","underline","fontborder","touppercase","tolowercase","strikethrough","subscript","superscript","source","indent","outdent","blockquote","pasteplain","pagebreak","selectall","print","horizontal","removeformat","time","date","unlink","insertparagraphbeforetable","insertrow","insertcol","mergeright","mergedown","deleterow","deletecol","splittorows","splittocols","splittocells","mergecells","deletetable","drafts"],g=0;d=f[g++];)d=d.toLowerCase(),b[d]=function(a){return function(c){var d=new b.Button({className:"edui-for-"+a,title:c.options.labelMap[a]||c.getLang("labelMap."+a)||"",onclick:function(){c.execCommand(a)},theme:c.options.theme,showText:!1});return b.buttons[a]=d,c.addListener("selectionchange",function(b,e,f){var g=c.queryCommandState(a);g==-1?(d.setDisabled(!0),d.setChecked(!1)):f||(d.setDisabled(!1),d.setChecked(g))}),d}}(d);b.cleardoc=function(a){var c=new b.Button({className:"edui-for-cleardoc",title:a.options.labelMap.cleardoc||a.getLang("labelMap.cleardoc")||"",theme:a.options.theme,onclick:function(){confirm(a.getLang("confirmClear"))&&a.execCommand("cleardoc")}});return b.buttons.cleardoc=c,a.addListener("selectionchange",function(){c.setDisabled(a.queryCommandState("cleardoc")==-1)}),c};var h={justify:["left","right","center","justify"],imagefloat:["none","left","center","right"],directionality:["ltr","rtl"]};for(var i in h)!function(a,c){for(var d,e=0;d=c[e++];)!function(c){b[a.replace("float","")+c]=function(d){var e=new b.Button({ +className:"edui-for-"+a.replace("float","")+c,title:d.options.labelMap[a.replace("float","")+c]||d.getLang("labelMap."+a.replace("float","")+c)||"",theme:d.options.theme,onclick:function(){d.execCommand(a,c)}});return b.buttons[a]=e,d.addListener("selectionchange",function(b,f,g){e.setDisabled(d.queryCommandState(a)==-1),e.setChecked(d.queryCommandValue(a)==c&&!g)}),e}}(d)}(i,h[i]);for(var d,g=0;d=["backcolor","forecolor"][g++];)b[d]=function(a){return function(c){var d=new b.ColorButton({className:"edui-for-"+a,color:"default",title:c.options.labelMap[a]||c.getLang("labelMap."+a)||"",editor:c,onpickcolor:function(b,d){c.execCommand(a,d)},onpicknocolor:function(){c.execCommand(a,"default"),this.setColor("transparent"),this.color="default"},onbuttonclick:function(){c.execCommand(a,this.color)}});return b.buttons[a]=d,c.addListener("selectionchange",function(){d.setDisabled(c.queryCommandState(a)==-1)}),d}}(d);var j={noOk:["searchreplace","help","spechars","webapp","preview"],ok:["attachment","anchor","link","insertimage","map","gmap","insertframe","wordimage","insertvideo","insertframe","edittip","edittable","edittd","scrawl","template","music","background","charts"]};for(var i in j)!function(c,d){for(var f,g=0;f=d[g++];)browser.opera&&"searchreplace"===f||!function(d){b[d]=function(f,g,h){g=g||(f.options.iframeUrlMap||{})[d]||e[d],h=f.options.labelMap[d]||f.getLang("labelMap."+d)||"";var i;g&&(i=new b.Dialog(a.extend({iframeUrl:f.ui.mapUrl(g),editor:f,className:"edui-for-"+d,title:h,holdScroll:"insertimage"===d,fullscreen:/charts|preview/.test(d),closeDialog:f.getLang("closeDialog")},"ok"==c?{buttons:[{className:"edui-okbutton",label:f.getLang("ok"),editor:f,onclick:function(){i.close(!0)}},{className:"edui-cancelbutton",label:f.getLang("cancel"),editor:f,onclick:function(){i.close(!1)}}]}:{})),f.ui._dialogs[d+"Dialog"]=i);var j=new b.Button({className:"edui-for-"+d,title:h,onclick:function(){if(i)switch(d){case"wordimage":var a=f.execCommand("wordimage");a&&a.length&&(i.render(),i.open());break;case"scrawl":f.queryCommandState("scrawl")!=-1&&(i.render(),i.open());break;default:i.render(),i.open()}},theme:f.options.theme,disabled:"scrawl"==d&&f.queryCommandState("scrawl")==-1||"charts"==d});return b.buttons[d]=j,f.addListener("selectionchange",function(){var a={edittable:1};if(!(d in a)){var b=f.queryCommandState(d);j.getDom()&&(j.setDisabled(b==-1),j.setChecked(b))}}),j}}(f.toLowerCase())}(i,j[i]);b.snapscreen=function(a,c,d){d=a.options.labelMap.snapscreen||a.getLang("labelMap.snapscreen")||"";var f=new b.Button({className:"edui-for-snapscreen",title:d,onclick:function(){a.execCommand("snapscreen")},theme:a.options.theme});if(b.buttons.snapscreen=f,c=c||(a.options.iframeUrlMap||{}).snapscreen||e.snapscreen){var g=new b.Dialog({iframeUrl:a.ui.mapUrl(c),editor:a,className:"edui-for-snapscreen",title:d,buttons:[{className:"edui-okbutton",label:a.getLang("ok"),editor:a,onclick:function(){g.close(!0)}},{className:"edui-cancelbutton",label:a.getLang("cancel"),editor:a,onclick:function(){g.close(!1)}}]});g.render(),a.ui._dialogs.snapscreenDialog=g}return a.addListener("selectionchange",function(){f.setDisabled(a.queryCommandState("snapscreen")==-1)}),f},b.insertcode=function(c,d,e){d=c.options.insertcode||[],e=c.options.labelMap.insertcode||c.getLang("labelMap.insertcode")||"";var f=[];a.each(d,function(a,b){f.push({label:a,value:b,theme:c.options.theme,renderLabelHtml:function(){return'
      '+(this.label||"")+"
      "}})});var g=new b.Combox({editor:c,items:f,onselect:function(a,b){c.execCommand("insertcode",this.items[b].value)},onbuttonclick:function(){this.showPopup()},title:e,initValue:e,className:"edui-for-insertcode",indexByValue:function(a){if(a)for(var b,c=0;b=this.items[c];c++)if(b.value.indexOf(a)!=-1)return c;return-1}});return b.buttons.insertcode=g,c.addListener("selectionchange",function(a,b,d){if(!d){var f=c.queryCommandState("insertcode");if(f==-1)g.setDisabled(!0);else{g.setDisabled(!1);var h=c.queryCommandValue("insertcode");if(!h)return void g.setValue(e);h&&(h=h.replace(/['"]/g,"").split(",")[0]),g.setValue(h)}}}),g},b.fontfamily=function(c,d,e){if(d=c.options.fontfamily||[],e=c.options.labelMap.fontfamily||c.getLang("labelMap.fontfamily")||"",d.length){for(var f,g=0,h=[];f=d[g];g++){var i=c.getLang("fontfamily")[f.name]||"";!function(b,d){h.push({label:b,value:d,theme:c.options.theme,renderLabelHtml:function(){return'
      '+(this.label||"")+"
      "}})}(f.label||i,f.val)}var j=new b.Combox({editor:c,items:h,onselect:function(a,b){c.execCommand("FontFamily",this.items[b].value)},onbuttonclick:function(){this.showPopup()},title:e,initValue:e,className:"edui-for-fontfamily",indexByValue:function(a){if(a)for(var b,c=0;b=this.items[c];c++)if(b.value.indexOf(a)!=-1)return c;return-1}});return b.buttons.fontfamily=j,c.addListener("selectionchange",function(a,b,d){if(!d){var e=c.queryCommandState("FontFamily");if(e==-1)j.setDisabled(!0);else{j.setDisabled(!1);var f=c.queryCommandValue("FontFamily");f&&(f=f.replace(/['"]/g,"").split(",")[0]),j.setValue(f)}}}),j}},b.fontsize=function(a,c,d){if(d=a.options.labelMap.fontsize||a.getLang("labelMap.fontsize")||"",c=c||a.options.fontsize||[],c.length){for(var e=[],f=0;f'+(this.label||"")+""}})}var h=new b.Combox({editor:a,items:e,title:d,initValue:d,onselect:function(b,c){a.execCommand("FontSize",this.items[c].value)},onbuttonclick:function(){this.showPopup()},className:"edui-for-fontsize"});return b.buttons.fontsize=h,a.addListener("selectionchange",function(b,c,d){if(!d){var e=a.queryCommandState("FontSize");e==-1?h.setDisabled(!0):(h.setDisabled(!1),h.setValue(a.queryCommandValue("FontSize")))}}),h}},b.paragraph=function(c,d,e){if(e=c.options.labelMap.paragraph||c.getLang("labelMap.paragraph")||"",d=c.options.paragraph||[],!a.isEmptyObject(d)){var f=[];for(var g in d)f.push({value:g,label:d[g]||c.getLang("paragraph")[g],theme:c.options.theme,renderLabelHtml:function(){return'
      '+(this.label||"")+"
      "}});var h=new b.Combox({editor:c,items:f,title:e,initValue:e,className:"edui-for-paragraph",onselect:function(a,b){c.execCommand("Paragraph",this.items[b].value)},onbuttonclick:function(){this.showPopup()}});return b.buttons.paragraph=h,c.addListener("selectionchange",function(a,b,d){if(!d){var e=c.queryCommandState("Paragraph");if(e==-1)h.setDisabled(!0);else{h.setDisabled(!1);var f=c.queryCommandValue("Paragraph"),g=h.indexByValue(f);g!=-1?h.setValue(f):h.setValue(h.initValue)}}}),h}},b.customstyle=function(a){var c=a.options.customstyle||[],d=a.options.labelMap.customstyle||a.getLang("labelMap.customstyle")||"";if(c.length){for(var e,f=a.getLang("customstyle"),g=0,h=[];e=c[g++];)!function(b){var c={};c.label=b.label?b.label:f[b.name],c.style=b.style,c.className=b.className,c.tag=b.tag,h.push({label:c.label,value:c,theme:a.options.theme,renderLabelHtml:function(){return'
      <'+c.tag+" "+(c.className?' class="'+c.className+'"':"")+(c.style?' style="'+c.style+'"':"")+">"+c.label+"
      "}})}(e);var i=new b.Combox({editor:a,items:h,title:d,initValue:d,className:"edui-for-customstyle",onselect:function(b,c){a.execCommand("customstyle",this.items[c].value)},onbuttonclick:function(){this.showPopup()},indexByValue:function(a){for(var b,c=0;b=this.items[c++];)if(b.label==a)return c-1;return-1}});return b.buttons.customstyle=i,a.addListener("selectionchange",function(b,c,d){if(!d){var e=a.queryCommandState("customstyle");if(e==-1)i.setDisabled(!0);else{i.setDisabled(!1);var f=a.queryCommandValue("customstyle"),g=i.indexByValue(f);g!=-1?i.setValue(f):i.setValue(i.initValue)}}}),i}},b.inserttable=function(a,c,d){d=a.options.labelMap.inserttable||a.getLang("labelMap.inserttable")||"";var e=new b.TableButton({editor:a,title:d,className:"edui-for-inserttable",onpicktable:function(b,c,d){a.execCommand("InsertTable",{numRows:d,numCols:c,border:1})},onbuttonclick:function(){this.showPopup()}});return b.buttons.inserttable=e,a.addListener("selectionchange",function(){e.setDisabled(a.queryCommandState("inserttable")==-1)}),e},b.lineheight=function(a){var c=a.options.lineheight||[];if(c.length){for(var d,e=0,f=[];d=c[e++];)f.push({label:d,value:d,theme:a.options.theme,onclick:function(){a.execCommand("lineheight",this.value)}});var g=new b.MenuButton({editor:a,className:"edui-for-lineheight",title:a.options.labelMap.lineheight||a.getLang("labelMap.lineheight")||"",items:f,onbuttonclick:function(){var b=a.queryCommandValue("LineHeight")||this.value;a.execCommand("LineHeight",b)}});return b.buttons.lineheight=g,a.addListener("selectionchange",function(){var b=a.queryCommandState("LineHeight");if(b==-1)g.setDisabled(!0);else{g.setDisabled(!1);var c=a.queryCommandValue("LineHeight");c&&g.setValue((c+"").replace(/cm/,"")),g.setChecked(b)}}),g}};for(var k,l=["top","bottom"],m=0;k=l[m++];)!function(a){b["rowspacing"+a]=function(c){var d=c.options["rowspacing"+a]||[];if(!d.length)return null;for(var e,f=0,g=[];e=d[f++];)g.push({label:e,value:e,theme:c.options.theme,onclick:function(){c.execCommand("rowspacing",this.value,a)}});var h=new b.MenuButton({editor:c,className:"edui-for-rowspacing"+a,title:c.options.labelMap["rowspacing"+a]||c.getLang("labelMap.rowspacing"+a)||"",items:g,onbuttonclick:function(){var b=c.queryCommandValue("rowspacing",a)||this.value;c.execCommand("rowspacing",b,a)}});return b.buttons[a]=h,c.addListener("selectionchange",function(){var b=c.queryCommandState("rowspacing",a);if(b==-1)h.setDisabled(!0);else{h.setDisabled(!1);var d=c.queryCommandValue("rowspacing",a);d&&h.setValue((d+"").replace(/%/,"")),h.setChecked(b)}}),h}}(k);for(var n,o=["insertorderedlist","insertunorderedlist"],p=0;n=o[p++];)!function(a){b[a]=function(c){var d=c.options[a],e=function(){c.execCommand(a,this.value)},f=[];for(var g in d)f.push({label:d[g]||c.getLang()[a][g]||"",value:g,theme:c.options.theme,onclick:e});var h=new b.MenuButton({editor:c,className:"edui-for-"+a,title:c.getLang("labelMap."+a)||"",items:f,onbuttonclick:function(){var b=c.queryCommandValue(a)||this.value;c.execCommand(a,b)}});return b.buttons[a]=h,c.addListener("selectionchange",function(){var b=c.queryCommandState(a);if(b==-1)h.setDisabled(!0);else{h.setDisabled(!1);var d=c.queryCommandValue(a);h.setValue(d),h.setChecked(b)}}),h}}(n);b.fullscreen=function(a,c){c=a.options.labelMap.fullscreen||a.getLang("labelMap.fullscreen")||"";var d=new b.Button({className:"edui-for-fullscreen",title:c,theme:a.options.theme,onclick:function(){a.ui&&a.ui.setFullScreen(!a.ui.isFullScreen()),this.setChecked(a.ui.isFullScreen())}});return b.buttons.fullscreen=d,a.addListener("selectionchange",function(){var b=a.queryCommandState("fullscreen");d.setDisabled(b==-1),d.setChecked(a.ui.isFullScreen())}),d},b.emotion=function(a,c){var d="emotion",f=new b.MultiMenuPop({title:a.options.labelMap[d]||a.getLang("labelMap."+d)||"",editor:a,className:"edui-for-"+d,iframeUrl:a.ui.mapUrl(c||(a.options.iframeUrlMap||{})[d]||e[d])});return b.buttons[d]=f,a.addListener("selectionchange",function(){f.setDisabled(a.queryCommandState(d)==-1)}),f},b.autotypeset=function(a){var c=new b.AutoTypeSetButton({editor:a,title:a.options.labelMap.autotypeset||a.getLang("labelMap.autotypeset")||"",className:"edui-for-autotypeset",onbuttonclick:function(){a.execCommand("autotypeset")}});return b.buttons.autotypeset=c,a.addListener("selectionchange",function(){c.setDisabled(a.queryCommandState("autotypeset")==-1)}),c},b.simpleupload=function(a){var c="simpleupload",d=new b.Button({className:"edui-for-"+c,title:a.options.labelMap[c]||a.getLang("labelMap."+c)||"",onclick:function(){},theme:a.options.theme,showText:!1});return b.buttons[c]=d,a.addListener("ready",function(){var b=d.getDom("body"),c=b.children[0];a.fireEvent("simpleuploadbtnready",c)}),a.addListener("selectionchange",function(b,e,f){var g=a.queryCommandState(c);g==-1?(d.setDisabled(!0),d.setChecked(!1)):f||(d.setDisabled(!1),d.setChecked(g))}),d}}(),function(){function a(a){this.initOptions(a),this.initEditorUI()}var b=baidu.editor.utils,c=baidu.editor.ui.uiUtils,d=baidu.editor.ui.UIBase,e=baidu.editor.dom.domUtils,f=[];a.prototype={uiName:"editor",initEditorUI:function(){function a(a,b){a.setOpt({wordCount:!0,maximumWords:1e4,wordCountMsg:a.options.wordCountMsg||a.getLang("wordCountMsg"),wordOverFlowMsg:a.options.wordOverFlowMsg||a.getLang("wordOverFlowMsg")});var c=a.options,d=c.maximumWords,e=c.wordCountMsg,f=c.wordOverFlowMsg,g=b.getDom("wordcount");if(c.wordCount){var h=a.getContentLength(!0);h>d?(g.innerHTML=f,a.fireEvent("wordcountoverflow")):g.innerHTML=e.replace("{#leave}",d-h).replace("{#count}",h)}}this.editor.ui=this,this._dialogs={},this.initUIBase(),this._initToolbars();var b=this.editor,c=this;b.addListener("ready",function(){function d(){a(b,c),e.un(b.document,"click",arguments.callee)}b.getDialog=function(a){return b.ui._dialogs[a+"Dialog"]},e.on(b.window,"scroll",function(a){baidu.editor.ui.Popup.postHide(a)}),b.ui._actualFrameWidth=b.options.initialFrameWidth,UE.browser.ie&&6===UE.browser.version&&b.container.ownerDocument.execCommand("BackgroundImageCache",!1,!0),b.options.elementPathEnabled&&(b.ui.getDom("elementpath").innerHTML='
      '+b.getLang("elementPathTip")+":
      "),b.options.wordCount&&(e.on(b.document,"click",d),b.ui.getDom("wordcount").innerHTML=b.getLang("wordCountTip")),b.ui._scale(),b.options.scaleEnabled?(b.autoHeightEnabled&&b.disableAutoHeight(),c.enableScale()):c.disableScale(),b.options.elementPathEnabled||b.options.wordCount||b.options.scaleEnabled||(b.ui.getDom("elementpath").style.display="none",b.ui.getDom("wordcount").style.display="none",b.ui.getDom("scale").style.display="none"),b.selection.isFocus()&&b.fireEvent("selectionchange",!1,!0)}),b.addListener("mousedown",function(a,b){var c=b.target||b.srcElement;baidu.editor.ui.Popup.postHide(b,c),baidu.editor.ui.ShortCutMenu.postHide(b)}),b.addListener("delcells",function(){UE.ui.edittip&&new UE.ui.edittip(b),b.getDialog("edittip").open()});var d,f,g=!1;b.addListener("afterpaste",function(){b.queryCommandState("pasteplain")||(baidu.editor.ui.PastePicker&&(d=new baidu.editor.ui.Popup({content:new baidu.editor.ui.PastePicker({editor:b}),editor:b,className:"edui-wordpastepop"}),d.render()),g=!0)}),b.addListener("afterinserthtml",function(){clearTimeout(f),f=setTimeout(function(){if(d&&(g||b.ui._isTransfer)){if(d.isHidden()){var a=e.createElement(b.document,"span",{style:"line-height:0px;",innerHTML:"\ufeff"}),c=b.selection.getRange();c.insertNode(a);var f=getDomNode(a,"firstChild","previousSibling");f&&d.showAnchor(3==f.nodeType?f.parentNode:f),e.remove(a)}else d.show();delete b.ui._isTransfer,g=!1}},200)}),b.addListener("contextmenu",function(a,b){baidu.editor.ui.Popup.postHide(b)}),b.addListener("keydown",function(a,b){d&&d.dispose(b);var c=b.keyCode||b.which;b.altKey&&90==c&&UE.ui.buttons.fullscreen.onclick()}),b.addListener("wordcount",function(b){a(this,c)}),b.addListener("selectionchange",function(){b.options.elementPathEnabled&&c[(b.queryCommandState("elementpath")==-1?"dis":"en")+"ableElementPath"](),b.options.scaleEnabled&&c[(b.queryCommandState("scale")==-1?"dis":"en")+"ableScale"]()});var h=new baidu.editor.ui.Popup({editor:b,content:"",className:"edui-bubble",_onEditButtonClick:function(){this.hide(),b.ui._dialogs.linkDialog.open()},_onImgEditButtonClick:function(a){this.hide(),b.ui._dialogs[a]&&b.ui._dialogs[a].open()},_onImgSetFloat:function(a){this.hide(),b.execCommand("imagefloat",a)},_setIframeAlign:function(a){var b=h.anchorEl,c=b.cloneNode(!0);switch(a){case-2:c.setAttribute("align","");break;case-1:c.setAttribute("align","left");break;case 1:c.setAttribute("align","right")}b.parentNode.insertBefore(c,b),e.remove(b),h.anchorEl=c,h.showAnchor(h.anchorEl)},_updateIframe:function(){var a=b._iframe=h.anchorEl;e.hasClass(a,"ueditor_baidumap")?(b.selection.getRange().selectNode(a).select(),b.ui._dialogs.mapDialog.open(),h.hide()):(b.ui._dialogs.insertframeDialog.open(),h.hide())},_onRemoveButtonClick:function(a){b.execCommand(a),this.hide()},queryAutoHide:function(a){return a&&a.ownerDocument==b.document&&("img"==a.tagName.toLowerCase()||e.findParentByTagName(a,"a",!0))?a!==h.anchorEl:baidu.editor.ui.Popup.prototype.queryAutoHide.call(this,a)}});h.render(),b.options.imagePopup&&(b.addListener("mouseover",function(a,c){c=c||window.event;var d=c.target||c.srcElement;if(b.ui._dialogs.insertframeDialog&&/iframe/gi.test(d.tagName)){var e=h.formatHtml(""+b.getLang("property")+': '+b.getLang("default")+'  '+b.getLang("justifyleft")+'  '+b.getLang("justifyright")+'   '+b.getLang("modify")+"");e?(h.getDom("content").innerHTML=e,h.anchorEl=d,h.showAnchor(h.anchorEl)):h.hide()}}),b.addListener("selectionchange",function(a,c){if(c){var d="",f="",g=b.selection.getRange().getClosedNode(),i=b.ui._dialogs;if(g&&"IMG"==g.tagName){var j="insertimageDialog";if(g.className.indexOf("edui-faked-video")==-1&&g.className.indexOf("edui-upload-video")==-1||(j="insertvideoDialog"),g.className.indexOf("edui-faked-webapp")!=-1&&(j="webappDialog"),g.src.indexOf("http://api.map.baidu.com")!=-1&&(j="mapDialog"),g.className.indexOf("edui-faked-music")!=-1&&(j="musicDialog"),g.src.indexOf("http://maps.google.com/maps/api/staticmap")!=-1&&(j="gmapDialog"),g.getAttribute("anchorname")&&(j="anchorDialog",d=h.formatHtml(""+b.getLang("property")+': '+b.getLang("modify")+"  "+b.getLang("delete")+"")),g.getAttribute("word_img")&&(b.word_img=[g.getAttribute("word_img")],j="wordimageDialog"),(e.hasClass(g,"loadingclass")||e.hasClass(g,"loaderrorclass"))&&(j=""),!i[j])return;f=""+b.getLang("property")+': '+b.getLang("default")+'  '+b.getLang("justifyleft")+'  '+b.getLang("justifyright")+'  '+b.getLang("justifycenter")+"  '+b.getLang("modify")+"",!d&&(d=h.formatHtml(f))}if(b.ui._dialogs.linkDialog){var k,l=b.queryCommandValue("link");if(l&&(k=l.getAttribute("_href")||l.getAttribute("href",2))){var m=k;k.length>30&&(m=k.substring(0,20)+"..."),d&&(d+='
      '),d+=h.formatHtml(""+b.getLang("anthorMsg")+': '+m+' '+b.getLang("modify")+' '+b.getLang("clear")+""),h.showAnchor(l)}}d?(h.getDom("content").innerHTML=d,h.anchorEl=g||l,h.showAnchor(h.anchorEl)):h.hide()}}))},_initToolbars:function(){for(var a=this.editor,c=this.toolbars||[],d=[],e=0;e
      '+(this.toolbars.length?'
      '+this.renderToolbarBoxHtml()+"
      ":"")+'
      '},showWordImageDialog:function(){this._dialogs.wordimageDialog.open()},renderToolbarBoxHtml:function(){for(var a=[],b=0;b'+c+"");b.innerHTML='
      '+this.editor.getLang("elementPathTip")+": "+d.join(" > ")+"
      "}else b.style.display="none"},disableElementPath:function(){var a=this.getDom("elementpath");a.innerHTML="",a.style.display="none",this.elementPathEnabled=!1},enableElementPath:function(){var a=this.getDom("elementpath");a.style.display="",this.elementPathEnabled=!0,this._updateElementPath()},_scale:function(){function a(){o=e.getXY(h),p||(p=g.options.minFrameHeight+j.offsetHeight+k.offsetHeight),m.style.cssText="position:absolute;left:0;display:;top:0;background-color:#41ABFF;opacity:0.4;filter: Alpha(opacity=40);width:"+h.offsetWidth+"px;height:"+h.offsetHeight+"px;z-index:"+(g.options.zIndex+1),e.on(f,"mousemove",b),e.on(i,"mouseup",c),e.on(f,"mouseup",c)}function b(a){d();var b=a||window.event;r=b.pageX||f.documentElement.scrollLeft+b.clientX,s=b.pageY||f.documentElement.scrollTop+b.clientY,t=r-o.x,u=s-o.y,t>=q&&(n=!0,m.style.width=t+"px"),u>=p&&(n=!0,m.style.height=u+"px")}function c(){n&&(n=!1,g.ui._actualFrameWidth=m.offsetWidth-2,h.style.width=g.ui._actualFrameWidth+"px",g.setHeight(m.offsetHeight-k.offsetHeight-j.offsetHeight-2,!0)),m&&(m.style.display="none"),d(),e.un(f,"mousemove",b),e.un(i,"mouseup",c),e.un(f,"mouseup",c)}function d(){browser.ie?f.selection.clear():window.getSelection().removeAllRanges()}var f=document,g=this.editor,h=g.container,i=g.document,j=this.getDom("toolbarbox"),k=this.getDom("bottombar"),l=this.getDom("scale"),m=this.getDom("scalelayer"),n=!1,o=null,p=0,q=g.options.minFrameWidth,r=0,s=0,t=0,u=0,v=this;this.editor.addListener("fullscreenchanged",function(a,b){if(b)v.disableScale();else if(v.editor.options.scaleEnabled){v.enableScale();var c=v.editor.document.createElement("span");v.editor.body.appendChild(c),v.editor.body.style.height=Math.max(e.getXY(c).y,v.editor.iframe.offsetHeight-20)+"px",e.remove(c)}}),this.enableScale=function(){1!=g.queryCommandState("source")&&(l.style.display="",this.scaleEnabled=!0,e.on(l,"mousedown",a))},this.disableScale=function(){l.style.display="none",this.scaleEnabled=!1,e.un(l,"mousedown",a)}},isFullScreen:function(){return this._fullscreen},postRender:function(){d.prototype.postRender.call(this);for(var a=0;a[\n\r\t]+([ ]{4})+/g,">").replace(/[\n\r\t]+([ ]{4})+[\n\r\t]+<"),c.className&&(b.className=c.className),c.style.cssText&&(b.style.cssText=c.style.cssText),/textarea/i.test(c.tagName)?(d.textarea=c,d.textarea.style.display="none"):c.parentNode.removeChild(c),c.id&&(b.id=c.id,e.removeAttributes(c,"id")),c=b,c.innerHTML=""}e.addClass(c,"edui-"+d.options.theme),d.ui.render(c);var h=d.options;d.container=d.ui.getDom();for(var i,j=e.findParents(c,!0),k=[],l=0;i=j[l];l++)k[l]=i.style.display,i.style.display="block";if(h.initialFrameWidth)h.minFrameWidth=h.initialFrameWidth;else{h.minFrameWidth=h.initialFrameWidth=c.offsetWidth;var m=c.style.width;/%$/.test(m)&&(h.initialFrameWidth=m)}h.initialFrameHeight?h.minFrameHeight=h.initialFrameHeight:h.initialFrameHeight=h.minFrameHeight=c.offsetHeight;for(var i,l=0;i=j[l];l++)i.style.display=k[l];c.style.height&&(c.style.height=""),d.container.style.width=h.initialFrameWidth+(/%$/.test(h.initialFrameWidth)?"":"px"),d.container.style.zIndex=h.zIndex,f.call(d,d.ui.getDom("iframeholder")),d.fireEvent("afteruiready")}d.langIsReady?b():d.addListener("langReady",b)})},d},UE.getEditor=function(a,b){var c=g[a];return c||(c=g[a]=new UE.ui.Editor(b),c.render(a)),c},UE.delEditor=function(a){var b;(b=g[a])&&(b.key&&b.destroy(),delete g[a])},UE.registerUI=function(a,c,d,e){b.each(a.split(/\s+/),function(a){UE._customizeUI[a]={id:e,execFn:c,index:d}})}}(),UE.registerUI("message",function(a){function b(){var a=g.ui.getDom("toolbarbox");a&&(c.style.top=a.offsetHeight+3+"px"),c.style.zIndex=Math.max(g.options.zIndex,g.iframe.style.zIndex)+1}var c,d=baidu.editor.ui,e=d.Message,f=[],g=a;g.addListener("ready",function(){c=document.getElementById(g.ui.id+"_message_holder"),b(),setTimeout(function(){b()},500)}),g.addListener("showmessage",function(a,d){d=utils.isString(d)?{content:d}:d;var h=new e({timeout:d.timeout,type:d.type,content:d.content,keepshow:d.keepshow,editor:g}),i=d.id||"msg_"+(+new Date).toString(36);return h.render(c),f[i]=h,h.reset(d),b(),i}),g.addListener("updatemessage",function(a,b,d){d=utils.isString(d)?{content:d}:d;var e=f[b];e.render(c),e&&e.reset(d)}),g.addListener("hidemessage",function(a,b){var c=f[b];c&&c.hide()})}),UE.registerUI("autosave",function(a){var b=null,c=null;a.on("afterautosave",function(){clearTimeout(b),b=setTimeout(function(){c&&a.trigger("hidemessage",c),c=a.trigger("showmessage",{content:a.getLang("autosave.success"),timeout:2e3})},2e3)})})}(); \ No newline at end of file diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.config.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.config.js new file mode 100644 index 0000000..9fd8773 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.config.js @@ -0,0 +1,499 @@ +/** + * ueditor完整配置项 + * 可以在这里配置整个编辑器的特性 + */ +/**************************提示******************************** + * 所有被注释的配置项均为UEditor默认值。 + * 修改默认配置请首先确保已经完全明确该参数的真实用途。 + * 主要有两种修改方案,一种是取消此处注释,然后修改成对应参数;另一种是在实例化编辑器时传入对应参数。 + * 当升级编辑器时,可直接使用旧版配置文件替换新版配置文件,不用担心旧版配置文件中因缺少新功能所需的参数而导致脚本报错。 + **************************提示********************************/ + +(function () { + + /** + * 编辑器资源文件根路径。它所表示的含义是:以编辑器实例化页面为当前路径,指向编辑器资源文件(即dialog等文件夹)的路径。 + * 鉴于很多同学在使用编辑器的时候出现的种种路径问题,此处强烈建议大家使用"相对于网站根目录的相对路径"进行配置。 + * "相对于网站根目录的相对路径"也就是以斜杠开头的形如"/myProject/ueditor/"这样的路径。 + * 如果站点中有多个不在同一层级的页面需要实例化编辑器,且引用了同一UEditor的时候,此处的URL可能不适用于每个页面的编辑器。 + * 因此,UEditor提供了针对不同页面的编辑器可单独配置的根路径,具体来说,在需要实例化编辑器的页面最顶部写上如下代码即可。当然,需要令此处的URL等于对应的配置。 + * window.UEDITOR_HOME_URL = "/xxxx/xxxx/"; + */ + var URL = window.UEDITOR_HOME_URL || getUEBasePath(); + + URL = URL + "/ueditor/" + + /** + * 配置项主体。注意,此处所有涉及到路径的配置别遗漏URL变量。 + */ + window.UEDITOR_CONFIG = { + + //为编辑器实例添加一个路径,这个不能被注释 + UEDITOR_HOME_URL: URL + + // 服务器统一请求接口路径 + , serverUrl: URL + "jsp/controller.jsp" + + //工具栏上的所有的功能按钮和下拉框,可以在new编辑器的实例时选择自己需要的重新定义 + , toolbars: [[ + 'fullscreen', 'source', '|', 'undo', 'redo', '|', + 'bold', 'italic', 'underline', 'fontborder', 'strikethrough', 'superscript', 'subscript', 'removeformat', 'formatmatch', 'autotypeset', 'blockquote', 'pasteplain', '|', 'forecolor', 'backcolor', 'insertorderedlist', 'insertunorderedlist', 'selectall', 'cleardoc', '|', + 'rowspacingtop', 'rowspacingbottom', 'lineheight', '|', + 'customstyle', 'paragraph', 'fontfamily', 'fontsize', '|', + 'directionalityltr', 'directionalityrtl', 'indent', '|', + 'justifyleft', 'justifycenter', 'justifyright', 'justifyjustify', '|', 'touppercase', 'tolowercase', '|', + 'link', 'unlink', 'anchor', '|', 'imagenone', 'imageleft', 'imageright', 'imagecenter', '|', + 'simpleupload', 'insertimage', 'emotion', 'scrawl', 'insertvideo', 'music', 'attachment', 'map', 'gmap', 'insertframe', 'insertcode', 'webapp', 'pagebreak', 'template', 'background', '|', + 'horizontal', 'date', 'time', 'spechars', 'snapscreen', 'wordimage', '|', + 'inserttable', 'deletetable', 'insertparagraphbeforetable', 'insertrow', 'deleterow', 'insertcol', 'deletecol', 'mergecells', 'mergeright', 'mergedown', 'splittocells', 'splittorows', 'splittocols', 'charts', '|', + 'print', 'preview', 'searchreplace', 'drafts', 'help' + ]] + //当鼠标放在工具栏上时显示的tooltip提示,留空支持自动多语言配置,否则以配置值为准 + //,labelMap:{ + // 'anchor':'', 'undo':'' + //} + + //语言配置项,默认是zh-cn。有需要的话也可以使用如下这样的方式来自动多语言切换,当然,前提条件是lang文件夹下存在对应的语言文件: + //lang值也可以通过自动获取 (navigator.language||navigator.browserLanguage ||navigator.userLanguage).toLowerCase() + //,lang:"zh-cn" + //,langPath:URL +"lang/" + + //主题配置项,默认是default。有需要的话也可以使用如下这样的方式来自动多主题切换,当然,前提条件是themes文件夹下存在对应的主题文件: + //现有如下皮肤:default + //,theme:'default' + //,themePath:URL +"themes/" + + //,zIndex : 900 //编辑器层级的基数,默认是900 + + //针对getAllHtml方法,会在对应的head标签中增加该编码设置。 + //,charset:"utf-8" + + //若实例化编辑器的页面手动修改的domain,此处需要设置为true + //,customDomain:false + + //常用配置项目 + //,isShow : true //默认显示编辑器 + + //,textarea:'editorValue' // 提交表单时,服务器获取编辑器提交内容的所用的参数,多实例时可以给容器name属性,会将name给定的值最为每个实例的键值,不用每次实例化的时候都设置这个值 + + //,initialContent:'欢迎使用ueditor!' //初始化编辑器的内容,也可以通过textarea/script给值,看官网例子 + + //,autoClearinitialContent:true //是否自动清除编辑器初始内容,注意:如果focus属性设置为true,这个也为真,那么编辑器一上来就会触发导致初始化的内容看不到了 + + //,focus:false //初始化时,是否让编辑器获得焦点true或false + + //如果自定义,最好给p标签如下的行高,要不输入中文时,会有跳动感 + //,initialStyle:'p{line-height:1em}'//编辑器层级的基数,可以用来改变字体等 + + //,iframeCssUrl: URL + '/themes/iframe.css' //给编辑区域的iframe引入一个css文件 + + //indentValue + //首行缩进距离,默认是2em + //,indentValue:'2em' + + //,initialFrameWidth:1000 //初始化编辑器宽度,默认1000 + //,initialFrameHeight:320 //初始化编辑器高度,默认320 + + //,readonly : false //编辑器初始化结束后,编辑区域是否是只读的,默认是false + + //,autoClearEmptyNode : true //getContent时,是否删除空的inlineElement节点(包括嵌套的情况) + + //启用自动保存 + //,enableAutoSave: true + //自动保存间隔时间, 单位ms + //,saveInterval: 500 + + //,fullscreen : false //是否开启初始化时即全屏,默认关闭 + + //,imagePopup:true //图片操作的浮层开关,默认打开 + + //,autoSyncData:true //自动同步编辑器要提交的数据 + //,emotionLocalization:false //是否开启表情本地化,默认关闭。若要开启请确保emotion文件夹下包含官网提供的images表情文件夹 + + //粘贴只保留标签,去除标签所有属性 + //,retainOnlyLabelPasted: false + + //,pasteplain:false //是否默认为纯文本粘贴。false为不使用纯文本粘贴,true为使用纯文本粘贴 + //纯文本粘贴模式下的过滤规则 + //'filterTxtRules' : function(){ + // function transP(node){ + // node.tagName = 'p'; + // node.setStyle(); + // } + // return { + // //直接删除及其字节点内容 + // '-' : 'script style object iframe embed input select', + // 'p': {$:{}}, + // 'br':{$:{}}, + // 'div':{'$':{}}, + // 'li':{'$':{}}, + // 'caption':transP, + // 'th':transP, + // 'tr':transP, + // 'h1':transP,'h2':transP,'h3':transP,'h4':transP,'h5':transP,'h6':transP, + // 'td':function(node){ + // //没有内容的td直接删掉 + // var txt = !!node.innerText(); + // if(txt){ + // node.parentNode.insertAfter(UE.uNode.createText('    '),node); + // } + // node.parentNode.removeChild(node,node.innerText()) + // } + // } + //}() + + //,allHtmlEnabled:false //提交到后台的数据是否包含整个html字符串 + + //insertorderedlist + //有序列表的下拉配置,值留空时支持多语言自动识别,若配置值,则以此值为准 + //,'insertorderedlist':{ + // //自定的样式 + // 'num':'1,2,3...', + // 'num1':'1),2),3)...', + // 'num2':'(1),(2),(3)...', + // 'cn':'一,二,三....', + // 'cn1':'一),二),三)....', + // 'cn2':'(一),(二),(三)....', + // //系统自带 + // 'decimal' : '' , //'1,2,3...' + // 'lower-alpha' : '' , // 'a,b,c...' + // 'lower-roman' : '' , //'i,ii,iii...' + // 'upper-alpha' : '' , lang //'A,B,C' + // 'upper-roman' : '' //'I,II,III...' + //} + + //insertunorderedlist + //无序列表的下拉配置,值留空时支持多语言自动识别,若配置值,则以此值为准 + //,insertunorderedlist : { //自定的样式 + // 'dash' :'— 破折号', //-破折号 + // 'dot':' 。 小圆圈', //系统自带 + // 'circle' : '', // '○ 小圆圈' + // 'disc' : '', // '● 小圆点' + // 'square' : '' //'■ 小方块' + //} + //,listDefaultPaddingLeft : '30'//默认的左边缩进的基数倍 + //,listiconpath : 'http://bs.baidu.com/listicon/'//自定义标号的路径 + //,maxListLevel : 3 //限制可以tab的级数, 设置-1为不限制 + + //,autoTransWordToList:false //禁止word中粘贴进来的列表自动变成列表标签 + + //fontfamily + //字体设置 label留空支持多语言自动切换,若配置,则以配置值为准 + //,'fontfamily':[ + // { label:'',name:'songti',val:'宋体,SimSun'}, + // { label:'',name:'kaiti',val:'楷体,楷体_GB2312, SimKai'}, + // { label:'',name:'yahei',val:'微软雅黑,Microsoft YaHei'}, + // { label:'',name:'heiti',val:'黑体, SimHei'}, + // { label:'',name:'lishu',val:'隶书, SimLi'}, + // { label:'',name:'andaleMono',val:'andale mono'}, + // { label:'',name:'arial',val:'arial, helvetica,sans-serif'}, + // { label:'',name:'arialBlack',val:'arial black,avant garde'}, + // { label:'',name:'comicSansMs',val:'comic sans ms'}, + // { label:'',name:'impact',val:'impact,chicago'}, + // { label:'',name:'timesNewRoman',val:'times new roman'} + //] + + //fontsize + //字号 + //,'fontsize':[10, 11, 12, 14, 16, 18, 20, 24, 36] + + //paragraph + //段落格式 值留空时支持多语言自动识别,若配置,则以配置值为准 + //,'paragraph':{'p':'', 'h1':'', 'h2':'', 'h3':'', 'h4':'', 'h5':'', 'h6':''} + + //rowspacingtop + //段间距 值和显示的名字相同 + //,'rowspacingtop':['5', '10', '15', '20', '25'] + + //rowspacingBottom + //段间距 值和显示的名字相同 + //,'rowspacingbottom':['5', '10', '15', '20', '25'] + + //lineheight + //行内间距 值和显示的名字相同 + //,'lineheight':['1', '1.5','1.75','2', '3', '4', '5'] + + //customstyle + //自定义样式,不支持国际化,此处配置值即可最后显示值 + //block的元素是依据设置段落的逻辑设置的,inline的元素依据BIU的逻辑设置 + //尽量使用一些常用的标签 + //参数说明 + //tag 使用的标签名字 + //label 显示的名字也是用来标识不同类型的标识符,注意这个值每个要不同, + //style 添加的样式 + //每一个对象就是一个自定义的样式 + //,'customstyle':[ + // {tag:'h1', name:'tc', label:'', style:'border-bottom:#ccc 2px solid;padding:0 4px 0 0;text-align:center;margin:0 0 20px 0;'}, + // {tag:'h1', name:'tl',label:'', style:'border-bottom:#ccc 2px solid;padding:0 4px 0 0;margin:0 0 10px 0;'}, + // {tag:'span',name:'im', label:'', style:'font-style:italic;font-weight:bold'}, + // {tag:'span',name:'hi', label:'', style:'font-style:italic;font-weight:bold;color:rgb(51, 153, 204)'} + //] + + //打开右键菜单功能 + //,enableContextMenu: true + //右键菜单的内容,可以参考plugins/contextmenu.js里边的默认菜单的例子,label留空支持国际化,否则以此配置为准 + //,contextMenu:[ + // { + // label:'', //显示的名称 + // cmdName:'selectall',//执行的command命令,当点击这个右键菜单时 + // //exec可选,有了exec就会在点击时执行这个function,优先级高于cmdName + // exec:function () { + // //this是当前编辑器的实例 + // //this.ui._dialogs['inserttableDialog'].open(); + // } + // } + //] + + //快捷菜单 + //,shortcutMenu:["fontfamily", "fontsize", "bold", "italic", "underline", "forecolor", "backcolor", "insertorderedlist", "insertunorderedlist"] + + //elementPathEnabled + //是否启用元素路径,默认是显示 + //,elementPathEnabled : true + + //wordCount + //,wordCount:true //是否开启字数统计 + //,maximumWords:10000 //允许的最大字符数 + //字数统计提示,{#count}代表当前字数,{#leave}代表还可以输入多少字符数,留空支持多语言自动切换,否则按此配置显示 + //,wordCountMsg:'' //当前已输入 {#count} 个字符,您还可以输入{#leave} 个字符 + //超出字数限制提示 留空支持多语言自动切换,否则按此配置显示 + //,wordOverFlowMsg:'' //你输入的字符个数已经超出最大允许值,服务器可能会拒绝保存! + + //tab + //点击tab键时移动的距离,tabSize倍数,tabNode什么字符做为单位 + //,tabSize:4 + //,tabNode:' ' + + //removeFormat + //清除格式时可以删除的标签和属性 + //removeForamtTags标签 + //,removeFormatTags:'b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var' + //removeFormatAttributes属性 + //,removeFormatAttributes:'class,style,lang,width,height,align,hspace,valign' + + //undo + //可以最多回退的次数,默认20 + //,maxUndoCount:20 + //当输入的字符数超过该值时,保存一次现场 + //,maxInputCount:1 + + //autoHeightEnabled + // 是否自动长高,默认true + //,autoHeightEnabled:true + + //scaleEnabled + //是否可以拉伸长高,默认true(当开启时,自动长高失效) + //,scaleEnabled:false + //,minFrameWidth:800 //编辑器拖动时最小宽度,默认800 + //,minFrameHeight:220 //编辑器拖动时最小高度,默认220 + + //autoFloatEnabled + //是否保持toolbar的位置不动,默认true + //,autoFloatEnabled:true + //浮动时工具栏距离浏览器顶部的高度,用于某些具有固定头部的页面 + //,topOffset:30 + //编辑器底部距离工具栏高度(如果参数大于等于编辑器高度,则设置无效) + //,toolbarTopOffset:400 + + //设置远程图片是否抓取到本地保存 + //,catchRemoteImageEnable: true //设置是否抓取远程图片 + + //pageBreakTag + //分页标识符,默认是_ueditor_page_break_tag_ + //,pageBreakTag:'_ueditor_page_break_tag_' + + //autotypeset + //自动排版参数 + //,autotypeset: { + // mergeEmptyline: true, //合并空行 + // removeClass: true, //去掉冗余的class + // removeEmptyline: false, //去掉空行 + // textAlign:"left", //段落的排版方式,可以是 left,right,center,justify 去掉这个属性表示不执行排版 + // imageBlockLine: 'center', //图片的浮动方式,独占一行剧中,左右浮动,默认: center,left,right,none 去掉这个属性表示不执行排版 + // pasteFilter: false, //根据规则过滤没事粘贴进来的内容 + // clearFontSize: false, //去掉所有的内嵌字号,使用编辑器默认的字号 + // clearFontFamily: false, //去掉所有的内嵌字体,使用编辑器默认的字体 + // removeEmptyNode: false, // 去掉空节点 + // //可以去掉的标签 + // removeTagNames: {标签名字:1}, + // indent: false, // 行首缩进 + // indentValue : '2em', //行首缩进的大小 + // bdc2sb: false, + // tobdc: false + //} + + //tableDragable + //表格是否可以拖拽 + //,tableDragable: true + + + + //sourceEditor + //源码的查看方式,codemirror 是代码高亮,textarea是文本框,默认是codemirror + //注意默认codemirror只能在ie8+和非ie中使用 + //,sourceEditor:"codemirror" + //如果sourceEditor是codemirror,还用配置一下两个参数 + //codeMirrorJsUrl js加载的路径,默认是 URL + "third-party/codemirror/codemirror.js" + //,codeMirrorJsUrl:URL + "third-party/codemirror/codemirror.js" + //codeMirrorCssUrl css加载的路径,默认是 URL + "third-party/codemirror/codemirror.css" + //,codeMirrorCssUrl:URL + "third-party/codemirror/codemirror.css" + //编辑器初始化完成后是否进入源码模式,默认为否。 + //,sourceEditorFirst:false + + //iframeUrlMap + //dialog内容的路径 ~会被替换成URL,垓属性一旦打开,将覆盖所有的dialog的默认路径 + //,iframeUrlMap:{ + // 'anchor':'~/dialogs/anchor/anchor.html', + //} + + //allowLinkProtocol 允许的链接地址,有这些前缀的链接地址不会自动添加http + //, allowLinkProtocols: ['http:', 'https:', '#', '/', 'ftp:', 'mailto:', 'tel:', 'git:', 'svn:'] + + //webAppKey 百度应用的APIkey,每个站长必须首先去百度官网注册一个key后方能正常使用app功能,注册介绍,http://app.baidu.com/static/cms/getapikey.html + //, webAppKey: "" + + //默认过滤规则相关配置项目 + //,disabledTableInTable:true //禁止表格嵌套 + //,allowDivTransToP:true //允许进入编辑器的div标签自动变成p标签 + //,rgb2Hex:true //默认产出的数据中的color自动从rgb格式变成16进制格式 + + // xss 过滤是否开启,inserthtml等操作 + ,xssFilterRules: true + //input xss过滤 + ,inputXssFilter: true + //output xss过滤 + ,outputXssFilter: true + // xss过滤白名单 名单来源: https://raw.githubusercontent.com/leizongmin/js-xss/master/lib/default.js + ,whitList: { + a: ['target', 'href', 'title', 'class', 'style'], + abbr: ['title', 'class', 'style'], + address: ['class', 'style'], + area: ['shape', 'coords', 'href', 'alt'], + article: [], + aside: [], + audio: ['autoplay', 'controls', 'loop', 'preload', 'src', 'class', 'style'], + b: ['class', 'style'], + bdi: ['dir'], + bdo: ['dir'], + big: [], + blockquote: ['cite', 'class', 'style'], + br: [], + caption: ['class', 'style'], + center: [], + cite: [], + code: ['class', 'style'], + col: ['align', 'valign', 'span', 'width', 'class', 'style'], + colgroup: ['align', 'valign', 'span', 'width', 'class', 'style'], + dd: ['class', 'style'], + del: ['datetime'], + details: ['open'], + div: ['class', 'style'], + dl: ['class', 'style'], + dt: ['class', 'style'], + em: ['class', 'style'], + font: ['color', 'size', 'face'], + footer: [], + h1: ['class', 'style'], + h2: ['class', 'style'], + h3: ['class', 'style'], + h4: ['class', 'style'], + h5: ['class', 'style'], + h6: ['class', 'style'], + header: [], + hr: [], + i: ['class', 'style'], + img: ['src', 'alt', 'title', 'width', 'height', 'id', '_src', 'loadingclass', 'class', 'data-latex'], + ins: ['datetime'], + li: ['class', 'style'], + mark: [], + nav: [], + ol: ['class', 'style'], + p: ['class', 'style'], + pre: ['class', 'style'], + s: [], + section:[], + small: [], + span: ['class', 'style'], + sub: ['class', 'style'], + sup: ['class', 'style'], + strong: ['class', 'style'], + table: ['width', 'border', 'align', 'valign', 'class', 'style'], + tbody: ['align', 'valign', 'class', 'style'], + td: ['width', 'rowspan', 'colspan', 'align', 'valign', 'class', 'style'], + tfoot: ['align', 'valign', 'class', 'style'], + th: ['width', 'rowspan', 'colspan', 'align', 'valign', 'class', 'style'], + thead: ['align', 'valign', 'class', 'style'], + tr: ['rowspan', 'align', 'valign', 'class', 'style'], + tt: [], + u: [], + ul: ['class', 'style'], + video: ['autoplay', 'controls', 'loop', 'preload', 'src', 'height', 'width', 'class', 'style'] + } + }; + + function getUEBasePath(docUrl, confUrl) { + + return getBasePath(docUrl || self.document.URL || self.location.href, confUrl || getConfigFilePath()); + + } + + function getConfigFilePath() { + + var configPath = document.getElementsByTagName('script'); + + return configPath[ configPath.length - 1 ].src; + + } + + function getBasePath(docUrl, confUrl) { + + var basePath = confUrl; + + + if (/^(\/|\\\\)/.test(confUrl)) { + + basePath = /^.+?\w(\/|\\\\)/.exec(docUrl)[0] + confUrl.replace(/^(\/|\\\\)/, ''); + + } else if (!/^[a-z]+:/i.test(confUrl)) { + + docUrl = docUrl.split("#")[0].split("?")[0].replace(/[^\\\/]+$/, ''); + + basePath = docUrl + "" + confUrl; + + } + + return optimizationPath(basePath); + + } + + function optimizationPath(path) { + + var protocol = /^[a-z]+:\/\//.exec(path)[ 0 ], + tmp = null, + res = []; + + path = path.replace(protocol, "").split("?")[0].split("#")[0]; + + path = path.replace(/\\/g, '/').split(/\//); + + path[ path.length - 1 ] = ""; + + while (path.length) { + + if (( tmp = path.shift() ) === "..") { + res.pop(); + } else if (tmp !== ".") { + res.push(tmp); + } + + } + + return protocol + res.join("/"); + + } + + window.UE = { + getUEBasePath: getUEBasePath + }; + +})(); diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.parse.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.parse.js new file mode 100644 index 0000000..84421f2 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.parse.js @@ -0,0 +1,1022 @@ +/*! + * UEditor + * version: ueditor + * build: Wed Aug 10 2016 11:06:16 GMT+0800 (CST) + */ + +(function(){ + +(function(){ + UE = window.UE || {}; + var isIE = !!window.ActiveXObject; + //定义utils工具 + var utils = { + removeLastbs : function(url){ + return url.replace(/\/$/,'') + }, + extend : function(t,s){ + var a = arguments, + notCover = this.isBoolean(a[a.length - 1]) ? a[a.length - 1] : false, + len = this.isBoolean(a[a.length - 1]) ? a.length - 1 : a.length; + for (var i = 1; i < len; i++) { + var x = a[i]; + for (var k in x) { + if (!notCover || !t.hasOwnProperty(k)) { + t[k] = x[k]; + } + } + } + return t; + }, + isIE : isIE, + cssRule : isIE ? function(key,style,doc){ + var indexList,index; + doc = doc || document; + if(doc.indexList){ + indexList = doc.indexList; + }else{ + indexList = doc.indexList = {}; + } + var sheetStyle; + if(!indexList[key]){ + if(style === undefined){ + return '' + } + sheetStyle = doc.createStyleSheet('',index = doc.styleSheets.length); + indexList[key] = index; + }else{ + sheetStyle = doc.styleSheets[indexList[key]]; + } + if(style === undefined){ + return sheetStyle.cssText + } + sheetStyle.cssText = sheetStyle.cssText + '\n' + (style || '') + } : function(key,style,doc){ + doc = doc || document; + var head = doc.getElementsByTagName('head')[0],node; + if(!(node = doc.getElementById(key))){ + if(style === undefined){ + return '' + } + node = doc.createElement('style'); + node.id = key; + head.appendChild(node) + } + if(style === undefined){ + return node.innerHTML + } + if(style !== ''){ + node.innerHTML = node.innerHTML + '\n' + style; + }else{ + head.removeChild(node) + } + }, + domReady : function (onready) { + var doc = window.document; + if (doc.readyState === "complete") { + onready(); + }else{ + if (isIE) { + (function () { + if (doc.isReady) return; + try { + doc.documentElement.doScroll("left"); + } catch (error) { + setTimeout(arguments.callee, 0); + return; + } + onready(); + })(); + window.attachEvent('onload', function(){ + onready() + }); + } else { + doc.addEventListener("DOMContentLoaded", function () { + doc.removeEventListener("DOMContentLoaded", arguments.callee, false); + onready(); + }, false); + window.addEventListener('load', function(){onready()}, false); + } + } + + }, + each : function(obj, iterator, context) { + if (obj == null) return; + if (obj.length === +obj.length) { + for (var i = 0, l = obj.length; i < l; i++) { + if(iterator.call(context, obj[i], i, obj) === false) + return false; + } + } else { + for (var key in obj) { + if (obj.hasOwnProperty(key)) { + if(iterator.call(context, obj[key], key, obj) === false) + return false; + } + } + } + }, + inArray : function(arr,item){ + var index = -1; + this.each(arr,function(v,i){ + if(v === item){ + index = i; + return false; + } + }); + return index; + }, + pushItem : function(arr,item){ + if(this.inArray(arr,item)==-1){ + arr.push(item) + } + }, + trim: function (str) { + return str.replace(/(^[ \t\n\r]+)|([ \t\n\r]+$)/g, ''); + }, + indexOf: function (array, item, start) { + var index = -1; + start = this.isNumber(start) ? start : 0; + this.each(array, function (v, i) { + if (i >= start && v === item) { + index = i; + return false; + } + }); + return index; + }, + hasClass: function (element, className) { + className = className.replace(/(^[ ]+)|([ ]+$)/g, '').replace(/[ ]{2,}/g, ' ').split(' '); + for (var i = 0, ci, cls = element.className; ci = className[i++];) { + if (!new RegExp('\\b' + ci + '\\b', 'i').test(cls)) { + return false; + } + } + return i - 1 == className.length; + }, + addClass:function (elm, classNames) { + if(!elm)return; + classNames = this.trim(classNames).replace(/[ ]{2,}/g,' ').split(' '); + for(var i = 0,ci,cls = elm.className;ci=classNames[i++];){ + if(!new RegExp('\\b' + ci + '\\b').test(cls)){ + cls += ' ' + ci; + } + } + elm.className = utils.trim(cls); + }, + removeClass:function (elm, classNames) { + classNames = this.isArray(classNames) ? classNames : + this.trim(classNames).replace(/[ ]{2,}/g,' ').split(' '); + for(var i = 0,ci,cls = elm.className;ci=classNames[i++];){ + cls = cls.replace(new RegExp('\\b' + ci + '\\b'),'') + } + cls = this.trim(cls).replace(/[ ]{2,}/g,' '); + elm.className = cls; + !cls && elm.removeAttribute('className'); + }, + on: function (element, type, handler) { + var types = this.isArray(type) ? type : type.split(/\s+/), + k = types.length; + if (k) while (k--) { + type = types[k]; + if (element.addEventListener) { + element.addEventListener(type, handler, false); + } else { + if (!handler._d) { + handler._d = { + els : [] + }; + } + var key = type + handler.toString(),index = utils.indexOf(handler._d.els,element); + if (!handler._d[key] || index == -1) { + if(index == -1){ + handler._d.els.push(element); + } + if(!handler._d[key]){ + handler._d[key] = function (evt) { + return handler.call(evt.srcElement, evt || window.event); + }; + } + + + element.attachEvent('on' + type, handler._d[key]); + } + } + } + element = null; + }, + off: function (element, type, handler) { + var types = this.isArray(type) ? type : type.split(/\s+/), + k = types.length; + if (k) while (k--) { + type = types[k]; + if (element.removeEventListener) { + element.removeEventListener(type, handler, false); + } else { + var key = type + handler.toString(); + try{ + element.detachEvent('on' + type, handler._d ? handler._d[key] : handler); + }catch(e){} + if (handler._d && handler._d[key]) { + var index = utils.indexOf(handler._d.els,element); + if(index!=-1){ + handler._d.els.splice(index,1); + } + handler._d.els.length == 0 && delete handler._d[key]; + } + } + } + }, + loadFile : function () { + var tmpList = []; + function getItem(doc,obj){ + try{ + for(var i= 0,ci;ci=tmpList[i++];){ + if(ci.doc === doc && ci.url == (obj.src || obj.href)){ + return ci; + } + } + }catch(e){ + return null; + } + + } + return function (doc, obj, fn) { + var item = getItem(doc,obj); + if (item) { + if(item.ready){ + fn && fn(); + }else{ + item.funs.push(fn) + } + return; + } + tmpList.push({ + doc:doc, + url:obj.src||obj.href, + funs:[fn] + }); + if (!doc.body) { + var html = []; + for(var p in obj){ + if(p == 'tag')continue; + html.push(p + '="' + obj[p] + '"') + } + doc.write('<' + obj.tag + ' ' + html.join(' ') + ' >'); + return; + } + if (obj.id && doc.getElementById(obj.id)) { + return; + } + var element = doc.createElement(obj.tag); + delete obj.tag; + for (var p in obj) { + element.setAttribute(p, obj[p]); + } + element.onload = element.onreadystatechange = function () { + if (!this.readyState || /loaded|complete/.test(this.readyState)) { + item = getItem(doc,obj); + if (item.funs.length > 0) { + item.ready = 1; + for (var fi; fi = item.funs.pop();) { + fi(); + } + } + element.onload = element.onreadystatechange = null; + } + }; + element.onerror = function(){ + throw Error('The load '+(obj.href||obj.src)+' fails,check the url') + }; + doc.getElementsByTagName("head")[0].appendChild(element); + } + }() + }; + utils.each(['String', 'Function', 'Array', 'Number', 'RegExp', 'Object','Boolean'], function (v) { + utils['is' + v] = function (obj) { + return Object.prototype.toString.apply(obj) == '[object ' + v + ']'; + } + }); + var parselist = {}; + UE.parse = { + register : function(parseName,fn){ + parselist[parseName] = fn; + }, + load : function(opt){ + utils.each(parselist,function(v){ + v.call(opt,utils); + }) + } + }; + uParse = function(selector,opt){ + utils.domReady(function(){ + var contents; + if(document.querySelectorAll){ + contents = document.querySelectorAll(selector) + }else{ + if(/^#/.test(selector)){ + contents = [document.getElementById(selector.replace(/^#/,''))] + }else if(/^\./.test(selector)){ + var contents = []; + utils.each(document.getElementsByTagName('*'),function(node){ + if(node.className && new RegExp('\\b' + selector.replace(/^\./,'') + '\\b','i').test(node.className)){ + contents.push(node) + } + }) + }else{ + contents = document.getElementsByTagName(selector) + } + } + utils.each(contents,function(v){ + UE.parse.load(utils.extend({root:v,selector:selector},opt)) + }) + }) + } +})(); + +UE.parse.register('insertcode',function(utils){ + var pres = this.root.getElementsByTagName('pre'); + if(pres.length){ + if(typeof XRegExp == "undefined"){ + var jsurl,cssurl; + if(this.rootPath !== undefined){ + jsurl = utils.removeLastbs(this.rootPath) + '/third-party/SyntaxHighlighter/shCore.js'; + cssurl = utils.removeLastbs(this.rootPath) + '/third-party/SyntaxHighlighter/shCoreDefault.css'; + }else{ + jsurl = this.highlightJsUrl; + cssurl = this.highlightCssUrl; + } + utils.loadFile(document,{ + id : "syntaxhighlighter_css", + tag : "link", + rel : "stylesheet", + type : "text/css", + href : cssurl + }); + utils.loadFile(document,{ + id : "syntaxhighlighter_js", + src : jsurl, + tag : "script", + type : "text/javascript", + defer : "defer" + },function(){ + utils.each(pres,function(pi){ + if(pi && /brush/i.test(pi.className)){ + SyntaxHighlighter.highlight(pi); + } + }); + }); + }else{ + utils.each(pres,function(pi){ + if(pi && /brush/i.test(pi.className)){ + SyntaxHighlighter.highlight(pi); + } + }); + } + } + +}); +UE.parse.register('table', function (utils) { + var me = this, + root = this.root, + tables = root.getElementsByTagName('table'); + if (tables.length) { + var selector = this.selector; + //追加默认的表格样式 + utils.cssRule('table', + selector + ' table.noBorderTable td,' + + selector + ' table.noBorderTable th,' + + selector + ' table.noBorderTable caption{border:1px dashed #ddd !important}' + + selector + ' table.sortEnabled tr.firstRow th,' + selector + ' table.sortEnabled tr.firstRow td{padding-right:20px; background-repeat: no-repeat;' + + 'background-position: center right; background-image:url(' + this.rootPath + 'themes/default/images/sortable.png);}' + + selector + ' table.sortEnabled tr.firstRow th:hover,' + selector + ' table.sortEnabled tr.firstRow td:hover{background-color: #EEE;}' + + selector + ' table{margin-bottom:10px;border-collapse:collapse;display:table;}' + + selector + ' td,' + selector + ' th{ background:white; padding: 5px 10px;border: 1px solid #DDD;}' + + selector + ' caption{border:1px dashed #DDD;border-bottom:0;padding:3px;text-align:center;}' + + selector + ' th{border-top:1px solid #BBB;background:#F7F7F7;}' + + selector + ' table tr.firstRow th{border-top:2px solid #BBB;background:#F7F7F7;}' + + selector + ' tr.ue-table-interlace-color-single td{ background: #fcfcfc; }' + + selector + ' tr.ue-table-interlace-color-double td{ background: #f7faff; }' + + selector + ' td p{margin:0;padding:0;}', + document); + //填充空的单元格 + + utils.each('td th caption'.split(' '), function (tag) { + var cells = root.getElementsByTagName(tag); + cells.length && utils.each(cells, function (node) { + if (!node.firstChild) { + node.innerHTML = ' '; + + } + }) + }); + + //表格可排序 + var tables = root.getElementsByTagName('table'); + utils.each(tables, function (table) { + if (/\bsortEnabled\b/.test(table.className)) { + utils.on(table, 'click', function(e){ + var target = e.target || e.srcElement, + cell = findParentByTagName(target, ['td', 'th']); + var table = findParentByTagName(target, 'table'), + colIndex = utils.indexOf(table.rows[0].cells, cell), + sortType = table.getAttribute('data-sort-type'); + if(colIndex != -1) { + sortTable(table, colIndex, me.tableSortCompareFn || sortType); + updateTable(table); + } + }); + } + }); + + //按照标签名查找父节点 + function findParentByTagName(target, tagNames) { + var i, current = target; + tagNames = utils.isArray(tagNames) ? tagNames:[tagNames]; + while(current){ + for(i = 0;i < tagNames.length; i++) { + if(current.tagName == tagNames[i].toUpperCase()) return current; + } + current = current.parentNode; + } + return null; + } + //表格排序 + function sortTable(table, sortByCellIndex, compareFn) { + var rows = table.rows, + trArray = [], + flag = rows[0].cells[0].tagName === "TH", + lastRowIndex = 0; + + for (var i = 0,len = rows.length; i < len; i++) { + trArray[i] = rows[i]; + } + + var Fn = { + 'reversecurrent': function(td1,td2){ + return 1; + }, + 'orderbyasc': function(td1,td2){ + var value1 = td1.innerText||td1.textContent, + value2 = td2.innerText||td2.textContent; + return value1.localeCompare(value2); + }, + 'reversebyasc': function(td1,td2){ + var value1 = td1.innerHTML, + value2 = td2.innerHTML; + return value2.localeCompare(value1); + }, + 'orderbynum': function(td1,td2){ + var value1 = td1[utils.isIE ? 'innerText':'textContent'].match(/\d+/), + value2 = td2[utils.isIE ? 'innerText':'textContent'].match(/\d+/); + if(value1) value1 = +value1[0]; + if(value2) value2 = +value2[0]; + return (value1||0) - (value2||0); + }, + 'reversebynum': function(td1,td2){ + var value1 = td1[utils.isIE ? 'innerText':'textContent'].match(/\d+/), + value2 = td2[utils.isIE ? 'innerText':'textContent'].match(/\d+/); + if(value1) value1 = +value1[0]; + if(value2) value2 = +value2[0]; + return (value2||0) - (value1||0); + } + }; + + //对表格设置排序的标记data-sort-type + table.setAttribute('data-sort-type', compareFn && typeof compareFn === "string" && Fn[compareFn] ? compareFn:''); + + //th不参与排序 + flag && trArray.splice(0, 1); + trArray = sort(trArray,function (tr1, tr2) { + var result; + if (compareFn && typeof compareFn === "function") { + result = compareFn.call(this, tr1.cells[sortByCellIndex], tr2.cells[sortByCellIndex]); + } else if (compareFn && typeof compareFn === "number") { + result = 1; + } else if (compareFn && typeof compareFn === "string" && Fn[compareFn]) { + result = Fn[compareFn].call(this, tr1.cells[sortByCellIndex], tr2.cells[sortByCellIndex]); + } else { + result = Fn['orderbyasc'].call(this, tr1.cells[sortByCellIndex], tr2.cells[sortByCellIndex]); + } + return result; + }); + var fragment = table.ownerDocument.createDocumentFragment(); + for (var j = 0, len = trArray.length; j < len; j++) { + fragment.appendChild(trArray[j]); + } + var tbody = table.getElementsByTagName("tbody")[0]; + if(!lastRowIndex){ + tbody.appendChild(fragment); + }else{ + tbody.insertBefore(fragment,rows[lastRowIndex- range.endRowIndex + range.beginRowIndex - 1]) + } + } + //冒泡排序 + function sort(array, compareFn){ + compareFn = compareFn || function(item1, item2){ return item1.localeCompare(item2);}; + for(var i= 0,len = array.length; i 0){ + var t = array[i]; + array[i] = array[j]; + array[j] = t; + } + } + } + return array; + } + //更新表格 + function updateTable(table) { + //给第一行设置firstRow的样式名称,在排序图标的样式上使用到 + if(!utils.hasClass(table.rows[0], "firstRow")) { + for(var i = 1; i< table.rows.length; i++) { + utils.removeClass(table.rows[i], "firstRow"); + } + utils.addClass(table.rows[0], "firstRow"); + } + } + } +}); +UE.parse.register('charts',function( utils ){ + + utils.cssRule('chartsContainerHeight','.edui-chart-container { height:'+(this.chartContainerHeight||300)+'px}'); + var resourceRoot = this.rootPath, + containers = this.root, + sources = null; + + //不存在指定的根路径, 则直接退出 + if ( !resourceRoot ) { + return; + } + + if ( sources = parseSources() ) { + + loadResources(); + + } + + + function parseSources () { + + if ( !containers ) { + return null; + } + + return extractChartData( containers ); + + } + + /** + * 提取数据 + */ + function extractChartData ( rootNode ) { + + var data = [], + tables = rootNode.getElementsByTagName( "table" ); + + for ( var i = 0, tableNode; tableNode = tables[ i ]; i++ ) { + + if ( tableNode.getAttribute( "data-chart" ) !== null ) { + + data.push( formatData( tableNode ) ); + + } + + } + + return data.length ? data : null; + + } + + function formatData ( tableNode ) { + + var meta = tableNode.getAttribute( "data-chart" ), + metaConfig = {}, + data = []; + + //提取table数据 + for ( var i = 0, row; row = tableNode.rows[ i ]; i++ ) { + + var rowData = []; + + for ( var j = 0, cell; cell = row.cells[ j ]; j++ ) { + + var value = ( cell.innerText || cell.textContent || '' ); + rowData.push( cell.tagName == 'TH' ? value:(value | 0) ); + + } + + data.push( rowData ); + + } + + //解析元信息 + meta = meta.split( ";" ); + for ( var i = 0, metaData; metaData = meta[ i ]; i++ ) { + + metaData = metaData.split( ":" ); + metaConfig[ metaData[ 0 ] ] = metaData[ 1 ]; + + } + + + return { + table: tableNode, + meta: metaConfig, + data: data + }; + + } + + //加载资源 + function loadResources () { + + loadJQuery(); + + } + + function loadJQuery () { + + //不存在jquery, 则加载jquery + if ( !window.jQuery ) { + + utils.loadFile(document,{ + src : resourceRoot + "/third-party/jquery-1.10.2.min.js", + tag : "script", + type : "text/javascript", + defer : "defer" + },function(){ + + loadHighcharts(); + + }); + + } else { + + loadHighcharts(); + + } + + } + + function loadHighcharts () { + + //不存在Highcharts, 则加载Highcharts + if ( !window.Highcharts ) { + + utils.loadFile(document,{ + src : resourceRoot + "/third-party/highcharts/highcharts.js", + tag : "script", + type : "text/javascript", + defer : "defer" + },function(){ + + loadTypeConfig(); + + }); + + } else { + + loadTypeConfig(); + + } + + } + + //加载图表差异化配置文件 + function loadTypeConfig () { + + utils.loadFile(document,{ + src : resourceRoot + "/dialogs/charts/chart.config.js", + tag : "script", + type : "text/javascript", + defer : "defer" + },function(){ + + render(); + + }); + + } + + //渲染图表 + function render () { + + var config = null, + chartConfig = null, + container = null; + + for ( var i = 0, len = sources.length; i < len; i++ ) { + + config = sources[ i ]; + + chartConfig = analysisConfig( config ); + + container = createContainer( config.table ); + + renderChart( container, typeConfig[ config.meta.chartType ], chartConfig ); + + } + + + } + + /** + * 渲染图表 + * @param container 图表容器节点对象 + * @param typeConfig 图表类型配置 + * @param config 图表通用配置 + * */ + function renderChart ( container, typeConfig, config ) { + + + $( container ).highcharts( $.extend( {}, typeConfig, { + + credits: { + enabled: false + }, + exporting: { + enabled: false + }, + title: { + text: config.title, + x: -20 //center + }, + subtitle: { + text: config.subTitle, + x: -20 + }, + xAxis: { + title: { + text: config.xTitle + }, + categories: config.categories + }, + yAxis: { + title: { + text: config.yTitle + }, + plotLines: [{ + value: 0, + width: 1, + color: '#808080' + }] + }, + tooltip: { + enabled: true, + valueSuffix: config.suffix + }, + legend: { + layout: 'vertical', + align: 'right', + verticalAlign: 'middle', + borderWidth: 1 + }, + series: config.series + + } )); + + } + + /** + * 创建图表的容器 + * 新创建的容器会替换掉对应的table对象 + * */ + function createContainer ( tableNode ) { + + var container = document.createElement( "div" ); + container.className = "edui-chart-container"; + + tableNode.parentNode.replaceChild( container, tableNode ); + + return container; + + } + + //根据config解析出正确的类别和图表数据信息 + function analysisConfig ( config ) { + + var series = [], + //数据类别 + categories = [], + result = [], + data = config.data, + meta = config.meta; + + //数据对齐方式为相反的方式, 需要反转数据 + if ( meta.dataFormat != "1" ) { + + for ( var i = 0, len = data.length; i < len ; i++ ) { + + for ( var j = 0, jlen = data[ i ].length; j < jlen; j++ ) { + + if ( !result[ j ] ) { + result[ j ] = []; + } + + result[ j ][ i ] = data[ i ][ j ]; + + } + + } + + data = result; + + } + + result = {}; + + //普通图表 + if ( meta.chartType != typeConfig.length - 1 ) { + + categories = data[ 0 ].slice( 1 ); + + for ( var i = 1, curData; curData = data[ i ]; i++ ) { + series.push( { + name: curData[ 0 ], + data: curData.slice( 1 ) + } ); + } + + result.series = series; + result.categories = categories; + result.title = meta.title; + result.subTitle = meta.subTitle; + result.xTitle = meta.xTitle; + result.yTitle = meta.yTitle; + result.suffix = meta.suffix; + + } else { + + var curData = []; + + for ( var i = 1, len = data[ 0 ].length; i < len; i++ ) { + + curData.push( [ data[ 0 ][ i ], data[ 1 ][ i ] | 0 ] ); + + } + + //饼图 + series[ 0 ] = { + type: 'pie', + name: meta.tip, + data: curData + }; + + result.series = series; + result.title = meta.title; + result.suffix = meta.suffix; + + } + + return result; + + } + +}); +UE.parse.register('background', function (utils) { + var me = this, + root = me.root, + p = root.getElementsByTagName('p'), + styles; + + for (var i = 0,ci; ci = p[i++];) { + styles = ci.getAttribute('data-background'); + if (styles){ + ci.parentNode.removeChild(ci); + } + } + + //追加默认的表格样式 + styles && utils.cssRule('ueditor_background', me.selector + '{' + styles + '}', document); +}); +UE.parse.register('list',function(utils){ + var customCss = [], + customStyle = { + 'cn' : 'cn-1-', + 'cn1' : 'cn-2-', + 'cn2' : 'cn-3-', + 'num' : 'num-1-', + 'num1' : 'num-2-', + 'num2' : 'num-3-', + 'dash' : 'dash', + 'dot' : 'dot' + }; + + + utils.extend(this,{ + liiconpath : 'http://bs.baidu.com/listicon/', + listDefaultPaddingLeft : '20' + }); + + var root = this.root, + ols = root.getElementsByTagName('ol'), + uls = root.getElementsByTagName('ul'), + selector = this.selector; + + if(ols.length){ + applyStyle.call(this,ols); + } + + if(uls.length){ + applyStyle.call(this,uls); + } + + if(ols.length || uls.length){ + customCss.push(selector +' .list-paddingleft-1{padding-left:0}'); + customCss.push(selector +' .list-paddingleft-2{padding-left:'+ this.listDefaultPaddingLeft+'px}'); + customCss.push(selector +' .list-paddingleft-3{padding-left:'+ this.listDefaultPaddingLeft*2+'px}'); + + utils.cssRule('list', selector +' ol,'+selector +' ul{margin:0;padding:0;}li{clear:both;}'+customCss.join('\n'), document); + } + function applyStyle(nodes){ + var T = this; + utils.each(nodes,function(list){ + if(list.className && /custom_/i.test(list.className)){ + var listStyle = list.className.match(/custom_(\w+)/)[1]; + if(listStyle == 'dash' || listStyle == 'dot'){ + utils.pushItem(customCss,selector +' li.list-' + customStyle[listStyle] + '{background-image:url(' + T.liiconpath +customStyle[listStyle]+'.gif)}'); + utils.pushItem(customCss,selector +' ul.custom_'+listStyle+'{list-style:none;} '+ selector +' ul.custom_'+listStyle+' li{background-position:0 3px;background-repeat:no-repeat}'); + + }else{ + var index = 1; + utils.each(list.childNodes,function(li){ + if(li.tagName == 'LI'){ + utils.pushItem(customCss,selector + ' li.list-' + customStyle[listStyle] + index + '{background-image:url(' + T.liiconpath + 'list-'+customStyle[listStyle] +index + '.gif)}'); + index++; + } + }); + utils.pushItem(customCss,selector + ' ol.custom_'+listStyle+'{list-style:none;}'+selector+' ol.custom_'+listStyle+' li{background-position:0 3px;background-repeat:no-repeat}'); + } + switch(listStyle){ + case 'cn': + utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-1{padding-left:25px}'); + utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-2{padding-left:40px}'); + utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-3{padding-left:55px}'); + break; + case 'cn1': + utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-1{padding-left:30px}'); + utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-2{padding-left:40px}'); + utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-3{padding-left:55px}'); + break; + case 'cn2': + utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-1{padding-left:40px}'); + utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-2{padding-left:55px}'); + utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-3{padding-left:68px}'); + break; + case 'num': + case 'num1': + utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-1{padding-left:25px}'); + break; + case 'num2': + utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-1{padding-left:35px}'); + utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft-2{padding-left:40px}'); + break; + case 'dash': + utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft{padding-left:35px}'); + break; + case 'dot': + utils.pushItem(customCss,selector + ' li.list-'+listStyle+'-paddingleft{padding-left:20px}'); + } + } + }); + } + + +}); +UE.parse.register('vedio',function(utils){ + var video = this.root.getElementsByTagName('video'), + audio = this.root.getElementsByTagName('audio'); + + document.createElement('video');document.createElement('audio'); + if(video.length || audio.length){ + var sourcePath = utils.removeLastbs(this.rootPath), + jsurl = sourcePath + '/third-party/video-js/video.js', + cssurl = sourcePath + '/third-party/video-js/video-js.min.css', + swfUrl = sourcePath + '/third-party/video-js/video-js.swf'; + + if(window.videojs) { + videojs.autoSetup(); + } else { + utils.loadFile(document,{ + id : "video_css", + tag : "link", + rel : "stylesheet", + type : "text/css", + href : cssurl + }); + utils.loadFile(document,{ + id : "video_js", + src : jsurl, + tag : "script", + type : "text/javascript" + },function(){ + videojs.options.flash.swf = swfUrl; + videojs.autoSetup(); + }); + } + + } +}); + +})(); diff --git a/manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.parse.min.js b/manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.parse.min.js new file mode 100644 index 0000000..9fe9a08 --- /dev/null +++ b/manong_manager/manong_manager_web/src/main/webapp/ueditor/ueditor.parse.min.js @@ -0,0 +1,7 @@ +/*! + * UEditor + * version: ueditor + * build: Wed Aug 10 2016 11:06:19 GMT+0800 (CST) + */ + +!function(){!function(){UE=window.UE||{};var a=!!window.ActiveXObject,b={removeLastbs:function(a){return a.replace(/\/$/,"")},extend:function(a,b){for(var c=arguments,d=!!this.isBoolean(c[c.length-1])&&c[c.length-1],e=this.isBoolean(c[c.length-1])?c.length-1:c.length,f=1;f=c&&a===b)return d=e,!1}),d},hasClass:function(a,b){b=b.replace(/(^[ ]+)|([ ]+$)/g,"").replace(/[ ]{2,}/g," ").split(" ");for(var c,d=0,e=a.className;c=b[d++];)if(!new RegExp("\\b"+c+"\\b","i").test(e))return!1;return d-1==b.length},addClass:function(a,c){if(a){c=this.trim(c).replace(/[ ]{2,}/g," ").split(" ");for(var d,e=0,f=a.className;d=c[e++];)new RegExp("\\b"+d+"\\b").test(f)||(f+=" "+d);a.className=b.trim(f)}},removeClass:function(a,b){b=this.isArray(b)?b:this.trim(b).replace(/[ ]{2,}/g," ").split(" ");for(var c,d=0,e=a.className;c=b[d++];)e=e.replace(new RegExp("\\b"+c+"\\b"),"");e=this.trim(e).replace(/[ ]{2,}/g," "),a.className=e,!e&&a.removeAttribute("className")},on:function(a,c,d){var e=this.isArray(c)?c:c.split(/\s+/),f=e.length;if(f)for(;f--;)if(c=e[f],a.addEventListener)a.addEventListener(c,d,!1);else{d._d||(d._d={els:[]});var g=c+d.toString(),h=b.indexOf(d._d.els,a);d._d[g]&&h!=-1||(h==-1&&d._d.els.push(a),d._d[g]||(d._d[g]=function(a){return d.call(a.srcElement,a||window.event)}),a.attachEvent("on"+c,d._d[g]))}a=null},off:function(a,c,d){var e=this.isArray(c)?c:c.split(/\s+/),f=e.length;if(f)for(;f--;)if(c=e[f],a.removeEventListener)a.removeEventListener(c,d,!1);else{var g=c+d.toString();try{a.detachEvent("on"+c,d._d?d._d[g]:d)}catch(h){}if(d._d&&d._d[g]){var i=b.indexOf(d._d.els,a);i!=-1&&d._d.els.splice(i,1),0==d._d.els.length&&delete d._d[g]}}},loadFile:function(){function a(a,c){try{for(var d,e=0;d=b[e++];)if(d.doc===a&&d.url==(c.src||c.href))return d}catch(f){return null}}var b=[];return function(c,d,e){var f=a(c,d);if(f)return void(f.ready?e&&e():f.funs.push(e));if(b.push({doc:c,url:d.src||d.href,funs:[e]}),!c.body){var g=[];for(var h in d)"tag"!=h&&g.push(h+'="'+d[h]+'"');return void c.write("<"+d.tag+" "+g.join(" ")+" >")}if(!d.id||!c.getElementById(d.id)){var i=c.createElement(d.tag);delete d.tag;for(var h in d)i.setAttribute(h,d[h]);i.onload=i.onreadystatechange=function(){if(!this.readyState||/loaded|complete/.test(this.readyState)){if(f=a(c,d),f.funs.length>0){f.ready=1;for(var b;b=f.funs.pop();)b()}i.onload=i.onreadystatechange=null}},i.onerror=function(){throw Error("The load "+(d.href||d.src)+" fails,check the url")},c.getElementsByTagName("head")[0].appendChild(i)}}}()};b.each(["String","Function","Array","Number","RegExp","Object","Boolean"],function(a){b["is"+a]=function(b){return Object.prototype.toString.apply(b)=="[object "+a+"]"}});var c={};UE.parse={register:function(a,b){c[a]=b},load:function(a){b.each(c,function(c){c.call(a,b)})}},uParse=function(a,c){b.domReady(function(){var d;if(document.querySelectorAll)d=document.querySelectorAll(a);else if(/^#/.test(a))d=[document.getElementById(a.replace(/^#/,""))];else if(/^\./.test(a)){var d=[];b.each(document.getElementsByTagName("*"),function(b){b.className&&new RegExp("\\b"+a.replace(/^\./,"")+"\\b","i").test(b.className)&&d.push(b)})}else d=document.getElementsByTagName(a);b.each(d,function(d){UE.parse.load(b.extend({root:d,selector:a},c))})})}}(),UE.parse.register("insertcode",function(a){var b=this.root.getElementsByTagName("pre");if(b.length)if("undefined"==typeof XRegExp){var c,d;void 0!==this.rootPath?(c=a.removeLastbs(this.rootPath)+"/third-party/SyntaxHighlighter/shCore.js",d=a.removeLastbs(this.rootPath)+"/third-party/SyntaxHighlighter/shCoreDefault.css"):(c=this.highlightJsUrl,d=this.highlightCssUrl),a.loadFile(document,{id:"syntaxhighlighter_css",tag:"link",rel:"stylesheet",type:"text/css",href:d}),a.loadFile(document,{id:"syntaxhighlighter_js",src:c,tag:"script",type:"text/javascript",defer:"defer"},function(){a.each(b,function(a){a&&/brush/i.test(a.className)&&SyntaxHighlighter.highlight(a)})})}else a.each(b,function(a){a&&/brush/i.test(a.className)&&SyntaxHighlighter.highlight(a)})}),UE.parse.register("table",function(a){function b(b,c){var d,e=b;for(c=a.isArray(c)?c:[c];e;){for(d=0;d0){var g=a[c];a[c]=a[e],a[e]=g}return a}function e(b){if(!a.hasClass(b.rows[0],"firstRow")){for(var c=1;c + + + manong_parent + com.kendinghui + 1.0-SNAPSHOT + ../manong_parent/pom.xml + + 4.0.0 + manong_manager + pom + + manong_manager_pojo + manong_manager_mapper + manong_manager_service + manong_manager_web + + + + + + org.apache.tomcat.maven + tomcat7-maven-plugin + 2.2 + + 8080 + / + + + + + \ No newline at end of file diff --git a/manong_parent/pom.xml b/manong_parent/pom.xml new file mode 100644 index 0000000..d52043c --- /dev/null +++ b/manong_parent/pom.xml @@ -0,0 +1,231 @@ + + + 4.0.0 + com.kendinghui + manong_parent + 1.0-SNAPSHOT + pom + + + + ../manong_common + ../manong_manager + ../manong_rest + ../manong_sso + ../manong_redis + ../manong_search + ../manong_portal + + + + + 4.12 + 3.1.0 + 3.2 + 3.2.8 + 1.2.2 + 3.2.8 + 1.2.2 + 4.1.3.RELEASE + 1.0.9 + 5.1.32 + [2.8.11.1,) + 1.27-SNAPSHOT + [1.3.3,) + 2.2 + 3.1 + 1.6 + 1.1 + 1.1.2 + 2.3.28 + 2.5 + 4.1.1 + [4.3.6,) + 3.3 + 2.7 + + + + + + junit + junit + ${junit.version} + + + + org.mybatis + mybatis + ${mybatis.version} + + + + org.mybatis + mybatis-spring + ${mybatis-spring.version} + + + + org.springframework + spring-context + ${spring.version} + + + + org.springframework + spring-jdbc + ${spring.version} + + + + org.springframework + spring-aspects + ${spring.version} + + + + org.springframework + spring-webmvc + ${spring.version} + + + + org.springframework + spring-beans + ${spring.version} + + + + com.alibaba + druid + ${druid.version} + + + + mysql + mysql-connector-java + ${mysql.version} + + + + com.fasterxml.jackson.core + jackson-databind + ${jackson-databind} + + + + org.csource + fastdfs-client-java + ${fastdfs.version} + + + + commons-fileupload + commons-fileupload + ${commons-fileupload} + + + + commons-io + commons-io + ${commons-io} + + + + org.apache.commons + commons-lang3 + ${commons-lang3} + + + + commons-codec + commons-codec + ${commons-codec} + + + + commons-net + commons-net + ${commons-net.version} + + + + com.json + json + ${json.version} + + + + com.baidu + ueditor + ${ueditor.version} + + + + org.freemarker + freemarker + ${freemarker.version} + + + + org.springframework + spring-context-support + ${spring.version} + + + + javax.servlet + servlet-api + ${servlet-api} + + + + com.github.pagehelper + pagehelper + ${pagehelper.version} + + + + org.apache.httpcomponents + httpclient + ${httpclient.version} + + + + com.google.code.gson + gson + ${gson.version} + + + + + + + + org.apache.maven.plugins + maven-resources-plugin + ${maven-resources-plugin} + + UTF-8 + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${maven-compiler-plugin} + + 1.8 + 1.8 + 1.8 + UTF-8 + + + + + + + + \ No newline at end of file diff --git a/manong_portal/pom.xml b/manong_portal/pom.xml new file mode 100644 index 0000000..fd424dd --- /dev/null +++ b/manong_portal/pom.xml @@ -0,0 +1,107 @@ + + + + manong_parent + com.kendinghui + 1.0-SNAPSHOT + ../manong_parent/pom.xml + + 4.0.0 + war + 1.0-SNAPSHOT + manong_portal + + + + + com.kendinghui + manong_common + 1.0-SNAPSHOT + + + + com.kendinghui + manong_manager_pojo + 1.0-SNAPSHOT + + + + commons-fileupload + commons-fileupload + + + + org.springframework + spring-context + + + + org.springframework + spring-jdbc + + + + org.springframework + spring-aspects + + + + org.springframework + spring-webmvc + + + + org.springframework + spring-beans + + + + commons-io + commons-io + + + + org.apache.commons + commons-lang3 + + + + org.freemarker + freemarker + + + + org.springframework + spring-context-support + + + + javax.servlet + servlet-api + provided + + + + com.google.code.gson + gson + + + + + + + + org.apache.tomcat.maven + tomcat7-maven-plugin + 2.2 + + 8081 + / + + + + + + \ No newline at end of file diff --git a/manong_portal/src/main/java/com/manong/portal/controller/FreemarkerTest.java b/manong_portal/src/main/java/com/manong/portal/controller/FreemarkerTest.java new file mode 100644 index 0000000..7991c8f --- /dev/null +++ b/manong_portal/src/main/java/com/manong/portal/controller/FreemarkerTest.java @@ -0,0 +1,28 @@ +package com.manong.portal.controller; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.RequestMapping; + +/** + * Created by wistbean on 2018/12/12. + */ +@Controller +public class FreemarkerTest { + + @RequestMapping("/hello") + public String sayHello(Model model){ + + model.addAttribute("name","wistbean"); + return "hello"; + + } + + @RequestMapping("/hi") + public String sayHi(Model model){ + + model.addAttribute("name","wistbean"); + return "hi"; + + } +} diff --git a/manong_portal/src/main/java/com/manong/portal/controller/IndexController.java b/manong_portal/src/main/java/com/manong/portal/controller/IndexController.java new file mode 100644 index 0000000..fa05060 --- /dev/null +++ b/manong_portal/src/main/java/com/manong/portal/controller/IndexController.java @@ -0,0 +1,27 @@ +package com.manong.portal.controller; + +import com.manong.portal.service.CategoriesService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.RequestMapping; +import pojo.Res_Categories; + +/** + * Created by wistbean on 2019/1/24. + */ +@Controller +public class IndexController { + + @Autowired + CategoriesService categoriesService; + + @RequestMapping("/home.html") + public String index(ModelMap modelMap){ + Res_Categories categories = categoriesService.getCategories(); + modelMap.addAttribute("categories",categories); + return "index"; + } + + +} diff --git a/manong_portal/src/main/java/com/manong/portal/service/CategoriesService.java b/manong_portal/src/main/java/com/manong/portal/service/CategoriesService.java new file mode 100644 index 0000000..adacd49 --- /dev/null +++ b/manong_portal/src/main/java/com/manong/portal/service/CategoriesService.java @@ -0,0 +1,12 @@ +package com.manong.portal.service; + +import pojo.Res_Categories; + +/** + * Created by wistbean on 2019/2/26. + */ +public interface CategoriesService { + + Res_Categories getCategories(); + +} diff --git a/manong_portal/src/main/java/com/manong/portal/service/impl/CategoriesServiceImpl.java b/manong_portal/src/main/java/com/manong/portal/service/impl/CategoriesServiceImpl.java new file mode 100644 index 0000000..c77d27d --- /dev/null +++ b/manong_portal/src/main/java/com/manong/portal/service/impl/CategoriesServiceImpl.java @@ -0,0 +1,37 @@ +package com.manong.portal.service.impl; + +import com.manong.portal.service.CategoriesService; +import com.manong.portal.util.GsonUtils; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import pojo.Res_Categories; +import utils.HttpClientUtil; + +import java.io.IOException; + +/** + * Created by wistbean on 2019/2/26. + */ +@Service +public class CategoriesServiceImpl implements CategoriesService { + + @Value("${REST_URL}") + private String REST_URL; + + @Value("${REST_CAT_LIST}") + private String REST_CAT_LIST; + + @Override + public Res_Categories getCategories() { + + try { + String result = HttpClientUtil.httpGet(REST_URL + REST_CAT_LIST); + Res_Categories res_categories = GsonUtils.fromJson(Res_Categories.class, result); + return res_categories; + } catch (IOException e) { + e.printStackTrace(); + } + + return null; + } +} diff --git a/manong_portal/src/main/java/com/manong/portal/util/GsonUtils.java b/manong_portal/src/main/java/com/manong/portal/util/GsonUtils.java new file mode 100644 index 0000000..15f7250 --- /dev/null +++ b/manong_portal/src/main/java/com/manong/portal/util/GsonUtils.java @@ -0,0 +1,26 @@ +package com.manong.portal.util; + +import com.google.gson.GsonBuilder; +import com.google.gson.*; + +/** + * Created by wistbean on 2019/2/26. + */ +public class GsonUtils { + + private static Gson gson = null; + + static { + GsonBuilder gsonBuilder = new GsonBuilder(); + gson = gsonBuilder.create(); + } + + public static String toJson(Object object){ + return gson.toJson(object); + } + + public static T fromJson(Class clazz,String json){ + return gson.fromJson(json,clazz); + } + +} diff --git a/manong_portal/src/main/resources/resource/resource.properties b/manong_portal/src/main/resources/resource/resource.properties new file mode 100644 index 0000000..2fae647 --- /dev/null +++ b/manong_portal/src/main/resources/resource/resource.properties @@ -0,0 +1,5 @@ +# REST +REST_URL = http://127.0.0.1:8088/rest/ + +# REST ȡƷ +REST_CAT_LIST = productCategries/list \ No newline at end of file diff --git a/manong_portal/src/main/resources/spring/applicationContext-service.xml b/manong_portal/src/main/resources/spring/applicationContext-service.xml new file mode 100644 index 0000000..63a54fc --- /dev/null +++ b/manong_portal/src/main/resources/spring/applicationContext-service.xml @@ -0,0 +1,18 @@ + + + + + + classpath:resource/resource.properties + + + + + + \ No newline at end of file diff --git a/manong_portal/src/main/resources/spring/springmvc.xml b/manong_portal/src/main/resources/spring/springmvc.xml new file mode 100644 index 0000000..93e7ba4 --- /dev/null +++ b/manong_portal/src/main/resources/spring/springmvc.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/manong_portal/src/main/webapp/WEB-INF/css/index.css b/manong_portal/src/main/webapp/WEB-INF/css/index.css new file mode 100644 index 0000000..6b3493a --- /dev/null +++ b/manong_portal/src/main/webapp/WEB-INF/css/index.css @@ -0,0 +1,1539 @@ +@font-face { + font-family: 'iconfont'; /* project id 603912 */ + src: url('https://at.alicdn.com/t/font_603912_75wblyti5vsll3di.eot'); + src: url('https://at.alicdn.com/t/font_603912_75wblyti5vsll3di.eot?#iefix') format('embedded-opentype'), + url('https://at.alicdn.com/t/font_603912_75wblyti5vsll3di.woff') format('woff'), + url('https://at.alicdn.com/t/font_603912_75wblyti5vsll3di.ttf') format('truetype'), + url('https://at.alicdn.com/t/font_603912_75wblyti5vsll3di.svg#iconfont') format('svg'); +} +/* 导航栏 */ +.daohang{ + width: 100%; + height: 35px; + background-color: #f5f5f5; + border-bottom: 1px solid #eee; +} +.daohang_main{ + width: 1230px; + height: 36px; + margin: 0 auto; + position: relative; +} +.daohang_left span{ + font-size: 12px; + color: #999; + text-align: center; + line-height: 36px; + margin-right: 20px; + float: left; +} +.daoHang_s2{ + cursor: pointer; +} +.daoHang_s2:hover{ + color: #ff6700; +} +.daohang_right{ + width:580px; + height: 35px; + /*background-color: pink;*/ + float: right; + padding-right: 35px; +} +.daohang_word{ + font-size: 12px; + color: #999; + line-height: 35px; + margin-left: 15px; + cursor: pointer; + display: inline-block; + float: left; +} +.daohang_wordLeft{ + margin-left: 3px; +} +.daoHangLine{ + width: 1px; + height: 28px; + margin-top: 3px; + float: left; + margin-left: 15px; + color: #999; +} +.daohang_zuhe1{ + font-size: 12px; + line-height: 35px; + float: left; + margin-left: 5px; + cursor: pointer; + color: #999; +} +.daohang_tibaio4{ + font-family: 'iconfont'; + float: left; + margin-left: 2px; +} +.daohang_color{ + color: #ff6700; + margin-left: 5px; +} +.daohang_color1{ + color: #ff6700; +} +.daohang_word:hover{ + color: #ff6700; +} +.daohang_hover:hover{ + width: 81px; + height: 33px; + border: 1px solid #b0b0b0; +} +.daohang_tibaio5{ + font-family: 'iconfont'; + float: left; + color: #ff6700; + margin-left: 15px; +} +.daohang_bottom{ + width: 400px; + height: 0px; + background: pink; + overflow: hidden; + position: absolute; + left: 0; + top: 35px; + z-index: 999; + text-align: center; + /* display: none; */ + transition: all 0.5s; +} +.daohang_bottom_goodlist{ + width: 100px; + height: 100px; + background: red; + float: left; + position: absolute; + left: 0; + top: 35px; + z-index: 999; + text-align: center; + display: none; +} +/* 搜索 */ +.sousuo{ + width: 100%; + height: 130px; + background-color: #fff; + position: absolute; + top: 35px; + left: 0; +} +.sousuo_main{ + width: 1230px; + height: 130px; + background-color: #fff; + margin: 0 auto; + /*padding-bottom:10px;*/ +} +.sousuo_fir{ + width: 240px; + height: 130px; + /* background-color: skyblue; */ + float: left; + cursor: pointer; +} +.sousuo_fir img{ + width: 240px; + height: 130px; +} +.sousuo_thr{ + width: 540px; + height: 100px; + /* background-color: green; */ + float: left; + margin: 0 auto; + margin-left: 160px; +} +.sousuo_top{ + width: 538px; + height: 38px; + /*background-color: yellow;*/ + margin-top: 30px; + border: 1px solid #FF0036; +} +.souSInput{ + width: 404px; + height: 36px; + /*background: skyblue;*/ + font-family: 'iconfont'; + font-size: 14px; + line-height: 36px; + float: left; + color: #bbbbbb; + font-style: normal; + font-weight: 200; + padding-left: 10px; + border: none; + outline: none; +} +.sousuo_org{ + width: 120px; + height: 38px; + background-color:#FF0036; + float: right; + cursor: pointer; + font-size: 18px; + color: #fff; + line-height: 38px; + text-align: center; + font-weight: bold; + outline: none; + border-style: none; +} +.sousuo_bottom{ + width: 540px; + height: 18px; + /* background-color:pink; */ + margin-top: 2px; +} +.sousuo_wenzi{ + color: #b0b0b0; + line-height: 18px; /* 文本垂直居中 */ + font-size: 12px; + float: left; + display: block; + cursor: pointer; +} +.sousuo_wenzi:hover{ + color: #ff6700; +} +.sousuo_line{ + width: 1px; + height: 12px; + background-color: #DDDDDD; + float: left; + margin-left: 10px; + margin-right:10px; + line-height: 18px; + margin-top:3px; +} + +/* banner */ +.banner{ + width: 100%; + height: 540px; + background-color: #fff; + /* margin: 0 auto; */ + position: absolute; + top: 165px; + left: 0; +} +.banner_main{ + width: 1230px; + height: 540px; + /* background-color: #fff; */ + margin: 0 auto; + position: relative; +} +.banner_top{ + width: 1230px; + height: 38px; + /* background-color: green; */ +} +.banner_top1{ + width: 200px; + height: 38px; + background-color: #FF0036; + float: left; + cursor: pointer; +} +.banner_top1 span{ + font-family: 'iconfont'; + font-size: 18px; + color: #fff; + line-height: 38px; + float: left; + margin-left: 9px; + margin-right: 6px; +} +.banner_top1 h1{ + font-size: 16px; + color: #fff; + line-height: 38px; + font-weight:700; + float: left; +} +.banner_top2{ + width: 850px; + height: 38px; + float: left; + padding-left: 10px; +} +.bannerImgs{ + width: 100px; + height: 30px; + padding:0 8px; + display: block; + float: left; +} +.banner_twenzi{ + font-size: 16px; + color: #333; + line-height: 38px; + font-weight: 500; + padding:0 8px; + display: block; + float: left; +} +.banner_twenzi:hover{ + color: #ff6700; +} +.banner_top3{ + width: 170px; + height: 38px; + /* background-color: pink; */ + float: right; + cursor: pointer; +} +.banner_top3 img{ + width: 170px; + height: 38px; +} +.banner_bottom{ + width: 1230px; + height: 460px; + background-color: #F2F2F2; + position: relative; +} +.banner_ce{ + width: 200px; + height: 500px; + /* background-color: pink; */ + float: left; + margin-top: 1px; + position: absolute; + left: 0; + top: 0; + z-index: 99; +} +.banner_kuai{ + width: 200px; + height: 37px; + background-color:rgba(0,0,0,0.6); + color: #fff; +} +.banner_kuai span{ + font-family: 'iconfont'; + color: #999; + float: left; + line-height: 37px; + margin-left: 8px; + margin-right: 3px; +} +.banner_kuai:hover{ + background-color: #fff; + color: #333; +} +.banner_kuai h1{ + font-size: 12px; + line-height: 32px; + font-weight: 400; + float: left; + float: left; + cursor: pointer; +} +.banner_kuai h1:hover{ + color: #FF0036; +} +.banner_kuai em{ + color: #fff; + line-height: 32px; + margin: 0 2px; + float: left; +} +.banner_kuai1{ + height: 35px; + float: left; +} +.banner_kuai1 h1{ + line-height: 31px; + float: left; +} + +.banner_zhong{ + width: 1230px; + height: 500px; + /* background-color: red; */ + float: left; + position: absolute; + top: 0; + left: 0; +} +.banner_img{ + width: 1230px; + height: 500px; + /* background-color: green; */ + position: absolute; + top: 0; + left: 0; +} +.banner_img li{ + width: 1230px; + height: 500px; + /* background-color: green; */ + position: absolute; + top: 0; + left: 0; + cursor: pointer; + transition: all 0.6s; + opacity: 0.5; +} +.banner_img li img{ + width: 1230px; + height: 500px; +} +.banner_img li.active{ + opacity: 1; + z-index: 15; +} +#banner_imgt{ + width: 150px; + height: 213px; + background-color: #F9F7F9; + /* background-color: rgba(0, 0, 0, .8); */ + float: right; + position: absolute; + top: 20px; + right: 40px; + cursor: pointer; +} +#banner_imgb{ + width: 150px; + height: 213px; + background-color: #F9F7F9; + /* background-color: rgba(0, 0, 0, .8); */ + float: right; + position: absolute; + bottom: 20px; + right: 40px; + cursor: pointer; +} +#banner_imgt img{ + width: 150px; + height: 213px; + } +#banner_imgb img{ + width: 150px; + height: 213px; +} +.banner_zhong:hover .prev,.banner_zhong:hover .next{ + opacity: 0.6; +} +.banner_lunbo{ + width: 250px; + height: 20px; + position: absolute; + bottom: 25px; + margin-left: 515px; + z-index: 99; +} +.banner_lunbo li{ + width: 25px; + height: 5px; + background-color: #000; + opacity: 0.3; + float:left; + color: #fff; + margin-top: 4px; + margin-left: 10px; +} +.banner_lunbo .active{ + background-color: #fff; +} +.banner_lunbo li:hover{ + background-color: #EE8902; +} +.piaofu{ + width: 1000px; + height: 500px; + background: #fff; + border: 1px solid #b0b0b0; + border-left: 0; + position: absolute; + left: 200px; + top: 0px; + z-index: 99999; + display: none; +} +.piaofu_left{ + width: 830px; + height: 100%; + /* background: red; */ + float: left; +} +.piaofu_right{ + width: 160px; + height: 426px; + background: #F2F2F2; + float: left; + padding-left: 10px; + padding-top: 14px; +} +.piaofu_right_top{ + width: 150px; + height: 200px; + background: #fff; +} +.piaofu_right_item1{ + width: 74px; + height: 49px; + border-right: 1px solid #eee; + border-bottom: 1px solid #eee; + float: left; +} +.piaofu_right_border{ + border-right: 0; +} +.piaofu_right_item1 img{ + width: 74px; + height: 30px; + margin-top: 10px; +} +.piaofu_right_mid{ + width: 150px; + height: 80px; + background: #fff; + margin-top: 10px; +} +.piaofu_right_mid img{ + width: 150px; + height: 80px; +} +.piaofu_left_top{ + width: 100%; + height: 35px; + /* background-color: skyblue; */ +} +.piaofu_left_top1{ + background-color: #ffaa01; + float: left; + margin-top: 8px; + margin-left: 25px; + padding: 2px 2px 2px 2px; +} +.piaofu_left_top1 span{ + font-size: 12px; + color: #fff; + margin-left: 5px; + margin-right: 5px; +} +.piaofu_left_item{ + width: 750px; + /* background: yellow; */ + /* height: 20px; */ + margin-left: 25px; + margin-top: 20px; +} +.piaofu_item_left{ + width: 50px; + /* background: plum; */ + float: left; + + font-size: 12px; + color: #333; +} +.piaofu_item_right{ + width: 640px; + /* height: 50px; */ + /* background: pink; */ + float: left; + margin-left: 30px; +} +.piaofu_item_right span{ + font-size: 12px; + color: #333; + margin-left: 10px; +} +.piaofu_left_line{ + width: 100%; + height: 1px; + background: #cac6c6; + margin-top: 15px; + margin-bottom: 15px; +} + +/*content开始*/ +.content{ + width: 100%; + position: absolute; + left: 0; + top: 705px; + background: #f5f5f5; +} +.container{ + width: 1230px; + margin: 0 auto; +} +.container_fir{ + width: 1230px; + height: 329px; + /*background: red;*/ + margin-top: 40px; +} +.container_fir_img{ + width: 600px; + height: 40px; + margin:0 auto; +} +.container_fir_img img{ + width: 600px; + height: 40px; +} +.container_fir_inner{ + width: 100%; + height:269px; + margin-top: 20px; + /*background: pink;*/ + margin-left: 0; +} +.containerFir_item{ + width: 238px; + height: 100%; + /*background: plum;*/ + float: left; + margin-right: 10px; + opacity: 1; + transition: all 0.5s; +} +.containerFir_item:hover{ + opacity: 0.5; +} +.containerFir_itemR{ + margin-right: 0; +} +.containerFir_item img{ + width: 238px; + height: 100%; +} +.container_sec{ + width: 1230px; + height: 370px; + /*background: red;*/ + margin-top: 34px; +} +.containerSec_item1{ + width:234px; + height: 100%; + /*background: skyblue;*/ + float: left; +} +.containerSec_item1_top{ + width: 100%; + height: 55px; + background: #fff; +} +.containerSec_word1{ + display: inline-block; + font-size: 18px; + font-weight: 700; + color: #333; + line-height: 54px; + height: 18px; + margin-left: 10px; + float: left; +} +.containerSec_word2{ + display: inline-block; + font-size: 14px; + font-weight: 700; + color: #333; + margin-left: 10px; + line-height: 54px; + float: left; +} +.containerSec_tubiao{ + display: inline-block; + font-family: 'iconfont'; + font-size: 14px; + color: #333; + margin-left: 10px; + line-height: 54px; + float: right; + margin-right: 3px; + cursor: pointer; + margin-right: 10px; +} +.containerSec_tubiaoB{ + margin-right: 25px; +} +.containerSec_item1_bottom{ + width: 100%; + height: 316px; + /*background: yellow;*/ + cursor: pointer; + opacity: 1; +} +.containerSec_item1_bottom:hover{ + opacity: 0.5; +} +.containerSec_item1_bottom img{ + width: 100%; + height: 316px; +} +.containerSec_item2{ + width:485px; + height: 100%; + /*background: skyblue;*/ + float: left; + margin-left: 13px; +} +.container_three{ + width:100%; + height: 327px; + /*background: pink;*/ + margin-top: 10px; +} +.container_three_item{ + width: 122px; + height: 108px; + background: #fff; + float: left; + border-bottom: 1px solid #dbdada; + border-right: 1px solid #dbdada; + position: relative; + cursor: pointer; +} +.container_three_item img{ + width: 100px; + height: 50px; + display: block; + position: absolute; + left: 11px; + top: 29px; +} +.container_three_hover{ + width: 122px; + height: 108px; + background: #333; + position: absolute; + left: 0; + top: 0; + opacity: 0; +} +.container_three_hover span{ + font-size: 12px; + color: #fff; + display: block; + margin-left: 30px; + margin-top: 30px; +} +.container_three_hoverY{ + width: 60px; + height: 16px; + background: #FF0036; + border-radius: 12px; + margin-top: 8px; + margin-left: 30px; + font-size: 12px; + color: #fff; + text-align: center; + line-height: 16px; +} +.container_three_item:hover .container_three_hover{ + opacity: 1; +} +.containerThree_item_last{ + width: 122px; + height: 108px; + background: #fff; + float: left; + border-bottom: 1px solid #dbdada; + border-right: 1px solid #dbdada; + position: relative; + cursor: pointer; + color: #999; +} +.containerThree_h{ + font-family: 'iconfont'; + text-align: center; + font-size: 36px; + margin-top: 28px; +} +.containerThree_item_last span{ + font-size: 16px; + margin-left: 40px; + /*transform: rotate(360deg);*/ +} +.containerThree_item_last:hover{ + background: red; + color: #fff; +} +.containerThree_item_last:hover .containerThree_item_last span{ + transform: rotate(180deg); +} + + + + + + + + + + + + + +.container_four{ + width: 1230px; + height: 665px; + margin-top: 20px; +} +.container_four_top{ + width: 100%; + height: 47px; +} +.container_four_topLeft{ + width: 214px; + height: 25px; + float: left; + margin-top: 16px; + /*background: red;*/ +} +.container_four_topLeft img{ + width: 214px; + height: 25px; +} +.container_four_topRight{ + /*width: 600px;*/ + height: 31px; + /*background: skyblue;*/ + float: right; + margin-top: 15px; + margin-right: 30px; +} +.container_four_topRight a{ + font-size: 14px; + color: #333; + margin-left: 10px; + line-height: 25px; + display: block; + float: left; +} +.container_four_topRight a:hover{ + /*text-decoration: underline;*/ + border-bottom: 1px solid #999; +} +.container_four_bottom{ + width: 100%; + height: 618px; +} +.container_four_bottomLeft{ + width: 235px; + height: 100%; + float: left; + position: relative; + cursor: pointer; + opacity: 1; + transition: all 0.5s; +} +.container_four_bottomLeft img{ + width: 235px; + height: 100%; + position: absolute; + left: 0; + top: 0; +} +.container_four_bottomLeft:hover{ + opacity: 0.5; +} +.cFour_bottomLeft_hover{ + width: 218px; + height: 64px; + background: rgba(0,0,0,0.4); + position: absolute; + left: 0px; + bottom: 20%; + z-index: 999; +} +.cFour_bottomLeft_hover1{ + width: 50px; + height: 44px; + background: rgba(0,0,0,.9); + float: left; + padding: 10px; +} +.cFour_bottomLeft_hover1 span{ + font-size: 18px; + color: #fff; + display: block; + margin-left: 5px; +} +.cFour_bottomLeft_hover2Z{ + float: left; +} +.cFour_bottomLeft_hover2{ + font-size: 18px; + color: #fff; + display: block; + margin-top: 8px; + margin-left: 8px; +} +.cFour_bottomLeft_hover3{ + margin-top: 3px; +} +.container_four_bottomRight{ + width: 995px; + height: 618px; + /*background: yellow;*/ + float: right; +} +.containerFour_bottomRight_1{ + width: 484px; + height:300px; + background: #fff; + float: left; + margin-left: 13px; +} +.containerFour_bottomRight_1Z{ + width: 462px; + height:282px; + margin:10px; + box-shadow: 0 0 8px 2px #999; +} +.containerFourbottomRight_1Top{ + width: 100%; + height:57px; + background: plum; +} +.containerFBRight_1Top_Left{ + width: 50%; + height:57px; + background: #d8d7d7; + float: left; + font-size: 18px; + color: #000; + text-align: center; + line-height: 57px; + cursor: pointer; +} +.containerFBRight_1Top_Left.active{ + background: #00b262; + color: #fff; +} +.containerFourbottomRight_1Bottom{ + width: 100%; + height: 225px; + background: #fff; + position: relative; +} +.conBottomZong{ + width: 100%; + height: 225px; + background: #fff; + position: absolute; + left: 0; + top: 0; +} +.conBottomZong.active{ + z-index: 9999; +} +.containerFour_jiantou{ + height: 87px; + width: 291px; + background-image: url("../img/content/four_jiantou.png"); + position: absolute; + top:75px; + left: 0; + z-index: 999; + cursor: pointer; +} +.cFour_jiantou_t{ + width: 240px; + height: 36px; + margin-top: 8px; + margin-left: 26px; +} +.cFour_jiantou_b{ + width: 140px; + height: 26px; + margin-top: 8px; + margin-left: 26px; + font-size: 18px; + letter-spacing: 1px; + color: #000; +} +.cFour_jiantou_tL{ + width: 23px; + height: 23px; + background-image: url("../img/content/four_tu.png"); + float: left; + margin-top: 8px; +} +.cFour_jiantou_t span{ + font-size: 24px; + color: #00B262; + font-weight: 700; + line-height: 36px; + margin-left: 8px; +} +.containerFour_Imgs{ + width: 200px; + height: 200px; + position: absolute; + top:10px; + right: 30px; +} +.containerFour_Imgs img{ + width: 200px; + height: 200px; + position: absolute; + left: 0; + top: 0; +} +.containerFour_bottomRight_2{ + width: 234px; + height:300px; + background: #fff; + float: left; + margin-left: 12px; + border:1px solid #fff; + cursor: pointer; +} +.containerFour_bottomRight_2:hover{ + border:1px solid #FF0036; +} +.containerFour_bottomRight_3{ + margin-top: 13px; +} +.cFour_botRight_2img{ + width: 185px; + height:185px; + margin-left: 25px; + margin-top: 20px; +} +.cFour_botRight_2img img{ + width: 185px; + height: 185px; + opacity: 1; + transition: all 0.5s; +} +.containerFour_bottomRight_2:hover .cFour_botRight_2img img{ + opacity: 0.5; +} +.cFour_botRight_2word1{ + width: 135px; + height: 40px; + font-size: 14px; + color: #333; + line-height: 20px; + overflow: hidden; + margin: 8px auto; +} +.cFour_botRight_2word2{ + width: 234px; + height: 18px; + font-size: 18px; + color: #FF0036; + text-align: center; + line-height: 18px; + margin: 10px auto; +} +.cFour_bottomLeft_youJT{ + font-family: 'iconfont'; + font-size: 36px; + position: absolute; + right: 15px; + bottom: 15px; + z-index: 999; + color: #fff; +} +.container_five{ + width:1230px; + height: 90px; + margin-top: 20px; + cursor: pointer; +} +.container_five img{ + width: 1230px; + height: 90px; +} +.container_four_topLeft1{ + width: 400px; +} +.container_six_1{ + width: 5px; + height: 100%; + background: #EA5F8D; + float: left; +} +.container_six_2{ + font-size: 18px; + color: #000; + float: left; + font-weight: 400; + margin-left: 10px; +} +.container_like{ + width: 1230px; + margin-top: 30px; +} +.conLike_top{ + width: 1230px; + height: 43px; + /*background: red;*/ +} +.conLike_top_main{ + width: 176px; + height: 23px; + /*background: yellow;*/ + margin:0 auto; +} +.conLikeTop_main_1{ + width: 30px; + height: 1px; + background: #979797; + float: left; + margin-top: 11px; +} +.conLikeTop_main_2{ + width: 30px; + height: 1px; + background: #979797; + float: right; + margin-top: 11px; +} +.conLikeTop_main_word{ + width: 96px; + height: 23px; + /*background: green;*/ + float: left; + margin-left: 10px; + font-size: 18px; + text-align: center; + color: #666; + font-family: 'iconfont'; +} +.conLikeTopMain_word1{ + color: #FF0036; +} +.containerFour_bottomRight_4{ + margin-left: 0; +} +.conLike_bottom{ + width: 1230px; + height: 5670px; +} +.container_bottom{ + width: 80px; + height: 45px; + /*background: skyblue;*/ + background-image: url("../img/content/tianmao.png"); + background-repeat: no-repeat; + margin:0 auto; + margin-top: 15px; +} +.map{ + width: 100%; + height: 562px; + background: #fff; +} +.map_top{ + width: 1190px; + height: 366px; + /*background: red;*/ + margin:0 auto; + position: relative; +} +.map_top_3{ + width: 70px; + height: 30px; + /*background: pink;*/ + position: absolute; + left: 50px; + bottom: 0; +} +.map_top_3 img{ + width: 70px; + height: 30px; +} +.map_top_1{ + width: 100%; + height: 100px; + /*background: pink;*/ + padding:30px 0; + border-bottom: 1px solid #ededed; +} +.map_top_1 img{ + width: 292px; + height: 100px; + cursor: pointer; +} +.map_top_2{ + width: 1190px; + height: 200px; + /*background-color: yellow;*/ + margin: 0 auto; +} +.map_three_1{ + width: 210px; + height: 180px; + /*background-color: plum;*/ + float: left; + margin-left: 20px; +} +.map_three_word1{ + font-size: 16px; + color: #646464; + font-weight: bold; + margin-top: 10px; +} +.map_three_word2{ + font-size: 12px; + color: #8b8b8b; + margin-top: 5px; + cursor: pointer; + display: block; +} +.map_three_word2:hover{ + color: #FF0036; +} +.map_three_IMGS{ + width: 105px; + height: 105px; + /*background: #ff6700;*/ + margin-top: 10px; +} +.map_three_IMGS img{ + width: 105px; + height: 105px; +} +.map_bottom{ + width: 100%; + height: 200px; + background: #000000; + border-top: 1px solid #FF0036; +} +.map_bottom_main{ + width: 1190px; + height: 180px; + margin:0 auto; + /*background:skyblue;*/ +} +.map_main_1{ + width: 1190px; + height: 35px; + /*background:yellow;*/ +} +.map_main_1 span{ + font-size: 12px; + color: #fff; + margin-right: 10px; + line-height: 35px; + cursor: pointer; +} +.map_main_2{ + width: 1190px; + height: 35px; + /*background:plum;*/ +} +.head_wenzi { + color: #fff; + line-height: 35px; + font-size: 12px; + float: left; +} +.head_line { + width: 1px; + height: 12px; + background-color: #fff; + float: left; + margin: 13px 7px 0; +} +.map_main_3{ + width: 1190px; + height: 110px; + /*background: pink;*/ +} +.map_main_31{ + width: 1190px; + height: 20px; + /*background: yellow;*/ + margin-top: 5px; +} +.map_main_31 img{ + width: 20px; + height: 20px; +} +.map_main_31 span{ + font-size: 12px; + color: #a4a4a4; + margin-right: 50px; + line-height: 20px; +} +.map_main_4{ + width: 1190px; + height: 30px; + /*background: red;*/ + margin-top: 10px; + cursor: pointer; +} +.map_main_4 img{ + width: 73px; + height: 30px; +} +/* topBar开始 */ +.topBar{ + width: 100%; + height: 50px; + background: #ca1e2d; + opacity: 0.95; + /*box-shadow: rgba(0,0,0,.2) 0 1px 5px;*/ + position: fixed; + top: 0; + left: 0; + z-index: 99999; + display: none; +} +.topBar_main{ + width: 1190px; + height: 100%; + /* background: skyblue; */ + margin: 0 auto; +} +.topBar_main_1{ + width: 190px; + height: 38px; + background: #F90; + float: left; + margin-top: 6px; + cursor: pointer; +} +.topBar_main_1 img{ + width: 190px; + height: 38px; +} +.topBar_main_2{ + width: 600px; + height: 34px; + background: #fff; + border-style: none; + float: left; + margin-top: 6px; + margin-left: 100px; + color: #666; + font-size: 12px; + outline: none; +} +.topBar_main_3{ + width: 120px; + height: 34px; + background: #d45761; + float: left; + margin-top: 6px; + + color: #fff; + font-size: 18px; + text-align: center; + line-height: 34px; + font-weight: bold; + cursor: pointer; +} +/* leftBar开始 */ +.leftBar{ + width: 36px; + height: 370px; + background: #f8f8f8; + border: 1px solid #ddd; + position: fixed; + top: 210px; + left: 50%; + bottom: 0px; + margin-left: -655px; + display: none; +} +.tips{ + width: 30px; + height: 36px; + background: rgba(0,0,0,0.6); + border-top: 1px solid #e8e8e8; + border-bottom: 1px solid #e8e8e8; + cursor: pointer; + padding: 0 3px; + text-align: center; + color: #fff; + font-size: 12px; +} +.tips.active{ + background: #ff37bb; + color: #fff; +} +.leftBar_footer_1{ + font-family: 'iconfont'; + font-size: 30px; + color: #fff; + line-height: 36px; +} +.tip_color{ + width: 30px; + height: 36px; + border-top: 1px solid #e8e8e8; + border-bottom: 1px solid #e8e8e8; + cursor: pointer; + padding: 0 3px; + text-align: center; + color: #fff; + font-size: 12px; + background: #ff0036; + text-align: center; + line-height: 36px; +} +.leftBar_footer{ + width: 30px; + height: 36px; + background: rgba(0,0,0,0.3); + border-top: 1px solid #e8e8e8; + border-bottom: 1px solid #e8e8e8; + cursor: pointer; + padding: 0 3px; + text-align: center; + color: #fff; + font-size: 12px; +} +/*右侧导航栏*/ +.rightBan{ + width: 35px; + height: 100%; + background: #000; + position: fixed; + top: 0; + right: 0; + z-index: 999999; +} +.rightBan_1{ + width: 35px; + height: 35px; + background: #000; + font-family: 'iconfont'; + font-size: 18px; + text-align: center; + line-height: 35px; + color: #e7e5e5; + cursor: pointer; +} +.rightBan_1:hover{ + background:#FF0036; +} +.rightBan_1 img{ + width: 20px; + height: 15px; +} +.rightBan_2{ + width: 35px; + height: 116px; + background: #000; + cursor: pointer; +} +.rightBan_2 span{ + font-size: 12px; + text-align: center; + /*line-height: 35px;*/ + color: #e7e5e5; + display: block; + margin: 0; +} +.rightBan_2_1ine{ + width: 28px; + height:1px; + margin:0 auto; + background: #666; + margin-bottom: 10px; +} +.rightBan_2_1ine2{ + margin-bottom: 0px; + margin-top: 23px; +} +.rightBan_1_color{ + width: 35px; + height: 35px; + font-family: 'iconfont'; + font-size: 20px; + color: #FF0036; + text-align: center; + line-height: 35px; + cursor: pointer; +} +.rightBan_2:hover{ + background:#FF0036; +} +.rightBan_2:hover .rightBan_1_color{ + color: #e7e5e5; +} +.rightB_fir{ + position: absolute; + left: 0; + top: 28%; +} +.rightB_sec{ + position: absolute; + left: 0; + top: 33%; +} +.rightB_thr{ + position: absolute; + left: 0; + bottom: 0; +} +.rightB_four{ + position: absolute; + left: 0; + top: 52%; +} +.rightB_fir1{ + position: absolute; + right: 25px; + top: 28%; +} +.rightB_four1{ + position: absolute; + right: 25px; + top: 52%; +} +.rightB_thr1{ + position: absolute; + right: 25px; + bottom: 0; +} +.piaofu1{ + width:100px; + height: 35px; + background-image: url("../img/qipao.png"); + font-size: 10px; + text-align: center; + line-height: 35px; + color: #fff; + opacity: 0; + transition: all 0.5s; + margin-right: 50px; + position: relative; +} +.piaofu2{ + margin-right: 0px; +} +.piaofu1 img{ + width: 100px; + height: 35px; +} +.piaofu_erweima{ + width: 154px; + height: 207px; + background-image: url("../img/erWeiMaBackground.png"); + position: absolute; + bottom: 0; + right: 0; +} +.piaofu_erweima img{ + width: 144px; + height: 144px; + margin-top: 50px; +} \ No newline at end of file diff --git a/manong_portal/src/main/webapp/WEB-INF/css/public.css b/manong_portal/src/main/webapp/WEB-INF/css/public.css new file mode 100644 index 0000000..08e5532 --- /dev/null +++ b/manong_portal/src/main/webapp/WEB-INF/css/public.css @@ -0,0 +1,10 @@ +*{ + margin:0; + /* body -8px */ + text-decoration: none;/*a */ + /* 字体回复默认值 */ + font-style: normal; + padding: 0;/* 标题 */ + list-style: none;/* body -8px */ + +} \ No newline at end of file diff --git a/manong_portal/src/main/webapp/WEB-INF/ftl/hello.ftl b/manong_portal/src/main/webapp/WEB-INF/ftl/hello.ftl new file mode 100644 index 0000000..d01dff9 --- /dev/null +++ b/manong_portal/src/main/webapp/WEB-INF/ftl/hello.ftl @@ -0,0 +1,5 @@ +

      hello ${name}

      + +<#list ["aaa","bbbb","ccc"] as x> + ${x} + \ No newline at end of file diff --git a/manong_portal/src/main/webapp/WEB-INF/ftl/index.ftl b/manong_portal/src/main/webapp/WEB-INF/ftl/index.ftl new file mode 100644 index 0000000..04168ab --- /dev/null +++ b/manong_portal/src/main/webapp/WEB-INF/ftl/index.ftl @@ -0,0 +1,2357 @@ + + + + + + + 天猫tmall.com--理想的生活 + + + + + + +
      +
      +
      + 嗨!欢迎来天猫 + 请登录 + 免费注册 +
      + +
      +
      +
      + 我的淘宝 + +
      +
      + +
      +
      + + 购物车 0件 + +
      +
      + +
      +
      + 收藏夹 + +
      +
      +
      |
      +
      +
      + + 手机版 +
      +
      + + 淘宝网 + +
      +
      + 商家支持 + +
      +
      + +
      +
      + + 网站导航 + +
      +
      +
      + +
      +
      1
      +
      2
      +
      3
      +
      4
      +
      5
      +
      6
      +
      7
      +
      +
      +
      + + + +
      +
      +
      + +
      + +
      +
      + + +
      搜索
      +
      + +
      +
      +
      + + + + + + + +
      +
      +
      +
      + +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      +
      +
      +
      +
      + 品牌闪购 + BRAND SALE + +
      +
      + +
      +
      +
      +
      + 聚名品 + LUXURY CHANNEL + 更多  +
      +
      + +
      +
      +
      +
      + 品牌活动 + BRAND ACTIVITY + 更多  +
      +
      + +
      +
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      + +
      + 优惠券 ¥30 +
      点击进入
      +
      +
      +
      +
      + 换一批 +
      +
      +
      +
      + +
      +
      + +
      +
      天猫超市
      +
      + 短促美食囤 + 一元疯抢 +
      +
      +
      +
      +
      +
      +
      +
      +
      今日疯抢
      +
      量版装
      +
      +
      +
      +
      +
      +
      + 限时限量抢购 +
      +
      限时第二件0元
      +
      +
      + +
      +
      +
      +
      +
      +
      + 限时限量抢购 +
      +
      一元超值疯抢中
      +
      +
      + +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 口红 + YSL + 面膜 + 防嗮 + 迪奥 +
      +
      +
      +
      + +
      +
      天猫超市
      +
      + 短促美食囤 + 一元疯抢 +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      +
      +
      +
      +
      美丽人生
      +
      FASHION & BEAUTY
      +
      + +
      +
      +
      + +
      +
      天猫超市
      +
      + 短促美食囤 + 一元疯抢 +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      潮电酷玩
      +
      ELECTRONICS
      +
      + +
      +
      +
      + +
      +
      天猫超市
      +
      + 短促美食囤 + 一元疯抢 +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      +
      +
      +
      +
      居家生活
      +
      GROCERY & HEALTH
      +
      + +
      +
      +
      + +
      +
      运动户外
      +
      + 短促美食囤 + 一元疯抢 +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      打造爱巢
      +
      HOME
      +
      + +
      +
      +
      + +
      +
      乐活烘焙
      +
      + 短促美食囤 + 一元疯抢 +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      +
      +
      +
      +
      户外出行
      +
      OUTDOORS & AUTOMOTIVE
      +
      + +
      +
      +
      + +
      +
      户外出行
      +
      + 短促美食囤 + 一元疯抢 +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + + 猜你喜欢 +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      + +
      +
      + 旁氏洗面奶米粹亮彩净澈润泽洁面乳 150g +
      +
      ¥22.8
      +
      +
      +
      +
      +
      + + +
      +
      导航
      +
      天猫超市
      +
      天猫国际
      +
      美丽人生
      +
      潮电酷玩
      +
      居家生活
      +
      打造爱巢
      +
      户外出行
      +
      猜你喜欢
      + +
      + +
      +
      +
      +
      + + + + +
      + +
      + +
      +
      +
      +
      +
      + 关于天猫 + 帮助中心 + 开放平台 + 诚聘英才 + 联系我们 + 网站合作 + 法律声明 + 隐私权政策 + 知识产权 + 廉正举报 + 规则意见征集 +
      +
      + 阿里巴巴集团 +
      + + 淘宝网 +
      + + 天猫 +
      + + 聚划算 +
      + + 全球通卖通 +
      + + 阿里巴巴交易市场 +
      + + 1688 +
      + + 阿里妈妈 +
      + + 飞猪 +
      + + 阿里云计算 +
      + + Alios +
      + + 阿里通信 +
      + + 万网 +
      + + 高德 +
      + + UC +
      + + 友盟 +
      + + 虾米 +
      + + 阿里星球 +
      + + 来往 +
      + + 钉钉 +
      + + 支付宝 +
      +
      +
      + 新增电信业务经营许可证:浙B2-20110446 + 网络文化经营许可证:浙网文[2015]0295-024号 + 12318举报 + 互联网违法和不良信息举报电话:0571-81683755 bjxxjb@alibaba-inc.com +
      +
      + 互联网药品信息资质证书编号:浙-(经营性)-2017-0005 + + 网络文化经营许可证:浙网文[2015]0295-024号 + (浙)网械平台备字[2018]第00002号 +
      +
      + @2003-2018 TMALL.COM 版权所有 +
      +
      + + +
      +
      +
      +
      +
      +
      + + + +
      +
      +
      + +
      + +
      搜索
      +
      +
      + + + +
      +
      +
      + +
      +
      +
      +
      +
      +
      + + + +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      会员权益
      +
      +
      +
      我的资产
      +
      我的收藏
      +
      我看过的
      +
      我要充值
      +
      +
      +
      用户反馈
      +
      +
      + +
      +
      +
      返回顶部
      +
      +
      + + + + \ No newline at end of file diff --git a/manong_portal/src/main/webapp/WEB-INF/js/index.js b/manong_portal/src/main/webapp/WEB-INF/js/index.js new file mode 100644 index 0000000..7363d53 --- /dev/null +++ b/manong_portal/src/main/webapp/WEB-INF/js/index.js @@ -0,0 +1,204 @@ +//banner +{ + const imgs = document.querySelectorAll(".banner_img li"); //不会被修改,常量 + let pagers = document.querySelectorAll(".banner_lunbo li"); + let banner = document.querySelector(".banner_bottom"); //设置banner,鼠标放上去,停止播放,鼠标移开开始播放。 + + pagers.forEach(function (ele, index) { //形参,遍历数。 + ele.onmouseenter = function () { + for (let i = 0; i < imgs.length; i++) { + imgs[i].classList.remove("active"); + pagers[i].classList.remove("active"); //移除active + } + this.classList.add("active"); + imgs[index].classList.add("active"); //添加active + n = index; //n从当前位子自加。 + } + }) + + // BOM_window.setInterval();//让代码自动执行 自动轮播 + let n = 0; //访问n,自加 + let t = setInterval(move, 3000) + + function move() { + n++; + //n超范围判断 + // n=n%5; + if (n === imgs.length) { + n = 0; //赋值 + } + //左按钮,点到第一张时跳转到第五章 + if (n < 0) { + n = imgs.length - 1; + } + for (let i = 0; i < imgs.length; i++) { + imgs[i].classList.remove("active"); + pagers[i].classList.remove("active"); + } + imgs[n].classList.add("active"); + pagers[n].classList.add("active"); + } + + banner.onmouseenter=function(){ + clearInterval(t); + } + banner.onmouseleave=function(){ + t=setInterval(move,3000); + } +} +//banner 侧导航点击出现内容 +{ + let lab=document.querySelectorAll(".banner_ce li"); + let menus=document.querySelectorAll(".piaofu"); + let obj=menus[0]; + lab.forEach(function(ele,index){ + ele.onmouseenter=function(){ + menus[index].style.display="block"; + } + ele.onmouseleave=function(){ + menus[index].style.display="none"; + } + }) +} +//某一位置出现导航栏(上导航、左导航),以及点击回到顶部 +{ + let topBar=document.querySelector(".topBar"); + let leftBar=document.querySelector(".leftBar"); + window.onscroll=function(){ + let st=document.documentElement.scrollTop; + if(st>700){ + topBar.style.display="block"; + }else{ + topBar.style.display="none"; + } + + if(st>1000&&st<12400){ + leftBar.style.display="block"; + }else{ + leftBar.style.display="none"; + } + } + + let leftBar_footer=document.querySelector(".leftBar_footer"); + leftBar_footer.onclick=function(){ + let st=document.documentElement.scrollTop; + let t=setInterval(function(){ + st-=200; + if(st<0){ + st=0; + clearInterval(t); + } + document.documentElement.scrollTop=st; + },25) + } +} +//跳楼机 +{ + let container=document.querySelectorAll(".content_container"); + let tips=document.querySelectorAll(".tips"); + let flag=true; + tips.forEach(function(ele,index){ + ele.onclick=function(){ + flag=false; + let ot=container[index].offsetTop-20; + // document.documentElement.scrollTop=ot; + let now=document.documentElement.scrollTop; + let speed=(ot-now)/8; + let time=0; + let t=setInterval(function(){ + time+=25; + now+=speed; + if(time===200){ + clearInterval(t); + flag=true; + } + document.documentElement.scrollTop=now; + },25) + } + }); + //给同一内容添加很多不同事件处理事件 + window.addEventListener("scroll",function(){ + if(flag){ + let st=document.documentElement.scrollTop; + // let obj=tips[0]; + for(let i=0;icontainer[i].offsetTop-80){ + for(let i=0;i + + manong-portal + + index.html + index.htm + index.jsp + + + + + contextConfigLocation + classpath:spring/applicationContext-*.xml + + + org.springframework.web.context.ContextLoaderListener + + + + CharacterEncodingFilter + org.springframework.web.filter.CharacterEncodingFilter + + encoding + utf-8 + + + + CharacterEncodingFilter + /* + + + + manong-portal + org.springframework.web.servlet.DispatcherServlet + + + contextConfigLocation + classpath:spring/springmvc.xml + + 1 + + + manong-portal + / + + \ No newline at end of file diff --git a/manong_portal/src/main/webapp/index.jsp b/manong_portal/src/main/webapp/index.jsp new file mode 100644 index 0000000..a3d7841 --- /dev/null +++ b/manong_portal/src/main/webapp/index.jsp @@ -0,0 +1,7 @@ +<%-- + User: wistbean + Date: 2019/1/15 + Time: 18:47 +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + \ No newline at end of file diff --git a/manong_redis/pom.xml b/manong_redis/pom.xml new file mode 100644 index 0000000..2ffd57d --- /dev/null +++ b/manong_redis/pom.xml @@ -0,0 +1,16 @@ + + + + manong_parent + com.kendinghui + 1.0-SNAPSHOT + ../manong_parent/pom.xml + + 4.0.0 + + manong_redis + + + \ No newline at end of file diff --git a/manong_rest/pom.xml b/manong_rest/pom.xml new file mode 100644 index 0000000..07df23b --- /dev/null +++ b/manong_rest/pom.xml @@ -0,0 +1,115 @@ + + + + manong_parent + com.kendinghui + 1.0-SNAPSHOT + ../manong_parent/pom.xml + + 4.0.0 + manong_rest + war + + + + com.kendinghui + manong_common + 1.0-SNAPSHOT + + + + com.kendinghui + manong_manager_pojo + 1.0-SNAPSHOT + + + + com.kendinghui + manong_manager_mapper + 1.0-SNAPSHOT + + + + commons-fileupload + commons-fileupload + + + + com.alibaba + druid + + + + mysql + mysql-connector-java + + + + org.mybatis + mybatis + + + + com.github.pagehelper + pagehelper + + + + org.mybatis + mybatis-spring + + + + org.springframework + spring-context + + + + org.springframework + spring-context-support + + + + org.springframework + spring-jdbc + + + + org.springframework + spring-aspects + + + + org.springframework + spring-webmvc + + + + org.springframework + spring-beans + + + + com.fasterxml.jackson.core + jackson-databind + + + + + + + + org.apache.tomcat.maven + tomcat7-maven-plugin + 2.2 + + 8088 + / + + + + + + \ No newline at end of file diff --git a/manong_rest/src/main/java/com/manong/rest/controller/ProductCategoriesController.java b/manong_rest/src/main/java/com/manong/rest/controller/ProductCategoriesController.java new file mode 100644 index 0000000..04c0240 --- /dev/null +++ b/manong_rest/src/main/java/com/manong/rest/controller/ProductCategoriesController.java @@ -0,0 +1,27 @@ +package com.manong.rest.controller; + +import com.manong.rest.service.ProductCategriesService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import pojo.Res_Categories; + +/** + * Created by wistbean on 2019/2/24. + */ +@Controller +@RequestMapping("/rest") +public class ProductCategoriesController { + + @Autowired + private ProductCategriesService productCategriesService; + + @RequestMapping("productCategries/list") + @ResponseBody + public Res_Categories getCategories(){ + Res_Categories categries = productCategriesService.getCategries(); + return categries; + } + +} diff --git a/manong_rest/src/main/java/com/manong/rest/service/ProductCategriesService.java b/manong_rest/src/main/java/com/manong/rest/service/ProductCategriesService.java new file mode 100644 index 0000000..d0a2cbc --- /dev/null +++ b/manong_rest/src/main/java/com/manong/rest/service/ProductCategriesService.java @@ -0,0 +1,12 @@ +package com.manong.rest.service; + +import pojo.Res_Categories; + +/** + * Created by wistbean on 2019/2/24. + */ +public interface ProductCategriesService { + + Res_Categories getCategries(); + +} diff --git a/manong_rest/src/main/java/com/manong/rest/service/impl/ProductCategriesServiceImpl.java b/manong_rest/src/main/java/com/manong/rest/service/impl/ProductCategriesServiceImpl.java new file mode 100644 index 0000000..7ce6b26 --- /dev/null +++ b/manong_rest/src/main/java/com/manong/rest/service/impl/ProductCategriesServiceImpl.java @@ -0,0 +1,77 @@ +package com.manong.rest.service.impl; + +import com.manong.mapper.ProductCategoryMapper; +import com.manong.pojo.ProductCategory; +import com.manong.pojo.ProductCategoryExample; +import com.manong.rest.service.ProductCategriesService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import pojo.Res_Categories; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by wistbean on 2019/2/24. + */ +@Service +public class ProductCategriesServiceImpl implements ProductCategriesService { + + @Autowired + ProductCategoryMapper productCategoryMapper; + + @Override + public Res_Categories getCategries() { + + Res_Categories res_categories = new Res_Categories(); + + ProductCategoryExample productCategoryExample = new ProductCategoryExample(); + ProductCategoryExample.Criteria criteria = productCategoryExample.createCriteria(); + criteria.andParentIdEqualTo((short) 0); + List productCategories = productCategoryMapper.selectByExample(productCategoryExample); + + List categories = new ArrayList<>(); + + for (int i = 0; i subCetegoriesBeenList = getSubCategroies + (productCategory.getId()); + + categoriesBean.setSub_cetegories(subCetegoriesBeenList); + categories.add(categoriesBean); + } + + res_categories.setCategories(categories); + + return res_categories; + } + + private List getSubCategroies(Short id) { + + List list = new ArrayList<>(); + + ProductCategoryExample productCategoryExample = new ProductCategoryExample(); + ProductCategoryExample.Criteria criteria = productCategoryExample.createCriteria(); + criteria.andParentIdEqualTo(id); + List productCategories = productCategoryMapper.selectByExample(productCategoryExample); + + for (int i = 0; i + + + + + + + + + + \ No newline at end of file diff --git a/manong_rest/src/main/resources/properties/db.properties b/manong_rest/src/main/resources/properties/db.properties new file mode 100644 index 0000000..d3e91ec --- /dev/null +++ b/manong_rest/src/main/resources/properties/db.properties @@ -0,0 +1,4 @@ +jdbc_url=jdbc:mysql://localhost:3306/manong?characterEncoding=utf-8 +jdbc_user=root +jdbc_password=admin +jdbc_driver=com.mysql.jdbc.Driver \ No newline at end of file diff --git a/manong_rest/src/main/resources/spring/applicationContext-dao.xml b/manong_rest/src/main/resources/spring/applicationContext-dao.xml new file mode 100644 index 0000000..db2f305 --- /dev/null +++ b/manong_rest/src/main/resources/spring/applicationContext-dao.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/manong_rest/src/main/resources/spring/applicationContext-service.xml b/manong_rest/src/main/resources/spring/applicationContext-service.xml new file mode 100644 index 0000000..b14ad81 --- /dev/null +++ b/manong_rest/src/main/resources/spring/applicationContext-service.xml @@ -0,0 +1,11 @@ + + + + + \ No newline at end of file diff --git a/manong_rest/src/main/resources/spring/applicationContext-trans.xml b/manong_rest/src/main/resources/spring/applicationContext-trans.xml new file mode 100644 index 0000000..5b3cef2 --- /dev/null +++ b/manong_rest/src/main/resources/spring/applicationContext-trans.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/manong_rest/src/main/resources/spring/springmvc.xml b/manong_rest/src/main/resources/spring/springmvc.xml new file mode 100644 index 0000000..2cc196b --- /dev/null +++ b/manong_rest/src/main/resources/spring/springmvc.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/manong_rest/src/main/webapp/WEB-INF/web.xml b/manong_rest/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..6e4e60e --- /dev/null +++ b/manong_rest/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,49 @@ + + + manong-rest + + index.html + index.htm + index.jsp + + + + + contextConfigLocation + classpath:spring/applicationContext-*.xml + + + org.springframework.web.context.ContextLoaderListener + + + + CharacterEncodingFilter + org.springframework.web.filter.CharacterEncodingFilter + + encoding + utf-8 + + + + CharacterEncodingFilter + /* + + + + manong-rest + org.springframework.web.servlet.DispatcherServlet + + + contextConfigLocation + classpath:spring/springmvc.xml + + 1 + + + manong-rest + / + + \ No newline at end of file diff --git a/manong_rest/src/main/webapp/index.jsp b/manong_rest/src/main/webapp/index.jsp new file mode 100644 index 0000000..3808c08 --- /dev/null +++ b/manong_rest/src/main/webapp/index.jsp @@ -0,0 +1,14 @@ +<%-- + User: wistbean + Date: 2019/2/21 + Time: 14:56 +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Title + + + rest... + + diff --git a/manong_search/pom.xml b/manong_search/pom.xml new file mode 100644 index 0000000..19f4dd1 --- /dev/null +++ b/manong_search/pom.xml @@ -0,0 +1,16 @@ + + + + manong_parent + com.kendinghui + 1.0-SNAPSHOT + ../manong_parent/pom.xml + + 4.0.0 + + manong_search + + + \ No newline at end of file diff --git a/manong_sso/pom.xml b/manong_sso/pom.xml new file mode 100644 index 0000000..bfd105f --- /dev/null +++ b/manong_sso/pom.xml @@ -0,0 +1,16 @@ + + + + manong_parent + com.kendinghui + 1.0-SNAPSHOT + ../manong_parent/pom.xml + + 4.0.0 + + manong_sso + + + \ No newline at end of file From 089986b36ea6cc52165559cc43cf3b1172f01281 Mon Sep 17 00:00:00 2001 From: wistbean <354142480@qq.com> Date: Wed, 27 Mar 2019 00:40:52 +0800 Subject: [PATCH 08/14] update readme --- README.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 59a7125..7f0cac9 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,12 @@ # 码农商城 基于SSM框架的Java项目 +# 视频教程地址 + +网址:[笔记](https://wistbean.github.io/java-ssm-video.html#SSM%E8%A7%86%E9%A2%91%E6%95%99%E7%A8%8B%E7%9B%AE%E5%BD%95) +b站:[视频讲解](https://space.bilibili.com/7028047/video) +Youtube:[墙外视频](https://www.youtube.com/watch?v=IHVz8Lpe510&list=PLjjwfqIOpH-iy7l05VaJw8zOCYAevt7A2) + # 技术选型 @@ -8,7 +14,7 @@ 2. Spring MVC 3. Mybatis 4. redis -5. solor +5. solr 6. EasyUI 7. UEditor 8. JQuery @@ -52,3 +58,5 @@ + + From 692ff1bbb798a239852d88495d4a66b2bcb2311b Mon Sep 17 00:00:00 2001 From: wistbean <354142480@qq.com> Date: Fri, 5 Apr 2019 02:47:42 +0800 Subject: [PATCH 09/14] update README --- README.md | 8 ++++++++ manong_rest/pom.xml | 1 + 2 files changed, 9 insertions(+) diff --git a/README.md b/README.md index 7f0cac9..5670746 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,14 @@ b站:[视频讲解](https://space.bilibili.com/7028047/video) Youtube:[墙外视频](https://www.youtube.com/watch?v=IHVz8Lpe510&list=PLjjwfqIOpH-iy7l05VaJw8zOCYAevt7A2) +# 注意 + +代码 clone 下来之后有几个 jar 包需要使用 maven 自行导入: + +> ueditor +> json +> fastdfs + # 技术选型 1. Spring diff --git a/manong_rest/pom.xml b/manong_rest/pom.xml index 07df23b..8f08eb3 100644 --- a/manong_rest/pom.xml +++ b/manong_rest/pom.xml @@ -13,6 +13,7 @@ war + com.kendinghui manong_common From f701a496b359c04a5866df69262e88325fc92580 Mon Sep 17 00:00:00 2001 From: wistbean <354142480@qq.com> Date: Fri, 5 Apr 2019 22:54:40 +0800 Subject: [PATCH 10/14] show products --- .../src/main/java/pojo/Res_Product.java | 42 + manong_portal/pom.xml | 4 + .../portal/controller/IndexController.java | 8 + .../manong/portal/service/ProductService.java | 11 + .../service/impl/ProductServiceImpl.java | 36 + .../resources/resource/resource.properties | 7 +- .../src/main/webapp/WEB-INF/css/index.css | 2 +- .../src/main/webapp/WEB-INF/ftl/index.ftl | 1893 +---------------- .../rest/controller/ProductController.java | 26 + .../manong/rest/service/ProductService.java | 9 + .../rest/service/impl/ProductServiceImpl.java | 47 + 11 files changed, 215 insertions(+), 1870 deletions(-) create mode 100644 manong_common/src/main/java/pojo/Res_Product.java create mode 100644 manong_portal/src/main/java/com/manong/portal/service/ProductService.java create mode 100644 manong_portal/src/main/java/com/manong/portal/service/impl/ProductServiceImpl.java create mode 100644 manong_rest/src/main/java/com/manong/rest/controller/ProductController.java create mode 100644 manong_rest/src/main/java/com/manong/rest/service/ProductService.java create mode 100644 manong_rest/src/main/java/com/manong/rest/service/impl/ProductServiceImpl.java diff --git a/manong_common/src/main/java/pojo/Res_Product.java b/manong_common/src/main/java/pojo/Res_Product.java new file mode 100644 index 0000000..05a9d86 --- /dev/null +++ b/manong_common/src/main/java/pojo/Res_Product.java @@ -0,0 +1,42 @@ +package pojo; + +public class Res_Product { + + private int id; + private String name; + private String imgUrl; + private double price; + + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getImgUrl() { + return imgUrl; + } + + public void setImgUrl(String imgUrl) { + this.imgUrl = imgUrl; + } + + public double getPrice() { + return price; + } + + public void setPrice(double price) { + this.price = price; + } +} diff --git a/manong_portal/pom.xml b/manong_portal/pom.xml index fd424dd..75f1403 100644 --- a/manong_portal/pom.xml +++ b/manong_portal/pom.xml @@ -87,6 +87,10 @@ com.google.code.gson gson + + mysql + mysql-connector-java + diff --git a/manong_portal/src/main/java/com/manong/portal/controller/IndexController.java b/manong_portal/src/main/java/com/manong/portal/controller/IndexController.java index fa05060..43b76ce 100644 --- a/manong_portal/src/main/java/com/manong/portal/controller/IndexController.java +++ b/manong_portal/src/main/java/com/manong/portal/controller/IndexController.java @@ -1,11 +1,15 @@ package com.manong.portal.controller; import com.manong.portal.service.CategoriesService; +import com.manong.portal.service.ProductService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import pojo.Res_Categories; +import pojo.Res_Product; + +import java.util.List; /** * Created by wistbean on 2019/1/24. @@ -15,11 +19,15 @@ public class IndexController { @Autowired CategoriesService categoriesService; + @Autowired + ProductService productService; @RequestMapping("/home.html") public String index(ModelMap modelMap){ Res_Categories categories = categoriesService.getCategories(); modelMap.addAttribute("categories",categories); + List products = productService.getProducts(); + modelMap.addAttribute("products",products); return "index"; } diff --git a/manong_portal/src/main/java/com/manong/portal/service/ProductService.java b/manong_portal/src/main/java/com/manong/portal/service/ProductService.java new file mode 100644 index 0000000..bce2c74 --- /dev/null +++ b/manong_portal/src/main/java/com/manong/portal/service/ProductService.java @@ -0,0 +1,11 @@ +package com.manong.portal.service; + +import pojo.Res_Product; + +import java.util.List; + +public interface ProductService { + + List getProducts(); + +} diff --git a/manong_portal/src/main/java/com/manong/portal/service/impl/ProductServiceImpl.java b/manong_portal/src/main/java/com/manong/portal/service/impl/ProductServiceImpl.java new file mode 100644 index 0000000..8587467 --- /dev/null +++ b/manong_portal/src/main/java/com/manong/portal/service/impl/ProductServiceImpl.java @@ -0,0 +1,36 @@ +package com.manong.portal.service.impl; + +import com.manong.portal.service.ProductService; +import com.manong.portal.util.GsonUtils; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import pojo.Res_Product; +import pojo.ResponseJsonResult; +import utils.HttpClientUtil; + +import java.io.IOException; +import java.util.List; + +@Service +public class ProductServiceImpl implements ProductService { + + @Value("${REST_URL}") + private String REST_URL; + @Value("${REST_PRODUCT_LIST}") + private String REST_PRODUCT_LIST; + + @Override + public List getProducts() { + + try { + String jsonResult = HttpClientUtil.httpGet(REST_URL + REST_PRODUCT_LIST); + ResponseJsonResult responseJsonResult = GsonUtils.fromJson(ResponseJsonResult.class, jsonResult); + List list = (List) responseJsonResult.getList(); + return list; + } catch (IOException e) { + e.printStackTrace(); + } + + return null; + } +} diff --git a/manong_portal/src/main/resources/resource/resource.properties b/manong_portal/src/main/resources/resource/resource.properties index 2fae647..b44ee31 100644 --- a/manong_portal/src/main/resources/resource/resource.properties +++ b/manong_portal/src/main/resources/resource/resource.properties @@ -1,5 +1,8 @@ # REST REST_URL = http://127.0.0.1:8088/rest/ -# REST ȡƷ -REST_CAT_LIST = productCategries/list \ No newline at end of file +# REST 分类 +REST_CAT_LIST = productCategries/list + +# 商品列表 +REST_PRODUCT_LIST = product/list \ No newline at end of file diff --git a/manong_portal/src/main/webapp/WEB-INF/css/index.css b/manong_portal/src/main/webapp/WEB-INF/css/index.css index 6b3493a..d879fc7 100644 --- a/manong_portal/src/main/webapp/WEB-INF/css/index.css +++ b/manong_portal/src/main/webapp/WEB-INF/css/index.css @@ -1122,7 +1122,7 @@ } .conLike_bottom{ width: 1230px; - height: 5670px; + height: 1400px; } .container_bottom{ width: 80px; diff --git a/manong_portal/src/main/webapp/WEB-INF/ftl/index.ftl b/manong_portal/src/main/webapp/WEB-INF/ftl/index.ftl index 04168ab..7747abe 100644 --- a/manong_portal/src/main/webapp/WEB-INF/ftl/index.ftl +++ b/manong_portal/src/main/webapp/WEB-INF/ftl/index.ftl @@ -5,7 +5,7 @@ - 天猫tmall.com--理想的生活 + 码农商城 @@ -15,7 +15,7 @@
      - 嗨!欢迎来天猫 + 嗨!欢迎来码农 请登录 免费注册
      @@ -23,7 +23,7 @@
      - 我的淘宝 + 我的码农
      @@ -50,7 +50,7 @@
      - 淘宝网 + 码农网
      @@ -131,7 +131,7 @@